# Oracle of Secrets Project Labels for z3ed Agent
# Version: 1.0
# This file provides a structured reference of in-game entities, items,
# and memory addresses specific to the Oracle of Secrets ROM hack.

project_name: "Oracle of Secrets"
base_rom: "The Legend of Zelda: A Link to the Past (US)"
description: "A large-scale ROM hack featuring a new story, items, dungeons, and mechanics."

# --- Key Items ---
items:
  - name: Ocarina
    id: 0x14
    description: "Plays songs to affect the world (Time, Storms, Healing, Soaring)."
  - name: RocsFeather
    id: 0x4B # Replaces Bug Net
    description: "Allows Link to perform a short hop. Replaces Bug Net."
  - name: Goldstar
    description: "Hookshot upgrade. Functions as a powerful morning star weapon."
  - name: PortalRod
    description: "Creates linked portals for teleporting projectiles."
  - name: FishingRod
    description: "Initiates a fishing minigame."
  - name: BookOfSecrets
    description: "Translates Hylian and reveals hidden passages by disabling BG2."
  - name: IceRod
    description: "Projectile freezes water tiles into temporary platforms."
  - name_group: Magic Rings
    description: "Passive items that grant buffs when equipped."
    types: [Power Ring, Armor Ring, Heart Ring, Light Ring, Blast Ring, Steadfast Ring]

# --- Masks ---
masks:
  - name: DekuMask
    id: 0x01
    description: "Spin attack, bubble projectile, hover from Deku Flowers."
  - name: ZoraMask
    id: 0x02
    description: "Allows diving and fast swimming."
  - name: WolfMask
    id: 0x03
    description: "Allows digging without a shovel."
  - name: BunnyHood
    id: 0x04
    description: "Increases movement speed."
  - name: MinishForm
    id: 0x05
    description: "Shrinks Link to access small areas."
  - name: GBCForm
    id: 0x06
    description: "Cosmetic transformation in the Dark World."
  - name: MooshForm
    id: 0x07
    description: "Hover dash ability."

# --- Dungeons & Bosses ---
dungeons:
  - name: MushroomGrotto
    id: D1
    boss: Mothra
  - name: TailPalace
    id: D2
    boss: BigMoldorm
  - name: KalyxoCastle
    id: D3
    boss: ArmosKnights
  - name: ZoraTemple
    id: D4
    boss: Arrghus
  - name: GlaciaEstate
    id: D5
    boss: Twinrova
  - name": GoronMines
    id: D6
    boss: KingDodongo
  - name: DragonShip
    id: D7
    boss: null # Not specified in QuestFlow
  - name: FortressOfSecrets
    id: D8
    boss: DarkLink
  - name": EonCore
    id: D_Endgame
    boss: [Kydreeok, Ganon]

# --- Key NPCs ---
npcs:
  - name: MakuTree
    sprite_id: Sprite_MakuTree
  - name: Farore
    sprite_id: Sprite_Farore
  - name: MaskSalesman
    sprite_id: Sprite_MaskSalesman
  - name: Tingle
    sprite_id: 0x22
  - name: Vasu
    sprite_id: Sprite_Vasu
  - name: ZoraPrincess
    sprite_id: Sprite_ZoraPrincess
  - name: BeanVendor
    sprite_id: Sprite_BeanVendor
  - name: DekuScrub
    sprite_id: Sprite_DekuScrubNPCs
  - name: EonOwl
    sprite_id: Sprite_EonOwl
  - name: Goron
    sprite_id: Sprite_Goron
  - name: Korok
    sprite_id: Sprite_Korok
  - name: Maple
    sprite_id: Sprite_Mermaid # Subtype 1
  - name: Librarian
    sprite_id: Sprite_Mermaid # Subtype 2

# --- Progression Flags (SRAM) ---
sram_flags:
  - name: OOSPROG
    address: 0x7EF3D6
    description: "Primary bitfield for major quest milestones."
  - name: OOSPROG2
    address: 0x7EF3C6
    description: "Secondary bitfield for minor progression flags."
  - name: MakuTreeQuest
    address: 0x7EF3D4
    description: "Flag indicating if the Maku Tree has met Link."
  - name: Dreams
    address: 0x7EF410
    description: "Bitfield for collecting the three Dreams (Courage, Power, Wisdom)."
  - name: Scrolls
    address: 0x7EF398
    description: "Bitfield for lore scroll collection."
  - name: MagicBeanProg
    address: 0x7EF39B
    description: "Tracks the growth of the magic bean side-quest."
  - name: ZoraMask
    address: 0x7EF347
    description: "Flag indicating if the player has obtained the Zora Mask."
  - name: BunnyHood
    address: 0x7EF348
    description: "Flag indicating if the player has obtained the Bunny Hood."
  - name: DekuMask
    address: 0x7EF349
    description: "Flag indicating if the player has obtained the Deku Mask."

# --- Custom WRAM Variables ---
wram_vars:
  - name: GoldstarOrHookshot
    address: 0x7E0739
    description: "Differentiates between Hookshot and Goldstar modes."
  - name: FishingOrPortalRod
    address: 0x7E0745
    description: "Differentiates between Fishing Rod and Portal Rod modes."
  - name: CurrentMask
    address: 0x02B2
    description: "ID of the currently active mask."
  - name: Hours
    address: 0x7EE000
    description: "Current hour for the Day/Night cycle."
