#pragma once

#include "global.h"
#include "types.h"

typedef u32 ActorTypeId;
enum ActorTypeId_ {
    ActorTypeId_Null = 'NULL',

    ActorTypeId_Navi       = 'NAVI',
    ActorTypeId_ForceNavi  = 'FCNV',
    ActorTypeId_WisdomNavi = 'WSNV',

    ActorTypeId_TreasureMap = 'TMAP',
    ActorTypeId_DigSpot     = 'DGTG',

    ActorTypeId_ShopItemQuiver         = 'ITAP',
    ActorTypeId_ShopItemArrows         = 'ITAR',
    ActorTypeId_ShopItemBombchuBag     = 'ITB2',
    ActorTypeId_ShopItemBombBag        = 'ITBB',
    ActorTypeId_ShopItemBK             = 'ITBK',
    ActorTypeId_ShopItemBombs          = 'ITBM',
    ActorTypeId_ShopItemBombchus       = 'ITBT',
    ActorTypeId_ShopItemBY             = 'ITBY',
    ActorTypeId_ShopItemCC             = 'ITCC',
    ActorTypeId_ShopItemDM             = 'ITDM',
    ActorTypeId_ShopItemHeartContainer = 'ITHU',
    ActorTypeId_ShopItemPotion         = 'ITPB',
    ActorTypeId_ShopItemShield         = 'ITSL',
    ActorTypeId_ShopItemSoldOut        = 'ITSO',
    ActorTypeId_ShopItemShipPart       = 'ITSP',
    ActorTypeId_ShopItemGem            = 'ITSR',
    ActorTypeId_ShopItemTreasure       = 'ITTR',

    ActorTypeId_ItemSeller1 = 'ITSN',
    ActorTypeId_ItemSeller2 = 'ITS2',
    ActorTypeId_ItemSeller3 = 'ITS3',

    ActorTypeId_RefillArrows   = 'FLAL',
    ActorTypeId_RefillBombs    = 'FLBM',
    ActorTypeId_RefillBombchus = 'FLBT',
    ActorTypeId_RefillTime     = 'FLTM',
    ActorTypeId_Heart          = 'HART',
    ActorTypeId_LSTM           = 'LSTM',
    ActorTypeId_Rupee          = 'RUPY',

    ActorTypeId_Arrow         = 'ARRW',
    ActorTypeId_Blast         = 'BLST',
    ActorTypeId_Bomb          = 'BOMB',
    ActorTypeId_Bombchu       = 'BMTY',
    ActorTypeId_GrapplingHook = 'ROPE',

    ActorTypeId_PlayerDummy = 'PLDM',
    ActorTypeId_PushBlock   = 'PSBL',
    ActorTypeId_WindBlock   = 'WBLK',
    ActorTypeId_StorageDrum = 'DRUM',

    ActorTypeId_SmallKey     = 'NKEY',
    ActorTypeId_BossKey      = 'BKEY',
    ActorTypeId_ForceGem     = 'FORC',
    ActorTypeId_SwitchObject = 'SWOB',
    ActorTypeId_EventIcon    = 'EVIC',
    ActorTypeId_ActionObject = 'ACOB',

    ActorTypeId_Sandworm       = 'MLDW',
    ActorTypeId_Tektite        = 'TEKT',
    ActorTypeId_PolsVoice      = 'PLSV',
    ActorTypeId_Yook           = 'YETI',
    ActorTypeId_Armos          = 'AMOS',
    ActorTypeId_Stalfos        = 'STLF',
    ActorTypeId_StalfosWarrior = 'STLW',
    ActorTypeId_ChuChu         = 'CHUC',
    ActorTypeId_Gel            = 'GELL',
    ActorTypeId_Bee            = 'BEE0',
    ActorTypeId_BeeHive        = 'BEEH',
    ActorTypeId_Cucco          = 'KOKO',
    ActorTypeId_Rope           = 'SNAK',
    ActorTypeId_Octorok        = 'OCTA',
    ActorTypeId_Keese          = 'KETH',
    ActorTypeId_Rat            = 'RAT0',
    ActorTypeId_Beamos         = 'BMOS',
    ActorTypeId_LikeLike       = 'LKLK',
    ActorTypeId_Crow           = 'CROW',

    ActorTypeId_Linebeck = 'LNBK',
    ActorTypeId_Mailbox  = 'POST',
    ActorTypeId_Postman  = 'PSTM',

    ActorTypeId_BIGR = 'BIGR',
    ActorTypeId_BMRN = 'BMRN',
    ActorTypeId_BMTY = 'BMTY',
    ActorTypeId_BTRF = 'BTRF',
    ActorTypeId_CBLS = 'CBLS',
    ActorTypeId_EVIC = 'EVIC',
    ActorTypeId_FLAL = 'FLAL',
    ActorTypeId_FLBM = 'FLBM',
    ActorTypeId_FLBT = 'FLBT',
    ActorTypeId_FLTB = 'FLTB',
    ActorTypeId_FLTM = 'FLTM',
    ActorTypeId_PWBS = 'PWBS',
    ActorTypeId_SBEM = 'SBEM',
    ActorTypeId_STNE = 'STNE',
    ActorTypeId_TARU = 'TARU',
    ActorTypeId_TSBH = 'TSBH',
    ActorTypeId_TSUB = 'TSUB',
    ActorTypeId_VLR0 = 'VLR0',
};
