Skip to content

spel2_enums.lua (EmmyLua)

Download spel2_enums.lua or all EmmyLua files.

---@meta
-- Generated by docs-digger from overlunky's sources: do not edit, regenerate.

---Beg quest states
---@alias BEG integer
BEG = {
    ALTAR_DESTROYED = 1,
    BOMBBAG_THROWN = 3,
    QUEST_NOT_STARTED = 0,
    SPAWNED_WITH_BOMBBAG = 2,
    SPAWNED_WITH_TRUECROWN = 4,
    TRUECROWN_THROWN = 5,
}

---@alias BUTTON integer
BUTTON = {
    BOMB = 4,
    DOOR = 32,
    JUMP = 1,
    ROPE = 8,
    RUN = 16,
    WHIP = 2,
}

---@alias CAUSE_OF_DEATH integer
CAUSE_OF_DEATH = {
    DEATH = 0,
    ENTITY = 1,
    LONG_FALL = 2,
    MISSED = 4,
    POISONED = 5,
    STILL_FALLING = 3,
}

---@alias CHAR_STATE integer
CHAR_STATE = {
    ATTACKING = 12,
    CLIMBING = 6,
    DROPPING = 10,
    DUCKING = 5,
    DYING = 22,
    ENTERING = 19,
    EXITING = 21,
    FALLING = 9,
    FLAILING = 0,
    HANGING = 4,
    JUMPING = 8,
    LOADING = 20,
    PUSHING = 7,
    SITTING = 2,
    STANDING = 1,
    STUNNED = 18,
    THROWING = 17,
}

---Some arbitrary constants of the engine
---@alias CONST integer
CONST = {
    ---The framerate at which the engine updates, e.g. at which `ON.GAMEFRAME` and similar are called.
    ---Independent of rendering framerate, so it does not correlate with the call rate of `ON.GUIFRAME` and similar.
    ENGINE_FPS = 60,
    ---Just the max number of players in multiplayer
    MAX_PLAYERS = 4,
    ---Maximum number of working floor tiles in horizontal axis, 86 (0-85 coordinates)
    ---Floors spawned above or below will not have any collision
    MAX_TILES_HORIZ = 86,
    ---Maximum number of working floor tiles in vertical axis, 126 (0-125 coordinates)
    ---Floors spawned above or below will not have any collision
    MAX_TILES_VERT = 126,
    ---Number of draw_depths, 53 (0-52)
    NOF_DRAW_DEPTHS = 53,
    ---Height of a 1x1 room, both in world coordinates and in tiles.
    ROOM_HEIGHT = 8,
    ---Width of a 1x1 room, both in world coordinates and in tiles.
    ROOM_WIDTH = 10,
}

---@alias CORNER_FINISH integer
CORNER_FINISH = {
    ---Default
    ---similar to REAL but for low angles reduces the size of the "peak" of the corner
    ADAPTIVE = 1,
    ---Instead of drawing a sharp point at the end of the corner, it just cuts it flat
    CUT = 0,
    ---Don't draw corner at all, will draw lines as separate pieces, overlapping etc.
    NONE = 3,
    ---Draws a real corner, no matter how far away the "peak" of the corner may end up being
    REAL = 2,
}

---Parameter to force_co_subtheme
---@alias COSUBTHEME integer
COSUBTHEME = {
    DWELLING = 0,
    ICE_CAVES = 5,
    JUNGLE = 1,
    NEO_BABYLON = 6,
    NONE = -1,
    RESET = -1,
    SUNKEN_CITY = 7,
    TEMPLE = 4,
    TIDE_POOL = 3,
    VOLCANA = 2,
}

---16bit bitmask used in Movable::damage. Can be many things, like 0x2024 = hit by a burning object that was thrown by an explosion.
---@alias DAMAGE_TYPE integer
DAMAGE_TYPE = {
    ARROW = 8,
    ---witchskull, catmummy directly, but not cloud
    CURSE = 256,
    ---also from lava
    EXPLOSION = 8192,
    FALL = 512,
    ---fire, fireball, lava
    FIRE = 32,
    ---enemy contact, rope hit, spikes(-1 damage), anubisshot, forcefield, dagger shot, spear trap...
    GENERIC = 1,
    ---damage or fall when frozen
    ICE_BREAK = 2048,
    ---laser trap, ufo, not dagger
    LASER = 1024,
    ---applies the status effect, not damage
    POISON = 64,
    ---actual damage from being poisoned for a while
    POISON_TICK = 128,
    STOMP = 4096,
    SWORD = 16,
    ---rock, bullet, monkey, yeti
    THROW = 4,
    VOODOO = 16384,
    WHIP = 2,
}

---@alias DRAW_LAYER integer
DRAW_LAYER = {
    BACKGROUND = 0,
    FOREGROUND = 1,
    WINDOW = 2,
}

---@alias DROP integer
DROP = {
    ALIENQUEEN_ALIENBLAST = 187,
    ALIENQUEEN_ALIENBLAST_RE = 189,
    ALIENQUEEN_ALIENBLAST_RI = 188,
    ALTAR_DICE_CLIMBINGGLOVES = 0,
    ALTAR_DICE_COOKEDTURKEY = 1,
    ALTAR_DICE_DIAMOND = 2,
    ALTAR_DICE_HIREDHAND = 10,
    ALTAR_DICE_MACHETE = 3,
    ALTAR_DICE_ROPEPILE = 4,
    ALTAR_DICE_SNAKE = 6,
    ALTAR_DICE_SPECTACLES = 5,
    ALTAR_DICE_TELEPACK = 7,
    ALTAR_DICE_VAMPIRE = 8,
    ALTAR_DICE_WEBGUN = 9,
    ALTAR_GIFT_BOMBBAG = 19,
    ALTAR_GIFT_CAPE = 20,
    ALTAR_HIREDHAND_SHOTGUN = 18,
    ALTAR_IDOL_GOLDEN_MONKEY = 11,
    ALTAR_KAPALA = 21,
    ALTAR_PRESENT_EGGPLANT = 12,
    ALTAR_ROCK_WOODENARROW = 13,
    ALTAR_ROYAL_JELLY = 22,
    ALTAR_USHABTI_CAVEMAN = 14,
    ALTAR_USHABTI_HIREDHAND = 17,
    ALTAR_USHABTI_TURKEY = 15,
    ALTAR_USHABTI_VAMPIRE = 16,
    ANUBIS2_ANUBIS_COFFIN = 162,
    ANUBIS2_JETPACK = 23,
    ANUBIS2_SPECIALSHOT_R = 192,
    ANUBIS_COFFIN_SORCERESS = 111,
    ANUBIS_COFFIN_VAMPIRE = 110,
    ANUBIS_COFFIN_WITCHDOCTOR = 112,
    ANUBIS_SCEPTER = 24,
    ANUBIS_SPECIALSHOT_R = 191,
    ARROWTRAP_WOODENARROW = 159,
    AXOLOTL_BUBBLE = 180,
    BEG_BOMBBAG = 25,
    BEG_TELEPACK = 27,
    BEG_TRUECROWN = 26,
    BONEBLOCK_BONES = 197,
    BONEBLOCK_SKELETON = 195,
    BONEBLOCK_SKULL = 196,
    BONEPILE_SKELETONKEY = 28,
    BONEPILE_SKULL = 29,
    CANDLE_NUGGET = 150,
    CATMUMMY_CURSINGCLOUD = 190,
    CATMUMMY_DIAMOND = 122,
    CHALLENGESTAR_CLONEGUN = 156,
    CHALLENGESTAR_ELIXIR = 157,
    CHALLENGESUN_PLAYERBAG = 158,
    CHEST_BOMB = 141,
    CHEST_EMERALD = 136,
    CHEST_LEPRECHAUN = 140,
    CHEST_RUBY = 138,
    CHEST_SAPPHIRE = 137,
    CHEST_SMALLEMERALD = 135,
    CHEST_SMALLRUBY = 139,
    CLONEGUN_SHOT = 172,
    COBRA_ACIDSPIT = 183,
    COFFIN_SKULL = 153,
    COOKEDTURKEY_HEALTH = 210,
    COOKFIRE_CAVEMAN_1 = 193,
    COOKFIRE_CAVEMAN_2 = 194,
    COOKFIRE_TORCH = 151,
    CROCMAN_TELEPACK = 30,
    CROCMAN_TELEPORTER = 31,
    CRUSHTRAP_NUGGET = 132,
    CUTSCENE_GOLDCOIN = 148,
    DOOR_COG_SCEPTER = 208,
    DUATALTAR_BOMBBAG = 128,
    DUATALTAR_BOMBBOX = 129,
    DUATALTAR_COOKEDTURKEY = 130,
    EGGSAC_GRUB_1 = 115,
    EGGSAC_GRUB_2 = 116,
    EGGSAC_GRUB_3 = 117,
    EMBED_NUGGET = 134,
    FACTORY_GENERATOR_SCRAP = 94,
    FIREBUG_FIREBALL = 182,
    FLOORSTYLEDCOG_NUGGET = 131,
    FLOOR_DIAMOND = 204,
    FLOOR_EMBED_GOLD = 206,
    FLOOR_EMBED_GOLD_BIG = 207,
    FLOOR_EMERALD = 202,
    FLOOR_RUBY = 205,
    FLOOR_SAPPHIRE = 203,
    FREEZERAY_SHOT = 171,
    GHIST_GOLDCOIN = 64,
    GHOSTJAR_DIAMOND = 32,
    GHOST_DIAMOND = 33,
    GIANTFOOD_HEALTH = 211,
    GIANTFROG_FROG = 113,
    GIANTFROG_TADPOLE = 114,
    GIANTSPIDER_PASTE = 34,
    GIANTSPIDER_WEBSHOT = 164,
    GIANTSPIDER_WEB_LEFT = 198,
    GIANTSPIDER_WEB_RIGHT = 199,
    GOLDENMONKEY_NUGGET = 38,
    GOLDENMONKEY_SMALLEMERALD = 35,
    GOLDENMONKEY_SMALLRUBY = 37,
    GOLDENMONKEY_SMALLSAPPHIRE = 36,
    HANGINGSPIDER_WEBGUN = 39,
    HERMITCRAB_ACIDBUBBLE = 185,
    HUMPHEAD_HIREDHAND = 123,
    HUNDUN_FIREBALL = 181,
    ICECAVE_BOULDER = 40,
    ICE_ALIVE_EMBEDDED_ON_ICE = 201,
    IMP_LAVAPOT = 200,
    JIANGSHIASSASSIN_SPIKESHOES = 41,
    JIANGSHI_SPRINGSHOES = 42,
    KAPALA_HEALTH = 213,
    KINGU_FEMALE_JIANGSHI = 46,
    KINGU_JIANGSHI = 45,
    KINGU_OCTOPUS = 44,
    KINGU_TABLETOFDESTINY = 43,
    LAMASSU_DIAMOND = 127,
    LAMASSU_EMERALD = 126,
    LAMASSU_LASERSHOT = 175,
    LAMASSU_RUBY = 125,
    LAMASSU_SAPPHIRE = 124,
    LASERTRAP_SHOT = 161,
    LAVAMANDER_RUBY = 121,
    LAVAPOT_MAGMAMAN = 120,
    LEPRECHAUN_CLOVER = 47,
    LOCKEDCHEST_UDJATEYE = 145,
    MADAME_TUSK_KEY = 109,
    MATTOCK_BROKENMATTOCK = 48,
    MOLE_MATTOCK = 49,
    MOSQUITO_HOVERPACK = 50,
    MOTHERSTATUE_HEALTH = 209,
    MUMMY_DIAMOND = 51,
    MUMMY_FLY = 163,
    NECROMANCER_RUBY = 52,
    OCTOPUS_INKSPIT = 184,
    OLMEC_BOMB = 165,
    OLMEC_CAVEMAN_1 = 53,
    OLMEC_CAVEMAN_2 = 54,
    OLMEC_CAVEMAN_3 = 55,
    OLMEC_SISTERS_BOMBBOX = 155,
    OLMEC_SISTERS_ROPEPILE = 154,
    OLMEC_UFO = 166,
    OSIRIS_EMERALDS = 56,
    OSIRIS_PORTAL = 58,
    OSIRIS_TABLETOFDESTINY = 57,
    PANGXIE_ACIDBUBBLE = 186,
    PANGXIE_WOODENSHIELD = 59,
    PLASMACANNON_SHOT = 170,
    POISONEDARROWTRAP_WOODENARROW = 160,
    POTOFGOLD_GOLDCOIN = 147,
    QILIN_FIREBALL = 179,
    QUEENBEE_ROYALJELLY = 60,
    QUILLBACK_BOMBBAG = 118,
    QUILLBACK_COOKEDTURKEY = 119,
    REDLANTERN_SMALLNUGGET = 149,
    ROBOT_METALSHIELD = 61,
    ROCKDOG_FIREBALL = 178,
    ROYALJELLY_HEALTH = 212,
    SACRIFICE_EGGPLANT = 105,
    SACRIFICE_IDOL = 102,
    SACRIFICE_PRESENT = 103,
    SACRIFICE_ROCK = 104,
    SCEPTER_ANUBISSPECIALSHOT = 168,
    SCEPTER_PLAYERSHOT = 169,
    SCRAP_ALIEN = 100,
    SCRAP_COBRA = 98,
    SCRAP_SCORPION = 99,
    SCRAP_SNAKE = 97,
    SCRAP_SPIDER = 96,
    SHOPKEEPER_GENERATOR_1 = 95,
    SHOPKEEPER_GOLDBAR = 63,
    SHOPKEEPER_GOLDCOIN = 62,
    SHOTGUN_BULLET = 173,
    SKELETON_SKELETONKEY = 65,
    SKELETON_SKULL = 66,
    SKULLDROPTRAP_SKULL = 152,
    SLIDINGWALL_NUGGET = 133,
    SORCERESS_DAGGERSHOT = 176,
    SORCERESS_RUBY = 67,
    SPARROW_ROPEPILE = 68,
    SPARROW_SKELETONKEY = 69,
    TIAMAT_BAT = 70,
    TIAMAT_BEE = 71,
    TIAMAT_CAVEMAN = 72,
    TIAMAT_COBRA = 73,
    TIAMAT_HERMITCRAB = 74,
    TIAMAT_MONKEY = 75,
    TIAMAT_MOSQUITO = 76,
    TIAMAT_OCTOPUS = 77,
    TIAMAT_OLMITE = 78,
    TIAMAT_SCORPION = 79,
    TIAMAT_SHOT = 80,
    TIAMAT_SNAKE = 81,
    TIAMAT_TIAMATSHOT = 177,
    TIAMAT_UFO = 82,
    TIAMAT_YETI = 83,
    TORCH_SMALLNUGGET = 84,
    TURKEY_COOKEDTURKEY = 85,
    UFO_ALIEN = 101,
    UFO_LASERSHOT = 174,
    UFO_PARACHUTE = 86,
    USHABTI_QILIN = 146,
    VAMPIRE_CAPE = 87,
    VAN_HORSING_COMPASS = 88,
    VAN_HORSING_DIAMOND = 89,
    VAULTCHEST_DIAMOND = 143,
    VAULTCHEST_EMERALD = 142,
    VAULTCHEST_RUBY = 144,
    VLAD_VLADSCAPE = 90,
    YAMA_EGGPLANTCROWN = 106,
    YAMA_GIANTFOOD = 107,
    YANG_KEY = 108,
    YETIKING_FREEZERAY = 91,
    YETIKING_ICESPIRE = 167,
    YETIQUEEN_POWERPACK = 92,
    YETI_PITCHERSMITT = 85,
}

---@alias DROPCHANCE integer
DROPCHANCE = {
    BONEBLOCK_SKELETONKEY = 0,
    CROCMAN_TELEPACK = 1,
    HANGINGSPIDER_WEBGUN = 2,
    JIANGSHIASSASSIN_SPIKESHOES = 3,
    JIANGSHI_SPRINGSHOES = 4,
    MOLE_MATTOCK = 5,
    MOSQUITO_HOVERPACK = 6,
    ROBOT_METALSHIELD = 7,
    SKELETON_SKELETONKEY = 8,
    UFO_PARACHUTE = 9,
    YETI_PITCHERSMITT = 10,
}

---@alias DYNAMIC_TEXTURE integer
DYNAMIC_TEXTURE = {
    BACKGROUND = -4,
    BACKGROUND_DECORATION = -8,
    COFFIN = -10,
    DOOR = -6,
    DOOR_LAYER = -7,
    FLOOR = -5,
    INVISIBLE = -2,
    KALI_STATUE = -9,
}

---@alias ENTITY_OVERRIDE integer
ENTITY_OVERRIDE = {
    ACCELERATION = 100,
    ACTIVATE = 25,
    APPLY_FRICTION = 84,
    APPLY_METADATA = 28,
    APPLY_MOVEMENT = 71,
    APPLY_VELOCITY = 42,
    ATTACK = 46,
    BLOOD_COLLISION = 93,
    BODY_DESTRUCTION = 92,
    BREAK_BLOCK = 86,
    CALCULATE_JUMP_VELOCITY = 40,
    CAN_BE_PICKED_UP_BY = 68,
    CAN_BE_PUSHED = 10,
    CAN_BREAK_BLOCK = 85,
    CAN_ENTER = 46,
    CAN_JUMP = 37,
    CHECK_OUT_OF_BOUNDS = 58,
    CLONED_TO = 63,
    COLLECT_TREASURE = 70,
    CREATE_RENDERING_INFO = 1,
    CRUSH = 90,
    DAMAGE = 48,
    DESTROY = 5,
    DROP = 69,
    DTOR = 0,
    ENTER = 42,
    ENTER_ATTEMPT = 40,
    EQUIP = 93,
    FALL = 83,
    FLIP = 16,
    FLOOR_UPDATE = 38,
    FREEZE = 52,
    FRICTION = 19,
    GENERATE_DAMAGE_PARTICLES = 8,
    GENERATE_LANDING_EFFECTS = 82,
    GET_DAMAGE = 43,
    GET_DAMAGE_SOUND = 50,
    GET_HELD_ENTITY = 22,
    GET_METADATA = 27,
    GIVE_POWERUP = 94,
    HIDE_HUD = 41,
    INIT = 36,
    INITIALIZE = 75,
    IS_IN_LIQUID = 12,
    IS_ON_FIRE = 45,
    IS_POWERUP_CAPABLE = 74,
    IS_UNLOCKED = 45,
    KILL = 3,
    LEDGE_GRAB = 31,
    LIBERATE_FROM_SHOP = 35,
    LIGHT_LEVEL = 44,
    LIGHT_ON_FIRE = 53,
    ON_COLLISION1 = 4,
    ON_COLLISION2 = 26,
    ON_HIT = 49,
    PICKED_UP = 80,
    PICKED_UP_BY = 68,
    PICK_UP = 67,
    PROCESS_INPUT = 78,
    PUTTING_OFF = 97,
    PUTTING_ON = 96,
    RELEASE = 81,
    REMOVE_ITEM = 21,
    RESET_DRAW_DEPTH = 18,
    SET_AS_SOUND_SOURCE = 20,
    SET_CURSED = 54,
    SET_DRAW_DEPTH = 17,
    SET_INVISIBLE = 15,
    SET_STANDING_ON = 59,
    SPAWN_PROJECTILE = 93,
    SPRINT_FACTOR = 39,
    STANDING_ON = 60,
    STOMPED_BY = 61,
    STOMP_DAMAGE = 43,
    STOOD_ON = 32,
    STUN = 51,
    THROWN_BY = 62,
    THROWN_INTO = 47,
    TRIGGER_ACTION = 24,
    TRIGGER_EXPLOSION = 94,
    UPDATE_STATE_MACHINE = 2,
    WALKED_OFF = 30,
    WALKED_ON = 29,
    WEB_COLLISION = 55,
}

---@alias ENT_FLAG integer
ENT_FLAG = {
    CAN_BE_STOMPED = 15,
    CLIMBABLE = 9,
    COLLIDES_WALLS = 13,
    DEAD = 29,
    ENABLE_BUTTON_PROMPT = 20,
    FACING_LEFT = 17,
    HAS_BACKITEM = 32,
    INDESTRUCTIBLE_OR_SPECIAL_FLOOR = 2,
    INTERACT_WITH_SEMISOLIDS = 14,
    INTERACT_WITH_WATER = 11,
    INTERACT_WITH_WEBS = 21,
    INVISIBLE = 1,
    IS_PLATFORM = 8,
    LOCKED = 22,
    NO_GRAVITY = 10,
    PASSES_THROUGH_EVERYTHING = 5,
    PASSES_THROUGH_OBJECTS = 4,
    PASSES_THROUGH_PLAYER = 25,
    PAUSE_AI_AND_PHYSICS = 28,
    PICKUPABLE = 18,
    POWER_STOMPS = 16,
    SHOP_FLOOR = 24,
    SHOP_ITEM = 23,
    SOLID = 3,
    STUNNABLE = 12,
    TAKE_NO_DAMAGE = 6,
    THROWABLE_OR_KNOCKBACKABLE = 7,
    USABLE_ITEM = 19,
}

---@alias ENT_MORE_FLAG integer
ENT_MORE_FLAG = {
    CURSED_EFFECT = 15,
    DISABLE_INPUT = 17,
    ELIXIR_BUFF = 16,
    FALLING = 14,
    HIRED_HAND_REVIVED = 2,
    HIT_GROUND = 12,
    HIT_WALL = 13,
    SWIMMING = 11,
}

