forked from pret/pokeemerald
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathevent_objects.h
397 lines (375 loc) · 18.7 KB
/
event_objects.h
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
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
#ifndef GUARD_CONSTANTS_EVENT_OBJECTS_H
#define GUARD_CONSTANTS_EVENT_OBJECTS_H
#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_NINJA_BOY 5
#define OBJ_EVENT_GFX_TWIN 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 11
#define OBJ_EVENT_GFX_LITTLE_GIRL 12
#define OBJ_EVENT_GFX_BOY_3 13
#define OBJ_EVENT_GFX_GIRL_3 14
#define OBJ_EVENT_GFX_RICH_BOY 15
#define OBJ_EVENT_GFX_WOMAN_1 16
#define OBJ_EVENT_GFX_FAT_MAN 17
#define OBJ_EVENT_GFX_POKEFAN_F 18
#define OBJ_EVENT_GFX_MAN_1 19
#define OBJ_EVENT_GFX_WOMAN_2 20
#define OBJ_EVENT_GFX_EXPERT_M 21
#define OBJ_EVENT_GFX_EXPERT_F 22
#define OBJ_EVENT_GFX_MAN_2 23
#define OBJ_EVENT_GFX_WOMAN_3 24
#define OBJ_EVENT_GFX_POKEFAN_M 25
#define OBJ_EVENT_GFX_WOMAN_4 26
#define OBJ_EVENT_GFX_COOK 27
#define OBJ_EVENT_GFX_LINK_RECEPTIONIST 28
#define OBJ_EVENT_GFX_OLD_MAN 29
#define OBJ_EVENT_GFX_OLD_WOMAN 30
#define OBJ_EVENT_GFX_CAMPER 31
#define OBJ_EVENT_GFX_PICNICKER 32
#define OBJ_EVENT_GFX_MAN_3 33
#define OBJ_EVENT_GFX_WOMAN_5 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_RAYQUAZA_STILL 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_4 65
#define OBJ_EVENT_GFX_MAN_5 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_ANABEL 70
#define OBJ_EVENT_GFX_TUCKER 71
#define OBJ_EVENT_GFX_GRETA 72
#define OBJ_EVENT_GFX_SPENSER 73
#define OBJ_EVENT_GFX_NOLAND 74
#define OBJ_EVENT_GFX_LUCY 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_VIGOROTH_CARRYING_BOX 95
#define OBJ_EVENT_GFX_VIGOROTH_FACING_AWAY 96
#define OBJ_EVENT_GFX_BIRCHS_BAG 97
#define OBJ_EVENT_GFX_ZIGZAGOON_1 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_DEVON_EMPLOYEE 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_GAMEBOY_KID 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_FRONT 197
#define OBJ_EVENT_GFX_GROUDON_FRONT 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 204
#define OBJ_EVENT_GFX_KYOGRE_ASLEEP 205
#define OBJ_EVENT_GFX_GROUDON_ASLEEP 206
#define OBJ_EVENT_GFX_RAYQUAZA 207
#define OBJ_EVENT_GFX_ZIGZAGOON_2 208
#define OBJ_EVENT_GFX_PIKACHU 209
#define OBJ_EVENT_GFX_AZUMARILL 210
#define OBJ_EVENT_GFX_WINGULL 211
#define OBJ_EVENT_GFX_KECLEON_BRIDGE_SHADOW 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 OBJ_EVENT_GFX_JUAN 218
#define OBJ_EVENT_GFX_SCOTT 219
#define OBJ_EVENT_GFX_POOCHYENA 220
#define OBJ_EVENT_GFX_KYOGRE_SIDE 221
#define OBJ_EVENT_GFX_GROUDON_SIDE 222
#define OBJ_EVENT_GFX_MYSTERY_GIFT_MAN 223
#define OBJ_EVENT_GFX_TRICK_HOUSE_STATUE 224
#define OBJ_EVENT_GFX_KIRLIA 225
#define OBJ_EVENT_GFX_DUSCLOPS 226
#define OBJ_EVENT_GFX_UNION_ROOM_NURSE 227
#define OBJ_EVENT_GFX_SUDOWOODO 228
#define OBJ_EVENT_GFX_MEW 229
#define OBJ_EVENT_GFX_RED 230
#define OBJ_EVENT_GFX_LEAF 231
#define OBJ_EVENT_GFX_DEOXYS 232
#define OBJ_EVENT_GFX_DEOXYS_TRIANGLE 233
#define OBJ_EVENT_GFX_BRANDON 234
#define OBJ_EVENT_GFX_LINK_RS_BRENDAN 235
#define OBJ_EVENT_GFX_LINK_RS_MAY 236
#define OBJ_EVENT_GFX_LUGIA 237
#define OBJ_EVENT_GFX_HOOH 238
#define OBJ_EVENT_GFX_POKE_BALL OBJ_EVENT_GFX_ITEM_BALL // replaces ITEM_BALL
#define OBJ_EVENT_GFX_OW_MON OBJ_EVENT_GFX_REGICE
// NOTE: By default, the max value for NUM_OBJ_EVENT_GFX is 239.
//
// Object event graphics ids are 1 byte in size (max value of 255), and the dynamic
// graphics ids that start after NUM_OBJ_EVENT_GFX reach this limit. No graphics id
// uses the value 239 itself, so removing the "+ 1" in OBJ_EVENT_GFX_VARS would
// allow increasing NUM_OBJ_EVENT_GFX to 240. There are also a handful of unused
// object graphics that can be removed. If more graphics are needed, anything that
// stores graphics ids will need to be increased in size. See wiki entry below:
// https://github.com/pret/pokeemerald/wiki/Feature-Branches#overworld-expansion
#define NUM_OBJ_EVENT_GFX 239
// 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 OBJ_EVENT_GFX_VARS (NUM_OBJ_EVENT_GFX + 1)
#define OBJ_EVENT_GFX_VAR_0 (OBJ_EVENT_GFX_VARS + 0x0) // 240
#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 OBJ_EVENT_GFX_MON_BASE 0x200 // 512
#define OBJ_EVENT_GFX_SPECIES_BITS 11
#define OBJ_EVENT_GFX_SPECIES_MASK ((1 << OBJ_EVENT_GFX_SPECIES_BITS) - 1)
// Used to call a specific species' follower graphics. Useful for static encounters.
#define OBJ_EVENT_GFX_SPECIES(name) (SPECIES_##name + OBJ_EVENT_GFX_MON_BASE)
#define OBJ_EVENT_GFX_SPECIES_SHINY(name) (SPECIES_##name + OBJ_EVENT_GFX_MON_BASE + SPECIES_SHINY_TAG)
#define OW_SPECIES(x) (((x)->graphicsId & OBJ_EVENT_GFX_SPECIES_MASK) - OBJ_EVENT_GFX_MON_BASE)
#define OW_FORM(x) ((x)->graphicsId >> OBJ_EVENT_GFX_SPECIES_BITS)
// Whether Object Event is an OW pokemon
#define IS_OW_MON_OBJ(obj) ((obj)->graphicsId >= OBJ_EVENT_GFX_MON_BASE)
// If true, follower pokemon will bob up and down
// during their idle & walking animations
#define OW_MON_BOBBING TRUE
// If true, OW pokemon with `MOVEMENT_TYPE_WANDER*`
// will walk-in-place in between steps
#define OW_MON_WANDER_WALK TRUE
// If true, adds a small amount of overhead
// to OW code so that large (48x48, 64x64) OWs
// will display correctly under bridges, etc.
#define LARGE_OW_SUPPORT TRUE
// See global.h for the toggle of OW_GFX_COMPRESS
// Compressed gfx are incompatible with non-power-of-two sprite sizes:
// (You should not use 48x48 sprites/tables for compressed gfx)
// 16x32, 32x32, 64x64 etc are fine
// Followers will emerge from the pokeball they are stored in,
// instead of a normal pokeball
#define OW_MON_POKEBALLS TRUE
// New/old handling for followers during scripts;
// TRUE: Script collisions hide follower, FLAG_SAFE_FOLLOWER_MOVEMENT on by default
// (scripted player movement moves follower too!)
// FALSE: Script collisions unhandled, FLAG_SAFE_FOLLOWER_MOVEMENT off by default
#define OW_MON_SCRIPT_MOVEMENT TRUE
// If set, the only pokemon allowed to follow you
// will be those matching species, met location,
// and/or met level;
// These accept vars, too: VAR_TEMP_1, etc
#define OW_MON_ALLOWED_SPECIES (0)
#define OW_MON_ALLOWED_MET_LVL (0)
#define OW_MON_ALLOWED_MET_LOC (0)
// Examples:
// Yellow Pikachu:
// #define OW_MON_ALLOWED_SPECIES (SPECIES_PIKACHU)
// #define OW_MON_ALLOWED_MET_LVL (0)
// #define OW_MON_ALLOWED_MET_LOC (MAPSEC_PALLET_TOWN)
// Hoenn Starter:
// #define OW_MON_ALLOWED_SPECIES (0)
// #define OW_MON_ALLOWED_MET_LVL (5)
// #define OW_MON_ALLOWED_MET_LOC (MAPSEC_ROUTE_101)
// Species set in VAR_XXXX:
// #define OW_MON_ALLOWED_SPECIES (VAR_XXXX)
// #define OW_MON_ALLOWED_MET_LVL (0)
// #define OW_MON_ALLOWED_MET_LOC (0)
#define SHADOW_SIZE_S 0
#define SHADOW_SIZE_M 1
#define SHADOW_SIZE_L 2
#define SHADOW_SIZE_XL 3 // unused; repurposed to mean no shadow
#define SHADOW_SIZE_NONE 3
#define F_INANIMATE (1 << 6)
#define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7)
#define TRACKS_NONE 0
#define TRACKS_FOOT 1
#define TRACKS_BIKE_TIRE 2
#define TRACKS_SLITHER 3
#define TRACKS_SPOT 4
#define TRACKS_BUG 5
#define FIRST_DECORATION_SPRITE_GFX OBJ_EVENT_GFX_PICHU_DOLL
#define OBJ_KIND_NORMAL 0
#define OBJ_KIND_CLONE 255 // Exclusive to FRLG
// Special object event local ids
#define OBJ_EVENT_ID_PLAYER 0xFF
#define OBJ_EVENT_ID_CAMERA 0x7F
#define OBJ_EVENT_ID_FOLLOWER 0xFE
// Object event local ids referenced in C files
#define LOCALID_ROUTE111_PLAYER_FALLING 45
#define LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK 1
#define LOCALID_FARAWAY_ISLAND_MEW 1
#define LOCALID_UNION_ROOM_PLAYER_4 2
#define LOCALID_UNION_ROOM_PLAYER_8 3
#define LOCALID_UNION_ROOM_PLAYER_7 4
#define LOCALID_UNION_ROOM_PLAYER_6 5
#define LOCALID_UNION_ROOM_PLAYER_5 6
#define LOCALID_UNION_ROOM_PLAYER_3 7
#define LOCALID_UNION_ROOM_PLAYER_2 8
#define LOCALID_UNION_ROOM_PLAYER_1 9
#define LOCALID_BATTLE_TOWER_LOBBY_REPORTER 5
#define LOCALID_TRUCK_BOX_TOP 1
#define LOCALID_TRUCK_BOX_BOTTOM_L 2
#define LOCALID_TRUCK_BOX_BOTTOM_R 3
#define LOCALID_OLDALE_MART_CLERK 1
#define LOCALID_LAVARIDGE_MART_CLERK 1
#define LOCALID_FALLARBOR_MART_CLERK 1
#define LOCALID_VERDANTURF_MART_CLERK 1
#define LOCALID_PETALBURG_MART_CLERK 1
#define LOCALID_SLATEPORT_MART_CLERK 1
#define LOCALID_MAUVILLE_MART_CLERK 1
#define LOCALID_RUSTBORO_MART_CLERK 1
#define LOCALID_FORTREE_MART_CLERK 1
#define LOCALID_MOSSDEEP_MART_CLERK 1
#define LOCALID_SOOTOPOLIS_MART_CLERK 1
#define LOCALID_BATTLE_FRONTIER_MART_CLERK 1
#define LOCALID_SLATEPORT_ENERGY_GURU 25
#endif // GUARD_CONSTANTS_EVENT_OBJECTS_H