summaryrefslogtreecommitdiff
path: root/include/constants
diff options
context:
space:
mode:
Diffstat (limited to 'include/constants')
-rw-r--r--include/constants/ability.h84
-rw-r--r--include/constants/direction.h16
-rw-r--r--include/constants/dungeon.h106
-rw-r--r--include/constants/dungeon_action.h44
-rw-r--r--include/constants/iq_skill.h31
-rw-r--r--include/constants/move.h474
-rw-r--r--include/constants/status.h124
-rw-r--r--include/constants/tactic.h19
-rw-r--r--include/constants/trap.h28
-rw-r--r--include/constants/type.h25
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