---@alias ENT_TYPE integer
ENT_TYPE = {
    ACIDBUBBLE = 1000,
    ACTIVEFLOOR_BONEBLOCK = 601,
    ACTIVEFLOOR_BOULDER = 599,
    ACTIVEFLOOR_BUBBLE_PLATFORM = 622,
    ACTIVEFLOOR_BUSHBLOCK = 602,
    ACTIVEFLOOR_CHAINEDPUSHBLOCK = 604,
    ACTIVEFLOOR_CHAINED_SPIKEBALL = 608,
    ACTIVEFLOOR_CRUSHING_ELEVATOR = 623,
    ACTIVEFLOOR_CRUSH_TRAP = 611,
    ACTIVEFLOOR_CRUSH_TRAP_LARGE = 612,
    ACTIVEFLOOR_DRILL = 610,
    ACTIVEFLOOR_EGGSHIPBLOCKER = 597,
    ACTIVEFLOOR_EGGSHIPPLATFORM = 596,
    ACTIVEFLOOR_ELEVATOR = 617,
    ACTIVEFLOOR_FALLING_PLATFORM = 607,
    ACTIVEFLOOR_GIANTCLAM_BASE = 618,
    ACTIVEFLOOR_KINGU_PLATFORM = 619,
    ACTIVEFLOOR_LIGHTARROWPLATFORM = 606,
    ACTIVEFLOOR_METALARROWPLATFORM = 605,
    ACTIVEFLOOR_OLMEC = 613,
    ACTIVEFLOOR_POWDERKEG = 603,
    ACTIVEFLOOR_PUSHBLOCK = 600,
    ACTIVEFLOOR_REGENERATINGBLOCK = 625,
    ACTIVEFLOOR_SHIELD = 624,
    ACTIVEFLOOR_SLIDINGWALL = 615,
    ACTIVEFLOOR_THINICE = 616,
    ACTIVEFLOOR_TIAMAT_PLATFORM = 620,
    ACTIVEFLOOR_TIAMAT_SHOULDERPLATFORM = 621,
    ACTIVEFLOOR_TIMEDPOWDERKEG = 614,
    ACTIVEFLOOR_UNCHAINED_SPIKEBALL = 609,
    ACTIVEFLOOR_WOODENLOG_TRAP = 598,
    ALIEN = 1001,
    ALTAR = 1002,
    AMMIT = 1003,
    ANKHPOWERUP = 1004,
    ANUBIS = 1005,
    APEPHEAD = 1006,
    APEPPART = 1007,
    ARROW = 1008,
    ARROWTRAP = 1009,
    AXOLOTL = 1010,
    AXOLOTLSHOT = 1011,
    BACKPACK = 1012,
    BAT = 1013,
    BEE = 1014,
    BEG = 1015,
    BGBACKLAYERDOOR = 1016,
    BGEGGSHIPROOM = 1017,
    BGFLOATINGDEBRIS = 1018,
    BGMOVINGSTAR = 1019,
    BGRELATIVEELEMENT = 1020,
    BGSHOOTINGSTAR = 1021,
    BGSHOPENTRENCE = 1022,
    BGSHOPKEEPERPRIME = 1023,
    BGSURFACELAYER = 1024,
    BGSURFACESTAR = 1025,
    BGTUTORIALSIGN = 1026,
    BG_ANUBIS_THRONE = 819,
    BG_BASECAMP_BUNKBED = 799,
    BG_BASECAMP_DININGTABLE_DISHES = 801,
    BG_BASECAMP_DRESSER = 798,
    BG_BASECAMP_SHORTCUTSTATIONBANNER = 802,
    BG_BASECAMP_SIDETABLE = 800,
    BG_BOULDER_STATUE = 828,
    BG_CONSTELLATION_CONNECTION = 776,
    BG_CONSTELLATION_FLASH = 772,
    BG_CONSTELLATION_GLOW = 775,
    BG_CONSTELLATION_HALO = 774,
    BG_CONSTELLATION_STAR = 773,
    BG_COSMIC_FARFLOATINGDEBRIS = 840,
    BG_COSMIC_FLOATINGDEBRIS = 839,
    BG_CROWN_STATUE = 818,
    BG_DOOR = 786,
    BG_DOORGEM = 797,
    BG_DOOR_BACK_LAYER = 788,
    BG_DOOR_BLACK_MARKET = 790,
    BG_DOOR_COG = 791,
    BG_DOOR_EGGPLANT_WORLD = 793,
    BG_DOOR_FRONT_LAYER = 787,
    BG_DOOR_GHIST_SHOP = 789,
    BG_DOOR_LARGE = 785,
    BG_DOOR_OLMEC_SHIP = 792,
    BG_DRILL_INDICATOR = 816,
    BG_DUAT_BLOODMOON = 825,
    BG_DUAT_FARFLOATINGDEBRIS = 827,
    BG_DUAT_FLOATINGDEBRIS = 826,
    BG_DUAT_LAYER = 822,
    BG_DUAT_PYRAMID_LAYER = 824,
    BG_DUAT_SIDE_DECORATION = 823,
    BG_EGGSAC_STAINS = 841,
    BG_EGGSHIP_ROOM = 777,
    BG_ENDINGTREASURE_HUNDUN_GOLD = 779,
    BG_ICE_CRYSTAL = 821,
    BG_KALI_STATUE = 809,
    BG_LEVEL_BACKWALL = 780,
    BG_LEVEL_BOMB_SOOT = 783,
    BG_LEVEL_COSMIC = 838,
    BG_LEVEL_DECO = 781,
    BG_LEVEL_POWEREDBOMB_SOOT = 784,
    BG_LEVEL_SHADOW = 782,
    BG_MOAI_STATUE = 829,
    BG_MOTHER_STATUE = 835,
    BG_OLMEC_PILLAR = 820,
    BG_OUROBORO = 796,
    BG_PALACE_CANDLE = 833,
    BG_PALACE_DISHES = 834,
    BG_PARENTSHIP_LANDINGLEG = 778,
    BG_SHOP = 803,
    BG_SHOPWANTEDPORTRAIT = 807,
    BG_SHOPWANTEDPOSTER = 806,
    BG_SHOP_BACKDOOR = 805,
    BG_SHOP_DICEPOSTER = 808,
    BG_SHOP_ENTRANCEDOOR = 804,
    BG_SPACE = 759,
    BG_SURFACE_BACKGROUNDSEAM = 771,
    BG_SURFACE_ENTITY = 769,
    BG_SURFACE_LAYER = 766,
    BG_SURFACE_LAYER_HOLE = 768,
    BG_SURFACE_LAYER_OCCLUDER = 767,
    BG_SURFACE_MOVING_STAR = 764,
    BG_SURFACE_NEBULA = 765,
    BG_SURFACE_OLMEC_LAYER = 770,
    BG_SURFACE_SHOOTING_STAR = 761,
    BG_SURFACE_SHOOTING_STAR_TRAIL = 762,
    BG_SURFACE_SHOOTING_STAR_TRAIL_PARTICLE = 763,
    BG_SURFACE_STAR = 760,
    BG_TUTORIAL_SIGN_BACK = 794,
    BG_TUTORIAL_SIGN_FRONT = 795,
    BG_UDJATSOCKET_DECORATION = 815,
    BG_VAT_BACK = 830,
    BG_VAT_FRONT = 832,
    BG_VAT_SHOPKEEPER_PRIME = 831,
    BG_VLAD_WINDOW = 817,
    BG_WATER_FOUNTAIN = 836,
    BG_YAMA_BODY = 837,
    BIGSPEARTRAP = 1027,
    BIRDIES = 1028,
    BODYGUARD = 1029,
    BOMB = 1030,
    BONEBLOCK = 1031,
    BOOMBOX = 1032,
    BOOMERANG = 1033,
    BOULDER = 1034,
    BOULDERSPAWNER = 1035,
    BULLET = 1036,
    BURNINGROPEEFFECT = 1037,
    BUTTON = 1038,
    CAMERAFLASH = 1039,
    CAPE = 1040,
    CATMUMMY = 1041,
    CAVEMAN = 1042,
    CAVEMANSHOPKEEPER = 1043,
    CHAIN = 1044,
    CHAINEDPUSHBLOCK = 1045,
    CHAR_AMAZON = 200,
    CHAR_ANA_SPELUNKY = 194,
    CHAR_AU = 207,
    CHAR_BANDA = 198,
    CHAR_CLASSIC_GUY = 213,
    CHAR_COCO_VON_DIAMONDS = 202,
    CHAR_COLIN_NORTHWARD = 196,
    CHAR_DEMI_VON_DIAMONDS = 208,
    CHAR_DIRK_YAMAOKA = 211,
    CHAR_EGGPLANT_CHILD = 216,
    CHAR_GREEN_GIRL = 199,
    CHAR_GUY_SPELUNKY = 212,
    CHAR_HIREDHAND = 215,
    CHAR_LISE_SYSTEM = 201,
    CHAR_MANFRED_TUNNEL = 203,
    CHAR_MARGARET_TUNNEL = 195,
    CHAR_OTAKU = 204,
    CHAR_PILOT = 209,
    CHAR_PRINCESS_AIRYN = 210,
    CHAR_ROFFY_D_SLOTH = 197,
    CHAR_TINA_FLAN = 205,
    CHAR_VALERIE_CRUMP = 206,
    CHEST = 1046,
    CINEMATICANCHOR = 1047,
    CITYOFGOLDDOOR = 1048,
    CLAMBASE = 1049,
    CLAW = 1050,
    CLIMBABLEROPE = 1051,
    CLONEGUNSHOT = 1052,
    COBRA = 1053,
    COFFIN = 1054,
    COIN = 1055,
    CONTAINER = 1056,
    CONVEYORBELT = 1057,
    COOKFIRE = 1058,
    CRABMAN = 1059,
    CRITTER = 1060,
    CRITTERBEETLE = 1061,
    CRITTERBUTTERFLY = 1062,
    CRITTERCRAB = 1063,
    CRITTERDRONE = 1064,
    CRITTERFIREFLY = 1065,
    CRITTERFISH = 1066,
    CRITTERLOCUST = 1067,
    CRITTERPENGUIN = 1068,
    CRITTERSLIME = 1069,
    CRITTERSNAIL = 1070,
    CROCMAN = 1071,
    CROSSBEAM = 1072,
    CRUSHTRAP = 1073,
    CURSEDEFFECT = 1074,
    CURSEDPOT = 1075,
    DECORATEDDOOR = 1076,
    DECORATION_BABYLON = 127,
    DECORATION_BABYLONBUSH = 138,
    DECORATION_BABYLON_FLOWER = 141,
    DECORATION_BABYLON_HANGING_FLOWER = 144,
    DECORATION_BABYLON_NEON_SIGN = 145,
    DECORATION_BASECAMPDOGSIGN = 152,
    DECORATION_BASECAMPSIGN = 151,
    DECORATION_BEEHIVE = 162,
    DECORATION_BG_TRANSITIONCOVER = 128,
    DECORATION_BONEBLOCK = 121,
    DECORATION_BORDER = 115,
    DECORATION_BRANCH = 146,
    DECORATION_BUSHBLOCK = 122,
    DECORATION_CHAINANDBLOCKS_CHAINDECORATION = 163,
    DECORATION_COG = 169,
    DECORATION_CONVEYORBELT_RAILING = 164,
    DECORATION_CROSS_BEAM = 131,
    DECORATION_DUAT = 171,
    DECORATION_DUAT_DARKSAND = 173,
    DECORATION_DUAT_DESTRUCTIBLE_BG = 174,
    DECORATION_DUAT_SAND = 172,
    DECORATION_DWELLINGBUSH = 136,
    DECORATION_EGGPLANT_ALTAR = 180,
    DECORATION_GENERIC = 116,
    DECORATION_GUTS = 179,
    DECORATION_HANGING_BANNER = 134,
    DECORATION_HANGING_HIDE = 132,
    DECORATION_HANGING_SEAWEED = 133,
    DECORATION_HANGING_WIRES = 135,
    DECORATION_JUNGLE = 119,
    DECORATION_JUNGLEBUSH = 137,
    DECORATION_JUNGLE_FLOWER = 140,
    DECORATION_JUNGLE_HANGING_FLOWER = 143,
    DECORATION_KELP = 166,
    DECORATION_LARGETOMB = 185,
    DECORATION_MINEWOOD = 120,
    DECORATION_MINEWOOD_POLE = 129,
    DECORATION_MOTHERSHIP = 170,
    DECORATION_MOTHER_STATUE_HAND = 181,
    DECORATION_MUSHROOM_HAT = 160,
    DECORATION_PAGODA = 125,
    DECORATION_PAGODA_POLE = 130,
    DECORATION_PALACE = 175,
    DECORATION_PALACE_CHANDELIER = 177,
    DECORATION_PALACE_PORTRAIT = 178,
    DECORATION_PALACE_SIGN = 176,
    DECORATION_PIPE = 182,
    DECORATION_POTOFGOLD_RAINBOW = 189,
    DECORATION_REGENERATING_BORDER = 187,
    DECORATION_REGENERATING_SMALL_BLOCK = 186,
    DECORATION_SHOPFORE = 148,
    DECORATION_SHOPSIGN = 149,
    DECORATION_SHOPSIGNICON = 150,
    DECORATION_SKULLDROP_TRAP = 188,
    DECORATION_SLIDINGWALL_CHAINDECORATION = 167,
    DECORATION_SPIKES_BLOOD = 147,
    DECORATION_STONE = 123,
    DECORATION_SUNKEN = 126,
    DECORATION_SUNKEN_BRIDGE = 183,
    DECORATION_SURFACE = 117,
    DECORATION_SURFACE_COVER = 118,
    DECORATION_TEMPLE = 124,
    DECORATION_TEMPLE_SAND = 168,
    DECORATION_THORN_VINE = 161,
    DECORATION_TIDEPOOLBUSH = 139,
    DECORATION_TIDEPOOL_CORAL = 142,
    DECORATION_TOMB = 184,
    DECORATION_TREE = 153,
    DECORATION_TREETRUNK_BROKEN = 157,
    DECORATION_TREETRUNK_CLIMBINGHINT = 154,
    DECORATION_TREETRUNK_TOPBACK = 156,
    DECORATION_TREETRUNK_TOPFRONT = 155,
    DECORATION_TREE_VINE = 159,
    DECORATION_TREE_VINE_TOP = 158,
    DECORATION_VLAD = 165,
    DECOREGENERATINGBLOCK = 1077,
    DESTRUCTIBLEBG = 1078,
    DMALIENBLAST = 1079,
    DMSPAWNING = 1080,
    DOOR = 1081,
    DRILL = 1082,
    DUSTWALLAPEP = 1083,
    EGGPLANTMINISTER = 1084,
    EGGPLANTTHROWER = 1085,
    EGGSAC = 1086,
    EGGSHIPCENTERJETFLAME = 1087,
    EGGSHIPDOOR = 1088,
    EGGSHIPDOORS = 1089,
    ELEVATOR = 1090,
    EMBED_GOLD = 190,
    EMBED_GOLD_BIG = 191,
    EMPRESSGRAVE = 1091,
    ENTITY = 1092,
    EXCALIBUR = 1093,
    EXITDOOR = 1094,
    EXPLOSION = 1095,
    FALLINGPLATFORM = 1096,
    FIREBALL = 1097,
    FIREBUG = 1098,
    FIREBUGUNCHAINED = 1099,
    FIREFROG = 1100,
    FISH = 1101,
    FLAME = 1102,
    FLAMESIZE = 1103,
    FLOOR = 1104,
    FLOORSTYLED_BABYLON = 106,
    FLOORSTYLED_BEEHIVE = 108,
    FLOORSTYLED_COG = 110,
    FLOORSTYLED_DUAT = 112,
    FLOORSTYLED_GUTS = 114,
    FLOORSTYLED_MINEWOOD = 102,
    FLOORSTYLED_MOTHERSHIP = 111,
    FLOORSTYLED_PAGODA = 105,
    FLOORSTYLED_PALACE = 113,
    FLOORSTYLED_STONE = 103,
    FLOORSTYLED_SUNKEN = 107,
    FLOORSTYLED_TEMPLE = 104,
    FLOORSTYLED_VLAD = 109,
    FLOOR_ALTAR = 47,
    FLOOR_ARROW_TRAP = 40,
    FLOOR_BASECAMP_DININGTABLE = 8,
    FLOOR_BASECAMP_LONGTABLE = 9,
    FLOOR_BASECAMP_SINGLEBED = 7,
    FLOOR_BIGSPEAR_TRAP = 79,
    FLOOR_BORDERTILE = 1,
    FLOOR_BORDERTILE_METAL = 2,
    FLOOR_BORDERTILE_OCTOPUS = 3,
    FLOOR_CHAINANDBLOCKS_CEILING = 61,
    FLOOR_CHAINANDBLOCKS_CHAIN = 62,
    FLOOR_CHAIN_CEILING = 63,
    FLOOR_CHALLENGE_ENTRANCE = 87,
    FLOOR_CHALLENGE_WAITROOM = 88,
    FLOOR_CLIMBING_POLE = 20,
    FLOOR_CONVEYORBELT_LEFT = 64,
    FLOOR_CONVEYORBELT_RIGHT = 65,
    FLOOR_DICE_FORCEFIELD = 86,
    FLOOR_DOOR_COG = 31,
    FLOOR_DOOR_EGGPLANT_WORLD = 36,
    FLOOR_DOOR_EGGSHIP = 33,
    FLOOR_DOOR_EGGSHIP_ATREZZO = 34,
    FLOOR_DOOR_EGGSHIP_ROOM = 35,
    FLOOR_DOOR_ENTRANCE = 22,
    FLOOR_DOOR_EXIT = 23,
    FLOOR_DOOR_GHISTSHOP = 28,
    FLOOR_DOOR_LAYER = 26,
    FLOOR_DOOR_LAYER_DROP_HELD = 27,
    FLOOR_DOOR_LOCKED = 29,
    FLOOR_DOOR_LOCKED_PEN = 30,
    FLOOR_DOOR_MAIN_EXIT = 24,
    FLOOR_DOOR_MOAI_STATUE = 32,
    FLOOR_DOOR_PLATFORM = 37,
    FLOOR_DOOR_STARTING_EXIT = 25,
    FLOOR_DUAT_ALTAR = 71,
    FLOOR_DUSTWALL = 70,
    FLOOR_EGGPLANT_ALTAR = 74,
    FLOOR_EMPRESS_GRAVE = 96,
    FLOOR_EXCALIBUR_STONE = 69,
    FLOOR_FACTORY_GENERATOR = 66,
    FLOOR_FORCEFIELD = 85,
    FLOOR_FORCEFIELD_TOP = 90,
    FLOOR_GENERIC = 4,
    FLOOR_GIANTFROG_PLATFORM = 83,
    FLOOR_GROWABLE_CLIMBING_POLE = 21,
    FLOOR_GROWABLE_VINE = 19,
    FLOOR_HORIZONTAL_FORCEFIELD = 91,
    FLOOR_HORIZONTAL_FORCEFIELD_TOP = 92,
    FLOOR_ICE = 72,
    FLOOR_IDOL_BLOCK = 48,
    FLOOR_IDOL_TRAP_CEILING = 49,
    FLOOR_JUNGLE = 10,
    FLOOR_JUNGLE_SPEAR_TRAP = 43,
    FLOOR_LADDER = 15,
    FLOOR_LADDER_PLATFORM = 16,
    FLOOR_LASER_TRAP = 45,
    FLOOR_LION_TRAP = 44,
    FLOOR_MOAI_PLATFORM = 75,
    FLOOR_MOTHER_STATUE = 81,
    FLOOR_MOTHER_STATUE_PLATFORM = 82,
    FLOOR_MUSHROOM_BASE = 55,
    FLOOR_MUSHROOM_HAT_PLATFORM = 58,
    FLOOR_MUSHROOM_TOP = 57,
    FLOOR_MUSHROOM_TRUNK = 56,
    FLOOR_PAGODA_PLATFORM = 14,
    FLOOR_PALACE_BOOKCASE_PLATFORM = 100,
    FLOOR_PALACE_CHANDELIER_PLATFORM = 99,
    FLOOR_PALACE_TABLE_PLATFORM = 97,
    FLOOR_PALACE_TRAY_PLATFORM = 98,
    FLOOR_PEN = 93,
    FLOOR_PIPE = 78,
    FLOOR_PLATFORM = 13,
    FLOOR_POISONED_ARROW_TRAP = 41,
    FLOOR_QUICKSAND = 68,
    FLOOR_SHOPKEEPER_GENERATOR = 76,
    FLOOR_SLIDINGWALL_CEILING = 67,
    FLOOR_SPARK_TRAP = 46,
    FLOOR_SPIKEBALL_CEILING = 60,
    FLOOR_SPIKES = 38,
    FLOOR_SPIKES_UPSIDEDOWN = 39,
    FLOOR_SPRING_TRAP = 73,
    FLOOR_STICKYTRAP_CEILING = 80,
    FLOOR_STORAGE = 50,
    FLOOR_SUNCHALLENGE_GENERATOR = 77,
    FLOOR_SURFACE = 5,
    FLOOR_SURFACE_HIDDEN = 6,
    FLOOR_TELEPORTINGBORDER = 84,
    FLOOR_TENTACLE_BOTTOM = 101,
    FLOOR_THORN_VINE = 59,
    FLOOR_TIMED_FORCEFIELD = 89,
    FLOOR_TOMB = 94,
    FLOOR_TOTEM_TRAP = 42,
    FLOOR_TREE_BASE = 51,
    FLOOR_TREE_BRANCH = 54,
    FLOOR_TREE_TOP = 53,
    FLOOR_TREE_TRUNK = 52,
    FLOOR_TUNNEL_CURRENT = 11,
    FLOOR_TUNNEL_NEXT = 12,
    FLOOR_VINE = 17,
    FLOOR_VINE_TREE_TOP = 18,
    FLOOR_YAMA_PLATFORM = 95,
    FLY = 1105,
    FLYHEAD = 1106,
    FORCEFIELD = 1107,
    FORESTSISTER = 1108,
    FROG = 1109,
    FROSTBREATHEFFECT = 1110,
    FROZENLIQUID = 1111,
    FXALIENBLAST = 1112,
    FXANKHBROKENPIECE = 1113,
    FXANKHROTATINGSPARK = 1114,
    FXCOMPASS = 1115,
    FXEMPRESS = 1116,
    FXFIREFLYLIGHT = 1117,
    FXHUNDUNNECKPIECE = 1118,
    FXJELLYFISHSTAR = 1119,
    FXJETPACKFLAME = 1120,
    FXKINGUSLIDING = 1121,
    FXLAMASSUATTACK = 1122,
    FXMAINEXITDOOR = 1123,
    FXNECROMANCERANKH = 1124,
    FXOUROBORODRAGONPART = 1125,
    FXOUROBOROOCCLUDER = 1126,
    FXPICKUPEFFECT = 1127,
    FXPLAYERINDICATOR = 1128,
    FXQUICKSAND = 1129,
    FXSALECONTAINER = 1130,
    FXSHOTGUNBLAST = 1131,
    FXSORCERESSATTACK = 1132,
    FXSPARKSMALL = 1133,
    FXSPRINGTRAPRING = 1134,
    FXTIAMATHEAD = 1135,
    FXTIAMATTAIL = 1136,
    FXTIAMATTORSO = 1137,
    FXTORNJOURNALPAGE = 1138,
    FXUNDERWATERBUBBLE = 1139,
    FXVATBUBBLE = 1140,
    FXWATERDROP = 1141,
    FXWEBBEDEFFECT = 1142,
    FXWITCHDOCTORHINT = 1143,
    FX_ALIENBLAST = 694,
    FX_ALIENBLAST_RETICULE_EXTERNAL = 693,
    FX_ALIENBLAST_RETICULE_INTERNAL = 692,
    FX_ALIENQUEEN_EYE = 691,
    FX_ALIENQUEEN_EYEBALL = 690,
    FX_ANKH_BACKGLOW = 752,
    FX_ANKH_BROKENPIECE = 755,
    FX_ANKH_FALLINGSPARK = 751,
    FX_ANKH_FRONTGLOW = 753,
    FX_ANKH_LIGHTBEAM = 754,
    FX_ANKH_ROTATINGSPARK = 750,
    FX_ANUBIS_SPECIAL_SHOT_RETICULE = 735,
    FX_APEP_FIRE = 681,
    FX_APEP_MOUTHPIECE = 682,
    FX_AXOLOTL_HEAD_ENTERING_DOOR = 742,
    FX_BASECAMP_COUCH_ARM = 743,
    FX_BIRDIES = 636,
    FX_BUTTON = 670,
    FX_BUTTON_DIALOG = 671,
    FX_CINEMATIC_BLACKBAR = 663,
    FX_COMPASS = 646,
    FX_CRITTERFIREFLY_LIGHT = 741,
    FX_CRUSHINGELEVATOR_DECO = 717,
    FX_CRUSHINGELEVATOR_FILL = 716,
    FX_DIEINDICATOR = 711,
    FX_DRILL_TURNING = 683,
    FX_EGGSHIP_CENTERJETFLAME = 630,
    FX_EGGSHIP_DOOR = 629,
    FX_EGGSHIP_HOOK_CHAIN = 745,
    FX_EGGSHIP_JETFLAME = 631,
    FX_EGGSHIP_SHADOW = 632,
    FX_EGGSHIP_SHELL = 628,
    FX_EMPRESS = 744,
    FX_EXPLOSION = 637,
    FX_HORIZONTALLASERBEAM = 714,
    FX_HUNDUN_EGG_CRACK = 721,
    FX_HUNDUN_EYE = 726,
    FX_HUNDUN_EYEBALL = 725,
    FX_HUNDUN_EYELID = 724,
    FX_HUNDUN_LIMB_CALF = 719,
    FX_HUNDUN_LIMB_FOOT = 720,
    FX_HUNDUN_LIMB_THIGH = 718,
    FX_HUNDUN_NECK_PIECE = 722,
    FX_HUNDUN_WING = 723,
    FX_INK_BLINDNESS = 673,
    FX_INK_SPLAT = 674,
    FX_JETPACKFLAME = 657,
    FX_KINGU_HEAD = 685,
    FX_KINGU_LIMB = 688,
    FX_KINGU_PLATFORM = 687,
    FX_KINGU_SHADOW = 686,
    FX_KINGU_SLIDING = 689,
    FX_LAMASSU_ATTACK = 740,
    FX_LASERBEAM = 713,
    FX_LAVA_BUBBLE = 675,
    FX_LAVA_GLOW = 676,
    FX_LEADER_FLAG = 684,
    FX_MAIN_EXIT_DOOR = 635,
    FX_MECH_COLLAR = 736,
    FX_MEGAJELLYFISH_BOTTOM = 732,
    FX_MEGAJELLYFISH_CROWN = 728,
    FX_MEGAJELLYFISH_EYE = 729,
    FX_MEGAJELLYFISH_FLIPPER = 731,
    FX_MEGAJELLYFISH_STAR = 730,
    FX_MEGAJELLYFISH_TAIL = 733,
    FX_MEGAJELLYFISH_TAIL_BG = 734,
    FX_MINIGAME_SHIP_CENTERJETFLAME = 747,
    FX_MINIGAME_SHIP_DOOR = 746,
    FX_MINIGAME_SHIP_JETFLAME = 748,
    FX_MODERNEXPLOSION = 639,
    FX_NECROMANCER_ANKH = 661,
    FX_OLMECPART_FLOATER = 664,
    FX_OLMECPART_LARGE = 665,
    FX_OLMECPART_MEDIUM = 666,
    FX_OLMECPART_SMALL = 667,
    FX_OLMECPART_SMALLEST = 668,
    FX_OUROBORO_HEAD = 641,
    FX_OUROBORO_OCCLUDER = 640,
    FX_OUROBORO_TAIL = 642,
    FX_OUROBORO_TEXT = 643,
    FX_OUROBORO_TRAIL = 644,
    FX_PICKUPEFFECT = 655,
    FX_PLAYERINDICATOR = 648,
    FX_PLAYERINDICATORPORTRAIT = 649,
    FX_PORTAL = 727,
    FX_POWEREDEXPLOSION = 638,
    FX_QUICKSAND_DUST = 737,
    FX_QUICKSAND_RUBBLE = 738,
    FX_SALEDIALOG_CONTAINER = 651,
    FX_SALEDIALOG_ICON = 654,
    FX_SALEDIALOG_TITLE = 652,
    FX_SALEDIALOG_VALUE = 653,
    FX_SALEICON = 650,
    FX_SHADOW = 633,
    FX_SHOTGUNBLAST = 656,
    FX_SLEEP_BUBBLE = 672,
    FX_SMALLFLAME = 658,
    FX_SORCERESS_ATTACK = 739,
    FX_SPARK = 695,
    FX_SPARK_SMALL = 696,
    FX_SPECIALCOMPASS = 647,
    FX_SPRINGTRAP_RING = 659,
    FX_STORAGE_INDICATOR = 712,
    FX_TELEPORTSHADOW = 662,
    FX_TIAMAT_ARM_LEFT1 = 704,
    FX_TIAMAT_ARM_LEFT2 = 705,
    FX_TIAMAT_ARM_LEFT3 = 706,
    FX_TIAMAT_ARM_RIGHT1 = 707,
    FX_TIAMAT_ARM_RIGHT2 = 708,
    FX_TIAMAT_HEAD = 710,
    FX_TIAMAT_NECK = 709,
    FX_TIAMAT_TAIL = 699,
    FX_TIAMAT_TAIL_DECO1 = 700,
    FX_TIAMAT_TAIL_DECO2 = 701,
    FX_TIAMAT_TAIL_DECO3 = 702,
    FX_TIAMAT_THRONE = 697,
    FX_TIAMAT_TORSO = 703,
    FX_TIAMAT_WAIST = 698,
    FX_TORNJOURNALPAGE = 634,
    FX_UNDERWATER_BUBBLE = 677,
    FX_VAT_BUBBLE = 715,
    FX_WATER_DROP = 678,
    FX_WATER_SPLASH = 679,
    FX_WATER_SURFACE = 680,
    FX_WEBBEDEFFECT = 669,
    FX_WITCHDOCTOR_HINT = 660,
    GENERATOR = 1144,
    GHIST = 1145,
    GHOST = 1146,
    GHOSTBREATH = 1147,
    GIANTCLAMTOP = 1148,
    GIANTFISH = 1149,
    GIANTFLY = 1150,
    GIANTFROG = 1151,
    GOLDBAR = 1152,
    GOLDMONKEY = 1153,
    GRUB = 1154,
    GUN = 1155,
    HANGANCHOR = 1156,
    HANGSPIDER = 1157,
    HANGSTRAND = 1158,
    HERMITCRAB = 1159,
    HONEY = 1160,
    HORIZONTALFORCEFIELD = 1161,
    HORNEDLIZARD = 1162,
    HOVERPACK = 1163,
    HUNDUN = 1164,
    HUNDUNCHEST = 1165,
    HUNDUNHEAD = 1166,
    ICESLIDINGSOUND = 1167,
    IDOL = 1168,
    IMP = 1169,
    ITEM_ACIDBUBBLE = 391,
    ITEM_ACIDSPIT = 389,
    ITEM_ALIVE_EMBEDDED_ON_ICE = 463,
    ITEM_ANUBIS_COFFIN = 453,
    ITEM_AUTOWALLTORCH = 415,
    ITEM_AXOLOTL_BUBBLESHOT = 456,
    ITEM_BASECAMP_TUTORIAL_SIGN = 408,
    ITEM_BIG_SPEAR = 364,
    ITEM_BLOOD = 352,
    ITEM_BOMB = 347,
    ITEM_BONES = 483,
    ITEM_BOOMBOX = 409,
    ITEM_BOOMERANG = 583,
    ITEM_BROKENEXCALIBUR = 586,
    ITEM_BROKEN_ARROW = 372,
    ITEM_BROKEN_MATTOCK = 428,
    ITEM_BULLET = 424,
    ITEM_CAMERA = 580,
    ITEM_CAPE = 564,
    ITEM_CHAIN = 431,
    ITEM_CHAIN_LASTPIECE = 432,
    ITEM_CHEST = 395,
    ITEM_CLIMBABLE_ROPE = 350,
    ITEM_CLONEGUN = 589,
    ITEM_CLONEGUNSHOT = 426,
    ITEM_COFFIN = 435,
    ITEM_CONSTRUCTION_SIGN = 405,
    ITEM_COOKFIRE = 484,
    ITEM_CRABMAN_ACIDBUBBLE = 392,
    ITEM_CRABMAN_CLAW = 393,
    ITEM_CRABMAN_CLAWCHAIN = 394,
    ITEM_CRATE = 402,
    ITEM_CROSSBOW = 579,
    ITEM_CURSEDPOT = 481,
    ITEM_CURSING_CLOUD = 440,
    ITEM_DEPLOYED_PARACHUTE = 464,
    ITEM_DIAMOND = 497,
    ITEM_DICE_BET = 449,
    ITEM_DICE_PRIZE_DISPENSER = 450,
    ITEM_DIE = 448,
    ITEM_DMCRATE = 403,
    ITEM_EGGPLANT = 487,
    ITEM_EGGSAC = 492,
    ITEM_EGGSHIP = 353,
    ITEM_EGGSHIP_HOOK = 455,
    ITEM_EMERALD = 498,
    ITEM_EMERALD_SMALL = 503,
    ITEM_EMPRESS_GRAVE = 470,
    ITEM_ENDINGTREASURE_HUNDUN = 398,
    ITEM_ENDINGTREASURE_TIAMAT = 397,
    ITEM_EXCALIBUR = 585,
    ITEM_FIREBALL = 385,
    ITEM_FLAMETHROWER_FIREBALL = 387,
    ITEM_FLOATING_ORB = 491,
    ITEM_FLY = 436,
    ITEM_FREEZERAY = 578,
    ITEM_FREEZERAYSHOT = 425,
    ITEM_FROZEN_LIQUID = 462,
    ITEM_GHIST_PRESENT = 423,
    ITEM_GIANTCLAM_TOP = 445,
    ITEM_GIANTFLY_HEAD = 467,
    ITEM_GIANTSPIDER_WEBSHOT = 368,
    ITEM_GOLDBAR = 495,
    ITEM_GOLDBARS = 496,
    ITEM_GOLDCOIN = 502,
    ITEM_HANGANCHOR = 370,
    ITEM_HANGSTRAND = 369,
    ITEM_HOLDTHEIDOL = 359,
    ITEM_HONEY = 444,
    ITEM_HORIZONTALLASERBEAM = 452,
    ITEM_HOUYIBOW = 590,
    ITEM_HOVERPACK = 572,
    ITEM_HUNDUN_FIREBALL = 386,
    ITEM_ICECAGE = 427,
    ITEM_ICESPIRE = 488,
    ITEM_IDOL = 356,
    ITEM_INKSPIT = 390,
    ITEM_JETPACK = 567,
    ITEM_JETPACK_MECH = 568,
    ITEM_JUNGLE_SPEAR_COSMETIC = 361,
    ITEM_JUNGLE_SPEAR_DAMAGING = 362,
    ITEM_KEY = 399,
    ITEM_LAMASSU_LASER_SHOT = 380,
    ITEM_LAMP = 418,
    ITEM_LAMPFLAME = 419,
    ITEM_LANDMINE = 439,
    ITEM_LASERBEAM = 451,
    ITEM_LASERTRAP_SHOT = 382,
    ITEM_LAVAPOT = 485,
    ITEM_LEAF = 388,
    ITEM_LIGHT_ARROW = 374,
    ITEM_LION_SPEAR = 363,
    ITEM_LITWALLTORCH = 414,
    ITEM_LOCKEDCHEST = 400,
    ITEM_LOCKEDCHEST_KEY = 401,
    ITEM_MACHETE = 584,
    ITEM_MADAMETUSK_IDOL = 357,
    ITEM_MADAMETUSK_IDOLNOTE = 358,
    ITEM_MATTOCK = 582,
    ITEM_METAL_ARROW = 373,
    ITEM_METAL_SHIELD = 592,
    ITEM_MINIGAME_ASTEROID = 477,
    ITEM_MINIGAME_ASTEROID_BG = 476,
    ITEM_MINIGAME_BROKEN_ASTEROID = 478,
    ITEM_MINIGAME_SHIP = 474,
    ITEM_MINIGAME_UFO = 475,
    ITEM_NUGGET = 501,
    ITEM_NUGGET_SMALL = 506,
    ITEM_OLMECCANNON_BOMBS = 437,
    ITEM_OLMECCANNON_UFO = 438,
    ITEM_OLMECSHIP = 355,
    ITEM_PALACE_CANDLE = 489,
    ITEM_PALACE_CANDLE_FLAME = 468,
    ITEM_PARENTSSHIP = 354,
    ITEM_PASTEBOMB = 348,
    ITEM_PICKUP_12BAG = 515,
    ITEM_PICKUP_24BAG = 516,
    ITEM_PICKUP_ANKH = 539,
    ITEM_PICKUP_BOMBBAG = 513,
    ITEM_PICKUP_BOMBBOX = 514,
    ITEM_PICKUP_CLIMBINGGLOVES = 525,
    ITEM_PICKUP_CLOVER = 521,
    ITEM_PICKUP_COMPASS = 530,
    ITEM_PICKUP_COOKEDTURKEY = 518,
    ITEM_PICKUP_CROWN = 536,
    ITEM_PICKUP_EGGPLANTCROWN = 537,
    ITEM_PICKUP_ELIXIR = 520,
    ITEM_PICKUP_GIANTFOOD = 519,
    ITEM_PICKUP_HEDJET = 535,
    ITEM_PICKUP_JOURNAL = 510,
    ITEM_PICKUP_KAPALA = 534,
    ITEM_PICKUP_PARACHUTE = 532,
    ITEM_PICKUP_PASTE = 529,
    ITEM_PICKUP_PITCHERSMITT = 526,
    ITEM_PICKUP_PLAYERBAG = 543,
    ITEM_PICKUP_ROPE = 511,
    ITEM_PICKUP_ROPEPILE = 512,
    ITEM_PICKUP_ROYALJELLY = 517,
    ITEM_PICKUP_SEEDEDRUNSUNLOCKER = 522,
    ITEM_PICKUP_SKELETON_KEY = 541,
    ITEM_PICKUP_SPECIALCOMPASS = 531,
    ITEM_PICKUP_SPECTACLES = 524,
    ITEM_PICKUP_SPIKESHOES = 528,
    ITEM_PICKUP_SPRINGSHOES = 527,
    ITEM_PICKUP_TABLETOFDESTINY = 540,
    ITEM_PICKUP_TORNJOURNALPAGE = 509,
    ITEM_PICKUP_TRUECROWN = 538,
    ITEM_PICKUP_UDJATEYE = 533,
    ITEM_PLASMACANNON = 587,
    ITEM_PLASMACANNON_SHOT = 375,
    ITEM_PLAYERGHOST = 446,
    ITEM_PLAYERGHOST_BREATH = 447,
    ITEM_POT = 480,
    ITEM_POTOFGOLD = 457,
    ITEM_POWERPACK = 574,
    ITEM_POWERUP_ANKH = 560,
    ITEM_POWERUP_CLIMBING_GLOVES = 546,
    ITEM_POWERUP_COMPASS = 554,
    ITEM_POWERUP_CROWN = 557,
    ITEM_POWERUP_EGGPLANTCROWN = 558,
    ITEM_POWERUP_HEDJET = 556,
    ITEM_POWERUP_KAPALA = 549,
    ITEM_POWERUP_PARACHUTE = 553,
    ITEM_POWERUP_PASTE = 545,
    ITEM_POWERUP_PITCHERSMITT = 551,
    ITEM_POWERUP_SKELETON_KEY = 562,
    ITEM_POWERUP_SPECIALCOMPASS = 555,
    ITEM_POWERUP_SPECTACLES = 550,
    ITEM_POWERUP_SPIKE_SHOES = 547,
    ITEM_POWERUP_SPRING_SHOES = 548,
    ITEM_POWERUP_TABLETOFDESTINY = 561,
    ITEM_POWERUP_TRUECROWN = 559,
    ITEM_POWERUP_UDJATEYE = 552,
    ITEM_PRESENT = 422,
    ITEM_PUNISHBALL = 429,
    ITEM_PUNISHCHAIN = 430,
    ITEM_PURCHASABLE_CAPE = 566,
    ITEM_PURCHASABLE_HOVERPACK = 573,
    ITEM_PURCHASABLE_JETPACK = 569,
    ITEM_PURCHASABLE_POWERPACK = 575,
    ITEM_PURCHASABLE_TELEPORTER_BACKPACK = 571,
    ITEM_REDLANTERN = 420,
    ITEM_REDLANTERNFLAME = 421,
    ITEM_ROCK = 365,
    ITEM_ROPE = 349,
    ITEM_RUBBLE = 645,
    ITEM_RUBY = 500,
    ITEM_RUBY_SMALL = 505,
    ITEM_SAPPHIRE = 499,
    ITEM_SAPPHIRE_SMALL = 504,
    ITEM_SCEPTER = 588,
    ITEM_SCEPTER_ANUBISSHOT = 376,
    ITEM_SCEPTER_ANUBISSPECIALSHOT = 377,
    ITEM_SCEPTER_PLAYERSHOT = 378,
    ITEM_SCRAP = 486,
    ITEM_SHORTCUT_SIGN = 406,
    ITEM_SHOTGUN = 577,
    ITEM_SKULL = 482,
    ITEM_SKULLDROPTRAP = 461,
    ITEM_SKULLDROPTRAP_SKULL = 490,
    ITEM_SLIDINGWALL_CHAIN = 433,
    ITEM_SLIDINGWALL_CHAIN_LASTPIECE = 434,
    ITEM_SLIDINGWALL_SWITCH = 465,
    ITEM_SLIDINGWALL_SWITCH_REWARD = 466,
    ITEM_SNAP_TRAP = 469,
    ITEM_SORCERESS_DAGGER_SHOT = 381,
    ITEM_SPARK = 383,
    ITEM_SPEEDRUN_SIGN = 407,
    ITEM_SPIKES = 454,
    ITEM_STICKYTRAP_BALL = 460,
    ITEM_STICKYTRAP_LASTPIECE = 459,
    ITEM_STICKYTRAP_PIECE = 458,
    ITEM_TELEPORTER = 581,
    ITEM_TELEPORTER_BACKPACK = 570,
    ITEM_TELESCOPE = 411,
    ITEM_TENTACLE = 471,
    ITEM_TENTACLE_LAST_PIECE = 473,
    ITEM_TENTACLE_PIECE = 472,
    ITEM_TIAMAT_SHOT = 384,
    ITEM_TORCH = 416,
    ITEM_TORCHFLAME = 417,
    ITEM_TOTEM_SPEAR = 360,
    ITEM_TURKEY_NECK = 443,
    ITEM_TUTORIAL_MONSTER_SIGN = 404,
    ITEM_TV = 410,
    ITEM_UDJAT_SOCKET = 441,
    ITEM_UFO_LASER_SHOT = 379,
    ITEM_UNROLLED_ROPE = 351,
    ITEM_USHABTI = 442,
    ITEM_VAULTCHEST = 396,
    ITEM_VLADS_CAPE = 565,
    ITEM_WALLTORCH = 412,
    ITEM_WALLTORCHFLAME = 413,
    ITEM_WEB = 366,
    ITEM_WEBGUN = 576,
    ITEM_WEBSHOT = 367,
    ITEM_WHIP = 345,
    ITEM_WHIP_FLAME = 346,
    ITEM_WOODEN_ARROW = 371,
    ITEM_WOODEN_SHIELD = 591,
    JETPACK = 1170,
    JIANGSHI = 1171,
    JUMPDOG = 1172,
    JUNGLESPEARCOSMETIC = 1173,
    JUNGLETRAPTRIGGER = 1174,
    KAPALAPOWERUP = 1175,
    KINGU = 1176,
    LAHAMU = 1177,
    LAMASSU = 1178,
    LAMPFLAME = 1179,
    LANDMINE = 1180,
    LASERBEAM = 1181,
    LASERTRAP = 1182,
    LAVA = 1183,
    LAVAMANDER = 1184,
    LEAF = 1185,
    LEPRECHAUN = 1186,
    LIGHTARROW = 1187,
    LIGHTARROWPLATFORM = 1188,
    LIGHTEMITTER = 1189,
    LIGHTSHOT = 1190,
    LIMBANCHOR = 1191,
    LIQUID = 1192,
    LIQUIDSURFACE = 1193,
    LIQUID_COARSE_LAVA = 915,
    LIQUID_COARSE_WATER = 910,
    LIQUID_IMPOSTOR_LAKE = 911,
    LIQUID_IMPOSTOR_LAVA = 914,
    LIQUID_LAVA = 912,
    LIQUID_STAGNANT_LAVA = 913,
    LIQUID_WATER = 909,
    LOCKEDDOOR = 1194,
    LOGICALANCHOVYFLOCK = 1195,
    LOGICALCONVEYORBELTSOUND = 1196,
    LOGICALDOOR = 1197,
    LOGICALDRAIN = 1198,
    LOGICALLIQUIDSTREAMSOUND = 1199,
    LOGICALMINIGAME = 1200,
    LOGICALREGENERATINGBLOCK = 1201,
    LOGICALSOUND = 1202,
    LOGICALSTATICSOUND = 1203,
    LOGICALTRAPTRIGGER = 1204,
    LOGICAL_ANCHOVY_FLOCK = 873,
    LOGICAL_ARROW_TRAP_TRIGGER = 849,
    LOGICAL_BIGSPEAR_TRAP_TRIGGER = 884,
    LOGICAL_BLACKMARKET_DOOR = 848,
    LOGICAL_BOULDERSPAWNER = 880,
    LOGICAL_BURNING_ROPE_EFFECT = 863,
    LOGICAL_CAMERA_ANCHOR = 859,
    LOGICAL_CAMERA_FLASH = 865,
    LOGICAL_CINEMATIC_ANCHOR = 862,
    LOGICAL_CONSTELLATION = 844,
    LOGICAL_CONVEYORBELT_SOUND_SOURCE = 872,
    LOGICAL_CRUSH_TRAP_TRIGGER = 853,
    LOGICAL_CURSED_EFFECT = 858,
    LOGICAL_DM_ALIEN_BLAST = 889,
    LOGICAL_DM_CAMERA_ANCHOR = 887,
    LOGICAL_DM_CRATE_SPAWNING = 890,
    LOGICAL_DM_DEATH_MIST = 888,
    LOGICAL_DM_IDOL_SPAWNING = 891,
    LOGICAL_DM_SPAWN_POINT = 886,
    LOGICAL_DOOR = 846,
    LOGICAL_DOOR_AMBIENT_SOUND = 847,
    LOGICAL_DUSTWALL_APEP = 864,
    LOGICAL_DUSTWALL_SOUND_SOURCE = 877,
    LOGICAL_EGGPLANT_THROWER = 894,
    LOGICAL_FROST_BREATH = 893,
    LOGICAL_ICESLIDING_SOUND_SOURCE = 878,
    LOGICAL_JUNGLESPEAR_TRAP_TRIGGER = 851,
    LOGICAL_LAVA_DRAIN = 882,
    LOGICAL_LIMB_ANCHOR = 867,
    LOGICAL_MINIGAME = 895,
    LOGICAL_MUMMYFLIES_SOUND_SOURCE = 874,
    LOGICAL_ONFIRE_EFFECT = 856,
    LOGICAL_OUROBORO_CAMERA_ANCHOR = 860,
    LOGICAL_OUROBORO_CAMERA_ANCHOR_ZOOMIN = 861,
    LOGICAL_PIPE_TRAVELER_SOUND_SOURCE = 879,
    LOGICAL_PLATFORM_SPAWNER = 885,
    LOGICAL_POISONED_EFFECT = 857,
    LOGICAL_PORTAL = 868,
    LOGICAL_QUICKSAND_AMBIENT_SOUND_SOURCE = 875,
    LOGICAL_QUICKSAND_SOUND_SOURCE = 876,
    LOGICAL_REGENERATING_BLOCK = 883,
    LOGICAL_ROOM_LIGHT = 866,
    LOGICAL_SHOOTING_STARS_SPAWNER = 845,
    LOGICAL_SPIKEBALL_TRIGGER = 852,
    LOGICAL_SPLASH_BUBBLE_GENERATOR = 892,
    LOGICAL_STATICLAVA_SOUND_SOURCE = 869,
    LOGICAL_STREAMLAVA_SOUND_SOURCE = 870,
    LOGICAL_STREAMWATER_SOUND_SOURCE = 871,
    LOGICAL_TENTACLE_TRIGGER = 854,
    LOGICAL_TOTEM_TRAP_TRIGGER = 850,
    LOGICAL_WATER_DRAIN = 881,
    LOGICAL_WET_EFFECT = 855,
    MAGMAMAN = 1205,
    MAINEXIT = 1206,
    MANTRAP = 1207,
    MATTOCK = 1208,
    MECH = 1209,
    MEGAJELLYFISH = 1210,
    MIDBG = 810,
    MIDBG_BEEHIVE = 813,
    MIDBG_PALACE_STYLEDDECORATION = 812,
    MIDBG_PLATFORM_STRUCTURE = 814,
    MIDBG_STYLEDDECORATION = 811,
    MINIGAMEASTEROID = 1211,
    MINIGAMESHIP = 1212,
    MINIGAMESHIPOFFSET = 1213,
    MOLE = 1214,
    MONKEY = 1215,
    MONSTER = 1216,
    MONS_ALIEN = 267,
    MONS_ALIENQUEEN = 271,
    MONS_AMMIT = 280,
    MONS_ANUBIS = 253,
    MONS_ANUBIS2 = 259,
    MONS_APEP_BODY = 255,
    MONS_APEP_HEAD = 254,
    MONS_APEP_TAIL = 256,
    MONS_BAT = 224,
    MONS_BEE = 278,
    MONS_BODYGUARD = 306,
    MONS_CATMUMMY = 251,
    MONS_CAVEMAN = 225,
    MONS_CAVEMAN_BOSS = 232,
    MONS_CAVEMAN_SHOPKEEPER = 226,
    MONS_COBRA = 248,
    MONS_CRABMAN = 311,
    MONS_CRITTERANCHOVY = 335,
    MONS_CRITTERBUTTERFLY = 332,
    MONS_CRITTERCRAB = 336,
    MONS_CRITTERDRONE = 340,
    MONS_CRITTERDUNGBEETLE = 331,
    MONS_CRITTERFIREFLY = 339,
    MONS_CRITTERFISH = 334,
    MONS_CRITTERLOCUST = 337,
    MONS_CRITTERPENGUIN = 338,
    MONS_CRITTERSLIME = 341,
    MONS_CRITTERSNAIL = 333,
    MONS_CROCMAN = 247,
    MONS_EGGPLANT_MINISTER = 290,
    MONS_FEMALE_JIANGSHI = 261,
    MONS_FIREBUG = 241,
    MONS_FIREBUG_UNCHAINED = 242,
    MONS_FIREFROG = 284,
    MONS_FISH = 262,
    MONS_FROG = 283,
    MONS_GHIST = 314,
    MONS_GHIST_SHOPKEEPER = 315,
    MONS_GHOST = 317,
    MONS_GHOST_MEDIUM_HAPPY = 319,
    MONS_GHOST_MEDIUM_SAD = 318,
    MONS_GHOST_SMALL_ANGRY = 320,
    MONS_GHOST_SMALL_HAPPY = 323,
    MONS_GHOST_SMALL_SAD = 321,
    MONS_GHOST_SMALL_SURPRISED = 322,
    MONS_GIANTFISH = 265,
    MONS_GIANTFLY = 288,
    MONS_GIANTFROG = 285,
    MONS_GIANTSPIDER = 223,
    MONS_GOLDMONKEY = 309,
    MONS_GRUB = 286,
    MONS_HANGSPIDER = 222,
    MONS_HERMITCRAB = 264,
    MONS_HORNEDLIZARD = 230,
    MONS_HUNDUN = 292,
    MONS_HUNDUNS_SERVANT = 307,
    MONS_HUNDUN_BIRDHEAD = 293,
    MONS_HUNDUN_SNAKEHEAD = 294,
    MONS_IMP = 243,
    MONS_JIANGSHI = 260,
    MONS_JUMPDOG = 289,
    MONS_KINGU = 281,
    MONS_LAMASSU = 274,
    MONS_LAVAMANDER = 244,
    MONS_LEPRECHAUN = 310,
    MONS_MADAMETUSK = 305,
    MONS_MAGMAMAN = 239,
    MONS_MANTRAP = 233,
    MONS_MARLA_TUNNEL = 299,
    MONS_MEGAJELLYFISH = 312,
    MONS_MEGAJELLYFISH_BACKGROUND = 313,
    MONS_MERCHANT = 297,
    MONS_MOLE = 231,
    MONS_MONKEY = 238,
    MONS_MOSQUITO = 237,
    MONS_MUMMY = 249,
    MONS_NECROMANCER = 252,
    MONS_OCTOPUS = 263,
    MONS_OLD_HUNTER = 303,
    MONS_OLMITE_BODYARMORED = 276,
    MONS_OLMITE_HELMET = 275,
    MONS_OLMITE_NAKED = 277,
    MONS_OSIRIS_HAND = 258,
    MONS_OSIRIS_HEAD = 257,
    MONS_PET_CAT = 327,
    MONS_PET_DOG = 326,
    MONS_PET_HAMSTER = 328,
    MONS_PET_TUTORIAL = 219,
    MONS_PROTOSHOPKEEPER = 272,
    MONS_QUEENBEE = 279,
    MONS_REDSKELETON = 228,
    MONS_ROBOT = 240,
    MONS_SCARAB = 295,
    MONS_SCORPION = 229,
    MONS_SHOPKEEPER = 296,
    MONS_SHOPKEEPERCLONE = 273,
    MONS_SISTER_PARMESAN = 302,
    MONS_SISTER_PARSLEY = 300,
    MONS_SISTER_PARSNIP = 301,
    MONS_SKELETON = 227,
    MONS_SNAKE = 220,
    MONS_SORCERESS = 250,
    MONS_SPIDER = 221,
    MONS_STORAGEGUY = 308,
    MONS_TADPOLE = 287,
    MONS_THIEF = 304,
    MONS_TIAMAT = 282,
    MONS_TIKIMAN = 234,
    MONS_UFO = 266,
    MONS_VAMPIRE = 245,
    MONS_VLAD = 246,
    MONS_WITCHDOCTOR = 235,
    MONS_WITCHDOCTORSKULL = 236,
    MONS_YAMA = 291,
    MONS_YANG = 298,
    MONS_YETI = 268,
    MONS_YETIKING = 269,
    MONS_YETIQUEEN = 270,
    MOSQUITO = 1217,
    MOTHERSTATUE = 1218,
    MOUNT = 1219,
    MOUNT_AXOLOTL = 901,
    MOUNT_BASECAMP_CHAIR = 905,
    MOUNT_BASECAMP_COUCH = 906,
    MOUNT_MECH = 902,
    MOUNT_QILIN = 903,
    MOUNT_ROCKDOG = 900,
    MOUNT_TURKEY = 899,
    MOVABLE = 1220,
    MOVINGICON = 1221,
    MUMMY = 1222,
    MUMMYFLIESSOUND = 1223,
    NECROMANCER = 1224,
    NPC = 1225,
    OCTOPUS = 1226,
    OLMEC = 1227,
    OLMECCANNON = 1228,
    OLMECFLOATER = 1229,
    OLMITE = 1230,
    ONFIREEFFECT = 1231,
    ORB = 1232,
    OSIRISHAND = 1233,
    OSIRISHEAD = 1234,
    OUROBOROCAMERAANCHOR = 1235,
    OUROBOROCAMERAZOOMIN = 1236,
    PALACESIGN = 1237,
    PARACHUTEPOWERUP = 1238,
    PET = 1239,
    PIPE = 1240,
    PIPETRAVELERSOUND = 1241,
    PLAYER = 1242,
    PLAYERBAG = 1243,
    PLAYERGHOST = 1244,
    POISONEDEFFECT = 1245,
    POLEDECO = 1246,
    PORTAL = 1247,
    POT = 1248,
    POWERUP = 1249,
    POWERUPCAPABLE = 1250,
    PROTOSHOPKEEPER = 1251,
    PUNISHBALL = 1252,
    PURCHASABLE = 1334,
    PUSHBLOCK = 1253,
    QILIN = 1254,
    QUICKSAND = 1255,
    QUICKSANDSOUND = 1256,
    QUILLBACK = 1257,
    REGENBLOCK = 1258,
    ROBOT = 1259,
    ROCKDOG = 1260,
    ROLLINGITEM = 1261,
    ROOMLIGHT = 1262,
    ROOMOWNER = 1263,
    RUBBLE = 1264,
    SCARAB = 1265,
    SCEPTERSHOT = 1266,
    SCORPION = 1267,
    SHIELD = 1268,
    SHOOTINGSTARSPAWNER = 1269,
    SHOPKEEPER = 1270,
    SKELETON = 1271,
    SKULLDROPTRAP = 1272,
    SLEEPBUBBLE = 1273,
    SLIDINGWALLCEILING = 1274,
    SNAPTRAP = 1275,
    SORCERESS = 1276,
    SOUNDSHOT = 1277,
    SPARK = 1278,
    SPARKTRAP = 1279,
    SPEAR = 1280,
    SPECIALSHOT = 1281,
    SPIDER = 1282,
    SPIKEBALLTRAP = 1283,
    SPLASHBUBBLEGENERATOR = 1284,
    STICKYTRAP = 1285,
    STRETCHCHAIN = 1286,
    SWITCH = 1287,
    TADPOLE = 1288,
    TELEPORTER = 1289,
    TELEPORTERBACKPACK = 1290,
    TELEPORTINGBORDER = 1291,
    TELESCOPE = 1292,
    TENTACLE = 1293,
    TENTACLEBOTTOM = 1294,
    TERRA = 1295,
    THINICE = 1296,
    TIAMAT = 1297,
    TIAMATSHOT = 1298,
    TIMEDFORCEFIELD = 1299,
    TIMEDPOWDERKEG = 1300,
    TIMEDSHOT = 1301,
    TORCH = 1302,
    TORCHFLAME = 1303,
    TOTEMTRAP = 1304,
    TRANSFERFLOOR = 1305,
    TRAPPART = 1306,
    TREASURE = 1307,
    TREASUREHOOK = 1308,
    TRUECROWNPOWERUP = 1310,
    TUN = 1311,
    TV = 1312,
    UDJATSOCKET = 1313,
    UFO = 1314,
    UNCHAINEDSPIKEBALL = 1315,
    USHABTI = 1316,
    VAMPIRE = 1317,
    VANHORSING = 1318,
    VLAD = 1319,
    VLADSCAPE = 1320,
    WADDLER = 1321,
    WALKINGMONSTER = 1322,
    WALLTORCH = 1323,
    WEBSHOT = 1324,
    WETEFFECT = 1325,
    WITCHDOCTOR = 1326,
    WITCHDOCTORSKULL = 1327,
    WOODENLOGTRAP = 1328,
    YAMA = 1329,
    YANG = 1330,
    YELLOWCAPE = 1331,
    YETIKING = 1332,
    YETIQUEEN = 1333,
}

