summaryrefslogtreecommitdiff
path: root/include/constants
diff options
context:
space:
mode:
Diffstat (limited to 'include/constants')
-rw-r--r--include/constants/abilities.h2
-rw-r--r--include/constants/battle.h112
-rwxr-xr-xinclude/constants/event_bg.h (renamed from include/constants/bg_event_constants.h)6
-rwxr-xr-xinclude/constants/event_object_movement.h (renamed from include/constants/event_object_movement_constants.h)6
-rw-r--r--include/constants/event_objects.h474
-rw-r--r--include/constants/flags.h2
-rw-r--r--include/constants/metatile_labels.h12
-rw-r--r--include/constants/pokemon.h144
-rw-r--r--include/constants/vars.h41
9 files changed, 473 insertions, 326 deletions
diff --git a/include/constants/abilities.h b/include/constants/abilities.h
index 4e2c4056c..4ad54c86f 100644
--- a/include/constants/abilities.h
+++ b/include/constants/abilities.h
@@ -80,4 +80,6 @@
#define ABILITY_CACOPHONY 76
#define ABILITY_AIR_LOCK 77
+#define ABILITIES_COUNT 78
+
#endif // GUARD_CONSTANTS_ABILITIES_H
diff --git a/include/constants/battle.h b/include/constants/battle.h
index c33e0abb4..5aa1772d1 100644
--- a/include/constants/battle.h
+++ b/include/constants/battle.h
@@ -1,5 +1,5 @@
-#ifndef GUARD_CONSTANTS_BATTLE_CONSTANTS_H
-#define GUARD_CONSTANTS_BATTLE_CONSTANTS_H
+#ifndef GUARD_CONSTANTS_BATTLE_H
+#define GUARD_CONSTANTS_BATTLE_H
/*
* A battler may be in one of four positions on the field. The first bit determines
@@ -43,6 +43,7 @@
#define BIT_SIDE 1
#define BIT_FLANK 2
+// Battle Type Flags
#define BATTLE_TYPE_DOUBLE 0x0001
#define BATTLE_TYPE_LINK 0x0002
#define BATTLE_TYPE_WILD 0x0004
@@ -63,67 +64,68 @@
#define SECRET_BASE_OPPONENT 0x400
#define LINK_BATTLE_OPPONENT 0x800
-#define BATTLE_WON 0x1
-#define BATTLE_LOST 0x2
-#define BATTLE_DREW 0x3
-#define BATTLE_RAN 0x4
-#define BATTLE_PLAYER_TELEPORTED 0x5
-#define BATTLE_POKE_FLED 0x6
-#define BATTLE_CAUGHT 0x7
-#define BATTLE_OUT_OF_BALLS 0x8
-#define BATTLE_OPPONENT_TELEPORTED 0xA
-
-#define OUTCOME_LINK_BATTLE_RUN 0x80
+// Battle Outcome defines
+#define B_OUTCOME_WON 0x1
+#define B_OUTCOME_LOST 0x2
+#define B_OUTCOME_DREW 0x3
+#define B_OUTCOME_RAN 0x4
+#define B_OUTCOME_PLAYER_TELEPORTED 0x5
+#define B_OUTCOME_MON_FLED 0x6
+#define B_OUTCOME_CAUGHT 0x7
+#define B_OUTCOME_NO_SAFARI_BALLS 0x8
+#define B_OUTCOME_FORFEITED 0x9
+#define B_OUTCOME_MON_TELEPORTED 0xA
+#define B_OUTCOME_LINK_BATTLE_RAN 0x80
// Non-volatile status conditions
// These persist remain outside of battle and after switching out
-#define STATUS1_NONE 0x0
-#define STATUS_SLEEP 0x7
-#define STATUS_POISON 0x8
-#define STATUS_BURN 0x10
-#define STATUS_FREEZE 0x20
-#define STATUS_PARALYSIS 0x40
-#define STATUS_TOXIC_POISON 0x80
-#define STATUS_TOXIC_COUNTER 0xF00
-#define STATUS_PSN_ANY ((STATUS_POISON | STATUS_TOXIC_POISON))
-#define STATUS_ANY ((STATUS_SLEEP | STATUS_POISON | STATUS_BURN | STATUS_FREEZE | STATUS_PARALYSIS | STATUS_TOXIC_POISON))
+#define STATUS1_NONE 0x0
+#define STATUS1_SLEEP 0x7
+#define STATUS1_POISON 0x8
+#define STATUS1_BURN 0x10
+#define STATUS1_FREEZE 0x20
+#define STATUS1_PARALYSIS 0x40
+#define STATUS1_TOXIC_POISON 0x80
+#define STATUS1_TOXIC_COUNTER 0xF00
+#define STATUS1_PSN_ANY (STATUS1_POISON | STATUS1_TOXIC_POISON)
+#define STATUS1_ANY (STATUS1_SLEEP | STATUS1_POISON | STATUS1_BURN | STATUS1_FREEZE | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON)
// Volatile status ailments
// These are removed after exiting the battle or switching out
-#define STATUS2_CONFUSION 0x00000007
-#define STATUS2_FLINCHED 0x00000008
-#define STATUS2_UPROAR 0x00000070
-#define STATUS2_BIDE 0x00000300 //two bits 0x100 0x200
-#define STATUS2_LOCK_CONFUSE 0x00000C00
-#define STATUS2_MULTIPLETURNS 0x00001000
-#define STATUS2_WRAPPED 0x0000E000
-#define STATUS2_INFATUATION 0x000F0000
+#define STATUS2_CONFUSION 0x00000007
+#define STATUS2_FLINCHED 0x00000008
+#define STATUS2_UPROAR 0x00000070
+#define STATUS2_BIDE 0x00000300 // two bits 0x100, 0x200
+#define STATUS2_LOCK_CONFUSE 0x00000C00
+#define STATUS2_MULTIPLETURNS 0x00001000
+#define STATUS2_WRAPPED 0x0000E000
+#define STATUS2_INFATUATION 0x000F0000 // 4 bits, one for every battler
#define STATUS2_INFATUATED_WITH(battler) (gBitTable[battler] << 16)
-#define STATUS2_FOCUS_ENERGY 0x00100000
-#define STATUS2_TRANSFORMED 0x00200000
-#define STATUS2_RECHARGE 0x00400000
-#define STATUS2_RAGE 0x00800000
-#define STATUS2_SUBSTITUTE 0x01000000
-#define STATUS2_DESTINY_BOND 0x02000000
-#define STATUS2_ESCAPE_PREVENTION 0x04000000
-#define STATUS2_NIGHTMARE 0x08000000
-#define STATUS2_CURSED 0x10000000
-#define STATUS2_FORESIGHT 0x20000000
-#define STATUS2_DEFENSE_CURL 0x40000000
-#define STATUS2_TORMENT 0x80000000
+#define STATUS2_FOCUS_ENERGY 0x00100000
+#define STATUS2_TRANSFORMED 0x00200000
+#define STATUS2_RECHARGE 0x00400000
+#define STATUS2_RAGE 0x00800000
+#define STATUS2_SUBSTITUTE 0x01000000
+#define STATUS2_DESTINY_BOND 0x02000000
+#define STATUS2_ESCAPE_PREVENTION 0x04000000
+#define STATUS2_NIGHTMARE 0x08000000
+#define STATUS2_CURSED 0x10000000
+#define STATUS2_FORESIGHT 0x20000000
+#define STATUS2_DEFENSE_CURL 0x40000000
+#define STATUS2_TORMENT 0x80000000
// Seems like per-battler statuses. Not quite sure how to categorize these
-#define STATUS3_LEECHSEED_BANK 0x3
+#define STATUS3_LEECHSEED_BATTLER 0x3
#define STATUS3_LEECHSEED 0x4
-#define STATUS3_ALWAYS_HITS 0x18 //two bits
+#define STATUS3_ALWAYS_HITS 0x18 // two bits
#define STATUS3_PERISH_SONG 0x20
#define STATUS3_ON_AIR 0x40
#define STATUS3_UNDERGROUND 0x80
#define STATUS3_MINIMIZED 0x100
#define STATUS3_ROOTED 0x400
#define STATUS3_CHARGED_UP 0x200
-#define STATUS3_YAWN 0x1800 //two bits
-#define STATUS3_IMPRISIONED 0x2000
+#define STATUS3_YAWN 0x1800 // two bits
+#define STATUS3_IMPRISONED_OTHERS 0x2000
#define STATUS3_GRUDGE 0x4000
#define STATUS3_CANT_SCORE_A_CRIT 0x8000
#define STATUS3_MUDSPORT 0x10000
@@ -131,7 +133,7 @@
#define STATUS3_UNDERWATER 0x40000
#define STATUS3_INTIMIDATE_POKES 0x80000
#define STATUS3_TRACE 0x100000
-#define STATUS3_SEMI_INVULNERABLE ((STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER))
+#define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER)
// Not really sure what a "hitmarker" is.
#define HITMARKER_x10 0x00000010
@@ -142,7 +144,7 @@
#define HITMARKER_NO_ATTACKSTRING 0x00000200
#define HITMARKER_ATTACKSTRING_PRINTED 0x00000400
#define HITMARKER_NO_PPDEDUCT 0x00000800
-#define HITMARKER_PURSUIT_TRAP 0x00001000
+#define HITMARKER_SWAP_ATTACKER_TARGET 0x00001000
#define HITMARKER_IGNORE_SAFEGUARD 0x00002000
#define HITMARKER_SYNCHRONISE_EFFECT 0x00004000
#define HITMARKER_RUN 0x00008000
@@ -157,9 +159,9 @@
#define HITMARKER_GRUDGE 0x01000000
#define HITMARKER_OBEYS 0x02000000
#define HITMARKER_x4000000 0x04000000
-#define HITMARKER_x8000000 0x08000000
-#define HITMARKER_FAINTED(bank) ((gBitTable[bank] << 0x1C))
-#define HITMARKER_UNK(bank) ((0x10000000 << bank))
+#define HITMARKER_CHARGING 0x08000000
+#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 0x1C)
+#define HITMARKER_UNK(battler) (0x10000000 << battler)
// Per-side statuses that affect an entire party
#define SIDE_STATUS_REFLECT (1 << 0)
@@ -235,7 +237,7 @@
#define MOVE_EFFECT_RAPIDSPIN 0x23
#define MOVE_EFFECT_REMOVE_PARALYSIS 0x24
#define MOVE_EFFECT_ATK_DEF_DOWN 0x25
-#define MOVE_EFFECT_RECOIL_33_PARALYSIS 0x26
+#define MOVE_EFFECT_RECOIL_33 0x26
#define MOVE_EFFECT_ATK_PLUS_2 0x27
#define MOVE_EFFECT_DEF_PLUS_2 0x28
#define MOVE_EFFECT_SPD_PLUS_2 0x29
@@ -322,9 +324,7 @@
#define ABILITYEFFECT_COUNT_ON_FIELD 0x12
#define ABILITYEFFECT_CHECK_ON_FIELD 0x13
-#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0)))
-
-#define BS_GET_TARGET 0
+#define BS_TARGET 0
#define BS_GET_ATTACKER 1
#define BS_GET_EFFECT_BANK 2
#define BS_GET_gBank1 3
diff --git a/include/constants/bg_event_constants.h b/include/constants/event_bg.h
index a915bc509..64f3331b8 100755
--- a/include/constants/bg_event_constants.h
+++ b/include/constants/event_bg.h
@@ -1,5 +1,5 @@
-#ifndef GUARD_CONSTANTS_BG_EVENT_H
-#define GUARD_CONSTANTS_BG_EVENT_H
+#ifndef GUARD_CONSTANTS_EVENT_BG_H
+#define GUARD_CONSTANTS_EVENT_BG_H
#define BG_EVENT_PLAYER_FACING_ANY 0
#define BG_EVENT_PLAYER_FACING_NORTH 1
@@ -10,4 +10,4 @@
#define BG_EVENT_HIDDEN_ITEM 7
#define BG_EVENT_SECRET_BASE 8
-#endif // GUARD_CONSTANTS_BG_EVENT_H
+#endif // GUARD_CONSTANTS_EVENT_BG_H
diff --git a/include/constants/event_object_movement_constants.h b/include/constants/event_object_movement.h
index 81d2417a1..a93a2ac05 100755
--- a/include/constants/event_object_movement_constants.h
+++ b/include/constants/event_object_movement.h
@@ -1,5 +1,5 @@
-#ifndef GUARD_CONSTANTS_EVENTOBJMV_H
-#define GUARD_CONSTANTS_EVENTOBJMV_H
+#ifndef GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H
+#define GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H
#define MOVEMENT_TYPE_NONE 0x0
#define MOVEMENT_TYPE_LOOK_AROUND 0x1
@@ -218,4 +218,4 @@
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT 0x88
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT 0x89
-#endif // GUARD_CONSTANTS_EVENTOBJMV_H
+#endif // GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H
diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h
index 32c7b7625..21cb3f7f4 100644
--- a/include/constants/event_objects.h
+++ b/include/constants/event_objects.h
@@ -1,247 +1,247 @@
#ifndef GUARD_CONSTANTS_EVENT_OBJECTS_H
#define GUARD_CONSTANTS_EVENT_OBJECTS_H
-#define EVENT_OBJ_GFX_BRENDAN_NORMAL 0
-#define EVENT_OBJ_GFX_BRENDAN_MACH_BIKE 1
-#define EVENT_OBJ_GFX_BRENDAN_SURFING 2
-#define EVENT_OBJ_GFX_BRENDAN_FIELD_MOVE 3
-#define EVENT_OBJ_GFX_QUINTY_PLUMP 4
-#define EVENT_OBJ_GFX_LITTLE_BOY_1 5
-#define EVENT_OBJ_GFX_LITTLE_GIRL_1 6
-#define EVENT_OBJ_GFX_BOY_1 7
-#define EVENT_OBJ_GFX_GIRL_1 8
-#define EVENT_OBJ_GFX_BOY_2 9
-#define EVENT_OBJ_GFX_GIRL_2 10
-#define EVENT_OBJ_GFX_LITTLE_BOY_2 11
-#define EVENT_OBJ_GFX_LITTLE_GIRL_2 12
-#define EVENT_OBJ_GFX_BOY_3 13
-#define EVENT_OBJ_GFX_GIRL_3 14
-#define EVENT_OBJ_GFX_BOY_4 15
-#define EVENT_OBJ_GFX_WOMAN_1 16
-#define EVENT_OBJ_GFX_FAT_MAN 17
-#define EVENT_OBJ_GFX_WOMAN_2 18
-#define EVENT_OBJ_GFX_MAN_1 19
-#define EVENT_OBJ_GFX_WOMAN_3 20
-#define EVENT_OBJ_GFX_OLD_MAN_1 21
-#define EVENT_OBJ_GFX_OLD_WOMAN_1 22
-#define EVENT_OBJ_GFX_MAN_2 23
-#define EVENT_OBJ_GFX_WOMAN_4 24
-#define EVENT_OBJ_GFX_MAN_3 25
-#define EVENT_OBJ_GFX_WOMAN_5 26
-#define EVENT_OBJ_GFX_COOK 27
-#define EVENT_OBJ_GFX_WOMAN_6 28
-#define EVENT_OBJ_GFX_OLD_MAN_2 29
-#define EVENT_OBJ_GFX_OLD_WOMAN_2 30
-#define EVENT_OBJ_GFX_CAMPER 31
-#define EVENT_OBJ_GFX_PICNICKER 32
-#define EVENT_OBJ_GFX_MAN_4 33
-#define EVENT_OBJ_GFX_WOMAN_7 34
-#define EVENT_OBJ_GFX_YOUNGSTER 35
-#define EVENT_OBJ_GFX_BUG_CATCHER 36
-#define EVENT_OBJ_GFX_PSYCHIC_M 37
-#define EVENT_OBJ_GFX_SCHOOL_KID_M 38
-#define EVENT_OBJ_GFX_MANIAC 39
-#define EVENT_OBJ_GFX_HEX_MANIAC 40
-#define EVENT_OBJ_GFX_WOMAN_8 41
-#define EVENT_OBJ_GFX_SWIMMER_M 42
-#define EVENT_OBJ_GFX_SWIMMER_F 43
-#define EVENT_OBJ_GFX_BLACK_BELT 44
-#define EVENT_OBJ_GFX_BEAUTY 45
-#define EVENT_OBJ_GFX_SCIENTIST_1 46
-#define EVENT_OBJ_GFX_LASS 47
-#define EVENT_OBJ_GFX_GENTLEMAN 48
-#define EVENT_OBJ_GFX_SAILOR 49
-#define EVENT_OBJ_GFX_FISHERMAN 50
-#define EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M 51
-#define EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F 52
-#define EVENT_OBJ_GFX_TUBER_F 53
-#define EVENT_OBJ_GFX_TUBER_M 54
-#define EVENT_OBJ_GFX_HIKER 55
-#define EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M 56
-#define EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F 57
-#define EVENT_OBJ_GFX_NURSE 58
-#define EVENT_OBJ_GFX_ITEM_BALL 59
-#define EVENT_OBJ_GFX_BERRY_TREE 60
-#define EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES 61
-#define EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES 62
-#define EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE 63
-#define EVENT_OBJ_GFX_PROF_BIRCH 64
-#define EVENT_OBJ_GFX_MAN_5 65
-#define EVENT_OBJ_GFX_MAN_6 66
-#define EVENT_OBJ_GFX_REPORTER_M 67
-#define EVENT_OBJ_GFX_REPORTER_F 68
-#define EVENT_OBJ_GFX_BARD 69
-#define EVENT_OBJ_GFX_HIPSTER 70
-#define EVENT_OBJ_GFX_TRADER 71
-#define EVENT_OBJ_GFX_STORYTELLER 72
-#define EVENT_OBJ_GFX_GIDDY 73
-#define EVENT_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_1 74
-#define EVENT_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_2 75
-#define EVENT_OBJ_GFX_UNUSED_NATU_DOLL 76
-#define EVENT_OBJ_GFX_UNUSED_MAGNEMITE_DOLL 77
-#define EVENT_OBJ_GFX_UNUSED_SQUIRTLE_DOLL 78
-#define EVENT_OBJ_GFX_UNUSED_WOOPER_DOLL 79
-#define EVENT_OBJ_GFX_UNUSED_PIKACHU_DOLL 80
-#define EVENT_OBJ_GFX_UNUSED_PORYGON2_DOLL 81
-#define EVENT_OBJ_GFX_CUTTABLE_TREE 82
-#define EVENT_OBJ_GFX_MART_EMPLOYEE 83
-#define EVENT_OBJ_GFX_ROOFTOP_SALE_WOMAN 84
-#define EVENT_OBJ_GFX_TEALA 85
-#define EVENT_OBJ_GFX_BREAKABLE_ROCK 86
-#define EVENT_OBJ_GFX_PUSHABLE_BOULDER 87
-#define EVENT_OBJ_GFX_MR_BRINEYS_BOAT 88
-#define EVENT_OBJ_GFX_MAY_NORMAL 89
-#define EVENT_OBJ_GFX_MAY_MACH_BIKE 90
-#define EVENT_OBJ_GFX_MAY_ACRO_BIKE 91
-#define EVENT_OBJ_GFX_MAY_SURFING 92
-#define EVENT_OBJ_GFX_MAY_FIELD_MOVE 93
-#define EVENT_OBJ_GFX_TRUCK 94
-#define EVENT_OBJ_GFX_MACHOKE_CARRYING_BOX 95
-#define EVENT_OBJ_GFX_MACHOKE_FACING_AWAY 96
-#define EVENT_OBJ_GFX_BIRCHS_BAG 97
-#define EVENT_OBJ_GFX_POOCHYENA 98
-#define EVENT_OBJ_GFX_ARTIST 99
-#define EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL 100
-#define EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE 101
-#define EVENT_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE 102
-#define EVENT_OBJ_GFX_RIVAL_BRENDAN_SURFING 103
-#define EVENT_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE 104
-#define EVENT_OBJ_GFX_RIVAL_MAY_NORMAL 105
-#define EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE 106
-#define EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE 107
-#define EVENT_OBJ_GFX_RIVAL_MAY_SURFING 108
-#define EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE 109
-#define EVENT_OBJ_GFX_CAMERAMAN 110
-#define EVENT_OBJ_GFX_BRENDAN_UNDERWATER 111
-#define EVENT_OBJ_GFX_MAY_UNDERWATER 112
-#define EVENT_OBJ_GFX_MOVING_BOX 113
-#define EVENT_OBJ_GFX_CABLE_CAR 114
-#define EVENT_OBJ_GFX_SCIENTIST_2 115
-#define EVENT_OBJ_GFX_MAN_7 116
-#define EVENT_OBJ_GFX_AQUA_MEMBER_M 117
-#define EVENT_OBJ_GFX_AQUA_MEMBER_F 118
-#define EVENT_OBJ_GFX_MAGMA_MEMBER_M 119
-#define EVENT_OBJ_GFX_MAGMA_MEMBER_F 120
-#define EVENT_OBJ_GFX_SIDNEY 121
-#define EVENT_OBJ_GFX_PHOEBE 122
-#define EVENT_OBJ_GFX_GLACIA 123
-#define EVENT_OBJ_GFX_DRAKE 124
-#define EVENT_OBJ_GFX_ROXANNE 125
-#define EVENT_OBJ_GFX_BRAWLY 126
-#define EVENT_OBJ_GFX_WATTSON 127
-#define EVENT_OBJ_GFX_FLANNERY 128
-#define EVENT_OBJ_GFX_NORMAN 129
-#define EVENT_OBJ_GFX_WINONA 130
-#define EVENT_OBJ_GFX_LIZA 131
-#define EVENT_OBJ_GFX_TATE 132
-#define EVENT_OBJ_GFX_WALLACE 133
-#define EVENT_OBJ_GFX_STEVEN 134
-#define EVENT_OBJ_GFX_WALLY 135
-#define EVENT_OBJ_GFX_LITTLE_BOY_3 136
-#define EVENT_OBJ_GFX_BRENDAN_FISHING 137
-#define EVENT_OBJ_GFX_MAY_FISHING 138
-#define EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN 139
-#define EVENT_OBJ_GFX_SS_TIDAL 140
-#define EVENT_OBJ_GFX_SUBMARINE_SHADOW 141
-#define EVENT_OBJ_GFX_PICHU_DOLL 142
-#define EVENT_OBJ_GFX_PIKACHU_DOLL 143
-#define EVENT_OBJ_GFX_MARILL_DOLL 144
-#define EVENT_OBJ_GFX_TOGEPI_DOLL 145
-#define EVENT_OBJ_GFX_CYNDAQUIL_DOLL 146
-#define EVENT_OBJ_GFX_CHIKORITA_DOLL 147
-#define EVENT_OBJ_GFX_TOTODILE_DOLL 148
-#define EVENT_OBJ_GFX_JIGGLYPUFF_DOLL 149
-#define EVENT_OBJ_GFX_MEOWTH_DOLL 150
-#define EVENT_OBJ_GFX_CLEFAIRY_DOLL 151
-#define EVENT_OBJ_GFX_DITTO_DOLL 152
-#define EVENT_OBJ_GFX_SMOOCHUM_DOLL 153
-#define EVENT_OBJ_GFX_TREECKO_DOLL 154
-#define EVENT_OBJ_GFX_TORCHIC_DOLL 155
-#define EVENT_OBJ_GFX_MUDKIP_DOLL 156
-#define EVENT_OBJ_GFX_DUSKULL_DOLL 157
-#define EVENT_OBJ_GFX_WYNAUT_DOLL 158
-#define EVENT_OBJ_GFX_BALTOY_DOLL 159
-#define EVENT_OBJ_GFX_KECLEON_DOLL 160
-#define EVENT_OBJ_GFX_AZURILL_DOLL 161
-#define EVENT_OBJ_GFX_SKITTY_DOLL 162
-#define EVENT_OBJ_GFX_SWABLU_DOLL 163
-#define EVENT_OBJ_GFX_GULPIN_DOLL 164
-#define EVENT_OBJ_GFX_LOTAD_DOLL 165
-#define EVENT_OBJ_GFX_SEEDOT_DOLL 166
-#define EVENT_OBJ_GFX_PIKA_CUSHION 167
-#define EVENT_OBJ_GFX_ROUND_CUSHION 168
-#define EVENT_OBJ_GFX_KISS_CUSHION 169
-#define EVENT_OBJ_GFX_ZIGZAG_CUSHION 170
-#define EVENT_OBJ_GFX_SPIN_CUSHION 171
-#define EVENT_OBJ_GFX_DIAMOND_CUSHION 172
-#define EVENT_OBJ_GFX_BALL_CUSHION 173
-#define EVENT_OBJ_GFX_GRASS_CUSHION 174
-#define EVENT_OBJ_GFX_FIRE_CUSHION 175
-#define EVENT_OBJ_GFX_WATER_CUSHION 176
-#define EVENT_OBJ_GFX_BIG_SNORLAX_DOLL 177
-#define EVENT_OBJ_GFX_BIG_RHYDON_DOLL 178
-#define EVENT_OBJ_GFX_BIG_LAPRAS_DOLL 179
-#define EVENT_OBJ_GFX_BIG_VENUSAUR_DOLL 180
-#define EVENT_OBJ_GFX_BIG_CHARIZARD_DOLL 181
-#define EVENT_OBJ_GFX_BIG_BLASTOISE_DOLL 182
-#define EVENT_OBJ_GFX_BIG_WAILMER_DOLL 183
-#define EVENT_OBJ_GFX_BIG_REGIROCK_DOLL 184
-#define EVENT_OBJ_GFX_BIG_REGICE_DOLL 185
-#define EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL 186
-#define EVENT_OBJ_GFX_LATIAS 187
-#define EVENT_OBJ_GFX_LATIOS 188
-#define EVENT_OBJ_GFX_BOY_5 189
-#define EVENT_OBJ_GFX_CONTEST_JUDGE 190
-#define EVENT_OBJ_GFX_BRENDAN_WATERING 191
-#define EVENT_OBJ_GFX_MAY_WATERING 192
-#define EVENT_OBJ_GFX_BRENDAN_DECORATING 193
-#define EVENT_OBJ_GFX_MAY_DECORATING 194
-#define EVENT_OBJ_GFX_ARCHIE 195
-#define EVENT_OBJ_GFX_MAXIE 196
-#define EVENT_OBJ_GFX_KYOGRE_1 197
-#define EVENT_OBJ_GFX_GROUDON_1 198
-#define EVENT_OBJ_GFX_FOSSIL 199
-#define EVENT_OBJ_GFX_REGIROCK 200
-#define EVENT_OBJ_GFX_REGICE 201
-#define EVENT_OBJ_GFX_REGISTEEL 202
-#define EVENT_OBJ_GFX_SKITTY 203
-#define EVENT_OBJ_GFX_KECLEON_1 204
-#define EVENT_OBJ_GFX_KYOGRE_2 205
-#define EVENT_OBJ_GFX_GROUDON_2 206
-#define EVENT_OBJ_GFX_RAYQUAZA 207
-#define EVENT_OBJ_GFX_ZIGZAGOON 208
-#define EVENT_OBJ_GFX_PIKACHU 209
-#define EVENT_OBJ_GFX_AZUMARILL 210
-#define EVENT_OBJ_GFX_WINGULL 211
-#define EVENT_OBJ_GFX_KECLEON_2 212
-#define EVENT_OBJ_GFX_TUBER_M_SWIMMING 213
-#define EVENT_OBJ_GFX_AZURILL 214
-#define EVENT_OBJ_GFX_MOM 215
-#define EVENT_OBJ_GFX_LINK_BRENDAN 216
-#define EVENT_OBJ_GFX_LINK_MAY 217
+#define OBJ_EVENT_GFX_BRENDAN_NORMAL 0
+#define OBJ_EVENT_GFX_BRENDAN_MACH_BIKE 1
+#define OBJ_EVENT_GFX_BRENDAN_SURFING 2
+#define OBJ_EVENT_GFX_BRENDAN_FIELD_MOVE 3
+#define OBJ_EVENT_GFX_QUINTY_PLUMP 4
+#define OBJ_EVENT_GFX_LITTLE_BOY_1 5
+#define OBJ_EVENT_GFX_LITTLE_GIRL_1 6
+#define OBJ_EVENT_GFX_BOY_1 7
+#define OBJ_EVENT_GFX_GIRL_1 8
+#define OBJ_EVENT_GFX_BOY_2 9
+#define OBJ_EVENT_GFX_GIRL_2 10
+#define OBJ_EVENT_GFX_LITTLE_BOY_2 11
+#define OBJ_EVENT_GFX_LITTLE_GIRL_2 12
+#define OBJ_EVENT_GFX_BOY_3 13
+#define OBJ_EVENT_GFX_GIRL_3 14
+#define OBJ_EVENT_GFX_BOY_4 15
+#define OBJ_EVENT_GFX_WOMAN_1 16
+#define OBJ_EVENT_GFX_FAT_MAN 17
+#define OBJ_EVENT_GFX_WOMAN_2 18
+#define OBJ_EVENT_GFX_MAN_1 19
+#define OBJ_EVENT_GFX_WOMAN_3 20
+#define OBJ_EVENT_GFX_OLD_MAN_1 21
+#define OBJ_EVENT_GFX_OLD_WOMAN_1 22
+#define OBJ_EVENT_GFX_MAN_2 23
+#define OBJ_EVENT_GFX_WOMAN_4 24
+#define OBJ_EVENT_GFX_MAN_3 25
+#define OBJ_EVENT_GFX_WOMAN_5 26
+#define OBJ_EVENT_GFX_COOK 27
+#define OBJ_EVENT_GFX_WOMAN_6 28
+#define OBJ_EVENT_GFX_OLD_MAN_2 29
+#define OBJ_EVENT_GFX_OLD_WOMAN_2 30
+#define OBJ_EVENT_GFX_CAMPER 31
+#define OBJ_EVENT_GFX_PICNICKER 32
+#define OBJ_EVENT_GFX_MAN_4 33
+#define OBJ_EVENT_GFX_WOMAN_7 34
+#define OBJ_EVENT_GFX_YOUNGSTER 35
+#define OBJ_EVENT_GFX_BUG_CATCHER 36
+#define OBJ_EVENT_GFX_PSYCHIC_M 37
+#define OBJ_EVENT_GFX_SCHOOL_KID_M 38
+#define OBJ_EVENT_GFX_MANIAC 39
+#define OBJ_EVENT_GFX_HEX_MANIAC 40
+#define OBJ_EVENT_GFX_WOMAN_8 41
+#define OBJ_EVENT_GFX_SWIMMER_M 42
+#define OBJ_EVENT_GFX_SWIMMER_F 43
+#define OBJ_EVENT_GFX_BLACK_BELT 44
+#define OBJ_EVENT_GFX_BEAUTY 45
+#define OBJ_EVENT_GFX_SCIENTIST_1 46
+#define OBJ_EVENT_GFX_LASS 47
+#define OBJ_EVENT_GFX_GENTLEMAN 48
+#define OBJ_EVENT_GFX_SAILOR 49
+#define OBJ_EVENT_GFX_FISHERMAN 50
+#define OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M 51
+#define OBJ_EVENT_GFX_RUNNING_TRIATHLETE_F 52
+#define OBJ_EVENT_GFX_TUBER_F 53
+#define OBJ_EVENT_GFX_TUBER_M 54
+#define OBJ_EVENT_GFX_HIKER 55
+#define OBJ_EVENT_GFX_CYCLING_TRIATHLETE_M 56
+#define OBJ_EVENT_GFX_CYCLING_TRIATHLETE_F 57
+#define OBJ_EVENT_GFX_NURSE 58
+#define OBJ_EVENT_GFX_ITEM_BALL 59
+#define OBJ_EVENT_GFX_BERRY_TREE 60
+#define OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES 61
+#define OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES 62
+#define OBJ_EVENT_GFX_BRENDAN_ACRO_BIKE 63
+#define OBJ_EVENT_GFX_PROF_BIRCH 64
+#define OBJ_EVENT_GFX_MAN_5 65
+#define OBJ_EVENT_GFX_MAN_6 66
+#define OBJ_EVENT_GFX_REPORTER_M 67
+#define OBJ_EVENT_GFX_REPORTER_F 68
+#define OBJ_EVENT_GFX_BARD 69
+#define OBJ_EVENT_GFX_HIPSTER 70
+#define OBJ_EVENT_GFX_TRADER 71
+#define OBJ_EVENT_GFX_STORYTELLER 72
+#define OBJ_EVENT_GFX_GIDDY 73
+#define OBJ_EVENT_GFX_UNUSED_MAUVILLE_OLD_MAN_1 74
+#define OBJ_EVENT_GFX_UNUSED_MAUVILLE_OLD_MAN_2 75
+#define OBJ_EVENT_GFX_UNUSED_NATU_DOLL 76
+#define OBJ_EVENT_GFX_UNUSED_MAGNEMITE_DOLL 77
+#define OBJ_EVENT_GFX_UNUSED_SQUIRTLE_DOLL 78
+#define OBJ_EVENT_GFX_UNUSED_WOOPER_DOLL 79
+#define OBJ_EVENT_GFX_UNUSED_PIKACHU_DOLL 80
+#define OBJ_EVENT_GFX_UNUSED_PORYGON2_DOLL 81
+#define OBJ_EVENT_GFX_CUTTABLE_TREE 82
+#define OBJ_EVENT_GFX_MART_EMPLOYEE 83
+#define OBJ_EVENT_GFX_ROOFTOP_SALE_WOMAN 84
+#define OBJ_EVENT_GFX_TEALA 85
+#define OBJ_EVENT_GFX_BREAKABLE_ROCK 86
+#define OBJ_EVENT_GFX_PUSHABLE_BOULDER 87
+#define OBJ_EVENT_GFX_MR_BRINEYS_BOAT 88
+#define OBJ_EVENT_GFX_MAY_NORMAL 89
+#define OBJ_EVENT_GFX_MAY_MACH_BIKE 90
+#define OBJ_EVENT_GFX_MAY_ACRO_BIKE 91
+#define OBJ_EVENT_GFX_MAY_SURFING 92
+#define OBJ_EVENT_GFX_MAY_FIELD_MOVE 93
+#define OBJ_EVENT_GFX_TRUCK 94
+#define OBJ_EVENT_GFX_MACHOKE_CARRYING_BOX 95
+#define OBJ_EVENT_GFX_MACHOKE_FACING_AWAY 96
+#define OBJ_EVENT_GFX_BIRCHS_BAG 97
+#define OBJ_EVENT_GFX_POOCHYENA 98
+#define OBJ_EVENT_GFX_ARTIST 99
+#define OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL 100
+#define OBJ_EVENT_GFX_RIVAL_BRENDAN_MACH_BIKE 101
+#define OBJ_EVENT_GFX_RIVAL_BRENDAN_ACRO_BIKE 102
+#define OBJ_EVENT_GFX_RIVAL_BRENDAN_SURFING 103
+#define OBJ_EVENT_GFX_RIVAL_BRENDAN_FIELD_MOVE 104
+#define OBJ_EVENT_GFX_RIVAL_MAY_NORMAL 105
+#define OBJ_EVENT_GFX_RIVAL_MAY_MACH_BIKE 106
+#define OBJ_EVENT_GFX_RIVAL_MAY_ACRO_BIKE 107
+#define OBJ_EVENT_GFX_RIVAL_MAY_SURFING 108
+#define OBJ_EVENT_GFX_RIVAL_MAY_FIELD_MOVE 109
+#define OBJ_EVENT_GFX_CAMERAMAN 110
+#define OBJ_EVENT_GFX_BRENDAN_UNDERWATER 111
+#define OBJ_EVENT_GFX_MAY_UNDERWATER 112
+#define OBJ_EVENT_GFX_MOVING_BOX 113
+#define OBJ_EVENT_GFX_CABLE_CAR 114
+#define OBJ_EVENT_GFX_SCIENTIST_2 115
+#define OBJ_EVENT_GFX_MAN_7 116
+#define OBJ_EVENT_GFX_AQUA_MEMBER_M 117
+#define OBJ_EVENT_GFX_AQUA_MEMBER_F 118
+#define OBJ_EVENT_GFX_MAGMA_MEMBER_M 119
+#define OBJ_EVENT_GFX_MAGMA_MEMBER_F 120
+#define OBJ_EVENT_GFX_SIDNEY 121
+#define OBJ_EVENT_GFX_PHOEBE 122
+#define OBJ_EVENT_GFX_GLACIA 123
+#define OBJ_EVENT_GFX_DRAKE 124
+#define OBJ_EVENT_GFX_ROXANNE 125
+#define OBJ_EVENT_GFX_BRAWLY 126
+#define OBJ_EVENT_GFX_WATTSON 127
+#define OBJ_EVENT_GFX_FLANNERY 128
+#define OBJ_EVENT_GFX_NORMAN 129
+#define OBJ_EVENT_GFX_WINONA 130
+#define OBJ_EVENT_GFX_LIZA 131
+#define OBJ_EVENT_GFX_TATE 132
+#define OBJ_EVENT_GFX_WALLACE 133
+#define OBJ_EVENT_GFX_STEVEN 134
+#define OBJ_EVENT_GFX_WALLY 135
+#define OBJ_EVENT_GFX_LITTLE_BOY_3 136
+#define OBJ_EVENT_GFX_BRENDAN_FISHING 137
+#define OBJ_EVENT_GFX_MAY_FISHING 138
+#define OBJ_EVENT_GFX_HOT_SPRINGS_OLD_WOMAN 139
+#define OBJ_EVENT_GFX_SS_TIDAL 140
+#define OBJ_EVENT_GFX_SUBMARINE_SHADOW 141
+#define OBJ_EVENT_GFX_PICHU_DOLL 142
+#define OBJ_EVENT_GFX_PIKACHU_DOLL 143
+#define OBJ_EVENT_GFX_MARILL_DOLL 144
+#define OBJ_EVENT_GFX_TOGEPI_DOLL 145
+#define OBJ_EVENT_GFX_CYNDAQUIL_DOLL 146
+#define OBJ_EVENT_GFX_CHIKORITA_DOLL 147
+#define OBJ_EVENT_GFX_TOTODILE_DOLL 148
+#define OBJ_EVENT_GFX_JIGGLYPUFF_DOLL 149
+#define OBJ_EVENT_GFX_MEOWTH_DOLL 150
+#define OBJ_EVENT_GFX_CLEFAIRY_DOLL 151
+#define OBJ_EVENT_GFX_DITTO_DOLL 152
+#define OBJ_EVENT_GFX_SMOOCHUM_DOLL 153
+#define OBJ_EVENT_GFX_TREECKO_DOLL 154
+#define OBJ_EVENT_GFX_TORCHIC_DOLL 155
+#define OBJ_EVENT_GFX_MUDKIP_DOLL 156
+#define OBJ_EVENT_GFX_DUSKULL_DOLL 157
+#define OBJ_EVENT_GFX_WYNAUT_DOLL 158
+#define OBJ_EVENT_GFX_BALTOY_DOLL 159
+#define OBJ_EVENT_GFX_KECLEON_DOLL 160
+#define OBJ_EVENT_GFX_AZURILL_DOLL 161
+#define OBJ_EVENT_GFX_SKITTY_DOLL 162
+#define OBJ_EVENT_GFX_SWABLU_DOLL 163
+#define OBJ_EVENT_GFX_GULPIN_DOLL 164
+#define OBJ_EVENT_GFX_LOTAD_DOLL 165
+#define OBJ_EVENT_GFX_SEEDOT_DOLL 166
+#define OBJ_EVENT_GFX_PIKA_CUSHION 167
+#define OBJ_EVENT_GFX_ROUND_CUSHION 168
+#define OBJ_EVENT_GFX_KISS_CUSHION 169
+#define OBJ_EVENT_GFX_ZIGZAG_CUSHION 170
+#define OBJ_EVENT_GFX_SPIN_CUSHION 171
+#define OBJ_EVENT_GFX_DIAMOND_CUSHION 172
+#define OBJ_EVENT_GFX_BALL_CUSHION 173
+#define OBJ_EVENT_GFX_GRASS_CUSHION 174
+#define OBJ_EVENT_GFX_FIRE_CUSHION 175
+#define OBJ_EVENT_GFX_WATER_CUSHION 176
+#define OBJ_EVENT_GFX_BIG_SNORLAX_DOLL 177
+#define OBJ_EVENT_GFX_BIG_RHYDON_DOLL 178
+#define OBJ_EVENT_GFX_BIG_LAPRAS_DOLL 179
+#define OBJ_EVENT_GFX_BIG_VENUSAUR_DOLL 180
+#define OBJ_EVENT_GFX_BIG_CHARIZARD_DOLL 181
+#define OBJ_EVENT_GFX_BIG_BLASTOISE_DOLL 182
+#define OBJ_EVENT_GFX_BIG_WAILMER_DOLL 183
+#define OBJ_EVENT_GFX_BIG_REGIROCK_DOLL 184
+#define OBJ_EVENT_GFX_BIG_REGICE_DOLL 185
+#define OBJ_EVENT_GFX_BIG_REGISTEEL_DOLL 186
+#define OBJ_EVENT_GFX_LATIAS 187
+#define OBJ_EVENT_GFX_LATIOS 188
+#define OBJ_EVENT_GFX_BOY_5 189
+#define OBJ_EVENT_GFX_CONTEST_JUDGE 190
+#define OBJ_EVENT_GFX_BRENDAN_WATERING 191
+#define OBJ_EVENT_GFX_MAY_WATERING 192
+#define OBJ_EVENT_GFX_BRENDAN_DECORATING 193
+#define OBJ_EVENT_GFX_MAY_DECORATING 194
+#define OBJ_EVENT_GFX_ARCHIE 195
+#define OBJ_EVENT_GFX_MAXIE 196
+#define OBJ_EVENT_GFX_KYOGRE_1 197
+#define OBJ_EVENT_GFX_GROUDON_1 198
+#define OBJ_EVENT_GFX_FOSSIL 199
+#define OBJ_EVENT_GFX_REGIROCK 200
+#define OBJ_EVENT_GFX_REGICE 201
+#define OBJ_EVENT_GFX_REGISTEEL 202
+#define OBJ_EVENT_GFX_SKITTY 203
+#define OBJ_EVENT_GFX_KECLEON_1 204
+#define OBJ_EVENT_GFX_KYOGRE_2 205
+#define OBJ_EVENT_GFX_GROUDON_2 206
+#define OBJ_EVENT_GFX_RAYQUAZA 207
+#define OBJ_EVENT_GFX_ZIGZAGOON 208
+#define OBJ_EVENT_GFX_PIKACHU 209
+#define OBJ_EVENT_GFX_AZUMARILL 210
+#define OBJ_EVENT_GFX_WINGULL 211
+#define OBJ_EVENT_GFX_KECLEON_2 212
+#define OBJ_EVENT_GFX_TUBER_M_SWIMMING 213
+#define OBJ_EVENT_GFX_AZURILL 214
+#define OBJ_EVENT_GFX_MOM 215
+#define OBJ_EVENT_GFX_LINK_BRENDAN 216
+#define OBJ_EVENT_GFX_LINK_MAY 217
+
+#define NUM_OBJ_EVENT_GFX 218
// These are dynamic object gfx ids.
// They correspond with the values of the VAR_OBJ_GFX_ID_X vars.
// More info about them in include/constants/vars.h
-#define EVENT_OBJ_GFX_VAR_0 240
-#define EVENT_OBJ_GFX_VAR_1 241
-#define EVENT_OBJ_GFX_VAR_2 242
-#define EVENT_OBJ_GFX_VAR_3 243
-#define EVENT_OBJ_GFX_VAR_4 244
-#define EVENT_OBJ_GFX_VAR_5 245
-#define EVENT_OBJ_GFX_VAR_6 246
-#define EVENT_OBJ_GFX_VAR_7 247
-#define EVENT_OBJ_GFX_VAR_8 248
-#define EVENT_OBJ_GFX_VAR_9 249
-#define EVENT_OBJ_GFX_VAR_A 250
-#define EVENT_OBJ_GFX_VAR_B 251
-#define EVENT_OBJ_GFX_VAR_C 252
-#define EVENT_OBJ_GFX_VAR_D 253
-#define EVENT_OBJ_GFX_VAR_E 254
-#define EVENT_OBJ_GFX_VAR_F 255
-
-#define NUM_OBJECT_GRAPHICS_INFO 217
-#define SPRITE_VAR 239
+#define OBJ_EVENT_GFX_VARS 240
+#define OBJ_EVENT_GFX_VAR_0 (OBJ_EVENT_GFX_VARS + 0x0)
+#define OBJ_EVENT_GFX_VAR_1 (OBJ_EVENT_GFX_VARS + 0x1)
+#define OBJ_EVENT_GFX_VAR_2 (OBJ_EVENT_GFX_VARS + 0x2)
+#define OBJ_EVENT_GFX_VAR_3 (OBJ_EVENT_GFX_VARS + 0x3)
+#define OBJ_EVENT_GFX_VAR_4 (OBJ_EVENT_GFX_VARS + 0x4)
+#define OBJ_EVENT_GFX_VAR_5 (OBJ_EVENT_GFX_VARS + 0x5)
+#define OBJ_EVENT_GFX_VAR_6 (OBJ_EVENT_GFX_VARS + 0x6)
+#define OBJ_EVENT_GFX_VAR_7 (OBJ_EVENT_GFX_VARS + 0x7)
+#define OBJ_EVENT_GFX_VAR_8 (OBJ_EVENT_GFX_VARS + 0x8)
+#define OBJ_EVENT_GFX_VAR_9 (OBJ_EVENT_GFX_VARS + 0x9)
+#define OBJ_EVENT_GFX_VAR_A (OBJ_EVENT_GFX_VARS + 0xA)
+#define OBJ_EVENT_GFX_VAR_B (OBJ_EVENT_GFX_VARS + 0xB)
+#define OBJ_EVENT_GFX_VAR_C (OBJ_EVENT_GFX_VARS + 0xC)
+#define OBJ_EVENT_GFX_VAR_D (OBJ_EVENT_GFX_VARS + 0xD)
+#define OBJ_EVENT_GFX_VAR_E (OBJ_EVENT_GFX_VARS + 0xE)
+#define OBJ_EVENT_GFX_VAR_F (OBJ_EVENT_GFX_VARS + 0xF) // 255
#define SHADOW_SIZE_S 0
#define SHADOW_SIZE_M 1
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 753024403..a6fa4c806 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -357,7 +357,7 @@
#define FLAG_HIDDEN_ITEM_61 0x2B9
-// event object hide/show flags
+// object event hide/show flags
#define FLAG_HIDE_BIRCH_STARTERS_BAG 0x2BC
#define FLAG_HIDE_BIRCH_BATTLE_POOCHYENA 0x2D0
diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h
index 0995d5309..f126d222a 100644
--- a/include/constants/metatile_labels.h
+++ b/include/constants/metatile_labels.h
@@ -191,12 +191,12 @@
#define METATILE_MauvilleGym_PoleBottom_Off 0x243
// gTileset_MossdeepGym
-#define METATILE_MossdeepGym_Obelisk_Top 0x204
-#define METATILE_MossdeepGym_Obelisk_Base 0x20C
-#define METATILE_MossdeepGym_Wall_LeftCorner 0x20D
-#define METATILE_MossdeepGym_OuterWall_RightCorner 0x205
-#define METATILE_MossdeepGym_Empty0 0x238
-#define METATILE_MossdeepGym_Empty1 0x239
+#define METATILE_MossdeepGym_RedArrow_Right 0x204
+#define METATILE_MossdeepGym_RedArrow_Left 0x20C
+#define METATILE_MossdeepGym_RedArrow_Up 0x20D
+#define METATILE_MossdeepGym_RedArrow_Down 0x205
+#define METATILE_MossdeepGym_Switch_Up 0x238
+#define METATILE_MossdeepGym_Switch_Down 0x239
// gTileset_Building
#define METATILE_Building_TV_Off 0x002
diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h
new file mode 100644
index 000000000..8e7c01eb5
--- /dev/null
+++ b/include/constants/pokemon.h
@@ -0,0 +1,144 @@
+#ifndef GUARD_CONSTANTS_POKEMON_H
+#define GUARD_CONSTANTS_POKEMON_H
+
+#define MON_DATA_PERSONALITY 0
+#define MON_DATA_OT_ID 1
+#define MON_DATA_NICKNAME 2
+#define MON_DATA_LANGUAGE 3
+#define MON_DATA_SANITY_BIT1 4
+#define MON_DATA_SANITY_BIT2 5
+#define MON_DATA_SANITY_BIT3 6
+#define MON_DATA_OT_NAME 7
+#define MON_DATA_MARKINGS 8
+#define MON_DATA_CHECKSUM 9
+#define MON_DATA_10 10
+#define MON_DATA_SPECIES 11
+#define MON_DATA_HELD_ITEM 12
+#define MON_DATA_MOVE1 13
+#define MON_DATA_MOVE2 14
+#define MON_DATA_MOVE3 15
+#define MON_DATA_MOVE4 16
+#define MON_DATA_PP1 17
+#define MON_DATA_PP2 18
+#define MON_DATA_PP3 19
+#define MON_DATA_PP4 20
+#define MON_DATA_PP_BONUSES 21
+#define MON_DATA_COOL 22
+#define MON_DATA_BEAUTY 23
+#define MON_DATA_CUTE 24
+#define MON_DATA_EXP 25
+#define MON_DATA_HP_EV 26
+#define MON_DATA_ATK_EV 27
+#define MON_DATA_DEF_EV 28
+#define MON_DATA_SPEED_EV 29
+#define MON_DATA_SPATK_EV 30
+#define MON_DATA_SPDEF_EV 31
+#define MON_DATA_FRIENDSHIP 32
+#define MON_DATA_SMART 33
+#define MON_DATA_POKERUS 34
+#define MON_DATA_MET_LOCATION 35
+#define MON_DATA_MET_LEVEL 36
+#define MON_DATA_MET_GAME 37
+#define MON_DATA_POKEBALL 38
+#define MON_DATA_HP_IV 39
+#define MON_DATA_ATK_IV 40
+#define MON_DATA_DEF_IV 41
+#define MON_DATA_SPEED_IV 42
+#define MON_DATA_SPATK_IV 43
+#define MON_DATA_SPDEF_IV 44
+#define MON_DATA_IS_EGG 45
+#define MON_DATA_ALT_ABILITY 46
+#define MON_DATA_TOUGH 47
+#define MON_DATA_SHEEN 48
+#define MON_DATA_OT_GENDER 49
+#define MON_DATA_COOL_RIBBON 50
+#define MON_DATA_BEAUTY_RIBBON 51
+#define MON_DATA_CUTE_RIBBON 52
+#define MON_DATA_SMART_RIBBON 53
+#define MON_DATA_TOUGH_RIBBON 54
+#define MON_DATA_STATUS 55
+#define MON_DATA_LEVEL 56
+#define MON_DATA_HP 57
+#define MON_DATA_MAX_HP 58
+#define MON_DATA_ATK 59
+#define MON_DATA_DEF 60
+#define MON_DATA_SPEED 61
+#define MON_DATA_SPATK 62
+#define MON_DATA_SPDEF 63
+#define MON_DATA_MAIL 64
+#define MON_DATA_SPECIES2 65
+#define MON_DATA_IVS 66
+#define MON_DATA_CHAMPION_RIBBON 67
+#define MON_DATA_WINNING_RIBBON 68
+#define MON_DATA_VICTORY_RIBBON 69
+#define MON_DATA_ARTIST_RIBBON 70
+#define MON_DATA_EFFORT_RIBBON 71
+#define MON_DATA_GIFT_RIBBON_1 72
+#define MON_DATA_GIFT_RIBBON_2 73
+#define MON_DATA_GIFT_RIBBON_3 74
+#define MON_DATA_GIFT_RIBBON_4 75
+#define MON_DATA_GIFT_RIBBON_5 76
+#define MON_DATA_GIFT_RIBBON_6 77
+#define MON_DATA_GIFT_RIBBON_7 78
+#define MON_DATA_FATEFUL_ENCOUNTER 79
+#define MON_DATA_KNOWN_MOVES 80
+#define MON_DATA_RIBBON_COUNT 81
+#define MON_DATA_RIBBONS 82
+#define MON_DATA_83 83
+#define MON_DATA_ATK2 84
+#define MON_DATA_DEF2 85
+#define MON_DATA_SPEED2 86
+#define MON_DATA_SPATK2 87
+#define MON_DATA_SPDEF2 88
+
+#define MIN_LEVEL 1
+#define MAX_LEVEL 100
+
+#define MON_MALE 0x00
+#define MON_FEMALE 0xFE
+#define MON_GENDERLESS 0xFF
+
+#define TYPE_NORMAL 0x00
+#define TYPE_FIGHTING 0x01
+#define TYPE_FLYING 0x02
+#define TYPE_POISON 0x03
+#define TYPE_GROUND 0x04
+#define TYPE_ROCK 0x05
+#define TYPE_BUG 0x06
+#define TYPE_GHOST 0x07
+#define TYPE_STEEL 0x08
+#define TYPE_MYSTERY 0x09
+#define TYPE_FIRE 0x0a
+#define TYPE_WATER 0x0b
+#define TYPE_GRASS 0x0c
+#define TYPE_ELECTRIC 0x0d
+#define TYPE_PSYCHIC 0x0e
+#define TYPE_ICE 0x0f
+#define TYPE_DRAGON 0x10
+#define TYPE_DARK 0x11
+#define NUMBER_OF_MON_TYPES 0x12
+
+#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0
+#define FRIENDSHIP_EVENT_VITAMIN 0x1 // unused
+#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 // unused
+#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3
+#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4
+#define FRIENDSHIP_EVENT_WALKING 0x5
+#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6
+#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7
+#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8
+
+#define STATUS_PRIMARY_NONE 0x0
+#define STATUS_PRIMARY_POISON 0x1
+#define STATUS_PRIMARY_PARALYSIS 0x2
+#define STATUS_PRIMARY_SLEEP 0x3
+#define STATUS_PRIMARY_FREEZE 0x4
+#define STATUS_PRIMARY_BURN 0x5
+#define STATUS_PRIMARY_POKERUS 0x6
+#define STATUS_PRIMARY_FAINTED 0x7
+
+#define MAX_TOTAL_EVS 510
+#define NUM_STATS 6
+#define UNOWN_FORM_COUNT 28
+
+#endif // GUARD_CONSTANTS_POKEMON_H
diff --git a/include/constants/vars.h b/include/constants/vars.h
index 856aba069..795498212 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -25,9 +25,9 @@
#define VAR_TEMP_F 0x400F
// object gfx id vars
-// These 0x10 vars are used to dynamically control a event object's sprite.
+// These 0x10 vars are used to dynamically control an object event's sprite.
// For example, the rival's sprite id is dynamically set based on the player's gender.
-// See VarGetEventObjectGraphicsId().
+// See VarGetObjectEventGraphicsId().
#define VAR_OBJ_GFX_ID_0 0x4010
#define VAR_OBJ_GFX_ID_1 0x4011
#define VAR_OBJ_GFX_ID_2 0x4012
@@ -172,25 +172,26 @@
#define VAR_STEVENS_HOUSE_STATE 0x40C6
#define VAR_OLDALE_STATE 0x40C7
+#define SPECIAL_VARS_START 0x8000
// special vars
// They are commonly used as parameters to commands, or return values from commands.
-#define VAR_SPECIAL_0 0x8000
-#define VAR_SPECIAL_1 0x8001
-#define VAR_SPECIAL_2 0x8002
-#define VAR_SPECIAL_3 0x8003
-#define VAR_SPECIAL_4 0x8004
-#define VAR_SPECIAL_5 0x8005
-#define VAR_SPECIAL_6 0x8006
-#define VAR_SPECIAL_7 0x8007
-#define VAR_SPECIAL_8 0x8008
-#define VAR_SPECIAL_9 0x8009
-#define VAR_SPECIAL_A 0x800A
-#define VAR_SPECIAL_B 0x800B
-#define FACING 0x800C
-#define RESULT 0x800D
-#define ITEM_ID 0x800E
-#define LAST_TALKED 0x800F
-#define CONTEST_RANK 0x8010
-#define CONTEST_CATEGORY 0x8011
+#define VAR_0x8000 0x8000
+#define VAR_0x8001 0x8001
+#define VAR_0x8002 0x8002
+#define VAR_0x8003 0x8003
+#define VAR_0x8004 0x8004
+#define VAR_0x8005 0x8005
+#define VAR_0x8006 0x8006
+#define VAR_0x8007 0x8007
+#define VAR_0x8008 0x8008
+#define VAR_0x8009 0x8009
+#define VAR_0x800A 0x800A
+#define VAR_0x800B 0x800B
+#define VAR_FACING 0x800C
+#define VAR_RESULT 0x800D
+#define VAR_ITEM_ID 0x800E
+#define VAR_LAST_TALKED 0x800F
+#define VAR_CONTEST_RANK 0x8010
+#define VAR_CONTEST_CATEGORY 0x8011
#endif // GUARD_CONSTANTS_VARS_H