blob: 804f223cb45f2b17bb0ead2743abb92889ac8c59 (
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
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
|
MAX_LEVEL EQU 100
MIN_LEVEL EQU 2
EGG_LEVEL EQU 5
NUM_MOVES EQU 4
REST_TURNS EQU 2
MAX_STAT_LEVEL EQU 13
BASE_STAT_LEVEL EQU 7
const_def
const ATTACK
const DEFENSE
const SPEED
const SP_ATTACK
const SP_DEFENSE
const ACCURACY
const EVASION
const ABILITY
NUM_LEVEL_STATS EQU const_value
; move struct
const_def
const MOVE_ANIM
const MOVE_EFFECT
const MOVE_POWER
const MOVE_TYPE
const MOVE_ACC
const MOVE_PP
const MOVE_CHANCE
const MOVE_LENGTH
; stat constants
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_MIN_NORMAL EQU 5
STAT_MIN_HP EQU 10
; shiny dvs
ATKDEFDV_SHINY EQU $EA
SPDSPCDV_SHINY EQU $AA
; battle classes
const_value SET 1
const WILD_BATTLE
const TRAINER_BATTLE
; battle types
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
; battle variables
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
; status
const_value SET 3
const PSN
const BRN
const FRZ
const PAR
const SLP ; 7 turns
ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP
; substatus
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
SUBSTATUS_CURLED EQU 0
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
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
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
; environmental
enum_start 4, -1
enum SCREENS_REFLECT
enum SCREENS_LIGHT_SCREEN
enum SCREENS_SAFEGUARD
enum SCREENS_UNUSED
enum SCREENS_SPIKES
; weather
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
; move effects
const_def
const EFFECT_NORMAL_HIT
const EFFECT_SLEEP
const EFFECT_POISON_HIT
const EFFECT_LEECH_HIT
const EFFECT_BURN_HIT
const EFFECT_FREEZE_HIT
const EFFECT_PARALYZE_HIT
const EFFECT_EXPLOSION
const EFFECT_DREAM_EATER
const EFFECT_MIRROR_MOVE
const EFFECT_ATTACK_UP
const EFFECT_DEFENSE_UP
const EFFECT_SPEED_UP
const EFFECT_SP_ATK_UP
const EFFECT_SP_DEF_UP
const EFFECT_ACCURACY_UP
const EFFECT_EVASION_UP
const EFFECT_ALWAYS_HIT
const EFFECT_ATTACK_DOWN
const EFFECT_DEFENSE_DOWN
const EFFECT_SPEED_DOWN
const EFFECT_SP_ATK_DOWN
const EFFECT_SP_DEF_DOWN
const EFFECT_ACCURACY_DOWN
const EFFECT_EVASION_DOWN
const EFFECT_HAZE
const EFFECT_BIDE
const EFFECT_RAMPAGE
const EFFECT_WHIRLWIND
const EFFECT_MULTI_HIT
const EFFECT_CONVERSION
const EFFECT_FLINCH_HIT
const EFFECT_HEAL
const EFFECT_TOXIC
const EFFECT_PAY_DAY
const EFFECT_LIGHT_SCREEN
const EFFECT_TRI_ATTACK
const EFFECT_UNUSED_25
const EFFECT_OHKO
const EFFECT_RAZOR_WIND
const EFFECT_SUPER_FANG
const EFFECT_STATIC_DAMAGE
const EFFECT_BIND
const EFFECT_UNUSED_2B
const EFFECT_DOUBLE_HIT
const EFFECT_JUMP_KICK
const EFFECT_MIST
const EFFECT_FOCUS_ENERGY
const EFFECT_RECOIL_HIT
const EFFECT_CONFUSE
const EFFECT_ATTACK_UP_2
const EFFECT_DEFENSE_UP_2
const EFFECT_SPEED_UP_2
const EFFECT_SP_ATK_UP_2
const EFFECT_SP_DEF_UP_2
const EFFECT_ACCURACY_UP_2
const EFFECT_EVASION_UP_2
const EFFECT_TRANSFORM
const EFFECT_ATTACK_DOWN_2
const EFFECT_DEFENSE_DOWN_2
const EFFECT_SPEED_DOWN_2
const EFFECT_SP_ATK_DOWN_2
const EFFECT_SP_DEF_DOWN_2
const EFFECT_ACCURACY_DOWN_2
const EFFECT_EVASION_DOWN_2
const EFFECT_REFLECT
const EFFECT_POISON
const EFFECT_PARALYZE
const EFFECT_ATTACK_DOWN_HIT
const EFFECT_DEFENSE_DOWN_HIT
const EFFECT_SPEED_DOWN_HIT
const EFFECT_SP_ATK_DOWN_HIT
const EFFECT_SP_DEF_DOWN_HIT
const EFFECT_ACCURACY_DOWN_HIT
const EFFECT_EVASION_DOWN_HIT
const EFFECT_SKY_ATTACK
const EFFECT_CONFUSE_HIT
const EFFECT_TWINEEDLE
const EFFECT_UNUSED_4E
const EFFECT_SUBSTITUTE
const EFFECT_HYPER_BEAM
const EFFECT_RAGE
const EFFECT_MIMIC
const EFFECT_METRONOME
const EFFECT_LEECH_SEED
const EFFECT_SPLASH
const EFFECT_DISABLE
const EFFECT_LEVEL_DAMAGE
const EFFECT_PSYWAVE
const EFFECT_COUNTER
const EFFECT_ENCORE
const EFFECT_PAIN_SPLIT
const EFFECT_SNORE
const EFFECT_CONVERSION2
const EFFECT_LOCK_ON
const EFFECT_SKETCH
const EFFECT_DEFROST_OPPONENT
const EFFECT_SLEEP_TALK
const EFFECT_DESTINY_BOND
const EFFECT_REVERSAL
const EFFECT_SPITE
const EFFECT_FALSE_SWIPE
const EFFECT_HEAL_BELL
const EFFECT_PRIORITY_HIT
const EFFECT_TRIPLE_KICK
const EFFECT_THIEF
const EFFECT_MEAN_LOOK
const EFFECT_NIGHTMARE
const EFFECT_FLAME_WHEEL
const EFFECT_CURSE
const EFFECT_UNUSED_6E
const EFFECT_PROTECT
const EFFECT_SPIKES
const EFFECT_FORESIGHT
const EFFECT_PERISH_SONG
const EFFECT_SANDSTORM
const EFFECT_ENDURE
const EFFECT_ROLLOUT
const EFFECT_SWAGGER
const EFFECT_FURY_CUTTER
const EFFECT_ATTRACT
const EFFECT_RETURN
const EFFECT_PRESENT
const EFFECT_FRUSTRATION
const EFFECT_SAFEGUARD
const EFFECT_SACRED_FIRE
const EFFECT_MAGNITUDE
const EFFECT_BATON_PASS
const EFFECT_PURSUIT
const EFFECT_RAPID_SPIN
const EFFECT_UNUSED_82
const EFFECT_UNUSED_83
const EFFECT_MORNING_SUN
const EFFECT_SYNTHESIS
const EFFECT_MOONLIGHT
const EFFECT_HIDDEN_POWER
const EFFECT_RAIN_DANCE
const EFFECT_SUNNY_DAY
const EFFECT_STEEL_WING
const EFFECT_METAL_CLAW
const EFFECT_ANCIENTPOWER
const EFFECT_FAKE_OUT
const EFFECT_BELLY_DRUM
const EFFECT_PSYCH_UP
const EFFECT_MIRROR_COAT
const EFFECT_SKULL_BASH
const EFFECT_TWISTER
const EFFECT_EARTHQUAKE
const EFFECT_FUTURE_SIGHT
const EFFECT_GUST
const EFFECT_STOMP
const EFFECT_SOLARBEAM
const EFFECT_THUNDER
const EFFECT_TELEPORT
const EFFECT_BEAT_UP
const EFFECT_FLY
const EFFECT_DEFENSE_CURL
; Battle vars used in 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
; 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
const_def
const WIN
const LOSE
const DRAW
|