---@alias FADE integer
FADE = {
    IN = 3,
    LOAD = 2,
    NONE = 0,
    OUT = 1,
}

---@alias FEAT integer
FEAT = {
    ARENA_CHAMPION = 22,
    AWAKENED = 12,
    A_SECOND_CHANCE = 30,
    CHOSEN_ONE = 31,
    DIVINE_RIGHT = 29,
    EXCAVATOR = 13,
    FEELS_GOOD = 3,
    HER_FAVORITE = 28,
    IRONMAN = 7,
    JOURNEYMAN = 6,
    LEGENDARY = 27,
    LOW_SCORER = 9,
    MAMAS_BIG_HELPER = 20,
    MAMAS_LITTLE_HELPER = 19,
    MASTER = 11,
    MILLIONAIRE = 16,
    PARENTHOOD = 32,
    PERSISTENT = 5,
    PILGRIM = 10,
    SEEN_A_LOT = 17,
    SEEN_IT_ALL = 18,
    SHADOW_SHOPPER = 26,
    SKILLS_IMPROVING = 4,
    SPEEDLUNKY = 8,
    SUPPORT_A_LOCAL_BUSINESS = 24,
    SURVIVOR = 15,
    THE_FULL_SPELUNKY = 1,
    TORCHBEARER = 14,
    TRACK_STAR = 21,
    TURKEY_WHISPERER = 23,
    VIP = 25,
    YOU_GOT_THIS = 2,
}

---@alias FLOOR_SIDE integer
FLOOR_SIDE = {
    BOTTOM = 1,
    BOTTOM_LEFT = 6,
    BOTTOM_RIGHT = 7,
    LEFT = 2,
    RIGHT = 3,
    TOP = 0,
    TOP_LEFT = 4,
    TOP_RIGHT = 5,
}

---The loading state of various FMOD Studio objects, such as banks and non-streaming sample data.
---@alias FMOD_LOADING_STATE integer
FMOD_LOADING_STATE = {
    ERROR = 4,
    LOADED = 3,
    LOADING = 2,
    UNLOADED = 1,
    UNLOADING = 0,
}

---Parameter to `load_bank()`, used to control bank loading.
---@alias FMOD_LOAD_BANK_FLAGS integer
FMOD_LOAD_BANK_FLAGS = {
    ---Force samples to decompress into memory when loaded, instead of staying compressed. Use NORMAL or NONBLOCKING instead.
    DECOMPRESS_SAMPLES = 2,
    ---Loading occurs asychronously rather than immediately. Minimal performace impact. Probably the flag you should use in most cases.
    NONBLOCKING = 1,
    ---Standard behavior. The function will not return until the bank has finished loading.
    NORMAL = 0,
    ---Ignore the encryption key specified by Studio::System::setAdvancedSettings when loading this bank. Use NORMAL or NONBLOCKING instead.
    UNENCRYPTED = 4,
}

---FMOD Studio flags describing the behavior of a parameter.
---@alias FMOD_PARAMETER_FLAGS integer
FMOD_PARAMETER_FLAGS = {
    AUTOMATIC = 2,
    GLOBAL = 4,
    READ_ONLY = 1,
}

---FMOD Studio event parameter types.
---@alias FMOD_PARAMETER_TYPE integer
FMOD_PARAMETER_TYPE = {
    AUTOMATIC_DIRECTION = 4,
    AUTOMATIC_DISTANCE = 1,
    AUTOMATIC_ELEVATION = 5,
    AUTOMATIC_EVENT_CONE_ANGLE = 2,
    AUTOMATIC_EVENT_ORIENTATION = 3,
    AUTOMATIC_LISTENER_ORIENTATION = 6,
    AUTOMATIC_SPEED = 7,
    GAME_CONTROLLED = 0,
}

---The playback state of various FMOD Studio objects, used for `CustomEventInstance:get_playback_state()`.
---@alias FMOD_PLAYBACK_STATE integer
FMOD_PLAYBACK_STATE = {
    PLAYING = 0,
    STARTING = 3,
    STOPPED = 2,
    STOPPING = 4,
    SUSTAINING = 1,
}

---Stop modes for an event instance.
---@alias FMOD_STOP_MODE integer
FMOD_STOP_MODE = {
    ---Allow the events AHDSR modulators to complete their release, and DSP effect tails to play out.
    ALLOW_FADE_OUT = 0,
    ---Stops the event instance immediately.
    IMMEDIATE = 1,
}

---@alias GAMEPAD integer
GAMEPAD = {
    A = 4096,
    B = 8192,
    BACK = 32,
    DOWN = 2,
    LEFT = 4,
    LEFT_SHOULDER = 256,
    LEFT_THUMB = 64,
    RIGHT = 8,
    RIGHT_SHOULDER = 512,
    RIGHT_THUMB = 128,
    START = 16,
    UP = 1,
    X = 16384,
    Y = 32768,
}

---@alias GAMEPAD_FLAG integer
GAMEPAD_FLAG = {
    A = 13,
    B = 14,
    BACK = 6,
    DOWN = 2,
    LEFT = 3,
    LEFT_SHOULDER = 9,
    LEFT_THUMB = 7,
    RIGHT = 4,
    RIGHT_SHOULDER = 10,
    RIGHT_THUMB = 8,
    START = 5,
    UP = 1,
    X = 15,
    Y = 16,
}

---@alias GAME_MODE integer
GAME_MODE = {
    ARENA = 2,
    COOP = 1,
}

---Paramater to get_setting (and set_setting in unsafe mode)
---@alias GAME_SETTING integer
GAME_SETTING = {
    ANGRY_SHOPKEEPER = 28,
    BRIGHTNESS = 10,
    BRIGHT_FLASHES = 41,
    BUTTON_PROMPTS = 30,
    BUTTON_TEXTURE = 31,
    CLASSIC_AGGRO_MUSIC = 29,
    CROSSPLAY = 42,
    CROSSPROGRESS_AUTOSYNC = 47,
    CROSSPROGRESS_ENABLED = 46,
    CURRENT_PROFILE = 18,
    DIALOG_TEXT = 37,
    FEAT_POPUPS = 32,
    FREQUENCY_DENOMINATOR = 5,
    FREQUENCY_NUMERATOR = 4,
    GHOST_TEXT = 39,
    HUD_SIZE = 24,
    HUD_STYLE = 23,
    INPUT_DELAY = 43,
    INSTANT_RESTART = 22,
    KALI_TEXT = 38,
    LANGUAGE = 40,
    LEVEL_FEELINGS = 36,
    LEVEL_NUMBER = 27,
    LEVEL_TIMER = 25,
    MASTER_ENABLED = 15,
    MASTER_VOLUME = 16,
    MONITOR = 8,
    MUSIC_ENABLED = 13,
    MUSIC_VOLUME = 14,
    OUTPUT_DELAY = 44,
    OVERSCAN = 17,
    PET_STYLE = 20,
    PREV_LANGUAGE = 19,
    PSEUDONYMIZATION = 45,
    RESOLUTIONX = 2,
    RESOLUTIONY = 3,
    RESOLUTION_SCALE = 1,
    SCREEN_SHAKE = 21,
    SOUND_ENABLED = 11,
    SOUND_VOLUME = 12,
    TEXTBOX_DURATION = 34,
    TEXTBOX_OPACITY = 35,
    TEXTBOX_SIZE = 33,
    TIMER_DETAIL = 26,
    VFX = 9,
    VSYNC = 7,
    WINDOW_MODE = 6,
    WINDOW_SCALE = 0,
}

---@alias GHOST_BEHAVIOR integer
GHOST_BEHAVIOR = {
    MEDIUM_HAPPY = 1,
    MEDIUM_SAD = 0,
    SAD = 0,
    SMALL_ANGRY = 0,
    SMALL_HAPPY = 3,
    SMALL_SAD = 2,
    SMALL_SURPRISED = 1,
}

---@alias HOTKEY_TYPE integer
HOTKEY_TYPE = {
    ---Enabled even when the game window is inactive and will capture keys even from other programs.
    GLOBAL = 1,
    ---Enabled even when inputting text and will override normal text input keys.
    INPUT = 2,
    ---Suppressed when the game window is inactive or inputting text in this tool instance (get_io().wantkeyboard == true). Can't detect if OL is in a text input and script is running in PL though. Use ImGuiIO if you need to do that.
    NORMAL = 0,
}

---@alias HUNDUNFLAGS integer
HUNDUNFLAGS = {
    BIRDHEADEMERGED = 2,
    BIRDHEADSHOTLAST = 16,
    SNAKEHEADEMERGED = 4,
    TOPLEVELARENAREACHED = 8,
    WILLMOVELEFT = 1,
}

---@alias INPUTS integer
INPUTS = {
    BOMB = 4,
    DOOR = 32,
    DOWN = 2048,
    JOURNAL = 128,
    JUMP = 1,
    LEFT = 256,
    MENU = 64,
    NONE = 0,
    RIGHT = 512,
    ROPE = 8,
    RUN = 16,
    UP = 1024,
    WHIP = 2,
}

---@alias INPUT_FLAG integer
INPUT_FLAG = {
    BOMB = 3,
    DOOR = 6,
    DOWN = 12,
    JOURNAL = 8,
    JUMP = 1,
    LEFT = 9,
    MENU = 7,
    RIGHT = 10,
    ROPE = 4,
    RUN = 5,
    UP = 11,
    WHIP = 2,
}

---@alias JOURNALUI_PAGE_SHOWN integer
JOURNALUI_PAGE_SHOWN = {
    BESTIARY = 5,
    DEATH = 11,
    FEATS = 9,
    ITEMS = 6,
    JOURNAL = 2,
    PEOPLE = 4,
    PLACES = 3,
    PLAYER_PROFILE = 1,
    RECAP = 10,
    STORY = 8,
    TRAPS = 7,
}

---@alias JOURNALUI_STATE integer
JOURNALUI_STATE = {
    FADING_IN = 1,
    FADING_OUT = 5,
    FLIPPING_LEFT = 3,
    FLIPPING_RIGHT = 4,
    INVISIBLE = 0,
    STABLE = 2,
}

---@alias JOURNAL_FLAG integer
JOURNAL_FLAG = {
    ANKH = 15,
    COSMOS = 20,
    CRIME_LORD = 6,
    DIED = 21,
    EGGPLANT = 10,
    FOOL = 9,
    HUNDUN = 19,
    KING = 7,
    KINGU = 16,
    LIKED_PETS = 12,
    LOVED_PETS = 13,
    NO_GOLD = 11,
    OSIRIS = 17,
    PACIFIST = 1,
    PETTY_CRIMINAL = 4,
    QUEEN = 8,
    TIAMAT = 18,
    TOOK_DAMAGE = 14,
    VEGAN = 2,
    VEGETARIAN = 3,
    WANTED_CRIMINAL = 5,
}

---@alias JOURNAL_PAGE_TYPE integer
JOURNAL_PAGE_TYPE = {
    BESTIARY = 4,
    DEATH_CAUSE = 9,
    DEATH_MENU = 10,
    FEATS = 8,
    ITEMS = 5,
    JOURNAL_MENU = 1,
    LAST_GAME_PLAYED = 13,
    PEOPLE = 3,
    PLACES = 2,
    PLAYER_PROFILE = 12,
    PROGRESS = 0,
    RECAP = 11,
    STORY = 7,
    TRAPS = 6,
}

---Jungle sister quest flags (angry = -1)
---@alias JUNGLESISTERS integer
JUNGLESISTERS = {
    GREAT_PARTY_HUH = 5,
    I_WISH_BROUGHT_A_JACKET = 6,
    PARMESAN_RESCUED = 3,
    PARSLEY_RESCUED = 1,
    PARSNIP_RESCUED = 2,
    WARNING_ONE_WAY_DOOR = 4,
}

---Keycodes to be used in various input functions. Most are standard, but the OL_ prefixed keys are specific to Overlunky::ignore_keycodes.
---@alias KEY integer
KEY = {
    ["0"] = 48,
    ["1"] = 49,
    ["2"] = 50,
    ["3"] = 51,
    ["4"] = 52,
    ["5"] = 53,
    ["6"] = 54,
    ["7"] = 55,
    ["8"] = 56,
    ["9"] = 57,
    A = 65,
    ADD = 107,
    ALT = 18,
    B = 66,
    BACKSPACE = 8,
    C = 67,
    CAPS = 20,
    CLEAR = 12,
    COMMA = 188,
    CTRL = 17,
    D = 68,
    DECIMAL = 110,
    DELETE = 46,
    DIVIDE = 111,
    DOWN = 40,
    E = 69,
    END = 35,
    ESCAPE = 27,
    EXECUTE = 43,
    F = 70,
    F1 = 112,
    F10 = 121,
    F11 = 122,
    F12 = 123,
    F13 = 124,
    F14 = 125,
    F15 = 126,
    F16 = 127,
    F17 = 128,
    F18 = 129,
    F19 = 130,
    F2 = 113,
    F20 = 131,
    F21 = 132,
    F22 = 133,
    F23 = 134,
    F24 = 135,
    F3 = 114,
    F4 = 115,
    F5 = 116,
    F6 = 117,
    F7 = 118,
    F8 = 119,
    F9 = 120,
    G = 71,
    H = 72,
    HOME = 36,
    I = 73,
    INSERT = 45,
    J = 74,
    K = 75,
    L = 76,
    LALT = 164,
    LCONTROL = 162,
    LEFT = 37,
    LSHIFT = 160,
    M = 77,
    MINUS = 189,
    MULTIPLY = 106,
    N = 78,
    NUMPAD0 = 96,
    NUMPAD1 = 97,
    NUMPAD2 = 98,
    NUMPAD3 = 99,
    NUMPAD4 = 100,
    NUMPAD5 = 101,
    NUMPAD6 = 102,
    NUMPAD7 = 103,
    NUMPAD8 = 104,
    NUMPAD9 = 105,
    O = 79,
    OEM_1 = 186,
    OEM_102 = 226,
    OEM_2 = 191,
    OEM_3 = 192,
    OEM_4 = 219,
    OEM_5 = 220,
    OEM_6 = 221,
    OEM_7 = 222,
    OEM_8 = 223,
    OL_MOD_ALT = 2048,
    OL_MOD_CTRL = 256,
    OL_MOD_SHIFT = 512,
    OL_MOUSE_1 = 1025,
    OL_MOUSE_2 = 1026,
    OL_MOUSE_3 = 1027,
    OL_MOUSE_4 = 1028,
    OL_MOUSE_5 = 1029,
    OL_MOUSE_WHEEL_DOWN = 1041,
    OL_MOUSE_WHEEL_UP = 1042,
    P = 80,
    PAUSE = 19,
    PERIOD = 190,
    PGDN = 34,
    PGUP = 33,
    PLUS = 187,
    PRINT = 42,
    Q = 81,
    R = 82,
    RALT = 165,
    RCONTROL = 163,
    RETURN = 13,
    RIGHT = 39,
    RSHIFT = 161,
    S = 83,
    SELECT = 41,
    SEPARATOR = 108,
    SHIFT = 16,
    SNAPSHOT = 44,
    SPACE = 32,
    SUBTRACT = 109,
    T = 84,
    TAB = 9,
    U = 85,
    UP = 38,
    V = 86,
    W = 87,
    X = 88,
    Y = 89,
    Z = 90,
}

---@alias KEY_TYPE integer
KEY_TYPE = {
    ANY = 0,
    KEYBOARD = 255,
    MOUSE = 1024,
}

---@alias LAYER integer
LAYER = {
    BACK = 1,
    BOTH = -128,
    FRONT = 0,
    PLAYER = -1,
    PLAYER1 = -1,
    PLAYER2 = -2,
    PLAYER3 = -3,
    PLAYER4 = -4,
}

---Use with `get_level_config`
---@alias LEVEL_CONFIG integer
LEVEL_CONFIG = {
    ALTAR_ROOM_CHANCE = 5,
    BACKGROUND_CHANCE = 9,
    BACK_ROOM_CHANCE = 0,
    BACK_ROOM_HIDDEN_DOOR_CACHE_CHANCE = 3,
    BACK_ROOM_HIDDEN_DOOR_CHANCE = 2,
    BACK_ROOM_INTERCONNECTION_CHANCE = 1,
    FLAGGED_LIQUID_ROOMS = 16,
    FLOOR_BOTTOM_SPREAD_CHANCE = 8,
    FLOOR_SIDE_SPREAD_CHANCE = 7,
    GROUND_BACKGROUND_CHANCE = 10,
    IDOL_ROOM_CHANCE = 6,
    MACHINE_BIGROOM_CHANCE = 11,
    MACHINE_REWARDROOM_CHANCE = 14,
    MACHINE_TALLROOM_CHANCE = 13,
    MACHINE_WIDEROOM_CHANCE = 12,
    MAX_LIQUID_PARTICLES = 15,
    MOUNT_CHANCE = 4,
}

---@alias LIGHT_TYPE integer
LIGHT_TYPE = {
    ---Position is updated to the camera position, can be moved around via offset
    FOLLOW_CAMERA = 1,
    ---Position is updated to the entity position (from the uid field), if the uid is not found it will behave as LIGHT_TYPE.NONE, can be moved around via offset
    FOLLOW_ENTITY = 2,
    ---Normal static light, position can be edited to move it around
    NONE = 0,
    ---Rectangle, full brightness always uses light1, disabling light1 does nothing
    ROOM_LIGHT = 4,
}

---@alias LIQUID_POOL integer
LIQUID_POOL = {
    COARSE_LAVA = 4,
    COARSE_WATER = 2,
    LAVA = 3,
    STAGNANT_LAVA = 5,
    WATER = 1,
}

---@alias LOGIC integer
LOGIC = {
    APEP = 15,
    ARENA_1 = 23,
    ARENA_2 = 24,
    ARENA_3 = 25,
    ARENA_ALIEN_BLAST = 26,
    ARENA_LOOSE_BOMBS = 27,
    BLACK_MARKET = 21,
    BUBBLER = 18,
    COG_SACRIFICE = 16,
    DICESHOP = 6,
    DISCOVERY_INFO = 20,
    DUAT_BOSSES = 17,
    GHOST = 3,
    GHOST_TOAST = 4,
    JELLYFISH = 22,
    MAGMAMAN_SPAWN = 11,
    MOON_CHALLENGE = 8,
    OLMEC_CUTSCENE = 13,
    OUROBOROS = 1,
    PLEASURE_PALACE = 19,
    PRE_CHALLENGE = 7,
    SPEEDRUN = 2,
    STAR_CHALLENGE = 9,
    SUN_CHALLENGE = 10,
    TIAMAT_CUTSCENE = 14,
    TUN_AGGRO = 5,
    TUTORIAL = 0,
    WATER_BUBBLES = 12,
}

