pokefirered/include/constants/event_objects.h
2026-03-22 16:21:11 +01:00

381 lines
16 KiB
C

#ifndef GUARD_CONSTANTS_EVENT_OBJECTS_H
#define GUARD_CONSTANTS_EVENT_OBJECTS_H
#include "constants/map_event_ids.h"
#define OBJ_EVENT_GFX_RED_NORMAL 0
#define OBJ_EVENT_GFX_RED_BIKE 1
#define OBJ_EVENT_GFX_RED_SURF 2
#define OBJ_EVENT_GFX_RED_FIELD_MOVE 3
#define OBJ_EVENT_GFX_RED_FISH 4
#define OBJ_EVENT_GFX_RED_VS_SEEKER 5
#define OBJ_EVENT_GFX_RED_VS_SEEKER_BIKE 6
#define OBJ_EVENT_GFX_GREEN_NORMAL 7
#define OBJ_EVENT_GFX_GREEN_BIKE 8
#define OBJ_EVENT_GFX_GREEN_SURF 9
#define OBJ_EVENT_GFX_GREEN_FIELD_MOVE 10
#define OBJ_EVENT_GFX_GREEN_FISH 11
#define OBJ_EVENT_GFX_GREEN_VS_SEEKER 12
#define OBJ_EVENT_GFX_GREEN_VS_SEEKER_BIKE 13
#define OBJ_EVENT_GFX_RS_BRENDAN 14
#define OBJ_EVENT_GFX_RS_MAY 15
#define OBJ_EVENT_GFX_LITTLE_BOY 16
#define OBJ_EVENT_GFX_LITTLE_GIRL 17
#define OBJ_EVENT_GFX_YOUNGSTER 18
#define OBJ_EVENT_GFX_BOY 19
#define OBJ_EVENT_GFX_BUG_CATCHER 20
#define OBJ_EVENT_GFX_SITTING_BOY 21
#define OBJ_EVENT_GFX_LASS 22
#define OBJ_EVENT_GFX_WOMAN_1 23
#define OBJ_EVENT_GFX_CRUSH_GIRL 24
#define OBJ_EVENT_GFX_MAN 25
#define OBJ_EVENT_GFX_ROCKER 26
#define OBJ_EVENT_GFX_FAT_MAN 27
#define OBJ_EVENT_GFX_WOMAN_2 28
#define OBJ_EVENT_GFX_BEAUTY 29
#define OBJ_EVENT_GFX_BALDING_MAN 30
#define OBJ_EVENT_GFX_WOMAN_3 31
#define OBJ_EVENT_GFX_OLD_MAN_1 32
#define OBJ_EVENT_GFX_OLD_MAN_2 33
#define OBJ_EVENT_GFX_OLD_MAN_LYING_DOWN 34
#define OBJ_EVENT_GFX_OLD_WOMAN 35
#define OBJ_EVENT_GFX_TUBER_M_WATER 36
#define OBJ_EVENT_GFX_TUBER_F 37
#define OBJ_EVENT_GFX_TUBER_M_LAND 38
#define OBJ_EVENT_GFX_CAMPER 39
#define OBJ_EVENT_GFX_PICNICKER 40
#define OBJ_EVENT_GFX_COOLTRAINER_M 41
#define OBJ_EVENT_GFX_COOLTRAINER_F 42
#define OBJ_EVENT_GFX_SWIMMER_M_WATER 43
#define OBJ_EVENT_GFX_SWIMMER_F_WATER 44
#define OBJ_EVENT_GFX_SWIMMER_M_LAND 45
#define OBJ_EVENT_GFX_SWIMMER_F_LAND 46
#define OBJ_EVENT_GFX_WORKER_M 47
#define OBJ_EVENT_GFX_WORKER_F 48
#define OBJ_EVENT_GFX_ROCKET_M 49
#define OBJ_EVENT_GFX_ROCKET_F 50
#define OBJ_EVENT_GFX_GBA_KID 51
#define OBJ_EVENT_GFX_POKE_MANIAC 52
#define OBJ_EVENT_GFX_BIKER 53
#define OBJ_EVENT_GFX_BLACK_BELT 54
#define OBJ_EVENT_GFX_SCIENTIST 55
#define OBJ_EVENT_GFX_HIKER 56
#define OBJ_EVENT_GFX_FISHER 57
#define OBJ_EVENT_GFX_CHANNELER 58
#define OBJ_EVENT_GFX_CHEF 59
#define OBJ_EVENT_GFX_POLICEMAN 60
#define OBJ_EVENT_GFX_GENTLEMAN 61
#define OBJ_EVENT_GFX_SAILOR 62
#define OBJ_EVENT_GFX_CAPTAIN 63
#define OBJ_EVENT_GFX_NURSE 64
#define OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST 65
#define OBJ_EVENT_GFX_UNION_ROOM_RECEPTIONIST 66
#define OBJ_EVENT_GFX_UNUSED_MALE_RECEPTIONIST 67
#define OBJ_EVENT_GFX_CLERK 68
#define OBJ_EVENT_GFX_MG_DELIVERYMAN 69
#define OBJ_EVENT_GFX_TRAINER_TOWER_DUDE 70
#define OBJ_EVENT_GFX_PROF_OAK 71
#define OBJ_EVENT_GFX_BLUE 72
#define OBJ_EVENT_GFX_BILL 73
#define OBJ_EVENT_GFX_LANCE 74
#define OBJ_EVENT_GFX_AGATHA 75
#define OBJ_EVENT_GFX_DAISY 76
#define OBJ_EVENT_GFX_LORELEI 77
#define OBJ_EVENT_GFX_MR_FUJI 78
#define OBJ_EVENT_GFX_BRUNO 79
#define OBJ_EVENT_GFX_BROCK 80
#define OBJ_EVENT_GFX_MISTY 81
#define OBJ_EVENT_GFX_LT_SURGE 82
#define OBJ_EVENT_GFX_ERIKA 83
#define OBJ_EVENT_GFX_KOGA 84
#define OBJ_EVENT_GFX_SABRINA 85
#define OBJ_EVENT_GFX_BLAINE 86
#define OBJ_EVENT_GFX_GIOVANNI 87
#define OBJ_EVENT_GFX_MOM 88
#define OBJ_EVENT_GFX_CELIO 89
#define OBJ_EVENT_GFX_TEACHY_TV_HOST 90
#define OBJ_EVENT_GFX_GYM_GUY 91
#define OBJ_EVENT_GFX_ITEM_BALL 92
#define OBJ_EVENT_GFX_TOWN_MAP 93
#define OBJ_EVENT_GFX_POKEDEX 94
#define OBJ_EVENT_GFX_CUT_TREE 95
#define OBJ_EVENT_GFX_ROCK_SMASH_ROCK 96
#define OBJ_EVENT_GFX_PUSHABLE_BOULDER 97
#define OBJ_EVENT_GFX_FOSSIL 98
#define OBJ_EVENT_GFX_RUBY 99
#define OBJ_EVENT_GFX_SAPPHIRE 100
#define OBJ_EVENT_GFX_OLD_AMBER 101
#define OBJ_EVENT_GFX_GYM_SIGN 102
#define OBJ_EVENT_GFX_SIGN 103
#define OBJ_EVENT_GFX_TRAINER_TIPS 104
#define OBJ_EVENT_GFX_CLIPBOARD 105
#define OBJ_EVENT_GFX_METEORITE 106
#define OBJ_EVENT_GFX_LAPRAS_DOLL 107
#define OBJ_EVENT_GFX_SEAGALLOP 108
#define OBJ_EVENT_GFX_SNORLAX 109
#define OBJ_EVENT_GFX_SPEAROW 110
#define OBJ_EVENT_GFX_CUBONE 111
#define OBJ_EVENT_GFX_POLIWRATH 112
#define OBJ_EVENT_GFX_CLEFAIRY 113
#define OBJ_EVENT_GFX_PIDGEOT 114
#define OBJ_EVENT_GFX_JIGGLYPUFF 115
#define OBJ_EVENT_GFX_PIDGEY 116
#define OBJ_EVENT_GFX_CHANSEY 117
#define OBJ_EVENT_GFX_OMANYTE 118
#define OBJ_EVENT_GFX_KANGASKHAN 119
#define OBJ_EVENT_GFX_PIKACHU 120
#define OBJ_EVENT_GFX_PSYDUCK 121
#define OBJ_EVENT_GFX_NIDORAN_F 122
#define OBJ_EVENT_GFX_NIDORAN_M 123
#define OBJ_EVENT_GFX_NIDORINO 124
#define OBJ_EVENT_GFX_MEOWTH 125
#define OBJ_EVENT_GFX_SEEL 126
#define OBJ_EVENT_GFX_VOLTORB 127
#define OBJ_EVENT_GFX_SLOWPOKE 128
#define OBJ_EVENT_GFX_SLOWBRO 129
#define OBJ_EVENT_GFX_MACHOP 130
#define OBJ_EVENT_GFX_WIGGLYTUFF 131
#define OBJ_EVENT_GFX_DODUO 132
#define OBJ_EVENT_GFX_FEAROW 133
#define OBJ_EVENT_GFX_MACHOKE 134
#define OBJ_EVENT_GFX_LAPRAS 135
#define OBJ_EVENT_GFX_ZAPDOS 136
#define OBJ_EVENT_GFX_MOLTRES 137
#define OBJ_EVENT_GFX_ARTICUNO 138
#define OBJ_EVENT_GFX_MEWTWO 139
#define OBJ_EVENT_GFX_MEW 140
#define OBJ_EVENT_GFX_ENTEI 141
#define OBJ_EVENT_GFX_SUICUNE 142
#define OBJ_EVENT_GFX_RAIKOU 143
#define OBJ_EVENT_GFX_LUGIA 144
#define OBJ_EVENT_GFX_HO_OH 145
#define OBJ_EVENT_GFX_CELEBI 146
#define OBJ_EVENT_GFX_KABUTO 147
#define OBJ_EVENT_GFX_DEOXYS_D 148
#define OBJ_EVENT_GFX_DEOXYS_A 149
#define OBJ_EVENT_GFX_DEOXYS_N 150
#define OBJ_EVENT_GFX_SS_ANNE 151
#define OBJ_EVENT_GFX_POKE_BALL 152
#define OBJ_EVENT_GFX_BERRY_TREE 153
#define OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES 154
#define OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES 155
#define OBJ_EVENT_GFX_OW_MON 156
#define OBJ_EVENT_GFX_AZUMARILL 157
#define OBJ_EVENT_GFX_AZURILL 158
#define OBJ_EVENT_GFX_DUSCLOPS 159
#define OBJ_EVENT_GFX_KIRLIA 160
#define OBJ_EVENT_GFX_SKITTY 161
#define OBJ_EVENT_GFX_SUDOWOODO 162
#define OBJ_EVENT_GFX_WINGULL 163
#define OBJ_EVENT_GFX_ZIGZAGOON_2 164
#define OBJ_EVENT_GFX_RICH_BOY 165
#define OBJ_EVENT_GFX_COOK 166
#define OBJ_EVENT_GFX_CYCLING_TRIATHLETE_F 167
#define OBJ_EVENT_GFX_CYCLING_TRIATHLETE_M 168
#define OBJ_EVENT_GFX_EXPERT_F 169
#define OBJ_EVENT_GFX_EXPERT_M 170
#define OBJ_EVENT_GFX_GIRL_1 171
#define OBJ_EVENT_GFX_GIRL_2 172
#define OBJ_EVENT_GFX_GIRL_3 173
#define OBJ_EVENT_GFX_HEX_MANIAC 174
#define OBJ_EVENT_GFX_MANIAC 175
#define OBJ_EVENT_GFX_NINJA_BOY 176
#define OBJ_EVENT_GFX_POKEFAN_F 177
#define OBJ_EVENT_GFX_POKEFAN_M 178
#define OBJ_EVENT_GFX_PSYCHIC_M 179
#define OBJ_EVENT_GFX_REPORTER_F 180
#define OBJ_EVENT_GFX_REPORTER_M 181
#define OBJ_EVENT_GFX_RUNNING_TRIATHLETE_F 182
#define OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M 183
#define OBJ_EVENT_GFX_SCHOOL_KID_M 184
#define OBJ_EVENT_GFX_STEVEN 185
#define OBJ_EVENT_GFX_SCOTT 186
#define OBJ_EVENT_GFX_ANABEL 187
#define OBJ_EVENT_GFX_BRANDON 188
#define OBJ_EVENT_GFX_GRETA 189
#define OBJ_EVENT_GFX_LUCY 190
#define OBJ_EVENT_GFX_NOLAND 191
#define OBJ_EVENT_GFX_SPENSER 192
#define OBJ_EVENT_GFX_TUCKER 193
#define NUM_OBJ_EVENT_GFX 194
// FRLG equivalents:
#define OBJ_EVENT_GFX_TWIN OBJ_EVENT_GFX_LITTLE_GIRL
#define OBJ_EVENT_GFX_BOY_1 OBJ_EVENT_GFX_BOY
#define OBJ_EVENT_GFX_BOY_2 OBJ_EVENT_GFX_BOY
#define OBJ_EVENT_GFX_BOY_3 OBJ_EVENT_GFX_BOY
#define OBJ_EVENT_GFX_LINK_RECEPTIONIST OBJ_EVENT_GFX_UNION_ROOM_RECEPTIONIST
#define OBJ_EVENT_GFX_MART_EMPLOYEE OBJ_EVENT_GFX_CLERK
#define OBJ_EVENT_GFX_SS_TIDAL OBJ_EVENT_GFX_SEAGALLOP
#define OBJ_EVENT_GFX_TEALA OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST
#define OBJ_EVENT_GFX_OLD_MAN OBJ_EVENT_GFX_OLD_MAN_2
#define OBJ_EVENT_GFX_MAN_1 OBJ_EVENT_GFX_MAN
#define OBJ_EVENT_GFX_MAN_2 OBJ_EVENT_GFX_MAN
#define OBJ_EVENT_GFX_MAN_3 OBJ_EVENT_GFX_MAN
#define OBJ_EVENT_GFX_MAN_4 OBJ_EVENT_GFX_MAN
#define OBJ_EVENT_GFX_MAN_5 OBJ_EVENT_GFX_MAN
#define OBJ_EVENT_GFX_WOMAN_4 OBJ_EVENT_GFX_WOMAN_3
#define OBJ_EVENT_GFX_WOMAN_5 OBJ_EVENT_GFX_WOMAN_2
#define OBJ_EVENT_GFX_TUBER_M OBJ_EVENT_GFX_TUBER_M_LAND
// 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_MON (1u << 14)
#define OBJ_EVENT_MON_SHINY (1u << 13)
#define OBJ_EVENT_MON_FEMALE (1u << 12)
#define OBJ_EVENT_MON_SPECIES_MASK (~(7u << 12))
// Used to call a specific species' follower graphics. Useful for static encounters.
#define OBJ_EVENT_GFX_SPECIES(name) (SPECIES_##name + OBJ_EVENT_MON)
#define OBJ_EVENT_GFX_SPECIES_SHINY(name) (SPECIES_##name + OBJ_EVENT_MON + OBJ_EVENT_MON_SHINY)
#define OBJ_EVENT_GFX_SPECIES_FEMALE(name) (SPECIES_##name + OBJ_EVENT_MON + OBJ_EVENT_MON_FEMALE)
#define OBJ_EVENT_GFX_SPECIES_SHINY_FEMALE(name) (SPECIES_##name + OBJ_EVENT_MON + OBJ_EVENT_MON_SHINY + OBJ_EVENT_MON_FEMALE)
#define OW_SPECIES(x) ((x)->graphicsId & OBJ_EVENT_MON_SPECIES_MASK)
#define OW_SHINY(x) ((x)->graphicsId & OBJ_EVENT_MON_SHINY)
#define OW_FEMALE(x) ((x)->graphicsId & OBJ_EVENT_MON_FEMALE)
// Whether Object Event is an OW pokemon
#define IS_OW_MON_OBJ(obj) ((obj)->graphicsId & OBJ_EVENT_MON)
#define SHADOW_SIZE_S 0
#define SHADOW_SIZE_M 1
#define SHADOW_SIZE_L 2
#define SHADOW_SIZE_XL 3
#define SHADOW_SIZE_XL_BATTLE_ONLY SHADOW_SIZE_XL // Battle-only definition for XL shadow size.
#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 OBJ_KIND_NORMAL 0
#define OBJ_KIND_CLONE 255
// Each object event template gets an ID that can be used to refer to it in scripts and elsewhere.
// This is referred to as the "local id" (and it's really just 1 + its index in the templates array).
// There are a few special IDs reserved for objects that don't have templates in the map data -- one for the player
// in regular offline play, five for linked players while playing Berry Blender, and one for an invisible object that
// can be spawned for the camera to track instead of the player. Additionally, the value 0 is reserved as an "empty" indicator.
#define LOCALID_NONE 0
#define LOCALID_CAMERA 127
#define LOCALID_BERRY_BLENDER_PLAYER_END 240 // This will use 5 (MAX_RFU_PLAYERS) IDs ending at 240, i.e. 236-240
#define LOCALID_PLAYER 255
// Special object event local ids
// Aliases for old names. "object event id" normally refers to an index into gObjectEvents, which these are not.
#define OBJ_EVENT_ID_DYNAMIC_BASE 0xF0
#define OBJ_EVENT_ID_CAMERA LOCALID_CAMERA
#define OBJ_EVENT_ID_PLAYER LOCALID_PLAYER
#define OBJ_EVENT_ID_FOLLOWER 254
#define OBJ_EVENT_ID_NPC_FOLLOWER 253
#define OBJ_EVENT_PAL_TAG_PLAYER_RED 0x1100
#define OBJ_EVENT_PAL_TAG_PLAYER_RED_REFLECTION 0x1101
#define OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION 0x1102
#define OBJ_EVENT_PAL_TAG_NPC_BLUE 0x1103
#define OBJ_EVENT_PAL_TAG_NPC_PINK 0x1104
#define OBJ_EVENT_PAL_TAG_NPC_GREEN 0x1105
#define OBJ_EVENT_PAL_TAG_NPC_WHITE 0x1106
#define OBJ_EVENT_PAL_TAG_NPC_BLUE_REFLECTION 0x1107
#define OBJ_EVENT_PAL_TAG_NPC_PINK_REFLECTION 0x1108
#define OBJ_EVENT_PAL_TAG_NPC_GREEN_REFLECTION 0x1109
#define OBJ_EVENT_PAL_TAG_NPC_WHITE_REFLECTION 0x110A
#define OBJ_EVENT_PAL_TAG_RS_QUINTY_PLUMP 0x110B
#define OBJ_EVENT_PAL_TAG_RS_QUINTY_PLUMP_REFLECTION 0x110C
#define OBJ_EVENT_PAL_TAG_RS_TRUCK 0x110D
#define OBJ_EVENT_PAL_TAG_RS_MACHOKE 0x110E
#define OBJ_EVENT_PAL_TAG_RS_POOCHYENA 0x110F
#define OBJ_EVENT_PAL_TAG_PLAYER_GREEN 0x1110
#define OBJ_EVENT_PAL_TAG_PLAYER_GREEN_REFLECTION 0x1111
#define OBJ_EVENT_PAL_TAG_RS_MOVING_BOX 0x1112
#define OBJ_EVENT_PAL_TAG_METEORITE 0x1113
#define OBJ_EVENT_PAL_TAG_SEAGALLOP 0x1114
#define OBJ_EVENT_PAL_TAG_SS_ANNE 0x1115
#define OBJ_EVENT_PAL_TAG_RS_PLAYER_UNDERWATER 0x1116
#define OBJ_EVENT_PAL_TAG_RS_KYOGRE 0x1117
#define OBJ_EVENT_PAL_TAG_RS_KYOGRE_REFLECTION 0x1118
#define OBJ_EVENT_PAL_TAG_RS_GROUDON 0x1119
#define OBJ_EVENT_PAL_TAG_RS_GROUDON_REFLECTION 0x111A
#define OBJ_EVENT_PAL_TAG_RS_SUBMARINE_SHADOW 0x111B
#define OBJ_EVENT_PAL_TAG_NPC_1 0x111C // emerald
#define OBJ_EVENT_PAL_TAG_NPC_2 0x111D // emerald
#define OBJ_EVENT_PAL_TAG_NPC_3 0x111E // emerald
#define OBJ_EVENT_PAL_TAG_NPC_4 0x111F // emerald
#define OBJ_EVENT_PAL_TAG_DYNAMIC 0x1120
#if OW_FOLLOWERS_POKEBALLS
// Vanilla
#define OBJ_EVENT_PAL_TAG_BALL_MASTER 0x1150
#define OBJ_EVENT_PAL_TAG_BALL_ULTRA 0x1151
#define OBJ_EVENT_PAL_TAG_BALL_GREAT 0x1152
#define OBJ_EVENT_PAL_TAG_BALL_SAFARI 0x1153
#define OBJ_EVENT_PAL_TAG_BALL_NET 0x1154
#define OBJ_EVENT_PAL_TAG_BALL_DIVE 0x1155
#define OBJ_EVENT_PAL_TAG_BALL_NEST 0x1156
#define OBJ_EVENT_PAL_TAG_BALL_REPEAT 0x1157
#define OBJ_EVENT_PAL_TAG_BALL_TIMER 0x1158
#define OBJ_EVENT_PAL_TAG_BALL_LUXURY 0x1159
#define OBJ_EVENT_PAL_TAG_BALL_PREMIER 0x115A
// Gen IV/Sinnoh
#define OBJ_EVENT_PAL_TAG_BALL_DUSK 0x115B
#define OBJ_EVENT_PAL_TAG_BALL_HEAL 0x115C
#define OBJ_EVENT_PAL_TAG_BALL_QUICK 0x115D
#define OBJ_EVENT_PAL_TAG_BALL_CHERISH 0x115E
#define OBJ_EVENT_PAL_TAG_BALL_PARK 0x115F
// Gen II/Johto Apricorns
#define OBJ_EVENT_PAL_TAG_BALL_FAST 0x1160
#define OBJ_EVENT_PAL_TAG_BALL_LEVEL 0x1161
#define OBJ_EVENT_PAL_TAG_BALL_LURE 0x1162
#define OBJ_EVENT_PAL_TAG_BALL_HEAVY 0x1163
#define OBJ_EVENT_PAL_TAG_BALL_LOVE 0x1164
#define OBJ_EVENT_PAL_TAG_BALL_FRIEND 0x1165
#define OBJ_EVENT_PAL_TAG_BALL_MOON 0x1166
#define OBJ_EVENT_PAL_TAG_BALL_SPORT 0x1167
// Gen V
#define OBJ_EVENT_PAL_TAG_BALL_DREAM 0x1168
// Gen VII
#define OBJ_EVENT_PAL_TAG_BALL_BEAST 0x1169
// Gen VIII
#define OBJ_EVENT_PAL_TAG_BALL_STRANGE 0x116A
#endif //OW_FOLLOWERS_POKEBALLS
// Used as a placeholder follower graphic
#define OBJ_EVENT_PAL_TAG_SUBSTITUTE 0x7611
#define OBJ_EVENT_PAL_TAG_EMOTES 0x8002
// Not a real OW palette tag; used for the white flash applied to followers
#define OBJ_EVENT_PAL_TAG_WHITE (OBJ_EVENT_PAL_TAG_NONE - 1)
#define OBJ_EVENT_PAL_TAG_NONE 0x11FF
// This + localId is used as the tileTag
// for compressed graphicsInfos
// '(C)ompressed (E)vent'
#define COMP_OW_TILE_TAG_BASE 0xCE00
#endif // GUARD_CONSTANTS_EVENT_OBJECTS_H