mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
3754 lines
132 KiB
C
3754 lines
132 KiB
C
#ifndef PMDSKY_ENUMS_H
|
||
#define PMDSKY_ENUMS_H
|
||
|
||
#define NUM_TACTICS TACTIC_NONE + 1
|
||
|
||
// There are 3 independent teams that the player can control, depending on the game mode
|
||
enum team_id {
|
||
TEAM_MAIN = 0, // main team (GAME_MODE_NORMAL)
|
||
TEAM_SPECIAL_EPISODE = 1, // team during a special episode (GAME_MODE_SPECIAL_EPISODE)
|
||
TEAM_RESCUE = 2, // team during a Pelipper Island rescue (GAME_MODE_RESCUE)
|
||
};
|
||
|
||
// Tactic ID. These are usually encoded as bitvectors.
|
||
enum tactic_id {
|
||
TACTIC_LETS_GO_TOGETHER = 0,
|
||
TACTIC_YOU_GO_THE_OTHER_WAY = 1,
|
||
TACTIC_GO_AFTER_FOES = 2,
|
||
TACTIC_AVOID_THE_FIRST_HIT = 3,
|
||
TACTIC_ALL_FOR_ONE = 4,
|
||
TACTIC_GROUP_SAFETY = 5,
|
||
TACTIC_AVOID_TROUBLE = 6,
|
||
TACTIC_BE_PATIENT = 7,
|
||
TACTIC_KEEP_YOUR_DISTANCE = 8,
|
||
TACTIC_WAIT_THERE = 9,
|
||
TACTIC_GET_AWAY_FROM_HERE = 10,
|
||
TACTIC_NONE = 11, // used as an empty placeholder in menus (and maybe other things).
|
||
};
|
||
|
||
// AI objective that controls how an AI acts in the moment.
|
||
// These were probably taken from Rescue Team; need to confirm validity in Explorers.
|
||
enum ai_objective {
|
||
AI_UNKNOWN = 0,
|
||
AI_CHASE_TARGET = 1,
|
||
AI_CHASE_REMEMBERED_TARGET = 2, // Chase a target using a previous position
|
||
AI_ROAM = 3, // Roam hallways
|
||
AI_LEAVE_ROOM = 4, // Get out of a room
|
||
AI_RUN_AWAY = 5,
|
||
AI_STAND_STILL = 6,
|
||
AI_TAKE_ITEM = 7,
|
||
};
|
||
|
||
// Move ID
|
||
enum move_id {
|
||
MOVE_NOTHING = 0,
|
||
MOVE_IRON_TAIL = 1,
|
||
MOVE_ICE_BALL = 2,
|
||
MOVE_YAWN = 3,
|
||
MOVE_LOVELY_KISS = 4,
|
||
MOVE_NIGHTMARE = 5,
|
||
MOVE_MORNING_SUN = 6,
|
||
MOVE_VITAL_THROW = 7,
|
||
MOVE_DIG = 8,
|
||
MOVE_THRASH = 9,
|
||
MOVE_SWEET_SCENT = 10,
|
||
MOVE_CHARM = 11,
|
||
MOVE_RAIN_DANCE = 12,
|
||
MOVE_CONFUSE_RAY = 13,
|
||
MOVE_HAIL = 14,
|
||
MOVE_AROMATHERAPY = 15,
|
||
MOVE_BUBBLE = 16,
|
||
MOVE_ENCORE = 17,
|
||
MOVE_CUT = 18,
|
||
MOVE_RAGE = 19,
|
||
MOVE_SUPER_FANG = 20,
|
||
MOVE_PAIN_SPLIT = 21,
|
||
MOVE_TORMENT = 22,
|
||
MOVE_STRING_SHOT = 23,
|
||
MOVE_SWAGGER = 24,
|
||
MOVE_SNORE = 25,
|
||
MOVE_HEAL_BELL = 26,
|
||
MOVE_SCREECH = 27,
|
||
MOVE_ROCK_THROW = 28,
|
||
MOVE_ROCK_SMASH = 29,
|
||
MOVE_ROCK_SLIDE = 30,
|
||
MOVE_WEATHER_BALL = 31,
|
||
MOVE_WHIRLPOOL = 32,
|
||
MOVE_FAKE_TEARS = 33,
|
||
MOVE_SING = 34,
|
||
MOVE_SPITE = 35,
|
||
MOVE_AIR_CUTTER = 36,
|
||
MOVE_SMOKESCREEN = 37,
|
||
MOVE_PURSUIT = 38,
|
||
MOVE_DOUBLESLAP = 39,
|
||
MOVE_MIRROR_MOVE = 40,
|
||
MOVE_OVERHEAT = 41,
|
||
MOVE_AURORA_BEAM = 42,
|
||
MOVE_MEMENTO = 43,
|
||
MOVE_OCTAZOOKA = 44,
|
||
MOVE_FLATTER = 45,
|
||
MOVE_ASTONISH = 46,
|
||
MOVE_WILL_O_WISP = 47,
|
||
MOVE_RETURN = 48,
|
||
MOVE_GRUDGE = 49,
|
||
MOVE_STRENGTH = 50,
|
||
MOVE_COUNTER = 51,
|
||
MOVE_FLAME_WHEEL = 52,
|
||
MOVE_FLAMETHROWER = 53,
|
||
MOVE_ODOR_SLEUTH = 54,
|
||
MOVE_SHARPEN = 55,
|
||
MOVE_DOUBLE_TEAM = 56,
|
||
MOVE_GUST = 57,
|
||
MOVE_HARDEN = 58,
|
||
MOVE_DISABLE = 59,
|
||
MOVE_RAZOR_WIND = 60,
|
||
MOVE_BIDE = 61,
|
||
MOVE_CRUNCH = 62,
|
||
MOVE_BITE = 63,
|
||
MOVE_THUNDER = 64,
|
||
MOVE_THUNDERPUNCH = 65,
|
||
MOVE_ENDEAVOR = 66,
|
||
MOVE_FACADE = 67,
|
||
MOVE_KARATE_CHOP = 68,
|
||
MOVE_CLAMP = 69,
|
||
MOVE_WITHDRAW = 70,
|
||
MOVE_CONSTRICT = 71,
|
||
MOVE_BRICK_BREAK = 72,
|
||
MOVE_ROCK_TOMB = 73,
|
||
MOVE_FOCUS_ENERGY = 74,
|
||
MOVE_FOCUS_PUNCH = 75,
|
||
MOVE_GIGA_DRAIN = 76,
|
||
MOVE_REVERSAL = 77,
|
||
MOVE_SMELLINGSALT = 78,
|
||
MOVE_SPORE = 79,
|
||
MOVE_LEECH_LIFE = 80,
|
||
MOVE_SLASH = 81,
|
||
MOVE_SILVER_WIND = 82,
|
||
MOVE_METAL_SOUND = 83,
|
||
MOVE_GRASSWHISTLE = 84,
|
||
MOVE_TICKLE = 85,
|
||
MOVE_SPIDER_WEB = 86,
|
||
MOVE_CRABHAMMER = 87,
|
||
MOVE_HAZE = 88,
|
||
MOVE_MEAN_LOOK = 89,
|
||
MOVE_CROSS_CHOP = 90,
|
||
MOVE_OUTRAGE = 91,
|
||
MOVE_LOW_KICK = 92,
|
||
MOVE_ANCIENTPOWER = 93,
|
||
MOVE_SYNTHESIS = 94,
|
||
MOVE_AGILITY = 95,
|
||
MOVE_RAPID_SPIN = 96,
|
||
MOVE_ICY_WIND = 97,
|
||
MOVE_MIND_READER = 98,
|
||
MOVE_COSMIC_POWER = 99,
|
||
MOVE_SKY_ATTACK = 100,
|
||
MOVE_POWDER_SNOW = 101,
|
||
MOVE_FOLLOW_ME = 102,
|
||
MOVE_METEOR_MASH = 103,
|
||
MOVE_ENDURE = 104,
|
||
MOVE_ROLLOUT = 105,
|
||
MOVE_SCARY_FACE = 106,
|
||
MOVE_PSYBEAM = 107,
|
||
MOVE_PSYWAVE = 108,
|
||
MOVE_PSYCHIC = 109,
|
||
MOVE_PSYCHO_BOOST = 110,
|
||
MOVE_HYPNOSIS = 111,
|
||
MOVE_UPROAR = 112,
|
||
MOVE_WATER_SPOUT = 113,
|
||
MOVE_SIGNAL_BEAM = 114,
|
||
MOVE_PSYCH_UP = 115,
|
||
MOVE_SUBMISSION = 116,
|
||
MOVE_RECOVER = 117,
|
||
MOVE_EARTHQUAKE = 118,
|
||
MOVE_NATURE_POWER = 119,
|
||
MOVE_LICK = 120,
|
||
MOVE_FLAIL = 121,
|
||
MOVE_TAIL_WHIP = 122,
|
||
MOVE_SELFDESTRUCT = 123,
|
||
MOVE_STUN_SPORE = 124,
|
||
MOVE_BIND = 125,
|
||
MOVE_SHADOW_PUNCH = 126,
|
||
MOVE_SHADOW_BALL = 127,
|
||
MOVE_CHARGE = 128,
|
||
MOVE_THUNDERBOLT = 129,
|
||
MOVE_MIST = 130,
|
||
MOVE_FISSURE = 131,
|
||
MOVE_EXTREMESPEED = 132,
|
||
MOVE_EXTRASENSORY = 133,
|
||
MOVE_SAFEGUARD = 134,
|
||
MOVE_ABSORB = 135,
|
||
MOVE_SKY_UPPERCUT = 136,
|
||
MOVE_SKILL_SWAP = 137,
|
||
MOVE_SKETCH = 138,
|
||
MOVE_HEADBUTT = 139,
|
||
MOVE_DOUBLE_EDGE = 140,
|
||
MOVE_SANDSTORM = 141,
|
||
MOVE_SAND_ATTACK = 142,
|
||
MOVE_SAND_TOMB = 143,
|
||
MOVE_SPARK = 144,
|
||
MOVE_SWIFT = 145,
|
||
MOVE_KINESIS = 146,
|
||
MOVE_SMOG = 147,
|
||
MOVE_GROWTH = 148,
|
||
MOVE_SACRED_FIRE = 149,
|
||
MOVE_SHEER_COLD = 150,
|
||
MOVE_SOLARBEAM = 151,
|
||
MOVE_SONICBOOM = 152,
|
||
MOVE_FLY = 153,
|
||
MOVE_TACKLE = 154,
|
||
MOVE_EXPLOSION = 155,
|
||
MOVE_DIVE = 156,
|
||
MOVE_FIRE_BLAST = 157,
|
||
MOVE_WATERFALL = 158,
|
||
MOVE_MUDDY_WATER = 159,
|
||
MOVE_STOCKPILE = 160,
|
||
MOVE_SLAM = 161,
|
||
MOVE_TWISTER = 162,
|
||
MOVE_BULLET_SEED = 163,
|
||
MOVE_TWINEEDLE = 164,
|
||
MOVE_SOFTBOILED = 165,
|
||
MOVE_EGG_BOMB = 166,
|
||
MOVE_FAINT_ATTACK = 167,
|
||
MOVE_BARRAGE = 168,
|
||
MOVE_MINIMIZE = 169,
|
||
MOVE_SEISMIC_TOSS = 170,
|
||
MOVE_SUPERSONIC = 171,
|
||
MOVE_TAUNT = 172,
|
||
MOVE_MOONLIGHT = 173,
|
||
MOVE_PECK = 174,
|
||
MOVE_ARM_THRUST = 175,
|
||
MOVE_HORN_ATTACK = 176,
|
||
MOVE_HORN_DRILL = 177,
|
||
MOVE_WING_ATTACK = 178,
|
||
MOVE_AERIAL_ACE = 179,
|
||
MOVE_ICICLE_SPEAR = 180,
|
||
MOVE_SWORDS_DANCE = 181,
|
||
MOVE_VINE_WHIP = 182,
|
||
MOVE_CONVERSION = 183,
|
||
MOVE_CONVERSION_2 = 184,
|
||
MOVE_HELPING_HAND = 185,
|
||
MOVE_IRON_DEFENSE = 186,
|
||
MOVE_TELEPORT = 187,
|
||
MOVE_THUNDERSHOCK = 188,
|
||
MOVE_SHOCK_WAVE = 189,
|
||
MOVE_QUICK_ATTACK = 190,
|
||
MOVE_SWEET_KISS = 191,
|
||
MOVE_THUNDER_WAVE = 192,
|
||
MOVE_ZAP_CANNON = 193,
|
||
MOVE_BLOCK = 194,
|
||
MOVE_HOWL = 195,
|
||
MOVE_POISON_GAS = 196,
|
||
MOVE_TOXIC = 197,
|
||
MOVE_POISON_FANG = 198,
|
||
MOVE_POISONPOWDER = 199,
|
||
MOVE_POISON_STING = 200,
|
||
MOVE_SPIKE_CANNON = 201,
|
||
MOVE_ACID_ARMOR = 202,
|
||
MOVE_TAKE_DOWN = 203,
|
||
MOVE_JUMP_KICK = 204,
|
||
MOVE_BOUNCE = 205,
|
||
MOVE_HI_JUMP_KICK = 206,
|
||
MOVE_TRI_ATTACK = 207,
|
||
MOVE_DRAGON_CLAW = 208,
|
||
MOVE_TRICK = 209,
|
||
MOVE_TRIPLE_KICK = 210,
|
||
MOVE_DRILL_PECK = 211,
|
||
MOVE_MUD_SPORT = 212,
|
||
MOVE_MUD_SLAP = 213,
|
||
MOVE_THIEF = 214,
|
||
MOVE_AMNESIA = 215,
|
||
MOVE_NIGHT_SHADE = 216,
|
||
MOVE_GROWL = 217,
|
||
MOVE_SLACK_OFF = 218,
|
||
MOVE_SURF = 219,
|
||
MOVE_ROLE_PLAY = 220,
|
||
MOVE_NEEDLE_ARM = 221,
|
||
MOVE_DOUBLE_KICK = 222,
|
||
MOVE_SUNNY_DAY = 223,
|
||
MOVE_LEER = 224,
|
||
MOVE_WISH = 225,
|
||
MOVE_FAKE_OUT = 226,
|
||
MOVE_SLEEP_TALK = 227,
|
||
MOVE_PAY_DAY = 228,
|
||
MOVE_ASSIST = 229,
|
||
MOVE_HEAT_WAVE = 230,
|
||
MOVE_SLEEP_POWDER = 231,
|
||
MOVE_REST = 232,
|
||
MOVE_INGRAIN = 233,
|
||
MOVE_CONFUSION = 234,
|
||
MOVE_BODY_SLAM = 235,
|
||
MOVE_SWALLOW = 236,
|
||
MOVE_CURSE = 237,
|
||
MOVE_FRENZY_PLANT = 238,
|
||
MOVE_HYDRO_CANNON = 239,
|
||
MOVE_HYDRO_PUMP = 240,
|
||
MOVE_HYPER_VOICE = 241,
|
||
MOVE_HYPER_BEAM = 242,
|
||
MOVE_SUPERPOWER = 243,
|
||
MOVE_STEEL_WING = 244,
|
||
MOVE_SPIT_UP = 245,
|
||
MOVE_DYNAMICPUNCH = 246,
|
||
MOVE_GUILLOTINE = 247,
|
||
MOVE_VICEGRIP = 248,
|
||
MOVE_KNOCK_OFF = 249,
|
||
MOVE_POUND = 250,
|
||
MOVE_RAZOR_LEAF = 251,
|
||
MOVE_BATON_PASS = 252,
|
||
MOVE_PETAL_DANCE = 253,
|
||
MOVE_SPLASH = 254,
|
||
MOVE_BUBBLEBEAM = 255,
|
||
MOVE_DOOM_DESIRE = 256,
|
||
MOVE_BELLY_DRUM = 257,
|
||
MOVE_BARRIER = 258,
|
||
MOVE_LIGHT_SCREEN = 259,
|
||
MOVE_SCRATCH = 260,
|
||
MOVE_HYPER_FANG = 261,
|
||
MOVE_EMBER = 262,
|
||
MOVE_SECRET_POWER = 263,
|
||
MOVE_DIZZY_PUNCH = 264,
|
||
MOVE_BULK_UP = 265,
|
||
MOVE_IMPRISON = 266,
|
||
MOVE_FEATHERDANCE = 267,
|
||
MOVE_WHIRLWIND = 268,
|
||
MOVE_BEAT_UP = 269,
|
||
MOVE_BLIZZARD = 270,
|
||
MOVE_STOMP = 271,
|
||
MOVE_BLAST_BURN = 272,
|
||
MOVE_FLASH = 273,
|
||
MOVE_TEETER_DANCE = 274,
|
||
MOVE_CRUSH_CLAW = 275,
|
||
MOVE_BLAZE_KICK = 276,
|
||
MOVE_PRESENT = 277,
|
||
MOVE_ERUPTION = 278,
|
||
MOVE_SLUDGE = 279,
|
||
MOVE_SLUDGE_BOMB = 280,
|
||
MOVE_GLARE = 281,
|
||
MOVE_TRANSFORM = 282,
|
||
MOVE_POISON_TAIL = 283,
|
||
MOVE_ROAR = 284,
|
||
MOVE_BONE_RUSH = 285,
|
||
MOVE_CAMOUFLAGE = 286,
|
||
MOVE_COVET = 287,
|
||
MOVE_TAIL_GLOW = 288,
|
||
MOVE_BONE_CLUB = 289,
|
||
MOVE_BONEMERANG = 290,
|
||
MOVE_FIRE_SPIN = 291,
|
||
MOVE_FIRE_PUNCH = 292,
|
||
MOVE_PERISH_SONG = 293,
|
||
MOVE_WRAP = 294,
|
||
MOVE_SPIKES = 295,
|
||
MOVE_MAGNITUDE = 296,
|
||
MOVE_MAGICAL_LEAF = 297,
|
||
MOVE_MAGIC_COAT = 298,
|
||
MOVE_MUD_SHOT = 299,
|
||
MOVE_MACH_PUNCH = 300,
|
||
MOVE_PROTECT = 301,
|
||
MOVE_DEFENSE_CURL = 302,
|
||
MOVE_ROLLING_KICK = 303,
|
||
MOVE_SUBSTITUTE = 304,
|
||
MOVE_DETECT = 305,
|
||
MOVE_PIN_MISSILE = 306,
|
||
MOVE_WATER_SPORT = 307,
|
||
MOVE_WATER_GUN = 308,
|
||
MOVE_MIST_BALL = 309,
|
||
MOVE_WATER_PULSE = 310,
|
||
MOVE_FURY_ATTACK = 311,
|
||
MOVE_FURY_SWIPES = 312,
|
||
MOVE_DESTINY_BOND = 313,
|
||
MOVE_FALSE_SWIPE = 314,
|
||
MOVE_FORESIGHT = 315,
|
||
MOVE_MIRROR_COAT = 316,
|
||
MOVE_FUTURE_SIGHT = 317,
|
||
MOVE_MILK_DRINK = 318,
|
||
MOVE_CALM_MIND = 319,
|
||
MOVE_MEGA_DRAIN = 320,
|
||
MOVE_MEGA_KICK = 321,
|
||
MOVE_MEGA_PUNCH = 322,
|
||
MOVE_MEGAHORN = 323,
|
||
MOVE_HIDDEN_POWER = 324,
|
||
MOVE_METAL_CLAW = 325,
|
||
MOVE_ATTRACT = 326,
|
||
MOVE_MIMIC = 327,
|
||
MOVE_FRUSTRATION = 328,
|
||
MOVE_LEECH_SEED = 329,
|
||
MOVE_METRONOME = 330,
|
||
MOVE_DREAM_EATER = 331,
|
||
MOVE_ACID = 332,
|
||
MOVE_MEDITATE = 333,
|
||
MOVE_SNATCH = 334,
|
||
MOVE_LUSTER_PURGE = 335,
|
||
MOVE_LEAF_BLADE = 336,
|
||
MOVE_RECYCLE = 337,
|
||
MOVE_REFLECT = 338,
|
||
MOVE_REFRESH = 339,
|
||
MOVE_REVENGE = 340,
|
||
MOVE_DRAGON_RAGE = 341,
|
||
MOVE_DRAGONBREATH = 342,
|
||
MOVE_DRAGON_DANCE = 343,
|
||
MOVE_ICE_PUNCH = 344,
|
||
MOVE_ICE_BEAM = 345,
|
||
MOVE_FURY_CUTTER = 346,
|
||
MOVE_COMET_PUNCH = 347,
|
||
MOVE_SKULL_BASH = 348,
|
||
MOVE_LOCK_ON = 349,
|
||
MOVE_ROCK_BLAST = 350,
|
||
MOVE_COTTON_SPORE = 351,
|
||
MOVE_STRUGGLE = 352,
|
||
MOVE_AEROBLAST = 353,
|
||
MOVE_VOLT_TACKLE = 354,
|
||
MOVE_REGULAR_ATTACK = 355,
|
||
MOVE_IS_WATCHING = 356,
|
||
MOVE_BIDE_UNLEASH = 357,
|
||
MOVE_REVENGE_UNLEASH = 358,
|
||
MOVE_AVALANCHE_UNLEASH = 359,
|
||
MOVE_WIDE_SLASH = 360,
|
||
MOVE_UNNAMED_0x169 = 361,
|
||
MOVE_UNNAMED_0x16A = 362,
|
||
MOVE_SEE_TRAP = 363,
|
||
MOVE_TAKEAWAY = 364,
|
||
MOVE_REBOUND = 365,
|
||
MOVE_BLOOP_SLASH = 366,
|
||
MOVE_SWITCHER = 367,
|
||
MOVE_BLOWBACK = 368,
|
||
MOVE_WARP = 369,
|
||
MOVE_TRANSFER = 370,
|
||
MOVE_SLOW_DOWN = 371,
|
||
MOVE_SPEED_BOOST = 372,
|
||
MOVE_SEARCHLIGHT = 373,
|
||
MOVE_PETRIFY = 374,
|
||
MOVE_STAY_AWAY = 375,
|
||
MOVE_POUNCE = 376,
|
||
MOVE_TRAWL = 377,
|
||
MOVE_CLEANSE = 378,
|
||
MOVE_OBSERVER = 379,
|
||
MOVE_DECOY_MAKER = 380,
|
||
MOVE_SIESTA = 381,
|
||
MOVE_TOTTER = 382,
|
||
MOVE_TWO_EDGE = 383,
|
||
MOVE_NO_MOVE = 384,
|
||
MOVE_ESCAPE = 385,
|
||
MOVE_SCAN = 386,
|
||
MOVE_POWER_EARS = 387,
|
||
MOVE_DROUGHT = 388,
|
||
MOVE_TRAP_BUSTER = 389,
|
||
MOVE_WILD_CALL = 390,
|
||
MOVE_INVISIFY = 391,
|
||
MOVE_ONE_SHOT = 392,
|
||
MOVE_HP_GAUGE = 393,
|
||
MOVE_VACUUM_CUT = 394,
|
||
MOVE_REVIVER = 395,
|
||
MOVE_SHOCKER = 396,
|
||
MOVE_ECHO = 397,
|
||
MOVE_FAMISH = 398,
|
||
MOVE_ONE_ROOM = 399,
|
||
MOVE_FILL_IN = 400,
|
||
MOVE_TRAPPER = 401,
|
||
MOVE_POSSESS = 402,
|
||
MOVE_ITEMIZE = 403,
|
||
MOVE_TAG_0x194 = 404,
|
||
MOVE_PROJECTILE = 405,
|
||
MOVE_HURL = 406,
|
||
MOVE_MOBILE = 407,
|
||
MOVE_ITEM_TOSS = 408,
|
||
MOVE_SEE_STAIRS = 409,
|
||
MOVE_LONG_TOSS = 410,
|
||
MOVE_TAG_0x19B = 411,
|
||
MOVE_PIERCE = 412,
|
||
MOVE_TAG_0x19D = 413,
|
||
MOVE_TAG_0x19E = 414,
|
||
MOVE_TAG_0x19F = 415,
|
||
MOVE_TAG_0x1A0 = 416,
|
||
MOVE_TAG_0x1A1 = 417,
|
||
MOVE_TAG_0x1A2 = 418,
|
||
MOVE_TAG_0x1A3 = 419,
|
||
MOVE_TAG_0x1A4 = 420,
|
||
MOVE_TAG_0x1A5 = 421,
|
||
MOVE_TAG_0x1A6 = 422,
|
||
MOVE_TAG_0x1A7 = 423,
|
||
MOVE_TAG_0x1A8 = 424,
|
||
MOVE_TAG_0x1A9 = 425,
|
||
MOVE_TAG_0x1AA = 426,
|
||
MOVE_TAG_0x1AB = 427,
|
||
MOVE_TAG_0x1AC = 428,
|
||
MOVE_TAG_0x1AD = 429,
|
||
MOVE_HAMMER_ARM = 430,
|
||
MOVE_IRON_HEAD = 431,
|
||
MOVE_AQUA_JET = 432,
|
||
MOVE_AQUA_TAIL = 433,
|
||
MOVE_AQUA_RING = 434,
|
||
MOVE_SPACIAL_REND = 435,
|
||
MOVE_DARK_PULSE = 436,
|
||
MOVE_OMINOUS_WIND = 437,
|
||
MOVE_GASTRO_ACID = 438,
|
||
MOVE_HEALING_WISH = 439,
|
||
MOVE_CLOSE_COMBAT = 440,
|
||
MOVE_WOOD_HAMMER = 441,
|
||
MOVE_AIR_SLASH = 442,
|
||
MOVE_ENERGY_BALL = 443,
|
||
MOVE_TAILWIND = 444,
|
||
MOVE_PUNISHMENT = 445,
|
||
MOVE_CHATTER = 446,
|
||
MOVE_LUCKY_CHANT = 447,
|
||
MOVE_GUARD_SWAP = 448,
|
||
MOVE_HEAL_ORDER = 449,
|
||
MOVE_HEAL_BLOCK = 450,
|
||
MOVE_SHADOW_SNEAK = 451,
|
||
MOVE_THUNDER_FANG = 452,
|
||
MOVE_ROCK_WRECKER = 453,
|
||
MOVE_FOCUS_BLAST = 454,
|
||
MOVE_GIGA_IMPACT = 455,
|
||
MOVE_DEFOG = 456,
|
||
MOVE_TRUMP_CARD = 457,
|
||
MOVE_GRASS_KNOT = 458,
|
||
MOVE_CROSS_POISON = 459,
|
||
MOVE_ATTACK_ORDER = 460,
|
||
MOVE_ICE_FANG = 461,
|
||
MOVE_ICE_SHARD = 462,
|
||
MOVE_PSYCHO_CUT = 463,
|
||
MOVE_PSYCHO_SHIFT = 464,
|
||
MOVE_ME_FIRST = 465,
|
||
MOVE_EMBARGO = 466,
|
||
MOVE_JUDGMENT = 467,
|
||
MOVE_SEED_FLARE = 468,
|
||
MOVE_BRINE = 469,
|
||
MOVE_X_SCISSOR = 470,
|
||
MOVE_NATURAL_GIFT = 471,
|
||
MOVE_PAYBACK = 472,
|
||
MOVE_ZEN_HEADBUTT = 473,
|
||
MOVE_WRING_OUT = 474,
|
||
MOVE_GYRO_BALL = 475,
|
||
MOVE_SHADOW_CLAW = 476,
|
||
MOVE_SHADOW_FORCE = 477,
|
||
MOVE_GRAVITY = 478,
|
||
MOVE_VACUUM_WAVE = 479,
|
||
MOVE_STEALTH_ROCK = 480,
|
||
MOVE_STONE_EDGE = 481,
|
||
MOVE_SWITCHEROO = 482,
|
||
MOVE_DARK_VOID = 483,
|
||
MOVE_EARTH_POWER = 484,
|
||
MOVE_GUNK_SHOT = 485,
|
||
MOVE_SEED_BOMB = 486,
|
||
MOVE_DOUBLE_HIT = 487,
|
||
MOVE_ASSURANCE = 488,
|
||
MOVE_CHARGE_BEAM = 489,
|
||
MOVE_PLUCK = 490,
|
||
MOVE_NIGHT_SLASH = 491,
|
||
MOVE_ACUPRESSURE = 492,
|
||
MOVE_MAGNET_RISE = 493,
|
||
MOVE_ROAR_OF_TIME = 494,
|
||
MOVE_POISON_JAB = 495,
|
||
MOVE_TOXIC_SPIKES = 496,
|
||
MOVE_LAST_RESORT = 497,
|
||
MOVE_DRAGON_RUSH = 498,
|
||
MOVE_TRICK_ROOM = 499,
|
||
MOVE_DRAIN_PUNCH = 500,
|
||
MOVE_MUD_BOMB = 501,
|
||
MOVE_U_TURN = 502,
|
||
MOVE_FLING = 503,
|
||
MOVE_WORRY_SEED = 504,
|
||
MOVE_CRUSH_GRIP = 505,
|
||
MOVE_HEART_SWAP = 506,
|
||
MOVE_FORCE_PALM = 507,
|
||
MOVE_AURA_SPHERE = 508,
|
||
MOVE_ROOST = 509,
|
||
MOVE_BULLET_PUNCH = 510,
|
||
MOVE_POWER_WHIP = 511,
|
||
MOVE_POWER_GEM = 512,
|
||
MOVE_POWER_SWAP = 513,
|
||
MOVE_POWER_TRICK = 514,
|
||
MOVE_SUCKER_PUNCH = 515,
|
||
MOVE_FEINT = 516,
|
||
MOVE_FLARE_BLITZ = 517,
|
||
MOVE_BRAVE_BIRD = 518,
|
||
MOVE_LAVA_PLUME = 519,
|
||
MOVE_DEFEND_ORDER = 520,
|
||
MOVE_DISCHARGE = 521,
|
||
MOVE_FIRE_FANG = 522,
|
||
MOVE_MAGNET_BOMB = 523,
|
||
MOVE_MAGMA_STORM = 524,
|
||
MOVE_COPYCAT = 525,
|
||
MOVE_LUNAR_DANCE = 526,
|
||
MOVE_MIRROR_SHOT = 527,
|
||
MOVE_MIRACLE_EYE = 528,
|
||
MOVE_BUG_BITE = 529,
|
||
MOVE_BUG_BUZZ = 530,
|
||
MOVE_WAKE_UP_SLAP = 531,
|
||
MOVE_METAL_BURST = 532,
|
||
MOVE_HEAD_SMASH = 533,
|
||
MOVE_CAPTIVATE = 534,
|
||
MOVE_AVALANCHE = 535,
|
||
MOVE_FLASH_CANNON = 536,
|
||
MOVE_LEAF_STORM = 537,
|
||
MOVE_DRACO_METEOR = 538,
|
||
MOVE_DRAGON_PULSE = 539,
|
||
MOVE_ROCK_POLISH = 540,
|
||
MOVE_ROCK_CLIMB = 541,
|
||
MOVE_NASTY_PLOT = 542,
|
||
MOVE_TAG_0x21F = 543,
|
||
MOVE_TAG_0x220 = 544,
|
||
MOVE_TAG_0x221 = 545,
|
||
MOVE_TAG_0x222 = 546,
|
||
MOVE_TAG_0x223 = 547,
|
||
MOVE_TAG_0x224 = 548,
|
||
MOVE_TAG_0x225 = 549,
|
||
MOVE_TAG_0x226 = 550,
|
||
MOVE_TAG_0x227 = 551,
|
||
MOVE_TAG_0x228 = 552,
|
||
MOVE_TAG_0x229 = 553,
|
||
MOVE_TAG_0x22A = 554,
|
||
MOVE_TAG_0x22B = 555,
|
||
MOVE_TAG_0x22C = 556,
|
||
MOVE_TAG_0x22D = 557,
|
||
MOVE_TAG_0x22E = 558,
|
||
};
|
||
|
||
// Affects the chance of items spawning on each tile in a Kecleon Shop
|
||
// The chances (in %) of each tile (in a 3x3 area at the center of the shop)
|
||
// having an item are listed below.
|
||
enum shop_item_positions {
|
||
// 30 30 30
|
||
// 100 100 30
|
||
// 30 30 30
|
||
SHOP_POSITION_0 = 0,
|
||
// 30 30 30
|
||
// 100 30 30
|
||
// 30 100 30
|
||
SHOP_POSITION_1 = 1,
|
||
// 30 30 30
|
||
// 100 30 30
|
||
// 30 30 100
|
||
SHOP_POSITION_2 = 2,
|
||
// 100 30 30
|
||
// 30 30 100
|
||
// 30 30 30
|
||
SHOP_POSITION_3 = 3,
|
||
// 100 30 100
|
||
// 30 30 30
|
||
// 30 30 30
|
||
SHOP_POSITION_4 = 4,
|
||
// 30 30 30
|
||
// 30 30 100
|
||
// 100 30 30
|
||
SHOP_POSITION_5 = 5,
|
||
// 30 30 30
|
||
// 100 30 100
|
||
// 30 30 30
|
||
// The rest of the entries all have the same layout
|
||
SHOP_POSITION_6 = 6,
|
||
SHOP_POSITION_7 = 7,
|
||
SHOP_POSITION_8 = 8,
|
||
SHOP_POSITION_9 = 9,
|
||
SHOP_POSITION_A = 10,
|
||
SHOP_POSITION_B = 11,
|
||
SHOP_POSITION_C = 12,
|
||
SHOP_POSITION_D = 13,
|
||
SHOP_POSITION_E = 14,
|
||
SHOP_POSITION_F = 15,
|
||
};
|
||
|
||
// Ability ID
|
||
enum ability_id {
|
||
ABILITY_UNKNOWN = 0,
|
||
ABILITY_STENCH = 1,
|
||
ABILITY_THICK_FAT = 2,
|
||
ABILITY_RAIN_DISH = 3,
|
||
ABILITY_DRIZZLE = 4,
|
||
ABILITY_ARENA_TRAP = 5,
|
||
ABILITY_INTIMIDATE = 6,
|
||
ABILITY_ROCK_HEAD = 7,
|
||
ABILITY_AIR_LOCK = 8,
|
||
ABILITY_HYPER_CUTTER = 9,
|
||
ABILITY_SHADOW_TAG = 10,
|
||
ABILITY_SPEED_BOOST = 11,
|
||
ABILITY_BATTLE_ARMOR = 12,
|
||
ABILITY_STURDY = 13,
|
||
ABILITY_SUCTION_CUPS = 14,
|
||
ABILITY_CLEAR_BODY = 15,
|
||
ABILITY_TORRENT = 16,
|
||
ABILITY_GUTS = 17,
|
||
ABILITY_ROUGH_SKIN = 18,
|
||
ABILITY_SHELL_ARMOR = 19,
|
||
ABILITY_NATURAL_CURE = 20,
|
||
ABILITY_DAMP = 21,
|
||
ABILITY_LIMBER = 22,
|
||
ABILITY_MAGNET_PULL = 23,
|
||
ABILITY_WHITE_SMOKE = 24,
|
||
ABILITY_SYNCHRONIZE = 25,
|
||
ABILITY_OVERGROW = 26,
|
||
ABILITY_SWIFT_SWIM = 27,
|
||
ABILITY_SAND_STREAM = 28,
|
||
ABILITY_SAND_VEIL = 29,
|
||
ABILITY_KEEN_EYE = 30,
|
||
ABILITY_INNER_FOCUS = 31,
|
||
ABILITY_STATIC = 32,
|
||
ABILITY_SHED_SKIN = 33,
|
||
ABILITY_HUGE_POWER = 34,
|
||
ABILITY_VOLT_ABSORB = 35,
|
||
ABILITY_WATER_ABSORB = 36,
|
||
ABILITY_FORECAST = 37,
|
||
ABILITY_SERENE_GRACE = 38,
|
||
ABILITY_POISON_POINT = 39,
|
||
ABILITY_TRACE = 40,
|
||
ABILITY_OBLIVIOUS = 41,
|
||
ABILITY_TRUANT = 42,
|
||
ABILITY_RUN_AWAY = 43,
|
||
ABILITY_STICKY_HOLD = 44,
|
||
ABILITY_CLOUD_NINE = 45,
|
||
ABILITY_ILLUMINATE = 46,
|
||
ABILITY_EARLY_BIRD = 47,
|
||
ABILITY_HUSTLE = 48,
|
||
ABILITY_DROUGHT = 49,
|
||
ABILITY_LIGHTNINGROD = 50,
|
||
ABILITY_COMPOUNDEYES = 51,
|
||
ABILITY_MARVEL_SCALE = 52,
|
||
ABILITY_WONDER_GUARD = 53,
|
||
ABILITY_INSOMNIA = 54,
|
||
ABILITY_LEVITATE = 55,
|
||
ABILITY_PLUS = 56,
|
||
ABILITY_PRESSURE = 57,
|
||
ABILITY_LIQUID_OOZE = 58,
|
||
ABILITY_COLOR_CHANGE = 59,
|
||
ABILITY_SOUNDPROOF = 60,
|
||
ABILITY_EFFECT_SPORE = 61,
|
||
ABILITY_FLAME_BODY = 62,
|
||
ABILITY_MINUS = 63,
|
||
ABILITY_OWN_TEMPO = 64,
|
||
ABILITY_MAGMA_ARMOR = 65,
|
||
ABILITY_WATER_VEIL = 66,
|
||
ABILITY_SWARM = 67,
|
||
ABILITY_CUTE_CHARM = 68,
|
||
ABILITY_IMMUNITY = 69,
|
||
ABILITY_BLAZE = 70,
|
||
ABILITY_PICKUP = 71,
|
||
ABILITY_FLASH_FIRE = 72,
|
||
ABILITY_VITAL_SPIRIT = 73,
|
||
ABILITY_CHLOROPHYLL = 74,
|
||
ABILITY_PURE_POWER = 75,
|
||
ABILITY_SHIELD_DUST = 76,
|
||
ABILITY_ICE_BODY = 77,
|
||
ABILITY_STALL = 78,
|
||
ABILITY_ANGER_POINT = 79,
|
||
ABILITY_TINTED_LENS = 80,
|
||
ABILITY_HYDRATION = 81,
|
||
ABILITY_FRISK = 82,
|
||
ABILITY_MOLD_BREAKER = 83,
|
||
ABILITY_UNBURDEN = 84,
|
||
ABILITY_DRY_SKIN = 85,
|
||
ABILITY_ANTICIPATION = 86,
|
||
ABILITY_SCRAPPY = 87,
|
||
ABILITY_SUPER_LUCK = 88,
|
||
ABILITY_GLUTTONY = 89,
|
||
ABILITY_SOLAR_POWER = 90,
|
||
ABILITY_SKILL_LINK = 91,
|
||
ABILITY_RECKLESS = 92,
|
||
ABILITY_SNIPER = 93,
|
||
ABILITY_SLOW_START = 94,
|
||
ABILITY_HEATPROOF = 95,
|
||
ABILITY_DOWNLOAD = 96,
|
||
ABILITY_SIMPLE = 97,
|
||
ABILITY_TANGLED_FEET = 98,
|
||
ABILITY_ADAPTABILITY = 99,
|
||
ABILITY_TECHNICIAN = 100,
|
||
ABILITY_IRON_FIST = 101,
|
||
ABILITY_MOTOR_DRIVE = 102,
|
||
ABILITY_UNAWARE = 103,
|
||
ABILITY_RIVALRY = 104,
|
||
ABILITY_BAD_DREAMS = 105,
|
||
ABILITY_NO_GUARD = 106,
|
||
ABILITY_NORMALIZE = 107,
|
||
ABILITY_SOLID_ROCK = 108,
|
||
ABILITY_QUICK_FEET = 109,
|
||
ABILITY_FILTER = 110,
|
||
ABILITY_KLUTZ = 111,
|
||
ABILITY_STEADFAST = 112,
|
||
ABILITY_FLOWER_GIFT = 113,
|
||
ABILITY_POISON_HEAL = 114,
|
||
ABILITY_MAGIC_GUARD = 115,
|
||
ABILITY_MULTITYPE = 116, // Named "$$$" in game in NA/EU
|
||
ABILITY_HONEY_GATHER = 117,
|
||
ABILITY_AFTERMATH = 118,
|
||
ABILITY_SNOW_CLOAK = 119,
|
||
ABILITY_SNOW_WARNING = 120,
|
||
ABILITY_FOREWARN = 121,
|
||
ABILITY_STORM_DRAIN = 122,
|
||
ABILITY_LEAF_GUARD = 123,
|
||
};
|
||
|
||
// Dungeon ID.
|
||
// Each "section" of what we would normally consider "one dungeon" has its own ID. Many of the
|
||
// later dungeon IDs are not actual dungeons, and are used for the "Joined at" field for teammates
|
||
enum dungeon_id {
|
||
DUNGEON_TEST_DUNGEON = 0,
|
||
DUNGEON_BEACH_CAVE = 1,
|
||
DUNGEON_BEACH_CAVE_PIT = 2,
|
||
DUNGEON_DRENCHED_BLUFF = 3,
|
||
DUNGEON_MT_BRISTLE = 4,
|
||
DUNGEON_MT_BRISTLE_PEAK = 5,
|
||
DUNGEON_WATERFALL_CAVE = 6,
|
||
DUNGEON_APPLE_WOODS = 7,
|
||
DUNGEON_CRAGGY_COAST = 8,
|
||
DUNGEON_SIDE_PATH = 9,
|
||
DUNGEON_MT_HORN = 10,
|
||
DUNGEON_ROCK_PATH = 11,
|
||
DUNGEON_FOGGY_FOREST = 12,
|
||
DUNGEON_FOREST_PATH = 13,
|
||
DUNGEON_STEAM_CAVE = 14,
|
||
DUNGEON_UPPER_STEAM_CAVE = 15,
|
||
DUNGEON_STEAM_CAVE_PEAK = 16,
|
||
DUNGEON_AMP_PLAINS = 17,
|
||
DUNGEON_FAR_AMP_PLAINS = 18,
|
||
DUNGEON_AMP_CLEARING = 19,
|
||
DUNGEON_NORTHERN_DESERT = 20,
|
||
DUNGEON_QUICKSAND_CAVE = 21,
|
||
DUNGEON_QUICKSAND_PIT = 22,
|
||
DUNGEON_UNDERGROUND_LAKE = 23,
|
||
DUNGEON_CRYSTAL_CAVE = 24,
|
||
DUNGEON_CRYSTAL_CROSSING = 25,
|
||
DUNGEON_CRYSTAL_LAKE = 26,
|
||
DUNGEON_CHASM_CAVE = 27,
|
||
DUNGEON_DARK_HILL = 28,
|
||
DUNGEON_SEALED_RUIN = 29,
|
||
DUNGEON_DEEP_SEALED_RUIN = 30,
|
||
DUNGEON_SEALED_RUIN_PIT = 31,
|
||
DUNGEON_DUSK_FOREST = 32,
|
||
DUNGEON_DEEP_DUSK_FOREST = 33,
|
||
DUNGEON_TREESHROUD_FOREST = 34,
|
||
DUNGEON_BRINE_CAVE = 35,
|
||
DUNGEON_LOWER_BRINE_CAVE = 36,
|
||
DUNGEON_BRINE_CAVE_PIT = 37,
|
||
DUNGEON_HIDDEN_LAND = 38,
|
||
DUNGEON_HIDDEN_HIGHLAND = 39,
|
||
DUNGEON_OLD_RUINS = 40,
|
||
DUNGEON_TEMPORAL_TOWER = 41,
|
||
DUNGEON_TEMPORAL_SPIRE = 42,
|
||
DUNGEON_TEMPORAL_PINNACLE = 43,
|
||
DUNGEON_MYSTIFYING_FOREST = 44,
|
||
DUNGEON_MYSTIFYING_FOREST_CLEARING = 45,
|
||
DUNGEON_BLIZZARD_ISLAND = 46,
|
||
DUNGEON_CREVICE_CAVE = 47,
|
||
DUNGEON_LOWER_CREVICE_CAVE = 48,
|
||
DUNGEON_CREVICE_CAVE_PIT = 49,
|
||
DUNGEON_SURROUNDED_SEA = 50,
|
||
DUNGEON_MIRACLE_SEA = 51,
|
||
DUNGEON_DEEP_MIRACLE_SEA = 52,
|
||
DUNGEON_MIRACLE_SEABED = 53,
|
||
DUNGEON_ICE_AEGIS_CAVE = 54,
|
||
DUNGEON_REGICE_CHAMBER = 55,
|
||
DUNGEON_ROCK_AEGIS_CAVE = 56,
|
||
DUNGEON_REGIROCK_CHAMBER = 57,
|
||
DUNGEON_STEEL_AEGIS_CAVE = 58,
|
||
DUNGEON_REGISTEEL_CHAMBER = 59,
|
||
DUNGEON_AEGIS_CAVE_PIT = 60,
|
||
DUNGEON_REGIGIGAS_CHAMBER = 61,
|
||
DUNGEON_MT_TRAVAIL = 62,
|
||
DUNGEON_THE_NIGHTMARE = 63,
|
||
DUNGEON_SPACIAL_RIFT = 64,
|
||
DUNGEON_DEEP_SPACIAL_RIFT = 65,
|
||
DUNGEON_SPACIAL_RIFT_BOTTOM = 66,
|
||
DUNGEON_DARK_CRATER = 67,
|
||
DUNGEON_DEEP_DARK_CRATER = 68,
|
||
DUNGEON_DARK_CRATER_PIT = 69,
|
||
DUNGEON_CONCEALED_RUINS = 70,
|
||
DUNGEON_DEEP_CONCEALED_RUINS = 71,
|
||
DUNGEON_MARINE_RESORT = 72,
|
||
DUNGEON_BOTTOMLESS_SEA = 73,
|
||
DUNGEON_BOTTOMLESS_SEA_DEPTHS = 74,
|
||
DUNGEON_SHIMMER_DESERT = 75,
|
||
DUNGEON_SHIMMER_DESERT_PIT = 76,
|
||
DUNGEON_MT_AVALANCHE = 77,
|
||
DUNGEON_MT_AVALANCHE_PEAK = 78,
|
||
DUNGEON_GIANT_VOLCANO = 79,
|
||
DUNGEON_GIANT_VOLCANO_PEAK = 80,
|
||
DUNGEON_WORLD_ABYSS = 81,
|
||
DUNGEON_WORLD_ABYSS_PIT = 82,
|
||
DUNGEON_SKY_STAIRWAY = 83,
|
||
DUNGEON_SKY_STAIRWAY_APEX = 84,
|
||
DUNGEON_MYSTERY_JUNGLE = 85,
|
||
DUNGEON_DEEP_MYSTERY_JUNGLE = 86,
|
||
DUNGEON_SERENITY_RIVER = 87,
|
||
DUNGEON_LANDSLIDE_CAVE = 88,
|
||
DUNGEON_LUSH_PRAIRIE = 89,
|
||
DUNGEON_TINY_MEADOW = 90,
|
||
DUNGEON_LABYRINTH_CAVE = 91,
|
||
DUNGEON_ORAN_FOREST = 92,
|
||
DUNGEON_LAKE_AFAR = 93,
|
||
DUNGEON_HAPPY_OUTLOOK = 94,
|
||
DUNGEON_MY_MISTRAL = 95,
|
||
DUNGEON_SHIMMER_HILL = 96,
|
||
DUNGEON_LOST_WILDERNESS = 97,
|
||
DUNGEON_MIDNIGHT_FOREST = 98,
|
||
DUNGEON_ZERO_ISLE_NORTH = 99,
|
||
DUNGEON_ZERO_ISLE_EAST = 100,
|
||
DUNGEON_ZERO_ISLE_WEST = 101,
|
||
DUNGEON_ZERO_ISLE_SOUTH = 102,
|
||
DUNGEON_ZERO_ISLE_CENTER = 103,
|
||
DUNGEON_DESTINY_TOWER = 104,
|
||
DUNGEON_DUMMY_0x69 = 105,
|
||
DUNGEON_DUMMY_0x6A = 106,
|
||
DUNGEON_OBLIVION_FOREST = 107,
|
||
DUNGEON_TREACHEROUS_WATERS = 108,
|
||
DUNGEON_SOUTHEASTERN_ISLANDS = 109,
|
||
DUNGEON_INFERNO_CAVE = 110,
|
||
DUNGEON_1ST_STATION_PASS = 111,
|
||
DUNGEON_2ND_STATION_PASS = 112,
|
||
DUNGEON_3RD_STATION_PASS = 113,
|
||
DUNGEON_4TH_STATION_PASS = 114,
|
||
DUNGEON_5TH_STATION_PASS = 115,
|
||
DUNGEON_6TH_STATION_PASS = 116,
|
||
DUNGEON_7TH_STATION_PASS = 117,
|
||
DUNGEON_8TH_STATION_PASS = 118,
|
||
DUNGEON_9TH_STATION_PASS = 119,
|
||
DUNGEON_SKY_PEAK_SUMMIT_PASS = 120,
|
||
DUNGEON_5TH_STATION_CLEARING = 121,
|
||
DUNGEON_SKY_PEAK_SUMMIT = 122,
|
||
DUNGEON_STAR_CAVE_SE1 = 123,
|
||
DUNGEON_DEEP_STAR_CAVE = 124,
|
||
DUNGEON_DEEP_STAR_CAVE_TEAM_ROGUE = 125,
|
||
DUNGEON_STAR_CAVE_DEPTHS = 126,
|
||
DUNGEON_STAR_CAVE_PIT = 127,
|
||
DUNGEON_MURKY_FOREST = 128,
|
||
DUNGEON_EASTERN_CAVE = 129,
|
||
DUNGEON_FORTUNE_RAVINE = 130,
|
||
DUNGEON_FORTUNE_RAVINE_DEPTHS = 131,
|
||
DUNGEON_FORTUNE_RAVINE_PIT = 132,
|
||
DUNGEON_BARREN_VALLEY = 133,
|
||
DUNGEON_DEEP_BARREN_VALLEY = 134,
|
||
DUNGEON_BARREN_VALLEY_CLEARING = 135,
|
||
DUNGEON_DARK_WASTELAND = 136,
|
||
DUNGEON_TEMPORAL_TOWER_SE5 = 137,
|
||
DUNGEON_TEMPORAL_SPIRE_SE5 = 138,
|
||
DUNGEON_DUSK_FOREST_SE5 = 139,
|
||
DUNGEON_BLACK_SWAMP = 140,
|
||
DUNGEON_SPACIAL_CLIFFS = 141,
|
||
DUNGEON_DARK_ICE_MOUNTAIN = 142,
|
||
DUNGEON_DARK_ICE_MOUNTAIN_PEAK = 143,
|
||
DUNGEON_DARK_ICE_MOUNTAIN_PINNACLE = 144,
|
||
DUNGEON_ICICLE_FOREST = 145,
|
||
DUNGEON_VAST_ICE_MOUNTAIN = 146,
|
||
DUNGEON_VAST_ICE_MOUNTAIN_PEAK = 147,
|
||
DUNGEON_VAST_ICE_MOUNTAIN_PINNACLE = 148,
|
||
DUNGEON_SOUTHERN_JUNGLE = 149,
|
||
DUNGEON_BOULDER_QUARRY = 150,
|
||
DUNGEON_DEEP_BOULDER_QUARRY = 151,
|
||
DUNGEON_BOULDER_QUARRY_CLEARING = 152,
|
||
DUNGEON_RIGHT_CAVE_PATH = 153,
|
||
DUNGEON_LEFT_CAVE_PATH = 154,
|
||
DUNGEON_LIMESTONE_CAVERN = 155,
|
||
DUNGEON_DEEP_LIMESTONE_CAVERN = 156,
|
||
DUNGEON_LIMESTONE_CAVERN_DEPTHS = 157,
|
||
DUNGEON_SPRING_CAVE = 158,
|
||
DUNGEON_UPPER_SPRING_CAVE_HAUNTER = 159,
|
||
DUNGEON_UPPER_SPRING_CAVE = 160,
|
||
DUNGEON_MIDDLE_SPRING_CAVE = 161,
|
||
DUNGEON_LOWER_SPRING_CAVE = 162,
|
||
DUNGEON_SPRING_CAVE_DEPTHS = 163,
|
||
DUNGEON_SPRING_CAVE_PIT = 164,
|
||
DUNGEON_LITTLE_PLAINS = 165,
|
||
DUNGEON_MT_CLEAR = 166,
|
||
DUNGEON_CHALLENGE_RIVER = 167,
|
||
DUNGEON_TRIAL_FOREST = 168,
|
||
DUNGEON_GUIDING_SEA = 169,
|
||
DUNGEON_HIDDEN_SHOPKEEPER_VILLAGE = 170,
|
||
DUNGEON_DUMMY_0xAB = 171,
|
||
DUNGEON_DUMMY_0xAC = 172,
|
||
DUNGEON_DUMMY_0xAD = 173,
|
||
DUNGEON_STAR_CAVE = 174,
|
||
DUNGEON_SHAYMIN_VILLAGE = 175,
|
||
DUNGEON_ARMALDOS_SHELTER = 176,
|
||
DUNGEON_LUMINOUS_SPRING = 177,
|
||
DUNGEON_HOT_SPRING = 178,
|
||
DUNGEON_RESCUE = 179,
|
||
DUNGEON_NORMAL_FLY_MAZE = 180,
|
||
DUNGEON_DARK_FIRE_MAZE = 181,
|
||
DUNGEON_ROCK_WATER_MAZE = 182,
|
||
DUNGEON_GRASS_MAZE = 183,
|
||
DUNGEON_ELEC_STEEL_MAZE = 184,
|
||
DUNGEON_ICE_GROUND_MAZE = 185,
|
||
DUNGEON_FIGHT_PSYCH_MAZE = 186,
|
||
DUNGEON_POISON_BUG_MAZE = 187,
|
||
DUNGEON_DRAGON_MAZE = 188,
|
||
DUNGEON_GHOST_MAZE = 189,
|
||
DUNGEON_EXPLORER_MAZE = 190,
|
||
DUNGEON_FINAL_MAZE = 191,
|
||
DUNGEON_DOJO_0xC0 = 192,
|
||
DUNGEON_DOJO_0xC1 = 193,
|
||
DUNGEON_DOJO_0xC2 = 194,
|
||
DUNGEON_DOJO_0xC3 = 195,
|
||
DUNGEON_DOJO_0xC4 = 196,
|
||
DUNGEON_DOJO_0xC5 = 197,
|
||
DUNGEON_DOJO_0xC6 = 198,
|
||
DUNGEON_DOJO_0xC7 = 199,
|
||
DUNGEON_DOJO_0xC8 = 200,
|
||
DUNGEON_DOJO_0xC9 = 201,
|
||
DUNGEON_DOJO_0xCA = 202,
|
||
DUNGEON_DOJO_0xCB = 203,
|
||
DUNGEON_DOJO_0xCC = 204,
|
||
DUNGEON_DOJO_0xCD = 205,
|
||
DUNGEON_DOJO_0xCE = 206,
|
||
DUNGEON_DOJO_0xCF = 207,
|
||
DUNGEON_DOJO_0xD0 = 208,
|
||
DUNGEON_DOJO_0xD1 = 209,
|
||
DUNGEON_DOJO_0xD2 = 210,
|
||
DUNGEON_DOJO_0xD3 = 211,
|
||
DUNGEON_RESCUE_DUNGEON = 212,
|
||
DUNGEON_BASE = 213,
|
||
DUNGEON_JOINED_AT_QUESTION_MARKS = 214, // Joined at ???
|
||
DUNGEON_BEACH = 215,
|
||
DUNGEON_JOINED_AT_UNKNOWN = 216,
|
||
DUNGEON_JOINED_AT_BIDOOF = 217,
|
||
DUNGEON_JOINED_AT_GROVYLE = 218,
|
||
DUNGEON_JOINED_AT_CELEBI = 219,
|
||
DUNGEON_JOINED_AT_CHATOT = 220,
|
||
DUNGEON_JOINED_AT_CRESSELIA = 221, // As a guest member during the story
|
||
DUNGEON_DUMMY_0xDE = 222,
|
||
DUNGEON_DUMMY_0xDF = 223,
|
||
DUNGEON_DUMMY_0xE0 = 224,
|
||
DUNGEON_DUMMY_0xE1 = 225,
|
||
DUNGEON_DUMMY_0xE2 = 226,
|
||
DUNGEON_DUMMY_0xE3 = 227,
|
||
DUNGEON_DUMMY_0xE4 = 228,
|
||
DUNGEON_DUMMY_0xE5 = 229,
|
||
DUNGEON_DUMMY_0xE6 = 230,
|
||
DUNGEON_DUMMY_0xE7 = 231,
|
||
DUNGEON_DUMMY_0xE8 = 232,
|
||
DUNGEON_DUMMY_0xE9 = 233,
|
||
DUNGEON_DUMMY_0xEA = 234,
|
||
DUNGEON_DUMMY_0xEB = 235,
|
||
DUNGEON_DUMMY_0xEC = 236,
|
||
DUNGEON_DUMMY_0xED = 237,
|
||
DUNGEON_DUMMY_0xEE = 238,
|
||
DUNGEON_DUMMY_0xEF = 239,
|
||
DUNGEON_DUMMY_0xF0 = 240,
|
||
DUNGEON_JOINED_AT_MANAPHY_RECRUITED = 241, // When recruited
|
||
DUNGEON_JOINED_AT_CRESSELIA_RECRUITED = 242, // When recruited
|
||
DUNGEON_JOINED_AT_SHAYMIN_LAND_RECRUITED = 243, // When recruited
|
||
DUNGEON_DUMMY_0xF4 = 244,
|
||
DUNGEON_DUMMY_0xF5 = 245,
|
||
DUNGEON_DUMMY_0xF6 = 246,
|
||
DUNGEON_TREASURE_TOWN_0xF7 = 247,
|
||
DUNGEON_TREASURE_TOWN_0xF8 = 248,
|
||
DUNGEON_OUTSIDE = 249,
|
||
DUNGEON_CLIENT = 250,
|
||
DUNGEON_DUMMY_0xFB = 251,
|
||
DUNGEON_DUMMY_0xFC = 252,
|
||
DUNGEON_DUMMY_0xFD = 253,
|
||
DUNGEON_DUMMY_0xFE = 254,
|
||
DUNGEON_DUMMY_0xFF = 255,
|
||
};
|
||
|
||
// Dungeon index.
|
||
// This is identical to enum dungeon_id up to ID 212, then there are 8 cases where they differ.
|
||
// The 8 remaining entries from 212 onwards aren't in this enum because they haven't been identified yet.
|
||
// This enum only has 212 entries, compared to 255 entries in enum dungeon_id.
|
||
// See DUNGEON_SWAP_ID_TABLE for the index -> ID mapping.
|
||
enum dungeon_idx {
|
||
DUNGEON_TEST_DUNGEON_IDX = 0,
|
||
DUNGEON_BEACH_CAVE_IDX = 1,
|
||
DUNGEON_BEACH_CAVE_PIT_IDX = 2,
|
||
DUNGEON_DRENCHED_BLUFF_IDX = 3,
|
||
DUNGEON_MT_BRISTLE_IDX = 4,
|
||
DUNGEON_MT_BRISTLE_PEAK_IDX = 5,
|
||
DUNGEON_WATERFALL_CAVE_IDX = 6,
|
||
DUNGEON_APPLE_WOODS_IDX = 7,
|
||
DUNGEON_CRAGGY_COAST_IDX = 8,
|
||
DUNGEON_SIDE_PATH_IDX = 9,
|
||
DUNGEON_MT_HORN_IDX = 10,
|
||
DUNGEON_ROCK_PATH_IDX = 11,
|
||
DUNGEON_FOGGY_FOREST_IDX = 12,
|
||
DUNGEON_FOREST_PATH_IDX = 13,
|
||
DUNGEON_STEAM_CAVE_IDX = 14,
|
||
DUNGEON_UPPER_STEAM_CAVE_IDX = 15,
|
||
DUNGEON_STEAM_CAVE_PEAK_IDX = 16,
|
||
DUNGEON_AMP_PLAINS_IDX = 17,
|
||
DUNGEON_FAR_AMP_PLAINS_IDX = 18,
|
||
DUNGEON_AMP_CLEARING_IDX = 19,
|
||
DUNGEON_NORTHERN_DESERT_IDX = 20,
|
||
DUNGEON_QUICKSAND_CAVE_IDX = 21,
|
||
DUNGEON_QUICKSAND_PIT_IDX = 22,
|
||
DUNGEON_UNDERGROUND_LAKE_IDX = 23,
|
||
DUNGEON_CRYSTAL_CAVE_IDX = 24,
|
||
DUNGEON_CRYSTAL_CROSSING_IDX = 25,
|
||
DUNGEON_CRYSTAL_LAKE_IDX = 26,
|
||
DUNGEON_CHASM_CAVE_IDX = 27,
|
||
DUNGEON_DARK_HILL_IDX = 28,
|
||
DUNGEON_SEALED_RUIN_IDX = 29,
|
||
DUNGEON_DEEP_SEALED_RUIN_IDX = 30,
|
||
DUNGEON_SEALED_RUIN_PIT_IDX = 31,
|
||
DUNGEON_DUSK_FOREST_IDX = 32,
|
||
DUNGEON_DEEP_DUSK_FOREST_IDX = 33,
|
||
DUNGEON_TREESHROUD_FOREST_IDX = 34,
|
||
DUNGEON_BRINE_CAVE_IDX = 35,
|
||
DUNGEON_LOWER_BRINE_CAVE_IDX = 36,
|
||
DUNGEON_BRINE_CAVE_PIT_IDX = 37,
|
||
DUNGEON_HIDDEN_LAND_IDX = 38,
|
||
DUNGEON_HIDDEN_HIGHLAND_IDX = 39,
|
||
DUNGEON_OLD_RUINS_IDX = 40,
|
||
DUNGEON_TEMPORAL_TOWER_IDX = 41,
|
||
DUNGEON_TEMPORAL_SPIRE_IDX = 42,
|
||
DUNGEON_TEMPORAL_PINNACLE_IDX = 43,
|
||
DUNGEON_MYSTIFYING_FOREST_IDX = 44,
|
||
DUNGEON_MYSTIFYING_FOREST_CLEARING_IDX = 45,
|
||
DUNGEON_BLIZZARD_ISLAND_IDX = 46,
|
||
DUNGEON_CREVICE_CAVE_IDX = 47,
|
||
DUNGEON_LOWER_CREVICE_CAVE_IDX = 48,
|
||
DUNGEON_CREVICE_CAVE_PIT_IDX = 49,
|
||
DUNGEON_SURROUNDED_SEA_IDX = 50,
|
||
DUNGEON_MIRACLE_SEA_IDX = 51,
|
||
DUNGEON_DEEP_MIRACLE_SEA_IDX = 52,
|
||
DUNGEON_MIRACLE_SEABED_IDX = 53,
|
||
DUNGEON_ICE_AEGIS_CAVE_IDX = 54,
|
||
DUNGEON_REGICE_CHAMBER_IDX = 55,
|
||
DUNGEON_ROCK_AEGIS_CAVE_IDX = 56,
|
||
DUNGEON_REGIROCK_CHAMBER_IDX = 57,
|
||
DUNGEON_STEEL_AEGIS_CAVE_IDX = 58,
|
||
DUNGEON_REGISTEEL_CHAMBER_IDX = 59,
|
||
DUNGEON_AEGIS_CAVE_PIT_IDX = 60,
|
||
DUNGEON_REGIGIGAS_CHAMBER_IDX = 61,
|
||
DUNGEON_MT_TRAVAIL_IDX = 62,
|
||
DUNGEON_THE_NIGHTMARE_IDX = 63,
|
||
DUNGEON_SPACIAL_RIFT_IDX = 64,
|
||
DUNGEON_DEEP_SPACIAL_RIFT_IDX = 65,
|
||
DUNGEON_SPACIAL_RIFT_BOTTOM_IDX = 66,
|
||
DUNGEON_DARK_CRATER_IDX = 67,
|
||
DUNGEON_DEEP_DARK_CRATER_IDX = 68,
|
||
DUNGEON_DARK_CRATER_PIT_IDX = 69,
|
||
DUNGEON_CONCEALED_RUINS_IDX = 70,
|
||
DUNGEON_DEEP_CONCEALED_RUINS_IDX = 71,
|
||
DUNGEON_MARINE_RESORT_IDX = 72,
|
||
DUNGEON_BOTTOMLESS_SEA_IDX = 73,
|
||
DUNGEON_BOTTOMLESS_SEA_DEPTHS_IDX = 74,
|
||
DUNGEON_SHIMMER_DESERT_IDX = 75,
|
||
DUNGEON_SHIMMER_DESERT_PIT_IDX = 76,
|
||
DUNGEON_MT_AVALANCHE_IDX = 77,
|
||
DUNGEON_MT_AVALANCHE_PEAK_IDX = 78,
|
||
DUNGEON_GIANT_VOLCANO_IDX = 79,
|
||
DUNGEON_GIANT_VOLCANO_PEAK_IDX = 80,
|
||
DUNGEON_WORLD_ABYSS_IDX = 81,
|
||
DUNGEON_WORLD_ABYSS_PIT_IDX = 82,
|
||
DUNGEON_SKY_STAIRWAY_IDX = 83,
|
||
DUNGEON_SKY_STAIRWAY_APEX_IDX = 84,
|
||
DUNGEON_MYSTERY_JUNGLE_IDX = 85,
|
||
DUNGEON_DEEP_MYSTERY_JUNGLE_IDX = 86,
|
||
DUNGEON_SERENITY_RIVER_IDX = 87,
|
||
DUNGEON_LANDSLIDE_CAVE_IDX = 88,
|
||
DUNGEON_LUSH_PRAIRIE_IDX = 89,
|
||
DUNGEON_TINY_MEADOW_IDX = 90,
|
||
DUNGEON_LABYRINTH_CAVE_IDX = 91,
|
||
DUNGEON_ORAN_FOREST_IDX = 92,
|
||
DUNGEON_LAKE_AFAR_IDX = 93,
|
||
DUNGEON_HAPPY_OUTLOOK_IDX = 94,
|
||
DUNGEON_MY_MISTRAL_IDX = 95,
|
||
DUNGEON_SHIMMER_HILL_IDX = 96,
|
||
DUNGEON_LOST_WILDERNESS_IDX = 97,
|
||
DUNGEON_MIDNIGHT_FOREST_IDX = 98,
|
||
DUNGEON_ZERO_ISLE_NORTH_IDX = 99,
|
||
DUNGEON_ZERO_ISLE_EAST_IDX = 100,
|
||
DUNGEON_ZERO_ISLE_WEST_IDX = 101,
|
||
DUNGEON_ZERO_ISLE_SOUTH_IDX = 102,
|
||
DUNGEON_ZERO_ISLE_CENTER_IDX = 103,
|
||
DUNGEON_DESTINY_TOWER_IDX = 104,
|
||
DUNGEON_DUMMY_0x69_IDX = 105,
|
||
DUNGEON_DUMMY_0x6A_IDX = 106,
|
||
DUNGEON_OBLIVION_FOREST_IDX = 107,
|
||
DUNGEON_TREACHEROUS_WATERS_IDX = 108,
|
||
DUNGEON_SOUTHEASTERN_ISLANDS_IDX = 109,
|
||
DUNGEON_INFERNO_CAVE_IDX = 110,
|
||
DUNGEON_1ST_STATION_PASS_IDX = 111,
|
||
DUNGEON_2ND_STATION_PASS_IDX = 112,
|
||
DUNGEON_3RD_STATION_PASS_IDX = 113,
|
||
DUNGEON_4TH_STATION_PASS_IDX = 114,
|
||
DUNGEON_5TH_STATION_PASS_IDX = 115,
|
||
DUNGEON_6TH_STATION_PASS_IDX = 116,
|
||
DUNGEON_7TH_STATION_PASS_IDX = 117,
|
||
DUNGEON_8TH_STATION_PASS_IDX = 118,
|
||
DUNGEON_9TH_STATION_PASS_IDX = 119,
|
||
DUNGEON_SKY_PEAK_SUMMIT_PASS_IDX = 120,
|
||
DUNGEON_5TH_STATION_CLEARING_IDX = 121,
|
||
DUNGEON_SKY_PEAK_SUMMIT_IDX = 122,
|
||
DUNGEON_STAR_CAVE_SE1_IDX = 123,
|
||
DUNGEON_DEEP_STAR_CAVE_IDX = 124,
|
||
DUNGEON_DEEP_STAR_CAVE_TEAM_ROGUE_IDX = 125,
|
||
DUNGEON_STAR_CAVE_DEPTHS_IDX = 126,
|
||
DUNGEON_STAR_CAVE_PIT_IDX = 127,
|
||
DUNGEON_MURKY_FOREST_IDX = 128,
|
||
DUNGEON_EASTERN_CAVE_IDX = 129,
|
||
DUNGEON_FORTUNE_RAVINE_IDX = 130,
|
||
DUNGEON_FORTUNE_RAVINE_DEPTHS_IDX = 131,
|
||
DUNGEON_FORTUNE_RAVINE_PIT_IDX = 132,
|
||
DUNGEON_BARREN_VALLEY_IDX = 133,
|
||
DUNGEON_DEEP_BARREN_VALLEY_IDX = 134,
|
||
DUNGEON_BARREN_VALLEY_CLEARING_IDX = 135,
|
||
DUNGEON_DARK_WASTELAND_IDX = 136,
|
||
DUNGEON_TEMPORAL_TOWER_SE5_IDX = 137,
|
||
DUNGEON_TEMPORAL_SPIRE_SE5_IDX = 138,
|
||
DUNGEON_DUSK_FOREST_SE5_IDX = 139,
|
||
DUNGEON_BLACK_SWAMP_IDX = 140,
|
||
DUNGEON_SPACIAL_CLIFFS_IDX = 141,
|
||
DUNGEON_DARK_ICE_MOUNTAIN_IDX = 142,
|
||
DUNGEON_DARK_ICE_MOUNTAIN_PEAK_IDX = 143,
|
||
DUNGEON_DARK_ICE_MOUNTAIN_PINNACLE_IDX = 144,
|
||
DUNGEON_ICICLE_FOREST_IDX = 145,
|
||
DUNGEON_VAST_ICE_MOUNTAIN_IDX = 146,
|
||
DUNGEON_VAST_ICE_MOUNTAIN_PEAK_IDX = 147,
|
||
DUNGEON_VAST_ICE_MOUNTAIN_PINNACLE_IDX = 148,
|
||
DUNGEON_SOUTHERN_JUNGLE_IDX = 149,
|
||
DUNGEON_BOULDER_QUARRY_IDX = 150,
|
||
DUNGEON_DEEP_BOULDER_QUARRY_IDX = 151,
|
||
DUNGEON_BOULDER_QUARRY_CLEARING_IDX = 152,
|
||
DUNGEON_RIGHT_CAVE_PATH_IDX = 153,
|
||
DUNGEON_LEFT_CAVE_PATH_IDX = 154,
|
||
DUNGEON_LIMESTONE_CAVERN_IDX = 155,
|
||
DUNGEON_DEEP_LIMESTONE_CAVERN_IDX = 156,
|
||
DUNGEON_LIMESTONE_CAVERN_DEPTHS_IDX = 157,
|
||
DUNGEON_SPRING_CAVE_IDX = 158,
|
||
DUNGEON_UPPER_SPRING_CAVE_HAUNTER_IDX = 159,
|
||
DUNGEON_UPPER_SPRING_CAVE_IDX = 160,
|
||
DUNGEON_MIDDLE_SPRING_CAVE_IDX = 161,
|
||
DUNGEON_LOWER_SPRING_CAVE_IDX = 162,
|
||
DUNGEON_SPRING_CAVE_DEPTHS_IDX = 163,
|
||
DUNGEON_SPRING_CAVE_PIT_IDX = 164,
|
||
DUNGEON_LITTLE_PLAINS_IDX = 165,
|
||
DUNGEON_MT_CLEAR_IDX = 166,
|
||
DUNGEON_CHALLENGE_RIVER_IDX = 167,
|
||
DUNGEON_TRIAL_FOREST_IDX = 168,
|
||
DUNGEON_GUIDING_SEA_IDX = 169,
|
||
DUNGEON_HIDDEN_SHOPKEEPER_VILLAGE_IDX = 170,
|
||
DUNGEON_DUMMY_0xAB_IDX = 171,
|
||
DUNGEON_DUMMY_0xAC_IDX = 172,
|
||
DUNGEON_DUMMY_0xAD_IDX = 173,
|
||
DUNGEON_STAR_CAVE_IDX = 174,
|
||
DUNGEON_SHAYMIN_VILLAGE_IDX = 175,
|
||
DUNGEON_ARMALDOS_SHELTER_IDX = 176,
|
||
DUNGEON_LUMINOUS_SPRING_IDX = 177,
|
||
DUNGEON_HOT_SPRING_IDX = 178,
|
||
DUNGEON_RESCUE_IDX = 179,
|
||
DUNGEON_NORMAL_FLY_MAZE_IDX = 180,
|
||
DUNGEON_DARK_FIRE_MAZE_IDX = 181,
|
||
DUNGEON_ROCK_WATER_MAZE_IDX = 182,
|
||
DUNGEON_GRASS_MAZE_IDX = 183,
|
||
DUNGEON_ELEC_STEEL_MAZE_IDX = 184,
|
||
DUNGEON_ICE_GROUND_MAZE_IDX = 185,
|
||
DUNGEON_FIGHT_PSYCH_MAZE_IDX = 186,
|
||
DUNGEON_POISON_BUG_MAZE_IDX = 187,
|
||
DUNGEON_DRAGON_MAZE_IDX = 188,
|
||
DUNGEON_GHOST_MAZE_IDX = 189,
|
||
DUNGEON_EXPLORER_MAZE_IDX = 190,
|
||
DUNGEON_FINAL_MAZE_IDX = 191,
|
||
DUNGEON_DOJO_0xC0_IDX = 192,
|
||
DUNGEON_DOJO_0xC1_IDX = 193,
|
||
DUNGEON_DOJO_0xC2_IDX = 194,
|
||
DUNGEON_DOJO_0xC3_IDX = 195,
|
||
DUNGEON_DOJO_0xC4_IDX = 196,
|
||
DUNGEON_DOJO_0xC5_IDX = 197,
|
||
DUNGEON_DOJO_0xC6_IDX = 198,
|
||
DUNGEON_DOJO_0xC7_IDX = 199,
|
||
DUNGEON_DOJO_0xC8_IDX = 200,
|
||
DUNGEON_DOJO_0xC9_IDX = 201,
|
||
DUNGEON_DOJO_0xCA_IDX = 202,
|
||
DUNGEON_DOJO_0xCB_IDX = 203,
|
||
DUNGEON_DOJO_0xCC_IDX = 204,
|
||
DUNGEON_DOJO_0xCD_IDX = 205,
|
||
DUNGEON_DOJO_0xCE_IDX = 206,
|
||
DUNGEON_DOJO_0xCF_IDX = 207,
|
||
DUNGEON_DOJO_0xD0_IDX = 208,
|
||
DUNGEON_DOJO_0xD1_IDX = 209,
|
||
DUNGEON_DOJO_0xD2_IDX = 210,
|
||
DUNGEON_DOJO_0xD3_IDX = 211
|
||
};
|
||
|
||
// Dungeon group ID.
|
||
// This is more in line with what we would think of as a "whole dungeon".
|
||
// A single dungeon group might encompass multiple dungeon IDs.
|
||
enum dungeon_group_id {
|
||
DGROUP_TEST_DUNGEON = 0,
|
||
DGROUP_BEACH_CAVE = 1,
|
||
DGROUP_DRENCHED_BLUFF = 2,
|
||
DGROUP_MT_BRISTLE = 3,
|
||
DGROUP_WATERFALL_CAVE = 4,
|
||
DGROUP_APPLE_WOODS = 5,
|
||
DGROUP_CRAGGY_COAST = 6,
|
||
DGROUP_SIDE_PATH = 7,
|
||
DGROUP_MT_HORN = 8,
|
||
DGROUP_ROCK_PATH = 9,
|
||
DGROUP_FOGGY_FOREST = 10,
|
||
DGROUP_FOREST_PATH = 11,
|
||
DGROUP_STEAM_CAVE = 12,
|
||
DGROUP_AMP_PLAINS = 13,
|
||
DGROUP_NORTHERN_DESERT = 14,
|
||
DGROUP_QUICKSAND_CAVE = 15,
|
||
DGROUP_CRYSTAL_CAVE = 16,
|
||
DGROUP_CRYSTAL_CROSSING = 17,
|
||
DGROUP_CHASM_CAVE = 18,
|
||
DGROUP_DARK_HILL = 19,
|
||
DGROUP_SEALED_RUIN = 20,
|
||
DGROUP_DUSK_FOREST = 21,
|
||
DGROUP_DEEP_DUSK_FOREST = 22,
|
||
DGROUP_TREESHROUD_FOREST = 23,
|
||
DGROUP_BRINE_CAVE = 24,
|
||
DGROUP_HIDDEN_LAND = 25,
|
||
DGROUP_TEMPORAL_TOWER = 26,
|
||
DGROUP_MYSTIFYING_FOREST = 27,
|
||
DGROUP_MIDNIGHT_FOREST = 28,
|
||
DGROUP_LAKE_AFAR = 29,
|
||
DGROUP_MT_MISTRAL = 30,
|
||
DGROUP_SHIMMER_HILL = 31,
|
||
DGROUP_BOTTOMLESS_SEA = 32,
|
||
DGROUP_SURROUNDED_SEA = 33,
|
||
DGROUP_MIRACLE_SEA = 34,
|
||
DGROUP_CONCEALED_RUINS = 35,
|
||
DGROUP_LOST_WILDERNESS = 36,
|
||
DGROUP_MYSTERY_JUNGLE = 37,
|
||
DGROUP_HAPPY_OUTLOOK = 38,
|
||
DGROUP_SERENITY_RIVER = 39,
|
||
DGROUP_LANDSLIDE_CAVE = 40,
|
||
DGROUP_BLIZZARD_ISLAND = 41,
|
||
DGROUP_SHIMMER_DESERT = 42,
|
||
DGROUP_CREVICE_CAVE = 43,
|
||
DGROUP_MT_AVALANCHE = 44,
|
||
DGROUP_GIANT_VOLCANO = 45,
|
||
DGROUP_WORLD_ABYSS = 46,
|
||
DGROUP_LUSH_PRAIRIE = 47,
|
||
DGROUP_TINY_MEADOW = 48,
|
||
DGROUP_LABYRINTH_CAVE = 49,
|
||
DGROUP_ORAN_FOREST = 50,
|
||
DGROUP_SKY_STAIRWAY = 51,
|
||
DGROUP_AEGIS_CAVE = 52,
|
||
DGROUP_MAROWAK_DOJO = 53,
|
||
DGROUP_DARK_CRATER = 54,
|
||
DGROUP_MARINE_RESORT = 55,
|
||
DGROUP_MT_TRAVAIL = 56,
|
||
DGROUP_THE_NIGHTMARE = 57,
|
||
DGROUP_SPACIAL_RIFT = 58,
|
||
DGROUP_ZERO_ISLE_NORTH = 59,
|
||
DGROUP_ZERO_ISLE_WEST = 60,
|
||
DGROUP_ZERO_ISLE_EAST = 61,
|
||
DGROUP_ZERO_ISLE_SOUTH = 62,
|
||
DGROUP_RESCUE = 63,
|
||
DGROUP_ZERO_ISLE_CENTER = 64,
|
||
DGROUP_DESTINY_TOWER = 65,
|
||
DGROUP_DUMMY_0x42 = 66,
|
||
DGROUP_DUMMY_0x43 = 67,
|
||
DGROUP_OBLIVION_FOREST = 68,
|
||
DGROUP_TREACHEROUS_WATERS = 69,
|
||
DGROUP_SOUTHEASTERN_ISLANDS = 70,
|
||
DGROUP_INFERNO_CAVE = 71,
|
||
DGROUP_SKY_PEAK = 72,
|
||
DGROUP_STAR_CAVE_SE1 = 73,
|
||
DGROUP_MURKY_FOREST = 74,
|
||
DGROUP_EASTERN_CAVE = 75,
|
||
DGROUP_FORTUNE_RAVINE = 76,
|
||
DGROUP_BARREN_VALLEY = 77,
|
||
DGROUP_DARK_WASTELAND = 78,
|
||
DGROUP_TEMPORAL_TOWER_SE5 = 79,
|
||
DGROUP_DUSK_FOREST_SE5 = 80,
|
||
DGROUP_SPACIAL_CLIFFS = 81,
|
||
DGROUP_DARK_ICE_MOUNTAIN = 82,
|
||
DGROUP_ICICLE_FOREST = 83,
|
||
DGROUP_VAST_ICE_MOUNTAIN = 84,
|
||
DGROUP_SOUTHERN_JUNGLE = 85,
|
||
DGROUP_BOULDER_QUARRY = 86,
|
||
DGROUP_RIGHT_CAVE_PATH = 87,
|
||
DGROUP_LEFT_CAVE_PATH = 88,
|
||
DGROUP_LIMESTONE_CAVERN = 89,
|
||
DGROUP_SPRING_CAVE = 90,
|
||
DGROUP_STAR_CAVE = 91,
|
||
DGROUP_LITTLE_PLAINS = 92,
|
||
DGROUP_MT_CLEAR = 93,
|
||
DGROUP_CHALLENGE_RIVER = 94,
|
||
DGROUP_TRIAL_FOREST = 95,
|
||
DGROUP_GUIDING_SEA = 96,
|
||
DGROUP_HIDDEN_SHOPKEEPER_VILLAGE = 97,
|
||
DGROUP_DUMMY_0x62 = 98,
|
||
DGROUP_DUMMY_0x63 = 99,
|
||
};
|
||
|
||
// Controls whether the loop that runs until the current floor ends should continue
|
||
// iterating or not and why
|
||
enum floor_loop_status {
|
||
FLOOR_LOOP_CONTINUE = 0, // The floor loop keeps executing as normal
|
||
FLOOR_LOOP_LEADER_FAINTED = 1, // The floor loop exits because the leader fainted
|
||
FLOOR_LOOP_NEXT_FLOOR = 2, // The floor loop exits because the floor is over
|
||
};
|
||
|
||
// Type IDx
|
||
enum type_id {
|
||
TYPE_NONE = 0,
|
||
TYPE_NORMAL = 1,
|
||
TYPE_FIRE = 2,
|
||
TYPE_WATER = 3,
|
||
TYPE_GRASS = 4,
|
||
TYPE_ELECTRIC = 5,
|
||
TYPE_ICE = 6,
|
||
TYPE_FIGHTING = 7,
|
||
TYPE_POISON = 8,
|
||
TYPE_GROUND = 9,
|
||
TYPE_FLYING = 10,
|
||
TYPE_PSYCHIC = 11,
|
||
TYPE_BUG = 12,
|
||
TYPE_ROCK = 13,
|
||
TYPE_GHOST = 14,
|
||
TYPE_DRAGON = 15,
|
||
TYPE_DARK = 16,
|
||
TYPE_STEEL = 17,
|
||
TYPE_NEUTRAL = 18,
|
||
};
|
||
|
||
#define NUM_TYPES TYPE_NEUTRAL
|
||
|
||
// Modes related to shopkeeper behavior
|
||
enum shopkeeper_mode {
|
||
SHOPKEEPER_MODE_NORMAL = 0,
|
||
SHOPKEEPER_MODE_SHOPKEEPER = 1,
|
||
SHOPKEEPER_MODE_ATTACK_ENEMIES = 2,
|
||
SHOPKEEPER_MODE_ATTACK_TEAM = 3,
|
||
};
|
||
|
||
#define NUM_SPECIES 600
|
||
#define MONSTER_GENDER_ID_OFFSET NUM_SPECIES
|
||
|
||
// Some macro shenanigans to define the monster secondary gender labels neatly.
|
||
#define _MONSTER_ID_GENDERED(name, base_value) \
|
||
MONSTER_##name = base_value, MONSTER_##name##_SECONDARY = base_value + MONSTER_GENDER_ID_OFFSET
|
||
|
||
// Monster ID. Add 600 to the base value to get secondary genders (typically female).
|
||
enum monster_id {
|
||
_MONSTER_ID_GENDERED(NONE, 0),
|
||
_MONSTER_ID_GENDERED(BULBASAUR, 1),
|
||
_MONSTER_ID_GENDERED(IVYSAUR, 2),
|
||
_MONSTER_ID_GENDERED(VENUSAUR, 3),
|
||
_MONSTER_ID_GENDERED(CHARMANDER, 4),
|
||
_MONSTER_ID_GENDERED(CHARMELEON, 5),
|
||
_MONSTER_ID_GENDERED(CHARIZARD, 6),
|
||
_MONSTER_ID_GENDERED(SQUIRTLE, 7),
|
||
_MONSTER_ID_GENDERED(WARTORTLE, 8),
|
||
_MONSTER_ID_GENDERED(BLASTOISE, 9),
|
||
_MONSTER_ID_GENDERED(CATERPIE, 10),
|
||
_MONSTER_ID_GENDERED(METAPOD, 11),
|
||
_MONSTER_ID_GENDERED(BUTTERFREE, 12),
|
||
_MONSTER_ID_GENDERED(WEEDLE, 13),
|
||
_MONSTER_ID_GENDERED(KAKUNA, 14),
|
||
_MONSTER_ID_GENDERED(BEEDRILL, 15),
|
||
_MONSTER_ID_GENDERED(PIDGEY, 16),
|
||
_MONSTER_ID_GENDERED(PIDGEOTTO, 17),
|
||
_MONSTER_ID_GENDERED(PIDGEOT, 18),
|
||
_MONSTER_ID_GENDERED(RATTATA, 19),
|
||
_MONSTER_ID_GENDERED(RATICATE, 20),
|
||
_MONSTER_ID_GENDERED(SPEAROW, 21),
|
||
_MONSTER_ID_GENDERED(FEAROW, 22),
|
||
_MONSTER_ID_GENDERED(EKANS, 23),
|
||
_MONSTER_ID_GENDERED(ARBOK, 24),
|
||
_MONSTER_ID_GENDERED(PIKACHU, 25),
|
||
_MONSTER_ID_GENDERED(RAICHU, 26),
|
||
_MONSTER_ID_GENDERED(SANDSHREW, 27),
|
||
_MONSTER_ID_GENDERED(SANDSLASH, 28),
|
||
_MONSTER_ID_GENDERED(NIDORAN_F, 29),
|
||
_MONSTER_ID_GENDERED(NIDORINA, 30),
|
||
_MONSTER_ID_GENDERED(NIDOQUEEN, 31),
|
||
_MONSTER_ID_GENDERED(NIDORAN_M, 32),
|
||
_MONSTER_ID_GENDERED(NIDORINO, 33),
|
||
_MONSTER_ID_GENDERED(NIDOKING, 34),
|
||
_MONSTER_ID_GENDERED(CLEFAIRY, 35),
|
||
_MONSTER_ID_GENDERED(CLEFABLE, 36),
|
||
_MONSTER_ID_GENDERED(VULPIX, 37),
|
||
_MONSTER_ID_GENDERED(NINETALES, 38),
|
||
_MONSTER_ID_GENDERED(JIGGLYPUFF, 39),
|
||
_MONSTER_ID_GENDERED(WIGGLYTUFF, 40),
|
||
_MONSTER_ID_GENDERED(ZUBAT, 41),
|
||
_MONSTER_ID_GENDERED(GOLBAT, 42),
|
||
_MONSTER_ID_GENDERED(ODDISH, 43),
|
||
_MONSTER_ID_GENDERED(GLOOM, 44),
|
||
_MONSTER_ID_GENDERED(VILEPLUME, 45),
|
||
_MONSTER_ID_GENDERED(PARAS, 46),
|
||
_MONSTER_ID_GENDERED(PARASECT, 47),
|
||
_MONSTER_ID_GENDERED(VENONAT, 48),
|
||
_MONSTER_ID_GENDERED(VENOMOTH, 49),
|
||
_MONSTER_ID_GENDERED(DIGLETT, 50),
|
||
_MONSTER_ID_GENDERED(DUGTRIO, 51),
|
||
_MONSTER_ID_GENDERED(MEOWTH, 52),
|
||
_MONSTER_ID_GENDERED(PERSIAN, 53),
|
||
_MONSTER_ID_GENDERED(PSYDUCK, 54),
|
||
_MONSTER_ID_GENDERED(GOLDUCK, 55),
|
||
_MONSTER_ID_GENDERED(MANKEY, 56),
|
||
_MONSTER_ID_GENDERED(PRIMEAPE, 57),
|
||
_MONSTER_ID_GENDERED(GROWLITHE, 58),
|
||
_MONSTER_ID_GENDERED(ARCANINE, 59),
|
||
_MONSTER_ID_GENDERED(POLIWAG, 60),
|
||
_MONSTER_ID_GENDERED(POLIWHIRL, 61),
|
||
_MONSTER_ID_GENDERED(POLIWRATH, 62),
|
||
_MONSTER_ID_GENDERED(ABRA, 63),
|
||
_MONSTER_ID_GENDERED(KADABRA, 64),
|
||
_MONSTER_ID_GENDERED(ALAKAZAM, 65),
|
||
_MONSTER_ID_GENDERED(MACHOP, 66),
|
||
_MONSTER_ID_GENDERED(MACHOKE, 67),
|
||
_MONSTER_ID_GENDERED(MACHAMP, 68),
|
||
_MONSTER_ID_GENDERED(BELLSPROUT, 69),
|
||
_MONSTER_ID_GENDERED(WEEPINBELL, 70),
|
||
_MONSTER_ID_GENDERED(VICTREEBEL, 71),
|
||
_MONSTER_ID_GENDERED(TENTACOOL, 72),
|
||
_MONSTER_ID_GENDERED(TENTACRUEL, 73),
|
||
_MONSTER_ID_GENDERED(GEODUDE, 74),
|
||
_MONSTER_ID_GENDERED(GRAVELER, 75),
|
||
_MONSTER_ID_GENDERED(GOLEM, 76),
|
||
_MONSTER_ID_GENDERED(PONYTA, 77),
|
||
_MONSTER_ID_GENDERED(RAPIDASH, 78),
|
||
_MONSTER_ID_GENDERED(SLOWPOKE, 79),
|
||
_MONSTER_ID_GENDERED(SLOWBRO, 80),
|
||
_MONSTER_ID_GENDERED(MAGNEMITE, 81),
|
||
_MONSTER_ID_GENDERED(MAGNETON, 82),
|
||
_MONSTER_ID_GENDERED(FARFETCHD, 83),
|
||
_MONSTER_ID_GENDERED(DODUO, 84),
|
||
_MONSTER_ID_GENDERED(DODRIO, 85),
|
||
_MONSTER_ID_GENDERED(SEEL, 86),
|
||
_MONSTER_ID_GENDERED(DEWGONG, 87),
|
||
_MONSTER_ID_GENDERED(GRIMER, 88),
|
||
_MONSTER_ID_GENDERED(MUK, 89),
|
||
_MONSTER_ID_GENDERED(SHELLDER, 90),
|
||
_MONSTER_ID_GENDERED(CLOYSTER, 91),
|
||
_MONSTER_ID_GENDERED(GASTLY, 92),
|
||
_MONSTER_ID_GENDERED(HAUNTER, 93),
|
||
_MONSTER_ID_GENDERED(GENGAR, 94),
|
||
_MONSTER_ID_GENDERED(ONIX, 95),
|
||
_MONSTER_ID_GENDERED(DROWZEE, 96),
|
||
_MONSTER_ID_GENDERED(HYPNO, 97),
|
||
_MONSTER_ID_GENDERED(KRABBY, 98),
|
||
_MONSTER_ID_GENDERED(KINGLER, 99),
|
||
_MONSTER_ID_GENDERED(VOLTORB, 100),
|
||
_MONSTER_ID_GENDERED(ELECTRODE, 101),
|
||
_MONSTER_ID_GENDERED(EXEGGCUTE, 102),
|
||
_MONSTER_ID_GENDERED(EXEGGUTOR, 103),
|
||
_MONSTER_ID_GENDERED(CUBONE, 104),
|
||
_MONSTER_ID_GENDERED(MAROWAK, 105),
|
||
_MONSTER_ID_GENDERED(HITMONLEE, 106),
|
||
_MONSTER_ID_GENDERED(HITMONCHAN, 107),
|
||
_MONSTER_ID_GENDERED(LICKITUNG, 108),
|
||
_MONSTER_ID_GENDERED(KOFFING, 109),
|
||
_MONSTER_ID_GENDERED(WEEZING, 110),
|
||
_MONSTER_ID_GENDERED(RHYHORN, 111),
|
||
_MONSTER_ID_GENDERED(RHYDON, 112),
|
||
_MONSTER_ID_GENDERED(CHANSEY, 113),
|
||
_MONSTER_ID_GENDERED(TANGELA, 114),
|
||
_MONSTER_ID_GENDERED(KANGASKHAN, 115),
|
||
_MONSTER_ID_GENDERED(HORSEA, 116),
|
||
_MONSTER_ID_GENDERED(SEADRA, 117),
|
||
_MONSTER_ID_GENDERED(GOLDEEN, 118),
|
||
_MONSTER_ID_GENDERED(SEAKING, 119),
|
||
_MONSTER_ID_GENDERED(STARYU, 120),
|
||
_MONSTER_ID_GENDERED(STARMIE, 121),
|
||
_MONSTER_ID_GENDERED(MR_MIME, 122),
|
||
_MONSTER_ID_GENDERED(SCYTHER, 123),
|
||
_MONSTER_ID_GENDERED(JYNX, 124),
|
||
_MONSTER_ID_GENDERED(ELECTABUZZ, 125),
|
||
_MONSTER_ID_GENDERED(MAGMAR, 126),
|
||
_MONSTER_ID_GENDERED(PINSIR, 127),
|
||
_MONSTER_ID_GENDERED(TAUROS, 128),
|
||
_MONSTER_ID_GENDERED(MAGIKARP, 129),
|
||
_MONSTER_ID_GENDERED(GYARADOS, 130),
|
||
_MONSTER_ID_GENDERED(LAPRAS, 131),
|
||
_MONSTER_ID_GENDERED(DITTO, 132),
|
||
_MONSTER_ID_GENDERED(EEVEE, 133),
|
||
_MONSTER_ID_GENDERED(VAPOREON, 134),
|
||
_MONSTER_ID_GENDERED(JOLTEON, 135),
|
||
_MONSTER_ID_GENDERED(FLAREON, 136),
|
||
_MONSTER_ID_GENDERED(PORYGON, 137),
|
||
_MONSTER_ID_GENDERED(OMANYTE, 138),
|
||
_MONSTER_ID_GENDERED(OMASTAR, 139),
|
||
_MONSTER_ID_GENDERED(KABUTO, 140),
|
||
_MONSTER_ID_GENDERED(KABUTOPS, 141),
|
||
_MONSTER_ID_GENDERED(AERODACTYL, 142),
|
||
_MONSTER_ID_GENDERED(SNORLAX, 143),
|
||
_MONSTER_ID_GENDERED(ARTICUNO, 144),
|
||
_MONSTER_ID_GENDERED(ZAPDOS, 145),
|
||
_MONSTER_ID_GENDERED(MOLTRES, 146),
|
||
_MONSTER_ID_GENDERED(DRATINI, 147),
|
||
_MONSTER_ID_GENDERED(DRAGONAIR, 148),
|
||
_MONSTER_ID_GENDERED(DRAGONITE, 149),
|
||
_MONSTER_ID_GENDERED(MEWTWO, 150),
|
||
_MONSTER_ID_GENDERED(MEW, 151),
|
||
_MONSTER_ID_GENDERED(CHIKORITA, 152),
|
||
_MONSTER_ID_GENDERED(BAYLEEF, 153),
|
||
_MONSTER_ID_GENDERED(MEGANIUM, 154),
|
||
_MONSTER_ID_GENDERED(CYNDAQUIL, 155),
|
||
_MONSTER_ID_GENDERED(QUILAVA, 156),
|
||
_MONSTER_ID_GENDERED(TYPHLOSION, 157),
|
||
_MONSTER_ID_GENDERED(TOTODILE, 158),
|
||
_MONSTER_ID_GENDERED(CROCONAW, 159),
|
||
_MONSTER_ID_GENDERED(FERALIGATR, 160),
|
||
_MONSTER_ID_GENDERED(SENTRET, 161),
|
||
_MONSTER_ID_GENDERED(FURRET, 162),
|
||
_MONSTER_ID_GENDERED(HOOTHOOT, 163),
|
||
_MONSTER_ID_GENDERED(NOCTOWL, 164),
|
||
_MONSTER_ID_GENDERED(LEDYBA, 165),
|
||
_MONSTER_ID_GENDERED(LEDIAN, 166),
|
||
_MONSTER_ID_GENDERED(SPINARAK, 167),
|
||
_MONSTER_ID_GENDERED(ARIADOS, 168),
|
||
_MONSTER_ID_GENDERED(CROBAT, 169),
|
||
_MONSTER_ID_GENDERED(CHINCHOU, 170),
|
||
_MONSTER_ID_GENDERED(LANTURN, 171),
|
||
_MONSTER_ID_GENDERED(PICHU, 172),
|
||
_MONSTER_ID_GENDERED(CLEFFA, 173),
|
||
_MONSTER_ID_GENDERED(IGGLYBUFF, 174),
|
||
_MONSTER_ID_GENDERED(TOGEPI, 175),
|
||
_MONSTER_ID_GENDERED(TOGETIC, 176),
|
||
_MONSTER_ID_GENDERED(NATU, 177),
|
||
_MONSTER_ID_GENDERED(XATU, 178),
|
||
_MONSTER_ID_GENDERED(MAREEP, 179),
|
||
_MONSTER_ID_GENDERED(FLAAFFY, 180),
|
||
_MONSTER_ID_GENDERED(AMPHAROS, 181),
|
||
_MONSTER_ID_GENDERED(BELLOSSOM, 182),
|
||
_MONSTER_ID_GENDERED(MARILL, 183),
|
||
_MONSTER_ID_GENDERED(AZUMARILL, 184),
|
||
_MONSTER_ID_GENDERED(SUDOWOODO, 185),
|
||
_MONSTER_ID_GENDERED(POLITOED, 186),
|
||
_MONSTER_ID_GENDERED(HOPPIP, 187),
|
||
_MONSTER_ID_GENDERED(SKIPLOOM, 188),
|
||
_MONSTER_ID_GENDERED(JUMPLUFF, 189),
|
||
_MONSTER_ID_GENDERED(AIPOM, 190),
|
||
_MONSTER_ID_GENDERED(SUNKERN, 191),
|
||
_MONSTER_ID_GENDERED(SUNFLORA, 192),
|
||
_MONSTER_ID_GENDERED(YANMA, 193),
|
||
_MONSTER_ID_GENDERED(WOOPER, 194),
|
||
_MONSTER_ID_GENDERED(QUAGSIRE, 195),
|
||
_MONSTER_ID_GENDERED(ESPEON, 196),
|
||
_MONSTER_ID_GENDERED(UMBREON, 197),
|
||
_MONSTER_ID_GENDERED(MURKROW, 198),
|
||
_MONSTER_ID_GENDERED(SLOWKING, 199),
|
||
_MONSTER_ID_GENDERED(MISDREAVUS, 200),
|
||
_MONSTER_ID_GENDERED(UNOWN_A, 201),
|
||
_MONSTER_ID_GENDERED(UNOWN_B, 202),
|
||
_MONSTER_ID_GENDERED(UNOWN_C, 203),
|
||
_MONSTER_ID_GENDERED(UNOWN_D, 204),
|
||
_MONSTER_ID_GENDERED(UNOWN_E, 205),
|
||
_MONSTER_ID_GENDERED(UNOWN_F, 206),
|
||
_MONSTER_ID_GENDERED(UNOWN_G, 207),
|
||
_MONSTER_ID_GENDERED(UNOWN_H, 208),
|
||
_MONSTER_ID_GENDERED(UNOWN_I, 209),
|
||
_MONSTER_ID_GENDERED(UNOWN_J, 210),
|
||
_MONSTER_ID_GENDERED(UNOWN_K, 211),
|
||
_MONSTER_ID_GENDERED(UNOWN_L, 212),
|
||
_MONSTER_ID_GENDERED(UNOWN_M, 213),
|
||
_MONSTER_ID_GENDERED(UNOWN_N, 214),
|
||
_MONSTER_ID_GENDERED(UNOWN_O, 215),
|
||
_MONSTER_ID_GENDERED(UNOWN_P, 216),
|
||
_MONSTER_ID_GENDERED(UNOWN_Q, 217),
|
||
_MONSTER_ID_GENDERED(UNOWN_R, 218),
|
||
_MONSTER_ID_GENDERED(UNOWN_S, 219),
|
||
_MONSTER_ID_GENDERED(UNOWN_T, 220),
|
||
_MONSTER_ID_GENDERED(UNOWN_U, 221),
|
||
_MONSTER_ID_GENDERED(UNOWN_V, 222),
|
||
_MONSTER_ID_GENDERED(UNOWN_W, 223),
|
||
_MONSTER_ID_GENDERED(UNOWN_X, 224),
|
||
_MONSTER_ID_GENDERED(UNOWN_Y, 225),
|
||
_MONSTER_ID_GENDERED(UNOWN_Z, 226),
|
||
_MONSTER_ID_GENDERED(UNOWN_EXCLAMATION, 227),
|
||
_MONSTER_ID_GENDERED(UNOWN_QUESTION, 228),
|
||
_MONSTER_ID_GENDERED(WOBBUFFET, 229),
|
||
_MONSTER_ID_GENDERED(GIRAFARIG, 230),
|
||
_MONSTER_ID_GENDERED(PINECO, 231),
|
||
_MONSTER_ID_GENDERED(FORRETRESS, 232),
|
||
_MONSTER_ID_GENDERED(DUNSPARCE, 233),
|
||
_MONSTER_ID_GENDERED(GLIGAR, 234),
|
||
_MONSTER_ID_GENDERED(STEELIX, 235),
|
||
_MONSTER_ID_GENDERED(SNUBBULL, 236),
|
||
_MONSTER_ID_GENDERED(GRANBULL, 237),
|
||
_MONSTER_ID_GENDERED(QWILFISH, 238),
|
||
_MONSTER_ID_GENDERED(SCIZOR, 239),
|
||
_MONSTER_ID_GENDERED(SHUCKLE, 240),
|
||
_MONSTER_ID_GENDERED(HERACROSS, 241),
|
||
_MONSTER_ID_GENDERED(SNEASEL, 242),
|
||
_MONSTER_ID_GENDERED(TEDDIURSA, 243),
|
||
_MONSTER_ID_GENDERED(URSARING, 244),
|
||
_MONSTER_ID_GENDERED(SLUGMA, 245),
|
||
_MONSTER_ID_GENDERED(MAGCARGO, 246),
|
||
_MONSTER_ID_GENDERED(SWINUB, 247),
|
||
_MONSTER_ID_GENDERED(PILOSWINE, 248),
|
||
_MONSTER_ID_GENDERED(CORSOLA, 249),
|
||
_MONSTER_ID_GENDERED(REMORAID, 250),
|
||
_MONSTER_ID_GENDERED(OCTILLERY, 251),
|
||
_MONSTER_ID_GENDERED(DELIBIRD, 252),
|
||
_MONSTER_ID_GENDERED(MANTINE, 253),
|
||
_MONSTER_ID_GENDERED(SKARMORY, 254),
|
||
_MONSTER_ID_GENDERED(HOUNDOUR, 255),
|
||
_MONSTER_ID_GENDERED(HOUNDOOM, 256),
|
||
_MONSTER_ID_GENDERED(KINGDRA, 257),
|
||
_MONSTER_ID_GENDERED(PHANPY, 258),
|
||
_MONSTER_ID_GENDERED(DONPHAN, 259),
|
||
_MONSTER_ID_GENDERED(PORYGON2, 260),
|
||
_MONSTER_ID_GENDERED(STANTLER, 261),
|
||
_MONSTER_ID_GENDERED(SMEARGLE, 262),
|
||
_MONSTER_ID_GENDERED(TYROGUE, 263),
|
||
_MONSTER_ID_GENDERED(HITMONTOP, 264),
|
||
_MONSTER_ID_GENDERED(SMOOCHUM, 265),
|
||
_MONSTER_ID_GENDERED(ELEKID, 266),
|
||
_MONSTER_ID_GENDERED(MAGBY, 267),
|
||
_MONSTER_ID_GENDERED(MILTANK, 268),
|
||
_MONSTER_ID_GENDERED(BLISSEY, 269),
|
||
_MONSTER_ID_GENDERED(RAIKOU, 270),
|
||
_MONSTER_ID_GENDERED(ENTEI, 271),
|
||
_MONSTER_ID_GENDERED(SUICUNE, 272),
|
||
_MONSTER_ID_GENDERED(LARVITAR, 273),
|
||
_MONSTER_ID_GENDERED(PUPITAR, 274),
|
||
_MONSTER_ID_GENDERED(TYRANITAR, 275),
|
||
_MONSTER_ID_GENDERED(LUGIA, 276),
|
||
_MONSTER_ID_GENDERED(HO_OH, 277),
|
||
_MONSTER_ID_GENDERED(CELEBI, 278),
|
||
_MONSTER_ID_GENDERED(SHINY_CELEBI, 279),
|
||
_MONSTER_ID_GENDERED(TREECKO, 280),
|
||
_MONSTER_ID_GENDERED(GROVYLE, 281),
|
||
_MONSTER_ID_GENDERED(SCEPTILE, 282),
|
||
_MONSTER_ID_GENDERED(TORCHIC, 283),
|
||
_MONSTER_ID_GENDERED(COMBUSKEN, 284),
|
||
_MONSTER_ID_GENDERED(BLAZIKEN, 285),
|
||
_MONSTER_ID_GENDERED(MUDKIP, 286),
|
||
_MONSTER_ID_GENDERED(MARSHTOMP, 287),
|
||
_MONSTER_ID_GENDERED(SWAMPERT, 288),
|
||
_MONSTER_ID_GENDERED(POOCHYENA, 289),
|
||
_MONSTER_ID_GENDERED(MIGHTYENA, 290),
|
||
_MONSTER_ID_GENDERED(ZIGZAGOON, 291),
|
||
_MONSTER_ID_GENDERED(LINOONE, 292),
|
||
_MONSTER_ID_GENDERED(WURMPLE, 293),
|
||
_MONSTER_ID_GENDERED(SILCOON, 294),
|
||
_MONSTER_ID_GENDERED(BEAUTIFLY, 295),
|
||
_MONSTER_ID_GENDERED(CASCOON, 296),
|
||
_MONSTER_ID_GENDERED(DUSTOX, 297),
|
||
_MONSTER_ID_GENDERED(LOTAD, 298),
|
||
_MONSTER_ID_GENDERED(LOMBRE, 299),
|
||
_MONSTER_ID_GENDERED(LUDICOLO, 300),
|
||
_MONSTER_ID_GENDERED(SEEDOT, 301),
|
||
_MONSTER_ID_GENDERED(NUZLEAF, 302),
|
||
_MONSTER_ID_GENDERED(SHIFTRY, 303),
|
||
_MONSTER_ID_GENDERED(TAILLOW, 304),
|
||
_MONSTER_ID_GENDERED(SWELLOW, 305),
|
||
_MONSTER_ID_GENDERED(WINGULL, 306),
|
||
_MONSTER_ID_GENDERED(PELIPPER, 307),
|
||
_MONSTER_ID_GENDERED(RALTS, 308),
|
||
_MONSTER_ID_GENDERED(KIRLIA, 309),
|
||
_MONSTER_ID_GENDERED(GARDEVOIR, 310),
|
||
_MONSTER_ID_GENDERED(SURSKIT, 311),
|
||
_MONSTER_ID_GENDERED(MASQUERAIN, 312),
|
||
_MONSTER_ID_GENDERED(SHROOMISH, 313),
|
||
_MONSTER_ID_GENDERED(BRELOOM, 314),
|
||
_MONSTER_ID_GENDERED(SLAKOTH, 315),
|
||
_MONSTER_ID_GENDERED(VIGOROTH, 316),
|
||
_MONSTER_ID_GENDERED(SLAKING, 317),
|
||
_MONSTER_ID_GENDERED(NINCADA, 318),
|
||
_MONSTER_ID_GENDERED(NINJASK, 319),
|
||
_MONSTER_ID_GENDERED(SHEDINJA, 320),
|
||
_MONSTER_ID_GENDERED(WHISMUR, 321),
|
||
_MONSTER_ID_GENDERED(LOUDRED, 322),
|
||
_MONSTER_ID_GENDERED(EXPLOUD, 323),
|
||
_MONSTER_ID_GENDERED(MAKUHITA, 324),
|
||
_MONSTER_ID_GENDERED(HARIYAMA, 325),
|
||
_MONSTER_ID_GENDERED(AZURILL, 326),
|
||
_MONSTER_ID_GENDERED(NOSEPASS, 327),
|
||
_MONSTER_ID_GENDERED(SKITTY, 328),
|
||
_MONSTER_ID_GENDERED(DELCATTY, 329),
|
||
_MONSTER_ID_GENDERED(SABLEYE, 330),
|
||
_MONSTER_ID_GENDERED(MAWILE, 331),
|
||
_MONSTER_ID_GENDERED(ARON, 332),
|
||
_MONSTER_ID_GENDERED(LAIRON, 333),
|
||
_MONSTER_ID_GENDERED(AGGRON, 334),
|
||
_MONSTER_ID_GENDERED(MEDITITE, 335),
|
||
_MONSTER_ID_GENDERED(MEDICHAM, 336),
|
||
_MONSTER_ID_GENDERED(ELECTRIKE, 337),
|
||
_MONSTER_ID_GENDERED(MANECTRIC, 338),
|
||
_MONSTER_ID_GENDERED(PLUSLE, 339),
|
||
_MONSTER_ID_GENDERED(MINUN, 340),
|
||
_MONSTER_ID_GENDERED(VOLBEAT, 341),
|
||
_MONSTER_ID_GENDERED(ILLUMISE, 342),
|
||
_MONSTER_ID_GENDERED(ROSELIA, 343),
|
||
_MONSTER_ID_GENDERED(GULPIN, 344),
|
||
_MONSTER_ID_GENDERED(SWALOT, 345),
|
||
_MONSTER_ID_GENDERED(CARVANHA, 346),
|
||
_MONSTER_ID_GENDERED(SHARPEDO, 347),
|
||
_MONSTER_ID_GENDERED(WAILMER, 348),
|
||
_MONSTER_ID_GENDERED(WAILORD, 349),
|
||
_MONSTER_ID_GENDERED(NUMEL, 350),
|
||
_MONSTER_ID_GENDERED(CAMERUPT, 351),
|
||
_MONSTER_ID_GENDERED(TORKOAL, 352),
|
||
_MONSTER_ID_GENDERED(SPOINK, 353),
|
||
_MONSTER_ID_GENDERED(GRUMPIG, 354),
|
||
_MONSTER_ID_GENDERED(SPINDA, 355),
|
||
_MONSTER_ID_GENDERED(TRAPINCH, 356),
|
||
_MONSTER_ID_GENDERED(VIBRAVA, 357),
|
||
_MONSTER_ID_GENDERED(FLYGON, 358),
|
||
_MONSTER_ID_GENDERED(CACNEA, 359),
|
||
_MONSTER_ID_GENDERED(CACTURNE, 360),
|
||
_MONSTER_ID_GENDERED(SWABLU, 361),
|
||
_MONSTER_ID_GENDERED(ALTARIA, 362),
|
||
_MONSTER_ID_GENDERED(ZANGOOSE, 363),
|
||
_MONSTER_ID_GENDERED(SEVIPER, 364),
|
||
_MONSTER_ID_GENDERED(LUNATONE, 365),
|
||
_MONSTER_ID_GENDERED(SOLROCK, 366),
|
||
_MONSTER_ID_GENDERED(BARBOACH, 367),
|
||
_MONSTER_ID_GENDERED(WHISCASH, 368),
|
||
_MONSTER_ID_GENDERED(CORPHISH, 369),
|
||
_MONSTER_ID_GENDERED(CRAWDAUNT, 370),
|
||
_MONSTER_ID_GENDERED(BALTOY, 371),
|
||
_MONSTER_ID_GENDERED(CLAYDOL, 372),
|
||
_MONSTER_ID_GENDERED(LILEEP, 373),
|
||
_MONSTER_ID_GENDERED(CRADILY, 374),
|
||
_MONSTER_ID_GENDERED(ANORITH, 375),
|
||
_MONSTER_ID_GENDERED(ARMALDO, 376),
|
||
_MONSTER_ID_GENDERED(FEEBAS, 377),
|
||
_MONSTER_ID_GENDERED(MILOTIC, 378),
|
||
_MONSTER_ID_GENDERED(CASTFORM_NORMAL, 379),
|
||
_MONSTER_ID_GENDERED(CASTFORM_SNOWY, 380),
|
||
_MONSTER_ID_GENDERED(CASTFORM_SUNNY, 381),
|
||
_MONSTER_ID_GENDERED(CASTFORM_RAINY, 382),
|
||
_MONSTER_ID_GENDERED(KECLEON, 383),
|
||
_MONSTER_ID_GENDERED(PURPLE_KECLEON, 384),
|
||
_MONSTER_ID_GENDERED(SHUPPET, 385),
|
||
_MONSTER_ID_GENDERED(BANETTE, 386),
|
||
_MONSTER_ID_GENDERED(DUSKULL, 387),
|
||
_MONSTER_ID_GENDERED(DUSCLOPS, 388),
|
||
_MONSTER_ID_GENDERED(TROPIUS, 389),
|
||
_MONSTER_ID_GENDERED(CHIMECHO, 390),
|
||
_MONSTER_ID_GENDERED(ABSOL, 391),
|
||
_MONSTER_ID_GENDERED(WYNAUT, 392),
|
||
_MONSTER_ID_GENDERED(SNORUNT, 393),
|
||
_MONSTER_ID_GENDERED(GLALIE, 394),
|
||
_MONSTER_ID_GENDERED(SPHEAL, 395),
|
||
_MONSTER_ID_GENDERED(SEALEO, 396),
|
||
_MONSTER_ID_GENDERED(WALREIN, 397),
|
||
_MONSTER_ID_GENDERED(CLAMPERL, 398),
|
||
_MONSTER_ID_GENDERED(HUNTAIL, 399),
|
||
_MONSTER_ID_GENDERED(GOREBYSS, 400),
|
||
_MONSTER_ID_GENDERED(RELICANTH, 401),
|
||
_MONSTER_ID_GENDERED(LUVDISC, 402),
|
||
_MONSTER_ID_GENDERED(BAGON, 403),
|
||
_MONSTER_ID_GENDERED(SHELGON, 404),
|
||
_MONSTER_ID_GENDERED(SALAMENCE, 405),
|
||
_MONSTER_ID_GENDERED(BELDUM, 406),
|
||
_MONSTER_ID_GENDERED(METANG, 407),
|
||
_MONSTER_ID_GENDERED(METAGROSS, 408),
|
||
_MONSTER_ID_GENDERED(REGIROCK, 409),
|
||
_MONSTER_ID_GENDERED(REGICE, 410),
|
||
_MONSTER_ID_GENDERED(REGISTEEL, 411),
|
||
_MONSTER_ID_GENDERED(LATIAS, 412),
|
||
_MONSTER_ID_GENDERED(LATIOS, 413),
|
||
_MONSTER_ID_GENDERED(KYOGRE, 414),
|
||
_MONSTER_ID_GENDERED(GROUDON, 415),
|
||
_MONSTER_ID_GENDERED(RAYQUAZA, 416),
|
||
_MONSTER_ID_GENDERED(JIRACHI, 417),
|
||
_MONSTER_ID_GENDERED(DEOXYS_NORMAL, 418),
|
||
_MONSTER_ID_GENDERED(DEOXYS_ATTACK, 419),
|
||
_MONSTER_ID_GENDERED(DEOXYS_DEFENSE, 420),
|
||
_MONSTER_ID_GENDERED(DEOXYS_SPEED, 421),
|
||
_MONSTER_ID_GENDERED(TURTWIG, 422),
|
||
_MONSTER_ID_GENDERED(GROTLE, 423),
|
||
_MONSTER_ID_GENDERED(TORTERRA, 424),
|
||
_MONSTER_ID_GENDERED(CHIMCHAR, 425),
|
||
_MONSTER_ID_GENDERED(MONFERNO, 426),
|
||
_MONSTER_ID_GENDERED(INFERNAPE, 427),
|
||
_MONSTER_ID_GENDERED(PIPLUP, 428),
|
||
_MONSTER_ID_GENDERED(PRINPLUP, 429),
|
||
_MONSTER_ID_GENDERED(EMPOLEON, 430),
|
||
_MONSTER_ID_GENDERED(STARLY, 431),
|
||
_MONSTER_ID_GENDERED(STARAVIA, 432),
|
||
_MONSTER_ID_GENDERED(STARAPTOR, 433),
|
||
_MONSTER_ID_GENDERED(BIDOOF, 434),
|
||
_MONSTER_ID_GENDERED(BIBAREL, 435),
|
||
_MONSTER_ID_GENDERED(KRICKETOT, 436),
|
||
_MONSTER_ID_GENDERED(KRICKETUNE, 437),
|
||
_MONSTER_ID_GENDERED(SHINX, 438),
|
||
_MONSTER_ID_GENDERED(LUXIO, 439),
|
||
_MONSTER_ID_GENDERED(LUXRAY, 440),
|
||
_MONSTER_ID_GENDERED(BUDEW, 441),
|
||
_MONSTER_ID_GENDERED(ROSERADE, 442),
|
||
_MONSTER_ID_GENDERED(CRANIDOS, 443),
|
||
_MONSTER_ID_GENDERED(RAMPARDOS, 444),
|
||
_MONSTER_ID_GENDERED(SHIELDON, 445),
|
||
_MONSTER_ID_GENDERED(BASTIODON, 446),
|
||
_MONSTER_ID_GENDERED(BURMY_SANDY, 447),
|
||
_MONSTER_ID_GENDERED(BURMY_PLANT, 448),
|
||
_MONSTER_ID_GENDERED(BURMY_TRASH, 449),
|
||
_MONSTER_ID_GENDERED(WORMADAM_SANDY, 450),
|
||
_MONSTER_ID_GENDERED(WORMADAM_PLANT, 451),
|
||
_MONSTER_ID_GENDERED(WORMADAM_TRASH, 452),
|
||
_MONSTER_ID_GENDERED(MOTHIM, 453),
|
||
_MONSTER_ID_GENDERED(COMBEE, 454),
|
||
_MONSTER_ID_GENDERED(VESPIQUEN, 455),
|
||
_MONSTER_ID_GENDERED(PACHIRISU, 456),
|
||
_MONSTER_ID_GENDERED(BUIZEL, 457),
|
||
_MONSTER_ID_GENDERED(FLOATZEL, 458),
|
||
_MONSTER_ID_GENDERED(CHERUBI, 459),
|
||
_MONSTER_ID_GENDERED(CHERRIM_OVERCAST, 460),
|
||
_MONSTER_ID_GENDERED(CHERRIM_SUNSHINE, 461),
|
||
_MONSTER_ID_GENDERED(SHELLOS_EAST, 462),
|
||
_MONSTER_ID_GENDERED(SHELLOS_WEST, 463),
|
||
_MONSTER_ID_GENDERED(GASTRODON_EAST, 464),
|
||
_MONSTER_ID_GENDERED(GASTRODON_WEST, 465),
|
||
_MONSTER_ID_GENDERED(AMBIPOM, 466),
|
||
_MONSTER_ID_GENDERED(DRIFLOON, 467),
|
||
_MONSTER_ID_GENDERED(DRIFBLIM, 468),
|
||
_MONSTER_ID_GENDERED(BUNEARY, 469),
|
||
_MONSTER_ID_GENDERED(LOPUNNY, 470),
|
||
_MONSTER_ID_GENDERED(MISMAGIUS, 471),
|
||
_MONSTER_ID_GENDERED(HONCHKROW, 472),
|
||
_MONSTER_ID_GENDERED(GLAMEOW, 473),
|
||
_MONSTER_ID_GENDERED(PURUGLY, 474),
|
||
_MONSTER_ID_GENDERED(CHINGLING, 475),
|
||
_MONSTER_ID_GENDERED(STUNKY, 476),
|
||
_MONSTER_ID_GENDERED(SKUNTANK, 477),
|
||
_MONSTER_ID_GENDERED(BRONZOR, 478),
|
||
_MONSTER_ID_GENDERED(BRONZONG, 479),
|
||
_MONSTER_ID_GENDERED(BONSLY, 480),
|
||
_MONSTER_ID_GENDERED(MIME_JR, 481),
|
||
_MONSTER_ID_GENDERED(HAPPINY, 482),
|
||
_MONSTER_ID_GENDERED(CHATOT, 483),
|
||
_MONSTER_ID_GENDERED(SPIRITOMB, 484),
|
||
_MONSTER_ID_GENDERED(GIBLE, 485),
|
||
_MONSTER_ID_GENDERED(GABITE, 486),
|
||
_MONSTER_ID_GENDERED(GARCHOMP, 487),
|
||
_MONSTER_ID_GENDERED(MUNCHLAX, 488),
|
||
_MONSTER_ID_GENDERED(RIOLU, 489),
|
||
_MONSTER_ID_GENDERED(LUCARIO, 490),
|
||
_MONSTER_ID_GENDERED(HIPPOPOTAS, 491),
|
||
_MONSTER_ID_GENDERED(HIPPOWDON, 492),
|
||
_MONSTER_ID_GENDERED(SKORUPI, 493),
|
||
_MONSTER_ID_GENDERED(DRAPION, 494),
|
||
_MONSTER_ID_GENDERED(CROAGUNK, 495),
|
||
_MONSTER_ID_GENDERED(TOXICROAK, 496),
|
||
_MONSTER_ID_GENDERED(CARNIVINE, 497),
|
||
_MONSTER_ID_GENDERED(FINNEON, 498),
|
||
_MONSTER_ID_GENDERED(LUMINEON, 499),
|
||
_MONSTER_ID_GENDERED(MANTYKE, 500),
|
||
_MONSTER_ID_GENDERED(SNOVER, 501),
|
||
_MONSTER_ID_GENDERED(ABOMASNOW, 502),
|
||
_MONSTER_ID_GENDERED(WEAVILE, 503),
|
||
_MONSTER_ID_GENDERED(MAGNEZONE, 504),
|
||
_MONSTER_ID_GENDERED(LICKILICKY, 505),
|
||
_MONSTER_ID_GENDERED(RHYPERIOR, 506),
|
||
_MONSTER_ID_GENDERED(TANGROWTH, 507),
|
||
_MONSTER_ID_GENDERED(ELECTIVIRE, 508),
|
||
_MONSTER_ID_GENDERED(MAGMORTAR, 509),
|
||
_MONSTER_ID_GENDERED(TOGEKISS, 510),
|
||
_MONSTER_ID_GENDERED(YANMEGA, 511),
|
||
_MONSTER_ID_GENDERED(LEAFEON, 512),
|
||
_MONSTER_ID_GENDERED(GLACEON, 513),
|
||
_MONSTER_ID_GENDERED(GLISCOR, 514),
|
||
_MONSTER_ID_GENDERED(MAMOSWINE, 515),
|
||
_MONSTER_ID_GENDERED(PORYGON_Z, 516),
|
||
_MONSTER_ID_GENDERED(GALLADE, 517),
|
||
_MONSTER_ID_GENDERED(PROBOPASS, 518),
|
||
_MONSTER_ID_GENDERED(DUSKNOIR, 519),
|
||
_MONSTER_ID_GENDERED(FROSLASS, 520),
|
||
_MONSTER_ID_GENDERED(ROTOM, 521),
|
||
_MONSTER_ID_GENDERED(UXIE, 522),
|
||
_MONSTER_ID_GENDERED(MESPRIT, 523),
|
||
_MONSTER_ID_GENDERED(AZELF, 524),
|
||
_MONSTER_ID_GENDERED(DIALGA, 525),
|
||
_MONSTER_ID_GENDERED(PALKIA, 526),
|
||
_MONSTER_ID_GENDERED(HEATRAN, 527),
|
||
_MONSTER_ID_GENDERED(REGIGIGAS, 528),
|
||
_MONSTER_ID_GENDERED(GIRATINA_ALTERED, 529),
|
||
_MONSTER_ID_GENDERED(CRESSELIA, 530),
|
||
_MONSTER_ID_GENDERED(PHIONE, 531),
|
||
_MONSTER_ID_GENDERED(MANAPHY, 532),
|
||
_MONSTER_ID_GENDERED(DARKRAI, 533),
|
||
_MONSTER_ID_GENDERED(SHAYMIN_LAND, 534),
|
||
_MONSTER_ID_GENDERED(SHAYMIN_SKY, 535),
|
||
_MONSTER_ID_GENDERED(GIRATINA_ORIGIN, 536),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x219, 537),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x21A, 538),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x21B, 539),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x21C, 540),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x21D, 541),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x21E, 542),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x21F, 543),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x220, 544),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x221, 545),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x222, 546),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x223, 547),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x224, 548),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x225, 549),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x226, 550),
|
||
_MONSTER_ID_GENDERED(UNNAMED_0x227, 551),
|
||
_MONSTER_ID_GENDERED(PRIMAL_DIALGA, 552),
|
||
_MONSTER_ID_GENDERED(DECOY, 553),
|
||
_MONSTER_ID_GENDERED(STATUE, 554),
|
||
MONSTER_WIGGLYTUFF_STORY = 555,
|
||
MONSTER_REGIGIGAS_STORY = 556,
|
||
MONSTER_BRONZONG_STORY = 557,
|
||
MONSTER_HITMONLEE_STORY = 558,
|
||
MONSTER_CHIMECHO_STORY = 559,
|
||
MONSTER_WIGGLYTUFF_STORY_2 = 560,
|
||
MONSTER_UXIE_STORY = 561,
|
||
MONSTER_AZELF_STORY = 562,
|
||
MONSTER_MESPRIT_STORY = 563,
|
||
MONSTER_SUNFLORA_STORY = 564,
|
||
MONSTER_DIGLETT_STORY = 565,
|
||
MONSTER_DUGTRIO_STORY = 566,
|
||
MONSTER_CORPHISH_STORY = 567,
|
||
MONSTER_LOUDRED_STORY = 568,
|
||
MONSTER_BIDOOF_STORY = 569,
|
||
MONSTER_CHATOT_STORY = 570,
|
||
MONSTER_GROVYLE_STORY = 571,
|
||
MONSTER_DUSKNOIR_STORY = 572,
|
||
MONSTER_SABLEYE_STORY = 573,
|
||
MONSTER_DARKRAI_STORY = 574,
|
||
MONSTER_MAMA = 575,
|
||
MONSTER_GROVYLE_STORY_2 = 576,
|
||
MONSTER_DUSKNOIR_STORY_2 = 577,
|
||
MONSTER_DUSKNOIR_STORY_3 = 578,
|
||
MONSTER_SENTRET_DITTO = 579,
|
||
MONSTER_BELLOSSOM_DITTO = 580,
|
||
MONSTER_RESERVE_27 = 581,
|
||
MONSTER_RESERVE_28 = 582,
|
||
MONSTER_RESERVE_29 = 583,
|
||
MONSTER_RESERVE_30 = 584,
|
||
MONSTER_RESERVE_31 = 585,
|
||
MONSTER_RESERVE_32 = 586,
|
||
MONSTER_RESERVE_33 = 587,
|
||
MONSTER_RESERVE_34 = 588,
|
||
MONSTER_RESERVE_35 = 589,
|
||
MONSTER_RESERVE_36 = 590,
|
||
MONSTER_RESERVE_37 = 591,
|
||
MONSTER_RESERVE_38 = 592,
|
||
MONSTER_RESERVE_39 = 593,
|
||
MONSTER_RESERVE_40 = 594,
|
||
MONSTER_RESERVE_41 = 595,
|
||
MONSTER_RESERVE_42 = 596,
|
||
MONSTER_RESERVE_43 = 597,
|
||
MONSTER_RESERVE_44 = 598,
|
||
MONSTER_RESERVE_45 = 599,
|
||
};
|
||
#undef _MONSTER_ID_GENDERED
|
||
|
||
// Actions that a monster can take on its turn
|
||
enum action {
|
||
ACTION_NOTHING = 0, // 0x0
|
||
// 0x1: Pass turn. Enemies will print the "is watching carefully" message when performing this
|
||
// action
|
||
ACTION_PASS_TURN = 1,
|
||
ACTION_WALK = 2, // 0x2: Walk
|
||
ACTION_UNK_3 = 3,
|
||
ACTION_UNK_4 = 4,
|
||
ACTION_UNK_5 = 5,
|
||
ACTION_NEXT = 6, // 0x6: Switch to next Pokémon when viewing moves
|
||
ACTION_PREVIOUS = 7, // 0x7: Switch to previous Pokémon when viewing moves
|
||
ACTION_PLACE_ITEM = 8, // 0x8: Place an item on the floor
|
||
ACTION_PICK_UP_PLAYER = 9, // 0x9: Pick up an item from the floor (player)
|
||
ACTION_UNK_A = 10,
|
||
ACTION_THROW_ITEM_PLAYER = 11, // 0xB: Throw an item
|
||
ACTION_CHECK_ITEM_DESCRIPTION = 12, // 0xC: Check the description of an item
|
||
ACTION_EAT_BERRY_SEED_DRINK = 13, // 0xD: Each a berry or seed, or drink something
|
||
ACTION_EAT_GUMMI = 14, // 0xE: Eat a gummi
|
||
ACTION_UNK_F = 15,
|
||
ACTION_USE_TM = 16, // 0x10: Use a TM
|
||
ACTION_UNK_11 = 17,
|
||
ACTION_USE_ITEM = 18, // 0x12: Use an item
|
||
ACTION_TALK_FIELD = 19, // 0x13: Talk to a teammate by facing them and pressing A
|
||
ACTION_USE_MOVE_PLAYER = 20, // 0x14: Use a move (player)
|
||
ACTION_USE_MOVE_AI = 21, // 0x15: Use a move (AI)
|
||
ACTION_UNK_16 = 22,
|
||
ACTION_STRUGGLE = 23, // 0x17: Use Struggle
|
||
ACTION_UNK_18 = 24,
|
||
ACTION_CHECK_MOVES = 25, // 0x19: Check the list of moves
|
||
ACTION_CHANGE_TACTICS = 26, // 0x1A: Change a teammate's tactic
|
||
ACTION_CHECK_SUMMARY = 27, // 0x1B: Check a pokémon's summary
|
||
ACTION_TALK_MENU = 28, // 0x1C: Talk to a teammate by using the in-menu option
|
||
ACTION_UNK_1D = 29,
|
||
ACTION_SET_MOVE = 30, // 0x1E: Set a move
|
||
ACTION_SWITCH_MOVE = 31, // 0x1F: Switch a move on or off
|
||
ACTION_UNK_20 = 32,
|
||
ACTION_UNK_21 = 33,
|
||
ACTION_UNK_22 = 34,
|
||
ACTION_EAT_AI = 35, // 0x23: Eat item (AI)
|
||
ACTION_THROW_ITEM_AI = 36, // 0x24: Throw an item (AI)
|
||
ACTION_UNK_25 = 37,
|
||
ACTION_USE_STAIRS = 38, // 0x26: Use the stairs
|
||
ACTION_THROW_STRAIGHT_PLAYER = 39, // 0x27: Throw a straight-line item (player)
|
||
ACTION_UNK_28 = 40,
|
||
ACTION_UNK_29 = 41,
|
||
ACTION_UNK_2A = 42,
|
||
ACTION_QUICKSAVE = 43, // 0x2B: Quicksave
|
||
ACTION_USE_LINK_BOX = 44, // 0x2C: Use a Link Box
|
||
ACTION_UNK_2D = 45,
|
||
ACTION_GIVE_UP = 46, // 0x2E: Give up
|
||
ACTION_UNK_2F = 47,
|
||
ACTION_VIEW_IQ = 48, // 0x30: Open the IQ skills menu
|
||
ACTION_USE_ORB = 49, // 0x31: Use an orb
|
||
ACTION_REGULAR_ATTACK = 50, // 0x32: Regular Attack
|
||
ACTION_UNSET_MOVE = 51, // 0x33: Unset a move
|
||
ACTION_SEND_HOME = 52, // 0x34: Send a pokémon home
|
||
ACTION_UNK_35 = 53,
|
||
ACTION_GIVE_ITEM = 54, // 0X36: Give held item
|
||
ACTION_TAKE_ITEM = 55, // 0x37: Take a held item
|
||
ACTION_UNK_38 = 56,
|
||
// 0x39: <pokémon> had second thoughts! - Used as a failsafe when trying to take an illegal
|
||
// action
|
||
ACTION_SECOND_THOUGHTS = 57,
|
||
ACTION_SWAP_ITEM = 58, // 0x3A: Swapping an item
|
||
ACTION_CHANGE_LEADER = 59, // 0x3B: Change the team's leader
|
||
ACTION_SET_ITEM = 60, // 0x3C: Set item
|
||
ACTION_UNSET_ITEM = 61, // 0x3D: Unset item
|
||
ACTION_UNK_3E = 62,
|
||
ACTION_PICK_UP_AI = 63, // 0x3F: Pick up an item (AI)
|
||
ACTION_UNK_40 = 64,
|
||
ACTION_THROW_ARC_PLAYER = 65, // 0x41: Throw a Gravelerock or a similar item (player)
|
||
ACTION_PAD = 0xffff, // To force the enum on 16 bits
|
||
};
|
||
|
||
// Behavior type of NPC monsters
|
||
enum monster_behavior {
|
||
BEHAVIOR_NORMAL_ENEMY_0x0 = 0,
|
||
BEHAVIOR_OUTLAW = 1,
|
||
BEHAVIOR_HIDDEN_OUTLAW = 2,
|
||
BEHAVIOR_FLEEING_OUTLAW = 3,
|
||
BEHAVIOR_OUTLAW_TEAM_LEADER = 4,
|
||
BEHAVIOR_OUTLAW_TEAM_MINION = 5,
|
||
BEHAVIOR_FIXED_ENEMY = 6,
|
||
BEHAVIOR_RESCUE_TARGET = 7,
|
||
BEHAVIOR_WANDERING_ENEMY_0x8 = 8,
|
||
BEHAVIOR_NORMAL_ENEMY_0x9 = 9,
|
||
BEHAVIOR_ALLY = 10,
|
||
BEHAVIOR_EXPLORER_MAZE_1 = 11,
|
||
BEHAVIOR_EXPLORER_MAZE_2 = 12,
|
||
BEHAVIOR_EXPLORER_MAZE_3 = 13,
|
||
BEHAVIOR_EXPLORER_MAZE_4 = 14,
|
||
BEHAVIOR_INVALID = 15,
|
||
BEHAVIOR_SECRET_BAZAAR_KIRLIA = 16,
|
||
BEHAVIOR_SECRET_BAZAAR_MIME_JR = 17,
|
||
BEHAVIOR_SECRET_BAZAAR_SWALOT = 18,
|
||
BEHAVIOR_SECRET_BAZAAR_LICKILICKY = 19,
|
||
BEHAVIOR_SECRET_BAZAAR_SHEDINJA = 20,
|
||
BEHAVIOR_WANDERING_ENEMY_0x15 = 21,
|
||
};
|
||
|
||
// Music/song IDs. Some background SFX are also stored as "songs".
|
||
enum music_id {
|
||
MUSIC_NONE_0x0 = 0,
|
||
MUSIC_POKEMON_EXPLORATION_TEAM_THEME = 1,
|
||
MUSIC_TOP_MENU_THEME = 2,
|
||
MUSIC_MAROWAK_DOJO = 3,
|
||
MUSIC_THE_GATEKEEPERS = 4,
|
||
MUSIC_JOB_CLEAR = 5,
|
||
MUSIC_WELCOME_TO_THE_WORLD_OF_POKEMON = 6,
|
||
MUSIC_WIGGLYTUFFS_GUILD = 7,
|
||
MUSIC_WIGGLYTUFFS_GUILD_REMIX = 8,
|
||
MUSIC_TREASURE_TOWN = 9,
|
||
MUSIC_DO_YOUR_BEST_AS_ALWAYS = 10,
|
||
MUSIC_MONSTER_HOUSE = 11,
|
||
MUSIC_KECLEONS_SHOP = 12,
|
||
MUSIC_OUTLAW = 13,
|
||
MUSIC_IN_THE_DEPTHS_OF_THE_PIT = 14,
|
||
MUSIC_BOSS_BATTLE = 15,
|
||
MUSIC_DIALGAS_FIGHT_TO_THE_FINISH = 16,
|
||
MUSIC_BATTLE_AGAINST_DUSKNOIR = 17,
|
||
MUSIC_DEFY_THE_LEGENDS = 18,
|
||
MUSIC_MISSION_FAILURE = 19,
|
||
MUSIC_MISSION_SUCCESS = 20,
|
||
MUSIC_BEACH_CAVE = 21,
|
||
MUSIC_DRENCHED_BLUFF = 22,
|
||
MUSIC_MT_BRISTLE = 23,
|
||
MUSIC_WATERFALL_CAVE = 24,
|
||
MUSIC_APPLE_WOODS = 25,
|
||
MUSIC_CRAGGY_COAST = 26,
|
||
MUSIC_CAVE_AND_SIDE_PATH = 27,
|
||
MUSIC_MT_HORN = 28,
|
||
MUSIC_FOGGY_FOREST = 29,
|
||
MUSIC_STEAM_CAVE = 30,
|
||
MUSIC_UPPER_STEAM_CAVE = 31,
|
||
MUSIC_AMP_PLAINS = 32,
|
||
MUSIC_FAR_AMP_PLAINS = 33,
|
||
MUSIC_NORTHERN_DESERT = 34,
|
||
MUSIC_QUICKSAND_CAVE = 35,
|
||
MUSIC_QUICKSAND_PIT = 36,
|
||
MUSIC_CRYSTAL_CAVE = 37,
|
||
MUSIC_CRYSTAL_CROSSING = 38,
|
||
MUSIC_CHASM_CAVE = 39,
|
||
MUSIC_DARK_HILL = 40,
|
||
MUSIC_SEALED_RUIN = 41,
|
||
MUSIC_DEEP_SEALED_RUIN = 42,
|
||
MUSIC_DUSK_FOREST = 43,
|
||
MUSIC_DEEP_DUSK_FOREST = 44,
|
||
MUSIC_RANDOM_DUNGEON_THEME_2 = 45,
|
||
MUSIC_BRINE_CAVE = 46,
|
||
MUSIC_LOWER_BRINE_CAVE = 47,
|
||
MUSIC_HIDDEN_LAND = 48,
|
||
MUSIC_HIDDEN_HIGHLAND = 49,
|
||
MUSIC_TEMPORAL_TOWER = 50,
|
||
MUSIC_TEMPORAL_SPIRE = 51,
|
||
MUSIC_MYSTIFYING_FOREST = 52,
|
||
MUSIC_BLIZZARD_ISLAND_RESCUE_TEAM_MEDLEY = 53,
|
||
MUSIC_SURROUNDED_SEA = 54,
|
||
MUSIC_RANDOM_DUNGEON_THEME_1 = 55,
|
||
MUSIC_AEGIS_CAVE = 56,
|
||
MUSIC_CONCEALED_RUINS = 57,
|
||
MUSIC_MT_TRAVAIL = 58,
|
||
MUSIC_IN_THE_NIGHTMARE = 59,
|
||
MUSIC_MIRACLE_SEA = 60,
|
||
MUSIC_TREESHROUD_FOREST = 61,
|
||
MUSIC_DARK_CRATER = 62,
|
||
MUSIC_DEEP_DARK_CRATER = 63,
|
||
MUSIC_INTRO_ALTERNATE_UNUSED = 64,
|
||
MUSIC_PERFECT_SENTRY_DUTY = 65,
|
||
MUSIC_GOOD_SENTRY_DUTY = 66,
|
||
MUSIC_DECENT_SENTRY_DUTY = 67,
|
||
MUSIC_FAILED_SENTRY_DUTY = 68,
|
||
MUSIC_ON_THE_BEACH_AT_DUSK = 69,
|
||
MUSIC_GOODNIGHT = 70,
|
||
MUSIC_GOODNIGHT_ALTERNATE_UNUSED = 71,
|
||
MUSIC_AT_THE_END_OF_THE_DAY = 72,
|
||
MUSIC_GUILDMASTER_WIGGLYTUFF = 73,
|
||
MUSIC_GROWING_ANXIETY = 74,
|
||
MUSIC_THE_POWER_OF_DARKNESS = 75,
|
||
MUSIC_OH_NO = 76,
|
||
MUSIC_TIME_GEAR = 77,
|
||
MUSIC_TIME_GEAR_REMIX = 78,
|
||
MUSIC_I_SAW_SOMETHING_AGAIN = 79,
|
||
MUSIC_IN_THE_FUTURE = 80,
|
||
MUSIC_PLANETS_PARALYSIS = 81,
|
||
MUSIC_THROUGH_THE_SEA_OF_TIME = 82,
|
||
MUSIC_IN_THE_HANDS_OF_FATE = 83,
|
||
MUSIC_TIME_RESTORED = 84,
|
||
MUSIC_DONT_EVER_FORGET = 85,
|
||
MUSIC_A_WISH_FOR_PEACE = 86,
|
||
MUSIC_ON_THE_BEACH_AT_DUSK_INTRO_ONLY = 87,
|
||
MUSIC_MEMORIES_RETURNED = 88,
|
||
MUSIC_ENDING_THEME_INTRO = 89,
|
||
MUSIC_ENDING_THEME = 90,
|
||
MUSIC_EPILOGUE_THEME = 91,
|
||
MUSIC_TITLE_THEME_ALTERNATE_1_UNUSED = 92,
|
||
MUSIC_TITLE_THEME_ALTERNATE_2_UNUSED = 93,
|
||
MUSIC_MURKY_FOREST = 94,
|
||
MUSIC_SKY_PEAK_CAVE = 95,
|
||
MUSIC_SOUTHERN_JUNGLE = 96,
|
||
MUSIC_SKY_PEAK_COAST = 97,
|
||
MUSIC_SPRING_CAVE = 98,
|
||
MUSIC_LOWER_SPRING_CAVE = 99,
|
||
MUSIC_OCEAN_SFX = 100,
|
||
MUSIC_THUNDERSTORM_SFX = 101,
|
||
MUSIC_THUNDERSTORM_MUFFLED_SFX = 102,
|
||
MUSIC_RUMBLING_SFX = 103,
|
||
MUSIC_RUMBLING_LOUDER_SFX = 104,
|
||
MUSIC_RUMBLING_LOUDEST_SFX = 105,
|
||
MUSIC_RUNNING_HOT_WATER_SFX = 106,
|
||
MUSIC_TEMPORAL_PINNACLE_SFX = 107,
|
||
MUSIC_TEMPORAL_PINNACLE = 108,
|
||
MUSIC_NULL_0x6D = 109,
|
||
MUSIC_HEAVY_FOOTSTEPS_SFX = 110,
|
||
MUSIC_SINGLE_TONE_RINGING_SFX = 111,
|
||
MUSIC_ELECTRICITY_SFX_1 = 112,
|
||
MUSIC_ELECTRICITY_SFX_2 = 113,
|
||
MUSIC_ELECTRICITY_SFX_3 = 114,
|
||
MUSIC_FIRE_CRACKLING_SFX_1 = 115,
|
||
MUSIC_FIRE_CRACKLING_SFX_2 = 116,
|
||
MUSIC_RELIC_FRAGMENT_SFX = 117,
|
||
MUSIC_RAINBOW_STONESHIP_SFX = 118,
|
||
MUSIC_RAINBOW_STONESHIP_PREPARING_SFX = 119,
|
||
MUSIC_HUMMING_SFX = 120,
|
||
MUSIC_HAVE_TO_GET_HOME = 121,
|
||
MUSIC_FARTHER_AWAY = 122,
|
||
MUSIC_PALKIAS_ONSLAUGHT = 123,
|
||
MUSIC_NONE_0x7C = 124,
|
||
MUSIC_WATERFALL_SFX = 125,
|
||
MUSIC_EATING_SFX = 126,
|
||
MUSIC_OMINOUS_STRING_NOTE_SFX = 127,
|
||
MUSIC_FLOOD_SFX = 128,
|
||
MUSIC_PELIPPER_ISLAND = 129,
|
||
MUSIC_TITLE_THEME = 130,
|
||
MUSIC_HEARTWARMING = 131,
|
||
MUSIC_DOWN_A_DARK_PATH = 132,
|
||
MUSIC_RISING_FEAR = 133,
|
||
MUSIC_TEAM_SKULL = 134,
|
||
MUSIC_SYMPATHY = 135,
|
||
MUSIC_BEYOND_THE_DREAM = 136,
|
||
MUSIC_AIR_OF_UNEASE = 137,
|
||
MUSIC_ONE_FOR_ALL = 138,
|
||
MUSIC__ALL_FOR_ONE = 139,
|
||
MUSIC_BOULDER_QUARRY = 140,
|
||
MUSIC_SPRING_CAVE_DEPTHS = 141,
|
||
MUSIC_STAR_CAVE = 142,
|
||
MUSIC_DEEP_STAR_CAVE = 143,
|
||
MUSIC_LIMESTONE_CAVE = 144,
|
||
MUSIC_DEEP_LIMESTONE_CAVE = 145,
|
||
MUSIC_RANDOM_DUNGEON_THEME_3 = 146,
|
||
MUSIC_FORTUNE_RAVINE = 147,
|
||
MUSIC_FORTUNE_RAVINE_DEPTHS = 148,
|
||
MUSIC_BARREN_VALLEY = 149,
|
||
MUSIC_DARK_WASTELAND = 150,
|
||
MUSIC_SPACIAL_CLIFFS = 151,
|
||
MUSIC_DARK_ICE_MOUNTAIN = 152,
|
||
MUSIC_ICICLE_FOREST = 153,
|
||
MUSIC_VAST_ICE_MOUNTAIN = 154,
|
||
MUSIC_VAST_ICE_MOUNTAIN_PEAK = 155,
|
||
MUSIC_SKY_PEAK_FOREST = 156,
|
||
MUSIC_SKY_PEAK_PRAIRIE = 157,
|
||
MUSIC_SKY_PEAK_SNOWFIELD = 158,
|
||
MUSIC_SKY_PEAK_FINAL_PASS = 159,
|
||
MUSIC_SPINDAS_CAFE = 160,
|
||
MUSIC_LUDICOLO_DANCE = 161,
|
||
MUSIC_ILLUSION_STONE_CHAMBER = 162,
|
||
MUSIC_IT_CANT_BE = 163,
|
||
MUSIC_DEFEND_GLOBE = 164,
|
||
MUSIC_DEFEND_GLOBE_ENDING = 165,
|
||
MUSIC_TEAM_CHARMS_THEME = 166,
|
||
MUSIC_HERE_COMES_TEAM_CHARM = 167,
|
||
MUSIC_FOR_A_NEW_LIFE = 168,
|
||
MUSIC_LIVING_SPIRIT = 169,
|
||
MUSIC_PROUD_ACCOMPLISHMENT = 170,
|
||
MUSIC_IN_THE_MORNING_SUN = 171,
|
||
MUSIC_A_NEW_WORLD = 172,
|
||
MUSIC_THOUGHTS_FOR_FRIENDS = 173,
|
||
MUSIC_LIFE_GOES_ON_ENDING = 174,
|
||
MUSIC_ITS_NOT_A_MIRACLE = 175,
|
||
MUSIC_A_MESSAGE_ON_THE_WIND = 176,
|
||
MUSIC_A_FUN_EXPLORATION = 177,
|
||
MUSIC_SHAYMIN_VILLAGE = 178,
|
||
MUSIC_TEAM_CHARMS_THEME_INTRO_ONLY = 179,
|
||
MUSIC_RUMBLING_SFX_4 = 180,
|
||
MUSIC_RUMBLING_SFX_5 = 181,
|
||
MUSIC_OCEAN_MUFFLED_SFX = 182,
|
||
MUSIC_WIND_SFX_1 = 183,
|
||
MUSIC_LIMESTONE_CAVERN_DEPTHS_SFX = 184,
|
||
MUSIC_FIRE_CRACKLING_SFX_3 = 185,
|
||
MUSIC_SKY_PEAK_8TH_STATION_CLEARING_SFX = 186,
|
||
MUSIC_WIND_AND_RAIN_SFX = 187,
|
||
MUSIC_VAST_ICE_MOUNTAIN_PINNACLE_SFX = 188,
|
||
MUSIC_SPRING_CAVE_SFX = 189,
|
||
MUSIC_WIND_SFX_2 = 190,
|
||
MUSIC_SOUTHERN_JUNGLE_EXIT_SFX = 191,
|
||
MUSIC_BOULDER_QUARRY_CLEARING_SFX = 192,
|
||
MUSIC_WATERFALL_CAVE_VISION_SFX = 193,
|
||
MUSIC_WIND_SFX_3 = 194,
|
||
MUSIC_NULL_0xC2 = 195,
|
||
MUSIC_NULL_0xC3 = 196,
|
||
MUSIC_NULL_0xC4 = 197,
|
||
MUSIC_NULL_0xC5 = 198,
|
||
MUSIC_NULL_0xC6 = 199,
|
||
MUSIC_TEAM_CHARMS_THEME_ALTERNATE_1_UNUSED = 200,
|
||
MUSIC_TEAM_CHARM_JINGLE = 201,
|
||
MUSIC_TEAM_CHARMS_THEME_ALTERNATE_2_UNUSED = 202,
|
||
MUSIC_NONE_0x3E7 = 999,
|
||
};
|
||
|
||
// Status IDs
|
||
// While there seems to be a global status order, this enum isn't used exactly that way in
|
||
// practice. See the comments for struct status.
|
||
enum status_id {
|
||
STATUS_NONE = 0, // Called "-" internally
|
||
STATUS_SLEEP = 1,
|
||
STATUS_SLEEPLESS = 2, // Won't get sleepy
|
||
STATUS_NIGHTMARE = 3, // Caught in a nightmare
|
||
STATUS_YAWNING = 4,
|
||
STATUS_NAPPING = 5,
|
||
STATUS_LOW_HP = 6, // Low HP! Situation critical!
|
||
STATUS_BURN = 7, // Burned
|
||
STATUS_POISONED = 8,
|
||
STATUS_BADLY_POISONED = 9,
|
||
STATUS_PARALYSIS = 10, // Paralyzed
|
||
STATUS_IDENTIFYING = 11,
|
||
STATUS_FROZEN = 12,
|
||
STATUS_SHADOW_HOLD = 13, // Immobilized
|
||
STATUS_WRAP = 14, // Wrapped around foe
|
||
STATUS_WRAPPED = 15, // Wrapped by foe
|
||
STATUS_INGRAIN = 16, // Using Ingrain
|
||
STATUS_PETRIFIED = 17,
|
||
STATUS_CONSTRICTION = 18, // Being squeezed
|
||
STATUS_FAMISHED = 19, // About to drop from hunger
|
||
STATUS_CRINGE = 20, // Cringing
|
||
STATUS_CONFUSED = 21,
|
||
STATUS_PAUSED = 22, // Pausing
|
||
STATUS_COWERING = 23,
|
||
STATUS_TAUNTED = 24,
|
||
STATUS_ENCORE = 25, // Afflicted with Encore
|
||
STATUS_INFATUATED = 26,
|
||
STATUS_DOUBLE_SPEED = 27, // Sped up
|
||
STATUS_BIDE = 28, // Biding
|
||
STATUS_SOLARBEAM = 29, // Charging SolarBeam
|
||
STATUS_SKY_ATTACK = 30, // Charging Sky Attack
|
||
STATUS_RAZOR_WIND = 31, // Charging Razor Wind
|
||
STATUS_FOCUS_PUNCH = 32, // Charging Focus Punch
|
||
STATUS_SKULL_BASH = 33, // Charging Skull Bash
|
||
STATUS_FLYING = 34, // Flying high up
|
||
STATUS_BOUNCING = 35,
|
||
STATUS_DIVING = 36, // Hiding underwater
|
||
STATUS_DIGGING = 37, // Burrowing underground
|
||
STATUS_CHARGING = 38, // Using Charge
|
||
STATUS_ENRAGED = 39, // Shaking with rage
|
||
STATUS_SHADOW_FORCE = 40, // Hiding among shadows
|
||
STATUS_HALF_SPEED = 41, // Slowed down
|
||
STATUS_REFLECT = 42, // Protected by Reflect
|
||
STATUS_SAFEGUARD = 43, // Protected by Safeguard
|
||
STATUS_LIGHT_SCREEN = 44, // Protected by Light Screen
|
||
STATUS_COUNTER = 45, // Ready to counter
|
||
STATUS_MAGIC_COAT = 46, // Protected by Magic Coat
|
||
STATUS_WISH = 47, // Making a wish
|
||
STATUS_PROTECT = 48, // Protecting itself
|
||
STATUS_MIRROR_COAT = 49, // Protected by Mirror Coat
|
||
STATUS_ENDURING = 50, // Set to endure
|
||
STATUS_MINI_COUNTER = 51, // Ready to deliver mini counters
|
||
STATUS_MIRROR_MOVE = 52, // Using Mirror Move
|
||
STATUS_CONVERSION2 = 53, // Alt Using Conversion 2
|
||
STATUS_VITAL_THROW = 54, // Ready to use Vital Throw
|
||
STATUS_MIST = 55, // Protected by Mist
|
||
STATUS_METAL_BURST = 56, // Protected by Metal Burst
|
||
STATUS_AQUA_RING = 57, // Cloaked by Aqua Ring
|
||
STATUS_LUCKY_CHANT = 58, // Lucky Chant in effect
|
||
STATUS_WEAKENED = 59,
|
||
STATUS_CURSED = 60,
|
||
STATUS_DECOY = 61,
|
||
STATUS_SNATCH = 62, // Ready to snatch moves
|
||
STATUS_GASTRO_ACID = 63, // Drenched with Gastro Acid
|
||
STATUS_HEAL_BLOCK = 64, // Prevented from healing
|
||
STATUS_EMBARGO = 65, // Under Embargo
|
||
STATUS_HUNGRY_PAL = 66, // Immobilized by hunger
|
||
STATUS_LEECH_SEED = 67, // Afflicted with Leech Seed
|
||
STATUS_DESTINY_BOND = 68, // Using Destiny Bond
|
||
STATUS_POWERED_UP = 69,
|
||
STATUS_SURE_SHOT = 70, // Total accuracy for moves
|
||
STATUS_WHIFFER = 71, // Afflicted with Smokescreen
|
||
STATUS_SET_DAMAGE = 72, // Inflicts set damage
|
||
STATUS_FOCUS_ENERGY = 73, // Enhanced critical-hit rate
|
||
STATUS_UNNAMED_0x4A = 74, // Called "-" internally
|
||
STATUS_LONG_TOSS = 75, // Throws thrown items far
|
||
STATUS_PIERCE = 76, // Pierces walls w/ thrown items
|
||
STATUS_UNNAMED_0x4D = 77,
|
||
STATUS_INVISIBLE = 78,
|
||
STATUS_TRANSFORMED = 79, // Transformed Pokemon
|
||
STATUS_MOBILE = 80, // Travel anywhere
|
||
STATUS_SLIP = 81, // Walk on water
|
||
STATUS_UNNAMED_0x52 = 82,
|
||
STATUS_BLINKER = 83, // Blinded
|
||
STATUS_CROSS_EYED = 84, // Hallucinating
|
||
STATUS_EYEDROPS = 85, // Seeing the unseeable
|
||
STATUS_DROPEYE = 86, // Poor vision
|
||
STATUS_UNNAMED_0x57 = 87,
|
||
STATUS_MUZZLED = 88, // Unable to use its mouth
|
||
STATUS_UNNAMED_0x59 = 89,
|
||
STATUS_MIRACLE_EYE = 90, // Exposed by Miracle Eye
|
||
STATUS_UNNAMED_0x5B = 91,
|
||
STATUS_MAGNET_RISE = 92, // Levitating with Magnet Rise
|
||
STATUS_STOCKPILING = 93,
|
||
STATUS_POWER_EARS = 94, // Can locate other Pokemon
|
||
STATUS_SCANNING = 95, // Can locate items
|
||
STATUS_GRUDGE = 96, // Bearing a grudge
|
||
STATUS_EXPOSED = 97, // Exposed to sight
|
||
STATUS_TERRIFIED = 98,
|
||
STATUS_PERISH_SONG = 99, // Received Perish Song
|
||
STATUS_DOUBLED_ATTACK = 100, // Has sped-up attacks
|
||
STATUS_STAIR_SPOTTER = 101, // Can locate stairs
|
||
};
|
||
|
||
enum status_sleep_id {
|
||
STATUS_SLEEP_NONE = 0,
|
||
STATUS_SLEEP_SLEEP = 1,
|
||
STATUS_SLEEP_SLEEPLESS = 2,
|
||
STATUS_SLEEP_NIGHTMARE = 3,
|
||
STATUS_SLEEP_YAWNING = 4,
|
||
STATUS_SLEEP_NAPPING = 5,
|
||
};
|
||
|
||
enum status_burn_id {
|
||
STATUS_BURN_NONE = 0,
|
||
STATUS_BURN_BURN = 1,
|
||
STATUS_BURN_POISONED = 2,
|
||
STATUS_BURN_BADLY_POISONED = 3,
|
||
STATUS_BURN_PARALYSIS = 4,
|
||
};
|
||
|
||
enum status_frozen_id {
|
||
STATUS_FROZEN_NONE = 0,
|
||
STATUS_FROZEN_FROZEN = 1,
|
||
STATUS_FROZEN_SHADOW_HOLD = 2,
|
||
STATUS_FROZEN_WRAP = 3,
|
||
STATUS_FROZEN_WRAPPED = 4,
|
||
STATUS_FROZEN_INGRAIN = 5,
|
||
STATUS_FROZEN_PETRIFIED = 6,
|
||
STATUS_FROZEN_CONSTRICTION = 7,
|
||
};
|
||
|
||
enum status_cringe_id {
|
||
STATUS_CRINGE_NONE = 0,
|
||
STATUS_CRINGE_CRINGE = 1,
|
||
STATUS_CRINGE_CONFUSED = 2,
|
||
STATUS_CRINGE_PAUSED = 3,
|
||
STATUS_CRINGE_COWERING = 4,
|
||
STATUS_CRINGE_TAUNTED = 5,
|
||
STATUS_CRINGE_ENCORE = 6,
|
||
STATUS_CRINGE_INFATUATED = 7,
|
||
};
|
||
|
||
enum status_two_turn_id {
|
||
STATUS_TWO_TURN_NONE = 0,
|
||
STATUS_TWO_TURN_BIDE = 1,
|
||
STATUS_TWO_TURN_SOLARBEAM = 2,
|
||
STATUS_TWO_TURN_SKY_ATTACK = 3,
|
||
STATUS_TWO_TURN_RAZOR_WIND = 4,
|
||
STATUS_TWO_TURN_FOCUS_PUNCH = 5,
|
||
STATUS_TWO_TURN_SKULL_BASH = 6,
|
||
STATUS_TWO_TURN_FLYING = 7,
|
||
STATUS_TWO_TURN_BOUNCING = 8,
|
||
STATUS_TWO_TURN_DIVING = 9,
|
||
STATUS_TWO_TURN_DIGGING = 10,
|
||
STATUS_TWO_TURN_CHARGING = 11,
|
||
STATUS_TWO_TURN_ENRAGED = 12,
|
||
STATUS_TWO_TURN_SHADOW_FORCE = 13,
|
||
};
|
||
|
||
enum status_reflect_id {
|
||
STATUS_REFLECT_NONE = 0,
|
||
STATUS_REFLECT_REFLECT = 1,
|
||
STATUS_REFLECT_SAFEGUARD = 2,
|
||
STATUS_REFLECT_LIGHT_SCREEN = 3,
|
||
STATUS_REFLECT_COUNTER = 4,
|
||
STATUS_REFLECT_MAGIC_COAT = 5,
|
||
STATUS_REFLECT_WISH = 6,
|
||
STATUS_REFLECT_PROTECT = 7,
|
||
STATUS_REFLECT_MIRROR_COAT = 8,
|
||
STATUS_REFLECT_ENDURING = 9,
|
||
STATUS_REFLECT_MINI_COUNTER = 10,
|
||
STATUS_REFLECT_MIRROR_MOVE = 11,
|
||
STATUS_REFLECT_CONVERSION2 = 12,
|
||
STATUS_REFLECT_VITAL_THROW = 13,
|
||
STATUS_REFLECT_MIST = 14,
|
||
STATUS_REFLECT_METAL_BURST = 15,
|
||
STATUS_REFLECT_AQUA_RING = 16,
|
||
STATUS_REFLECT_LUCKY_CHANT = 17,
|
||
};
|
||
|
||
enum status_curse_id {
|
||
STATUS_CURSE_NONE = 0,
|
||
STATUS_CURSE_CURSED = 1,
|
||
STATUS_CURSE_DECOY = 2,
|
||
STATUS_CURSE_SNATCH = 3,
|
||
STATUS_CURSE_GASTRO_ACID = 4,
|
||
STATUS_CURSE_HEAL_BLOCK = 5,
|
||
STATUS_CURSE_EMBARGO = 6,
|
||
};
|
||
|
||
enum status_leech_seed_id {
|
||
STATUS_LEECH_SEED_NONE = 0,
|
||
STATUS_LEECH_SEED_LEECH_SEED = 1,
|
||
STATUS_LEECH_SEED_DESTINY_BOND = 2,
|
||
};
|
||
|
||
enum status_sure_shot_id {
|
||
STATUS_SURE_SHOT_NONE = 0,
|
||
STATUS_SURE_SHOT_SURE_SHOT = 1,
|
||
STATUS_SURE_SHOT_WHIFFER = 2,
|
||
STATUS_SURE_SHOT_SET_DAMAGE = 3,
|
||
STATUS_SURE_SHOT_FOCUS_ENERGY = 4,
|
||
};
|
||
|
||
enum status_long_toss_id {
|
||
STATUS_LONG_TOSS_NONE = 0,
|
||
STATUS_LONG_TOSS_LONG_TOSS = 1,
|
||
STATUS_LONG_TOSS_PIERCE = 2
|
||
};
|
||
|
||
enum status_invisible_id {
|
||
STATUS_INVISIBLE_NONE = 0,
|
||
STATUS_INVISIBLE_INVISIBLE = 1,
|
||
STATUS_INVISIBLE_TRANSFORMED = 2,
|
||
STATUS_INVISIBLE_MOBILE = 3,
|
||
STATUS_INVISIBLE_SLIP = 4,
|
||
};
|
||
|
||
enum status_blinker_id {
|
||
STATUS_BLINKER_NONE = 0,
|
||
STATUS_BLINKER_BLINKER = 1,
|
||
STATUS_BLINKER_CROSS_EYED = 2,
|
||
STATUS_BLINKER_EYEDROPS = 3,
|
||
STATUS_BLINKER_DROPEYE = 4,
|
||
};
|
||
|
||
// Mission type on a floor
|
||
enum mission_type {
|
||
MISSION_RESCUE_CLIENT = 0,
|
||
MISSION_RESCUE_TARGET = 1,
|
||
MISSION_ESCORT_TO_TARGET = 2,
|
||
MISSION_EXPLORE_WITH_CLIENT = 3,
|
||
MISSION_PROSPECT_WITH_CLIENT = 4,
|
||
MISSION_GUIDE_CLIENT = 5,
|
||
MISSION_FIND_ITEM = 6,
|
||
MISSION_DELIVER_ITEM = 7,
|
||
MISSION_SEARCH_FOR_TARGET = 8,
|
||
MISSION_TAKE_ITEM_FROM_OUTLAW = 9,
|
||
MISSION_ARREST_OUTLAW = 10,
|
||
MISSION_CHALLENGE_REQUEST = 11,
|
||
MISSION_TREASURE_MEMO = 12,
|
||
MISSION_TYPE_UNK_0xD = 13,
|
||
MISSION_SPECIAL_EPISODE = 14,
|
||
};
|
||
|
||
// Mission subtype for MISSION_ARREST_OUTLAW
|
||
// 0-3 all occur naturally in-game, the distinction is in intensity of the mission.
|
||
// Each uses a different table of outlaws of varying difficulties.
|
||
enum mission_subtype_outlaw {
|
||
MISSION_OUTLAW_NORMAL_0 = 0, // in mission_template, client is magnezone
|
||
MISSION_OUTLAW_NORMAL_1 = 1, // in mission_template, client is magnezone
|
||
MISSION_OUTLAW_NORMAL_2 = 2, // in mission_template, client is magnemite
|
||
MISSION_OUTLAW_NORMAL_3 = 3, // in mission_template, client is magnemite
|
||
MISSION_OUTLAW_ESCORT = 4,
|
||
MISSION_OUTLAW_FLEEING = 5,
|
||
// One of 30 specific pairings (IE: Vespiquen/Combee, Golduck/Psyduck, Cloyster/Clampearl)
|
||
MISSION_OUTLAW_HIDEOUT = 6,
|
||
MISSION_OUTLAW_MONSTER_HOUSE = 7,
|
||
};
|
||
|
||
// Fixed room ID. Fixed rooms can be full floor layouts, like most end-of-dungeon boss chambers,
|
||
// multi-room layouts in the case of Treasure Memos, or single rooms within a larger floor layout
|
||
// like with key chambers.
|
||
enum fixed_room_id {
|
||
FIXED_NONE = 0,
|
||
FIXED_BEACH_CAVE_PIT = 1,
|
||
FIXED_MT_BRISTLE_PEAK = 2,
|
||
FIXED_STEAM_CAVE_PEAK = 3,
|
||
FIXED_AMP_CLEARING = 4,
|
||
FIXED_UNDERGROUND_LAKE = 5,
|
||
FIXED_CRYSTAL_LAKE = 6,
|
||
FIXED_SEALED_RUIN_PIT = 7,
|
||
FIXED_BRINE_CAVE_PIT = 8,
|
||
FIXED_OLD_RUINS = 9,
|
||
FIXED_TEMPORAL_PINNACLE = 10,
|
||
FIXED_MYSTIFYING_FOREST_CLEARING = 11,
|
||
FIXED_CREVICE_CAVE_PIT = 12,
|
||
FIXED_MIRACLE_SEABED = 13,
|
||
FIXED_REGICE_CHAMBER = 14,
|
||
FIXED_REGIROCK_CHAMBER = 15,
|
||
FIXED_REGISTEEL_CHAMBER = 16,
|
||
FIXED_REGIGIGAS_CHAMBER = 17,
|
||
FIXED_SPACIAL_RIFT_BOTTOM = 18,
|
||
FIXED_DARK_CRATER_PIT = 19,
|
||
FIXED_GIANT_VOLCANO_PEAK = 20,
|
||
FIXED_SHIMMER_DESERT_PIT = 21,
|
||
FIXED_MT_AVALANCHE_PEAK = 22,
|
||
FIXED_BOTTOMLESS_SEA_DEPTHS = 23,
|
||
FIXED_WORLD_ABYSS_PIT = 24,
|
||
FIXED_DEEP_MYSTERY_JUNGLE = 25,
|
||
FIXED_SKY_STAIRWAY_APEX = 26,
|
||
FIXED_EMPTY_OCTAGON = 27,
|
||
FIXED_SKY_PEAK_5TH_STATION_CLEARING = 28,
|
||
FIXED_SKY_PEAK_SUMMIT = 29,
|
||
FIXED_DEEP_STAR_CAVE_SE1 = 30,
|
||
FIXED_STAR_CAVE_PIT_SE1 = 31,
|
||
FIXED_FORTUNE_RAVINE_PIT = 32,
|
||
FIXED_BARREN_VALLEY_CLEARING = 33,
|
||
FIXED_BLACK_SWAMP = 34,
|
||
FIXED_DARK_ICE_MOUNTAIN_PINNACLE = 35,
|
||
FIXED_VAST_ICE_MOUNTAIN_PINNACLE = 36,
|
||
FIXED_BOULDER_QUARRY_CLEARING = 37,
|
||
FIXED_LIMESTONE_CAVERN_DEPTHS = 38,
|
||
FIXED_UPPER_SPRING_CAVE = 39,
|
||
FIXED_MIDDLE_SPRING_CAVE = 40,
|
||
FIXED_SPRING_CAVE_PIT = 41,
|
||
FIXED_DEEP_STAR_CAVE = 42,
|
||
FIXED_BARREN_VALLEY_CLEARING_REVISIT = 43,
|
||
FIXED_UNUSED_0x2C = 44,
|
||
FIXED_UNUSED_0x2D = 45,
|
||
FIXED_UNUSED_0x2E = 46,
|
||
FIXED_UNUSED_0x2F = 47,
|
||
FIXED_UNUSED_0x30 = 48,
|
||
FIXED_UNUSED_0x31 = 49,
|
||
FIXED_UNUSED_0x32 = 50,
|
||
FIXED_UNUSED_0x33 = 51,
|
||
FIXED_UNUSED_0x34 = 52,
|
||
FIXED_UNUSED_0x35 = 53,
|
||
FIXED_UNUSED_0x36 = 54,
|
||
FIXED_UNUSED_0x37 = 55,
|
||
FIXED_UNUSED_0x38 = 56,
|
||
FIXED_UNUSED_0x39 = 57,
|
||
FIXED_UNUSED_0x3A = 58,
|
||
FIXED_UNUSED_0x3B = 59,
|
||
FIXED_UNUSED_0x3C = 60,
|
||
FIXED_UNUSED_0x3D = 61,
|
||
FIXED_UNUSED_0x3E = 62,
|
||
FIXED_TEST = 63,
|
||
FIXED_EMPTY_RECTANGLE = 64,
|
||
FIXED_BEACH_CAVE_PIT_REVISIT = 65,
|
||
FIXED_MT_BRISTLE_PEAK_REVISIT = 66,
|
||
FIXED_STEAM_CAVE_PEAK_REVISIT = 67,
|
||
FIXED_AMP_CLEARING_REVISIT = 68,
|
||
FIXED_UNDERGROUND_LAKE_REVISIT = 69,
|
||
FIXED_CRYSTAL_LAKE_REVISIT = 70,
|
||
FIXED_SEALED_RUIN_PIT_REVISIT = 71,
|
||
FIXED_BRINE_CAVE_PIT_REVISIT = 72,
|
||
FIXED_OLD_RUINS_REVISIT = 73,
|
||
FIXED_TEMPORAL_PINNACLE_REVISIT = 74,
|
||
FIXED_REGIGIGAS_CHAMBER_REVISIT = 75,
|
||
FIXED_SPACIAL_RIFT_BOTTOM_REVISIT = 76,
|
||
FIXED_DARK_CRATER_PIT_REVISIT = 77,
|
||
FIXED_UNUSED_0x4E = 78,
|
||
FIXED_UNUSED_0x4F = 79,
|
||
FIXED_LABYRINTH_CAVE = 80,
|
||
FIXED_ZERO_ISLE_NORTH = 81,
|
||
FIXED_ZERO_ISLE_EAST = 82,
|
||
FIXED_ZERO_ISLE_WEST = 83,
|
||
FIXED_ZERO_ISLE_SOUTH = 84,
|
||
FIXED_ORAN_FOREST = 85,
|
||
FIXED_MARINE_RESORT = 86,
|
||
FIXED_SERENITY_RIVER = 87,
|
||
FIXED_LANDSLIDE_CAVE = 88,
|
||
FIXED_LUSH_PRAIRIE = 89,
|
||
FIXED_TINY_MEADOW = 90,
|
||
FIXED_SURROUNDED_SEA = 91,
|
||
FIXED_CONCEALED_RUINS = 92,
|
||
FIXED_LAKE_AFAR = 93,
|
||
FIXED_HAPPY_OUTLOOK = 94,
|
||
FIXED_MT_MISTRAL = 95,
|
||
FIXED_SHIMMER_HILL = 96,
|
||
FIXED_LOST_WILDERNESS = 97,
|
||
FIXED_MIDNIGHT_FOREST = 98,
|
||
FIXED_ZERO_ISLE_CENTER = 99,
|
||
FIXED_OBLIVION_FOREST = 100,
|
||
FIXED_TREACHEROUS_WATERS = 101,
|
||
FIXED_SOUTHEASTERN_ISLANDS = 102,
|
||
FIXED_INFERNO_CAVE = 103,
|
||
FIXED_MIDNIGHT_FOREST_COPY = 104,
|
||
FIXED_UNUSED_0x69 = 105,
|
||
FIXED_UNUSED_0x6A = 106,
|
||
FIXED_UNUSED_0x6B = 107,
|
||
FIXED_UNUSED_0x6C = 108,
|
||
FIXED_UNUSED_0x6D = 109,
|
||
FIXED_SUBSTITUTE_ROOM = 110,
|
||
FIXED_GOLDEN_CHAMBER = 111,
|
||
FIXED_SECRET_BAZAAR = 112,
|
||
FIXED_SECRET_ROOM = 113,
|
||
FIXED_TREASURE_MEMO_0 = 114,
|
||
FIXED_TREASURE_MEMO_1 = 115,
|
||
FIXED_TREASURE_MEMO_2 = 116,
|
||
FIXED_TREASURE_MEMO_3 = 117,
|
||
FIXED_TREASURE_MEMO_4 = 118,
|
||
FIXED_TREASURE_MEMO_5 = 119,
|
||
FIXED_TREASURE_MEMO_6 = 120,
|
||
FIXED_TREASURE_MEMO_7 = 121,
|
||
FIXED_TREASURE_MEMO_8 = 122,
|
||
FIXED_TREASURE_MEMO_9 = 123,
|
||
FIXED_TREASURE_MEMO_10 = 124,
|
||
FIXED_TREASURE_MEMO_11 = 125,
|
||
FIXED_TREASURE_MEMO_12 = 126,
|
||
FIXED_TREASURE_MEMO_13 = 127,
|
||
FIXED_TREASURE_MEMO_14 = 128,
|
||
FIXED_TREASURE_MEMO_15 = 129,
|
||
FIXED_TREASURE_MEMO_16 = 130,
|
||
FIXED_TREASURE_MEMO_17 = 131,
|
||
FIXED_TREASURE_MEMO_18 = 132,
|
||
FIXED_TREASURE_MEMO_19 = 133,
|
||
FIXED_TREASURE_MEMO_20 = 134,
|
||
FIXED_TREASURE_MEMO_21 = 135,
|
||
FIXED_TREASURE_MEMO_22 = 136,
|
||
FIXED_TREASURE_MEMO_23 = 137,
|
||
FIXED_TREASURE_MEMO_24 = 138,
|
||
FIXED_TREASURE_MEMO_25 = 139,
|
||
FIXED_TREASURE_MEMO_26 = 140,
|
||
FIXED_TREASURE_MEMO_27 = 141,
|
||
FIXED_TREASURE_MEMO_28 = 142,
|
||
FIXED_TREASURE_MEMO_29 = 143,
|
||
FIXED_TREASURE_MEMO_30 = 144,
|
||
FIXED_MEWTWO_CHALLENGE_FLOOR = 145,
|
||
FIXED_ENTEI_CHALLENGE_FLOOR = 146,
|
||
FIXED_RAIKOU_CHALLENGE_FLOOR = 147,
|
||
FIXED_SUICUNE_CHALLENGE_FLOOR = 148,
|
||
FIXED_STAR_CAVE_PIT = 149,
|
||
FIXED_CHALLENGE_LETTER_FLOOR_1 = 150,
|
||
FIXED_CHALLENGE_LETTER_FLOOR_2 = 151,
|
||
FIXED_CHALLENGE_LETTER_FLOOR_3 = 152,
|
||
FIXED_CHALLENGE_LETTER_FLOOR_4 = 153,
|
||
FIXED_CHALLENGE_LETTER_FLOOR_5 = 154,
|
||
FIXED_UNUSED_0x9B = 155,
|
||
FIXED_UNUSED_0x9C = 156,
|
||
FIXED_UNUSED_0x9D = 157,
|
||
FIXED_UNUSED_0x9E = 158,
|
||
FIXED_UNUSED_0x9F = 159,
|
||
FIXED_OUTLAW_TEAM_FLOOR_1 = 160,
|
||
FIXED_OUTLAW_TEAM_FLOOR_2 = 161,
|
||
FIXED_OUTLAW_TEAM_FLOOR_3 = 162,
|
||
FIXED_OUTLAW_TEAM_FLOOR_4 = 163,
|
||
FIXED_OUTLAW_TEAM_FLOOR_5 = 164,
|
||
FIXED_SEALED_CHAMBER = 165,
|
||
FIXED_UNUSED_0xA6 = 166,
|
||
FIXED_UNUSED_0xA7 = 167,
|
||
FIXED_UNUSED_0xA8 = 168,
|
||
FIXED_UNUSED_0xA9 = 169,
|
||
FIXED_CLEAR_SILK_CHAMBER = 170,
|
||
FIXED_ORANGE_SILK_CHAMBER = 171,
|
||
FIXED_GREEN_SILK_CHAMBER = 172,
|
||
FIXED_IRON_SILK_CHAMBER = 173,
|
||
FIXED_JOY_SEED_CHAMBER_6X = 174,
|
||
FIXED_FRIEND_BOW_CHAMBER = 175,
|
||
FIXED_PINK_SILK_CHAMBER = 176,
|
||
FIXED_GRAY_SILK_CHAMBER = 177,
|
||
FIXED_PURPLE_SILK_CHAMBER = 178,
|
||
FIXED_JOY_SEED_CHAMBER_1X = 179,
|
||
FIXED_ROYAL_SILK_CHAMBER = 180,
|
||
FIXED_MIRACLE_CHEST_CHAMBER = 181,
|
||
FIXED_BROWN_SILK_CHAMBER = 182,
|
||
FIXED_SKY_SILK_CHAMBER = 183,
|
||
FIXED_GOLD_SILK_CHAMBER = 184,
|
||
FIXED_BLACK_SILK_CHAMBER = 185,
|
||
FIXED_JOY_SEED_CHAMBER_2X = 186,
|
||
FIXED_WONDER_GUMMI_CHAMBER = 187,
|
||
FIXED_ITEM_CHAMBER_1 = 188,
|
||
FIXED_ITEM_CHAMBER_2 = 189,
|
||
FIXED_WONDER_CHEST_CHAMBER = 190,
|
||
FIXED_RED_SILK_CHAMBER = 191,
|
||
FIXED_BLUE_SILK_CHAMBER = 192,
|
||
FIXED_GRASS_SILK_CHAMBER = 193,
|
||
FIXED_YELLOW_SILK_CHAMBER = 194,
|
||
FIXED_REVIVER_SEED_CHAMBER_1 = 195,
|
||
FIXED_REVIVER_SEED_CHAMBER_2 = 196,
|
||
FIXED_EMPTY_SEALED_CHAMBER = 197,
|
||
FIXED_UNUSED_0xC6 = 198,
|
||
FIXED_UNUSED_0xC7 = 199,
|
||
FIXED_UNUSED_0xC8 = 200,
|
||
FIXED_UNUSED_0xC9 = 201,
|
||
FIXED_UNUSED_0xCA = 202,
|
||
FIXED_UNUSED_0xCB = 203,
|
||
FIXED_UNUSED_0xCC = 204,
|
||
FIXED_UNUSED_0xCD = 205,
|
||
FIXED_UNUSED_0xCE = 206,
|
||
FIXED_UNUSED_0xCF = 207,
|
||
FIXED_UNUSED_0xD0 = 208,
|
||
FIXED_UNUSED_0xD1 = 209,
|
||
FIXED_UNUSED_0xD2 = 210,
|
||
FIXED_UNUSED_0xD3 = 211,
|
||
FIXED_UNUSED_0xD4 = 212,
|
||
FIXED_UNUSED_0xD5 = 213,
|
||
FIXED_UNUSED_0xD6 = 214,
|
||
FIXED_UNUSED_0xD7 = 215,
|
||
FIXED_UNUSED_0xD8 = 216,
|
||
FIXED_UNUSED_0xD9 = 217,
|
||
FIXED_UNUSED_0xDA = 218,
|
||
FIXED_UNUSED_0xDB = 219,
|
||
FIXED_LEGENDARY_EXCLUSIVE_CHAMBER_1 = 220,
|
||
FIXED_LEGENDARY_EXCLUSIVE_CHAMBER_2 = 221,
|
||
FIXED_LEGENDARY_EXCLUSIVE_CHAMBER_3 = 222,
|
||
FIXED_LEGENDARY_EXCLUSIVE_CHAMBER_4 = 223,
|
||
FIXED_LEGENDARY_EXCLUSIVE_CHAMBER_5 = 224,
|
||
FIXED_LEGENDARY_EXCLUSIVE_CHAMBER_6 = 225,
|
||
FIXED_LEGENDARY_EXCLUSIVE_CHAMBER_7 = 226,
|
||
FIXED_LEGENDARY_EXCLUSIVE_CHAMBER_8 = 227,
|
||
FIXED_LEGENDARY_EXCLUSIVE_CHAMBER_9 = 228,
|
||
FIXED_LEGENDARY_EXCLUSIVE_CHAMBER_10 = 229,
|
||
FIXED_UNUSED_0xE6 = 230,
|
||
FIXED_UNUSED_0xE7 = 231,
|
||
FIXED_UNUSED_0xE8 = 232,
|
||
FIXED_UNUSED_0xE9 = 233,
|
||
FIXED_UNUSED_0xEA = 234,
|
||
FIXED_UNUSED_0xEB = 235,
|
||
FIXED_UNUSED_0xEC = 236,
|
||
FIXED_UNUSED_0xED = 237,
|
||
FIXED_UNUSED_0xEE = 238,
|
||
FIXED_UNUSED_0xEF = 239,
|
||
FIXED_UNUSED_0xF0 = 240,
|
||
FIXED_UNUSED_0xF1 = 241,
|
||
FIXED_UNUSED_0xF2 = 242,
|
||
FIXED_UNUSED_0xF3 = 243,
|
||
FIXED_UNUSED_0xF4 = 244,
|
||
FIXED_UNUSED_0xF5 = 245,
|
||
FIXED_UNUSED_0xF6 = 246,
|
||
FIXED_UNUSED_0xF7 = 247,
|
||
FIXED_UNUSED_0xF8 = 248,
|
||
FIXED_UNUSED_0xF9 = 249,
|
||
FIXED_UNUSED_0xFA = 250,
|
||
FIXED_UNUSED_0xFB = 251,
|
||
FIXED_UNUSED_0xFC = 252,
|
||
FIXED_UNUSED_0xFD = 253,
|
||
FIXED_UNUSED_0xFE = 254,
|
||
FIXED_UNUSED_0xFF = 255,
|
||
};
|
||
|
||
// The cause of a monster taking damage, not including the move case.
|
||
// These codes should all be greater than any move ID.
|
||
// Some of the values are used as faint reasons or on the "The Last Outing" screen
|
||
// rather than as damage sources.
|
||
enum damage_source_non_move {
|
||
DAMAGE_SOURCE_TRANSFORM_FRIEND = 563, // "was transformed into a friend"
|
||
DAMAGE_SOURCE_NOT_BEFRIENDED = 564, // "left without being befriended"
|
||
DAMAGE_SOURCE_DEBUG_ATTACK = 565,
|
||
DAMAGE_SOURCE_JUMP_KICK = 566,
|
||
DAMAGE_SOURCE_HI_JUMP_KICK = 567,
|
||
DAMAGE_SOURCE_DESTINY_BOND = 568,
|
||
DAMAGE_SOURCE_SLUDGE = 569,
|
||
DAMAGE_SOURCE_POWERFUL_MOVE_1 = 570,
|
||
DAMAGE_SOURCE_POWERFUL_MOVE_2 = 571,
|
||
DAMAGE_SOURCE_RECOIL = 572,
|
||
DAMAGE_SOURCE_SPLASH = 573,
|
||
DAMAGE_SOURCE_ENERGY = 574, // "an enemy's pent-up energy"
|
||
DAMAGE_SOURCE_POWERFUL_MOVE_3 = 575,
|
||
DAMAGE_SOURCE_POWERFUL_MOVE_4 = 576,
|
||
DAMAGE_SOURCE_POWERFUL_MOVE_5 = 577,
|
||
DAMAGE_SOURCE_POWERFUL_MOVE_6 = 578,
|
||
DAMAGE_SOURCE_POWERFUL_MOVE_7 = 579,
|
||
DAMAGE_SOURCE_POWERFUL_MOVE_8 = 580,
|
||
DAMAGE_SOURCE_SPIKES = 581,
|
||
DAMAGE_SOURCE_DEBUG_DAMAGE = 582,
|
||
DAMAGE_SOURCE_BURN = 583,
|
||
DAMAGE_SOURCE_CONSTRICTION = 584,
|
||
DAMAGE_SOURCE_POISON = 585,
|
||
DAMAGE_SOURCE_WRAP = 586,
|
||
DAMAGE_SOURCE_CURSE = 587,
|
||
DAMAGE_SOURCE_LEECH_SEED = 588,
|
||
DAMAGE_SOURCE_PERISH_SONG = 589,
|
||
DAMAGE_SOURCE_NIGHTMARE = 590,
|
||
DAMAGE_SOURCE_THROWN_ROCK = 591,
|
||
DAMAGE_SOURCE_HUNGER = 592,
|
||
DAMAGE_SOURCE_EXPLODED = 593, // I think this one is only used for the monster that explodes.
|
||
// Other monsters that are hit by the explosion use
|
||
// DAMAGE_SOURCE_EXPLOSION.
|
||
DAMAGE_SOURCE_CHESTNUT_TRAP = 594,
|
||
DAMAGE_SOURCE_TRAP = 595,
|
||
DAMAGE_SOURCE_PITFALL_TRAP = 596,
|
||
DAMAGE_SOURCE_BLAST_SEED = 597,
|
||
DAMAGE_SOURCE_THROWN_ITEM = 598,
|
||
DAMAGE_SOURCE_TRANSFORM_ITEM = 599,
|
||
DAMAGE_SOURCE_KNOCKED_FLYING = 600,
|
||
DAMAGE_SOURCE_FLYING_MONSTER = 601,
|
||
DAMAGE_SOURCE_GAVE_UP = 602, // "gave up the exploration"
|
||
DAMAGE_SOURCE_DELETED = 603, // "was deleted for the sake of an event"
|
||
DAMAGE_SOURCE_WENT_AWAY = 604, // "went away"
|
||
DAMAGE_SOURCE_UNSEEN_FORCE = 605,
|
||
DAMAGE_SOURCE_PARTNER_FAINTED = 606, // "returned with the fallen partner"
|
||
DAMAGE_SOURCE_WEATHER = 607,
|
||
DAMAGE_SOURCE_POSSESS = 608,
|
||
DAMAGE_SOURCE_CLIENT_FAINTED = 609, // "failed to protect the client Pokémon"
|
||
DAMAGE_SOURCE_ITEM_ORB = 610,
|
||
DAMAGE_SOURCE_ITEM_NON_ORB = 611,
|
||
DAMAGE_SOURCE_UNK612 = 612, // "-"
|
||
DAMAGE_SOURCE_ESCORT_FAINTED = 613, // "failed to escort the client Pokémon"
|
||
DAMAGE_SOURCE_OTHER_MONSTER_FAINTED = 614, // "returned with the fallen [string:2]"
|
||
DAMAGE_SOURCE_BIDOOF_FAINTED = 615,
|
||
DAMAGE_SOURCE_GROVYLE_FAINTED = 616,
|
||
DAMAGE_SOURCE_CELEBI_FAINTED = 617,
|
||
DAMAGE_SOURCE_CHATOT_FAINTED = 618,
|
||
DAMAGE_SOURCE_CRESSELIA_FAINTED = 619,
|
||
DAMAGE_SOURCE_TOXIC_SPIKES = 620,
|
||
DAMAGE_SOURCE_STEALTH_ROCK = 621,
|
||
DAMAGE_SOURCE_BAD_DREAMS = 622,
|
||
DAMAGE_SOURCE_EXPLOSION = 623,
|
||
DAMAGE_SOURCE_OREN_BERRY = 624,
|
||
DAMAGE_SOURCE_DUMMY_625 = 625,
|
||
DAMAGE_SOURCE_DUMMY_626 = 626,
|
||
DAMAGE_SOURCE_DUMMY_627 = 627,
|
||
DAMAGE_SOURCE_DUMMY_628 = 628,
|
||
DAMAGE_SOURCE_DUMMY_629 = 629,
|
||
DAMAGE_SOURCE_DUMMY_630 = 630,
|
||
DAMAGE_SOURCE_DUMMY_631 = 631,
|
||
DAMAGE_SOURCE_DUMMY_632 = 632,
|
||
DAMAGE_SOURCE_ESCAPE = 633, // "Escaped in the middle of exploration"
|
||
DAMAGE_SOURCE_DUNGEON_CLEAR = 634, // "cleared the dungeon"
|
||
DAMAGE_SOURCE_RESCUE_SUCCESS = 635, // "succeeded in the rescue mission"
|
||
DAMAGE_SOURCE_MISSION_COMPLETE = 636, // "completed a mission! Impressive!"
|
||
DAMAGE_SOURCE_BEFRIEND_MEW = 637, // "befriended [CS:N]Mew[CR]!"
|
||
};
|
||
|
||
union damage_source {
|
||
enum move_id move;
|
||
enum damage_source_non_move other;
|
||
};
|
||
|
||
// Weather ID
|
||
enum weather_id {
|
||
WEATHER_CLEAR = 0,
|
||
WEATHER_SUNNY = 1,
|
||
WEATHER_SANDSTORM = 2,
|
||
WEATHER_CLOUDY = 3,
|
||
WEATHER_RAIN = 4,
|
||
WEATHER_HAIL = 5,
|
||
WEATHER_FOG = 6,
|
||
WEATHER_SNOW = 7,
|
||
WEATHER_RANDOM = 8,
|
||
};
|
||
|
||
// Floor layout type during floor generation
|
||
enum floor_layout {
|
||
LAYOUT_LARGE = 0,
|
||
LAYOUT_SMALL = 1,
|
||
LAYOUT_ONE_ROOM_MONSTER_HOUSE = 2,
|
||
LAYOUT_OUTER_RING = 3,
|
||
LAYOUT_CROSSROADS = 4,
|
||
LAYOUT_TWO_ROOMS_WITH_MONSTER_HOUSE = 5,
|
||
LAYOUT_LINE = 6,
|
||
LAYOUT_CROSS = 7,
|
||
LAYOUT_LARGE_0x8 = 8,
|
||
LAYOUT_BEETLE = 9,
|
||
LAYOUT_OUTER_ROOMS = 10,
|
||
LAYOUT_MEDIUM = 11,
|
||
LAYOUT_UNUSED_0xC = 12,
|
||
LAYOUT_UNUSED_0xD = 13,
|
||
LAYOUT_UNUSED_0xE = 14,
|
||
LAYOUT_UNUSED_0xF = 15,
|
||
};
|
||
|
||
// Trap ID
|
||
enum trap_id {
|
||
TRAP_NULL_TRAP = 0,
|
||
TRAP_MUD_TRAP = 1,
|
||
TRAP_STICKY_TRAP = 2,
|
||
TRAP_GRIMY_TRAP = 3,
|
||
TRAP_SUMMON_TRAP = 4,
|
||
TRAP_PITFALL_TRAP = 5,
|
||
TRAP_WARP_TRAP = 6,
|
||
TRAP_GUST_TRAP = 7,
|
||
TRAP_SPIN_TRAP = 8,
|
||
TRAP_SLUMBER_TRAP = 9,
|
||
TRAP_SLOW_TRAP = 10,
|
||
TRAP_SEAL_TRAP = 11,
|
||
TRAP_POISON_TRAP = 12,
|
||
TRAP_SELFDESTRUCT_TRAP = 13,
|
||
TRAP_EXPLOSION_TRAP = 14,
|
||
TRAP_PP_ZERO_TRAP = 15,
|
||
TRAP_CHESTNUT_TRAP = 16,
|
||
TRAP_WONDER_TILE = 17,
|
||
TRAP_POKEMON_TRAP = 18,
|
||
TRAP_SPIKED_TILE = 19,
|
||
TRAP_STEALTH_ROCK = 20,
|
||
TRAP_TOXIC_SPIKES = 21,
|
||
TRAP_TRIP_TRAP = 22,
|
||
TRAP_RANDOM_TRAP = 23,
|
||
TRAP_GRUDGE_TRAP = 24,
|
||
// Used in fixed room data to indicate that a trap shouldn't be placed on the current tile
|
||
// Also used to indicate a random non-wonder tile trap should be selected instead during play
|
||
TRAP_NONE = 25,
|
||
TRAP_0x1A = 26,
|
||
TRAP_0x1B = 27,
|
||
TRAP_0x1C = 28,
|
||
TRAP_0x1D = 29,
|
||
TRAP_0x1E = 30,
|
||
TRAP_0x1F = 31,
|
||
// Behaves identically to a normal pitfall trap, but uses the sprite where the grate is
|
||
// already broken. TRAP_PITFALL_TRAP becomes this one when something falls through.
|
||
TRAP_BROKEN_PITFALL_TRAP = 32,
|
||
};
|
||
|
||
// The type of hidden stairs (i.e. where it leads), if present
|
||
enum hidden_stairs_type {
|
||
HIDDEN_STAIRS_NONE = 0,
|
||
HIDDEN_STAIRS_SECRET_BAZAAR = 1,
|
||
HIDDEN_STAIRS_SECRET_ROOM = 2,
|
||
HIDDEN_STAIRS_RANDOM_SECRET_BAZAAR_OR_SECRET_ROOM = 255,
|
||
HIDDEN_STAIRS_PADDING = 0xffffffff,
|
||
};
|
||
|
||
// Used to determine which version of a dungeon to load.
|
||
enum game_id {
|
||
GAME_SKY = 0,
|
||
GAME_TIME = 1,
|
||
GAME_DARKNESS = 2,
|
||
GAME_PADDING = 0xffffffff,
|
||
};
|
||
|
||
// Objective while in a dungeon
|
||
enum dungeon_objective {
|
||
OBJECTIVE_STORY = 0, // This dungeon visit is part of the story
|
||
OBJECTIVE_NORMAL = 1,
|
||
OBJECTIVE_RESCUE = 2, // Rescuing another player
|
||
OBJECTIVE_UNK_GAME_MODE_5 = 3, // $GAME_MODE == 5 when entering the dungeon
|
||
};
|
||
|
||
// Move category
|
||
enum move_category {
|
||
CATEGORY_PHYSICAL = 0,
|
||
CATEGORY_SPECIAL = 1,
|
||
CATEGORY_STATUS = 2,
|
||
CATEGORY_NONE = 3, // this is a guess
|
||
};
|
||
|
||
enum type_matchup {
|
||
MATCHUP_IMMUNE = 0,
|
||
MATCHUP_NOT_VERY_EFFECTIVE = 1,
|
||
MATCHUP_NEUTRAL = 2,
|
||
MATCHUP_SUPER_EFFECTIVE = 3,
|
||
};
|
||
|
||
// List of reasons why you can get forcefully kicked out of a dungeon
|
||
enum forced_loss_reason {
|
||
FORCED_LOSS_NONE = 0, // You don't have to get kicked out of the dungeon
|
||
FORCED_LOSS_PARTNER_FAINTED = 1, // Your partner fainted (before postgame)
|
||
FORCED_LOSS_CLIENT_FAINTED = 2, // Your client fainted
|
||
FORCED_LOSS_ESCORT_FAINTED = 3, // The client you had to escort fainted
|
||
// "Your client [name:0] couldn't join you. Let's return to Treasure Town."
|
||
FORCED_LOSS_CLIENT_CANT_JOIN = 4,
|
||
FORCED_LOSS_PADDING = 0xffffffff,
|
||
};
|
||
|
||
// IQ skill ID. These are usually encoded as bitvectors.
|
||
enum iq_skill_id {
|
||
IQ_NONE = 0,
|
||
IQ_TYPE_ADVANTAGE_MASTER = 1,
|
||
IQ_ITEM_CATCHER = 2,
|
||
IQ_COURSE_CHECKER = 3,
|
||
IQ_SURE_HIT_ATTACKER = 4,
|
||
IQ_QUICK_DODGER = 5,
|
||
IQ_PP_CHECKER = 6,
|
||
IQ_NONTRAITOR = 7,
|
||
IQ_STATUS_CHECKER = 8,
|
||
IQ_EXP_GO_GETTER = 9,
|
||
IQ_EFFICIENCY_EXPERT = 10,
|
||
IQ_WEAK_TYPE_PICKER = 11,
|
||
IQ_ALL_TERRAIN_HIKER = 12,
|
||
IQ_ABSOLUTE_MOVER = 13,
|
||
IQ_TRAP_AVOIDER = 14,
|
||
IQ_HOUSE_AVOIDER = 15,
|
||
IQ_ENERGY_SAVER = 16,
|
||
IQ_NONSLEEPER = 17,
|
||
IQ_SELF_CURER = 18,
|
||
IQ_TRAP_SEER = 19,
|
||
IQ_LAVA_EVADER = 20,
|
||
IQ_DEDICATED_TRAVELER = 21,
|
||
IQ_ITEM_MASTER = 22,
|
||
IQ_EXCLUSIVE_MOVE_USER = 23,
|
||
IQ_ESCAPIST = 24,
|
||
IQ_LOCK_PICKER = 25,
|
||
IQ_STAIR_SENSOR = 26,
|
||
IQ_COIN_WATCHER = 27,
|
||
IQ_EXP_ELITE = 28,
|
||
IQ_SHARPSHOOTER = 29,
|
||
IQ_FAST_FRIEND = 30,
|
||
IQ_PP_SAVER = 31,
|
||
IQ_BODYGUARD = 32,
|
||
IQ_CAUTIOUS_CREEPER = 33,
|
||
IQ_AGGRESSOR = 34,
|
||
IQ_DEFENDER = 35,
|
||
IQ_INTIMIDATOR = 36,
|
||
IQ_SURVIVALIST = 37,
|
||
IQ_TRAP_BUSTER = 38,
|
||
IQ_COUNTER_HITTER = 39,
|
||
IQ_EXTRA_STRIKER = 40,
|
||
IQ_HIT_AND_RUNNER = 41,
|
||
IQ_PARRY_EXPERT = 42,
|
||
IQ_QUICK_STRIKER = 43,
|
||
IQ_NO_CHARGER = 44,
|
||
IQ_WARY_FIGHTER = 45,
|
||
IQ_GAP_PROBER = 46,
|
||
IQ_POWER_PITCHER = 47,
|
||
IQ_CONCENTRATOR = 48,
|
||
IQ_COUNTER_BASHER = 49,
|
||
IQ_CHEERLEADER = 50,
|
||
IQ_NATURE_GIFTER = 51,
|
||
IQ_WISE_HEALER = 52,
|
||
IQ_QUICK_HEALER = 53,
|
||
IQ_ACUTE_SNIFFER = 54,
|
||
IQ_DEEP_BREATHER = 55,
|
||
IQ_BRICK_TOUGH = 56,
|
||
IQ_MULTITALENT = 57,
|
||
IQ_TIME_TRIPPER = 58,
|
||
IQ_ERRATIC_PLAYER = 59,
|
||
IQ_PRACTICE_SWINGER = 60,
|
||
IQ_NO_DEFEATIST = 61,
|
||
IQ_HAGGLER = 62,
|
||
IQ_CLUTCH_PERFORMER = 63,
|
||
IQ_CRITICAL_DODGER = 64,
|
||
IQ_MAP_SURVEYOR = 65,
|
||
IQ_PIERCE_HURLER = 66,
|
||
IQ_COLLECTOR = 67,
|
||
IQ_TRUE_POWERIST = 68,
|
||
IQ_NONE_2 = 255,
|
||
};
|
||
|
||
enum movement_flag
|
||
{
|
||
MOVEMENT_FLAG_SWAPPING_PLACES = 1 << 5,
|
||
MOVEMENT_FLAG_WALKING = 1 << 9,
|
||
MOVEMENT_FLAG_UNK_14 = 1 << 14,
|
||
MOVEMENT_FLAG_SWAPPING_PLACES_PETRIFIED_ALLY = 1 << 15, // Set if the Pokémon is petrified and the leader cures them by swapping places.
|
||
};
|
||
|
||
// Mobility types for monsters
|
||
enum mobility_type {
|
||
MOBILITY_NORMAL = 0,
|
||
// This is unused within the monster data in monster.md, but is probably used in dungeons
|
||
// with a meaning that's dependent on what the secondary terrain type is
|
||
// (either MOBILITY_LAVA or MOBILITY_WATER).
|
||
MOBILITY_SECONDARY = 1,
|
||
MOBILITY_HOVERING = 2,
|
||
MOBILITY_INTANGIBLE = 3,
|
||
MOBILITY_LAVA = 4,
|
||
MOBILITY_WATER = 5,
|
||
NUM_MOBILITY_TYPES
|
||
};
|
||
|
||
enum wan_source_type {
|
||
WAN_SOURCE_NULL = 0,
|
||
WAN_SOURCE_FILE = 1, // Directly loaded from a .wan
|
||
WAN_SOURCE_PACK = 2, // Loaded from a pack file
|
||
};
|
||
|
||
enum pack_file_id {
|
||
PACK_ARCHIVE_MONSTER = 0,
|
||
PACK_ARCHIVE_M_ATTACK = 1,
|
||
PACK_ARCHIVE_M_GROUND = 2,
|
||
PACK_ARCHIVE_EFFECT = 3,
|
||
PACK_ARCHIVE_DUNGEON = 4,
|
||
PACK_ARCHIVE_M_LEVEL = 5,
|
||
};
|
||
|
||
enum dungeon_restriction_flags {
|
||
DUNGEON_ASCENDS = 1 << 0, // 0 if dungeon goes down, 1 if it goes up
|
||
ENEMIES_CAN_EVOLVE = 1 << 1,
|
||
GRANT_XP = 1 << 2, // when defeating enemies
|
||
ALLOW_RECRUITING = 1 << 3,
|
||
RESET_TEAM_LEVEL_TO_1 = 1 << 4, // when entering
|
||
KEEP_MONEY_ON_ENTRY = 1 << 5, // 0 if money is lost when entering
|
||
ALLOW_LEADER_CHANGE = 1 << 6,
|
||
NO_SAVE_ON_ENTRY = 1 << 7,
|
||
DISABLE_IQ_SKILLS = 1 << 8,
|
||
TRAPS_STAY_HIDDEN_ON_ATTACK = 1 << 9, // true if traps remain invisible when attacked / item-thrown
|
||
ENEMIES_DROP_CHESTS = 1 << 10
|
||
// Remaining flags are unused
|
||
};
|
||
|
||
enum script_var_type {
|
||
VARTYPE_NONE = 0,
|
||
VARTYPE_BIT = 1,
|
||
// VARTYPE_STRING is an array of characters, and implementation-wise are treated exactly the
|
||
// same way as VARTYPE_UINT8
|
||
VARTYPE_STRING = 2,
|
||
VARTYPE_UINT8 = 3,
|
||
VARTYPE_INT8 = 4,
|
||
VARTYPE_UINT16 = 5,
|
||
VARTYPE_INT16 = 6,
|
||
VARTYPE_UINT32 = 7,
|
||
VARTYPE_INT32 = 8,
|
||
VARTYPE_SPECIAL = 9,
|
||
// This dummy value ensures compilation that matches the original assembly.
|
||
// Without it, the compiler reads the enum using ldrb instead of ldrsh
|
||
VARTYPE_DUMMY_PADDING = 256
|
||
};
|
||
|
||
// Predefined variables available to the script engine.
|
||
// Also see struct script_var_value_table, where the corresponding values for these variables are
|
||
// stored.
|
||
// TODO: replace raw address references with actual symbol names
|
||
enum script_var_id {
|
||
// Its only purpose is to be checked at [NA]0x204C448, which compares the saved value to the
|
||
// default value in the script variable table (which is 1 in base game). If the values are not
|
||
// equal, then the save file is treated as corrupted, which thus gets deleted.
|
||
VAR_VERSION = 0,
|
||
// Seemingly unused?
|
||
VAR_CONDITION = 1,
|
||
// Two indexed values determined via the Top Menu. These are referenced by Unionall for general
|
||
// control flow.
|
||
// To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which
|
||
// checks for these indexed values. In doing so, the game knows when to load scripts from
|
||
// maingame, a Special Episode, or Rescue mode.
|
||
VAR_SCENARIO_SELECT = 2,
|
||
// Two indexed values used for maingame story progression. Typically, the first value represents
|
||
// the chapter, and the second represents a subsection of that chapter.
|
||
// This is referenced everywhere in maingame scripts and Unionall. It's especially notable in
|
||
// deciding which NPCs to spawn in certain overworld sections, deciding which cutscene to load
|
||
// after a dungeon loss, and various other control flow purposes. Used EXTENSIVELY in
|
||
// EVENT_DIVIDE and other related coroutines.
|
||
VAR_SCENARIO_MAIN = 3,
|
||
// Two indexed values used for Special Episode story progression. Very similar to SCENARIO_MAIN,
|
||
// but used on a much smaller scale.
|
||
VAR_SCENARIO_SIDE = 4,
|
||
VAR_SCENARIO_SUB1 = 5,
|
||
VAR_SCENARIO_SUB2 = 6,
|
||
VAR_SCENARIO_SUB3 = 7,
|
||
VAR_SCENARIO_SUB4 = 8,
|
||
VAR_SCENARIO_SUB5 = 9,
|
||
VAR_SCENARIO_SUB6 = 10,
|
||
VAR_SCENARIO_SUB7 = 11,
|
||
VAR_SCENARIO_SUB8 = 12,
|
||
// Three bitflags used in Special Episode 2. They're initialized to 0 when Special Episode 2
|
||
// begins and set to 1 when Igglybuff talks to each of his neighbors (Wooper, Smoochum, and
|
||
// Budew) at the start of the Special Episode.
|
||
VAR_SIDE02_TALK = 13,
|
||
// Three bitflags used in Special Episode 4. They're initialized to 0 when Special Episode 4
|
||
// begins and set to 1 upon exiting the Limestone Cavern paths.
|
||
VAR_SIDE06_ROOM = 14,
|
||
// A bitflag used in Special Episode 5. It's initialized to 0 when Special Episode 5 begins and
|
||
// is set to 1 after losing to the Barren Valley Clearing boss.
|
||
VAR_SIDE08_BOSS2ND = 15,
|
||
// A bitflag used in Special Episode 1. It's initialized to 0 when Special Episode 1 begins and
|
||
// is set to 1 after losing to the Deep Star Cave boss.
|
||
VAR_SIDE01_BOSS2ND = 16,
|
||
// 128 bitflags used across maingame and Special Episodes. They all serve a variety of purposes,
|
||
// but some of the most notable ones include:
|
||
// 3: The player lost in a dungeon (SCENARIO)
|
||
// 4: The player lost in a dungeon (REQUEST)
|
||
// 6: The game was saved
|
||
// 7: Overworld save
|
||
// 8: Cutscene save
|
||
// 10: Job day
|
||
// 11: Sentry Duty day
|
||
VAR_SCENARIO_MAIN_BIT_FLAG = 17,
|
||
// 256 bitflags used across maingame for a variety of purposes. These are mostly used for
|
||
// Treasure Town shopkeeper NPCs to make sure they don't repeat the same intro text before they
|
||
// open their hard-coded menu.
|
||
VAR_SCENARIO_TALK_BIT_FLAG = 18,
|
||
// Despite the name, this is one integer! This controls a wide variety of game functions, such
|
||
// as bag size, Treasure Box spawns, and spawn threshold (i.e. enemies can only spawn when this
|
||
// variable is greater than or equal to a certain value).
|
||
// Also see GetScenarioBalance.
|
||
VAR_SCENARIO_BALANCE_FLAG = 19,
|
||
// This shares the same features as SCENARIO_BALANCE_FLAG and actually takes priority over it in
|
||
// maingame if this is greater than or equal to 0. Nevertheless, we're fairly certain this is
|
||
// unused in the base game.
|
||
// Also see GetScenarioBalance.
|
||
VAR_SCENARIO_BALANCE_DEBUG = 20,
|
||
// The following 3 variables are used in the Crystal Cave overworld puzzle when a crystal
|
||
// changes color.
|
||
VAR_CRYSTAL_COLOR_01 = 21,
|
||
VAR_CRYSTAL_COLOR_02 = 22,
|
||
VAR_CRYSTAL_COLOR_03 = 23,
|
||
// Used to identify a cutscene save in the maingame. While SCENARIO_MAIN_BIT_FLAG[6] and
|
||
// SCENARIO_MAIN_BIT_FLAG[8] together identify that the game has been saved mid-cutscene, this
|
||
// integer marks which part of the game the cutscene save happened in.
|
||
VAR_COMPULSORY_SAVE_POINT = 24,
|
||
// Used to identify a cutscene save in a Special Episode. Acts very similar to
|
||
// COMPULSORY_SAVE_POINT.
|
||
VAR_COMPULSORY_SAVE_POINT_SIDE = 25,
|
||
// Backup storage for two SCENARIO_SELECT values per game mode.
|
||
// When restoring, values for the current game mode are copied back into SCENARIO_SELECT.
|
||
// Layout (grouped by value then mode): Value1: modes 2-5; Value2: modes 2-5.
|
||
VAR_SCENARIO_SELECT_BACKUP = 26,
|
||
// Backup storage for SCENARIO_MAIN_BIT_FLAG each game mode.
|
||
// When restoring, values for the current game mode are copied back into SCENARIO_MAIN_BIT_FLAG.
|
||
// Layout (grouped by mode then value): Mode 2: 128 bits; Mode 3: 128 bits etc
|
||
VAR_SCENARIO_MAIN_BIT_FLAG_BACKUP = 27,
|
||
// The Level ID (see the version-dependent script_level_id_* enums) that the player is in in the
|
||
// overworld.
|
||
VAR_GROUND_ENTER = 28,
|
||
// Set to 0 in Unionall, in the coroutine EVENT_FORMATION. Doesn't seem to update when
|
||
// transitioning to other maps in the overworld, so its true purpose is a bit unknown.
|
||
VAR_GROUND_ENTER_LINK = 29,
|
||
// The Level ID that the player just arrived from. Notoriously relied upon in Enter00 scripts to
|
||
// determine where the player and partner actors should spawn if a map has multiple
|
||
// entrances/exits.
|
||
VAR_GROUND_GETOUT = 30,
|
||
// The Level ID of the currently loaded background. Typically, this shares the same value as
|
||
// GROUND_ENTER, but you could have an instance where you load LEVEL_P01P01A's Enter00 script
|
||
// and have it display LEVEL_P01P03A's background.
|
||
VAR_GROUND_MAP = 31,
|
||
// The World Map Marker ID that determines where the player appears on the Top Screen when
|
||
// selecting "Map and team" in the overworld.
|
||
VAR_GROUND_PLACE = 32,
|
||
// The backup version of GROUND_ENTER saved in the function EventFlagBackup.
|
||
VAR_GROUND_ENTER_BACKUP = 33,
|
||
// The backup version of GROUND_ENTER_LINK saved in the function EventFlagBackup.
|
||
VAR_GROUND_ENTER_LINK_BACKUP = 34,
|
||
// The backup version of GROUND_GETOUT saved in the function EventFlagBackup.
|
||
VAR_GROUND_GETOUT_BACKUP = 35,
|
||
// The backup version of GROUND_MAP saved in the function EventFlagBackup.
|
||
VAR_GROUND_MAP_BACKUP = 36,
|
||
// The backup version of GROUND_PLACE saved in the function EventFlagBackup.
|
||
VAR_GROUND_PLACE_BACKUP = 37,
|
||
// The ID of the dungeon chosen from the crossroads menu. Definitely set in various places, but
|
||
// for sure at [NA]0x22E1DC8 and [NA]0x22DDA78.
|
||
VAR_DUNGEON_SELECT = 38,
|
||
// The ID of the dungeon being entered...sorta. It gets set in various places, and when the
|
||
// dungeon being entered has its mode set to DMODE_OPEN or DMODE_CLOSED (please see
|
||
// DUNGEON_ENTER_MODE for an explanation of dungeon modes), this matches the value of
|
||
// DUNGEON_SELECT. However, other dungeon modes result in it being set to 215 (written at
|
||
// [NA]0x204E848) or even 214 (written at [NA]0x204E8BC, checked at [NA]0x204F1D0).
|
||
// Also, be sure to check out [NA]0x22E8A58 and [NA]0x22DDA88.
|
||
VAR_DUNGEON_ENTER = 39,
|
||
// The "mode" of the dungeon being entered. Each dungeon has an associated "dungeon mode", which
|
||
// if you're familiar with ExplorerScript, you'll know as DMODE_OPEN, DMODE_CLOSED,
|
||
// DMODE_REQUEST, and DMODE_OPEN_AND_REQUEST. This variable stores the dungeon mode, but this is
|
||
// in fact represented by other variables as well.
|
||
// This determines which coroutine to run upon reloading Unionall after a dungeon. DMODE_OPEN
|
||
// and DMODE_CLOSED will make the game start from GETOUT_SCENARIO_DUNGEON, while the other two
|
||
// will result in GETOUT_REQUEST_DUNGEON being run.
|
||
// These modes will also determine if the specified dungeon appears in the crossroads menu.
|
||
// DMODE_OPEN will make the dungeon appear at the crossroads with an exclamation mark next to
|
||
// its name. DMODE_OPEN_AND_REQUEST will make the dungeon visible in the menu, but that's it.
|
||
// Any other modes will not show the dungeon in the menu.
|
||
VAR_DUNGEON_ENTER_MODE = 40,
|
||
// The ID of the dungeon being entered.
|
||
VAR_DUNGEON_ENTER_INDEX = 41,
|
||
// A counter of how many dungeons the player has entered. Incremented by one when a dungeon is
|
||
// exited, regardless of win/loss.
|
||
VAR_DUNGEON_ENTER_FREQUENCY = 42,
|
||
// The result of the dungeon being exited. 8 is a success and anything else is a failure (10 is
|
||
// when the Escape Orb is used). This is somewhat similar to GROUND_START_MODE, but also gets
|
||
// set to different values in the crossroads menu. Mid-dungeon, this is also the ID of the
|
||
// dungeon.
|
||
VAR_DUNGEON_RESULT = 43,
|
||
// The mode set upon entering ground mode. This is set after starting a new game or loading a
|
||
// save, but it's also most notable for being checked in Unionall's GETOUT coroutines to see if
|
||
// the player won or lost in a dungeon. 8 is a success and anything else is a failure (10 is
|
||
// when the Escape Orb is used).
|
||
// It's a bit unknown how this is used outside of exiting dungeons.
|
||
VAR_GROUND_START_MODE = 44,
|
||
// The backup version of DUNGEON_ENTER_BACKUP, which is NOT saved in the function
|
||
// EventFlagBackup...
|
||
VAR_DUNGEON_ENTER_BACKUP = 45,
|
||
// The backup version of DUNGEON_ENTER_MODE saved in the function EventFlagBackup.
|
||
VAR_DUNGEON_ENTER_MODE_BACKUP = 46,
|
||
// The backup version of DUNGEON_ENTER_INDEX saved in the function EventFlagBackup.
|
||
VAR_DUNGEON_ENTER_INDEX_BACKUP = 47,
|
||
// The backup version of DUNGEON_ENTER_FREQUENCY saved in the function EventFlagBackup.
|
||
VAR_DUNGEON_ENTER_FREQUENCY_BACKUP = 48,
|
||
// The backup version of DUNGEON_RESULT saved in the function EventFlagBackup.
|
||
VAR_DUNGEON_RESULT_BACKUP = 49,
|
||
// The backup version of GROUND_START_MODE saved in the function EventFlagBackup.
|
||
VAR_GROUND_START_MODE_BACKUP = 50,
|
||
// The number of Job Requests cleared in a single day. In the base game, Unionall relies on this
|
||
// to decide when to progress the story.
|
||
// One notable read is at [NA]0x22E6D34, which gets this variable's value and checks if it's
|
||
// less than 100. If so, it increments it by one.
|
||
VAR_REQUEST_CLEAR_COUNT = 51,
|
||
// Handles how the player actor (ACTOR_PLAYER and possibly other related actors) will display.
|
||
// 0: Species of Chimecho Assembly entry 0
|
||
// 1: Species of Chimecho Assembly entry 1
|
||
// 2: Nothing
|
||
// 3: Species of the current party leader
|
||
// 4: Species of ACTOR_ATTENDANT_BIPPA
|
||
// 5: Species of ACTOR_ATTENDANT_PUPURIN
|
||
// 6: Species of ACTOR_ATTENDANT_KIMAWARI
|
||
// 7: Species of ACTOR_ATTENDANT_FUTURE
|
||
// 8: Species of ACTOR_ATTENDANT_CHARMS
|
||
// 9+: Nothing
|
||
// Checked at [NA]0x20650E8 and [NA]0x2065188.
|
||
VAR_PLAYER_KIND = 52,
|
||
// Handles how the partner actor (ACTOR_ATTENDANT1 and possibly other related actors) will
|
||
// display. It also notably is checked in the Unionall coroutine TALK_ATTENDANT (when you press
|
||
// R to talk to the partner).
|
||
// 0: Nothing
|
||
// 1: Species of Chimecho Assembly entry 0
|
||
// 2: Species of Chimecho Assembly entry 1
|
||
// 3: Nothing
|
||
// 4: Species of the current party leader
|
||
// 5-9: Nothing
|
||
// 10: Species of ACTOR_ATTENDANT_MANAFI (who moves incredibly slowly)
|
||
// Checked at [NA]0x20651BC and [NA]0x22F7EEC.
|
||
VAR_ATTENDANT1_KIND = 53,
|
||
// Handles how the second partner actor (ACTOR_ATTENDANT2 and possibly other related actors)
|
||
// will display. If this variable is 10, then ACTOR_ATTENDANT2 will be the species of
|
||
// ACTOR_ATTENDANT_MANAFI. Anything else is nothing.
|
||
// Checked at [NA]0x20651CC.
|
||
VAR_ATTENDANT2_KIND = 54,
|
||
// The backup version of PLAYER_KIND saved in the function EventFlagBackup.
|
||
VAR_PLAYER_KIND_BACKUP = 55,
|
||
// The backup version of ATTENDANT1_KIND, saved in the function EventFlagBackup.
|
||
VAR_ATTENDANT1_KIND_BACKUP = 56,
|
||
// The backup version of ATTENDANT2_KIND, saved in the function EventFlagBackup.
|
||
VAR_ATTENDANT2_KIND_BACKUP = 57,
|
||
VAR_FRIEND_SUM = 58,
|
||
VAR_UNIT_SUM = 59,
|
||
// The amount of money the player has on hand.
|
||
// TODO: This is probably backed by MONEY_CARRIED? Need to confirm.
|
||
VAR_CARRY_GOLD = 60,
|
||
// The amount of money stored in Duskull Bank.
|
||
// TODO: This is probably backed by MONEY_STORED? Need to confirm.
|
||
VAR_BANK_GOLD = 61,
|
||
// The species ID of the initial starter. Saved at [NA]0x2048868, which is done by the special
|
||
// process INIT_MAIN_TEAM_AFTER_QUIZ.
|
||
// This remains unchanged even if Chimecho Assembly entry 0 is modified in any way.
|
||
VAR_HERO_FIRST_KIND = 62,
|
||
// The name of the initial starter. Saved at [NA]0x2048878, which is done by the special process
|
||
// INIT_MAIN_TEAM_AFTER_QUIZ.
|
||
// This remains unchanged even if Chimecho Assembly entry 0 is modified in any way.
|
||
VAR_HERO_FIRST_NAME = 63,
|
||
// The species ID of the initial partner. Saved at [NA]0x20488D8, which is done by the special
|
||
// process INIT_MAIN_TEAM_AFTER_QUIZ.
|
||
// This remains unchanged even if Chimecho Assembly entry 1 is modified in any way.
|
||
VAR_PARTNER_FIRST_KIND = 64,
|
||
// The name of the initial partner. Saved at [NA]0x20488E8, which is done by the special process
|
||
// INIT_MAIN_TEAM_AFTER_QUIZ.
|
||
// This remains unchanged even if Chimecho Assembly entry 1 is modified in any way.
|
||
VAR_PARTNER_FIRST_NAME = 65,
|
||
// The "talk kind" of the initial starter, typically used in scripts where the player speaks;
|
||
// see enum talk_kind (4, 5). This is most likely done to differentiate speech patterns between
|
||
// genders (this probably has a purpose in Japanese, just not in English).
|
||
// Saved at [NA]0x204893C, which is done by the special process INIT_MAIN_TEAM_AFTER_QUIZ. This
|
||
// remains unchanged even if Chimecho Assembly entry 0 is modified in any way.
|
||
VAR_HERO_TALK_KIND = 66,
|
||
// The "talk kind" of the initial partner, typically used in scripts where the partner speaks to
|
||
// differentiate speech patterns; see enum talk_kind (1, 2, 3). Unlike HERO_TALK_KIND, there's
|
||
// actually a table that maps starters to certain talk kinds ([NA]0x209CCE4). Each entry
|
||
// consists of a talk kind and a species ID.
|
||
// Saved at [NA]0x204897C, which is done by the special process INIT_MAIN_TEAM_AFTER_QUIZ. This
|
||
// remains unchanged even if Chimecho Assembly entry 1 is modified in any way.
|
||
VAR_PARTNER_TALK_KIND = 67,
|
||
// Determines which species the actor ACTOR_RANDOM_REQUEST_NPC03 will appear as. Saved at
|
||
// [NA]0x2065BA4.
|
||
// True to its name, this variable is randomly generated in the function [NA]0x205EB5C, which is
|
||
// called within GenerateDailyMissions. There also seems to be an exception where the game
|
||
// doesn't generate the species randomly (for Magnemite, maybe).
|
||
VAR_RANDOM_REQUEST_NPC03_KIND = 68,
|
||
// The value of the word at [NA]0x20AFF28. Saved at [NA]0x2048990, which is done by the special
|
||
// process INIT_MAIN_TEAM_AFTER_QUIZ. Changing the variable doesn't seem to do much, so its true
|
||
// purpose is unknown.
|
||
VAR_CONFIG_COLOR_KIND = 69,
|
||
// Its purpose is unknown, but it's initialized to 0 at [NA]0x204B0E4.
|
||
VAR_ROM_VARIATION = 70,
|
||
// The language determined by the NDS firmware. Notably checked in some scripts to display
|
||
// different backgrounds or objects, such as in the intro.
|
||
// 0: Japanese
|
||
// 1: English
|
||
// 2: French
|
||
// 3: German
|
||
// 4: Italian
|
||
// 5: Spanish
|
||
VAR_LANGUAGE_TYPE = 71,
|
||
// A value to distinguish the type of game being played; see enum game_mode and the GAME_MODE
|
||
// data symbol. This mainly differentiates between maingame and Special Episodes, and the game
|
||
// checks for this value in numerous places (not necessarily in scripts) to differentiate
|
||
// maingame versus Special Episode behavior. This can include whether to display the green
|
||
// window color, initializing the current party upon a new game/episode, and many other tasks.
|
||
// The function [NA]0x204B018 sets GAME_MODE to a new value, which gets called in various places
|
||
// within the function [NA]0x2065D1C. It seems dependent on the status code returned by
|
||
// ReadSaveHeader.
|
||
VAR_GAME_MODE = 72,
|
||
// Used to distinguish which Special Episode is currently being played; see enum
|
||
// special_episode_type. Unlike SPECIAL_EPISODE_TYPE, the base game scripts seem to prefer this
|
||
// variable when checking which Special Episode is run.
|
||
// This variable's value is backed by DEBUG_SPECIAL_EPISODE_NUMBER.
|
||
VAR_EXECUTE_SPECIAL_EPISODE_TYPE = 73,
|
||
// Used to distinguish which Special Episode is currently being played. Very similar to
|
||
// EXECUTE_SPECIAL_EPISODE_TYPE, to the point where Adex doesn't know the intricate differences.
|
||
// Probably saved in multiple places, but one notable instance is at [NA]0x204C910.
|
||
VAR_SPECIAL_EPISODE_TYPE = 74,
|
||
// Eight bitflags used to mark if a Special Episode is accessible through the Top Menu. These
|
||
// are set at various points in the game's story in Acting scripts.
|
||
// 0: SE1
|
||
// 1: SE2
|
||
// 2: SE3
|
||
// 3: SE4
|
||
// 4: SE5
|
||
// 5: Unused
|
||
// 6: Unused
|
||
// 7: Unused
|
||
VAR_SPECIAL_EPISODE_OPEN = 75,
|
||
// Eight bitflags that are seemingly related to Special Episodes? We're fairly certain that
|
||
// they're unused, but can't say anything for sure. Gets set as the hero is initalized for the
|
||
// corresponding special episode.
|
||
VAR_SPECIAL_EPISODE_OPEN_OLD = 76,
|
||
// Eight bitflags used to mark if a Special Episode has been beaten. These are typically set in
|
||
// an Acting script.
|
||
// 0: SE1
|
||
// 1: SE2
|
||
// 2: SE3
|
||
// 3: SE4
|
||
// 4: SE5
|
||
// 5: Unused
|
||
// 6: Unused
|
||
// 7: Unused
|
||
// Checked at [NA]0x204CA30.
|
||
VAR_SPECIAL_EPISODE_CONQUEST = 77,
|
||
// 64 bitflags corresponding to various story-based unlocks. Known values:
|
||
// https://docs.google.com/spreadsheets/d/1NK3wkC8mOCu-tVkxULLkhpgPR-glApiD2v3zp-mdW7w
|
||
VAR_PERFORMANCE_PROGRESS_LIST = 78,
|
||
// 256 bitflags used to determine if a dungeon will appear in the crossroads menu. Each bitflag
|
||
// represents a dungeon ID (so 0 is Test Dungeon, 1 is Beach Cave, and so on).
|
||
VAR_DUNGEON_OPEN_LIST = 79,
|
||
// 256 bitflags that supposedly represent each dungeon. Checked at [NA]0x204CEE0. For what
|
||
// purpose? No clue!
|
||
// You'd think that this keeps track of which dungeons you've entered, but that doesn't seem to
|
||
// be the case.
|
||
VAR_DUNGEON_ENTER_LIST = 80,
|
||
// 256 bitflags that supposedly represent each dungeon. For what purpose? No clue!
|
||
VAR_DUNGEON_ARRIVE_LIST = 81,
|
||
// 256 bitflags used to determine if a dungeon has been beaten before. Each bitflag represents a
|
||
// dungeon ID (so 0 is Test Dungeon, 1 is Beach Cave, and so on).
|
||
VAR_DUNGEON_CONQUEST_LIST = 82,
|
||
// 256 bitflags that supposedly represent each dungeon. For what purpose? No clue!
|
||
VAR_DUNGEON_PRESENT_LIST = 83,
|
||
// 256 bitflags used to determine if beating a dungeon will result in the game branching to
|
||
// GETOUT_REQUEST_DUNGEON or GETOUT_SCENARIO_DUNGEON. Each bitflag represents a dungeon ID (so 0
|
||
// is Test Dungeon, 1 is Beach Cave, and so on).
|
||
// To clarify, if a bitflag X from here is set to 0 and DUNGEON_OPEN_LIST[X] is 1, then the
|
||
// dungeon will show with an exclamation mark next to its name. If beaten, the game will start
|
||
// running code in the Unionall coroutine GETOUT_SCENARIO_DUNGEON.
|
||
VAR_DUNGEON_REQUEST_LIST = 84,
|
||
// 320 bitflags used for...something.
|
||
VAR_WORLD_MAP_MARK_LIST_NORMAL = 85,
|
||
// 320 bitflags used for...something.
|
||
VAR_WORLD_MAP_MARK_LIST_SPECIAL = 86,
|
||
// A value used to determine which clouds block certain areas in the level S01P01A. Or it might
|
||
// be more accurate to say "which position of the map will be shown", but the clouds actually
|
||
// have an animation, so there must also be some hard-coded aspect to that level.
|
||
// Saved at [NA]0x204CDF8.
|
||
// Read at [NA]0x204CDD8.
|
||
VAR_WORLD_MAP_LEVEL = 87,
|
||
// The reason why the POSITION variables are even read is because of another command:
|
||
// LoadPosition. This updates an actor, object, or performer’s x, y, height, and direction using
|
||
// those variables
|
||
//
|
||
// Three indexed values used to save the X position of an actor, object, or performer. This
|
||
// value is stored as Pixel << 8.
|
||
// This is only updated via the script command SavePosition, which also updates the other
|
||
// POSITION variables.
|
||
// Saved at [NA]0x22E0E10.
|
||
// Read at [NA]0x22E0D18.
|
||
VAR_POSITION_X = 88,
|
||
// Three indexed values used to save the Y position of an actor, object, or performer. This
|
||
// value is stored as Pixel << 8.
|
||
// This is only updated via the script command SavePosition, which also updates the other
|
||
// POSITION variables.
|
||
// Saved at [NA]0x22E0E28.
|
||
// Read at [NA]0x22E0D30.
|
||
VAR_POSITION_Y = 89,
|
||
// Three indexed values used to save the height of an actor, object, or performer. This value is
|
||
// stored as Pixel << 8.
|
||
// This is only updated via the script command SavePosition, which also updates the other
|
||
// POSITION variables.
|
||
// Saved at [NA]0x22E0E40.
|
||
// Read at [NA]0x22E0D48.
|
||
VAR_POSITION_HEIGHT = 90,
|
||
// Three indexed values used to save the direction of an actor, object, or performer. See enum
|
||
// direction_id.
|
||
// This is only updated via the script command SavePosition, which also updates the other
|
||
// POSITION variables.
|
||
// Saved at [NA]0x22E0E58.
|
||
// Read at [NA]0x22E0D60.
|
||
VAR_POSITION_DIRECTION = 91,
|
||
// A variable used for a variety of purposes. As the name suggests, this is somewhat of a
|
||
// "local" variable, in that the game's convention with this is basically all over the place.
|
||
// Cutscenes often use it when needing to loop an actor's action. Another notable use is
|
||
// deciding which letter the player receives in S00P01A/DOPEN. There are also some writes/reads
|
||
// scattered around the game's code, but they all probably do some equally random shenanigans.
|
||
VAR_EVENT_LOCAL = 92,
|
||
// A variable used for a variety of purposes. Seems to behave similarly to EVENT_LOCAL, but the
|
||
// script engine doesn't use this as often. One notable use is determining the gender of the
|
||
// Heatran you fight (and recruit) at Giant Volcano.
|
||
VAR_DUNGEON_EVENT_LOCAL = 93,
|
||
// 32 bitflags used for...something.
|
||
VAR_STATION_ITEM_STATIC = 94,
|
||
// 32 bitflags used for...something.
|
||
VAR_STATION_ITEM_TEMP = 95,
|
||
// 16 bitflags used for...something.
|
||
VAR_DELIVER_ITEM_STATIC = 96,
|
||
// 16 bitflags used for...something.
|
||
VAR_DELIVER_ITEM_TEMP = 97,
|
||
// 5 bitflags used to conditionally show menu options in Drifblim's Gondola in Sky Peak.
|
||
VAR_BIT_FUWARANTE_LOCAL = 98,
|
||
// The result of a Prize Ticket drawing, which is determined randomly in P01P04A/S30A0601.
|
||
VAR_LOTTERY_RESULT = 99,
|
||
VAR_ITEM_BACKUP = 100,
|
||
VAR_ITEM_BACKUP_KUREKURE = 101,
|
||
VAR_ITEM_BACKUP_TAKE = 102,
|
||
VAR_ITEM_BACKUP_GET = 103,
|
||
VAR_REQUEST_THANKS_RESULT_KIND = 104,
|
||
VAR_REQUEST_THANKS_RESULT_VARIATION = 105,
|
||
// A flag used to determine if Wynaut at Spinda's Cafe should include more recyclable items in
|
||
// the Recycle Shop.
|
||
// Set to 1 at [NA]0x2012078.
|
||
// Set to 0 in the function [NA]0x2011AB8.
|
||
VAR_SUB30_TREASURE_DISCOVER = 106,
|
||
// A flag used to determine if Wynaut at Spinda's Cafe should unlock a dungeon.
|
||
// Set to 1 at [NA]0x2012100.
|
||
// Set to 0 in the function [NA]0x2011AB8.
|
||
VAR_SUB30_SPOT_DISCOVER = 107,
|
||
// Incremented at the Recycle Shop for every item you trade.
|
||
// Read at [NA]0x2012004, which is involved in determining several of the SUB30 flags being set.
|
||
// Set to 0 in the function [NA]0x2011AB8.
|
||
VAR_RECYCLE_COUNT = 108,
|
||
// This determines which dungeon will get unlocked by Wynaut after recycling various times.
|
||
// Specifically, this gets checked in the script P01P04A/S30A0501.
|
||
// Incremented by one at [NA]0x20120F0.
|
||
// Set to 0 in the function [NA]0x2011AB8.
|
||
VAR_SUB30_SPOT_LEVEL = 109,
|
||
VAR_TEAM_RANK_EVENT_LEVEL = 110,
|
||
// The value used to keep track of the player's answer to the Personality Quiz question "Did you
|
||
// play 'Explorers of Time' or 'Explorers of Darkness'?"
|
||
VAR_PLAY_OLD_GAME = 111,
|
||
VAR_NOTE_MODIFY_FLAG = 112,
|
||
VAR_SUB30_PROJECTP = 113,
|
||
VAR_SUM = 114, // This seems to be an end marker or some sort of special variable?
|
||
|
||
// Local variables start at ID 0x400
|
||
VAR_LOCAL0 = 1024,
|
||
VAR_LOCAL1 = 1025,
|
||
VAR_LOCAL2 = 1026,
|
||
VAR_LOCAL3 = 1027,
|
||
};
|
||
|
||
enum special_episode_type {
|
||
EPISODE_NONE = -1,
|
||
EPISODE_BIDOOFS_WISH = 0,
|
||
EPISODE_IGGLYBUFF_THE_PRODIGY = 1,
|
||
EPISODE_TODAYS_OH_MY_GOSH = 2,
|
||
EPISODE_HERE_COMES_TEAM_CHARM = 3,
|
||
EPISODE_IN_THE_FUTURE_OF_DARKNESS = 4,
|
||
NUM_SPECIAL_EPISODES = 5
|
||
};
|
||
|
||
enum game_mode
|
||
{
|
||
GAME_MODE_MENU = 0, // top menu
|
||
GAME_MODE_1 = 1, // also related to special episodes? But 3 is the main one
|
||
GAME_MODE_NORMAL = 2, // normal play, including both overworld/dungeons
|
||
GAME_MODE_SPECIAL_EPISODE = 3, // during special episodes
|
||
// Pelipper Island (and likely also in the dungeon while rescuing, need to confirm)
|
||
GAME_MODE_RESCUE = 4,
|
||
GAME_MODE_5 = 5,
|
||
// Possibly more?
|
||
};
|
||
|
||
enum script_calc_operation {
|
||
CALC_SET = 0,
|
||
CALC_SUB = 1,
|
||
CALC_ADD = 2,
|
||
CALC_MUL = 3,
|
||
CALC_DIV = 4,
|
||
CALC_MOD = 5,
|
||
CALC_AND = 6,
|
||
CALC_OR = 7,
|
||
CALC_XOR = 8,
|
||
CALC_SETBIT = 9,
|
||
CALC_CLEARBIT = 10,
|
||
CALC_RANDOM = 11,
|
||
};
|
||
|
||
// https://docs.google.com/spreadsheets/d/1NK3wkC8mOCu-tVkxULLkhpgPR-glApiD2v3zp-mdW7w
|
||
enum performance_progress_flag
|
||
{
|
||
PERFORMANCE_PROGRESS_FLAG_SHOW_TEAM_NAME = 1,
|
||
PERFORMANCE_PROGRESS_FLAG_RANDOM_MISSION = 3,
|
||
PERFORMANCE_PROGRESS_FLAG_SHOW_POTENTIAL_RECRUITS = 5,
|
||
PERFORMANCE_PROGRESS_FLAG_EVOLUTION_ENABLED = 6,
|
||
PERFORMANCE_PROGRESS_FLAG_LEADER_SWITCH_ENABLED = 7,
|
||
PERFORMANCE_PROGRESS_FLAG_NO_CHATOT_IN_BRINE_CAVE = 25
|
||
};
|
||
|
||
enum compare_operation { // Taken from pmd-red's FlagJudgeOperation
|
||
CMP_TRUE,
|
||
CMP_FALSE,
|
||
CMP_EQ,
|
||
CMP_GT,
|
||
CMP_LT,
|
||
CMP_GE,
|
||
CMP_LE,
|
||
CMP_NE,
|
||
CMP_AND_NONZERO,
|
||
CMP_XOR_NONZERO, // logically identical to CMP_NE
|
||
CMP_BIT_SET,
|
||
};
|
||
|
||
enum top_screen_options {
|
||
TOP_SCREEN_CONTROLS = 0,
|
||
TOP_SCREEN_TEAM_STATS = 1,
|
||
TOP_SCREEN_TEXT_LOG = 2,
|
||
TOP_SCREEN_MAP_AND_TEAM = 3,
|
||
TOP_SCREEN_JOB = 4
|
||
};
|
||
|
||
enum bottom_screen_option {
|
||
BOTTOM_SCREEN_NO_MAP = 0,
|
||
BOTTOM_SCREEN_CLEAR_MAP = 1,
|
||
BOTTOM_SCREEN_SHADED_MAP = 2
|
||
};
|
||
|
||
enum touch_screen_option {
|
||
TOUCH_SCREEN_OFF = 0,
|
||
TOUCH_SCREEN_MENU_ONLY = 1,
|
||
TOUCH_SCREEN_USE_ANYWHERE = 2
|
||
};
|
||
|
||
enum speed_option {
|
||
SPEED_REGULAR = 0,
|
||
SPEED_FAST = 1
|
||
};
|
||
|
||
enum far_off_pals_option {
|
||
FAR_OFF_PALS_SELF = 0,
|
||
FAR_OFF_PALS_LOOK = 1
|
||
};
|
||
|
||
enum dungeon_mode {
|
||
DMODE_CLOSED = 0, // Dungeon is locked and uncleared
|
||
DMODE_OPEN = 1, // Dungeon is unlocked and uncleared
|
||
DMODE_REQUEST = 2, // Dungeon has been cleared, but cannot be directly accessed
|
||
DMODE_OPEN_AND_REQUEST = 3, // Dunegon is unlocked and cleared
|
||
};
|
||
|
||
#endif //PMDSKY_ENUMS_H
|