blob: 65dd35fd013aa4aeaddb54489f617983da8e1b89 (
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
|
; base data struct members (see data/pokemon/base_stats/*.asm)
BASE_DEX_NO EQUS "(BaseDexNo - CurBaseData)"
BASE_STATS EQUS "(BaseStats - CurBaseData)"
BASE_HP EQUS "(BaseHP - CurBaseData)"
BASE_ATK EQUS "(BaseAttack - CurBaseData)"
BASE_SPD EQUS "(BaseSpeed - CurBaseData)"
BASE_SAT EQUS "(BaseSpecialAttack - CurBaseData)"
BASE_SDF EQUS "(BaseSpecialDefense - CurBaseData)"
BASE_TYPES EQUS "(BaseType - CurBaseData)"
BASE_TYPE_1 EQUS "(BaseType1 - CurBaseData)"
BASE_TYPE_2 EQUS "(BaseType2 - CurBaseData)"
BASE_CATCH_RATE EQUS "(BaseCatchRate - CurBaseData)"
BASE_EXP EQUS "(BaseExp - CurBaseData)"
BASE_ITEMS EQUS "(BaseItems - CurBaseData)"
BASE_ITEM_1 EQUS "(BaseItem1 - CurBaseData)"
BASE_ITEM_2 EQUS "(BaseItem2 - CurBaseData)"
BASE_GENDER EQUS "(BaseGender - CurBaseData)"
BASE_UNKNOWN_1 EQUS "(BaseUnknown1 - CurBaseData)"
BASE_EGG_STEPS EQUS "(BaseEggSteps - CurBaseData)"
BASE_UNKNOWN_2 EQUS "(BaseUnknown2 - CurBaseData)"
BASE_PIC_SIZE EQUS "(BasePicSize - CurBaseData)"
BASE_PADDING EQUS "(BasePadding - CurBaseData)"
BASE_GROWTH_RATE EQUS "(BaseGrowthRate - CurBaseData)"
BASE_EGG_GROUPS EQUS "(BaseEggGroups - CurBaseData)"
BASE_TMHM EQUS "(BaseTMHM - CurBaseData)"
BASE_DATA_SIZE EQUS "(CurBaseDataEnd - CurBaseData)"
; gender ratio constants
GENDER_F0 EQU 0 percent
GENDER_F12_5 EQU 31 ; 12.5 percent
GENDER_F25 EQU 25 percent
GENDER_F50 EQU 50 percent
GENDER_F75 EQU 75 percent
GENDER_F100 EQU 254 ; 100 percent
GENDERLESS EQU 255
; BaseGrowthRate values
; GrowthRates indexes (see data/growth_rates.asm)
const_def
const MEDIUM_FAST
const SLIGHTLY_FAST
const SLIGHTLY_SLOW
const MEDIUM_SLOW
const FAST
const SLOW
; BaseEggGroups values
const_value set 1
const MONSTER ; 1
const AMPHIBIAN ; 2
const INSECT ; 3
const AVIAN ; 4
const FIELD ; 5
const FAIRY ; 6
const PLANT ; 7
const HUMANSHAPE ; 8
const INVERTEBRATE ; 9
const INANIMATE ; a
const AMORPHOUS ; b
const FISH ; c
const LADIES_MAN ; d
const REPTILE ; e
const NO_EGGS ; f
; pokedex entries (see data/pokemon/dex_entries.asm)
NUM_DEX_ENTRY_BANKS EQU 4
; party_struct members (see macros/wram.asm)
MON_SPECIES EQUS "(PartyMon1Species - PartyMon1)"
MON_ITEM EQUS "(PartyMon1Item - PartyMon1)"
MON_MOVES EQUS "(PartyMon1Moves - PartyMon1)"
MON_ID EQUS "(PartyMon1ID - PartyMon1)"
MON_EXP EQUS "(PartyMon1Exp - PartyMon1)"
MON_STAT_EXP EQUS "(PartyMon1StatExp - PartyMon1)"
MON_HP_EXP EQUS "(PartyMon1HPExp - PartyMon1)"
MON_ATK_EXP EQUS "(PartyMon1AtkExp - PartyMon1)"
MON_DEF_EXP EQUS "(PartyMon1DefExp - PartyMon1)"
MON_SPD_EXP EQUS "(PartyMon1SpdExp - PartyMon1)"
MON_SPC_EXP EQUS "(PartyMon1SpcExp - PartyMon1)"
MON_DVS EQUS "(PartyMon1DVs - PartyMon1)"
MON_PP EQUS "(PartyMon1PP - PartyMon1)"
MON_HAPPINESS EQUS "(PartyMon1Happiness - PartyMon1)"
MON_PKRUS EQUS "(PartyMon1PokerusStatus - PartyMon1)"
MON_CAUGHTDATA EQUS "(PartyMon1CaughtData - PartyMon1)"
MON_CAUGHTLEVEL EQUS "(PartyMon1CaughtLevel - PartyMon1)"
MON_CAUGHTTIME EQUS "(PartyMon1CaughtTime - PartyMon1)"
MON_CAUGHTGENDER EQUS "(PartyMon1CaughtGender - PartyMon1)"
MON_CAUGHTLOCATION EQUS "(PartyMon1CaughtLocation - PartyMon1)"
MON_LEVEL EQUS "(PartyMon1Level - PartyMon1)"
MON_STATUS EQUS "(PartyMon1Status - PartyMon1)"
MON_HP EQUS "(PartyMon1HP - PartyMon1)"
MON_MAXHP EQUS "(PartyMon1MaxHP - PartyMon1)"
MON_ATK EQUS "(PartyMon1Attack - PartyMon1)"
MON_DEF EQUS "(PartyMon1Defense - PartyMon1)"
MON_SPD EQUS "(PartyMon1Speed - PartyMon1)"
MON_SAT EQUS "(PartyMon1SpclAtk - PartyMon1)"
MON_SDF EQUS "(PartyMon1SpclDef - PartyMon1)"
BOXMON_STRUCT_LENGTH EQUS "(PartyMon1End - PartyMon1)"
PARTYMON_STRUCT_LENGTH EQUS "(PartyMon1StatsEnd - PartyMon1)"
REDMON_STRUCT_LENGTH EQU 44
; caught data
CAUGHT_TIME_MASK EQU %11000000
CAUGHT_LEVEL_MASK EQU %00111111
CAUGHT_GENDER_MASK EQU %10000000
CAUGHT_LOCATION_MASK EQU %01111111
CAUGHT_BY_UNKNOWN EQU 0
CAUGHT_BY_GIRL EQU 1
CAUGHT_BY_BOY EQU 2
CAUGHT_EGG_LEVEL EQU 1
; maximum number of party pokemon
PARTY_LENGTH EQU 6
; evolution types (used in data/pokemon/evos_attacks.asm)
const_value set 1
const EVOLVE_LEVEL
const EVOLVE_ITEM
const EVOLVE_TRADE
const EVOLVE_HAPPINESS
const EVOLVE_STAT
; EVOLVE_HAPPINESS triggers
const_value set 1
const TR_ANYTIME
const TR_MORNDAY
const TR_NITE
; EVOLVE_STAT triggers
const_value set 1
const ATK_GT_DEF
const ATK_LT_DEF
const ATK_EQ_DEF
; PokeAnims indexes (see engine/pic_animation.asm)
const_def
const ANIM_MON_SLOW
const ANIM_MON_NORMAL
const ANIM_MON_MENU
const ANIM_MON_TRADE
const ANIM_MON_EVOLVE
const ANIM_MON_HATCH
const ANIM_MON_UNUSED
const ANIM_MON_EGG1
const ANIM_MON_EGG2
; MonMenuOptions indexes (see engine/mon_menu.asm)
const_value set 1
; moves
const MONMENU_CUT ; 1
const MONMENU_FLY ; 2
const MONMENU_SURF ; 3
const MONMENU_STRENGTH ; 4
const MONMENU_WATERFALL ; 5
const MONMENU_FLASH ; 6
const MONMENU_WHIRLPOOL ; 7
const MONMENU_DIG ; 8
const MONMENU_TELEPORT ; 9
const MONMENU_SOFTBOILED ; 10
const MONMENU_HEADBUTT ; 11
const MONMENU_ROCKSMASH ; 12
const MONMENU_MILKDRINK ; 13
const MONMENU_SWEETSCENT ; 14
; options
const MONMENU_STATS ; 15
const MONMENU_SWITCH ; 16
const MONMENU_ITEM ; 17
const MONMENU_CANCEL ; 18
const MONMENU_MOVE ; 19
const MONMENU_MAIL ; 20
const MONMENU_ERROR ; 21
; MonMenuOptions types
MONMENU_FIELD_MOVE EQU 0
MONMENU_MENUOPTION EQU 1
NUM_MONMENU_ITEMS EQU 8
; treemon sets
; TreeMons indexes (see data/wild/treemons.asm)
const_def
const TREEMON_SET_CITY
const TREEMON_SET_CANYON
const TREEMON_SET_AZALEA
const TREEMON_SET_ROUTE
const TREEMON_SET_KANTO
const TREEMON_SET_LAKE
const TREEMON_SET_FOREST
const TREEMON_SET_ROCK
NUM_TREEMON_SETS EQU const_value
; treemon scores
const_def
const TREEMON_SCORE_BAD ; 0
const TREEMON_SCORE_GOOD ; 1
const TREEMON_SCORE_RARE ; 2
; wild data
NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size
NUM_WATERMON EQU 3 ; data/wild/*_water.asm table size
GRASS_WILDDATA_LENGTH EQU (NUM_GRASSMON * 2 + 1) * 3 + 2
WATER_WILDDATA_LENGTH EQU (NUM_WATERMON * 2 + 1) * 1 + 2
; swarms
SWARM_DUNSPARCE EQU 0
SWARM_YANMA EQU 1
FISHSWARM_QWILFISH EQU 1
FISHSWARM_REMORAID EQU 2
; significant happiness values
BASE_HAPPINESS EQU 70
FRIEND_BALL_HAPPINESS EQU 200
HAPPINESS_TO_EVOLVE EQU 220
HAPPINESS_THRESHOLD_1 EQU 100
HAPPINESS_THRESHOLD_2 EQU 200
; PP
PP_UP_MASK EQU %11000000
PP_UP_ONE EQU %01000000
PP_MASK EQU %00111111
|