diff options
author | Cheng Hann Gan <chenghanngan.us@gmail.com> | 2021-09-09 19:22:48 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-09 16:22:48 -0700 |
commit | 8237e29a164211eb2ec4cd161eb4183cc1947fee (patch) | |
tree | 67dc502264b755dc620f56969f3bea68a40b17af /include/constants | |
parent | 4eff1882443b0004d9c9fa4895cdfefdc356565f (diff) |
Defined more in-dungeon structs and enums (#53)
* Defined DungeonEntity
* Rename EntityType enums
* Revert EntityType rename
* Defined more in-dungeon structs and enums
* Added more dungeon global structs/enums
* Prefixed dungeonGlobalData with g
* Fixed compile errors
* Removed some CRLFs
* Fixed compile after merge
* Revert Makefile
* Rename DungeonEntityData.entityType
Co-authored-by: Seth Barberee <seth.barberee@gmail.com>
* Renamed symbols per PR comments
Co-authored-by: Cheng Hann Gan <chenghann_gan@ultimatesoftware.com>
Co-authored-by: Seth Barberee <seth.barberee@gmail.com>
Diffstat (limited to 'include/constants')
-rw-r--r-- | include/constants/ability.h | 84 | ||||
-rw-r--r-- | include/constants/direction.h | 16 | ||||
-rw-r--r-- | include/constants/dungeon.h | 106 | ||||
-rw-r--r-- | include/constants/dungeon_action.h | 44 | ||||
-rw-r--r-- | include/constants/iq_skill.h | 31 | ||||
-rw-r--r-- | include/constants/move.h | 474 | ||||
-rw-r--r-- | include/constants/status.h | 124 | ||||
-rw-r--r-- | include/constants/tactic.h | 19 | ||||
-rw-r--r-- | include/constants/trap.h | 28 | ||||
-rw-r--r-- | include/constants/type.h | 25 |
10 files changed, 951 insertions, 0 deletions
diff --git a/include/constants/ability.h b/include/constants/ability.h new file mode 100644 index 0000000..27f87fc --- /dev/null +++ b/include/constants/ability.h @@ -0,0 +1,84 @@ +#ifndef GUARD_CONSTANTS_ABILITY_H +#define GUARD_CONSTANTS_ABILITY_H + +enum Ability +{ + ABILITY_STENCH = 0x1, + ABILITY_THICK_FAT = 0x2, + ABILITY_RAIN_DISH = 0x3, + ABILITY_DRIZZLE = 0x4, + ABILITY_ARENA_TRAP = 0x5, + ABILITY_INTIMIDATE = 0x6, + ABILITY_ROCK_HEAD = 0x7, + ABILITY_AIR_LOCK = 0x8, + ABILITY_HYPER_CUTTER = 0x9, + ABILITY_SHADOW_TAG = 0xA, + ABILITY_SPEED_BOOST = 0xB, + ABILITY_BATTLE_ARMOR = 0xC, + ABILITY_STURDY = 0xD, + ABILITY_SUCTION_CUPS = 0xE, + ABILITY_CLEAR_BODY = 0xF, + ABILITY_TORRENT = 0x10, + ABILITY_GUTS = 0x11, + ABILITY_ROUGH_SKIN = 0x12, + ABILITY_SHELL_ARMOR = 0x13, + ABILITY_NATURAL_CURE = 0x14, + ABILITY_DAMP = 0x15, + ABILITY_LIMBER = 0x16, + ABILITY_MAGNET_PULL = 0x17, + ABILITY_WHITE_SMOKE = 0x18, + ABILITY_SYNCHRONIZE = 0x19, + ABILITY_OVERGROW = 0x1A, + ABILITY_SWIFT_SWIM = 0x1B, + ABILITY_SAND_STREAM = 0x1C, + ABILITY_SAND_VEIL = 0x1D, + ABILITY_KEEN_EYE = 0x1E, + ABILITY_INNER_FOCUS = 0x1F, + ABILITY_STATIC = 0x20, + ABILITY_SHED_SKIN = 0x21, + ABILITY_HUGE_POWER = 0x22, + ABILITY_VOLT_ABSORB = 0x23, + ABILITY_WATER_ABSORB = 0x24, + ABILITY_FORECAST = 0x25, + ABILITY_SERENE_GRACE = 0x26, + ABILITY_POISON_POINT = 0x27, + ABILITY_TRACE = 0x28, + ABILITY_OBLIVIOUS = 0x29, + ABILITY_TRUANT = 0x2A, + ABILITY_RUN_AWAY = 0x2B, + ABILITY_STICKY_HOLD = 0x2C, + ABILITY_CLOUD_NINE = 0x2D, + ABILITY_ILLUMINATE = 0x2E, + ABILITY_EARLY_BIRD = 0x2F, + ABILITY_HUSTLE = 0x30, + ABILITY_DROUGHT = 0x31, + ABILITY_LIGHTNINGROD = 0x32, + ABILITY_COMPOUNDEYES = 0x33, + ABILITY_MARVEL_SCALE = 0x34, + ABILITY_WONDER_GUARD = 0x35, + ABILITY_INSOMNIA = 0x36, + ABILITY_LEVITATE = 0x37, + ABILITY_PLUS = 0x38, + ABILITY_PRESSURE = 0x39, + ABILITY_LIQUID_OOZE = 0x3A, + ABILITY_COLOR_CHANGE = 0x3B, + ABILITY_SOUNDPROOF = 0x3C, + ABILITY_EFFECT_SPORE = 0x3D, + ABILITY_FLAME_BODY = 0x3E, + ABILITY_MINUS = 0x3F, + ABILITY_OWN_TEMPO = 0x40, + ABILITY_MAGMA_ARMOR = 0x41, + ABILITY_WATER_VEIL = 0x42, + ABILITY_SWARM = 0x43, + ABILITY_CUTE_CHARM = 0x44, + ABILITY_IMMUNITY = 0x45, + ABILITY_BLAZE = 0x46, + ABILITY_PICKUP = 0x47, + ABILITY_FLASH_FIRE = 0x48, + ABILITY_VITAL_SPIRIT = 0x49, + ABILITY_CHLOROPHYLL = 0x4A, + ABILITY_PURE_POWER = 0x4B, + ABILITY_SHIELD_DUST = 0x4C +}; + +#endif diff --git a/include/constants/direction.h b/include/constants/direction.h new file mode 100644 index 0000000..5f2bfb3 --- /dev/null +++ b/include/constants/direction.h @@ -0,0 +1,16 @@ +#ifndef GUARD_CONSTANTS_DIRECTION_H +#define GUARD_CONSTANTS_DIRECTION_H + +enum Direction +{ + DIRECTION_SOUTH, + DIRECTION_SOUTHEAST, + DIRECTION_EAST, + DIRECTION_NORTHEAST, + DIRECTION_NORTH, + DIRECTION_NORTHWEST, + DIRECTION_WEST, + DIRECTION_SOUTHWEST +}; + +#endif diff --git a/include/constants/dungeon.h b/include/constants/dungeon.h new file mode 100644 index 0000000..19f5340 --- /dev/null +++ b/include/constants/dungeon.h @@ -0,0 +1,106 @@ +#ifndef GUARD_CONSTANTS_DUNGEON_H +#define GUARD_CONSTANTS_DUNGEON_H + +enum Dungeon +{ + DUNGEON_TINY_WOODS = 0, + DUNGEON_THUNDERWAVE_CAVE = 1, + DUNGEON_MT_STEEL = 2, + DUNGEON_SINISTER_WOODS = 3, + DUNGEON_SILENT_CHASM = 4, + DUNGEON_MT_THUNDER = 5, + DUNGEON_MT_THUNDER_PEAK = 6, + DUNGEON_GREAT_CANYON = 7, + DUNGEON_LAPIS_CAVE = 8, + DUNGEON_MT_BLAZE = 9, + DUNGEON_MT_BLAZE_PEAK = 10, + DUNGEON_FROSTY_FOREST = 11, + DUNGEON_FROSTY_GROTTO = 12, + DUNGEON_MT_FREEZE = 13, + DUNGEON_MT_FREEZE_PEAK = 14, + DUNGEON_MAGMA_CAVERN = 15, + DUNGEON_MAGMA_CAVERN_PIT = 16, + DUNGEON_SKY_TOWER = 17, + DUNGEON_SKY_TOWER_SUMMIT = 18, + DUNGEON_STORMY_SEA = 19, + DUNGEON_SILVER_TRENCH = 20, + DUNGEON_METEOR_CAVE = 21, + DUNGEON_MT_FREEZE_PEAK_2 = 22, // Duplicate + DUNGEON_WESTERN_CAVE = 23, + DUNGEON_BOSS_3 = 24, + DUNGEON_BOSS_4 = 25, + DUNGEON_WISH_CAVE = 26, + DUNGEON_BURIED_RELIC = 27, + DUNGEON_PITFALL_VALLEY = 28, + DUNGEON_NORTHERN_RANGE = 29, + DUNGEON_BOSS_9 = 30, + DUNGEON_DESERT_REGION = 31, + DUNGEON_SOUTHERN_CAVERN = 32, + DUNGEON_WYVERN_HILL = 33, + DUNGEON_FIERY_FIELD = 34, + DUNGEON_NORTHWIND_FIELD = 35, + DUNGEON_SOLAR_CAVE = 36, + DUNGEON_LIGHTNING_FIELD = 37, + DUNGEON_DARKNIGHT_RELIC = 38, + DUNGEON_WONDROUS_SEA = 39, + DUNGEON_MURKY_CAVE = 40, + DUNGEON_GRAND_SEA = 41, + DUNGEON_UPROAR_FOREST = 42, + DUNGEON_ODDITY_CAVE = 43, + DUNGEON_REMAINS_ISLAND = 44, + DUNGEON_MARVELOUS_SEA = 45, + DUNGEON_FANTASY_STRAIT = 46, + DUNGEON_ROCK_PATH = 47, + DUNGEON_SNOW_PATH = 48, + DUNGEON_AUTOPILOT = 49, + DUNGEON_D50 = 50, + DUNGEON_D51 = 51, + DUNGEON_NORMAL_MAZE = 52, + DUNGEON_HOWLING_FOREST = 53, + DUNGEON_D54 = 54, + DUNGEON_POISON_MAZE = 55, + DUNGEON_WATERFALL_POND = 56, + DUNGEON_UNKNOWN_RELIC = 57, + DUNGEON_JOYOUS_TOWER = 58, + DUNGEON_FAR_OFF_SEA = 59, + DUNGEON_MT_FARAWAY = 60, + DUNGEON_D61 = 61, + DUNGEON_PURITY_FOREST = 62, + DUNGEON_OUT_ON_RESCUE = 63, + DUNGEON_JOIN_LOCATION_LEADER = 64, // Displays as "???". + DUNGEON_JOIN_LOCATION_PARTNER = 65, // Displays as "Tiny Woods". + DUNGEON_UNKNOWN_WORLD = 66, + DUNGEON_FROSTY_GROTTO_2 = 67, // Duplicate + DUNGEON_HOWLING_FOREST_2 = 68, // Duplicate + DUNGEON_POKEMON_SQUARE = 69, + DUNGEON_POKEMON_SQUARE_2 = 70, // Duplicate + DUNGEON_RESCUE_TEAM_BASE = 71, + DUNGEON_RESCUE_TEAM_BASE_2 = 72, // Duplicate + DUNGEON_AGB_SLOT = 73, + DUNGEON_JOIN_LOCATION_CLIENT_POKEMON = 74, + DUNGEON_NORMAL_MAZE_2 = 75, // Duplicate + DUNGEON_FIRE_MAZE = 76, + DUNGEON_WATER_MAZE = 77, + DUNGEON_GRASS_MAZE = 78, + DUNGEON_ELECTRIC_MAZE = 79, + DUNGEON_ICE_MAZE = 80, + DUNGEON_FIGHTING_MAZE = 81, + DUNGEON_GROUND_MAZE = 82, + DUNGEON_FLYING_MAZE = 83, + DUNGEON_PSYCHIC_MAZE = 84, + DUNGEON_POISON_MAZE_2 = 85, // Duplicate + DUNGEON_BUG_MAZE = 86, + DUNGEON_ROCK_MAZE = 87, + DUNGEON_GHOST_MAZE = 88, + DUNGEON_DRAGON_MAZE = 89, + DUNGEON_DARK_MAZE = 90, + DUNGEON_STEEL_MAZE = 91, + DUNGEON_TEAM_SHIFTY = 92, + DUNGEON_TEAM_CONSTRICTOR = 93, + DUNGEON_TEAM_HYDRO = 94, + DUNGEON_TEAM_RUMBLEROCK = 95, + DUNGEON_RESCUE_TEAM_2 = 96, + DUNGEON_RESCUE_TEAM_MAZE = 97, +}; + +#endif diff --git a/include/constants/dungeon_action.h b/include/constants/dungeon_action.h new file mode 100644 index 0000000..f5e0290 --- /dev/null +++ b/include/constants/dungeon_action.h @@ -0,0 +1,44 @@ +#ifndef GUARD_CONSTANTS_DUNGEON_ACTION_H +#define GUARD_CONSTANTS_DUNGEON_ACTION_H + +enum DungeonAction +{ + DUNGEON_ACTION_WAIT = 0x1, + DUNGEON_ACTION_WALK = 0x2, + // Switching between Pokémon in the moves menu. + DUNGEON_ACTION_NEXT_POKEMON_MOVES = 0x6, + DUNGEON_ACTION_PREVIOUS_POKEMON_MOVES = 0x7, + DUNGEON_ACTION_PLACE_ITEM = 0x8, + // Some actions are different between the leader and AI-controlled Pokémon. + DUNGEON_ACTION_TAKE_ITEM_LEADER = 0x9, // Picking up an item underfoot. + DUNGEON_ACTION_THROW_ITEM_LEADER = 0xB, + DUNGEON_ACTION_CONSUME_ITEM_LEADER = 0xD, + DUNGEON_ACTION_USE_ITEM_LEADER = 0x12, + DUNGEON_ACTION_TALK_FIELD = 0x13, // Talking to another Pokémon by facing them and interacting. + DUNGEON_ACTION_USE_MOVE_LEADER = 0x14, + DUNGEON_ACTION_USE_MOVE_AI = 0x15, + DUNGEON_ACTION_STRUGGLE = 0x17, // Using the Struggle move. + DUNGEON_ACTION_CHECK_MOVES = 0x19, + DUNGEON_ACTION_CHANGE_TACTICS = 0x1A, + DUNGEON_ACTION_CHECK_POKEMON_SUMMARY = 0x1B, + DUNGEON_ACTION_TALK_MENU = 0x1C, // Talking to another Pokémon via the menu. + DUNGEON_ACTION_SET_MOVE = 0x1E, // Registering a move. + DUNGEON_ACTION_CONSUME_ITEM_AI = 0x23, + DUNGEON_ACTION_THROW_ITEM_AI = 0x24, + DUNGEON_ACTION_THROW_STRAIGHT_THROWN_ITEM_LEADER = 0x27, + DUNGEON_ACTION_USE_LINK_BOX = 0x2C, + DUNGEON_ACTION_GIVE_UP = 0x2E, + DUNGEON_ACTION_CHANGE_IQ_SKILLS = 0x30, + DUNGEON_ACTION_USE_ORB = 0x31, + DUNGEON_ACTION_REGULAR_ATTACK = 0x32, + DUNGEON_ACTION_UNSET_MOVE = 0x33, + DUNGEON_ACTION_GIVE_HELD_ITEM = 0x36, + DUNGEON_ACTION_TAKE_HELD_ITEM = 0x37, + DUNGEON_ACTION_HAVE_SECOND_THOUGHTS = 0x39, // Happens with invalid actions, like attempting to eat a non-consumable item. + DUNGEON_ACTION_SET_ITEM = 0x3C, + DUNGEON_ACTION_UNSET_ITEM = 0x3D, + DUNGEON_ACTION_TAKE_ITEM_AI = 0x3F, + DUNGEON_ACTION_THROW_ARC_THROWN_ITEM_LEADER = 0x41, // Throwing Gravelerocks and Geo Pebbles. +}; + +#endif diff --git a/include/constants/iq_skill.h b/include/constants/iq_skill.h new file mode 100644 index 0000000..759c350 --- /dev/null +++ b/include/constants/iq_skill.h @@ -0,0 +1,31 @@ +#ifndef GUARD_CONSTANTS_IQ_SKILL_H +#define GUARD_CONSTANTS_IQ_SKILL_H + +enum IQSkill +{ + IQ_SKILL_TYPE_ADVANTAGE_MASTER = 0x1, + IQ_SKILL_ITEM_CATCHER = 0x2, + IQ_SKILL_COURSE_CHECKER = 0x3, + IQ_SKILL_SURE_HIT_ATTACKER = 0x4, + IQ_SKILL_QUICK_DODGER = 0x5, + IQ_SKILL_PP_CHECKER = 0x6, + IQ_SKILL_NONTRAITOR = 0x7, + IQ_SKILL_STATUS_CHECKER = 0x8, + IQ_SKILL_EXP_GO_GETTER = 0x9, + IQ_SKILL_EFFICIENCY_EXPERT = 0xA, + IQ_SKILL_WEAK_TYPE_PICKER = 0xB, + IQ_SKILL_ALL_TERRAIN_HIKER = 0xC, + IQ_SKILL_SUPER_MOBILE = 0xD, + IQ_SKILL_TRAP_AVOIDER = 0xE, + IQ_SKILL_HOUSE_AVOIDER = 0xF, + IQ_SKILL_ENERGY_SAVER = 0x10, + IQ_SKILL_NONSLEEPER = 0x11, + IQ_SKILL_SELF_CURER = 0x12, + IQ_SKILL_TRAP_SEER = 0x13, + IQ_SKILL_LAVA_EVADER = 0x14, + IQ_SKILL_DEDICATED_TRAVELER = 0x15, + IQ_SKILL_ITEM_MASTER = 0x16, + IQ_SKILL_EXCLUSIVE_MOVE_USER = 0x17 +}; + +#endif diff --git a/include/constants/move.h b/include/constants/move.h new file mode 100644 index 0000000..6f1ea70 --- /dev/null +++ b/include/constants/move.h @@ -0,0 +1,474 @@ +#ifndef GUARD_CONSTANTS_MOVE_H +#define GUARD_CONSTANTS_MOVE_H + +enum MoveFlags +{ + MOVE_FLAG_EXISTS = 1 << 0, + MOVE_FLAG_LINKED = 1 << 1, // This move is linked with the previous move in the Pokémon's moveset. + MOVE_FLAG_ENABLED = 1 << 2, // Enabled for the AI to use. + MOVE_FLAG_SET = 1 << 3, // This move can be triggered by pressing L+A instead of having to go to the move menu. + MOVE_FLAG_LAST_USED = 1 << 4, // The most recent move used by the Pokémon. + MOVE_FLAG_DISABLED = 1 << 5 // Disabled by an effect like Taunt. +}; + +struct MoveData +{ + u8 fill0[0x8 - 0x0]; + // Determines the range of moves. + /* 0x8 */ u16 targetingFlags; + /* 0xA */ u16 aiTargetingFlags; // The AI consider certain moves to have different range than they actually do. + /* 0xC */ u8 maxPP; + /* 0xD */ u8 defaultMoveWeight; + u8 fillE[0x10 - 0xE]; + // Used by the AI to determine how often to use Spikes. + // Values exist for all other moves, though they seem to be unused. + /* 0x10 */ u8 moveUseChance; + u8 fill11[0x17 - 0x11]; + /* 0x17 */ bool8 cannotHitFrozen; // Used by Status Checker to determine if a move can be used on a frozen target. + /* 0x18 */ bool8 dealsDirectDamage; +}; + +struct PokemonMove +{ + u8 moveFlags; + bool8 sealed; + u16 moveID; + u8 pp; + u8 powerBoost; // How much the move is boosted by Ginsengs. +}; + +enum TargetingFlag +{ + TARGETING_FLAG_TARGET_OTHER = 0x0, + TARGETING_FLAG_HEAL_TEAM = 0x1, + TARGETING_FLAG_SWAP_POSITIONS = 0x2, + TARGETING_FLAG_ATTACK_ALL = 0x5, + TARGETING_FLAG_BOOST_TEAM = 0x6, + TARGETING_FLAG_DONT_USE = 0xF, + TARGETING_FLAG_TARGET_FRONTAL_CONE = 0x10, + TARGETING_FLAG_TARGET_AROUND = 0x20, + TARGETING_FLAG_TARGET_ROOM = 0x30, + TARGETING_FLAG_TARGET_2_TILES_AHEAD = 0x40, + TARGETING_FLAG_TARGET_LINE = 0x50, + TARGETING_FLAG_TARGET_FLOOR = 0x60, + TARGETING_FLAG_SELF_HEAL = 0x70, + TARGETING_FLAG_CUT_CORNERS = 0x80, + TARGETING_FLAG_SET_TRAP = 0x100, + TARGETING_FLAG_HEAL_HP = 0x200, + TARGETING_FLAG_HEAL_STATUS = 0x300, + TARGETING_FLAG_DREAM_EATER = 0x400, + TARGETING_FLAG_HEAL_ALL = 0x500, + TARGETING_FLAG_EXPOSE = 0x600, +}; + +enum MoveID +{ + MOVE_IRON_TAIL = 0x1, + MOVE_ICE_BALL = 0x2, + MOVE_YAWN = 0x3, + MOVE_LOVELY_KISS = 0x4, + MOVE_NIGHTMARE = 0x5, + MOVE_MORNING_SUN = 0x6, + MOVE_VITAL_THROW = 0x7, + MOVE_DIG = 0x8, + MOVE_THRASH = 0x9, + MOVE_SWEET_SCENT = 0xA, + MOVE_CHARM = 0xB, + MOVE_RAIN_DANCE = 0xC, + MOVE_CONFUSE_RAY = 0xD, + MOVE_HAIL = 0xE, + MOVE_AROMATHERAPY = 0xF, + MOVE_BUBBLE = 0x10, + MOVE_ENCORE = 0x11, + MOVE_CUT = 0x12, + MOVE_RAGE = 0x13, + MOVE_SUPER_FANG = 0x14, + MOVE_PAIN_SPLIT = 0x15, + MOVE_TORMENT = 0x16, + MOVE_STRING_SHOT = 0x17, + MOVE_SWAGGER = 0x18, + MOVE_SNORE = 0x19, + MOVE_HEAL_BELL = 0x1A, + MOVE_SCREECH = 0x1B, + MOVE_ROCK_THROW = 0x1C, + MOVE_ROCK_SMASH = 0x1D, + MOVE_ROCK_SLIDE = 0x1E, + MOVE_WEATHER_BALL = 0x1F, + MOVE_WHIRLPOOL = 0x20, + MOVE_FAKE_TEARS = 0x21, + MOVE_SING = 0x22, + MOVE_SPITE = 0x23, + MOVE_AIR_CUTTER = 0x24, + MOVE_SMOKESCREEN = 0x25, + MOVE_PURSUIT = 0x26, + MOVE_DOUBLESLAP = 0x27, + MOVE_MIRROR_MOVE = 0x28, + MOVE_OVERHEAT = 0x29, + MOVE_AURORA_BEAM = 0x2A, + MOVE_MEMENTO = 0x2B, + MOVE_OCTAZOOKA = 0x2C, + MOVE_FLATTER = 0x2D, + MOVE_ASTONISH = 0x2E, + MOVE_WILL_O_WISP = 0x2F, + MOVE_RETURN = 0x30, + MOVE_GRUDGE = 0x31, + MOVE_STRENGTH = 0x32, + MOVE_COUNTER = 0x33, + MOVE_FLAME_WHEEL = 0x34, + MOVE_FLAMETHROWER = 0x35, + MOVE_ODOR_SLEUTH = 0x36, + MOVE_SHARPEN = 0x37, + MOVE_DOUBLE_TEAM = 0x38, + MOVE_GUST = 0x39, + MOVE_HARDEN = 0x3A, + MOVE_DISABLE = 0x3B, + MOVE_RAZOR_WIND = 0x3C, + MOVE_BIDE = 0x3D, + MOVE_CRUNCH = 0x3E, + MOVE_BITE = 0x3F, + MOVE_THUNDER = 0x40, + MOVE_THUNDERPUNCH = 0x41, + MOVE_ENDEAVOR = 0x42, + MOVE_FACADE = 0x43, + MOVE_KARATE_CHOP = 0x44, + MOVE_CLAMP = 0x45, + MOVE_WITHDRAW = 0x46, + MOVE_CONSTRICT = 0x47, + MOVE_BRICK_BREAK = 0x48, + MOVE_ROCK_TOMB = 0x49, + MOVE_FOCUS_ENERGY = 0x4A, + MOVE_FOCUS_PUNCH = 0x4B, + MOVE_GIGA_DRAIN = 0x4C, + MOVE_REVERSAL = 0x4D, + MOVE_SMELLINGSALT = 0x4E, + MOVE_SPORE = 0x4F, + MOVE_LEECH_LIFE = 0x50, + MOVE_SLASH = 0x51, + MOVE_SILVER_WIND = 0x52, + MOVE_METAL_SOUND = 0x53, + MOVE_GRASSWHISTLE = 0x54, + MOVE_TICKLE = 0x55, + MOVE_SPIDER_WEB = 0x56, + MOVE_CRABHAMMER = 0x57, + MOVE_HAZE = 0x58, + MOVE_MEAN_LOOK = 0x59, + MOVE_CROSS_CHOP = 0x5A, + MOVE_OUTRAGE = 0x5B, + MOVE_LOW_KICK = 0x5C, + MOVE_ANCIENTPOWER = 0x5D, + MOVE_SYNTHESIS = 0x5E, + MOVE_AGILITY = 0x5F, + MOVE_RAPID_SPIN = 0x60, + MOVE_ICY_WIND = 0x61, + MOVE_MIND_READER = 0x62, + MOVE_COSMIC_POWER = 0x63, + MOVE_SKY_ATTACK = 0x64, + MOVE_POWDER_SNOW = 0x65, + MOVE_FOLLOW_ME = 0x66, + MOVE_METEOR_MASH = 0x67, + MOVE_ENDURE = 0x68, + MOVE_ROLLOUT = 0x69, + MOVE_SCARY_FACE = 0x6A, + MOVE_PSYBEAM = 0x6B, + MOVE_PSYWAVE = 0x6C, + MOVE_PSYCHIC = 0x6D, + MOVE_PSYCHO_BOOST = 0x6E, + MOVE_HYPNOSIS = 0x6F, + MOVE_UPROAR = 0x70, + MOVE_WATER_SPOUT = 0x71, + MOVE_SIGNAL_BEAM = 0x72, + MOVE_PSYCH_UP = 0x73, + MOVE_SUBMISSION = 0x74, + MOVE_RECOVER = 0x75, + MOVE_EARTHQUAKE = 0x76, + MOVE_NATURE_POWER = 0x77, + MOVE_LICK = 0x78, + MOVE_FLAIL = 0x79, + MOVE_TAIL_WHIP = 0x7A, + MOVE_SELFDESTRUCT = 0x7B, + MOVE_STUN_SPORE = 0x7C, + MOVE_BIND = 0x7D, + MOVE_SHADOW_PUNCH = 0x7E, + MOVE_SHADOW_BALL = 0x7F, + MOVE_CHARGE = 0x80, + MOVE_THUNDERBOLT = 0x81, + MOVE_MIST = 0x82, + MOVE_FISSURE = 0x83, + MOVE_EXTREMESPEED = 0x84, + MOVE_EXTRASENSORY = 0x85, + MOVE_SAFEGUARD = 0x86, + MOVE_ABSORB = 0x87, + MOVE_SKY_UPPERCUT = 0x88, + MOVE_SKILL_SWAP = 0x89, + MOVE_SKETCH = 0x8A, + MOVE_HEADBUTT = 0x8B, + MOVE_DOUBLE_EDGE = 0x8C, + MOVE_SANDSTORM = 0x8D, + MOVE_SAND_ATTACK = 0x8E, + MOVE_SAND_TOMB = 0x8F, + MOVE_SPARK = 0x90, + MOVE_SWIFT = 0x91, + MOVE_KINESIS = 0x92, + MOVE_SMOG = 0x93, + MOVE_GROWTH = 0x94, + MOVE_SACRED_FIRE = 0x95, + MOVE_SHEER_COLD = 0x96, + MOVE_SOLARBEAM = 0x97, + MOVE_SONICBOOM = 0x98, + MOVE_FLY = 0x99, + MOVE_TACKLE = 0x9A, + MOVE_EXPLOSION = 0x9B, + MOVE_DIVE = 0x9C, + MOVE_FIRE_BLAST = 0x9D, + MOVE_WATERFALL = 0x9E, + MOVE_MUDDY_WATER = 0x9F, + MOVE_STOCKPILE = 0xA0, + MOVE_SLAM = 0xA1, + MOVE_TWISTER = 0xA2, + MOVE_BULLET_SEED = 0xA3, + MOVE_TWINEEDLE = 0xA4, + MOVE_SOFTBOILED = 0xA5, + MOVE_EGG_BOMB = 0xA6, + MOVE_FAINT_ATTACK = 0xA7, + MOVE_BARRAGE = 0xA8, + MOVE_MINIMIZE = 0xA9, + MOVE_SEISMIC_TOSS = 0xAA, + MOVE_SUPERSONIC = 0xAB, + MOVE_TAUNT = 0xAC, + MOVE_MOONLIGHT = 0xAD, + MOVE_PECK = 0xAE, + MOVE_ARM_THRUST = 0xAF, + MOVE_HORN_ATTACK = 0xB0, + MOVE_HORN_DRILL = 0xB1, + MOVE_WING_ATTACK = 0xB2, + MOVE_AERIAL_ACE = 0xB3, + MOVE_ICICLE_SPEAR = 0xB4, + MOVE_SWORDS_DANCE = 0xB5, + MOVE_VINE_WHIP = 0xB6, + MOVE_CONVERSION = 0xB7, + MOVE_CONVERSION_2 = 0xB8, + MOVE_HELPING_HAND = 0xB9, + MOVE_IRON_DEFENSE = 0xBA, + MOVE_TELEPORT = 0xBB, + MOVE_THUNDERSHOCK = 0xBC, + MOVE_SHOCK_WAVE = 0xBD, + MOVE_QUICK_ATTACK = 0xBE, + MOVE_SWEET_KISS = 0xBF, + MOVE_THUNDER_WAVE = 0xC0, + MOVE_ZAP_CANNON = 0xC1, + MOVE_BLOCK = 0xC2, + MOVE_HOWL = 0xC3, + MOVE_POISON_GAS = 0xC4, + MOVE_TOXIC = 0xC5, + MOVE_POISON_FANG = 0xC6, + MOVE_POISONPOWDER = 0xC7, + MOVE_POISON_STING = 0xC8, + MOVE_SPIKE_CANNON = 0xC9, + MOVE_ACID_ARMOR = 0xCA, + MOVE_TAKE_DOWN = 0xCB, + MOVE_JUMP_KICK = 0xCC, + MOVE_BOUNCE = 0xCD, + MOVE_HI_JUMP_KICK = 0xCE, + MOVE_TRI_ATTACK = 0xCF, + MOVE_DRAGON_CLAW = 0xD0, + MOVE_TRICK = 0xD1, + MOVE_TRIPLE_KICK = 0xD2, + MOVE_DRILL_PECK = 0xD3, + MOVE_MUD_SPORT = 0xD4, + MOVE_MUD_SLAP = 0xD5, + MOVE_THIEF = 0xD6, + MOVE_AMNESIA = 0xD7, + MOVE_NIGHT_SHADE = 0xD8, + MOVE_GROWL = 0xD9, + MOVE_SLACK_OFF = 0xDA, + MOVE_SURF = 0xDB, + MOVE_ROLE_PLAY = 0xDC, + MOVE_NEEDLE_ARM = 0xDD, + MOVE_DOUBLE_KICK = 0xDE, + MOVE_SUNNY_DAY = 0xDF, + MOVE_LEER = 0xE0, + MOVE_WISH = 0xE1, + MOVE_FAKE_OUT = 0xE2, + MOVE_SLEEP_TALK = 0xE3, + MOVE_PAY_DAY = 0xE4, + MOVE_ASSIST = 0xE5, + MOVE_HEAT_WAVE = 0xE6, + MOVE_SLEEP_POWDER = 0xE7, + MOVE_REST = 0xE8, + MOVE_INGRAIN = 0xE9, + MOVE_CONFUSION = 0xEA, + MOVE_BODY_SLAM = 0xEB, + MOVE_SWALLOW = 0xEC, + MOVE_CURSE = 0xED, + MOVE_FRENZY_PLANT = 0xEE, + MOVE_HYDRO_CANNON = 0xEF, + MOVE_HYDRO_PUMP = 0xF0, + MOVE_HYPER_VOICE = 0xF1, + MOVE_HYPER_BEAM = 0xF2, + MOVE_SUPERPOWER = 0xF3, + MOVE_STEEL_WING = 0xF4, + MOVE_SPIT_UP = 0xF5, + MOVE_DYNAMICPUNCH = 0xF6, + MOVE_GUILLOTINE = 0xF7, + MOVE_VICEGRIP = 0xF8, + MOVE_KNOCK_OFF = 0xF9, + MOVE_POUND = 0xFA, + MOVE_RAZOR_LEAF = 0xFB, + MOVE_BATON_PASS = 0xFC, + MOVE_PETAL_DANCE = 0xFD, + MOVE_SPLASH = 0xFE, + MOVE_BUBBLEBEAM = 0xFF, + MOVE_DOOM_DESIRE = 0x100, + MOVE_BELLY_DRUM = 0x101, + MOVE_BARRIER = 0x102, + MOVE_LIGHT_SCREEN = 0x103, + MOVE_SCRATCH = 0x104, + MOVE_HYPER_FANG = 0x105, + MOVE_EMBER = 0x106, + MOVE_SECRET_POWER = 0x107, + MOVE_DIZZY_PUNCH = 0x108, + MOVE_BULK_UP = 0x109, + MOVE_IMPRISON = 0x10A, + MOVE_FEATHERDANCE = 0x10B, + MOVE_WHIRLWIND = 0x10C, + MOVE_BEAT_UP = 0x10D, + MOVE_BLIZZARD = 0x10E, + MOVE_STOMP = 0x10F, + MOVE_BLAST_BURN = 0x110, + MOVE_FLASH = 0x111, + MOVE_TEETER_DANCE = 0x112, + MOVE_CRUSH_CLAW = 0x113, + MOVE_BLAZE_KICK = 0x114, + MOVE_PRESENT = 0x115, + MOVE_ERUPTION = 0x116, + MOVE_SLUDGE = 0x117, + MOVE_SLUDGE_BOMB = 0x118, + MOVE_GLARE = 0x119, + MOVE_TRANSFORM = 0x11A, + MOVE_POISON_TAIL = 0x11B, + MOVE_ROAR = 0x11C, + MOVE_BONE_RUSH = 0x11D, + MOVE_CAMOUFLAGE = 0x11E, + MOVE_COVET = 0x11F, + MOVE_TAIL_GLOW = 0x120, + MOVE_BONE_CLUB = 0x121, + MOVE_BONEMERANG = 0x122, + MOVE_FIRE_SPIN = 0x123, + MOVE_FIRE_PUNCH = 0x124, + MOVE_PERISH_SONG = 0x125, + MOVE_WRAP = 0x126, + MOVE_SPIKES = 0x127, + MOVE_MAGNITUDE = 0x128, + MOVE_MAGICAL_LEAF = 0x129, + MOVE_MAGIC_COAT = 0x12A, + MOVE_MUD_SHOT = 0x12B, + MOVE_MACH_PUNCH = 0x12C, + MOVE_PROTECT = 0x12D, + MOVE_DEFENSE_CURL = 0x12E, + MOVE_ROLLING_KICK = 0x12F, + MOVE_SUBSTITUTE = 0x130, + MOVE_DETECT = 0x131, + MOVE_PIN_MISSILE = 0x132, + MOVE_WATER_SPORT = 0x133, + MOVE_WATER_GUN = 0x134, + MOVE_MIST_BALL = 0x135, + MOVE_WATER_PULSE = 0x136, + MOVE_FURY_ATTACK = 0x137, + MOVE_FURY_SWIPES = 0x138, + MOVE_DESTINY_BOND = 0x139, + MOVE_FALSE_SWIPE = 0x13A, + MOVE_FORESIGHT = 0x13B, + MOVE_MIRROR_COAT = 0x13C, + MOVE_FUTURE_SIGHT = 0x13D, + MOVE_MILK_DRINK = 0x13E, + MOVE_CALM_MIND = 0x13F, + MOVE_MEGA_DRAIN = 0x140, + MOVE_MEGA_KICK = 0x141, + MOVE_MEGA_PUNCH = 0x142, + MOVE_MEGAHORN = 0x143, + MOVE_HIDDEN_POWER = 0x144, + MOVE_METAL_CLAW = 0x145, + MOVE_ATTRACT = 0x146, + MOVE_MIMIC = 0x147, + MOVE_FRUSTRATION = 0x148, + MOVE_LEECH_SEED = 0x149, + MOVE_METRONOME = 0x14A, + MOVE_DREAM_EATER = 0x14B, + MOVE_ACID = 0x14C, + MOVE_MEDITATE = 0x14D, + MOVE_SNATCH = 0x14E, + MOVE_LUSTER_PURGE = 0x14F, + MOVE_LEAF_BLADE = 0x150, + MOVE_RECYCLE = 0x151, + MOVE_REFLECT = 0x152, + MOVE_REFRESH = 0x153, + MOVE_REVENGE = 0x154, + MOVE_DRAGON_RAGE = 0x155, + MOVE_DRAGONBREATH = 0x156, + MOVE_DRAGON_DANCE = 0x157, + MOVE_ICE_PUNCH = 0x158, + MOVE_ICE_BEAM = 0x159, + MOVE_FURY_CUTTER = 0x15A, + MOVE_COMET_PUNCH = 0x15B, + MOVE_SKULL_BASH = 0x15C, + MOVE_LOCK_ON = 0x15D, + MOVE_ROCK_BLAST = 0x15E, + MOVE_COTTON_SPORE = 0x15F, + MOVE_STRUGGLE = 0x160, + MOVE_AEROBLAST = 0x161, + MOVE_VOLT_TACKLE = 0x162, + MOVE_REGULAR_ATTACK = 0x163, + MOVE_WIDE_SLASH = 0x168, + MOVE_EXCAVATE = 0x169, // Unused + MOVE_SPIN_SLASH = 0x16A, // Unused + // Orb effects + MOVE_SEE_TRAP = 0x16B, + MOVE_TAKEAWAY = 0x16C, + MOVE_REBOUND = 0x16D, + MOVE_BLOOP_SLASH = 0x16E, + MOVE_SWITCHER = 0x16F, + MOVE_BLOWBACK = 0x170, + MOVE_WARP = 0x171, + MOVE_TRANSFER = 0x172, + MOVE_SLOW_DOWN = 0x173, + MOVE_SPEED_BOOST = 0x174, + MOVE_SEARCHLIGHT = 0x175, + MOVE_PETRIFY = 0x176, + MOVE_STAY_AWAY = 0x177, + MOVE_POUNCE = 0x178, + MOVE_TRAWL = 0x179, + MOVE_CLEANSE = 0x17A, + MOVE_OBSERVER = 0x17B, + MOVE_DECOY_MAKER = 0x17C, + MOVE_SIESTA = 0x17D, + MOVE_TOTTER = 0x17E, + MOVE_TWO_EDGE = 0x17F, + MOVE_NO_MOVE = 0x180, + MOVE_ESCAPE = 0x181, + MOVE_SCAN = 0x182, + MOVE_POWER_EARS = 0x183, + MOVE_DROUGHT = 0x184, + MOVE_TRAP_BUSTER = 0x185, + MOVE_WILD_CALL = 0x186, + MOVE_INVISIFY = 0x187, + MOVE_ONE_SHOT = 0x188, + MOVE_HP_GAUGE = 0x189, + MOVE_VACUUM_CUT = 0x18A, + MOVE_REVIVER = 0x18B, + MOVE_SHOCKER = 0x18C, + MOVE_ECHO = 0x18D, + MOVE_FAMISH = 0x18E, + MOVE_ONE_ROOM = 0x18F, + MOVE_FILL_IN = 0x190, + MOVE_TRAPPER = 0x191, + MOVE_POSSESS = 0x192, + MOVE_ITEMIZE = 0x193, + MOVE_HURL = 0x196, + MOVE_MOBILE = 0x197, + MOVE_ITEM_TOSS = 0x198, + MOVE_SEE_STAIRS = 0x199, + MOVE_LONG_TOSS = 0x19A, + MOVE_PIERCE = 0x19B +}; + +#endif diff --git a/include/constants/status.h b/include/constants/status.h new file mode 100644 index 0000000..8445731 --- /dev/null +++ b/include/constants/status.h @@ -0,0 +1,124 @@ +#ifndef GUARD_CONSTANTS_STATUS_H +#define GUARD_CONSTANTS_STATUS_H + +enum SleepStatus +{ + SLEEP_STATUS_SLEEP = 1, + SLEEP_STATUS_SLEEPLESS = 2, + SLEEP_STATUS_NIGHTMARE = 3, + SLEEP_STATUS_YAWNING = 4, + SLEEP_STATUS_NAPPING = 5 +}; + +enum NonVolatileStatus +{ + NON_VOLATILE_STATUS_BURNED = 1, + NON_VOLATILE_STATUS_POISONED = 2, + NON_VOLATILE_STATUS_BADLY_POISONED = 3, + NON_VOLATILE_STATUS_PARALYZED = 4 +}; + +enum ImmobilizeStatus +{ + IMMOBILIZE_STATUS_FROZEN = 1, + IMMOBILIZE_STATUS_IMMOBILIZED = 2, + IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE = 3, + IMMOBILIZE_STATUS_WRAPPED_BY_FOE = 4, + IMMOBILIZE_STATUS_INGRAIN = 5, + IMMOBILIZE_STATUS_PETRIFIED = 6, + IMMOBILIZE_STATUS_SQUEEZED = 7 +}; + +enum ChargingStatus +{ + CHARGING_STATUS_BIDE = 0x1, + CHARGING_STATUS_SOLARBEAM = 0x2, + CHARGING_STATUS_SKY_ATTACK = 0x3, + CHARGING_STATUS_RAZOR_WIND = 0x4, + CHARGING_STATUS_FOCUS_PUNCH = 0x5, + CHARGING_STATUS_SKULL_BASH = 0x6, + CHARGING_STATUS_FLY = 0x7, + CHARGING_STATUS_BOUNCE = 0x8, + CHARGING_STATUS_DIVE = 0x9, + CHARGING_STATUS_DIG = 0xA, + CHARGING_STATUS_CHARGE = 0xB, + CHARGING_STATUS_RAGE = 0xC +}; + +enum ProtectionStatus +{ + PROTECTION_STATUS_REFLECT = 0x1, + PROTECTION_STATUS_SAFEGUARD = 0x2, + PROTECTION_STATUS_LIGHT_SCREEN = 0x3, + PROTECTION_STATUS_COUNTER = 0x4, + PROTECTION_STATUS_MAGIC_COAT = 0x5, + PROTECTION_STATUS_WISH = 0x6, + PROTECTION_STATUS_PROTECT = 0x7, + PROTECTION_STATUS_MIRROR_COAT = 0x8, + PROTECTION_STATUS_ENDURE = 0x9, + PROTECTION_STATUS_MINI_COUNTER = 0xA, + PROTECTION_STATUS_MIRROR_MOVE = 0xB, + PROTECTION_STATUS_CONVERSION_2 = 0xC, + PROTECTION_STATUS_VITAL_THROW = 0xD, + PROTECTION_STATUS_MIST = 0xE +}; + +enum WaitingStatus +{ + WAITING_STATUS_CURSED = 1, + WAITING_STATUS_DECOY = 2, + WAITING_STATUS_SNATCH = 3 +}; + +enum LinkedStatus +{ + LINKED_STATUS_LEECH_SEED = 1, + LINKED_STATUS_DESTINY_BOND = 2 +}; + +enum MoveStatus +{ + MOVE_STATUS_SURE_SHOT = 1, + MOVE_STATUS_WHIFFER = 2, + MOVE_STATUS_SET_DAMAGE = 3, + MOVE_STATUS_FOCUS_ENERGY = 4 +}; + +enum ItemStatus +{ + ITEM_STATUS_LONG_TOSS = 1, + ITEM_STATUS_PIERCE = 2 +}; + +enum TransformStatus +{ + TRANSFORM_STATUS_INVISIBLE = 1, + TRANSFORM_STATUS_TRANSFORMED = 2, + TRANSFORM_STATUS_MOBILE = 3 +}; + +enum EyesightStatus +{ + EYESIGHT_STATUS_BLINKER = 1, + EYESIGHT_STATUS_CROSS_EYED = 2, + EYESIGHT_STATUS_EYEDROPS = 3 +}; + +enum VolatileStatus +{ + VOLATILE_STATUS_CRINGING = 1, + VOLATILE_STATUS_CONFUSED = 2, + VOLATILE_STATUS_PAUSED = 3, + VOLATILE_STATUS_COWERING = 4, + VOLATILE_STATUS_TAUNTED = 5, + VOLATILE_STATUS_ENCORE = 6, + VOLATILE_STATUS_INFATUATED = 7 +}; + +enum TargetingDecoy +{ + TARGETING_DECOY_TEAM = 1, + TARGETING_DECOY_WILD = 2 +}; + +#endif diff --git a/include/constants/tactic.h b/include/constants/tactic.h new file mode 100644 index 0000000..4d24b01 --- /dev/null +++ b/include/constants/tactic.h @@ -0,0 +1,19 @@ +#ifndef GUARD_CONSTANTS_TACTIC_H +#define GUARD_CONSTANTS_TACTIC_H + +enum Tactic +{ + TACTIC_LETS_GO_TOGETHER = 0x0, + TACTIC_GO_THE_OTHER_WAY = 0x1, + TACTIC_GO_AFTER_FOES = 0x2, + TACTIC_AVOID_THE_FIRST_HIT = 0x3, + TACTIC_ALL_FOR_ONE = 0x4, // Unused + TACTIC_GROUP_SAFETY = 0x5, // Unused + TACTIC_AVOID_TROUBLE = 0x6, + TACTIC_BE_PATIENT = 0x7, + TACTIC_KEEP_YOUR_DISTANCE = 0x8, + TACTIC_WAIT_THERE = 0x9, + TACTIC_GET_AWAY = 0xA +}; + +#endif diff --git a/include/constants/trap.h b/include/constants/trap.h new file mode 100644 index 0000000..cbc3454 --- /dev/null +++ b/include/constants/trap.h @@ -0,0 +1,28 @@ +#ifndef GUARD_CONSTANTS_TRAP_H +#define GUARD_CONSTANTS_TRAP_H + +enum TrapType +{ + TRIP_TRAP = 0x0, + MUD_TRAP = 0x1, + STICKY_TRAP = 0x2, + GRIMY_TRAP = 0x3, + SUMMON_TRAP = 0x4, + PITFALL_TRAP = 0x5, + WARP_TRAP = 0x6, + WHIRLWIND_TRAP = 0x7, + SPIN_TRAP = 0x8, + SLUMBER_TRAP = 0x9, + SLOW_TRAP = 0xA, + SEAL_TRAP = 0xB, + POISON_TRAP = 0xC, + SELFDESTRUCT_TRAP = 0xD, + EXPLOSION_TRAP = 0xE, + PP_ZERO_TRAP = 0xF, + CHESTNUT_TRAP = 0x10, + WONDER_TILE = 0x11, + POKEMON_TRAP = 0x12, + SPIKE_TRAP = 0x13 +}; + +#endif diff --git a/include/constants/type.h b/include/constants/type.h new file mode 100644 index 0000000..8c982fd --- /dev/null +++ b/include/constants/type.h @@ -0,0 +1,25 @@ +#ifndef GUARD_CONSTANTS_TYPE_H +#define GUARD_CONSTANTS_TYPE_H + +enum Type +{ + TYPE_NORMAL = 0x1, + TYPE_FIRE = 0x2, + TYPE_WATER = 0x3, + TYPE_GRASS = 0x4, + TYPE_ELECTRIC = 0x5, + TYPE_ICE = 0x6, + TYPE_FIGHTING = 0x7, + TYPE_POISON = 0x8, + TYPE_GROUND = 0x9, + TYPE_FLYING = 0xA, + TYPE_PSYCHIC = 0xB, + TYPE_BUG = 0xC, + TYPE_ROCK = 0xD, + TYPE_GHOST = 0xE, + TYPE_DRAGON = 0xF, + TYPE_DARK = 0x10, + TYPE_STEEL = 0x11 +}; + +#endif |