summaryrefslogtreecommitdiff
path: root/include/constants
diff options
context:
space:
mode:
Diffstat (limited to 'include/constants')
-rw-r--r--include/constants/battle.h64
-rw-r--r--include/constants/battle_anim.h86
-rw-r--r--include/constants/battle_string_ids.h2
-rw-r--r--include/constants/pokemon.h3
4 files changed, 79 insertions, 76 deletions
diff --git a/include/constants/battle.h b/include/constants/battle.h
index fa8f422c4..e6ebc85e4 100644
--- a/include/constants/battle.h
+++ b/include/constants/battle.h
@@ -44,38 +44,38 @@
#define BIT_FLANK 2
// Battle Type Flags
-#define BATTLE_TYPE_DOUBLE (1 << 0)
-#define BATTLE_TYPE_LINK (1 << 1)
-#define BATTLE_TYPE_IS_MASTER (1 << 2) // In not-link battles, it's always set.
-#define BATTLE_TYPE_TRAINER (1 << 3)
-#define BATTLE_TYPE_FIRST_BATTLE (1 << 4)
-#define BATTLE_TYPE_20 (1 << 5)
-#define BATTLE_TYPE_MULTI (1 << 6)
-#define BATTLE_TYPE_SAFARI (1 << 7)
-#define BATTLE_TYPE_BATTLE_TOWER (1 << 8)
-#define BATTLE_TYPE_WALLY_TUTORIAL (1 << 9)
-#define BATTLE_TYPE_ROAMER (1 << 10)
-#define BATTLE_TYPE_EREADER_TRAINER (1 << 11)
-#define BATTLE_TYPE_KYOGRE_GROUDON (1 << 12)
-#define BATTLE_TYPE_LEGENDARY (1 << 13)
-#define BATTLE_TYPE_REGI (1 << 14)
-#define BATTLE_TYPE_TWO_OPPONENTS (1 << 15)
-#define BATTLE_TYPE_DOME (1 << 16)
-#define BATTLE_TYPE_PALACE (1 << 17)
-#define BATTLE_TYPE_ARENA (1 << 18)
-#define BATTLE_TYPE_FACTORY (1 << 19)
-#define BATTLE_TYPE_PIKE (1 << 20)
-#define BATTLE_TYPE_PYRAMID (1 << 21)
-#define BATTLE_TYPE_INGAME_PARTNER (1 << 22)
-#define BATTLE_TYPE_x800000 (1 << 23)
-#define BATTLE_TYPE_RECORDED (1 << 24)
-#define BATTLE_TYPE_x2000000 (1 << 25)
-#define BATTLE_TYPE_TRAINER_HILL (1 << 26)
-#define BATTLE_TYPE_SECRET_BASE (1 << 27)
-#define BATTLE_TYPE_GROUDON (1 << 28)
-#define BATTLE_TYPE_KYOGRE (1 << 29)
-#define BATTLE_TYPE_RAYQUAZA (1 << 30)
-#define BATTLE_TYPE_x80000000 (1 << 31)
+#define BATTLE_TYPE_DOUBLE (1 << 0)
+#define BATTLE_TYPE_LINK (1 << 1)
+#define BATTLE_TYPE_IS_MASTER (1 << 2) // In not-link battles, it's always set.
+#define BATTLE_TYPE_TRAINER (1 << 3)
+#define BATTLE_TYPE_FIRST_BATTLE (1 << 4)
+#define BATTLE_TYPE_LINK_IN_BATTLE (1 << 5) // Set on battle entry, cleared on exit. Checked rarely
+#define BATTLE_TYPE_MULTI (1 << 6)
+#define BATTLE_TYPE_SAFARI (1 << 7)
+#define BATTLE_TYPE_BATTLE_TOWER (1 << 8)
+#define BATTLE_TYPE_WALLY_TUTORIAL (1 << 9)
+#define BATTLE_TYPE_ROAMER (1 << 10)
+#define BATTLE_TYPE_EREADER_TRAINER (1 << 11)
+#define BATTLE_TYPE_KYOGRE_GROUDON (1 << 12)
+#define BATTLE_TYPE_LEGENDARY (1 << 13)
+#define BATTLE_TYPE_REGI (1 << 14)
+#define BATTLE_TYPE_TWO_OPPONENTS (1 << 15)
+#define BATTLE_TYPE_DOME (1 << 16)
+#define BATTLE_TYPE_PALACE (1 << 17)
+#define BATTLE_TYPE_ARENA (1 << 18)
+#define BATTLE_TYPE_FACTORY (1 << 19)
+#define BATTLE_TYPE_PIKE (1 << 20)
+#define BATTLE_TYPE_PYRAMID (1 << 21)
+#define BATTLE_TYPE_INGAME_PARTNER (1 << 22)
+#define BATTLE_TYPE_TOWER_LINK_MULTI (1 << 23)
+#define BATTLE_TYPE_RECORDED (1 << 24)
+#define BATTLE_TYPE_RECORDED_LINK (1 << 25)
+#define BATTLE_TYPE_TRAINER_HILL (1 << 26)
+#define BATTLE_TYPE_SECRET_BASE (1 << 27)
+#define BATTLE_TYPE_GROUDON (1 << 28)
+#define BATTLE_TYPE_KYOGRE (1 << 29)
+#define BATTLE_TYPE_RAYQUAZA (1 << 30)
+#define BATTLE_TYPE_RECORDED_IS_MASTER (1 << 31)
#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID)
#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE)
diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h
index ebc422b18..5f8900bf6 100644
--- a/include/constants/battle_anim.h
+++ b/include/constants/battle_anim.h
@@ -346,51 +346,51 @@
#define BG_SOLARBEAM_PLAYER 25
#define BG_SOLARBEAM_CONTESTS 26
-// table ids for general animations
-#define B_ANIM_CASTFORM_CHANGE 0x0
-#define B_ANIM_STATS_CHANGE 0x1
-#define B_ANIM_SUBSTITUTE_FADE 0x2
-#define B_ANIM_SUBSTITUTE_APPEAR 0x3
-#define B_ANIM_POKEBLOCK_THROW 0x4
-#define B_ANIM_ITEM_KNOCKOFF 0x5
-#define B_ANIM_TURN_TRAP 0x6
-#define B_ANIM_HELD_ITEM_EFFECT 0x7
-#define B_ANIM_SMOKEBALL_ESCAPE 0x8
-#define B_ANIM_FOCUS_BAND 0x9
-#define B_ANIM_RAIN_CONTINUES 0xA
-#define B_ANIM_SUN_CONTINUES 0xB
-#define B_ANIM_SANDSTORM_CONTINUES 0xC
-#define B_ANIM_HAIL_CONTINUES 0xD
-#define B_ANIM_LEECH_SEED_DRAIN 0xE
-#define B_ANIM_MON_HIT 0xF
-#define B_ANIM_ITEM_STEAL 0x10
-#define B_ANIM_SNATCH_MOVE 0x11
-#define B_ANIM_FUTURE_SIGHT_HIT 0x12
-#define B_ANIM_DOOM_DESIRE_HIT 0x13
-#define B_ANIM_FOCUS_PUNCH_SETUP 0x14
-#define B_ANIM_INGRAIN_HEAL 0x15
-#define B_ANIM_WISH_HEAL 0x16
+// table ids for general animations (gBattleAnims_General)
+#define B_ANIM_CASTFORM_CHANGE 0
+#define B_ANIM_STATS_CHANGE 1
+#define B_ANIM_SUBSTITUTE_FADE 2
+#define B_ANIM_SUBSTITUTE_APPEAR 3
+#define B_ANIM_POKEBLOCK_THROW 4
+#define B_ANIM_ITEM_KNOCKOFF 5
+#define B_ANIM_TURN_TRAP 6
+#define B_ANIM_HELD_ITEM_EFFECT 7
+#define B_ANIM_SMOKEBALL_ESCAPE 8
+#define B_ANIM_FOCUS_BAND 9
+#define B_ANIM_RAIN_CONTINUES 10
+#define B_ANIM_SUN_CONTINUES 11
+#define B_ANIM_SANDSTORM_CONTINUES 12
+#define B_ANIM_HAIL_CONTINUES 13
+#define B_ANIM_LEECH_SEED_DRAIN 14
+#define B_ANIM_MON_HIT 15
+#define B_ANIM_ITEM_STEAL 16
+#define B_ANIM_SNATCH_MOVE 17
+#define B_ANIM_FUTURE_SIGHT_HIT 18
+#define B_ANIM_DOOM_DESIRE_HIT 19
+#define B_ANIM_FOCUS_PUNCH_SETUP 20
+#define B_ANIM_INGRAIN_HEAL 21
+#define B_ANIM_WISH_HEAL 22
-// special animations table
-#define B_ANIM_LVL_UP 0x0
-#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1
-#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2
-#define B_ANIM_BALL_THROW 0x3
-#define B_ANIM_BALL_THROW_WITH_TRAINER 0x4
-#define B_ANIM_SUBSTITUTE_TO_MON 0x5
-#define B_ANIM_MON_TO_SUBSTITUTE 0x6
+// special animations table (gBattleAnims_Special)
+#define B_ANIM_LVL_UP 0
+#define B_ANIM_SWITCH_OUT_PLAYER_MON 1
+#define B_ANIM_SWITCH_OUT_OPPONENT_MON 2
+#define B_ANIM_BALL_THROW 3
+#define B_ANIM_BALL_THROW_WITH_TRAINER 4
+#define B_ANIM_SUBSTITUTE_TO_MON 5
+#define B_ANIM_MON_TO_SUBSTITUTE 6
-// status animation table
-#define B_ANIM_STATUS_PSN 0x0
-#define B_ANIM_STATUS_CONFUSION 0x1
-#define B_ANIM_STATUS_BRN 0x2
-#define B_ANIM_STATUS_INFATUATION 0x3
-#define B_ANIM_STATUS_SLP 0x4
-#define B_ANIM_STATUS_PRZ 0x5
-#define B_ANIM_STATUS_FRZ 0x6
-#define B_ANIM_STATUS_CURSED 0x7
-#define B_ANIM_STATUS_NIGHTMARE 0x8
-#define B_ANIM_STATUS_WRAPPED 0x9 // does not actually exist
+// status animation table (gBattleAnims_StatusConditions)
+#define B_ANIM_STATUS_PSN 0
+#define B_ANIM_STATUS_CONFUSION 1
+#define B_ANIM_STATUS_BRN 2
+#define B_ANIM_STATUS_INFATUATION 3
+#define B_ANIM_STATUS_SLP 4
+#define B_ANIM_STATUS_PRZ 5
+#define B_ANIM_STATUS_FRZ 6
+#define B_ANIM_STATUS_CURSED 7
+#define B_ANIM_STATUS_NIGHTMARE 8
+#define B_ANIM_STATUS_WRAPPED 9 // does not actually exist
// Tasks with return values often assign them to gBattleAnimArgs[7].
#define ARG_RET_ID 7
diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h
index 9e0d8e0be..1886043f1 100644
--- a/include/constants/battle_string_ids.h
+++ b/include/constants/battle_string_ids.h
@@ -124,7 +124,7 @@
#define STRINGID_PKMNSTORINGENERGY 120
#define STRINGID_PKMNUNLEASHEDENERGY 121
#define STRINGID_PKMNFATIGUECONFUSION 122
-#define STRINGID_PKMNPICKEDUPITEM 123
+#define STRINGID_PLAYERPICKEDUPMONEY 123
#define STRINGID_PKMNUNAFFECTED 124
#define STRINGID_PKMNTRANSFORMEDINTO 125
#define STRINGID_PKMNMADESUBSTITUTE 126
diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h
index bac914fec..d4f6e5684 100644
--- a/include/constants/pokemon.h
+++ b/include/constants/pokemon.h
@@ -232,6 +232,9 @@
#define STATUS_PRIMARY_POKERUS 6
#define STATUS_PRIMARY_FAINTED 7
+#define MAX_PER_STAT_IVS 31
+#define MAX_IV_MASK 31
+#define USE_RANDOM_IVS (MAX_PER_STAT_IVS + 1)
#define MAX_PER_STAT_EVS 255
#define MAX_TOTAL_EVS 510
#define EV_ITEM_RAISE_LIMIT 100