blob: 816625e60ecd5243a954322976f3a3158954a3fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
|
; significant level values
MAX_LEVEL EQU 100
MIN_LEVEL EQU 2
EGG_LEVEL EQU 5
; maximum moves known per mon
NUM_MOVES EQU 4
; significant stat values
BASE_STAT_LEVEL EQU 7
MAX_STAT_LEVEL EQU 13
; minimum damage before type effectiveness
MIN_NEUTRAL_DAMAGE EQU 2
; turns that sleep lasts
REST_SLEEP_TURNS EQU 2
TREEMON_SLEEP_TURNS EQU 7
; default move priority
BASE_PRIORITY EQU 1
; type effectiveness factors, scaled by 10
SUPER_EFFECTIVE EQU 20
MORE_EFFECTIVE EQU 15
EFFECTIVE EQU 10
NOT_VERY_EFFECTIVE EQU 05
NO_EFFECT EQU 00
; PlayerStatLevels and EnemyStatLevels indexes (see wram.asm)
; GetStatName arguments (see data/battle/stat_names.asm)
const_def
const ATTACK
const DEFENSE
const SPEED
const SP_ATTACK
const SP_DEFENSE
const ACCURACY
const EVASION
const ABILITY ; used for BattleCommand_Curse
NUM_LEVEL_STATS EQU const_value
; move struct members (see data/moves/moves.asm)
const_def
const MOVE_ANIM ; 0
const MOVE_EFFECT ; 1
const MOVE_POWER ; 2
const MOVE_TYPE ; 3
const MOVE_ACC ; 4
const MOVE_PP ; 5
const MOVE_CHANCE ; 6
MOVE_LENGTH EQU const_value
; stat constants
; indexes for:
; - PlayerStats and EnemyStats (see wram.asm)
; - party_struct and battle_struct members (see macros/wram.asm)
const_value set 1
const STAT_HP
const STAT_ATK
const STAT_DEF
const STAT_SPD
const STAT_SATK
const STAT_SDEF
NUM_STATS EQU const_value
STAT_SPC EQU STAT_SATK
; stat formula constants
STAT_MIN_NORMAL EQU 5
STAT_MIN_HP EQU 10
MAX_STAT_VALUE EQU 999
; shiny dvs
ATKDEFDV_SHINY EQU $EA
SPDSPCDV_SHINY EQU $AA
; battle classes (wBattleMode values)
const_value set 1
const WILD_BATTLE
const TRAINER_BATTLE
; battle types (BattleType values)
const_def
const BATTLETYPE_NORMAL
const BATTLETYPE_CANLOSE
const BATTLETYPE_DEBUG
const BATTLETYPE_TUTORIAL
const BATTLETYPE_FISH
const BATTLETYPE_ROAMING
const BATTLETYPE_CONTEST
const BATTLETYPE_SHINY
const BATTLETYPE_TREE
const BATTLETYPE_TRAP
const BATTLETYPE_FORCEITEM
const BATTLETYPE_CELEBI
const BATTLETYPE_SUICUNE
; GetBattleVar and GetBattleVarAddr arguments (see home/battle.asm)
const_def
const BATTLE_VARS_SUBSTATUS1
const BATTLE_VARS_SUBSTATUS2
const BATTLE_VARS_SUBSTATUS3
const BATTLE_VARS_SUBSTATUS4
const BATTLE_VARS_SUBSTATUS5
const BATTLE_VARS_SUBSTATUS1_OPP
const BATTLE_VARS_SUBSTATUS2_OPP
const BATTLE_VARS_SUBSTATUS3_OPP
const BATTLE_VARS_SUBSTATUS4_OPP
const BATTLE_VARS_SUBSTATUS5_OPP
const BATTLE_VARS_STATUS
const BATTLE_VARS_STATUS_OPP
const BATTLE_VARS_MOVE_ANIM
const BATTLE_VARS_MOVE_EFFECT
const BATTLE_VARS_MOVE_POWER
const BATTLE_VARS_MOVE_TYPE
const BATTLE_VARS_MOVE
const BATTLE_VARS_LAST_COUNTER_MOVE
const BATTLE_VARS_LAST_COUNTER_MOVE_OPP
const BATTLE_VARS_LAST_MOVE
const BATTLE_VARS_LAST_MOVE_OPP
; GetBattleVar and GetBattleVarAddr internal indexes (see home/battle.asm)
const_def
const PLAYER_SUBSTATUS_1
const ENEMY_SUBSTATUS_1
const PLAYER_SUBSTATUS_2
const ENEMY_SUBSTATUS_2
const PLAYER_SUBSTATUS_3
const ENEMY_SUBSTATUS_3
const PLAYER_SUBSTATUS_4
const ENEMY_SUBSTATUS_4
const PLAYER_SUBSTATUS_5
const ENEMY_SUBSTATUS_5
const PLAYER_STATUS
const ENEMY_STATUS
const PLAYER_MOVE_ANIMATION
const ENEMY_MOVE_ANIMATION
const PLAYER_MOVE_EFFECT
const ENEMY_MOVE_EFFECT
const PLAYER_MOVE_POWER
const ENEMY_MOVE_POWER
const PLAYER_MOVE_TYPE
const ENEMY_MOVE_TYPE
const PLAYER_CUR_MOVE
const ENEMY_CUR_MOVE
const PLAYER_COUNTER_MOVE
const ENEMY_COUNTER_MOVE
const PLAYER_LAST_MOVE
const ENEMY_LAST_MOVE
; status condition bit flags
SLP EQU %111 ; 0-7 turns
const_value set 3
const PSN
const BRN
const FRZ
const PAR
ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP
; PlayerSubStatus1 or EnemySubStatus1 bit flags
enum_start 7, -1
enum SUBSTATUS_IN_LOVE
enum SUBSTATUS_ROLLOUT
enum SUBSTATUS_ENDURE
enum SUBSTATUS_PERISH
enum SUBSTATUS_IDENTIFIED
enum SUBSTATUS_PROTECT
enum SUBSTATUS_CURSE
enum SUBSTATUS_NIGHTMARE
; PlayerSubStatus2 or EnemySubStatus2 bit flags
SUBSTATUS_CURLED EQU 0
; PlayerSubStatus3 or EnemySubStatus3 bit flags
enum_start 7, -1
enum SUBSTATUS_CONFUSED
enum SUBSTATUS_FLYING
enum SUBSTATUS_UNDERGROUND
enum SUBSTATUS_CHARGED
enum SUBSTATUS_FLINCHED
enum SUBSTATUS_IN_LOOP
enum SUBSTATUS_RAMPAGE
enum SUBSTATUS_BIDE
; PlayerSubStatus4 or EnemySubStatus4 bit flags
enum_start 7, -1
enum SUBSTATUS_LEECH_SEED
enum SUBSTATUS_RAGE
enum SUBSTATUS_RECHARGE
enum SUBSTATUS_SUBSTITUTE
enum SUBSTATUS_UNKNOWN_1
enum SUBSTATUS_FOCUS_ENERGY
enum SUBSTATUS_MIST
enum SUBSTATUS_X_ACCURACY
; PlayerSubStatus5 or EnemySubStatus5 bit flags
enum_start 7, -1
enum SUBSTATUS_CANT_RUN
enum SUBSTATUS_DESTINY_BOND
enum SUBSTATUS_LOCK_ON
enum SUBSTATUS_ENCORED
enum SUBSTATUS_TRANSFORMED
enum SUBSTATUS_UNKNOWN_2
enum SUBSTATUS_UNKNOWN_3
enum SUBSTATUS_TOXIC
; PlayerScreens or EnemyScreens bit flags
enum_start 4, -1
enum SCREENS_REFLECT
enum SCREENS_LIGHT_SCREEN
enum SCREENS_SAFEGUARD
enum SCREENS_UNUSED
enum SCREENS_SPIKES
; Weather values
const_def
const WEATHER_NONE
const WEATHER_RAIN
const WEATHER_SUN
const WEATHER_SANDSTORM
const WEATHER_RAIN_END
const WEATHER_SUN_END
const WEATHER_SANDSTORM_END
; wBattleAction
const_def
const BATTLEACTION_MOVE1
const BATTLEACTION_MOVE2
const BATTLEACTION_MOVE3
const BATTLEACTION_MOVE4
const BATTLEACTION_SWITCH1
const BATTLEACTION_SWITCH2
const BATTLEACTION_SWITCH3
const BATTLEACTION_SWITCH4
const BATTLEACTION_SWITCH5
const BATTLEACTION_SWITCH6
const BATTLEACTION_A
const BATTLEACTION_B
const BATTLEACTION_C
const BATTLEACTION_D
const BATTLEACTION_E
const BATTLEACTION_FORFEIT
; wBattleResult
const_def
const WIN
const LOSE
const DRAW
|