---@alias MASK integer
MASK = {
    ---All ACTIVEFLOOR_* entities
    ---Various types, all `Movable`
    ACTIVEFLOOR = 128,
    ---Value of 0, treated by all the functions as ANY mask
    ANY = 0,
    ---All MIDBG* entities and most of the BG_* entities
    ---does not include: a lot .. check `1024` in [search_flags](https://github.com/spelunky-fyi/overlunky/blob/main/docs/game_data/search_flags.json) for full list of included entities
    ---Also includes: DECORATION_PALACE_PORTRAIT
    ---Various types, all `Entity`
    BG = 1024,
    ---All DECORATION_* entities except: DECORATION_CHAINANDBLOCKS_CHAINDECORATION, DECORATION_SLIDINGWALL_CHAINDECORATION, DECORATION_PALACE_PORTRAIT
    ---Also includes: EMBED_GOLD, ENT_TYPE_EMBED_GOLD_BIG
    ---Various types, all `Entity`
    DECORATION = 512,
    ---Only: FX_EXPLOSION, FX_POWEREDEXPLOSION, FX_MODERNEXPLOSION
    ---All `Explosion` type
    EXPLOSION = 16,
    ---All FLOOR_* and FLOORSTYLED_* entities
    ---Various types, all `Floor`
    FLOOR = 256,
    ---All FX_* entities except: FX_COMPASS, FX_SPECIALCOMPASS, FX_EXPLOSION, FX_POWEREDEXPLOSION, FX_MODERNEXPLOSION, FX_JETPACKFLAME, FX_OLMECPART_FLOATER, FX_SMALLFLAME, FX_TELEPORTSHADOW, FX_LEADER_FLAG, FX_PLAYERINDICATOR, FX_PLAYERINDICATORPORTRAIT
    ---Also includes: DECORATION_CHAINANDBLOCKS_CHAINDECORATION, DECORATION_SLIDINGWALL_CHAINDECORATION, ITEM_RUBBLE, ITEM_FLAMETHROWER_FIREBALL, ITEM_CURSING_CLOUD
    ---Various types, all `Movable`
    FX = 64,
    ---All ITEM_* entities except: ITEM_POWERUP_*, ITEM_ROPE, ITEM_CLIMBABLE_ROPE, ITEM_UNROLLED_ROPE, ITEM_RUBBLE, ITEM_FLAMETHROWER_FIREBALL, ITEM_CURSING_CLOUD
    ---Also includes: FX_JETPACKFLAME, FX_OLMECPART_FLOATER, FX_SMALLFLAME, FX_TELEPORTSHADOW
    ---Various types, all `Movable`
    ITEM = 8,
    ---Only: LIQUID_LAVA, LIQUID_STAGNANT_LAVA, LIQUID_IMPOSTOR_LAVA, LIQUID_COARSE_LAVA
    ---Various types, all `Entity`
    LAVA = 16384,
    ---Short for (MASK.WATER | MASK.LAVA)
    LIQUID = 24576,
    ---All LOGICAL_* entities
    ---Also includes: ITEM_POWERUP_*, FX_COMPASS, FX_SPECIALCOMPASS, FX_LEADER_FLAG, FX_PLAYERINDICATOR, FX_PLAYERINDICATORPORTRAIT
    ---Various types, all `Entity`
    LOGICAL = 4096,
    ---All MONS_* entities, various types, all `Movable`
    MONSTER = 4,
    ---All MOUNT_* entities, only `Mount` type
    MOUNT = 2,
    ---All CHAR_* entities, only `Player` type
    PLAYER = 1,
    ---Only: ITEM_ROPE, ITEM_CLIMBABLE_ROPE, ITEM_UNROLLED_ROPE
    ---Various types, all `Movable`
    ROPE = 32,
    ---All the BG_* entities excluded from `BG` (MASK.BG | MASK.SHADOW) will get you all BG_* entities plus one extra decoration mentioned above
    ---Various types, all `Entity`
    SHADOW = 2048,
    ---Only: LIQUID_WATER, LIQUID_COARSE_WATER, LIQUID_IMPOSTOR_LAKE
    ---Various types, all `Entity`
    WATER = 8192,
}

---@alias MENU_INPUT integer
MENU_INPUT = {
    BACK = 2,
    DELETE = 4,
    DOWN = 256,
    JOURNAL = 16,
    LEFT = 32,
    NONE = 0,
    RANDOM = 8,
    RIGHT = 64,
    SELECT = 1,
    UP = 128,
}

---@alias ON integer
ON = {
    ---Runs when entering the arena VS intro screen.
    ARENA_INTRO = 25,
    ---Runs when entering the arena item config screen.
    ARENA_ITEMS = 23,
    ---Runs when entering the arena level screen, after all entities have spawned, on the first level frame, before the get ready go scene.
    ARENA_MATCH = 26,
    ---Runs when entering the main arena rules menu screen.
    ARENA_MENU = 21,
    ---Runs when entering the arena scores screen.
    ARENA_SCORE = 27,
    ARENA_SELECT = 24,
    ---Runs when entering the arena stage selection screen.
    ARENA_STAGES = 22,
    ---Runs instead of POST_GAME_LOOP when anything blocks a PRE_GAME_LOOP. Even runs in Playlunky when Overlunky blocks a PRE_GAME_LOOP.
    BLOCKED_GAME_LOOP = 162,
    ---Runs instead of POST_PROCESS_INPUT when anything blocks a PRE_PROCESS_INPUT. Even runs in Playlunky when Overlunky blocks a PRE_PROCESS_INPUT.
    BLOCKED_PROCESS_INPUT = 163,
    ---Runs instead of POST_UPDATE when anything blocks a PRE_UPDATE. Even runs in Playlunky when Overlunky blocks a PRE_UPDATE.
    BLOCKED_UPDATE = 161,
    ---Runs when entering the camp, after all entities have spawned, on the first level frame.
    CAMP = 11,
    ---Runs when entering the character select screen.
    CHARACTER_SELECT = 9,
    ---Runs when entering the turning into constellation cutscene after cosmic ocean.
    CONSTELLATION = 19,
    ---Runs when entering the credits screen.
    CREDITS = 17,
    ---Runs when entering the death screen.
    DEATH = 14,
    ---Params: STRINGID id
    ---Runs once after death when the death message journal page is shown. The parameter is the STRINGID of the title, like 1221 for BLOWN UP.
    DEATH_MESSAGE = 137,
    ---Runs while playing the game while the player is controllable, not in the base camp or the arena mode
    FRAME = 101,
    ---Runs whenever the game engine is actively running. This includes base camp, arena, level transition and death screen
    GAMEFRAME = 108,
    ---Params: GuiDrawContext draw_ctx
    ---Runs every frame the game is rendered, thus runs at selected framerate. Drawing functions are only available during this callback through a GuiDrawContext
    GUIFRAME = 100,
    ---Runs when entering the intro cutscene.
    INTRO = 1,
    ---Runs when entering the leaderboard screen.
    LEADERBOARD = 7,
    ---Runs when entering any level, after all entities have spawned, on the first level frame.
    LEVEL = 12,
    ---Params: LoadContext load_ctx
    ---Runs as soon as your script is loaded, including reloads, then never again
    LOAD = 107,
    ---Runs whenever state.loading changes and is > 0. Prefer PRE/POST_LOAD_SCREEN instead though.
    LOADING = 104,
    ---Runs when entering the the mossmouth logo screen.
    LOGO = 0,
    ---Runs when entering the main menu.
    MENU = 4,
    ---Runs when entering the online loading screen.
    ONLINE_LOADING = 28,
    ---Runs when entering the online lobby screen.
    ONLINE_LOBBY = 29,
    ---Runs when entering the options menu.
    OPTIONS = 5,
    ---Runs when entering the player profile screen.
    PLAYER_PROFILE = 6,
    ---Runs right after the main engine loop.
    POST_GAME_LOOP = 156,
    ---Params: LAYER layer
    ---Runs right after a layer has been created and you can start spawning entities in it. Runs in all screens that usually have entities, or when creating a layer manually.
    POST_LAYER_CREATION = 148,
    ---Params: LAYER layer
    ---Runs right after a layer has been unloaded and any entities there destroyed. Runs in pretty much all screens, even ones without entities. The screen has already changed at this point, meaning the screen being destroyed is in state.screen_last.
    POST_LAYER_DESTRUCTION = 152,
    ---Runs right after the back layer has been created and you can start spawning entities in it. Runs in all screens that usually have entities, or when creating a layer manually.
    POST_LEVEL_CREATION = 146,
    ---Runs right after the current level has been unloaded and all entities destroyed. Runs in pretty much all screens, even ones without entities. The screen has already changed at this point, meaning the screen being destroyed is in state.screen_last.
    POST_LEVEL_DESTRUCTION = 150,
    ---Runs right after level generation is done, i.e. after all level gen entities are spawned, before any entities are updated. You can spawn your own entities here, like extra enemies, give items to players etc.
    POST_LEVEL_GENERATION = 112,
    ---Params: JOURNALUI_PAGE_SHOWN chapter, array:int pages
    ---Runs after the pages for the journal are prepared, but not yet displayed, `pages` is a list of page numbers that the game loaded, if you want to change it, do the changes (remove pages, add new ones, change order) and return it
    ---All new pages will be created as [JournalPageStory](https://spelunky-fyi.github.io/overlunky/#JournalPageStory), any custom with page number above 9 will be empty, I recommend using above 99 to be sure not to get the game page, you can later use this to recognise and render your own stuff on that page in the RENDER_POST_JOURNAL_PAGE
    ---Return: return new page array to modify the journal, returning empty array or not returning anything will load the journal normally, any page number that was already loaded will result in the standard game page
    ---When changing the order of game pages make sure that the page that normally is rendered on the left side is on the left in the new order, otherwise you get some messed up result, custom pages don't have this problem. The order is: left, right, left, right ...
    POST_LOAD_JOURNAL_CHAPTER = 139,
    ---Runs right after a screen is loaded, before rendering anything
    POST_LOAD_SCREEN = 136,
    ---Runs right after the main StateMemory is manually loaded from a slot or a custom SaveState. Slot is 1..4 or -1 on custom SaveState.
    ---Params: int slot, StateMemory loaded
    POST_LOAD_STATE = 160,
    ---Runs right after the game gets input from various devices and writes to a bunch of buttons-variables. Probably the first chance you have to capture or edit buttons_gameplay or buttons_menu sort of things.
    POST_PROCESS_INPUT = 154,
    ---Params: PostRoomGenerationContext room_gen_ctx
    ---Runs right after all rooms are generated before entities are spawned
    POST_ROOM_GENERATION = 111,
    ---Runs right after the main StateMemory is manually saved to a slot or a custom SaveState. Slot is 1..4 or -1 on custom SaveState.
    ---Params: int slot, StateMemory saved
    POST_SAVE_STATE = 158,
    ---Runs right after the State is updated, runs always (menu, settings, camp, game, arena, online etc.) with the game engine, typically 60FPS
    POST_UPDATE = 143,
    ---Runs right before the main engine loop. Return true to block state updates and menu updates, i.e. to pause inside menus.
    PRE_GAME_LOOP = 155,
    ---Runs before getting performed status for a FEAT when rendering the Feats page in journal.
    ---Return: true to override the vanilla feat with your own. Defaults to Steam GetAchievement.
    PRE_GET_FEAT = 140,
    ---Params: int x, int y, LAYER layer, ROOM_TEMPLATE room_template
    ---Return: `string room_data`
    ---Called when the game wants to get a random room for a given template. Return a string that represents a room template to make the game use that.
    ---If the size of the string returned does not match with the room templates expected size the room is discarded.
    ---White spaces at the beginning and end of the string are stripped, not at the beginning and end of each line.
    PRE_GET_RANDOM_ROOM = 113,
    ---Params: int x, int y, ROOM_TEMPLATE room_template, PreHandleRoomTilesContext room_ctx
    ---Return: `bool last_callback` to determine whether callbacks of the same type should be executed after this
    ---Runs after a random room was selected and right before it would spawn entities for each tile code
    ---Allows you to modify the rooms content in the front and back layer as well as add a back layer if not yet existant
    PRE_HANDLE_ROOM_TILES = 114,
    ---Params: LAYER layer
    ---Runs right before a layer is created. Runs in all screens that usually have entities, or when creating a layer manually.
    PRE_LAYER_CREATION = 147,
    ---Params: LAYER layer
    ---Runs right before a layer is unloaded and any entities there destroyed. Runs in pretty much all screens, even ones without entities. The screen has already changed at this point, meaning the screen being destroyed is in state.screen_last.
    PRE_LAYER_DESTRUCTION = 151,
    ---Runs right before the front layer is created. Runs in all screens that usually have entities, or when creating a layer manually.
    PRE_LEVEL_CREATION = 145,
    ---Runs right before the current level is unloaded and any entities destroyed. Runs in pretty much all screens, even ones without entities. The screen has already changed at this point, meaning the screen being destroyed is in state.screen_last.
    PRE_LEVEL_DESTRUCTION = 149,
    ---Runs before any level generation, no entities exist at this point. Runs in most screens that have entities. Return true to block normal level generation, i.e. stop any entities from being spawned by ThemeInfo functions. Does not block other ThemeInfo functions, like spawn_effects though. POST_LEVEL_GENERATION will still run if this callback is blocked.
    PRE_LEVEL_GENERATION = 110,
    ---Params: JOURNALUI_PAGE_SHOWN chapter
    ---Runs before the journal or any of it's chapter is opened
    ---Return: return true to not load the chapter (or journal as a whole)
    PRE_LOAD_JOURNAL_CHAPTER = 138,
    ---Params: PreLoadLevelFilesContext load_level_ctx
    ---Runs right before level files would be loaded
    PRE_LOAD_LEVEL_FILES = 109,
    ---Runs right before loading a new screen based on screen_next. Return true from callback to block the screen from loading.
    PRE_LOAD_SCREEN = 135,
    ---Runs right before the main StateMemory is manually loaded from a slot or a custom SaveState. Slot is 1..4 or -1 on custom SaveState. Return true to block load.
    ---Params: int slot, StateMemory loaded
    PRE_LOAD_STATE = 159,
    ---Runs right before the game gets input from various devices and writes to a bunch of buttons-variables. Return true to disable all game input completely.
    PRE_PROCESS_INPUT = 153,
    ---Runs right before the main StateMemory is manually saved to a slot or a custom SaveState. Slot is 1..4 or -1 on custom SaveState. Return true to block save.
    ---Params: int slot, StateMemory saved
    PRE_SAVE_STATE = 157,
    ---Runs before the game sets a vanilla feat performed.
    ---Return: true to block the default behaviour of calling Steam SetAchievement.
    PRE_SET_FEAT = 141,
    ---Runs before the State is updated, runs always (menu, settings, camp, game, arena, online etc.) with the game engine, typically 60FPS
    ---Return behavior: return true to stop further PRE_UPDATE callbacks from executing and don't update the state (this will essentially freeze the game engine)
    PRE_UPDATE = 142,
    ---Runs when entering the prologue / poem.
    PROLOGUE = 2,
    ---Runs when entering the Dear Journal screen after final scores.
    RECAP = 20,
    ---Params: VanillaRenderContext render_ctx, float blur
    ---Runs after the blurred background is drawn on screen, behind pause menu or journal book. In this event, you can draw textures with the `draw_screen_texture` function of the render_ctx. (blur amount is probably the same as journal opacity)
    RENDER_POST_BLURRED_BACKGROUND = 122,
    ---Params: VanillaRenderContext render_ctx, int draw_depth
    ---Runs right after the entities of the specified draw_depth are drawn on screen. In this event, you can draw textures with the `draw_world_texture` function of the render_ctx
    RENDER_POST_DRAW_DEPTH = 124,
    ---Params: VanillaRenderContext render_ctx
    ---Runs after the level and HUD are rendered, before pause menus and blur effects
    RENDER_POST_GAME = 132,
    ---Params: VanillaRenderContext render_ctx, Hud hud
    ---Runs after the HUD is drawn on screen. In this event, you can draw textures with the `draw_screen_texture` function of the render_ctx
    RENDER_POST_HUD = 118,
    ---Params: VanillaRenderContext render_ctx, JOURNAL_PAGE_TYPE page_type, JournalPage page
    ---Runs after the journal page is drawn on screen. In this event, you can draw textures with the draw_screen_texture function of the VanillaRenderContext
    ---The JournalPage parameter gives you access to the specific fields of the page. Be sure to cast it to the correct type, the following functions are available to do that:
    ---`page:as_journal_page_progress()`
    ---`page:as_journal_page_journalmenu()`
    ---`page:as_journal_page_places()`
    ---`page:as_journal_page_people()`
    ---`page:as_journal_page_bestiary()`
    ---`page:as_journal_page_items()`
    ---`page:as_journal_page_traps()`
    ---`page:as_journal_page_feats()`
    ---`page:as_journal_page_deathcause()`
    ---`page:as_journal_page_deathmenu()`
    ---`page:as_journal_page_playerprofile()`
    ---`page:as_journal_page_lastgameplayed()`
    RENDER_POST_JOURNAL_PAGE = 126,
    ---Params: VanillaRenderContext render_ctx, int rendered_layer
    ---Runs after a layer is rendered, runs for both layers during layer door transitions. Things drawn here will be part of the layer transition animation
    RENDER_POST_LAYER = 128,
    ---Params: VanillaRenderContext render_ctx, int camera_layer
    ---Runs after the level is rendered, before hud
    RENDER_POST_LEVEL = 130,
    ---Params: VanillaRenderContext render_ctx
    ---Runs after the pause menu is drawn on screen. In this event, you can draw textures with the `draw_screen_texture` function of the render_ctx
    RENDER_POST_PAUSE_MENU = 120,
    ---Params: VanillaRenderContext render_ctx, float blur
    ---Runs before the blurred background is drawn on screen, behind pause menu or journal book. In this event, you can't really draw textures, because the blurred background is drawn on top of them. Return `true` to skip rendering.
    RENDER_PRE_BLURRED_BACKGROUND = 121,
    ---Params: VanillaRenderContext render_ctx, int draw_depth
    ---Runs before the entities of the specified draw_depth are drawn on screen. In this event, you can draw textures with the `draw_world_texture` function of the render_ctx. Return `true` to skip rendering.
    RENDER_PRE_DRAW_DEPTH = 123,
    ---Params: VanillaRenderContext render_ctx
    ---Runs before the in-game part of the game is rendered. Return `true` to skip rendering.
    RENDER_PRE_GAME = 131,
    ---Params: VanillaRenderContext render_ctx, Hud hud
    ---Runs before the HUD is drawn on screen. In this event, you can draw textures with the `draw_screen_texture` function of the render_ctx or edit the Hud values. Return `true` to skip rendering.
    RENDER_PRE_HUD = 117,
    ---Params: VanillaRenderContext render_ctx, JOURNAL_PAGE_TYPE page_type, JournalPage page
    ---Runs before the journal page is drawn on screen. Return `true` to skip rendering.
    RENDER_PRE_JOURNAL_PAGE = 125,
    ---Params: VanillaRenderContext render_ctx, int rendered_layer
    ---Runs before a layer is rendered, runs for both layers during layer door transitions. Return `true` to skip rendering.
    RENDER_PRE_LAYER = 127,
    ---Params: VanillaRenderContext render_ctx, int camera_layer
    ---Runs before the level is rendered. Return `true` to skip rendering.
    RENDER_PRE_LEVEL = 129,
    ---Params: VanillaRenderContext render_ctx
    ---Runs before the pause menu is drawn on screen. In this event, you can't really draw textures, because the blurred background is drawn on top of them. Return `true` to skip rendering.
    RENDER_PRE_PAUSE_MENU = 119,
    ---Runs when resetting a run
    RESET = 105,
    ---Params: SaveContext save_ctx
    ---Runs at the same times as ON.SCREEN, but receives the save_ctx
    SAVE = 106,
    ---Runs when entering the final score celebration screen of a normal or hard ending.
    SCORES = 18,
    ---Runs whenever state.screen changes
    SCREEN = 102,
    ---Runs when the script is disabled from the UI and also right before unloading/reloading.
    SCRIPT_DISABLE = 116,
    ---Runs when the script is enabled from the UI or when imported by another script while disabled, but not on load.
    SCRIPT_ENABLE = 115,
    ---Runs when entering the seed input screen of a seeded run.
    SEED_INPUT = 8,
    ---Runs when entering the olmecship cutscene after Tiamat.
    SPACESHIP = 15,
    ---Params: Entity speaking_entity, string text
    ---Runs before any speech bubble is created, even the one using [say](https://spelunky-fyi.github.io/overlunky/#say) function
    ---Return: if you don't return anything it will execute the speech bubble function normally with default message
    ---if you return empty string, it will not create the speech bubble at all, if you return string, it will use that instead of the original
    ---The first script to return string (empty or not) will take priority, the rest will receive callback call but the return behavior won't matter
    SPEECH_BUBBLE = 133,
    ---Runs on the first ON.SCREEN of a run
    START = 103,
    ---Runs when entering the team select screen of arena mode.
    TEAM_SELECT = 10,
    ---Runs when entering the title screen.
    TITLE = 3,
    ---Params: string text
    ---Runs before any toast is created, even the one using [toast](https://spelunky-fyi.github.io/overlunky/#toast) function
    ---Return: if you don't return anything it will execute the toast function normally with default message
    ---if you return empty string, it will not create the toast at all, if you return string, it will use that instead of the original message
    ---The first script to return string (empty or not) will take priority, the rest will receive callback call but the return behavior won't matter
    TOAST = 134,
    ---Runs when entering the transition screen, after all entities have spawned.
    TRANSITION = 13,
    ---Params: Entity ent
    ---Runs on all changes to Entity.user_data, including after loading saved user_data in the next level and transition. Also runs the first time user_data is set back to nil, but nil won't be saved to bother you on future levels.
    USER_DATA = 144,
    ---Runs when entering any winning cutscene, including the constellation.
    WIN = 16,
}

---@alias PARTICLEEMITTER integer
PARTICLEEMITTER = {
    ACIDBUBBLEBURST_BUBBLES = 101,
    ACIDBUBBLEBURST_SPARKS = 102,
    ALIENBLAST_SHOCKWAVE = 179,
    ALTAR_MONSTER_APPEAR_POOF = 162,
    ALTAR_SKULL = 95,
    ALTAR_SMOKE = 96,
    ALTAR_SPARKS = 97,
    APEP_DUSTWALL = 158,
    ARROWPOOF = 67,
    AU_GOLD_SPARKLES = 74,
    AXOLOTL_BIGBUBBLEKILL = 186,
    AXOLOTL_SMALLBUBBLEKILL = 185,
    BLAST_PLASMAWARP_TRAIL = 137,
    BLOODTRAIL = 64,
    BLUESPARKS = 106,
    BOMB_SMOKE = 24,
    BOOMERANG_TRAIL = 172,
    BROKENORB_BLAST_LARGE = 204,
    BROKENORB_BLAST_MEDIUM = 203,
    BROKENORB_BLAST_SMALL = 202,
    BROKENORB_ORBS_LARGE = 210,
    BROKENORB_ORBS_MEDIUM = 209,
    BROKENORB_ORBS_SMALL = 208,
    BROKENORB_SHOCKWAVE_LARGE = 216,
    BROKENORB_SHOCKWAVE_MEDIUM = 215,
    BROKENORB_SHOCKWAVE_SMALL = 214,
    BROKENORB_SPARKS_LARGE = 213,
    BROKENORB_SPARKS_MEDIUM = 212,
    BROKENORB_SPARKS_SMALL = 211,
    BROKENORB_WARP_LARGE = 207,
    BROKENORB_WARP_MEDIUM = 206,
    BROKENORB_WARP_SMALL = 205,
    BULLETPOOF = 66,
    CAMERA_FRAME = 105,
    CAVEMAN_SPITTLE = 190,
    CHARSELECTOR_MIST = 197,
    CHARSELECTOR_TORCHFLAME_FLAMES = 8,
    CHARSELECTOR_TORCHFLAME_SMOKE = 7,
    CLOVER_WITHER_HUD = 78,
    COFFINDOORPOOF_SPARKS = 141,
    COG_SPARKLE = 80,
    COG_TUNNEL_FOG = 81,
    COLLECTPOOF_CLOUDS = 99,
    COLLECTPOOF_SPARKS = 98,
    CONTACTEFFECT_SPARKS = 131,
    COOKFIRE_FLAMES = 34,
    COOKFIRE_SMOKE = 33,
    COOKFIRE_WARP = 35,
    CRUSHTRAPPOOF = 58,
    CURSEDEFFECT_PIECES = 116,
    CURSEDEFFECT_PIECES_HUD = 117,
    CURSEDEFFECT_SKULL = 118,
    CURSEDPOT_BEHINDSMOKE = 47,
    CURSEDPOT_SMOKE = 46,
    DMCOUNTDOWN_BLAST = 21,
    DMCOUNTDOWN_DUST = 17,
    DMCOUNTDOWN_FLAMES = 20,
    DMCOUNTDOWN_FOG = 23,
    DMCOUNTDOWN_HIGH_TENSION_THUNDERBOLT = 22,
    DMCOUNTDOWN_RUBBLES = 15,
    DMCOUNTDOWN_RUBBLES_LARGE = 16,
    DMCOUNTDOWN_SPARKS = 18,
    DMCOUNTDOWN_SPARKS_SMALL = 19,
    DMPREMATCH_ASH_2P = 151,
    DMPREMATCH_ASH_3P = 152,
    DMPREMATCH_ASH_4P = 153,
    DMPREMATCH_SEPARATOR_GLOW_TRAIL = 201,
    DMRESULTS_ASH = 150,
    DMRESULT_BLOOD = 13,
    DMRESULT_MEATPIECES = 14,
    DM_DEATH_MIST = 178,
    DUSTWALL = 157,
    EGGSHIP_SMOKE = 43,
    ELIXIREFFECT_WORNOUT = 119,
    ENDINGTREASURE_DUST = 45,
    ENDING_TREASURE_HUNDUN_SPARKLE = 73,
    ENDING_TREASURE_TIAMAT_SPARKLE = 72,
    EVAPORATION_WATER = 144,
    EXPLOSION_SHOCKWAVE = 27,
    EXPLOSION_SMOKE = 25,
    EXPLOSION_SPARKS = 26,
    EXPLOSION_WHITESMOKE = 28,
    FIREBALL_DESTROYED = 42,
    FIREBALL_TRAIL = 41,
    FLAMETHROWER_SMOKE = 40,
    FLAMETRAIL_FLAMES = 82,
    FLAMETRAIL_SMOKE = 83,
    FLOORDUST = 48,
    FLOORFALLINGDUST_RUBBLE = 50,
    FLOORFALLINGDUST_SMOKE = 49,
    FLOORPOOF = 52,
    FLOORPOOF_BIG = 54,
    FLOORPOOF_SMALL = 53,
    FLOORPOOF_TRAIL = 59,
    FLOORPOOF_TRAIL_BIG = 60,
    FLYPOOF = 56,
    FROST_BREATH = 198,
    GASTRAIL = 142,
    GASTRAIL_BIG = 143,
    GHOST_FOG = 92,
    GHOST_MIST = 90,
    GHOST_WARP = 91,
    GREENBLOODTRAIL = 65,
    GRUB_TRAIL = 174,
    HIGH_TENSION_THUNDERBOLT = 191,
    HITEFFECT_HALO = 126,
    HITEFFECT_RING = 124,
    HITEFFECT_SMACK = 125,
    HITEFFECT_SPARKS = 120,
    HITEFFECT_SPARKS_BIG = 121,
    HITEFFECT_STARS_BIG = 123,
    HITEFFECT_STARS_SMALL = 122,
    HORIZONTALLASERBEAM_SPARKLES = 164,
    HORIZONTALLASERBEAM_SPARKLES_END = 166,
    HORIZONTALLASERBEAM_SPARKS = 168,
    ICECAGE_MIST = 156,
    ICECAVES_DIAMONDDUST = 154,
    ICEFLOOR_MIST = 155,
    ICESPIRETRAIL_SPARKLES = 108,
    INKSPIT_BUBBLEBURST = 104,
    INKSPIT_TRAIL = 103,
    ITEMDUST = 62,
    ITEM_CRUSHED_SPARKS = 79,
    JETPACK_LITTLEFLAME = 85,
    JETPACK_SMOKETRAIL = 84,
    KINGUDUST = 170,
    KINGUSLIDINGDUST = 171,
    LAMASSU_AIMING_SPARKLES = 195,
    LAMASSU_SHOT_SPARKLES = 194,
    LAMASSU_SHOT_WARP = 193,
    LARGEITEMDUST = 63,
    LASERBEAM_CONTACT = 169,
    LASERBEAM_SPARKLES = 163,
    LASERBEAM_SPARKLES_END = 165,
    LASERBEAM_SPARKS = 167,
    LAVAHEAT = 146,
    LAVAPOT_DRIP = 187,
    LEVEL_MIST = 192,
    LIONTRAP_SPARKLE = 77,
    MAGMAMANHEAT = 147,
    MAINMENU_CEILINGDUST_RUBBLE = 10,
    MAINMENU_CEILINGDUST_RUBBLE_SMALL = 12,
    MAINMENU_CEILINGDUST_SMOKE = 9,
    MAINMENU_CEILINGDUST_SMOKE_SMALL = 11,
    MERCHANT_APPEAR_POOF = 161,
    MINIGAME_ASTEROID_DUST = 217,
    MINIGAME_ASTEROID_DUST_SMALL = 218,
    MINIGAME_BROKENASTEROID_SMOKE = 219,
    MINIGAME_UFO_SMOKE = 219,
    MOLEFLOORPOOF = 61,
    MOUNT_TAMED = 159,
    MUSIC_NOTES = 199,
    NECROMANCER_SUMMON = 184,
    NOHITEFFECT_RING = 129,
    NOHITEFFECT_SMACK = 130,
    NOHITEFFECT_SPARKS = 127,
    NOHITEFFECT_STARS = 128,
    OLMECFLOORPOOF = 57,
    OLMECSHIP_HOLE_DUST = 44,
    ONFIREEFFECT_FLAME = 111,
    ONFIREEFFECT_SMOKE = 110,
    OUROBORO_EMBERS = 89,
    OUROBORO_FALLING_RUBBLE = 51,
    OUROBORO_MIST = 88,
    PETTING_PET = 160,
    PINKSPARKS = 107,
    PLAYERGHOST_FREEZESPARKLES = 93,
    POISONEDEFFECT_BUBBLES_BASE = 112,
    POISONEDEFFECT_BUBBLES_BURST = 113,
    POISONEDEFFECT_BUBBLES_HUD = 114,
    POISONEDEFFECT_SKULL = 115,
    PORTAL_DUST_FAST = 176,
    PORTAL_DUST_SLOW = 175,
    PORTAL_WARP = 177,
    PRIZEAPPEARING_CLOUDS = 100,
    SANDFLOORPOOF = 55,
    SCEPTERKILL_SPARKLES = 134,
    SCEPTERKILL_SPARKS = 135,
    SCEPTER_BLAST = 136,
    SHOTGUNBLAST_SMOKE = 86,
    SHOTGUNBLAST_SPARKS = 87,
    SMALLFLAME_FLAMES = 37,
    SMALLFLAME_SMOKE = 36,
    SMALLFLAME_WARP = 38,
    SPARKTRAP_TRAIL = 200,
    SPLASH_WATER = 145,
    TELEPORTEFFECT_GREENSPARKLES = 139,
    TELEPORTEFFECT_REDSPARKLES = 140,
    TELEPORTEFFECT_SPARKS = 138,
    TIAMAT_SCREAM_WARP = 196,
    TITLE_TORCHFLAME_ASH = 6,
    TITLE_TORCHFLAME_BACKFLAMES = 2,
    TITLE_TORCHFLAME_BACKFLAMES_ANIMATED = 4,
    TITLE_TORCHFLAME_FLAMES = 3,
    TITLE_TORCHFLAME_FLAMES_ANIMATED = 5,
    TITLE_TORCHFLAME_SMOKE = 1,
    TOMB_FOG = 94,
    TORCHFLAME_FLAMES = 31,
    TORCHFLAME_IGNITION_SPARK = 29,
    TORCHFLAME_SMOKE = 30,
    TORCHFLAME_WARP = 32,
    TREASURE_SPARKLE_HIGH = 70,
    TREASURE_SPARKLE_HUD = 71,
    TREASURE_SPARKLE_LOW = 68,
    TREASURE_SPARKLE_MEDIUM = 69,
    UFOLASERSHOTHITEFFECT_BIG = 132,
    UFOLASERSHOTHITEFFECT_SMALL = 133,
    USHABTI_GOLD = 75,
    USHABTI_JADE = 76,
    VOLCANO_ASH = 149,
    VOLCANO_FOG = 148,
    WATER_DROP_DESTROYED = 188,
    WATER_DROP_DESTROYED_UPWARDS = 189,
    WETEFFECT_DROPS = 109,
    WHIPFLAME_FLAMES = 39,
    WITCHDOCTORSKULL_TRAIL = 173,
    YETIKING_YELL_DUST = 181,
    YETIKING_YELL_FOG = 180,
    YETIKING_YELL_SPARKLES = 182,
    YETIQUEEN_LANDING_SNOWDUST = 183,
}

---8bit bitmask used in state.pause
---@alias PAUSE integer
PAUSE = {
    ---Ankh: Pauses all timers, physics and music, but not camera. Used by the ankh cutscene.
    ANKH = 32,
    ---Cutscene: Pauses total/level time but not engine. Used by boss cutscenes.
    CUTSCENE = 4,
    ---Fade/Loading: Pauses all timers and engine.
    FADE = 2,
    ---Unknown purpose: Pauses total/level time and engine. Does not pause the global counter so [set_global_interval](https://spelunky-fyi.github.io/overlunky/#set_global_interval) timers still run. Might change this later!
    FLAG4 = 8,
    ---Unknown purpose: Pauses total/level time and engine. Does not pause the global counter so [set_global_interval](https://spelunky-fyi.github.io/overlunky/#set_global_interval) timers still run. Might change this later!
    FLAG5 = 16,
    ---Menu: Pauses the level timer and engine. Can't set, controller by the menu.
    MENU = 1,
}

---@alias PAUSEUI_VISIBILITY integer
PAUSEUI_VISIBILITY = {
    INVISIBLE = 0,
    SLIDING_DOWN = 1,
    SLIDING_UP = 3,
    VISIBLE = 2,
}

---Used in PauseAPI
---@alias PAUSE_SCREEN integer
PAUSE_SCREEN = {
    ARENA_INTRO = 33554432,
    ARENA_ITEMS = 8388608,
    ARENA_LEVEL = 67108864,
    ARENA_MENU = 2097152,
    ARENA_SCORE = 134217728,
    ARENA_SELECT = 16777216,
    ARENA_STAGES = 4194304,
    CAMP = 2048,
    CHARACTER_SELECT = 512,
    CONSTELLATION = 524288,
    CREDITS = 131072,
    DEATH = 16384,
    EXIT = -2147483648,
    INTRO = 2,
    LEADERBOARD = 128,
    LEVEL = 4096,
    LOADING = 1073741824,
    LOGO = 1,
    MENU = 16,
    NONE = 0,
    ONLINE_LOADING = 268435456,
    ONLINE_LOBBY = 536870912,
    OPTIONS = 32,
    PLAYER_PROFILE = 64,
    PROLOGUE = 4,
    RECAP = 1048576,
    SCORES = 262144,
    SEED_INPUT = 256,
    SPACESHIP = 32768,
    TEAM_SELECT = 1024,
    TITLE = 8,
    TRANSITION = 8192,
    WIN = 65536,
}

---Used in PauseAPI
---@alias PAUSE_TRIGGER integer
PAUSE_TRIGGER = {
    EXIT = 8,
    FADE_END = 2,
    FADE_START = 1,
    NONE = 0,
    ONCE = 16,
    SCREEN = 4,
}

---Used in PauseAPI
---@alias PAUSE_TYPE integer
PAUSE_TYPE = {
    ANKH = 32,
    CUTSCENE = 4,
    FADE = 2,
    FLAG4 = 8,
    FLAG5 = 16,
    FORCE_STATE = 512,
    MENU = 1,
    NONE = 0,
    PRE_GAME_LOOP = 128,
    PRE_PROCESS_INPUT = 256,
    PRE_UPDATE = 64,
}

---@alias PLATFORM integer
PLATFORM = {
    DISCORD = 17,
    NONE = 16,
    PLAYSTATION = 48,
    STEAM = 18,
    SWITCH = 32,
    XBOX = 19,
}

---@alias POS_TYPE integer
POS_TYPE = {
    ---Is a non-solid tile (no need to explicitly add this to everything)
    AIR = 4,
    ---Has a floor, ceiling and exactly one wall
    ALCOVE = 16,
    ---Below solid ceiling
    CEILING = 2,
    ---FLOOR | SAFE | EMPTY
    DEFAULT = 4096,
    ---Has nothing but decoration and background in it
    EMPTY = 1024,
    ---On top of solid floor
    FLOOR = 1,
    ---Air pocket surrounded by floors
    HOLE = 64,
    ---Is in lava (otherwise assumed not in lava)
    LAVA = 256,
    ---Has a floor, two walls and no ceiling
    PIT = 32,
    ---Avoid hazards, like certain traps, shops and any special floor
    SAFE = 512,
    ---Is inside solid floor or activefloor
    SOLID = 2048,
    ---Next to a wall
    WALL = 8,
    ---Next to a wall on the left
    WALL_LEFT = 8192,
    ---Next to a wall on the right
    WALL_RIGHT = 16384,
    ---Is in water (otherwise assumed not in water)
    WATER = 128,
}

---@alias PRESENCE_FLAG integer
PRESENCE_FLAG = {
    BLACK_MARKET = 2,
    DRILL = 3,
    MOON_CHALLENGE = 9,
    STAR_CHALLENGE = 10,
    SUN_CHALLENGE = 11,
    UDJAT_EYE = 1,
    VLADS_CASTLE = 3,
}

---Determines what class of prng is used, which in turn determines which parts of the game's future prng is affected. See more info at [PRNG](https://spelunky-fyi.github.io/overlunky/#PRNG)
---For example when choosing `PRNG_CLASS.PROCEDURAL_SPAWNS` to generate a random number, random Tiamat spawns will not be affected.
---Any integer in the range [0, 9] is a valid class, some are however not documented because of missing information.
---@alias PRNG_CLASS integer
PRNG_CLASS = {
    ---Monster AI decisions
    AI = 5,
    ---Character AI decisions
    CHAR_AI = 1,
    ---Some entities that have many texture to choose from on spawn
    ENTITY_VARIATION = 3,
    EXTRA_SPAWNS = 5,
    ---Some effects, like water splashes, background stars and teleport shadow
    FX = 9,
    ---I have no idea what this name means, cause this seems to advance every 3 or so frames even with zero entities in a level
    LEVEL_DECO = 8,
    ---Anything level gen related really, including but not limited to path, room and enemy placement.
    LEVEL_GEN = 0,
    ---Liquid movement
    LIQUID = 7,
    ---Direction and angle of torch flames etc, but also includes other things not related to particles at all...
    PARTICLES = 2,
    ---Anything level gen related really, including but not limited to path, room and enemy placement.
    PROCEDURAL_SPAWNS = 0,
}

---@alias PROCEDURAL_CHANCE integer
PROCEDURAL_CHANCE = {
    ADD_GOLD_BAR = 444,
    ADD_GOLD_BARS = 445,
    ARROWTRAP_CHANCE = 0,
    BAT = 224,
    BEE = 278,
    BEEHIVE_CHANCE = 16,
    BIGSPEARTRAP_CHANCE = 11,
    CAT = 251,
    CAVEMAN = 225,
    CHAIN_BLOCKS_CHANCE = 6,
    COBRA = 248,
    CRABMAN = 311,
    CRITTERANCHOVY = 335,
    CRITTERBUTTERFLY = 332,
    CRITTERCRAB = 336,
    CRITTERDRONE = 340,
    CRITTERDUNGBEETLE = 331,
    CRITTERFIREFLY = 339,
    CRITTERFISH = 334,
    CRITTERLOCUST = 337,
    CRITTERPENGUIN = 338,
    CRITTERSLIME = 341,
    CRITTERSNAIL = 333,
    CROCMAN = 247,
    CRUSHER_TRAP_CHANCE = 7,
    DIAMOND = 446,
    EGGSAC_CHANCE = 14,
    ELEVATOR = 443,
    EMERALD = 447,
    FEMALE_JIANGSHI = 261,
    FIREBUG = 241,
    FIREFROG = 284,
    FISH = 262,
    FROG = 283,
    GIANTFLY = 288,
    GIANTSPIDER = 223,
    HANGSPIDER = 222,
    HERMITCRAB = 264,
    HORNEDLIZARD = 230,
    IMP = 243,
    JIANGSHI = 260,
    JUNGLE_SPEAR_TRAP_CHANCE = 4,
    LANDMINE = 439,
    LASERTRAP_CHANCE = 9,
    LAVAMANDER = 244,
    LEPRECHAUN = 310,
    LEPRECHAUN_CHANCE = 17,
    LIONTRAP_CHANCE = 8,
    LITWALLTORCH = 442,
    MANTRAP = 233,
    MINISTER_CHANCE = 15,
    MOLE = 231,
    MONKEY = 238,
    MOSQUITO = 237,
    NECROMANCER = 252,
    OCTOPUS = 263,
    OLMITE = 276,
    PUSHBLOCK_CHANCE = 2,
    RED_SKELETON = 440,
    ROBOT = 240,
    RUBY = 449,
    SAPPHIRE = 448,
    SKULLDROP_CHANCE = 13,
    SNAKE = 220,
    SNAP_TRAP_CHANCE = 3,
    SORCERESS = 250,
    SPARKTRAP_CHANCE = 10,
    SPIDER = 221,
    SPIKE_BALL_CHANCE = 5,
    SPRINGTRAP = 73,
    STICKYTRAP_CHANCE = 12,
    TADPOLE = 287,
    TIKIMAN = 234,
    TOTEMTRAP_CHANCE = 1,
    UFO = 266,
    VAMPIRE = 245,
    WALLTORCH = 441,
    WITCHDOCTOR = 235,
    YETI = 268,
}

---@alias QUEST_FLAG integer
QUEST_FLAG = {
    BLACK_MARKET_SPAWNED = 18,
    CAVEMAN_SHOPPIE_AGGROED = 9,
    DAILY = 8,
    DARK_LEVEL_SPAWNED = 2,
    DRILL_SPAWNED = 19,
    EGGPLANT_CROWN_PICKED_UP = 12,
    MOON_CHALLENGE_SPAWNED = 25,
    RESET = 1,
    SEEDED = 7,
    SHOP_BOUGHT_OUT = 11,
    SHOP_SPAWNED = 5,
    SHORTCUT_USED = 6,
    SPAWN_OUTPOST = 4,
    STAR_CHALLENGE_SPAWNED = 26,
    SUN_CHALLENGE_SPAWNED = 27,
    UDJAT_EYE_SPAWNED = 17,
    VAULT_SPAWNED = 3,
    WADDLER_AGGROED = 10,
}

---@alias RAW_BUTTON integer
RAW_BUTTON = {
    A = 4,
    B = 5,
    BACK = 14,
    DOWN = 1,
    LEFT = 2,
    LEFT_SHOULDER = 8,
    LEFT_THUMB = 12,
    LEFT_TRIGGER = 10,
    RIGHT = 3,
    RIGHT_SHOULDER = 9,
    RIGHT_THUMB = 13,
    RIGHT_TRIGGER = 11,
    START = 15,
    UP = 0,
    X = 6,
    Y = 7,
}

---@alias RAW_DUALSHOCK integer
RAW_DUALSHOCK = {
    CIRCLE = 5,
    CROSS = 4,
    DOWN = 1,
    L1 = 8,
    L2 = 10,
    L3 = 12,
    LEFT = 2,
    OPTIONS = 15,
    R1 = 9,
    R2 = 11,
    R3 = 13,
    RIGHT = 3,
    SHARE = 14,
    SQUARE = 6,
    TRIANGLE = 7,
    UP = 0,
}

---Keycodes used specifically in RawInput.keyboard. There are more keys than this though, but I didn't want to figure out the OEM keys. Because these are physical keys, SHIFT, CTRL and ALT are only mapped to the left keys.
---@alias RAW_KEY integer
RAW_KEY = {
    ["0"] = 65,
    ["1"] = 66,
    ["2"] = 67,
    ["3"] = 68,
    ["4"] = 69,
    ["5"] = 70,
    ["6"] = 71,
    ["7"] = 72,
    ["8"] = 73,
    ["9"] = 74,
    A = 7,
    ADD = 86,
    ALT = 37,
    B = 8,
    BACKSPACE = 40,
    C = 9,
    COMMA = 93,
    CTRL = 33,
    D = 10,
    DECIMAL = 90,
    DELETE = 104,
    DIVIDE = 88,
    DOWN = 1,
    E = 11,
    END = 106,
    ESCAPE = 4,
    F = 12,
    F1 = 41,
    F10 = 50,
    F11 = 51,
    F12 = 52,
    F2 = 42,
    F3 = 43,
    F4 = 44,
    F5 = 45,
    F6 = 46,
    F7 = 47,
    F8 = 48,
    F9 = 49,
    G = 13,
    H = 14,
    HOME = 108,
    I = 15,
    INSERT = 103,
    J = 16,
    K = 17,
    L = 18,
    LALT = 37,
    LCONTROL = 33,
    LEFT = 2,
    LSHIFT = 35,
    M = 19,
    MINUS = 92,
    MULTIPLY = 87,
    N = 20,
    NUMPAD0 = 75,
    NUMPAD1 = 76,
    NUMPAD2 = 77,
    NUMPAD3 = 78,
    NUMPAD4 = 79,
    NUMPAD5 = 80,
    NUMPAD6 = 81,
    NUMPAD7 = 82,
    NUMPAD8 = 83,
    NUMPAD9 = 84,
    NUMPADENTER = 110,
    O = 21,
    P = 22,
    PERIOD = 94,
    PGDN = 105,
    PGUP = 107,
    PLUS = 98,
    Q = 23,
    R = 24,
    RALT = 38,
    RCONTROL = 34,
    RETURN = 5,
    RIGHT = 3,
    RSHIFT = 36,
    S = 25,
    SHIFT = 35,
    SPACE = 39,
    SUBTRACT = 85,
    T = 26,
    TAB = 6,
    U = 27,
    UP = 0,
    V = 28,
    W = 29,
    X = 30,
    Y = 31,
    Z = 32,
}

---@alias READY_STATE integer
READY_STATE = {
    NOT_READY = 0,
    READY = 1,
    SEARCHING = 2,
}

---@alias RECURSIVE_MODE integer
RECURSIVE_MODE = {
    ---In this mode the provided ENT_TYPE and MASK will not be affected nor will entities attached to them
    EXCLUSIVE = 0,
    ---In this mode the provided ENT_TYPE and MASK will be the only affected entities, anything outside of the specified mask or type will not be touched including entities attached to them
    ---For this mode you have to specify at least one mask or ENT_TYPE, otherwise nothing will be affected
    INCLUSIVE = 1,
    ---Ignores provided ENT_TYPE and MASK and affects all the entities
    NONE = 2,
}

---@alias RENDER_INFO_OVERRIDE integer
RENDER_INFO_OVERRIDE = {
    DRAW = 1,
    DTOR = 0,
    RENDER = 3,
}

---@alias REPEAT_TYPE integer
REPEAT_TYPE = {
    BACK_AND_FORTH = 2,
    LINEAR = 1,
    NO_REPEAT = 0,
}

---@alias ROOM_TEMPLATE integer
ROOM_TEMPLATE = {
    ABZU_BACKDOOR = 132,
    ALTAR = 115,
    ANUBIS_ROOM = 38,
    APEP = 128,
    BEEHIVE = 31,
    BEEHIVE_ENTRANCE = 32,
    BLACKMARKET = 119,
    BLACKMARKET_COFFIN = 34,
    BLACKMARKET_ENTRANCE = 33,
    BLACKMARKET_EXIT = 35,
    BOSS_ARENA = 22,
    CACHE = 14,
    CAVEMANSHOP = 79,
    CAVEMANSHOP_LEFT = 80,
    CHALLANGE_ENTRANCE_BACKLAYER = 90,
    CHALLENGE_0_0 = 92,
    CHALLENGE_0_1 = 93,
    CHALLENGE_0_2 = 94,
    CHALLENGE_0_3 = 95,
    CHALLENGE_1_0 = 96,
    CHALLENGE_1_1 = 97,
    CHALLENGE_1_2 = 98,
    CHALLENGE_1_3 = 99,
    CHALLENGE_BOTTOM = 91,
    CHALLENGE_ENTRANCE = 81,
    CHALLENGE_ENTRANCE_LEFT = 82,
    CHALLENGE_SPECIAL = 100,
    CHUNK_AIR = 17,
    CHUNK_DOOR = 18,
    CHUNK_GROUND = 16,
    COFFIN_FROG = 111,
    COFFIN_PLAYER = 25,
    COFFIN_PLAYER_VERTICAL = 26,
    COFFIN_UNLOCKABLE = 27,
    COFFIN_UNLOCKABLE_LEFT = 28,
    COG_ALTAR_TOP = 125,
    CRASHEDSHIP_ENTRANCE = 61,
    CRASHEDSHIP_ENTRANCE_NOTOP = 62,
    CURIOSHOP = 77,
    CURIOSHOP_LEFT = 78,
    DICESHOP = 75,
    DICESHOP_LEFT = 76,
    EMPRESS_GRAVE = 136,
    EMPTY_BACKLAYER = 9,
    ENTRANCE = 5,
    ENTRANCE_DROP = 6,
    EXIT = 7,
    EXIT_NOTOP = 8,
    FEELING_FACTORY = 104,
    FEELING_PRISON = 105,
    FEELING_TOMB = 106,
    GHISTROOM = 15,
    GHISTSHOP = 135,
    GHISTSHOP_BACKLAYER = 87,
    IDOL = 116,
    IDOL_TOP = 117,
    LAKEOFFIRE_BACK_ENTRANCE = 36,
    LAKEOFFIRE_BACK_EXIT = 37,
    LAKE_EXIT = 129,
    LAKE_NORMAL = 130,
    LAKE_NOTOP = 131,
    MACHINE_BIGROOM_PATH = 102,
    MACHINE_BIGROOM_SIDE = 103,
    MACHINE_KEYROOM = 113,
    MACHINE_REWARDROOM = 114,
    MACHINE_TALLROOM_PATH = 109,
    MACHINE_TALLROOM_SIDE = 110,
    MACHINE_WIDEROOM_PATH = 107,
    MACHINE_WIDEROOM_SIDE = 108,
    MOAI = 39,
    MOTHERSHIP_COFFIN = 41,
    MOTHERSHIP_ENTRANCE = 40,
    MOTHERSHIP_EXIT = 127,
    MOTHERSHIP_ROOM = 126,
    MOTHERSTATUE_ROOM = 43,
    OLDHUNTER_CURSEDROOM = 139,
    OLDHUNTER_KEYROOM = 137,
    OLDHUNTER_REWARDROOM = 138,
    OLMECSHIP_ROOM = 42,
    PALACEOFPLEASURE_0_0 = 49,
    PALACEOFPLEASURE_0_1 = 50,
    PALACEOFPLEASURE_0_2 = 51,
    PALACEOFPLEASURE_1_0 = 52,
    PALACEOFPLEASURE_1_1 = 53,
    PALACEOFPLEASURE_1_2 = 54,
    PALACEOFPLEASURE_2_0 = 55,
    PALACEOFPLEASURE_2_1 = 56,
    PALACEOFPLEASURE_2_2 = 57,
    PALACEOFPLEASURE_3_0 = 58,
    PALACEOFPLEASURE_3_1 = 59,
    PALACEOFPLEASURE_3_2 = 60,
    PASSAGE_HORZ = 11,
    PASSAGE_TURN = 13,
    PASSAGE_VERT = 12,
    PATH_DROP = 2,
    PATH_DROP_NOTOP = 4,
    PATH_NORMAL = 1,
    PATH_NOTOP = 3,
    PEN_ROOM = 45,
    POSSE = 24,
    QUEST_THIEF1 = 140,
    QUEST_THIEF2 = 141,
    ROOM2 = 10,
    SETROOM0_0 = 142,
    SETROOM0_1 = 142,
    SETROOM0_2 = 142,
    SETROOM0_3 = 142,
    SETROOM0_4 = 142,
    SETROOM0_5 = 142,
    SETROOM0_6 = 142,
    SETROOM0_7 = 142,
    SETROOM10_0 = 142,
    SETROOM10_1 = 142,
    SETROOM10_2 = 142,
    SETROOM10_3 = 142,
    SETROOM10_4 = 142,
    SETROOM10_5 = 142,
    SETROOM10_6 = 142,
    SETROOM10_7 = 142,
    SETROOM11_0 = 142,
    SETROOM11_1 = 142,
    SETROOM11_2 = 142,
    SETROOM11_3 = 142,
    SETROOM11_4 = 142,
    SETROOM11_5 = 142,
    SETROOM11_6 = 142,
    SETROOM11_7 = 142,
    SETROOM12_0 = 142,
    SETROOM12_1 = 142,
    SETROOM12_2 = 142,
    SETROOM12_3 = 142,
    SETROOM12_4 = 142,
    SETROOM12_5 = 142,
    SETROOM12_6 = 142,
    SETROOM12_7 = 142,
    SETROOM13_0 = 142,
    SETROOM13_1 = 142,
    SETROOM13_2 = 142,
    SETROOM13_3 = 142,
    SETROOM13_4 = 142,
    SETROOM13_5 = 142,
    SETROOM13_6 = 142,
    SETROOM13_7 = 142,
    SETROOM14_0 = 142,
    SETROOM14_1 = 142,
    SETROOM14_2 = 142,
    SETROOM14_3 = 142,
    SETROOM14_4 = 142,
    SETROOM14_5 = 142,
    SETROOM14_6 = 142,
    SETROOM14_7 = 142,
    SETROOM1_0 = 142,
    SETROOM1_1 = 142,
    SETROOM1_2 = 142,
    SETROOM1_3 = 142,
    SETROOM1_4 = 142,
    SETROOM1_5 = 142,
    SETROOM1_6 = 142,
    SETROOM1_7 = 142,
    SETROOM2_0 = 142,
    SETROOM2_1 = 142,
    SETROOM2_2 = 142,
    SETROOM2_3 = 142,
    SETROOM2_4 = 142,
    SETROOM2_5 = 142,
    SETROOM2_6 = 142,
    SETROOM2_7 = 142,
    SETROOM3_0 = 142,
    SETROOM3_1 = 142,
    SETROOM3_2 = 142,
    SETROOM3_3 = 142,
    SETROOM3_4 = 142,
    SETROOM3_5 = 142,
    SETROOM3_6 = 142,
    SETROOM3_7 = 142,
    SETROOM4_0 = 142,
    SETROOM4_1 = 142,
    SETROOM4_2 = 142,
    SETROOM4_3 = 142,
    SETROOM4_4 = 142,
    SETROOM4_5 = 142,
    SETROOM4_6 = 142,
    SETROOM4_7 = 142,
    SETROOM5_0 = 142,
    SETROOM5_1 = 142,
    SETROOM5_2 = 142,
    SETROOM5_3 = 142,
    SETROOM5_4 = 142,
    SETROOM5_5 = 142,
    SETROOM5_6 = 142,
    SETROOM5_7 = 142,
    SETROOM6_0 = 142,
    SETROOM6_1 = 142,
    SETROOM6_2 = 142,
    SETROOM6_3 = 142,
    SETROOM6_4 = 142,
    SETROOM6_5 = 142,
    SETROOM6_6 = 142,
    SETROOM6_7 = 142,
    SETROOM7_0 = 142,
    SETROOM7_1 = 142,
    SETROOM7_2 = 142,
    SETROOM7_3 = 142,
    SETROOM7_4 = 142,
    SETROOM7_5 = 142,
    SETROOM7_6 = 142,
    SETROOM7_7 = 142,
    SETROOM8_0 = 142,
    SETROOM8_1 = 142,
    SETROOM8_2 = 142,
    SETROOM8_3 = 142,
    SETROOM8_4 = 142,
    SETROOM8_5 = 142,
    SETROOM8_6 = 142,
    SETROOM8_7 = 142,
    SETROOM9_0 = 142,
    SETROOM9_1 = 142,
    SETROOM9_2 = 142,
    SETROOM9_3 = 142,
    SETROOM9_4 = 142,
    SETROOM9_5 = 142,
    SETROOM9_6 = 142,
    SETROOM9_7 = 142,
    SHOP = 65,
    SHOP_ATTIC = 71,
    SHOP_ATTIC_LEFT = 72,
    SHOP_BASEMENT = 73,
    SHOP_BASEMENT_LEFT = 74,
    SHOP_ENTRANCE_DOWN = 69,
    SHOP_ENTRANCE_DOWN_LEFT = 70,
    SHOP_ENTRANCE_UP = 67,
    SHOP_ENTRANCE_UP_LEFT = 68,
    SHOP_JAIL_BACKLAYER = 44,
    SHOP_LEFT = 66,
    SIDE = 0,
    SISTERS_ROOM = 46,
    SOLID = 21,
    STORAGE_ROOM = 118,
    TUSKDICESHOP = 83,
    TUSKDICESHOP_LEFT = 84,
    TUSKFRONTDICESHOP = 47,
    TUSKFRONTDICESHOP_LEFT = 48,
    UDJATENTRANCE = 29,
    UDJATTOP = 30,
    USHABTI_ENTRANCE = 133,
    USHABTI_ROOM = 134,
    VAULT = 23,
    VLAD_BOTTOM_EXIT = 123,
    VLAD_BOTTOM_TUNNEL = 122,
    VLAD_DRILL = 120,
    VLAD_ENTRANCE = 121,
    VLAD_TUNNEL = 124,
    WADDLER = 86,
}

---Use in `define_room_template` to declare whether a room template has any special behavior
---@alias ROOM_TEMPLATE_TYPE integer
ROOM_TEMPLATE_TYPE = {
    ENTRANCE = 1,
    EXIT = 2,
    MACHINE_ROOM = 4,
    NONE = 0,
    SHOP = 3,
}

---Paramater to set_setting
---@alias SAFE_SETTING integer
SAFE_SETTING = {
    ANGRY_SHOPKEEPER = 28,
    BUTTON_PROMPTS = 30,
    DIALOG_TEXT = 37,
    FEAT_POPUPS = 32,
    GHOST_TEXT = 39,
    HUD_SIZE = 24,
    HUD_STYLE = 23,
    KALI_TEXT = 38,
    LEVEL_FEELINGS = 36,
    LEVEL_NUMBER = 27,
    LEVEL_TIMER = 25,
    PET_STYLE = 20,
    SCREEN_SHAKE = 21,
    TEXTBOX_DURATION = 34,
    TEXTBOX_OPACITY = 35,
    TEXTBOX_SIZE = 33,
    TIMER_DETAIL = 26,
}

---@alias SCREEN integer
SCREEN = {
    ARENA_INTRO = 25,
    ARENA_ITEMS = 23,
    ARENA_LEVEL = 26,
    ARENA_MENU = 21,
    ARENA_SCORE = 27,
    ARENA_SELECT = 24,
    ARENA_STAGES = 22,
    CAMP = 11,
    CHARACTER_SELECT = 9,
    CONSTELLATION = 19,
    CREDITS = 17,
    DEATH = 14,
    INTRO = 1,
    LEADERBOARD = 7,
    LEVEL = 12,
    LOGO = 0,
    MENU = 4,
    ONLINE_LOADING = 28,
    ONLINE_LOBBY = 29,
    OPTIONS = 5,
    PLAYER_PROFILE = 6,
    PROLOGUE = 2,
    RECAP = 20,
    SCORES = 18,
    SEED_INPUT = 8,
    SPACESHIP = 15,
    TEAM_SELECT = 10,
    TITLE = 3,
    TRANSITION = 13,
    WIN = 16,
}

---@alias SHAPE integer
SHAPE = {
    CIRCLE = 2,
    RECTANGLE = 1,
}

---Determines which kind of shop spawns in the level, if any
---@alias SHOP_TYPE integer
SHOP_TYPE = {
    CAVEMAN_SHOP = 10,
    CLOTHING_SHOP = 1,
    CURIO_SHOP = 9,
    DICE_SHOP = 6,
    GENERAL_STORE = 0,
    GHIST_SHOP = 12,
    HEDJET_SHOP = 8,
    HIRED_HAND_SHOP = 4,
    PET_SHOP = 5,
    SPECIALTY_SHOP = 3,
    TURKEY_SHOP = 11,
    TUSK_DICE_SHOP = 13,
    WEAPON_SHOP = 2,
}

---Paramater to `PlayingSound:set_looping()`, specifies what type of looping this sound should do
---@alias SOUND_LOOP_MODE integer
SOUND_LOOP_MODE = {
    BIDIRECTIONAL = 2,
    LOOP = 1,
    OFF = 0,
}

---Third parameter to `CustomSound:play()`, specifies which group the sound will be played in and thus how the player controls its volume
---@alias SOUND_TYPE integer
SOUND_TYPE = {
    MUSIC = 1,
    SFX = 0,
}

---Sparrow quest states
---@alias SPARROW integer
SPARROW = {
    ANGRY = -2,
    DEAD = -1,
    FINAL_REWARD_THROWN = 9,
    FINISHED_LEVEL_WITH_THIEF_STATUS = 2,
    FIRST_ENCOUNTER_ROPES_THROWN = 4,
    FIRST_HIDEOUT_SPAWNED_ROPE_THROW = 3,
    MEETING_AT_TUSK_BASEMENT = 8,
    QUEST_NOT_STARTED = 0,
    SECOND_ENCOUNTER_INTERACTED = 7,
    SECOND_HIDEOUT_SPAWNED_NEOBAB = 6,
    THIEF_STATUS = 1,
    TUSK_IDOL_STOLEN = 5,
}

---@alias SPAWN_TYPE integer
SPAWN_TYPE = {
    ---Covers all of the above.
    ANY = 63,
    ---For any spawn happening during level generation, even if the call happened from the Lua API during a tile code callback.
    LEVEL_GEN = 15,
    ---Includes solid floor type spreading (i.e. floorstyled bleeding to existing generic floor) but also corner filling of empty tiles.
    LEVEL_GEN_FLOOR_SPREADING = 4,
    ---Covers all spawns during level gen that are not covered by the other two.
    LEVEL_GEN_GENERAL = 8,
    ---Similar to LEVEL_GEN but only triggers on random level spawns, like snakes or bats.
    LEVEL_GEN_PROCEDURAL = 2,
    ---Similar to LEVEL_GEN but only triggers on tile code spawns.
    LEVEL_GEN_TILE_CODE = 1,
    ---Runs for any spawn happening through a call from the Lua API, also during level generation.
    SCRIPT = 16,
    ---Covers all other spawns, such as items from crates or the player throwing bombs.
    SYSTEMIC = 32,
}

---@alias TEXTURE integer
TEXTURE = {
    DATA_TEXTURES_BASE_EGGSHIP2_0 = 108,
    DATA_TEXTURES_BASE_EGGSHIP2_1 = 109,
    DATA_TEXTURES_BASE_EGGSHIP2_2 = 110,
    DATA_TEXTURES_BASE_EGGSHIP3_0 = 111,
    DATA_TEXTURES_BASE_EGGSHIP3_1 = 112,
    DATA_TEXTURES_BASE_EGGSHIP3_2 = 113,
    DATA_TEXTURES_BASE_EGGSHIP3_3 = 114,
    DATA_TEXTURES_BASE_EGGSHIP_0 = 102,
    DATA_TEXTURES_BASE_EGGSHIP_1 = 103,
    DATA_TEXTURES_BASE_EGGSHIP_2 = 104,
    DATA_TEXTURES_BASE_EGGSHIP_3 = 105,
    DATA_TEXTURES_BASE_EGGSHIP_4 = 106,
    DATA_TEXTURES_BASE_EGGSHIP_5 = 107,
    DATA_TEXTURES_BASE_SKYNIGHT_0 = 115,
    DATA_TEXTURES_BASE_SURFACE2_0 = 118,
    DATA_TEXTURES_BASE_SURFACE_0 = 116,
    DATA_TEXTURES_BASE_SURFACE_1 = 117,
    DATA_TEXTURES_BG_BABYLON_0 = 195,
    DATA_TEXTURES_BG_BEEHIVE_0 = 226,
    DATA_TEXTURES_BG_CAVE_0 = 136,
    DATA_TEXTURES_BG_DUAT2_0 = 215,
    DATA_TEXTURES_BG_DUAT_0 = 211,
    DATA_TEXTURES_BG_DUAT_1 = 213,
    DATA_TEXTURES_BG_DUAT_2 = 214,
    DATA_TEXTURES_BG_EGGPLANT_0 = 223,
    DATA_TEXTURES_BG_GOLD_0 = 269,
    DATA_TEXTURES_BG_ICE_0 = 184,
    DATA_TEXTURES_BG_JUNGLE_0 = 143,
    DATA_TEXTURES_BG_MOTHERSHIP_0 = 272,
    DATA_TEXTURES_BG_STONE_0 = 158,
    DATA_TEXTURES_BG_SUNKEN_0 = 207,
    DATA_TEXTURES_BG_TEMPLE_0 = 165,
    DATA_TEXTURES_BG_TIDEPOOL_0 = 175,
    DATA_TEXTURES_BG_VLAD_0 = 260,
    DATA_TEXTURES_BG_VOLCANO_0 = 153,
    DATA_TEXTURES_BORDER_MAIN_0 = 283,
    DATA_TEXTURES_BORDER_MAIN_1 = 284,
    DATA_TEXTURES_CHAR_BLACK_0 = 288,
    DATA_TEXTURES_CHAR_BLUE_0 = 294,
    DATA_TEXTURES_CHAR_CERULEAN_0 = 293,
    DATA_TEXTURES_CHAR_CINNABAR_0 = 289,
    DATA_TEXTURES_CHAR_CYAN_0 = 287,
    DATA_TEXTURES_CHAR_EGGCHILD_0 = 306,
    DATA_TEXTURES_CHAR_GOLD_0 = 298,
    DATA_TEXTURES_CHAR_GRAY_0 = 302,
    DATA_TEXTURES_CHAR_GREEN_0 = 290,
    DATA_TEXTURES_CHAR_HIRED_0 = 305,
    DATA_TEXTURES_CHAR_IRIS_0 = 297,
    DATA_TEXTURES_CHAR_KHAKI_0 = 303,
    DATA_TEXTURES_CHAR_LEMON_0 = 296,
    DATA_TEXTURES_CHAR_LIME_0 = 295,
    DATA_TEXTURES_CHAR_MAGENTA_0 = 286,
    DATA_TEXTURES_CHAR_OLIVE_0 = 291,
    DATA_TEXTURES_CHAR_ORANGE_0 = 304,
    DATA_TEXTURES_CHAR_PINK_0 = 300,
    DATA_TEXTURES_CHAR_RED_0 = 299,
    DATA_TEXTURES_CHAR_VIOLET_0 = 301,
    DATA_TEXTURES_CHAR_WHITE_0 = 292,
    DATA_TEXTURES_CHAR_YELLOW_0 = 285,
    DATA_TEXTURES_COFFINS_0 = 385,
    DATA_TEXTURES_COFFINS_1 = 386,
    DATA_TEXTURES_COFFINS_2 = 387,
    DATA_TEXTURES_COFFINS_3 = 388,
    DATA_TEXTURES_COFFINS_4 = 389,
    DATA_TEXTURES_COFFINS_5 = 390,
    DATA_TEXTURES_CREDITS_0 = 391,
    DATA_TEXTURES_CREDITS_1 = 392,
    DATA_TEXTURES_DECO_BABYLON_0 = 191,
    DATA_TEXTURES_DECO_BABYLON_1 = 192,
    DATA_TEXTURES_DECO_BABYLON_2 = 193,
    DATA_TEXTURES_DECO_BASECAMP_0 = 119,
    DATA_TEXTURES_DECO_BASECAMP_1 = 120,
    DATA_TEXTURES_DECO_BASECAMP_2 = 121,
    DATA_TEXTURES_DECO_BASECAMP_3 = 122,
    DATA_TEXTURES_DECO_BASECAMP_4 = 123,
    DATA_TEXTURES_DECO_BASECAMP_5 = 124,
    DATA_TEXTURES_DECO_BASECAMP_6 = 125,
    DATA_TEXTURES_DECO_BASECAMP_7 = 126,
    DATA_TEXTURES_DECO_CAVE_0 = 134,
    DATA_TEXTURES_DECO_CAVE_1 = 135,
    DATA_TEXTURES_DECO_COSMIC_0 = 228,
    DATA_TEXTURES_DECO_COSMIC_1 = 229,
    DATA_TEXTURES_DECO_COSMIC_2 = 230,
    DATA_TEXTURES_DECO_EGGPLANT_0 = 202,
    DATA_TEXTURES_DECO_EGGPLANT_1 = 222,
    DATA_TEXTURES_DECO_EXTRA_0 = 279,
    DATA_TEXTURES_DECO_EXTRA_1 = 280,
    DATA_TEXTURES_DECO_GOLD_0 = 266,
    DATA_TEXTURES_DECO_GOLD_1 = 267,
    DATA_TEXTURES_DECO_GOLD_2 = 268,
    DATA_TEXTURES_DECO_ICE_0 = 180,
    DATA_TEXTURES_DECO_ICE_1 = 181,
    DATA_TEXTURES_DECO_ICE_2 = 182,
    DATA_TEXTURES_DECO_ICE_3 = 183,
    DATA_TEXTURES_DECO_JUNGLE_0 = 141,
    DATA_TEXTURES_DECO_JUNGLE_1 = 142,
    DATA_TEXTURES_DECO_JUNGLE_2 = 156,
    DATA_TEXTURES_DECO_SUNKEN_0 = 203,
    DATA_TEXTURES_DECO_SUNKEN_1 = 204,
    DATA_TEXTURES_DECO_SUNKEN_2 = 205,
    DATA_TEXTURES_DECO_SUNKEN_3 = 206,
    DATA_TEXTURES_DECO_TEMPLE_0 = 163,
    DATA_TEXTURES_DECO_TEMPLE_1 = 164,
    DATA_TEXTURES_DECO_TEMPLE_2 = 216,
    DATA_TEXTURES_DECO_TIDEPOOL_0 = 173,
    DATA_TEXTURES_DECO_TIDEPOOL_1 = 174,
    DATA_TEXTURES_DECO_TUTORIAL_0 = 127,
    DATA_TEXTURES_DECO_TUTORIAL_1 = 128,
    DATA_TEXTURES_DECO_VOLCANO_0 = 149,
    DATA_TEXTURES_DECO_VOLCANO_1 = 150,
    DATA_TEXTURES_DECO_VOLCANO_2 = 151,
    DATA_TEXTURES_DECO_VOLCANO_3 = 152,
    DATA_TEXTURES_FLOORMISC_0 = 281,
    DATA_TEXTURES_FLOORMISC_1 = 282,
    DATA_TEXTURES_FLOORSTYLED_BABYLON_0 = 246,
    DATA_TEXTURES_FLOORSTYLED_BABYLON_1 = 247,
    DATA_TEXTURES_FLOORSTYLED_BABYLON_2 = 248,
    DATA_TEXTURES_FLOORSTYLED_BABYLON_3 = 249,
    DATA_TEXTURES_FLOORSTYLED_BABYLON_4 = 250,
    DATA_TEXTURES_FLOORSTYLED_BEEHIVE_0 = 225,
    DATA_TEXTURES_FLOORSTYLED_BEEHIVE_1 = 227,
    DATA_TEXTURES_FLOORSTYLED_DUAT_0 = 212,
    DATA_TEXTURES_FLOORSTYLED_DUAT_1 = 273,
    DATA_TEXTURES_FLOORSTYLED_GOLD_0 = 261,
    DATA_TEXTURES_FLOORSTYLED_GOLD_1 = 262,
    DATA_TEXTURES_FLOORSTYLED_GOLD_2 = 263,
    DATA_TEXTURES_FLOORSTYLED_GOLD_3 = 264,
    DATA_TEXTURES_FLOORSTYLED_GOLD_4 = 270,
    DATA_TEXTURES_FLOORSTYLED_GOLD_NORMAL_0 = 265,
    DATA_TEXTURES_FLOORSTYLED_GUTS_0 = 278,
    DATA_TEXTURES_FLOORSTYLED_MOTHERSHIP_0 = 271,
    DATA_TEXTURES_FLOORSTYLED_PAGODA_0 = 243,
    DATA_TEXTURES_FLOORSTYLED_PAGODA_1 = 244,
    DATA_TEXTURES_FLOORSTYLED_PAGODA_2 = 245,
    DATA_TEXTURES_FLOORSTYLED_PALACE_0 = 274,
    DATA_TEXTURES_FLOORSTYLED_PALACE_1 = 275,
    DATA_TEXTURES_FLOORSTYLED_PALACE_2 = 276,
    DATA_TEXTURES_FLOORSTYLED_PALACE_3 = 277,
    DATA_TEXTURES_FLOORSTYLED_STONE_0 = 157,
    DATA_TEXTURES_FLOORSTYLED_STONE_1 = 159,
    DATA_TEXTURES_FLOORSTYLED_STONE_2 = 236,
    DATA_TEXTURES_FLOORSTYLED_STONE_3 = 237,
    DATA_TEXTURES_FLOORSTYLED_STONE_4 = 238,
    DATA_TEXTURES_FLOORSTYLED_STONE_5 = 239,
    DATA_TEXTURES_FLOORSTYLED_SUNKEN_0 = 251,
    DATA_TEXTURES_FLOORSTYLED_SUNKEN_1 = 252,
    DATA_TEXTURES_FLOORSTYLED_SUNKEN_2 = 253,
    DATA_TEXTURES_FLOORSTYLED_SUNKEN_3 = 254,
    DATA_TEXTURES_FLOORSTYLED_TEMPLE_0 = 240,
    DATA_TEXTURES_FLOORSTYLED_TEMPLE_1 = 241,
    DATA_TEXTURES_FLOORSTYLED_TEMPLE_2 = 242,
    DATA_TEXTURES_FLOORSTYLED_VLAD_0 = 255,
    DATA_TEXTURES_FLOORSTYLED_VLAD_1 = 256,
    DATA_TEXTURES_FLOORSTYLED_VLAD_2 = 257,
    DATA_TEXTURES_FLOORSTYLED_VLAD_3 = 258,
    DATA_TEXTURES_FLOORSTYLED_VLAD_4 = 259,
    DATA_TEXTURES_FLOORSTYLED_WOOD_0 = 231,
    DATA_TEXTURES_FLOORSTYLED_WOOD_1 = 232,
    DATA_TEXTURES_FLOORSTYLED_WOOD_2 = 233,
    DATA_TEXTURES_FLOORSTYLED_WOOD_3 = 234,
    DATA_TEXTURES_FLOORSTYLED_WOOD_4 = 235,
    DATA_TEXTURES_FLOOR_BABYLON_0 = 187,
    DATA_TEXTURES_FLOOR_BABYLON_1 = 188,
    DATA_TEXTURES_FLOOR_BABYLON_2 = 189,
    DATA_TEXTURES_FLOOR_BABYLON_3 = 190,
    DATA_TEXTURES_FLOOR_BABYLON_4 = 196,
    DATA_TEXTURES_FLOOR_CAVE_0 = 129,
    DATA_TEXTURES_FLOOR_CAVE_1 = 130,
    DATA_TEXTURES_FLOOR_CAVE_2 = 131,
    DATA_TEXTURES_FLOOR_CAVE_3 = 132,
    DATA_TEXTURES_FLOOR_CAVE_4 = 133,
    DATA_TEXTURES_FLOOR_CAVE_5 = 137,
    DATA_TEXTURES_FLOOR_EGGPLANT_0 = 217,
    DATA_TEXTURES_FLOOR_EGGPLANT_1 = 218,
    DATA_TEXTURES_FLOOR_EGGPLANT_2 = 219,
    DATA_TEXTURES_FLOOR_EGGPLANT_3 = 220,
    DATA_TEXTURES_FLOOR_EGGPLANT_4 = 221,
    DATA_TEXTURES_FLOOR_EGGPLANT_5 = 224,
    DATA_TEXTURES_FLOOR_ICE_0 = 177,
    DATA_TEXTURES_FLOOR_ICE_1 = 178,
    DATA_TEXTURES_FLOOR_ICE_2 = 179,
    DATA_TEXTURES_FLOOR_ICE_3 = 185,
    DATA_TEXTURES_FLOOR_ICE_4 = 186,
    DATA_TEXTURES_FLOOR_JUNGLE_0 = 138,
    DATA_TEXTURES_FLOOR_JUNGLE_1 = 139,
    DATA_TEXTURES_FLOOR_JUNGLE_2 = 140,
    DATA_TEXTURES_FLOOR_JUNGLE_3 = 144,
    DATA_TEXTURES_FLOOR_SUNKEN_0 = 197,
    DATA_TEXTURES_FLOOR_SUNKEN_1 = 198,
    DATA_TEXTURES_FLOOR_SUNKEN_2 = 199,
    DATA_TEXTURES_FLOOR_SUNKEN_3 = 200,
    DATA_TEXTURES_FLOOR_SUNKEN_4 = 201,
    DATA_TEXTURES_FLOOR_SUNKEN_5 = 208,
    DATA_TEXTURES_FLOOR_SUNKEN_6 = 209,
    DATA_TEXTURES_FLOOR_SUNKEN_7 = 210,
    DATA_TEXTURES_FLOOR_SURFACE_0 = 101,
    DATA_TEXTURES_FLOOR_TEMPLE_0 = 160,
    DATA_TEXTURES_FLOOR_TEMPLE_1 = 161,
    DATA_TEXTURES_FLOOR_TEMPLE_2 = 162,
    DATA_TEXTURES_FLOOR_TEMPLE_3 = 166,
    DATA_TEXTURES_FLOOR_TEMPLE_4 = 167,
    DATA_TEXTURES_FLOOR_TIDEPOOL_0 = 168,
    DATA_TEXTURES_FLOOR_TIDEPOOL_1 = 169,
    DATA_TEXTURES_FLOOR_TIDEPOOL_2 = 170,
    DATA_TEXTURES_FLOOR_TIDEPOOL_3 = 171,
    DATA_TEXTURES_FLOOR_TIDEPOOL_4 = 172,
    DATA_TEXTURES_FLOOR_TIDEPOOL_5 = 176,
    DATA_TEXTURES_FLOOR_VOLCANO_0 = 145,
    DATA_TEXTURES_FLOOR_VOLCANO_1 = 146,
    DATA_TEXTURES_FLOOR_VOLCANO_2 = 147,
    DATA_TEXTURES_FLOOR_VOLCANO_3 = 148,
    DATA_TEXTURES_FLOOR_VOLCANO_4 = 154,
    DATA_TEXTURES_FLOOR_VOLCANO_5 = 155,
    DATA_TEXTURES_FONTDEBUG_0 = 20,
    DATA_TEXTURES_FONTFIRASANS_0 = 7,
    DATA_TEXTURES_FONTMONO_0 = 19,
    DATA_TEXTURES_FONTNEWRODIN_0 = 8,
    DATA_TEXTURES_FONTNOTOSANSBOLDCS_0_0 = 12,
    DATA_TEXTURES_FONTNOTOSANSBOLDCT_0_0 = 14,
    DATA_TEXTURES_FONTNOTOSANSBOLDKO_0_0 = 16,
    DATA_TEXTURES_FONTNOTOSANSBOLDNICKNAMES_0_0 = 18,
    DATA_TEXTURES_FONTNOTOSANSBOLDRU_0_0 = 10,
    DATA_TEXTURES_FONTNOTOSANSITALICCS_0_0 = 13,
    DATA_TEXTURES_FONTNOTOSANSITALICCT_0_0 = 15,
    DATA_TEXTURES_FONTNOTOSANSITALICKO_0_0 = 17,
    DATA_TEXTURES_FONTNOTOSANSITALICRU_0_0 = 11,
    DATA_TEXTURES_FONTRODINCATTLEYA_0 = 9,
    DATA_TEXTURES_FONTYORKTEN_0 = 6,
    DATA_TEXTURES_FX_ANKH_0 = 382,
    DATA_TEXTURES_FX_ANKH_1 = 383,
    DATA_TEXTURES_FX_BIG_0 = 380,
    DATA_TEXTURES_FX_EXPLOSION_0 = 375,
    DATA_TEXTURES_FX_RUBBLE_0 = 381,
    DATA_TEXTURES_FX_SMALL2_0 = 377,
    DATA_TEXTURES_FX_SMALL3_0 = 378,
    DATA_TEXTURES_FX_SMALL3_1 = 379,
    DATA_TEXTURES_FX_SMALL_0 = 376,
    DATA_TEXTURES_HUD_0 = 65,
    DATA_TEXTURES_HUD_1 = 66,
    DATA_TEXTURES_HUD_2 = 67,
    DATA_TEXTURES_HUD_CONTROLLER_BUTTONS_0 = 69,
    DATA_TEXTURES_HUD_CONTROLLER_BUTTONS_1 = 70,
    DATA_TEXTURES_HUD_CONTROLLER_BUTTONS_2 = 71,
    DATA_TEXTURES_HUD_CONTROLLER_BUTTONS_3 = 72,
    DATA_TEXTURES_HUD_CONTROLLER_BUTTONS_4 = 73,
    DATA_TEXTURES_HUD_TEXT_0 = 68,
    DATA_TEXTURES_ITEMS_0 = 373,
    DATA_TEXTURES_ITEMS_USHABTI_0 = 194,
    DATA_TEXTURES_JOURNAL_BACK_0 = 76,
    DATA_TEXTURES_JOURNAL_ELEMENTS_0 = 93,
    DATA_TEXTURES_JOURNAL_ELEMENTS_1 = 94,
    DATA_TEXTURES_JOURNAL_ENTRY_BG_0 = 86,
    DATA_TEXTURES_JOURNAL_ENTRY_ITEMS_0 = 92,
    DATA_TEXTURES_JOURNAL_ENTRY_MONS_0 = 88,
    DATA_TEXTURES_JOURNAL_ENTRY_MONS_BIG_0 = 89,
    DATA_TEXTURES_JOURNAL_ENTRY_PEOPLE_0 = 90,
    DATA_TEXTURES_JOURNAL_ENTRY_PEOPLE_1 = 91,
    DATA_TEXTURES_JOURNAL_ENTRY_PLACE_0 = 87,
    DATA_TEXTURES_JOURNAL_ENTRY_TRAPS_0 = 95,
    DATA_TEXTURES_JOURNAL_ENTRY_TRAPS_1 = 96,
    DATA_TEXTURES_JOURNAL_ENTRY_TRAPS_2 = 97,
    DATA_TEXTURES_JOURNAL_ENTRY_TRAPS_3 = 100,
    DATA_TEXTURES_JOURNAL_PAGEFLIP_0 = 77,
    DATA_TEXTURES_JOURNAL_PAGETORN_0 = 75,
    DATA_TEXTURES_JOURNAL_SELECT_0 = 78,
    DATA_TEXTURES_JOURNAL_STICKERS_0 = 79,
    DATA_TEXTURES_JOURNAL_STICKERS_1 = 80,
    DATA_TEXTURES_JOURNAL_STICKERS_2 = 81,
    DATA_TEXTURES_JOURNAL_STORY_0 = 98,
    DATA_TEXTURES_JOURNAL_TOP_ENTRY_0 = 83,
    DATA_TEXTURES_JOURNAL_TOP_GAMEOVER_0 = 84,
    DATA_TEXTURES_JOURNAL_TOP_MAIN_0 = 82,
    DATA_TEXTURES_JOURNAL_TOP_PROFILE_0 = 85,
    DATA_TEXTURES_JOURNAL_TROPHIES_0 = 99,
    DATA_TEXTURES_KEYBOARD_BUTTONS_0 = 74,
    DATA_TEXTURES_LOADING_0 = 1,
    DATA_TEXTURES_LUT_BACKLAYER_0 = 396,
    DATA_TEXTURES_LUT_BLACKMARKET_0 = 397,
    DATA_TEXTURES_LUT_ICECAVES_0 = 399,
    DATA_TEXTURES_LUT_ORIGINAL_0 = 395,
    DATA_TEXTURES_LUT_VLAD_0 = 398,
    DATA_TEXTURES_MAIN_BODY_0 = 23,
    DATA_TEXTURES_MAIN_DIRT_0 = 24,
    DATA_TEXTURES_MAIN_DOORBACK_0 = 26,
    DATA_TEXTURES_MAIN_DOORFRAME_0 = 27,
    DATA_TEXTURES_MAIN_DOOR_0 = 25,
    DATA_TEXTURES_MAIN_FORE1_0 = 28,
    DATA_TEXTURES_MAIN_FORE2_0 = 29,
    DATA_TEXTURES_MAIN_HEAD_0 = 30,
    DATA_TEXTURES_MENU_BASIC_0 = 41,
    DATA_TEXTURES_MENU_BASIC_1 = 42,
    DATA_TEXTURES_MENU_BASIC_2 = 43,
    DATA_TEXTURES_MENU_BASIC_3 = 44,
    DATA_TEXTURES_MENU_BASIC_4 = 45,
    DATA_TEXTURES_MENU_BASIC_5 = 46,
    DATA_TEXTURES_MENU_BASIC_6 = 47,
    DATA_TEXTURES_MENU_BRICK1_0 = 39,
    DATA_TEXTURES_MENU_BRICK2_0 = 40,
    DATA_TEXTURES_MENU_CAVE1_0 = 37,
    DATA_TEXTURES_MENU_CAVE2_0 = 38,
    DATA_TEXTURES_MENU_CHARDOOR_0 = 35,
    DATA_TEXTURES_MENU_CHARSEL_0 = 34,
    DATA_TEXTURES_MENU_DEATHMATCH2_0 = 54,
    DATA_TEXTURES_MENU_DEATHMATCH2_1 = 55,
    DATA_TEXTURES_MENU_DEATHMATCH3_0 = 56,
    DATA_TEXTURES_MENU_DEATHMATCH4_0 = 57,
    DATA_TEXTURES_MENU_DEATHMATCH5_0 = 58,
    DATA_TEXTURES_MENU_DEATHMATCH5_1 = 59,
    DATA_TEXTURES_MENU_DEATHMATCH5_2 = 60,
    DATA_TEXTURES_MENU_DEATHMATCH5_3 = 61,
    DATA_TEXTURES_MENU_DEATHMATCH6_0 = 62,
    DATA_TEXTURES_MENU_DEATHMATCH_0 = 53,
    DATA_TEXTURES_MENU_DISP_0 = 31,
    DATA_TEXTURES_MENU_DISP_1 = 32,
    DATA_TEXTURES_MENU_DISP_2 = 33,
    DATA_TEXTURES_MENU_GENERIC_0 = 36,
    DATA_TEXTURES_MENU_HEADER_0 = 48,
    DATA_TEXTURES_MENU_LEADER_0 = 49,
    DATA_TEXTURES_MENU_LEADER_1 = 50,
    DATA_TEXTURES_MENU_LEADER_2 = 51,
    DATA_TEXTURES_MENU_LEADER_3 = 52,
    DATA_TEXTURES_MENU_ONLINE_0 = 63,
    DATA_TEXTURES_MENU_TITLEGAL_0 = 22,
    DATA_TEXTURES_MENU_TITLE_0 = 21,
    DATA_TEXTURES_MENU_TUNNEL_0 = 64,
    DATA_TEXTURES_MONSTERS01_0 = 311,
    DATA_TEXTURES_MONSTERS02_0 = 312,
    DATA_TEXTURES_MONSTERS02_1 = 371,
    DATA_TEXTURES_MONSTERS02_2 = 372,
    DATA_TEXTURES_MONSTERS03_0 = 313,
    DATA_TEXTURES_MONSTERS03_1 = 314,
    DATA_TEXTURES_MONSTERSBASIC01_0 = 308,
    DATA_TEXTURES_MONSTERSBASIC02_0 = 309,
    DATA_TEXTURES_MONSTERSBASIC03_0 = 310,
    DATA_TEXTURES_MONSTERSBIG01_0 = 315,
    DATA_TEXTURES_MONSTERSBIG02_0 = 316,
    DATA_TEXTURES_MONSTERSBIG02_1 = 317,
    DATA_TEXTURES_MONSTERSBIG02_2 = 318,
    DATA_TEXTURES_MONSTERSBIG03_0 = 319,
    DATA_TEXTURES_MONSTERSBIG04_0 = 320,
    DATA_TEXTURES_MONSTERSBIG04_1 = 321,
    DATA_TEXTURES_MONSTERSBIG04_2 = 322,
    DATA_TEXTURES_MONSTERSBIG04_3 = 370,
    DATA_TEXTURES_MONSTERSBIG05_0 = 323,
    DATA_TEXTURES_MONSTERSBIG05_1 = 324,
    DATA_TEXTURES_MONSTERSBIG05_2 = 326,
    DATA_TEXTURES_MONSTERSBIG05_3 = 327,
    DATA_TEXTURES_MONSTERSBIG05_4 = 328,
    DATA_TEXTURES_MONSTERSBIG06_0 = 329,
    DATA_TEXTURES_MONSTERSBIG06_1 = 330,
    DATA_TEXTURES_MONSTERSBIG06_10 = 339,
    DATA_TEXTURES_MONSTERSBIG06_2 = 331,
    DATA_TEXTURES_MONSTERSBIG06_3 = 332,
    DATA_TEXTURES_MONSTERSBIG06_4 = 333,
    DATA_TEXTURES_MONSTERSBIG06_5 = 334,
    DATA_TEXTURES_MONSTERSBIG06_6 = 335,
    DATA_TEXTURES_MONSTERSBIG06_7 = 336,
    DATA_TEXTURES_MONSTERSBIG06_8 = 337,
    DATA_TEXTURES_MONSTERSBIG06_9 = 338,
    DATA_TEXTURES_MONSTERS_GHOST_0 = 340,
    DATA_TEXTURES_MONSTERS_GHOST_1 = 341,
    DATA_TEXTURES_MONSTERS_HUNDUN_0 = 364,
    DATA_TEXTURES_MONSTERS_HUNDUN_1 = 365,
    DATA_TEXTURES_MONSTERS_HUNDUN_2 = 366,
    DATA_TEXTURES_MONSTERS_HUNDUN_3 = 367,
    DATA_TEXTURES_MONSTERS_HUNDUN_4 = 368,
    DATA_TEXTURES_MONSTERS_HUNDUN_5 = 369,
    DATA_TEXTURES_MONSTERS_OLMEC_0 = 342,
    DATA_TEXTURES_MONSTERS_OLMEC_1 = 343,
    DATA_TEXTURES_MONSTERS_OLMEC_2 = 344,
    DATA_TEXTURES_MONSTERS_OLMEC_3 = 345,
    DATA_TEXTURES_MONSTERS_OLMEC_4 = 346,
    DATA_TEXTURES_MONSTERS_OSIRIS_0 = 347,
    DATA_TEXTURES_MONSTERS_OSIRIS_1 = 348,
    DATA_TEXTURES_MONSTERS_OSIRIS_2 = 349,
    DATA_TEXTURES_MONSTERS_OSIRIS_3 = 350,
    DATA_TEXTURES_MONSTERS_OSIRIS_4 = 351,
    DATA_TEXTURES_MONSTERS_PETS_0 = 307,
    DATA_TEXTURES_MONSTERS_TIAMAT_0 = 352,
    DATA_TEXTURES_MONSTERS_TIAMAT_1 = 353,
    DATA_TEXTURES_MONSTERS_TIAMAT_2 = 354,
    DATA_TEXTURES_MONSTERS_TIAMAT_3 = 355,
    DATA_TEXTURES_MONSTERS_TIAMAT_4 = 356,
    DATA_TEXTURES_MONSTERS_TIAMAT_5 = 357,
    DATA_TEXTURES_MONSTERS_TIAMAT_6 = 358,
    DATA_TEXTURES_MONSTERS_TIAMAT_7 = 359,
    DATA_TEXTURES_MONSTERS_TIAMAT_8 = 360,
    DATA_TEXTURES_MONSTERS_YAMA_0 = 361,
    DATA_TEXTURES_MONSTERS_YAMA_1 = 362,
    DATA_TEXTURES_MONSTERS_YAMA_2 = 363,
    DATA_TEXTURES_MOUNTS_0 = 374,
    DATA_TEXTURES_NOISE0_0 = 393,
    DATA_TEXTURES_NOISE1_0 = 394,
    DATA_TEXTURES_OLDTEXTURES_AI_0 = 389,
    DATA_TEXTURES_PLACEHOLDER_0 = 0,
    DATA_TEXTURES_SAVING_0 = 2,
    DATA_TEXTURES_SHADOWS_0 = 384,
    DATA_TEXTURES_SHINE_0 = 388,
    DATA_TEXTURES_SPLASH0_0 = 3,
    DATA_TEXTURES_SPLASH1_0 = 4,
    DATA_TEXTURES_SPLASH2_0 = 5,
}

---@alias THEME integer
THEME = {
    ABZU = 13,
    ARENA = 18,
    BASE_CAMP = 17,
    CITY_OF_GOLD = 11,
    COSMIC_OCEAN = 10,
    DUAT = 12,
    DWELLING = 1,
    EGGPLANT_WORLD = 15,
    HUNDUN = 16,
    ICE_CAVES = 7,
    JUNGLE = 2,
    NEO_BABYLON = 8,
    OLMEC = 4,
    SUNKEN_CITY = 9,
    TEMPLE = 6,
    TIAMAT = 14,
    TIDE_POOL = 5,
    VOLCANA = 3,
}

---@alias THEME_OVERRIDE integer
THEME_OVERRIDE = {
    BACKLAYER_LIGHT_LEVEL = 40,
    BASE_ID = 27,
    COFFIN = 11,
    DIRK_COFFIN = 8,
    DO_PROCEDURAL_SPAWN = 51,
    DTOR = 0,
    ENT_BACKWALL = 33,
    ENT_BORDER = 34,
    ENT_CRITTER = 35,
    ENT_FLOOR_SPREADING = 28,
    ENT_FLOOR_SPREADING2 = 29,
    ENT_TRANSITION_STYLED_FLOOR = 32,
    EXIT_ROOM_Y_LEVEL = 46,
    FEELING = 12,
    GENERATE_PATH = 5,
    GRAVITY = 36,
    IDOL = 9,
    INIT_FLAGS = 2,
    INIT_LEVEL = 3,
    INIT_ROOMS = 4,
    LOOP = 41,
    PLAYER_COFFIN = 7,
    PLAYER_DAMAGE = 37,
    POST_PROCESS_ENTITIES = 17,
    POST_PROCESS_LEVEL = 15,
    POST_TRANSITION = 22,
    PRE_TRANSITION = 45,
    RESET_THEME_FLAGS = 1,
    SHOP_CHANCE = 47,
    SOOT = 38,
    SPAWN_BACKGROUND = 19,
    SPAWN_BORDER = 14,
    SPAWN_DECORATION = 48,
    SPAWN_DECORATION2 = 49,
    SPAWN_EFFECTS = 24,
    SPAWN_EXTRA = 50,
    SPAWN_LEVEL = 13,
    SPAWN_LIGHTS = 20,
    SPAWN_PLAYERS = 23,
    SPAWN_PROCEDURAL = 18,
    SPAWN_TRANSITION = 21,
    SPAWN_TRAPS = 16,
    SPECIAL_ROOMS = 6,
    TEXTURE_BACKLAYER_LUT = 39,
    TEXTURE_DYNAMIC = 44,
    THEME_FLAG = 43,
    THEME_ID = 26,
    TRANSITION_MODIFIER = 31,
    TRANSITION_STYLED_FLOOR = 30,
    VAULT = 10,
    VAULT_LEVEL = 42,
}

---@alias TILE_CODE integer
TILE_CODE = {
    ADJACENT_FLOOR = 29,
    ALIEN = 148,
    ALIENQUEEN = 154,
    ALIEN_GENERATOR = 156,
    ALTAR = 185,
    ALTAR_DUAT = 341,
    AMMIT = 174,
    ANKH = 197,
    ANUBIS = 130,
    ANUBIS2 = 253,
    APEP = 379,
    APEP_LEFT = 380,
    APEP_RIGHT = 381,
    ARROW_METAL = 393,
    ARROW_METAL_POISON = 395,
    ARROW_TRAP = 55,
    ARROW_WOODEN = 392,
    ARROW_WOODEN_POISON = 394,
    ASSASSIN = 254,
    AUTOWALLTORCH = 100,
    BABYLON_FLOOR = 18,
    BACK_HOVERPACK = 311,
    BACK_JETPACK = 309,
    BACK_POWERPACK = 312,
    BACK_TELEPACK = 310,
    BAT = 241,
    BAT_FLYING = 242,
    BEE = 257,
    BEEHIVE_FLOOR = 21,
    BEE_QUEEN = 258,
    BIGSPEAR_TRAP = 176,
    BODYGUARD = 230,
    BOMB = 285,
    BOMB_BAG = 283,
    BOMB_BOX = 284,
    BONE_BLOCK = 6,
    BONE_KEY = 305,
    BOOMBOX = 397,
    BOOMERANG = 318,
    BOULDER = 378,
    BUBBLE_PLATFORM = 369,
    BUNKBED = 75,
    BUSH_BLOCK = 7,
    CAMERA = 316,
    CAPE = 307,
    CATMUMMY = 135,
    CAVEMAN = 114,
    CAVEMANBOSS = 117,
    CAVEMANSHOPKEEPER = 219,
    CAVEMAN_ASLEEP = 115,
    CHAINANDBLOCKS_CEILING = 59,
    CHAIN_CEILING = 60,
    CHAIR_LOOKING_LEFT = 78,
    CHAIR_LOOKING_RIGHT = 79,
    CHALLENGE_WAITROOM = 218,
    CHUNK_AIR = 2,
    CHUNK_DOOR = 3,
    CHUNK_GROUND = 1,
    CLIMBING_GLOVES = 290,
    CLIMBING_POLE = 36,
    CLONEGUN = 324,
    CLOVER = 107,
    COARSE_LAVA = 235,
    COARSE_WATER = 233,
    COBRA = 132,
    COBWEB = 343,
    COFFIN = 196,
    COG_DOOR = 239,
    COG_FLOOR = 23,
    COMPASS = 295,
    COMPASS_ALIEN = 296,
    CONSTRUCTION_SIGN = 72,
    CONVEYORBELT_LEFT = 61,
    CONVEYORBELT_RIGHT = 62,
    COOKED_TURKEY = 105,
    COOKFIRE = 192,
    COSMIC_JELLY = 263,
    COSMIC_ORB = 339,
    COUCH = 80,
    CRABMAN = 374,
    CRATE = 92,
    CRATE_BOMBS = 93,
    CRATE_PARACHUTE = 95,
    CRATE_ROPES = 94,
    CRITTER_BUTTERFLY = 361,
    CRITTER_CRAB = 364,
    CRITTER_DRONE = 368,
    CRITTER_DUNGBEETLE = 360,
    CRITTER_FIREFLY = 367,
    CRITTER_FISH = 363,
    CRITTER_LOCUST = 365,
    CRITTER_PENGUIN = 366,
    CRITTER_SLIME = 389,
    CRITTER_SNAIL = 362,
    CROCMAN = 131,
    CROSSBOW = 202,
    CROWN = 301,
    CROWN_STATUE = 127,
    CRUSHING_ELEVATOR = 184,
    CRUSHTRAP = 64,
    CRUSHTRAPLARGE = 65,
    CURSED_POT = 109,
    DIAMOND = 277,
    DIE = 215,
    DININGTABLE = 76,
    DM_SPAWN_POINT = 50,
    DOG_SIGN = 82,
    DOOR = 43,
    DOOR2 = 45,
    DOOR2_SECRET = 46,
    DOOR_DROP_HELD = 47,
    DRESSER = 74,
    DRILL = 193,
    DUAT_FLOOR = 25,
    DUSTWALL = 240,
    EGGPLANT = 275,
    EGGPLANT_ALTAR = 157,
    EGGPLANT_CHILD = 159,
    EGGPLANT_CROWN = 302,
    EGGPLANT_DOOR = 179,
    EGGPLUP = 412,
    EGGSAC = 344,
    EGGSAC_BOTTOM = 348,
    EGGSAC_LEFT = 345,
    EGGSAC_RIGHT = 347,
    EGGSAC_TOP = 346,
    ELEVATOR = 68,
    ELIXIR = 287,
    EMERALD = 278,
    EMPRESS_GRAVE = 160,
    EMPTY = 0,
    EMPTY_MECH = 111,
    ENTRANCE = 40,
    ENTRANCE_SHORTCUT = 41,
    EXCALIBUR = 320,
    EXCALIBUR_BROKEN = 321,
    EXCALIBUR_STONE = 198,
    EXCALIBUR_STONE_EMPTY = 322,
    EXIT = 42,
    FACTORY_GENERATOR = 63,
    FALLING_PLATFORM = 58,
    FIREBUG = 248,
    FLOOR = 4,
    FLOOR_HARD = 28,
    FLYING_FISH = 373,
    FORCEFIELD = 217,
    FORCEFIELD_HORIZONTAL = 333,
    FORCEFIELD_HORIZONTAL_TOP = 334,
    FORCEFIELD_TIMED = 416,
    FORCEFIELD_TOP = 70,
    FOUNTAIN_DRAIN = 143,
    FOUNTAIN_HEAD = 142,
    FROG = 259,
    FROG_ORANGE = 260,
    FURNITURE_CHAIR_LOOKING_LEFT = 405,
    FURNITURE_CHAIR_LOOKING_RIGHT = 406,
    FURNITURE_CONSTRUCTION_SIGN = 402,
    FURNITURE_DININGTABLE = 407,
    FURNITURE_DRESSER = 398,
    FURNITURE_SIDETABLE = 409,
    FURNITURE_SINGLEBED = 403,
    GHIST_DOOR2 = 48,
    GHIST_PRESENT = 358,
    GHIST_SHOPKEEPER = 220,
    GHOST = 264,
    GHOST_MED_HAPPY = 266,
    GHOST_MED_SAD = 265,
    GHOST_SMALL_ANGRY = 267,
    GHOST_SMALL_HAPPY = 270,
    GHOST_SMALL_SAD = 268,
    GHOST_SMALL_SURPRISED = 269,
    GIANTCLAM = 141,
    GIANTFOOD = 286,
    GIANT_FLY = 372,
    GIANT_FROG = 180,
    GIANT_SPIDER = 122,
    GOLDBARS = 91,
    GOLD_BAR = 276,
    GROWABLE_CLIMBING_POLE = 37,
    GROWABLE_VINE = 35,
    GRUB = 349,
    GUN_FREEZERAY = 315,
    GUN_SHOTGUN = 314,
    GUN_WEBGUN = 313,
    GUTS_FLOOR = 27,
    HAUNTED_CORPSE = 110,
    HEDJET = 300,
    HERMITCRAB = 140,
    HONEY_DOWNWARDS = 200,
    HONEY_UPWARDS = 199,
    HOUYIBOW = 205,
    HUMPHEAD = 331,
    HUNDUN = 261,
    HUNDUN_SPIKES = 408,
    ICEFLOOR = 152,
    IDOL = 186,
    IDOL_FLOOR = 187,
    IDOL_HOLD = 188,
    IMP = 124,
    JIANGSHI = 138,
    JUMPDOG = 181,
    JUNGLE_FLOOR = 10,
    JUNGLE_SPEAR_TRAP = 57,
    KAPALA = 299,
    KEY = 203,
    KINGU = 144,
    LADDER = 32,
    LADDER_PLAT = 33,
    LAMASSU = 161,
    LAMP_HANG = 209,
    LANDMINE = 149,
    LASER_TRAP = 162,
    LAVA = 234,
    LAVAMANDER = 125,
    LAVA_POT = 354,
    LEAF = 271,
    LEPRECHAUN = 137,
    LIGHTARROW = 206,
    LION_TRAP = 238,
    LITTORCH = 97,
    LITWALLTORCH = 99,
    LIZARD = 245,
    LOCKEDCHEST = 101,
    LOCKED_DOOR = 49,
    MACHETE = 319,
    MADAMETUSK = 229,
    MANTRAP = 120,
    MATTOCK = 201,
    MERCHANT = 216,
    MINEWOOD_FLOOR = 12,
    MINEWOOD_FLOOR_HANGING_HIDE = 14,
    MINEWOOD_FLOOR_NOREPLACE = 13,
    MINISTER = 182,
    MOAI_STATUE = 158,
    MOLE = 246,
    MONKEY = 247,
    MONKEY_GOLD = 340,
    MOSQUITO = 121,
    MOTHERSHIP_FLOOR = 24,
    MOTHER_STATUE = 178,
    MOUNT_AXOLOTL = 329,
    MOUNT_QILIN = 330,
    MOUNT_ROCKDOG = 328,
    MOVABLE_SPIKES = 396,
    MUMMY = 133,
    MUSHROOM_BASE = 103,
    NECROMANCER = 136,
    NONREPLACEABLE_BABYLON_FLOOR = 19,
    NONREPLACEABLE_FLOOR = 5,
    OCTOPUS = 139,
    OLDHUNTER = 227,
    OLMEC = 128,
    OLMECSHIP = 173,
    OLMITE = 164,
    OLMITE_ARMORED = 384,
    OLMITE_HELMET = 383,
    OLMITE_NAKED = 382,
    OSIRIS = 252,
    PAGODA_FLOOR = 17,
    PAGODA_PLATFORM = 39,
    PALACE_BOOKCASE = 171,
    PALACE_CANDLE = 170,
    PALACE_CHANDELIER = 169,
    PALACE_ENTRANCE = 166,
    PALACE_FLOOR = 26,
    PALACE_SIGN = 359,
    PALACE_TABLE = 167,
    PALACE_TABLE_TRAY = 168,
    PANGXIE = 415,
    PARACHUTE = 297,
    PASTE = 294,
    PEN_FLOOR = 224,
    PEN_LOCKED_DOOR = 225,
    PET_MONTY = 335,
    PET_PERCY = 336,
    PET_POOCHI = 337,
    PILLAR = 129,
    PIPE = 175,
    PITCHERS_MITT = 291,
    PLASMA_CANNON = 204,
    PLATFORM = 38,
    PLAYERBAG = 306,
    POT = 108,
    POTOFGOLD = 90,
    POWDER_KEG = 54,
    POWDER_KEG_TIMED = 417,
    PRESENT = 332,
    PROTO_GENERATOR = 411,
    PROTO_SHOPKEEPER = 355,
    PUNISHBALL = 370,
    PUNISHBALL_ATTACH = 371,
    PUNISHBALL_ATTACH_BOTTOM = 388,
    PUNISHBALL_ATTACH_LEFT = 385,
    PUNISHBALL_ATTACH_RIGHT = 386,
    PUNISHBALL_ATTACH_TOP = 387,
    PUSH_BLOCK = 53,
    QUICKSAND = 66,
    QUILLBACK = 401,
    REDSKELETON = 244,
    REGENERATING_BLOCK = 31,
    ROBOT = 123,
    ROCK = 96,
    ROPE = 281,
    ROPE_PILE = 282,
    ROPE_UNROLLED = 338,
    ROYAL_JELLY = 106,
    RUBY = 280,
    SAPPHIRE = 279,
    SCARAB = 262,
    SCEPTER = 323,
    SCORPION = 116,
    SEEDED_RUN_UNLOCKER = 288,
    SHIELD_METAL = 326,
    SHIELD_WOODEN = 325,
    SHOES_SPIKE = 293,
    SHOES_SPRING = 292,
    SHOPKEEPER = 214,
    SHOPKEEPER_CLONE = 356,
    SHOPKEEPER_VAT = 155,
    SHOP_DOOR = 207,
    SHOP_ITEM = 221,
    SHOP_PAGODAWALL = 212,
    SHOP_SIGN = 208,
    SHOP_WALL = 210,
    SHOP_WOODWALL = 211,
    SHORTCUT_STATION_BANNER = 83,
    SIDETABLE = 77,
    SINGLEBED = 73,
    SISTER = 226,
    SKELETON = 243,
    SKELETON_KEY = 400,
    SKULL = 390,
    SKULL_DROP_TRAP = 353,
    SLEEPING_HIREDHAND = 222,
    SLIDINGWALL = 375,
    SLIDINGWALL_CEILING = 146,
    SLIDINGWALL_SWITCH = 145,
    SNAKE = 113,
    SNAP_TRAP = 112,
    SORCERESS = 134,
    SPARK_TRAP = 163,
    SPARROW = 410,
    SPECS = 289,
    SPIDER = 350,
    SPIDER_FALLING = 351,
    SPIDER_HANGING = 352,
    SPIKEBALL = 342,
    SPIKEBALL_NO_BOUNCE = 377,
    SPIKEBALL_TRAP = 376,
    SPIKES = 51,
    SPIKES_UPSIDEDOWN = 418,
    SPRING_TRAP = 151,
    STARTING_EXIT = 44,
    STICKY_TRAP = 177,
    STONE_FLOOR = 15,
    STORAGE_FLOOR = 189,
    STORAGE_GUY = 231,
    STYLED_FLOOR = 11,
    SUNKEN_FLOOR = 20,
    SURFACE_FLOOR = 8,
    SURFACE_HIDDEN_FLOOR = 9,
    TABLET = 304,
    TADPOLE = 357,
    TELEPORTER = 317,
    TELESCOPE = 84,
    TEMPLE_FLOOR = 16,
    THIEF = 228,
    THINICE = 153,
    THIN_ICE = 399,
    THORN_VINE = 56,
    TIAMAT = 172,
    TIKIMAN = 118,
    TIMED_FORCEFIELD = 69,
    TIMED_POWDER_KEG = 67,
    TOMB_FLOOR = 30,
    TOTEM_TRAP = 237,
    TREASURE = 87,
    TREASURE_CHEST = 88,
    TREASURE_VAULTCHEST = 89,
    TREE_BASE = 102,
    TRUE_CROWN = 303,
    TUN = 413,
    TURKEY = 104,
    TUTORIAL_MENU_SIGN = 274,
    TUTORIAL_SPEEDRUN_SIGN = 273,
    TV = 81,
    UDJAT_CHEST = 404,
    UDJAT_EYE = 298,
    UDJAT_KEY = 272,
    UDJAT_SOCKET = 194,
    UDJAT_TARGET = 327,
    UFO = 147,
    UPSIDEDOWN_SPIKES = 52,
    USHABTI = 71,
    VAMPIRE = 249,
    VAMPIRE_FLYING = 250,
    VAN_HORSING = 414,
    VAULT_WALL = 195,
    VENOM = 391,
    VINE = 34,
    VLAD = 126,
    VLADS_CAPE = 308,
    VLAD_FLOOR = 22,
    VLAD_FLYING = 251,
    WALLTORCH = 98,
    WANTED_POSTER = 213,
    WATER = 232,
    WITCHDOCTOR = 119,
    WOODENLOG_TRAP = 190,
    WOODENLOG_TRAP_CEILING = 191,
    YAMA = 183,
    YANG = 223,
    YETI = 150,
    YETI_KING = 255,
    YETI_QUEEN = 256,
    ZOO_EXHIBIT = 165,
}

---Madame Tusk quest states
---@alias TUSK integer
TUSK = {
    ANGRY = -2,
    DEAD = -1,
    DICE_HOUSE_SPAWNED = 1,
    HIGH_ROLLER_STATUS = 2,
    PALACE_WELCOME_MESSAGE = 3,
    QUEST_NOT_STARTED = 0,
}

---Van Horsing quest states
---@alias VANHORSING integer
VANHORSING = {
    FIRST_ENCOUNTER_DIAMOND_THROWN = 2,
    JAILCELL_SPAWNED = 1,
    QUEST_NOT_STARTED = 0,
    SECOND_ENCOUNTER_COMPASS_THROWN = 6,
    SHOT_VLAD = 4,
    SPAWNED_IN_VLADS_CASTLE = 3,
    TEMPLE_HIDEOUT_SPAWNED = 5,
    TUSK_CELLAR = 7,
}

---Used in the `render_ctx:draw_text` and `render_ctx:draw_text_size` functions of the ON.RENDER_PRE/POST_xxx event
---There are more styles, we just didn't name them all
---@alias VANILLA_FONT_STYLE integer
VANILLA_FONT_STYLE = {
    BOLD = 2,
    ITALIC = 1,
    NORMAL = 0,
}

---Paramater to `get_sound()`, which returns a handle to a vanilla sound, and `set_vanilla_sound_callback()`,
---@alias VANILLA_SOUND integer|string
VANILLA_SOUND = {
    BGM_BGM_BASECAMP = "BGM/BGM_basecamp",
    BGM_BGM_CREDITS = "BGM/BGM_credits",
    BGM_BGM_DM = "BGM/BGM_dm",
    BGM_BGM_ENDING = "BGM/BGM_ending",
    BGM_BGM_MASTER = "BGM/BGM_master",
    BGM_BGM_MENU = "BGM/BGM_menu",
    BGM_BGM_TITLE = nil, -- BGM/BGM_title
    CRITTERS_DRONE_CRASH = "Critters/Drone_crash",
    CRITTERS_DRONE_LOOP = "Critters/Drone_loop",
    CRITTERS_FIREFLY_FLASH = "Critters/Firefly_flash",
    CRITTERS_LOCUST_LOOP = "Critters/Locust_loop",
    CRITTERS_PENGUIN_JUMP1 = "Critters/Penguin_jump1",
    CRITTERS_PENGUIN_JUMP2 = "Critters/Penguin_jump2",
    CRITTERS_SNAIL_ATTACH = "Critters/Snail_attach",
    CUTSCENE_ANKH_CRACK = "Cutscene/Ankh_crack",
    CUTSCENE_ANKH_LOOP = "Cutscene/Ankh_loop",
    CUTSCENE_ANKH_PULSE = "Cutscene/Ankh_pulse",
    CUTSCENE_ANKH_SHATTER = "Cutscene/Ankh_shatter",
    CUTSCENE_BIG_TREASURE_LAND = "Cutscene/Big_treasure_land",
    CUTSCENE_BIG_TREASURE_OPEN = "Cutscene/Big_treasure_open",
    CUTSCENE_CAVE_RUMBLE = "Cutscene/Cave_rumble",
    CUTSCENE_CONSTELLATION_LOOP = "Cutscene/Constellation_loop",
    CUTSCENE_CREDITS_ASTEROID = "Cutscene/Credits_asteroid",
    CUTSCENE_CREDITS_THRUSTER_LOOP = "Cutscene/Credits_thruster_loop",
    CUTSCENE_CREDITS_UFO_BONK = "Cutscene/Credits_ufo_bonk",
    CUTSCENE_EGGSHIP_AMB_LOOP = "Cutscene/Eggship_amb_loop",
    CUTSCENE_EGGSHIP_DOOR = "Cutscene/Eggship_door",
    CUTSCENE_EGGSHIP_EMERGE = "Cutscene/Eggship_emerge",
    CUTSCENE_EGGSHIP_LAND = "Cutscene/Eggship_land",
    CUTSCENE_EGGSHIP_LOOP = "Cutscene/Eggship_loop",
    CUTSCENE_EGGSHIP_THRUSTER_LOOP = "Cutscene/Eggship_thruster_loop",
    CUTSCENE_JOURNAL_PAGE = "Cutscene/Journal_page",
    CUTSCENE_KEY_DROP = "Cutscene/Key_drop",
    CUTSCENE_MENU_INTRO_LOOP = "Cutscene/Menu_intro_loop",
    CUTSCENE_OUROBOROS_DOOR_LOOP = "Cutscene/Ouroboros_door_loop",
    CUTSCENE_OUROBOROS_LOOP = "Cutscene/Ouroboros_loop",
    CUTSCENE_OUROBOROS_SHAKE = "Cutscene/Ouroboros_shake",
    CUTSCENE_RUMBLE_LOOP = "Cutscene/Rumble_loop",
    DEATHMATCH_DM_BANNER = "Deathmatch/dm_banner",
    DEATHMATCH_DM_COUNTDOWN = "Deathmatch/dm_countdown",
    DEATHMATCH_DM_ITEM_SPAWN = "Deathmatch/dm_item_spawn",
    DEATHMATCH_DM_ITEM_WARN = "Deathmatch/dm_item_warn",
    DEATHMATCH_DM_PILLAR_CRUSH = "Deathmatch/dm_pillar_crush",
    DEATHMATCH_DM_PILLAR_LOOP = "Deathmatch/dm_pillar_loop",
    DEATHMATCH_DM_SCORE = "Deathmatch/dm_score",
    DEATHMATCH_DM_SPLASH = "Deathmatch/dm_splash",
    DEATHMATCH_DM_TIMER = "Deathmatch/dm_timer",
    DEFAULT_SOUND = "default_sound",
    ENEMIES_ALIEN_JUMP = "Enemies/Alien_jump",
    ENEMIES_ALIEN_QUEEN_LOOP = "Enemies/Alien_queen_loop",
    ENEMIES_ALIEN_QUEEN_SHOT = "Enemies/Alien_queen_shot",
    ENEMIES_ALIEN_QUEEN_SIGHT_LOOP = "Enemies/Alien_queen_sight_loop",
    ENEMIES_ALIEN_SPEECH = "Enemies/Alien_speech",
    ENEMIES_AMMIT_WALK = "Enemies/Ammit_walk",
    ENEMIES_ANUBIS_ACTIVATE = "Enemies/Anubis_activate",
    ENEMIES_ANUBIS_ATK = "Enemies/Anubis_atk",
    ENEMIES_ANUBIS_SPECIAL_SHOT = "Enemies/Anubis_special_shot",
    ENEMIES_ANUBIS_WARN = "Enemies/Anubis_warn",
    ENEMIES_APEP_BODY_LOOP = "Enemies/Apep_body_loop",
    ENEMIES_APEP_HEAD_LOOP = "Enemies/Apep_head_loop",
    ENEMIES_BAT_FLAP = "Enemies/Bat_flap",
    ENEMIES_BEE_LOOP = "Enemies/Bee_loop",
    ENEMIES_BEE_QUEEN_LOOP = "Enemies/Bee_queen_loop",
    ENEMIES_BOSS_CAVEMAN_BONK = "Enemies/Boss_caveman_bonk",
    ENEMIES_BOSS_CAVEMAN_CRUSH = "Enemies/Boss_caveman_crush",
    ENEMIES_BOSS_CAVEMAN_JUMP = "Enemies/Boss_caveman_jump",
    ENEMIES_BOSS_CAVEMAN_LAND = "Enemies/Boss_caveman_land",
    ENEMIES_BOSS_CAVEMAN_ROLL_LOOP = "Enemies/Boss_caveman_roll_loop",
    ENEMIES_BOSS_CAVEMAN_STEP = "Enemies/Boss_caveman_step",
    ENEMIES_BOSS_CAVEMAN_STOMP = "Enemies/Boss_caveman_stomp",
    ENEMIES_CATMUMMY_ATK = "Enemies/Catmummy_atk",
    ENEMIES_CATMUMMY_JUMP = "Enemies/Catmummy_jump",
    ENEMIES_CATMUMMY_RUN = "Enemies/Catmummy_run",
    ENEMIES_CAVEMAN_PRAY_LOOP = "Enemies/Caveman_pray_loop",
    ENEMIES_CAVEMAN_STEP = "Enemies/Caveman_step",
    ENEMIES_CAVEMAN_TALK = "Enemies/Caveman_talk",
    ENEMIES_CAVEMAN_TRIGGER = "Enemies/Caveman_trigger",
    ENEMIES_COBRA_ATK = "Enemies/Cobra_atk",
    ENEMIES_CROCMAN_ATK = "Enemies/Crocman_atk",
    ENEMIES_CROCMAN_TRIGGER = "Enemies/Crocman_trigger",
    ENEMIES_EGGPLANT_DOG_BOUNCE = "Enemies/Eggplant_dog_bounce",
    ENEMIES_EGGPLANT_MINISTER_LOOP = "Enemies/Eggplant_minister_loop",
    ENEMIES_EGGPLANT_MINISTER_MORPH = "Enemies/Eggplant_minister_morph",
    ENEMIES_EGGSAC_BURST = "Enemies/Eggsac_burst",
    ENEMIES_EGGSAC_WARN = "Enemies/Eggsac_warn",
    ENEMIES_ENEMY_HIT_INVINCIBLE = "Enemies/Enemy_hit_invincible",
    ENEMIES_FIREBUG_ARM = "Enemies/Firebug_arm",
    ENEMIES_FIREBUG_ATK_LOOP = "Enemies/Firebug_atk_loop",
    ENEMIES_FIREBUG_FLY_LOOP = "Enemies/Firebug_fly_loop",
    ENEMIES_FLYINGFISH_BONK = "Enemies/Flyingfish_bonk",
    ENEMIES_FLYINGFISH_FLAP = "Enemies/Flyingfish_flap",
    ENEMIES_FLYINGFISH_WIGGLE = "Enemies/Flyingfish_wiggle",
    ENEMIES_FROG_CHARGE_LOOP = "Enemies/Frog_charge_loop",
    ENEMIES_FROG_EAT = "Enemies/Frog_eat",
    ENEMIES_FROG_GIANT_OPEN = "Enemies/Frog_giant_open",
    ENEMIES_FROG_JUMP = "Enemies/Frog_jump",
    ENEMIES_GHIST_LOOP = "Enemies/Ghist_loop",
    ENEMIES_GHOST_LOOP = "Enemies/Ghost_loop",
    ENEMIES_GHOST_SPLIT = "Enemies/Ghost_split",
    ENEMIES_GIANT_FLY_EAT = "Enemies/Giant_fly_eat",
    ENEMIES_GIANT_FLY_LOOP = "Enemies/Giant_fly_loop",
    ENEMIES_GIANT_SPIDER_DROP = "Enemies/Giant_spider_drop",
    ENEMIES_GIANT_SPIDER_JUMP = "Enemies/Giant_spider_jump",
    ENEMIES_GIANT_SPIDER_WALK = "Enemies/Giant_spider_walk",
    ENEMIES_GOLD_MONKEY_JUMP = "Enemies/Gold_monkey_jump",
    ENEMIES_GOLD_MONKEY_POOP = "Enemies/Gold_monkey_poop",
    ENEMIES_GRUB_EVOLVE = "Enemies/Grub_evolve",
    ENEMIES_GRUB_JUMP = "Enemies/Grub_jump",
    ENEMIES_GRUB_LOOP = "Enemies/Grub_loop",
    ENEMIES_HANGSPIDER_ATK = "Enemies/Hangspider_atk",
    ENEMIES_HERMITCRAB_ATK = "Enemies/Hermitcrab_atk",
    ENEMIES_HERMITCRAB_MORPH = "Enemies/Hermitcrab_morph",
    ENEMIES_HUMPHEAD_LOOP = "Enemies/Humphead_loop",
    ENEMIES_HUNDUN_ATK = "Enemies/Hundun_atk",
    ENEMIES_HUNDUN_DEATH_LAND = "Enemies/Hundun_death_land",
    ENEMIES_HUNDUN_HEAD_DESTROY = "Enemies/Hundun_head_destroy",
    ENEMIES_HUNDUN_HEAD_EMERGE = "Enemies/Hundun_head_emerge",
    ENEMIES_HUNDUN_HURT = "Enemies/Hundun_hurt",
    ENEMIES_HUNDUN_STEP = "Enemies/Hundun_step",
    ENEMIES_HUNDUN_WARN = "Enemies/Hundun_warn",
    ENEMIES_HUNDUN_WINGS_EMERGE = "Enemies/Hundun_wings_emerge",
    ENEMIES_HUNDUN_WING_FLAP = "Enemies/Hundun_wing_flap",
    ENEMIES_IMP_DROP = "Enemies/Imp_drop",
    ENEMIES_IMP_FLAP = "Enemies/Imp_flap",
    ENEMIES_JELLYFISH_LOOP = "Enemies/Jellyfish_loop",
    ENEMIES_JIANGSHI_CHARGE = "Enemies/Jiangshi_charge",
    ENEMIES_JIANGSHI_FEMALE_JUMP = "Enemies/Jiangshi_female_jump",
    ENEMIES_JIANGSHI_FLIP = "Enemies/Jiangshi_flip",
    ENEMIES_JIANGSHI_JUMP = "Enemies/Jiangshi_jump",
    ENEMIES_KILLED_ENEMY = "Enemies/Killed_enemy",
    ENEMIES_KILLED_ENEMY_BONES = "Enemies/Killed_enemy_bones",
    ENEMIES_KILLED_ENEMY_CORPSE = "Enemies/Killed_enemy_corpse",
    ENEMIES_KINGU_GRIP = "Enemies/Kingu_grip",
    ENEMIES_KINGU_HURT = "Enemies/Kingu_hurt",
    ENEMIES_KINGU_SLIDE_LOOP = "Enemies/Kingu_slide_loop",
    ENEMIES_LAMASSU_AIM_LOCK = "Enemies/Lamassu_aim_lock",
    ENEMIES_LAMASSU_AIM_LOOP = "Enemies/Lamassu_aim_loop",
    ENEMIES_LAMASSU_ATK_HIT = "Enemies/Lamassu_atk_hit",
    ENEMIES_LAMASSU_ATK_LOOP = "Enemies/Lamassu_atk_loop",
    ENEMIES_LAMASSU_FLY = "Enemies/Lamassu_fly",
    ENEMIES_LAMASSU_WALK = "Enemies/Lamassu_walk",
    ENEMIES_LAVAMANDER_ATK = "Enemies/Lavamander_atk",
    ENEMIES_LAVAMANDER_CHARGE = "Enemies/Lavamander_charge",
    ENEMIES_LAVAMANDER_JUMP = "Enemies/Lavamander_jump",
    ENEMIES_LAVAMANDER_TRANSFORM = "Enemies/Lavamander_transform",
    ENEMIES_LEPRECHAUN_JUMP = "Enemies/Leprechaun_jump",
    ENEMIES_LEPRECHAUN_LOOP = "Enemies/Leprechaun_loop",
    ENEMIES_LEPRECHAUN_STEAL_LOOP = "Enemies/Leprechaun_steal_loop",
    ENEMIES_LIZARD_BONK = "Enemies/Lizard_bonk",
    ENEMIES_LIZARD_CURL_LOOP = "Enemies/Lizard_curl_loop",
    ENEMIES_LIZARD_JUMP = "Enemies/Lizard_jump",
    ENEMIES_LIZARD_UNROLL = "Enemies/Lizard_unroll",
    ENEMIES_MAGMAMAN_JUMP = "Enemies/Magmaman_jump",
    ENEMIES_MAGMAMAN_TRANSFORM = "Enemies/Magmaman_transform",
    ENEMIES_MANTRAP_BITE = "Enemies/Mantrap_bite",
    ENEMIES_MOLERAT_DIG_LOOP = "Enemies/Molerat_dig_loop",
    ENEMIES_MOLERAT_RUN_LOOP = "Enemies/Molerat_run_loop",
    ENEMIES_MONKEY_JUMP = "Enemies/Monkey_jump",
    ENEMIES_MONKEY_STEAL_END = "Enemies/Monkey_steal_end",
    ENEMIES_MONKEY_STEAL_LOOP = "Enemies/Monkey_steal_loop",
    ENEMIES_MOSQUITO_LOOP = "Enemies/Mosquito_loop",
    ENEMIES_MOSQUITO_PIERCE = "Enemies/Mosquito_pierce",
    ENEMIES_MUMMY_FLIES_LOOP = "Enemies/Mummy_flies_loop",
    ENEMIES_MUMMY_STEP = "Enemies/Mummy_step",
    ENEMIES_MUMMY_VOMIT = "Enemies/Mummy_vomit",
    ENEMIES_NECROMANCER_CHARGE_LOOP = "Enemies/Necromancer_charge_loop",
    ENEMIES_NECROMANCER_SPAWN = "Enemies/Necromancer_spawn",
    ENEMIES_OCTOPUS_ATK = "Enemies/Octopus_atk",
    ENEMIES_OCTOPUS_BONK = "Enemies/Octopus_bonk",
    ENEMIES_OCTOPUS_JUMP = "Enemies/Octopus_jump",
    ENEMIES_OCTOPUS_WALK = "Enemies/Octopus_walk",
    ENEMIES_OLMEC_BOMB_SPAWN = "Enemies/Olmec_bomb_spawn",
    ENEMIES_OLMEC_CRUSH = "Enemies/Olmec_crush",
    ENEMIES_OLMEC_HOVER_LOOP = "Enemies/Olmec_hover_loop",
    ENEMIES_OLMEC_PAD_BREAK = "Enemies/Olmec_pad_break",
    ENEMIES_OLMEC_PAD_SHOW = "Enemies/Olmec_pad_show",
    ENEMIES_OLMEC_SPLASH = "Enemies/Olmec_splash",
    ENEMIES_OLMEC_STOMP = "Enemies/Olmec_stomp",
    ENEMIES_OLMEC_TRANSFORM_CLOSE = "Enemies/Olmec_transform_close",
    ENEMIES_OLMEC_TRANSFORM_OPEN = "Enemies/Olmec_transform_open",
    ENEMIES_OLMEC_UFO_SPAWN = "Enemies/Olmec_ufo_spawn",
    ENEMIES_OLMEC_UNCOVER = "Enemies/Olmec_uncover",
    ENEMIES_OLMITE_ARMOR_BREAK = "Enemies/Olmite_armor_break",
    ENEMIES_OLMITE_JUMP = "Enemies/Olmite_jump",
    ENEMIES_OLMITE_STOMP = "Enemies/Olmite_stomp",
    ENEMIES_OSIRIS_APPEAR = "Enemies/Osiris_appear",
    ENEMIES_OSIRIS_PUNCH = "Enemies/Osiris_punch",
    ENEMIES_PANGXIE_BUBBLE_ATK = "Enemies/Pangxie_bubble_atk",
    ENEMIES_PANGXIE_PUNCH1 = "Enemies/Pangxie_punch1",
    ENEMIES_PANGXIE_PUNCH2 = "Enemies/Pangxie_punch2",
    ENEMIES_PROTO_BURST_LOOP = "Enemies/Proto_burst_loop",
    ENEMIES_PROTO_CRAWL = "Enemies/Proto_crawl",
    ENEMIES_ROBOT_LOOP = "Enemies/Robot_loop",
    ENEMIES_ROBOT_TRIGGER = "Enemies/Robot_trigger",
    ENEMIES_SCORPION_ATK = "Enemies/Scorpion_atk",
    ENEMIES_SKELETON_COLLAPSE = "Enemies/Skeleton_collapse",
    ENEMIES_SKELETON_MATERIALIZE = "Enemies/Skeleton_materialize",
    ENEMIES_SNAKE_ATK = "Enemies/Snake_atk",
    ENEMIES_SORCERESS_ATK = "Enemies/Sorceress_atk",
    ENEMIES_SORCERESS_ATK_SPAWN = "Enemies/Sorceress_atk_spawn",
    ENEMIES_SORCERESS_CHARGE_LOOP = "Enemies/Sorceress_charge_loop",
    ENEMIES_SORCERESS_JUMP = "Enemies/Sorceress_jump",
    ENEMIES_SPIDER_JUMP = "Enemies/Spider_jump",
    ENEMIES_SPIDER_TRIGGER = "Enemies/Spider_trigger",
    ENEMIES_STONE_TRANSFORM_LOOP = "Enemies/Stone_transform_loop",
    ENEMIES_STORAGE_KEEPER_DIE = "Enemies/Storage_keeper_die",
    ENEMIES_STORAGE_KEEPER_JUMP = "Enemies/Storage_keeper_jump",
    ENEMIES_TADPOLE_SWIM = "Enemies/Tadpole_swim",
    ENEMIES_TIAMAT_HURT = "Enemies/Tiamat_hurt",
    ENEMIES_TIAMAT_ORB_LOOP = "Enemies/Tiamat_orb_loop",
    ENEMIES_TIAMAT_SCEPTER = "Enemies/Tiamat_scepter",
    ENEMIES_TIAMAT_SCREAM1 = "Enemies/Tiamat_scream1",
    ENEMIES_TIAMAT_SCREAM2 = "Enemies/Tiamat_scream2",
    ENEMIES_TIKIMAN_TALK = "Enemies/Tikiman_talk",
    ENEMIES_UFO_ATK_END = "Enemies/UFO_atk_end",
    ENEMIES_UFO_ATK_LOOP = "Enemies/UFO_atk_loop",
    ENEMIES_UFO_CHARGE = "Enemies/UFO_charge",
    ENEMIES_UFO_DAMAGE = "Enemies/UFO_damage",
    ENEMIES_UFO_EJECT = "Enemies/UFO_eject",
    ENEMIES_UFO_LOOP = "Enemies/UFO_loop",
    ENEMIES_VAMPIRE_JUMP = "Enemies/Vampire_jump",
    ENEMIES_VLAD_TRIGGER = "Enemies/Vlad_trigger",
    ENEMIES_WITCHDOCTOR_CHANT_LOOP = "Enemies/Witchdoctor_chant_loop",
    ENEMIES_WITCHDOCTOR_STAB = "Enemies/Witchdoctor_stab",
    ENEMIES_WITCHDOCTOR_TALK = "Enemies/Witchdoctor_talk",
    ENEMIES_WITCHDOCTOR_TRIGGER = "Enemies/Witchdoctor_trigger",
    ENEMIES_YETI_BIG_CHARGE = "Enemies/Yeti_big_charge",
    ENEMIES_YETI_BIG_PUNCH = "Enemies/Yeti_big_punch",
    ENEMIES_YETI_BIG_STEP = "Enemies/Yeti_big_step",
    ENEMIES_YETI_KING_ROAR = "Enemies/Yeti_king_roar",
    ENEMIES_YETI_QUEEN_JUMP = "Enemies/Yeti_queen_jump",
    ENEMIES_YETI_QUEEN_SLAM = "Enemies/Yeti_queen_slam",
    FX_FX_ANUBIS_WARN = "FX/FX_anubis_warn",
    FX_FX_COSMIC_ORB = "FX/FX_cosmic_orb",
    FX_FX_CURSE = "FX/FX_curse",
    FX_FX_DM_BANNER = nil, -- FX/FX_dm_banner
    FX_FX_JOURNAL_ENTRY = "FX/FX_journal_entry",
    FX_FX_JOURNAL_PAGE = "FX/FX_journal_page",
    ITEMS_ARROW_STICK = "Items/Arrow_stick",
    ITEMS_BACKPACK_WARN = "Items/Backpack_warn",
    ITEMS_BOMB_BIG_TIMER = "Items/Bomb_big_timer",
    ITEMS_BOMB_STICK = "Items/Bomb_stick",
    ITEMS_BOMB_TIMER = "Items/Bomb_timer",
    ITEMS_BOOMBOX_OFF = "Items/Boombox_off",
    ITEMS_BOOMERANG_CATCH = "Items/Boomerang_catch",
    ITEMS_BOOMERANG_LOOP = "Items/Boomerang_loop",
    ITEMS_BOW = "Items/Bow",
    ITEMS_BOW_RELOAD = "Items/Bow_reload",
    ITEMS_CAMERA = "Items/Camera",
    ITEMS_CAPE_LOOP = "Items/Cape_loop",
    ITEMS_CAPE_VLAD_FLAP = "Items/Cape_vlad_flap",
    ITEMS_CLONE_GUN = "Items/Clone_gun",
    ITEMS_COIN_BOUNCE = "Items/Coin_bounce",
    ITEMS_CROSSBOW = "Items/Crossbow",
    ITEMS_CROSSBOW_RELOAD = "Items/Crossbow_reload",
    ITEMS_DAMSEL_CALL = "Items/Damsel_call",
    ITEMS_DAMSEL_PET = "Items/Damsel_pet",
    ITEMS_EXCALIBUR = "Items/Excalibur",
    ITEMS_FREEZE_RAY = "Items/Freeze_ray",
    ITEMS_FREEZE_RAY_HIT = "Items/Freeze_ray_hit",
    ITEMS_HOVERPACK_LOOP = "Items/Hoverpack_loop",
    ITEMS_JETPACK_END = "Items/Jetpack_end",
    ITEMS_JETPACK_IGNITE = "Items/Jetpack_ignite",
    ITEMS_JETPACK_LOOP = "Items/Jetpack_loop",
    ITEMS_MACHETE = "Items/Machete",
    ITEMS_MATTOCK_BREAK = "Items/Mattock_break",
    ITEMS_MATTOCK_HIT = "Items/Mattock_hit",
    ITEMS_MATTOCK_SWING = "Items/Mattock_swing",
    ITEMS_PARACHUTE = "Items/Parachute",
    ITEMS_PLASMA_CANNON = "Items/Plasma_cannon",
    ITEMS_PLASMA_CANNON_CHARGE = "Items/Plasma_cannon_charge",
    ITEMS_ROPE_ATTACH = "Items/Rope_attach",
    ITEMS_ROPE_BURN_LOOP = "Items/Rope_burn_loop",
    ITEMS_SCEPTER = "Items/Scepter",
    ITEMS_SHOTGUN_FIRE = "Items/Shotgun_fire",
    ITEMS_SPRING_SHOES = "Items/Spring_shoes",
    ITEMS_TV_LOOP = "Items/TV_loop",
    ITEMS_UDJAT_BLINK = "Items/Udjat_blink",
    ITEMS_USHABTI_RATTLE = "Items/Ushabti_rattle",
    ITEMS_WEBGUN = "Items/Webgun",
    ITEMS_WEBGUN_HIT = "Items/Webgun_hit",
    ITEMS_WITCHDOCTORSKULL_LOOP = "Items/Witchdoctorskull_loop",
    ITEMS_WOODEN_SHIELD_BREAK = "Items/Wooden_shield_break",
    ITEMS_WOODEN_SHIELD_DAMAGE = "Items/Wooden_shield_damage",
    LIQUIDS_LAVA_STATIC_LOOP = "Liquids/Lava_static_loop",
    LIQUIDS_LAVA_STREAM_LOOP = "Liquids/Lava_stream_loop",
    LIQUIDS_WATER_REV_STREAM_LOOP = "Liquids/Water_rev_stream_loop",
    LIQUIDS_WATER_SPLASH = "Liquids/Water_splash",
    LIQUIDS_WATER_STREAM_LOOP = "Liquids/Water_stream_loop",
    MENU_CANCEL = "Menu/Cancel",
    MENU_CHARSEL_DESELECTION = "Menu/Charsel_deselection",
    MENU_CHARSEL_DOOR = "Menu/Charsel_door",
    MENU_CHARSEL_NAVI = "Menu/Charsel_navi",
    MENU_CHARSEL_QUICK_NAVI = "Menu/Charsel_quick_navi",
    MENU_CHARSEL_QUICK_NOPE = "Menu/Charsel_quick_nope",
    MENU_CHARSEL_QUICK_OPEN = "Menu/Charsel_quick_open",
    MENU_CHARSEL_SCROLL = "Menu/Charsel_scroll",
    MENU_CHARSEL_SELECTION = "Menu/Charsel_selection",
    MENU_CHARSEL_SELECTION2 = "Menu/Charsel_selection2",
    MENU_DIRT_FALL = "Menu/Dirt_fall",
    MENU_JOURNAL_STICKER = "Menu/Journal_sticker",
    MENU_MM_BAR = "Menu/MM_bar",
    MENU_MM_NAVI = "Menu/MM_navi",
    MENU_MM_OPTIONS_SUB = "Menu/MM_options_sub",
    MENU_MM_RESET = "Menu/MM_reset",
    MENU_MM_SELECTION = "Menu/MM_selection",
    MENU_MM_SET = "Menu/MM_set",
    MENU_MM_TOGGLE = "Menu/MM_toggle",
    MENU_NAVI = "Menu/Navi",
    MENU_PAGE_RETURN = "Menu/Page_return",
    MENU_PAGE_TURN = "Menu/Page_turn",
    MENU_SELECTION = "Menu/Selection",
    MENU_TITLE_SELECTION = "Menu/Title_selection",
    MENU_TITLE_TORCH_LOOP = "Menu/Title_torch_loop",
    MENU_ZOOM_IN = "Menu/Zoom_in",
    MENU_ZOOM_OUT = "Menu/Zoom_out",
    MOUNTS_AXOLOTL_ATK = "Mounts/Axolotl_atk",
    MOUNTS_AXOLOTL_ATK_HIT = "Mounts/Axolotl_atk_hit",
    MOUNTS_AXOLOTL_JUMP1 = "Mounts/Axolotl_jump1",
    MOUNTS_AXOLOTL_JUMP2 = "Mounts/Axolotl_jump2",
    MOUNTS_AXOLOTL_UNTAMED_LOOP = "Mounts/Axolotl_untamed_loop",
    MOUNTS_AXOLOTL_WALK = "Mounts/Axolotl_walk",
    MOUNTS_MECH_DRIVE_LOOP = "Mounts/Mech_drive_loop",
    MOUNTS_MECH_JUMP = "Mounts/Mech_jump",
    MOUNTS_MECH_PUNCH1 = "Mounts/Mech_punch1",
    MOUNTS_MECH_SMASH = "Mounts/Mech_smash",
    MOUNTS_MECH_SPARK = "Mounts/Mech_spark",
    MOUNTS_MECH_TRANSFORM = "Mounts/Mech_transform",
    MOUNTS_MECH_TURN = "Mounts/Mech_turn",
    MOUNTS_MECH_WALK1 = "Mounts/Mech_walk1",
    MOUNTS_MECH_WALK2 = "Mounts/Mech_walk2",
    MOUNTS_MECH_WARN = "Mounts/Mech_warn",
    MOUNTS_MOUNT = "Mounts/Mount",
    MOUNTS_MOUNT_LAND = "Mounts/Mount_land",
    MOUNTS_MOUNT_TAME = "Mounts/Mount_tame",
    MOUNTS_QILIN_FLY_LOOP = "Mounts/Qilin_fly_loop",
    MOUNTS_QILIN_HATCH = "Mounts/Qilin_hatch",
    MOUNTS_QILIN_JUMP1 = "Mounts/Qilin_jump1",
    MOUNTS_QILIN_JUMP2 = "Mounts/Qilin_jump2",
    MOUNTS_QILIN_WALK = "Mounts/Qilin_walk",
    MOUNTS_TURKEY_ATK = "Mounts/Turkey_atk",
    MOUNTS_TURKEY_FLAP = "Mounts/Turkey_flap",
    MOUNTS_TURKEY_JUMP = "Mounts/Turkey_jump",
    MOUNTS_TURKEY_UNTAMED_LOOP = "Mounts/Turkey_untamed_loop",
    MOUNTS_TURKEY_WALK = "Mounts/Turkey_walk",
    MOUNTS_WILDDOG_FIREBALL_LOOP = "Mounts/Wilddog_fireball_loop",
    MOUNTS_WILDDOG_JUMP1 = "Mounts/Wilddog_jump1",
    MOUNTS_WILDDOG_JUMP2 = "Mounts/Wilddog_jump2",
    MOUNTS_WILDDOG_UNTAMED_LOOP = "Mounts/Wilddog_untamed_loop",
    MOUNTS_WILDDOG_WALK = "Mounts/Wilddog_walk",
    PLAYER_DEATH_GHOST = "Player/Death_ghost",
    PLAYER_ENTER_DOOR = "Player/Enter_door",
    PLAYER_EQUIP = "Player/Equip",
    PLAYER_GRAB_LEDGE = "Player/Grab_ledge",
    PLAYER_INKED = "Player/Inked",
    PLAYER_JUMP = "Player/Jump",
    PLAYER_LAND_CHAIN = "Player/Land_chain",
    PLAYER_LISE_DRIVE_LOOP = "Player/LISE_drive_loop",
    PLAYER_LISE_LOADING_LOOP = "Player/LISE_loading_loop",
    PLAYER_LISE_PUSH_LOOP = "Player/LISE_push_loop",
    PLAYER_LISE_RADAR_LOOP = "Player/LISE_radar_loop",
    PLAYER_LISE_WARNING = "Player/LISE_warning",
    PLAYER_NO_ITEM = "Player/No_item",
    PLAYER_PGHOST_ATK = "Player/Pghost_atk",
    PLAYER_PGHOST_CHARGE_LOOP = "Player/Pghost_charge_loop",
    PLAYER_PGHOST_DASH = "Player/Pghost_dash",
    PLAYER_PGHOST_SHAKE = "Player/Pghost_shake",
    PLAYER_PGHOST_SPAWN = "Player/Pghost_spawn",
    PLAYER_PGHOST_SPIN = "Player/Pghost_spin",
    PLAYER_PUSH_BLOCK_LOOP = "Player/Push_block_loop",
    PLAYER_TOSS_ROPE = "Player/Toss_rope",
    PLAYER_WHIP1 = "Player/Whip1",
    PLAYER_WHIP2 = "Player/Whip2",
    PLAYER_WHIP_JUMP = "Player/Whip_jump",
    SHARED_ANGER = "Shared/Anger",
    SHARED_BLOCK_LAND = "Shared/Block_land",
    SHARED_BLOOD_SPLURT = "Shared/Blood_splurt",
    SHARED_BUBBLE_BONK = "Shared/Bubble_bonk",
    SHARED_BUBBLE_BURST = "Shared/Bubble_burst",
    SHARED_BUBBLE_BURST_BIG = "Shared/Bubble_burst_big",
    SHARED_CEILING_CRUMBLE = "Shared/Ceiling_crumble",
    SHARED_CLIMB = "Shared/Climb",
    SHARED_COFFIN_BREAK = "Shared/Coffin_break",
    SHARED_COFFIN_RATTLE = "Shared/Coffin_rattle",
    SHARED_COLLISION_SURFACE = "Shared/Collision_surface",
    SHARED_COSMIC_ORB_DESTROY = "Shared/Cosmic_orb_destroy",
    SHARED_COSMIC_ORB_LOOP = "Shared/Cosmic_orb_loop",
    SHARED_CURSED_LOOP = "Shared/Cursed_loop",
    SHARED_CURSE_GET = "Shared/Curse_get",
    SHARED_DAMAGED = "Shared/Damaged",
    SHARED_DAMAGED_FIRE = "Shared/Damaged_fire",
    SHARED_DAMAGED_POISON = "Shared/Damaged_poison",
    SHARED_DARK_LEVEL_START = "Shared/Dark_level_start",
    SHARED_DESTRUCTIBLE_BREAK = "Shared/Destructible_break",
    SHARED_DOOR_AMB_LOOP = "Shared/Door_amb_loop",
    SHARED_DOOR_UNLOCK = "Shared/Door_unlock",
    SHARED_DROP = "Shared/Drop",
    SHARED_EXPLOSION = "Shared/Explosion",
    SHARED_EXPLOSION_MODERN = "Shared/Explosion_modern",
    SHARED_FIRE_IGNITE = "Shared/Fire_ignite",
    SHARED_FIRE_LOOP = "Shared/Fire_loop",
    SHARED_GRAB_CLIMBABLE = "Shared/Grab_climbable",
    SHARED_HH_ANGER = "Shared/HH_anger",
    SHARED_HH_OBEY = "Shared/HH_obey",
    SHARED_HUMANOID_JUMP = "Shared/Humanoid_jump",
    SHARED_ICE_BREAK = "Shared/Ice_break",
    SHARED_ICE_SLIDE_LOOP = "Shared/Ice_slide_loop",
    SHARED_IMPALED = "Shared/Impaled",
    SHARED_LAND = "Shared/Land",
    SHARED_LANTERN_BREAK = "Shared/Lantern_break",
    SHARED_NEON_SIGN_LOOP = "Shared/Neon_sign_loop",
    SHARED_OPEN_CHEST = "Shared/Open_chest",
    SHARED_OPEN_CRATE = "Shared/Open_crate",
    SHARED_PICK_UP = "Shared/Pick_up",
    SHARED_POISON_WARN = "Shared/Poison_warn",
    SHARED_PORTAL_LOOP = "Shared/Portal_loop",
    SHARED_RICOCHET = "Shared/Ricochet",
    SHARED_RUBBLE_BREAK = "Shared/Rubble_break",
    SHARED_SACRIFICE = "Shared/Sacrifice",
    SHARED_SACRIFICE_EGGPLANT = "Shared/Sacrifice_eggplant",
    SHARED_SCARAB_LOOP = "Shared/Scarab_loop",
    SHARED_SLEEP_BUBBLE = "Shared/Sleep_bubble",
    SHARED_SMOKE_TELEPORT = "Shared/Smoke_teleport",
    SHARED_STORAGE_PAD_ACTIVATE = "Shared/Storage_pad_activate",
    SHARED_STUNNED_WAKE = "Shared/Stunned_wake",
    SHARED_TELEPORT = "Shared/Teleport",
    SHARED_TILE_BREAK = "Shared/Tile_break",
    SHARED_TOSS = "Shared/Toss",
    SHARED_TOSS_FIRE = "Shared/Toss_fire",
    SHARED_TRIP = "Shared/Trip",
    SHARED_WAKE_BLINK = "Shared/Wake_blink",
    SHARED_WEBBED = "Shared/Webbed",
    SHOP_SHOP_BUY = "Shop/Shop_buy",
    SHOP_SHOP_ENTER = "Shop/Shop_enter",
    SHOP_SHOP_FOCUS = "Shop/Shop_focus",
    SHOP_SHOP_NOPE = "Shop/Shop_nope",
    SHOP_SHOP_PICK_UP = "Shop/Shop_pick_up",
    TRANSITIONS_TRANS_ANGER = "Transitions/Trans_anger",
    TRANSITIONS_TRANS_ANKH = "Transitions/Trans_ankh",
    TRANSITIONS_TRANS_DARK = "Transitions/Trans_dark",
    TRANSITIONS_TRANS_DARK_FIRST = "Transitions/Trans_dark_first",
    TRANSITIONS_TRANS_DEATH = "Transitions/Trans_death",
    TRANSITIONS_TRANS_DM_RESULTS = "Transitions/Trans_dm_results",
    TRANSITIONS_TRANS_LAYER = "Transitions/Trans_layer",
    TRANSITIONS_TRANS_LAYER_SPECIAL = "Transitions/Trans_layer_special",
    TRANSITIONS_TRANS_OUROBOROS = "Transitions/Trans_ouroboros",
    TRANSITIONS_TRANS_PAUSE = "Transitions/Trans_pause",
    TRANSITIONS_TRANS_PIPE = "Transitions/Trans_pipe",
    TRANSITIONS_TRANS_SHOP = "Transitions/Trans_shop",
    TRANSITIONS_TRANS_THEME = "Transitions/Trans_theme",
    TRANSITIONS_TRANS_TUNNEL = "Transitions/Trans_tunnel",
    TRAPS_ARROWTRAP_TRIGGER = "Traps/Arrowtrap_trigger",
    TRAPS_BOULDER_CRUSH = "Traps/Boulder_crush",
    TRAPS_BOULDER_EMERGE = "Traps/Boulder_emerge",
    TRAPS_BOULDER_LOOP = "Traps/Boulder_loop",
    TRAPS_BOULDER_WARN_LOOP = "Traps/Boulder_warn_loop",
    TRAPS_CONVEYOR_BELT_LOOP = "Traps/Conveyor_belt_loop",
    TRAPS_CRUSHTRAP_BIG_STOP = "Traps/Crushtrap_big_stop",
    TRAPS_CRUSHTRAP_STOP = "Traps/Crushtrap_stop",
    TRAPS_DRILL_LOOP = "Traps/Drill_loop",
    TRAPS_DUAT_WALL_LOOP = "Traps/Duat_wall_loop",
    TRAPS_ELEVATOR_DOWN = "Traps/Elevator_down",
    TRAPS_ELEVATOR_UP = "Traps/Elevator_up",
    TRAPS_GENERATOR_GENERATE = "Traps/Generator_generate",
    TRAPS_GIANTCLAM_CLOSE = "Traps/Giantclam_close",
    TRAPS_GIANTCLAM_OPEN = "Traps/Giantclam_open",
    TRAPS_KALI_ANGERED = "Traps/Kali_angered",
    TRAPS_LASERBEAM_CHARGE = "Traps/Laserbeam_charge",
    TRAPS_LASERBEAM_COLLISION = "Traps/Laserbeam_collision",
    TRAPS_LASERBEAM_END = "Traps/Laserbeam_end",
    TRAPS_LASERBEAM_LOOP = "Traps/Laserbeam_loop",
    TRAPS_LASERTRAP_CHARGE = "Traps/Lasertrap_charge",
    TRAPS_LASERTRAP_TRIGGER = "Traps/Lasertrap_trigger",
    TRAPS_LIONTRAP_ATK = "Traps/Liontrap_atk",
    TRAPS_LIONTRAP_TRIGGER = "Traps/Liontrap_trigger",
    TRAPS_MINE_ACTIVATE = "Traps/Mine_activate",
    TRAPS_MINE_BLINK = "Traps/Mine_blink",
    TRAPS_MINE_DEACTIVATE = "Traps/Mine_deactivate",
    TRAPS_PIPE_LOOP = "Traps/Pipe_loop",
    TRAPS_PLATFORM_BREAK = "Traps/Platform_break",
    TRAPS_PLATFORM_TRIGGER = "Traps/Platform_trigger",
    TRAPS_QUICKSAND_AMB_LOOP = "Traps/Quicksand_amb_loop",
    TRAPS_QUICKSAND_LOOP = "Traps/Quicksand_loop",
    TRAPS_REGENBLOCK_GROW = "Traps/Regenblock_grow",
    TRAPS_SKULLBLOCK_ATK = "Traps/Skullblock_atk",
    TRAPS_SKULLBLOCK_TRIGGER = "Traps/Skullblock_trigger",
    TRAPS_SKULLDROP_DROP = "Traps/Skulldrop_drop",
    TRAPS_SKULLDROP_LOOP = "Traps/Skulldrop_loop",
    TRAPS_SLIDEWALL_STOMP = "Traps/Slidewall_stomp",
    TRAPS_SNAPTRAP_CLOSE = "Traps/Snaptrap_close",
    TRAPS_SNAPTRAP_OPEN = "Traps/Snaptrap_open",
    TRAPS_SPARK_HIT = "Traps/Spark_hit",
    TRAPS_SPARK_LOOP = "Traps/Spark_loop",
    TRAPS_SPEARTRAP_ATK = "Traps/Speartrap_atk",
    TRAPS_SPEARTRAP_TRIGGER = "Traps/Speartrap_trigger",
    TRAPS_SPIKE_BALL_DROP_LOOP = "Traps/Spike_ball_drop_loop",
    TRAPS_SPIKE_BALL_END = "Traps/Spike_ball_end",
    TRAPS_SPIKE_BALL_HIT = "Traps/Spike_ball_hit",
    TRAPS_SPIKE_BALL_RISE_LOOP = "Traps/Spike_ball_rise_loop",
    TRAPS_SPRING_TRIGGER = "Traps/Spring_trigger",
    TRAPS_STICKYTRAP_DROP_LOOP = "Traps/Stickytrap_drop_loop",
    TRAPS_STICKYTRAP_END = "Traps/Stickytrap_end",
    TRAPS_STICKYTRAP_HIT = "Traps/Stickytrap_hit",
    TRAPS_STICKYTRAP_RISE_LOOP = "Traps/Stickytrap_rise_loop",
    TRAPS_STICKYTRAP_WAKE = "Traps/Stickytrap_wake",
    TRAPS_SWITCH_FLICK = "Traps/Switch_flick",
    TRAPS_THINICE_CRACK = "Traps/Thinice_crack",
    TRAPS_TIKI_ATK = "Traps/Tiki_atk",
    TRAPS_TIKI_TRIGGER = "Traps/Tiki_trigger",
    TRAPS_WOODENLOG_CRUSH = "Traps/Woodenlog_crush",
    TRAPS_WOODENLOG_TRIGGER = "Traps/Woodenlog_trigger",
    UI_DAMSEL_KISS = "UI/Damsel_kiss",
    UI_DEPOSIT = "UI/Deposit",
    UI_GET_GEM = "UI/Get_gem",
    UI_GET_GOLD = "UI/Get_gold",
    UI_GET_ITEM1 = "UI/Get_item1",
    UI_GET_ITEM2 = "UI/Get_item2",
    UI_GET_SCARAB = "UI/Get_scarab",
    UI_JOURNAL_ENTRY = "UI/Journal_entry",
    UI_JOURNAL_OFF = "UI/Journal_off",
    UI_JOURNAL_ON = "UI/Journal_on",
    UI_KAPPALA_HEAL = "UI/Kappala_heal",
    UI_NPC_VOCAL = "UI/NPC_vocal",
    UI_PAUSE_MENU_OFF = "UI/Pause_menu_off",
    UI_PAUSE_MENU_ON = "UI/Pause_menu_on",
    UI_SECRET = "UI/Secret",
    UI_SECRET2 = "UI/Secret2",
    UI_TEXT_DESCRIPTION = "UI/Text_description",
    UI_TUNNEL_COUNT = "UI/Tunnel_count",
    UI_TUNNEL_SCROLL = "UI/Tunnel_scroll",
    UI_TUNNEL_TABLET_DOWN = "UI/Tunnel_tablet_down",
    UI_TUNNEL_TABLET_UP = "UI/Tunnel_tablet_up",
    UI_ZOOM_IN = "UI/Zoom_in",
    UI_ZOOM_OUT = "UI/Zoom_out",
}

---Bitmask parameter to `set_vanilla_sound_callback()`
---@alias VANILLA_SOUND_CALLBACK_TYPE integer
VANILLA_SOUND_CALLBACK_TYPE = {
    ---Params: `PlayingSound vanilla_sound`
    CREATED = 1,
    ---Params: `PlayingSound vanilla_sound`
    DESTROYED = 2,
    ---Params: `PlayingSound vanilla_sound`
    RESTARTED = 16,
    ---Params: `PlayingSound vanilla_sound`
    STARTED = 8,
    ---Params: `PlayingSound vanilla_sound`
    START_FAILED = 64,
    ---Params: `PlayingSound vanilla_sound`
    STOPPED = 32,
}

---Paramater to `PlayingSound:get_parameter()` and `PlayingSound:set_parameter()`
---@alias VANILLA_SOUND_PARAM integer
VANILLA_SOUND_PARAM = {
    ANGER_PROXIMITY = 11,
    ANGER_STATE = 12,
    CAM_DEPTH = 24,
    COLLISION_MATERIAL = 14,
    CURRENT_LAYER2 = 37,
    CURRENT_LEVEL = 35,
    CURRENT_SHOP_TYPE = 36,
    CURRENT_THEME = 34,
    CURSED = 28,
    DIST_CENTER_X = 1,
    DIST_CENTER_Y = 2,
    DIST_PLAYER = 4,
    DIST_Z = 3,
    DM_STATE = 32,
    FAST_FORWARD = 33,
    FIRST_RUN = 23,
    GHOST = 9,
    LIGHTNESS = 16,
    LIQUID_INTENSITY = 7,
    LIQUID_STREAM = 6,
    MONSTER_ID = 19,
    PAGE = 31,
    PLAYER_ACTIVITY = 20,
    PLAYER_CHARACTER = 30,
    PLAYER_CONTROLLED = 29,
    PLAYER_DEPTH = 22,
    PLAYER_LIFE = 21,
    POISONED = 27,
    POS_SCREEN_X = 0,
    RESTLESS_DEAD = 25,
    SIZE = 17,
    SPECIAL_MACHINE = 26,
    SUBMERGED = 5,
    TORCH_PROXIMITY = 13,
    TRIGGER = 10,
    TYPE_ID = 18,
    VALUE = 8,
    VELOCITY = 15,
}

---Used in the `render_ctx:draw_text` and `render_ctx:draw_text_size` functions of the ON.RENDER_PRE/POST_xxx event
---@alias VANILLA_TEXT_ALIGNMENT integer
VANILLA_TEXT_ALIGNMENT = {
    CENTER = 1,
    LEFT = 0,
    RIGHT = 2,
}

---After setting the WIN_STATE, the exit door on the current level will lead to the chosen ending
---@alias WIN_STATE integer
WIN_STATE = {
    COSMIC_OCEAN_WIN = 3,
    HUNDUN_WIN = 2,
    NO_WIN = 0,
    TIAMAT_WIN = 1,
}

---@alias WORLD_SHADER integer
WORLD_SHADER = {
    ---Renders a solid color
    COLOR = 0,
    ---Basically same as COLOR but goes through the deferred pipeline
    DEFERRED_COLOR_TRANSPARENT = 6,
    ---Basically same as TEXTURE_COLOR but goes through the deferred pipeline
    DEFERRED_TEXTURE_COLOR = 7,
    ---Same as DEFERRED_TEXTURE_COLOR but applies cursed color effect
    DEFERRED_TEXTURE_COLOR_CURSED = 9,
    ---Same as DEFERRED_TEXTURE_COLOR but renders to the emissive channel
    DEFERRED_TEXTURE_COLOR_EMISSIVE = 16,
    ---Same as DEFERRED_TEXTURE_COLOR but renders heavy glow behind the texture
    DEFERRED_TEXTURE_COLOR_EMISSIVE_COLORIZED_GLOW = 22,
    ---Basically same as DEFERRED_TEXTURE_COLOR_EMISSIVE_COLORIZED_GLOW
    DEFERRED_TEXTURE_COLOR_EMISSIVE_COLORIZED_GLOW_DYNAMIC_GLOW = 23,
    ---Same as DEFERRED_TEXTURE_COLOR_EMISSIVE_COLORIZED_GLOW but renders texture as solid color
    DEFERRED_TEXTURE_COLOR_EMISSIVE_COLORIZED_GLOW_SATURATION = 24,
    ---Same as DEFERRED_TEXTURE_COLOR but renders to the emissive channel with glow
    DEFERRED_TEXTURE_COLOR_EMISSIVE_GLOW = 18,
    ---Same as DEFERRED_TEXTURE_COLOR_EMISSIVE_GLOW_HEAVY but renders glow on top of the texture
    DEFERRED_TEXTURE_COLOR_EMISSIVE_GLOW_BRIGHTNESS = 20,
    ---Same as DEFERRED_TEXTURE_COLOR_EMISSIVE_GLOW but renders to the emissive channel with heavy glow
    DEFERRED_TEXTURE_COLOR_EMISSIVE_GLOW_HEAVY = 19,
    ---Same as DEFERRED_TEXTURE_COLOR but applies poison color effect
    DEFERRED_TEXTURE_COLOR_POISONED = 8,
    ---Same as DEFERRED_TEXTURE_COLOR but applies poisoned and cursed color effect
    DEFERRED_TEXTURE_COLOR_POISONED_CURSED = 10,
    ---Basically same as DEFERRED_TEXTURE_COLOR
    DEFERRED_TEXTURE_COLOR_TRANSPARENT = 11,
    ---Same as DEFERRED_TEXTURE_COLOR_TRANSPARENT but applies gamma correction to alpha channel
    DEFERRED_TEXTURE_COLOR_TRANSPARENT_CORRECTED = 12,
    ---Renders a texture without applying the given color
    TEXTURE = 1,
    ---Renders a texture by interpreting its red channel as alpha and applying the given color
    TEXTURE_ALPHA_COLOR = 3,
    ---The default shader to be used, just renders a texture with transparency and the given color
    TEXTURE_COLOR = 2,
    ---Renders the texture, with "gamma correction" of the color channels and multiplying everything by the input color alpha only
    TEXTURE_COLORS_WARP = 5,
}

---Yang quest states
---@alias YANG integer
YANG = {
    ANGRY = -1,
    BOTH_TURKEYS_DELIVERED = 3,
    ONE_TURKEY_BOUGHT = 5,
    QUEST_NOT_STARTED = 0,
    THREE_TURKEYS_BOUGHT = 7,
    TURKEY_PEN_SPAWNED = 2,
    TURKEY_SHOP_SPAWNED = 4,
    TWO_TURKEYS_BOUGHT = 6,
}