diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 78d3037ae..2bcc258ba 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -1735,6 +1735,28 @@ .2byte \quantity .endm + @ sets an NPC up to follow the player + .macro setfollower localId:req, flags:req + .byte 0xe3 + .byte \localId + .2byte \flags + .endm + + @ remove the following NPC (assumes there will only ever be one) + .macro destroyfollower + .byte 0xe4 + .endm + + @ makes the player and follower face one another + .macro facefollower + .byte 0xe5 + .endm + + @ checks if you have a follower. returns the result to VAR_RESULT + .macro checkfollower + .byte 0xe6 + .endm + @ Supplementary @@ -2018,3 +2040,30 @@ setvar VAR_0x8002, \tryMultiple special TrySpecialOverworldEvo .endm + .macro pokemonfaceplayer objectId=254 + setvar VAR_UNUSED_0x8014, \objectId + callnative ScrCmd_pokemonfaceplayer + .endm + + .macro updatefollowerpokemongraphic + setvar VAR_UNUSED_0x8014, 1 + callnative UpdateFollowerPokemonGraphic + .endm + + .macro hidefollower + callnative HideFollower + .endm + + .macro showfollower + callnative ShowFollower + .endm + + .macro followerintopokeball + setvar VAR_UNUSED_0x8014, 0 + callnative FollowerIntoPokeball + .endm + + .macro setfollowerwarppos pos:req + setvar VAR_RESULT, \pos + callnative SetFollowerWarpPosition + .endm diff --git a/asm/macros/map.inc b/asm/macros/map.inc index 21445138d..67ff7534f 100644 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -21,17 +21,11 @@ @ Defines an object event template for map data, to be used by a normal object. Mirrors the struct layout of ObjectEventTemplate in include/global.fieldmap.h .macro object_event index:req, gfx:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req - .byte \index - .byte \gfx - .byte OBJ_KIND_NORMAL - .space 1 @ Padding + .byte \index, OBJ_KIND_NORMAL + .2byte \gfx .2byte \x, \y - .byte \elevation - .byte \movement_type - .byte ((\y_radius << 4) | \x_radius) - .space 1 @ Padding - .2byte \trainer_type - .2byte \sight_radius_tree_etc + .byte \elevation, \movement_type, ((\y_radius << 4) | \x_radius), 0 + .2byte \trainer_type, \sight_radius_tree_etc .4byte \script .2byte \event_flag .space 2 @ Padding diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc index a43dc07ac..fced51d9c 100644 --- a/asm/macros/movement.inc +++ b/asm/macros/movement.inc @@ -162,5 +162,11 @@ create_movement_action figure_8, MOVEMENT_ACTION_FIGURE_8 create_movement_action fly_up, MOVEMENT_ACTION_FLY_UP create_movement_action fly_down, MOVEMENT_ACTION_FLY_DOWN + create_movement_action follower_face_down, MOVEMENT_ACTION_FOLLOWING_POKEMON_FACESOUTH + create_movement_action follower_face_up, MOVEMENT_ACTION_FOLLOWING_POKEMON_FACENORTH + create_movement_action follower_face_left, MOVEMENT_ACTION_FOLLOWING_POKEMON_FACEWEST + create_movement_action follower_face_right, MOVEMENT_ACTION_FOLLOWING_POKEMON_FACEEAST + create_movement_action follower_shrink, MOVEMENT_ACTION_FOLLOWING_POKEMON_SHRINK + create_movement_action follower_grow, MOVEMENT_ACTION_FOLLOWING_POKEMON_GROW create_movement_action step_end, MOVEMENT_ACTION_STEP_END diff --git a/data/event_scripts.s b/data/event_scripts.s index 35d0cae2f..7e44c0df8 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -55,6 +55,7 @@ #include "constants/union_room.h" #include "constants/vars.h" #include "constants/weather.h" +#include "constants/follow_me.h" .include "asm/macros.inc" .include "asm/macros/event.inc" .include "constants/constants.inc" diff --git a/data/field_effect_scripts.s b/data/field_effect_scripts.s index 49fcf798b..277cbb376 100644 --- a/data/field_effect_scripts.s +++ b/data/field_effect_scripts.s @@ -72,6 +72,9 @@ gFieldEffectScriptPointers:: .4byte gFieldEffectScript_RayquazaSpotlight @ FLDEFF_RAYQUAZA_SPOTLIGHT .4byte gFieldEffectScript_DestroyDeoxysRock @ FLDEFF_DESTROY_DEOXYS_ROCK .4byte gFieldEffectScript_MoveDeoxysRock @ FLDEFF_MOVE_DEOXYS_ROCK + .4byte gFieldEffectScript_TracksSlither @ FLDEFF_TRACKS_SLITHER + .4byte gFieldEffectScript_TracksBug @ FLDEFF_TRACKS_BUG + .4byte gFieldEffectScript_TracksSpot @ FLDEFF_TRACKS_SPOT gFieldEffectScript_ExclamationMarkIcon1:: field_eff_callnative FldEff_ExclamationMarkIcon @@ -128,6 +131,18 @@ gFieldEffectScript_JumpTallGrass:: gFieldEffectScript_SandFootprints:: field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_SandFootprints field_eff_end + +gFieldEffectScript_TracksBug:: @ 82DBB42 + field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_TracksBug + field_eff_end + +gFieldEffectScript_TracksSpot:: @ 82DBB42 + field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_TracksSpot + field_eff_end + +gFieldEffectScript_TracksSlither:: @ 82DBBFF + field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_TracksSlither + field_eff_end gFieldEffectScript_JumpBigSplash:: field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_JumpBigSplash diff --git a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc index 7c59fec96..78fdc6434 100644 --- a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc +++ b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc @@ -7,7 +7,7 @@ AbandonedShip_CaptainsOffice_EventScript_CaptSternAide:: goto_if_set FLAG_EXCHANGED_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus checkitem ITEM_SCANNER goto_if_eq VAR_RESULT, TRUE, AbandonedShip_CaptainsOffice_EventScript_CanYouDeliverScanner - goto_if_set FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus + goto_if_set FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_2_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus msgbox AbandonedShip_CaptainsOffice_Text_NoSuccessFindingScanner, MSGBOX_DEFAULT release end diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/map.json b/data/maps/AbandonedShip_HiddenFloorRooms/map.json index dce9111eb..905c85335 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/map.json +++ b/data/maps/AbandonedShip_HiddenFloorRooms/map.json @@ -38,7 +38,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemScanner", - "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER" + "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_2_SCANNER" }, { "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json index d97c026bd..ac8710804 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json @@ -91,6 +91,19 @@ "trainer_sight_or_berry_tree_id": "0", "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Chikorita", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_1", + "x": 6, + "y": 6, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_NONE", + "movement_range_x": 0, + "movement_range_y": 0, + "trainer_type": "TRAINER_TYPE_NONE", + "trainer_sight_or_berry_tree_id": "0", + "script": "NULL", + "flag": "FLAG_FOLLOWER_ACTIVE" } ], "warp_events": [ diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc index acf80f0e4..bf0377b41 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc @@ -29,6 +29,7 @@ LittlerootTown_ProfessorBirchsLab_MapScripts:: LittlerootTown_ProfessorBirchsLab_OnTransition: call Common_EventScript_SetupRivalGfxId call ProfBirch_EventScript_UpdateLocation + setflag FLAG_FOLLOWER_ACTIVE goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_SetAfterJohtoStarterLayout goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_SetJohtoStarterLayout goto_if_eq VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3, LittlerootTown_ProfessorBirchsLab_EventScript_CheckReadyForJohtoStarter @@ -139,6 +140,10 @@ LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival:: msgbox LittlerootTown_ProfessorBirchsLab_Text_GetRivalToTeachYou, MSGBOX_DEFAULT clearflag FLAG_HIDE_ROUTE_101_BOY setvar VAR_BIRCH_LAB_STATE, 3 + addobject 7 + hideobjectat 7, MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB + setfollower 7, 0x7E + updatefollowerpokemongraphic releaseall end diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc index f50ce5322..29011ba17 100644 --- a/data/script_cmd_table.inc +++ b/data/script_cmd_table.inc @@ -227,6 +227,10 @@ gScriptCmdTable:: .4byte ScrCmd_warpwhitefade @ 0xe0 .4byte ScrCmd_buffercontestname @ 0xe1 .4byte ScrCmd_bufferitemnameplural @ 0xe2 + .4byte ScrCmd_setfollower @ 0xe3 + .4byte ScrCmd_destroyfollower @ 0xe4 + .4byte ScrCmd_facefollower @ 0xe5 + .4byte ScrCmd_checkfollower @ 0xe6 gScriptCmdTableEnd:: .4byte ScrCmd_nop diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc index 3e99fc08e..14570cf99 100644 --- a/data/scripts/field_move_scripts.inc +++ b/data/scripts/field_move_scripts.inc @@ -287,3 +287,69 @@ EventScript_FailSweetScent:: Text_FailSweetScent: .string "Looks like there's nothing here…$" + +FollowerPositionFixScript:: + setvar 0x8000 0x0 + callnative FollowerTrainerSightingPositionFix + compare VAR_RESULT 0xFFFF + goto_if_eq FollowerPositionFixScriptReturn + call WalkCall + setvar 0x8000 0x1 + callnative FollowerTrainerSightingPositionFix +FollowerPositionFixScriptReturn: + return + +FollowerIntoPlayerScript:: + setvar 0x8000 0x0 + callnative FollowerIntoPlayer + compare VAR_RESULT 0xFFFF + goto_if_eq FollowerPositionFixScriptReturn + setvar 0x8005 0xFE @ follower + call WalkCall + setvar 0x8000 0x1 + callnative FollowerIntoPlayer + return + +WalkCall: + compare VAR_RESULT 0x0 + call_if_eq WalkDownCall + compare VAR_RESULT 0x1 + call_if_eq WalkUpCall + compare VAR_RESULT 0x2 + call_if_eq WalkLeftCall + compare VAR_RESULT 0x3 + call_if_eq WalkRightCall + waitmovement 0x8005 + return + +WalkDownCall: + applymovement 0x8005 WalkDown + return + +WalkUpCall: + applymovement 0x8005 WalkUp + return + +WalkLeftCall: + applymovement 0x8005 WalkLeft + return + +WalkRightCall: + applymovement 0x8005 WalkRight + return + +WalkDown: + walk_down + step_end + +WalkUp: + walk_up + step_end + +WalkLeft: + walk_left + step_end + +WalkRight: + walk_right + step_end diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc index eda3505bf..a33636043 100644 --- a/data/scripts/mauville_man.inc +++ b/data/scripts/mauville_man.inc @@ -64,9 +64,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_DeclineWritingLyrics:: MauvilleCity_PokemonCenter_1F_EventScript_Hipster:: lock faceplayer - setflag FLAG_SYS_HIPSTER_MEET + setflag FLAG_UNLOCKED_TRENDY_SAYINGS msgbox MauvilleCity_PokemonCenter_1F_Text_TeachWhatsHipAndHappening, MSGBOX_DEFAULT - special GetHipsterSpokenFlag + special HasHipsterTaughtWord goto_if_eq VAR_RESULT, FALSE, MauvilleCity_PokemonCenter_1F_EventScript_TryTeachWord msgbox MauvilleCity_PokemonCenter_1F_Text_IAlreadyTaughtYou, MSGBOX_DEFAULT release @@ -80,8 +80,8 @@ MauvilleCity_PokemonCenter_1F_EventScript_TryTeachWord:: end MauvilleCity_PokemonCenter_1F_EventScript_TeachWord:: - msgbox MauvilleCity_PokemonCenter_1F_Text_HaveYouHeardOfPhrase, MSGBOX_DEFAULT - special SetHipsterSpokenFlag + msgbox MauvilleCity_PokemonCenter_1F_Text_HaveYouHeardOfWord, MSGBOX_DEFAULT + special SetHipsterTaughtWord release end @@ -969,7 +969,7 @@ MauvilleCity_PokemonCenter_1F_Text_IveGotNothingNewToTeach: .string "what's hip and happening.\p" .string "I've got nothing new to teach you!$" -MauvilleCity_PokemonCenter_1F_Text_HaveYouHeardOfPhrase: +MauvilleCity_PokemonCenter_1F_Text_HaveYouHeardOfWord: .string "Hey, have you heard about\n" .string "“{STR_VAR_1}”?\p" .string "What's it mean? Well…\n" diff --git a/data/scripts/pkmn_center_nurse.inc b/data/scripts/pkmn_center_nurse.inc index 64ccdfa77..b5067775c 100644 --- a/data/scripts/pkmn_center_nurse.inc +++ b/data/scripts/pkmn_center_nurse.inc @@ -33,6 +33,8 @@ EventScript_PkmnCenterNurse_IllTakeYourPkmn2:: return EventScript_PkmnCenterNurse_TakeAndHealPkmn:: + followerintopokeball + call_if_eq VAR_UNUSED_0x8014, 1, EventScript_FollowerIntoPokeballDelay applymovement VAR_0x800B, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 dofieldeffect FLDEFF_POKECENTER_HEAL @@ -40,6 +42,12 @@ EventScript_PkmnCenterNurse_TakeAndHealPkmn:: applymovement VAR_0x800B, Common_Movement_WalkInPlaceFasterDown waitmovement 0 special HealPlayerParty + updatefollowerpokemongraphic + return + +EventScript_FollowerIntoPokeballDelay:: + delay 21 + setvar VAR_UNUSED_0x8014, 0 return EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom:: diff --git a/data/specials.inc b/data/specials.inc index 3d08eef4c..ded2e3f4f 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -111,8 +111,8 @@ gSpecials:: def_special Script_GetCurrentMauvilleMan def_special HasBardSongBeenChanged def_special SaveBardSongLyrics - def_special GetHipsterSpokenFlag - def_special SetHipsterSpokenFlag + def_special HasHipsterTaughtWord + def_special SetHipsterTaughtWord def_special HipsterTryTeachWord def_special PlayBardSong def_special SetMauvilleOldManObjEventGfx diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md new file mode 100644 index 000000000..ce06c1489 --- /dev/null +++ b/docs/bugs_and_glitches.md @@ -0,0 +1,51 @@ + +# Bugs and Glitches + +These are known bugs and glitches in the original Pokémon Emerald game: code that clearly does not work as intended, or that only works in limited circumstances but has the possibility to fail or crash. Defining the `BUGFIX` and `UBFIX` preprocessor variables will fix some of these automatically. `UBFIX` will already be defined for MODERN builds. + +Fixes are written in the `diff` format. If you've used Git before, this should look familiar: + +```diff + this is some code +-delete red - lines ++add green + lines +``` + +## Contents + +- [Scrolling through items in the bag causes the image to flicker](#scrolling-through-items-in-the-bag-causes-the-image-to-flicker) + + +## Scrolling through items in the bag causes the image to flicker + +**Fix:** Add the following function to [src/item_menu_icons.c](https://github.com/pret/pokeemerald/blob/master/src/item_menu_icons.c): +```diff ++void HideBagItemIconSprite(u8 id) ++{ ++ u8 *spriteId = &gBagMenu->spriteId[10]; ++ if (spriteId[id] != 0xFF) ++ { ++ gSprites[spriteId[id]].invisible = TRUE; ++ } ++} + +``` + +and its corresponding declaration in [include/item_menu_icons.h](https://github.com/pret/pokeemerald/blob/master/include/item_menu_icons.h): + +```diff ++void HideBagItemIconSprite(u8 id); + +``` + +Then edit `BagMenu_MoveCursorCallback` in [src/item_menu.c](https://github.com/pret/pokeemerald/blob/master/src/item_menu.c): + +```diff + ... +{ +- RemoveBagItemIconSprite(1 ^ gBagMenu->itemIconSlot); ++ HideBagItemIconSprite(gBagMenu->itemIconSlot ^ 1); ++ RemoveBagItemIconSprite(gBagMenu->itemIconSlot); + if (itemIndex != LIST_CANCEL) + ... +``` diff --git a/gflib/sprite.c b/gflib/sprite.c index c489eb6a4..e6a74dd3b 100644 --- a/gflib/sprite.c +++ b/gflib/sprite.c @@ -2,6 +2,8 @@ #include "sprite.h" #include "main.h" #include "palette.h" +#include "global.fieldmap.h" +#include "constants/event_objects.h" #define MAX_SPRITE_COPY_REQUESTS 64 @@ -967,6 +969,57 @@ void ContinueAnim(struct Sprite *sprite) } } +bool8 IsFlyingPokemonGraphic(u16 graphicsId) +{ + switch(graphicsId) + { + case OBJ_EVENT_GFX_BUTTERFREE: + case OBJ_EVENT_GFX_BEEDRILL: + case OBJ_EVENT_GFX_PIDGEOTTO: + case OBJ_EVENT_GFX_PIDGEOT: + case OBJ_EVENT_GFX_FEAROW: + case OBJ_EVENT_GFX_ZUBAT: + case OBJ_EVENT_GFX_GOLBAT: + case OBJ_EVENT_GFX_VENOMOTH: + case OBJ_EVENT_GFX_AERODACTYL: + case OBJ_EVENT_GFX_ARTICUNO: + case OBJ_EVENT_GFX_ZAPDOS: + case OBJ_EVENT_GFX_MOLTRES: + case OBJ_EVENT_GFX_DRAGONITE: + case OBJ_EVENT_GFX_NOCTOWL: + case OBJ_EVENT_GFX_LEDYBA: + case OBJ_EVENT_GFX_LEDIAN: + case OBJ_EVENT_GFX_CROBAT: + case OBJ_EVENT_GFX_TOGETIC: + case OBJ_EVENT_GFX_HOPPIP: + case OBJ_EVENT_GFX_SKIPLOOM: + case OBJ_EVENT_GFX_JUMPLUFF: + case OBJ_EVENT_GFX_YANMA: + case OBJ_EVENT_GFX_MANTINE: + case OBJ_EVENT_GFX_SKARMORY: + case OBJ_EVENT_GFX_LUGIA_FOLLOWER: + case OBJ_EVENT_GFX_HOOH_FOLLOWER: + case OBJ_EVENT_GFX_CELEBI: + case OBJ_EVENT_GFX_BEAUTIFLY: + case OBJ_EVENT_GFX_DUSTOX: + case OBJ_EVENT_GFX_SWELLOW: + case OBJ_EVENT_GFX_WINGULL_FOLLOWER: + case OBJ_EVENT_GFX_PELIPPER: + case OBJ_EVENT_GFX_MASQUERAIN: + case OBJ_EVENT_GFX_FLYGON: + case OBJ_EVENT_GFX_SWABLU: + case OBJ_EVENT_GFX_ALTARIA: + case OBJ_EVENT_GFX_VOLBEAT: + case OBJ_EVENT_GFX_ILLUMISE: + case OBJ_EVENT_GFX_KYOGRE: + case OBJ_EVENT_GFX_LATIAS_FOLLOWER: + case OBJ_EVENT_GFX_LATIOS_FOLLOWER: + return TRUE; + default: + return FALSE; + } +} + void AnimCmd_frame(struct Sprite *sprite) { s16 imageValue; @@ -984,6 +1037,15 @@ void AnimCmd_frame(struct Sprite *sprite) sprite->animDelayCounter = duration; + if(sprite == &gSprites[gObjectEvents[gSaveBlock2Ptr->follower.objId].spriteId] && gSaveBlock2Ptr->follower.inProgress && sprite->y2 >= -1 + && !IsFlyingPokemonGraphic(gObjectEvents[gSaveBlock2Ptr->follower.objId].graphicsId) && !sprite->oam.affineMode) + { + if(sprite->animCmdIndex % 2 == 1) + sprite->y2 = 0; + else + sprite->y2 = -1; + } + if (!(sprite->oam.affineMode & ST_OAM_AFFINE_ON_MASK)) SetSpriteOamFlipBits(sprite, hFlip, vFlip); @@ -1017,6 +1079,15 @@ void AnimCmd_jump(struct Sprite *sprite) duration--; sprite->animDelayCounter = duration; + + if(sprite == &gSprites[gObjectEvents[gSaveBlock2Ptr->follower.objId].spriteId] && gSaveBlock2Ptr->follower.inProgress && sprite->y2 >= -1 + && !IsFlyingPokemonGraphic(gObjectEvents[gSaveBlock2Ptr->follower.objId].graphicsId) && !sprite->oam.affineMode) + { + if(sprite->animCmdIndex % 2 == 1) + sprite->y2 = 0; + else + sprite->y2 = -1; + } if (!(sprite->oam.affineMode & ST_OAM_AFFINE_ON_MASK)) SetSpriteOamFlipBits(sprite, hFlip, vFlip); diff --git a/graphics/door_anims/battle_tower_corridor.png b/graphics/door_anims/battle_tower_corridor.png new file mode 100644 index 000000000..06ad24c9f Binary files /dev/null and b/graphics/door_anims/battle_tower_corridor.png differ diff --git a/graphics/door_anims/unknown.png b/graphics/door_anims/unknown.png new file mode 100644 index 000000000..811c086a8 Binary files /dev/null and b/graphics/door_anims/unknown.png differ diff --git a/graphics/field_effects/pics/bug_tracks.png b/graphics/field_effects/pics/bug_tracks.png new file mode 100644 index 000000000..b7062d253 Binary files /dev/null and b/graphics/field_effects/pics/bug_tracks.png differ diff --git a/graphics/field_effects/pics/expanding_sparkle.png b/graphics/field_effects/pics/expanding_sparkle.png new file mode 100644 index 000000000..21fc700eb Binary files /dev/null and b/graphics/field_effects/pics/expanding_sparkle.png differ diff --git a/graphics/field_effects/pics/slither_tracks.png b/graphics/field_effects/pics/slither_tracks.png new file mode 100644 index 000000000..7c8247c34 Binary files /dev/null and b/graphics/field_effects/pics/slither_tracks.png differ diff --git a/graphics/field_effects/pics/spot_tracks.png b/graphics/field_effects/pics/spot_tracks.png new file mode 100644 index 000000000..cd8c9c0cf Binary files /dev/null and b/graphics/field_effects/pics/spot_tracks.png differ diff --git a/graphics/object_events/palettes/cherish_ball.pal b/graphics/object_events/palettes/cherish_ball.pal new file mode 100644 index 000000000..f2e72ff06 --- /dev/null +++ b/graphics/object_events/palettes/cherish_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +95 15 1 +69 65 59 +193 55 31 +249 249 249 +225 87 63 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/dive_ball.pal b/graphics/object_events/palettes/dive_ball.pal new file mode 100644 index 000000000..03d8740a5 --- /dev/null +++ b/graphics/object_events/palettes/dive_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +157 157 189 +221 205 241 +11 117 245 +71 151 249 +15 47 85 +1 1 1 +249 249 249 +187 155 227 +57 49 69 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/dream_ball.pal b/graphics/object_events/palettes/dream_ball.pal new file mode 100644 index 000000000..a691977ce --- /dev/null +++ b/graphics/object_events/palettes/dream_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +219 133 171 +247 41 129 +1 1 1 +107 83 141 +55 37 79 +193 185 209 +249 103 165 +249 249 249 +139 115 173 +95 31 61 +233 183 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/dusk_ball.pal b/graphics/object_events/palettes/dusk_ball.pal new file mode 100644 index 000000000..0be0a538c --- /dev/null +++ b/graphics/object_events/palettes/dusk_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +63 163 63 +45 115 45 +185 33 1 +47 47 47 +69 65 59 +105 97 87 +217 73 1 +249 249 249 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/fast_ball.pal b/graphics/object_events/palettes/fast_ball.pal new file mode 100644 index 000000000..9d9b9d86c --- /dev/null +++ b/graphics/object_events/palettes/fast_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +241 149 79 +157 157 189 +91 69 1 +249 249 249 +213 171 43 +1 1 1 +75 75 123 +101 43 1 +235 113 21 +205 205 223 +223 191 97 +255 255 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/abra.pal b/graphics/object_events/palettes/followers/abra.pal new file mode 100644 index 000000000..dd409648b --- /dev/null +++ b/graphics/object_events/palettes/followers/abra.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 153 41 +1 1 1 +73 57 25 +145 121 97 +249 217 97 +121 97 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/absol.pal b/graphics/object_events/palettes/followers/absol.pal new file mode 100644 index 000000000..ece8b1c3e --- /dev/null +++ b/graphics/object_events/palettes/followers/absol.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +121 129 161 +65 73 89 +177 185 201 +41 49 65 +97 105 129 +209 217 233 +1 1 1 +65 73 97 +129 33 33 +233 233 249 +185 185 185 +97 105 145 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/aerodactyl.pal b/graphics/object_events/palettes/followers/aerodactyl.pal new file mode 100644 index 000000000..36ee48913 --- /dev/null +++ b/graphics/object_events/palettes/followers/aerodactyl.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +201 201 209 +73 65 97 +145 137 201 +129 113 177 +177 177 225 +97 17 17 +233 233 249 +129 89 129 +185 137 193 +105 137 49 +225 225 225 +161 217 73 +57 73 25 +0 0 0 diff --git a/graphics/object_events/palettes/followers/aggron.pal b/graphics/object_events/palettes/followers/aggron.pal new file mode 100644 index 000000000..285abfd63 --- /dev/null +++ b/graphics/object_events/palettes/followers/aggron.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +129 129 145 +73 65 81 +209 209 217 +1 1 1 +65 97 129 +105 145 201 +169 57 57 +49 41 57 +177 177 193 +209 89 89 +233 233 249 +145 145 153 +105 97 113 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/aipom.pal b/graphics/object_events/palettes/followers/aipom.pal new file mode 100644 index 000000000..f658712e1 --- /dev/null +++ b/graphics/object_events/palettes/followers/aipom.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 145 97 +169 137 201 +97 81 65 +225 209 161 +185 201 225 +113 73 145 +1 1 1 +81 41 113 +233 233 249 +137 105 169 +137 113 81 +137 153 185 +201 177 129 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/alakazam.pal b/graphics/object_events/palettes/followers/alakazam.pal new file mode 100644 index 000000000..ba8f7100d --- /dev/null +++ b/graphics/object_events/palettes/followers/alakazam.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +217 169 49 +177 177 185 +105 81 57 +1 1 1 +249 241 193 +145 121 57 +73 57 25 +249 217 97 +233 233 249 +145 121 97 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/altaria.pal b/graphics/object_events/palettes/followers/altaria.pal new file mode 100644 index 000000000..e6335124b --- /dev/null +++ b/graphics/object_events/palettes/followers/altaria.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +41 129 169 +97 193 233 +65 169 217 +73 81 105 +209 225 233 +1 2 5 +113 129 145 +41 105 153 +169 177 193 +249 249 249 +225 225 233 +89 145 177 +113 177 209 +65 113 153 +49 81 121 diff --git a/graphics/object_events/palettes/followers/ampharos.pal b/graphics/object_events/palettes/followers/ampharos.pal new file mode 100644 index 000000000..17ad1d495 --- /dev/null +++ b/graphics/object_events/palettes/followers/ampharos.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 129 25 +185 57 17 +113 129 153 +49 57 65 +1 1 1 +185 201 225 +241 89 81 +129 25 9 +81 97 113 +241 209 89 +105 89 9 +233 233 249 +201 161 33 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/anorith.pal b/graphics/object_events/palettes/followers/anorith.pal new file mode 100644 index 000000000..34717ba7c --- /dev/null +++ b/graphics/object_events/palettes/followers/anorith.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +113 153 113 +65 65 73 +201 201 217 +73 113 57 +161 161 177 +137 25 57 +129 169 121 +233 233 249 +193 113 105 +49 41 49 +105 105 113 +169 65 81 +217 217 233 +1 1 1 +0 0 0 diff --git a/graphics/object_events/palettes/followers/arbok.pal b/graphics/object_events/palettes/followers/arbok.pal new file mode 100644 index 000000000..3b8525b57 --- /dev/null +++ b/graphics/object_events/palettes/followers/arbok.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +209 169 81 +121 89 169 +57 49 81 +177 129 193 +193 65 65 +1 1 1 +65 65 65 +233 233 249 +145 121 177 +185 145 225 +113 81 145 +225 177 241 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/arcanine.pal b/graphics/object_events/palettes/followers/arcanine.pal new file mode 100644 index 000000000..d2b3a0236 --- /dev/null +++ b/graphics/object_events/palettes/followers/arcanine.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 137 105 +145 73 33 +225 193 145 +185 81 25 +73 49 25 +177 177 209 +89 89 89 +1 1 1 +233 233 249 +249 105 49 +121 89 57 +49 49 49 +233 121 73 +137 89 41 +201 153 81 diff --git a/graphics/object_events/palettes/followers/ariados.pal b/graphics/object_events/palettes/followers/ariados.pal new file mode 100644 index 000000000..ebc2b6797 --- /dev/null +++ b/graphics/object_events/palettes/followers/ariados.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +217 137 1 +97 33 169 +129 97 9 +1 1 1 +201 65 57 +49 41 33 +169 185 209 +113 17 25 +145 81 225 +233 233 249 +249 193 9 +73 73 73 +241 97 81 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/armaldo.pal b/graphics/object_events/palettes/followers/armaldo.pal new file mode 100644 index 000000000..9ca50cb6f --- /dev/null +++ b/graphics/object_events/palettes/followers/armaldo.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 129 9 +17 65 97 +97 145 177 +193 65 105 +193 193 209 +49 49 49 +233 201 73 +57 105 145 +113 113 121 +1 1 1 +233 233 249 +161 41 81 +129 169 201 +81 81 81 +145 145 161 diff --git a/graphics/object_events/palettes/followers/aron.pal b/graphics/object_events/palettes/followers/aron.pal new file mode 100644 index 000000000..9e423f369 --- /dev/null +++ b/graphics/object_events/palettes/followers/aron.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +65 57 73 +233 233 249 +105 145 201 +89 89 89 +185 185 201 +65 97 129 +49 41 57 +161 161 177 +113 105 121 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/articuno.pal b/graphics/object_events/palettes/followers/articuno.pal new file mode 100644 index 000000000..417a8deb9 --- /dev/null +++ b/graphics/object_events/palettes/followers/articuno.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 129 25 +49 177 193 +161 225 249 +57 57 41 +57 129 137 +177 177 209 +217 249 249 +49 105 153 +161 33 49 +201 185 73 +1 1 1 +121 201 249 +105 161 233 +49 65 89 +233 233 249 diff --git a/graphics/object_events/palettes/followers/azumarill.pal b/graphics/object_events/palettes/followers/azumarill.pal new file mode 100644 index 000000000..6e4c1f918 --- /dev/null +++ b/graphics/object_events/palettes/followers/azumarill.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 161 137 +185 201 225 +57 113 161 +73 145 201 +49 57 65 +233 233 249 +113 177 241 +185 49 41 +33 49 105 +129 161 201 +1 1 1 +209 209 225 +169 185 209 +137 161 185 +33 57 105 diff --git a/graphics/object_events/palettes/followers/azurill.pal b/graphics/object_events/palettes/followers/azurill.pal new file mode 100644 index 000000000..c97f6620f --- /dev/null +++ b/graphics/object_events/palettes/followers/azurill.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +33 65 121 +169 209 241 +185 49 41 +73 137 193 +201 89 161 +49 57 65 +57 105 153 +113 177 241 +233 233 249 +129 129 145 +193 193 209 +65 65 81 +97 97 113 +161 161 177 diff --git a/graphics/object_events/palettes/followers/bagon.pal b/graphics/object_events/palettes/followers/bagon.pal new file mode 100644 index 000000000..cb37d7d6a --- /dev/null +++ b/graphics/object_events/palettes/followers/bagon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 121 17 +65 137 161 +201 201 201 +121 121 121 +185 185 185 +41 65 105 +233 233 249 +193 161 73 +1 1 1 +121 193 249 +105 169 225 +153 153 153 +73 81 105 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/baltoy.pal b/graphics/object_events/palettes/followers/baltoy.pal new file mode 100644 index 000000000..d903bb8ba --- /dev/null +++ b/graphics/object_events/palettes/followers/baltoy.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +217 113 81 +177 161 97 +217 185 129 +89 81 65 +145 137 89 +1 1 1 +225 201 153 +185 81 41 +201 145 17 +161 57 25 +73 1 1 +217 97 65 +193 73 41 +121 25 17 +233 209 105 diff --git a/graphics/object_events/palettes/followers/banette.pal b/graphics/object_events/palettes/followers/banette.pal new file mode 100644 index 000000000..5324e0358 --- /dev/null +++ b/graphics/object_events/palettes/followers/banette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +121 97 25 +73 57 17 +97 105 129 +41 49 65 +97 17 17 +201 161 49 +1 1 1 +161 129 41 +193 57 57 +129 129 161 +65 73 97 +145 33 33 +81 129 201 +161 161 193 +49 81 153 diff --git a/graphics/object_events/palettes/followers/barboach.pal b/graphics/object_events/palettes/followers/barboach.pal new file mode 100644 index 000000000..ccc983a79 --- /dev/null +++ b/graphics/object_events/palettes/followers/barboach.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 145 153 +233 233 249 +89 145 185 +49 65 81 +121 177 209 +89 97 113 +1 1 1 +153 161 177 +57 113 153 +185 185 201 +25 65 105 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/bayleef.pal b/graphics/object_events/palettes/followers/bayleef.pal new file mode 100644 index 000000000..bdfc636fc --- /dev/null +++ b/graphics/object_events/palettes/followers/bayleef.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +89 145 9 +217 217 217 +169 153 89 +161 193 81 +65 81 1 +201 185 89 +177 81 121 +233 233 249 +233 217 89 +1 1 1 +97 81 33 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/beautifly.pal b/graphics/object_events/palettes/followers/beautifly.pal new file mode 100644 index 000000000..1f2c4405a --- /dev/null +++ b/graphics/object_events/palettes/followers/beautifly.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 169 49 +97 97 105 +81 145 225 +41 41 49 +209 209 217 +185 49 73 +1 1 1 +217 89 97 +177 177 177 +249 217 105 +97 73 33 +49 97 153 +233 233 249 +65 65 73 +0 0 0 diff --git a/graphics/object_events/palettes/followers/beedrill.pal b/graphics/object_events/palettes/followers/beedrill.pal new file mode 100644 index 000000000..3888be488 --- /dev/null +++ b/graphics/object_events/palettes/followers/beedrill.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 153 41 +193 193 193 +105 81 41 +145 145 145 +193 41 65 +249 209 65 +233 233 249 +81 81 81 +1 1 1 +129 129 129 +81 73 73 +49 49 49 +105 97 97 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/beldum.pal b/graphics/object_events/palettes/followers/beldum.pal new file mode 100644 index 000000000..2ed964eb8 --- /dev/null +++ b/graphics/object_events/palettes/followers/beldum.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +89 129 169 +65 65 65 +185 185 201 +177 57 57 +113 161 209 +17 73 105 +153 217 241 +137 41 41 +1 1 1 +41 41 49 +97 97 105 +233 233 249 +153 201 233 +145 145 161 +65 97 121 diff --git a/graphics/object_events/palettes/followers/bellossom.pal b/graphics/object_events/palettes/followers/bellossom.pal new file mode 100644 index 000000000..d6249f109 --- /dev/null +++ b/graphics/object_events/palettes/followers/bellossom.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +97 161 65 +233 233 249 +17 65 41 +57 137 89 +241 193 57 +233 81 57 +113 33 9 +217 137 25 +1 1 1 +97 89 9 +193 41 25 +73 105 25 +153 193 113 +217 153 17 +0 0 0 diff --git a/graphics/object_events/palettes/followers/bellsprout.pal b/graphics/object_events/palettes/followers/bellsprout.pal new file mode 100644 index 000000000..4084780e4 --- /dev/null +++ b/graphics/object_events/palettes/followers/bellsprout.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +97 153 57 +1 1 1 +81 65 49 +241 121 161 +137 217 81 +169 65 113 +121 9 5 +185 161 49 +241 225 73 +65 89 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/blastoise.pal b/graphics/object_events/palettes/followers/blastoise.pal new file mode 100644 index 000000000..020dadbe0 --- /dev/null +++ b/graphics/object_events/palettes/followers/blastoise.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 137 81 +145 137 233 +129 81 9 +241 201 81 +97 97 169 +49 57 89 +137 137 137 +233 233 249 +81 81 81 +185 185 185 +1 1 1 +73 41 9 +177 113 25 +201 169 81 +0 0 0 diff --git a/graphics/object_events/palettes/followers/blaziken.pal b/graphics/object_events/palettes/followers/blaziken.pal new file mode 100644 index 000000000..723203d09 --- /dev/null +++ b/graphics/object_events/palettes/followers/blaziken.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 169 17 +33 97 185 +1 1 1 +97 73 1 +169 25 25 +209 185 89 +241 225 153 +113 89 65 +177 129 81 +249 97 89 +241 233 225 +105 17 1 +233 49 41 +249 209 81 +185 169 161 diff --git a/graphics/object_events/palettes/followers/blissey.pal b/graphics/object_events/palettes/followers/blissey.pal new file mode 100644 index 000000000..e169adc07 --- /dev/null +++ b/graphics/object_events/palettes/followers/blissey.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +129 145 169 +169 185 209 +65 73 97 +1 1 1 +225 81 97 +233 233 249 +105 17 65 +249 121 185 +249 169 201 +185 89 137 +201 209 233 +145 65 113 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/breloom.pal b/graphics/object_events/palettes/followers/breloom.pal new file mode 100644 index 000000000..811a70749 --- /dev/null +++ b/graphics/object_events/palettes/followers/breloom.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 137 57 +49 81 33 +233 233 249 +129 193 89 +201 65 65 +97 33 33 +1 1 1 +73 113 49 +161 41 41 +129 105 57 +233 209 145 +105 169 65 +33 57 17 +209 185 113 +81 73 49 diff --git a/graphics/object_events/palettes/followers/bulbasaur1.pal b/graphics/object_events/palettes/followers/bulbasaur1.pal new file mode 100644 index 000000000..574f338df --- /dev/null +++ b/graphics/object_events/palettes/followers/bulbasaur1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +97 169 17 +201 201 201 +65 65 65 +65 153 81 +105 17 25 +105 209 121 +137 225 33 +233 233 249 +1 1 1 +185 49 25 +65 97 49 +145 145 145 +137 33 57 +113 113 113 +177 177 177 diff --git a/graphics/object_events/palettes/followers/burmy_sand.pal b/graphics/object_events/palettes/followers/burmy_sand.pal new file mode 100644 index 000000000..b25ba769d --- /dev/null +++ b/graphics/object_events/palettes/followers/burmy_sand.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +249 177 1 +153 145 97 +201 193 137 +97 81 65 +161 161 161 +49 49 49 +1 1 1 +233 217 137 +97 97 97 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/burmy_trash.pal b/graphics/object_events/palettes/followers/burmy_trash.pal new file mode 100644 index 000000000..2471c2b33 --- /dev/null +++ b/graphics/object_events/palettes/followers/burmy_trash.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +249 177 1 +97 97 97 +1 1 1 +97 49 65 +137 137 137 +49 49 49 +249 169 169 +169 57 105 +217 121 153 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/butterfree.pal b/graphics/object_events/palettes/followers/butterfree.pal new file mode 100644 index 000000000..9d7c7c4e3 --- /dev/null +++ b/graphics/object_events/palettes/followers/butterfree.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 145 145 +50 65 145 +105 201 249 +97 97 97 +249 113 137 +193 40 65 +81 145 225 +185 193 225 +65 40 89 +161 105 225 +233 233 249 +113 81 201 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/cacnea.pal b/graphics/object_events/palettes/followers/cacnea.pal new file mode 100644 index 000000000..37da24383 --- /dev/null +++ b/graphics/object_events/palettes/followers/cacnea.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +73 137 65 +217 225 225 +129 193 121 +41 65 41 +105 169 97 +57 97 57 +81 81 81 +201 153 57 +249 217 89 +249 249 249 +1 1 1 +89 81 49 +169 201 121 +129 169 65 +0 0 0 diff --git a/graphics/object_events/palettes/followers/cacturne.pal b/graphics/object_events/palettes/followers/cacturne.pal new file mode 100644 index 000000000..09c80452f --- /dev/null +++ b/graphics/object_events/palettes/followers/cacturne.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +73 137 65 +169 201 121 +41 65 41 +1 1 1 +129 169 65 +57 97 57 +249 217 89 +81 81 81 +105 169 97 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/camerupt.pal b/graphics/object_events/palettes/followers/camerupt.pal new file mode 100644 index 000000000..da482a575 --- /dev/null +++ b/graphics/object_events/palettes/followers/camerupt.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 137 81 +201 73 25 +249 249 249 +73 65 49 +73 145 161 +89 97 97 +161 49 25 +1 1 1 +161 153 121 +217 105 49 +89 33 33 +129 113 81 +193 185 153 +49 57 65 +0 0 0 diff --git a/graphics/object_events/palettes/followers/carvanha.pal b/graphics/object_events/palettes/followers/carvanha.pal new file mode 100644 index 000000000..cb0714f8c --- /dev/null +++ b/graphics/object_events/palettes/followers/carvanha.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 161 9 +17 97 185 +49 121 233 +145 49 9 +1 1 1 +105 81 1 +241 193 17 +233 233 249 +169 177 185 +49 57 65 +201 57 33 +249 81 41 +249 217 33 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/cascoon.pal b/graphics/object_events/palettes/followers/cascoon.pal new file mode 100644 index 000000000..68d6587a8 --- /dev/null +++ b/graphics/object_events/palettes/followers/cascoon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +81 65 121 +209 201 233 +129 33 57 +241 105 105 +161 153 201 +121 105 161 +233 233 249 +185 49 73 +129 129 137 +81 81 81 +185 185 169 +225 225 209 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/castform.pal b/graphics/object_events/palettes/followers/castform.pal new file mode 100644 index 000000000..057916921 --- /dev/null +++ b/graphics/object_events/palettes/followers/castform.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +129 129 145 +193 193 209 +65 65 81 +1 1 1 +233 233 249 +97 97 113 +161 161 177 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/caterpie.pal b/graphics/object_events/palettes/followers/caterpie.pal new file mode 100644 index 000000000..68f678aba --- /dev/null +++ b/graphics/object_events/palettes/followers/caterpie.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 153 41 +169 233 65 +65 89 33 +249 121 113 +81 81 81 +161 49 73 +169 153 65 +249 233 97 +1 1 1 +129 97 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/celebi.pal b/graphics/object_events/palettes/followers/celebi.pal new file mode 100644 index 000000000..50b97151d --- /dev/null +++ b/graphics/object_events/palettes/followers/celebi.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +73 137 81 +25 169 225 +121 185 73 +249 249 193 +1 89 137 +33 41 41 +145 153 153 +137 185 241 +193 225 113 +233 233 249 +1 1 1 +33 65 33 +81 177 209 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/chansey.pal b/graphics/object_events/palettes/followers/chansey.pal new file mode 100644 index 000000000..b8f10da5f --- /dev/null +++ b/graphics/object_events/palettes/followers/chansey.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +233 193 217 +105 57 89 +217 137 185 +153 89 129 +233 233 249 +169 185 209 +225 97 121 +169 145 65 +241 233 185 +233 185 65 +201 185 137 +105 97 65 +249 217 105 +0 0 0 diff --git a/graphics/object_events/palettes/followers/charizard.pal b/graphics/object_events/palettes/followers/charizard.pal new file mode 100644 index 000000000..e817695ce --- /dev/null +++ b/graphics/object_events/palettes/followers/charizard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +65 129 129 +161 161 161 +97 49 1 +249 185 17 +41 73 89 +201 89 41 +1 1 1 +145 65 33 +217 217 249 +249 121 57 +193 17 33 +241 209 113 +217 169 49 +97 65 1 +0 0 0 diff --git a/graphics/object_events/palettes/followers/charmander.pal b/graphics/object_events/palettes/followers/charmander.pal new file mode 100644 index 000000000..8df0fb2ef --- /dev/null +++ b/graphics/object_events/palettes/followers/charmander.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +167 177 129 +249 137 57 +97 65 33 +233 233 249 +1 1 1 +185 89 33 +225 41 41 +217 169 49 +41 73 89 +241 209 113 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/charmeleon.pal b/graphics/object_events/palettes/followers/charmeleon.pal new file mode 100644 index 000000000..108320b28 --- /dev/null +++ b/graphics/object_events/palettes/followers/charmeleon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +217 169 49 +41 105 129 +177 185 249 +241 209 113 +201 17 41 +145 145 145 +185 65 57 +97 25 33 +233 233 249 +249 105 89 +1 1 1 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/chikorita.pal b/graphics/object_events/palettes/followers/chikorita.pal new file mode 100644 index 000000000..6f6efef17 --- /dev/null +++ b/graphics/object_events/palettes/followers/chikorita.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +65 145 41 +169 185 209 +145 193 65 +57 105 17 +1 1 1 +169 41 41 +113 177 81 +233 233 249 +193 217 113 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/chimecho.pal b/graphics/object_events/palettes/followers/chimecho.pal new file mode 100644 index 000000000..cfbd41a93 --- /dev/null +++ b/graphics/object_events/palettes/followers/chimecho.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 145 57 +161 169 193 +193 57 57 +1 1 1 +121 129 153 +209 209 233 +89 97 121 +113 33 33 +249 217 89 +137 105 33 +233 233 249 +209 161 81 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/chinchou.pal b/graphics/object_events/palettes/followers/chinchou.pal new file mode 100644 index 000000000..23a92cfb2 --- /dev/null +++ b/graphics/object_events/palettes/followers/chinchou.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 161 17 +97 137 225 +41 57 113 +193 201 217 +81 65 9 +1 1 1 +113 169 241 +185 49 41 +249 209 97 +89 89 161 +129 105 25 +233 233 249 +193 185 217 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/clamperl.pal b/graphics/object_events/palettes/followers/clamperl.pal new file mode 100644 index 000000000..8ff612cf1 --- /dev/null +++ b/graphics/object_events/palettes/followers/clamperl.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 129 169 +49 65 105 +1 1 1 +169 65 105 +137 161 209 +49 49 65 +73 97 137 +161 193 241 +233 121 161 +137 33 73 +201 89 129 +209 217 233 +97 105 129 +153 169 201 +0 0 0 diff --git a/graphics/object_events/palettes/followers/claydol.pal b/graphics/object_events/palettes/followers/claydol.pal new file mode 100644 index 000000000..2c319666c --- /dev/null +++ b/graphics/object_events/palettes/followers/claydol.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 121 25 +137 137 153 +57 49 41 +137 121 89 +193 73 121 +217 185 89 +233 233 249 +89 81 65 +137 41 65 +185 185 193 +233 137 113 +1 1 1 +113 89 73 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/clefable.pal b/graphics/object_events/palettes/followers/clefable.pal new file mode 100644 index 000000000..a9968049c --- /dev/null +++ b/graphics/object_events/palettes/followers/clefable.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +249 129 169 +73 57 57 +1 1 1 +217 81 121 +121 97 73 +201 201 201 +225 145 153 +121 57 73 +249 193 193 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/clefairy.pal b/graphics/object_events/palettes/followers/clefairy.pal new file mode 100644 index 000000000..e207e246c --- /dev/null +++ b/graphics/object_events/palettes/followers/clefairy.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +97 57 65 +233 233 249 +121 89 57 +169 169 169 +161 81 97 +185 105 129 +241 153 169 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/cleffa.pal b/graphics/object_events/palettes/followers/cleffa.pal new file mode 100644 index 000000000..c77ddde7a --- /dev/null +++ b/graphics/object_events/palettes/followers/cleffa.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 153 153 +129 73 57 +233 233 249 +169 113 105 +81 41 33 +241 185 193 +217 89 97 +1 1 1 +153 89 97 +97 49 65 +113 129 185 +177 185 217 +49 49 81 +225 225 241 +73 81 121 diff --git a/graphics/object_events/palettes/followers/cloyster.pal b/graphics/object_events/palettes/followers/cloyster.pal new file mode 100644 index 000000000..b15a51ee6 --- /dev/null +++ b/graphics/object_events/palettes/followers/cloyster.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 153 153 +97 97 97 +57 57 57 +233 233 249 +193 177 233 +145 113 185 +41 41 49 +1 1 1 +81 81 81 +97 89 121 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/combusken.pal b/graphics/object_events/palettes/followers/combusken.pal new file mode 100644 index 000000000..f7982b18f --- /dev/null +++ b/graphics/object_events/palettes/followers/combusken.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +241 129 17 +73 65 17 +169 161 201 +1 1 1 +161 81 17 +113 49 9 +185 161 89 +113 105 49 +233 233 249 +249 209 97 +201 105 17 +121 81 17 +161 145 81 +233 169 17 +209 97 1 diff --git a/graphics/object_events/palettes/followers/corphish.pal b/graphics/object_events/palettes/followers/corphish.pal new file mode 100644 index 000000000..4fe98b274 --- /dev/null +++ b/graphics/object_events/palettes/followers/corphish.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +113 121 145 +89 81 65 +233 233 249 +177 177 193 +193 73 33 +161 153 129 +89 25 1 +121 113 97 +233 137 97 +217 105 65 +153 49 9 +1 1 1 +57 73 89 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/corsola.pal b/graphics/object_events/palettes/followers/corsola.pal new file mode 100644 index 000000000..caf141ec5 --- /dev/null +++ b/graphics/object_events/palettes/followers/corsola.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +129 145 185 +169 185 209 +73 81 97 +1 1 1 +233 233 249 +169 65 89 +121 33 65 +233 129 161 +241 169 193 +217 105 129 +193 209 233 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/cradily.pal b/graphics/object_events/palettes/followers/cradily.pal new file mode 100644 index 000000000..9b10b1bbe --- /dev/null +++ b/graphics/object_events/palettes/followers/cradily.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +73 129 89 +33 89 49 +241 185 1 +97 169 97 +49 41 49 +193 65 97 +241 209 97 +137 25 57 +209 105 137 +153 217 153 +161 49 89 +1 1 1 +129 113 65 +89 81 49 +0 0 0 diff --git a/graphics/object_events/palettes/followers/crawdaunt.pal b/graphics/object_events/palettes/followers/crawdaunt.pal new file mode 100644 index 000000000..cd8f78f0c --- /dev/null +++ b/graphics/object_events/palettes/followers/crawdaunt.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 153 41 +49 57 73 +41 129 169 +201 81 65 +169 153 145 +113 89 25 +233 233 249 +169 169 185 +249 217 89 +89 41 9 +145 57 33 +249 105 97 +89 81 65 +57 145 201 +1 1 1 diff --git a/graphics/object_events/palettes/followers/crobat.pal b/graphics/object_events/palettes/followers/crobat.pal new file mode 100644 index 000000000..35a380e27 --- /dev/null +++ b/graphics/object_events/palettes/followers/crobat.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +73 25 121 +41 145 185 +17 97 145 +233 233 249 +121 81 145 +161 49 57 +233 217 97 +169 185 209 +161 113 185 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/croconaw.pal b/graphics/object_events/palettes/followers/croconaw.pal new file mode 100644 index 000000000..f1504a314 --- /dev/null +++ b/graphics/object_events/palettes/followers/croconaw.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 161 89 +73 65 17 +57 169 193 +41 65 97 +113 25 41 +225 209 121 +121 105 41 +233 233 249 +65 105 137 +169 41 65 +113 193 225 +1 1 1 +137 73 1 +209 49 73 +0 0 0 diff --git a/graphics/object_events/palettes/followers/cubone.pal b/graphics/object_events/palettes/followers/cubone.pal new file mode 100644 index 000000000..719548eab --- /dev/null +++ b/graphics/object_events/palettes/followers/cubone.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 137 89 +193 193 193 +1 1 1 +137 97 25 +217 225 225 +161 161 161 +73 49 49 +129 129 129 +73 73 73 +209 177 145 +233 233 249 +169 129 73 +201 153 81 +225 193 145 +193 161 105 diff --git a/graphics/object_events/palettes/followers/cyndaquil.pal b/graphics/object_events/palettes/followers/cyndaquil.pal new file mode 100644 index 000000000..58b2aa207 --- /dev/null +++ b/graphics/object_events/palettes/followers/cyndaquil.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +209 169 25 +73 73 113 +129 25 25 +97 129 225 +89 65 17 +1 1 1 +209 57 49 +169 185 209 +233 233 249 +33 49 81 +249 209 97 +81 97 161 +161 41 41 +57 65 81 +241 161 17 diff --git a/graphics/object_events/palettes/followers/delcatty.pal b/graphics/object_events/palettes/followers/delcatty.pal new file mode 100644 index 000000000..a31726030 --- /dev/null +++ b/graphics/object_events/palettes/followers/delcatty.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 121 73 +193 145 217 +65 49 105 +225 185 57 +153 105 201 +1 1 1 +81 73 57 +233 233 249 +233 209 129 +97 73 137 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/delibird.pal b/graphics/object_events/palettes/followers/delibird.pal new file mode 100644 index 000000000..899736131 --- /dev/null +++ b/graphics/object_events/palettes/followers/delibird.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +129 105 17 +137 1 1 +145 161 177 +185 25 25 +193 209 233 +249 217 89 +73 73 73 +233 233 249 +153 1 1 +201 25 25 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/deoxys.pal b/graphics/object_events/palettes/followers/deoxys.pal new file mode 100644 index 000000000..a02008116 --- /dev/null +++ b/graphics/object_events/palettes/followers/deoxys.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +49 121 105 +121 65 129 +57 57 57 +161 177 129 +249 129 81 +225 73 65 +97 17 17 +81 89 97 +233 233 249 +1 1 1 +185 89 209 +65 169 153 +185 41 41 +33 73 65 +0 0 0 diff --git a/graphics/object_events/palettes/followers/dewgong.pal b/graphics/object_events/palettes/followers/dewgong.pal new file mode 100644 index 000000000..0897c29ff --- /dev/null +++ b/graphics/object_events/palettes/followers/dewgong.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +113 129 185 +177 185 217 +49 49 81 +225 225 241 +1 1 1 +73 81 121 +233 233 249 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/diglett.pal b/graphics/object_events/palettes/followers/diglett.pal new file mode 100644 index 000000000..761624524 --- /dev/null +++ b/graphics/object_events/palettes/followers/diglett.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 137 3 +113 113 113 +65 49 17 +1 1 1 +65 65 65 +169 169 169 +153 33 73 +153 121 57 +209 65 105 +233 113 153 +201 201 201 +113 73 33 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/ditto.pal b/graphics/object_events/palettes/followers/ditto.pal new file mode 100644 index 000000000..c366583be --- /dev/null +++ b/graphics/object_events/palettes/followers/ditto.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 121 177 +185 145 225 +113 81 145 +65 65 65 +1 1 1 +225 177 241 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/dodrio.pal b/graphics/object_events/palettes/followers/dodrio.pal new file mode 100644 index 000000000..183414bf0 --- /dev/null +++ b/graphics/object_events/palettes/followers/dodrio.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 129 73 +121 81 41 +177 177 153 +129 129 129 +65 49 33 +137 97 41 +193 161 65 +1 1 1 +233 233 249 +97 25 33 +185 65 89 +225 129 145 +249 177 49 +57 57 57 +137 113 41 diff --git a/graphics/object_events/palettes/followers/doduo.pal b/graphics/object_events/palettes/followers/doduo.pal new file mode 100644 index 000000000..a2c6db86f --- /dev/null +++ b/graphics/object_events/palettes/followers/doduo.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 97 41 +1 1 1 +113 105 97 +73 57 41 +193 121 25 +225 177 105 +185 129 73 +105 73 33 +57 113 65 +17 161 49 +33 73 41 +113 1 1 +65 113 153 +41 73 73 +137 193 129 diff --git a/graphics/object_events/palettes/followers/donphan.pal b/graphics/object_events/palettes/followers/donphan.pal new file mode 100644 index 000000000..df25c4cb5 --- /dev/null +++ b/graphics/object_events/palettes/followers/donphan.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +121 137 153 +73 65 73 +249 249 249 +1 1 1 +25 41 57 +121 121 129 +73 89 113 +185 185 193 +137 25 25 +137 1 1 +153 153 161 +49 73 81 +185 185 201 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/dragonair.pal b/graphics/object_events/palettes/followers/dragonair.pal new file mode 100644 index 000000000..5f7e4eaa8 --- /dev/null +++ b/graphics/object_events/palettes/followers/dragonair.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +209 209 209 +65 65 65 +41 121 169 +81 145 217 +233 233 249 +105 105 105 +89 177 217 +145 41 33 +161 201 249 +49 65 105 +113 177 241 +81 113 177 +241 241 241 +0 0 0 diff --git a/graphics/object_events/palettes/followers/dragonite.pal b/graphics/object_events/palettes/followers/dragonite.pal new file mode 100644 index 000000000..c17cc58ce --- /dev/null +++ b/graphics/object_events/palettes/followers/dragonite.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 129 65 +145 153 161 +241 177 81 +65 57 33 +57 129 113 +1 1 1 +41 97 81 +233 233 249 +185 193 209 +153 97 49 +153 153 153 +233 201 153 +97 97 97 +209 169 121 +217 137 65 diff --git a/graphics/object_events/palettes/followers/dratini.pal b/graphics/object_events/palettes/followers/dratini.pal new file mode 100644 index 000000000..b8472f998 --- /dev/null +++ b/graphics/object_events/palettes/followers/dratini.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +65 65 65 +193 193 217 +97 113 169 +129 137 209 +105 105 105 +217 217 217 +145 41 33 +153 161 225 +233 233 249 +57 65 97 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/drowzee.pal b/graphics/object_events/palettes/followers/drowzee.pal new file mode 100644 index 000000000..d19de6d0d --- /dev/null +++ b/graphics/object_events/palettes/followers/drowzee.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 153 41 +81 65 49 +233 233 249 +105 81 121 +1 1 1 +121 105 33 +49 49 49 +233 201 81 +89 81 73 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/dugtrio.pal b/graphics/object_events/palettes/followers/dugtrio.pal new file mode 100644 index 000000000..19bbad592 --- /dev/null +++ b/graphics/object_events/palettes/followers/dugtrio.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 105 57 +57 41 17 +1 1 1 +113 113 113 +65 65 65 +129 17 49 +169 169 169 +153 121 57 +209 65 105 +233 121 153 +201 201 201 +113 73 33 +153 33 73 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/dunsparce.pal b/graphics/object_events/palettes/followers/dunsparce.pal new file mode 100644 index 000000000..9cc03ea9e --- /dev/null +++ b/graphics/object_events/palettes/followers/dunsparce.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 169 1 +1 1 1 +137 185 225 +25 57 73 +217 193 1 +233 233 249 +249 225 161 +185 209 241 +249 233 113 +153 137 105 +81 161 185 +65 81 97 +65 57 57 +121 193 217 +0 0 0 diff --git a/graphics/object_events/palettes/followers/dusclops.pal b/graphics/object_events/palettes/followers/dusclops.pal new file mode 100644 index 000000000..30d44a7a9 --- /dev/null +++ b/graphics/object_events/palettes/followers/dusclops.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 121 113 +185 185 185 +73 65 49 +161 161 161 +209 97 97 +1 1 1 +225 217 217 +105 89 81 +145 33 33 +169 177 201 +233 233 249 +185 177 177 +65 65 65 +121 121 121 +0 0 0 diff --git a/graphics/object_events/palettes/followers/duskull.pal b/graphics/object_events/palettes/followers/duskull.pal new file mode 100644 index 000000000..5f79a1d4e --- /dev/null +++ b/graphics/object_events/palettes/followers/duskull.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 121 113 +73 65 49 +1 1 1 +193 57 57 +145 33 33 +217 113 113 +81 89 113 +201 185 185 +33 41 57 +225 217 217 +105 113 145 +57 65 81 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/dustox.pal b/graphics/object_events/palettes/followers/dustox.pal new file mode 100644 index 000000000..72e80bb45 --- /dev/null +++ b/graphics/object_events/palettes/followers/dustox.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 113 57 +73 57 113 +161 145 217 +137 185 105 +57 57 57 +169 217 89 +185 49 73 +241 105 105 +121 97 169 +105 153 41 +65 89 33 +97 73 33 +241 217 105 +1 1 1 +0 0 0 diff --git a/graphics/object_events/palettes/followers/eevee.pal b/graphics/object_events/palettes/followers/eevee.pal new file mode 100644 index 000000000..c04ada4ee --- /dev/null +++ b/graphics/object_events/palettes/followers/eevee.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 129 65 +225 209 169 +97 65 57 +185 161 97 +129 97 49 +65 49 25 +193 145 81 +233 233 249 +1 1 1 +121 97 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/ekans.pal b/graphics/object_events/palettes/followers/ekans.pal new file mode 100644 index 000000000..b163ae5c8 --- /dev/null +++ b/graphics/object_events/palettes/followers/ekans.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +209 161 49 +113 97 41 +201 129 193 +121 81 121 +97 49 105 +249 217 65 +1 1 1 +145 97 145 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/electabuzz.pal b/graphics/object_events/palettes/followers/electabuzz.pal new file mode 100644 index 000000000..9c31f633c --- /dev/null +++ b/graphics/object_events/palettes/followers/electabuzz.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 137 17 +145 145 145 +65 57 33 +233 233 249 +73 81 81 +241 209 1 +1 1 1 +49 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/electrike.pal b/graphics/object_events/palettes/followers/electrike.pal new file mode 100644 index 000000000..5d0115cfa --- /dev/null +++ b/graphics/object_events/palettes/followers/electrike.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +89 137 65 +233 233 249 +249 209 65 +129 169 97 +33 57 9 +153 201 97 +193 145 41 +1 1 1 +113 81 25 +177 225 113 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/electrode.pal b/graphics/object_events/palettes/followers/electrode.pal new file mode 100644 index 000000000..335df9141 --- /dev/null +++ b/graphics/object_events/palettes/followers/electrode.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +185 185 193 +105 105 105 +201 33 33 +217 217 217 +49 49 49 +161 161 161 +233 233 249 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/elekid.pal b/graphics/object_events/palettes/followers/elekid.pal new file mode 100644 index 000000000..f012682dd --- /dev/null +++ b/graphics/object_events/palettes/followers/elekid.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +249 169 1 +105 81 1 +1 1 1 +193 113 1 +249 217 97 +57 65 73 +233 233 249 +185 153 41 +73 57 25 +145 121 97 +121 97 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/entei.pal b/graphics/object_events/palettes/followers/entei.pal new file mode 100644 index 000000000..934782cde --- /dev/null +++ b/graphics/object_events/palettes/followers/entei.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 137 25 +97 65 49 +113 137 145 +49 57 81 +249 217 57 +217 73 33 +169 25 1 +89 81 25 +169 193 209 +1 1 1 +73 49 41 +233 233 249 +89 97 121 +169 121 81 +129 89 57 diff --git a/graphics/object_events/palettes/followers/espeon.pal b/graphics/object_events/palettes/followers/espeon.pal new file mode 100644 index 000000000..814e30a6e --- /dev/null +++ b/graphics/object_events/palettes/followers/espeon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +49 33 121 +241 201 233 +233 137 177 +57 113 177 +225 177 217 +201 57 49 +81 41 121 +169 105 161 +233 233 249 +201 145 209 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/exeggcute.pal b/graphics/object_events/palettes/followers/exeggcute.pal new file mode 100644 index 000000000..904253fe5 --- /dev/null +++ b/graphics/object_events/palettes/followers/exeggcute.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +209 121 105 +233 177 185 +89 73 65 +233 177 57 +241 209 217 +161 97 105 +1 1 1 +233 233 249 +89 121 145 +161 185 201 +49 65 81 +193 209 225 +193 57 57 +129 153 169 +0 0 0 diff --git a/graphics/object_events/palettes/followers/exeggutor.pal b/graphics/object_events/palettes/followers/exeggutor.pal new file mode 100644 index 000000000..9e45a52b5 --- /dev/null +++ b/graphics/object_events/palettes/followers/exeggutor.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +81 169 41 +161 161 161 +57 81 41 +129 217 89 +201 137 89 +201 89 121 +145 97 57 +209 161 89 +233 233 249 +65 41 41 +249 201 89 +1 1 1 +89 73 65 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/exploud.pal b/graphics/object_events/palettes/followers/exploud.pal new file mode 100644 index 000000000..000d9c38f --- /dev/null +++ b/graphics/object_events/palettes/followers/exploud.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 145 49 +105 73 33 +137 129 185 +81 73 105 +41 49 65 +233 233 249 +105 97 153 +233 209 105 +1 1 1 +169 177 193 +113 33 49 +185 65 105 +177 169 225 +105 113 137 +137 41 65 diff --git a/graphics/object_events/palettes/followers/farfetchd.pal b/graphics/object_events/palettes/followers/farfetchd.pal new file mode 100644 index 000000000..5c23264c2 --- /dev/null +++ b/graphics/object_events/palettes/followers/farfetchd.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +81 145 33 +169 169 169 +249 201 49 +81 81 81 +153 161 113 +241 225 161 +1 1 1 +177 145 41 +73 57 41 +233 233 249 +137 113 65 +209 209 193 +177 129 73 +217 169 121 +201 185 121 diff --git a/graphics/object_events/palettes/followers/fearow.pal b/graphics/object_events/palettes/followers/fearow.pal new file mode 100644 index 000000000..04f68a619 --- /dev/null +++ b/graphics/object_events/palettes/followers/fearow.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +233 145 33 +241 129 153 +193 65 1 +225 129 97 +185 185 185 +65 65 65 +89 57 17 +185 169 113 +233 233 249 +177 81 121 +177 113 17 +89 17 9 +225 201 169 +1 1 1 +0 0 0 diff --git a/graphics/object_events/palettes/followers/feebas.pal b/graphics/object_events/palettes/followers/feebas.pal new file mode 100644 index 000000000..f5ca9d67c --- /dev/null +++ b/graphics/object_events/palettes/followers/feebas.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 121 73 +113 161 209 +73 57 33 +1 1 1 +49 81 113 +81 121 161 +233 233 249 +17 41 65 +193 65 105 +193 193 209 +169 153 89 +105 89 49 +201 185 113 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/feraligatr.pal b/graphics/object_events/palettes/followers/feraligatr.pal new file mode 100644 index 000000000..043239005 --- /dev/null +++ b/graphics/object_events/palettes/followers/feraligatr.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 121 41 +81 129 185 +73 65 17 +185 161 89 +161 209 241 +169 41 65 +225 193 121 +161 177 201 +17 65 97 +97 33 41 +65 105 137 +233 233 249 +1 1 1 +113 177 233 +209 49 73 diff --git a/graphics/object_events/palettes/followers/flaaffy.pal b/graphics/object_events/palettes/followers/flaaffy.pal new file mode 100644 index 000000000..3e934d7da --- /dev/null +++ b/graphics/object_events/palettes/followers/flaaffy.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 185 89 +57 153 193 +97 201 241 +49 57 65 +225 145 185 +33 89 145 +185 201 225 +185 97 129 +113 41 65 +249 185 217 +233 233 249 +89 105 121 +137 153 177 +1 1 1 +0 0 0 diff --git a/graphics/object_events/palettes/followers/flareon.pal b/graphics/object_events/palettes/followers/flareon.pal new file mode 100644 index 000000000..df0c348e5 --- /dev/null +++ b/graphics/object_events/palettes/followers/flareon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 121 49 +233 217 153 +73 57 41 +153 65 41 +217 169 73 +233 233 249 +217 89 33 +249 129 73 +1 1 1 +217 193 193 +81 65 65 +193 65 33 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/flygon.pal b/graphics/object_events/palettes/followers/flygon.pal new file mode 100644 index 000000000..3ed7c9537 --- /dev/null +++ b/graphics/object_events/palettes/followers/flygon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +73 137 65 +65 105 57 +185 193 209 +129 33 33 +161 193 97 +1 1 1 +249 129 153 +169 49 65 +249 249 249 +49 73 49 +193 217 153 +97 97 97 +209 65 89 +121 145 57 +0 0 0 diff --git a/graphics/object_events/palettes/followers/forretress.pal b/graphics/object_events/palettes/followers/forretress.pal new file mode 100644 index 000000000..12bb3be0e --- /dev/null +++ b/graphics/object_events/palettes/followers/forretress.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 137 137 +89 65 105 +225 209 249 +105 17 25 +185 153 185 +137 113 145 +49 49 49 +1 1 1 +217 97 65 +193 49 57 +209 185 217 +233 233 249 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/furret.pal b/graphics/object_events/palettes/followers/furret.pal new file mode 100644 index 000000000..b060290e2 --- /dev/null +++ b/graphics/object_events/palettes/followers/furret.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +113 81 49 +233 233 249 +65 33 9 +241 209 161 +209 177 113 +153 113 65 +89 57 25 +209 161 73 +97 57 57 +249 225 129 +129 105 73 +249 137 153 +177 81 89 +57 57 89 diff --git a/graphics/object_events/palettes/followers/gardevoir.pal b/graphics/object_events/palettes/followers/gardevoir.pal new file mode 100644 index 000000000..7fc27c511 --- /dev/null +++ b/graphics/object_events/palettes/followers/gardevoir.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +41 129 57 +169 169 177 +17 65 33 +73 177 89 +129 33 57 +129 129 145 +233 233 249 +241 105 105 +1 1 1 +201 201 217 +73 73 81 +105 201 129 +185 49 73 +145 145 145 +0 0 0 diff --git a/graphics/object_events/palettes/followers/gastly.pal b/graphics/object_events/palettes/followers/gastly.pal new file mode 100644 index 000000000..e3337fe80 --- /dev/null +++ b/graphics/object_events/palettes/followers/gastly.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 137 137 +73 73 73 +65 17 57 +233 233 249 +41 41 57 +1 1 1 +113 89 153 +81 57 105 +153 9 5 +185 185 185 +137 113 161 +57 57 57 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/gengar.pal b/graphics/object_events/palettes/followers/gengar.pal new file mode 100644 index 000000000..374fed5aa --- /dev/null +++ b/graphics/object_events/palettes/followers/gengar.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +97 97 97 +153 153 153 +81 57 105 +185 185 185 +145 121 161 +41 41 57 +217 97 97 +1 1 1 +249 169 161 +105 81 129 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/geodude.pal b/graphics/object_events/palettes/followers/geodude.pal new file mode 100644 index 000000000..ef0621ad0 --- /dev/null +++ b/graphics/object_events/palettes/followers/geodude.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 169 129 +121 113 97 +233 233 249 +65 49 33 +1 1 1 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/girafarig.pal b/graphics/object_events/palettes/followers/girafarig.pal new file mode 100644 index 000000000..5d0e01229 --- /dev/null +++ b/graphics/object_events/palettes/followers/girafarig.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 121 81 +33 65 121 +249 209 97 +73 49 17 +185 81 105 +161 177 201 +41 49 57 +201 161 81 +233 233 249 +233 113 185 +57 113 161 +105 81 57 +1 1 1 +73 81 89 +97 113 153 diff --git a/graphics/object_events/palettes/followers/glalie.pal b/graphics/object_events/palettes/followers/glalie.pal new file mode 100644 index 000000000..8938d2810 --- /dev/null +++ b/graphics/object_events/palettes/followers/glalie.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +113 121 137 +1 1 1 +57 57 73 +153 161 177 +41 41 57 +41 129 193 +193 201 217 +81 81 97 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/gligar.pal b/graphics/object_events/palettes/followers/gligar.pal new file mode 100644 index 000000000..74a83d573 --- /dev/null +++ b/graphics/object_events/palettes/followers/gligar.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +41 145 169 +89 41 97 +241 193 217 +9 89 129 +161 89 137 +1 1 1 +233 233 249 +201 113 177 +137 33 57 +225 153 209 +177 73 121 +209 105 153 +169 185 161 +201 209 217 +17 97 129 diff --git a/graphics/object_events/palettes/followers/gloom.pal b/graphics/object_events/palettes/followers/gloom.pal new file mode 100644 index 000000000..3bc035c4b --- /dev/null +++ b/graphics/object_events/palettes/followers/gloom.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +249 113 25 +81 41 129 +65 113 153 +217 145 145 +169 49 73 +169 81 17 +49 81 113 +1 1 1 +217 97 113 +121 33 17 +169 169 169 +33 57 105 +217 185 145 +249 137 73 +0 0 0 diff --git a/graphics/object_events/palettes/followers/golbat.pal b/graphics/object_events/palettes/followers/golbat.pal new file mode 100644 index 000000000..b174b8804 --- /dev/null +++ b/graphics/object_events/palettes/followers/golbat.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +73 145 153 +97 65 129 +233 233 249 +57 25 89 +81 185 177 +65 113 121 +17 57 65 +1 1 1 +137 97 185 +185 185 193 +57 57 81 +161 129 177 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/goldeen.pal b/graphics/object_events/palettes/followers/goldeen.pal new file mode 100644 index 000000000..3e9389b60 --- /dev/null +++ b/graphics/object_events/palettes/followers/goldeen.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +41 129 113 +177 177 177 +233 73 33 +249 233 161 +217 161 81 +97 17 1 +81 81 81 +241 129 161 +233 233 249 +1 1 1 +201 89 121 +161 33 17 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/golduck.pal b/graphics/object_events/palettes/followers/golduck.pal new file mode 100644 index 000000000..c1568e666 --- /dev/null +++ b/graphics/object_events/palettes/followers/golduck.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 185 65 +81 121 169 +241 49 113 +65 65 65 +249 233 137 +233 233 249 +1 1 1 +177 177 209 +89 17 33 +121 161 249 +249 193 81 +49 57 81 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/golem.pal b/graphics/object_events/palettes/followers/golem.pal new file mode 100644 index 000000000..d2852e60c --- /dev/null +++ b/graphics/object_events/palettes/followers/golem.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 145 105 +89 81 57 +193 193 193 +153 153 153 +121 113 81 +49 49 49 +1 1 1 +105 17 25 +233 233 249 +193 153 121 +113 89 73 +145 113 97 +161 161 161 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/gorebyss.pal b/graphics/object_events/palettes/followers/gorebyss.pal new file mode 100644 index 000000000..af3c25028 --- /dev/null +++ b/graphics/object_events/palettes/followers/gorebyss.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +217 121 137 +81 57 129 +209 217 233 +145 129 217 +121 105 185 +97 105 129 +49 49 65 +1 1 1 +153 169 201 +185 81 97 +201 89 113 +137 33 73 +169 153 241 +233 145 161 +233 233 249 diff --git a/graphics/object_events/palettes/followers/granbull.pal b/graphics/object_events/palettes/followers/granbull.pal new file mode 100644 index 000000000..ed5998bfc --- /dev/null +++ b/graphics/object_events/palettes/followers/granbull.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +97 121 137 +177 193 209 +49 65 81 +129 89 137 +1 1 1 +233 233 249 +193 145 209 +225 185 241 +161 113 169 +105 65 105 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/graveler.pal b/graphics/object_events/palettes/followers/graveler.pal new file mode 100644 index 000000000..1d6be14ad --- /dev/null +++ b/graphics/object_events/palettes/followers/graveler.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 137 105 +81 73 65 +233 233 249 +169 169 177 +185 169 129 +121 113 97 +57 49 49 +177 81 105 +1 1 1 +65 49 33 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/grimer.pal b/graphics/object_events/palettes/followers/grimer.pal new file mode 100644 index 000000000..fef0c2dba --- /dev/null +++ b/graphics/object_events/palettes/followers/grimer.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +65 57 65 +233 233 249 +105 81 121 +177 145 185 +129 105 137 +201 177 217 +121 97 153 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/groudon.pal b/graphics/object_events/palettes/followers/groudon.pal new file mode 100644 index 000000000..28f20e54a --- /dev/null +++ b/graphics/object_events/palettes/followers/groudon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +121 129 145 +217 73 65 +145 153 177 +137 25 17 +57 65 81 +33 41 57 +209 193 49 +185 201 217 +1 1 1 +129 113 25 +97 105 121 +233 233 249 +89 17 9 +73 81 97 +177 33 33 diff --git a/graphics/object_events/palettes/followers/grovyle.pal b/graphics/object_events/palettes/followers/grovyle.pal new file mode 100644 index 000000000..d1df22d69 --- /dev/null +++ b/graphics/object_events/palettes/followers/grovyle.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +57 121 65 +41 57 17 +1 1 1 +105 25 25 +97 153 73 +153 201 121 +153 41 41 +65 105 41 +249 217 89 +185 49 49 +113 153 73 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/growlithe.pal b/graphics/object_events/palettes/followers/growlithe.pal new file mode 100644 index 000000000..cc0737467 --- /dev/null +++ b/graphics/object_events/palettes/followers/growlithe.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +233 121 73 +73 49 25 +177 177 209 +89 89 89 +1 1 1 +145 73 33 +137 89 41 +201 153 81 +233 233 249 +225 193 145 +185 81 25 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/grumpig.pal b/graphics/object_events/palettes/followers/grumpig.pal new file mode 100644 index 000000000..0563b27ca --- /dev/null +++ b/graphics/object_events/palettes/followers/grumpig.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +121 65 145 +73 81 89 +153 89 185 +105 25 65 +185 73 129 +49 57 65 +193 193 193 +249 249 249 +113 121 121 +193 121 225 +145 49 97 +225 97 161 +81 41 105 +137 73 169 diff --git a/graphics/object_events/palettes/followers/gulpin.pal b/graphics/object_events/palettes/followers/gulpin.pal new file mode 100644 index 000000000..28cdbf17d --- /dev/null +++ b/graphics/object_events/palettes/followers/gulpin.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +81 121 41 +57 97 17 +233 185 65 +57 73 81 +105 153 65 +1 1 1 +33 49 17 +169 129 57 +113 89 41 +137 193 113 +73 89 97 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/gyarados.pal b/graphics/object_events/palettes/followers/gyarados.pal new file mode 100644 index 000000000..3019ff479 --- /dev/null +++ b/graphics/object_events/palettes/followers/gyarados.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 129 1 +41 129 129 +193 193 209 +137 97 33 +73 177 225 +1 1 1 +33 97 129 +249 201 105 +185 65 105 +49 57 81 +217 113 153 +233 233 249 +137 145 145 +177 137 49 +65 121 153 diff --git a/graphics/object_events/palettes/followers/hariyama.pal b/graphics/object_events/palettes/followers/hariyama.pal new file mode 100644 index 000000000..9ae8eaef4 --- /dev/null +++ b/graphics/object_events/palettes/followers/hariyama.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 121 33 +105 129 177 +25 41 89 +73 57 9 +217 185 65 +217 201 153 +185 153 105 +105 81 65 +233 233 249 +65 81 137 +185 89 17 +1 1 1 +97 33 9 +241 233 193 +209 129 57 diff --git a/graphics/object_events/palettes/followers/haunter.pal b/graphics/object_events/palettes/followers/haunter.pal new file mode 100644 index 000000000..aab1166f2 --- /dev/null +++ b/graphics/object_events/palettes/followers/haunter.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 137 161 +73 73 73 +233 233 249 +65 17 57 +1 1 1 +97 73 105 +65 49 57 +153 153 153 +185 185 185 +129 97 129 +97 33 89 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/heracross.pal b/graphics/object_events/palettes/followers/heracross.pal new file mode 100644 index 000000000..26bd7164c --- /dev/null +++ b/graphics/object_events/palettes/followers/heracross.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +217 137 9 +81 153 177 +153 89 1 +249 249 249 +17 73 97 +129 193 201 +57 121 145 +1 1 1 +241 177 65 +33 97 121 +153 169 185 +185 201 217 +57 73 81 +17 17 17 +0 0 0 diff --git a/graphics/object_events/palettes/followers/hitmonchan.pal b/graphics/object_events/palettes/followers/hitmonchan.pal new file mode 100644 index 000000000..7c6c8e38c --- /dev/null +++ b/graphics/object_events/palettes/followers/hitmonchan.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 161 105 +113 81 57 +145 25 41 +233 233 249 +73 49 49 +161 137 201 +113 105 129 +1 1 1 +225 57 57 +153 113 65 +57 57 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/hitmonlee.pal b/graphics/object_events/palettes/followers/hitmonlee.pal new file mode 100644 index 000000000..16a145cac --- /dev/null +++ b/graphics/object_events/palettes/followers/hitmonlee.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 121 49 +161 161 161 +1 1 1 +89 73 41 +177 145 129 +161 129 81 +201 201 209 +97 97 97 +73 49 49 +233 233 249 +121 97 57 +209 185 113 +153 137 89 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/hitmontop.pal b/graphics/object_events/palettes/followers/hitmontop.pal new file mode 100644 index 000000000..cb5c2f1ee --- /dev/null +++ b/graphics/object_events/palettes/followers/hitmontop.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 129 73 +97 153 209 +89 73 25 +209 161 105 +233 233 249 +57 113 161 +25 57 105 +177 185 193 +1 1 1 +129 81 25 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/ho_oh.pal b/graphics/object_events/palettes/followers/ho_oh.pal new file mode 100644 index 000000000..dcc241696 --- /dev/null +++ b/graphics/object_events/palettes/followers/ho_oh.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +233 153 1 +57 57 57 +1 1 1 +161 57 25 +129 201 81 +169 185 209 +81 25 1 +169 105 1 +97 121 121 +217 233 249 +57 97 17 +249 209 97 +217 81 49 +97 41 1 +233 233 249 diff --git a/graphics/object_events/palettes/followers/hoothoot.pal b/graphics/object_events/palettes/followers/hoothoot.pal new file mode 100644 index 000000000..bf367bd48 --- /dev/null +++ b/graphics/object_events/palettes/followers/hoothoot.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 113 113 +65 81 89 +1 1 1 +225 169 169 +81 41 9 +217 81 73 +137 73 57 +233 217 161 +169 185 209 +41 41 41 +177 129 89 +105 41 41 +137 89 65 +201 177 121 +0 0 0 diff --git a/graphics/object_events/palettes/followers/hoppip.pal b/graphics/object_events/palettes/followers/hoppip.pal new file mode 100644 index 000000000..7dade5208 --- /dev/null +++ b/graphics/object_events/palettes/followers/hoppip.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +233 201 1 +225 105 129 +49 89 17 +97 153 65 +1 1 1 +169 65 89 +89 9 3 +113 193 81 +241 145 193 +201 89 105 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/horsea.pal b/graphics/object_events/palettes/followers/horsea.pal new file mode 100644 index 000000000..4a5c74fdb --- /dev/null +++ b/graphics/object_events/palettes/followers/horsea.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 161 97 +97 153 193 +25 57 97 +233 233 249 +65 65 65 +249 209 161 +169 185 209 +145 17 17 +41 89 137 +1 1 1 +145 185 225 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/houndoom.pal b/graphics/object_events/palettes/followers/houndoom.pal new file mode 100644 index 000000000..a0eda915c --- /dev/null +++ b/graphics/object_events/palettes/followers/houndoom.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 137 97 +81 81 89 +225 185 161 +41 41 49 +137 129 145 +113 97 121 +73 57 81 +145 25 41 +233 233 249 +1 1 1 +169 161 185 +137 97 65 +57 57 65 +105 113 113 +177 185 193 diff --git a/graphics/object_events/palettes/followers/houndour.pal b/graphics/object_events/palettes/followers/houndour.pal new file mode 100644 index 000000000..f13881bf3 --- /dev/null +++ b/graphics/object_events/palettes/followers/houndour.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 137 97 +81 81 89 +225 185 161 +41 41 49 +137 129 145 +113 97 121 +233 233 249 +73 57 81 +1 1 1 +169 161 185 +137 97 65 +177 185 193 +57 57 65 +105 113 113 +0 0 0 diff --git a/graphics/object_events/palettes/followers/huntail.pal b/graphics/object_events/palettes/followers/huntail.pal new file mode 100644 index 000000000..f89eadd28 --- /dev/null +++ b/graphics/object_events/palettes/followers/huntail.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +185 81 49 +153 201 225 +49 49 65 +97 153 217 +49 97 137 +233 233 249 +121 185 217 +129 49 25 +185 65 113 +153 41 89 +217 113 73 +209 217 233 +177 193 217 +0 0 0 diff --git a/graphics/object_events/palettes/followers/hypno.pal b/graphics/object_events/palettes/followers/hypno.pal new file mode 100644 index 000000000..a6220a8e4 --- /dev/null +++ b/graphics/object_events/palettes/followers/hypno.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 153 41 +169 169 169 +121 105 33 +57 49 41 +1 1 1 +233 233 249 +233 201 81 +201 201 209 +105 81 121 +49 49 49 +81 65 49 +89 81 73 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/igglybuff.pal b/graphics/object_events/palettes/followers/igglybuff.pal new file mode 100644 index 000000000..0d5864b65 --- /dev/null +++ b/graphics/object_events/palettes/followers/igglybuff.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 145 169 +169 81 97 +249 201 217 +89 41 65 +225 113 121 +1 1 1 +233 233 249 +169 49 57 +201 113 145 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/illumise.pal b/graphics/object_events/palettes/followers/illumise.pal new file mode 100644 index 000000000..33284a660 --- /dev/null +++ b/graphics/object_events/palettes/followers/illumise.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 137 41 +201 121 201 +65 65 73 +161 193 233 +113 89 57 +89 161 233 +201 185 89 +49 65 105 +41 41 49 +169 169 201 +233 233 249 +105 105 113 +1 1 1 +209 177 233 +105 57 105 diff --git a/graphics/object_events/palettes/followers/ivysaur.pal b/graphics/object_events/palettes/followers/ivysaur.pal new file mode 100644 index 000000000..db3e0fda9 --- /dev/null +++ b/graphics/object_events/palettes/followers/ivysaur.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +97 169 17 +73 169 153 +49 89 25 +105 209 193 +201 89 121 +137 225 33 +145 65 33 +65 129 121 +241 129 161 +201 201 217 +1 1 1 +105 33 41 +233 233 249 +41 65 65 +65 65 65 diff --git a/graphics/object_events/palettes/followers/jigglypuff.pal b/graphics/object_events/palettes/followers/jigglypuff.pal new file mode 100644 index 000000000..cf6b522cc --- /dev/null +++ b/graphics/object_events/palettes/followers/jigglypuff.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +97 73 65 +113 161 249 +81 81 121 +97 41 65 +249 169 185 +145 73 89 +233 233 249 +209 113 145 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/jirachi.pal b/graphics/object_events/palettes/followers/jirachi.pal new file mode 100644 index 000000000..4611f22c6 --- /dev/null +++ b/graphics/object_events/palettes/followers/jirachi.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 153 1 +89 161 145 +121 201 177 +73 65 17 +217 185 65 +177 185 185 +33 89 81 +1 1 1 +57 129 113 +209 209 225 +169 113 9 +249 217 89 +233 233 249 +81 105 105 +137 153 153 diff --git a/graphics/object_events/palettes/followers/jolteon.pal b/graphics/object_events/palettes/followers/jolteon.pal new file mode 100644 index 000000000..1398b039a --- /dev/null +++ b/graphics/object_events/palettes/followers/jolteon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +233 161 33 +169 169 193 +65 57 41 +249 249 81 +1 1 1 +209 225 233 +169 105 33 +249 201 25 +73 65 81 +233 233 249 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/jumpluff.pal b/graphics/object_events/palettes/followers/jumpluff.pal new file mode 100644 index 000000000..63bedfafd --- /dev/null +++ b/graphics/object_events/palettes/followers/jumpluff.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +41 81 137 +249 249 201 +113 113 97 +33 57 97 +97 153 225 +121 17 9 +193 185 161 +57 113 217 +233 233 249 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/jynx.pal b/graphics/object_events/palettes/followers/jynx.pal new file mode 100644 index 000000000..10f616466 --- /dev/null +++ b/graphics/object_events/palettes/followers/jynx.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 153 25 +153 153 185 +105 73 137 +193 193 209 +65 57 57 +249 225 33 +137 97 193 +233 233 249 +1 1 1 +177 57 33 +249 89 73 +249 233 185 +249 209 97 +241 129 161 +201 89 121 diff --git a/graphics/object_events/palettes/followers/kabuto.pal b/graphics/object_events/palettes/followers/kabuto.pal new file mode 100644 index 000000000..aa01d9002 --- /dev/null +++ b/graphics/object_events/palettes/followers/kabuto.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +121 97 65 +49 41 41 +233 185 89 +209 65 65 +169 129 57 +89 73 57 +137 25 25 +49 57 73 +1 1 1 +153 121 73 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/kabutops.pal b/graphics/object_events/palettes/followers/kabutops.pal new file mode 100644 index 000000000..10c3bb588 --- /dev/null +++ b/graphics/object_events/palettes/followers/kabutops.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 121 73 +89 57 33 +193 193 201 +105 105 121 +137 97 41 +153 153 153 +65 65 65 +49 41 41 +233 233 249 +1 1 1 +105 73 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/kadabra.pal b/graphics/object_events/palettes/followers/kadabra.pal new file mode 100644 index 000000000..0730ab262 --- /dev/null +++ b/graphics/object_events/palettes/followers/kadabra.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +217 169 49 +97 73 49 +177 177 185 +145 121 57 +193 41 65 +1 1 1 +89 89 89 +249 241 193 +73 57 25 +249 217 97 +233 97 121 +233 233 249 +145 121 97 +105 81 57 +0 0 0 diff --git a/graphics/object_events/palettes/followers/kakuna.pal b/graphics/object_events/palettes/followers/kakuna.pal new file mode 100644 index 000000000..4dd491adc --- /dev/null +++ b/graphics/object_events/palettes/followers/kakuna.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 153 65 +97 73 41 +233 233 249 +249 209 65 +145 113 33 +1 1 1 +65 65 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/kangaskhan.pal b/graphics/object_events/palettes/followers/kangaskhan.pal new file mode 100644 index 000000000..131f73a28 --- /dev/null +++ b/graphics/object_events/palettes/followers/kangaskhan.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 121 41 +89 73 41 +169 185 209 +209 169 97 +113 113 113 +65 49 33 +73 73 73 +249 201 121 +233 233 249 +185 121 113 +105 9 1 +1 1 1 +57 57 65 +129 113 145 +121 81 57 diff --git a/graphics/object_events/palettes/followers/kecleon.pal b/graphics/object_events/palettes/followers/kecleon.pal new file mode 100644 index 000000000..4adc1da0a --- /dev/null +++ b/graphics/object_events/palettes/followers/kecleon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +97 129 41 +233 233 249 +145 193 89 +89 81 41 +1 1 1 +185 225 105 +33 57 17 +121 169 49 +153 41 65 +249 193 65 +129 113 65 +217 169 33 +249 225 121 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/kingdra.pal b/graphics/object_events/palettes/followers/kingdra.pal new file mode 100644 index 000000000..53a982441 --- /dev/null +++ b/graphics/object_events/palettes/followers/kingdra.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 129 41 +73 121 161 +137 97 33 +169 185 209 +25 57 97 +233 233 249 +1 1 1 +193 209 233 +113 153 201 +113 17 17 +73 73 73 +217 161 57 +41 81 129 +145 193 233 +0 0 0 diff --git a/graphics/object_events/palettes/followers/kingler.pal b/graphics/object_events/palettes/followers/kingler.pal new file mode 100644 index 000000000..fb56c4f8d --- /dev/null +++ b/graphics/object_events/palettes/followers/kingler.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 129 81 +201 201 209 +169 65 57 +1 1 1 +65 41 41 +177 153 105 +233 233 249 +217 105 49 +225 193 153 +81 57 49 +201 97 33 +193 169 129 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/kirlia.pal b/graphics/object_events/palettes/followers/kirlia.pal new file mode 100644 index 000000000..5c4776a37 --- /dev/null +++ b/graphics/object_events/palettes/followers/kirlia.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +41 129 57 +169 169 177 +17 65 33 +73 177 89 +129 33 57 +233 233 249 +241 105 105 +1 1 1 +129 129 145 +201 201 217 +73 73 81 +105 201 129 +185 49 73 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/koffing.pal b/graphics/object_events/palettes/followers/koffing.pal new file mode 100644 index 000000000..2b3eeef8c --- /dev/null +++ b/graphics/object_events/palettes/followers/koffing.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 129 41 +137 129 209 +89 81 121 +57 41 57 +129 129 129 +233 233 249 +129 73 81 +1 1 1 +121 105 193 +169 169 209 +105 57 65 +201 185 121 +161 161 129 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/kyogre.pal b/graphics/object_events/palettes/followers/kyogre.pal new file mode 100644 index 000000000..da6327faa --- /dev/null +++ b/graphics/object_events/palettes/followers/kyogre.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +113 121 129 +129 113 25 +65 129 193 +153 25 25 +129 185 217 +57 57 57 +225 193 33 +97 161 193 +41 97 153 +1 1 1 +201 217 241 +201 41 41 +89 17 9 +25 57 89 +153 169 177 diff --git a/graphics/object_events/palettes/followers/lairon.pal b/graphics/object_events/palettes/followers/lairon.pal new file mode 100644 index 000000000..78533be4a --- /dev/null +++ b/graphics/object_events/palettes/followers/lairon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +129 129 145 +185 185 201 +73 65 81 +1 1 1 +233 233 249 +65 97 129 +49 41 57 +105 145 201 +161 161 177 +209 209 225 +105 97 113 +65 57 73 +89 89 89 +113 105 121 +0 0 0 diff --git a/graphics/object_events/palettes/followers/lanturn.pal b/graphics/object_events/palettes/followers/lanturn.pal new file mode 100644 index 000000000..c2a012f36 --- /dev/null +++ b/graphics/object_events/palettes/followers/lanturn.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 161 17 +97 137 225 +17 33 89 +185 201 217 +81 65 9 +225 233 241 +1 1 1 +185 49 41 +65 97 169 +249 209 97 +129 105 25 +113 177 241 +161 209 241 +233 233 249 +0 0 0 diff --git a/graphics/object_events/palettes/followers/lapras.pal b/graphics/object_events/palettes/followers/lapras.pal new file mode 100644 index 000000000..cb7e199bd --- /dev/null +++ b/graphics/object_events/palettes/followers/lapras.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 153 73 +89 129 177 +105 81 17 +145 153 161 +193 201 209 +49 73 105 +49 57 57 +249 209 105 +97 177 233 +113 113 129 +233 233 249 +1 1 1 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/larvitar.pal b/graphics/object_events/palettes/followers/larvitar.pal new file mode 100644 index 000000000..fe5185282 --- /dev/null +++ b/graphics/object_events/palettes/followers/larvitar.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 177 105 +57 65 73 +161 185 201 +33 41 41 +177 217 121 +185 49 49 +1 1 1 +73 89 41 +233 233 249 +121 33 33 +33 57 73 +121 161 177 +137 193 201 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/latias.pal b/graphics/object_events/palettes/followers/latias.pal new file mode 100644 index 000000000..e65c159fc --- /dev/null +++ b/graphics/object_events/palettes/followers/latias.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +233 169 1 +65 129 169 +57 65 65 +185 201 209 +97 25 17 +1 1 1 +193 65 65 +33 41 41 +105 121 121 +233 233 249 +153 169 177 +233 89 89 +129 145 153 +145 41 41 +0 0 0 diff --git a/graphics/object_events/palettes/followers/latios.pal b/graphics/object_events/palettes/followers/latios.pal new file mode 100644 index 000000000..a50cfc45c --- /dev/null +++ b/graphics/object_events/palettes/followers/latios.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 121 121 +89 193 249 +57 65 65 +49 129 193 +129 33 33 +9 57 89 +1 1 1 +185 201 209 +33 113 169 +65 153 217 +33 41 41 +233 233 249 +153 169 177 +129 145 153 +193 33 33 diff --git a/graphics/object_events/palettes/followers/ledian.pal b/graphics/object_events/palettes/followers/ledian.pal new file mode 100644 index 000000000..95b25de50 --- /dev/null +++ b/graphics/object_events/palettes/followers/ledian.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 153 89 +137 65 1 +17 129 193 +65 65 97 +241 209 81 +177 41 49 +1 1 1 +185 201 225 +249 97 121 +113 97 73 +17 105 153 +233 233 249 +209 177 81 +225 33 57 +0 0 0 diff --git a/graphics/object_events/palettes/followers/ledyba.pal b/graphics/object_events/palettes/followers/ledyba.pal new file mode 100644 index 000000000..4540e80b7 --- /dev/null +++ b/graphics/object_events/palettes/followers/ledyba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 177 49 +81 89 201 +129 113 49 +193 201 225 +169 33 9 +1 1 1 +105 33 41 +233 233 241 +241 225 129 +249 113 49 +225 57 33 +57 57 57 +225 201 41 +233 233 249 +0 0 0 diff --git a/graphics/object_events/palettes/followers/lickitung.pal b/graphics/object_events/palettes/followers/lickitung.pal new file mode 100644 index 000000000..7c028935c --- /dev/null +++ b/graphics/object_events/palettes/followers/lickitung.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 129 129 +161 161 161 +233 233 249 +177 97 121 +233 185 201 +217 201 49 +217 153 177 +89 49 73 +1 1 1 +241 169 169 +169 89 137 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/lileep.pal b/graphics/object_events/palettes/followers/lileep.pal new file mode 100644 index 000000000..80228afba --- /dev/null +++ b/graphics/object_events/palettes/followers/lileep.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 121 57 +41 33 89 +137 97 177 +161 49 89 +113 89 49 +209 185 73 +89 17 41 +97 57 145 +209 105 137 +161 145 217 +1 1 1 +41 25 41 +81 57 81 +193 65 97 +0 0 0 diff --git a/graphics/object_events/palettes/followers/linoone.pal b/graphics/object_events/palettes/followers/linoone.pal new file mode 100644 index 000000000..f7daf07d4 --- /dev/null +++ b/graphics/object_events/palettes/followers/linoone.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +65 129 185 +81 73 65 +113 105 89 +169 185 209 +41 81 121 +1 1 1 +121 89 65 +105 105 121 +233 233 249 +65 41 17 +217 209 185 +185 177 169 +153 113 89 +65 73 81 +0 0 0 diff --git a/graphics/object_events/palettes/followers/lombre.pal b/graphics/object_events/palettes/followers/lombre.pal new file mode 100644 index 000000000..22a7e49bb --- /dev/null +++ b/graphics/object_events/palettes/followers/lombre.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +9 131 3 +121 153 137 +41 81 33 +145 209 17 +233 233 249 +129 41 17 +105 153 65 +1 1 1 +233 89 65 +113 169 17 +73 113 65 +153 193 161 +169 49 25 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/lotad.pal b/graphics/object_events/palettes/followers/lotad.pal new file mode 100644 index 000000000..d3457a4ec --- /dev/null +++ b/graphics/object_events/palettes/followers/lotad.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +81 129 25 +81 145 193 +33 57 17 +113 169 17 +41 97 137 +1 1 1 +41 97 65 +145 209 17 +233 233 249 +25 49 89 +233 185 65 +169 121 25 +97 65 9 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/loudred.pal b/graphics/object_events/palettes/followers/loudred.pal new file mode 100644 index 000000000..be3de9d8f --- /dev/null +++ b/graphics/object_events/palettes/followers/loudred.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 145 49 +105 73 33 +137 129 185 +81 73 105 +233 233 249 +105 97 153 +41 49 65 +233 209 105 +1 1 1 +169 177 193 +185 65 105 +137 41 65 +177 169 225 +105 113 137 +0 0 0 diff --git a/graphics/object_events/palettes/followers/ludicolo.pal b/graphics/object_events/palettes/followers/ludicolo.pal new file mode 100644 index 000000000..87294c677 --- /dev/null +++ b/graphics/object_events/palettes/followers/ludicolo.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 137 57 +161 161 161 +33 57 17 +121 177 33 +97 73 49 +1 1 1 +145 209 17 +137 105 81 +233 233 249 +209 129 9 +49 41 9 +137 65 1 +209 177 65 +233 201 121 +65 65 73 diff --git a/graphics/object_events/palettes/followers/lugia.pal b/graphics/object_events/palettes/followers/lugia.pal new file mode 100644 index 000000000..adf9c9f0e --- /dev/null +++ b/graphics/object_events/palettes/followers/lugia.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +201 209 217 +41 49 113 +41 121 193 +73 73 89 +153 161 169 +233 233 249 +49 97 193 +137 169 225 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/lunatone.pal b/graphics/object_events/palettes/followers/lunatone.pal new file mode 100644 index 000000000..b3c10e691 --- /dev/null +++ b/graphics/object_events/palettes/followers/lunatone.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 121 57 +65 73 89 +177 161 73 +97 81 33 +161 49 113 +1 1 1 +33 41 49 +209 193 97 +209 73 145 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/luvdisc.pal b/graphics/object_events/palettes/followers/luvdisc.pal new file mode 100644 index 000000000..4275e201b --- /dev/null +++ b/graphics/object_events/palettes/followers/luvdisc.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 129 153 +97 105 129 +249 193 185 +1 1 1 +49 49 65 +233 145 145 +209 97 137 +137 33 73 +233 233 249 +249 177 145 +161 49 97 +217 105 153 +233 153 161 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/machamp.pal b/graphics/object_events/palettes/followers/machamp.pal new file mode 100644 index 000000000..a84bfe10a --- /dev/null +++ b/graphics/object_events/palettes/followers/machamp.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 129 25 +129 129 145 +249 209 9 +233 201 153 +65 65 65 +177 153 113 +209 185 73 +233 233 249 +193 41 65 +241 233 113 +161 161 201 +81 89 105 +201 201 201 +1 1 1 +0 0 0 diff --git a/graphics/object_events/palettes/followers/machoke.pal b/graphics/object_events/palettes/followers/machoke.pal new file mode 100644 index 000000000..4585ebaa7 --- /dev/null +++ b/graphics/object_events/palettes/followers/machoke.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 129 25 +129 129 145 +73 73 73 +249 209 9 +233 201 153 +177 153 113 +97 105 129 +193 41 65 +1 1 1 +233 233 249 +161 161 201 +209 161 17 +89 89 89 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/machop.pal b/graphics/object_events/palettes/followers/machop.pal new file mode 100644 index 000000000..828328b78 --- /dev/null +++ b/graphics/object_events/palettes/followers/machop.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +113 129 137 +233 201 153 +57 57 57 +1 1 1 +193 41 65 +177 153 113 +233 233 249 +73 97 105 +137 169 185 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/magby.pal b/graphics/object_events/palettes/followers/magby.pal new file mode 100644 index 000000000..8a53eb769 --- /dev/null +++ b/graphics/object_events/palettes/followers/magby.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 153 33 +105 73 1 +177 185 193 +129 1 1 +65 65 73 +1 1 1 +153 41 57 +249 81 121 +233 233 249 +241 193 57 +81 89 105 +209 41 57 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/magcargo.pal b/graphics/object_events/palettes/followers/magcargo.pal new file mode 100644 index 000000000..04fdccbae --- /dev/null +++ b/graphics/object_events/palettes/followers/magcargo.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 121 25 +41 49 57 +1 1 1 +177 57 49 +73 1 1 +105 113 137 +249 153 1 +73 81 97 +249 209 89 +225 81 73 +121 25 17 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/magikarp.pal b/graphics/object_events/palettes/followers/magikarp.pal new file mode 100644 index 000000000..d29c0357d --- /dev/null +++ b/graphics/object_events/palettes/followers/magikarp.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 137 25 +185 65 105 +145 145 145 +137 41 25 +1 1 1 +81 33 17 +249 193 17 +217 113 153 +193 193 209 +233 233 249 +121 33 65 +233 169 73 +233 97 65 +49 49 49 +201 57 17 diff --git a/graphics/object_events/palettes/followers/magmar.pal b/graphics/object_events/palettes/followers/magmar.pal new file mode 100644 index 000000000..ce9d6c30d --- /dev/null +++ b/graphics/object_events/palettes/followers/magmar.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 121 9 +49 49 49 +145 145 145 +201 89 129 +193 193 209 +185 57 25 +129 1 1 +241 209 1 +241 185 201 +233 233 249 +113 81 17 +225 153 17 +105 33 17 +1 1 1 +241 73 33 diff --git a/graphics/object_events/palettes/followers/magnemite.pal b/graphics/object_events/palettes/followers/magnemite.pal new file mode 100644 index 000000000..041b62f37 --- /dev/null +++ b/graphics/object_events/palettes/followers/magnemite.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 129 145 +193 209 217 +81 81 81 +73 137 233 +233 65 65 +153 169 185 +57 57 57 +1 1 1 +113 113 121 +233 233 249 +177 177 185 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/magneton.pal b/graphics/object_events/palettes/followers/magneton.pal new file mode 100644 index 000000000..041b62f37 --- /dev/null +++ b/graphics/object_events/palettes/followers/magneton.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 129 145 +193 209 217 +81 81 81 +73 137 233 +233 65 65 +153 169 185 +57 57 57 +1 1 1 +113 113 121 +233 233 249 +177 177 185 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/makuhita.pal b/graphics/object_events/palettes/followers/makuhita.pal new file mode 100644 index 000000000..681982bc5 --- /dev/null +++ b/graphics/object_events/palettes/followers/makuhita.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 153 57 +73 57 9 +57 65 81 +137 41 65 +225 201 105 +185 65 105 +25 33 41 +1 1 1 +113 97 17 +81 89 113 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/manectric.pal b/graphics/object_events/palettes/followers/manectric.pal new file mode 100644 index 000000000..5d93d7697 --- /dev/null +++ b/graphics/object_events/palettes/followers/manectric.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 145 33 +81 153 185 +97 73 49 +249 249 145 +193 57 57 +1 1 1 +129 185 217 +33 121 153 +161 217 249 +25 49 89 +225 193 73 +161 161 161 +233 233 249 +65 65 73 +0 0 0 diff --git a/graphics/object_events/palettes/followers/mankey.pal b/graphics/object_events/palettes/followers/mankey.pal new file mode 100644 index 000000000..91522b4e5 --- /dev/null +++ b/graphics/object_events/palettes/followers/mankey.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 129 49 +241 129 161 +73 65 57 +1 1 1 +145 17 49 +153 121 97 +233 233 249 +177 105 129 +177 177 209 +177 169 129 +233 217 137 +137 105 57 +121 41 65 +209 177 129 +0 0 0 diff --git a/graphics/object_events/palettes/followers/mantine.pal b/graphics/object_events/palettes/followers/mantine.pal new file mode 100644 index 000000000..62f32dc56 --- /dev/null +++ b/graphics/object_events/palettes/followers/mantine.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 137 153 +217 209 225 +17 65 105 +81 121 185 +177 169 185 +49 49 73 +209 233 249 +49 89 145 +1 1 1 +121 161 217 +57 81 121 +137 177 217 +41 65 73 +233 233 249 +0 0 0 diff --git a/graphics/object_events/palettes/followers/mareep.pal b/graphics/object_events/palettes/followers/mareep.pal new file mode 100644 index 000000000..04d1d5345 --- /dev/null +++ b/graphics/object_events/palettes/followers/mareep.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 161 1 +1 1 1 +105 89 9 +169 145 73 +249 249 177 +49 57 65 +81 129 185 +89 105 121 +241 201 81 +121 169 233 +233 233 249 +225 113 1 +137 5 7 +233 209 105 +249 169 1 diff --git a/graphics/object_events/palettes/followers/marill.pal b/graphics/object_events/palettes/followers/marill.pal new file mode 100644 index 000000000..87cd5612b --- /dev/null +++ b/graphics/object_events/palettes/followers/marill.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +233 233 249 +57 113 161 +73 145 201 +49 57 65 +169 185 209 +185 49 41 +137 161 185 +113 177 241 +33 57 105 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/marowak.pal b/graphics/object_events/palettes/followers/marowak.pal new file mode 100644 index 000000000..2f8424f47 --- /dev/null +++ b/graphics/object_events/palettes/followers/marowak.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 129 73 +193 193 193 +1 1 1 +129 129 129 +73 49 49 +217 225 225 +201 153 81 +225 193 145 +193 161 105 +73 73 73 +233 233 249 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/marshtomp.pal b/graphics/object_events/palettes/followers/marshtomp.pal new file mode 100644 index 000000000..828789299 --- /dev/null +++ b/graphics/object_events/palettes/followers/marshtomp.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +241 129 17 +129 161 177 +73 57 17 +33 81 89 +65 129 129 +233 233 249 +89 185 177 +161 73 17 +1 1 1 +177 193 209 +193 89 17 +97 121 129 +49 81 97 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/masquerain.pal b/graphics/object_events/palettes/followers/masquerain.pal new file mode 100644 index 000000000..366b9fb54 --- /dev/null +++ b/graphics/object_events/palettes/followers/masquerain.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +81 81 89 +137 177 201 +65 81 113 +161 209 225 +137 33 89 +161 65 49 +217 105 121 +105 25 33 +225 161 185 +89 113 153 +233 233 249 +201 89 73 +177 217 233 +0 0 0 diff --git a/graphics/object_events/palettes/followers/mawile.pal b/graphics/object_events/palettes/followers/mawile.pal new file mode 100644 index 000000000..6751c3e12 --- /dev/null +++ b/graphics/object_events/palettes/followers/mawile.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 169 89 +81 73 57 +177 185 201 +249 217 129 +129 105 73 +193 57 57 +145 145 145 +41 41 41 +233 233 249 +1 1 1 +113 113 113 +73 73 73 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/medicham.pal b/graphics/object_events/palettes/followers/medicham.pal new file mode 100644 index 000000000..c0ba10536 --- /dev/null +++ b/graphics/object_events/palettes/followers/medicham.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 129 25 +152 152 145 +113 81 17 +193 193 185 +57 57 65 +1 1 1 +185 81 105 +233 137 161 +233 233 249 +249 217 89 +113 113 97 +49 25 33 +193 161 17 +145 57 89 +201 97 129 diff --git a/graphics/object_events/palettes/followers/meditite.pal b/graphics/object_events/palettes/followers/meditite.pal new file mode 100644 index 000000000..5c7838281 --- /dev/null +++ b/graphics/object_events/palettes/followers/meditite.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 137 153 +217 225 233 +57 57 65 +1 1 1 +65 105 153 +89 145 193 +81 81 89 +185 49 41 +177 185 201 +161 161 177 +41 65 97 +233 233 249 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/meganium.pal b/graphics/object_events/palettes/followers/meganium.pal new file mode 100644 index 000000000..0e95eb9ff --- /dev/null +++ b/graphics/object_events/palettes/followers/meganium.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 153 41 +201 177 185 +137 97 1 +129 161 89 +177 81 121 +161 185 81 +233 233 249 +73 89 41 +105 41 81 +241 209 49 +1 1 1 +193 209 81 +209 97 145 +105 105 65 +185 177 201 diff --git a/graphics/object_events/palettes/followers/meowth.pal b/graphics/object_events/palettes/followers/meowth.pal new file mode 100644 index 000000000..1c7fd519a --- /dev/null +++ b/graphics/object_events/palettes/followers/meowth.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 129 49 +81 57 25 +217 177 65 +121 105 81 +1 1 1 +169 121 81 +153 81 25 +169 33 81 +241 217 129 +249 201 33 +177 89 81 +217 145 25 +65 57 49 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/metagross.pal b/graphics/object_events/palettes/followers/metagross.pal new file mode 100644 index 000000000..f94f7a361 --- /dev/null +++ b/graphics/object_events/palettes/followers/metagross.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +89 129 169 +193 193 193 +65 65 65 +105 145 209 +1 1 1 +153 217 241 +153 41 41 +145 145 161 +41 41 49 +65 97 121 +233 233 249 +145 193 233 +33 65 81 +153 153 161 +0 0 0 diff --git a/graphics/object_events/palettes/followers/metang.pal b/graphics/object_events/palettes/followers/metang.pal new file mode 100644 index 000000000..819ca143b --- /dev/null +++ b/graphics/object_events/palettes/followers/metang.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +89 129 169 +193 193 193 +65 65 65 +105 145 209 +233 233 249 +121 33 33 +1 1 1 +150 150 161 +41 41 49 +65 97 121 +145 193 233 +153 217 241 +255 255 255 +33 65 81 +153 41 41 diff --git a/graphics/object_events/palettes/followers/metapod.pal b/graphics/object_events/palettes/followers/metapod.pal new file mode 100644 index 000000000..c070c1405 --- /dev/null +++ b/graphics/object_events/palettes/followers/metapod.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 137 49 +225 225 225 +161 217 73 +57 73 25 +1 1 1 +233 233 249 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/mew.pal b/graphics/object_events/palettes/followers/mew.pal new file mode 100644 index 000000000..d99299b99 --- /dev/null +++ b/graphics/object_events/palettes/followers/mew.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +65 129 129 +201 201 249 +97 97 97 +1 1 1 +233 233 249 +177 105 169 +89 49 81 +249 209 233 +217 161 185 +113 89 113 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/mewtwo.pal b/graphics/object_events/palettes/followers/mewtwo.pal new file mode 100644 index 000000000..6f5afee0f --- /dev/null +++ b/graphics/object_events/palettes/followers/mewtwo.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +129 121 153 +137 73 137 +217 201 217 +65 65 65 +153 153 153 +177 153 193 +65 49 81 +185 89 209 +97 97 97 +233 233 249 +1 1 1 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/mightyena.pal b/graphics/object_events/palettes/followers/mightyena.pal new file mode 100644 index 000000000..38610816d --- /dev/null +++ b/graphics/object_events/palettes/followers/mightyena.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 113 113 +1 1 1 +49 57 57 +145 153 161 +225 65 65 +177 185 193 +81 81 89 +129 33 33 +249 217 89 +129 121 137 +169 161 185 +65 57 81 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/milotic.pal b/graphics/object_events/palettes/followers/milotic.pal new file mode 100644 index 000000000..d012770f9 --- /dev/null +++ b/graphics/object_events/palettes/followers/milotic.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +209 169 65 +33 57 89 +233 217 169 +241 105 113 +129 9 73 +81 129 169 +81 73 153 +185 49 81 +1 1 1 +113 161 209 +97 89 65 +249 241 217 +241 105 153 +57 89 129 +185 49 113 diff --git a/graphics/object_events/palettes/followers/miltank.pal b/graphics/object_events/palettes/followers/miltank.pal new file mode 100644 index 000000000..e64e3f03d --- /dev/null +++ b/graphics/object_events/palettes/followers/miltank.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 145 89 +81 65 33 +169 185 209 +41 65 81 +1 1 1 +121 73 81 +33 49 65 +233 233 249 +209 137 161 +73 97 121 +177 97 121 +241 169 193 +57 65 73 +89 41 57 +209 185 121 diff --git a/graphics/object_events/palettes/followers/minun.pal b/graphics/object_events/palettes/followers/minun.pal new file mode 100644 index 000000000..5ba06582d --- /dev/null +++ b/graphics/object_events/palettes/followers/minun.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 137 105 +249 225 137 +81 129 161 +113 89 49 +201 169 97 +233 233 249 +113 177 209 +49 81 121 +1 1 1 +185 73 89 +137 41 65 +225 113 121 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/misdreavus.pal b/graphics/object_events/palettes/followers/misdreavus.pal new file mode 100644 index 000000000..64f7bcb41 --- /dev/null +++ b/graphics/object_events/palettes/followers/misdreavus.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 121 1 +33 81 97 +201 73 105 +105 129 161 +33 49 89 +97 1 3 +65 105 137 +217 97 161 +233 233 249 +225 177 41 +1 1 1 +193 65 129 +81 113 153 +89 9 3 +0 0 0 diff --git a/graphics/object_events/palettes/followers/moltres.pal b/graphics/object_events/palettes/followers/moltres.pal new file mode 100644 index 000000000..524c5a1d4 --- /dev/null +++ b/graphics/object_events/palettes/followers/moltres.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +249 137 33 +177 177 209 +65 65 65 +249 185 33 +233 73 49 +1 1 1 +161 25 41 +249 137 121 +233 233 249 +65 49 49 +185 113 97 +249 201 121 +233 177 81 +201 129 57 +113 73 57 diff --git a/graphics/object_events/palettes/followers/mr_mime.pal b/graphics/object_events/palettes/followers/mr_mime.pal new file mode 100644 index 000000000..156deec2c --- /dev/null +++ b/graphics/object_events/palettes/followers/mr_mime.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 145 161 +33 65 89 +241 193 201 +145 65 81 +41 49 65 +1 1 1 +49 97 113 +233 233 249 +169 105 121 +201 201 233 +209 65 89 +105 105 105 +193 145 145 +73 49 57 +0 0 0 diff --git a/graphics/object_events/palettes/followers/mudkip.pal b/graphics/object_events/palettes/followers/mudkip.pal new file mode 100644 index 000000000..ad2e4fc26 --- /dev/null +++ b/graphics/object_events/palettes/followers/mudkip.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +241 129 17 +73 57 17 +73 137 177 +41 73 121 +233 233 249 +65 65 81 +89 177 217 +1 1 1 +113 105 145 +161 73 17 +177 177 209 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/muk.pal b/graphics/object_events/palettes/followers/muk.pal new file mode 100644 index 000000000..e7027b663 --- /dev/null +++ b/graphics/object_events/palettes/followers/muk.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +65 57 65 +105 81 121 +233 233 249 +177 145 185 +129 105 137 +97 73 105 +201 177 217 +121 97 153 +129 145 145 +41 49 89 +97 169 225 +41 41 41 +217 81 89 +161 177 217 diff --git a/graphics/object_events/palettes/followers/murkrow.pal b/graphics/object_events/palettes/followers/murkrow.pal new file mode 100644 index 000000000..3f8fb5c91 --- /dev/null +++ b/graphics/object_events/palettes/followers/murkrow.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 137 25 +17 33 73 +121 153 193 +49 49 49 +49 65 113 +1 1 1 +233 233 249 +201 57 49 +145 33 25 +113 89 9 +177 193 217 +225 177 41 +73 89 137 +33 49 97 +0 0 0 diff --git a/graphics/object_events/palettes/followers/natu.pal b/graphics/object_events/palettes/followers/natu.pal new file mode 100644 index 000000000..e3133ef1c --- /dev/null +++ b/graphics/object_events/palettes/followers/natu.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 161 73 +49 49 49 +113 129 153 +129 193 113 +65 81 105 +121 17 33 +1 1 1 +97 81 1 +185 201 225 +217 73 89 +241 209 97 +233 233 249 +177 41 57 +185 153 49 +57 81 33 diff --git a/graphics/object_events/palettes/followers/nidoking.pal b/graphics/object_events/palettes/followers/nidoking.pal new file mode 100644 index 000000000..0f1679f32 --- /dev/null +++ b/graphics/object_events/palettes/followers/nidoking.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +25 169 153 +201 201 201 +217 153 241 +49 113 105 +185 129 185 +1 1 1 +65 49 81 +241 233 225 +153 105 161 +89 25 25 +161 161 161 +233 233 249 +169 169 153 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/nidoqueen.pal b/graphics/object_events/palettes/followers/nidoqueen.pal new file mode 100644 index 000000000..9fb7ed22a --- /dev/null +++ b/graphics/object_events/palettes/followers/nidoqueen.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +97 137 177 +89 65 49 +201 201 201 +241 193 121 +73 65 121 +233 233 249 +97 41 25 +129 177 217 +193 161 81 +169 97 49 +169 201 241 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/nidoran_f.pal b/graphics/object_events/palettes/followers/nidoran_f.pal new file mode 100644 index 000000000..a268e55b6 --- /dev/null +++ b/graphics/object_events/palettes/followers/nidoran_f.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +89 169 137 +49 89 73 +153 241 225 +161 81 105 +17 153 241 +1 1 1 +217 105 137 +161 33 17 +65 81 137 +233 233 249 +161 161 161 +241 121 113 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/nidoran_m.pal b/graphics/object_events/palettes/followers/nidoran_m.pal new file mode 100644 index 000000000..8752b5761 --- /dev/null +++ b/graphics/object_events/palettes/followers/nidoran_m.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +25 169 153 +137 97 153 +193 65 105 +233 233 249 +217 153 241 +185 25 9 +1 1 1 +81 49 81 +49 113 105 +177 113 209 +161 161 161 +177 121 201 +177 177 193 +73 57 81 +0 0 0 diff --git a/graphics/object_events/palettes/followers/nidorina.pal b/graphics/object_events/palettes/followers/nidorina.pal new file mode 100644 index 000000000..f59ffda8b --- /dev/null +++ b/graphics/object_events/palettes/followers/nidorina.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +41 137 209 +113 193 225 +1 1 1 +49 89 105 +153 225 249 +169 169 193 +161 41 33 +81 161 177 +241 161 153 +233 233 249 +49 97 137 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/nidorino.pal b/graphics/object_events/palettes/followers/nidorino.pal new file mode 100644 index 000000000..571d26a69 --- /dev/null +++ b/graphics/object_events/palettes/followers/nidorino.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +25 169 153 +233 233 249 +49 113 105 +177 121 201 +185 25 9 +177 177 193 +73 57 81 +1 1 1 +137 97 153 +217 153 241 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/nincada.pal b/graphics/object_events/palettes/followers/nincada.pal new file mode 100644 index 000000000..359d3480f --- /dev/null +++ b/graphics/object_events/palettes/followers/nincada.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +89 145 65 +33 73 25 +153 145 161 +97 89 113 +121 177 89 +49 41 65 +57 113 41 +233 233 249 +185 177 193 +97 89 65 +121 113 137 +1 1 1 +145 129 89 +65 57 41 +0 0 0 diff --git a/graphics/object_events/palettes/followers/ninetales.pal b/graphics/object_events/palettes/followers/ninetales.pal new file mode 100644 index 000000000..393b1073b --- /dev/null +++ b/graphics/object_events/palettes/followers/ninetales.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +249 169 1 +193 65 105 +1 1 1 +89 57 49 +233 233 249 +185 161 105 +145 113 73 +233 217 153 +137 57 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/ninjask.pal b/graphics/object_events/palettes/followers/ninjask.pal new file mode 100644 index 000000000..c1e058ac4 --- /dev/null +++ b/graphics/object_events/palettes/followers/ninjask.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 145 65 +201 201 201 +193 57 57 +233 193 49 +113 33 33 +233 233 249 +97 89 113 +1 1 1 +145 97 17 +57 49 73 +241 225 73 +217 217 225 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/noctowl.pal b/graphics/object_events/palettes/followers/noctowl.pal new file mode 100644 index 000000000..05f350df8 --- /dev/null +++ b/graphics/object_events/palettes/followers/noctowl.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 137 97 +97 65 17 +169 185 209 +201 185 121 +65 81 89 +225 169 169 +105 41 41 +209 161 113 +201 113 113 +233 233 249 +225 217 161 +97 73 57 +129 97 81 +1 1 1 +169 49 49 diff --git a/graphics/object_events/palettes/followers/nosepass.pal b/graphics/object_events/palettes/followers/nosepass.pal new file mode 100644 index 000000000..391eef08c --- /dev/null +++ b/graphics/object_events/palettes/followers/nosepass.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +17 33 73 +209 49 73 +113 25 41 +65 73 81 +81 129 185 +41 49 57 +41 57 97 +113 177 233 +65 89 137 +161 33 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/numel.pal b/graphics/object_events/palettes/followers/numel.pal new file mode 100644 index 000000000..ba92ab59c --- /dev/null +++ b/graphics/object_events/palettes/followers/numel.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 161 49 +217 225 185 +137 201 65 +49 81 25 +73 121 33 +177 185 137 +89 73 57 +1 1 1 +249 249 249 +217 185 73 +241 217 89 +121 97 73 +185 145 57 +65 73 81 +0 0 0 diff --git a/graphics/object_events/palettes/followers/nuzleaf.pal b/graphics/object_events/palettes/followers/nuzleaf.pal new file mode 100644 index 000000000..ae9bbd957 --- /dev/null +++ b/graphics/object_events/palettes/followers/nuzleaf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 161 9 +89 73 9 +233 233 249 +1 1 1 +65 105 9 +33 57 9 +145 209 17 +97 65 33 +161 137 65 +161 113 49 +233 201 121 +73 49 25 +121 81 41 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/octillery.pal b/graphics/object_events/palettes/followers/octillery.pal new file mode 100644 index 000000000..78b4092d3 --- /dev/null +++ b/graphics/object_events/palettes/followers/octillery.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 161 25 +129 105 17 +153 161 177 +137 1 1 +1 1 1 +137 25 1 +201 89 73 +233 233 249 +249 217 89 +177 41 1 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/oddish.pal b/graphics/object_events/palettes/followers/oddish.pal new file mode 100644 index 000000000..a707d037a --- /dev/null +++ b/graphics/object_events/palettes/followers/oddish.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +57 113 65 +17 161 49 +33 73 41 +1 1 1 +113 1 1 +65 113 153 +41 73 73 +137 193 129 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/omanyte.pal b/graphics/object_events/palettes/followers/omanyte.pal new file mode 100644 index 000000000..121eb8cc6 --- /dev/null +++ b/graphics/object_events/palettes/followers/omanyte.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +57 129 161 +233 201 153 +81 65 57 +73 169 217 +145 113 73 +1 1 1 +121 201 241 +177 153 105 +233 233 249 +169 169 177 +105 105 105 +49 73 81 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/omastar.pal b/graphics/object_events/palettes/followers/omastar.pal new file mode 100644 index 000000000..1f042f749 --- /dev/null +++ b/graphics/object_events/palettes/followers/omastar.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 145 65 +57 129 161 +81 65 57 +249 225 105 +233 225 185 +129 105 81 +177 153 105 +73 169 217 +121 201 241 +233 201 153 +1 1 1 +105 105 105 +49 65 73 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/onix.pal b/graphics/object_events/palettes/followers/onix.pal new file mode 100644 index 000000000..41933ba53 --- /dev/null +++ b/graphics/object_events/palettes/followers/onix.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +129 129 129 +193 193 193 +81 73 73 +1 1 1 +49 49 49 +145 145 145 +233 233 249 +105 97 97 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/paras.pal b/graphics/object_events/palettes/followers/paras.pal new file mode 100644 index 000000000..2511bcc80 --- /dev/null +++ b/graphics/object_events/palettes/followers/paras.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 161 41 +169 81 17 +169 169 169 +113 113 113 +97 41 25 +1 1 1 +249 113 25 +233 233 249 +169 49 73 +217 97 113 +225 161 33 +233 201 89 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/parasect.pal b/graphics/object_events/palettes/followers/parasect.pal new file mode 100644 index 000000000..b07e4319f --- /dev/null +++ b/graphics/object_events/palettes/followers/parasect.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 161 33 +169 81 17 +169 169 169 +97 41 25 +233 201 89 +217 97 113 +249 113 25 +233 233 249 +1 1 1 +169 49 73 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/pelipper.pal b/graphics/object_events/palettes/followers/pelipper.pal new file mode 100644 index 000000000..a1e730a7e --- /dev/null +++ b/graphics/object_events/palettes/followers/pelipper.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 137 41 +81 137 169 +105 81 17 +180 193 211 +201 177 57 +81 81 89 +105 161 217 +233 233 249 +145 145 145 +1 1 1 +65 105 145 +225 209 73 +137 105 25 +137 137 153 +49 73 113 diff --git a/graphics/object_events/palettes/followers/persian.pal b/graphics/object_events/palettes/followers/persian.pal new file mode 100644 index 000000000..16d9b1527 --- /dev/null +++ b/graphics/object_events/palettes/followers/persian.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 137 3 +1 1 1 +81 57 25 +145 129 73 +185 65 113 +233 233 249 +193 169 121 +241 217 129 +145 105 81 +161 129 105 +65 57 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/phanpy.pal b/graphics/object_events/palettes/followers/phanpy.pal new file mode 100644 index 000000000..fa6f2ba20 --- /dev/null +++ b/graphics/object_events/palettes/followers/phanpy.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +33 57 105 +185 201 217 +137 1 1 +81 129 177 +153 33 33 +249 249 249 +137 177 209 +209 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/pichu.pal b/graphics/object_events/palettes/followers/pichu.pal new file mode 100644 index 000000000..ec7bc91d9 --- /dev/null +++ b/graphics/object_events/palettes/followers/pichu.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 121 57 +81 81 81 +225 121 161 +49 49 49 +1 1 1 +97 89 41 +193 169 65 +193 81 137 +233 233 249 +249 217 105 +65 65 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/pidgeot.pal b/graphics/object_events/palettes/followers/pidgeot.pal new file mode 100644 index 000000000..22828bc3f --- /dev/null +++ b/graphics/object_events/palettes/followers/pidgeot.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +233 137 1 +241 105 225 +145 89 49 +1 1 1 +177 65 97 +193 153 65 +129 25 113 +209 113 41 +233 233 249 +241 209 113 +249 193 49 +81 57 25 +225 113 113 +201 73 33 +161 161 161 diff --git a/graphics/object_events/palettes/followers/pidgeotto.pal b/graphics/object_events/palettes/followers/pidgeotto.pal new file mode 100644 index 000000000..03725fd2b --- /dev/null +++ b/graphics/object_events/palettes/followers/pidgeotto.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +209 129 33 +153 153 153 +97 65 33 +233 233 249 +225 113 113 +241 209 113 +241 137 225 +201 73 33 +161 33 161 +193 153 65 +1 1 1 +177 81 33 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/pidgey.pal b/graphics/object_events/palettes/followers/pidgey.pal new file mode 100644 index 000000000..f843a7e59 --- /dev/null +++ b/graphics/object_events/palettes/followers/pidgey.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 153 65 +217 145 177 +97 65 33 +241 209 113 +233 233 249 +201 113 33 +153 57 97 +1 1 1 +185 185 185 +185 89 33 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/pikachu.pal b/graphics/object_events/palettes/followers/pikachu.pal new file mode 100644 index 000000000..987f609d0 --- /dev/null +++ b/graphics/object_events/palettes/followers/pikachu.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 161 65 +113 81 57 +233 233 249 +49 49 49 +249 209 81 +153 113 57 +1 1 1 +201 89 57 +145 57 25 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/piloswine.pal b/graphics/object_events/palettes/followers/piloswine.pal new file mode 100644 index 000000000..a9806b257 --- /dev/null +++ b/graphics/object_events/palettes/followers/piloswine.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 129 89 +121 73 49 +169 185 209 +73 41 9 +1 1 1 +201 97 113 +49 49 65 +233 137 161 +233 233 249 +153 105 65 +145 41 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/pineco.pal b/graphics/object_events/palettes/followers/pineco.pal new file mode 100644 index 000000000..b01042837 --- /dev/null +++ b/graphics/object_events/palettes/followers/pineco.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +49 129 169 +17 81 129 +233 233 249 +1 1 1 +201 65 73 +97 113 153 +81 177 193 +17 89 129 +161 177 201 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/pinsir.pal b/graphics/object_events/palettes/followers/pinsir.pal new file mode 100644 index 000000000..ef5f5f77a --- /dev/null +++ b/graphics/object_events/palettes/followers/pinsir.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 129 97 +81 65 49 +193 193 209 +121 105 81 +1 1 1 +49 49 49 +145 145 145 +97 81 57 +233 233 249 +105 105 105 +185 137 17 +65 57 33 +73 81 81 +241 209 1 +0 0 0 diff --git a/graphics/object_events/palettes/followers/plusle.pal b/graphics/object_events/palettes/followers/plusle.pal new file mode 100644 index 000000000..f04c4f314 --- /dev/null +++ b/graphics/object_events/palettes/followers/plusle.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 137 105 +113 89 49 +233 233 249 +249 225 137 +201 169 97 +185 73 89 +137 41 65 +1 1 1 +225 113 121 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/politoed.pal b/graphics/object_events/palettes/followers/politoed.pal new file mode 100644 index 000000000..113eb9ff2 --- /dev/null +++ b/graphics/object_events/palettes/followers/politoed.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 121 9 +249 129 177 +105 185 65 +49 81 17 +209 185 65 +189 203 220 +33 65 81 +1 1 1 +137 57 73 +201 89 137 +65 113 121 +89 153 57 +233 233 249 +153 217 113 +241 201 73 diff --git a/graphics/object_events/palettes/followers/poliwag.pal b/graphics/object_events/palettes/followers/poliwag.pal new file mode 100644 index 000000000..207b398d6 --- /dev/null +++ b/graphics/object_events/palettes/followers/poliwag.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +121 121 121 +89 89 89 +233 233 233 +121 129 233 +25 41 57 +1 1 1 +65 89 153 +97 49 65 +177 177 209 +241 121 161 +177 65 105 +49 49 49 +233 233 249 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/poliwhirl.pal b/graphics/object_events/palettes/followers/poliwhirl.pal new file mode 100644 index 000000000..8f5e148e7 --- /dev/null +++ b/graphics/object_events/palettes/followers/poliwhirl.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +57 73 113 +233 233 249 +49 49 49 +121 129 233 +33 41 57 +161 161 161 +73 97 185 +177 177 209 +89 89 89 +201 201 201 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/poliwrath.pal b/graphics/object_events/palettes/followers/poliwrath.pal new file mode 100644 index 000000000..0937b8faa --- /dev/null +++ b/graphics/object_events/palettes/followers/poliwrath.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +201 201 201 +73 97 185 +49 49 49 +121 129 233 +33 41 57 +161 161 161 +233 233 249 +177 177 209 +89 89 89 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/ponyta.pal b/graphics/object_events/palettes/followers/ponyta.pal new file mode 100644 index 000000000..d8c952683 --- /dev/null +++ b/graphics/object_events/palettes/followers/ponyta.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +249 161 25 +81 57 33 +241 225 169 +81 97 129 +129 121 89 +225 73 33 +185 169 113 +161 49 9 +233 233 249 +153 57 81 +1 1 1 +73 57 41 +249 81 33 +113 97 65 +185 201 121 diff --git a/graphics/object_events/palettes/followers/poochyena.pal b/graphics/object_events/palettes/followers/poochyena.pal new file mode 100644 index 000000000..53d5307c0 --- /dev/null +++ b/graphics/object_events/palettes/followers/poochyena.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 113 113 +49 57 57 +1 1 1 +193 57 57 +81 81 89 +185 185 185 +137 41 41 +145 145 145 +249 217 89 +65 57 81 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/porygon.pal b/graphics/object_events/palettes/followers/porygon.pal new file mode 100644 index 000000000..a9a1804e9 --- /dev/null +++ b/graphics/object_events/palettes/followers/porygon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +49 137 153 +41 97 97 +81 217 217 +1 1 1 +177 49 105 +41 65 73 +249 153 209 +233 105 161 +233 233 249 +41 185 193 +97 25 49 +161 185 201 +209 65 137 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/porygon2.pal b/graphics/object_events/palettes/followers/porygon2.pal new file mode 100644 index 000000000..b70e67bb6 --- /dev/null +++ b/graphics/object_events/palettes/followers/porygon2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +65 153 193 +17 73 121 +145 233 249 +1 1 1 +113 17 49 +225 81 137 +249 153 209 +169 41 81 +41 121 169 +185 201 217 +249 249 249 +89 185 217 +193 57 97 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/primeape.pal b/graphics/object_events/palettes/followers/primeape.pal new file mode 100644 index 000000000..38020a677 --- /dev/null +++ b/graphics/object_events/palettes/followers/primeape.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 129 49 +241 129 161 +65 57 49 +1 1 1 +105 105 105 +209 169 113 +233 233 249 +121 41 65 +177 177 209 +137 105 57 +233 217 137 +153 121 97 +177 105 129 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/psyduck.pal b/graphics/object_events/palettes/followers/psyduck.pal new file mode 100644 index 000000000..4990fa0d6 --- /dev/null +++ b/graphics/object_events/palettes/followers/psyduck.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 145 65 +241 233 185 +233 185 65 +201 185 137 +105 97 65 +1 1 1 +233 233 249 +249 217 105 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/pupitar.pal b/graphics/object_events/palettes/followers/pupitar.pal new file mode 100644 index 000000000..5ea18eb79 --- /dev/null +++ b/graphics/object_events/palettes/followers/pupitar.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +33 41 41 +161 185 201 +185 49 49 +33 57 73 +233 233 249 +121 161 177 +137 193 201 +57 65 73 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/quagsire.pal b/graphics/object_events/palettes/followers/quagsire.pal new file mode 100644 index 000000000..3eec2ddf4 --- /dev/null +++ b/graphics/object_events/palettes/followers/quagsire.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +57 113 161 +33 65 121 +73 145 201 +33 49 57 +113 177 241 +1 1 1 +145 89 185 +177 113 209 +57 89 81 +145 201 249 +97 41 97 +233 233 249 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/quilava.pal b/graphics/object_events/palettes/followers/quilava.pal new file mode 100644 index 000000000..20abfb6b8 --- /dev/null +++ b/graphics/object_events/palettes/followers/quilava.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 145 81 +73 65 17 +49 137 153 +241 201 41 +161 17 25 +33 81 89 +209 177 89 +217 81 81 +233 233 249 +25 57 73 +41 113 121 +249 209 97 +185 49 49 +1 1 1 +0 0 0 diff --git a/graphics/object_events/palettes/followers/qwilfish.pal b/graphics/object_events/palettes/followers/qwilfish.pal new file mode 100644 index 000000000..3606f4b28 --- /dev/null +++ b/graphics/object_events/palettes/followers/qwilfish.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 153 65 +73 145 193 +57 57 25 +225 209 137 +17 49 105 +1 1 1 +233 233 249 +33 73 129 +249 129 161 +153 33 57 +49 105 153 +193 177 97 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/raichu.pal b/graphics/object_events/palettes/followers/raichu.pal new file mode 100644 index 000000000..a131215ea --- /dev/null +++ b/graphics/object_events/palettes/followers/raichu.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +209 121 33 +1 1 1 +113 73 41 +209 177 25 +249 233 209 +121 105 73 +249 225 9 +73 41 25 +249 145 1 +249 193 65 +233 233 249 +137 89 25 +193 177 129 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/raikou.pal b/graphics/object_events/palettes/followers/raikou.pal new file mode 100644 index 000000000..07b95381f --- /dev/null +++ b/graphics/object_events/palettes/followers/raikou.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 121 17 +65 33 97 +161 185 201 +33 57 65 +49 81 105 +185 49 49 +1 1 1 +233 233 249 +233 185 65 +161 89 185 +73 89 89 +113 57 145 +89 65 41 +57 97 97 +153 201 201 diff --git a/graphics/object_events/palettes/followers/ralts.pal b/graphics/object_events/palettes/followers/ralts.pal new file mode 100644 index 000000000..5c4776a37 --- /dev/null +++ b/graphics/object_events/palettes/followers/ralts.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +41 129 57 +169 169 177 +17 65 33 +73 177 89 +129 33 57 +233 233 249 +241 105 105 +1 1 1 +129 129 145 +201 201 217 +73 73 81 +105 201 129 +185 49 73 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/rapidash.pal b/graphics/object_events/palettes/followers/rapidash.pal new file mode 100644 index 000000000..aa197a10a --- /dev/null +++ b/graphics/object_events/palettes/followers/rapidash.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +249 161 25 +73 57 41 +241 225 169 +81 97 129 +185 169 113 +249 81 33 +113 97 65 +185 201 121 +161 49 9 +233 233 249 +153 57 81 +1 1 1 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/raticate.pal b/graphics/object_events/palettes/followers/raticate.pal new file mode 100644 index 000000000..75f836e6c --- /dev/null +++ b/graphics/object_events/palettes/followers/raticate.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 145 57 +225 201 169 +89 65 25 +185 169 113 +233 233 249 +137 49 121 +201 201 201 +177 97 57 +1 1 1 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/rattata.pal b/graphics/object_events/palettes/followers/rattata.pal new file mode 100644 index 000000000..79c244a7b --- /dev/null +++ b/graphics/object_events/palettes/followers/rattata.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 137 81 +169 129 217 +57 49 89 +233 217 177 +185 169 129 +217 217 217 +225 57 33 +105 89 153 +233 233 249 +1 1 1 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/rayquaza.pal b/graphics/object_events/palettes/followers/rayquaza.pal new file mode 100644 index 000000000..93c0e8a41 --- /dev/null +++ b/graphics/object_events/palettes/followers/rayquaza.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +81 145 81 +49 105 49 +153 169 177 +153 25 25 +121 185 113 +49 49 49 +241 201 49 +201 217 241 +153 225 145 +193 161 41 +145 121 25 +201 41 41 +17 65 25 +89 17 9 +1 1 1 diff --git a/graphics/object_events/palettes/followers/regice.pal b/graphics/object_events/palettes/followers/regice.pal new file mode 100644 index 000000000..ea013d68a --- /dev/null +++ b/graphics/object_events/palettes/followers/regice.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 169 89 +97 145 185 +177 225 249 +233 233 137 +41 73 97 +217 201 113 +121 169 209 +1 1 1 +65 105 145 +145 185 225 +201 241 249 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/regirock.pal b/graphics/object_events/palettes/followers/regirock.pal new file mode 100644 index 000000000..bbbdd8d21 --- /dev/null +++ b/graphics/object_events/palettes/followers/regirock.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 113 89 +1 1 1 +137 65 41 +161 145 129 +57 41 33 +201 185 169 +113 89 81 +217 113 73 +233 217 201 +177 89 57 +177 161 145 +97 41 33 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/registeel.pal b/graphics/object_events/palettes/followers/registeel.pal new file mode 100644 index 000000000..f01e24f60 --- /dev/null +++ b/graphics/object_events/palettes/followers/registeel.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 121 121 +57 65 65 +185 201 209 +1 1 1 +193 57 57 +33 41 41 +129 145 153 +81 89 97 +209 105 105 +233 233 249 +153 169 177 +97 41 33 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/relicanth.pal b/graphics/object_events/palettes/followers/relicanth.pal new file mode 100644 index 000000000..9caac6b77 --- /dev/null +++ b/graphics/object_events/palettes/followers/relicanth.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 113 97 +97 65 57 +1 1 1 +177 41 81 +57 41 33 +121 89 73 +169 153 129 +193 177 153 +73 73 97 +217 201 169 +49 49 65 +73 49 41 +105 97 81 +137 121 105 +0 0 0 diff --git a/graphics/object_events/palettes/followers/remoraid.pal b/graphics/object_events/palettes/followers/remoraid.pal new file mode 100644 index 000000000..379f4e4f6 --- /dev/null +++ b/graphics/object_events/palettes/followers/remoraid.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +73 121 161 +169 185 209 +105 25 81 +233 233 249 +73 73 73 +1 1 1 +193 209 233 +25 57 105 +113 153 201 +41 81 129 +145 193 233 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/rhydon.pal b/graphics/object_events/palettes/followers/rhydon.pal new file mode 100644 index 000000000..d8b41c6ea --- /dev/null +++ b/graphics/object_events/palettes/followers/rhydon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 121 49 +185 185 185 +65 57 25 +137 137 137 +217 217 217 +121 105 57 +137 33 57 +217 177 89 +1 1 1 +65 65 65 +233 233 249 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/rhyhorn.pal b/graphics/object_events/palettes/followers/rhyhorn.pal new file mode 100644 index 000000000..67ea3d889 --- /dev/null +++ b/graphics/object_events/palettes/followers/rhyhorn.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 145 145 +201 201 201 +65 65 65 +1 1 1 +137 33 57 +233 233 249 +113 113 113 +177 177 177 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/roselia.pal b/graphics/object_events/palettes/followers/roselia.pal new file mode 100644 index 000000000..4a0189e95 --- /dev/null +++ b/graphics/object_events/palettes/followers/roselia.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +89 145 17 +33 57 17 +81 145 209 +25 49 89 +41 97 137 +233 185 65 +1 1 1 +89 17 49 +201 65 113 +169 129 57 +57 97 17 +145 41 81 +161 201 145 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/sableye.pal b/graphics/object_events/palettes/followers/sableye.pal new file mode 100644 index 000000000..beadb4681 --- /dev/null +++ b/graphics/object_events/palettes/followers/sableye.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +25 153 121 +65 49 105 +233 233 249 +81 121 185 +233 89 113 +49 81 137 +121 161 225 +193 57 57 +1 1 1 +121 97 177 +89 65 145 +145 129 217 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/salamence.pal b/graphics/object_events/palettes/followers/salamence.pal new file mode 100644 index 000000000..76afcbc8f --- /dev/null +++ b/graphics/object_events/palettes/followers/salamence.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +41 145 169 +57 57 65 +81 185 201 +161 65 65 +1 1 1 +233 233 249 +193 81 97 +97 33 33 +129 129 145 +49 73 113 +161 161 177 +153 201 209 +217 89 121 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/sandshrew.pal b/graphics/object_events/palettes/followers/sandshrew.pal new file mode 100644 index 000000000..ac1703261 --- /dev/null +++ b/graphics/object_events/palettes/followers/sandshrew.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +129 177 169 +185 137 41 +161 161 161 +225 217 169 +97 65 33 +185 169 137 +1 1 1 +33 97 121 +217 169 57 +233 233 249 +121 105 89 +1 1 1 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/sandslash.pal b/graphics/object_events/palettes/followers/sandslash.pal new file mode 100644 index 000000000..d11a2ce3b --- /dev/null +++ b/graphics/object_events/palettes/followers/sandslash.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 131 3 +153 153 153 +97 65 33 +233 225 153 +89 89 89 +177 177 177 +201 137 49 +1 1 1 +233 233 249 +137 97 41 +49 33 17 +41 105 129 +225 169 65 +193 161 137 +161 105 33 diff --git a/graphics/object_events/palettes/followers/sceptile.pal b/graphics/object_events/palettes/followers/sceptile.pal new file mode 100644 index 000000000..806146f2d --- /dev/null +++ b/graphics/object_events/palettes/followers/sceptile.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +81 145 49 +41 81 17 +161 209 105 +105 25 25 +1 1 1 +201 161 57 +121 105 25 +65 49 9 +129 177 73 +249 217 89 +153 41 41 +65 89 25 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/scizor.pal b/graphics/object_events/palettes/followers/scizor.pal new file mode 100644 index 000000000..ee3678e0c --- /dev/null +++ b/graphics/object_events/palettes/followers/scizor.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +249 137 1 +137 89 1 +129 25 17 +1 1 1 +185 201 217 +41 49 65 +81 89 113 +209 57 57 +233 233 249 +145 153 177 +89 17 9 +105 113 137 +161 33 33 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/scyther.pal b/graphics/object_events/palettes/followers/scyther.pal new file mode 100644 index 000000000..b279ae4cd --- /dev/null +++ b/graphics/object_events/palettes/followers/scyther.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +97 161 65 +177 169 201 +1 1 1 +41 65 33 +129 129 129 +233 233 249 +153 209 105 +177 153 41 +241 217 73 +81 65 17 +177 177 201 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/seadra.pal b/graphics/object_events/palettes/followers/seadra.pal new file mode 100644 index 000000000..cd2bb36c4 --- /dev/null +++ b/graphics/object_events/palettes/followers/seadra.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 161 97 +89 145 217 +1 1 1 +233 233 249 +65 65 73 +169 185 209 +73 137 169 +249 209 161 +49 81 113 +121 185 241 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/seaking.pal b/graphics/object_events/palettes/followers/seaking.pal new file mode 100644 index 000000000..7cc446f83 --- /dev/null +++ b/graphics/object_events/palettes/followers/seaking.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +217 161 81 +169 57 49 +177 177 177 +249 233 161 +249 81 41 +49 49 49 +241 129 161 +113 25 17 +233 233 249 +1 1 1 +97 97 97 +193 65 105 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/sealeo.pal b/graphics/object_events/palettes/followers/sealeo.pal new file mode 100644 index 000000000..4efd9fd5a --- /dev/null +++ b/graphics/object_events/palettes/followers/sealeo.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +129 137 153 +217 209 153 +81 81 57 +73 153 201 +49 65 105 +137 193 241 +185 169 113 +49 113 145 +209 217 233 +177 185 209 +121 113 81 +233 233 249 +81 81 105 +1 1 1 +0 0 0 diff --git a/graphics/object_events/palettes/followers/seedot.pal b/graphics/object_events/palettes/followers/seedot.pal new file mode 100644 index 000000000..7aff4c0af --- /dev/null +++ b/graphics/object_events/palettes/followers/seedot.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 113 49 +73 49 25 +177 161 65 +65 57 57 +129 113 113 +89 73 9 +1 1 1 +97 89 81 +33 33 25 +233 201 121 +121 81 41 +65 65 73 +137 121 41 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/seel.pal b/graphics/object_events/palettes/followers/seel.pal new file mode 100644 index 000000000..dad2284d8 --- /dev/null +++ b/graphics/object_events/palettes/followers/seel.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +209 153 9 +225 129 145 +113 89 33 +249 241 185 +73 81 121 +49 49 81 +1 1 1 +225 225 241 +161 169 209 +193 65 89 +81 33 33 +233 201 97 +97 97 97 +233 233 249 +0 0 0 diff --git a/graphics/object_events/palettes/followers/sentret.pal b/graphics/object_events/palettes/followers/sentret.pal new file mode 100644 index 000000000..7e9a52ae0 --- /dev/null +++ b/graphics/object_events/palettes/followers/sentret.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 129 89 +81 65 57 +241 225 193 +73 41 9 +1 1 1 +161 65 113 +129 97 73 +217 193 129 +49 33 25 +233 233 249 +137 33 49 +209 169 129 +89 73 57 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/seviper.pal b/graphics/object_events/palettes/followers/seviper.pal new file mode 100644 index 000000000..276c88dc2 --- /dev/null +++ b/graphics/object_events/palettes/followers/seviper.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 113 25 +81 89 105 +33 41 57 +113 121 137 +217 169 73 +161 49 57 +249 217 89 +121 33 33 +169 113 241 +145 89 185 +1 1 1 +209 73 81 +57 65 81 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/sharpedo.pal b/graphics/object_events/palettes/followers/sharpedo.pal new file mode 100644 index 000000000..5381c6030 --- /dev/null +++ b/graphics/object_events/palettes/followers/sharpedo.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +209 169 49 +97 81 17 +89 145 193 +33 65 105 +1 1 1 +193 89 113 +57 65 73 +233 233 249 +129 137 145 +65 113 161 +113 25 49 +249 209 81 +161 169 177 +33 89 137 +73 81 89 diff --git a/graphics/object_events/palettes/followers/shedinja.pal b/graphics/object_events/palettes/followers/shedinja.pal new file mode 100644 index 000000000..05d9d168e --- /dev/null +++ b/graphics/object_events/palettes/followers/shedinja.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 137 65 +105 81 17 +153 145 161 +241 217 121 +97 89 113 +65 57 33 +201 177 105 +233 233 249 +121 105 65 +185 177 193 +121 113 137 +57 49 73 +1 1 1 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/shelgon.pal b/graphics/object_events/palettes/followers/shelgon.pal new file mode 100644 index 000000000..bea7288b0 --- /dev/null +++ b/graphics/object_events/palettes/followers/shelgon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 129 65 +161 161 185 +65 65 81 +201 201 217 +209 177 97 +113 113 137 +129 41 41 +185 185 201 +233 233 249 +89 89 105 +1 1 1 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/shellder.pal b/graphics/object_events/palettes/followers/shellder.pal new file mode 100644 index 000000000..b48549223 --- /dev/null +++ b/graphics/object_events/palettes/followers/shellder.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 153 153 +73 73 161 +233 233 249 +129 129 201 +41 41 49 +233 153 217 +57 57 73 +1 1 1 +193 89 177 +161 161 241 +73 33 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/shiftry.pal b/graphics/object_events/palettes/followers/shiftry.pal new file mode 100644 index 000000000..cea3ce83c --- /dev/null +++ b/graphics/object_events/palettes/followers/shiftry.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +97 137 9 +129 137 145 +97 65 33 +1 1 1 +137 97 41 +65 41 9 +145 209 17 +233 233 249 +161 177 185 +161 137 65 +81 81 89 +233 201 121 +33 57 9 +161 113 49 +0 0 0 diff --git a/graphics/object_events/palettes/followers/shroomish.pal b/graphics/object_events/palettes/followers/shroomish.pal new file mode 100644 index 000000000..203fd57ea --- /dev/null +++ b/graphics/object_events/palettes/followers/shroomish.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +105 105 73 +121 177 89 +225 201 145 +73 65 49 +81 137 65 +193 161 129 +49 89 41 +145 129 89 +1 1 1 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/shuckle.pal b/graphics/object_events/palettes/followers/shuckle.pal new file mode 100644 index 000000000..ecf1abe78 --- /dev/null +++ b/graphics/object_events/palettes/followers/shuckle.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 137 49 +73 57 57 +1 1 1 +89 25 17 +241 217 81 +209 57 57 +233 209 201 +201 177 65 +113 97 33 +161 33 33 +201 169 153 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/shuppet.pal b/graphics/object_events/palettes/followers/shuppet.pal new file mode 100644 index 000000000..045c51318 --- /dev/null +++ b/graphics/object_events/palettes/followers/shuppet.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 161 49 +97 105 129 +1 1 1 +65 73 97 +81 129 201 +41 49 65 +129 129 161 +161 161 193 +49 81 153 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/silcoon.pal b/graphics/object_events/palettes/followers/silcoon.pal new file mode 100644 index 000000000..f256a8be4 --- /dev/null +++ b/graphics/object_events/palettes/followers/silcoon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +129 129 137 +81 81 81 +185 185 169 +129 33 57 +1 1 1 +241 105 105 +225 225 209 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/skarmory.pal b/graphics/object_events/palettes/followers/skarmory.pal new file mode 100644 index 000000000..5d54ff7e1 --- /dev/null +++ b/graphics/object_events/palettes/followers/skarmory.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 169 17 +33 49 105 +121 145 193 +161 25 49 +1 1 1 +201 57 89 +209 233 249 +73 1 1 +65 97 153 +249 209 97 +153 177 217 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/skiploom.pal b/graphics/object_events/palettes/followers/skiploom.pal new file mode 100644 index 000000000..6d538d4e6 --- /dev/null +++ b/graphics/object_events/palettes/followers/skiploom.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +65 153 33 +185 201 225 +233 193 25 +129 193 81 +185 49 177 +249 217 81 +121 81 9 +169 121 9 +41 113 9 +233 233 249 +1 1 1 +185 217 121 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/skitty.pal b/graphics/object_events/palettes/followers/skitty.pal new file mode 100644 index 000000000..c43022e02 --- /dev/null +++ b/graphics/object_events/palettes/followers/skitty.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +209 161 73 +97 57 57 +249 225 129 +129 105 73 +249 137 153 +177 81 89 +57 57 89 +1 1 1 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/slaking.pal b/graphics/object_events/palettes/followers/slaking.pal new file mode 100644 index 000000000..40eca9702 --- /dev/null +++ b/graphics/object_events/palettes/followers/slaking.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 121 97 +97 73 73 +217 201 161 +1 1 1 +209 113 137 +129 105 89 +73 57 41 +145 137 153 +193 193 209 +233 233 249 +169 81 105 +121 57 73 +201 177 153 +169 129 105 +81 73 89 diff --git a/graphics/object_events/palettes/followers/slakoth.pal b/graphics/object_events/palettes/followers/slakoth.pal new file mode 100644 index 000000000..12c49947a --- /dev/null +++ b/graphics/object_events/palettes/followers/slakoth.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 129 89 +81 65 65 +185 177 193 +169 57 57 +1 1 1 +129 89 81 +145 137 153 +89 81 97 +233 233 249 +121 33 33 +209 89 89 +225 201 145 +185 153 113 +113 65 57 +113 97 89 diff --git a/graphics/object_events/palettes/followers/slowbro.pal b/graphics/object_events/palettes/followers/slowbro.pal new file mode 100644 index 000000000..f6c55d4cd --- /dev/null +++ b/graphics/object_events/palettes/followers/slowbro.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +217 193 89 +73 81 89 +241 169 177 +145 121 49 +241 241 169 +177 97 105 +153 153 153 +233 233 249 +113 49 57 +193 65 65 +193 201 209 +217 113 97 +1 1 1 +209 121 129 +0 0 0 diff --git a/graphics/object_events/palettes/followers/slowking.pal b/graphics/object_events/palettes/followers/slowking.pal new file mode 100644 index 000000000..30d658e9b --- /dev/null +++ b/graphics/object_events/palettes/followers/slowking.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 137 41 +153 161 169 +113 49 57 +1 1 1 +73 81 89 +193 201 209 +209 121 129 +153 65 73 +209 17 17 +121 89 17 +233 233 249 +233 201 97 +241 169 177 +201 161 65 +201 81 97 diff --git a/graphics/object_events/palettes/followers/slowpoke.pal b/graphics/object_events/palettes/followers/slowpoke.pal new file mode 100644 index 000000000..324117fbd --- /dev/null +++ b/graphics/object_events/palettes/followers/slowpoke.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +209 121 129 +241 217 145 +209 169 97 +105 81 17 +233 233 249 +161 169 177 +193 193 193 +97 41 49 +153 89 97 +241 153 161 +1 1 1 +249 193 177 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/slugma.pal b/graphics/object_events/palettes/followers/slugma.pal new file mode 100644 index 000000000..8697071e3 --- /dev/null +++ b/graphics/object_events/palettes/followers/slugma.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 145 17 +161 57 25 +73 1 1 +1 1 1 +217 97 65 +193 73 41 +121 25 17 +233 209 105 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/smeargle.pal b/graphics/object_events/palettes/followers/smeargle.pal new file mode 100644 index 000000000..380390f8e --- /dev/null +++ b/graphics/object_events/palettes/followers/smeargle.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +73 177 65 +177 185 193 +41 113 41 +161 153 105 +217 217 185 +97 89 73 +1 1 1 +65 57 49 +233 233 249 +113 97 33 +185 185 137 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/smoochum.pal b/graphics/object_events/palettes/followers/smoochum.pal new file mode 100644 index 000000000..79f273b2d --- /dev/null +++ b/graphics/object_events/palettes/followers/smoochum.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +209 137 25 +249 153 201 +113 33 97 +1 1 1 +177 65 153 +129 81 1 +249 193 49 +233 233 249 +217 65 105 +177 185 193 +153 97 41 +225 161 105 +153 49 81 +201 129 57 +0 0 0 diff --git a/graphics/object_events/palettes/followers/sneasel.pal b/graphics/object_events/palettes/followers/sneasel.pal new file mode 100644 index 000000000..d3e0617ce --- /dev/null +++ b/graphics/object_events/palettes/followers/sneasel.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 137 17 +57 73 81 +81 153 177 +89 97 105 +121 1 1 +249 249 249 +1 1 1 +25 81 121 +201 49 73 +169 185 201 +241 177 65 +57 113 137 +129 145 169 +153 9 3 +25 89 113 diff --git a/graphics/object_events/palettes/followers/snorlax.pal b/graphics/object_events/palettes/followers/snorlax.pal new file mode 100644 index 000000000..204900db7 --- /dev/null +++ b/graphics/object_events/palettes/followers/snorlax.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 145 81 +161 161 185 +65 65 65 +1 1 1 +249 225 169 +137 105 73 +41 49 49 +81 129 145 +233 233 249 +65 105 121 +193 193 201 +217 193 121 +41 73 73 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/snorunt.pal b/graphics/object_events/palettes/followers/snorunt.pal new file mode 100644 index 000000000..283587f32 --- /dev/null +++ b/graphics/object_events/palettes/followers/snorunt.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 153 57 +89 65 57 +169 73 65 +41 129 193 +97 97 121 +33 33 41 +249 217 89 +145 105 57 +233 233 249 +169 169 185 +1 1 1 +241 105 89 +49 49 65 +65 65 81 +193 81 65 diff --git a/graphics/object_events/palettes/followers/snubbull.pal b/graphics/object_events/palettes/followers/snubbull.pal new file mode 100644 index 000000000..36e6c87a4 --- /dev/null +++ b/graphics/object_events/palettes/followers/snubbull.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +49 121 153 +49 65 81 +209 193 145 +1 1 1 +185 73 113 +121 33 65 +177 193 209 +73 153 193 +241 145 185 +233 233 249 +209 105 145 +33 81 113 +161 49 81 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/solrock.pal b/graphics/object_events/palettes/followers/solrock.pal new file mode 100644 index 000000000..07fb924c7 --- /dev/null +++ b/graphics/object_events/palettes/followers/solrock.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 105 41 +97 81 33 +177 161 73 +225 9 3 +217 137 57 +65 73 89 +1 1 1 +33 41 49 +209 193 97 +145 121 57 +145 73 33 +161 49 113 +209 73 145 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/spearow.pal b/graphics/object_events/palettes/followers/spearow.pal new file mode 100644 index 000000000..2c7f13b8a --- /dev/null +++ b/graphics/object_events/palettes/followers/spearow.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 129 33 +81 57 17 +249 137 145 +233 121 89 +65 65 65 +201 57 25 +185 169 113 +145 41 17 +233 233 249 +161 81 105 +129 89 33 +137 121 65 +1 1 1 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/spheal.pal b/graphics/object_events/palettes/followers/spheal.pal new file mode 100644 index 000000000..637a19fa1 --- /dev/null +++ b/graphics/object_events/palettes/followers/spheal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 145 113 +217 201 161 +81 81 57 +105 137 185 +49 65 105 +1 1 1 +209 217 233 +137 169 225 +81 97 145 +121 113 81 +177 185 209 +233 233 249 +81 81 105 +193 177 137 +0 0 0 diff --git a/graphics/object_events/palettes/followers/spinarak.pal b/graphics/object_events/palettes/followers/spinarak.pal new file mode 100644 index 000000000..2f09009e2 --- /dev/null +++ b/graphics/object_events/palettes/followers/spinarak.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +81 137 33 +113 137 153 +81 57 1 +121 185 33 +233 233 249 +65 97 89 +169 185 209 +161 217 97 +209 65 105 +1 1 1 +113 17 25 +193 137 1 +225 193 9 +33 81 33 +0 0 0 diff --git a/graphics/object_events/palettes/followers/spinda.pal b/graphics/object_events/palettes/followers/spinda.pal new file mode 100644 index 000000000..97d7f9ff1 --- /dev/null +++ b/graphics/object_events/palettes/followers/spinda.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 129 113 +81 73 57 +145 65 65 +1 1 1 +129 105 89 +209 105 105 +217 193 169 +121 49 49 +177 81 81 +193 169 145 +57 65 73 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/spoink.pal b/graphics/object_events/palettes/followers/spoink.pal new file mode 100644 index 000000000..652308e48 --- /dev/null +++ b/graphics/object_events/palettes/followers/spoink.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +129 137 137 +145 49 97 +49 57 65 +97 105 105 +249 249 249 +105 25 65 +1 1 1 +185 73 129 +225 97 161 +73 81 89 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/squirtle.pal b/graphics/object_events/palettes/followers/squirtle.pal new file mode 100644 index 000000000..8d090127d --- /dev/null +++ b/graphics/object_events/palettes/followers/squirtle.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 121 25 +57 137 185 +217 169 49 +233 233 249 +33 73 97 +185 185 185 +1 1 1 +161 9 3 +89 185 241 +241 209 113 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/stantler.pal b/graphics/object_events/palettes/followers/stantler.pal new file mode 100644 index 000000000..ca315697f --- /dev/null +++ b/graphics/object_events/palettes/followers/stantler.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 145 25 +89 73 9 +169 185 209 +201 145 89 +73 65 57 +225 209 81 +97 49 9 +1 1 1 +233 233 249 +185 97 49 +137 33 49 +113 89 81 +201 177 113 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/starmie.pal b/graphics/object_events/palettes/followers/starmie.pal new file mode 100644 index 000000000..44225b531 --- /dev/null +++ b/graphics/object_events/palettes/followers/starmie.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 145 25 +65 65 113 +57 49 17 +105 25 25 +137 113 233 +1 1 1 +49 41 65 +233 177 33 +241 89 73 +89 89 193 +185 41 41 +169 121 33 +121 81 9 +225 97 73 +89 73 41 diff --git a/graphics/object_events/palettes/followers/staryu.pal b/graphics/object_events/palettes/followers/staryu.pal new file mode 100644 index 000000000..47f9daf31 --- /dev/null +++ b/graphics/object_events/palettes/followers/staryu.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 121 33 +57 49 17 +177 145 25 +105 25 25 +121 81 9 +1 1 1 +225 97 73 +233 177 33 +185 41 41 +89 73 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/steelix.pal b/graphics/object_events/palettes/followers/steelix.pal new file mode 100644 index 000000000..cac012566 --- /dev/null +++ b/graphics/object_events/palettes/followers/steelix.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +89 121 145 +161 185 201 +49 65 81 +1 1 1 +233 233 249 +193 209 225 +193 57 57 +129 153 169 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/sudowoodo.pal b/graphics/object_events/palettes/followers/sudowoodo.pal new file mode 100644 index 000000000..a16242e5e --- /dev/null +++ b/graphics/object_events/palettes/followers/sudowoodo.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +73 153 65 +1 1 1 +201 169 1 +25 81 17 +161 129 89 +121 209 121 +129 105 65 +185 153 89 +233 233 249 +225 121 121 +89 65 17 +225 193 1 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/suicune.pal b/graphics/object_events/palettes/followers/suicune.pal new file mode 100644 index 000000000..2ec7c2b8c --- /dev/null +++ b/graphics/object_events/palettes/followers/suicune.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +49 153 137 +65 33 97 +97 201 193 +81 81 97 +97 153 193 +185 49 49 +129 153 153 +185 201 201 +25 57 89 +161 97 177 +233 233 249 +113 57 137 +49 97 137 +1 1 1 +0 0 0 diff --git a/graphics/object_events/palettes/followers/sunflora.pal b/graphics/object_events/palettes/followers/sunflora.pal new file mode 100644 index 000000000..34210aafa --- /dev/null +++ b/graphics/object_events/palettes/followers/sunflora.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +65 137 49 +225 185 17 +89 185 81 +1 1 1 +41 81 17 +201 129 33 +241 225 113 +233 193 33 +121 209 113 +225 161 41 +129 73 1 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/sunkern.pal b/graphics/object_events/palettes/followers/sunkern.pal new file mode 100644 index 000000000..8184c4986 --- /dev/null +++ b/graphics/object_events/palettes/followers/sunkern.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 137 9 +233 233 249 +89 65 1 +113 193 81 +73 97 113 +1 1 1 +153 105 9 +241 217 113 +33 49 57 +105 161 57 +217 185 49 +41 81 17 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/surskit.pal b/graphics/object_events/palettes/followers/surskit.pal new file mode 100644 index 000000000..40ff84b78 --- /dev/null +++ b/graphics/object_events/palettes/followers/surskit.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 121 33 +105 81 17 +97 145 185 +185 169 49 +41 73 97 +145 41 41 +233 233 249 +1 1 1 +33 41 57 +193 57 57 +225 209 73 +73 105 137 +121 177 225 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/swablu.pal b/graphics/object_events/palettes/followers/swablu.pal new file mode 100644 index 000000000..0af595d67 --- /dev/null +++ b/graphics/object_events/palettes/followers/swablu.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +113 129 145 +225 225 233 +89 145 177 +73 81 105 +113 177 209 +65 113 153 +1 1 1 +249 249 249 +169 177 193 +49 81 121 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/swalot.pal b/graphics/object_events/palettes/followers/swalot.pal new file mode 100644 index 000000000..ed14e5df2 --- /dev/null +++ b/graphics/object_events/palettes/followers/swalot.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 129 57 +137 105 161 +65 41 97 +233 185 65 +57 73 81 +161 129 193 +97 73 121 +161 25 25 +1 1 1 +217 105 105 +185 145 217 +121 89 145 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/swampert.pal b/graphics/object_events/palettes/followers/swampert.pal new file mode 100644 index 000000000..351f6cc11 --- /dev/null +++ b/graphics/object_events/palettes/followers/swampert.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +241 129 17 +89 121 161 +161 73 17 +129 185 241 +49 57 81 +1 1 1 +97 161 209 +49 73 113 +89 105 129 +249 193 129 +201 201 225 +161 161 193 +193 89 17 +49 65 73 +0 0 0 diff --git a/graphics/object_events/palettes/followers/swellow.pal b/graphics/object_events/palettes/followers/swellow.pal new file mode 100644 index 000000000..4a366df34 --- /dev/null +++ b/graphics/object_events/palettes/followers/swellow.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 137 41 +89 81 17 +105 137 193 +49 73 113 +209 209 233 +17 49 73 +225 209 73 +65 65 65 +217 81 89 +185 185 193 +1 1 1 +73 105 153 +177 65 81 +105 33 65 +233 233 249 diff --git a/graphics/object_events/palettes/followers/swinub.pal b/graphics/object_events/palettes/followers/swinub.pal new file mode 100644 index 000000000..1ac67e68b --- /dev/null +++ b/graphics/object_events/palettes/followers/swinub.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 97 57 +185 153 105 +113 89 81 +201 97 113 +145 41 65 +73 41 9 +169 129 73 +1 1 1 +233 137 161 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/taillow.pal b/graphics/object_events/palettes/followers/taillow.pal new file mode 100644 index 000000000..c01cf137c --- /dev/null +++ b/graphics/object_events/palettes/followers/taillow.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 145 41 +105 81 17 +105 137 193 +49 73 113 +225 209 73 +193 73 89 +17 49 73 +233 233 249 +121 121 129 +1 1 1 +145 49 81 +73 105 153 +169 169 177 +65 65 65 +241 105 105 diff --git a/graphics/object_events/palettes/followers/tangela.pal b/graphics/object_events/palettes/followers/tangela.pal new file mode 100644 index 000000000..eec939132 --- /dev/null +++ b/graphics/object_events/palettes/followers/tangela.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +73 137 145 +233 233 249 +65 65 65 +121 145 177 +161 49 41 +1 1 1 +25 33 33 +89 113 113 +169 185 209 +105 161 169 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/tauros.pal b/graphics/object_events/palettes/followers/tauros.pal new file mode 100644 index 000000000..9d198490e --- /dev/null +++ b/graphics/object_events/palettes/followers/tauros.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 121 73 +113 129 169 +73 65 65 +201 153 65 +193 193 209 +105 97 89 +1 1 1 +41 33 17 +145 145 145 +233 233 249 +81 81 105 +225 169 73 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/teddiursa.pal b/graphics/object_events/palettes/followers/teddiursa.pal new file mode 100644 index 000000000..10b1388ec --- /dev/null +++ b/graphics/object_events/palettes/followers/teddiursa.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +201 121 33 +177 185 193 +225 201 97 +89 73 65 +241 225 193 +1 1 1 +89 49 17 +233 161 57 +153 97 33 +233 233 249 +201 209 225 +217 201 137 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/tentacool.pal b/graphics/object_events/palettes/followers/tentacool.pal new file mode 100644 index 000000000..ebde6755c --- /dev/null +++ b/graphics/object_events/palettes/followers/tentacool.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +73 137 3 +73 145 161 +65 65 65 +121 193 241 +145 25 89 +177 121 73 +249 161 161 +41 105 121 +233 233 249 +65 49 41 +209 169 97 +1 1 1 +209 209 209 +225 49 97 +57 73 97 diff --git a/graphics/object_events/palettes/followers/tentacruel.pal b/graphics/object_events/palettes/followers/tentacruel.pal new file mode 100644 index 000000000..5eb5f673e --- /dev/null +++ b/graphics/object_events/palettes/followers/tentacruel.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +73 137 3 +1 1 1 +65 65 65 +233 233 249 +121 193 241 +169 169 169 +145 25 89 +153 121 89 +41 105 121 +185 161 121 +81 153 169 +225 49 97 +249 161 161 +57 73 97 +0 0 0 diff --git a/graphics/object_events/palettes/followers/togepi.pal b/graphics/object_events/palettes/followers/togepi.pal new file mode 100644 index 000000000..52fd5d0ed --- /dev/null +++ b/graphics/object_events/palettes/followers/togepi.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 137 73 +97 169 225 +233 217 89 +49 57 41 +193 177 73 +217 209 209 +217 81 89 +113 97 49 +233 121 145 +153 153 145 +249 233 145 +233 233 249 +121 201 241 +81 81 81 +1 1 1 diff --git a/graphics/object_events/palettes/followers/togetic.pal b/graphics/object_events/palettes/followers/togetic.pal new file mode 100644 index 000000000..bf8df7baf --- /dev/null +++ b/graphics/object_events/palettes/followers/togetic.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +129 145 145 +233 233 249 +41 49 89 +97 169 225 +41 41 41 +1 1 1 +217 81 89 +161 177 217 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/torchic.pal b/graphics/object_events/palettes/followers/torchic.pal new file mode 100644 index 000000000..a9c540b8d --- /dev/null +++ b/graphics/object_events/palettes/followers/torchic.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +241 129 17 +233 233 249 +1 1 1 +121 81 17 +161 145 81 +233 169 17 +249 209 97 +209 97 1 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/torkoal.pal b/graphics/object_events/palettes/followers/torkoal.pal new file mode 100644 index 000000000..fab0f050a --- /dev/null +++ b/graphics/object_events/palettes/followers/torkoal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 113 65 +145 97 57 +137 33 49 +121 129 129 +97 41 41 +1 1 1 +209 137 81 +89 97 105 +209 57 81 +185 185 185 +49 57 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/totodile.pal b/graphics/object_events/palettes/followers/totodile.pal new file mode 100644 index 000000000..1a7c37644 --- /dev/null +++ b/graphics/object_events/palettes/followers/totodile.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 153 81 +65 73 81 +81 129 185 +113 25 41 +41 57 97 +169 185 209 +209 49 73 +1 1 1 +233 233 249 +113 177 233 +65 97 137 +121 105 41 +161 33 57 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/trapinch.pal b/graphics/object_events/palettes/followers/trapinch.pal new file mode 100644 index 000000000..410b897fd --- /dev/null +++ b/graphics/object_events/palettes/followers/trapinch.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +225 153 113 +169 89 73 +201 121 81 +41 41 41 +249 249 249 +1 1 1 +105 105 105 +121 121 121 +113 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/treecko.pal b/graphics/object_events/palettes/followers/treecko.pal new file mode 100644 index 000000000..e5b4b2e4c --- /dev/null +++ b/graphics/object_events/palettes/followers/treecko.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 169 33 +49 73 25 +249 217 89 +105 25 25 +57 137 105 +65 105 41 +185 49 49 +49 89 57 +1 1 1 +201 217 121 +145 33 33 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/tropius.pal b/graphics/object_events/palettes/followers/tropius.pal new file mode 100644 index 000000000..af8de33ba --- /dev/null +++ b/graphics/object_events/palettes/followers/tropius.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 121 9 +161 161 161 +209 169 25 +25 57 33 +129 185 97 +65 145 73 +41 105 57 +65 49 1 +233 233 249 +249 209 33 +161 121 81 +121 97 73 +1 1 1 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/typhlosion.pal b/graphics/object_events/palettes/followers/typhlosion.pal new file mode 100644 index 000000000..eeacd5c1f --- /dev/null +++ b/graphics/object_events/palettes/followers/typhlosion.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 145 81 +73 65 17 +57 137 169 +241 201 41 +25 57 73 +161 17 25 +209 185 97 +217 81 81 +233 233 249 +57 97 121 +1 1 1 +105 89 57 +185 49 49 +249 209 97 +0 0 0 diff --git a/graphics/object_events/palettes/followers/tyranitar.pal b/graphics/object_events/palettes/followers/tyranitar.pal new file mode 100644 index 000000000..4dadfce81 --- /dev/null +++ b/graphics/object_events/palettes/followers/tyranitar.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +89 121 81 +137 185 105 +57 49 105 +121 137 145 +33 41 41 +161 185 201 +113 161 89 +41 73 49 +81 105 169 +233 233 249 +177 217 121 +1 1 1 +97 137 193 +49 65 65 +0 0 0 diff --git a/graphics/object_events/palettes/followers/tyrogue.pal b/graphics/object_events/palettes/followers/tyrogue.pal new file mode 100644 index 000000000..e0f3829ec --- /dev/null +++ b/graphics/object_events/palettes/followers/tyrogue.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +137 145 153 +193 57 57 +177 185 193 +89 49 105 +169 121 177 +73 89 105 +97 25 25 +1 1 1 +233 233 249 +137 97 9 +201 161 217 +145 41 41 +113 81 129 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/umbreon.pal b/graphics/object_events/palettes/followers/umbreon.pal new file mode 100644 index 000000000..83c9ac129 --- /dev/null +++ b/graphics/object_events/palettes/followers/umbreon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 129 17 +129 89 9 +209 25 25 +233 233 249 +225 177 41 +25 41 57 +65 73 81 +1 1 1 +249 217 89 +105 113 121 +137 57 1 +41 57 65 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/unown.pal b/graphics/object_events/palettes/followers/unown.pal new file mode 100644 index 000000000..d729ca129 --- /dev/null +++ b/graphics/object_events/palettes/followers/unown.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +65 73 89 +233 233 249 +41 49 65 +185 185 185 +97 105 145 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/ursaring.pal b/graphics/object_events/palettes/followers/ursaring.pal new file mode 100644 index 000000000..36e1ff602 --- /dev/null +++ b/graphics/object_events/palettes/followers/ursaring.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 137 57 +161 169 185 +121 73 49 +1 1 1 +145 105 57 +209 161 97 +233 233 249 +73 41 9 +217 201 137 +193 193 201 +177 129 89 +89 73 65 +153 105 65 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/vaporeon.pal b/graphics/object_events/palettes/followers/vaporeon.pal new file mode 100644 index 000000000..e28edebe1 --- /dev/null +++ b/graphics/object_events/palettes/followers/vaporeon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +9 131 5 +33 145 137 +129 201 233 +81 73 57 +89 177 225 +1 1 1 +177 153 57 +209 209 209 +33 57 105 +17 113 121 +225 201 105 +233 233 249 +73 137 177 +161 161 161 +49 105 137 diff --git a/graphics/object_events/palettes/followers/venomoth.pal b/graphics/object_events/palettes/followers/venomoth.pal new file mode 100644 index 000000000..558651bc1 --- /dev/null +++ b/graphics/object_events/palettes/followers/venomoth.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 121 65 +209 153 249 +105 97 137 +233 233 249 +73 65 89 +1 1 1 +193 193 193 +161 105 241 +113 113 113 +233 185 249 +217 185 129 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/venonat.pal b/graphics/object_events/palettes/followers/venonat.pal new file mode 100644 index 000000000..b1281ab1c --- /dev/null +++ b/graphics/object_events/palettes/followers/venonat.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 145 81 +73 57 129 +201 201 201 +129 97 33 +1 1 1 +137 1 1 +137 137 137 +113 73 209 +169 49 81 +49 33 65 +233 233 249 +161 105 241 +233 129 153 +217 185 129 +249 201 201 diff --git a/graphics/object_events/palettes/followers/venusaur.pal b/graphics/object_events/palettes/followers/venusaur.pal new file mode 100644 index 000000000..46f21dc4a --- /dev/null +++ b/graphics/object_events/palettes/followers/venusaur.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 129 41 +241 121 161 +137 225 33 +145 65 33 +65 153 97 +105 217 193 +233 193 113 +201 73 129 +233 233 249 +105 33 41 +97 169 17 +161 161 161 +1 1 1 +65 97 49 +249 225 9 diff --git a/graphics/object_events/palettes/followers/vibrava.pal b/graphics/object_events/palettes/followers/vibrava.pal new file mode 100644 index 000000000..4402c3530 --- /dev/null +++ b/graphics/object_events/palettes/followers/vibrava.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +129 137 97 +217 225 185 +41 105 25 +185 193 209 +121 185 113 +73 73 73 +1 1 1 +57 57 57 +249 249 249 +105 105 105 +81 89 57 +97 161 97 +161 177 137 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/victreebel.pal b/graphics/object_events/palettes/followers/victreebel.pal new file mode 100644 index 000000000..90de7ab6a --- /dev/null +++ b/graphics/object_events/palettes/followers/victreebel.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +97 153 57 +241 121 161 +81 65 49 +137 217 81 +1 1 1 +169 65 113 +121 9 5 +185 137 57 +193 193 193 +233 233 249 +33 33 33 +65 89 41 +241 225 73 +185 161 49 +129 97 41 diff --git a/graphics/object_events/palettes/followers/vigoroth.pal b/graphics/object_events/palettes/followers/vigoroth.pal new file mode 100644 index 000000000..446f1e8d6 --- /dev/null +++ b/graphics/object_events/palettes/followers/vigoroth.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +233 129 121 +65 57 73 +97 89 105 +217 209 217 +97 49 49 +1 1 1 +169 57 57 +209 89 89 +105 25 25 +177 169 177 +233 233 249 +121 81 73 +145 105 97 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/vileplume.pal b/graphics/object_events/palettes/followers/vileplume.pal new file mode 100644 index 000000000..503e1333c --- /dev/null +++ b/graphics/object_events/palettes/followers/vileplume.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +65 113 153 +169 81 17 +1 1 1 +33 57 105 +217 97 113 +169 49 73 +121 33 17 +217 185 145 +249 137 73 +49 81 113 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/volbeat.pal b/graphics/object_events/palettes/followers/volbeat.pal new file mode 100644 index 000000000..f78520d3b --- /dev/null +++ b/graphics/object_events/palettes/followers/volbeat.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 153 57 +65 65 73 +177 177 193 +225 185 65 +209 73 81 +121 33 49 +105 105 113 +1 1 1 +233 233 249 +137 137 153 +41 41 49 +225 113 121 +177 57 65 +225 209 89 +97 81 49 diff --git a/graphics/object_events/palettes/followers/voltorb.pal b/graphics/object_events/palettes/followers/voltorb.pal new file mode 100644 index 000000000..f4f84dd99 --- /dev/null +++ b/graphics/object_events/palettes/followers/voltorb.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +233 81 81 +113 17 17 +201 201 209 +49 49 49 +161 161 161 +241 113 113 +201 33 33 +233 233 249 +185 185 193 +105 105 105 +217 217 217 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/vulpix.pal b/graphics/object_events/palettes/followers/vulpix.pal new file mode 100644 index 000000000..9c57ccda9 --- /dev/null +++ b/graphics/object_events/palettes/followers/vulpix.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +241 137 73 +169 81 25 +217 113 49 +233 233 249 +121 73 57 +89 57 49 +1 1 1 +185 89 57 +241 201 153 +89 65 73 +137 57 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/wailmer.pal b/graphics/object_events/palettes/followers/wailmer.pal new file mode 100644 index 000000000..4104dc7f0 --- /dev/null +++ b/graphics/object_events/palettes/followers/wailmer.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 153 97 +65 73 81 +193 185 121 +65 129 193 +41 97 137 +33 65 97 +185 201 217 +105 161 225 +137 121 73 +81 65 33 +217 233 249 +137 153 169 +49 105 161 +1 1 1 +97 113 121 diff --git a/graphics/object_events/palettes/followers/wailord.pal b/graphics/object_events/palettes/followers/wailord.pal new file mode 100644 index 000000000..8168289fe --- /dev/null +++ b/graphics/object_events/palettes/followers/wailord.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +185 201 217 +33 65 105 +65 129 193 +57 73 81 +137 161 177 +217 233 249 +41 105 153 +105 161 225 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/walrein.pal b/graphics/object_events/palettes/followers/walrein.pal new file mode 100644 index 000000000..1543eafcf --- /dev/null +++ b/graphics/object_events/palettes/followers/walrein.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +193 153 25 +129 137 153 +177 185 209 +81 81 57 +1 1 1 +105 161 217 +209 217 233 +49 65 105 +249 217 89 +137 185 249 +81 129 177 +81 81 105 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/wartortle.pal b/graphics/object_events/palettes/followers/wartortle.pal new file mode 100644 index 000000000..d4d157193 --- /dev/null +++ b/graphics/object_events/palettes/followers/wartortle.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 137 25 +161 161 161 +65 81 153 +57 57 73 +233 233 249 +1 1 1 +65 121 217 +161 89 25 +161 9 3 +241 209 113 +113 153 225 +65 65 65 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/weedle.pal b/graphics/object_events/palettes/followers/weedle.pal new file mode 100644 index 000000000..1092aef54 --- /dev/null +++ b/graphics/object_events/palettes/followers/weedle.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +161 121 49 +185 185 185 +97 73 41 +249 209 65 +129 129 129 +249 113 137 +193 41 65 +193 153 65 +233 233 249 +1 1 1 +65 65 65 +145 113 33 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/weepinbell.pal b/graphics/object_events/palettes/followers/weepinbell.pal new file mode 100644 index 000000000..c6ea065e7 --- /dev/null +++ b/graphics/object_events/palettes/followers/weepinbell.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +97 153 57 +241 121 161 +81 65 49 +137 217 81 +89 89 89 +1 1 1 +185 137 57 +185 185 185 +233 233 249 +121 9 5 +169 65 113 +65 89 41 +241 225 73 +185 161 49 +129 97 41 diff --git a/graphics/object_events/palettes/followers/weezing.pal b/graphics/object_events/palettes/followers/weezing.pal new file mode 100644 index 000000000..84a071158 --- /dev/null +++ b/graphics/object_events/palettes/followers/weezing.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 129 41 +137 129 209 +89 81 121 +57 41 57 +161 161 129 +233 233 249 +129 73 81 +1 1 1 +121 105 193 +169 169 209 +105 57 65 +201 185 121 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/whiscash.pal b/graphics/object_events/palettes/followers/whiscash.pal new file mode 100644 index 000000000..70c9415af --- /dev/null +++ b/graphics/object_events/palettes/followers/whiscash.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +145 121 57 +65 129 185 +25 33 105 +233 233 249 +177 161 73 +97 161 217 +33 97 161 +97 81 33 +1 1 1 +49 65 137 +209 193 97 +177 177 193 +105 129 193 +73 97 161 +9 5 9 diff --git a/graphics/object_events/palettes/followers/whismur.pal b/graphics/object_events/palettes/followers/whismur.pal new file mode 100644 index 000000000..f353acb32 --- /dev/null +++ b/graphics/object_events/palettes/followers/whismur.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +153 137 41 +209 121 169 +81 57 9 +225 209 73 +1 1 1 +65 73 89 +97 41 73 +193 169 49 +233 161 201 +161 89 129 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/wigglytuff.pal b/graphics/object_events/palettes/followers/wigglytuff.pal new file mode 100644 index 000000000..87de7d93d --- /dev/null +++ b/graphics/object_events/palettes/followers/wigglytuff.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +185 105 129 +233 233 249 +193 193 193 +137 57 81 +241 153 169 +57 97 201 +113 185 249 +81 81 81 +97 57 65 +121 89 57 +169 169 169 +161 81 97 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/wingull.pal b/graphics/object_events/palettes/followers/wingull.pal new file mode 100644 index 000000000..676a03740 --- /dev/null +++ b/graphics/object_events/palettes/followers/wingull.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +169 145 41 +137 137 153 +161 201 225 +105 81 17 +177 185 201 +81 81 89 +225 209 73 +105 161 217 +1 1 1 +65 105 145 +233 233 249 +81 145 185 +49 73 113 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/wobbuffet.pal b/graphics/object_events/palettes/followers/wobbuffet.pal new file mode 100644 index 000000000..a5cedfd43 --- /dev/null +++ b/graphics/object_events/palettes/followers/wobbuffet.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +57 129 161 +57 161 193 +33 49 65 +169 185 209 +57 81 113 +1 1 1 +25 57 113 +113 201 241 +65 145 41 +145 193 65 +57 105 17 +169 41 41 +113 177 81 +233 233 249 +193 217 113 diff --git a/graphics/object_events/palettes/followers/wooper.pal b/graphics/object_events/palettes/followers/wooper.pal new file mode 100644 index 000000000..b0ebb5db6 --- /dev/null +++ b/graphics/object_events/palettes/followers/wooper.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +1 1 1 +33 65 121 +145 201 249 +73 145 201 +177 113 209 +97 41 97 +57 113 161 +233 233 249 +113 177 241 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/wurmple.pal b/graphics/object_events/palettes/followers/wurmple.pal new file mode 100644 index 000000000..a6f96b9dc --- /dev/null +++ b/graphics/object_events/palettes/followers/wurmple.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 153 57 +121 97 25 +137 137 145 +1 1 1 +81 81 81 +129 33 57 +169 169 177 +241 105 105 +241 217 105 +249 209 185 +185 49 73 +177 145 129 +113 89 81 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/wynaut.pal b/graphics/object_events/palettes/followers/wynaut.pal new file mode 100644 index 000000000..b73b089b8 --- /dev/null +++ b/graphics/object_events/palettes/followers/wynaut.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +81 137 153 +25 65 81 +193 57 57 +137 209 225 +49 105 121 +41 41 49 +105 177 193 +33 81 97 +1 1 1 +233 233 249 +113 33 33 +97 97 121 +65 65 81 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/xatu.pal b/graphics/object_events/palettes/followers/xatu.pal new file mode 100644 index 000000000..399c787a2 --- /dev/null +++ b/graphics/object_events/palettes/followers/xatu.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +97 145 57 +113 129 153 +49 49 49 +129 193 113 +65 81 97 +176 198 222 +121 17 33 +1 1 1 +233 233 249 +217 73 89 +97 81 1 +241 209 97 +177 41 57 +185 153 49 +57 81 33 diff --git a/graphics/object_events/palettes/followers/yanma.pal b/graphics/object_events/palettes/followers/yanma.pal new file mode 100644 index 000000000..40a8c8679 --- /dev/null +++ b/graphics/object_events/palettes/followers/yanma.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +233 121 49 +41 105 9 +185 201 225 +81 97 137 +113 193 81 +185 65 17 +145 49 9 +97 25 25 +1 1 1 +241 105 81 +161 233 129 +57 73 73 +233 233 249 +217 73 49 +0 0 0 diff --git a/graphics/object_events/palettes/followers/zangoose.pal b/graphics/object_events/palettes/followers/zangoose.pal new file mode 100644 index 000000000..2736e0cb2 --- /dev/null +++ b/graphics/object_events/palettes/followers/zangoose.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +113 121 137 +161 49 97 +41 49 65 +209 209 209 +225 113 129 +1 1 1 +161 49 57 +121 33 33 +73 81 97 +241 113 185 +233 233 249 +153 161 177 +209 73 81 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/zapdos.pal b/graphics/object_events/palettes/followers/zapdos.pal new file mode 100644 index 000000000..037f1b687 --- /dev/null +++ b/graphics/object_events/palettes/followers/zapdos.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +185 121 1 +1 1 1 +65 65 65 +249 209 1 +225 169 25 +177 177 209 +161 113 73 +57 41 25 +233 233 249 +225 145 73 +249 217 65 +89 81 65 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/followers/zigzagoon.pal b/graphics/object_events/palettes/followers/zigzagoon.pal new file mode 100644 index 000000000..a2d068ced --- /dev/null +++ b/graphics/object_events/palettes/followers/zigzagoon.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +177 129 89 +89 73 33 +169 185 209 +1 1 1 +41 33 25 +65 73 81 +121 129 145 +153 97 57 +233 233 249 +217 209 153 +73 49 25 +201 177 121 +121 73 41 +153 137 89 +65 49 41 diff --git a/graphics/object_events/palettes/followers/zubat.pal b/graphics/object_events/palettes/followers/zubat.pal new file mode 100644 index 000000000..548a44a6a --- /dev/null +++ b/graphics/object_events/palettes/followers/zubat.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +161 177 129 +65 113 121 +1 1 1 +97 65 129 +137 97 185 +81 185 177 +17 57 65 +161 129 177 +185 185 193 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/friend_ball.pal b/graphics/object_events/palettes/friend_ball.pal new file mode 100644 index 000000000..a155698a8 --- /dev/null +++ b/graphics/object_events/palettes/friend_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +107 149 43 +157 157 189 +45 75 1 +249 249 249 +75 75 123 +141 199 57 +1 1 1 +195 79 61 +209 123 109 +247 223 17 +205 205 223 +255 255 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/great_ball.pal b/graphics/object_events/palettes/great_ball.pal new file mode 100644 index 000000000..552f0b9e8 --- /dev/null +++ b/graphics/object_events/palettes/great_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +157 157 189 +75 75 123 +249 249 249 +155 43 37 +1 1 1 +55 65 169 +5 1 77 +255 255 255 +205 205 223 +87 97 201 +207 57 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/heal_ball.pal b/graphics/object_events/palettes/heal_ball.pal new file mode 100644 index 000000000..f5b6713c1 --- /dev/null +++ b/graphics/object_events/palettes/heal_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +129 47 107 +253 237 225 +87 135 201 +249 199 167 +245 41 189 +249 249 249 +249 103 209 +193 185 209 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/heavy_ball.pal b/graphics/object_events/palettes/heavy_ball.pal new file mode 100644 index 000000000..2c8781c6b --- /dev/null +++ b/graphics/object_events/palettes/heavy_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +95 133 225 +27 53 115 +1 1 1 +69 65 59 +205 205 223 +39 93 217 +249 249 249 +47 47 47 +157 157 189 +105 97 87 +75 75 123 +255 255 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/level_ball.pal b/graphics/object_events/palettes/level_ball.pal new file mode 100644 index 000000000..80e49c9cc --- /dev/null +++ b/graphics/object_events/palettes/level_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +233 131 119 +69 65 59 +1 1 1 +105 97 87 +205 205 223 +157 157 189 +215 119 41 +249 249 249 +47 47 47 +225 79 63 +75 75 123 +225 153 95 +255 255 255 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/love_ball.pal b/graphics/object_events/palettes/love_ball.pal new file mode 100644 index 000000000..e8e8e8a0d --- /dev/null +++ b/graphics/object_events/palettes/love_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +157 157 189 +1 1 1 +75 75 123 +205 205 223 +255 191 229 +159 65 129 +249 249 249 +93 1 63 +255 129 201 +191 97 161 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/lure_ball.pal b/graphics/object_events/palettes/lure_ball.pal new file mode 100644 index 000000000..e156e3232 --- /dev/null +++ b/graphics/object_events/palettes/lure_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +43 153 213 +75 75 123 +205 205 223 +207 49 69 +1 1 1 +219 101 115 +249 249 249 +1 53 81 +33 115 159 +157 157 189 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/luxury_ball.pal b/graphics/object_events/palettes/luxury_ball.pal new file mode 100644 index 000000000..319242f49 --- /dev/null +++ b/graphics/object_events/palettes/luxury_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +249 231 71 +69 65 59 +177 63 33 +107 31 13 +215 75 41 +47 47 47 +105 97 87 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/master_ball.pal b/graphics/object_events/palettes/master_ball.pal new file mode 100644 index 000000000..72ac65599 --- /dev/null +++ b/graphics/object_events/palettes/master_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +157 157 189 +191 1 159 +249 249 249 +75 75 123 +205 205 223 +117 49 207 +63 41 95 +1 1 1 +151 101 219 +255 1 211 +217 201 241 +255 255 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/moon_ball.pal b/graphics/object_events/palettes/moon_ball.pal new file mode 100644 index 000000000..ac8987a4c --- /dev/null +++ b/graphics/object_events/palettes/moon_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +245 193 11 +21 181 235 +93 71 1 +249 249 249 +157 157 189 +1 85 111 +101 119 155 +1 1 1 +41 51 71 +205 205 223 +249 209 71 +75 75 123 +81 201 239 +75 89 117 +255 255 255 diff --git a/graphics/object_events/palettes/nest_ball.pal b/graphics/object_events/palettes/nest_ball.pal new file mode 100644 index 000000000..0f868af50 --- /dev/null +++ b/graphics/object_events/palettes/nest_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +89 133 59 +157 157 189 +249 249 249 +211 211 75 +75 75 123 +1 1 1 +47 77 27 +119 177 79 +205 205 223 +225 225 127 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/net_ball.pal b/graphics/object_events/palettes/net_ball.pal new file mode 100644 index 000000000..d14a3f13f --- /dev/null +++ b/graphics/object_events/palettes/net_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +49 131 143 +1 1 1 +17 57 63 +65 175 191 +205 205 223 +75 75 123 +105 97 87 +249 249 249 +157 157 189 +193 185 209 +69 65 59 +255 255 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/park_ball.pal b/graphics/object_events/palettes/park_ball.pal new file mode 100644 index 000000000..00d4cf5ad --- /dev/null +++ b/graphics/object_events/palettes/park_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +235 193 21 +97 77 3 +75 75 123 +205 205 223 +249 249 249 +249 137 49 +241 209 79 +41 105 201 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/premier_ball.pal b/graphics/object_events/palettes/premier_ball.pal new file mode 100644 index 000000000..f871d2bdd --- /dev/null +++ b/graphics/object_events/palettes/premier_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +51 49 49 +223 223 223 +155 43 37 +191 191 191 +249 249 249 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/quick_ball.pal b/graphics/object_events/palettes/quick_ball.pal new file mode 100644 index 000000000..28ce5c50b --- /dev/null +++ b/graphics/object_events/palettes/quick_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +191 191 1 +41 141 215 +1 1 1 +157 157 189 +35 75 107 +255 255 1 +95 169 225 +249 249 249 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/repeat_ball.pal b/graphics/object_events/palettes/repeat_ball.pal new file mode 100644 index 000000000..641e5fb81 --- /dev/null +++ b/graphics/object_events/palettes/repeat_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +241 149 79 +157 157 189 +69 65 59 +249 249 249 +105 97 87 +213 171 43 +1 1 1 +107 53 11 +235 113 21 +205 205 223 +223 191 97 +75 75 123 +255 255 255 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/safari_ball.pal b/graphics/object_events/palettes/safari_ball.pal new file mode 100644 index 000000000..4f7ae21c2 --- /dev/null +++ b/graphics/object_events/palettes/safari_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +63 131 63 +157 157 189 +249 249 249 +1 1 1 +75 75 123 +245 159 105 +249 197 167 +17 55 17 +83 173 83 +205 205 223 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/sport_ball.pal b/graphics/object_events/palettes/sport_ball.pal new file mode 100644 index 000000000..a107ed002 --- /dev/null +++ b/graphics/object_events/palettes/sport_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +213 171 43 +157 157 189 +193 63 31 +249 249 249 +1 1 1 +75 75 123 +83 21 7 +223 191 97 +205 205 223 +225 95 63 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/ss_tidal.pal b/graphics/object_events/palettes/ss_tidal.pal index 5e68e105d..05eef587a 100644 --- a/graphics/object_events/palettes/ss_tidal.pal +++ b/graphics/object_events/palettes/ss_tidal.pal @@ -14,6 +14,6 @@ JASC-PAL 0 0 0 197 148 0 246 213 24 -0 0 0 -0 0 0 +255 255 255 +74 180 230 74 106 139 diff --git a/graphics/object_events/palettes/submarine_shadow.pal b/graphics/object_events/palettes/submarine_shadow.pal deleted file mode 100644 index fe4c1c112..000000000 --- a/graphics/object_events/palettes/submarine_shadow.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 123 197 -255 255 255 -222 230 238 -189 205 230 -156 164 189 -139 139 156 -98 98 123 -65 74 106 -197 98 98 -172 65 106 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -74 180 230 diff --git a/graphics/object_events/palettes/timer_ball.pal b/graphics/object_events/palettes/timer_ball.pal new file mode 100644 index 000000000..e4c93a648 --- /dev/null +++ b/graphics/object_events/palettes/timer_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +157 157 189 +69 65 59 +249 249 249 +105 97 87 +1 1 1 +105 33 17 +75 75 123 +193 185 209 +215 75 41 +225 121 95 +47 47 47 +205 205 223 +255 255 255 +0 0 0 +0 0 0 diff --git a/graphics/object_events/palettes/ultra_ball.pal b/graphics/object_events/palettes/ultra_ball.pal new file mode 100644 index 000000000..253c8a380 --- /dev/null +++ b/graphics/object_events/palettes/ultra_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 165 +217 139 7 +157 157 189 +69 65 59 +249 249 249 +1 1 1 +75 75 123 +47 47 47 +249 171 39 +205 205 223 +105 97 87 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/object_events/pics/misc/cherish_ball.png b/graphics/object_events/pics/misc/cherish_ball.png new file mode 100644 index 000000000..ebb64441c Binary files /dev/null and b/graphics/object_events/pics/misc/cherish_ball.png differ diff --git a/graphics/object_events/pics/misc/dive_ball.png b/graphics/object_events/pics/misc/dive_ball.png new file mode 100644 index 000000000..54b5557c2 Binary files /dev/null and b/graphics/object_events/pics/misc/dive_ball.png differ diff --git a/graphics/object_events/pics/misc/dream_ball.png b/graphics/object_events/pics/misc/dream_ball.png new file mode 100644 index 000000000..9ba9da213 Binary files /dev/null and b/graphics/object_events/pics/misc/dream_ball.png differ diff --git a/graphics/object_events/pics/misc/dusk_ball.png b/graphics/object_events/pics/misc/dusk_ball.png new file mode 100644 index 000000000..70bfbf9ae Binary files /dev/null and b/graphics/object_events/pics/misc/dusk_ball.png differ diff --git a/graphics/object_events/pics/misc/fast_ball.png b/graphics/object_events/pics/misc/fast_ball.png new file mode 100644 index 000000000..198542370 Binary files /dev/null and b/graphics/object_events/pics/misc/fast_ball.png differ diff --git a/graphics/object_events/pics/misc/friend_ball.png b/graphics/object_events/pics/misc/friend_ball.png new file mode 100644 index 000000000..4d950623e Binary files /dev/null and b/graphics/object_events/pics/misc/friend_ball.png differ diff --git a/graphics/object_events/pics/misc/great_ball.png b/graphics/object_events/pics/misc/great_ball.png new file mode 100644 index 000000000..c7e885777 Binary files /dev/null and b/graphics/object_events/pics/misc/great_ball.png differ diff --git a/graphics/object_events/pics/misc/heal_ball.png b/graphics/object_events/pics/misc/heal_ball.png new file mode 100644 index 000000000..127deecf9 Binary files /dev/null and b/graphics/object_events/pics/misc/heal_ball.png differ diff --git a/graphics/object_events/pics/misc/heavy_ball.png b/graphics/object_events/pics/misc/heavy_ball.png new file mode 100644 index 000000000..e866a3edf Binary files /dev/null and b/graphics/object_events/pics/misc/heavy_ball.png differ diff --git a/graphics/object_events/pics/misc/level_ball.png b/graphics/object_events/pics/misc/level_ball.png new file mode 100644 index 000000000..e873bc17c Binary files /dev/null and b/graphics/object_events/pics/misc/level_ball.png differ diff --git a/graphics/object_events/pics/misc/love_ball.png b/graphics/object_events/pics/misc/love_ball.png new file mode 100644 index 000000000..a37c20132 Binary files /dev/null and b/graphics/object_events/pics/misc/love_ball.png differ diff --git a/graphics/object_events/pics/misc/lure_ball.png b/graphics/object_events/pics/misc/lure_ball.png new file mode 100644 index 000000000..718a1c2f7 Binary files /dev/null and b/graphics/object_events/pics/misc/lure_ball.png differ diff --git a/graphics/object_events/pics/misc/luxury_ball.png b/graphics/object_events/pics/misc/luxury_ball.png new file mode 100644 index 000000000..b1f126819 Binary files /dev/null and b/graphics/object_events/pics/misc/luxury_ball.png differ diff --git a/graphics/object_events/pics/misc/master_ball.png b/graphics/object_events/pics/misc/master_ball.png new file mode 100644 index 000000000..cb76bf851 Binary files /dev/null and b/graphics/object_events/pics/misc/master_ball.png differ diff --git a/graphics/object_events/pics/misc/moon_ball.png b/graphics/object_events/pics/misc/moon_ball.png new file mode 100644 index 000000000..13b8c195c Binary files /dev/null and b/graphics/object_events/pics/misc/moon_ball.png differ diff --git a/graphics/object_events/pics/misc/nest_ball.png b/graphics/object_events/pics/misc/nest_ball.png new file mode 100644 index 000000000..88f36f8b6 Binary files /dev/null and b/graphics/object_events/pics/misc/nest_ball.png differ diff --git a/graphics/object_events/pics/misc/net_ball.png b/graphics/object_events/pics/misc/net_ball.png new file mode 100644 index 000000000..65c302d72 Binary files /dev/null and b/graphics/object_events/pics/misc/net_ball.png differ diff --git a/graphics/object_events/pics/misc/park_ball.png b/graphics/object_events/pics/misc/park_ball.png new file mode 100644 index 000000000..965d2a5df Binary files /dev/null and b/graphics/object_events/pics/misc/park_ball.png differ diff --git a/graphics/object_events/pics/misc/premier_ball.png b/graphics/object_events/pics/misc/premier_ball.png new file mode 100644 index 000000000..cb007754e Binary files /dev/null and b/graphics/object_events/pics/misc/premier_ball.png differ diff --git a/graphics/object_events/pics/misc/quick_ball.png b/graphics/object_events/pics/misc/quick_ball.png new file mode 100644 index 000000000..a4fddcc13 Binary files /dev/null and b/graphics/object_events/pics/misc/quick_ball.png differ diff --git a/graphics/object_events/pics/misc/repeat_ball.png b/graphics/object_events/pics/misc/repeat_ball.png new file mode 100644 index 000000000..98f84b22f Binary files /dev/null and b/graphics/object_events/pics/misc/repeat_ball.png differ diff --git a/graphics/object_events/pics/misc/safari_ball.png b/graphics/object_events/pics/misc/safari_ball.png new file mode 100644 index 000000000..0663ccb25 Binary files /dev/null and b/graphics/object_events/pics/misc/safari_ball.png differ diff --git a/graphics/object_events/pics/misc/sport_ball.png b/graphics/object_events/pics/misc/sport_ball.png new file mode 100644 index 000000000..d50da2e51 Binary files /dev/null and b/graphics/object_events/pics/misc/sport_ball.png differ diff --git a/graphics/object_events/pics/misc/ss_tidal.png b/graphics/object_events/pics/misc/ss_tidal.png index 44510d25a..d4918e06c 100644 Binary files a/graphics/object_events/pics/misc/ss_tidal.png and b/graphics/object_events/pics/misc/ss_tidal.png differ diff --git a/graphics/object_events/pics/misc/submarine_shadow.png b/graphics/object_events/pics/misc/submarine_shadow.png index d43bc98dc..847a353db 100644 Binary files a/graphics/object_events/pics/misc/submarine_shadow.png and b/graphics/object_events/pics/misc/submarine_shadow.png differ diff --git a/graphics/object_events/pics/misc/timer_ball.png b/graphics/object_events/pics/misc/timer_ball.png new file mode 100644 index 000000000..6037bc29c Binary files /dev/null and b/graphics/object_events/pics/misc/timer_ball.png differ diff --git a/graphics/object_events/pics/misc/ultra_ball.png b/graphics/object_events/pics/misc/ultra_ball.png new file mode 100644 index 000000000..6e20e316e Binary files /dev/null and b/graphics/object_events/pics/misc/ultra_ball.png differ diff --git a/graphics/object_events/pics/pokemon/followers/abra.png b/graphics/object_events/pics/pokemon/followers/abra.png new file mode 100644 index 000000000..127d6fc2c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/abra.png differ diff --git a/graphics/object_events/pics/pokemon/followers/absol.png b/graphics/object_events/pics/pokemon/followers/absol.png new file mode 100644 index 000000000..253abb934 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/absol.png differ diff --git a/graphics/object_events/pics/pokemon/followers/aerodactyl.png b/graphics/object_events/pics/pokemon/followers/aerodactyl.png new file mode 100644 index 000000000..54d73ad71 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/aerodactyl.png differ diff --git a/graphics/object_events/pics/pokemon/followers/aggron.png b/graphics/object_events/pics/pokemon/followers/aggron.png new file mode 100644 index 000000000..1a72691c9 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/aggron.png differ diff --git a/graphics/object_events/pics/pokemon/followers/aipom.png b/graphics/object_events/pics/pokemon/followers/aipom.png new file mode 100644 index 000000000..76dd6b92b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/aipom.png differ diff --git a/graphics/object_events/pics/pokemon/followers/alakazam.png b/graphics/object_events/pics/pokemon/followers/alakazam.png new file mode 100644 index 000000000..ac1d8a91c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/alakazam.png differ diff --git a/graphics/object_events/pics/pokemon/followers/altaria.png b/graphics/object_events/pics/pokemon/followers/altaria.png new file mode 100644 index 000000000..7d57e815c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/altaria.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ampharos.png b/graphics/object_events/pics/pokemon/followers/ampharos.png new file mode 100644 index 000000000..8fbb26f04 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ampharos.png differ diff --git a/graphics/object_events/pics/pokemon/followers/anorith.png b/graphics/object_events/pics/pokemon/followers/anorith.png new file mode 100644 index 000000000..62e93257e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/anorith.png differ diff --git a/graphics/object_events/pics/pokemon/followers/arbok.png b/graphics/object_events/pics/pokemon/followers/arbok.png new file mode 100644 index 000000000..38bf6ca41 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/arbok.png differ diff --git a/graphics/object_events/pics/pokemon/followers/arcanine.png b/graphics/object_events/pics/pokemon/followers/arcanine.png new file mode 100644 index 000000000..696ba9eff Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/arcanine.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ariados.png b/graphics/object_events/pics/pokemon/followers/ariados.png new file mode 100644 index 000000000..6a6431a13 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ariados.png differ diff --git a/graphics/object_events/pics/pokemon/followers/armaldo.png b/graphics/object_events/pics/pokemon/followers/armaldo.png new file mode 100644 index 000000000..0ba9f344e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/armaldo.png differ diff --git a/graphics/object_events/pics/pokemon/followers/aron.png b/graphics/object_events/pics/pokemon/followers/aron.png new file mode 100644 index 000000000..21520d256 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/aron.png differ diff --git a/graphics/object_events/pics/pokemon/followers/articuno.png b/graphics/object_events/pics/pokemon/followers/articuno.png new file mode 100644 index 000000000..da3cc960e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/articuno.png differ diff --git a/graphics/object_events/pics/pokemon/followers/azumarill.png b/graphics/object_events/pics/pokemon/followers/azumarill.png new file mode 100644 index 000000000..2852aca5b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/azumarill.png differ diff --git a/graphics/object_events/pics/pokemon/followers/azurill.png b/graphics/object_events/pics/pokemon/followers/azurill.png new file mode 100644 index 000000000..e77fda7e8 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/azurill.png differ diff --git a/graphics/object_events/pics/pokemon/followers/bagon.png b/graphics/object_events/pics/pokemon/followers/bagon.png new file mode 100644 index 000000000..bb4964436 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/bagon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/baltoy.png b/graphics/object_events/pics/pokemon/followers/baltoy.png new file mode 100644 index 000000000..acad0a1c4 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/baltoy.png differ diff --git a/graphics/object_events/pics/pokemon/followers/banette.png b/graphics/object_events/pics/pokemon/followers/banette.png new file mode 100644 index 000000000..d2b71f79a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/banette.png differ diff --git a/graphics/object_events/pics/pokemon/followers/barboach.png b/graphics/object_events/pics/pokemon/followers/barboach.png new file mode 100644 index 000000000..710fe09e5 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/barboach.png differ diff --git a/graphics/object_events/pics/pokemon/followers/bayleef.png b/graphics/object_events/pics/pokemon/followers/bayleef.png new file mode 100644 index 000000000..5d1fa7bd2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/bayleef.png differ diff --git a/graphics/object_events/pics/pokemon/followers/beautifly.png b/graphics/object_events/pics/pokemon/followers/beautifly.png new file mode 100644 index 000000000..33e2eccef Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/beautifly.png differ diff --git a/graphics/object_events/pics/pokemon/followers/beedrill.png b/graphics/object_events/pics/pokemon/followers/beedrill.png new file mode 100644 index 000000000..d2f4c9b53 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/beedrill.png differ diff --git a/graphics/object_events/pics/pokemon/followers/beldum.png b/graphics/object_events/pics/pokemon/followers/beldum.png new file mode 100644 index 000000000..c0662fc9a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/beldum.png differ diff --git a/graphics/object_events/pics/pokemon/followers/bellossom.png b/graphics/object_events/pics/pokemon/followers/bellossom.png new file mode 100644 index 000000000..bd2232f01 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/bellossom.png differ diff --git a/graphics/object_events/pics/pokemon/followers/bellsprout.png b/graphics/object_events/pics/pokemon/followers/bellsprout.png new file mode 100644 index 000000000..c61f4a5f3 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/bellsprout.png differ diff --git a/graphics/object_events/pics/pokemon/followers/blastoise.png b/graphics/object_events/pics/pokemon/followers/blastoise.png new file mode 100644 index 000000000..018f03869 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/blastoise.png differ diff --git a/graphics/object_events/pics/pokemon/followers/blaziken.png b/graphics/object_events/pics/pokemon/followers/blaziken.png new file mode 100644 index 000000000..7c49d9dcf Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/blaziken.png differ diff --git a/graphics/object_events/pics/pokemon/followers/blissey.png b/graphics/object_events/pics/pokemon/followers/blissey.png new file mode 100644 index 000000000..ba65960e2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/blissey.png differ diff --git a/graphics/object_events/pics/pokemon/followers/breloom.png b/graphics/object_events/pics/pokemon/followers/breloom.png new file mode 100644 index 000000000..a133c90b6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/breloom.png differ diff --git a/graphics/object_events/pics/pokemon/followers/bulbasaur.png b/graphics/object_events/pics/pokemon/followers/bulbasaur.png new file mode 100644 index 000000000..095992425 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/bulbasaur.png differ diff --git a/graphics/object_events/pics/pokemon/followers/butterfree.png b/graphics/object_events/pics/pokemon/followers/butterfree.png new file mode 100644 index 000000000..1d19c4f9f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/butterfree.png differ diff --git a/graphics/object_events/pics/pokemon/followers/cacnea.png b/graphics/object_events/pics/pokemon/followers/cacnea.png new file mode 100644 index 000000000..58559c41b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/cacnea.png differ diff --git a/graphics/object_events/pics/pokemon/followers/cacturne.png b/graphics/object_events/pics/pokemon/followers/cacturne.png new file mode 100644 index 000000000..400516668 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/cacturne.png differ diff --git a/graphics/object_events/pics/pokemon/followers/camerupt.png b/graphics/object_events/pics/pokemon/followers/camerupt.png new file mode 100644 index 000000000..89db8f6b8 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/camerupt.png differ diff --git a/graphics/object_events/pics/pokemon/followers/carvanha.png b/graphics/object_events/pics/pokemon/followers/carvanha.png new file mode 100644 index 000000000..ceba6596d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/carvanha.png differ diff --git a/graphics/object_events/pics/pokemon/followers/cascoon.png b/graphics/object_events/pics/pokemon/followers/cascoon.png new file mode 100644 index 000000000..b2fa8c1a2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/cascoon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/castform.png b/graphics/object_events/pics/pokemon/followers/castform.png new file mode 100644 index 000000000..9d473a116 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/castform.png differ diff --git a/graphics/object_events/pics/pokemon/followers/caterpie.png b/graphics/object_events/pics/pokemon/followers/caterpie.png new file mode 100644 index 000000000..af99246e6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/caterpie.png differ diff --git a/graphics/object_events/pics/pokemon/followers/celebi.png b/graphics/object_events/pics/pokemon/followers/celebi.png new file mode 100644 index 000000000..faec94798 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/celebi.png differ diff --git a/graphics/object_events/pics/pokemon/followers/chansey.png b/graphics/object_events/pics/pokemon/followers/chansey.png new file mode 100644 index 000000000..60b0babe5 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/chansey.png differ diff --git a/graphics/object_events/pics/pokemon/followers/charizard.png b/graphics/object_events/pics/pokemon/followers/charizard.png new file mode 100644 index 000000000..d435a4f3f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/charizard.png differ diff --git a/graphics/object_events/pics/pokemon/followers/charmander.png b/graphics/object_events/pics/pokemon/followers/charmander.png new file mode 100644 index 000000000..7634ecdab Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/charmander.png differ diff --git a/graphics/object_events/pics/pokemon/followers/charmeleon.png b/graphics/object_events/pics/pokemon/followers/charmeleon.png new file mode 100644 index 000000000..c2b311e77 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/charmeleon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/chikorita.png b/graphics/object_events/pics/pokemon/followers/chikorita.png new file mode 100644 index 000000000..d3f52de0b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/chikorita.png differ diff --git a/graphics/object_events/pics/pokemon/followers/chimecho.png b/graphics/object_events/pics/pokemon/followers/chimecho.png new file mode 100644 index 000000000..336a5656d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/chimecho.png differ diff --git a/graphics/object_events/pics/pokemon/followers/chinchou.png b/graphics/object_events/pics/pokemon/followers/chinchou.png new file mode 100644 index 000000000..abf39ef13 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/chinchou.png differ diff --git a/graphics/object_events/pics/pokemon/followers/clamperl.png b/graphics/object_events/pics/pokemon/followers/clamperl.png new file mode 100644 index 000000000..a5addc63e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/clamperl.png differ diff --git a/graphics/object_events/pics/pokemon/followers/claydol.png b/graphics/object_events/pics/pokemon/followers/claydol.png new file mode 100644 index 000000000..45cb9b9f0 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/claydol.png differ diff --git a/graphics/object_events/pics/pokemon/followers/clefable.png b/graphics/object_events/pics/pokemon/followers/clefable.png new file mode 100644 index 000000000..7c7fa0cc2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/clefable.png differ diff --git a/graphics/object_events/pics/pokemon/followers/clefairy.png b/graphics/object_events/pics/pokemon/followers/clefairy.png new file mode 100644 index 000000000..3ffd61f67 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/clefairy.png differ diff --git a/graphics/object_events/pics/pokemon/followers/cleffa.png b/graphics/object_events/pics/pokemon/followers/cleffa.png new file mode 100644 index 000000000..21a8253bc Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/cleffa.png differ diff --git a/graphics/object_events/pics/pokemon/followers/cloyster.png b/graphics/object_events/pics/pokemon/followers/cloyster.png new file mode 100644 index 000000000..4515f8a21 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/cloyster.png differ diff --git a/graphics/object_events/pics/pokemon/followers/combusken.png b/graphics/object_events/pics/pokemon/followers/combusken.png new file mode 100644 index 000000000..161b3c541 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/combusken.png differ diff --git a/graphics/object_events/pics/pokemon/followers/corphish.png b/graphics/object_events/pics/pokemon/followers/corphish.png new file mode 100644 index 000000000..00c485b72 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/corphish.png differ diff --git a/graphics/object_events/pics/pokemon/followers/corsola.png b/graphics/object_events/pics/pokemon/followers/corsola.png new file mode 100644 index 000000000..62c09dd48 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/corsola.png differ diff --git a/graphics/object_events/pics/pokemon/followers/cradily.png b/graphics/object_events/pics/pokemon/followers/cradily.png new file mode 100644 index 000000000..e53d6af1c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/cradily.png differ diff --git a/graphics/object_events/pics/pokemon/followers/crawdaunt.png b/graphics/object_events/pics/pokemon/followers/crawdaunt.png new file mode 100644 index 000000000..df86b8aba Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/crawdaunt.png differ diff --git a/graphics/object_events/pics/pokemon/followers/crobat.png b/graphics/object_events/pics/pokemon/followers/crobat.png new file mode 100644 index 000000000..214a0be7e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/crobat.png differ diff --git a/graphics/object_events/pics/pokemon/followers/croconaw.png b/graphics/object_events/pics/pokemon/followers/croconaw.png new file mode 100644 index 000000000..0d8e05efa Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/croconaw.png differ diff --git a/graphics/object_events/pics/pokemon/followers/cubone.png b/graphics/object_events/pics/pokemon/followers/cubone.png new file mode 100644 index 000000000..8cd726d62 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/cubone.png differ diff --git a/graphics/object_events/pics/pokemon/followers/cyndaquil.png b/graphics/object_events/pics/pokemon/followers/cyndaquil.png new file mode 100644 index 000000000..df71eedac Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/cyndaquil.png differ diff --git a/graphics/object_events/pics/pokemon/followers/delcatty.png b/graphics/object_events/pics/pokemon/followers/delcatty.png new file mode 100644 index 000000000..9896fa836 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/delcatty.png differ diff --git a/graphics/object_events/pics/pokemon/followers/delibird.png b/graphics/object_events/pics/pokemon/followers/delibird.png new file mode 100644 index 000000000..ce37055ba Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/delibird.png differ diff --git a/graphics/object_events/pics/pokemon/followers/deoxys_attack.png b/graphics/object_events/pics/pokemon/followers/deoxys_attack.png new file mode 100644 index 000000000..92b16a9f6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/deoxys_attack.png differ diff --git a/graphics/object_events/pics/pokemon/followers/deoxys_defense.png b/graphics/object_events/pics/pokemon/followers/deoxys_defense.png new file mode 100644 index 000000000..18b24d75c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/deoxys_defense.png differ diff --git a/graphics/object_events/pics/pokemon/followers/deoxys_normal.png b/graphics/object_events/pics/pokemon/followers/deoxys_normal.png new file mode 100644 index 000000000..000d6ec50 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/deoxys_normal.png differ diff --git a/graphics/object_events/pics/pokemon/followers/deoxys_speed.png b/graphics/object_events/pics/pokemon/followers/deoxys_speed.png new file mode 100644 index 000000000..01817fbe8 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/deoxys_speed.png differ diff --git a/graphics/object_events/pics/pokemon/followers/dewgong.png b/graphics/object_events/pics/pokemon/followers/dewgong.png new file mode 100644 index 000000000..64a8502a1 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/dewgong.png differ diff --git a/graphics/object_events/pics/pokemon/followers/diglett.png b/graphics/object_events/pics/pokemon/followers/diglett.png new file mode 100644 index 000000000..958ca3dac Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/diglett.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ditto.png b/graphics/object_events/pics/pokemon/followers/ditto.png new file mode 100644 index 000000000..9ca120053 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ditto.png differ diff --git a/graphics/object_events/pics/pokemon/followers/dodrio.png b/graphics/object_events/pics/pokemon/followers/dodrio.png new file mode 100644 index 000000000..c25503d7d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/dodrio.png differ diff --git a/graphics/object_events/pics/pokemon/followers/doduo.png b/graphics/object_events/pics/pokemon/followers/doduo.png new file mode 100644 index 000000000..68663e4d2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/doduo.png differ diff --git a/graphics/object_events/pics/pokemon/followers/donphan.png b/graphics/object_events/pics/pokemon/followers/donphan.png new file mode 100644 index 000000000..c585893cf Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/donphan.png differ diff --git a/graphics/object_events/pics/pokemon/followers/dragonair.png b/graphics/object_events/pics/pokemon/followers/dragonair.png new file mode 100644 index 000000000..01c13c028 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/dragonair.png differ diff --git a/graphics/object_events/pics/pokemon/followers/dragonite.png b/graphics/object_events/pics/pokemon/followers/dragonite.png new file mode 100644 index 000000000..aedbf448f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/dragonite.png differ diff --git a/graphics/object_events/pics/pokemon/followers/dratini.png b/graphics/object_events/pics/pokemon/followers/dratini.png new file mode 100644 index 000000000..1ab1aa034 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/dratini.png differ diff --git a/graphics/object_events/pics/pokemon/followers/drowzee.png b/graphics/object_events/pics/pokemon/followers/drowzee.png new file mode 100644 index 000000000..1e73cbebb Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/drowzee.png differ diff --git a/graphics/object_events/pics/pokemon/followers/dugtrio.png b/graphics/object_events/pics/pokemon/followers/dugtrio.png new file mode 100644 index 000000000..b60c3fb73 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/dugtrio.png differ diff --git a/graphics/object_events/pics/pokemon/followers/dunsparce.png b/graphics/object_events/pics/pokemon/followers/dunsparce.png new file mode 100644 index 000000000..2a886d622 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/dunsparce.png differ diff --git a/graphics/object_events/pics/pokemon/followers/dusclops.png b/graphics/object_events/pics/pokemon/followers/dusclops.png new file mode 100644 index 000000000..472bffdaf Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/dusclops.png differ diff --git a/graphics/object_events/pics/pokemon/followers/duskull.png b/graphics/object_events/pics/pokemon/followers/duskull.png new file mode 100644 index 000000000..faeed6a20 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/duskull.png differ diff --git a/graphics/object_events/pics/pokemon/followers/dustox.png b/graphics/object_events/pics/pokemon/followers/dustox.png new file mode 100644 index 000000000..b46a878e6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/dustox.png differ diff --git a/graphics/object_events/pics/pokemon/followers/eevee.png b/graphics/object_events/pics/pokemon/followers/eevee.png new file mode 100644 index 000000000..6f69d899a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/eevee.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ekans.png b/graphics/object_events/pics/pokemon/followers/ekans.png new file mode 100644 index 000000000..dc315987a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ekans.png differ diff --git a/graphics/object_events/pics/pokemon/followers/electabuzz.png b/graphics/object_events/pics/pokemon/followers/electabuzz.png new file mode 100644 index 000000000..0baa0f144 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/electabuzz.png differ diff --git a/graphics/object_events/pics/pokemon/followers/electrike.png b/graphics/object_events/pics/pokemon/followers/electrike.png new file mode 100644 index 000000000..e0c1b95f1 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/electrike.png differ diff --git a/graphics/object_events/pics/pokemon/followers/electrode.png b/graphics/object_events/pics/pokemon/followers/electrode.png new file mode 100644 index 000000000..eea8ed02c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/electrode.png differ diff --git a/graphics/object_events/pics/pokemon/followers/elekid.png b/graphics/object_events/pics/pokemon/followers/elekid.png new file mode 100644 index 000000000..e655f8d99 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/elekid.png differ diff --git a/graphics/object_events/pics/pokemon/followers/entei.png b/graphics/object_events/pics/pokemon/followers/entei.png new file mode 100644 index 000000000..5ce920b92 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/entei.png differ diff --git a/graphics/object_events/pics/pokemon/followers/espeon.png b/graphics/object_events/pics/pokemon/followers/espeon.png new file mode 100644 index 000000000..7d2fd7f5d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/espeon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/exeggcute.png b/graphics/object_events/pics/pokemon/followers/exeggcute.png new file mode 100644 index 000000000..6993ee3f3 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/exeggcute.png differ diff --git a/graphics/object_events/pics/pokemon/followers/exeggutor.png b/graphics/object_events/pics/pokemon/followers/exeggutor.png new file mode 100644 index 000000000..22a94424b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/exeggutor.png differ diff --git a/graphics/object_events/pics/pokemon/followers/exploud.png b/graphics/object_events/pics/pokemon/followers/exploud.png new file mode 100644 index 000000000..fe13983e1 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/exploud.png differ diff --git a/graphics/object_events/pics/pokemon/followers/farfetchd.png b/graphics/object_events/pics/pokemon/followers/farfetchd.png new file mode 100644 index 000000000..d4eb66b53 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/farfetchd.png differ diff --git a/graphics/object_events/pics/pokemon/followers/fearow.png b/graphics/object_events/pics/pokemon/followers/fearow.png new file mode 100644 index 000000000..99508e3be Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/fearow.png differ diff --git a/graphics/object_events/pics/pokemon/followers/feebas.png b/graphics/object_events/pics/pokemon/followers/feebas.png new file mode 100644 index 000000000..0ccd33d43 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/feebas.png differ diff --git a/graphics/object_events/pics/pokemon/followers/feraligatr.png b/graphics/object_events/pics/pokemon/followers/feraligatr.png new file mode 100644 index 000000000..b685b622c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/feraligatr.png differ diff --git a/graphics/object_events/pics/pokemon/followers/flaaffy.png b/graphics/object_events/pics/pokemon/followers/flaaffy.png new file mode 100644 index 000000000..57e8ee502 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/flaaffy.png differ diff --git a/graphics/object_events/pics/pokemon/followers/flareon.png b/graphics/object_events/pics/pokemon/followers/flareon.png new file mode 100644 index 000000000..280b5f450 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/flareon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/flygon.png b/graphics/object_events/pics/pokemon/followers/flygon.png new file mode 100644 index 000000000..c10bcc0b3 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/flygon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/forretress.png b/graphics/object_events/pics/pokemon/followers/forretress.png new file mode 100644 index 000000000..286ecb983 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/forretress.png differ diff --git a/graphics/object_events/pics/pokemon/followers/furret.png b/graphics/object_events/pics/pokemon/followers/furret.png new file mode 100644 index 000000000..a2445adde Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/furret.png differ diff --git a/graphics/object_events/pics/pokemon/followers/gardevoir.png b/graphics/object_events/pics/pokemon/followers/gardevoir.png new file mode 100644 index 000000000..a1fcb56e4 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/gardevoir.png differ diff --git a/graphics/object_events/pics/pokemon/followers/gastly.png b/graphics/object_events/pics/pokemon/followers/gastly.png new file mode 100644 index 000000000..157f271be Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/gastly.png differ diff --git a/graphics/object_events/pics/pokemon/followers/gengar.png b/graphics/object_events/pics/pokemon/followers/gengar.png new file mode 100644 index 000000000..d061034a8 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/gengar.png differ diff --git a/graphics/object_events/pics/pokemon/followers/geodude.png b/graphics/object_events/pics/pokemon/followers/geodude.png new file mode 100644 index 000000000..5fe0ca9f7 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/geodude.png differ diff --git a/graphics/object_events/pics/pokemon/followers/girafarig.png b/graphics/object_events/pics/pokemon/followers/girafarig.png new file mode 100644 index 000000000..8dd1087aa Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/girafarig.png differ diff --git a/graphics/object_events/pics/pokemon/followers/glalie.png b/graphics/object_events/pics/pokemon/followers/glalie.png new file mode 100644 index 000000000..b2e15e52e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/glalie.png differ diff --git a/graphics/object_events/pics/pokemon/followers/gligar.png b/graphics/object_events/pics/pokemon/followers/gligar.png new file mode 100644 index 000000000..6d17b0e3a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/gligar.png differ diff --git a/graphics/object_events/pics/pokemon/followers/gloom.png b/graphics/object_events/pics/pokemon/followers/gloom.png new file mode 100644 index 000000000..410a1ec72 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/gloom.png differ diff --git a/graphics/object_events/pics/pokemon/followers/golbat.png b/graphics/object_events/pics/pokemon/followers/golbat.png new file mode 100644 index 000000000..4f756e920 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/golbat.png differ diff --git a/graphics/object_events/pics/pokemon/followers/goldeen.png b/graphics/object_events/pics/pokemon/followers/goldeen.png new file mode 100644 index 000000000..9400c02fe Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/goldeen.png differ diff --git a/graphics/object_events/pics/pokemon/followers/golduck.png b/graphics/object_events/pics/pokemon/followers/golduck.png new file mode 100644 index 000000000..a7ff8edaa Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/golduck.png differ diff --git a/graphics/object_events/pics/pokemon/followers/golem.png b/graphics/object_events/pics/pokemon/followers/golem.png new file mode 100644 index 000000000..20b619d6c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/golem.png differ diff --git a/graphics/object_events/pics/pokemon/followers/gorebyss.png b/graphics/object_events/pics/pokemon/followers/gorebyss.png new file mode 100644 index 000000000..08c8e2f59 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/gorebyss.png differ diff --git a/graphics/object_events/pics/pokemon/followers/granbull.png b/graphics/object_events/pics/pokemon/followers/granbull.png new file mode 100644 index 000000000..037d321f7 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/granbull.png differ diff --git a/graphics/object_events/pics/pokemon/followers/graveler.png b/graphics/object_events/pics/pokemon/followers/graveler.png new file mode 100644 index 000000000..767e6561c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/graveler.png differ diff --git a/graphics/object_events/pics/pokemon/followers/grimer.png b/graphics/object_events/pics/pokemon/followers/grimer.png new file mode 100644 index 000000000..be245e185 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/grimer.png differ diff --git a/graphics/object_events/pics/pokemon/followers/groudon.png b/graphics/object_events/pics/pokemon/followers/groudon.png new file mode 100644 index 000000000..242241c16 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/groudon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/grovyle.png b/graphics/object_events/pics/pokemon/followers/grovyle.png new file mode 100644 index 000000000..4b2a2df58 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/grovyle.png differ diff --git a/graphics/object_events/pics/pokemon/followers/growlithe.png b/graphics/object_events/pics/pokemon/followers/growlithe.png new file mode 100644 index 000000000..3848e8747 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/growlithe.png differ diff --git a/graphics/object_events/pics/pokemon/followers/grumpig.png b/graphics/object_events/pics/pokemon/followers/grumpig.png new file mode 100644 index 000000000..8f757d50c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/grumpig.png differ diff --git a/graphics/object_events/pics/pokemon/followers/gulpin.png b/graphics/object_events/pics/pokemon/followers/gulpin.png new file mode 100644 index 000000000..320f5fce9 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/gulpin.png differ diff --git a/graphics/object_events/pics/pokemon/followers/gyarados.png b/graphics/object_events/pics/pokemon/followers/gyarados.png new file mode 100644 index 000000000..33cb2b888 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/gyarados.png differ diff --git a/graphics/object_events/pics/pokemon/followers/hariyama.png b/graphics/object_events/pics/pokemon/followers/hariyama.png new file mode 100644 index 000000000..541c6a2f5 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/hariyama.png differ diff --git a/graphics/object_events/pics/pokemon/followers/haunter.png b/graphics/object_events/pics/pokemon/followers/haunter.png new file mode 100644 index 000000000..84df6caf2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/haunter.png differ diff --git a/graphics/object_events/pics/pokemon/followers/heracross.png b/graphics/object_events/pics/pokemon/followers/heracross.png new file mode 100644 index 000000000..3699497b4 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/heracross.png differ diff --git a/graphics/object_events/pics/pokemon/followers/hitmonchan.png b/graphics/object_events/pics/pokemon/followers/hitmonchan.png new file mode 100644 index 000000000..852fbad16 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/hitmonchan.png differ diff --git a/graphics/object_events/pics/pokemon/followers/hitmonlee.png b/graphics/object_events/pics/pokemon/followers/hitmonlee.png new file mode 100644 index 000000000..4d6ae60d1 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/hitmonlee.png differ diff --git a/graphics/object_events/pics/pokemon/followers/hitmontop.png b/graphics/object_events/pics/pokemon/followers/hitmontop.png new file mode 100644 index 000000000..9a64f87a5 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/hitmontop.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ho_oh.png b/graphics/object_events/pics/pokemon/followers/ho_oh.png new file mode 100644 index 000000000..714171a55 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ho_oh.png differ diff --git a/graphics/object_events/pics/pokemon/followers/hoothoot.png b/graphics/object_events/pics/pokemon/followers/hoothoot.png new file mode 100644 index 000000000..991e214d0 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/hoothoot.png differ diff --git a/graphics/object_events/pics/pokemon/followers/hoppip.png b/graphics/object_events/pics/pokemon/followers/hoppip.png new file mode 100644 index 000000000..90dc9f126 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/hoppip.png differ diff --git a/graphics/object_events/pics/pokemon/followers/horsea.png b/graphics/object_events/pics/pokemon/followers/horsea.png new file mode 100644 index 000000000..068020595 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/horsea.png differ diff --git a/graphics/object_events/pics/pokemon/followers/houndoom.png b/graphics/object_events/pics/pokemon/followers/houndoom.png new file mode 100644 index 000000000..a08a961ee Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/houndoom.png differ diff --git a/graphics/object_events/pics/pokemon/followers/houndour.png b/graphics/object_events/pics/pokemon/followers/houndour.png new file mode 100644 index 000000000..b01cd6e58 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/houndour.png differ diff --git a/graphics/object_events/pics/pokemon/followers/huntail.png b/graphics/object_events/pics/pokemon/followers/huntail.png new file mode 100644 index 000000000..9e09fc66e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/huntail.png differ diff --git a/graphics/object_events/pics/pokemon/followers/hypno.png b/graphics/object_events/pics/pokemon/followers/hypno.png new file mode 100644 index 000000000..1c2785eba Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/hypno.png differ diff --git a/graphics/object_events/pics/pokemon/followers/igglybuff.png b/graphics/object_events/pics/pokemon/followers/igglybuff.png new file mode 100644 index 000000000..915796964 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/igglybuff.png differ diff --git a/graphics/object_events/pics/pokemon/followers/illumise.png b/graphics/object_events/pics/pokemon/followers/illumise.png new file mode 100644 index 000000000..b48a801f2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/illumise.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ivysaur.png b/graphics/object_events/pics/pokemon/followers/ivysaur.png new file mode 100644 index 000000000..fda631a53 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ivysaur.png differ diff --git a/graphics/object_events/pics/pokemon/followers/jigglypuff.png b/graphics/object_events/pics/pokemon/followers/jigglypuff.png new file mode 100644 index 000000000..ea877a890 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/jigglypuff.png differ diff --git a/graphics/object_events/pics/pokemon/followers/jirachi.png b/graphics/object_events/pics/pokemon/followers/jirachi.png new file mode 100644 index 000000000..c47a1fe89 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/jirachi.png differ diff --git a/graphics/object_events/pics/pokemon/followers/jolteon.png b/graphics/object_events/pics/pokemon/followers/jolteon.png new file mode 100644 index 000000000..c75292549 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/jolteon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/jumpluff.png b/graphics/object_events/pics/pokemon/followers/jumpluff.png new file mode 100644 index 000000000..3755edb04 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/jumpluff.png differ diff --git a/graphics/object_events/pics/pokemon/followers/jynx.png b/graphics/object_events/pics/pokemon/followers/jynx.png new file mode 100644 index 000000000..e2c243069 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/jynx.png differ diff --git a/graphics/object_events/pics/pokemon/followers/kabuto.png b/graphics/object_events/pics/pokemon/followers/kabuto.png new file mode 100644 index 000000000..5eed0306d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/kabuto.png differ diff --git a/graphics/object_events/pics/pokemon/followers/kabutops.png b/graphics/object_events/pics/pokemon/followers/kabutops.png new file mode 100644 index 000000000..bb5c7b0e3 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/kabutops.png differ diff --git a/graphics/object_events/pics/pokemon/followers/kadabra.png b/graphics/object_events/pics/pokemon/followers/kadabra.png new file mode 100644 index 000000000..3c7bc84fc Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/kadabra.png differ diff --git a/graphics/object_events/pics/pokemon/followers/kakuna.png b/graphics/object_events/pics/pokemon/followers/kakuna.png new file mode 100644 index 000000000..734a19138 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/kakuna.png differ diff --git a/graphics/object_events/pics/pokemon/followers/kangaskhan.png b/graphics/object_events/pics/pokemon/followers/kangaskhan.png new file mode 100644 index 000000000..9faf8c2ad Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/kangaskhan.png differ diff --git a/graphics/object_events/pics/pokemon/followers/kecleon.png b/graphics/object_events/pics/pokemon/followers/kecleon.png new file mode 100644 index 000000000..22540441b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/kecleon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/kingdra.png b/graphics/object_events/pics/pokemon/followers/kingdra.png new file mode 100644 index 000000000..8043bb032 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/kingdra.png differ diff --git a/graphics/object_events/pics/pokemon/followers/kingler.png b/graphics/object_events/pics/pokemon/followers/kingler.png new file mode 100644 index 000000000..85b23939f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/kingler.png differ diff --git a/graphics/object_events/pics/pokemon/followers/kirlia.png b/graphics/object_events/pics/pokemon/followers/kirlia.png new file mode 100644 index 000000000..d2843518d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/kirlia.png differ diff --git a/graphics/object_events/pics/pokemon/followers/koffing.png b/graphics/object_events/pics/pokemon/followers/koffing.png new file mode 100644 index 000000000..62a0d5e65 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/koffing.png differ diff --git a/graphics/object_events/pics/pokemon/followers/krabby.png b/graphics/object_events/pics/pokemon/followers/krabby.png new file mode 100644 index 000000000..e1422f9f6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/krabby.png differ diff --git a/graphics/object_events/pics/pokemon/followers/kyogre.png b/graphics/object_events/pics/pokemon/followers/kyogre.png new file mode 100644 index 000000000..5af391b30 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/kyogre.png differ diff --git a/graphics/object_events/pics/pokemon/followers/lairon.png b/graphics/object_events/pics/pokemon/followers/lairon.png new file mode 100644 index 000000000..3445498f2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/lairon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/lanturn.png b/graphics/object_events/pics/pokemon/followers/lanturn.png new file mode 100644 index 000000000..2c42ca35b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/lanturn.png differ diff --git a/graphics/object_events/pics/pokemon/followers/lapras.png b/graphics/object_events/pics/pokemon/followers/lapras.png new file mode 100644 index 000000000..f55e3028d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/lapras.png differ diff --git a/graphics/object_events/pics/pokemon/followers/larvitar.png b/graphics/object_events/pics/pokemon/followers/larvitar.png new file mode 100644 index 000000000..3ead6cf48 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/larvitar.png differ diff --git a/graphics/object_events/pics/pokemon/followers/latias.png b/graphics/object_events/pics/pokemon/followers/latias.png new file mode 100644 index 000000000..9e6ad4240 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/latias.png differ diff --git a/graphics/object_events/pics/pokemon/followers/latios.png b/graphics/object_events/pics/pokemon/followers/latios.png new file mode 100644 index 000000000..553453a31 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/latios.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ledian.png b/graphics/object_events/pics/pokemon/followers/ledian.png new file mode 100644 index 000000000..d8651c2ff Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ledian.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ledyba.png b/graphics/object_events/pics/pokemon/followers/ledyba.png new file mode 100644 index 000000000..32e858e2b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ledyba.png differ diff --git a/graphics/object_events/pics/pokemon/followers/lickitung.png b/graphics/object_events/pics/pokemon/followers/lickitung.png new file mode 100644 index 000000000..715f9a5b9 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/lickitung.png differ diff --git a/graphics/object_events/pics/pokemon/followers/lileep.png b/graphics/object_events/pics/pokemon/followers/lileep.png new file mode 100644 index 000000000..6c2d81c1c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/lileep.png differ diff --git a/graphics/object_events/pics/pokemon/followers/linoone.png b/graphics/object_events/pics/pokemon/followers/linoone.png new file mode 100644 index 000000000..d161d709f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/linoone.png differ diff --git a/graphics/object_events/pics/pokemon/followers/lombre.png b/graphics/object_events/pics/pokemon/followers/lombre.png new file mode 100644 index 000000000..72b9f1bad Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/lombre.png differ diff --git a/graphics/object_events/pics/pokemon/followers/lotad.png b/graphics/object_events/pics/pokemon/followers/lotad.png new file mode 100644 index 000000000..3e81947f9 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/lotad.png differ diff --git a/graphics/object_events/pics/pokemon/followers/loudred.png b/graphics/object_events/pics/pokemon/followers/loudred.png new file mode 100644 index 000000000..986e9117f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/loudred.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ludicolo.png b/graphics/object_events/pics/pokemon/followers/ludicolo.png new file mode 100644 index 000000000..d31ae4366 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ludicolo.png differ diff --git a/graphics/object_events/pics/pokemon/followers/lugia.png b/graphics/object_events/pics/pokemon/followers/lugia.png new file mode 100644 index 000000000..0ac53eff1 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/lugia.png differ diff --git a/graphics/object_events/pics/pokemon/followers/lunatone.png b/graphics/object_events/pics/pokemon/followers/lunatone.png new file mode 100644 index 000000000..b897b6e66 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/lunatone.png differ diff --git a/graphics/object_events/pics/pokemon/followers/luvdisc.png b/graphics/object_events/pics/pokemon/followers/luvdisc.png new file mode 100644 index 000000000..29d568c35 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/luvdisc.png differ diff --git a/graphics/object_events/pics/pokemon/followers/machamp.png b/graphics/object_events/pics/pokemon/followers/machamp.png new file mode 100644 index 000000000..13c746ddb Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/machamp.png differ diff --git a/graphics/object_events/pics/pokemon/followers/machoke.png b/graphics/object_events/pics/pokemon/followers/machoke.png new file mode 100644 index 000000000..634906d65 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/machoke.png differ diff --git a/graphics/object_events/pics/pokemon/followers/machop.png b/graphics/object_events/pics/pokemon/followers/machop.png new file mode 100644 index 000000000..37f625a5d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/machop.png differ diff --git a/graphics/object_events/pics/pokemon/followers/magby.png b/graphics/object_events/pics/pokemon/followers/magby.png new file mode 100644 index 000000000..aa824e4c4 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/magby.png differ diff --git a/graphics/object_events/pics/pokemon/followers/magcargo.png b/graphics/object_events/pics/pokemon/followers/magcargo.png new file mode 100644 index 000000000..a64af468e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/magcargo.png differ diff --git a/graphics/object_events/pics/pokemon/followers/magikarp.png b/graphics/object_events/pics/pokemon/followers/magikarp.png new file mode 100644 index 000000000..9af8fc807 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/magikarp.png differ diff --git a/graphics/object_events/pics/pokemon/followers/magmar.png b/graphics/object_events/pics/pokemon/followers/magmar.png new file mode 100644 index 000000000..3c41115da Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/magmar.png differ diff --git a/graphics/object_events/pics/pokemon/followers/magnemite.png b/graphics/object_events/pics/pokemon/followers/magnemite.png new file mode 100644 index 000000000..5d1d932c3 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/magnemite.png differ diff --git a/graphics/object_events/pics/pokemon/followers/magneton.png b/graphics/object_events/pics/pokemon/followers/magneton.png new file mode 100644 index 000000000..75f67de25 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/magneton.png differ diff --git a/graphics/object_events/pics/pokemon/followers/makuhita.png b/graphics/object_events/pics/pokemon/followers/makuhita.png new file mode 100644 index 000000000..4728f5901 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/makuhita.png differ diff --git a/graphics/object_events/pics/pokemon/followers/manectric.png b/graphics/object_events/pics/pokemon/followers/manectric.png new file mode 100644 index 000000000..effb66258 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/manectric.png differ diff --git a/graphics/object_events/pics/pokemon/followers/mankey.png b/graphics/object_events/pics/pokemon/followers/mankey.png new file mode 100644 index 000000000..dd57bbd42 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/mankey.png differ diff --git a/graphics/object_events/pics/pokemon/followers/mantine.png b/graphics/object_events/pics/pokemon/followers/mantine.png new file mode 100644 index 000000000..1710e8e92 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/mantine.png differ diff --git a/graphics/object_events/pics/pokemon/followers/mareep.png b/graphics/object_events/pics/pokemon/followers/mareep.png new file mode 100644 index 000000000..5cce3787a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/mareep.png differ diff --git a/graphics/object_events/pics/pokemon/followers/marill.png b/graphics/object_events/pics/pokemon/followers/marill.png new file mode 100644 index 000000000..93a409288 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/marill.png differ diff --git a/graphics/object_events/pics/pokemon/followers/marowak.png b/graphics/object_events/pics/pokemon/followers/marowak.png new file mode 100644 index 000000000..7087ed04e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/marowak.png differ diff --git a/graphics/object_events/pics/pokemon/followers/marshtomp.png b/graphics/object_events/pics/pokemon/followers/marshtomp.png new file mode 100644 index 000000000..5b04823a6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/marshtomp.png differ diff --git a/graphics/object_events/pics/pokemon/followers/masquerain.png b/graphics/object_events/pics/pokemon/followers/masquerain.png new file mode 100644 index 000000000..5be0f3064 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/masquerain.png differ diff --git a/graphics/object_events/pics/pokemon/followers/mawile.png b/graphics/object_events/pics/pokemon/followers/mawile.png new file mode 100644 index 000000000..504ba9c32 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/mawile.png differ diff --git a/graphics/object_events/pics/pokemon/followers/medicham.png b/graphics/object_events/pics/pokemon/followers/medicham.png new file mode 100644 index 000000000..25f063da4 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/medicham.png differ diff --git a/graphics/object_events/pics/pokemon/followers/meditite.png b/graphics/object_events/pics/pokemon/followers/meditite.png new file mode 100644 index 000000000..69d936343 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/meditite.png differ diff --git a/graphics/object_events/pics/pokemon/followers/meganium.png b/graphics/object_events/pics/pokemon/followers/meganium.png new file mode 100644 index 000000000..982865273 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/meganium.png differ diff --git a/graphics/object_events/pics/pokemon/followers/meowth.png b/graphics/object_events/pics/pokemon/followers/meowth.png new file mode 100644 index 000000000..13cfac090 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/meowth.png differ diff --git a/graphics/object_events/pics/pokemon/followers/metagross.png b/graphics/object_events/pics/pokemon/followers/metagross.png new file mode 100644 index 000000000..49df7af8d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/metagross.png differ diff --git a/graphics/object_events/pics/pokemon/followers/metang.png b/graphics/object_events/pics/pokemon/followers/metang.png new file mode 100644 index 000000000..76bfae1f7 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/metang.png differ diff --git a/graphics/object_events/pics/pokemon/followers/metapod.png b/graphics/object_events/pics/pokemon/followers/metapod.png new file mode 100644 index 000000000..182914514 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/metapod.png differ diff --git a/graphics/object_events/pics/pokemon/followers/mew.png b/graphics/object_events/pics/pokemon/followers/mew.png new file mode 100644 index 000000000..3ae89a52f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/mew.png differ diff --git a/graphics/object_events/pics/pokemon/followers/mewtwo.png b/graphics/object_events/pics/pokemon/followers/mewtwo.png new file mode 100644 index 000000000..e871d9a26 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/mewtwo.png differ diff --git a/graphics/object_events/pics/pokemon/followers/mightyena.png b/graphics/object_events/pics/pokemon/followers/mightyena.png new file mode 100644 index 000000000..324429876 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/mightyena.png differ diff --git a/graphics/object_events/pics/pokemon/followers/milotic.png b/graphics/object_events/pics/pokemon/followers/milotic.png new file mode 100644 index 000000000..724a2011f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/milotic.png differ diff --git a/graphics/object_events/pics/pokemon/followers/miltank.png b/graphics/object_events/pics/pokemon/followers/miltank.png new file mode 100644 index 000000000..09393dfbc Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/miltank.png differ diff --git a/graphics/object_events/pics/pokemon/followers/minun.png b/graphics/object_events/pics/pokemon/followers/minun.png new file mode 100644 index 000000000..406825363 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/minun.png differ diff --git a/graphics/object_events/pics/pokemon/followers/misdreavus.png b/graphics/object_events/pics/pokemon/followers/misdreavus.png new file mode 100644 index 000000000..89b91ee03 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/misdreavus.png differ diff --git a/graphics/object_events/pics/pokemon/followers/moltres.png b/graphics/object_events/pics/pokemon/followers/moltres.png new file mode 100644 index 000000000..70d6298ea Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/moltres.png differ diff --git a/graphics/object_events/pics/pokemon/followers/mr_mime.png b/graphics/object_events/pics/pokemon/followers/mr_mime.png new file mode 100644 index 000000000..ce52c1f03 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/mr_mime.png differ diff --git a/graphics/object_events/pics/pokemon/followers/mudkip.png b/graphics/object_events/pics/pokemon/followers/mudkip.png new file mode 100644 index 000000000..3e957c321 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/mudkip.png differ diff --git a/graphics/object_events/pics/pokemon/followers/muk.png b/graphics/object_events/pics/pokemon/followers/muk.png new file mode 100644 index 000000000..907d25c14 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/muk.png differ diff --git a/graphics/object_events/pics/pokemon/followers/murkrow.png b/graphics/object_events/pics/pokemon/followers/murkrow.png new file mode 100644 index 000000000..c714663ab Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/murkrow.png differ diff --git a/graphics/object_events/pics/pokemon/followers/natu.png b/graphics/object_events/pics/pokemon/followers/natu.png new file mode 100644 index 000000000..7f276ac10 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/natu.png differ diff --git a/graphics/object_events/pics/pokemon/followers/nidoking.png b/graphics/object_events/pics/pokemon/followers/nidoking.png new file mode 100644 index 000000000..20045f13e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/nidoking.png differ diff --git a/graphics/object_events/pics/pokemon/followers/nidoqueen.png b/graphics/object_events/pics/pokemon/followers/nidoqueen.png new file mode 100644 index 000000000..dd252d981 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/nidoqueen.png differ diff --git a/graphics/object_events/pics/pokemon/followers/nidoran_f.png b/graphics/object_events/pics/pokemon/followers/nidoran_f.png new file mode 100644 index 000000000..55a16243f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/nidoran_f.png differ diff --git a/graphics/object_events/pics/pokemon/followers/nidoran_m.png b/graphics/object_events/pics/pokemon/followers/nidoran_m.png new file mode 100644 index 000000000..67c1fd706 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/nidoran_m.png differ diff --git a/graphics/object_events/pics/pokemon/followers/nidorina.png b/graphics/object_events/pics/pokemon/followers/nidorina.png new file mode 100644 index 000000000..cc84925f3 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/nidorina.png differ diff --git a/graphics/object_events/pics/pokemon/followers/nidorino.png b/graphics/object_events/pics/pokemon/followers/nidorino.png new file mode 100644 index 000000000..02861fdc6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/nidorino.png differ diff --git a/graphics/object_events/pics/pokemon/followers/nincada.png b/graphics/object_events/pics/pokemon/followers/nincada.png new file mode 100644 index 000000000..1a55d84f2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/nincada.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ninetales.png b/graphics/object_events/pics/pokemon/followers/ninetales.png new file mode 100644 index 000000000..88c1d95fe Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ninetales.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ninjask.png b/graphics/object_events/pics/pokemon/followers/ninjask.png new file mode 100644 index 000000000..640c5ca0a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ninjask.png differ diff --git a/graphics/object_events/pics/pokemon/followers/noctowl.png b/graphics/object_events/pics/pokemon/followers/noctowl.png new file mode 100644 index 000000000..e7fc38c3d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/noctowl.png differ diff --git a/graphics/object_events/pics/pokemon/followers/nosepass.png b/graphics/object_events/pics/pokemon/followers/nosepass.png new file mode 100644 index 000000000..c407b3892 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/nosepass.png differ diff --git a/graphics/object_events/pics/pokemon/followers/numel.png b/graphics/object_events/pics/pokemon/followers/numel.png new file mode 100644 index 000000000..96307f136 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/numel.png differ diff --git a/graphics/object_events/pics/pokemon/followers/nuzleaf.png b/graphics/object_events/pics/pokemon/followers/nuzleaf.png new file mode 100644 index 000000000..2e60c01fe Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/nuzleaf.png differ diff --git a/graphics/object_events/pics/pokemon/followers/octillery.png b/graphics/object_events/pics/pokemon/followers/octillery.png new file mode 100644 index 000000000..261f3a46a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/octillery.png differ diff --git a/graphics/object_events/pics/pokemon/followers/oddish.png b/graphics/object_events/pics/pokemon/followers/oddish.png new file mode 100644 index 000000000..312a72979 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/oddish.png differ diff --git a/graphics/object_events/pics/pokemon/followers/omanyte.png b/graphics/object_events/pics/pokemon/followers/omanyte.png new file mode 100644 index 000000000..c20f2bf69 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/omanyte.png differ diff --git a/graphics/object_events/pics/pokemon/followers/omastar.png b/graphics/object_events/pics/pokemon/followers/omastar.png new file mode 100644 index 000000000..5f32df5ec Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/omastar.png differ diff --git a/graphics/object_events/pics/pokemon/followers/onix.png b/graphics/object_events/pics/pokemon/followers/onix.png new file mode 100644 index 000000000..89372ff5e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/onix.png differ diff --git a/graphics/object_events/pics/pokemon/followers/paras.png b/graphics/object_events/pics/pokemon/followers/paras.png new file mode 100644 index 000000000..edd76c832 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/paras.png differ diff --git a/graphics/object_events/pics/pokemon/followers/parasect.png b/graphics/object_events/pics/pokemon/followers/parasect.png new file mode 100644 index 000000000..f30a299ca Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/parasect.png differ diff --git a/graphics/object_events/pics/pokemon/followers/pelipper.png b/graphics/object_events/pics/pokemon/followers/pelipper.png new file mode 100644 index 000000000..b4097c06c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/pelipper.png differ diff --git a/graphics/object_events/pics/pokemon/followers/persian.png b/graphics/object_events/pics/pokemon/followers/persian.png new file mode 100644 index 000000000..4ec83aea5 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/persian.png differ diff --git a/graphics/object_events/pics/pokemon/followers/phanpy.png b/graphics/object_events/pics/pokemon/followers/phanpy.png new file mode 100644 index 000000000..c3f9fb8f3 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/phanpy.png differ diff --git a/graphics/object_events/pics/pokemon/followers/pichu.png b/graphics/object_events/pics/pokemon/followers/pichu.png new file mode 100644 index 000000000..67d6c4b6d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/pichu.png differ diff --git a/graphics/object_events/pics/pokemon/followers/pidgeot.png b/graphics/object_events/pics/pokemon/followers/pidgeot.png new file mode 100644 index 000000000..cdcdce3cd Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/pidgeot.png differ diff --git a/graphics/object_events/pics/pokemon/followers/pidgeotto.png b/graphics/object_events/pics/pokemon/followers/pidgeotto.png new file mode 100644 index 000000000..cdf9865eb Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/pidgeotto.png differ diff --git a/graphics/object_events/pics/pokemon/followers/pidgey.png b/graphics/object_events/pics/pokemon/followers/pidgey.png new file mode 100644 index 000000000..cd924a5dd Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/pidgey.png differ diff --git a/graphics/object_events/pics/pokemon/followers/pikachu.png b/graphics/object_events/pics/pokemon/followers/pikachu.png new file mode 100644 index 000000000..a6883c7d0 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/pikachu.png differ diff --git a/graphics/object_events/pics/pokemon/followers/piloswine.png b/graphics/object_events/pics/pokemon/followers/piloswine.png new file mode 100644 index 000000000..00942dede Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/piloswine.png differ diff --git a/graphics/object_events/pics/pokemon/followers/pineco.png b/graphics/object_events/pics/pokemon/followers/pineco.png new file mode 100644 index 000000000..37f7f0d7c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/pineco.png differ diff --git a/graphics/object_events/pics/pokemon/followers/pinsir.png b/graphics/object_events/pics/pokemon/followers/pinsir.png new file mode 100644 index 000000000..07d7e354a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/pinsir.png differ diff --git a/graphics/object_events/pics/pokemon/followers/plusle.png b/graphics/object_events/pics/pokemon/followers/plusle.png new file mode 100644 index 000000000..393b67173 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/plusle.png differ diff --git a/graphics/object_events/pics/pokemon/followers/politoed.png b/graphics/object_events/pics/pokemon/followers/politoed.png new file mode 100644 index 000000000..0180446b3 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/politoed.png differ diff --git a/graphics/object_events/pics/pokemon/followers/poliwag.png b/graphics/object_events/pics/pokemon/followers/poliwag.png new file mode 100644 index 000000000..0705bfe2f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/poliwag.png differ diff --git a/graphics/object_events/pics/pokemon/followers/poliwhirl.png b/graphics/object_events/pics/pokemon/followers/poliwhirl.png new file mode 100644 index 000000000..d98396f81 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/poliwhirl.png differ diff --git a/graphics/object_events/pics/pokemon/followers/poliwrath.png b/graphics/object_events/pics/pokemon/followers/poliwrath.png new file mode 100644 index 000000000..1faee45d4 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/poliwrath.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ponyta.png b/graphics/object_events/pics/pokemon/followers/ponyta.png new file mode 100644 index 000000000..8344a5b8a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ponyta.png differ diff --git a/graphics/object_events/pics/pokemon/followers/poochyena.png b/graphics/object_events/pics/pokemon/followers/poochyena.png new file mode 100644 index 000000000..2c92a6b8f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/poochyena.png differ diff --git a/graphics/object_events/pics/pokemon/followers/porygon.png b/graphics/object_events/pics/pokemon/followers/porygon.png new file mode 100644 index 000000000..04115d119 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/porygon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/porygon2.png b/graphics/object_events/pics/pokemon/followers/porygon2.png new file mode 100644 index 000000000..18def8ef6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/porygon2.png differ diff --git a/graphics/object_events/pics/pokemon/followers/primeape.png b/graphics/object_events/pics/pokemon/followers/primeape.png new file mode 100644 index 000000000..1a4d7c813 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/primeape.png differ diff --git a/graphics/object_events/pics/pokemon/followers/psyduck.png b/graphics/object_events/pics/pokemon/followers/psyduck.png new file mode 100644 index 000000000..068ea0166 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/psyduck.png differ diff --git a/graphics/object_events/pics/pokemon/followers/pupitar.png b/graphics/object_events/pics/pokemon/followers/pupitar.png new file mode 100644 index 000000000..e8381a772 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/pupitar.png differ diff --git a/graphics/object_events/pics/pokemon/followers/quagsire.png b/graphics/object_events/pics/pokemon/followers/quagsire.png new file mode 100644 index 000000000..7a848da87 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/quagsire.png differ diff --git a/graphics/object_events/pics/pokemon/followers/quilava.png b/graphics/object_events/pics/pokemon/followers/quilava.png new file mode 100644 index 000000000..00fad810b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/quilava.png differ diff --git a/graphics/object_events/pics/pokemon/followers/qwilfish.png b/graphics/object_events/pics/pokemon/followers/qwilfish.png new file mode 100644 index 000000000..97f777495 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/qwilfish.png differ diff --git a/graphics/object_events/pics/pokemon/followers/raichu.png b/graphics/object_events/pics/pokemon/followers/raichu.png new file mode 100644 index 000000000..1887d9a74 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/raichu.png differ diff --git a/graphics/object_events/pics/pokemon/followers/raikou.png b/graphics/object_events/pics/pokemon/followers/raikou.png new file mode 100644 index 000000000..9f092fbc5 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/raikou.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ralts.png b/graphics/object_events/pics/pokemon/followers/ralts.png new file mode 100644 index 000000000..94cd696d3 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ralts.png differ diff --git a/graphics/object_events/pics/pokemon/followers/rapidash.png b/graphics/object_events/pics/pokemon/followers/rapidash.png new file mode 100644 index 000000000..728113713 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/rapidash.png differ diff --git a/graphics/object_events/pics/pokemon/followers/raticate.png b/graphics/object_events/pics/pokemon/followers/raticate.png new file mode 100644 index 000000000..691a58a66 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/raticate.png differ diff --git a/graphics/object_events/pics/pokemon/followers/rattata.png b/graphics/object_events/pics/pokemon/followers/rattata.png new file mode 100644 index 000000000..e3b389ef6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/rattata.png differ diff --git a/graphics/object_events/pics/pokemon/followers/rayquaza.png b/graphics/object_events/pics/pokemon/followers/rayquaza.png new file mode 100644 index 000000000..5a1a1e547 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/rayquaza.png differ diff --git a/graphics/object_events/pics/pokemon/followers/regice.png b/graphics/object_events/pics/pokemon/followers/regice.png new file mode 100644 index 000000000..149cee401 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/regice.png differ diff --git a/graphics/object_events/pics/pokemon/followers/regirock.png b/graphics/object_events/pics/pokemon/followers/regirock.png new file mode 100644 index 000000000..7f7985681 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/regirock.png differ diff --git a/graphics/object_events/pics/pokemon/followers/registeel.png b/graphics/object_events/pics/pokemon/followers/registeel.png new file mode 100644 index 000000000..ad188426f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/registeel.png differ diff --git a/graphics/object_events/pics/pokemon/followers/relicanth.png b/graphics/object_events/pics/pokemon/followers/relicanth.png new file mode 100644 index 000000000..10c4c9943 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/relicanth.png differ diff --git a/graphics/object_events/pics/pokemon/followers/remoraid.png b/graphics/object_events/pics/pokemon/followers/remoraid.png new file mode 100644 index 000000000..e1cef6015 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/remoraid.png differ diff --git a/graphics/object_events/pics/pokemon/followers/rhydon.png b/graphics/object_events/pics/pokemon/followers/rhydon.png new file mode 100644 index 000000000..b606f11f8 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/rhydon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/rhyhorn.png b/graphics/object_events/pics/pokemon/followers/rhyhorn.png new file mode 100644 index 000000000..0a2c6a992 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/rhyhorn.png differ diff --git a/graphics/object_events/pics/pokemon/followers/roselia.png b/graphics/object_events/pics/pokemon/followers/roselia.png new file mode 100644 index 000000000..5c067a5ee Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/roselia.png differ diff --git a/graphics/object_events/pics/pokemon/followers/sableye.png b/graphics/object_events/pics/pokemon/followers/sableye.png new file mode 100644 index 000000000..97f7ccfc2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/sableye.png differ diff --git a/graphics/object_events/pics/pokemon/followers/salamence.png b/graphics/object_events/pics/pokemon/followers/salamence.png new file mode 100644 index 000000000..ae088c7f4 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/salamence.png differ diff --git a/graphics/object_events/pics/pokemon/followers/sandshrew.png b/graphics/object_events/pics/pokemon/followers/sandshrew.png new file mode 100644 index 000000000..182bfe82a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/sandshrew.png differ diff --git a/graphics/object_events/pics/pokemon/followers/sandslash.png b/graphics/object_events/pics/pokemon/followers/sandslash.png new file mode 100644 index 000000000..7977fb8fc Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/sandslash.png differ diff --git a/graphics/object_events/pics/pokemon/followers/sceptile.png b/graphics/object_events/pics/pokemon/followers/sceptile.png new file mode 100644 index 000000000..60e0bfff5 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/sceptile.png differ diff --git a/graphics/object_events/pics/pokemon/followers/scizor.png b/graphics/object_events/pics/pokemon/followers/scizor.png new file mode 100644 index 000000000..645617819 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/scizor.png differ diff --git a/graphics/object_events/pics/pokemon/followers/scyther.png b/graphics/object_events/pics/pokemon/followers/scyther.png new file mode 100644 index 000000000..7ed877482 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/scyther.png differ diff --git a/graphics/object_events/pics/pokemon/followers/seadra.png b/graphics/object_events/pics/pokemon/followers/seadra.png new file mode 100644 index 000000000..64c61f85f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/seadra.png differ diff --git a/graphics/object_events/pics/pokemon/followers/seaking.png b/graphics/object_events/pics/pokemon/followers/seaking.png new file mode 100644 index 000000000..6277a9291 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/seaking.png differ diff --git a/graphics/object_events/pics/pokemon/followers/sealeo.png b/graphics/object_events/pics/pokemon/followers/sealeo.png new file mode 100644 index 000000000..b2a929d2d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/sealeo.png differ diff --git a/graphics/object_events/pics/pokemon/followers/seedot.png b/graphics/object_events/pics/pokemon/followers/seedot.png new file mode 100644 index 000000000..da9a45795 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/seedot.png differ diff --git a/graphics/object_events/pics/pokemon/followers/seel.png b/graphics/object_events/pics/pokemon/followers/seel.png new file mode 100644 index 000000000..f5d2cca52 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/seel.png differ diff --git a/graphics/object_events/pics/pokemon/followers/sentret.png b/graphics/object_events/pics/pokemon/followers/sentret.png new file mode 100644 index 000000000..0c51731d0 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/sentret.png differ diff --git a/graphics/object_events/pics/pokemon/followers/seviper.png b/graphics/object_events/pics/pokemon/followers/seviper.png new file mode 100644 index 000000000..e8282af5e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/seviper.png differ diff --git a/graphics/object_events/pics/pokemon/followers/sharpedo.png b/graphics/object_events/pics/pokemon/followers/sharpedo.png new file mode 100644 index 000000000..8edfa2042 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/sharpedo.png differ diff --git a/graphics/object_events/pics/pokemon/followers/shedinja.png b/graphics/object_events/pics/pokemon/followers/shedinja.png new file mode 100644 index 000000000..34c74185d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/shedinja.png differ diff --git a/graphics/object_events/pics/pokemon/followers/shelgon.png b/graphics/object_events/pics/pokemon/followers/shelgon.png new file mode 100644 index 000000000..5d959acda Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/shelgon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/shellder.png b/graphics/object_events/pics/pokemon/followers/shellder.png new file mode 100644 index 000000000..53e2f9db5 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/shellder.png differ diff --git a/graphics/object_events/pics/pokemon/followers/shiftry.png b/graphics/object_events/pics/pokemon/followers/shiftry.png new file mode 100644 index 000000000..42f0df537 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/shiftry.png differ diff --git a/graphics/object_events/pics/pokemon/followers/shroomish.png b/graphics/object_events/pics/pokemon/followers/shroomish.png new file mode 100644 index 000000000..2f915128c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/shroomish.png differ diff --git a/graphics/object_events/pics/pokemon/followers/shuckle.png b/graphics/object_events/pics/pokemon/followers/shuckle.png new file mode 100644 index 000000000..01fe3ce73 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/shuckle.png differ diff --git a/graphics/object_events/pics/pokemon/followers/shuppet.png b/graphics/object_events/pics/pokemon/followers/shuppet.png new file mode 100644 index 000000000..fb9f6d568 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/shuppet.png differ diff --git a/graphics/object_events/pics/pokemon/followers/silcoon.png b/graphics/object_events/pics/pokemon/followers/silcoon.png new file mode 100644 index 000000000..595d02ea6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/silcoon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/skarmory.png b/graphics/object_events/pics/pokemon/followers/skarmory.png new file mode 100644 index 000000000..0c3183449 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/skarmory.png differ diff --git a/graphics/object_events/pics/pokemon/followers/skiploom.png b/graphics/object_events/pics/pokemon/followers/skiploom.png new file mode 100644 index 000000000..f9ac8a5d9 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/skiploom.png differ diff --git a/graphics/object_events/pics/pokemon/followers/skitty.png b/graphics/object_events/pics/pokemon/followers/skitty.png new file mode 100644 index 000000000..becb58b41 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/skitty.png differ diff --git a/graphics/object_events/pics/pokemon/followers/slaking.png b/graphics/object_events/pics/pokemon/followers/slaking.png new file mode 100644 index 000000000..da2a67f1f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/slaking.png differ diff --git a/graphics/object_events/pics/pokemon/followers/slakoth.png b/graphics/object_events/pics/pokemon/followers/slakoth.png new file mode 100644 index 000000000..c11600681 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/slakoth.png differ diff --git a/graphics/object_events/pics/pokemon/followers/slowbro.png b/graphics/object_events/pics/pokemon/followers/slowbro.png new file mode 100644 index 000000000..0c6d926c1 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/slowbro.png differ diff --git a/graphics/object_events/pics/pokemon/followers/slowking.png b/graphics/object_events/pics/pokemon/followers/slowking.png new file mode 100644 index 000000000..b4b09b11f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/slowking.png differ diff --git a/graphics/object_events/pics/pokemon/followers/slowpoke.png b/graphics/object_events/pics/pokemon/followers/slowpoke.png new file mode 100644 index 000000000..c57aeaf7d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/slowpoke.png differ diff --git a/graphics/object_events/pics/pokemon/followers/slugma.png b/graphics/object_events/pics/pokemon/followers/slugma.png new file mode 100644 index 000000000..9e3c55bfd Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/slugma.png differ diff --git a/graphics/object_events/pics/pokemon/followers/smeargle.png b/graphics/object_events/pics/pokemon/followers/smeargle.png new file mode 100644 index 000000000..675fbced2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/smeargle.png differ diff --git a/graphics/object_events/pics/pokemon/followers/smoochum.png b/graphics/object_events/pics/pokemon/followers/smoochum.png new file mode 100644 index 000000000..973d42d24 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/smoochum.png differ diff --git a/graphics/object_events/pics/pokemon/followers/sneasel.png b/graphics/object_events/pics/pokemon/followers/sneasel.png new file mode 100644 index 000000000..d512ecb66 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/sneasel.png differ diff --git a/graphics/object_events/pics/pokemon/followers/snorlax.png b/graphics/object_events/pics/pokemon/followers/snorlax.png new file mode 100644 index 000000000..c2c911a60 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/snorlax.png differ diff --git a/graphics/object_events/pics/pokemon/followers/snorunt.png b/graphics/object_events/pics/pokemon/followers/snorunt.png new file mode 100644 index 000000000..1dc16c717 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/snorunt.png differ diff --git a/graphics/object_events/pics/pokemon/followers/snubbull.png b/graphics/object_events/pics/pokemon/followers/snubbull.png new file mode 100644 index 000000000..d220f10bc Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/snubbull.png differ diff --git a/graphics/object_events/pics/pokemon/followers/solrock.png b/graphics/object_events/pics/pokemon/followers/solrock.png new file mode 100644 index 000000000..7e4c936d3 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/solrock.png differ diff --git a/graphics/object_events/pics/pokemon/followers/spearow.png b/graphics/object_events/pics/pokemon/followers/spearow.png new file mode 100644 index 000000000..fc34bc4ee Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/spearow.png differ diff --git a/graphics/object_events/pics/pokemon/followers/spheal.png b/graphics/object_events/pics/pokemon/followers/spheal.png new file mode 100644 index 000000000..94699cc83 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/spheal.png differ diff --git a/graphics/object_events/pics/pokemon/followers/spinarak.png b/graphics/object_events/pics/pokemon/followers/spinarak.png new file mode 100644 index 000000000..2ac886f3b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/spinarak.png differ diff --git a/graphics/object_events/pics/pokemon/followers/spinda.png b/graphics/object_events/pics/pokemon/followers/spinda.png new file mode 100644 index 000000000..e97ec4bbd Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/spinda.png differ diff --git a/graphics/object_events/pics/pokemon/followers/spoink.png b/graphics/object_events/pics/pokemon/followers/spoink.png new file mode 100644 index 000000000..d7256004d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/spoink.png differ diff --git a/graphics/object_events/pics/pokemon/followers/squirtle.png b/graphics/object_events/pics/pokemon/followers/squirtle.png new file mode 100644 index 000000000..dbf56fd5a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/squirtle.png differ diff --git a/graphics/object_events/pics/pokemon/followers/stantler.png b/graphics/object_events/pics/pokemon/followers/stantler.png new file mode 100644 index 000000000..e6c5e8a82 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/stantler.png differ diff --git a/graphics/object_events/pics/pokemon/followers/starmie.png b/graphics/object_events/pics/pokemon/followers/starmie.png new file mode 100644 index 000000000..420d22869 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/starmie.png differ diff --git a/graphics/object_events/pics/pokemon/followers/staryu.png b/graphics/object_events/pics/pokemon/followers/staryu.png new file mode 100644 index 000000000..318f3bd04 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/staryu.png differ diff --git a/graphics/object_events/pics/pokemon/followers/steelix.png b/graphics/object_events/pics/pokemon/followers/steelix.png new file mode 100644 index 000000000..f79a7d193 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/steelix.png differ diff --git a/graphics/object_events/pics/pokemon/followers/sudowoodo.png b/graphics/object_events/pics/pokemon/followers/sudowoodo.png new file mode 100644 index 000000000..419eb917e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/sudowoodo.png differ diff --git a/graphics/object_events/pics/pokemon/followers/suicune.png b/graphics/object_events/pics/pokemon/followers/suicune.png new file mode 100644 index 000000000..50d87cd23 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/suicune.png differ diff --git a/graphics/object_events/pics/pokemon/followers/sunflora.png b/graphics/object_events/pics/pokemon/followers/sunflora.png new file mode 100644 index 000000000..defe0b6fc Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/sunflora.png differ diff --git a/graphics/object_events/pics/pokemon/followers/sunkern.png b/graphics/object_events/pics/pokemon/followers/sunkern.png new file mode 100644 index 000000000..f19116651 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/sunkern.png differ diff --git a/graphics/object_events/pics/pokemon/followers/surskit.png b/graphics/object_events/pics/pokemon/followers/surskit.png new file mode 100644 index 000000000..8ebf3a22e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/surskit.png differ diff --git a/graphics/object_events/pics/pokemon/followers/swablu.png b/graphics/object_events/pics/pokemon/followers/swablu.png new file mode 100644 index 000000000..c60df13f7 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/swablu.png differ diff --git a/graphics/object_events/pics/pokemon/followers/swalot.png b/graphics/object_events/pics/pokemon/followers/swalot.png new file mode 100644 index 000000000..31f2741f0 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/swalot.png differ diff --git a/graphics/object_events/pics/pokemon/followers/swampert.png b/graphics/object_events/pics/pokemon/followers/swampert.png new file mode 100644 index 000000000..11de991d4 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/swampert.png differ diff --git a/graphics/object_events/pics/pokemon/followers/swellow.png b/graphics/object_events/pics/pokemon/followers/swellow.png new file mode 100644 index 000000000..241233381 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/swellow.png differ diff --git a/graphics/object_events/pics/pokemon/followers/swinub.png b/graphics/object_events/pics/pokemon/followers/swinub.png new file mode 100644 index 000000000..5d02fb7d6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/swinub.png differ diff --git a/graphics/object_events/pics/pokemon/followers/taillow.png b/graphics/object_events/pics/pokemon/followers/taillow.png new file mode 100644 index 000000000..d2a8afac0 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/taillow.png differ diff --git a/graphics/object_events/pics/pokemon/followers/tangela.png b/graphics/object_events/pics/pokemon/followers/tangela.png new file mode 100644 index 000000000..a20ce784c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/tangela.png differ diff --git a/graphics/object_events/pics/pokemon/followers/tauros.png b/graphics/object_events/pics/pokemon/followers/tauros.png new file mode 100644 index 000000000..bb730a117 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/tauros.png differ diff --git a/graphics/object_events/pics/pokemon/followers/teddiursa.png b/graphics/object_events/pics/pokemon/followers/teddiursa.png new file mode 100644 index 000000000..e43906549 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/teddiursa.png differ diff --git a/graphics/object_events/pics/pokemon/followers/tentacool.png b/graphics/object_events/pics/pokemon/followers/tentacool.png new file mode 100644 index 000000000..0ac8ba162 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/tentacool.png differ diff --git a/graphics/object_events/pics/pokemon/followers/tentacruel.png b/graphics/object_events/pics/pokemon/followers/tentacruel.png new file mode 100644 index 000000000..9f203530e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/tentacruel.png differ diff --git a/graphics/object_events/pics/pokemon/followers/togepi.png b/graphics/object_events/pics/pokemon/followers/togepi.png new file mode 100644 index 000000000..d588b9b44 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/togepi.png differ diff --git a/graphics/object_events/pics/pokemon/followers/togetic.png b/graphics/object_events/pics/pokemon/followers/togetic.png new file mode 100644 index 000000000..c51ec204f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/togetic.png differ diff --git a/graphics/object_events/pics/pokemon/followers/torchic.png b/graphics/object_events/pics/pokemon/followers/torchic.png new file mode 100644 index 000000000..e56e3f05e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/torchic.png differ diff --git a/graphics/object_events/pics/pokemon/followers/torkoal.png b/graphics/object_events/pics/pokemon/followers/torkoal.png new file mode 100644 index 000000000..1e5835f1f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/torkoal.png differ diff --git a/graphics/object_events/pics/pokemon/followers/totodile.png b/graphics/object_events/pics/pokemon/followers/totodile.png new file mode 100644 index 000000000..7973715de Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/totodile.png differ diff --git a/graphics/object_events/pics/pokemon/followers/trapinch.png b/graphics/object_events/pics/pokemon/followers/trapinch.png new file mode 100644 index 000000000..4a27dff40 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/trapinch.png differ diff --git a/graphics/object_events/pics/pokemon/followers/treecko.png b/graphics/object_events/pics/pokemon/followers/treecko.png new file mode 100644 index 000000000..fe54a0804 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/treecko.png differ diff --git a/graphics/object_events/pics/pokemon/followers/tropius.png b/graphics/object_events/pics/pokemon/followers/tropius.png new file mode 100644 index 000000000..d05213868 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/tropius.png differ diff --git a/graphics/object_events/pics/pokemon/followers/typhlosion.png b/graphics/object_events/pics/pokemon/followers/typhlosion.png new file mode 100644 index 000000000..9a836bf56 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/typhlosion.png differ diff --git a/graphics/object_events/pics/pokemon/followers/tyranitar.png b/graphics/object_events/pics/pokemon/followers/tyranitar.png new file mode 100644 index 000000000..ec13b289d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/tyranitar.png differ diff --git a/graphics/object_events/pics/pokemon/followers/tyrogue.png b/graphics/object_events/pics/pokemon/followers/tyrogue.png new file mode 100644 index 000000000..dfa25a19b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/tyrogue.png differ diff --git a/graphics/object_events/pics/pokemon/followers/umbreon.png b/graphics/object_events/pics/pokemon/followers/umbreon.png new file mode 100644 index 000000000..d15f9abcf Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/umbreon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unown!.png b/graphics/object_events/pics/pokemon/followers/unown!.png new file mode 100644 index 000000000..ba968eccf Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unown!.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unowna.png b/graphics/object_events/pics/pokemon/followers/unowna.png new file mode 100644 index 000000000..de577e3db Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unowna.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownb.png b/graphics/object_events/pics/pokemon/followers/unownb.png new file mode 100644 index 000000000..bfcf2163a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownb.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownc.png b/graphics/object_events/pics/pokemon/followers/unownc.png new file mode 100644 index 000000000..8adcabb3a Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownc.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownd.png b/graphics/object_events/pics/pokemon/followers/unownd.png new file mode 100644 index 000000000..6da5cdf02 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownd.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unowne.png b/graphics/object_events/pics/pokemon/followers/unowne.png new file mode 100644 index 000000000..078033eb9 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unowne.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownf.png b/graphics/object_events/pics/pokemon/followers/unownf.png new file mode 100644 index 000000000..2be9dbd7f Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownf.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unowng.png b/graphics/object_events/pics/pokemon/followers/unowng.png new file mode 100644 index 000000000..917ae3774 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unowng.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownh.png b/graphics/object_events/pics/pokemon/followers/unownh.png new file mode 100644 index 000000000..4d14afac2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownh.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unowni.png b/graphics/object_events/pics/pokemon/followers/unowni.png new file mode 100644 index 000000000..9d14fd520 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unowni.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownj.png b/graphics/object_events/pics/pokemon/followers/unownj.png new file mode 100644 index 000000000..d83ec4668 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownj.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownk.png b/graphics/object_events/pics/pokemon/followers/unownk.png new file mode 100644 index 000000000..d48d0f726 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownk.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownl.png b/graphics/object_events/pics/pokemon/followers/unownl.png new file mode 100644 index 000000000..b25106090 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownl.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownm.png b/graphics/object_events/pics/pokemon/followers/unownm.png new file mode 100644 index 000000000..80b421e4b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownm.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownn.png b/graphics/object_events/pics/pokemon/followers/unownn.png new file mode 100644 index 000000000..7d4bfeeb8 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownn.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unowno.png b/graphics/object_events/pics/pokemon/followers/unowno.png new file mode 100644 index 000000000..e68f7b517 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unowno.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownp.png b/graphics/object_events/pics/pokemon/followers/unownp.png new file mode 100644 index 000000000..e0ec06ad8 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownp.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownq.png b/graphics/object_events/pics/pokemon/followers/unownq.png new file mode 100644 index 000000000..01ef95120 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownq.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownquestion.png b/graphics/object_events/pics/pokemon/followers/unownquestion.png new file mode 100644 index 000000000..afbba73b0 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownquestion.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownr.png b/graphics/object_events/pics/pokemon/followers/unownr.png new file mode 100644 index 000000000..0bbd8aec3 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownr.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unowns.png b/graphics/object_events/pics/pokemon/followers/unowns.png new file mode 100644 index 000000000..286e583cf Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unowns.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownt.png b/graphics/object_events/pics/pokemon/followers/unownt.png new file mode 100644 index 000000000..cdeea26dd Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownt.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownu.png b/graphics/object_events/pics/pokemon/followers/unownu.png new file mode 100644 index 000000000..06434e728 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownu.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownv.png b/graphics/object_events/pics/pokemon/followers/unownv.png new file mode 100644 index 000000000..081d2cbbd Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownv.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownw.png b/graphics/object_events/pics/pokemon/followers/unownw.png new file mode 100644 index 000000000..b2c1b05d2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownw.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownx.png b/graphics/object_events/pics/pokemon/followers/unownx.png new file mode 100644 index 000000000..e368a9231 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownx.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unowny.png b/graphics/object_events/pics/pokemon/followers/unowny.png new file mode 100644 index 000000000..7646ae83e Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unowny.png differ diff --git a/graphics/object_events/pics/pokemon/followers/unownz.png b/graphics/object_events/pics/pokemon/followers/unownz.png new file mode 100644 index 000000000..4eddb4041 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/unownz.png differ diff --git a/graphics/object_events/pics/pokemon/followers/ursaring.png b/graphics/object_events/pics/pokemon/followers/ursaring.png new file mode 100644 index 000000000..564c10a17 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/ursaring.png differ diff --git a/graphics/object_events/pics/pokemon/followers/vaporeon.png b/graphics/object_events/pics/pokemon/followers/vaporeon.png new file mode 100644 index 000000000..3dcb12af6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/vaporeon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/venomoth.png b/graphics/object_events/pics/pokemon/followers/venomoth.png new file mode 100644 index 000000000..5d7f1ff73 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/venomoth.png differ diff --git a/graphics/object_events/pics/pokemon/followers/venonat.png b/graphics/object_events/pics/pokemon/followers/venonat.png new file mode 100644 index 000000000..ce5727068 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/venonat.png differ diff --git a/graphics/object_events/pics/pokemon/followers/venusaur.png b/graphics/object_events/pics/pokemon/followers/venusaur.png new file mode 100644 index 000000000..9b6e57ac8 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/venusaur.png differ diff --git a/graphics/object_events/pics/pokemon/followers/vibrava.png b/graphics/object_events/pics/pokemon/followers/vibrava.png new file mode 100644 index 000000000..466a1de0d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/vibrava.png differ diff --git a/graphics/object_events/pics/pokemon/followers/victreebel.png b/graphics/object_events/pics/pokemon/followers/victreebel.png new file mode 100644 index 000000000..dcec3333b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/victreebel.png differ diff --git a/graphics/object_events/pics/pokemon/followers/vigoroth.png b/graphics/object_events/pics/pokemon/followers/vigoroth.png new file mode 100644 index 000000000..4aad2e9b6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/vigoroth.png differ diff --git a/graphics/object_events/pics/pokemon/followers/vileplume.png b/graphics/object_events/pics/pokemon/followers/vileplume.png new file mode 100644 index 000000000..7e605f39d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/vileplume.png differ diff --git a/graphics/object_events/pics/pokemon/followers/volbeat.png b/graphics/object_events/pics/pokemon/followers/volbeat.png new file mode 100644 index 000000000..59a0ebd3c Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/volbeat.png differ diff --git a/graphics/object_events/pics/pokemon/followers/voltorb.png b/graphics/object_events/pics/pokemon/followers/voltorb.png new file mode 100644 index 000000000..51efc1e92 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/voltorb.png differ diff --git a/graphics/object_events/pics/pokemon/followers/vulpix.png b/graphics/object_events/pics/pokemon/followers/vulpix.png new file mode 100644 index 000000000..a96fcc781 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/vulpix.png differ diff --git a/graphics/object_events/pics/pokemon/followers/wailmer.png b/graphics/object_events/pics/pokemon/followers/wailmer.png new file mode 100644 index 000000000..ea637a5e2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/wailmer.png differ diff --git a/graphics/object_events/pics/pokemon/followers/wailord.png b/graphics/object_events/pics/pokemon/followers/wailord.png new file mode 100644 index 000000000..a27912ba7 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/wailord.png differ diff --git a/graphics/object_events/pics/pokemon/followers/walrein.png b/graphics/object_events/pics/pokemon/followers/walrein.png new file mode 100644 index 000000000..9f5c364c5 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/walrein.png differ diff --git a/graphics/object_events/pics/pokemon/followers/wartortle.png b/graphics/object_events/pics/pokemon/followers/wartortle.png new file mode 100644 index 000000000..2d23e30b2 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/wartortle.png differ diff --git a/graphics/object_events/pics/pokemon/followers/weedle.png b/graphics/object_events/pics/pokemon/followers/weedle.png new file mode 100644 index 000000000..21621084d Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/weedle.png differ diff --git a/graphics/object_events/pics/pokemon/followers/weepinbell.png b/graphics/object_events/pics/pokemon/followers/weepinbell.png new file mode 100644 index 000000000..f21e1a243 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/weepinbell.png differ diff --git a/graphics/object_events/pics/pokemon/followers/weezing.png b/graphics/object_events/pics/pokemon/followers/weezing.png new file mode 100644 index 000000000..3e1578c93 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/weezing.png differ diff --git a/graphics/object_events/pics/pokemon/followers/whiscash.png b/graphics/object_events/pics/pokemon/followers/whiscash.png new file mode 100644 index 000000000..d364f4936 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/whiscash.png differ diff --git a/graphics/object_events/pics/pokemon/followers/whismur.png b/graphics/object_events/pics/pokemon/followers/whismur.png new file mode 100644 index 000000000..0c336b3ef Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/whismur.png differ diff --git a/graphics/object_events/pics/pokemon/followers/wigglytuff.png b/graphics/object_events/pics/pokemon/followers/wigglytuff.png new file mode 100644 index 000000000..b88484873 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/wigglytuff.png differ diff --git a/graphics/object_events/pics/pokemon/followers/wingull.png b/graphics/object_events/pics/pokemon/followers/wingull.png new file mode 100644 index 000000000..bb40e942b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/wingull.png differ diff --git a/graphics/object_events/pics/pokemon/followers/wobbuffet.png b/graphics/object_events/pics/pokemon/followers/wobbuffet.png new file mode 100644 index 000000000..bb700d17b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/wobbuffet.png differ diff --git a/graphics/object_events/pics/pokemon/followers/wooper.png b/graphics/object_events/pics/pokemon/followers/wooper.png new file mode 100644 index 000000000..192b64f0b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/wooper.png differ diff --git a/graphics/object_events/pics/pokemon/followers/wurmple.png b/graphics/object_events/pics/pokemon/followers/wurmple.png new file mode 100644 index 000000000..443a8b8da Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/wurmple.png differ diff --git a/graphics/object_events/pics/pokemon/followers/wynaut.png b/graphics/object_events/pics/pokemon/followers/wynaut.png new file mode 100644 index 000000000..e90e1c811 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/wynaut.png differ diff --git a/graphics/object_events/pics/pokemon/followers/xatu.png b/graphics/object_events/pics/pokemon/followers/xatu.png new file mode 100644 index 000000000..25b7621b4 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/xatu.png differ diff --git a/graphics/object_events/pics/pokemon/followers/yanma.png b/graphics/object_events/pics/pokemon/followers/yanma.png new file mode 100644 index 000000000..71a518105 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/yanma.png differ diff --git a/graphics/object_events/pics/pokemon/followers/zangoose.png b/graphics/object_events/pics/pokemon/followers/zangoose.png new file mode 100644 index 000000000..323463b67 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/zangoose.png differ diff --git a/graphics/object_events/pics/pokemon/followers/zapdos.png b/graphics/object_events/pics/pokemon/followers/zapdos.png new file mode 100644 index 000000000..281e5f3d6 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/zapdos.png differ diff --git a/graphics/object_events/pics/pokemon/followers/zigzagoon.png b/graphics/object_events/pics/pokemon/followers/zigzagoon.png new file mode 100644 index 000000000..78759aa8b Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/zigzagoon.png differ diff --git a/graphics/object_events/pics/pokemon/followers/zubat.png b/graphics/object_events/pics/pokemon/followers/zubat.png new file mode 100644 index 000000000..4460bc242 Binary files /dev/null and b/graphics/object_events/pics/pokemon/followers/zubat.png differ diff --git a/graphics/pokemon/unown/a/anim_front.png b/graphics/pokemon/unown/a/anim_front.png new file mode 100644 index 000000000..065d82a47 Binary files /dev/null and b/graphics/pokemon/unown/a/anim_front.png differ diff --git a/graphics/pokemon/unown/a/back.png b/graphics/pokemon/unown/a/back.png new file mode 100644 index 000000000..b90973023 Binary files /dev/null and b/graphics/pokemon/unown/a/back.png differ diff --git a/graphics/pokemon/unown/a/front.png b/graphics/pokemon/unown/a/front.png new file mode 100644 index 000000000..697de36dc Binary files /dev/null and b/graphics/pokemon/unown/a/front.png differ diff --git a/graphics/pokemon/unown/a/icon.png b/graphics/pokemon/unown/a/icon.png new file mode 100644 index 000000000..cd9056ab2 Binary files /dev/null and b/graphics/pokemon/unown/a/icon.png differ diff --git a/graphics/trainer_hill/maps_expert/floor_0/collision.bin b/graphics/trainer_hill/maps_expert/floor_0/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_expert/floor_0/metatiles.bin b/graphics/trainer_hill/maps_expert/floor_0/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_expert/floor_1/collision.bin b/graphics/trainer_hill/maps_expert/floor_1/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_expert/floor_1/metatiles.bin b/graphics/trainer_hill/maps_expert/floor_1/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_expert/floor_2/collision.bin b/graphics/trainer_hill/maps_expert/floor_2/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_expert/floor_2/metatiles.bin b/graphics/trainer_hill/maps_expert/floor_2/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_expert/floor_3/collision.bin b/graphics/trainer_hill/maps_expert/floor_3/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_expert/floor_3/metatiles.bin b/graphics/trainer_hill/maps_expert/floor_3/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_jp/floor_0/collision.bin b/graphics/trainer_hill/maps_jp/floor_0/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_jp/floor_0/metatiles.bin b/graphics/trainer_hill/maps_jp/floor_0/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_jp/floor_1/collision.bin b/graphics/trainer_hill/maps_jp/floor_1/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_jp/floor_1/metatiles.bin b/graphics/trainer_hill/maps_jp/floor_1/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_normal/floor_0/collision.bin b/graphics/trainer_hill/maps_normal/floor_0/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_normal/floor_0/metatiles.bin b/graphics/trainer_hill/maps_normal/floor_0/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_normal/floor_1/collision.bin b/graphics/trainer_hill/maps_normal/floor_1/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_normal/floor_1/metatiles.bin b/graphics/trainer_hill/maps_normal/floor_1/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_normal/floor_2/collision.bin b/graphics/trainer_hill/maps_normal/floor_2/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_normal/floor_2/metatiles.bin b/graphics/trainer_hill/maps_normal/floor_2/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_normal/floor_3/collision.bin b/graphics/trainer_hill/maps_normal/floor_3/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_normal/floor_3/metatiles.bin b/graphics/trainer_hill/maps_normal/floor_3/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_unique/floor_0/collision.bin b/graphics/trainer_hill/maps_unique/floor_0/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_unique/floor_0/metatiles.bin b/graphics/trainer_hill/maps_unique/floor_0/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_unique/floor_1/collision.bin b/graphics/trainer_hill/maps_unique/floor_1/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_unique/floor_1/metatiles.bin b/graphics/trainer_hill/maps_unique/floor_1/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_unique/floor_2/collision.bin b/graphics/trainer_hill/maps_unique/floor_2/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_unique/floor_2/metatiles.bin b/graphics/trainer_hill/maps_unique/floor_2/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_unique/floor_3/collision.bin b/graphics/trainer_hill/maps_unique/floor_3/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_unique/floor_3/metatiles.bin b/graphics/trainer_hill/maps_unique/floor_3/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_variety/floor_0/collision.bin b/graphics/trainer_hill/maps_variety/floor_0/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_variety/floor_0/metatiles.bin b/graphics/trainer_hill/maps_variety/floor_0/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_variety/floor_1/collision.bin b/graphics/trainer_hill/maps_variety/floor_1/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_variety/floor_1/metatiles.bin b/graphics/trainer_hill/maps_variety/floor_1/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_variety/floor_2/collision.bin b/graphics/trainer_hill/maps_variety/floor_2/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_variety/floor_2/metatiles.bin b/graphics/trainer_hill/maps_variety/floor_2/metatiles.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_variety/floor_3/collision.bin b/graphics/trainer_hill/maps_variety/floor_3/collision.bin old mode 100755 new mode 100644 diff --git a/graphics/trainer_hill/maps_variety/floor_3/metatiles.bin b/graphics/trainer_hill/maps_variety/floor_3/metatiles.bin old mode 100755 new mode 100644 diff --git a/include/config/pokemon.h b/include/config/pokemon.h index ce5faf2a6..1f6cb7864 100644 --- a/include/config/pokemon.h +++ b/include/config/pokemon.h @@ -32,10 +32,10 @@ // Forms are kept based on the base species, Eg: Meowth and Persian will keep all of their forms, but Perrserker will not be available if P_GEN_8_POKEMON is set to FALSE. // If you're disabling a generation previous to others (eg: Gen 5 but not Gen 6, 7 and 8), // remember to update NATIONAL_DEX enum in include/constants/pokedex.h to avoid players from softlocking in the non-existant entries. -#define P_GEN_4_POKEMON TRUE // Generation 4 Pokémon (DPPt, HGSS) -#define P_GEN_5_POKEMON TRUE // Generation 5 Pokémon (BW, B2W2) -#define P_GEN_6_POKEMON TRUE // Generation 6 Pokémon (XY, ORAS) -#define P_GEN_7_POKEMON TRUE // Generation 7 Pokémon (SM, USUM, LGPE) -#define P_GEN_8_POKEMON TRUE // Generation 8 Pokémon (SwSh, BDSP, LA) +#define P_GEN_4_POKEMON FALSE // Generation 4 Pokémon (DPPt, HGSS) +#define P_GEN_5_POKEMON FALSE // Generation 5 Pokémon (BW, B2W2) +#define P_GEN_6_POKEMON FALSE // Generation 6 Pokémon (XY, ORAS) +#define P_GEN_7_POKEMON FALSE // Generation 7 Pokémon (SM, USUM, LGPE) +#define P_GEN_8_POKEMON FALSE // Generation 8 Pokémon (SwSh, BDSP, LA) #endif // GUARD_CONFIG_POKEMON_H diff --git a/include/constants/easy_chat.h b/include/constants/easy_chat.h index b5875b881..b1f38941f 100644 --- a/include/constants/easy_chat.h +++ b/include/constants/easy_chat.h @@ -1095,7 +1095,7 @@ #define EC_WORD_OLD ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 30) #define EC_WORD_YOUNG ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 31) #define EC_WORD_UGLY ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 32) -#define NUM_ADDITIONAL_PHRASES 33 +#define NUM_TRENDY_SAYINGS 33 // Special Berry Masters Wife phrases #define NOT_SPECIAL_PHRASE 0 diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h index af5af5340..22bd87763 100755 --- a/include/constants/event_object_movement.h +++ b/include/constants/event_object_movement.h @@ -82,7 +82,8 @@ #define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP 0x4E #define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT 0x4F #define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT 0x50 -#define NUM_MOVEMENT_TYPES 0x51 +#define MOVEMENT_TYPE_FOLLOWING_POKEMON 0x51 +#define NUM_MOVEMENT_TYPES 0x52 #define MOVEMENT_ACTION_FACE_DOWN 0x0 #define MOVEMENT_ACTION_FACE_UP 0x1 @@ -242,6 +243,14 @@ #define MOVEMENT_ACTION_FIGURE_8 0x9B #define MOVEMENT_ACTION_FLY_UP 0x9C #define MOVEMENT_ACTION_FLY_DOWN 0x9D +#define MOVEMENT_ACTION_FOLLOWING_POKEMON 0x9E +#define MOVEMENT_ACTION_FOLLOWING_POKEMON_FACESOUTH 0x9F +#define MOVEMENT_ACTION_FOLLOWING_POKEMON_FACENORTH 0xA0 +#define MOVEMENT_ACTION_FOLLOWING_POKEMON_FACEWEST 0xA1 +#define MOVEMENT_ACTION_FOLLOWING_POKEMON_FACEEAST 0xA2 +#define MOVEMENT_ACTION_FOLLOWING_POKEMON_WALKSOUTH 0xA3 +#define MOVEMENT_ACTION_FOLLOWING_POKEMON_SHRINK 0xA4 +#define MOVEMENT_ACTION_FOLLOWING_POKEMON_GROW 0xA5 #define MOVEMENT_ACTION_STEP_END 0xFE #define MOVEMENT_ACTION_NONE 0xFF diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index c8fa94265..0c265d804 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -240,17 +240,658 @@ #define OBJ_EVENT_GFX_LINK_RS_MAY 236 #define OBJ_EVENT_GFX_LUGIA 237 #define OBJ_EVENT_GFX_HOOH 238 +#define OBJ_EVENT_GFX_BULBASAUR 239 +#define OBJ_EVENT_GFX_IVYSAUR 240 +#define OBJ_EVENT_GFX_VENUSAUR 241 +#define OBJ_EVENT_GFX_CHARMANDER 242 +#define OBJ_EVENT_GFX_CHARMELEON 243 +#define OBJ_EVENT_GFX_CHARIZARD 244 +#define OBJ_EVENT_GFX_SQUIRTLE 245 +#define OBJ_EVENT_GFX_WARTORTLE 246 +#define OBJ_EVENT_GFX_BLASTOISE 247 +#define OBJ_EVENT_GFX_CATERPIE 248 +#define OBJ_EVENT_GFX_METAPOD 249 +#define OBJ_EVENT_GFX_BUTTERFREE 250 +#define OBJ_EVENT_GFX_WEEDLE 251 +#define OBJ_EVENT_GFX_KAKUNA 252 +#define OBJ_EVENT_GFX_BEEDRILL 253 +#define OBJ_EVENT_GFX_PIDGEY 254 +#define OBJ_EVENT_GFX_PIDGEOTTO 255 +#define OBJ_EVENT_GFX_PIDGEOT 256 +#define OBJ_EVENT_GFX_RATTATA 257 +#define OBJ_EVENT_GFX_RATICATE 258 +#define OBJ_EVENT_GFX_SPEAROW 259 +#define OBJ_EVENT_GFX_FEAROW 260 +#define OBJ_EVENT_GFX_EKANS 261 +#define OBJ_EVENT_GFX_ARBOK 262 +#define OBJ_EVENT_GFX_PIKACHU_FOLLOWER 263 +#define OBJ_EVENT_GFX_RAICHU 264 +#define OBJ_EVENT_GFX_SANDSHREW 265 +#define OBJ_EVENT_GFX_SANDSLASH 266 +#define OBJ_EVENT_GFX_NIDORAN_F 267 +#define OBJ_EVENT_GFX_NIDORINA 268 +#define OBJ_EVENT_GFX_NIDOQUEEN 269 +#define OBJ_EVENT_GFX_NIDORAN_M 270 +#define OBJ_EVENT_GFX_NIDORINO 271 +#define OBJ_EVENT_GFX_NIDOKING 272 +#define OBJ_EVENT_GFX_CLEFAIRY 273 +#define OBJ_EVENT_GFX_CLEFABLE 274 +#define OBJ_EVENT_GFX_VULPIX 275 +#define OBJ_EVENT_GFX_NINETALES 276 +#define OBJ_EVENT_GFX_JIGGLYPUFF 277 +#define OBJ_EVENT_GFX_WIGGLYTUFF 278 +#define OBJ_EVENT_GFX_ZUBAT 279 +#define OBJ_EVENT_GFX_GOLBAT 280 +#define OBJ_EVENT_GFX_ODDISH 281 +#define OBJ_EVENT_GFX_GLOOM 282 +#define OBJ_EVENT_GFX_VILEPLUME 283 +#define OBJ_EVENT_GFX_PARAS 284 +#define OBJ_EVENT_GFX_PARASECT 285 +#define OBJ_EVENT_GFX_VENONAT 286 +#define OBJ_EVENT_GFX_VENOMOTH 287 +#define OBJ_EVENT_GFX_DIGLETT 288 +#define OBJ_EVENT_GFX_DUGTRIO 289 +#define OBJ_EVENT_GFX_MEOWTH 290 +#define OBJ_EVENT_GFX_PERSIAN 291 +#define OBJ_EVENT_GFX_PSYDUCK 292 +#define OBJ_EVENT_GFX_GOLDUCK 293 +#define OBJ_EVENT_GFX_MANKEY 294 +#define OBJ_EVENT_GFX_PRIMEAPE 295 +#define OBJ_EVENT_GFX_GROWLITHE 296 +#define OBJ_EVENT_GFX_ARCANINE 297 +#define OBJ_EVENT_GFX_POLIWAG 298 +#define OBJ_EVENT_GFX_POLIWHIRL 299 +#define OBJ_EVENT_GFX_POLIWRATH 300 +#define OBJ_EVENT_GFX_ABRA 301 +#define OBJ_EVENT_GFX_KADABRA 302 +#define OBJ_EVENT_GFX_ALAKAZAM 303 +#define OBJ_EVENT_GFX_MACHOP 304 +#define OBJ_EVENT_GFX_MACHOKE 305 +#define OBJ_EVENT_GFX_MACHAMP 306 +#define OBJ_EVENT_GFX_BELLSPROUT 307 +#define OBJ_EVENT_GFX_WEEPINBELL 308 +#define OBJ_EVENT_GFX_VICTREEBEL 309 +#define OBJ_EVENT_GFX_TENTACOOL 310 +#define OBJ_EVENT_GFX_TENTACRUEL 311 +#define OBJ_EVENT_GFX_GEODUDE 312 +#define OBJ_EVENT_GFX_GRAVELER 313 +#define OBJ_EVENT_GFX_GOLEM 314 +#define OBJ_EVENT_GFX_PONYTA 315 +#define OBJ_EVENT_GFX_RAPIDASH 316 +#define OBJ_EVENT_GFX_SLOWPOKE 317 +#define OBJ_EVENT_GFX_SLOWBRO 318 +#define OBJ_EVENT_GFX_MAGNEMITE 319 +#define OBJ_EVENT_GFX_MAGNETON 320 +#define OBJ_EVENT_GFX_FARFETCHD 321 +#define OBJ_EVENT_GFX_DODUO 322 +#define OBJ_EVENT_GFX_DODRIO 323 +#define OBJ_EVENT_GFX_SEEL 324 +#define OBJ_EVENT_GFX_DEWGONG 325 +#define OBJ_EVENT_GFX_GRIMER 326 +#define OBJ_EVENT_GFX_MUK 327 +#define OBJ_EVENT_GFX_SHELLDER 328 +#define OBJ_EVENT_GFX_CLOYSTER 329 +#define OBJ_EVENT_GFX_GASTLY 330 +#define OBJ_EVENT_GFX_HAUNTER 331 +#define OBJ_EVENT_GFX_GENGAR 332 +#define OBJ_EVENT_GFX_ONIX 333 +#define OBJ_EVENT_GFX_DROWZEE 334 +#define OBJ_EVENT_GFX_HYPNO 335 +#define OBJ_EVENT_GFX_KRABBY 336 +#define OBJ_EVENT_GFX_KINGLER 337 +#define OBJ_EVENT_GFX_VOLTORB 338 +#define OBJ_EVENT_GFX_ELECTRODE 339 +#define OBJ_EVENT_GFX_EXEGGCUTE 340 +#define OBJ_EVENT_GFX_EXEGGUTOR 341 +#define OBJ_EVENT_GFX_CUBONE 342 +#define OBJ_EVENT_GFX_MAROWAK 343 +#define OBJ_EVENT_GFX_HITMONLEE 344 +#define OBJ_EVENT_GFX_HITMONCHAN 345 +#define OBJ_EVENT_GFX_LICKITUNG 346 +#define OBJ_EVENT_GFX_KOFFING 347 +#define OBJ_EVENT_GFX_WEEZING 348 +#define OBJ_EVENT_GFX_RHYHORN 349 +#define OBJ_EVENT_GFX_RHYDON 350 +#define OBJ_EVENT_GFX_CHANSEY 351 +#define OBJ_EVENT_GFX_TANGELA 352 +#define OBJ_EVENT_GFX_KANGASKHAN 353 +#define OBJ_EVENT_GFX_HORSEA 354 +#define OBJ_EVENT_GFX_SEADRA 355 +#define OBJ_EVENT_GFX_GOLDEEN 356 +#define OBJ_EVENT_GFX_SEAKING 357 +#define OBJ_EVENT_GFX_STARYU 358 +#define OBJ_EVENT_GFX_STARMIE 359 +#define OBJ_EVENT_GFX_MR_MIME 360 +#define OBJ_EVENT_GFX_SCYTHER 361 +#define OBJ_EVENT_GFX_JYNX 362 +#define OBJ_EVENT_GFX_ELECTABUZZ 363 +#define OBJ_EVENT_GFX_MAGMAR 364 +#define OBJ_EVENT_GFX_PINSIR 365 +#define OBJ_EVENT_GFX_TAUROS 366 +#define OBJ_EVENT_GFX_MAGIKARP 367 +#define OBJ_EVENT_GFX_GYARADOS 368 +#define OBJ_EVENT_GFX_LAPRAS 369 +#define OBJ_EVENT_GFX_DITTO 370 +#define OBJ_EVENT_GFX_EEVEE 371 +#define OBJ_EVENT_GFX_VAPOREON 372 +#define OBJ_EVENT_GFX_JOLTEON 373 +#define OBJ_EVENT_GFX_FLAREON 374 +#define OBJ_EVENT_GFX_PORYGON 375 +#define OBJ_EVENT_GFX_OMANYTE 376 +#define OBJ_EVENT_GFX_OMASTAR 377 +#define OBJ_EVENT_GFX_KABUTO 378 +#define OBJ_EVENT_GFX_KABUTOPS 379 +#define OBJ_EVENT_GFX_AERODACTYL 380 +#define OBJ_EVENT_GFX_SNORLAX 381 +#define OBJ_EVENT_GFX_ARTICUNO 382 +#define OBJ_EVENT_GFX_ZAPDOS 383 +#define OBJ_EVENT_GFX_MOLTRES 384 +#define OBJ_EVENT_GFX_DRATINI 385 +#define OBJ_EVENT_GFX_DRAGONAIR 386 +#define OBJ_EVENT_GFX_DRAGONITE 387 +#define OBJ_EVENT_GFX_MEWTWO 388 +#define OBJ_EVENT_GFX_MEW_FOLLOWER 389 +#define OBJ_EVENT_GFX_CHIKORITA 390 +#define OBJ_EVENT_GFX_BAYLEEF 391 +#define OBJ_EVENT_GFX_MEGANIUM 392 +#define OBJ_EVENT_GFX_CYNDAQUIL 393 +#define OBJ_EVENT_GFX_QUILAVA 394 +#define OBJ_EVENT_GFX_TYPHLOSION 395 +#define OBJ_EVENT_GFX_TOTODILE 396 +#define OBJ_EVENT_GFX_CROCONAW 397 +#define OBJ_EVENT_GFX_FERALIGATR 398 +#define OBJ_EVENT_GFX_SENTRET 399 +#define OBJ_EVENT_GFX_FURRET 400 +#define OBJ_EVENT_GFX_HOOTHOOT 401 +#define OBJ_EVENT_GFX_NOCTOWL 402 +#define OBJ_EVENT_GFX_LEDYBA 403 +#define OBJ_EVENT_GFX_LEDIAN 404 +#define OBJ_EVENT_GFX_SPINARAK 405 +#define OBJ_EVENT_GFX_ARIADOS 406 +#define OBJ_EVENT_GFX_CROBAT 407 +#define OBJ_EVENT_GFX_CHINCHOU 408 +#define OBJ_EVENT_GFX_LANTURN 409 +#define OBJ_EVENT_GFX_PICHU 410 +#define OBJ_EVENT_GFX_CLEFFA 411 +#define OBJ_EVENT_GFX_IGGLYBUFF 412 +#define OBJ_EVENT_GFX_TOGEPI 413 +#define OBJ_EVENT_GFX_TOGETIC 414 +#define OBJ_EVENT_GFX_NATU 415 +#define OBJ_EVENT_GFX_XATU 416 +#define OBJ_EVENT_GFX_MAREEP 417 +#define OBJ_EVENT_GFX_FLAAFFY 418 +#define OBJ_EVENT_GFX_AMPHAROS 419 +#define OBJ_EVENT_GFX_BELLOSSOM 420 +#define OBJ_EVENT_GFX_MARILL 421 +#define OBJ_EVENT_GFX_AZUMARILL_FOLLOWER 422 +#define OBJ_EVENT_GFX_SUDOWOODO_FOLLOWER 423 +#define OBJ_EVENT_GFX_POLITOED 424 +#define OBJ_EVENT_GFX_HOPPIP 425 +#define OBJ_EVENT_GFX_SKIPLOOM 426 +#define OBJ_EVENT_GFX_JUMPLUFF 427 +#define OBJ_EVENT_GFX_AIPOM 428 +#define OBJ_EVENT_GFX_SUNKERN 429 +#define OBJ_EVENT_GFX_SUNFLORA 430 +#define OBJ_EVENT_GFX_YANMA 431 +#define OBJ_EVENT_GFX_WOOPER 432 +#define OBJ_EVENT_GFX_QUAGSIRE 433 +#define OBJ_EVENT_GFX_ESPEON 434 +#define OBJ_EVENT_GFX_UMBREON 435 +#define OBJ_EVENT_GFX_MURKROW 436 +#define OBJ_EVENT_GFX_SLOWKING 437 +#define OBJ_EVENT_GFX_MISDREAVUS 438 +#define OBJ_EVENT_GFX_UNOWN_A 439 +#define OBJ_EVENT_GFX_WOBBUFFET 440 +#define OBJ_EVENT_GFX_GIRAFARIG 441 +#define OBJ_EVENT_GFX_PINECO 442 +#define OBJ_EVENT_GFX_FORRETRESS 443 +#define OBJ_EVENT_GFX_DUNSPARCE 444 +#define OBJ_EVENT_GFX_GLIGAR 445 +#define OBJ_EVENT_GFX_STEELIX 446 +#define OBJ_EVENT_GFX_SNUBBULL 447 +#define OBJ_EVENT_GFX_GRANBULL 448 +#define OBJ_EVENT_GFX_QWILFISH 449 +#define OBJ_EVENT_GFX_SCIZOR 450 +#define OBJ_EVENT_GFX_SHUCKLE 451 +#define OBJ_EVENT_GFX_HERACROSS 452 +#define OBJ_EVENT_GFX_SNEASEL 453 +#define OBJ_EVENT_GFX_TEDDIURSA 454 +#define OBJ_EVENT_GFX_URSARING 455 +#define OBJ_EVENT_GFX_SLUGMA 456 +#define OBJ_EVENT_GFX_MAGCARGO 457 +#define OBJ_EVENT_GFX_SWINUB 458 +#define OBJ_EVENT_GFX_PILOSWINE 459 +#define OBJ_EVENT_GFX_CORSOLA 460 +#define OBJ_EVENT_GFX_REMORAID 461 +#define OBJ_EVENT_GFX_OCTILLERY 462 +#define OBJ_EVENT_GFX_DELIBIRD 463 +#define OBJ_EVENT_GFX_MANTINE 464 +#define OBJ_EVENT_GFX_SKARMORY 465 +#define OBJ_EVENT_GFX_HOUNDOUR 466 +#define OBJ_EVENT_GFX_HOUNDOOM 467 +#define OBJ_EVENT_GFX_KINGDRA 468 +#define OBJ_EVENT_GFX_PHANPY 469 +#define OBJ_EVENT_GFX_DONPHAN 470 +#define OBJ_EVENT_GFX_PORYGON2 471 +#define OBJ_EVENT_GFX_STANTLER 472 +#define OBJ_EVENT_GFX_SMEARGLE 473 +#define OBJ_EVENT_GFX_TYROGUE 474 +#define OBJ_EVENT_GFX_HITMONTOP 475 +#define OBJ_EVENT_GFX_SMOOCHUM 476 +#define OBJ_EVENT_GFX_ELEKID 477 +#define OBJ_EVENT_GFX_MAGBY 478 +#define OBJ_EVENT_GFX_MILTANK 479 +#define OBJ_EVENT_GFX_BLISSEY 480 +#define OBJ_EVENT_GFX_RAIKOU 481 +#define OBJ_EVENT_GFX_ENTEI 482 +#define OBJ_EVENT_GFX_SUICUNE 483 +#define OBJ_EVENT_GFX_LARVITAR 484 +#define OBJ_EVENT_GFX_PUPITAR 485 +#define OBJ_EVENT_GFX_TYRANITAR 486 +#define OBJ_EVENT_GFX_LUGIA_FOLLOWER 487 +#define OBJ_EVENT_GFX_HOOH_FOLLOWER 488 +#define OBJ_EVENT_GFX_CELEBI 489 -// 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 +#ifndef POKEMON_EXPANSION + +#define OBJ_EVENT_GFX_GREAT_BALL 490 +#define OBJ_EVENT_GFX_ULTRA_BALL 491 +#define OBJ_EVENT_GFX_MASTER_BALL 492 +#define OBJ_EVENT_GFX_SAFARI_BALL 493 +#define OBJ_EVENT_GFX_NET_BALL 494 +#define OBJ_EVENT_GFX_DIVE_BALL 495 +#define OBJ_EVENT_GFX_NEST_BALL 496 +#define OBJ_EVENT_GFX_REPEAT_BALL 497 +#define OBJ_EVENT_GFX_TIMER_BALL 498 +#define OBJ_EVENT_GFX_LUXURY_BALL 499 +#define OBJ_EVENT_GFX_PREMIER_BALL 500 +#define OBJ_EVENT_GFX_HEAL_BALL 501 +#define OBJ_EVENT_GFX_DUSK_BALL 502 +#define OBJ_EVENT_GFX_QUICK_BALL 503 +#define OBJ_EVENT_GFX_LEVEL_BALL 504 +#define OBJ_EVENT_GFX_LURE_BALL 505 +#define OBJ_EVENT_GFX_MOON_BALL 506 +#define OBJ_EVENT_GFX_FRIEND_BALL 507 +#define OBJ_EVENT_GFX_LOVE_BALL 508 +#define OBJ_EVENT_GFX_FAST_BALL 509 +#define OBJ_EVENT_GFX_HEAVY_BALL 510 +#define OBJ_EVENT_GFX_DREAM_BALL 511 +#define OBJ_EVENT_GFX_SPORT_BALL 512 +#define OBJ_EVENT_GFX_PARK_BALL 513 +#define OBJ_EVENT_GFX_CHERISH_BALL 514 + +// Jump in numbers due to SPECIES_OLD_UNOWN constants +#define OBJ_EVENT_GFX_TREECKO 515 +#define OBJ_EVENT_GFX_GROVYLE 516 +#define OBJ_EVENT_GFX_SCEPTILE 517 +#define OBJ_EVENT_GFX_TORCHIC 518 +#define OBJ_EVENT_GFX_COMBUSKEN 519 +#define OBJ_EVENT_GFX_BLAZIKEN 520 +#define OBJ_EVENT_GFX_MUDKIP 521 +#define OBJ_EVENT_GFX_MARSHTOMP 522 +#define OBJ_EVENT_GFX_SWAMPERT 523 +#define OBJ_EVENT_GFX_POOCHYENA_FOLLOWER 524 +#define OBJ_EVENT_GFX_MIGHTYENA 525 +#define OBJ_EVENT_GFX_ZIGZAGOON_FOLLOWER 526 +#define OBJ_EVENT_GFX_LINOONE 527 +#define OBJ_EVENT_GFX_WURMPLE 528 +#define OBJ_EVENT_GFX_SILCOON 529 +#define OBJ_EVENT_GFX_BEAUTIFLY 530 +#define OBJ_EVENT_GFX_CASCOON 531 +#define OBJ_EVENT_GFX_DUSTOX 532 +#define OBJ_EVENT_GFX_LOTAD 533 +#define OBJ_EVENT_GFX_LOMBRE 534 +#define OBJ_EVENT_GFX_LUDICOLO 535 +#define OBJ_EVENT_GFX_SEEDOT 536 +#define OBJ_EVENT_GFX_NUZLEAF 537 +#define OBJ_EVENT_GFX_SHIFTRY 538 +#define OBJ_EVENT_GFX_NINCADA 539 +#define OBJ_EVENT_GFX_NINJASK 540 +#define OBJ_EVENT_GFX_SHEDINJA 541 +#define OBJ_EVENT_GFX_TAILLOW 542 +#define OBJ_EVENT_GFX_SWELLOW 543 +#define OBJ_EVENT_GFX_SHROOMISH 544 +#define OBJ_EVENT_GFX_BRELOOM 545 +#define OBJ_EVENT_GFX_SPINDA 546 +#define OBJ_EVENT_GFX_WINGULL_FOLLOWER 547 +#define OBJ_EVENT_GFX_PELIPPER 548 +#define OBJ_EVENT_GFX_SURSKIT 549 +#define OBJ_EVENT_GFX_MASQUERAIN 550 +#define OBJ_EVENT_GFX_WAILMER 551 +#define OBJ_EVENT_GFX_WAILORD 552 +#define OBJ_EVENT_GFX_SKITTY_FOLLOWER 553 +#define OBJ_EVENT_GFX_DELCATTY 554 +#define OBJ_EVENT_GFX_KECLEON_FOLLOWER 555 +#define OBJ_EVENT_GFX_BALTOY 556 +#define OBJ_EVENT_GFX_CLAYDOL 557 +#define OBJ_EVENT_GFX_NOSEPASS 558 +#define OBJ_EVENT_GFX_TORKOAL 559 +#define OBJ_EVENT_GFX_SABLEYE 560 +#define OBJ_EVENT_GFX_BARBOACH 561 +#define OBJ_EVENT_GFX_WHISCASH 562 +#define OBJ_EVENT_GFX_LUVDISC 563 +#define OBJ_EVENT_GFX_CORPHISH 564 +#define OBJ_EVENT_GFX_CRAWDAUNT 565 +#define OBJ_EVENT_GFX_FEEBAS 566 +#define OBJ_EVENT_GFX_MILOTIC 567 +#define OBJ_EVENT_GFX_CARVANHA 568 +#define OBJ_EVENT_GFX_SHARPEDO 569 +#define OBJ_EVENT_GFX_TRAPINCH 570 +#define OBJ_EVENT_GFX_VIBRAVA 571 +#define OBJ_EVENT_GFX_FLYGON 572 +#define OBJ_EVENT_GFX_MAKUHITA 573 +#define OBJ_EVENT_GFX_HARIYAMA 574 +#define OBJ_EVENT_GFX_ELECTRIKE 575 +#define OBJ_EVENT_GFX_MANECTRIC 576 +#define OBJ_EVENT_GFX_NUMEL 577 +#define OBJ_EVENT_GFX_CAMERUPT 578 +#define OBJ_EVENT_GFX_SPHEAL 579 +#define OBJ_EVENT_GFX_SEALEO 580 +#define OBJ_EVENT_GFX_WALREIN 581 +#define OBJ_EVENT_GFX_CACNEA 582 +#define OBJ_EVENT_GFX_CACTURNE 583 +#define OBJ_EVENT_GFX_SNORUNT 584 +#define OBJ_EVENT_GFX_GLALIE 585 +#define OBJ_EVENT_GFX_LUNATONE 586 +#define OBJ_EVENT_GFX_SOLROCK 587 +#define OBJ_EVENT_GFX_AZURILL_FOLLOWER 588 +#define OBJ_EVENT_GFX_SPOINK 589 +#define OBJ_EVENT_GFX_GRUMPIG 590 +#define OBJ_EVENT_GFX_PLUSLE 591 +#define OBJ_EVENT_GFX_MINUN 592 +#define OBJ_EVENT_GFX_MAWILE 593 +#define OBJ_EVENT_GFX_MEDITITE 594 +#define OBJ_EVENT_GFX_MEDICHAM 595 +#define OBJ_EVENT_GFX_SWABLU 596 +#define OBJ_EVENT_GFX_ALTARIA 597 +#define OBJ_EVENT_GFX_WYNAUT 598 +#define OBJ_EVENT_GFX_DUSKULL 599 +#define OBJ_EVENT_GFX_DUSCLOPS_FOLLOWER 600 +#define OBJ_EVENT_GFX_ROSELIA 601 +#define OBJ_EVENT_GFX_SLAKOTH 602 +#define OBJ_EVENT_GFX_VIGOROTH_FOLLOWER 603 +#define OBJ_EVENT_GFX_SLAKING 604 +#define OBJ_EVENT_GFX_GULPIN 605 +#define OBJ_EVENT_GFX_SWALOT 606 +#define OBJ_EVENT_GFX_TROPIUS 607 +#define OBJ_EVENT_GFX_WHISMUR 608 +#define OBJ_EVENT_GFX_LOUDRED 609 +#define OBJ_EVENT_GFX_EXPLOUD 610 +#define OBJ_EVENT_GFX_CLAMPERL 611 +#define OBJ_EVENT_GFX_HUNTAIL 612 +#define OBJ_EVENT_GFX_GOREBYSS 613 +#define OBJ_EVENT_GFX_ABSOL 614 +#define OBJ_EVENT_GFX_SHUPPET 615 +#define OBJ_EVENT_GFX_BANETTE 616 +#define OBJ_EVENT_GFX_SEVIPER 617 +#define OBJ_EVENT_GFX_ZANGOOSE 618 +#define OBJ_EVENT_GFX_RELICANTH 619 +#define OBJ_EVENT_GFX_ARON 620 +#define OBJ_EVENT_GFX_LAIRON 621 +#define OBJ_EVENT_GFX_AGGRON 622 +#define OBJ_EVENT_GFX_CASTFORM 623 +#define OBJ_EVENT_GFX_VOLBEAT 624 +#define OBJ_EVENT_GFX_ILLUMISE 625 +#define OBJ_EVENT_GFX_LILEEP 626 +#define OBJ_EVENT_GFX_CRADILY 627 +#define OBJ_EVENT_GFX_ANORITH 628 +#define OBJ_EVENT_GFX_ARMALDO 629 +#define OBJ_EVENT_GFX_RALTS 630 +#define OBJ_EVENT_GFX_KIRLIA_FOLLOWER 631 +#define OBJ_EVENT_GFX_GARDEVOIR 632 +#define OBJ_EVENT_GFX_BAGON 633 +#define OBJ_EVENT_GFX_SHELGON 634 +#define OBJ_EVENT_GFX_SALAMENCE 635 +#define OBJ_EVENT_GFX_BELDUM 636 +#define OBJ_EVENT_GFX_METANG 637 +#define OBJ_EVENT_GFX_METAGROSS 638 +#define OBJ_EVENT_GFX_REGIROCK_FOLLOWER 639 +#define OBJ_EVENT_GFX_REGICE_FOLLOWER 640 +#define OBJ_EVENT_GFX_REGISTEEL_FOLLOWER 641 +#define OBJ_EVENT_GFX_KYOGRE 642 +#define OBJ_EVENT_GFX_GROUDON 643 +#define OBJ_EVENT_GFX_RAYQUAZA_FOLLOWER 644 +#define OBJ_EVENT_GFX_LATIAS_FOLLOWER 645 +#define OBJ_EVENT_GFX_LATIOS_FOLLOWER 646 +#define OBJ_EVENT_GFX_JIRACHI 647 +#define OBJ_EVENT_GFX_DEOXYS_NORMAL 648 +#define OBJ_EVENT_GFX_CHIMECHO 649 + +// Other forms +#define OBJ_EVENT_GFX_DEOXYS_ATTACK 650 +#define OBJ_EVENT_GFX_DEOXYS_DEFENSE 651 +#define OBJ_EVENT_GFX_DEOXYS_SPEED 652 +#define OBJ_EVENT_GFX_UNOWN_B 653 +#define OBJ_EVENT_GFX_UNOWN_C 654 +#define OBJ_EVENT_GFX_UNOWN_D 655 +#define OBJ_EVENT_GFX_UNOWN_E 656 +#define OBJ_EVENT_GFX_UNOWN_F 657 +#define OBJ_EVENT_GFX_UNOWN_G 658 +#define OBJ_EVENT_GFX_UNOWN_H 659 +#define OBJ_EVENT_GFX_UNOWN_I 660 +#define OBJ_EVENT_GFX_UNOWN_J 661 +#define OBJ_EVENT_GFX_UNOWN_K 662 +#define OBJ_EVENT_GFX_UNOWN_L 663 +#define OBJ_EVENT_GFX_UNOWN_M 664 +#define OBJ_EVENT_GFX_UNOWN_N 665 +#define OBJ_EVENT_GFX_UNOWN_O 666 +#define OBJ_EVENT_GFX_UNOWN_P 667 +#define OBJ_EVENT_GFX_UNOWN_Q 668 +#define OBJ_EVENT_GFX_UNOWN_R 669 +#define OBJ_EVENT_GFX_UNOWN_S 670 +#define OBJ_EVENT_GFX_UNOWN_T 671 +#define OBJ_EVENT_GFX_UNOWN_U 672 +#define OBJ_EVENT_GFX_UNOWN_V 673 +#define OBJ_EVENT_GFX_UNOWN_W 674 +#define OBJ_EVENT_GFX_UNOWN_X 675 +#define OBJ_EVENT_GFX_UNOWN_Y 676 +#define OBJ_EVENT_GFX_UNOWN_Z 677 +#define OBJ_EVENT_GFX_UNOWN_EXCLAMATION 678 +#define OBJ_EVENT_GFX_UNOWN_QUESTION 679 + +#define OBJ_EVENT_GFX_EXPANDING_SPARKLE 680 + +#else +// There are no OLD_UNOWN constants in the pokemon_expansion, and the species constants are reordered + +#define OBJ_EVENT_GFX_TREECKO 490 +#define OBJ_EVENT_GFX_GROVYLE 491 +#define OBJ_EVENT_GFX_SCEPTILE 492 +#define OBJ_EVENT_GFX_TORCHIC 493 +#define OBJ_EVENT_GFX_COMBUSKEN 494 +#define OBJ_EVENT_GFX_BLAZIKEN 495 +#define OBJ_EVENT_GFX_MUDKIP 496 +#define OBJ_EVENT_GFX_MARSHTOMP 497 +#define OBJ_EVENT_GFX_SWAMPERT 498 +#define OBJ_EVENT_GFX_POOCHYENA_FOLLOWER 499 +#define OBJ_EVENT_GFX_MIGHTYENA 500 +#define OBJ_EVENT_GFX_ZIGZAGOON_FOLLOWER 501 +#define OBJ_EVENT_GFX_LINOONE 502 +#define OBJ_EVENT_GFX_WURMPLE 503 +#define OBJ_EVENT_GFX_SILCOON 504 +#define OBJ_EVENT_GFX_BEAUTIFLY 505 +#define OBJ_EVENT_GFX_CASCOON 506 +#define OBJ_EVENT_GFX_DUSTOX 507 +#define OBJ_EVENT_GFX_LOTAD 508 +#define OBJ_EVENT_GFX_LOMBRE 509 +#define OBJ_EVENT_GFX_LUDICOLO 510 +#define OBJ_EVENT_GFX_SEEDOT 511 +#define OBJ_EVENT_GFX_NUZLEAF 512 +#define OBJ_EVENT_GFX_SHIFTRY 513 +#define OBJ_EVENT_GFX_TAILLOW 514 +#define OBJ_EVENT_GFX_SWELLOW 515 +#define OBJ_EVENT_GFX_WINGULL_FOLLOWER 516 +#define OBJ_EVENT_GFX_PELIPPER 517 +#define OBJ_EVENT_GFX_RALTS 518 +#define OBJ_EVENT_GFX_KIRLIA_FOLLOWER 519 +#define OBJ_EVENT_GFX_GARDEVOIR 520 +#define OBJ_EVENT_GFX_SURSKIT 521 +#define OBJ_EVENT_GFX_MASQUERAIN 522 +#define OBJ_EVENT_GFX_SHROOMISH 523 +#define OBJ_EVENT_GFX_BRELOOM 524 +#define OBJ_EVENT_GFX_SLAKOTH 525 +#define OBJ_EVENT_GFX_VIGOROTH_FOLLOWER 526 +#define OBJ_EVENT_GFX_SLAKING 527 +#define OBJ_EVENT_GFX_NINCADA 528 +#define OBJ_EVENT_GFX_NINJASK 529 +#define OBJ_EVENT_GFX_SHEDINJA 530 +#define OBJ_EVENT_GFX_WHISMUR 531 +#define OBJ_EVENT_GFX_LOUDRED 532 +#define OBJ_EVENT_GFX_EXPLOUD 533 +#define OBJ_EVENT_GFX_MAKUHITA 534 +#define OBJ_EVENT_GFX_HARIYAMA 535 +#define OBJ_EVENT_GFX_AZURILL_FOLLOWER 536 +#define OBJ_EVENT_GFX_NOSEPASS 537 +#define OBJ_EVENT_GFX_SKITTY_FOLLOWER 538 +#define OBJ_EVENT_GFX_DELCATTY 539 +#define OBJ_EVENT_GFX_SABLEYE 540 +#define OBJ_EVENT_GFX_MAWILE 541 +#define OBJ_EVENT_GFX_ARON 542 +#define OBJ_EVENT_GFX_LAIRON 543 +#define OBJ_EVENT_GFX_AGGRON 544 +#define OBJ_EVENT_GFX_MEDITITE 545 +#define OBJ_EVENT_GFX_MEDICHAM 546 +#define OBJ_EVENT_GFX_ELECTRIKE 547 +#define OBJ_EVENT_GFX_MANECTRIC 548 +#define OBJ_EVENT_GFX_PLUSLE 549 +#define OBJ_EVENT_GFX_MINUN 550 +#define OBJ_EVENT_GFX_VOLBEAT 551 +#define OBJ_EVENT_GFX_ILLUMISE 552 +#define OBJ_EVENT_GFX_ROSELIA 553 +#define OBJ_EVENT_GFX_GULPIN 554 +#define OBJ_EVENT_GFX_SWALOT 555 +#define OBJ_EVENT_GFX_CARVANHA 556 +#define OBJ_EVENT_GFX_SHARPEDO 557 +#define OBJ_EVENT_GFX_WAILMER 558 +#define OBJ_EVENT_GFX_WAILORD 559 +#define OBJ_EVENT_GFX_NUMEL 560 +#define OBJ_EVENT_GFX_CAMERUPT 561 +#define OBJ_EVENT_GFX_TORKOAL 562 +#define OBJ_EVENT_GFX_SPOINK 563 +#define OBJ_EVENT_GFX_GRUMPIG 564 +#define OBJ_EVENT_GFX_SPINDA 565 +#define OBJ_EVENT_GFX_TRAPINCH 566 +#define OBJ_EVENT_GFX_VIBRAVA 567 +#define OBJ_EVENT_GFX_FLYGON 568 +#define OBJ_EVENT_GFX_CACNEA 569 +#define OBJ_EVENT_GFX_CACTURNE 570 +#define OBJ_EVENT_GFX_SWABLU 571 +#define OBJ_EVENT_GFX_ALTARIA 572 +#define OBJ_EVENT_GFX_ZANGOOSE 573 +#define OBJ_EVENT_GFX_SEVIPER 574 +#define OBJ_EVENT_GFX_LUNATONE 575 +#define OBJ_EVENT_GFX_SOLROCK 576 +#define OBJ_EVENT_GFX_BARBOACH 577 +#define OBJ_EVENT_GFX_WHISCASH 578 +#define OBJ_EVENT_GFX_CORPHISH 579 +#define OBJ_EVENT_GFX_CRAWDAUNT 580 +#define OBJ_EVENT_GFX_BALTOY 581 +#define OBJ_EVENT_GFX_CLAYDOL 582 +#define OBJ_EVENT_GFX_LILEEP 583 +#define OBJ_EVENT_GFX_CRADILY 584 +#define OBJ_EVENT_GFX_ANORITH 585 +#define OBJ_EVENT_GFX_ARMALDO 586 +#define OBJ_EVENT_GFX_FEEBAS 587 +#define OBJ_EVENT_GFX_MILOTIC 588 +#define OBJ_EVENT_GFX_CASTFORM 589 +#define OBJ_EVENT_GFX_KECLEON_FOLLOWER 590 +#define OBJ_EVENT_GFX_SHUPPET 591 +#define OBJ_EVENT_GFX_BANETTE 592 +#define OBJ_EVENT_GFX_DUSKULL 593 +#define OBJ_EVENT_GFX_DUSCLOPS_FOLLOWER 594 +#define OBJ_EVENT_GFX_TROPIUS 595 +#define OBJ_EVENT_GFX_CHIMECHO 596 +#define OBJ_EVENT_GFX_ABSOL 597 +#define OBJ_EVENT_GFX_WYNAUT 598 +#define OBJ_EVENT_GFX_SNORUNT 599 +#define OBJ_EVENT_GFX_GLALIE 600 +#define OBJ_EVENT_GFX_SPHEAL 601 +#define OBJ_EVENT_GFX_SEALEO 602 +#define OBJ_EVENT_GFX_WALREIN 603 +#define OBJ_EVENT_GFX_CLAMPERL 604 +#define OBJ_EVENT_GFX_HUNTAIL 605 +#define OBJ_EVENT_GFX_GOREBYSS 606 +#define OBJ_EVENT_GFX_RELICANTH 607 +#define OBJ_EVENT_GFX_LUVDISC 608 +#define OBJ_EVENT_GFX_BAGON 609 +#define OBJ_EVENT_GFX_SHELGON 610 +#define OBJ_EVENT_GFX_SALAMENCE 611 +#define OBJ_EVENT_GFX_BELDUM 612 +#define OBJ_EVENT_GFX_METANG 613 +#define OBJ_EVENT_GFX_METAGROSS 614 +#define OBJ_EVENT_GFX_REGIROCK_FOLLOWER 615 +#define OBJ_EVENT_GFX_REGICE_FOLLOWER 616 +#define OBJ_EVENT_GFX_REGISTEEL_FOLLOWER 617 +#define OBJ_EVENT_GFX_LATIAS_FOLLOWER 618 +#define OBJ_EVENT_GFX_LATIOS_FOLLOWER 619 +#define OBJ_EVENT_GFX_KYOGRE 620 +#define OBJ_EVENT_GFX_GROUDON 621 +#define OBJ_EVENT_GFX_RAYQUAZA_FOLLOWER 622 +#define OBJ_EVENT_GFX_JIRACHI 623 +#define OBJ_EVENT_GFX_DEOXYS_NORMAL 624 + +// Other forms +#define OBJ_EVENT_GFX_DEOXYS_ATTACK 625 +#define OBJ_EVENT_GFX_DEOXYS_DEFENSE 626 +#define OBJ_EVENT_GFX_DEOXYS_SPEED 627 +#define OBJ_EVENT_GFX_UNOWN_B 628 +#define OBJ_EVENT_GFX_UNOWN_C 629 +#define OBJ_EVENT_GFX_UNOWN_D 630 +#define OBJ_EVENT_GFX_UNOWN_E 631 +#define OBJ_EVENT_GFX_UNOWN_F 632 +#define OBJ_EVENT_GFX_UNOWN_G 633 +#define OBJ_EVENT_GFX_UNOWN_H 634 +#define OBJ_EVENT_GFX_UNOWN_I 635 +#define OBJ_EVENT_GFX_UNOWN_J 636 +#define OBJ_EVENT_GFX_UNOWN_K 637 +#define OBJ_EVENT_GFX_UNOWN_L 638 +#define OBJ_EVENT_GFX_UNOWN_M 639 +#define OBJ_EVENT_GFX_UNOWN_N 640 +#define OBJ_EVENT_GFX_UNOWN_O 641 +#define OBJ_EVENT_GFX_UNOWN_P 642 +#define OBJ_EVENT_GFX_UNOWN_Q 643 +#define OBJ_EVENT_GFX_UNOWN_R 644 +#define OBJ_EVENT_GFX_UNOWN_S 645 +#define OBJ_EVENT_GFX_UNOWN_T 646 +#define OBJ_EVENT_GFX_UNOWN_U 647 +#define OBJ_EVENT_GFX_UNOWN_V 648 +#define OBJ_EVENT_GFX_UNOWN_W 649 +#define OBJ_EVENT_GFX_UNOWN_X 650 +#define OBJ_EVENT_GFX_UNOWN_Y 651 +#define OBJ_EVENT_GFX_UNOWN_Z 652 +#define OBJ_EVENT_GFX_UNOWN_EXCLAMATION 653 +#define OBJ_EVENT_GFX_UNOWN_QUESTION 654 + +#define OBJ_EVENT_GFX_GREAT_BALL 655 +#define OBJ_EVENT_GFX_ULTRA_BALL 656 +#define OBJ_EVENT_GFX_MASTER_BALL 657 +#define OBJ_EVENT_GFX_SAFARI_BALL 658 +#define OBJ_EVENT_GFX_NET_BALL 659 +#define OBJ_EVENT_GFX_DIVE_BALL 660 +#define OBJ_EVENT_GFX_NEST_BALL 661 +#define OBJ_EVENT_GFX_REPEAT_BALL 662 +#define OBJ_EVENT_GFX_TIMER_BALL 663 +#define OBJ_EVENT_GFX_LUXURY_BALL 664 +#define OBJ_EVENT_GFX_PREMIER_BALL 665 +#define OBJ_EVENT_GFX_HEAL_BALL 666 +#define OBJ_EVENT_GFX_DUSK_BALL 667 +#define OBJ_EVENT_GFX_QUICK_BALL 668 +#define OBJ_EVENT_GFX_LEVEL_BALL 669 +#define OBJ_EVENT_GFX_LURE_BALL 670 +#define OBJ_EVENT_GFX_MOON_BALL 671 +#define OBJ_EVENT_GFX_FRIEND_BALL 672 +#define OBJ_EVENT_GFX_LOVE_BALL 673 +#define OBJ_EVENT_GFX_FAST_BALL 674 +#define OBJ_EVENT_GFX_HEAVY_BALL 675 +#define OBJ_EVENT_GFX_DREAM_BALL 676 +#define OBJ_EVENT_GFX_SPORT_BALL 677 +#define OBJ_EVENT_GFX_PARK_BALL 678 +#define OBJ_EVENT_GFX_CHERISH_BALL 679 +#define OBJ_EVENT_GFX_EXPANDING_SPARKLE 680 + +#endif + +#define NUM_OBJ_EVENT_GFX 681 // These are dynamic object gfx ids. @@ -285,6 +926,9 @@ #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 @@ -293,6 +937,7 @@ // Special object event local ids #define OBJ_EVENT_ID_PLAYER 0xFF +#define OBJ_EVENT_ID_FOLLOWER 0xFE #define OBJ_EVENT_ID_CAMERA 0x7F // Object event local ids referenced in C files diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h index a62040947..b7195e2bd 100644 --- a/include/constants/field_effects.h +++ b/include/constants/field_effects.h @@ -68,6 +68,9 @@ #define FLDEFF_RAYQUAZA_SPOTLIGHT 64 #define FLDEFF_DESTROY_DEOXYS_ROCK 65 #define FLDEFF_MOVE_DEOXYS_ROCK 66 +#define FLDEFF_TRACKS_SLITHER 67 +#define FLDEFF_TRACKS_SPOT 68 +#define FLDEFF_TRACKS_BUG 69 #define FLDEFFOBJ_SHADOW_S 0 #define FLDEFFOBJ_SHADOW_M 1 @@ -106,6 +109,9 @@ #define FLDEFFOBJ_BUBBLES 34 #define FLDEFFOBJ_SMALL_SPARKLE 35 #define FLDEFFOBJ_RAYQUAZA 36 +#define FLDEFFOBJ_TRACKS_SLITHER 37 +#define FLDEFFOBJ_TRACKS_SPOT 38 +#define FLDEFFOBJ_TRACKS_BUG 39 #define FLDEFF_PAL_TAG_CUT_GRASS 0x1000 #define FLDEFF_PAL_TAG_SECRET_POWER_TREE 0x1003 diff --git a/include/constants/flags.h b/include/constants/flags.h index 99a8377a7..36a38a6e2 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -41,8 +41,9 @@ #define FLAG_TEMP_1F (TEMP_FLAGS_START + 0x1F) #define TEMP_FLAGS_END FLAG_TEMP_1F -#define FLAG_UNUSED_0x020 0x20 // Unused Flag -#define FLAG_UNUSED_0x021 0x21 // Unused Flag +#define FLAG_FOLLOWER_ACTIVE 0x20 // Reveals the follower object +#define FLAG_FOLLOWER_IN_BUILDING 0x21 // Used for speeding up follower door exiting + #define FLAG_UNUSED_0x022 0x22 // Unused Flag #define FLAG_UNUSED_0x023 0x23 // Unused Flag #define FLAG_UNUSED_0x024 0x24 // Unused Flag @@ -1123,7 +1124,7 @@ #define FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL 0x433 #define FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE 0x434 #define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL 0x435 -#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER 0x436 +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_2_SCANNER 0x436 #define FLAG_ITEM_SCORCHED_SLAB_TM11 0x437 #define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM02 0x438 #define FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL 0x439 @@ -1348,7 +1349,7 @@ #define FLAG_UNUSED_0x863 (SYSTEM_FLAGS + 0x3) // Unused Flag #define FLAG_SYS_GAME_CLEAR (SYSTEM_FLAGS + 0x4) #define FLAG_SYS_CHAT_USED (SYSTEM_FLAGS + 0x5) -#define FLAG_SYS_HIPSTER_MEET (SYSTEM_FLAGS + 0x6) +#define FLAG_UNLOCKED_TRENDY_SAYINGS (SYSTEM_FLAGS + 0x6) // Badges #define FLAG_BADGE01_GET (SYSTEM_FLAGS + 0x7) diff --git a/include/constants/follow_me.h b/include/constants/follow_me.h new file mode 100644 index 000000000..cc6b044e2 --- /dev/null +++ b/include/constants/follow_me.h @@ -0,0 +1,19 @@ +#ifndef GUARD_CONSTANTS_FOLLOW_ME_H +#define GUARD_CONSTANTS_FOLLOW_ME_H + +#define FOLLOWER_FLAG_HAS_RUNNING_FRAMES 0x1 +#define FOLLOWER_FLAG_CAN_BIKE 0x2 +#define FOLLOWER_FLAG_CAN_LEAVE_ROUTE 0x4 // teleport, dig, fly, etc +#define FOLLOWER_FLAG_CAN_SURF 0x8 +#define FOLLOWER_FLAG_CAN_WATERFALL 0x10 +#define FOLLOWER_FLAG_CAN_DIVE 0x20 +#define FOLLOWER_FLAG_CAN_ROCK_CLIMB 0x40 // need rock climb implemented +#define FOLLOWER_FLAG_CLEAR_ON_WHITE_OUT 0x80 +#define FOLLOWER_FLAG_CUSTOM_FOLLOW_SCRIPT 0x100 // follower has custom script while following (use loadword prior to setfollower) + +#define FOLLOWER_FLAG_ALL_WATER FOLLOWER_FLAG_CAN_SURF | FOLLOWER_FLAG_CAN_WATERFALL | FOLLOWER_FLAG_CAN_DIVE +#define FOLLOWER_FLAG_ALL_LAND FOLLOWER_FLAG_HAS_RUNNING_FRAMES | FOLLOWER_FLAG_CAN_BIKE | FOLLOWER_FLAG_CAN_LEAVE_ROUTE +#define FOLLOWER_FLAG_ALL FOLLOWER_FLAG_ALL_WATER | FOLLOWER_FLAG_ALL_LAND | FOLLOWER_FLAG_CLEAR_ON_WHITE_OUT + + +#endif // GUARD_CONSTANTS_FOLLOW_ME_H diff --git a/include/constants/global.h b/include/constants/global.h index 2b8b27028..ca6f336cb 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -167,4 +167,9 @@ #define CONNECTION_DIVE 5 #define CONNECTION_EMERGE 6 +#define SIDEWAYS_STAIRS_IMPLEMENTED FALSE +#define POST_BATTLE_FOLLOWER_FIX FALSE + +#define FAST_FOLLOWERS FALSE + #endif // GUARD_CONSTANTS_GLOBAL_H diff --git a/include/easy_chat.h b/include/easy_chat.h index d84af93fc..2cec441d5 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -128,11 +128,11 @@ void InitializeEasyChatWordArray(u16 *words, u16 length); u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows); bool8 IsBardWordInvalid(u16 word); u16 GetRandomEasyChatWordFromGroup(u16 group); -u16 GetNewHipsterPhraseToTeach(void); +u16 UnlockRandomTrendySaying(void); u16 EasyChat_GetNumWordsInGroup(u8); u16 GetRandomEasyChatWordFromUnlockedGroup(u16); void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType); void InitQuestionnaireWords(void); -void UnlockAdditionalPhrase(u8 additionalPhraseId); +void UnlockTrendySaying(u8 wordIndex); #endif // GUARD_EASYCHAT_H diff --git a/include/event_data.h b/include/event_data.h index 51875ec5a..04287b7ed 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -22,7 +22,7 @@ u16 *GetVarPointer(u16 id); u16 VarGet(u16 id); u16 VarGetIfExist(u16 id); bool8 VarSet(u16 id, u16 value); -u8 VarGetObjectEventGraphicsId(u8 id); +u16 VarGetObjectEventGraphicsId(u8 id); u8 *GetFlagPointer(u16 id); u8 FlagSet(u16 id); u8 FlagToggle(u16 id); diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 01269cdb5..e1a8b1e98 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -92,11 +92,10 @@ struct LockedAnimObjectEvents extern const struct OamData gObjectEventBaseOam_32x8; extern const struct OamData gObjectEventBaseOam_32x32; extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; -extern const u8 gReflectionEffectPaletteMap[]; -extern const u8 *const gBerryTreeObjectEventGraphicsIdTablePointers[]; +extern const u16 *const gBerryTreeObjectEventGraphicsIdTablePointers[]; extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[]; -extern const u8 *const gBerryTreePaletteSlotTablePointers[]; +extern const u16 *const gBerryTreePaletteSlotTablePointers[]; void ResetObjectEvents(void); u8 GetMoveDirectionAnimNum(u8 direction); @@ -105,6 +104,7 @@ bool8 TryGetObjectEventIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId, u u8 GetObjectEventIdByXY(s16 x, s16 y); void SetObjectEventDirection(struct ObjectEvent *objectEvent, u8 direction); u8 GetFirstInactiveObjectEventId(void); +void RemoveObjectEvent(struct ObjectEvent *objectEvent); void RemoveObjectEventByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup); void LoadPlayerObjectReflectionPalette(u16 tag, u8 slot); void LoadSpecialObjectReflectionPalette(u16 tag, u8 slot); @@ -120,14 +120,14 @@ void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *); void TrySpawnObjectEvents(s16 cameraX, s16 cameraY); u8 CreateObjectGraphicsSprite(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority); u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup); -u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation); +u8 SpawnSpecialObjectEventParameterized(u16 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation); u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *); void SetSpritePosToMapCoords(s16 mapX, s16 mapY, s16 *destX, s16 *destY); void CameraObjectReset1(void); -void ObjectEventSetGraphicsId(struct ObjectEvent *, u8 graphicsId); +void ObjectEventSetGraphicsId(struct ObjectEvent *, u16 graphicsId); +const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u16 graphicsId); void ObjectEventTurn(struct ObjectEvent *, u8 direction); void ObjectEventTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction); -const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8 graphicsId); void SetObjectInvisibility(u8 localId, u8 mapNum, u8 mapGroup, bool8 invisible); void FreeAndReserveObjectSpritePalettes(void); void SetObjectEventSpritePosByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); @@ -212,8 +212,12 @@ void UpdateObjectEventSpriteInvisibility(struct Sprite *sprite, bool8 invisible) s16 GetFigure8XOffset(s16 idx); s16 GetFigure8YOffset(s16 idx); void CameraObjectReset2(void); +void LoadObjectEventPalette(u16 paletteTag); u8 GetObjectEventBerryTreeId(u8 objectEventId); void SetBerryTreeJustPicked(u8 mapId, u8 mapNumber, u8 mapGroup); +const struct ObjectEventTemplate *GetObjectEventTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup); +u8 TrySpawnObjectEventTemplate(const struct ObjectEventTemplate *objectEventTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY); +bool8 ObjectEventPokemonFacePlayer(struct ObjectEvent *, struct ObjectEvent *); bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup); void MovementType_None(struct Sprite *); @@ -271,6 +275,7 @@ void MovementType_JogInPlace(struct Sprite *); void MovementType_RunInPlace(struct Sprite *); void MovementType_Invisible(struct Sprite *); void MovementType_WalkSlowlyInPlace(struct Sprite *); +void MovementType_FollowingPokemon(struct Sprite *); u8 GetSlideMovementAction(u32); u8 GetJumpMovementAction(u32); u8 GetJump2MovementAction(u32); @@ -431,13 +436,22 @@ u8 MovementType_RunInPlace_Step0(struct ObjectEvent *, struct Sprite *); u8 MovementType_Invisible_Step0(struct ObjectEvent *, struct Sprite *); u8 MovementType_Invisible_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementType_Invisible_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FollowingPokemon_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FollowingPokemon_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FollowingPokemon_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FollowingPokemon_Step3(struct ObjectEvent *, struct Sprite *); -u8 CreateVirtualObject(u8 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevation, u8 direction); +u8 CreateVirtualObject(u16 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 z, u8 direction); void TurnVirtualObject(u8 virtualObjId, u8 direction); -void SetVirtualObjectGraphics(u8 virtualObjId, u8 graphicsId); +void SetVirtualObjectGraphics(u8 virtualObjId, u16 graphicsId); void SetVirtualObjectInvisibility(u8 virtualObjId, bool32 invisible); bool32 IsVirtualObjectInvisible(u8 virtualObjId); void SetVirtualObjectSpriteAnim(u8 virtualObjId, u8 animNum); bool32 IsVirtualObjectAnimating(u8 virtualObjId); +// NEW +u16 GetMiniStepCount(u8 speed); +void RunMiniStep(struct Sprite *sprite, u8 speed, u8 currentFrame); +bool8 PlayerIsUnderWaterfall(struct ObjectEvent *objectEvent); + #endif //GUARD_EVENT_OBJECT_MOVEMENT_H diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index e02fcd5af..b259eb53c 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -32,7 +32,7 @@ bool8 TryDoDiveWarp(struct MapPosition *position, u16 b); int SetCableClubWarp(void); u8 TrySetDiveWarp(void); const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehavior, u8 direction); -u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position); +const u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position); void ClearPoisonStepCounter(void); #endif // GUARD_FIELDCONTROLAVATAR_H diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 2ae5d79f7..b0c6d9a9f 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -41,5 +41,6 @@ void UpdateBubblesFieldEffect(struct Sprite *); void UpdateSparkleFieldEffect(struct Sprite *); void SetSpriteInvisible(u8 spriteId); void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y); +void LoadFieldEffectPalette(u8 fieldEffect); #endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 39fc886af..1ba3a08c8 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -3,8 +3,8 @@ void PlayerStep(u8 direction, u16 newKeys, u16 heldKeys); void ClearPlayerAvatarInfo(void); -void SetPlayerAvatarExtraStateTransition(u8, u8); -u8 GetPlayerAvatarGenderByGraphicsId(u8); +void SetPlayerAvatarExtraStateTransition(u16, u8); +u8 GetPlayerAvatarGenderByGraphicsId(u16); bool8 TestPlayerAvatarFlags(u8); u8 GetPlayerAvatarSpriteId(void); void PlayerGetDestCoords(s16 *, s16 *); @@ -38,11 +38,11 @@ void PlayerFreeze(void); void StopPlayerAvatar(void); void SetSpinStartFacingDir(u8); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); -u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender); +u16 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender); void SetPlayerAvatarFieldMove(void); -u8 GetPlayerAvatarGraphicsIdByCurrentState(void); -void SetPlayerAvatarStateMask(u8 flags); -u8 GetPlayerAvatarGraphicsIdByStateId(u8 state); +u16 GetPlayerAvatarGraphicsIdByCurrentState(void); +void SetPlayerAvatarStateMask(u8 a); +u16 GetPlayerAvatarGraphicsIdByStateId(u8 a); u8 GetJumpSpecialMovementAction(u32); bool8 PartyHasMonWithSurf(void); bool8 IsPlayerFacingSurfableFishableWater(void); @@ -50,8 +50,8 @@ bool8 IsPlayerSurfingNorth(void); void SetPlayerAvatarWatering(u8 direction); u8 GetPlayerAvatarFlags(void); void UpdatePlayerAvatarTransitionState(void); -u8 GetFRLGAvatarGraphicsIdByGender(u8); -u8 GetRSAvatarGraphicsIdByGender(u8); +u16 GetFRLGAvatarGraphicsIdByGender(u8); +u16 GetRSAvatarGraphicsIdByGender(u8); void PlayerWheelieInPlace(u8 direction); void PlayerWheelieMove(u8 direction); void PlayerPopWheelieWhileMoving(u8 direction); diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index 6dc9b077d..da00481d3 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -41,5 +41,7 @@ void DoOrbEffect(void); void FadeOutOrbEffect(void); void WriteFlashScanlineEffectBuffer(u8 flashLevel); bool8 IsPlayerStandingStill(void); +void SetPlayerVisibility(bool8 visible); +void Task_WarpAndLoadMap(u8 taskId); #endif // GUARD_FIELD_SCREEN_EFFECT_H diff --git a/include/field_specials.h b/include/field_specials.h index faf71e9c0..2eefed69e 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -5,6 +5,7 @@ extern bool8 gBikeCyclingChallenge; extern u8 gBikeCollisions; u8 GetLeadMonIndex(void); +u8 GetLeadMonNotFaintedIndex(void); u8 IsDestinationBoxFull(void); u16 GetPCBoxToSendMon(void); bool8 InMultiPartnerRoom(void); diff --git a/include/field_weather.h b/include/field_weather.h index 8ce0cc9e5..b21f0b609 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -141,6 +141,15 @@ extern struct Weather gWeather; extern struct Weather *const gWeatherPtr; extern const u16 gFogPalette[]; +enum +{ + COLOR_MAP_NONE, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_CONTRAST, +}; + +void UpdatePaletteGammaType(u8 index, u8 gammaType); + // field_weather_effect.c extern const u8 gWeatherFogHorizontalTiles[]; @@ -154,7 +163,7 @@ void FadeScreen(u8 mode, s8 delay); bool8 IsWeatherNotFadingIn(void); void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex); void ApplyWeatherColorMapToPal(u8 paletteIndex); -void LoadCustomWeatherSpritePalette(const u16 *palette); +void LoadCustomWeatherSpritePalette(const struct SpritePalette *palette); void ResetDroughtWeatherPaletteLoading(void); bool8 LoadDroughtWeatherPalettes(void); void DroughtStateInit(void); diff --git a/include/fieldmap.h b/include/fieldmap.h index f2dbefae8..47072bd1b 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -48,8 +48,8 @@ void LoadSecondaryTilesetPalette(struct MapLayout const *mapLayout); void CopySecondaryTilesetToVramUsingHeap(struct MapLayout const *mapLayout); void CopyPrimaryTilesetToVram(const struct MapLayout *); void CopySecondaryTilesetToVram(const struct MapLayout *); -struct MapHeader const *const GetMapHeaderFromConnection(struct MapConnection *connection); -struct MapConnection *GetMapConnectionAtPos(s16 x, s16 y); +const struct MapHeader *const GetMapHeaderFromConnection(const struct MapConnection *connection); +const struct MapConnection *GetMapConnectionAtPos(s16 x, s16 y); void MapGridSetMetatileImpassabilityAt(int x, int y, bool32 impassable); // field_region_map.c diff --git a/include/fldeff.h b/include/fldeff.h index bed235a1b..f676720ed 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -46,7 +46,7 @@ bool8 SetUpFieldMove_Dig(void); bool8 FldEff_UseDig(void); // rock smash -bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId); +bool8 CheckObjectGraphicsInFrontOfPlayer(u16 graphicsId); u8 CreateFieldMoveTask(void); bool8 SetUpFieldMove_RockSmash(void); bool8 FldEff_UseRockSmash(void); diff --git a/include/follow_me.h b/include/follow_me.h new file mode 100644 index 000000000..1affb31f0 --- /dev/null +++ b/include/follow_me.h @@ -0,0 +1,58 @@ +#ifndef GUARD_FOLLOW_ME_H +#define GUARD_FOLLOW_ME_H + +#include "constants/follow_me.h" + +#define DEFAULT_FOLLOWER_LOCAL_ID 0xFE + +#define MOVEMENT_INVALID 0xFE + +enum FollowerSpriteTypes +{ + FOLLOWER_SPRITE_INDEX_NORMAL, + FOLLOWER_SPRITE_INDEX_MACH_BIKE, + FOLLOWER_SPRITE_INDEX_ACRO_BIKE, + FOLLOWER_SPRITE_INDEX_SURF, + FOLLOWER_SPRITE_INDEX_UNDERWATER, +}; + +// Exported Functions +void SetUpFollowerSprite(u8 localId, u16 flags); +void DestroyFollower(void); +void PlayerFaceFollowerSprite(void); +void CheckPlayerHasFollower(void); +bool8 FollowerComingThroughDoor(void); + +u8 GetFollowerObjectId(void); +u8 GetFollowerLocalId(void); +const u8* GetFollowerScriptPointer(void); +void HideFollower(void); +void TryFreezeFollowerAnim(struct ObjectEvent* npc); +void IsFollowerStoppingRockClimb(void); +void FollowMe_SetIndicatorToComeOutDoor(void); +void FollowMe_SetIndicatorToRecreateSurfBlob(void); +void FollowMe_TryRemoveFollowerOnWhiteOut(void); +void FollowMe(struct ObjectEvent* npc, u8 state, bool8 ignoreScriptActive); +void FollowMe_Ledges(struct ObjectEvent* npc, struct Sprite* obj, u16* ledgeFramesTbl); +bool8 FollowMe_IsCollisionExempt(struct ObjectEvent* obstacle, struct ObjectEvent* collider); +void FollowMe_FollowerToWater(void); +void FollowMe_BindToSurbBlobOnReloadScreen(void); +void PrepareFollowerDismountSurf(void); +void StairsMoveFollower(void); +void FollowMe_HandleBike(void); +void FollowMe_HandleSprite(void); +void FollowMe_WarpSetEnd(void); +void CreateFollowerAvatar(void); +void EscalatorMoveFollower(u8 movementType); +void EscalatorMoveFollowerFinish(void); +bool8 FollowerCanBike(void); +bool8 CheckFollowerFlag(u16 flag); +void FollowerPositionFix(u8 offset); +void SetFollowerSprite(u8 spriteIndex); +bool8 PlayerHasFollower(void); + +// moved from field_screen_effect.c +void Task_DoDoorWarp(u8 taskId); +bool8 IsPlayerOnFoot(void); + +#endif //GUARD_FOLLOW_ME_H diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index d8fea5b23..23b4a92bc 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -50,10 +50,10 @@ struct MapLayout { /*0x00*/ s32 width; /*0x04*/ s32 height; - /*0x08*/ u16 *border; - /*0x0C*/ u16 *map; - /*0x10*/ struct Tileset *primaryTileset; - /*0x14*/ struct Tileset *secondaryTileset; + /*0x08*/ const u16 *border; + /*0x0C*/ const u16 *map; + /*0x10*/ const struct Tileset *primaryTileset; + /*0x14*/ const struct Tileset *secondaryTileset; }; struct BackupMapLayout @@ -66,9 +66,8 @@ struct BackupMapLayout struct ObjectEventTemplate { /*0x00*/ u8 localId; - /*0x01*/ u8 graphicsId; - /*0x02*/ u8 kind; // Always OBJ_KIND_NORMAL in Emerald. - /*0x03*/ //u8 padding1; + /*0x02*/ u8 kind; // Leftover from FRLG + u16 graphicsId; /*0x04*/ s16 x; /*0x06*/ s16 y; /*0x08*/ u8 elevation; @@ -98,7 +97,7 @@ struct CoordEvent u8 elevation; u16 trigger; u16 index; - u8 *script; + const u8 *script; }; struct BgEvent @@ -107,7 +106,7 @@ struct BgEvent u8 elevation; u8 kind; // The "kind" field determines how to access bgUnion union below. union { - u8 *script; + const u8 *script; struct { u16 item; u16 hiddenItemId; @@ -122,10 +121,10 @@ struct MapEvents u8 warpCount; u8 coordEventCount; u8 bgEventCount; - struct ObjectEventTemplate *objectEvents; - struct WarpEvent *warps; - struct CoordEvent *coordEvents; - struct BgEvent *bgEvents; + const struct ObjectEventTemplate *objectEvents; + const struct WarpEvent *warps; + const struct CoordEvent *coordEvents; + const struct BgEvent *bgEvents; }; struct MapConnection @@ -139,7 +138,7 @@ struct MapConnection struct MapConnections { s32 count; - struct MapConnection *connections; + const struct MapConnection *connections; }; struct MapHeader @@ -195,9 +194,9 @@ struct ObjectEvent u32 disableJumpLandingGroundEffect:1; u32 fixedPriority:1; u32 hideReflection:1; - //u32 padding:4; + int :0; /*0x04*/ u8 spriteId; - /*0x05*/ u8 graphicsId; + /*0x05*/ u16 graphicsId; /*0x06*/ u8 movementType; /*0x07*/ u8 trainerType; /*0x08*/ u8 localId; diff --git a/include/global.h b/include/global.h index f7d166bb5..ceef6f5c6 100644 --- a/include/global.h +++ b/include/global.h @@ -137,7 +137,7 @@ #define NUM_DEX_FLAG_BYTES ROUND_BITS_TO_BYTES(POKEMON_SLOTS_NUMBER) #define NUM_FLAG_BYTES ROUND_BITS_TO_BYTES(FLAGS_COUNT) -#define NUM_ADDITIONAL_PHRASE_BYTES ROUND_BITS_TO_BYTES(NUM_ADDITIONAL_PHRASES) +#define NUM_TRENDY_SAYING_BYTES ROUND_BITS_TO_BYTES(NUM_TRENDY_SAYINGS) // Calls m0/m1/.../m8 depending on how many arguments are passed. #define VARARG_8(m, ...) CAT(m, NARG_8(__VA_ARGS__))(__VA_ARGS__) @@ -488,6 +488,31 @@ struct RankingHall1P //u8 padding; }; +// follow me +struct FollowerMapData +{ + /*0x0*/ u8 id; + /*0x1*/ u8 number; + /*0x2*/ u8 group; +}; /* size = 0x4 */ +struct Follower +{ + /*0x00*/ u8 inProgress:1; + u8 warpEnd:1; + u8 createSurfBlob:3; + u8 comeOutDoorStairs:3; + /*0x01*/ u8 objId; + /*0x02*/ u8 currentSprite; + /*0x03*/ u8 delayedState; + /*0x04*/ struct FollowerMapData map; + /*0x08*/ struct Coords16 log; + /*0x0C*/ const u8* script; + /*0x10*/ u16 flag; + /*0x12*/ u16 graphicsId; + /*0x14*/ u16 flags; + /*0x15*/ u8 locked; +}; /* size = 0x18 */ + struct RankingHall2P { u8 id1[TRAINER_ID_LENGTH]; @@ -533,6 +558,7 @@ struct SaveBlock2 /*0x57C*/ struct RankingHall2P hallRecords2P[FRONTIER_LVL_MODE_COUNT][HALL_RECORDS_COUNT]; // From record mixing. /*0x624*/ u16 contestLinkResults[CONTEST_CATEGORIES_COUNT][CONTESTANT_COUNT]; /*0x64C*/ struct BattleFrontier frontier; + struct Follower follower; }; // sizeof=0xF2C extern struct SaveBlock2 *gSaveBlock2Ptr; @@ -687,7 +713,7 @@ struct MauvilleManGiddy struct MauvilleManHipster { u8 id; - bool8 alreadySpoken; + bool8 taughtWord; u8 language; }; @@ -1045,7 +1071,7 @@ struct SaveBlock1 /*0x2BC8*/ u16 easyChatBattleWon[EASY_CHAT_BATTLE_WORDS_COUNT]; /*0x2BD4*/ u16 easyChatBattleLost[EASY_CHAT_BATTLE_WORDS_COUNT]; /*0x2BE0*/ struct Mail mail[MAIL_COUNT]; - /*0x2E20*/ u8 additionalPhrases[NUM_ADDITIONAL_PHRASE_BYTES]; // bitfield for 33 additional phrases in easy chat system + /*0x2E20*/ u8 unlockedTrendySayings[NUM_TRENDY_SAYING_BYTES]; // Bitfield for unlockable Easy Chat words in EC_GROUP_TRENDY_SAYING /*0x2E25*/ //u8 padding5[3]; /*0x2E28*/ OldMan oldMan; /*0x2e64*/ struct DewfordTrend dewfordTrends[SAVED_TRENDS_COUNT]; diff --git a/include/overworld.h b/include/overworld.h index adaa6aad0..e920da21a 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -154,5 +154,9 @@ bool32 Overworld_RecvKeysFromLinkIsRunning(void); bool32 Overworld_SendKeysToLinkIsRunning(void); bool32 IsSendingKeysOverCable(void); void ClearLinkPlayerObjectEvents(void); +void UpdateFollowerPokemonGraphic(void); +void FollowerPokeballSparkle(void); +void FollowerIntoPokeball(void); +bool8 IsBigSprite(u16); #endif // GUARD_OVERWORLD_H diff --git a/include/script.h b/include/script.h index 7c180e961..84d167f40 100644 --- a/include/script.h +++ b/include/script.h @@ -62,4 +62,7 @@ void InitRamScript_NoObjectEvent(u8 *script, u16 scriptSize); // srccmd.h void SetMovingNpcId(u16 npcId); +// NEW +u8* ReadWord(u8 index); + #endif // GUARD_SCRIPT_H diff --git a/ld_script.txt b/ld_script.txt index dcce51a0f..85982d1d3 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -4,6 +4,9 @@ gNumMusicPlayers = 4; gMaxLines = 0; gInitialMainCB2 = CB2_InitCopyrightScreenAfterBootup; +/* Modify the following load addresses as needed to make more room. Alternately, delete both the + declarations below and their references further down to get rid of the gaps. */ + SECTIONS { . = 0x2000000; @@ -344,6 +347,7 @@ SECTIONS { src/international_string_util.o(.text); src/pokemon_debug.o(.text); src/expansion_intro.o(.text); + src/follow_me.o(.text); } =0 script_data : @@ -711,6 +715,7 @@ SECTIONS { data/sound_data.o(.rodata); src/pokemon_debug.o(.rodata); src/expansion_intro.o(.rodata); + src/follow_me.o(.rodata); } =0 song_data : @@ -1309,7 +1314,14 @@ SECTIONS { data/multiboot_pokemon_colosseum.o(.rodata); } =0 - gfx_data : + + anim_mon_front_pic_data : + ALIGN(4) + { + src/anim_mon_front_pics.o(.rodata); + } =0 + + gfx_data : ALIGN(4) { src/graphics.o(.rodata); diff --git a/spritesheet_rules.mk b/spritesheet_rules.mk index c89d6e81c..d4994a92f 100644 --- a/spritesheet_rules.mk +++ b/spritesheet_rules.mk @@ -468,6 +468,1255 @@ $(OBJEVENTGFXDIR)/pokemon/wingull.4bpp: %.4bpp: %.png $(OBJEVENTGFXDIR)/pokemon/zigzagoon.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 2 -mheight 2 +$(OBJEVENTGFXDIR)/pokemon/followers/bulbasaur.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ivysaur.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/venusaur.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/charmander.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/charmeleon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/charizard.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/squirtle.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/wartortle.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/blastoise.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/caterpie.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/metapod.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/butterfree.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/weedle.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/kakuna.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/beedrill.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/pidgey.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/pidgeotto.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/pidgeot.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/rattata.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/raticate.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/spearow.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/fearow.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ekans.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/arbok.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/pikachu.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/raichu.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/sandshrew.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/sandslash.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/nidoran_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/nidorina.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/nidoqueen.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/nidoran_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/nidorino.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/nidoking.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/clefairy.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/clefable.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/vulpix.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ninetales.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/jigglypuff.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/wigglytuff.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/zubat.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/golbat.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/oddish.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/gloom.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/vileplume.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/paras.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/parasect.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/venonat.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/venomoth.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/diglett.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/dugtrio.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/meowth.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/persian.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/psyduck.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/golduck.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/mankey.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/primeape.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/growlithe.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/arcanine.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/poliwag.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/poliwhirl.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/poliwrath.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/abra.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/kadabra.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/alakazam.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/machop.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/machoke.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/machamp.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/bellsprout.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/weepinbell.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/victreebel.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/tentacool.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/tentacruel.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/geodude.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/graveler.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/golem.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ponyta.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/rapidash.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/slowpoke.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/slowbro.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/magnemite.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/magneton.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/farfetchd.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/doduo.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/dodrio.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/seel.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/dewgong.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/grimer.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/muk.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/shellder.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/cloyster.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/gastly.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/haunter.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/gengar.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/onix.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/drowzee.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/hypno.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/krabby.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/kingler.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/voltorb.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/electrode.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/exeggcute.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/exeggutor.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/cubone.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/marowak.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/hitmonlee.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/hitmonchan.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/lickitung.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/koffing.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/weezing.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/rhyhorn.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/rhydon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/chansey.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/tangela.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/kangaskhan.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/horsea.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/seadra.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/goldeen.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/seaking.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/staryu.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/starmie.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/mr_mime.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/scyther.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/jynx.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/electabuzz.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/magmar.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/pinsir.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/tauros.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/magikarp.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/gyarados.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/lapras.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ditto.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/eevee.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/vaporeon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/jolteon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/flareon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/porygon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/omanyte.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/omastar.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/kabuto.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/kabutops.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/aerodactyl.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/snorlax.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/articuno.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/zapdos.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/moltres.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/dratini.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/dragonair.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/dragonite.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/mewtwo.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/mew.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/chikorita.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/bayleef.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/meganium.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/cyndaquil.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/quilava.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/typhlosion.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/totodile.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/croconaw.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/feraligatr.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/sentret.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/furret.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/hoothoot.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/noctowl.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ledyba.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ledian.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/spinarak.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ariados.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/crobat.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/chinchou.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/lanturn.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/pichu.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/cleffa.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/igglybuff.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/togepi.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/togetic.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/natu.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/xatu.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/mareep.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/flaaffy.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ampharos.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/bellossom.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/marill.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/azumarill.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/sudowoodo.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/politoed.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/hoppip.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/skiploom.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/jumpluff.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/aipom.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/sunkern.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/sunflora.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/yanma.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/wooper.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/quagsire.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/espeon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/umbreon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/murkrow.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/slowking.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/misdreavus.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unowna.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownb.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownc.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownd.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unowne.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unowng.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownh.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unowni.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownj.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownk.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownl.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownm.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownn.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unowno.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownp.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownq.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownr.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unowns.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownt.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownu.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownv.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownw.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownx.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unowny.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownz.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unown!.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/unownquestion.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/wobbuffet.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/girafarig.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/pineco.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/forretress.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/dunsparce.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/gligar.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/steelix.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 8 -mheight 8 + +$(OBJEVENTGFXDIR)/pokemon/followers/snubbull.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/granbull.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/qwilfish.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/scizor.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/shuckle.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/heracross.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/sneasel.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/teddiursa.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ursaring.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/slugma.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/magcargo.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/swinub.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/piloswine.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/corsola.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/remoraid.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/octillery.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/delibird.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/mantine.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/skarmory.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/houndour.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/houndoom.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/kingdra.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/phanpy.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/donphan.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/porygon2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/stantler.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/smeargle.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/tyrogue.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/hitmontop.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/smoochum.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/elekid.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/magby.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/miltank.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/blissey.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/raikou.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/entei.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/suicune.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/larvitar.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/pupitar.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/tyranitar.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/lugia.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 8 -mheight 8 + +$(OBJEVENTGFXDIR)/pokemon/followers/ho_oh.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 8 -mheight 8 + +$(OBJEVENTGFXDIR)/pokemon/followers/celebi.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/treecko.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/grovyle.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/sceptile.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/torchic.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/combusken.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/blaziken.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/mudkip.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/marshtomp.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/swampert.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/poochyena.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/mightyena.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/zigzagoon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/linoone.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/wurmple.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/silcoon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/beautifly.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/cascoon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/dustox.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/lotad.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/lombre.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ludicolo.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/seedot.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/nuzleaf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/shiftry.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/taillow.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/swellow.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/wingull.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/pelipper.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ralts.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/kirlia.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/gardevoir.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/surskit.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/masquerain.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/shroomish.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/breloom.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/slakoth.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/vigoroth.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/slaking.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/nincada.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/ninjask.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/shedinja.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/whismur.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/loudred.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/exploud.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/makuhita.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/hariyama.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/azurill.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/nosepass.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/skitty.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/delcatty.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/sableye.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/mawile.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/aron.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/lairon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/aggron.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/meditite.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/medicham.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/electrike.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/manectric.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/plusle.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/minun.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/volbeat.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/illumise.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/roselia.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/gulpin.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/swalot.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/carvanha.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/sharpedo.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/wailmer.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/wailord.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 8 -mheight 8 + +$(OBJEVENTGFXDIR)/pokemon/followers/numel.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/camerupt.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/torkoal.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/spoink.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/grumpig.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/spinda.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/trapinch.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/vibrava.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/flygon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/cacnea.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/cacturne.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/swablu.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/altaria.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/zangoose.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/seviper.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/lunatone.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/solrock.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/barboach.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/whiscash.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/corphish.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/crawdaunt.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/baltoy.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/claydol.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/lileep.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/cradily.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/anorith.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/armaldo.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/feebas.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/milotic.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/castform.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/kecleon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/shuppet.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/banette.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/duskull.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/dusclops.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/tropius.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/chimecho.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/absol.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/wynaut.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/snorunt.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/glalie.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/spheal.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/sealeo.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/walrein.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/clamperl.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/huntail.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/gorebyss.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/relicanth.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/luvdisc.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/bagon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/shelgon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/salamence.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/beldum.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/metang.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/metagross.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/regirock.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/regice.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/registeel.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/latias.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/latios.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/kyogre.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/groudon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/rayquaza.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/jirachi.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/deoxys_normal.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/deoxys_attack.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/deoxys_defense.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OBJEVENTGFXDIR)/pokemon/followers/deoxys_speed.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + + $(OBJEVENTGFXDIR)/berry_trees/aguav.4bpp: %.4bpp: %.png @@ -668,6 +1917,15 @@ $(FLDEFFGFXDIR)/sand_disguise_placeholder.4bpp: %.4bpp: %.png $(FLDEFFGFXDIR)/sand_footprints.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 2 -mheight 2 +$(FLDEFFGFXDIR)/slither_tracks.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(FLDEFFGFXDIR)/bug_tracks.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(FLDEFFGFXDIR)/spot_tracks.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + $(FLDEFFGFXDIR)/short_grass.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 2 -mheight 2 @@ -718,6 +1976,9 @@ $(FLDEFFGFXDIR)/secret_power_tree.4bpp: %.4bpp: %.png $(FLDEFFGFXDIR)/record_mix_lights.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 1 + +$(FLDEFFGFXDIR)/expanding_sparkle.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 graphics/door_anims/battle_tower_multi_corridor.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 2 -mheight 4 diff --git a/src/anim_mon_front_pics.c b/src/anim_mon_front_pics.c new file mode 100644 index 000000000..c9d7e5ed7 --- /dev/null +++ b/src/anim_mon_front_pics.c @@ -0,0 +1,424 @@ +#include "global.h" + +/* const u32 gMonFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/anim_front.4bpp.lz"); + +const u32 gMonFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/anim_front.4bpp.lz"); +const u32 gMonFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/anim_front.4bpp.lz"); +const u32 gMonFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/anim_front.4bpp.lz"); + +const u32 gMonFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/a/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/anim_front.4bpp.lz"); +const u32 gMonFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/anim_front.4bpp.lz"); + +const u32 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/anim_front.4bpp.lz"); + +const u32 gMonFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/anim_front.4bpp.lz"); + +const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/egg/anim_front.4bpp.lz"); + +const u32 gMonFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/b/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/c/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/d/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/e/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/f/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/g/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/h/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/i/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/j/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/k/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/l/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/m/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/n/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/o/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/p/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/q/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/r/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/s/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/t/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/u/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/v/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/w/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/x/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/y/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/z/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/exclamation_mark/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/question_mark/anim_front.4bpp.lz"); */ diff --git a/src/battle_main.c b/src/battle_main.c index efbf1b819..f88a9e109 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -5511,6 +5511,12 @@ static void ReturnFromBattleToOverworld(void) m4aSongNumStop(SE_LOW_HEALTH); SetMainCallback2(gMain.savedCallback); + + // if you experience the follower de-syncing with the player after battle, set POST_BATTLE_FOLLOWER_FIX to TRUE in include/constants/global.h + #if POST_BATTLE_FOLLOWER_FIX + FollowMe_WarpSetEnd(); + gObjectEvents[GetFollowerObjectId()].invisible = TRUE; + #endif } void RunBattleScriptCommands_PopCallbacksStack(void) diff --git a/src/battle_pike.c b/src/battle_pike.c index 9751d565d..4289e8a1c 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -573,7 +573,7 @@ static void SetupRoomObjectEvents(void) objGfx1 = OBJ_EVENT_GFX_LINK_RECEPTIONIST; break; case PIKE_ROOM_NPC: - objGfx1 = (u8)(GetNPCRoomGraphicsId()); + objGfx1 = (u16)(GetNPCRoomGraphicsId()); break; case PIKE_ROOM_STATUS: objGfx1 = OBJ_EVENT_GFX_GENTLEMAN; diff --git a/src/battle_setup.c b/src/battle_setup.c index 2b8e63e76..11848c75f 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -628,6 +628,7 @@ static void CB2_EndWildBattle(void) { SetMainCallback2(CB2_ReturnToField); gFieldCallback = FieldCB_ReturnToFieldNoScriptCheckMusic; + UpdateFollowerPokemonGraphic(); } } @@ -646,6 +647,7 @@ static void CB2_EndScriptedWildBattle(void) else { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); + UpdateFollowerPokemonGraphic(); } } @@ -1365,6 +1367,7 @@ static void CB2_EndTrainerBattle(void) else { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); + UpdateFollowerPokemonGraphic(); if (!InBattlePyramid() && !InTrainerHillChallenge()) { RegisterTrainerInMatchCall(); @@ -1386,6 +1389,7 @@ static void CB2_EndRematchBattle(void) else { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); + UpdateFollowerPokemonGraphic(); RegisterTrainerInMatchCall(); SetBattledTrainersFlags(); HandleRematchVarsOnBattleEnd(); diff --git a/src/bike.c b/src/bike.c index 10596418f..f8b0bc70b 100644 --- a/src/bike.c +++ b/src/bike.c @@ -7,6 +7,8 @@ #include "metatile_behavior.h" #include "overworld.h" #include "sound.h" +#include "event_data.h" +#include "sprite.h" #include "constants/map_types.h" #include "constants/songs.h" @@ -981,6 +983,8 @@ void GetOnOffBike(u8 transitionFlags) } else { + FollowerIntoPokeball(); + SetPlayerAvatarTransitionFlags(transitionFlags); Overworld_SetSavedMusic(MUS_CYCLING); Overworld_ChangeMusicTo(MUS_CYCLING); diff --git a/src/cable_car.c b/src/cable_car.c index 4eb4c3080..d560f7e7e 100644 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -801,12 +801,12 @@ static void CreateCableCarSprites(void) u8 spriteId; u8 i; - u8 playerGraphicsIds[2] = { + u16 playerGraphicsIds[2] = { [MALE] = OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL, [FEMALE] = OBJ_EVENT_GFX_RIVAL_MAY_NORMAL }; u16 rval = Random(); - u8 hikerGraphicsIds[4] = { + u16 hikerGraphicsIds[4] = { OBJ_EVENT_GFX_HIKER, OBJ_EVENT_GFX_CAMPER, OBJ_EVENT_GFX_PICNICKER, diff --git a/src/data/field_effects/field_effect_object_template_pointers.h b/src/data/field_effects/field_effect_object_template_pointers.h old mode 100755 new mode 100644 index 64a3c3283..14113d3a4 --- a/src/data/field_effects/field_effect_object_template_pointers.h +++ b/src/data/field_effects/field_effect_object_template_pointers.h @@ -35,6 +35,9 @@ extern const struct SpriteTemplate gFieldEffectObjectTemplate_AshLaunch; extern const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles; extern const struct SpriteTemplate gFieldEffectObjectTemplate_SmallSparkle; extern const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_SlitherTracks; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_BugTracks; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_SpotTracks; const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = { [FLDEFFOBJ_SHADOW_S] = &gFieldEffectObjectTemplate_ShadowSmall, @@ -74,4 +77,7 @@ const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = { [FLDEFFOBJ_BUBBLES] = &gFieldEffectObjectTemplate_Bubbles, [FLDEFFOBJ_SMALL_SPARKLE] = &gFieldEffectObjectTemplate_SmallSparkle, [FLDEFFOBJ_RAYQUAZA] = &gFieldEffectObjectTemplate_Rayquaza, + [FLDEFFOBJ_TRACKS_SLITHER] = &gFieldEffectObjectTemplate_SlitherTracks, + [FLDEFFOBJ_TRACKS_SPOT] = &gFieldEffectObjectTemplate_SpotTracks, + [FLDEFFOBJ_TRACKS_BUG] = &gFieldEffectObjectTemplate_BugTracks, }; diff --git a/src/data/field_effects/field_effect_objects.h b/src/data/field_effects/field_effect_objects.h index d19adf6f0..845f9ec6f 100755 --- a/src/data/field_effects/field_effect_objects.h +++ b/src/data/field_effects/field_effect_objects.h @@ -30,7 +30,7 @@ static const struct SpriteFrameImage sPicTable_ShadowExtraLarge[] = { const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = { .tileTag = TAG_NONE, - .paletteTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, .oam = &gObjectEventBaseOam_8x8, .anims = sAnimTable_Shadow, .images = sPicTable_ShadowSmall, @@ -40,7 +40,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = { const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = { .tileTag = TAG_NONE, - .paletteTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, .oam = &gObjectEventBaseOam_16x8, .anims = sAnimTable_Shadow, .images = sPicTable_ShadowMedium, @@ -50,7 +50,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = { const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = { .tileTag = TAG_NONE, - .paletteTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, .oam = &gObjectEventBaseOam_32x8, .anims = sAnimTable_Shadow, .images = sPicTable_ShadowLarge, @@ -60,7 +60,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = { const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = { .tileTag = TAG_NONE, - .paletteTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, .oam = &gObjectEventBaseOam_64x32, .anims = sAnimTable_Shadow, .images = sPicTable_ShadowExtraLarge, @@ -267,7 +267,7 @@ static const union AnimCmd *const sAnimTable_Arrow[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow = { .tileTag = TAG_NONE, - .paletteTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, .oam = &gObjectEventBaseOam_16x16, .anims = sAnimTable_Arrow, .images = sPicTable_Arrow, @@ -431,6 +431,36 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = { .callback = UpdateFootprintsTireTracksFieldEffect, }; +static const struct SpriteFrameImage sPicTable_BugTracks[] = { + overworld_frame(gFieldEffectObjectPic_BugTracks, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_BugTracks, 2, 2, 1), +}; + +static const struct SpriteFrameImage sPicTable_SpotTracks[] = { + overworld_frame(gFieldEffectObjectPic_SpotTracks, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_SpotTracks, 2, 2, 1), +}; + +const struct SpriteTemplate gFieldEffectObjectTemplate_BugTracks = { + .tileTag = 0xFFFF, + .paletteTag = FLDEFF_PAL_TAG_GENERAL_0, + .oam = &gObjectEventBaseOam_16x16, + .anims = sAnimTable_DeepSandFootprints, + .images = sPicTable_BugTracks, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = UpdateFootprintsTireTracksFieldEffect, +}; + +const struct SpriteTemplate gFieldEffectObjectTemplate_SpotTracks = { + .tileTag = 0xFFFF, + .paletteTag = FLDEFF_PAL_TAG_GENERAL_0, + .oam = &gObjectEventBaseOam_16x16, + .anims = sAnimTable_DeepSandFootprints, + .images = sPicTable_SpotTracks, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = UpdateFootprintsTireTracksFieldEffect, +}; + static const struct SpriteFrameImage sPicTable_BikeTireTracks[] = { overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 1), @@ -509,6 +539,23 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = { .callback = UpdateFootprintsTireTracksFieldEffect, }; +static const struct SpriteFrameImage sPicTable_SlitherTracks[] = { + overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 3), +}; + +const struct SpriteTemplate gFieldEffectObjectTemplate_SlitherTracks = { + .tileTag = 0xFFFF, + .paletteTag = FLDEFF_PAL_TAG_GENERAL_0, + .oam = &gObjectEventBaseOam_16x16, + .anims = sAnimTable_BikeTireTracks, + .images = sPicTable_SlitherTracks, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = UpdateFootprintsTireTracksFieldEffect, +}; + static const struct SpriteFrameImage sPicTable_JumpBigSplash[] = { overworld_frame(gFieldEffectObjectPic_JumpBigSplash, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_JumpBigSplash, 2, 2, 1), @@ -931,7 +978,7 @@ static const union AnimCmd *const sAnimTable_Sparkle[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Sparkle = { .tileTag = TAG_NONE, - .paletteTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, .oam = &gObjectEventBaseOam_16x16, .anims = sAnimTable_Sparkle, .images = sPicTable_Sparkle, @@ -975,7 +1022,7 @@ static const union AnimCmd *const sAnimTable_TreeDisguise[] = const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = { .tileTag = TAG_NONE, - .paletteTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, .oam = &gObjectEventBaseOam_16x32, .anims = sAnimTable_TreeDisguise, .images = sPicTable_TreeDisguise, @@ -1019,7 +1066,7 @@ static const union AnimCmd *const sAnimTable_MountainDisguise[] = const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = { .tileTag = TAG_NONE, - .paletteTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, .oam = &gObjectEventBaseOam_16x32, .anims = sAnimTable_MountainDisguise, .images = sPicTable_MountainDisguise, @@ -1039,7 +1086,7 @@ static const struct SpriteFrameImage sPicTable_SandDisguisePlaceholder[] = { const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = { .tileTag = TAG_NONE, - .paletteTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, .oam = &gObjectEventBaseOam_16x32, .anims = sAnimTable_TreeDisguise, .images = sPicTable_SandDisguisePlaceholder, @@ -1064,7 +1111,7 @@ static const union AnimCmd *const sAnimTable_Bird[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Bird = { .tileTag = TAG_NONE, - .paletteTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, .oam = &gObjectEventBaseOam_32x32, .anims = sAnimTable_Bird, .images = sPicTable_Bird, diff --git a/src/data/object_events/berry_tree_graphics_tables.h b/src/data/object_events/berry_tree_graphics_tables.h index 2969b6a78..f7487c3dd 100755 --- a/src/data/object_events/berry_tree_graphics_tables.h +++ b/src/data/object_events/berry_tree_graphics_tables.h @@ -1,3 +1,37 @@ + +const u16 gBerryTreePaletteTagTable_Pecha[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3}; + +static const struct SpriteFrameImage sPicTable_KelpsyBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 5), +}; + +const u16 gBerryTreePaletteTagTable_Kelpsy[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1}; + +static const struct SpriteFrameImage sPicTable_WepearBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 5), +}; + +const u16 gBerryTreePaletteTagTable_Wepear[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1}; + + +const u16 gBerryTreePaletteTagTable_Iapapa[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2}; + static const struct SpriteFrameImage sPicTable_CheriBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), @@ -10,7 +44,7 @@ static const struct SpriteFrameImage sPicTable_CheriBerryTree[] = { overworld_frame(gObjectEventPic_CheriBerryTree, 2, 4, 5), }; -const u8 gBerryTreePaletteSlotTable_Cheri[] = {3, 4, 4, 4, 4}; +const u16 gBerryTreePaletteTagTable_Cheri[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3}; static const struct SpriteFrameImage sPicTable_ChestoBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), @@ -24,8 +58,11 @@ static const struct SpriteFrameImage sPicTable_ChestoBerryTree[] = { overworld_frame(gObjectEventPic_ChestoBerryTree, 2, 4, 5), }; + const u8 gBerryTreePaletteSlotTable_Chesto[] = {3, 4, 2, 2, 2}; +const u16 gBerryTreePaletteTagTable_Figy[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2}; + static const struct SpriteFrameImage sPicTable_PechaBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), @@ -40,6 +77,30 @@ static const struct SpriteFrameImage sPicTable_PechaBerryTree[] = { const u8 gBerryTreePaletteSlotTable_Pecha[] = {3, 4, 4, 4, 4}; +const u16 gBerryTreePaletteTagTable_Mago[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2}; + +const u16 gBerryTreePaletteTagTable_Lum[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3}; + +const u16 gBerryTreePaletteTagTable_Razz[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3}; + +const u16 gBerryTreePaletteTagTable_Grepa[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2}; + +const u16 gBerryTreePaletteTagTable_Rabuta[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3}; + +const u16 gBerryTreePaletteTagTable_Nomel[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2}; + +const u16 gBerryTreePaletteTagTable_Leppa[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2}; + +const u16 gBerryTreePaletteTagTable_Liechi[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3}; + +const u16 gBerryTreePaletteTagTable_Hondew[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NPC_4}; + +const u16 gBerryTreePaletteTagTable_Aguav[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3}; + +const u16 gBerryTreePaletteTagTable_Wiki[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2}; + +const u16 gBerryTreePaletteTagTable_Pomeg[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2}; + static const struct SpriteFrameImage sPicTable_RawstBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), @@ -52,7 +113,7 @@ static const struct SpriteFrameImage sPicTable_RawstBerryTree[] = { overworld_frame(gObjectEventPic_RawstBerryTree, 2, 4, 5), }; -const u8 gBerryTreePaletteSlotTable_Rawst[] = {3, 4, 4, 4, 4}; +const u16 gBerryTreePaletteTagTable_Rawst[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3}; static const struct SpriteFrameImage sPicTable_AspearBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), @@ -66,7 +127,10 @@ static const struct SpriteFrameImage sPicTable_AspearBerryTree[] = { overworld_frame(gObjectEventPic_AspearBerryTree, 2, 4, 5), }; + const u8 gBerryTreePaletteSlotTable_Aspear[] = {3, 4, 3, 3, 3}; +const u16 gBerryTreePaletteTagTable_Spelon[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2}; + static const struct SpriteFrameImage sPicTable_LeppaBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), @@ -80,8 +144,12 @@ static const struct SpriteFrameImage sPicTable_LeppaBerryTree[] = { overworld_frame(gObjectEventPic_LeppaBerryTree, 2, 4, 5), }; + const u8 gBerryTreePaletteSlotTable_Leppa[] = {3, 4, 3, 3, 3}; +const u16 gBerryTreePaletteTagTable_Chesto[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1}; + + static const struct SpriteFrameImage sPicTable_OranBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), @@ -94,7 +162,7 @@ static const struct SpriteFrameImage sPicTable_OranBerryTree[] = { overworld_frame(gObjectEventPic_OranBerryTree, 2, 4, 5), }; -const u8 gBerryTreePaletteSlotTable_Oran[] = {3, 4, 2, 2, 2}; +const u16 gBerryTreePaletteTagTable_Oran[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1}; static const struct SpriteFrameImage sPicTable_PersimBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), @@ -108,7 +176,7 @@ static const struct SpriteFrameImage sPicTable_PersimBerryTree[] = { overworld_frame(gObjectEventPic_PersimBerryTree, 2, 4, 5), }; -const u8 gBerryTreePaletteSlotTable_Persim[] = {3, 4, 2, 2, 2}; +const u16 gBerryTreePaletteTagTable_Persim[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1}; static const struct SpriteFrameImage sPicTable_LumBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), @@ -136,7 +204,7 @@ static const struct SpriteFrameImage sPicTable_SitrusBerryTree[] = { overworld_frame(gObjectEventPic_SitrusBerryTree, 2, 4, 5), }; -const u8 gBerryTreePaletteSlotTable_Sitrus[] = {3, 4, 4, 4, 4}; +const u16 gBerryTreePaletteTagTable_Sitrus[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3}; static const struct SpriteFrameImage sPicTable_FigyBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), @@ -150,8 +218,12 @@ static const struct SpriteFrameImage sPicTable_FigyBerryTree[] = { overworld_frame(gObjectEventPic_FigyBerryTree, 2, 4, 5), }; + const u8 gBerryTreePaletteSlotTable_Figy[] = {3, 4, 3, 3, 3}; +const u16 gBerryTreePaletteTagTable_Aspear[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_2}; + + static const struct SpriteFrameImage sPicTable_WikiBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), @@ -164,8 +236,12 @@ static const struct SpriteFrameImage sPicTable_WikiBerryTree[] = { overworld_frame(gObjectEventPic_WikiBerryTree, 2, 4, 5), }; + const u8 gBerryTreePaletteSlotTable_Wiki[] = {3, 4, 3, 3, 3}; +const u16 gBerryTreePaletteTagTable_Pamtre[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1}; + + static const struct SpriteFrameImage sPicTable_MagoBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), @@ -178,8 +254,12 @@ static const struct SpriteFrameImage sPicTable_MagoBerryTree[] = { overworld_frame(gObjectEventPic_MagoBerryTree, 2, 4, 5), }; + const u8 gBerryTreePaletteSlotTable_Mago[] = {3, 4, 3, 3, 3}; +const u16 gBerryTreePaletteTagTable_Cornn[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1}; + + static const struct SpriteFrameImage sPicTable_AguavBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), @@ -192,8 +272,12 @@ static const struct SpriteFrameImage sPicTable_AguavBerryTree[] = { overworld_frame(gObjectEventPic_AguavBerryTree, 2, 4, 5), }; + const u8 gBerryTreePaletteSlotTable_Aguav[] = {3, 4, 4, 4, 4}; +const u16 gBerryTreePaletteTagTable_Lansat[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1}; + + static const struct SpriteFrameImage sPicTable_IapapaBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), @@ -222,18 +306,6 @@ static const struct SpriteFrameImage sPicTable_RazzBerryTree[] = { const u8 gBerryTreePaletteSlotTable_Razz[] = {3, 4, 4, 4, 4}; -static const struct SpriteFrameImage sPicTable_WepearBerryTree[] = { - overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 0), - overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 1), - overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 2), - overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 3), - overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 4), - overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 5), -}; - const u8 gBerryTreePaletteSlotTable_Wepear[] = {3, 4, 2, 2, 2}; static const struct SpriteFrameImage sPicTable_PomegBerryTree[] = { @@ -250,18 +322,6 @@ static const struct SpriteFrameImage sPicTable_PomegBerryTree[] = { const u8 gBerryTreePaletteSlotTable_Pomeg[] = {3, 4, 3, 3, 3}; -static const struct SpriteFrameImage sPicTable_KelpsyBerryTree[] = { - overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 0), - overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 1), - overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 2), - overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 3), - overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 4), - overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 5), -}; - const u8 gBerryTreePaletteSlotTable_Kelpsy[] = {3, 4, 2, 2, 2}; static const struct SpriteFrameImage sPicTable_HondewBerryTree[] = { @@ -291,6 +351,7 @@ static const struct SpriteFrameImage sPicTable_GrepaBerryTree[] = { }; const u8 gBerryTreePaletteSlotTable_Grepa[] = {3, 4, 3, 3, 3}; +const u16 gBerryTreePaletteTagTable_Durin[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_3}; static const struct SpriteFrameImage sPicTable_TamatoBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), @@ -304,7 +365,7 @@ static const struct SpriteFrameImage sPicTable_TamatoBerryTree[] = { overworld_frame(gObjectEventPic_TamatoBerryTree, 2, 4, 5), }; -const u8 gBerryTreePaletteSlotTable_Tamato[] = {3, 4, 2, 2, 2}; +const u16 gBerryTreePaletteTagTable_Tamato[] = {OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NPC_1}; static const struct SpriteFrameImage sPicTable_CornnBerryTree[] = { overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), @@ -628,9 +689,10 @@ const struct SpriteFrameImage sPicTable_RowapBerryTree[] = { const u8 gBerryTreePaletteSlotTable_Rowap[] = {3, 4, 5, 5, 5}; -const u8 gDeadBerryTreeObjectEventGraphicsIdTable[] = {OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES}; +//const u8 gDeadBerryTreeObjectEventGraphicsIdTable[] = {OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES}; +const u16 gDeadBerryTreeObjectEventGraphicsIdTable[] = {OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES}; -const u8 gBerryTreeObjectEventGraphicsIdTable[] = {OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES, OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES, OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES}; +const u16 gBerryTreeObjectEventGraphicsIdTable[] = {OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES, OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES, OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES}; const struct SpriteFrameImage *const gBerryTreePicTablePointers[] = { [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = sPicTable_CheriBerryTree, @@ -703,78 +765,53 @@ const struct SpriteFrameImage *const gBerryTreePicTablePointers[] = { [ITEM_ENIGMA_BERRY_E_READER - FIRST_BERRY_INDEX] = sPicTable_DurinBerryTree, }; -const u8 *const gBerryTreePaletteSlotTablePointers[] = { - [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cheri, - [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Chesto, - [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pecha, - [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rawst, - [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aspear, - [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Leppa, - [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Oran, - [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Persim, - [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lum, - [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Sitrus, - [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Figy, - [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wiki, - [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Mago, - [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aguav, - [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Iapapa, - [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz, - [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz, - [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Mago, - [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wepear, - [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Iapapa, - [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, - [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Kelpsy, - [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wepear, - [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, - [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa, - [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Tamato, - [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn, - [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, - [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rabuta, - [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Nomel, - [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Spelon, - [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pamtre, - [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rabuta, - [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin, - [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, - [ITEM_CHILAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa, - [ITEM_OCCA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Occa, - [ITEM_PASSHO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn, - [ITEM_WACAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz, - [ITEM_RINDO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Tamato, - [ITEM_YACHE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Yache, - [ITEM_CHOPLE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Chople, - [ITEM_KEBIA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Kebia, - [ITEM_SHUCA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Shuca, - [ITEM_COBA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rawst, - [ITEM_PAYAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Payapa, - [ITEM_TANGA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Tanga, - [ITEM_CHARTI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lansat, - [ITEM_KASIB_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Kasib, - [ITEM_HABAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Haban, - [ITEM_COLBUR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Colbur, - [ITEM_BABIRI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Liechi, - [ITEM_ROSELI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Roseli, - [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Liechi, - [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, - [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aguav, - [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, - [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa, - [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lansat, - [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn, - [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin, - [ITEM_MICLE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Micle, - [ITEM_CUSTAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Custap, - [ITEM_JABOCA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Jaboca, - [ITEM_ROWAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rowap, - [ITEM_KEE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pecha, - [ITEM_MARANGA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Occa, - [ITEM_ENIGMA_BERRY_E_READER - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin, +const u16 *const gBerryTreePaletteTagTablePointers[] = { + [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Cheri, + [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Chesto, + [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Pecha, + [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Rawst, + [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Aspear, + [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Leppa, + [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Oran, + [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Persim, + [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Lum, + [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Sitrus, + [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Figy, + [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Wiki, + [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Mago, + [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Aguav, + [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Iapapa, + [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Razz, + [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Razz, + [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Mago, + [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Wepear, + [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Iapapa, + [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Pomeg, + [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Kelpsy, + [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Wepear, + [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Hondew, + [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Grepa, + [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Tamato, + [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Cornn, + [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Pomeg, + [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Rabuta, + [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Nomel, + [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Spelon, + [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Pamtre, + [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Rabuta, + [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Durin, + [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Hondew, + [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Liechi, + [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Hondew, + [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Aguav, + [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Pomeg, + [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Grepa, + [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Lansat, + [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Cornn, + [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteTagTable_Durin, }; -const u8 *const gBerryTreeObjectEventGraphicsIdTablePointers[] = { +const u16 *const gBerryTreeObjectEventGraphicsIdTablePointers[] = { [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, diff --git a/src/data/object_events/movement_action_func_tables.h b/src/data/object_events/movement_action_func_tables.h index 2e1b6b3b3..964cd1f21 100755 --- a/src/data/object_events/movement_action_func_tables.h +++ b/src/data/object_events/movement_action_func_tables.h @@ -261,6 +261,15 @@ u8 MovementAction_FlyUp_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_Fly_Finish(struct ObjectEvent *, struct Sprite *); u8 MovementAction_FlyDown_Step0(struct ObjectEvent *, struct Sprite *); u8 MovementAction_FlyDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FollowingPokemon_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FollowingPokemon_FaceSouth_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FollowingPokemon_FaceNorth_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FollowingPokemon_FaceWest_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FollowingPokemon_FaceEast_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FollowingPokemon_Shrink_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FollowingPokemon_Shrink_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FollowingPokemon_Grow_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FollowingPokemon_Grow_Step1(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_FaceDown[])(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_FaceUp[])(struct ObjectEvent *, struct Sprite *); @@ -420,6 +429,14 @@ u8 (*const gMovementActionFuncs_StopLevitateAtTop[])(struct ObjectEvent *, struc u8 (*const gMovementActionFuncs_Figure8[])(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_FlyUp[])(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_FlyDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FlyDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FollowingPokemon[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FollowingPokemon_FaceSouth[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FollowingPokemon_FaceNorth[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FollowingPokemon_FaceWest[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FollowingPokemon_FaceEast[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FollowingPokemon_Shrink[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FollowingPokemon_Grow[])(struct ObjectEvent *, struct Sprite *); u8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sprite *) = { [MOVEMENT_ACTION_FACE_DOWN] = gMovementActionFuncs_FaceDown, @@ -580,6 +597,13 @@ u8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sprite *) [MOVEMENT_ACTION_FIGURE_8] = gMovementActionFuncs_Figure8, [MOVEMENT_ACTION_FLY_UP] = gMovementActionFuncs_FlyUp, [MOVEMENT_ACTION_FLY_DOWN] = gMovementActionFuncs_FlyDown, + [MOVEMENT_ACTION_FOLLOWING_POKEMON] = gMovementActionFuncs_FollowingPokemon, + [MOVEMENT_ACTION_FOLLOWING_POKEMON_FACESOUTH] = gMovementActionFuncs_FollowingPokemon_FaceSouth, + [MOVEMENT_ACTION_FOLLOWING_POKEMON_FACENORTH] = gMovementActionFuncs_FollowingPokemon_FaceNorth, + [MOVEMENT_ACTION_FOLLOWING_POKEMON_FACEWEST] = gMovementActionFuncs_FollowingPokemon_FaceWest, + [MOVEMENT_ACTION_FOLLOWING_POKEMON_FACEEAST] = gMovementActionFuncs_FollowingPokemon_FaceEast, + [MOVEMENT_ACTION_FOLLOWING_POKEMON_SHRINK] = gMovementActionFuncs_FollowingPokemon_Shrink, + [MOVEMENT_ACTION_FOLLOWING_POKEMON_GROW] = gMovementActionFuncs_FollowingPokemon_Grow, }; u8 (*const gMovementActionFuncs_FaceDown[])(struct ObjectEvent *, struct Sprite *) = { @@ -710,11 +734,15 @@ static const s16 sJumpInitDisplacements[] = { [JUMP_DISTANCE_IN_PLACE] = 0, [JUMP_DISTANCE_NORMAL] = 1, [JUMP_DISTANCE_FAR] = 1, + [JUMP_DISTANCE_FAR_QUICK] = 1, + [JUMP_DISTANCE_FAR_QUICKER] = 1, }; static const s16 sJumpDisplacements[] = { [JUMP_DISTANCE_IN_PLACE] = 0, [JUMP_DISTANCE_NORMAL] = 0, [JUMP_DISTANCE_FAR] = 1, + [JUMP_DISTANCE_FAR_QUICK] = 1, + [JUMP_DISTANCE_FAR_QUICKER] = 1, }; u8 (*const gMovementActionFuncs_Jump2Down[])(struct ObjectEvent *, struct Sprite *) = { diff --git a/src/data/object_events/movement_type_func_tables.h b/src/data/object_events/movement_type_func_tables.h index f5189d838..8d0956f48 100755 --- a/src/data/object_events/movement_type_func_tables.h +++ b/src/data/object_events/movement_type_func_tables.h @@ -24,6 +24,13 @@ u8 (*const gGetVectorDirectionFuncs[])(s16, s16, s16, s16) = { GetLimitedVectorDirection_SouthWestEast, }; +u8 (*const gMovementTypeFuncs_FollowingPokemon[])(struct ObjectEvent *, struct Sprite *) = { + MovementType_FollowingPokemon_Step0, + MovementType_FollowingPokemon_Step1, + MovementType_FollowingPokemon_Step2, + MovementType_FollowingPokemon_Step3, +}; + u8 (*const gMovementTypeFuncs_LookAround[])(struct ObjectEvent *, struct Sprite *) = { MovementType_LookAround_Step0, MovementType_LookAround_Step1, diff --git a/src/data/object_events/object_event_anims.h b/src/data/object_events/object_event_anims.h index f96e52de5..96e49748b 100755 --- a/src/data/object_events/object_event_anims.h +++ b/src/data/object_events/object_event_anims.h @@ -1143,6 +1143,761 @@ static const union AffineAnimCmd *const sAffineAnimTable_KyogreGroudon[] = { sAffineAnim_KyogreGroudon_DipEast, // Unused }; +const union AnimCmd gObjectEventImageAnim_FaceSouth_FollowingPokemon[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FaceNorth_FollowingPokemon[] = +{ + ANIMCMD_FRAME(2, 14), + ANIMCMD_FRAME(2, 14), + ANIMCMD_FRAME(3, 14), + ANIMCMD_FRAME(3, 14), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FaceWest_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 14), + ANIMCMD_FRAME(4, 14), + ANIMCMD_FRAME(5, 14), + ANIMCMD_FRAME(5, 14), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FaceEast_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 14, .hFlip = TRUE), + ANIMCMD_FRAME(4, 14, .hFlip = TRUE), + ANIMCMD_FRAME(5, 14, .hFlip = TRUE), + ANIMCMD_FRAME(5, 14, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkSouth_FollowingPokemon[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkNorth_FollowingPokemon[] = +{ + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkWest_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(5, 8), + ANIMCMD_FRAME(5, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEast_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 8, .hFlip = TRUE), + ANIMCMD_FRAME(4, 8, .hFlip = TRUE), + ANIMCMD_FRAME(5, 8, .hFlip = TRUE), + ANIMCMD_FRAME(5, 8, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkSouthFast_FollowingPokemon[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkNorthFast_FollowingPokemon[] = +{ + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkWestFast_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 6), + ANIMCMD_FRAME(4, 6), + ANIMCMD_FRAME(5, 6), + ANIMCMD_FRAME(5, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEastFast_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 6, .hFlip = TRUE), + ANIMCMD_FRAME(4, 6, .hFlip = TRUE), + ANIMCMD_FRAME(5, 6, .hFlip = TRUE), + ANIMCMD_FRAME(5, 6, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkSouthFaster_FollowingPokemon[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkNorthFaster_FollowingPokemon[] = +{ + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkWestFaster_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(5, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEastFaster_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 4, .hFlip = TRUE), + ANIMCMD_FRAME(4, 4, .hFlip = TRUE), + ANIMCMD_FRAME(5, 4, .hFlip = TRUE), + ANIMCMD_FRAME(5, 4, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkSouthFastest_FollowingPokemon[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkNorthFastest_FollowingPokemon[] = +{ + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(3, 2), + ANIMCMD_FRAME(3, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkWestFastest_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEastFastest_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 2, .hFlip = TRUE), + ANIMCMD_FRAME(4, 2, .hFlip = TRUE), + ANIMCMD_FRAME(5, 2, .hFlip = TRUE), + ANIMCMD_FRAME(5, 2, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gObjectEventImageAnimTable_FollowingPokemon[] = { + // Needed for if the Pokemon is in overworld and for idle animation. + gObjectEventImageAnim_FaceSouth_FollowingPokemon, + gObjectEventImageAnim_FaceNorth_FollowingPokemon, + gObjectEventImageAnim_FaceWest_FollowingPokemon, + gObjectEventImageAnim_FaceEast_FollowingPokemon, + + // Needed for when the player walks + gObjectEventImageAnim_WalkSouth_FollowingPokemon, + gObjectEventImageAnim_WalkNorth_FollowingPokemon, + gObjectEventImageAnim_WalkWest_FollowingPokemon, + gObjectEventImageAnim_WalkEast_FollowingPokemon, + + // Needed for movement actions + gObjectEventImageAnim_WalkSouthFast_FollowingPokemon, + gObjectEventImageAnim_WalkNorthFast_FollowingPokemon, + gObjectEventImageAnim_WalkWestFast_FollowingPokemon, + gObjectEventImageAnim_WalkEastFast_FollowingPokemon, + gObjectEventImageAnim_WalkSouthFaster_FollowingPokemon, + gObjectEventImageAnim_WalkNorthFaster_FollowingPokemon, + gObjectEventImageAnim_WalkWestFaster_FollowingPokemon, + gObjectEventImageAnim_WalkEastFaster_FollowingPokemon, + gObjectEventImageAnim_WalkSouthFastest_FollowingPokemon, + gObjectEventImageAnim_WalkNorthFastest_FollowingPokemon, + gObjectEventImageAnim_WalkWestFastest_FollowingPokemon, + gObjectEventImageAnim_WalkEastFastest_FollowingPokemon, + + // Needed for when the player runs + gObjectEventImageAnim_WalkSouthFast_FollowingPokemon, + gObjectEventImageAnim_WalkNorthFast_FollowingPokemon, + gObjectEventImageAnim_WalkWestFast_FollowingPokemon, + gObjectEventImageAnim_WalkEastFast_FollowingPokemon, +}; + +const union AnimCmd gObjectEventImageAnim_FaceEast_Unique_FollowingPokemon[] = +{ + ANIMCMD_FRAME(6, 14), + ANIMCMD_FRAME(6, 14), + ANIMCMD_FRAME(7, 14), + ANIMCMD_FRAME(7, 14), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEast_Unique_FollowingPokemon[] = +{ + ANIMCMD_FRAME(6, 8), + ANIMCMD_FRAME(6, 8), + ANIMCMD_FRAME(7, 8), + ANIMCMD_FRAME(7, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEastFast_Unique_FollowingPokemon[] = +{ + ANIMCMD_FRAME(6, 6), + ANIMCMD_FRAME(6, 6), + ANIMCMD_FRAME(7, 6), + ANIMCMD_FRAME(7, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEastFaster_Unique_FollowingPokemon[] = +{ + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(7, 4), + ANIMCMD_FRAME(7, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEastFastest_Unique_FollowingPokemon[] = +{ + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(7, 2), + ANIMCMD_FRAME(7, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gObjectEventImageAnimTable_FollowingPokemon_UniqueEast[] = { + // Needed for if the Pokemon is in overworld. + gObjectEventImageAnim_FaceSouth_FollowingPokemon, + gObjectEventImageAnim_FaceNorth_FollowingPokemon, + gObjectEventImageAnim_FaceWest_FollowingPokemon, + gObjectEventImageAnim_FaceEast_Unique_FollowingPokemon, + + // Needed for when the player walks + gObjectEventImageAnim_WalkSouth_FollowingPokemon, + gObjectEventImageAnim_WalkNorth_FollowingPokemon, + gObjectEventImageAnim_WalkWest_FollowingPokemon, + gObjectEventImageAnim_WalkEast_Unique_FollowingPokemon, + + // Needed for movement actions + gObjectEventImageAnim_WalkSouthFast_FollowingPokemon, + gObjectEventImageAnim_WalkNorthFast_FollowingPokemon, + gObjectEventImageAnim_WalkWestFast_FollowingPokemon, + gObjectEventImageAnim_WalkEastFast_Unique_FollowingPokemon, + gObjectEventImageAnim_WalkSouthFaster_FollowingPokemon, + gObjectEventImageAnim_WalkNorthFaster_FollowingPokemon, + gObjectEventImageAnim_WalkWestFaster_FollowingPokemon, + gObjectEventImageAnim_WalkEastFaster_Unique_FollowingPokemon, + gObjectEventImageAnim_WalkSouthFastest_FollowingPokemon, + gObjectEventImageAnim_WalkNorthFastest_FollowingPokemon, + gObjectEventImageAnim_WalkWestFastest_FollowingPokemon, + gObjectEventImageAnim_WalkEastFastest_Unique_FollowingPokemon, + + // Needed for when the player runs + gObjectEventImageAnim_WalkSouthFast_FollowingPokemon, + gObjectEventImageAnim_WalkNorthFast_FollowingPokemon, + gObjectEventImageAnim_WalkWestFast_FollowingPokemon, + gObjectEventImageAnim_WalkEastFast_Unique_FollowingPokemon, +}; + +const union AnimCmd gObjectEventImageAnim_FaceNorth_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(0, 14, .hFlip = TRUE), + ANIMCMD_FRAME(0, 14, .hFlip = TRUE), + ANIMCMD_FRAME(1, 14, .hFlip = TRUE), + ANIMCMD_FRAME(1, 14, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FaceWest_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(2, 14), + ANIMCMD_FRAME(2, 14), + ANIMCMD_FRAME(3, 14), + ANIMCMD_FRAME(3, 14), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FaceEast_Unique_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 14), + ANIMCMD_FRAME(4, 14), + ANIMCMD_FRAME(5, 14), + ANIMCMD_FRAME(5, 14), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkNorth_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(0, 8, .hFlip = TRUE), + ANIMCMD_FRAME(0, 8, .hFlip = TRUE), + ANIMCMD_FRAME(1, 8, .hFlip = TRUE), + ANIMCMD_FRAME(1, 8, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkWest_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEast_Unique_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(5, 8), + ANIMCMD_FRAME(5, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkNorthFast_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(0, 6, .hFlip = TRUE), + ANIMCMD_FRAME(0, 6, .hFlip = TRUE), + ANIMCMD_FRAME(1, 6, .hFlip = TRUE), + ANIMCMD_FRAME(1, 6, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkWestFast_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEastFast_Unique_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 6), + ANIMCMD_FRAME(4, 6), + ANIMCMD_FRAME(5, 6), + ANIMCMD_FRAME(5, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkNorthFaster_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(1, 4, .hFlip = TRUE), + ANIMCMD_FRAME(1, 4, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkWestFaster_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEastFaster_Unique_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(5, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkNorthFastest_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(0, 2, .hFlip = TRUE), + ANIMCMD_FRAME(0, 2, .hFlip = TRUE), + ANIMCMD_FRAME(1, 2, .hFlip = TRUE), + ANIMCMD_FRAME(1, 2, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkWestFastest_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(3, 2), + ANIMCMD_FRAME(3, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEastFastest_Unique_Double_FollowingPokemon[] = +{ + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gObjectEventImageAnimTable_FollowingPokemon_UniqueEast_DoubleNorth[] = { + // Needed for if the Pokemon is in overworld. + gObjectEventImageAnim_FaceSouth_FollowingPokemon, + gObjectEventImageAnim_FaceNorth_Double_FollowingPokemon, + gObjectEventImageAnim_FaceWest_Double_FollowingPokemon, + gObjectEventImageAnim_FaceEast_Unique_Double_FollowingPokemon, + + // Needed for when the player walks + gObjectEventImageAnim_WalkSouth_FollowingPokemon, + gObjectEventImageAnim_WalkNorth_Double_FollowingPokemon, + gObjectEventImageAnim_WalkWest_Double_FollowingPokemon, + gObjectEventImageAnim_WalkEast_Unique_Double_FollowingPokemon, + + // Needed for movement actions + gObjectEventImageAnim_WalkSouthFast_FollowingPokemon, + gObjectEventImageAnim_WalkNorthFast_Double_FollowingPokemon, + gObjectEventImageAnim_WalkWestFast_Double_FollowingPokemon, + gObjectEventImageAnim_WalkEastFast_Unique_Double_FollowingPokemon, + gObjectEventImageAnim_WalkSouthFaster_FollowingPokemon, + gObjectEventImageAnim_WalkNorthFaster_Double_FollowingPokemon, + gObjectEventImageAnim_WalkWestFaster_Double_FollowingPokemon, + gObjectEventImageAnim_WalkEastFaster_Unique_Double_FollowingPokemon, + gObjectEventImageAnim_WalkSouthFastest_FollowingPokemon, + gObjectEventImageAnim_WalkNorthFastest_Double_FollowingPokemon, + gObjectEventImageAnim_WalkWestFastest_Double_FollowingPokemon, + gObjectEventImageAnim_WalkEastFastest_Unique_Double_FollowingPokemon, + + // Needed for when the player runs + gObjectEventImageAnim_WalkSouthFast_FollowingPokemon, + gObjectEventImageAnim_WalkNorthFast_Double_FollowingPokemon, + gObjectEventImageAnim_WalkWestFast_Double_FollowingPokemon, + gObjectEventImageAnim_WalkEastFast_Unique_Double_FollowingPokemon, +}; + +const union AnimCmd gObjectEventImageAnim_FaceSouth_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 28), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FaceNorth_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(2, 28), + ANIMCMD_FRAME(3, 28), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FaceWest_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(4, 28), + ANIMCMD_FRAME(5, 28), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FaceEast_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(4, 28, .hFlip = TRUE), + ANIMCMD_FRAME(5, 28, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkSouth_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkNorth_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(2, 16), + ANIMCMD_FRAME(3, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkWest_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(4, 16), + ANIMCMD_FRAME(5, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEast_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(4, 16, .hFlip = TRUE), + ANIMCMD_FRAME(5, 16, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkSouthFast_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkNorthFast_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(2, 12), + ANIMCMD_FRAME(3, 12), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkWestFast_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(4, 12), + ANIMCMD_FRAME(5, 12), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEastFast_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(4, 12, .hFlip = TRUE), + ANIMCMD_FRAME(5, 12, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkSouthFaster_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkNorthFaster_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkWestFaster_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(5, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEastFaster_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(4, 8, .hFlip = TRUE), + ANIMCMD_FRAME(5, 8, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkSouthFastest_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkNorthFastest_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkWestFastest_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(5, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_WalkEastFastest_FollowingPokemon_Rayquaza[] = +{ + ANIMCMD_FRAME(4, 4, .hFlip = TRUE), + ANIMCMD_FRAME(5, 4, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gObjectEventImageAnimTable_FollowingPokemon_Rayquaza[] = { + // Needed for if the Pokemon is in overworld and for idle animation. + gObjectEventImageAnim_FaceSouth_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_FaceNorth_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_FaceWest_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_FaceEast_FollowingPokemon_Rayquaza, + + // Needed for when the player walks + gObjectEventImageAnim_WalkSouth_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkNorth_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkWest_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkEast_FollowingPokemon_Rayquaza, + + // Needed for movement actions + gObjectEventImageAnim_WalkSouthFast_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkNorthFast_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkWestFast_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkEastFast_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkSouthFaster_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkNorthFaster_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkWestFaster_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkEastFaster_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkSouthFastest_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkNorthFastest_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkWestFastest_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkEastFastest_FollowingPokemon_Rayquaza, + + // Needed for when the player runs + gObjectEventImageAnim_WalkSouthFast_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkNorthFast_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkWestFast_FollowingPokemon_Rayquaza, + gObjectEventImageAnim_WalkEastFast_FollowingPokemon_Rayquaza, +}; + +static const union AffineAnimCmd Following_Pokemon_Shrink[] = +{ + AFFINEANIMCMD_FRAME(-25, -25, 0, 10), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd Following_Pokemon_Grow[] = +{ + AFFINEANIMCMD_FRAME(-256, -256, 0, 1), + AFFINEANIMCMD_FRAME(4, 4, 0, 1), + AFFINEANIMCMD_FRAME(28, 28, 0, 9), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd Following_Pokemon_Shrink_Right[] = +{ + AFFINEANIMCMD_FRAME(-512, 0, 0, 1), + AFFINEANIMCMD_FRAME(28, -28, 0, 9), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd Following_Pokemon_Grow_Right[] = +{ + AFFINEANIMCMD_FRAME(-256, -256, 0, 1), + AFFINEANIMCMD_FRAME(-4, 4, 0, 1), + AFFINEANIMCMD_FRAME(-28, 28, 0, 9), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd *const FollowerAffineTable[] = { + Following_Pokemon_Shrink, + Following_Pokemon_Grow, + Following_Pokemon_Shrink_Right, + Following_Pokemon_Grow_Right, +}; + +static const union AnimCmd ExpandingSparkle[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(2, 3), + ANIMCMD_FRAME(3, 3), + ANIMCMD_FRAME(4, 3), + ANIMCMD_FRAME(5, 3), + ANIMCMD_END, +}; + +static const union AnimCmd *const ExpandingSparkleTable[] = +{ + ExpandingSparkle, +}; + +static const union AffineAnimCmd North[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(0, 0, -4, 16), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd NorthEast[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -32, 1), + AFFINEANIMCMD_FRAME(0, 0, -4, 16), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd East[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -64, 1), + AFFINEANIMCMD_FRAME(0, 0, -4, 16), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd SouthEast[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -96, 1), + AFFINEANIMCMD_FRAME(0, 0, -4, 16), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd South[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -128, 1), + AFFINEANIMCMD_FRAME(0, 0, -4, 16), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd SouthWest[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 96, 1), + AFFINEANIMCMD_FRAME(0, 0, -4, 16), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd West[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 64, 1), + AFFINEANIMCMD_FRAME(0, 0, -4, 16), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd NorthWest[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 32, 1), + AFFINEANIMCMD_FRAME(0, 0, -4, 16), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd *const ExpandingSparkleAffineTable[] = { + North, + NorthEast, + East, + SouthEast, + South, + SouthWest, + West, + NorthWest, +}; + // For animations with alternating steps static const struct StepAnimTable sStepAnimTables[] = { { diff --git a/src/data/object_events/object_event_graphics.h b/src/data/object_events/object_event_graphics.h index 2f2cf689b..bd9a5d152 100755 --- a/src/data/object_events/object_event_graphics.h +++ b/src/data/object_events/object_event_graphics.h @@ -125,6 +125,56 @@ const u32 gObjectEventPic_Man4[] = INCBIN_U32("graphics/object_events/pics/peopl const u32 gObjectEventPic_Man5[] = INCBIN_U32("graphics/object_events/pics/people/man_5.4bpp"); const u32 gObjectEventPic_Nurse[] = INCBIN_U32("graphics/object_events/pics/people/nurse.4bpp"); const u32 gObjectEventPic_ItemBall[] = INCBIN_U32("graphics/object_events/pics/misc/item_ball.4bpp"); +const u32 gObjectEventPic_GreatBall[] = INCBIN_U32("graphics/object_events/pics/misc/great_ball.4bpp"); +const u16 gObjectEventPal_GreatBall[] = INCBIN_U16("graphics/object_events/palettes/great_ball.gbapal"); +const u32 gObjectEventPic_UltraBall[] = INCBIN_U32("graphics/object_events/pics/misc/ultra_ball.4bpp"); +const u16 gObjectEventPal_UltraBall[] = INCBIN_U16("graphics/object_events/palettes/ultra_ball.gbapal"); +const u32 gObjectEventPic_MasterBall[] = INCBIN_U32("graphics/object_events/pics/misc/master_ball.4bpp"); +const u16 gObjectEventPal_MasterBall[] = INCBIN_U16("graphics/object_events/palettes/master_ball.gbapal"); +const u32 gObjectEventPic_SafariBall[] = INCBIN_U32("graphics/object_events/pics/misc/safari_ball.4bpp"); +const u16 gObjectEventPal_SafariBall[] = INCBIN_U16("graphics/object_events/palettes/safari_ball.gbapal"); +const u32 gObjectEventPic_NetBall[] = INCBIN_U32("graphics/object_events/pics/misc/net_ball.4bpp"); +const u16 gObjectEventPal_NetBall[] = INCBIN_U16("graphics/object_events/palettes/net_ball.gbapal"); +const u32 gObjectEventPic_DiveBall[] = INCBIN_U32("graphics/object_events/pics/misc/dive_ball.4bpp"); +const u16 gObjectEventPal_DiveBall[] = INCBIN_U16("graphics/object_events/palettes/dive_ball.gbapal"); +const u32 gObjectEventPic_NestBall[] = INCBIN_U32("graphics/object_events/pics/misc/nest_ball.4bpp"); +const u16 gObjectEventPal_NestBall[] = INCBIN_U16("graphics/object_events/palettes/nest_ball.gbapal"); +const u32 gObjectEventPic_RepeatBall[] = INCBIN_U32("graphics/object_events/pics/misc/repeat_ball.4bpp"); +const u16 gObjectEventPal_RepeatBall[] = INCBIN_U16("graphics/object_events/palettes/repeat_ball.gbapal"); +const u32 gObjectEventPic_TimerBall[] = INCBIN_U32("graphics/object_events/pics/misc/timer_ball.4bpp"); +const u16 gObjectEventPal_TimerBall[] = INCBIN_U16("graphics/object_events/palettes/timer_ball.gbapal"); +const u32 gObjectEventPic_LuxuryBall[] = INCBIN_U32("graphics/object_events/pics/misc/luxury_ball.4bpp"); +const u16 gObjectEventPal_LuxuryBall[] = INCBIN_U16("graphics/object_events/palettes/luxury_ball.gbapal"); +const u32 gObjectEventPic_PremierBall[] = INCBIN_U32("graphics/object_events/pics/misc/premier_ball.4bpp"); +const u16 gObjectEventPal_PremierBall[] = INCBIN_U16("graphics/object_events/palettes/premier_ball.gbapal"); +const u32 gObjectEventPic_HealBall[] = INCBIN_U32("graphics/object_events/pics/misc/heal_ball.4bpp"); +const u16 gObjectEventPal_HealBall[] = INCBIN_U16("graphics/object_events/palettes/heal_ball.gbapal"); +const u32 gObjectEventPic_DuskBall[] = INCBIN_U32("graphics/object_events/pics/misc/dusk_ball.4bpp"); +const u16 gObjectEventPal_DuskBall[] = INCBIN_U16("graphics/object_events/palettes/dusk_ball.gbapal"); +const u32 gObjectEventPic_QuickBall[] = INCBIN_U32("graphics/object_events/pics/misc/quick_ball.4bpp"); +const u16 gObjectEventPal_QuickBall[] = INCBIN_U16("graphics/object_events/palettes/quick_ball.gbapal"); +const u32 gObjectEventPic_LevelBall[] = INCBIN_U32("graphics/object_events/pics/misc/level_ball.4bpp"); +const u16 gObjectEventPal_LevelBall[] = INCBIN_U16("graphics/object_events/palettes/level_ball.gbapal"); +const u32 gObjectEventPic_LureBall[] = INCBIN_U32("graphics/object_events/pics/misc/lure_ball.4bpp"); +const u16 gObjectEventPal_LureBall[] = INCBIN_U16("graphics/object_events/palettes/lure_ball.gbapal"); +const u32 gObjectEventPic_MoonBall[] = INCBIN_U32("graphics/object_events/pics/misc/moon_ball.4bpp"); +const u16 gObjectEventPal_MoonBall[] = INCBIN_U16("graphics/object_events/palettes/moon_ball.gbapal"); +const u32 gObjectEventPic_FriendBall[] = INCBIN_U32("graphics/object_events/pics/misc/friend_ball.4bpp"); +const u16 gObjectEventPal_FriendBall[] = INCBIN_U16("graphics/object_events/palettes/friend_ball.gbapal"); +const u32 gObjectEventPic_LoveBall[] = INCBIN_U32("graphics/object_events/pics/misc/love_ball.4bpp"); +const u16 gObjectEventPal_LoveBall[] = INCBIN_U16("graphics/object_events/palettes/love_ball.gbapal"); +const u32 gObjectEventPic_FastBall[] = INCBIN_U32("graphics/object_events/pics/misc/fast_ball.4bpp"); +const u16 gObjectEventPal_FastBall[] = INCBIN_U16("graphics/object_events/palettes/fast_ball.gbapal"); +const u32 gObjectEventPic_HeavyBall[] = INCBIN_U32("graphics/object_events/pics/misc/heavy_ball.4bpp"); +const u16 gObjectEventPal_HeavyBall[] = INCBIN_U16("graphics/object_events/palettes/heavy_ball.gbapal"); +const u32 gObjectEventPic_DreamBall[] = INCBIN_U32("graphics/object_events/pics/misc/dream_ball.4bpp"); +const u16 gObjectEventPal_DreamBall[] = INCBIN_U16("graphics/object_events/palettes/dream_ball.gbapal"); +const u32 gObjectEventPic_SportBall[] = INCBIN_U32("graphics/object_events/pics/misc/sport_ball.4bpp"); +const u16 gObjectEventPal_SportBall[] = INCBIN_U16("graphics/object_events/palettes/sport_ball.gbapal"); +const u32 gObjectEventPic_ParkBall[] = INCBIN_U32("graphics/object_events/pics/misc/park_ball.4bpp"); +const u16 gObjectEventPal_ParkBall[] = INCBIN_U16("graphics/object_events/palettes/park_ball.gbapal"); +const u32 gObjectEventPic_CherishBall[] = INCBIN_U32("graphics/object_events/pics/misc/cherish_ball.4bpp"); +const u16 gObjectEventPal_CherishBall[] = INCBIN_U16("graphics/object_events/palettes/cherish_ball.gbapal"); const u32 gObjectEventPic_ProfBirch[] = INCBIN_U32("graphics/object_events/pics/people/prof_birch.4bpp"); const u32 gObjectEventPic_ReporterM[] = INCBIN_U32("graphics/object_events/pics/people/reporter_m.4bpp"); const u32 gObjectEventPic_ReporterF[] = INCBIN_U32("graphics/object_events/pics/people/reporter_f.4bpp"); @@ -238,7 +288,6 @@ const u32 gObjectEventPic_PushableBoulder[] = INCBIN_U32("graphics/object_events const u32 gObjectEventPic_MrBrineysBoat[] = INCBIN_U32("graphics/object_events/pics/misc/mr_brineys_boat.4bpp"); const u32 gObjectEventPic_Fossil[] = INCBIN_U32("graphics/object_events/pics/misc/fossil.4bpp"); const u32 gObjectEventPic_SubmarineShadow[] = INCBIN_U32("graphics/object_events/pics/misc/submarine_shadow.4bpp"); -const u16 gObjectEventPal_SubmarineShadow[] = INCBIN_U16("graphics/object_events/palettes/submarine_shadow.gbapal"); const u32 gObjectEventPic_Truck[] = INCBIN_U32("graphics/object_events/pics/misc/truck.4bpp"); const u16 gObjectEventPal_Truck[] = INCBIN_U16("graphics/object_events/palettes/truck.gbapal"); const u32 gObjectEventPic_Vigoroth[] = INCBIN_U32("graphics/object_events/pics/pokemon/vigoroth.4bpp"); @@ -329,6 +378,9 @@ const u32 gFieldEffectObjectPic_ShortGrass[] = INCBIN_U32("graphics/field_effect const u32 gFieldEffectObjectPic_SandFootprints[] = INCBIN_U32("graphics/field_effects/pics/sand_footprints.4bpp"); const u32 gFieldEffectObjectPic_DeepSandFootprints[] = INCBIN_U32("graphics/field_effects/pics/deep_sand_footprints.4bpp"); const u32 gFieldEffectObjectPic_BikeTireTracks[] = INCBIN_U32("graphics/field_effects/pics/bike_tire_tracks.4bpp"); +const u32 gFieldEffectObjectPic_SlitherTracks[] = INCBIN_U32("graphics/field_effects/pics/slither_tracks.4bpp"); +const u32 gFieldEffectObjectPic_SpotTracks[] = INCBIN_U32("graphics/field_effects/pics/spot_tracks.4bpp"); +const u32 gFieldEffectObjectPic_BugTracks[] = INCBIN_U32("graphics/field_effects/pics/bug_tracks.4bpp"); const u32 gFieldEffectObjectPic_UnusedSand[] = INCBIN_U32("graphics/field_effects/pics/unused_sand.4bpp"); const u32 gFieldEffectObjectPic_SandPile[] = INCBIN_U32("graphics/field_effects/pics/sand_pile.4bpp"); const u32 gFieldEffectObjectPic_JumpBigSplash[] = INCBIN_U32("graphics/field_effects/pics/jump_big_splash.4bpp"); @@ -344,6 +396,7 @@ const u32 gFieldEffectObjectPic_AshPuff[] = INCBIN_U32("graphics/field_effects/p const u32 gFieldEffectObjectPic_AshLaunch[] = INCBIN_U32("graphics/field_effects/pics/ash_launch.4bpp"); const u32 gFieldEffectObjectPic_Bubbles[] = INCBIN_U32("graphics/field_effects/pics/bubbles.4bpp"); const u32 gFieldEffectObjectPic_SmallSparkle[] = INCBIN_U32("graphics/field_effects/pics/small_sparkle.4bpp"); +const u32 gFieldEffectObjectPic_ExpandingSparkle[] = INCBIN_U32("graphics/field_effects/pics/expanding_sparkle.4bpp"); const u16 gFieldEffectPal_SmallSparkle[] = INCBIN_U16("graphics/field_effects/palettes/small_sparkle.gbapal"); const u32 gFieldEffectObjectPic_Bird[] = INCBIN_U32("graphics/field_effects/pics/bird.4bpp"); const u32 gObjectEventPic_Juan[] = INCBIN_U32("graphics/object_events/pics/people/gym_leaders/juan.4bpp"); @@ -375,3 +428,754 @@ const u32 gObjectEventPic_Lugia[] = INCBIN_U32("graphics/object_events/pics/poke const u16 gObjectEventPal_Lugia[] = INCBIN_U16("graphics/object_events/palettes/lugia.gbapal"); const u32 gObjectEventPic_HoOh[] = INCBIN_U32("graphics/object_events/pics/pokemon/ho_oh.4bpp"); const u16 gObjectEventPal_HoOh[] = INCBIN_U16("graphics/object_events/palettes/ho_oh.gbapal"); + +const u32 gObjectEventPic_Bulbasaur[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/bulbasaur.4bpp"); +const u16 gObjectEventPal_Bulbasaur[] = INCBIN_U16("graphics/object_events/palettes/followers/bulbasaur1.gbapal"); +const u32 gObjectEventPic_Ivysaur[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ivysaur.4bpp"); +const u16 gObjectEventPal_Ivysaur[] = INCBIN_U16("graphics/object_events/palettes/followers/ivysaur.gbapal"); +const u32 gObjectEventPic_Venusaur[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/venusaur.4bpp"); +const u16 gObjectEventPal_Venusaur[] = INCBIN_U16("graphics/object_events/palettes/followers/venusaur.gbapal"); +const u32 gObjectEventPic_Charmander[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/charmander.4bpp"); +const u16 gObjectEventPal_Charmander[] = INCBIN_U16("graphics/object_events/palettes/followers/charmander.gbapal"); +const u32 gObjectEventPic_Charmeleon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/charmeleon.4bpp"); +const u16 gObjectEventPal_Charmeleon[] = INCBIN_U16("graphics/object_events/palettes/followers/charmeleon.gbapal"); +const u32 gObjectEventPic_Charizard[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/charizard.4bpp"); +const u16 gObjectEventPal_Charizard[] = INCBIN_U16("graphics/object_events/palettes/followers/charizard.gbapal"); +const u32 gObjectEventPic_Squirtle[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/squirtle.4bpp"); +const u16 gObjectEventPal_Squirtle[] = INCBIN_U16("graphics/object_events/palettes/followers/squirtle.gbapal"); +const u32 gObjectEventPic_Wartortle[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/wartortle.4bpp"); +const u16 gObjectEventPal_Wartortle[] = INCBIN_U16("graphics/object_events/palettes/followers/wartortle.gbapal"); +const u32 gObjectEventPic_Blastoise[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/blastoise.4bpp"); +const u16 gObjectEventPal_Blastoise[] = INCBIN_U16("graphics/object_events/palettes/followers/blastoise.gbapal"); +const u32 gObjectEventPic_Caterpie[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/caterpie.4bpp"); +const u16 gObjectEventPal_Caterpie[] = INCBIN_U16("graphics/object_events/palettes/followers/caterpie.gbapal"); +const u32 gObjectEventPic_Metapod[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/metapod.4bpp"); +const u32 gObjectEventPic_Butterfree[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/butterfree.4bpp"); +const u16 gObjectEventPal_Butterfree[] = INCBIN_U16("graphics/object_events/palettes/followers/butterfree.gbapal"); +const u32 gObjectEventPic_Weedle[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/weedle.4bpp"); +const u16 gObjectEventPal_Weedle[] = INCBIN_U16("graphics/object_events/palettes/followers/weedle.gbapal"); +const u32 gObjectEventPic_Kakuna[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/kakuna.4bpp"); +const u32 gObjectEventPic_Beedrill[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/beedrill.4bpp"); +const u16 gObjectEventPal_Beedrill[] = INCBIN_U16("graphics/object_events/palettes/followers/beedrill.gbapal"); +const u32 gObjectEventPic_Pidgey[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/pidgey.4bpp"); +const u16 gObjectEventPal_Pidgey[] = INCBIN_U16("graphics/object_events/palettes/followers/pidgey.gbapal"); +const u32 gObjectEventPic_Pidgeotto[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/pidgeotto.4bpp"); +const u16 gObjectEventPal_Pidgeotto[] = INCBIN_U16("graphics/object_events/palettes/followers/pidgeotto.gbapal"); +const u32 gObjectEventPic_Pidgeot[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/pidgeot.4bpp"); +const u16 gObjectEventPal_Pidgeot[] = INCBIN_U16("graphics/object_events/palettes/followers/pidgeot.gbapal"); +const u32 gObjectEventPic_Rattata[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/rattata.4bpp"); +const u16 gObjectEventPal_Rattata[] = INCBIN_U16("graphics/object_events/palettes/followers/rattata.gbapal"); +const u32 gObjectEventPic_Raticate[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/raticate.4bpp"); +const u16 gObjectEventPal_Raticate[] = INCBIN_U16("graphics/object_events/palettes/followers/raticate.gbapal"); +const u32 gObjectEventPic_Spearow[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/spearow.4bpp"); +const u16 gObjectEventPal_Spearow[] = INCBIN_U16("graphics/object_events/palettes/followers/spearow.gbapal"); +const u32 gObjectEventPic_Fearow[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/fearow.4bpp"); +const u16 gObjectEventPal_Fearow[] = INCBIN_U16("graphics/object_events/palettes/followers/fearow.gbapal"); +const u32 gObjectEventPic_Ekans[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ekans.4bpp"); +const u16 gObjectEventPal_Ekans[] = INCBIN_U16("graphics/object_events/palettes/followers/ekans.gbapal"); +const u32 gObjectEventPic_Arbok[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/arbok.4bpp"); +const u16 gObjectEventPal_Arbok[] = INCBIN_U16("graphics/object_events/palettes/followers/arbok.gbapal"); +const u32 gObjectEventPic_Pikachu_Follow[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/pikachu.4bpp"); +const u16 gObjectEventPal_Pikachu[] = INCBIN_U16("graphics/object_events/palettes/followers/pikachu.gbapal"); +const u32 gObjectEventPic_Raichu[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/raichu.4bpp"); +const u16 gObjectEventPal_Raichu[] = INCBIN_U16("graphics/object_events/palettes/followers/raichu.gbapal"); +const u32 gObjectEventPic_Sandshrew[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/sandshrew.4bpp"); +const u16 gObjectEventPal_Sandshrew[] = INCBIN_U16("graphics/object_events/palettes/followers/sandshrew.gbapal"); +const u32 gObjectEventPic_Sandslash[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/sandslash.4bpp"); +const u16 gObjectEventPal_Sandslash[] = INCBIN_U16("graphics/object_events/palettes/followers/sandslash.gbapal"); +const u32 gObjectEventPic_Nidoran_F[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/nidoran_f.4bpp"); +const u16 gObjectEventPal_Nidoran_F[] = INCBIN_U16("graphics/object_events/palettes/followers/nidoran_f.gbapal"); +const u32 gObjectEventPic_Nidorina[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/nidorina.4bpp"); +const u16 gObjectEventPal_Nidorina[] = INCBIN_U16("graphics/object_events/palettes/followers/nidorina.gbapal"); +const u32 gObjectEventPic_Nidoqueen[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/nidoqueen.4bpp"); +const u16 gObjectEventPal_Nidoqueen[] = INCBIN_U16("graphics/object_events/palettes/followers/nidoqueen.gbapal"); +const u32 gObjectEventPic_Nidoran_M[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/nidoran_m.4bpp"); +const u16 gObjectEventPal_Nidoran_M[] = INCBIN_U16("graphics/object_events/palettes/followers/nidoran_m.gbapal"); +const u32 gObjectEventPic_Nidorino[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/nidorino.4bpp"); +const u32 gObjectEventPic_Nidoking[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/nidoking.4bpp"); +const u16 gObjectEventPal_Nidoking[] = INCBIN_U16("graphics/object_events/palettes/followers/nidoking.gbapal"); +const u32 gObjectEventPic_Clefairy[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/clefairy.4bpp"); +const u32 gObjectEventPic_Clefable[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/clefable.4bpp"); +const u16 gObjectEventPal_Clefable[] = INCBIN_U16("graphics/object_events/palettes/followers/clefable.gbapal"); +const u32 gObjectEventPic_Vulpix[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/vulpix.4bpp"); +const u16 gObjectEventPal_Vulpix[] = INCBIN_U16("graphics/object_events/palettes/followers/vulpix.gbapal"); +const u32 gObjectEventPic_Ninetales[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ninetales.4bpp"); +const u16 gObjectEventPal_Ninetales[] = INCBIN_U16("graphics/object_events/palettes/followers/ninetales.gbapal"); +const u32 gObjectEventPic_Jigglypuff[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/jigglypuff.4bpp"); +const u16 gObjectEventPal_Jigglypuff[] = INCBIN_U16("graphics/object_events/palettes/followers/jigglypuff.gbapal"); +const u32 gObjectEventPic_Wigglytuff[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/wigglytuff.4bpp"); +const u16 gObjectEventPal_Wigglytuff[] = INCBIN_U16("graphics/object_events/palettes/followers/wigglytuff.gbapal"); +const u32 gObjectEventPic_Zubat[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/zubat.4bpp"); +const u32 gObjectEventPic_Golbat[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/golbat.4bpp"); +const u16 gObjectEventPal_Golbat[] = INCBIN_U16("graphics/object_events/palettes/followers/golbat.gbapal"); +const u32 gObjectEventPic_Oddish[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/oddish.4bpp"); +const u32 gObjectEventPic_Gloom[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/gloom.4bpp"); +const u16 gObjectEventPal_Gloom[] = INCBIN_U16("graphics/object_events/palettes/followers/gloom.gbapal"); +const u32 gObjectEventPic_Vileplume[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/vileplume.4bpp"); +const u32 gObjectEventPic_Paras[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/paras.4bpp"); +const u16 gObjectEventPal_Paras[] = INCBIN_U16("graphics/object_events/palettes/followers/paras.gbapal"); +const u32 gObjectEventPic_Parasect[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/parasect.4bpp"); +const u32 gObjectEventPic_Venonat[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/venonat.4bpp"); +const u16 gObjectEventPal_Venonat[] = INCBIN_U16("graphics/object_events/palettes/followers/venonat.gbapal"); +const u32 gObjectEventPic_Venomoth[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/venomoth.4bpp"); +const u16 gObjectEventPal_Venomoth[] = INCBIN_U16("graphics/object_events/palettes/followers/venomoth.gbapal"); +const u32 gObjectEventPic_Diglett[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/diglett.4bpp"); +const u16 gObjectEventPal_Diglett[] = INCBIN_U16("graphics/object_events/palettes/followers/diglett.gbapal"); +const u32 gObjectEventPic_Dugtrio[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/dugtrio.4bpp"); +const u16 gObjectEventPal_Dugtrio[] = INCBIN_U16("graphics/object_events/palettes/followers/dugtrio.gbapal"); +const u32 gObjectEventPic_Meowth[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/meowth.4bpp"); +const u16 gObjectEventPal_Meowth[] = INCBIN_U16("graphics/object_events/palettes/followers/meowth.gbapal"); +const u32 gObjectEventPic_Persian[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/persian.4bpp"); +const u16 gObjectEventPal_Persian[] = INCBIN_U16("graphics/object_events/palettes/followers/persian.gbapal"); +const u32 gObjectEventPic_Psyduck[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/psyduck.4bpp"); +const u32 gObjectEventPic_Golduck[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/golduck.4bpp"); +const u16 gObjectEventPal_Golduck[] = INCBIN_U16("graphics/object_events/palettes/followers/golduck.gbapal"); +const u32 gObjectEventPic_Mankey[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/mankey.4bpp"); +const u16 gObjectEventPal_Mankey[] = INCBIN_U16("graphics/object_events/palettes/followers/mankey.gbapal"); +const u32 gObjectEventPic_Primeape[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/primeape.4bpp"); +const u16 gObjectEventPal_Primeape[] = INCBIN_U16("graphics/object_events/palettes/followers/primeape.gbapal"); +const u32 gObjectEventPic_Growlithe[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/growlithe.4bpp"); +const u32 gObjectEventPic_Arcanine[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/arcanine.4bpp"); +const u16 gObjectEventPal_Arcanine[] = INCBIN_U16("graphics/object_events/palettes/followers/arcanine.gbapal"); +const u32 gObjectEventPic_Poliwag[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/poliwag.4bpp"); +const u16 gObjectEventPal_Poliwag[] = INCBIN_U16("graphics/object_events/palettes/followers/poliwag.gbapal"); +const u32 gObjectEventPic_Poliwhirl[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/poliwhirl.4bpp"); +const u16 gObjectEventPal_Poliwhirl[] = INCBIN_U16("graphics/object_events/palettes/followers/poliwhirl.gbapal"); +const u32 gObjectEventPic_Poliwrath[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/poliwrath.4bpp"); +const u32 gObjectEventPic_Abra[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/abra.4bpp"); +const u32 gObjectEventPic_Kadabra[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/kadabra.4bpp"); +const u16 gObjectEventPal_Kadabra[] = INCBIN_U16("graphics/object_events/palettes/followers/kadabra.gbapal"); +const u32 gObjectEventPic_Alakazam[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/alakazam.4bpp"); +const u32 gObjectEventPic_Machop[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/machop.4bpp"); +const u16 gObjectEventPal_Machop[] = INCBIN_U16("graphics/object_events/palettes/followers/machop.gbapal"); +const u32 gObjectEventPic_Machoke[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/machoke.4bpp"); +const u16 gObjectEventPal_Machoke[] = INCBIN_U16("graphics/object_events/palettes/followers/machoke.gbapal"); +const u32 gObjectEventPic_Machamp[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/machamp.4bpp"); +const u16 gObjectEventPal_Machamp[] = INCBIN_U16("graphics/object_events/palettes/followers/machamp.gbapal"); +const u32 gObjectEventPic_Bellsprout[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/bellsprout.4bpp"); +const u32 gObjectEventPic_Weepinbell[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/weepinbell.4bpp"); +const u16 gObjectEventPal_Weepinbell[] = INCBIN_U16("graphics/object_events/palettes/followers/weepinbell.gbapal"); +const u32 gObjectEventPic_Victreebel[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/victreebel.4bpp"); +const u16 gObjectEventPal_Victreebel[] = INCBIN_U16("graphics/object_events/palettes/followers/victreebel.gbapal"); +const u32 gObjectEventPic_Tentacool[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/tentacool.4bpp"); +const u16 gObjectEventPal_Tentacool[] = INCBIN_U16("graphics/object_events/palettes/followers/tentacool.gbapal"); +const u32 gObjectEventPic_Tentacruel[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/tentacruel.4bpp"); +const u16 gObjectEventPal_Tentacruel[] = INCBIN_U16("graphics/object_events/palettes/followers/tentacruel.gbapal"); +const u32 gObjectEventPic_Geodude[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/geodude.4bpp"); +const u32 gObjectEventPic_Graveler[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/graveler.4bpp"); +const u16 gObjectEventPal_Graveler[] = INCBIN_U16("graphics/object_events/palettes/followers/graveler.gbapal"); +const u32 gObjectEventPic_Golem[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/golem.4bpp"); +const u16 gObjectEventPal_Golem[] = INCBIN_U16("graphics/object_events/palettes/followers/golem.gbapal"); +const u32 gObjectEventPic_Ponyta[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ponyta.4bpp"); +const u16 gObjectEventPal_Ponyta[] = INCBIN_U16("graphics/object_events/palettes/followers/ponyta.gbapal"); +const u32 gObjectEventPic_Rapidash[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/rapidash.4bpp"); +const u32 gObjectEventPic_Slowpoke[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/slowpoke.4bpp"); +const u16 gObjectEventPal_Slowpoke[] = INCBIN_U16("graphics/object_events/palettes/followers/slowpoke.gbapal"); +const u32 gObjectEventPic_Slowbro[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/slowbro.4bpp"); +const u16 gObjectEventPal_Slowbro[] = INCBIN_U16("graphics/object_events/palettes/followers/slowbro.gbapal"); +const u32 gObjectEventPic_Magnemite[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/magnemite.4bpp"); +const u16 gObjectEventPal_Magnemite[] = INCBIN_U16("graphics/object_events/palettes/followers/magnemite.gbapal"); +const u32 gObjectEventPic_Magneton[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/magneton.4bpp"); +const u32 gObjectEventPic_Farfetchd[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/farfetchd.4bpp"); +const u16 gObjectEventPal_Farfetchd[] = INCBIN_U16("graphics/object_events/palettes/followers/farfetchd.gbapal"); +const u32 gObjectEventPic_Doduo[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/doduo.4bpp"); +const u16 gObjectEventPal_Doduo[] = INCBIN_U16("graphics/object_events/palettes/followers/doduo.gbapal"); +const u32 gObjectEventPic_Dodrio[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/dodrio.4bpp"); +const u16 gObjectEventPal_Dodrio[] = INCBIN_U16("graphics/object_events/palettes/followers/dodrio.gbapal"); +const u32 gObjectEventPic_Seel[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/seel.4bpp"); +const u16 gObjectEventPal_Seel[] = INCBIN_U16("graphics/object_events/palettes/followers/seel.gbapal"); +const u32 gObjectEventPic_Dewgong[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/dewgong.4bpp"); +const u32 gObjectEventPic_Grimer[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/grimer.4bpp"); +const u32 gObjectEventPic_Muk[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/muk.4bpp"); +const u16 gObjectEventPal_Muk[] = INCBIN_U16("graphics/object_events/palettes/followers/muk.gbapal"); +const u32 gObjectEventPic_Shellder[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/shellder.4bpp"); +const u16 gObjectEventPal_Shellder[] = INCBIN_U16("graphics/object_events/palettes/followers/shellder.gbapal"); +const u32 gObjectEventPic_Cloyster[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/cloyster.4bpp"); +const u16 gObjectEventPal_Cloyster[] = INCBIN_U16("graphics/object_events/palettes/followers/cloyster.gbapal"); +const u32 gObjectEventPic_Gastly[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/gastly.4bpp"); +const u16 gObjectEventPal_Gastly[] = INCBIN_U16("graphics/object_events/palettes/followers/gastly.gbapal"); +const u32 gObjectEventPic_Haunter[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/haunter.4bpp"); +const u16 gObjectEventPal_Haunter[] = INCBIN_U16("graphics/object_events/palettes/followers/haunter.gbapal"); +const u32 gObjectEventPic_Gengar[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/gengar.4bpp"); +const u16 gObjectEventPal_Gengar[] = INCBIN_U16("graphics/object_events/palettes/followers/gengar.gbapal"); +const u32 gObjectEventPic_Onix[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/onix.4bpp"); +const u32 gObjectEventPic_Drowzee[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/drowzee.4bpp"); +const u32 gObjectEventPic_Hypno[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/hypno.4bpp"); +const u16 gObjectEventPal_Hypno[] = INCBIN_U16("graphics/object_events/palettes/followers/hypno.gbapal"); +const u32 gObjectEventPic_Krabby[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/krabby.4bpp"); +const u32 gObjectEventPic_Kingler[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/kingler.4bpp"); +const u16 gObjectEventPal_Kingler[] = INCBIN_U16("graphics/object_events/palettes/followers/kingler.gbapal"); +const u32 gObjectEventPic_Voltorb[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/voltorb.4bpp"); +const u16 gObjectEventPal_Voltorb[] = INCBIN_U16("graphics/object_events/palettes/followers/voltorb.gbapal"); +const u32 gObjectEventPic_Electrode[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/electrode.4bpp"); +const u32 gObjectEventPic_Exeggcute[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/exeggcute.4bpp"); +const u16 gObjectEventPal_Exeggcute[] = INCBIN_U16("graphics/object_events/palettes/followers/exeggcute.gbapal"); +const u32 gObjectEventPic_Exeggutor[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/exeggutor.4bpp"); +const u16 gObjectEventPal_Exeggutor[] = INCBIN_U16("graphics/object_events/palettes/followers/exeggutor.gbapal"); +const u32 gObjectEventPic_Cubone[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/cubone.4bpp"); +const u16 gObjectEventPal_Cubone[] = INCBIN_U16("graphics/object_events/palettes/followers/cubone.gbapal"); +const u32 gObjectEventPic_Marowak[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/marowak.4bpp"); +const u32 gObjectEventPic_Hitmonlee[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/hitmonlee.4bpp"); +const u16 gObjectEventPal_Hitmonlee[] = INCBIN_U16("graphics/object_events/palettes/followers/hitmonlee.gbapal"); +const u32 gObjectEventPic_Hitmonchan[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/hitmonchan.4bpp"); +const u16 gObjectEventPal_Hitmonchan[] = INCBIN_U16("graphics/object_events/palettes/followers/hitmonchan.gbapal"); +const u32 gObjectEventPic_Lickitung[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/lickitung.4bpp"); +const u16 gObjectEventPal_Lickitung[] = INCBIN_U16("graphics/object_events/palettes/followers/lickitung.gbapal"); +const u32 gObjectEventPic_Koffing[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/koffing.4bpp"); +const u16 gObjectEventPal_Koffing[] = INCBIN_U16("graphics/object_events/palettes/followers/koffing.gbapal"); +const u32 gObjectEventPic_Weezing[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/weezing.4bpp"); +const u32 gObjectEventPic_Rhyhorn[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/rhyhorn.4bpp"); +const u32 gObjectEventPic_Rhydon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/rhydon.4bpp"); +const u16 gObjectEventPal_Rhydon[] = INCBIN_U16("graphics/object_events/palettes/followers/rhydon.gbapal"); +const u32 gObjectEventPic_Chansey[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/chansey.4bpp"); +const u16 gObjectEventPal_Chansey[] = INCBIN_U16("graphics/object_events/palettes/followers/chansey.gbapal"); +const u32 gObjectEventPic_Tangela[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/tangela.4bpp"); +const u16 gObjectEventPal_Tangela[] = INCBIN_U16("graphics/object_events/palettes/followers/tangela.gbapal"); +const u32 gObjectEventPic_Kangaskhan[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/kangaskhan.4bpp"); +const u16 gObjectEventPal_Kangaskhan[] = INCBIN_U16("graphics/object_events/palettes/followers/kangaskhan.gbapal"); +const u32 gObjectEventPic_Horsea[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/horsea.4bpp"); +const u16 gObjectEventPal_Horsea[] = INCBIN_U16("graphics/object_events/palettes/followers/horsea.gbapal"); +const u32 gObjectEventPic_Seadra[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/seadra.4bpp"); +const u16 gObjectEventPal_Seadra[] = INCBIN_U16("graphics/object_events/palettes/followers/seadra.gbapal"); +const u32 gObjectEventPic_Goldeen[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/goldeen.4bpp"); +const u16 gObjectEventPal_Goldeen[] = INCBIN_U16("graphics/object_events/palettes/followers/goldeen.gbapal"); +const u32 gObjectEventPic_Seaking[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/seaking.4bpp"); +const u16 gObjectEventPal_Seaking[] = INCBIN_U16("graphics/object_events/palettes/followers/seaking.gbapal"); +const u32 gObjectEventPic_Staryu[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/staryu.4bpp"); +const u32 gObjectEventPic_Starmie[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/starmie.4bpp"); +const u16 gObjectEventPal_Starmie[] = INCBIN_U16("graphics/object_events/palettes/followers/starmie.gbapal"); +const u32 gObjectEventPic_Mr_Mime[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/mr_mime.4bpp"); +const u16 gObjectEventPal_Mr_Mime[] = INCBIN_U16("graphics/object_events/palettes/followers/mr_mime.gbapal"); +const u32 gObjectEventPic_Scyther[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/scyther.4bpp"); +const u16 gObjectEventPal_Scyther[] = INCBIN_U16("graphics/object_events/palettes/followers/scyther.gbapal"); +const u32 gObjectEventPic_Jynx[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/jynx.4bpp"); +const u16 gObjectEventPal_Jynx[] = INCBIN_U16("graphics/object_events/palettes/followers/jynx.gbapal"); +const u32 gObjectEventPic_Electabuzz[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/electabuzz.4bpp"); +const u32 gObjectEventPic_Magmar[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/magmar.4bpp"); +const u16 gObjectEventPal_Magmar[] = INCBIN_U16("graphics/object_events/palettes/followers/magmar.gbapal"); +const u32 gObjectEventPic_Pinsir[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/pinsir.4bpp"); +const u16 gObjectEventPal_Pinsir[] = INCBIN_U16("graphics/object_events/palettes/followers/pinsir.gbapal"); +const u32 gObjectEventPic_Tauros[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/tauros.4bpp"); +const u16 gObjectEventPal_Tauros[] = INCBIN_U16("graphics/object_events/palettes/followers/tauros.gbapal"); +const u32 gObjectEventPic_Magikarp[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/magikarp.4bpp"); +const u16 gObjectEventPal_Magikarp[] = INCBIN_U16("graphics/object_events/palettes/followers/magikarp.gbapal"); +const u32 gObjectEventPic_Gyarados[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/gyarados.4bpp"); +const u16 gObjectEventPal_Gyarados[] = INCBIN_U16("graphics/object_events/palettes/followers/gyarados.gbapal"); +const u32 gObjectEventPic_Lapras[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/lapras.4bpp"); +const u16 gObjectEventPal_Lapras[] = INCBIN_U16("graphics/object_events/palettes/followers/lapras.gbapal"); +const u32 gObjectEventPic_Ditto[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ditto.4bpp"); +const u32 gObjectEventPic_Eevee[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/eevee.4bpp"); +const u16 gObjectEventPal_Eevee[] = INCBIN_U16("graphics/object_events/palettes/followers/eevee.gbapal"); +const u32 gObjectEventPic_Vaporeon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/vaporeon.4bpp"); +const u16 gObjectEventPal_Vaporeon[] = INCBIN_U16("graphics/object_events/palettes/followers/vaporeon.gbapal"); +const u32 gObjectEventPic_Jolteon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/jolteon.4bpp"); +const u16 gObjectEventPal_Jolteon[] = INCBIN_U16("graphics/object_events/palettes/followers/jolteon.gbapal"); +const u32 gObjectEventPic_Flareon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/flareon.4bpp"); +const u16 gObjectEventPal_Flareon[] = INCBIN_U16("graphics/object_events/palettes/followers/flareon.gbapal"); +const u32 gObjectEventPic_Porygon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/porygon.4bpp"); +const u16 gObjectEventPal_Porygon[] = INCBIN_U16("graphics/object_events/palettes/followers/porygon.gbapal"); +const u32 gObjectEventPic_Omanyte[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/omanyte.4bpp"); +const u16 gObjectEventPal_Omanyte[] = INCBIN_U16("graphics/object_events/palettes/followers/omanyte.gbapal"); +const u32 gObjectEventPic_Omastar[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/omastar.4bpp"); +const u16 gObjectEventPal_Omastar[] = INCBIN_U16("graphics/object_events/palettes/followers/omastar.gbapal"); +const u32 gObjectEventPic_Kabuto[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/kabuto.4bpp"); +const u16 gObjectEventPal_Kabuto[] = INCBIN_U16("graphics/object_events/palettes/followers/kabuto.gbapal"); +const u32 gObjectEventPic_Kabutops[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/kabutops.4bpp"); +const u16 gObjectEventPal_Kabutops[] = INCBIN_U16("graphics/object_events/palettes/followers/kabutops.gbapal"); +const u32 gObjectEventPic_Aerodactyl[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/aerodactyl.4bpp"); +const u16 gObjectEventPal_Aerodactyl[] = INCBIN_U16("graphics/object_events/palettes/followers/aerodactyl.gbapal"); +const u32 gObjectEventPic_Snorlax[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/snorlax.4bpp"); +const u16 gObjectEventPal_Snorlax[] = INCBIN_U16("graphics/object_events/palettes/followers/snorlax.gbapal"); +const u32 gObjectEventPic_Articuno[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/articuno.4bpp"); +const u16 gObjectEventPal_Articuno[] = INCBIN_U16("graphics/object_events/palettes/followers/articuno.gbapal"); +const u32 gObjectEventPic_Zapdos[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/zapdos.4bpp"); +const u16 gObjectEventPal_Zapdos[] = INCBIN_U16("graphics/object_events/palettes/followers/zapdos.gbapal"); +const u32 gObjectEventPic_Moltres[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/moltres.4bpp"); +const u16 gObjectEventPal_Moltres[] = INCBIN_U16("graphics/object_events/palettes/followers/moltres.gbapal"); +const u32 gObjectEventPic_Dratini[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/dratini.4bpp"); +const u16 gObjectEventPal_Dratini[] = INCBIN_U16("graphics/object_events/palettes/followers/dratini.gbapal"); +const u32 gObjectEventPic_Dragonair[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/dragonair.4bpp"); +const u16 gObjectEventPal_Dragonair[] = INCBIN_U16("graphics/object_events/palettes/followers/dragonair.gbapal"); +const u32 gObjectEventPic_Dragonite[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/dragonite.4bpp"); +const u16 gObjectEventPal_Dragonite[] = INCBIN_U16("graphics/object_events/palettes/followers/dragonite.gbapal"); +const u32 gObjectEventPic_Mewtwo[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/mewtwo.4bpp"); +const u16 gObjectEventPal_Mewtwo[] = INCBIN_U16("graphics/object_events/palettes/followers/mewtwo.gbapal"); +const u32 gObjectEventPic_Mew_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/mew.4bpp"); +const u16 gObjectEventPal_Mew[] = INCBIN_U16("graphics/object_events/palettes/followers/mew.gbapal"); +const u32 gObjectEventPic_Chikorita[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/chikorita.4bpp"); +const u32 gObjectEventPic_Bayleef[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/bayleef.4bpp"); +const u16 gObjectEventPal_Bayleef[] = INCBIN_U16("graphics/object_events/palettes/followers/bayleef.gbapal"); +const u32 gObjectEventPic_Meganium[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/meganium.4bpp"); +const u16 gObjectEventPal_Meganium[] = INCBIN_U16("graphics/object_events/palettes/followers/meganium.gbapal"); +const u32 gObjectEventPic_Cyndaquil[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/cyndaquil.4bpp"); +const u16 gObjectEventPal_Cyndaquil[] = INCBIN_U16("graphics/object_events/palettes/followers/cyndaquil.gbapal"); +const u32 gObjectEventPic_Quilava[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/quilava.4bpp"); +const u16 gObjectEventPal_Quilava[] = INCBIN_U16("graphics/object_events/palettes/followers/quilava.gbapal"); +const u32 gObjectEventPic_Typhlosion[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/typhlosion.4bpp"); +const u16 gObjectEventPal_Typhlosion[] = INCBIN_U16("graphics/object_events/palettes/followers/typhlosion.gbapal"); +const u32 gObjectEventPic_Totodile[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/totodile.4bpp"); +const u16 gObjectEventPal_Totodile[] = INCBIN_U16("graphics/object_events/palettes/followers/totodile.gbapal"); +const u32 gObjectEventPic_Croconaw[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/croconaw.4bpp"); +const u16 gObjectEventPal_Croconaw[] = INCBIN_U16("graphics/object_events/palettes/followers/croconaw.gbapal"); +const u32 gObjectEventPic_Feraligatr[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/feraligatr.4bpp"); +const u16 gObjectEventPal_Feraligatr[] = INCBIN_U16("graphics/object_events/palettes/followers/feraligatr.gbapal"); +const u32 gObjectEventPic_Sentret[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/sentret.4bpp"); +const u16 gObjectEventPal_Sentret[] = INCBIN_U16("graphics/object_events/palettes/followers/sentret.gbapal"); +const u32 gObjectEventPic_Furret[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/furret.4bpp"); +const u16 gObjectEventPal_Furret[] = INCBIN_U16("graphics/object_events/palettes/followers/furret.gbapal"); +const u32 gObjectEventPic_Hoothoot[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/hoothoot.4bpp"); +const u16 gObjectEventPal_Hoothoot[] = INCBIN_U16("graphics/object_events/palettes/followers/hoothoot.gbapal"); +const u32 gObjectEventPic_Noctowl[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/noctowl.4bpp"); +const u16 gObjectEventPal_Noctowl[] = INCBIN_U16("graphics/object_events/palettes/followers/noctowl.gbapal"); +const u32 gObjectEventPic_Ledyba[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ledyba.4bpp"); +const u16 gObjectEventPal_Ledyba[] = INCBIN_U16("graphics/object_events/palettes/followers/ledyba.gbapal"); +const u32 gObjectEventPic_Ledian[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ledian.4bpp"); +const u16 gObjectEventPal_Ledian[] = INCBIN_U16("graphics/object_events/palettes/followers/ledian.gbapal"); +const u32 gObjectEventPic_Spinarak[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/spinarak.4bpp"); +const u16 gObjectEventPal_Spinarak[] = INCBIN_U16("graphics/object_events/palettes/followers/spinarak.gbapal"); +const u32 gObjectEventPic_Ariados[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ariados.4bpp"); +const u16 gObjectEventPal_Ariados[] = INCBIN_U16("graphics/object_events/palettes/followers/ariados.gbapal"); +const u32 gObjectEventPic_Crobat[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/crobat.4bpp"); +const u16 gObjectEventPal_Crobat[] = INCBIN_U16("graphics/object_events/palettes/followers/crobat.gbapal"); +const u32 gObjectEventPic_Chinchou[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/chinchou.4bpp"); +const u16 gObjectEventPal_Chinchou[] = INCBIN_U16("graphics/object_events/palettes/followers/chinchou.gbapal"); +const u32 gObjectEventPic_Lanturn[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/lanturn.4bpp"); +const u16 gObjectEventPal_Lanturn[] = INCBIN_U16("graphics/object_events/palettes/followers/lanturn.gbapal"); +const u32 gObjectEventPic_Pichu[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/pichu.4bpp"); +const u16 gObjectEventPal_Pichu[] = INCBIN_U16("graphics/object_events/palettes/followers/pichu.gbapal"); +const u32 gObjectEventPic_Cleffa[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/cleffa.4bpp"); +const u16 gObjectEventPal_Cleffa[] = INCBIN_U16("graphics/object_events/palettes/followers/cleffa.gbapal"); +const u32 gObjectEventPic_Igglybuff[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/igglybuff.4bpp"); +const u16 gObjectEventPal_Igglybuff[] = INCBIN_U16("graphics/object_events/palettes/followers/igglybuff.gbapal"); +const u32 gObjectEventPic_Togepi[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/togepi.4bpp"); +const u16 gObjectEventPal_Togepi[] = INCBIN_U16("graphics/object_events/palettes/followers/togepi.gbapal"); +const u32 gObjectEventPic_Togetic[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/togetic.4bpp"); +const u32 gObjectEventPic_Natu[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/natu.4bpp"); +const u16 gObjectEventPal_Natu[] = INCBIN_U16("graphics/object_events/palettes/followers/natu.gbapal"); +const u32 gObjectEventPic_Xatu[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/xatu.4bpp"); +const u16 gObjectEventPal_Xatu[] = INCBIN_U16("graphics/object_events/palettes/followers/xatu.gbapal"); +const u32 gObjectEventPic_Mareep[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/mareep.4bpp"); +const u16 gObjectEventPal_Mareep[] = INCBIN_U16("graphics/object_events/palettes/followers/mareep.gbapal"); +const u32 gObjectEventPic_Flaaffy[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/flaaffy.4bpp"); +const u16 gObjectEventPal_Flaaffy[] = INCBIN_U16("graphics/object_events/palettes/followers/flaaffy.gbapal"); +const u32 gObjectEventPic_Ampharos[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ampharos.4bpp"); +const u16 gObjectEventPal_Ampharos[] = INCBIN_U16("graphics/object_events/palettes/followers/ampharos.gbapal"); +const u32 gObjectEventPic_Bellossom[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/bellossom.4bpp"); +const u16 gObjectEventPal_Bellossom[] = INCBIN_U16("graphics/object_events/palettes/followers/bellossom.gbapal"); +const u32 gObjectEventPic_Marill[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/marill.4bpp"); +const u32 gObjectEventPic_Azumarill_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/azumarill.4bpp"); +const u16 gObjectEventPal_Azumarill[] = INCBIN_U16("graphics/object_events/palettes/followers/azumarill.gbapal"); +const u32 gObjectEventPic_Sudowoodo_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/sudowoodo.4bpp"); +const u16 gObjectEventPal_Sudowoodo[] = INCBIN_U16("graphics/object_events/palettes/followers/sudowoodo.gbapal"); +const u32 gObjectEventPic_Politoed[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/politoed.4bpp"); +const u16 gObjectEventPal_Politoed[] = INCBIN_U16("graphics/object_events/palettes/followers/politoed.gbapal"); +const u32 gObjectEventPic_Hoppip[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/hoppip.4bpp"); +const u16 gObjectEventPal_Hoppip[] = INCBIN_U16("graphics/object_events/palettes/followers/hoppip.gbapal"); +const u32 gObjectEventPic_Skiploom[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/skiploom.4bpp"); +const u16 gObjectEventPal_Skiploom[] = INCBIN_U16("graphics/object_events/palettes/followers/skiploom.gbapal"); +const u32 gObjectEventPic_Jumpluff[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/jumpluff.4bpp"); +const u16 gObjectEventPal_Jumpluff[] = INCBIN_U16("graphics/object_events/palettes/followers/jumpluff.gbapal"); +const u32 gObjectEventPic_Aipom[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/aipom.4bpp"); +const u16 gObjectEventPal_Aipom[] = INCBIN_U16("graphics/object_events/palettes/followers/aipom.gbapal"); +const u32 gObjectEventPic_Sunkern[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/sunkern.4bpp"); +const u16 gObjectEventPal_Sunkern[] = INCBIN_U16("graphics/object_events/palettes/followers/sunkern.gbapal"); +const u32 gObjectEventPic_Sunflora[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/sunflora.4bpp"); +const u16 gObjectEventPal_Sunflora[] = INCBIN_U16("graphics/object_events/palettes/followers/sunflora.gbapal"); +const u32 gObjectEventPic_Yanma[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/yanma.4bpp"); +const u16 gObjectEventPal_Yanma[] = INCBIN_U16("graphics/object_events/palettes/followers/yanma.gbapal"); +const u32 gObjectEventPic_Wooper[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/wooper.4bpp"); +const u32 gObjectEventPic_Quagsire[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/quagsire.4bpp"); +const u16 gObjectEventPal_Quagsire[] = INCBIN_U16("graphics/object_events/palettes/followers/quagsire.gbapal"); +const u32 gObjectEventPic_Espeon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/espeon.4bpp"); +const u16 gObjectEventPal_Espeon[] = INCBIN_U16("graphics/object_events/palettes/followers/espeon.gbapal"); +const u32 gObjectEventPic_Umbreon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/umbreon.4bpp"); +const u16 gObjectEventPal_Umbreon[] = INCBIN_U16("graphics/object_events/palettes/followers/umbreon.gbapal"); +const u32 gObjectEventPic_Murkrow[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/murkrow.4bpp"); +const u16 gObjectEventPal_Murkrow[] = INCBIN_U16("graphics/object_events/palettes/followers/murkrow.gbapal"); +const u32 gObjectEventPic_Slowking[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/slowking.4bpp"); +const u16 gObjectEventPal_Slowking[] = INCBIN_U16("graphics/object_events/palettes/followers/slowking.gbapal"); +const u32 gObjectEventPic_Misdreavus[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/misdreavus.4bpp"); +const u16 gObjectEventPal_Misdreavus[] = INCBIN_U16("graphics/object_events/palettes/followers/misdreavus.gbapal"); +const u32 gObjectEventPic_Unown_A[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unowna.4bpp"); +const u32 gObjectEventPic_Unown_B[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownb.4bpp"); +const u32 gObjectEventPic_Unown_C[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownc.4bpp"); +const u32 gObjectEventPic_Unown_D[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownd.4bpp"); +const u32 gObjectEventPic_Unown_E[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unowne.4bpp"); +const u32 gObjectEventPic_Unown_F[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownf.4bpp"); +const u32 gObjectEventPic_Unown_G[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unowng.4bpp"); +const u32 gObjectEventPic_Unown_H[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownh.4bpp"); +const u32 gObjectEventPic_Unown_I[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unowni.4bpp"); +const u32 gObjectEventPic_Unown_J[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownj.4bpp"); +const u32 gObjectEventPic_Unown_K[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownk.4bpp"); +const u32 gObjectEventPic_Unown_L[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownl.4bpp"); +const u32 gObjectEventPic_Unown_M[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownm.4bpp"); +const u32 gObjectEventPic_Unown_N[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownn.4bpp"); +const u32 gObjectEventPic_Unown_O[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unowno.4bpp"); +const u32 gObjectEventPic_Unown_P[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownp.4bpp"); +const u32 gObjectEventPic_Unown_Q[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownq.4bpp"); +const u32 gObjectEventPic_Unown_R[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownr.4bpp"); +const u32 gObjectEventPic_Unown_S[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unowns.4bpp"); +const u32 gObjectEventPic_Unown_T[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownt.4bpp"); +const u32 gObjectEventPic_Unown_U[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownu.4bpp"); +const u32 gObjectEventPic_Unown_V[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownv.4bpp"); +const u32 gObjectEventPic_Unown_W[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownw.4bpp"); +const u32 gObjectEventPic_Unown_X[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownx.4bpp"); +const u32 gObjectEventPic_Unown_Y[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unowny.4bpp"); +const u32 gObjectEventPic_Unown_Z[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownz.4bpp"); +const u32 gObjectEventPic_Unown_Exclamation[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unown!.4bpp"); +const u32 gObjectEventPic_Unown_Question[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/unownquestion.4bpp"); +const u32 gObjectEventPic_Wobbuffet[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/wobbuffet.4bpp"); +const u16 gObjectEventPal_Wobbuffet[] = INCBIN_U16("graphics/object_events/palettes/followers/wobbuffet.gbapal"); +const u32 gObjectEventPic_Girafarig[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/girafarig.4bpp"); +const u16 gObjectEventPal_Girafarig[] = INCBIN_U16("graphics/object_events/palettes/followers/girafarig.gbapal"); +const u32 gObjectEventPic_Pineco[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/pineco.4bpp"); +const u16 gObjectEventPal_Pineco[] = INCBIN_U16("graphics/object_events/palettes/followers/pineco.gbapal"); +const u32 gObjectEventPic_Forretress[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/forretress.4bpp"); +const u16 gObjectEventPal_Forretress[] = INCBIN_U16("graphics/object_events/palettes/followers/forretress.gbapal"); +const u32 gObjectEventPic_Dunsparce[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/dunsparce.4bpp"); +const u16 gObjectEventPal_Dunsparce[] = INCBIN_U16("graphics/object_events/palettes/followers/dunsparce.gbapal"); +const u32 gObjectEventPic_Gligar[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/gligar.4bpp"); +const u16 gObjectEventPal_Gligar[] = INCBIN_U16("graphics/object_events/palettes/followers/gligar.gbapal"); +const u32 gObjectEventPic_Steelix[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/steelix.4bpp"); +const u32 gObjectEventPic_Snubbull[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/snubbull.4bpp"); +const u16 gObjectEventPal_Snubbull[] = INCBIN_U16("graphics/object_events/palettes/followers/snubbull.gbapal"); +const u32 gObjectEventPic_Granbull[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/granbull.4bpp"); +const u16 gObjectEventPal_Granbull[] = INCBIN_U16("graphics/object_events/palettes/followers/granbull.gbapal"); +const u32 gObjectEventPic_Qwilfish[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/qwilfish.4bpp"); +const u16 gObjectEventPal_Qwilfish[] = INCBIN_U16("graphics/object_events/palettes/followers/qwilfish.gbapal"); +const u32 gObjectEventPic_Scizor[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/scizor.4bpp"); +const u16 gObjectEventPal_Scizor[] = INCBIN_U16("graphics/object_events/palettes/followers/scizor.gbapal"); +const u32 gObjectEventPic_Shuckle[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/shuckle.4bpp"); +const u16 gObjectEventPal_Shuckle[] = INCBIN_U16("graphics/object_events/palettes/followers/shuckle.gbapal"); +const u32 gObjectEventPic_Heracross[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/heracross.4bpp"); +const u16 gObjectEventPal_Heracross[] = INCBIN_U16("graphics/object_events/palettes/followers/heracross.gbapal"); +const u32 gObjectEventPic_Sneasel[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/sneasel.4bpp"); +const u16 gObjectEventPal_Sneasel[] = INCBIN_U16("graphics/object_events/palettes/followers/sneasel.gbapal"); +const u32 gObjectEventPic_Teddiursa[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/teddiursa.4bpp"); +const u16 gObjectEventPal_Teddiursa[] = INCBIN_U16("graphics/object_events/palettes/followers/teddiursa.gbapal"); +const u32 gObjectEventPic_Ursaring[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ursaring.4bpp"); +const u16 gObjectEventPal_Ursaring[] = INCBIN_U16("graphics/object_events/palettes/followers/ursaring.gbapal"); +const u32 gObjectEventPic_Slugma[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/slugma.4bpp"); +const u32 gObjectEventPic_Magcargo[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/magcargo.4bpp"); +const u16 gObjectEventPal_Magcargo[] = INCBIN_U16("graphics/object_events/palettes/followers/magcargo.gbapal"); +const u32 gObjectEventPic_Swinub[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/swinub.4bpp"); +const u16 gObjectEventPal_Swinub[] = INCBIN_U16("graphics/object_events/palettes/followers/swinub.gbapal"); +const u32 gObjectEventPic_Piloswine[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/piloswine.4bpp"); +const u16 gObjectEventPal_Piloswine[] = INCBIN_U16("graphics/object_events/palettes/followers/piloswine.gbapal"); +const u32 gObjectEventPic_Corsola[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/corsola.4bpp"); +const u16 gObjectEventPal_Corsola[] = INCBIN_U16("graphics/object_events/palettes/followers/corsola.gbapal"); +const u32 gObjectEventPic_Remoraid[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/remoraid.4bpp"); +const u16 gObjectEventPal_Remoraid[] = INCBIN_U16("graphics/object_events/palettes/followers/remoraid.gbapal"); +const u32 gObjectEventPic_Octillery[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/octillery.4bpp"); +const u16 gObjectEventPal_Octillery[] = INCBIN_U16("graphics/object_events/palettes/followers/octillery.gbapal"); +const u32 gObjectEventPic_Delibird[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/delibird.4bpp"); +const u16 gObjectEventPal_Delibird[] = INCBIN_U16("graphics/object_events/palettes/followers/delibird.gbapal"); +const u32 gObjectEventPic_Mantine[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/mantine.4bpp"); +const u16 gObjectEventPal_Mantine[] = INCBIN_U16("graphics/object_events/palettes/followers/mantine.gbapal"); +const u32 gObjectEventPic_Skarmory[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/skarmory.4bpp"); +const u16 gObjectEventPal_Skarmory[] = INCBIN_U16("graphics/object_events/palettes/followers/skarmory.gbapal"); +const u32 gObjectEventPic_Houndour[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/houndour.4bpp"); +const u32 gObjectEventPic_Houndoom[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/houndoom.4bpp"); +const u16 gObjectEventPal_Houndoom[] = INCBIN_U16("graphics/object_events/palettes/followers/houndoom.gbapal"); +const u32 gObjectEventPic_Kingdra[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/kingdra.4bpp"); +const u16 gObjectEventPal_Kingdra[] = INCBIN_U16("graphics/object_events/palettes/followers/kingdra.gbapal"); +const u32 gObjectEventPic_Phanpy[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/phanpy.4bpp"); +const u16 gObjectEventPal_Phanpy[] = INCBIN_U16("graphics/object_events/palettes/followers/phanpy.gbapal"); +const u32 gObjectEventPic_Donphan[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/donphan.4bpp"); +const u16 gObjectEventPal_Donphan[] = INCBIN_U16("graphics/object_events/palettes/followers/donphan.gbapal"); +const u32 gObjectEventPic_Porygon2[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/porygon2.4bpp"); +const u16 gObjectEventPal_Porygon2[] = INCBIN_U16("graphics/object_events/palettes/followers/porygon2.gbapal"); +const u32 gObjectEventPic_Stantler[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/stantler.4bpp"); +const u16 gObjectEventPal_Stantler[] = INCBIN_U16("graphics/object_events/palettes/followers/stantler.gbapal"); +const u32 gObjectEventPic_Smeargle[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/smeargle.4bpp"); +const u16 gObjectEventPal_Smeargle[] = INCBIN_U16("graphics/object_events/palettes/followers/smeargle.gbapal"); +const u32 gObjectEventPic_Tyrogue[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/tyrogue.4bpp"); +const u16 gObjectEventPal_Tyrogue[] = INCBIN_U16("graphics/object_events/palettes/followers/tyrogue.gbapal"); +const u32 gObjectEventPic_Hitmontop[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/hitmontop.4bpp"); +const u16 gObjectEventPal_Hitmontop[] = INCBIN_U16("graphics/object_events/palettes/followers/hitmontop.gbapal"); +const u32 gObjectEventPic_Smoochum[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/smoochum.4bpp"); +const u16 gObjectEventPal_Smoochum[] = INCBIN_U16("graphics/object_events/palettes/followers/smoochum.gbapal"); +const u32 gObjectEventPic_Elekid[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/elekid.4bpp"); +const u16 gObjectEventPal_Elekid[] = INCBIN_U16("graphics/object_events/palettes/followers/elekid.gbapal"); +const u32 gObjectEventPic_Magby[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/magby.4bpp"); +const u16 gObjectEventPal_Magby[] = INCBIN_U16("graphics/object_events/palettes/followers/magby.gbapal"); +const u32 gObjectEventPic_Miltank[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/miltank.4bpp"); +const u16 gObjectEventPal_Miltank[] = INCBIN_U16("graphics/object_events/palettes/followers/miltank.gbapal"); +const u32 gObjectEventPic_Blissey[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/blissey.4bpp"); +const u16 gObjectEventPal_Blissey[] = INCBIN_U16("graphics/object_events/palettes/followers/blissey.gbapal"); +const u32 gObjectEventPic_Raikou[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/raikou.4bpp"); +const u16 gObjectEventPal_Raikou[] = INCBIN_U16("graphics/object_events/palettes/followers/raikou.gbapal"); +const u32 gObjectEventPic_Entei[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/entei.4bpp"); +const u16 gObjectEventPal_Entei[] = INCBIN_U16("graphics/object_events/palettes/followers/entei.gbapal"); +const u32 gObjectEventPic_Suicune[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/suicune.4bpp"); +const u16 gObjectEventPal_Suicune[] = INCBIN_U16("graphics/object_events/palettes/followers/suicune.gbapal"); +const u32 gObjectEventPic_Larvitar[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/larvitar.4bpp"); +const u16 gObjectEventPal_Larvitar[] = INCBIN_U16("graphics/object_events/palettes/followers/larvitar.gbapal"); +const u32 gObjectEventPic_Pupitar[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/pupitar.4bpp"); +const u32 gObjectEventPic_Tyranitar[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/tyranitar.4bpp"); +const u16 gObjectEventPal_Tyranitar[] = INCBIN_U16("graphics/object_events/palettes/followers/tyranitar.gbapal"); +const u32 gObjectEventPic_Lugia_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/lugia.4bpp"); +const u16 gObjectEventPal_Lugia_Follower[] = INCBIN_U16("graphics/object_events/palettes/followers/lugia.gbapal"); +const u32 gObjectEventPic_HoOh_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ho_oh.4bpp"); +const u16 gObjectEventPal_HoOh_Follower[] = INCBIN_U16("graphics/object_events/palettes/followers/ho_oh.gbapal"); +const u32 gObjectEventPic_Celebi[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/celebi.4bpp"); +const u16 gObjectEventPal_Celebi[] = INCBIN_U16("graphics/object_events/palettes/followers/celebi.gbapal"); +const u32 gObjectEventPic_Treecko[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/treecko.4bpp"); +const u16 gObjectEventPal_Treecko[] = INCBIN_U16("graphics/object_events/palettes/followers/treecko.gbapal"); +const u32 gObjectEventPic_Grovyle[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/grovyle.4bpp"); +const u16 gObjectEventPal_Grovyle[] = INCBIN_U16("graphics/object_events/palettes/followers/grovyle.gbapal"); +const u32 gObjectEventPic_Sceptile[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/sceptile.4bpp"); +const u16 gObjectEventPal_Sceptile[] = INCBIN_U16("graphics/object_events/palettes/followers/sceptile.gbapal"); +const u32 gObjectEventPic_Torchic[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/torchic.4bpp"); +const u32 gObjectEventPic_Combusken[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/combusken.4bpp"); +const u16 gObjectEventPal_Combusken[] = INCBIN_U16("graphics/object_events/palettes/followers/combusken.gbapal"); +const u32 gObjectEventPic_Blaziken[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/blaziken.4bpp"); +const u16 gObjectEventPal_Blaziken[] = INCBIN_U16("graphics/object_events/palettes/followers/blaziken.gbapal"); +const u32 gObjectEventPic_Mudkip[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/mudkip.4bpp"); +const u16 gObjectEventPal_Mudkip[] = INCBIN_U16("graphics/object_events/palettes/followers/mudkip.gbapal"); +const u32 gObjectEventPic_Marshtomp[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/marshtomp.4bpp"); +const u16 gObjectEventPal_Marshtomp[] = INCBIN_U16("graphics/object_events/palettes/followers/marshtomp.gbapal"); +const u32 gObjectEventPic_Swampert[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/swampert.4bpp"); +const u16 gObjectEventPal_Swampert[] = INCBIN_U16("graphics/object_events/palettes/followers/swampert.gbapal"); +const u32 gObjectEventPic_Poochyena_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/poochyena.4bpp"); +const u16 gObjectEventPal_Poochyena_Follower[] = INCBIN_U16("graphics/object_events/palettes/followers/poochyena.gbapal"); +const u32 gObjectEventPic_Mightyena[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/mightyena.4bpp"); +const u16 gObjectEventPal_Mightyena[] = INCBIN_U16("graphics/object_events/palettes/followers/mightyena.gbapal"); +const u32 gObjectEventPic_Zigzagoon_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/zigzagoon.4bpp"); +const u16 gObjectEventPal_Zigzagoon_Follower[] = INCBIN_U16("graphics/object_events/palettes/followers/zigzagoon.gbapal"); +const u32 gObjectEventPic_Linoone[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/linoone.4bpp"); +const u16 gObjectEventPal_Linoone[] = INCBIN_U16("graphics/object_events/palettes/followers/linoone.gbapal"); +const u32 gObjectEventPic_Wurmple[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/wurmple.4bpp"); +const u16 gObjectEventPal_Wurmple[] = INCBIN_U16("graphics/object_events/palettes/followers/wurmple.gbapal"); +const u32 gObjectEventPic_Silcoon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/silcoon.4bpp"); +const u32 gObjectEventPic_Beautifly[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/beautifly.4bpp"); +const u16 gObjectEventPal_Beautifly[] = INCBIN_U16("graphics/object_events/palettes/followers/beautifly.gbapal"); +const u32 gObjectEventPic_Cascoon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/cascoon.4bpp"); +const u16 gObjectEventPal_Cascoon[] = INCBIN_U16("graphics/object_events/palettes/followers/cascoon.gbapal"); +const u32 gObjectEventPic_Dustox[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/dustox.4bpp"); +const u16 gObjectEventPal_Dustox[] = INCBIN_U16("graphics/object_events/palettes/followers/dustox.gbapal"); +const u32 gObjectEventPic_Lotad[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/lotad.4bpp"); +const u16 gObjectEventPal_Lotad[] = INCBIN_U16("graphics/object_events/palettes/followers/lotad.gbapal"); +const u32 gObjectEventPic_Lombre[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/lombre.4bpp"); +const u16 gObjectEventPal_Lombre[] = INCBIN_U16("graphics/object_events/palettes/followers/lombre.gbapal"); +const u32 gObjectEventPic_Ludicolo[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ludicolo.4bpp"); +const u16 gObjectEventPal_Ludicolo[] = INCBIN_U16("graphics/object_events/palettes/followers/ludicolo.gbapal"); +const u32 gObjectEventPic_Seedot[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/seedot.4bpp"); +const u16 gObjectEventPal_Seedot[] = INCBIN_U16("graphics/object_events/palettes/followers/seedot.gbapal"); +const u32 gObjectEventPic_Nuzleaf[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/nuzleaf.4bpp"); +const u16 gObjectEventPal_Nuzleaf[] = INCBIN_U16("graphics/object_events/palettes/followers/nuzleaf.gbapal"); +const u32 gObjectEventPic_Shiftry[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/shiftry.4bpp"); +const u16 gObjectEventPal_Shiftry[] = INCBIN_U16("graphics/object_events/palettes/followers/shiftry.gbapal"); +const u32 gObjectEventPic_Taillow[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/taillow.4bpp"); +const u16 gObjectEventPal_Taillow[] = INCBIN_U16("graphics/object_events/palettes/followers/taillow.gbapal"); +const u32 gObjectEventPic_Swellow[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/swellow.4bpp"); +const u16 gObjectEventPal_Swellow[] = INCBIN_U16("graphics/object_events/palettes/followers/swellow.gbapal"); +const u32 gObjectEventPic_Wingull_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/wingull.4bpp"); +const u16 gObjectEventPal_Wingull[] = INCBIN_U16("graphics/object_events/palettes/followers/wingull.gbapal"); +const u32 gObjectEventPic_Pelipper[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/pelipper.4bpp"); +const u16 gObjectEventPal_Pelipper[] = INCBIN_U16("graphics/object_events/palettes/followers/pelipper.gbapal"); +const u32 gObjectEventPic_Ralts[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ralts.4bpp"); +const u32 gObjectEventPic_Kirlia_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/kirlia.4bpp"); +const u32 gObjectEventPic_Gardevoir[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/gardevoir.4bpp"); +const u16 gObjectEventPal_Gardevoir[] = INCBIN_U16("graphics/object_events/palettes/followers/gardevoir.gbapal"); +const u32 gObjectEventPic_Surskit[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/surskit.4bpp"); +const u16 gObjectEventPal_Surskit[] = INCBIN_U16("graphics/object_events/palettes/followers/surskit.gbapal"); +const u32 gObjectEventPic_Masquerain[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/masquerain.4bpp"); +const u16 gObjectEventPal_Masquerain[] = INCBIN_U16("graphics/object_events/palettes/followers/masquerain.gbapal"); +const u32 gObjectEventPic_Shroomish[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/shroomish.4bpp"); +const u16 gObjectEventPal_Shroomish[] = INCBIN_U16("graphics/object_events/palettes/followers/shroomish.gbapal"); +const u32 gObjectEventPic_Breloom[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/breloom.4bpp"); +const u16 gObjectEventPal_Breloom[] = INCBIN_U16("graphics/object_events/palettes/followers/breloom.gbapal"); +const u32 gObjectEventPic_Slakoth[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/slakoth.4bpp"); +const u16 gObjectEventPal_Slakoth[] = INCBIN_U16("graphics/object_events/palettes/followers/slakoth.gbapal"); +const u32 gObjectEventPic_Vigoroth_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/vigoroth.4bpp"); +const u16 gObjectEventPal_Vigoroth_Follower[] = INCBIN_U16("graphics/object_events/palettes/followers/vigoroth.gbapal"); +const u32 gObjectEventPic_Slaking[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/slaking.4bpp"); +const u16 gObjectEventPal_Slaking[] = INCBIN_U16("graphics/object_events/palettes/followers/slaking.gbapal"); +const u32 gObjectEventPic_Nincada[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/nincada.4bpp"); +const u16 gObjectEventPal_Nincada[] = INCBIN_U16("graphics/object_events/palettes/followers/nincada.gbapal"); +const u32 gObjectEventPic_Ninjask[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/ninjask.4bpp"); +const u16 gObjectEventPal_Ninjask[] = INCBIN_U16("graphics/object_events/palettes/followers/ninjask.gbapal"); +const u32 gObjectEventPic_Shedinja[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/shedinja.4bpp"); +const u16 gObjectEventPal_Shedinja[] = INCBIN_U16("graphics/object_events/palettes/followers/shedinja.gbapal"); +const u32 gObjectEventPic_Whismur[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/whismur.4bpp"); +const u16 gObjectEventPal_Whismur[] = INCBIN_U16("graphics/object_events/palettes/followers/whismur.gbapal"); +const u32 gObjectEventPic_Loudred[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/loudred.4bpp"); +const u32 gObjectEventPic_Exploud[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/exploud.4bpp"); +const u16 gObjectEventPal_Exploud[] = INCBIN_U16("graphics/object_events/palettes/followers/exploud.gbapal"); +const u32 gObjectEventPic_Makuhita[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/makuhita.4bpp"); +const u16 gObjectEventPal_Makuhita[] = INCBIN_U16("graphics/object_events/palettes/followers/makuhita.gbapal"); +const u32 gObjectEventPic_Hariyama[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/hariyama.4bpp"); +const u16 gObjectEventPal_Hariyama[] = INCBIN_U16("graphics/object_events/palettes/followers/hariyama.gbapal"); +const u32 gObjectEventPic_Azurill_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/azurill.4bpp"); +const u16 gObjectEventPal_Azurill_Follower[] = INCBIN_U16("graphics/object_events/palettes/followers/azurill.gbapal"); +const u32 gObjectEventPic_Nosepass[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/nosepass.4bpp"); +const u16 gObjectEventPal_Nosepass[] = INCBIN_U16("graphics/object_events/palettes/followers/nosepass.gbapal"); +const u32 gObjectEventPic_Skitty_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/skitty.4bpp"); +const u32 gObjectEventPic_Delcatty[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/delcatty.4bpp"); +const u16 gObjectEventPal_Delcatty[] = INCBIN_U16("graphics/object_events/palettes/followers/delcatty.gbapal"); +const u32 gObjectEventPic_Sableye[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/sableye.4bpp"); +const u16 gObjectEventPal_Sableye[] = INCBIN_U16("graphics/object_events/palettes/followers/sableye.gbapal"); +const u32 gObjectEventPic_Mawile[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/mawile.4bpp"); +const u16 gObjectEventPal_Mawile[] = INCBIN_U16("graphics/object_events/palettes/followers/mawile.gbapal"); +const u32 gObjectEventPic_Aron[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/aron.4bpp"); +const u32 gObjectEventPic_Lairon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/lairon.4bpp"); +const u16 gObjectEventPal_Lairon[] = INCBIN_U16("graphics/object_events/palettes/followers/lairon.gbapal"); +const u32 gObjectEventPic_Aggron[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/aggron.4bpp"); +const u16 gObjectEventPal_Aggron[] = INCBIN_U16("graphics/object_events/palettes/followers/aggron.gbapal"); +const u32 gObjectEventPic_Meditite[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/meditite.4bpp"); +const u16 gObjectEventPal_Meditite[] = INCBIN_U16("graphics/object_events/palettes/followers/meditite.gbapal"); +const u32 gObjectEventPic_Medicham[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/medicham.4bpp"); +const u16 gObjectEventPal_Medicham[] = INCBIN_U16("graphics/object_events/palettes/followers/medicham.gbapal"); +const u32 gObjectEventPic_Electrike[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/electrike.4bpp"); +const u16 gObjectEventPal_Electrike[] = INCBIN_U16("graphics/object_events/palettes/followers/electrike.gbapal"); +const u32 gObjectEventPic_Manectric[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/manectric.4bpp"); +const u16 gObjectEventPal_Manectric[] = INCBIN_U16("graphics/object_events/palettes/followers/manectric.gbapal"); +const u32 gObjectEventPic_Plusle[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/plusle.4bpp"); +const u32 gObjectEventPic_Minun[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/minun.4bpp"); +const u16 gObjectEventPal_Minun[] = INCBIN_U16("graphics/object_events/palettes/followers/minun.gbapal"); +const u32 gObjectEventPic_Volbeat[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/volbeat.4bpp"); +const u16 gObjectEventPal_Volbeat[] = INCBIN_U16("graphics/object_events/palettes/followers/volbeat.gbapal"); +const u32 gObjectEventPic_Illumise[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/illumise.4bpp"); +const u16 gObjectEventPal_Illumise[] = INCBIN_U16("graphics/object_events/palettes/followers/illumise.gbapal"); +const u32 gObjectEventPic_Roselia[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/roselia.4bpp"); +const u16 gObjectEventPal_Roselia[] = INCBIN_U16("graphics/object_events/palettes/followers/roselia.gbapal"); +const u32 gObjectEventPic_Gulpin[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/gulpin.4bpp"); +const u16 gObjectEventPal_Gulpin[] = INCBIN_U16("graphics/object_events/palettes/followers/gulpin.gbapal"); +const u32 gObjectEventPic_Swalot[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/swalot.4bpp"); +const u16 gObjectEventPal_Swalot[] = INCBIN_U16("graphics/object_events/palettes/followers/swalot.gbapal"); +const u32 gObjectEventPic_Carvanha[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/carvanha.4bpp"); +const u16 gObjectEventPal_Carvanha[] = INCBIN_U16("graphics/object_events/palettes/followers/carvanha.gbapal"); +const u32 gObjectEventPic_Sharpedo[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/sharpedo.4bpp"); +const u16 gObjectEventPal_Sharpedo[] = INCBIN_U16("graphics/object_events/palettes/followers/sharpedo.gbapal"); +const u32 gObjectEventPic_Wailmer[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/wailmer.4bpp"); +const u16 gObjectEventPal_Wailmer[] = INCBIN_U16("graphics/object_events/palettes/followers/wailmer.gbapal"); +const u32 gObjectEventPic_Wailord[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/wailord.4bpp"); +const u16 gObjectEventPal_Wailord[] = INCBIN_U16("graphics/object_events/palettes/followers/wailord.gbapal"); +const u32 gObjectEventPic_Numel[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/numel.4bpp"); +const u16 gObjectEventPal_Numel[] = INCBIN_U16("graphics/object_events/palettes/followers/numel.gbapal"); +const u32 gObjectEventPic_Camerupt[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/camerupt.4bpp"); +const u16 gObjectEventPal_Camerupt[] = INCBIN_U16("graphics/object_events/palettes/followers/camerupt.gbapal"); +const u32 gObjectEventPic_Torkoal[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/torkoal.4bpp"); +const u16 gObjectEventPal_Torkoal[] = INCBIN_U16("graphics/object_events/palettes/followers/torkoal.gbapal"); +const u32 gObjectEventPic_Spoink[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/spoink.4bpp"); +const u16 gObjectEventPal_Spoink[] = INCBIN_U16("graphics/object_events/palettes/followers/spoink.gbapal"); +const u32 gObjectEventPic_Grumpig[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/grumpig.4bpp"); +const u16 gObjectEventPal_Grumpig[] = INCBIN_U16("graphics/object_events/palettes/followers/grumpig.gbapal"); +const u32 gObjectEventPic_Spinda[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/spinda.4bpp"); +const u16 gObjectEventPal_Spinda[] = INCBIN_U16("graphics/object_events/palettes/followers/spinda.gbapal"); +const u32 gObjectEventPic_Trapinch[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/trapinch.4bpp"); +const u16 gObjectEventPal_Trapinch[] = INCBIN_U16("graphics/object_events/palettes/followers/trapinch.gbapal"); +const u32 gObjectEventPic_Vibrava[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/vibrava.4bpp"); +const u16 gObjectEventPal_Vibrava[] = INCBIN_U16("graphics/object_events/palettes/followers/vibrava.gbapal"); +const u32 gObjectEventPic_Flygon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/flygon.4bpp"); +const u16 gObjectEventPal_Flygon[] = INCBIN_U16("graphics/object_events/palettes/followers/flygon.gbapal"); +const u32 gObjectEventPic_Cacnea[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/cacnea.4bpp"); +const u16 gObjectEventPal_Cacnea[] = INCBIN_U16("graphics/object_events/palettes/followers/cacnea.gbapal"); +const u32 gObjectEventPic_Cacturne[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/cacturne.4bpp"); +const u32 gObjectEventPic_Swablu[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/swablu.4bpp"); +const u32 gObjectEventPic_Altaria[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/altaria.4bpp"); +const u16 gObjectEventPal_Altaria[] = INCBIN_U16("graphics/object_events/palettes/followers/altaria.gbapal"); +const u32 gObjectEventPic_Zangoose[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/zangoose.4bpp"); +const u16 gObjectEventPal_Zangoose[] = INCBIN_U16("graphics/object_events/palettes/followers/zangoose.gbapal"); +const u32 gObjectEventPic_Seviper[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/seviper.4bpp"); +const u16 gObjectEventPal_Seviper[] = INCBIN_U16("graphics/object_events/palettes/followers/seviper.gbapal"); +const u32 gObjectEventPic_Lunatone[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/lunatone.4bpp"); +const u32 gObjectEventPic_Solrock[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/solrock.4bpp"); +const u16 gObjectEventPal_Solrock[] = INCBIN_U16("graphics/object_events/palettes/followers/solrock.gbapal"); +const u32 gObjectEventPic_Barboach[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/barboach.4bpp"); +const u16 gObjectEventPal_Barboach[] = INCBIN_U16("graphics/object_events/palettes/followers/barboach.gbapal"); +const u32 gObjectEventPic_Whiscash[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/whiscash.4bpp"); +const u16 gObjectEventPal_Whiscash[] = INCBIN_U16("graphics/object_events/palettes/followers/whiscash.gbapal"); +const u32 gObjectEventPic_Corphish[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/corphish.4bpp"); +const u16 gObjectEventPal_Corphish[] = INCBIN_U16("graphics/object_events/palettes/followers/corphish.gbapal"); +const u32 gObjectEventPic_Crawdaunt[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/crawdaunt.4bpp"); +const u16 gObjectEventPal_Crawdaunt[] = INCBIN_U16("graphics/object_events/palettes/followers/crawdaunt.gbapal"); +const u32 gObjectEventPic_Baltoy[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/baltoy.4bpp"); +const u16 gObjectEventPal_Baltoy[] = INCBIN_U16("graphics/object_events/palettes/followers/baltoy.gbapal"); +const u32 gObjectEventPic_Claydol[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/claydol.4bpp"); +const u16 gObjectEventPal_Claydol[] = INCBIN_U16("graphics/object_events/palettes/followers/claydol.gbapal"); +const u32 gObjectEventPic_Lileep[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/lileep.4bpp"); +const u16 gObjectEventPal_Lileep[] = INCBIN_U16("graphics/object_events/palettes/followers/lileep.gbapal"); +const u32 gObjectEventPic_Cradily[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/cradily.4bpp"); +const u16 gObjectEventPal_Cradily[] = INCBIN_U16("graphics/object_events/palettes/followers/cradily.gbapal"); +const u32 gObjectEventPic_Anorith[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/anorith.4bpp"); +const u16 gObjectEventPal_Anorith[] = INCBIN_U16("graphics/object_events/palettes/followers/anorith.gbapal"); +const u32 gObjectEventPic_Armaldo[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/armaldo.4bpp"); +const u16 gObjectEventPal_Armaldo[] = INCBIN_U16("graphics/object_events/palettes/followers/armaldo.gbapal"); +const u32 gObjectEventPic_Feebas[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/feebas.4bpp"); +const u16 gObjectEventPal_Feebas[] = INCBIN_U16("graphics/object_events/palettes/followers/feebas.gbapal"); +const u32 gObjectEventPic_Milotic[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/milotic.4bpp"); +const u16 gObjectEventPal_Milotic[] = INCBIN_U16("graphics/object_events/palettes/followers/milotic.gbapal"); +const u32 gObjectEventPic_Castform[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/castform.4bpp"); +const u32 gObjectEventPic_Kecleon_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/kecleon.4bpp"); +const u16 gObjectEventPal_Kecleon[] = INCBIN_U16("graphics/object_events/palettes/followers/kecleon.gbapal"); +const u32 gObjectEventPic_Shuppet[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/shuppet.4bpp"); +const u32 gObjectEventPic_Banette[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/banette.4bpp"); +const u16 gObjectEventPal_Banette[] = INCBIN_U16("graphics/object_events/palettes/followers/banette.gbapal"); +const u32 gObjectEventPic_Duskull[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/duskull.4bpp"); +const u16 gObjectEventPal_Duskull[] = INCBIN_U16("graphics/object_events/palettes/followers/duskull.gbapal"); +const u32 gObjectEventPic_Dusclops_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/dusclops.4bpp"); +const u16 gObjectEventPal_Dusclops[] = INCBIN_U16("graphics/object_events/palettes/followers/dusclops.gbapal"); +const u32 gObjectEventPic_Tropius[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/tropius.4bpp"); +const u16 gObjectEventPal_Tropius[] = INCBIN_U16("graphics/object_events/palettes/followers/tropius.gbapal"); +const u32 gObjectEventPic_Chimecho[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/chimecho.4bpp"); +const u16 gObjectEventPal_Chimecho[] = INCBIN_U16("graphics/object_events/palettes/followers/chimecho.gbapal"); +const u32 gObjectEventPic_Absol[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/absol.4bpp"); +const u16 gObjectEventPal_Absol[] = INCBIN_U16("graphics/object_events/palettes/followers/absol.gbapal"); +const u32 gObjectEventPic_Wynaut[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/wynaut.4bpp"); +const u16 gObjectEventPal_Wynaut[] = INCBIN_U16("graphics/object_events/palettes/followers/wynaut.gbapal"); +const u32 gObjectEventPic_Snorunt[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/snorunt.4bpp"); +const u16 gObjectEventPal_Snorunt[] = INCBIN_U16("graphics/object_events/palettes/followers/snorunt.gbapal"); +const u32 gObjectEventPic_Glalie[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/glalie.4bpp"); +const u16 gObjectEventPal_Glalie[] = INCBIN_U16("graphics/object_events/palettes/followers/glalie.gbapal"); +const u32 gObjectEventPic_Spheal[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/spheal.4bpp"); +const u16 gObjectEventPal_Spheal[] = INCBIN_U16("graphics/object_events/palettes/followers/spheal.gbapal"); +const u32 gObjectEventPic_Sealeo[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/sealeo.4bpp"); +const u16 gObjectEventPal_Sealeo[] = INCBIN_U16("graphics/object_events/palettes/followers/sealeo.gbapal"); +const u32 gObjectEventPic_Walrein[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/walrein.4bpp"); +const u16 gObjectEventPal_Walrein[] = INCBIN_U16("graphics/object_events/palettes/followers/walrein.gbapal"); +const u32 gObjectEventPic_Clamperl[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/clamperl.4bpp"); +const u16 gObjectEventPal_Clamperl[] = INCBIN_U16("graphics/object_events/palettes/followers/clamperl.gbapal"); +const u32 gObjectEventPic_Huntail[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/huntail.4bpp"); +const u16 gObjectEventPal_Huntail[] = INCBIN_U16("graphics/object_events/palettes/followers/huntail.gbapal"); +const u32 gObjectEventPic_Gorebyss[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/gorebyss.4bpp"); +const u16 gObjectEventPal_Gorebyss[] = INCBIN_U16("graphics/object_events/palettes/followers/gorebyss.gbapal"); +const u32 gObjectEventPic_Relicanth[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/relicanth.4bpp"); +const u16 gObjectEventPal_Relicanth[] = INCBIN_U16("graphics/object_events/palettes/followers/relicanth.gbapal"); +const u32 gObjectEventPic_Luvdisc[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/luvdisc.4bpp"); +const u16 gObjectEventPal_Luvdisc[] = INCBIN_U16("graphics/object_events/palettes/followers/luvdisc.gbapal"); +const u32 gObjectEventPic_Bagon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/bagon.4bpp"); +const u16 gObjectEventPal_Bagon[] = INCBIN_U16("graphics/object_events/palettes/followers/bagon.gbapal"); +const u32 gObjectEventPic_Shelgon[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/shelgon.4bpp"); +const u16 gObjectEventPal_Shelgon[] = INCBIN_U16("graphics/object_events/palettes/followers/shelgon.gbapal"); +const u32 gObjectEventPic_Salamence[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/salamence.4bpp"); +const u16 gObjectEventPal_Salamence[] = INCBIN_U16("graphics/object_events/palettes/followers/salamence.gbapal"); +const u32 gObjectEventPic_Beldum[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/beldum.4bpp"); +const u16 gObjectEventPal_Beldum[] = INCBIN_U16("graphics/object_events/palettes/followers/beldum.gbapal"); +const u32 gObjectEventPic_Metang[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/metang.4bpp"); +const u16 gObjectEventPal_Metang[] = INCBIN_U16("graphics/object_events/palettes/followers/metang.gbapal"); +const u32 gObjectEventPic_Metagross[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/metagross.4bpp"); +const u32 gObjectEventPic_Regirock[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/regirock.4bpp"); +const u16 gObjectEventPal_Regirock[] = INCBIN_U16("graphics/object_events/palettes/followers/regirock.gbapal"); +const u32 gObjectEventPic_Regice[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/regice.4bpp"); +const u16 gObjectEventPal_Regice[] = INCBIN_U16("graphics/object_events/palettes/followers/regice.gbapal"); +const u32 gObjectEventPic_Registeel[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/registeel.4bpp"); +const u16 gObjectEventPal_Registeel[] = INCBIN_U16("graphics/object_events/palettes/followers/registeel.gbapal"); +const u32 gObjectEventPic_Latias[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/latias.4bpp"); +const u16 gObjectEventPal_Latias[] = INCBIN_U16("graphics/object_events/palettes/followers/latias.gbapal"); +const u32 gObjectEventPic_Latios[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/latios.4bpp"); +const u16 gObjectEventPal_Latios[] = INCBIN_U16("graphics/object_events/palettes/followers/latios.gbapal"); +const u32 gObjectEventPic_Kyogre_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/kyogre.4bpp"); +const u16 gObjectEventPal_Kyogre_Follower[] = INCBIN_U16("graphics/object_events/palettes/followers/kyogre.gbapal"); +const u32 gObjectEventPic_Groudon_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/groudon.4bpp"); +const u16 gObjectEventPal_Groudon_Follower[] = INCBIN_U16("graphics/object_events/palettes/followers/groudon.gbapal"); +const u32 gObjectEventPic_Rayquaza_Follower[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/rayquaza.4bpp"); +const u16 gObjectEventPal_Rayquaza[] = INCBIN_U16("graphics/object_events/palettes/followers/rayquaza.gbapal"); +const u32 gObjectEventPic_Jirachi[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/jirachi.4bpp"); +const u16 gObjectEventPal_Jirachi[] = INCBIN_U16("graphics/object_events/palettes/followers/jirachi.gbapal"); +const u32 gObjectEventPic_Deoxys_Normal[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/deoxys_normal.4bpp"); +const u16 gObjectEventPal_Deoxys_Follower[] = INCBIN_U16("graphics/object_events/palettes/followers/deoxys.gbapal"); +const u32 gObjectEventPic_Deoxys_Attack[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/deoxys_attack.4bpp"); +const u32 gObjectEventPic_Deoxys_Defense[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/deoxys_defense.4bpp"); +const u32 gObjectEventPic_Deoxys_Speed[] = INCBIN_U32("graphics/object_events/pics/pokemon/followers/deoxys_speed.4bpp"); diff --git a/src/data/object_events/object_event_graphics_info.h b/src/data/object_events/object_event_graphics_info.h old mode 100755 new mode 100644 index 146bb8730..d4e07ad9c --- a/src/data/object_events/object_event_graphics_info.h +++ b/src/data/object_events/object_event_graphics_info.h @@ -2698,7 +2698,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal = { const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow = { .tileTag = TAG_NONE, - .paletteTag = OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, + .paletteTag = OBJ_EVENT_PAL_TAG_SSTIDAL, .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, .size = 1408, .width = 88, @@ -4652,3 +4652,449 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = { .images = sPicTable_HoOh, .affineAnims = gDummySpriteAffineAnimTable, }; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreatBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_GREAT_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_GreatBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UltraBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_ULTRA_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UltraBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MasterBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_MASTER_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MasterBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SafariBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_SAFARI_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SafariBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NetBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_NET_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_NetBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiveBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_DIVE_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DiveBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NestBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_NEST_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_NestBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RepeatBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_REPEAT_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_RepeatBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TimerBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_TIMER_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TimerBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LuxuryBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_LUXURY_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_LuxuryBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PremierBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_PREMIER_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PremierBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HealBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_HEAL_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_HealBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_DUSK_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DuskBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuickBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_QUICK_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_QuickBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LevelBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_LEVEL_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_LevelBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LureBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_LURE_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_LureBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MoonBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_MOON_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MoonBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FriendBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_FRIEND_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_FriendBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LoveBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_LOVE_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_LoveBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FastBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_FAST_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_FastBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HeavyBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_HEAVY_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_HeavyBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DreamBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_DREAM_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DreamBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SportBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_SPORT_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SportBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ParkBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_PARK_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ParkBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CherishBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_CHERISH_BALL, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_CherishBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpandingSparkle = {TAG_NONE, FLDEFF_PAL_TAG_SMALL_SPARKLE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, ExpandingSparkleTable, sPicTable_ExpandingSparkle, ExpandingSparkleAffineTable}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bulbasaur = {0xFFFF, OBJ_EVENT_PAL_TAG_BULBASAUR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Bulbasaur, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ivysaur = {0xFFFF, OBJ_EVENT_PAL_TAG_IVYSAUR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ivysaur, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Venusaur = {0xFFFF, OBJ_EVENT_PAL_TAG_VENUSAUR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Venusaur, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Charmander = {0xFFFF, OBJ_EVENT_PAL_TAG_CHARMANDER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Charmander, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Charmeleon = {0xFFFF, OBJ_EVENT_PAL_TAG_CHARMELEON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Charmeleon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Charizard = {0xFFFF, OBJ_EVENT_PAL_TAG_CHARIZARD, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Charizard, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Squirtle = {0xFFFF, OBJ_EVENT_PAL_TAG_SQUIRTLE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Squirtle, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wartortle = {0xFFFF, OBJ_EVENT_PAL_TAG_WARTORTLE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Wartortle, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Blastoise = {0xFFFF, OBJ_EVENT_PAL_TAG_BLASTOISE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Blastoise, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Caterpie = {0xFFFF, OBJ_EVENT_PAL_TAG_CATERPIE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Caterpie, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Metapod = {0xFFFF, OBJ_EVENT_PAL_TAG_AERODACTYL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Metapod, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Butterfree = {0xFFFF, OBJ_EVENT_PAL_TAG_BUTTERFREE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Butterfree, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Weedle = {0xFFFF, OBJ_EVENT_PAL_TAG_WEEDLE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Weedle, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kakuna = {0xFFFF, OBJ_EVENT_PAL_TAG_WEEDLE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Kakuna, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beedrill = {0xFFFF, OBJ_EVENT_PAL_TAG_BEEDRILL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Beedrill, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pidgey = {0xFFFF, OBJ_EVENT_PAL_TAG_PIDGEY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Pidgey, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pidgeotto = {0xFFFF, OBJ_EVENT_PAL_TAG_PIDGEOTTO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Pidgeotto, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pidgeot = {0xFFFF, OBJ_EVENT_PAL_TAG_PIDGEOT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Pidgeot, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rattata = {0xFFFF, OBJ_EVENT_PAL_TAG_RATTATA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Rattata, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Raticate = {0xFFFF, OBJ_EVENT_PAL_TAG_RATICATE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Raticate, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spearow = {0xFFFF, OBJ_EVENT_PAL_TAG_SPEAROW, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Spearow, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fearow = {0xFFFF, OBJ_EVENT_PAL_TAG_FEAROW, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Fearow, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ekans = {0xFFFF, OBJ_EVENT_PAL_TAG_EKANS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ekans, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Arbok = {0xFFFF, OBJ_EVENT_PAL_TAG_ARBOK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Arbok, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_PIKACHU, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Pikachu_Follow, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Raichu = {0xFFFF, OBJ_EVENT_PAL_TAG_RAICHU, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Raichu, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sandshrew = {0xFFFF, OBJ_EVENT_PAL_TAG_SANDSHREW, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Sandshrew, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sandslash = {0xFFFF, OBJ_EVENT_PAL_TAG_SANDSLASH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Sandslash, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidoran_F = {0xFFFF, OBJ_EVENT_PAL_TAG_NIDORAN_F, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Nidoran_F, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidorina = {0xFFFF, OBJ_EVENT_PAL_TAG_NIDORINA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Nidorina, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidoqueen = {0xFFFF, OBJ_EVENT_PAL_TAG_NIDOQUEEN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Nidoqueen, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidoran_M = {0xFFFF, OBJ_EVENT_PAL_TAG_NIDORAN_M, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Nidoran_M, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidorino = {0xFFFF, OBJ_EVENT_PAL_TAG_NIDORAN_M, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Nidorino, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidoking = {0xFFFF, OBJ_EVENT_PAL_TAG_NIDOKING, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Nidoking, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Clefairy = {0xFFFF, OBJ_EVENT_PAL_TAG_WIGGLYTUFF, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Clefairy, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Clefable = {0xFFFF, OBJ_EVENT_PAL_TAG_CLEFABLE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Clefable, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Vulpix = {0xFFFF, OBJ_EVENT_PAL_TAG_VULPIX, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Vulpix, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ninetales = {0xFFFF, OBJ_EVENT_PAL_TAG_NINETALES, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ninetales, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Jigglypuff = {0xFFFF, OBJ_EVENT_PAL_TAG_JIGGLYPUFF, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Jigglypuff, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wigglytuff = {0xFFFF, OBJ_EVENT_PAL_TAG_WIGGLYTUFF, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Wigglytuff, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zubat = {0xFFFF, OBJ_EVENT_PAL_TAG_GOLBAT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Zubat, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Golbat = {0xFFFF, OBJ_EVENT_PAL_TAG_GOLBAT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Golbat, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Oddish = {0xFFFF, OBJ_EVENT_PAL_TAG_DODUO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Oddish, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gloom = {0xFFFF, OBJ_EVENT_PAL_TAG_GLOOM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Gloom, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Vileplume = {0xFFFF, OBJ_EVENT_PAL_TAG_GLOOM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Vileplume, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Paras = {0xFFFF, OBJ_EVENT_PAL_TAG_PARAS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Paras, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Parasect = {0xFFFF, OBJ_EVENT_PAL_TAG_PARAS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Parasect, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Venonat = {0xFFFF, OBJ_EVENT_PAL_TAG_VENONAT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Venonat, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Venomoth = {0xFFFF, OBJ_EVENT_PAL_TAG_VENOMOTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Venomoth, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Diglett = {0xFFFF, OBJ_EVENT_PAL_TAG_DIGLETT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Diglett, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dugtrio = {0xFFFF, OBJ_EVENT_PAL_TAG_DUGTRIO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Dugtrio, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Meowth = {0xFFFF, OBJ_EVENT_PAL_TAG_MEOWTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Meowth, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Persian = {0xFFFF, OBJ_EVENT_PAL_TAG_PERSIAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Persian, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Psyduck = {0xFFFF, OBJ_EVENT_PAL_TAG_CHANSEY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Psyduck, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Golduck = {0xFFFF, OBJ_EVENT_PAL_TAG_GOLDUCK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Golduck, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mankey = {0xFFFF, OBJ_EVENT_PAL_TAG_MANKEY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Mankey, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Primeape = {0xFFFF, OBJ_EVENT_PAL_TAG_PRIMEAPE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Primeape, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Growlithe = {0xFFFF, OBJ_EVENT_PAL_TAG_ARCANINE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Growlithe, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Arcanine = {0xFFFF, OBJ_EVENT_PAL_TAG_ARCANINE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Arcanine, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poliwag = {0xFFFF, OBJ_EVENT_PAL_TAG_POLIWAG, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Poliwag, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poliwhirl = {0xFFFF, OBJ_EVENT_PAL_TAG_POLIWHIRL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Poliwhirl, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poliwrath = {0xFFFF, OBJ_EVENT_PAL_TAG_POLIWHIRL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Poliwrath, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Abra = {0xFFFF, OBJ_EVENT_PAL_TAG_ELEKID, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Abra, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kadabra = {0xFFFF, OBJ_EVENT_PAL_TAG_KADABRA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Kadabra, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Alakazam = {0xFFFF, OBJ_EVENT_PAL_TAG_KADABRA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Alakazam, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Machop = {0xFFFF, OBJ_EVENT_PAL_TAG_MACHOP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Machop, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Machoke = {0xFFFF, OBJ_EVENT_PAL_TAG_MACHOKE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Machoke, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Machamp = {0xFFFF, OBJ_EVENT_PAL_TAG_MACHAMP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Machamp, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bellsprout = {0xFFFF, OBJ_EVENT_PAL_TAG_VICTREEBEL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Bellsprout, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Weepinbell = {0xFFFF, OBJ_EVENT_PAL_TAG_WEEPINBELL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Weepinbell, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Victreebel = {0xFFFF, OBJ_EVENT_PAL_TAG_VICTREEBEL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Victreebel, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tentacool = {0xFFFF, OBJ_EVENT_PAL_TAG_TENTACOOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Tentacool, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tentacruel = {0xFFFF, OBJ_EVENT_PAL_TAG_TENTACRUEL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Tentacruel, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Geodude = {0xFFFF, OBJ_EVENT_PAL_TAG_GRAVELER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Geodude, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Graveler = {0xFFFF, OBJ_EVENT_PAL_TAG_GRAVELER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Graveler, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Golem = {0xFFFF, OBJ_EVENT_PAL_TAG_GOLEM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Golem, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ponyta = {0xFFFF, OBJ_EVENT_PAL_TAG_PONYTA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ponyta, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rapidash = {0xFFFF, OBJ_EVENT_PAL_TAG_PONYTA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Rapidash, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slowpoke = {0xFFFF, OBJ_EVENT_PAL_TAG_SLOWPOKE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Slowpoke, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slowbro = {0xFFFF, OBJ_EVENT_PAL_TAG_SLOWBRO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Slowbro, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Magnemite = {0xFFFF, OBJ_EVENT_PAL_TAG_MAGNEMITE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Magnemite, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Magneton = {0xFFFF, OBJ_EVENT_PAL_TAG_MAGNEMITE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Magneton, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Farfetchd = {0xFFFF, OBJ_EVENT_PAL_TAG_FARFETCHD, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon_UniqueEast, gObjectEventPicTable_Farfetchd, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Doduo = {0xFFFF, OBJ_EVENT_PAL_TAG_DODUO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Doduo, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dodrio = {0xFFFF, OBJ_EVENT_PAL_TAG_DODRIO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Dodrio, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Seel = {0xFFFF, OBJ_EVENT_PAL_TAG_SEEL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Seel, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dewgong = {0xFFFF, OBJ_EVENT_PAL_TAG_CLEFFA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Dewgong, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Grimer = {0xFFFF, OBJ_EVENT_PAL_TAG_MUK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Grimer, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Muk = {0xFFFF, OBJ_EVENT_PAL_TAG_MUK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Muk, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shellder = {0xFFFF, OBJ_EVENT_PAL_TAG_SHELLDER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Shellder, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cloyster = {0xFFFF, OBJ_EVENT_PAL_TAG_CLOYSTER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Cloyster, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gastly = {0xFFFF, OBJ_EVENT_PAL_TAG_GASTLY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Gastly, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Haunter = {0xFFFF, OBJ_EVENT_PAL_TAG_HAUNTER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Haunter, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gengar = {0xFFFF, OBJ_EVENT_PAL_TAG_GENGAR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Gengar, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Onix = {0xFFFF, OBJ_EVENT_PAL_TAG_BEEDRILL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Onix, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drowzee = {0xFFFF, OBJ_EVENT_PAL_TAG_HYPNO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Drowzee, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hypno = {0xFFFF, OBJ_EVENT_PAL_TAG_HYPNO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Hypno, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Krabby = {0xFFFF, OBJ_EVENT_PAL_TAG_KINGLER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon_UniqueEast_DoubleNorth, gObjectEventPicTable_Krabby, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kingler = {0xFFFF, OBJ_EVENT_PAL_TAG_KINGLER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon_UniqueEast, gObjectEventPicTable_Kingler, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Voltorb = {0xFFFF, OBJ_EVENT_PAL_TAG_VOLTORB, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Voltorb, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Electrode = {0xFFFF, OBJ_EVENT_PAL_TAG_VOLTORB, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Electrode, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Exeggcute = {0xFFFF, OBJ_EVENT_PAL_TAG_EXEGGCUTE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Exeggcute, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Exeggutor = {0xFFFF, OBJ_EVENT_PAL_TAG_EXEGGUTOR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Exeggutor, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cubone = {0xFFFF, OBJ_EVENT_PAL_TAG_CUBONE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon_UniqueEast, gObjectEventPicTable_Cubone, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Marowak = {0xFFFF, OBJ_EVENT_PAL_TAG_CUBONE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon_UniqueEast, gObjectEventPicTable_Marowak, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hitmonlee = {0xFFFF, OBJ_EVENT_PAL_TAG_HITMONLEE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Hitmonlee, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hitmonchan = {0xFFFF, OBJ_EVENT_PAL_TAG_HITMONCHAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Hitmonchan, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lickitung = {0xFFFF, OBJ_EVENT_PAL_TAG_LICKITUNG, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Lickitung, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Koffing = {0xFFFF, OBJ_EVENT_PAL_TAG_KOFFING, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Koffing, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Weezing = {0xFFFF, OBJ_EVENT_PAL_TAG_KOFFING, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon_UniqueEast, gObjectEventPicTable_Weezing, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rhyhorn = {0xFFFF, OBJ_EVENT_PAL_TAG_BULBASAUR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Rhyhorn, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rhydon = {0xFFFF, OBJ_EVENT_PAL_TAG_RHYDON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Rhydon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Chansey = {0xFFFF, OBJ_EVENT_PAL_TAG_CHANSEY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Chansey, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tangela = {0xFFFF, OBJ_EVENT_PAL_TAG_TANGELA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Tangela, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kangaskhan = {0xFFFF, OBJ_EVENT_PAL_TAG_KANGASKHAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Kangaskhan, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Horsea = {0xFFFF, OBJ_EVENT_PAL_TAG_HORSEA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Horsea, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Seadra = {0xFFFF, OBJ_EVENT_PAL_TAG_SEADRA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Seadra, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Goldeen = {0xFFFF, OBJ_EVENT_PAL_TAG_GOLDEEN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Goldeen, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Seaking = {0xFFFF, OBJ_EVENT_PAL_TAG_SEAKING, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Seaking, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Staryu = {0xFFFF, OBJ_EVENT_PAL_TAG_STARMIE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Staryu, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Starmie = {0xFFFF, OBJ_EVENT_PAL_TAG_STARMIE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Starmie, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mr_Mime = {0xFFFF, OBJ_EVENT_PAL_TAG_MR_MIME, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Mr_Mime, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scyther = {0xFFFF, OBJ_EVENT_PAL_TAG_SCYTHER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Scyther, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Jynx = {0xFFFF, OBJ_EVENT_PAL_TAG_JYNX, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Jynx, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Electabuzz = {0xFFFF, OBJ_EVENT_PAL_TAG_PINSIR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Electabuzz, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Magmar = {0xFFFF, OBJ_EVENT_PAL_TAG_MAGMAR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Magmar, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pinsir = {0xFFFF, OBJ_EVENT_PAL_TAG_PINSIR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Pinsir, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tauros = {0xFFFF, OBJ_EVENT_PAL_TAG_TAUROS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Tauros, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Magikarp = {0xFFFF, OBJ_EVENT_PAL_TAG_MAGIKARP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Magikarp, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gyarados = {0xFFFF, OBJ_EVENT_PAL_TAG_GYARADOS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Gyarados, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lapras = {0xFFFF, OBJ_EVENT_PAL_TAG_LAPRAS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Lapras, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ditto = {0xFFFF, OBJ_EVENT_PAL_TAG_ARBOK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ditto, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Eevee = {0xFFFF, OBJ_EVENT_PAL_TAG_EEVEE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Eevee, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Vaporeon = {0xFFFF, OBJ_EVENT_PAL_TAG_VAPOREON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Vaporeon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Jolteon = {0xFFFF, OBJ_EVENT_PAL_TAG_JOLTEON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Jolteon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flareon = {0xFFFF, OBJ_EVENT_PAL_TAG_FLAREON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Flareon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Porygon = {0xFFFF, OBJ_EVENT_PAL_TAG_PORYGON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Porygon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Omanyte = {0xFFFF, OBJ_EVENT_PAL_TAG_OMANYTE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Omanyte, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Omastar = {0xFFFF, OBJ_EVENT_PAL_TAG_OMASTAR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Omastar, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kabuto = {0xFFFF, OBJ_EVENT_PAL_TAG_KABUTO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Kabuto, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kabutops = {0xFFFF, OBJ_EVENT_PAL_TAG_KABUTOPS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Kabutops, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Aerodactyl = {0xFFFF, OBJ_EVENT_PAL_TAG_AERODACTYL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Aerodactyl, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Snorlax = {0xFFFF, OBJ_EVENT_PAL_TAG_SNORLAX, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Snorlax, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Articuno = {0xFFFF, OBJ_EVENT_PAL_TAG_ARTICUNO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Articuno, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zapdos = {0xFFFF, OBJ_EVENT_PAL_TAG_ZAPDOS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Zapdos, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Moltres = {0xFFFF, OBJ_EVENT_PAL_TAG_MOLTRES, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Moltres, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dratini = {0xFFFF, OBJ_EVENT_PAL_TAG_DRATINI, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Dratini, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dragonair = {0xFFFF, OBJ_EVENT_PAL_TAG_DRAGONAIR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Dragonair, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dragonite = {0xFFFF, OBJ_EVENT_PAL_TAG_DRAGONITE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Dragonite, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mewtwo = {0xFFFF, OBJ_EVENT_PAL_TAG_MEWTWO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Mewtwo, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_MEW, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Mew_Follower, FollowerAffineTable}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Chikorita = {0xFFFF, OBJ_EVENT_PAL_TAG_WOBBUFFET, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Chikorita, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bayleef = {0xFFFF, OBJ_EVENT_PAL_TAG_BAYLEEF, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Bayleef, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Meganium = {0xFFFF, OBJ_EVENT_PAL_TAG_MEGANIUM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Meganium, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cyndaquil = {0xFFFF, OBJ_EVENT_PAL_TAG_CYNDAQUIL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Cyndaquil, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Quilava = {0xFFFF, OBJ_EVENT_PAL_TAG_QUILAVA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Quilava, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Typhlosion = {0xFFFF, OBJ_EVENT_PAL_TAG_TYPHLOSION, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Typhlosion, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Totodile = {0xFFFF, OBJ_EVENT_PAL_TAG_TOTODILE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Totodile, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Croconaw = {0xFFFF, OBJ_EVENT_PAL_TAG_CROCONAW, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Croconaw, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Feraligatr = {0xFFFF, OBJ_EVENT_PAL_TAG_FERALIGATR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Feraligatr, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sentret = {0xFFFF, OBJ_EVENT_PAL_TAG_SENTRET, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Sentret, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Furret = {0xFFFF, OBJ_EVENT_PAL_TAG_FURRET, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Furret, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hoothoot = {0xFFFF, OBJ_EVENT_PAL_TAG_HOOTHOOT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Hoothoot, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noctowl = {0xFFFF, OBJ_EVENT_PAL_TAG_NOCTOWL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Noctowl, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ledyba = {0xFFFF, OBJ_EVENT_PAL_TAG_LEDYBA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ledyba, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ledian = {0xFFFF, OBJ_EVENT_PAL_TAG_LEDIAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ledian, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spinarak = {0xFFFF, OBJ_EVENT_PAL_TAG_SPINARAK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Spinarak, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ariados = {0xFFFF, OBJ_EVENT_PAL_TAG_ARIADOS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ariados, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Crobat = {0xFFFF, OBJ_EVENT_PAL_TAG_CROBAT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Crobat, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Chinchou = {0xFFFF, OBJ_EVENT_PAL_TAG_CHINCHOU, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Chinchou, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lanturn = {0xFFFF, OBJ_EVENT_PAL_TAG_LANTURN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Lanturn, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pichu = {0xFFFF, OBJ_EVENT_PAL_TAG_PICHU, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Pichu, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cleffa = {0xFFFF, OBJ_EVENT_PAL_TAG_CLEFFA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Cleffa, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Igglybuff = {0xFFFF, OBJ_EVENT_PAL_TAG_IGGLYBUFF, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Igglybuff, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Togepi = {0xFFFF, OBJ_EVENT_PAL_TAG_TOGEPI, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Togepi, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Togetic = {0xFFFF, OBJ_EVENT_PAL_TAG_MUK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Togetic, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Natu = {0xFFFF, OBJ_EVENT_PAL_TAG_NATU, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Natu, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Xatu = {0xFFFF, OBJ_EVENT_PAL_TAG_XATU, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Xatu, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mareep = {0xFFFF, OBJ_EVENT_PAL_TAG_MAREEP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Mareep, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flaaffy = {0xFFFF, OBJ_EVENT_PAL_TAG_FLAAFFY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Flaaffy, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ampharos = {0xFFFF, OBJ_EVENT_PAL_TAG_AMPHAROS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ampharos, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bellossom = {0xFFFF, OBJ_EVENT_PAL_TAG_BELLOSSOM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Bellossom, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Marill = {0xFFFF, OBJ_EVENT_PAL_TAG_AZUMARILL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Marill, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_AZUMARILL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Azumarill, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_SUDOWOODO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Sudowoodo, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Politoed = {0xFFFF, OBJ_EVENT_PAL_TAG_POLITOED, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Politoed, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hoppip = {0xFFFF, OBJ_EVENT_PAL_TAG_HOPPIP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Hoppip, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skiploom = {0xFFFF, OBJ_EVENT_PAL_TAG_SKIPLOOM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Skiploom, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Jumpluff = {0xFFFF, OBJ_EVENT_PAL_TAG_JUMPLUFF, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Jumpluff, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Aipom = {0xFFFF, OBJ_EVENT_PAL_TAG_AIPOM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Aipom, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sunkern = {0xFFFF, OBJ_EVENT_PAL_TAG_SUNKERN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Sunkern, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sunflora = {0xFFFF, OBJ_EVENT_PAL_TAG_SUNFLORA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Sunflora, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Yanma = {0xFFFF, OBJ_EVENT_PAL_TAG_YANMA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Yanma, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wooper = {0xFFFF, OBJ_EVENT_PAL_TAG_QUAGSIRE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Wooper, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Quagsire = {0xFFFF, OBJ_EVENT_PAL_TAG_QUAGSIRE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Quagsire, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Espeon = {0xFFFF, OBJ_EVENT_PAL_TAG_ESPEON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Espeon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Umbreon = {0xFFFF, OBJ_EVENT_PAL_TAG_UMBREON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Umbreon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Murkrow = {0xFFFF, OBJ_EVENT_PAL_TAG_MURKROW, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Murkrow, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slowking = {0xFFFF, OBJ_EVENT_PAL_TAG_SLOWKING, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Slowking, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Misdreavus = {0xFFFF, OBJ_EVENT_PAL_TAG_MISDREAVUS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Misdreavus, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_A = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_A, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_B = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_B, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_C = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_C, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_D = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_D, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_E = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_E, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_F = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_F, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_G = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_G, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_H = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_H, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_I = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_I, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_J = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_J, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_K = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_K, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_L = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_L, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_M = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_M, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_N = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_N, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_O = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_O, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_P = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_P, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_Q = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_Q, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_R = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_R, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_S = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_S, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_T = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_T, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_U = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_U, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_V = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_V, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_W = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_W, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_X = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_X, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_Y = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_Y, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_Z = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_Z, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_Exclamation = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_Exclamation, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_Question = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Unown_Question, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wobbuffet = {0xFFFF, OBJ_EVENT_PAL_TAG_WOBBUFFET, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Wobbuffet, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girafarig = {0xFFFF, OBJ_EVENT_PAL_TAG_GIRAFARIG, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Girafarig, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pineco = {0xFFFF, OBJ_EVENT_PAL_TAG_PINECO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Pineco, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Forretress = {0xFFFF, OBJ_EVENT_PAL_TAG_FORRETRESS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Forretress, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dunsparce = {0xFFFF, OBJ_EVENT_PAL_TAG_DUNSPARCE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Dunsparce, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gligar = {0xFFFF, OBJ_EVENT_PAL_TAG_GLIGAR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Gligar, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steelix = {0xFFFF, OBJ_EVENT_PAL_TAG_EXEGGCUTE, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_64x64, sOamTables_64x64, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Steelix, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Snubbull = {0xFFFF, OBJ_EVENT_PAL_TAG_SNUBBULL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Snubbull, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Granbull = {0xFFFF, OBJ_EVENT_PAL_TAG_GRANBULL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Granbull, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Qwilfish = {0xFFFF, OBJ_EVENT_PAL_TAG_QWILFISH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Qwilfish, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scizor = {0xFFFF, OBJ_EVENT_PAL_TAG_SCIZOR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Scizor, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shuckle = {0xFFFF, OBJ_EVENT_PAL_TAG_SHUCKLE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Shuckle, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Heracross = {0xFFFF, OBJ_EVENT_PAL_TAG_HERACROSS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Heracross, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sneasel = {0xFFFF, OBJ_EVENT_PAL_TAG_SNEASEL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon_UniqueEast, gObjectEventPicTable_Sneasel, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teddiursa = {0xFFFF, OBJ_EVENT_PAL_TAG_TEDDIURSA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon_UniqueEast, gObjectEventPicTable_Teddiursa, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ursaring = {0xFFFF, OBJ_EVENT_PAL_TAG_URSARING, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ursaring, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slugma = {0xFFFF, OBJ_EVENT_PAL_TAG_BALTOY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Slugma, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Magcargo = {0xFFFF, OBJ_EVENT_PAL_TAG_MAGCARGO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon_UniqueEast, gObjectEventPicTable_Magcargo, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Swinub = {0xFFFF, OBJ_EVENT_PAL_TAG_SWINUB, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Swinub, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Piloswine = {0xFFFF, OBJ_EVENT_PAL_TAG_PILOSWINE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Piloswine, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Corsola = {0xFFFF, OBJ_EVENT_PAL_TAG_CORSOLA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Corsola, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Remoraid = {0xFFFF, OBJ_EVENT_PAL_TAG_REMORAID, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Remoraid, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Octillery = {0xFFFF, OBJ_EVENT_PAL_TAG_OCTILLERY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Octillery, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Delibird = {0xFFFF, OBJ_EVENT_PAL_TAG_DELIBIRD, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Delibird, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mantine = {0xFFFF, OBJ_EVENT_PAL_TAG_MANTINE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Mantine, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skarmory = {0xFFFF, OBJ_EVENT_PAL_TAG_SKARMORY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Skarmory, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Houndour = {0xFFFF, OBJ_EVENT_PAL_TAG_HOUNDOOM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Houndour, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Houndoom = {0xFFFF, OBJ_EVENT_PAL_TAG_HOUNDOOM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Houndoom, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kingdra = {0xFFFF, OBJ_EVENT_PAL_TAG_KINGDRA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Kingdra, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phanpy = {0xFFFF, OBJ_EVENT_PAL_TAG_PHANPY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Phanpy, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Donphan = {0xFFFF, OBJ_EVENT_PAL_TAG_DONPHAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Donphan, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Porygon2 = {0xFFFF, OBJ_EVENT_PAL_TAG_PORYGON2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Porygon2, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Stantler = {0xFFFF, OBJ_EVENT_PAL_TAG_STANTLER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Stantler, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Smeargle = {0xFFFF, OBJ_EVENT_PAL_TAG_SMEARGLE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Smeargle, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tyrogue = {0xFFFF, OBJ_EVENT_PAL_TAG_TYROGUE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Tyrogue, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hitmontop = {0xFFFF, OBJ_EVENT_PAL_TAG_HITMONTOP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Hitmontop, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Smoochum = {0xFFFF, OBJ_EVENT_PAL_TAG_SMOOCHUM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Smoochum, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Elekid = {0xFFFF, OBJ_EVENT_PAL_TAG_ELEKID, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Elekid, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Magby = {0xFFFF, OBJ_EVENT_PAL_TAG_MAGBY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Magby, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Miltank = {0xFFFF, OBJ_EVENT_PAL_TAG_MILTANK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Miltank, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Blissey = {0xFFFF, OBJ_EVENT_PAL_TAG_BLISSEY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Blissey, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Raikou = {0xFFFF, OBJ_EVENT_PAL_TAG_RAIKOU, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Raikou, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Entei = {0xFFFF, OBJ_EVENT_PAL_TAG_ENTEI, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Entei, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Suicune = {0xFFFF, OBJ_EVENT_PAL_TAG_SUICUNE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Suicune, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Larvitar = {0xFFFF, OBJ_EVENT_PAL_TAG_LARVITAR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Larvitar, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pupitar = {0xFFFF, OBJ_EVENT_PAL_TAG_LARVITAR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Pupitar, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tyranitar = {0xFFFF, OBJ_EVENT_PAL_TAG_TYRANITAR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Tyranitar, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_LUGIA_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_64x64, sOamTables_64x64, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Lugia_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_HO_OH_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_64x64, sOamTables_64x64, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_HoOh_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Celebi = {0xFFFF, OBJ_EVENT_PAL_TAG_CELEBI, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Celebi, FollowerAffineTable}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Treecko = {0xFFFF, OBJ_EVENT_PAL_TAG_TREECKO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Treecko, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Grovyle = {0xFFFF, OBJ_EVENT_PAL_TAG_GROVYLE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Grovyle, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sceptile = {0xFFFF, OBJ_EVENT_PAL_TAG_SCEPTILE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Sceptile, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Torchic = {0xFFFF, OBJ_EVENT_PAL_TAG_COMBUSKEN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Torchic, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Combusken = {0xFFFF, OBJ_EVENT_PAL_TAG_COMBUSKEN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Combusken, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Blaziken = {0xFFFF, OBJ_EVENT_PAL_TAG_BLAZIKEN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Blaziken, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mudkip = {0xFFFF, OBJ_EVENT_PAL_TAG_MUDKIP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Mudkip, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Marshtomp = {0xFFFF, OBJ_EVENT_PAL_TAG_MARSHTOMP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Marshtomp, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Swampert = {0xFFFF, OBJ_EVENT_PAL_TAG_SWAMPERT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Swampert, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_POOCHYENA_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Poochyena_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mightyena = {0xFFFF, OBJ_EVENT_PAL_TAG_MIGHTYENA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Mightyena, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_ZIGZAGOON_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Zigzagoon_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Linoone = {0xFFFF, OBJ_EVENT_PAL_TAG_LINOONE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Linoone, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wurmple = {0xFFFF, OBJ_EVENT_PAL_TAG_WURMPLE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Wurmple, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Silcoon = {0xFFFF, OBJ_EVENT_PAL_TAG_CASCOON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Silcoon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beautifly = {0xFFFF, OBJ_EVENT_PAL_TAG_BEAUTIFLY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Beautifly, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cascoon = {0xFFFF, OBJ_EVENT_PAL_TAG_CASCOON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Cascoon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dustox = {0xFFFF, OBJ_EVENT_PAL_TAG_DUSTOX, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Dustox, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lotad = {0xFFFF, OBJ_EVENT_PAL_TAG_LOTAD, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Lotad, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lombre = {0xFFFF, OBJ_EVENT_PAL_TAG_LOMBRE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Lombre, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ludicolo = {0xFFFF, OBJ_EVENT_PAL_TAG_LUDICOLO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ludicolo, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Seedot = {0xFFFF, OBJ_EVENT_PAL_TAG_SEEDOT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Seedot, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nuzleaf = {0xFFFF, OBJ_EVENT_PAL_TAG_NUZLEAF, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Nuzleaf, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shiftry = {0xFFFF, OBJ_EVENT_PAL_TAG_SHIFTRY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Shiftry, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Taillow = {0xFFFF, OBJ_EVENT_PAL_TAG_TAILLOW, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Taillow, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Swellow = {0xFFFF, OBJ_EVENT_PAL_TAG_SWELLOW, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Swellow, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_WINGULL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Wingull_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pelipper = {0xFFFF, OBJ_EVENT_PAL_TAG_PELIPPER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Pelipper, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ralts = {0xFFFF, OBJ_EVENT_PAL_TAG_GARDEVOIR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ralts, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_GARDEVOIR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Kirlia_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gardevoir = {0xFFFF, OBJ_EVENT_PAL_TAG_GARDEVOIR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Gardevoir, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Surskit = {0xFFFF, OBJ_EVENT_PAL_TAG_SURSKIT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Surskit, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Masquerain = {0xFFFF, OBJ_EVENT_PAL_TAG_MASQUERAIN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Masquerain, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shroomish = {0xFFFF, OBJ_EVENT_PAL_TAG_SHROOMISH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Shroomish, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Breloom = {0xFFFF, OBJ_EVENT_PAL_TAG_BRELOOM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Breloom, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slakoth = {0xFFFF, OBJ_EVENT_PAL_TAG_SLAKOTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Slakoth, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Vigoroth_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_VIGOROTH_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Vigoroth_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slaking = {0xFFFF, OBJ_EVENT_PAL_TAG_SLAKING, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Slaking, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nincada = {0xFFFF, OBJ_EVENT_PAL_TAG_NINCADA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Nincada, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ninjask = {0xFFFF, OBJ_EVENT_PAL_TAG_NINJASK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Ninjask, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shedinja = {0xFFFF, OBJ_EVENT_PAL_TAG_SHEDINJA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Shedinja, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Whismur = {0xFFFF, OBJ_EVENT_PAL_TAG_WHISMUR, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Whismur, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Loudred = {0xFFFF, OBJ_EVENT_PAL_TAG_EXPLOUD, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Loudred, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Exploud = {0xFFFF, OBJ_EVENT_PAL_TAG_EXPLOUD, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Exploud, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Makuhita = {0xFFFF, OBJ_EVENT_PAL_TAG_MAKUHITA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Makuhita, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hariyama = {0xFFFF, OBJ_EVENT_PAL_TAG_HARIYAMA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Hariyama, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_AZURILL_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Azurill_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nosepass = {0xFFFF, OBJ_EVENT_PAL_TAG_NOSEPASS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Nosepass, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_FURRET, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Skitty_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Delcatty = {0xFFFF, OBJ_EVENT_PAL_TAG_DELCATTY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Delcatty, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sableye = {0xFFFF, OBJ_EVENT_PAL_TAG_SABLEYE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Sableye, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mawile = {0xFFFF, OBJ_EVENT_PAL_TAG_MAWILE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Mawile, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Aron = {0xFFFF, OBJ_EVENT_PAL_TAG_LAIRON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Aron, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lairon = {0xFFFF, OBJ_EVENT_PAL_TAG_LAIRON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Lairon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Aggron = {0xFFFF, OBJ_EVENT_PAL_TAG_AGGRON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Aggron, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Meditite = {0xFFFF, OBJ_EVENT_PAL_TAG_MEDITITE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Meditite, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Medicham = {0xFFFF, OBJ_EVENT_PAL_TAG_MEDICHAM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Medicham, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Electrike = {0xFFFF, OBJ_EVENT_PAL_TAG_ELECTRIKE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Electrike, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Manectric = {0xFFFF, OBJ_EVENT_PAL_TAG_MANECTRIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Manectric, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Plusle = {0xFFFF, OBJ_EVENT_PAL_TAG_MINUN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Plusle, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Minun = {0xFFFF, OBJ_EVENT_PAL_TAG_MINUN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Minun, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Volbeat = {0xFFFF, OBJ_EVENT_PAL_TAG_VOLBEAT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Volbeat, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Illumise = {0xFFFF, OBJ_EVENT_PAL_TAG_ILLUMISE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Illumise, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roselia = {0xFFFF, OBJ_EVENT_PAL_TAG_ROSELIA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon_UniqueEast, gObjectEventPicTable_Roselia, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gulpin = {0xFFFF, OBJ_EVENT_PAL_TAG_GULPIN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Gulpin, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Swalot = {0xFFFF, OBJ_EVENT_PAL_TAG_SWALOT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Swalot, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Carvanha = {0xFFFF, OBJ_EVENT_PAL_TAG_CARVANHA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Carvanha, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sharpedo = {0xFFFF, OBJ_EVENT_PAL_TAG_SHARPEDO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Sharpedo, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wailmer = {0xFFFF, OBJ_EVENT_PAL_TAG_WAILMER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Wailmer, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wailord = {0xFFFF, OBJ_EVENT_PAL_TAG_WAILORD, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_64x64, sOamTables_64x64, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Wailord, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Numel = {0xFFFF, OBJ_EVENT_PAL_TAG_NUMEL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Numel, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camerupt = {0xFFFF, OBJ_EVENT_PAL_TAG_CAMERUPT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Camerupt, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Torkoal = {0xFFFF, OBJ_EVENT_PAL_TAG_TORKOAL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Torkoal, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spoink = {0xFFFF, OBJ_EVENT_PAL_TAG_SPOINK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Spoink, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Grumpig = {0xFFFF, OBJ_EVENT_PAL_TAG_GRUMPIG, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Grumpig, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spinda = {0xFFFF, OBJ_EVENT_PAL_TAG_SPINDA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Spinda, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trapinch = {0xFFFF, OBJ_EVENT_PAL_TAG_TRAPINCH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Trapinch, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Vibrava = {0xFFFF, OBJ_EVENT_PAL_TAG_VIBRAVA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Vibrava, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flygon = {0xFFFF, OBJ_EVENT_PAL_TAG_FLYGON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Flygon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cacnea = {0xFFFF, OBJ_EVENT_PAL_TAG_CACNEA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Cacnea, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cacturne = {0xFFFF, OBJ_EVENT_PAL_TAG_CACNEA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Cacturne, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Swablu = {0xFFFF, OBJ_EVENT_PAL_TAG_ALTARIA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Swablu, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Altaria = {0xFFFF, OBJ_EVENT_PAL_TAG_ALTARIA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Altaria, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zangoose = {0xFFFF, OBJ_EVENT_PAL_TAG_ZANGOOSE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Zangoose, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Seviper = {0xFFFF, OBJ_EVENT_PAL_TAG_SEVIPER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Seviper, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lunatone = {0xFFFF, OBJ_EVENT_PAL_TAG_SOLROCK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Lunatone, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Solrock = {0xFFFF, OBJ_EVENT_PAL_TAG_SOLROCK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Solrock, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Barboach = {0xFFFF, OBJ_EVENT_PAL_TAG_BARBOACH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Barboach, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Whiscash = {0xFFFF, OBJ_EVENT_PAL_TAG_WHISCASH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Whiscash, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Corphish = {0xFFFF, OBJ_EVENT_PAL_TAG_CORPHISH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Corphish, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Crawdaunt = {0xFFFF, OBJ_EVENT_PAL_TAG_CRAWDAUNT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Crawdaunt, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Baltoy = {0xFFFF, OBJ_EVENT_PAL_TAG_BALTOY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Baltoy, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Claydol = {0xFFFF, OBJ_EVENT_PAL_TAG_CLAYDOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Claydol, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lileep = {0xFFFF, OBJ_EVENT_PAL_TAG_LILEEP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Lileep, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cradily = {0xFFFF, OBJ_EVENT_PAL_TAG_CRADILY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Cradily, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anorith = {0xFFFF, OBJ_EVENT_PAL_TAG_ANORITH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Anorith, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Armaldo = {0xFFFF, OBJ_EVENT_PAL_TAG_ARMALDO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Armaldo, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Feebas = {0xFFFF, OBJ_EVENT_PAL_TAG_FEEBAS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Feebas, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Milotic = {0xFFFF, OBJ_EVENT_PAL_TAG_MILOTIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Milotic, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Castform = {0xFFFF, OBJ_EVENT_PAL_TAG_AZURILL_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Castform, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_KECLEON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Kecleon_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shuppet = {0xFFFF, OBJ_EVENT_PAL_TAG_BANETTE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Shuppet, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Banette = {0xFFFF, OBJ_EVENT_PAL_TAG_BANETTE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Banette, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Duskull = {0xFFFF, OBJ_EVENT_PAL_TAG_DUSKULL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Duskull, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_DUSCLOPS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Dusclops_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tropius = {0xFFFF, OBJ_EVENT_PAL_TAG_TROPIUS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Tropius, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Chimecho = {0xFFFF, OBJ_EVENT_PAL_TAG_CHIMECHO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Chimecho, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Absol = {0xFFFF, OBJ_EVENT_PAL_TAG_ABSOL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon_UniqueEast, gObjectEventPicTable_Absol, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wynaut = {0xFFFF, OBJ_EVENT_PAL_TAG_WYNAUT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Wynaut, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Snorunt = {0xFFFF, OBJ_EVENT_PAL_TAG_SNORUNT, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Snorunt, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glalie = {0xFFFF, OBJ_EVENT_PAL_TAG_GLALIE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Glalie, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spheal = {0xFFFF, OBJ_EVENT_PAL_TAG_SPHEAL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Spheal, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sealeo = {0xFFFF, OBJ_EVENT_PAL_TAG_SEALEO, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Sealeo, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Walrein = {0xFFFF, OBJ_EVENT_PAL_TAG_WALREIN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Walrein, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Clamperl = {0xFFFF, OBJ_EVENT_PAL_TAG_CLAMPERL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Clamperl, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Huntail = {0xFFFF, OBJ_EVENT_PAL_TAG_HUNTAIL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Huntail, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gorebyss = {0xFFFF, OBJ_EVENT_PAL_TAG_GOREBYSS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Gorebyss, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Relicanth = {0xFFFF, OBJ_EVENT_PAL_TAG_RELICANTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Relicanth, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Luvdisc = {0xFFFF, OBJ_EVENT_PAL_TAG_LUVDISC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Luvdisc, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bagon = {0xFFFF, OBJ_EVENT_PAL_TAG_BAGON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Bagon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shelgon = {0xFFFF, OBJ_EVENT_PAL_TAG_SHELGON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Shelgon, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Salamence = {0xFFFF, OBJ_EVENT_PAL_TAG_SALAMENCE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Salamence, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beldum = {0xFFFF, OBJ_EVENT_PAL_TAG_BELDUM, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Beldum, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Metang = {0xFFFF, OBJ_EVENT_PAL_TAG_METANG, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Metang, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Metagross = {0xFFFF, OBJ_EVENT_PAL_TAG_METANG, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Metagross, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_REGIROCK, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Regirock, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_REGICE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Regice, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_REGISTEEL, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Registeel, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_LATIAS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Latias, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_LATIOS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Latios, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre = {0xFFFF, OBJ_EVENT_PAL_TAG_KYOGRE_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Kyogre_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon = {0xFFFF, OBJ_EVENT_PAL_TAG_GROUDON_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Groudon_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_RAYQUAZA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon_Rayquaza, gObjectEventPicTable_Rayquaza_Follower, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Jirachi = {0xFFFF, OBJ_EVENT_PAL_TAG_JIRACHI, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Jirachi, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys_Normal = {0xFFFF, OBJ_EVENT_PAL_TAG_DEOXYS_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Deoxys_Normal, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys_Attack = {0xFFFF, OBJ_EVENT_PAL_TAG_DEOXYS_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Deoxys_Attack, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys_Defense = {0xFFFF, OBJ_EVENT_PAL_TAG_DEOXYS_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Deoxys_Defense, FollowerAffineTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys_Speed = {0xFFFF, OBJ_EVENT_PAL_TAG_DEOXYS_FOLLOWER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, gObjectEventImageAnimTable_FollowingPokemon, gObjectEventPicTable_Deoxys_Speed, FollowerAffineTable}; diff --git a/src/data/object_events/object_event_graphics_info_pointers.h b/src/data/object_events/object_event_graphics_info_pointers.h old mode 100755 new mode 100644 index ae1117164..c4eb575d6 --- a/src/data/object_events/object_event_graphics_info_pointers.h +++ b/src/data/object_events/object_event_graphics_info_pointers.h @@ -244,7 +244,448 @@ extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy; extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1; extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2; - +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bulbasaur; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ivysaur; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Venusaur; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Charmander; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Charmeleon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Charizard; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Squirtle; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wartortle; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Blastoise; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Caterpie; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Metapod; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Butterfree; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Weedle; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kakuna; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beedrill; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pidgey; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pidgeotto; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pidgeot; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rattata; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Raticate; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spearow; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fearow; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ekans; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Arbok; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Raichu; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sandshrew; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sandslash; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidoran_F; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidorina; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidoqueen; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidoran_M; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidorino; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidoking; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Clefairy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Clefable; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Vulpix; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ninetales; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Jigglypuff; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wigglytuff; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zubat; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Golbat; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Oddish; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gloom; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Vileplume; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Paras; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Parasect; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Venonat; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Venomoth; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Diglett; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dugtrio; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Meowth; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Persian; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Psyduck; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Golduck; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mankey; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Primeape; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Growlithe; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Arcanine; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poliwag; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poliwhirl; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poliwrath; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Abra; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kadabra; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Alakazam; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Machop; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Machoke; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Machamp; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bellsprout; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Weepinbell; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Victreebel; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tentacool; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tentacruel; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Geodude; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Graveler; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Golem; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ponyta; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rapidash; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slowpoke; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slowbro; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Magnemite; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Magneton; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Farfetchd; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Doduo; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dodrio; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Seel; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dewgong; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Grimer; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Muk; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shellder; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cloyster; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gastly; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Haunter; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gengar; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Onix; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drowzee; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hypno; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Krabby; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kingler; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Voltorb; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Electrode; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Exeggcute; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Exeggutor; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cubone; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Marowak; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hitmonlee; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hitmonchan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lickitung; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Koffing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Weezing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rhyhorn; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rhydon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Chansey; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tangela; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kangaskhan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Horsea; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Seadra; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Goldeen; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Seaking; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Staryu; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Starmie; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mr_Mime; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scyther; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Jynx; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Electabuzz; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Magmar; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pinsir; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tauros; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Magikarp; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gyarados; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lapras; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ditto; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Eevee; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Vaporeon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Jolteon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flareon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Porygon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Omanyte; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Omastar; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kabuto; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kabutops; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Aerodactyl; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Snorlax; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Articuno; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zapdos; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Moltres; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dratini; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dragonair; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dragonite; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mewtwo; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Chikorita; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bayleef; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Meganium; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cyndaquil; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Quilava; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Typhlosion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Totodile; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Croconaw; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Feraligatr; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sentret; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Furret; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hoothoot; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noctowl; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ledyba; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ledian; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spinarak; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ariados; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Crobat; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Chinchou; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lanturn; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pichu; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cleffa; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Igglybuff; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Togepi; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Togetic; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Natu; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Xatu; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mareep; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flaaffy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ampharos; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bellossom; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Marill; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Politoed; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hoppip; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skiploom; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Jumpluff; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Aipom; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sunkern; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sunflora; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Yanma; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wooper; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Quagsire; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Espeon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Umbreon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Murkrow; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slowking; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Misdreavus; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_A; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_B; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_C; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_D; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_E; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_F; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_G; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_H; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_I; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_J; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_K; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_L; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_M; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_N; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_O; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_P; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_Q; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_R; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_S; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_T; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_U; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_V; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_W; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_X; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_Y; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_Z; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_Exclamation; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Unown_Question; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wobbuffet; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girafarig; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pineco; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Forretress; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dunsparce; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gligar; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steelix; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Snubbull; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Granbull; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Qwilfish; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scizor; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shuckle; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Heracross; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sneasel; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teddiursa; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ursaring; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slugma; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Magcargo; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Swinub; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Piloswine; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Corsola; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Remoraid; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Octillery; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Delibird; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mantine; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skarmory; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Houndour; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Houndoom; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kingdra; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phanpy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Donphan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Porygon2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Stantler; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Smeargle; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tyrogue; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hitmontop; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Smoochum; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Elekid; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Magby; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Miltank; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Blissey; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Raikou; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Entei; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Suicune; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Larvitar; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pupitar; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tyranitar; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Celebi; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Treecko; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Grovyle; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sceptile; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Torchic; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Combusken; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Blaziken; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mudkip; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Marshtomp; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Swampert; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mightyena; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Linoone; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wurmple; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Silcoon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beautifly; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cascoon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dustox; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lotad; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lombre; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ludicolo; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Seedot; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nuzleaf; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shiftry; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Taillow; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Swellow; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pelipper; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ralts; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gardevoir; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Surskit; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Masquerain; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shroomish; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Breloom; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slakoth; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Vigoroth_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slaking; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nincada; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ninjask; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shedinja; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Whismur; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Loudred; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Exploud; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Makuhita; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hariyama; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nosepass; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Delcatty; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sableye; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mawile; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Aron; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lairon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Aggron; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Meditite; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Medicham; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Electrike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Manectric; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Plusle; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Minun; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Volbeat; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Illumise; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roselia; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gulpin; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Swalot; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Carvanha; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sharpedo; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wailmer; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wailord; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Numel; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camerupt; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Torkoal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spoink; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Grumpig; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spinda; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trapinch; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Vibrava; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flygon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cacnea; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cacturne; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Swablu; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Altaria; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zangoose; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Seviper; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lunatone; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Solrock; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Barboach; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Whiscash; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Corphish; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Crawdaunt; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Baltoy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Claydol; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lileep; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cradily; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anorith; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Armaldo; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Feebas; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Milotic; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Castform; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shuppet; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Banette; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Duskull; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tropius; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Chimecho; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Absol; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wynaut; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Snorunt; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glalie; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spheal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sealeo; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Walrein; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Clamperl; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Huntail; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gorebyss; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Relicanth; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Luvdisc; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bagon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Shelgon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Salamence; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beldum; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Metang; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Metagross; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza_Follower; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Jirachi; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys_Normal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys_Attack; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys_Defense; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys_Speed; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreatBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UltraBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MasterBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SafariBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NestBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiveBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NetBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RepeatBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TimerBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LuxuryBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PremierBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HealBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuickBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LevelBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LureBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MoonBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FriendBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LoveBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FastBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HeavyBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DreamBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SportBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ParkBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CherishBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpandingSparkle; const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM_OBJ_EVENT_GFX] = { [OBJ_EVENT_GFX_BRENDAN_NORMAL] = &gObjectEventGraphicsInfo_BrendanNormal, @@ -307,6 +748,32 @@ const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM [OBJ_EVENT_GFX_CYCLING_TRIATHLETE_F] = &gObjectEventGraphicsInfo_CyclingTriathleteF, [OBJ_EVENT_GFX_NURSE] = &gObjectEventGraphicsInfo_Nurse, [OBJ_EVENT_GFX_ITEM_BALL] = &gObjectEventGraphicsInfo_ItemBall, + [OBJ_EVENT_GFX_GREAT_BALL] = &gObjectEventGraphicsInfo_GreatBall, + [OBJ_EVENT_GFX_ULTRA_BALL] = &gObjectEventGraphicsInfo_UltraBall, + [OBJ_EVENT_GFX_MASTER_BALL] = &gObjectEventGraphicsInfo_MasterBall, + [OBJ_EVENT_GFX_SAFARI_BALL] = &gObjectEventGraphicsInfo_SafariBall, + [OBJ_EVENT_GFX_NEST_BALL] = &gObjectEventGraphicsInfo_NestBall, + [OBJ_EVENT_GFX_DIVE_BALL] = &gObjectEventGraphicsInfo_DiveBall, + [OBJ_EVENT_GFX_NET_BALL] = &gObjectEventGraphicsInfo_NetBall, + [OBJ_EVENT_GFX_REPEAT_BALL] = &gObjectEventGraphicsInfo_RepeatBall, + [OBJ_EVENT_GFX_TIMER_BALL] = &gObjectEventGraphicsInfo_TimerBall, + [OBJ_EVENT_GFX_LUXURY_BALL] = &gObjectEventGraphicsInfo_LuxuryBall, + [OBJ_EVENT_GFX_PREMIER_BALL] = &gObjectEventGraphicsInfo_PremierBall, + [OBJ_EVENT_GFX_HEAL_BALL] = &gObjectEventGraphicsInfo_HealBall, + [OBJ_EVENT_GFX_DUSK_BALL] = &gObjectEventGraphicsInfo_DuskBall, + [OBJ_EVENT_GFX_QUICK_BALL] = &gObjectEventGraphicsInfo_QuickBall, + [OBJ_EVENT_GFX_LEVEL_BALL] = &gObjectEventGraphicsInfo_LevelBall, + [OBJ_EVENT_GFX_LURE_BALL] = &gObjectEventGraphicsInfo_LureBall, + [OBJ_EVENT_GFX_MOON_BALL] = &gObjectEventGraphicsInfo_MoonBall, + [OBJ_EVENT_GFX_FRIEND_BALL] = &gObjectEventGraphicsInfo_FriendBall, + [OBJ_EVENT_GFX_LOVE_BALL] = &gObjectEventGraphicsInfo_LoveBall, + [OBJ_EVENT_GFX_FAST_BALL] = &gObjectEventGraphicsInfo_FastBall, + [OBJ_EVENT_GFX_HEAVY_BALL] = &gObjectEventGraphicsInfo_HeavyBall, + [OBJ_EVENT_GFX_DREAM_BALL] = &gObjectEventGraphicsInfo_DreamBall, + [OBJ_EVENT_GFX_SPORT_BALL] = &gObjectEventGraphicsInfo_SportBall, + [OBJ_EVENT_GFX_PARK_BALL] = &gObjectEventGraphicsInfo_ParkBall, + [OBJ_EVENT_GFX_CHERISH_BALL] = &gObjectEventGraphicsInfo_CherishBall, + [OBJ_EVENT_GFX_EXPANDING_SPARKLE] = &gObjectEventGraphicsInfo_ExpandingSparkle, [OBJ_EVENT_GFX_BERRY_TREE] = &gObjectEventGraphicsInfo_BerryTree, [OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES] = &gObjectEventGraphicsInfo_BerryTreeEarlyStages, [OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES] = &gObjectEventGraphicsInfo_BerryTreeLateStages, @@ -486,6 +953,422 @@ const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM [OBJ_EVENT_GFX_LINK_RS_MAY] = &gObjectEventGraphicsInfo_RubySapphireMay, [OBJ_EVENT_GFX_LUGIA] = &gObjectEventGraphicsInfo_Lugia, [OBJ_EVENT_GFX_HOOH] = &gObjectEventGraphicsInfo_HoOh, + [OBJ_EVENT_GFX_BULBASAUR] = &gObjectEventGraphicsInfo_Bulbasaur, + [OBJ_EVENT_GFX_IVYSAUR] = &gObjectEventGraphicsInfo_Ivysaur, + [OBJ_EVENT_GFX_VENUSAUR] = &gObjectEventGraphicsInfo_Venusaur, + [OBJ_EVENT_GFX_CHARMANDER] = &gObjectEventGraphicsInfo_Charmander, + [OBJ_EVENT_GFX_CHARMELEON] = &gObjectEventGraphicsInfo_Charmeleon, + [OBJ_EVENT_GFX_CHARIZARD] = &gObjectEventGraphicsInfo_Charizard, + [OBJ_EVENT_GFX_SQUIRTLE] = &gObjectEventGraphicsInfo_Squirtle, + [OBJ_EVENT_GFX_WARTORTLE] = &gObjectEventGraphicsInfo_Wartortle, + [OBJ_EVENT_GFX_BLASTOISE] = &gObjectEventGraphicsInfo_Blastoise, + [OBJ_EVENT_GFX_CATERPIE] = &gObjectEventGraphicsInfo_Caterpie, + [OBJ_EVENT_GFX_METAPOD] = &gObjectEventGraphicsInfo_Metapod, + [OBJ_EVENT_GFX_BUTTERFREE] = &gObjectEventGraphicsInfo_Butterfree, + [OBJ_EVENT_GFX_WEEDLE] = &gObjectEventGraphicsInfo_Weedle, + [OBJ_EVENT_GFX_KAKUNA] = &gObjectEventGraphicsInfo_Kakuna, + [OBJ_EVENT_GFX_BEEDRILL] = &gObjectEventGraphicsInfo_Beedrill, + [OBJ_EVENT_GFX_PIDGEY] = &gObjectEventGraphicsInfo_Pidgey, + [OBJ_EVENT_GFX_PIDGEOTTO] = &gObjectEventGraphicsInfo_Pidgeotto, + [OBJ_EVENT_GFX_PIDGEOT] = &gObjectEventGraphicsInfo_Pidgeot, + [OBJ_EVENT_GFX_RATTATA] = &gObjectEventGraphicsInfo_Rattata, + [OBJ_EVENT_GFX_RATICATE] = &gObjectEventGraphicsInfo_Raticate, + [OBJ_EVENT_GFX_SPEAROW] = &gObjectEventGraphicsInfo_Spearow, + [OBJ_EVENT_GFX_FEAROW] = &gObjectEventGraphicsInfo_Fearow, + [OBJ_EVENT_GFX_EKANS] = &gObjectEventGraphicsInfo_Ekans, + [OBJ_EVENT_GFX_ARBOK] = &gObjectEventGraphicsInfo_Arbok, + [OBJ_EVENT_GFX_PIKACHU_FOLLOWER] = &gObjectEventGraphicsInfo_Pikachu_Follower, + [OBJ_EVENT_GFX_RAICHU] = &gObjectEventGraphicsInfo_Raichu, + [OBJ_EVENT_GFX_SANDSHREW] = &gObjectEventGraphicsInfo_Sandshrew, + [OBJ_EVENT_GFX_SANDSLASH] = &gObjectEventGraphicsInfo_Sandslash, + [OBJ_EVENT_GFX_NIDORAN_F] = &gObjectEventGraphicsInfo_Nidoran_F, + [OBJ_EVENT_GFX_NIDORINA] = &gObjectEventGraphicsInfo_Nidorina, + [OBJ_EVENT_GFX_NIDOQUEEN] = &gObjectEventGraphicsInfo_Nidoqueen, + [OBJ_EVENT_GFX_NIDORAN_M] = &gObjectEventGraphicsInfo_Nidoran_M, + [OBJ_EVENT_GFX_NIDORINO] = &gObjectEventGraphicsInfo_Nidorino, + [OBJ_EVENT_GFX_NIDOKING] = &gObjectEventGraphicsInfo_Nidoking, + [OBJ_EVENT_GFX_CLEFAIRY] = &gObjectEventGraphicsInfo_Clefairy, + [OBJ_EVENT_GFX_CLEFABLE] = &gObjectEventGraphicsInfo_Clefable, + [OBJ_EVENT_GFX_VULPIX] = &gObjectEventGraphicsInfo_Vulpix, + [OBJ_EVENT_GFX_NINETALES] = &gObjectEventGraphicsInfo_Ninetales, + [OBJ_EVENT_GFX_JIGGLYPUFF] = &gObjectEventGraphicsInfo_Jigglypuff, + [OBJ_EVENT_GFX_WIGGLYTUFF] = &gObjectEventGraphicsInfo_Wigglytuff, + [OBJ_EVENT_GFX_ZUBAT] = &gObjectEventGraphicsInfo_Zubat, + [OBJ_EVENT_GFX_GOLBAT] = &gObjectEventGraphicsInfo_Golbat, + [OBJ_EVENT_GFX_ODDISH] = &gObjectEventGraphicsInfo_Oddish, + [OBJ_EVENT_GFX_GLOOM] = &gObjectEventGraphicsInfo_Gloom, + [OBJ_EVENT_GFX_VILEPLUME] = &gObjectEventGraphicsInfo_Vileplume, + [OBJ_EVENT_GFX_PARAS] = &gObjectEventGraphicsInfo_Paras, + [OBJ_EVENT_GFX_PARASECT] = &gObjectEventGraphicsInfo_Parasect, + [OBJ_EVENT_GFX_VENONAT] = &gObjectEventGraphicsInfo_Venonat, + [OBJ_EVENT_GFX_VENOMOTH] = &gObjectEventGraphicsInfo_Venomoth, + [OBJ_EVENT_GFX_DIGLETT] = &gObjectEventGraphicsInfo_Diglett, + [OBJ_EVENT_GFX_DUGTRIO] = &gObjectEventGraphicsInfo_Dugtrio, + [OBJ_EVENT_GFX_MEOWTH] = &gObjectEventGraphicsInfo_Meowth, + [OBJ_EVENT_GFX_PERSIAN] = &gObjectEventGraphicsInfo_Persian, + [OBJ_EVENT_GFX_PSYDUCK] = &gObjectEventGraphicsInfo_Psyduck, + [OBJ_EVENT_GFX_GOLDUCK] = &gObjectEventGraphicsInfo_Golduck, + [OBJ_EVENT_GFX_MANKEY] = &gObjectEventGraphicsInfo_Mankey, + [OBJ_EVENT_GFX_PRIMEAPE] = &gObjectEventGraphicsInfo_Primeape, + [OBJ_EVENT_GFX_GROWLITHE] = &gObjectEventGraphicsInfo_Growlithe, + [OBJ_EVENT_GFX_ARCANINE] = &gObjectEventGraphicsInfo_Arcanine, + [OBJ_EVENT_GFX_POLIWAG] = &gObjectEventGraphicsInfo_Poliwag, + [OBJ_EVENT_GFX_POLIWHIRL] = &gObjectEventGraphicsInfo_Poliwhirl, + [OBJ_EVENT_GFX_POLIWRATH] = &gObjectEventGraphicsInfo_Poliwrath, + [OBJ_EVENT_GFX_ABRA] = &gObjectEventGraphicsInfo_Abra, + [OBJ_EVENT_GFX_KADABRA] = &gObjectEventGraphicsInfo_Kadabra, + [OBJ_EVENT_GFX_ALAKAZAM] = &gObjectEventGraphicsInfo_Alakazam, + [OBJ_EVENT_GFX_MACHOP] = &gObjectEventGraphicsInfo_Machop, + [OBJ_EVENT_GFX_MACHOKE] = &gObjectEventGraphicsInfo_Machoke, + [OBJ_EVENT_GFX_MACHAMP] = &gObjectEventGraphicsInfo_Machamp, + [OBJ_EVENT_GFX_BELLSPROUT] = &gObjectEventGraphicsInfo_Bellsprout, + [OBJ_EVENT_GFX_WEEPINBELL] = &gObjectEventGraphicsInfo_Weepinbell, + [OBJ_EVENT_GFX_VICTREEBEL] = &gObjectEventGraphicsInfo_Victreebel, + [OBJ_EVENT_GFX_TENTACOOL] = &gObjectEventGraphicsInfo_Tentacool, + [OBJ_EVENT_GFX_TENTACRUEL] = &gObjectEventGraphicsInfo_Tentacruel, + [OBJ_EVENT_GFX_GEODUDE] = &gObjectEventGraphicsInfo_Geodude, + [OBJ_EVENT_GFX_GRAVELER] = &gObjectEventGraphicsInfo_Graveler, + [OBJ_EVENT_GFX_GOLEM] = &gObjectEventGraphicsInfo_Golem, + [OBJ_EVENT_GFX_PONYTA] = &gObjectEventGraphicsInfo_Ponyta, + [OBJ_EVENT_GFX_RAPIDASH] = &gObjectEventGraphicsInfo_Rapidash, + [OBJ_EVENT_GFX_SLOWPOKE] = &gObjectEventGraphicsInfo_Slowpoke, + [OBJ_EVENT_GFX_SLOWBRO] = &gObjectEventGraphicsInfo_Slowbro, + [OBJ_EVENT_GFX_MAGNEMITE] = &gObjectEventGraphicsInfo_Magnemite, + [OBJ_EVENT_GFX_MAGNETON] = &gObjectEventGraphicsInfo_Magneton, + [OBJ_EVENT_GFX_FARFETCHD] = &gObjectEventGraphicsInfo_Farfetchd, + [OBJ_EVENT_GFX_DODUO] = &gObjectEventGraphicsInfo_Doduo, + [OBJ_EVENT_GFX_DODRIO] = &gObjectEventGraphicsInfo_Dodrio, + [OBJ_EVENT_GFX_SEEL] = &gObjectEventGraphicsInfo_Seel, + [OBJ_EVENT_GFX_DEWGONG] = &gObjectEventGraphicsInfo_Dewgong, + [OBJ_EVENT_GFX_GRIMER] = &gObjectEventGraphicsInfo_Grimer, + [OBJ_EVENT_GFX_MUK] = &gObjectEventGraphicsInfo_Muk, + [OBJ_EVENT_GFX_SHELLDER] = &gObjectEventGraphicsInfo_Shellder, + [OBJ_EVENT_GFX_CLOYSTER] = &gObjectEventGraphicsInfo_Cloyster, + [OBJ_EVENT_GFX_GASTLY] = &gObjectEventGraphicsInfo_Gastly, + [OBJ_EVENT_GFX_HAUNTER] = &gObjectEventGraphicsInfo_Haunter, + [OBJ_EVENT_GFX_GENGAR] = &gObjectEventGraphicsInfo_Gengar, + [OBJ_EVENT_GFX_ONIX] = &gObjectEventGraphicsInfo_Onix, + [OBJ_EVENT_GFX_DROWZEE] = &gObjectEventGraphicsInfo_Drowzee, + [OBJ_EVENT_GFX_HYPNO] = &gObjectEventGraphicsInfo_Hypno, + [OBJ_EVENT_GFX_KRABBY] = &gObjectEventGraphicsInfo_Krabby, + [OBJ_EVENT_GFX_KINGLER] = &gObjectEventGraphicsInfo_Kingler, + [OBJ_EVENT_GFX_VOLTORB] = &gObjectEventGraphicsInfo_Voltorb, + [OBJ_EVENT_GFX_ELECTRODE] = &gObjectEventGraphicsInfo_Electrode, + [OBJ_EVENT_GFX_EXEGGCUTE] = &gObjectEventGraphicsInfo_Exeggcute, + [OBJ_EVENT_GFX_EXEGGUTOR] = &gObjectEventGraphicsInfo_Exeggutor, + [OBJ_EVENT_GFX_CUBONE] = &gObjectEventGraphicsInfo_Cubone, + [OBJ_EVENT_GFX_MAROWAK] = &gObjectEventGraphicsInfo_Marowak, + [OBJ_EVENT_GFX_HITMONLEE] = &gObjectEventGraphicsInfo_Hitmonlee, + [OBJ_EVENT_GFX_HITMONCHAN] = &gObjectEventGraphicsInfo_Hitmonchan, + [OBJ_EVENT_GFX_LICKITUNG] = &gObjectEventGraphicsInfo_Lickitung, + [OBJ_EVENT_GFX_KOFFING] = &gObjectEventGraphicsInfo_Koffing, + [OBJ_EVENT_GFX_WEEZING] = &gObjectEventGraphicsInfo_Weezing, + [OBJ_EVENT_GFX_RHYHORN] = &gObjectEventGraphicsInfo_Rhyhorn, + [OBJ_EVENT_GFX_RHYDON] = &gObjectEventGraphicsInfo_Rhydon, + [OBJ_EVENT_GFX_CHANSEY] = &gObjectEventGraphicsInfo_Chansey, + [OBJ_EVENT_GFX_TANGELA] = &gObjectEventGraphicsInfo_Tangela, + [OBJ_EVENT_GFX_KANGASKHAN] = &gObjectEventGraphicsInfo_Kangaskhan, + [OBJ_EVENT_GFX_HORSEA] = &gObjectEventGraphicsInfo_Horsea, + [OBJ_EVENT_GFX_SEADRA] = &gObjectEventGraphicsInfo_Seadra, + [OBJ_EVENT_GFX_GOLDEEN] = &gObjectEventGraphicsInfo_Goldeen, + [OBJ_EVENT_GFX_SEAKING] = &gObjectEventGraphicsInfo_Seaking, + [OBJ_EVENT_GFX_STARYU] = &gObjectEventGraphicsInfo_Staryu, + [OBJ_EVENT_GFX_STARMIE] = &gObjectEventGraphicsInfo_Starmie, + [OBJ_EVENT_GFX_MR_MIME] = &gObjectEventGraphicsInfo_Mr_Mime, + [OBJ_EVENT_GFX_SCYTHER] = &gObjectEventGraphicsInfo_Scyther, + [OBJ_EVENT_GFX_JYNX] = &gObjectEventGraphicsInfo_Jynx, + [OBJ_EVENT_GFX_ELECTABUZZ] = &gObjectEventGraphicsInfo_Electabuzz, + [OBJ_EVENT_GFX_MAGMAR] = &gObjectEventGraphicsInfo_Magmar, + [OBJ_EVENT_GFX_PINSIR] = &gObjectEventGraphicsInfo_Pinsir, + [OBJ_EVENT_GFX_TAUROS] = &gObjectEventGraphicsInfo_Tauros, + [OBJ_EVENT_GFX_MAGIKARP] = &gObjectEventGraphicsInfo_Magikarp, + [OBJ_EVENT_GFX_GYARADOS] = &gObjectEventGraphicsInfo_Gyarados, + [OBJ_EVENT_GFX_LAPRAS] = &gObjectEventGraphicsInfo_Lapras, + [OBJ_EVENT_GFX_DITTO] = &gObjectEventGraphicsInfo_Ditto, + [OBJ_EVENT_GFX_EEVEE] = &gObjectEventGraphicsInfo_Eevee, + [OBJ_EVENT_GFX_VAPOREON] = &gObjectEventGraphicsInfo_Vaporeon, + [OBJ_EVENT_GFX_JOLTEON] = &gObjectEventGraphicsInfo_Jolteon, + [OBJ_EVENT_GFX_FLAREON] = &gObjectEventGraphicsInfo_Flareon, + [OBJ_EVENT_GFX_PORYGON] = &gObjectEventGraphicsInfo_Porygon, + [OBJ_EVENT_GFX_OMANYTE] = &gObjectEventGraphicsInfo_Omanyte, + [OBJ_EVENT_GFX_OMASTAR] = &gObjectEventGraphicsInfo_Omastar, + [OBJ_EVENT_GFX_KABUTO] = &gObjectEventGraphicsInfo_Kabuto, + [OBJ_EVENT_GFX_KABUTOPS] = &gObjectEventGraphicsInfo_Kabutops, + [OBJ_EVENT_GFX_AERODACTYL] = &gObjectEventGraphicsInfo_Aerodactyl, + [OBJ_EVENT_GFX_SNORLAX] = &gObjectEventGraphicsInfo_Snorlax, + [OBJ_EVENT_GFX_ARTICUNO] = &gObjectEventGraphicsInfo_Articuno, + [OBJ_EVENT_GFX_ZAPDOS] = &gObjectEventGraphicsInfo_Zapdos, + [OBJ_EVENT_GFX_MOLTRES] = &gObjectEventGraphicsInfo_Moltres, + [OBJ_EVENT_GFX_DRATINI] = &gObjectEventGraphicsInfo_Dratini, + [OBJ_EVENT_GFX_DRAGONAIR] = &gObjectEventGraphicsInfo_Dragonair, + [OBJ_EVENT_GFX_DRAGONITE] = &gObjectEventGraphicsInfo_Dragonite, + [OBJ_EVENT_GFX_MEWTWO] = &gObjectEventGraphicsInfo_Mewtwo, + [OBJ_EVENT_GFX_MEW_FOLLOWER] = &gObjectEventGraphicsInfo_Mew_Follower, + [OBJ_EVENT_GFX_CHIKORITA] = &gObjectEventGraphicsInfo_Chikorita, + [OBJ_EVENT_GFX_BAYLEEF] = &gObjectEventGraphicsInfo_Bayleef, + [OBJ_EVENT_GFX_MEGANIUM] = &gObjectEventGraphicsInfo_Meganium, + [OBJ_EVENT_GFX_CYNDAQUIL] = &gObjectEventGraphicsInfo_Cyndaquil, + [OBJ_EVENT_GFX_QUILAVA] = &gObjectEventGraphicsInfo_Quilava, + [OBJ_EVENT_GFX_TYPHLOSION] = &gObjectEventGraphicsInfo_Typhlosion, + [OBJ_EVENT_GFX_TOTODILE] = &gObjectEventGraphicsInfo_Totodile, + [OBJ_EVENT_GFX_CROCONAW] = &gObjectEventGraphicsInfo_Croconaw, + [OBJ_EVENT_GFX_FERALIGATR] = &gObjectEventGraphicsInfo_Feraligatr, + [OBJ_EVENT_GFX_SENTRET] = &gObjectEventGraphicsInfo_Sentret, + [OBJ_EVENT_GFX_FURRET] = &gObjectEventGraphicsInfo_Furret, + [OBJ_EVENT_GFX_HOOTHOOT] = &gObjectEventGraphicsInfo_Hoothoot, + [OBJ_EVENT_GFX_NOCTOWL] = &gObjectEventGraphicsInfo_Noctowl, + [OBJ_EVENT_GFX_LEDYBA] = &gObjectEventGraphicsInfo_Ledyba, + [OBJ_EVENT_GFX_LEDIAN] = &gObjectEventGraphicsInfo_Ledian, + [OBJ_EVENT_GFX_SPINARAK] = &gObjectEventGraphicsInfo_Spinarak, + [OBJ_EVENT_GFX_ARIADOS] = &gObjectEventGraphicsInfo_Ariados, + [OBJ_EVENT_GFX_CROBAT] = &gObjectEventGraphicsInfo_Crobat, + [OBJ_EVENT_GFX_CHINCHOU] = &gObjectEventGraphicsInfo_Chinchou, + [OBJ_EVENT_GFX_LANTURN] = &gObjectEventGraphicsInfo_Lanturn, + [OBJ_EVENT_GFX_PICHU] = &gObjectEventGraphicsInfo_Pichu, + [OBJ_EVENT_GFX_CLEFFA] = &gObjectEventGraphicsInfo_Cleffa, + [OBJ_EVENT_GFX_IGGLYBUFF] = &gObjectEventGraphicsInfo_Igglybuff, + [OBJ_EVENT_GFX_TOGEPI] = &gObjectEventGraphicsInfo_Togepi, + [OBJ_EVENT_GFX_TOGETIC] = &gObjectEventGraphicsInfo_Togetic, + [OBJ_EVENT_GFX_NATU] = &gObjectEventGraphicsInfo_Natu, + [OBJ_EVENT_GFX_XATU] = &gObjectEventGraphicsInfo_Xatu, + [OBJ_EVENT_GFX_MAREEP] = &gObjectEventGraphicsInfo_Mareep, + [OBJ_EVENT_GFX_FLAAFFY] = &gObjectEventGraphicsInfo_Flaaffy, + [OBJ_EVENT_GFX_AMPHAROS] = &gObjectEventGraphicsInfo_Ampharos, + [OBJ_EVENT_GFX_BELLOSSOM] = &gObjectEventGraphicsInfo_Bellossom, + [OBJ_EVENT_GFX_MARILL] = &gObjectEventGraphicsInfo_Marill, + [OBJ_EVENT_GFX_AZUMARILL_FOLLOWER] = &gObjectEventGraphicsInfo_Azumarill_Follower, + [OBJ_EVENT_GFX_SUDOWOODO_FOLLOWER] = &gObjectEventGraphicsInfo_Sudowoodo_Follower, + [OBJ_EVENT_GFX_POLITOED] = &gObjectEventGraphicsInfo_Politoed, + [OBJ_EVENT_GFX_HOPPIP] = &gObjectEventGraphicsInfo_Hoppip, + [OBJ_EVENT_GFX_SKIPLOOM] = &gObjectEventGraphicsInfo_Skiploom, + [OBJ_EVENT_GFX_JUMPLUFF] = &gObjectEventGraphicsInfo_Jumpluff, + [OBJ_EVENT_GFX_AIPOM] = &gObjectEventGraphicsInfo_Aipom, + [OBJ_EVENT_GFX_SUNKERN] = &gObjectEventGraphicsInfo_Sunkern, + [OBJ_EVENT_GFX_SUNFLORA] = &gObjectEventGraphicsInfo_Sunflora, + [OBJ_EVENT_GFX_YANMA] = &gObjectEventGraphicsInfo_Yanma, + [OBJ_EVENT_GFX_WOOPER] = &gObjectEventGraphicsInfo_Wooper, + [OBJ_EVENT_GFX_QUAGSIRE] = &gObjectEventGraphicsInfo_Quagsire, + [OBJ_EVENT_GFX_ESPEON] = &gObjectEventGraphicsInfo_Espeon, + [OBJ_EVENT_GFX_UMBREON] = &gObjectEventGraphicsInfo_Umbreon, + [OBJ_EVENT_GFX_MURKROW] = &gObjectEventGraphicsInfo_Murkrow, + [OBJ_EVENT_GFX_SLOWKING] = &gObjectEventGraphicsInfo_Slowking, + [OBJ_EVENT_GFX_MISDREAVUS] = &gObjectEventGraphicsInfo_Misdreavus, + [OBJ_EVENT_GFX_UNOWN_A] = &gObjectEventGraphicsInfo_Unown_A, + [OBJ_EVENT_GFX_UNOWN_B] = &gObjectEventGraphicsInfo_Unown_B, + [OBJ_EVENT_GFX_UNOWN_C] = &gObjectEventGraphicsInfo_Unown_C, + [OBJ_EVENT_GFX_UNOWN_D] = &gObjectEventGraphicsInfo_Unown_D, + [OBJ_EVENT_GFX_UNOWN_E] = &gObjectEventGraphicsInfo_Unown_E, + [OBJ_EVENT_GFX_UNOWN_F] = &gObjectEventGraphicsInfo_Unown_F, + [OBJ_EVENT_GFX_UNOWN_G] = &gObjectEventGraphicsInfo_Unown_G, + [OBJ_EVENT_GFX_UNOWN_H] = &gObjectEventGraphicsInfo_Unown_H, + [OBJ_EVENT_GFX_UNOWN_I] = &gObjectEventGraphicsInfo_Unown_I, + [OBJ_EVENT_GFX_UNOWN_J] = &gObjectEventGraphicsInfo_Unown_J, + [OBJ_EVENT_GFX_UNOWN_K] = &gObjectEventGraphicsInfo_Unown_K, + [OBJ_EVENT_GFX_UNOWN_L] = &gObjectEventGraphicsInfo_Unown_L, + [OBJ_EVENT_GFX_UNOWN_M] = &gObjectEventGraphicsInfo_Unown_M, + [OBJ_EVENT_GFX_UNOWN_N] = &gObjectEventGraphicsInfo_Unown_N, + [OBJ_EVENT_GFX_UNOWN_O] = &gObjectEventGraphicsInfo_Unown_O, + [OBJ_EVENT_GFX_UNOWN_P] = &gObjectEventGraphicsInfo_Unown_P, + [OBJ_EVENT_GFX_UNOWN_Q] = &gObjectEventGraphicsInfo_Unown_Q, + [OBJ_EVENT_GFX_UNOWN_R] = &gObjectEventGraphicsInfo_Unown_R, + [OBJ_EVENT_GFX_UNOWN_S] = &gObjectEventGraphicsInfo_Unown_S, + [OBJ_EVENT_GFX_UNOWN_T] = &gObjectEventGraphicsInfo_Unown_T, + [OBJ_EVENT_GFX_UNOWN_U] = &gObjectEventGraphicsInfo_Unown_U, + [OBJ_EVENT_GFX_UNOWN_V] = &gObjectEventGraphicsInfo_Unown_V, + [OBJ_EVENT_GFX_UNOWN_W] = &gObjectEventGraphicsInfo_Unown_W, + [OBJ_EVENT_GFX_UNOWN_X] = &gObjectEventGraphicsInfo_Unown_X, + [OBJ_EVENT_GFX_UNOWN_Y] = &gObjectEventGraphicsInfo_Unown_Y, + [OBJ_EVENT_GFX_UNOWN_Z] = &gObjectEventGraphicsInfo_Unown_Z, + [OBJ_EVENT_GFX_UNOWN_EXCLAMATION] = &gObjectEventGraphicsInfo_Unown_Exclamation, + [OBJ_EVENT_GFX_UNOWN_QUESTION] = &gObjectEventGraphicsInfo_Unown_Question, + [OBJ_EVENT_GFX_WOBBUFFET] = &gObjectEventGraphicsInfo_Wobbuffet, + [OBJ_EVENT_GFX_GIRAFARIG] = &gObjectEventGraphicsInfo_Girafarig, + [OBJ_EVENT_GFX_PINECO] = &gObjectEventGraphicsInfo_Pineco, + [OBJ_EVENT_GFX_FORRETRESS] = &gObjectEventGraphicsInfo_Forretress, + [OBJ_EVENT_GFX_DUNSPARCE] = &gObjectEventGraphicsInfo_Dunsparce, + [OBJ_EVENT_GFX_GLIGAR] = &gObjectEventGraphicsInfo_Gligar, + [OBJ_EVENT_GFX_STEELIX] = &gObjectEventGraphicsInfo_Steelix, + [OBJ_EVENT_GFX_SNUBBULL] = &gObjectEventGraphicsInfo_Snubbull, + [OBJ_EVENT_GFX_GRANBULL] = &gObjectEventGraphicsInfo_Granbull, + [OBJ_EVENT_GFX_QWILFISH] = &gObjectEventGraphicsInfo_Qwilfish, + [OBJ_EVENT_GFX_SCIZOR] = &gObjectEventGraphicsInfo_Scizor, + [OBJ_EVENT_GFX_SHUCKLE] = &gObjectEventGraphicsInfo_Shuckle, + [OBJ_EVENT_GFX_HERACROSS] = &gObjectEventGraphicsInfo_Heracross, + [OBJ_EVENT_GFX_SNEASEL] = &gObjectEventGraphicsInfo_Sneasel, + [OBJ_EVENT_GFX_TEDDIURSA] = &gObjectEventGraphicsInfo_Teddiursa, + [OBJ_EVENT_GFX_URSARING] = &gObjectEventGraphicsInfo_Ursaring, + [OBJ_EVENT_GFX_SLUGMA] = &gObjectEventGraphicsInfo_Slugma, + [OBJ_EVENT_GFX_MAGCARGO] = &gObjectEventGraphicsInfo_Magcargo, + [OBJ_EVENT_GFX_SWINUB] = &gObjectEventGraphicsInfo_Swinub, + [OBJ_EVENT_GFX_PILOSWINE] = &gObjectEventGraphicsInfo_Piloswine, + [OBJ_EVENT_GFX_CORSOLA] = &gObjectEventGraphicsInfo_Corsola, + [OBJ_EVENT_GFX_REMORAID] = &gObjectEventGraphicsInfo_Remoraid, + [OBJ_EVENT_GFX_OCTILLERY] = &gObjectEventGraphicsInfo_Octillery, + [OBJ_EVENT_GFX_DELIBIRD] = &gObjectEventGraphicsInfo_Delibird, + [OBJ_EVENT_GFX_MANTINE] = &gObjectEventGraphicsInfo_Mantine, + [OBJ_EVENT_GFX_SKARMORY] = &gObjectEventGraphicsInfo_Skarmory, + [OBJ_EVENT_GFX_HOUNDOUR] = &gObjectEventGraphicsInfo_Houndour, + [OBJ_EVENT_GFX_HOUNDOOM] = &gObjectEventGraphicsInfo_Houndoom, + [OBJ_EVENT_GFX_KINGDRA] = &gObjectEventGraphicsInfo_Kingdra, + [OBJ_EVENT_GFX_PHANPY] = &gObjectEventGraphicsInfo_Phanpy, + [OBJ_EVENT_GFX_DONPHAN] = &gObjectEventGraphicsInfo_Donphan, + [OBJ_EVENT_GFX_PORYGON2] = &gObjectEventGraphicsInfo_Porygon2, + [OBJ_EVENT_GFX_STANTLER] = &gObjectEventGraphicsInfo_Stantler, + [OBJ_EVENT_GFX_SMEARGLE] = &gObjectEventGraphicsInfo_Smeargle, + [OBJ_EVENT_GFX_TYROGUE] = &gObjectEventGraphicsInfo_Tyrogue, + [OBJ_EVENT_GFX_HITMONTOP] = &gObjectEventGraphicsInfo_Hitmontop, + [OBJ_EVENT_GFX_SMOOCHUM] = &gObjectEventGraphicsInfo_Smoochum, + [OBJ_EVENT_GFX_ELEKID] = &gObjectEventGraphicsInfo_Elekid, + [OBJ_EVENT_GFX_MAGBY] = &gObjectEventGraphicsInfo_Magby, + [OBJ_EVENT_GFX_MILTANK] = &gObjectEventGraphicsInfo_Miltank, + [OBJ_EVENT_GFX_BLISSEY] = &gObjectEventGraphicsInfo_Blissey, + [OBJ_EVENT_GFX_RAIKOU] = &gObjectEventGraphicsInfo_Raikou, + [OBJ_EVENT_GFX_ENTEI] = &gObjectEventGraphicsInfo_Entei, + [OBJ_EVENT_GFX_SUICUNE] = &gObjectEventGraphicsInfo_Suicune, + [OBJ_EVENT_GFX_LARVITAR] = &gObjectEventGraphicsInfo_Larvitar, + [OBJ_EVENT_GFX_PUPITAR] = &gObjectEventGraphicsInfo_Pupitar, + [OBJ_EVENT_GFX_TYRANITAR] = &gObjectEventGraphicsInfo_Tyranitar, + [OBJ_EVENT_GFX_LUGIA_FOLLOWER] = &gObjectEventGraphicsInfo_Lugia_Follower, + [OBJ_EVENT_GFX_HOOH_FOLLOWER] = &gObjectEventGraphicsInfo_HoOh_Follower, + [OBJ_EVENT_GFX_CELEBI] = &gObjectEventGraphicsInfo_Celebi, + [OBJ_EVENT_GFX_TREECKO] = &gObjectEventGraphicsInfo_Treecko, + [OBJ_EVENT_GFX_GROVYLE] = &gObjectEventGraphicsInfo_Grovyle, + [OBJ_EVENT_GFX_SCEPTILE] = &gObjectEventGraphicsInfo_Sceptile, + [OBJ_EVENT_GFX_TORCHIC] = &gObjectEventGraphicsInfo_Torchic, + [OBJ_EVENT_GFX_COMBUSKEN] = &gObjectEventGraphicsInfo_Combusken, + [OBJ_EVENT_GFX_BLAZIKEN] = &gObjectEventGraphicsInfo_Blaziken, + [OBJ_EVENT_GFX_MUDKIP] = &gObjectEventGraphicsInfo_Mudkip, + [OBJ_EVENT_GFX_MARSHTOMP] = &gObjectEventGraphicsInfo_Marshtomp, + [OBJ_EVENT_GFX_SWAMPERT] = &gObjectEventGraphicsInfo_Swampert, + [OBJ_EVENT_GFX_POOCHYENA_FOLLOWER] = &gObjectEventGraphicsInfo_Poochyena_Follower, + [OBJ_EVENT_GFX_MIGHTYENA] = &gObjectEventGraphicsInfo_Mightyena, + [OBJ_EVENT_GFX_ZIGZAGOON_FOLLOWER] = &gObjectEventGraphicsInfo_Zigzagoon_Follower, + [OBJ_EVENT_GFX_LINOONE] = &gObjectEventGraphicsInfo_Linoone, + [OBJ_EVENT_GFX_WURMPLE] = &gObjectEventGraphicsInfo_Wurmple, + [OBJ_EVENT_GFX_SILCOON] = &gObjectEventGraphicsInfo_Silcoon, + [OBJ_EVENT_GFX_BEAUTIFLY] = &gObjectEventGraphicsInfo_Beautifly, + [OBJ_EVENT_GFX_CASCOON] = &gObjectEventGraphicsInfo_Cascoon, + [OBJ_EVENT_GFX_DUSTOX] = &gObjectEventGraphicsInfo_Dustox, + [OBJ_EVENT_GFX_LOTAD] = &gObjectEventGraphicsInfo_Lotad, + [OBJ_EVENT_GFX_LOMBRE] = &gObjectEventGraphicsInfo_Lombre, + [OBJ_EVENT_GFX_LUDICOLO] = &gObjectEventGraphicsInfo_Ludicolo, + [OBJ_EVENT_GFX_SEEDOT] = &gObjectEventGraphicsInfo_Seedot, + [OBJ_EVENT_GFX_NUZLEAF] = &gObjectEventGraphicsInfo_Nuzleaf, + [OBJ_EVENT_GFX_SHIFTRY] = &gObjectEventGraphicsInfo_Shiftry, + [OBJ_EVENT_GFX_TAILLOW] = &gObjectEventGraphicsInfo_Taillow, + [OBJ_EVENT_GFX_SWELLOW] = &gObjectEventGraphicsInfo_Swellow, + [OBJ_EVENT_GFX_WINGULL_FOLLOWER] = &gObjectEventGraphicsInfo_Wingull_Follower, + [OBJ_EVENT_GFX_PELIPPER] = &gObjectEventGraphicsInfo_Pelipper, + [OBJ_EVENT_GFX_RALTS] = &gObjectEventGraphicsInfo_Ralts, + [OBJ_EVENT_GFX_KIRLIA_FOLLOWER] = &gObjectEventGraphicsInfo_Kirlia_Follower, + [OBJ_EVENT_GFX_GARDEVOIR] = &gObjectEventGraphicsInfo_Gardevoir, + [OBJ_EVENT_GFX_SURSKIT] = &gObjectEventGraphicsInfo_Surskit, + [OBJ_EVENT_GFX_MASQUERAIN] = &gObjectEventGraphicsInfo_Masquerain, + [OBJ_EVENT_GFX_SHROOMISH] = &gObjectEventGraphicsInfo_Shroomish, + [OBJ_EVENT_GFX_BRELOOM] = &gObjectEventGraphicsInfo_Breloom, + [OBJ_EVENT_GFX_SLAKOTH] = &gObjectEventGraphicsInfo_Slakoth, + [OBJ_EVENT_GFX_VIGOROTH_FOLLOWER] = &gObjectEventGraphicsInfo_Vigoroth_Follower, + [OBJ_EVENT_GFX_SLAKING] = &gObjectEventGraphicsInfo_Slaking, + [OBJ_EVENT_GFX_NINCADA] = &gObjectEventGraphicsInfo_Nincada, + [OBJ_EVENT_GFX_NINJASK] = &gObjectEventGraphicsInfo_Ninjask, + [OBJ_EVENT_GFX_SHEDINJA] = &gObjectEventGraphicsInfo_Shedinja, + [OBJ_EVENT_GFX_WHISMUR] = &gObjectEventGraphicsInfo_Whismur, + [OBJ_EVENT_GFX_LOUDRED] = &gObjectEventGraphicsInfo_Loudred, + [OBJ_EVENT_GFX_EXPLOUD] = &gObjectEventGraphicsInfo_Exploud, + [OBJ_EVENT_GFX_MAKUHITA] = &gObjectEventGraphicsInfo_Makuhita, + [OBJ_EVENT_GFX_HARIYAMA] = &gObjectEventGraphicsInfo_Hariyama, + [OBJ_EVENT_GFX_AZURILL_FOLLOWER] = &gObjectEventGraphicsInfo_Azurill_Follower, + [OBJ_EVENT_GFX_NOSEPASS] = &gObjectEventGraphicsInfo_Nosepass, + [OBJ_EVENT_GFX_SKITTY_FOLLOWER] = &gObjectEventGraphicsInfo_Skitty_Follower, + [OBJ_EVENT_GFX_DELCATTY] = &gObjectEventGraphicsInfo_Delcatty, + [OBJ_EVENT_GFX_SABLEYE] = &gObjectEventGraphicsInfo_Sableye, + [OBJ_EVENT_GFX_MAWILE] = &gObjectEventGraphicsInfo_Mawile, + [OBJ_EVENT_GFX_ARON] = &gObjectEventGraphicsInfo_Aron, + [OBJ_EVENT_GFX_LAIRON] = &gObjectEventGraphicsInfo_Lairon, + [OBJ_EVENT_GFX_AGGRON] = &gObjectEventGraphicsInfo_Aggron, + [OBJ_EVENT_GFX_MEDITITE] = &gObjectEventGraphicsInfo_Meditite, + [OBJ_EVENT_GFX_MEDICHAM] = &gObjectEventGraphicsInfo_Medicham, + [OBJ_EVENT_GFX_ELECTRIKE] = &gObjectEventGraphicsInfo_Electrike, + [OBJ_EVENT_GFX_MANECTRIC] = &gObjectEventGraphicsInfo_Manectric, + [OBJ_EVENT_GFX_PLUSLE] = &gObjectEventGraphicsInfo_Plusle, + [OBJ_EVENT_GFX_MINUN] = &gObjectEventGraphicsInfo_Minun, + [OBJ_EVENT_GFX_VOLBEAT] = &gObjectEventGraphicsInfo_Volbeat, + [OBJ_EVENT_GFX_ILLUMISE] = &gObjectEventGraphicsInfo_Illumise, + [OBJ_EVENT_GFX_ROSELIA] = &gObjectEventGraphicsInfo_Roselia, + [OBJ_EVENT_GFX_GULPIN] = &gObjectEventGraphicsInfo_Gulpin, + [OBJ_EVENT_GFX_SWALOT] = &gObjectEventGraphicsInfo_Swalot, + [OBJ_EVENT_GFX_CARVANHA] = &gObjectEventGraphicsInfo_Carvanha, + [OBJ_EVENT_GFX_SHARPEDO] = &gObjectEventGraphicsInfo_Sharpedo, + [OBJ_EVENT_GFX_WAILMER] = &gObjectEventGraphicsInfo_Wailmer, + [OBJ_EVENT_GFX_WAILORD] = &gObjectEventGraphicsInfo_Wailord, + [OBJ_EVENT_GFX_NUMEL] = &gObjectEventGraphicsInfo_Numel, + [OBJ_EVENT_GFX_CAMERUPT] = &gObjectEventGraphicsInfo_Camerupt, + [OBJ_EVENT_GFX_TORKOAL] = &gObjectEventGraphicsInfo_Torkoal, + [OBJ_EVENT_GFX_SPOINK] = &gObjectEventGraphicsInfo_Spoink, + [OBJ_EVENT_GFX_GRUMPIG] = &gObjectEventGraphicsInfo_Grumpig, + [OBJ_EVENT_GFX_SPINDA] = &gObjectEventGraphicsInfo_Spinda, + [OBJ_EVENT_GFX_TRAPINCH] = &gObjectEventGraphicsInfo_Trapinch, + [OBJ_EVENT_GFX_VIBRAVA] = &gObjectEventGraphicsInfo_Vibrava, + [OBJ_EVENT_GFX_FLYGON] = &gObjectEventGraphicsInfo_Flygon, + [OBJ_EVENT_GFX_CACNEA] = &gObjectEventGraphicsInfo_Cacnea, + [OBJ_EVENT_GFX_CACTURNE] = &gObjectEventGraphicsInfo_Cacturne, + [OBJ_EVENT_GFX_SWABLU] = &gObjectEventGraphicsInfo_Swablu, + [OBJ_EVENT_GFX_ALTARIA] = &gObjectEventGraphicsInfo_Altaria, + [OBJ_EVENT_GFX_ZANGOOSE] = &gObjectEventGraphicsInfo_Zangoose, + [OBJ_EVENT_GFX_SEVIPER] = &gObjectEventGraphicsInfo_Seviper, + [OBJ_EVENT_GFX_LUNATONE] = &gObjectEventGraphicsInfo_Lunatone, + [OBJ_EVENT_GFX_SOLROCK] = &gObjectEventGraphicsInfo_Solrock, + [OBJ_EVENT_GFX_BARBOACH] = &gObjectEventGraphicsInfo_Barboach, + [OBJ_EVENT_GFX_WHISCASH] = &gObjectEventGraphicsInfo_Whiscash, + [OBJ_EVENT_GFX_CORPHISH] = &gObjectEventGraphicsInfo_Corphish, + [OBJ_EVENT_GFX_CRAWDAUNT] = &gObjectEventGraphicsInfo_Crawdaunt, + [OBJ_EVENT_GFX_BALTOY] = &gObjectEventGraphicsInfo_Baltoy, + [OBJ_EVENT_GFX_CLAYDOL] = &gObjectEventGraphicsInfo_Claydol, + [OBJ_EVENT_GFX_LILEEP] = &gObjectEventGraphicsInfo_Lileep, + [OBJ_EVENT_GFX_CRADILY] = &gObjectEventGraphicsInfo_Cradily, + [OBJ_EVENT_GFX_ANORITH] = &gObjectEventGraphicsInfo_Anorith, + [OBJ_EVENT_GFX_ARMALDO] = &gObjectEventGraphicsInfo_Armaldo, + [OBJ_EVENT_GFX_FEEBAS] = &gObjectEventGraphicsInfo_Feebas, + [OBJ_EVENT_GFX_MILOTIC] = &gObjectEventGraphicsInfo_Milotic, + [OBJ_EVENT_GFX_CASTFORM] = &gObjectEventGraphicsInfo_Castform, + [OBJ_EVENT_GFX_KECLEON_FOLLOWER] = &gObjectEventGraphicsInfo_Kecleon_Follower, + [OBJ_EVENT_GFX_SHUPPET] = &gObjectEventGraphicsInfo_Shuppet, + [OBJ_EVENT_GFX_BANETTE] = &gObjectEventGraphicsInfo_Banette, + [OBJ_EVENT_GFX_DUSKULL] = &gObjectEventGraphicsInfo_Duskull, + [OBJ_EVENT_GFX_DUSCLOPS_FOLLOWER] = &gObjectEventGraphicsInfo_Dusclops_Follower, + [OBJ_EVENT_GFX_TROPIUS] = &gObjectEventGraphicsInfo_Tropius, + [OBJ_EVENT_GFX_CHIMECHO] = &gObjectEventGraphicsInfo_Chimecho, + [OBJ_EVENT_GFX_ABSOL] = &gObjectEventGraphicsInfo_Absol, + [OBJ_EVENT_GFX_WYNAUT] = &gObjectEventGraphicsInfo_Wynaut, + [OBJ_EVENT_GFX_SNORUNT] = &gObjectEventGraphicsInfo_Snorunt, + [OBJ_EVENT_GFX_GLALIE] = &gObjectEventGraphicsInfo_Glalie, + [OBJ_EVENT_GFX_SPHEAL] = &gObjectEventGraphicsInfo_Spheal, + [OBJ_EVENT_GFX_SEALEO] = &gObjectEventGraphicsInfo_Sealeo, + [OBJ_EVENT_GFX_WALREIN] = &gObjectEventGraphicsInfo_Walrein, + [OBJ_EVENT_GFX_CLAMPERL] = &gObjectEventGraphicsInfo_Clamperl, + [OBJ_EVENT_GFX_HUNTAIL] = &gObjectEventGraphicsInfo_Huntail, + [OBJ_EVENT_GFX_GOREBYSS] = &gObjectEventGraphicsInfo_Gorebyss, + [OBJ_EVENT_GFX_RELICANTH] = &gObjectEventGraphicsInfo_Relicanth, + [OBJ_EVENT_GFX_LUVDISC] = &gObjectEventGraphicsInfo_Luvdisc, + [OBJ_EVENT_GFX_BAGON] = &gObjectEventGraphicsInfo_Bagon, + [OBJ_EVENT_GFX_SHELGON] = &gObjectEventGraphicsInfo_Shelgon, + [OBJ_EVENT_GFX_SALAMENCE] = &gObjectEventGraphicsInfo_Salamence, + [OBJ_EVENT_GFX_BELDUM] = &gObjectEventGraphicsInfo_Beldum, + [OBJ_EVENT_GFX_METANG] = &gObjectEventGraphicsInfo_Metang, + [OBJ_EVENT_GFX_METAGROSS] = &gObjectEventGraphicsInfo_Metagross, + [OBJ_EVENT_GFX_REGIROCK_FOLLOWER] = &gObjectEventGraphicsInfo_Regirock_Follower, + [OBJ_EVENT_GFX_REGICE_FOLLOWER] = &gObjectEventGraphicsInfo_Regice_Follower, + [OBJ_EVENT_GFX_REGISTEEL_FOLLOWER] = &gObjectEventGraphicsInfo_Registeel_Follower, + [OBJ_EVENT_GFX_LATIAS_FOLLOWER] = &gObjectEventGraphicsInfo_Latias_Follower, + [OBJ_EVENT_GFX_LATIOS_FOLLOWER] = &gObjectEventGraphicsInfo_Latios_Follower, + [OBJ_EVENT_GFX_KYOGRE] = &gObjectEventGraphicsInfo_Kyogre, + [OBJ_EVENT_GFX_GROUDON] = &gObjectEventGraphicsInfo_Groudon, + [OBJ_EVENT_GFX_RAYQUAZA_FOLLOWER] = &gObjectEventGraphicsInfo_Rayquaza_Follower, + [OBJ_EVENT_GFX_JIRACHI] = &gObjectEventGraphicsInfo_Jirachi, + [OBJ_EVENT_GFX_DEOXYS_NORMAL] = &gObjectEventGraphicsInfo_Deoxys_Normal, + [OBJ_EVENT_GFX_DEOXYS_ATTACK] = &gObjectEventGraphicsInfo_Deoxys_Attack, + [OBJ_EVENT_GFX_DEOXYS_DEFENSE] = &gObjectEventGraphicsInfo_Deoxys_Defense, + [OBJ_EVENT_GFX_DEOXYS_SPEED] = &gObjectEventGraphicsInfo_Deoxys_Speed, }; const struct ObjectEventGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = { diff --git a/src/data/object_events/object_event_pic_tables.h b/src/data/object_events/object_event_pic_tables.h index 1b8c9c727..567639606 100755 --- a/src/data/object_events/object_event_pic_tables.h +++ b/src/data/object_events/object_event_pic_tables.h @@ -747,6 +747,115 @@ static const struct SpriteFrameImage sPicTable_ItemBall[] = { obj_frame_tiles(gObjectEventPic_ItemBall), }; +static const struct SpriteFrameImage sPicTable_GreatBall[] = { + obj_frame_tiles(gObjectEventPic_GreatBall), +}; + +static const struct SpriteFrameImage sPicTable_UltraBall[] = { + obj_frame_tiles(gObjectEventPic_UltraBall), +}; + +static const struct SpriteFrameImage sPicTable_MasterBall[] = { + obj_frame_tiles(gObjectEventPic_MasterBall), +}; + +static const struct SpriteFrameImage sPicTable_SafariBall[] = { + obj_frame_tiles(gObjectEventPic_SafariBall), +}; + +static const struct SpriteFrameImage sPicTable_NetBall[] = { + obj_frame_tiles(gObjectEventPic_NetBall), +}; + +static const struct SpriteFrameImage sPicTable_DiveBall[] = { + obj_frame_tiles(gObjectEventPic_DiveBall), +}; + +static const struct SpriteFrameImage sPicTable_NestBall[] = { + obj_frame_tiles(gObjectEventPic_NestBall), +}; + +static const struct SpriteFrameImage sPicTable_RepeatBall[] = { + obj_frame_tiles(gObjectEventPic_RepeatBall), +}; + +static const struct SpriteFrameImage sPicTable_TimerBall[] = { + obj_frame_tiles(gObjectEventPic_TimerBall), +}; + +static const struct SpriteFrameImage sPicTable_LuxuryBall[] = { + obj_frame_tiles(gObjectEventPic_LuxuryBall), +}; + +static const struct SpriteFrameImage sPicTable_PremierBall[] = { + obj_frame_tiles(gObjectEventPic_PremierBall), +}; + +static const struct SpriteFrameImage sPicTable_HealBall[] = { + obj_frame_tiles(gObjectEventPic_HealBall), +}; + +static const struct SpriteFrameImage sPicTable_DuskBall[] = { + obj_frame_tiles(gObjectEventPic_DuskBall), +}; + +static const struct SpriteFrameImage sPicTable_QuickBall[] = { + obj_frame_tiles(gObjectEventPic_QuickBall), +}; + +static const struct SpriteFrameImage sPicTable_LevelBall[] = { + obj_frame_tiles(gObjectEventPic_LevelBall), +}; + +static const struct SpriteFrameImage sPicTable_LureBall[] = { + obj_frame_tiles(gObjectEventPic_LureBall), +}; + +static const struct SpriteFrameImage sPicTable_MoonBall[] = { + obj_frame_tiles(gObjectEventPic_MoonBall), +}; + +static const struct SpriteFrameImage sPicTable_FriendBall[] = { + obj_frame_tiles(gObjectEventPic_FriendBall), +}; + +static const struct SpriteFrameImage sPicTable_LoveBall[] = { + obj_frame_tiles(gObjectEventPic_LoveBall), +}; + +static const struct SpriteFrameImage sPicTable_FastBall[] = { + obj_frame_tiles(gObjectEventPic_FastBall), +}; + +static const struct SpriteFrameImage sPicTable_HeavyBall[] = { + obj_frame_tiles(gObjectEventPic_HeavyBall), +}; + +static const struct SpriteFrameImage sPicTable_DreamBall[] = { + obj_frame_tiles(gObjectEventPic_DreamBall), +}; + +static const struct SpriteFrameImage sPicTable_SportBall[] = { + obj_frame_tiles(gObjectEventPic_SportBall), +}; + +static const struct SpriteFrameImage sPicTable_ParkBall[] = { + obj_frame_tiles(gObjectEventPic_ParkBall), +}; + +static const struct SpriteFrameImage sPicTable_CherishBall[] = { + obj_frame_tiles(gObjectEventPic_CherishBall), +}; + +static const struct SpriteFrameImage sPicTable_ExpandingSparkle[] = { + overworld_frame(gFieldEffectObjectPic_ExpandingSparkle, 4, 4, 0), + overworld_frame(gFieldEffectObjectPic_ExpandingSparkle, 4, 4, 1), + overworld_frame(gFieldEffectObjectPic_ExpandingSparkle, 4, 4, 2), + overworld_frame(gFieldEffectObjectPic_ExpandingSparkle, 4, 4, 3), + overworld_frame(gFieldEffectObjectPic_ExpandingSparkle, 4, 4, 4), + overworld_frame(gFieldEffectObjectPic_ExpandingSparkle, 4, 4, 5), +}; + static const struct SpriteFrameImage sPicTable_ProfBirch[] = { overworld_frame(gObjectEventPic_ProfBirch, 2, 4, 0), overworld_frame(gObjectEventPic_ProfBirch, 2, 4, 1), @@ -2172,3 +2281,3767 @@ static const struct SpriteFrameImage sPicTable_RubySapphireMay[] = { overworld_frame(gObjectEventPic_RubySapphireMayNormal, 2, 4, 7), overworld_frame(gObjectEventPic_RubySapphireMayNormal, 2, 4, 8), }; + +const struct SpriteFrameImage gObjectEventPicTable_Bulbasaur[] = { + overworld_frame(gObjectEventPic_Bulbasaur, 4, 4, 0), + overworld_frame(gObjectEventPic_Bulbasaur, 4, 4, 1), + overworld_frame(gObjectEventPic_Bulbasaur, 4, 4, 2), + overworld_frame(gObjectEventPic_Bulbasaur, 4, 4, 3), + overworld_frame(gObjectEventPic_Bulbasaur, 4, 4, 4), + overworld_frame(gObjectEventPic_Bulbasaur, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ivysaur[] = { + overworld_frame(gObjectEventPic_Ivysaur, 4, 4, 0), + overworld_frame(gObjectEventPic_Ivysaur, 4, 4, 1), + overworld_frame(gObjectEventPic_Ivysaur, 4, 4, 2), + overworld_frame(gObjectEventPic_Ivysaur, 4, 4, 3), + overworld_frame(gObjectEventPic_Ivysaur, 4, 4, 4), + overworld_frame(gObjectEventPic_Ivysaur, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Venusaur[] = { + overworld_frame(gObjectEventPic_Venusaur, 4, 4, 0), + overworld_frame(gObjectEventPic_Venusaur, 4, 4, 1), + overworld_frame(gObjectEventPic_Venusaur, 4, 4, 2), + overworld_frame(gObjectEventPic_Venusaur, 4, 4, 3), + overworld_frame(gObjectEventPic_Venusaur, 4, 4, 4), + overworld_frame(gObjectEventPic_Venusaur, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Charmander[] = { + overworld_frame(gObjectEventPic_Charmander, 4, 4, 0), + overworld_frame(gObjectEventPic_Charmander, 4, 4, 1), + overworld_frame(gObjectEventPic_Charmander, 4, 4, 2), + overworld_frame(gObjectEventPic_Charmander, 4, 4, 3), + overworld_frame(gObjectEventPic_Charmander, 4, 4, 4), + overworld_frame(gObjectEventPic_Charmander, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Charmeleon[] = { + overworld_frame(gObjectEventPic_Charmeleon, 4, 4, 0), + overworld_frame(gObjectEventPic_Charmeleon, 4, 4, 1), + overworld_frame(gObjectEventPic_Charmeleon, 4, 4, 2), + overworld_frame(gObjectEventPic_Charmeleon, 4, 4, 3), + overworld_frame(gObjectEventPic_Charmeleon, 4, 4, 4), + overworld_frame(gObjectEventPic_Charmeleon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Charizard[] = { + overworld_frame(gObjectEventPic_Charizard, 4, 4, 0), + overworld_frame(gObjectEventPic_Charizard, 4, 4, 1), + overworld_frame(gObjectEventPic_Charizard, 4, 4, 2), + overworld_frame(gObjectEventPic_Charizard, 4, 4, 3), + overworld_frame(gObjectEventPic_Charizard, 4, 4, 4), + overworld_frame(gObjectEventPic_Charizard, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Squirtle[] = { + overworld_frame(gObjectEventPic_Squirtle, 4, 4, 0), + overworld_frame(gObjectEventPic_Squirtle, 4, 4, 1), + overworld_frame(gObjectEventPic_Squirtle, 4, 4, 2), + overworld_frame(gObjectEventPic_Squirtle, 4, 4, 3), + overworld_frame(gObjectEventPic_Squirtle, 4, 4, 4), + overworld_frame(gObjectEventPic_Squirtle, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wartortle[] = { + overworld_frame(gObjectEventPic_Wartortle, 4, 4, 0), + overworld_frame(gObjectEventPic_Wartortle, 4, 4, 1), + overworld_frame(gObjectEventPic_Wartortle, 4, 4, 2), + overworld_frame(gObjectEventPic_Wartortle, 4, 4, 3), + overworld_frame(gObjectEventPic_Wartortle, 4, 4, 4), + overworld_frame(gObjectEventPic_Wartortle, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Blastoise[] = { + overworld_frame(gObjectEventPic_Blastoise, 4, 4, 0), + overworld_frame(gObjectEventPic_Blastoise, 4, 4, 1), + overworld_frame(gObjectEventPic_Blastoise, 4, 4, 2), + overworld_frame(gObjectEventPic_Blastoise, 4, 4, 3), + overworld_frame(gObjectEventPic_Blastoise, 4, 4, 4), + overworld_frame(gObjectEventPic_Blastoise, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Caterpie[] = { + overworld_frame(gObjectEventPic_Caterpie, 4, 4, 0), + overworld_frame(gObjectEventPic_Caterpie, 4, 4, 1), + overworld_frame(gObjectEventPic_Caterpie, 4, 4, 2), + overworld_frame(gObjectEventPic_Caterpie, 4, 4, 3), + overworld_frame(gObjectEventPic_Caterpie, 4, 4, 4), + overworld_frame(gObjectEventPic_Caterpie, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Metapod[] = { + overworld_frame(gObjectEventPic_Metapod, 4, 4, 0), + overworld_frame(gObjectEventPic_Metapod, 4, 4, 1), + overworld_frame(gObjectEventPic_Metapod, 4, 4, 2), + overworld_frame(gObjectEventPic_Metapod, 4, 4, 3), + overworld_frame(gObjectEventPic_Metapod, 4, 4, 4), + overworld_frame(gObjectEventPic_Metapod, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Butterfree[] = { + overworld_frame(gObjectEventPic_Butterfree, 4, 4, 0), + overworld_frame(gObjectEventPic_Butterfree, 4, 4, 1), + overworld_frame(gObjectEventPic_Butterfree, 4, 4, 2), + overworld_frame(gObjectEventPic_Butterfree, 4, 4, 3), + overworld_frame(gObjectEventPic_Butterfree, 4, 4, 4), + overworld_frame(gObjectEventPic_Butterfree, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Weedle[] = { + overworld_frame(gObjectEventPic_Weedle, 4, 4, 0), + overworld_frame(gObjectEventPic_Weedle, 4, 4, 1), + overworld_frame(gObjectEventPic_Weedle, 4, 4, 2), + overworld_frame(gObjectEventPic_Weedle, 4, 4, 3), + overworld_frame(gObjectEventPic_Weedle, 4, 4, 4), + overworld_frame(gObjectEventPic_Weedle, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Kakuna[] = { + overworld_frame(gObjectEventPic_Kakuna, 4, 4, 0), + overworld_frame(gObjectEventPic_Kakuna, 4, 4, 1), + overworld_frame(gObjectEventPic_Kakuna, 4, 4, 2), + overworld_frame(gObjectEventPic_Kakuna, 4, 4, 3), + overworld_frame(gObjectEventPic_Kakuna, 4, 4, 4), + overworld_frame(gObjectEventPic_Kakuna, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Beedrill[] = { + overworld_frame(gObjectEventPic_Beedrill, 4, 4, 0), + overworld_frame(gObjectEventPic_Beedrill, 4, 4, 1), + overworld_frame(gObjectEventPic_Beedrill, 4, 4, 2), + overworld_frame(gObjectEventPic_Beedrill, 4, 4, 3), + overworld_frame(gObjectEventPic_Beedrill, 4, 4, 4), + overworld_frame(gObjectEventPic_Beedrill, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Pidgey[] = { + overworld_frame(gObjectEventPic_Pidgey, 4, 4, 0), + overworld_frame(gObjectEventPic_Pidgey, 4, 4, 1), + overworld_frame(gObjectEventPic_Pidgey, 4, 4, 2), + overworld_frame(gObjectEventPic_Pidgey, 4, 4, 3), + overworld_frame(gObjectEventPic_Pidgey, 4, 4, 4), + overworld_frame(gObjectEventPic_Pidgey, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Pidgeotto[] = { + overworld_frame(gObjectEventPic_Pidgeotto, 4, 4, 0), + overworld_frame(gObjectEventPic_Pidgeotto, 4, 4, 1), + overworld_frame(gObjectEventPic_Pidgeotto, 4, 4, 2), + overworld_frame(gObjectEventPic_Pidgeotto, 4, 4, 3), + overworld_frame(gObjectEventPic_Pidgeotto, 4, 4, 4), + overworld_frame(gObjectEventPic_Pidgeotto, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Pidgeot[] = { + overworld_frame(gObjectEventPic_Pidgeot, 4, 4, 0), + overworld_frame(gObjectEventPic_Pidgeot, 4, 4, 1), + overworld_frame(gObjectEventPic_Pidgeot, 4, 4, 2), + overworld_frame(gObjectEventPic_Pidgeot, 4, 4, 3), + overworld_frame(gObjectEventPic_Pidgeot, 4, 4, 4), + overworld_frame(gObjectEventPic_Pidgeot, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Rattata[] = { + overworld_frame(gObjectEventPic_Rattata, 4, 4, 0), + overworld_frame(gObjectEventPic_Rattata, 4, 4, 1), + overworld_frame(gObjectEventPic_Rattata, 4, 4, 2), + overworld_frame(gObjectEventPic_Rattata, 4, 4, 3), + overworld_frame(gObjectEventPic_Rattata, 4, 4, 4), + overworld_frame(gObjectEventPic_Rattata, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Raticate[] = { + overworld_frame(gObjectEventPic_Raticate, 4, 4, 0), + overworld_frame(gObjectEventPic_Raticate, 4, 4, 1), + overworld_frame(gObjectEventPic_Raticate, 4, 4, 2), + overworld_frame(gObjectEventPic_Raticate, 4, 4, 3), + overworld_frame(gObjectEventPic_Raticate, 4, 4, 4), + overworld_frame(gObjectEventPic_Raticate, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Spearow[] = { + overworld_frame(gObjectEventPic_Spearow, 4, 4, 0), + overworld_frame(gObjectEventPic_Spearow, 4, 4, 1), + overworld_frame(gObjectEventPic_Spearow, 4, 4, 2), + overworld_frame(gObjectEventPic_Spearow, 4, 4, 3), + overworld_frame(gObjectEventPic_Spearow, 4, 4, 4), + overworld_frame(gObjectEventPic_Spearow, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Fearow[] = { + overworld_frame(gObjectEventPic_Fearow, 4, 4, 0), + overworld_frame(gObjectEventPic_Fearow, 4, 4, 1), + overworld_frame(gObjectEventPic_Fearow, 4, 4, 2), + overworld_frame(gObjectEventPic_Fearow, 4, 4, 3), + overworld_frame(gObjectEventPic_Fearow, 4, 4, 4), + overworld_frame(gObjectEventPic_Fearow, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ekans[] = { + overworld_frame(gObjectEventPic_Ekans, 4, 4, 0), + overworld_frame(gObjectEventPic_Ekans, 4, 4, 1), + overworld_frame(gObjectEventPic_Ekans, 4, 4, 2), + overworld_frame(gObjectEventPic_Ekans, 4, 4, 3), + overworld_frame(gObjectEventPic_Ekans, 4, 4, 4), + overworld_frame(gObjectEventPic_Ekans, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Arbok[] = { + overworld_frame(gObjectEventPic_Arbok, 4, 4, 0), + overworld_frame(gObjectEventPic_Arbok, 4, 4, 1), + overworld_frame(gObjectEventPic_Arbok, 4, 4, 2), + overworld_frame(gObjectEventPic_Arbok, 4, 4, 3), + overworld_frame(gObjectEventPic_Arbok, 4, 4, 4), + overworld_frame(gObjectEventPic_Arbok, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Pikachu_Follow[] = { + overworld_frame(gObjectEventPic_Pikachu_Follow, 4, 4, 0), + overworld_frame(gObjectEventPic_Pikachu_Follow, 4, 4, 1), + overworld_frame(gObjectEventPic_Pikachu_Follow, 4, 4, 2), + overworld_frame(gObjectEventPic_Pikachu_Follow, 4, 4, 3), + overworld_frame(gObjectEventPic_Pikachu_Follow, 4, 4, 4), + overworld_frame(gObjectEventPic_Pikachu_Follow, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Raichu[] = { + overworld_frame(gObjectEventPic_Raichu, 4, 4, 0), + overworld_frame(gObjectEventPic_Raichu, 4, 4, 1), + overworld_frame(gObjectEventPic_Raichu, 4, 4, 2), + overworld_frame(gObjectEventPic_Raichu, 4, 4, 3), + overworld_frame(gObjectEventPic_Raichu, 4, 4, 4), + overworld_frame(gObjectEventPic_Raichu, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sandshrew[] = { + overworld_frame(gObjectEventPic_Sandshrew, 4, 4, 0), + overworld_frame(gObjectEventPic_Sandshrew, 4, 4, 1), + overworld_frame(gObjectEventPic_Sandshrew, 4, 4, 2), + overworld_frame(gObjectEventPic_Sandshrew, 4, 4, 3), + overworld_frame(gObjectEventPic_Sandshrew, 4, 4, 4), + overworld_frame(gObjectEventPic_Sandshrew, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sandslash[] = { + overworld_frame(gObjectEventPic_Sandslash, 4, 4, 0), + overworld_frame(gObjectEventPic_Sandslash, 4, 4, 1), + overworld_frame(gObjectEventPic_Sandslash, 4, 4, 2), + overworld_frame(gObjectEventPic_Sandslash, 4, 4, 3), + overworld_frame(gObjectEventPic_Sandslash, 4, 4, 4), + overworld_frame(gObjectEventPic_Sandslash, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Nidoran_F[] = { + overworld_frame(gObjectEventPic_Nidoran_F, 4, 4, 0), + overworld_frame(gObjectEventPic_Nidoran_F, 4, 4, 1), + overworld_frame(gObjectEventPic_Nidoran_F, 4, 4, 2), + overworld_frame(gObjectEventPic_Nidoran_F, 4, 4, 3), + overworld_frame(gObjectEventPic_Nidoran_F, 4, 4, 4), + overworld_frame(gObjectEventPic_Nidoran_F, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Nidorina[] = { + overworld_frame(gObjectEventPic_Nidorina, 4, 4, 0), + overworld_frame(gObjectEventPic_Nidorina, 4, 4, 1), + overworld_frame(gObjectEventPic_Nidorina, 4, 4, 2), + overworld_frame(gObjectEventPic_Nidorina, 4, 4, 3), + overworld_frame(gObjectEventPic_Nidorina, 4, 4, 4), + overworld_frame(gObjectEventPic_Nidorina, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Nidoqueen[] = { + overworld_frame(gObjectEventPic_Nidoqueen, 4, 4, 0), + overworld_frame(gObjectEventPic_Nidoqueen, 4, 4, 1), + overworld_frame(gObjectEventPic_Nidoqueen, 4, 4, 2), + overworld_frame(gObjectEventPic_Nidoqueen, 4, 4, 3), + overworld_frame(gObjectEventPic_Nidoqueen, 4, 4, 4), + overworld_frame(gObjectEventPic_Nidoqueen, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Nidoran_M[] = { + overworld_frame(gObjectEventPic_Nidoran_M, 4, 4, 0), + overworld_frame(gObjectEventPic_Nidoran_M, 4, 4, 1), + overworld_frame(gObjectEventPic_Nidoran_M, 4, 4, 2), + overworld_frame(gObjectEventPic_Nidoran_M, 4, 4, 3), + overworld_frame(gObjectEventPic_Nidoran_M, 4, 4, 4), + overworld_frame(gObjectEventPic_Nidoran_M, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Nidorino[] = { + overworld_frame(gObjectEventPic_Nidorino, 4, 4, 0), + overworld_frame(gObjectEventPic_Nidorino, 4, 4, 1), + overworld_frame(gObjectEventPic_Nidorino, 4, 4, 2), + overworld_frame(gObjectEventPic_Nidorino, 4, 4, 3), + overworld_frame(gObjectEventPic_Nidorino, 4, 4, 4), + overworld_frame(gObjectEventPic_Nidorino, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Nidoking[] = { + overworld_frame(gObjectEventPic_Nidoking, 4, 4, 0), + overworld_frame(gObjectEventPic_Nidoking, 4, 4, 1), + overworld_frame(gObjectEventPic_Nidoking, 4, 4, 2), + overworld_frame(gObjectEventPic_Nidoking, 4, 4, 3), + overworld_frame(gObjectEventPic_Nidoking, 4, 4, 4), + overworld_frame(gObjectEventPic_Nidoking, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Clefairy[] = { + overworld_frame(gObjectEventPic_Clefairy, 4, 4, 0), + overworld_frame(gObjectEventPic_Clefairy, 4, 4, 1), + overworld_frame(gObjectEventPic_Clefairy, 4, 4, 2), + overworld_frame(gObjectEventPic_Clefairy, 4, 4, 3), + overworld_frame(gObjectEventPic_Clefairy, 4, 4, 4), + overworld_frame(gObjectEventPic_Clefairy, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Clefable[] = { + overworld_frame(gObjectEventPic_Clefable, 4, 4, 0), + overworld_frame(gObjectEventPic_Clefable, 4, 4, 1), + overworld_frame(gObjectEventPic_Clefable, 4, 4, 2), + overworld_frame(gObjectEventPic_Clefable, 4, 4, 3), + overworld_frame(gObjectEventPic_Clefable, 4, 4, 4), + overworld_frame(gObjectEventPic_Clefable, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Vulpix[] = { + overworld_frame(gObjectEventPic_Vulpix, 4, 4, 0), + overworld_frame(gObjectEventPic_Vulpix, 4, 4, 1), + overworld_frame(gObjectEventPic_Vulpix, 4, 4, 2), + overworld_frame(gObjectEventPic_Vulpix, 4, 4, 3), + overworld_frame(gObjectEventPic_Vulpix, 4, 4, 4), + overworld_frame(gObjectEventPic_Vulpix, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ninetales[] = { + overworld_frame(gObjectEventPic_Ninetales, 4, 4, 0), + overworld_frame(gObjectEventPic_Ninetales, 4, 4, 1), + overworld_frame(gObjectEventPic_Ninetales, 4, 4, 2), + overworld_frame(gObjectEventPic_Ninetales, 4, 4, 3), + overworld_frame(gObjectEventPic_Ninetales, 4, 4, 4), + overworld_frame(gObjectEventPic_Ninetales, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Jigglypuff[] = { + overworld_frame(gObjectEventPic_Jigglypuff, 4, 4, 0), + overworld_frame(gObjectEventPic_Jigglypuff, 4, 4, 1), + overworld_frame(gObjectEventPic_Jigglypuff, 4, 4, 2), + overworld_frame(gObjectEventPic_Jigglypuff, 4, 4, 3), + overworld_frame(gObjectEventPic_Jigglypuff, 4, 4, 4), + overworld_frame(gObjectEventPic_Jigglypuff, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wigglytuff[] = { + overworld_frame(gObjectEventPic_Wigglytuff, 4, 4, 0), + overworld_frame(gObjectEventPic_Wigglytuff, 4, 4, 1), + overworld_frame(gObjectEventPic_Wigglytuff, 4, 4, 2), + overworld_frame(gObjectEventPic_Wigglytuff, 4, 4, 3), + overworld_frame(gObjectEventPic_Wigglytuff, 4, 4, 4), + overworld_frame(gObjectEventPic_Wigglytuff, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Zubat[] = { + overworld_frame(gObjectEventPic_Zubat, 4, 4, 0), + overworld_frame(gObjectEventPic_Zubat, 4, 4, 1), + overworld_frame(gObjectEventPic_Zubat, 4, 4, 2), + overworld_frame(gObjectEventPic_Zubat, 4, 4, 3), + overworld_frame(gObjectEventPic_Zubat, 4, 4, 4), + overworld_frame(gObjectEventPic_Zubat, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Golbat[] = { + overworld_frame(gObjectEventPic_Golbat, 4, 4, 0), + overworld_frame(gObjectEventPic_Golbat, 4, 4, 1), + overworld_frame(gObjectEventPic_Golbat, 4, 4, 2), + overworld_frame(gObjectEventPic_Golbat, 4, 4, 3), + overworld_frame(gObjectEventPic_Golbat, 4, 4, 4), + overworld_frame(gObjectEventPic_Golbat, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Oddish[] = { + overworld_frame(gObjectEventPic_Oddish, 4, 4, 0), + overworld_frame(gObjectEventPic_Oddish, 4, 4, 1), + overworld_frame(gObjectEventPic_Oddish, 4, 4, 2), + overworld_frame(gObjectEventPic_Oddish, 4, 4, 3), + overworld_frame(gObjectEventPic_Oddish, 4, 4, 4), + overworld_frame(gObjectEventPic_Oddish, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Gloom[] = { + overworld_frame(gObjectEventPic_Gloom, 4, 4, 0), + overworld_frame(gObjectEventPic_Gloom, 4, 4, 1), + overworld_frame(gObjectEventPic_Gloom, 4, 4, 2), + overworld_frame(gObjectEventPic_Gloom, 4, 4, 3), + overworld_frame(gObjectEventPic_Gloom, 4, 4, 4), + overworld_frame(gObjectEventPic_Gloom, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Vileplume[] = { + overworld_frame(gObjectEventPic_Vileplume, 4, 4, 0), + overworld_frame(gObjectEventPic_Vileplume, 4, 4, 1), + overworld_frame(gObjectEventPic_Vileplume, 4, 4, 2), + overworld_frame(gObjectEventPic_Vileplume, 4, 4, 3), + overworld_frame(gObjectEventPic_Vileplume, 4, 4, 4), + overworld_frame(gObjectEventPic_Vileplume, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Paras[] = { + overworld_frame(gObjectEventPic_Paras, 4, 4, 0), + overworld_frame(gObjectEventPic_Paras, 4, 4, 1), + overworld_frame(gObjectEventPic_Paras, 4, 4, 2), + overworld_frame(gObjectEventPic_Paras, 4, 4, 3), + overworld_frame(gObjectEventPic_Paras, 4, 4, 4), + overworld_frame(gObjectEventPic_Paras, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Parasect[] = { + overworld_frame(gObjectEventPic_Parasect, 4, 4, 0), + overworld_frame(gObjectEventPic_Parasect, 4, 4, 1), + overworld_frame(gObjectEventPic_Parasect, 4, 4, 2), + overworld_frame(gObjectEventPic_Parasect, 4, 4, 3), + overworld_frame(gObjectEventPic_Parasect, 4, 4, 4), + overworld_frame(gObjectEventPic_Parasect, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Venonat[] = { + overworld_frame(gObjectEventPic_Venonat, 4, 4, 0), + overworld_frame(gObjectEventPic_Venonat, 4, 4, 1), + overworld_frame(gObjectEventPic_Venonat, 4, 4, 2), + overworld_frame(gObjectEventPic_Venonat, 4, 4, 3), + overworld_frame(gObjectEventPic_Venonat, 4, 4, 4), + overworld_frame(gObjectEventPic_Venonat, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Venomoth[] = { + overworld_frame(gObjectEventPic_Venomoth, 4, 4, 0), + overworld_frame(gObjectEventPic_Venomoth, 4, 4, 1), + overworld_frame(gObjectEventPic_Venomoth, 4, 4, 2), + overworld_frame(gObjectEventPic_Venomoth, 4, 4, 3), + overworld_frame(gObjectEventPic_Venomoth, 4, 4, 4), + overworld_frame(gObjectEventPic_Venomoth, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Diglett[] = { + overworld_frame(gObjectEventPic_Diglett, 4, 4, 0), + overworld_frame(gObjectEventPic_Diglett, 4, 4, 1), + overworld_frame(gObjectEventPic_Diglett, 4, 4, 2), + overworld_frame(gObjectEventPic_Diglett, 4, 4, 3), + overworld_frame(gObjectEventPic_Diglett, 4, 4, 4), + overworld_frame(gObjectEventPic_Diglett, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Dugtrio[] = { + overworld_frame(gObjectEventPic_Dugtrio, 4, 4, 0), + overworld_frame(gObjectEventPic_Dugtrio, 4, 4, 1), + overworld_frame(gObjectEventPic_Dugtrio, 4, 4, 2), + overworld_frame(gObjectEventPic_Dugtrio, 4, 4, 3), + overworld_frame(gObjectEventPic_Dugtrio, 4, 4, 4), + overworld_frame(gObjectEventPic_Dugtrio, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Meowth[] = { + overworld_frame(gObjectEventPic_Meowth, 4, 4, 0), + overworld_frame(gObjectEventPic_Meowth, 4, 4, 1), + overworld_frame(gObjectEventPic_Meowth, 4, 4, 2), + overworld_frame(gObjectEventPic_Meowth, 4, 4, 3), + overworld_frame(gObjectEventPic_Meowth, 4, 4, 4), + overworld_frame(gObjectEventPic_Meowth, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Persian[] = { + overworld_frame(gObjectEventPic_Persian, 4, 4, 0), + overworld_frame(gObjectEventPic_Persian, 4, 4, 1), + overworld_frame(gObjectEventPic_Persian, 4, 4, 2), + overworld_frame(gObjectEventPic_Persian, 4, 4, 3), + overworld_frame(gObjectEventPic_Persian, 4, 4, 4), + overworld_frame(gObjectEventPic_Persian, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Psyduck[] = { + overworld_frame(gObjectEventPic_Psyduck, 4, 4, 0), + overworld_frame(gObjectEventPic_Psyduck, 4, 4, 1), + overworld_frame(gObjectEventPic_Psyduck, 4, 4, 2), + overworld_frame(gObjectEventPic_Psyduck, 4, 4, 3), + overworld_frame(gObjectEventPic_Psyduck, 4, 4, 4), + overworld_frame(gObjectEventPic_Psyduck, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Golduck[] = { + overworld_frame(gObjectEventPic_Golduck, 4, 4, 0), + overworld_frame(gObjectEventPic_Golduck, 4, 4, 1), + overworld_frame(gObjectEventPic_Golduck, 4, 4, 2), + overworld_frame(gObjectEventPic_Golduck, 4, 4, 3), + overworld_frame(gObjectEventPic_Golduck, 4, 4, 4), + overworld_frame(gObjectEventPic_Golduck, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Mankey[] = { + overworld_frame(gObjectEventPic_Mankey, 4, 4, 0), + overworld_frame(gObjectEventPic_Mankey, 4, 4, 1), + overworld_frame(gObjectEventPic_Mankey, 4, 4, 2), + overworld_frame(gObjectEventPic_Mankey, 4, 4, 3), + overworld_frame(gObjectEventPic_Mankey, 4, 4, 4), + overworld_frame(gObjectEventPic_Mankey, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Primeape[] = { + overworld_frame(gObjectEventPic_Primeape, 4, 4, 0), + overworld_frame(gObjectEventPic_Primeape, 4, 4, 1), + overworld_frame(gObjectEventPic_Primeape, 4, 4, 2), + overworld_frame(gObjectEventPic_Primeape, 4, 4, 3), + overworld_frame(gObjectEventPic_Primeape, 4, 4, 4), + overworld_frame(gObjectEventPic_Primeape, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Growlithe[] = { + overworld_frame(gObjectEventPic_Growlithe, 4, 4, 0), + overworld_frame(gObjectEventPic_Growlithe, 4, 4, 1), + overworld_frame(gObjectEventPic_Growlithe, 4, 4, 2), + overworld_frame(gObjectEventPic_Growlithe, 4, 4, 3), + overworld_frame(gObjectEventPic_Growlithe, 4, 4, 4), + overworld_frame(gObjectEventPic_Growlithe, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Arcanine[] = { + overworld_frame(gObjectEventPic_Arcanine, 4, 4, 0), + overworld_frame(gObjectEventPic_Arcanine, 4, 4, 1), + overworld_frame(gObjectEventPic_Arcanine, 4, 4, 2), + overworld_frame(gObjectEventPic_Arcanine, 4, 4, 3), + overworld_frame(gObjectEventPic_Arcanine, 4, 4, 4), + overworld_frame(gObjectEventPic_Arcanine, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Poliwag[] = { + overworld_frame(gObjectEventPic_Poliwag, 4, 4, 0), + overworld_frame(gObjectEventPic_Poliwag, 4, 4, 1), + overworld_frame(gObjectEventPic_Poliwag, 4, 4, 2), + overworld_frame(gObjectEventPic_Poliwag, 4, 4, 3), + overworld_frame(gObjectEventPic_Poliwag, 4, 4, 4), + overworld_frame(gObjectEventPic_Poliwag, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Poliwhirl[] = { + overworld_frame(gObjectEventPic_Poliwhirl, 4, 4, 0), + overworld_frame(gObjectEventPic_Poliwhirl, 4, 4, 1), + overworld_frame(gObjectEventPic_Poliwhirl, 4, 4, 2), + overworld_frame(gObjectEventPic_Poliwhirl, 4, 4, 3), + overworld_frame(gObjectEventPic_Poliwhirl, 4, 4, 4), + overworld_frame(gObjectEventPic_Poliwhirl, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Poliwrath[] = { + overworld_frame(gObjectEventPic_Poliwrath, 4, 4, 0), + overworld_frame(gObjectEventPic_Poliwrath, 4, 4, 1), + overworld_frame(gObjectEventPic_Poliwrath, 4, 4, 2), + overworld_frame(gObjectEventPic_Poliwrath, 4, 4, 3), + overworld_frame(gObjectEventPic_Poliwrath, 4, 4, 4), + overworld_frame(gObjectEventPic_Poliwrath, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Abra[] = { + overworld_frame(gObjectEventPic_Abra, 4, 4, 0), + overworld_frame(gObjectEventPic_Abra, 4, 4, 1), + overworld_frame(gObjectEventPic_Abra, 4, 4, 2), + overworld_frame(gObjectEventPic_Abra, 4, 4, 3), + overworld_frame(gObjectEventPic_Abra, 4, 4, 4), + overworld_frame(gObjectEventPic_Abra, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Kadabra[] = { + overworld_frame(gObjectEventPic_Kadabra, 4, 4, 0), + overworld_frame(gObjectEventPic_Kadabra, 4, 4, 1), + overworld_frame(gObjectEventPic_Kadabra, 4, 4, 2), + overworld_frame(gObjectEventPic_Kadabra, 4, 4, 3), + overworld_frame(gObjectEventPic_Kadabra, 4, 4, 4), + overworld_frame(gObjectEventPic_Kadabra, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Alakazam[] = { + overworld_frame(gObjectEventPic_Alakazam, 4, 4, 0), + overworld_frame(gObjectEventPic_Alakazam, 4, 4, 1), + overworld_frame(gObjectEventPic_Alakazam, 4, 4, 2), + overworld_frame(gObjectEventPic_Alakazam, 4, 4, 3), + overworld_frame(gObjectEventPic_Alakazam, 4, 4, 4), + overworld_frame(gObjectEventPic_Alakazam, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Machop[] = { + overworld_frame(gObjectEventPic_Machop, 4, 4, 0), + overworld_frame(gObjectEventPic_Machop, 4, 4, 1), + overworld_frame(gObjectEventPic_Machop, 4, 4, 2), + overworld_frame(gObjectEventPic_Machop, 4, 4, 3), + overworld_frame(gObjectEventPic_Machop, 4, 4, 4), + overworld_frame(gObjectEventPic_Machop, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Machoke[] = { + overworld_frame(gObjectEventPic_Machoke, 4, 4, 0), + overworld_frame(gObjectEventPic_Machoke, 4, 4, 1), + overworld_frame(gObjectEventPic_Machoke, 4, 4, 2), + overworld_frame(gObjectEventPic_Machoke, 4, 4, 3), + overworld_frame(gObjectEventPic_Machoke, 4, 4, 4), + overworld_frame(gObjectEventPic_Machoke, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Machamp[] = { + overworld_frame(gObjectEventPic_Machamp, 4, 4, 0), + overworld_frame(gObjectEventPic_Machamp, 4, 4, 1), + overworld_frame(gObjectEventPic_Machamp, 4, 4, 2), + overworld_frame(gObjectEventPic_Machamp, 4, 4, 3), + overworld_frame(gObjectEventPic_Machamp, 4, 4, 4), + overworld_frame(gObjectEventPic_Machamp, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Bellsprout[] = { + overworld_frame(gObjectEventPic_Bellsprout, 4, 4, 0), + overworld_frame(gObjectEventPic_Bellsprout, 4, 4, 1), + overworld_frame(gObjectEventPic_Bellsprout, 4, 4, 2), + overworld_frame(gObjectEventPic_Bellsprout, 4, 4, 3), + overworld_frame(gObjectEventPic_Bellsprout, 4, 4, 4), + overworld_frame(gObjectEventPic_Bellsprout, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Weepinbell[] = { + overworld_frame(gObjectEventPic_Weepinbell, 4, 4, 0), + overworld_frame(gObjectEventPic_Weepinbell, 4, 4, 1), + overworld_frame(gObjectEventPic_Weepinbell, 4, 4, 2), + overworld_frame(gObjectEventPic_Weepinbell, 4, 4, 3), + overworld_frame(gObjectEventPic_Weepinbell, 4, 4, 4), + overworld_frame(gObjectEventPic_Weepinbell, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Victreebel[] = { + overworld_frame(gObjectEventPic_Victreebel, 4, 4, 0), + overworld_frame(gObjectEventPic_Victreebel, 4, 4, 1), + overworld_frame(gObjectEventPic_Victreebel, 4, 4, 2), + overworld_frame(gObjectEventPic_Victreebel, 4, 4, 3), + overworld_frame(gObjectEventPic_Victreebel, 4, 4, 4), + overworld_frame(gObjectEventPic_Victreebel, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Tentacool[] = { + overworld_frame(gObjectEventPic_Tentacool, 4, 4, 0), + overworld_frame(gObjectEventPic_Tentacool, 4, 4, 1), + overworld_frame(gObjectEventPic_Tentacool, 4, 4, 2), + overworld_frame(gObjectEventPic_Tentacool, 4, 4, 3), + overworld_frame(gObjectEventPic_Tentacool, 4, 4, 4), + overworld_frame(gObjectEventPic_Tentacool, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Tentacruel[] = { + overworld_frame(gObjectEventPic_Tentacruel, 4, 4, 0), + overworld_frame(gObjectEventPic_Tentacruel, 4, 4, 1), + overworld_frame(gObjectEventPic_Tentacruel, 4, 4, 2), + overworld_frame(gObjectEventPic_Tentacruel, 4, 4, 3), + overworld_frame(gObjectEventPic_Tentacruel, 4, 4, 4), + overworld_frame(gObjectEventPic_Tentacruel, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Geodude[] = { + overworld_frame(gObjectEventPic_Geodude, 4, 4, 0), + overworld_frame(gObjectEventPic_Geodude, 4, 4, 1), + overworld_frame(gObjectEventPic_Geodude, 4, 4, 2), + overworld_frame(gObjectEventPic_Geodude, 4, 4, 3), + overworld_frame(gObjectEventPic_Geodude, 4, 4, 4), + overworld_frame(gObjectEventPic_Geodude, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Graveler[] = { + overworld_frame(gObjectEventPic_Graveler, 4, 4, 0), + overworld_frame(gObjectEventPic_Graveler, 4, 4, 1), + overworld_frame(gObjectEventPic_Graveler, 4, 4, 2), + overworld_frame(gObjectEventPic_Graveler, 4, 4, 3), + overworld_frame(gObjectEventPic_Graveler, 4, 4, 4), + overworld_frame(gObjectEventPic_Graveler, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Golem[] = { + overworld_frame(gObjectEventPic_Golem, 4, 4, 0), + overworld_frame(gObjectEventPic_Golem, 4, 4, 1), + overworld_frame(gObjectEventPic_Golem, 4, 4, 2), + overworld_frame(gObjectEventPic_Golem, 4, 4, 3), + overworld_frame(gObjectEventPic_Golem, 4, 4, 4), + overworld_frame(gObjectEventPic_Golem, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ponyta[] = { + overworld_frame(gObjectEventPic_Ponyta, 4, 4, 0), + overworld_frame(gObjectEventPic_Ponyta, 4, 4, 1), + overworld_frame(gObjectEventPic_Ponyta, 4, 4, 2), + overworld_frame(gObjectEventPic_Ponyta, 4, 4, 3), + overworld_frame(gObjectEventPic_Ponyta, 4, 4, 4), + overworld_frame(gObjectEventPic_Ponyta, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Rapidash[] = { + overworld_frame(gObjectEventPic_Rapidash, 4, 4, 0), + overworld_frame(gObjectEventPic_Rapidash, 4, 4, 1), + overworld_frame(gObjectEventPic_Rapidash, 4, 4, 2), + overworld_frame(gObjectEventPic_Rapidash, 4, 4, 3), + overworld_frame(gObjectEventPic_Rapidash, 4, 4, 4), + overworld_frame(gObjectEventPic_Rapidash, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Slowpoke[] = { + overworld_frame(gObjectEventPic_Slowpoke, 4, 4, 0), + overworld_frame(gObjectEventPic_Slowpoke, 4, 4, 1), + overworld_frame(gObjectEventPic_Slowpoke, 4, 4, 2), + overworld_frame(gObjectEventPic_Slowpoke, 4, 4, 3), + overworld_frame(gObjectEventPic_Slowpoke, 4, 4, 4), + overworld_frame(gObjectEventPic_Slowpoke, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Slowbro[] = { + overworld_frame(gObjectEventPic_Slowbro, 4, 4, 0), + overworld_frame(gObjectEventPic_Slowbro, 4, 4, 1), + overworld_frame(gObjectEventPic_Slowbro, 4, 4, 2), + overworld_frame(gObjectEventPic_Slowbro, 4, 4, 3), + overworld_frame(gObjectEventPic_Slowbro, 4, 4, 4), + overworld_frame(gObjectEventPic_Slowbro, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Magnemite[] = { + overworld_frame(gObjectEventPic_Magnemite, 4, 4, 0), + overworld_frame(gObjectEventPic_Magnemite, 4, 4, 1), + overworld_frame(gObjectEventPic_Magnemite, 4, 4, 2), + overworld_frame(gObjectEventPic_Magnemite, 4, 4, 3), + overworld_frame(gObjectEventPic_Magnemite, 4, 4, 4), + overworld_frame(gObjectEventPic_Magnemite, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Magneton[] = { + overworld_frame(gObjectEventPic_Magneton, 4, 4, 0), + overworld_frame(gObjectEventPic_Magneton, 4, 4, 1), + overworld_frame(gObjectEventPic_Magneton, 4, 4, 2), + overworld_frame(gObjectEventPic_Magneton, 4, 4, 3), + overworld_frame(gObjectEventPic_Magneton, 4, 4, 4), + overworld_frame(gObjectEventPic_Magneton, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Farfetchd[] = { + overworld_frame(gObjectEventPic_Farfetchd, 4, 4, 0), + overworld_frame(gObjectEventPic_Farfetchd, 4, 4, 1), + overworld_frame(gObjectEventPic_Farfetchd, 4, 4, 2), + overworld_frame(gObjectEventPic_Farfetchd, 4, 4, 3), + overworld_frame(gObjectEventPic_Farfetchd, 4, 4, 4), + overworld_frame(gObjectEventPic_Farfetchd, 4, 4, 5), + overworld_frame(gObjectEventPic_Farfetchd, 4, 4, 6), + overworld_frame(gObjectEventPic_Farfetchd, 4, 4, 7), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Doduo[] = { + overworld_frame(gObjectEventPic_Doduo, 4, 4, 0), + overworld_frame(gObjectEventPic_Doduo, 4, 4, 1), + overworld_frame(gObjectEventPic_Doduo, 4, 4, 2), + overworld_frame(gObjectEventPic_Doduo, 4, 4, 3), + overworld_frame(gObjectEventPic_Doduo, 4, 4, 4), + overworld_frame(gObjectEventPic_Doduo, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Dodrio[] = { + overworld_frame(gObjectEventPic_Dodrio, 4, 4, 0), + overworld_frame(gObjectEventPic_Dodrio, 4, 4, 1), + overworld_frame(gObjectEventPic_Dodrio, 4, 4, 2), + overworld_frame(gObjectEventPic_Dodrio, 4, 4, 3), + overworld_frame(gObjectEventPic_Dodrio, 4, 4, 4), + overworld_frame(gObjectEventPic_Dodrio, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Seel[] = { + overworld_frame(gObjectEventPic_Seel, 4, 4, 0), + overworld_frame(gObjectEventPic_Seel, 4, 4, 1), + overworld_frame(gObjectEventPic_Seel, 4, 4, 2), + overworld_frame(gObjectEventPic_Seel, 4, 4, 3), + overworld_frame(gObjectEventPic_Seel, 4, 4, 4), + overworld_frame(gObjectEventPic_Seel, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Dewgong[] = { + overworld_frame(gObjectEventPic_Dewgong, 4, 4, 0), + overworld_frame(gObjectEventPic_Dewgong, 4, 4, 1), + overworld_frame(gObjectEventPic_Dewgong, 4, 4, 2), + overworld_frame(gObjectEventPic_Dewgong, 4, 4, 3), + overworld_frame(gObjectEventPic_Dewgong, 4, 4, 4), + overworld_frame(gObjectEventPic_Dewgong, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Grimer[] = { + overworld_frame(gObjectEventPic_Grimer, 4, 4, 0), + overworld_frame(gObjectEventPic_Grimer, 4, 4, 1), + overworld_frame(gObjectEventPic_Grimer, 4, 4, 2), + overworld_frame(gObjectEventPic_Grimer, 4, 4, 3), + overworld_frame(gObjectEventPic_Grimer, 4, 4, 4), + overworld_frame(gObjectEventPic_Grimer, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Muk[] = { + overworld_frame(gObjectEventPic_Muk, 4, 4, 0), + overworld_frame(gObjectEventPic_Muk, 4, 4, 1), + overworld_frame(gObjectEventPic_Muk, 4, 4, 2), + overworld_frame(gObjectEventPic_Muk, 4, 4, 3), + overworld_frame(gObjectEventPic_Muk, 4, 4, 4), + overworld_frame(gObjectEventPic_Muk, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Shellder[] = { + overworld_frame(gObjectEventPic_Shellder, 4, 4, 0), + overworld_frame(gObjectEventPic_Shellder, 4, 4, 1), + overworld_frame(gObjectEventPic_Shellder, 4, 4, 2), + overworld_frame(gObjectEventPic_Shellder, 4, 4, 3), + overworld_frame(gObjectEventPic_Shellder, 4, 4, 4), + overworld_frame(gObjectEventPic_Shellder, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Cloyster[] = { + overworld_frame(gObjectEventPic_Cloyster, 4, 4, 0), + overworld_frame(gObjectEventPic_Cloyster, 4, 4, 1), + overworld_frame(gObjectEventPic_Cloyster, 4, 4, 2), + overworld_frame(gObjectEventPic_Cloyster, 4, 4, 3), + overworld_frame(gObjectEventPic_Cloyster, 4, 4, 4), + overworld_frame(gObjectEventPic_Cloyster, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Gastly[] = { + overworld_frame(gObjectEventPic_Gastly, 4, 4, 0), + overworld_frame(gObjectEventPic_Gastly, 4, 4, 1), + overworld_frame(gObjectEventPic_Gastly, 4, 4, 2), + overworld_frame(gObjectEventPic_Gastly, 4, 4, 3), + overworld_frame(gObjectEventPic_Gastly, 4, 4, 4), + overworld_frame(gObjectEventPic_Gastly, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Haunter[] = { + overworld_frame(gObjectEventPic_Haunter, 4, 4, 0), + overworld_frame(gObjectEventPic_Haunter, 4, 4, 1), + overworld_frame(gObjectEventPic_Haunter, 4, 4, 2), + overworld_frame(gObjectEventPic_Haunter, 4, 4, 3), + overworld_frame(gObjectEventPic_Haunter, 4, 4, 4), + overworld_frame(gObjectEventPic_Haunter, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Gengar[] = { + overworld_frame(gObjectEventPic_Gengar, 4, 4, 0), + overworld_frame(gObjectEventPic_Gengar, 4, 4, 1), + overworld_frame(gObjectEventPic_Gengar, 4, 4, 2), + overworld_frame(gObjectEventPic_Gengar, 4, 4, 3), + overworld_frame(gObjectEventPic_Gengar, 4, 4, 4), + overworld_frame(gObjectEventPic_Gengar, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Onix[] = { + overworld_frame(gObjectEventPic_Onix, 4, 4, 0), + overworld_frame(gObjectEventPic_Onix, 4, 4, 1), + overworld_frame(gObjectEventPic_Onix, 4, 4, 2), + overworld_frame(gObjectEventPic_Onix, 4, 4, 3), + overworld_frame(gObjectEventPic_Onix, 4, 4, 4), + overworld_frame(gObjectEventPic_Onix, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Drowzee[] = { + overworld_frame(gObjectEventPic_Drowzee, 4, 4, 0), + overworld_frame(gObjectEventPic_Drowzee, 4, 4, 1), + overworld_frame(gObjectEventPic_Drowzee, 4, 4, 2), + overworld_frame(gObjectEventPic_Drowzee, 4, 4, 3), + overworld_frame(gObjectEventPic_Drowzee, 4, 4, 4), + overworld_frame(gObjectEventPic_Drowzee, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Hypno[] = { + overworld_frame(gObjectEventPic_Hypno, 4, 4, 0), + overworld_frame(gObjectEventPic_Hypno, 4, 4, 1), + overworld_frame(gObjectEventPic_Hypno, 4, 4, 2), + overworld_frame(gObjectEventPic_Hypno, 4, 4, 3), + overworld_frame(gObjectEventPic_Hypno, 4, 4, 4), + overworld_frame(gObjectEventPic_Hypno, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Krabby[] = { + overworld_frame(gObjectEventPic_Krabby, 4, 4, 0), + overworld_frame(gObjectEventPic_Krabby, 4, 4, 1), + overworld_frame(gObjectEventPic_Krabby, 4, 4, 2), + overworld_frame(gObjectEventPic_Krabby, 4, 4, 3), + overworld_frame(gObjectEventPic_Krabby, 4, 4, 4), + overworld_frame(gObjectEventPic_Krabby, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Kingler[] = { + overworld_frame(gObjectEventPic_Kingler, 4, 4, 0), + overworld_frame(gObjectEventPic_Kingler, 4, 4, 1), + overworld_frame(gObjectEventPic_Kingler, 4, 4, 2), + overworld_frame(gObjectEventPic_Kingler, 4, 4, 3), + overworld_frame(gObjectEventPic_Kingler, 4, 4, 4), + overworld_frame(gObjectEventPic_Kingler, 4, 4, 5), + overworld_frame(gObjectEventPic_Kingler, 4, 4, 6), + overworld_frame(gObjectEventPic_Kingler, 4, 4, 7), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Voltorb[] = { + overworld_frame(gObjectEventPic_Voltorb, 4, 4, 0), + overworld_frame(gObjectEventPic_Voltorb, 4, 4, 1), + overworld_frame(gObjectEventPic_Voltorb, 4, 4, 2), + overworld_frame(gObjectEventPic_Voltorb, 4, 4, 3), + overworld_frame(gObjectEventPic_Voltorb, 4, 4, 4), + overworld_frame(gObjectEventPic_Voltorb, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Electrode[] = { + overworld_frame(gObjectEventPic_Electrode, 4, 4, 0), + overworld_frame(gObjectEventPic_Electrode, 4, 4, 1), + overworld_frame(gObjectEventPic_Electrode, 4, 4, 2), + overworld_frame(gObjectEventPic_Electrode, 4, 4, 3), + overworld_frame(gObjectEventPic_Electrode, 4, 4, 4), + overworld_frame(gObjectEventPic_Electrode, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Exeggcute[] = { + overworld_frame(gObjectEventPic_Exeggcute, 4, 4, 0), + overworld_frame(gObjectEventPic_Exeggcute, 4, 4, 1), + overworld_frame(gObjectEventPic_Exeggcute, 4, 4, 2), + overworld_frame(gObjectEventPic_Exeggcute, 4, 4, 3), + overworld_frame(gObjectEventPic_Exeggcute, 4, 4, 4), + overworld_frame(gObjectEventPic_Exeggcute, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Exeggutor[] = { + overworld_frame(gObjectEventPic_Exeggutor, 4, 4, 0), + overworld_frame(gObjectEventPic_Exeggutor, 4, 4, 1), + overworld_frame(gObjectEventPic_Exeggutor, 4, 4, 2), + overworld_frame(gObjectEventPic_Exeggutor, 4, 4, 3), + overworld_frame(gObjectEventPic_Exeggutor, 4, 4, 4), + overworld_frame(gObjectEventPic_Exeggutor, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Cubone[] = { + overworld_frame(gObjectEventPic_Cubone, 4, 4, 0), + overworld_frame(gObjectEventPic_Cubone, 4, 4, 1), + overworld_frame(gObjectEventPic_Cubone, 4, 4, 2), + overworld_frame(gObjectEventPic_Cubone, 4, 4, 3), + overworld_frame(gObjectEventPic_Cubone, 4, 4, 4), + overworld_frame(gObjectEventPic_Cubone, 4, 4, 5), + overworld_frame(gObjectEventPic_Cubone, 4, 4, 6), + overworld_frame(gObjectEventPic_Cubone, 4, 4, 7), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Marowak[] = { + overworld_frame(gObjectEventPic_Marowak, 4, 4, 0), + overworld_frame(gObjectEventPic_Marowak, 4, 4, 1), + overworld_frame(gObjectEventPic_Marowak, 4, 4, 2), + overworld_frame(gObjectEventPic_Marowak, 4, 4, 3), + overworld_frame(gObjectEventPic_Marowak, 4, 4, 4), + overworld_frame(gObjectEventPic_Marowak, 4, 4, 5), + overworld_frame(gObjectEventPic_Marowak, 4, 4, 6), + overworld_frame(gObjectEventPic_Marowak, 4, 4, 7), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Hitmonlee[] = { + overworld_frame(gObjectEventPic_Hitmonlee, 4, 4, 0), + overworld_frame(gObjectEventPic_Hitmonlee, 4, 4, 1), + overworld_frame(gObjectEventPic_Hitmonlee, 4, 4, 2), + overworld_frame(gObjectEventPic_Hitmonlee, 4, 4, 3), + overworld_frame(gObjectEventPic_Hitmonlee, 4, 4, 4), + overworld_frame(gObjectEventPic_Hitmonlee, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Hitmonchan[] = { + overworld_frame(gObjectEventPic_Hitmonchan, 4, 4, 0), + overworld_frame(gObjectEventPic_Hitmonchan, 4, 4, 1), + overworld_frame(gObjectEventPic_Hitmonchan, 4, 4, 2), + overworld_frame(gObjectEventPic_Hitmonchan, 4, 4, 3), + overworld_frame(gObjectEventPic_Hitmonchan, 4, 4, 4), + overworld_frame(gObjectEventPic_Hitmonchan, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Lickitung[] = { + overworld_frame(gObjectEventPic_Lickitung, 4, 4, 0), + overworld_frame(gObjectEventPic_Lickitung, 4, 4, 1), + overworld_frame(gObjectEventPic_Lickitung, 4, 4, 2), + overworld_frame(gObjectEventPic_Lickitung, 4, 4, 3), + overworld_frame(gObjectEventPic_Lickitung, 4, 4, 4), + overworld_frame(gObjectEventPic_Lickitung, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Koffing[] = { + overworld_frame(gObjectEventPic_Koffing, 4, 4, 0), + overworld_frame(gObjectEventPic_Koffing, 4, 4, 1), + overworld_frame(gObjectEventPic_Koffing, 4, 4, 2), + overworld_frame(gObjectEventPic_Koffing, 4, 4, 3), + overworld_frame(gObjectEventPic_Koffing, 4, 4, 4), + overworld_frame(gObjectEventPic_Koffing, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Weezing[] = { + overworld_frame(gObjectEventPic_Weezing, 4, 4, 0), + overworld_frame(gObjectEventPic_Weezing, 4, 4, 1), + overworld_frame(gObjectEventPic_Weezing, 4, 4, 2), + overworld_frame(gObjectEventPic_Weezing, 4, 4, 3), + overworld_frame(gObjectEventPic_Weezing, 4, 4, 4), + overworld_frame(gObjectEventPic_Weezing, 4, 4, 5), + overworld_frame(gObjectEventPic_Weezing, 4, 4, 6), + overworld_frame(gObjectEventPic_Weezing, 4, 4, 7), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Rhyhorn[] = { + overworld_frame(gObjectEventPic_Rhyhorn, 4, 4, 0), + overworld_frame(gObjectEventPic_Rhyhorn, 4, 4, 1), + overworld_frame(gObjectEventPic_Rhyhorn, 4, 4, 2), + overworld_frame(gObjectEventPic_Rhyhorn, 4, 4, 3), + overworld_frame(gObjectEventPic_Rhyhorn, 4, 4, 4), + overworld_frame(gObjectEventPic_Rhyhorn, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Rhydon[] = { + overworld_frame(gObjectEventPic_Rhydon, 4, 4, 0), + overworld_frame(gObjectEventPic_Rhydon, 4, 4, 1), + overworld_frame(gObjectEventPic_Rhydon, 4, 4, 2), + overworld_frame(gObjectEventPic_Rhydon, 4, 4, 3), + overworld_frame(gObjectEventPic_Rhydon, 4, 4, 4), + overworld_frame(gObjectEventPic_Rhydon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Chansey[] = { + overworld_frame(gObjectEventPic_Chansey, 4, 4, 0), + overworld_frame(gObjectEventPic_Chansey, 4, 4, 1), + overworld_frame(gObjectEventPic_Chansey, 4, 4, 2), + overworld_frame(gObjectEventPic_Chansey, 4, 4, 3), + overworld_frame(gObjectEventPic_Chansey, 4, 4, 4), + overworld_frame(gObjectEventPic_Chansey, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Tangela[] = { + overworld_frame(gObjectEventPic_Tangela, 4, 4, 0), + overworld_frame(gObjectEventPic_Tangela, 4, 4, 1), + overworld_frame(gObjectEventPic_Tangela, 4, 4, 2), + overworld_frame(gObjectEventPic_Tangela, 4, 4, 3), + overworld_frame(gObjectEventPic_Tangela, 4, 4, 4), + overworld_frame(gObjectEventPic_Tangela, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Kangaskhan[] = { + overworld_frame(gObjectEventPic_Kangaskhan, 4, 4, 0), + overworld_frame(gObjectEventPic_Kangaskhan, 4, 4, 1), + overworld_frame(gObjectEventPic_Kangaskhan, 4, 4, 2), + overworld_frame(gObjectEventPic_Kangaskhan, 4, 4, 3), + overworld_frame(gObjectEventPic_Kangaskhan, 4, 4, 4), + overworld_frame(gObjectEventPic_Kangaskhan, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Horsea[] = { + overworld_frame(gObjectEventPic_Horsea, 4, 4, 0), + overworld_frame(gObjectEventPic_Horsea, 4, 4, 1), + overworld_frame(gObjectEventPic_Horsea, 4, 4, 2), + overworld_frame(gObjectEventPic_Horsea, 4, 4, 3), + overworld_frame(gObjectEventPic_Horsea, 4, 4, 4), + overworld_frame(gObjectEventPic_Horsea, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Seadra[] = { + overworld_frame(gObjectEventPic_Seadra, 4, 4, 0), + overworld_frame(gObjectEventPic_Seadra, 4, 4, 1), + overworld_frame(gObjectEventPic_Seadra, 4, 4, 2), + overworld_frame(gObjectEventPic_Seadra, 4, 4, 3), + overworld_frame(gObjectEventPic_Seadra, 4, 4, 4), + overworld_frame(gObjectEventPic_Seadra, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Goldeen[] = { + overworld_frame(gObjectEventPic_Goldeen, 4, 4, 0), + overworld_frame(gObjectEventPic_Goldeen, 4, 4, 1), + overworld_frame(gObjectEventPic_Goldeen, 4, 4, 2), + overworld_frame(gObjectEventPic_Goldeen, 4, 4, 3), + overworld_frame(gObjectEventPic_Goldeen, 4, 4, 4), + overworld_frame(gObjectEventPic_Goldeen, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Seaking[] = { + overworld_frame(gObjectEventPic_Seaking, 4, 4, 0), + overworld_frame(gObjectEventPic_Seaking, 4, 4, 1), + overworld_frame(gObjectEventPic_Seaking, 4, 4, 2), + overworld_frame(gObjectEventPic_Seaking, 4, 4, 3), + overworld_frame(gObjectEventPic_Seaking, 4, 4, 4), + overworld_frame(gObjectEventPic_Seaking, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Staryu[] = { + overworld_frame(gObjectEventPic_Staryu, 4, 4, 0), + overworld_frame(gObjectEventPic_Staryu, 4, 4, 1), + overworld_frame(gObjectEventPic_Staryu, 4, 4, 2), + overworld_frame(gObjectEventPic_Staryu, 4, 4, 3), + overworld_frame(gObjectEventPic_Staryu, 4, 4, 4), + overworld_frame(gObjectEventPic_Staryu, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Starmie[] = { + overworld_frame(gObjectEventPic_Starmie, 4, 4, 0), + overworld_frame(gObjectEventPic_Starmie, 4, 4, 1), + overworld_frame(gObjectEventPic_Starmie, 4, 4, 2), + overworld_frame(gObjectEventPic_Starmie, 4, 4, 3), + overworld_frame(gObjectEventPic_Starmie, 4, 4, 4), + overworld_frame(gObjectEventPic_Starmie, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Mr_Mime[] = { + overworld_frame(gObjectEventPic_Mr_Mime, 4, 4, 0), + overworld_frame(gObjectEventPic_Mr_Mime, 4, 4, 1), + overworld_frame(gObjectEventPic_Mr_Mime, 4, 4, 2), + overworld_frame(gObjectEventPic_Mr_Mime, 4, 4, 3), + overworld_frame(gObjectEventPic_Mr_Mime, 4, 4, 4), + overworld_frame(gObjectEventPic_Mr_Mime, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Scyther[] = { + overworld_frame(gObjectEventPic_Scyther, 4, 4, 0), + overworld_frame(gObjectEventPic_Scyther, 4, 4, 1), + overworld_frame(gObjectEventPic_Scyther, 4, 4, 2), + overworld_frame(gObjectEventPic_Scyther, 4, 4, 3), + overworld_frame(gObjectEventPic_Scyther, 4, 4, 4), + overworld_frame(gObjectEventPic_Scyther, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Jynx[] = { + overworld_frame(gObjectEventPic_Jynx, 4, 4, 0), + overworld_frame(gObjectEventPic_Jynx, 4, 4, 1), + overworld_frame(gObjectEventPic_Jynx, 4, 4, 2), + overworld_frame(gObjectEventPic_Jynx, 4, 4, 3), + overworld_frame(gObjectEventPic_Jynx, 4, 4, 4), + overworld_frame(gObjectEventPic_Jynx, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Electabuzz[] = { + overworld_frame(gObjectEventPic_Electabuzz, 4, 4, 0), + overworld_frame(gObjectEventPic_Electabuzz, 4, 4, 1), + overworld_frame(gObjectEventPic_Electabuzz, 4, 4, 2), + overworld_frame(gObjectEventPic_Electabuzz, 4, 4, 3), + overworld_frame(gObjectEventPic_Electabuzz, 4, 4, 4), + overworld_frame(gObjectEventPic_Electabuzz, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Magmar[] = { + overworld_frame(gObjectEventPic_Magmar, 4, 4, 0), + overworld_frame(gObjectEventPic_Magmar, 4, 4, 1), + overworld_frame(gObjectEventPic_Magmar, 4, 4, 2), + overworld_frame(gObjectEventPic_Magmar, 4, 4, 3), + overworld_frame(gObjectEventPic_Magmar, 4, 4, 4), + overworld_frame(gObjectEventPic_Magmar, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Pinsir[] = { + overworld_frame(gObjectEventPic_Pinsir, 4, 4, 0), + overworld_frame(gObjectEventPic_Pinsir, 4, 4, 1), + overworld_frame(gObjectEventPic_Pinsir, 4, 4, 2), + overworld_frame(gObjectEventPic_Pinsir, 4, 4, 3), + overworld_frame(gObjectEventPic_Pinsir, 4, 4, 4), + overworld_frame(gObjectEventPic_Pinsir, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Tauros[] = { + overworld_frame(gObjectEventPic_Tauros, 4, 4, 0), + overworld_frame(gObjectEventPic_Tauros, 4, 4, 1), + overworld_frame(gObjectEventPic_Tauros, 4, 4, 2), + overworld_frame(gObjectEventPic_Tauros, 4, 4, 3), + overworld_frame(gObjectEventPic_Tauros, 4, 4, 4), + overworld_frame(gObjectEventPic_Tauros, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Magikarp[] = { + overworld_frame(gObjectEventPic_Magikarp, 4, 4, 0), + overworld_frame(gObjectEventPic_Magikarp, 4, 4, 1), + overworld_frame(gObjectEventPic_Magikarp, 4, 4, 2), + overworld_frame(gObjectEventPic_Magikarp, 4, 4, 3), + overworld_frame(gObjectEventPic_Magikarp, 4, 4, 4), + overworld_frame(gObjectEventPic_Magikarp, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Gyarados[] = { + overworld_frame(gObjectEventPic_Gyarados, 4, 4, 0), + overworld_frame(gObjectEventPic_Gyarados, 4, 4, 1), + overworld_frame(gObjectEventPic_Gyarados, 4, 4, 2), + overworld_frame(gObjectEventPic_Gyarados, 4, 4, 3), + overworld_frame(gObjectEventPic_Gyarados, 4, 4, 4), + overworld_frame(gObjectEventPic_Gyarados, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Lapras[] = { + overworld_frame(gObjectEventPic_Lapras, 4, 4, 0), + overworld_frame(gObjectEventPic_Lapras, 4, 4, 1), + overworld_frame(gObjectEventPic_Lapras, 4, 4, 2), + overworld_frame(gObjectEventPic_Lapras, 4, 4, 3), + overworld_frame(gObjectEventPic_Lapras, 4, 4, 4), + overworld_frame(gObjectEventPic_Lapras, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ditto[] = { + overworld_frame(gObjectEventPic_Ditto, 4, 4, 0), + overworld_frame(gObjectEventPic_Ditto, 4, 4, 1), + overworld_frame(gObjectEventPic_Ditto, 4, 4, 2), + overworld_frame(gObjectEventPic_Ditto, 4, 4, 3), + overworld_frame(gObjectEventPic_Ditto, 4, 4, 4), + overworld_frame(gObjectEventPic_Ditto, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Eevee[] = { + overworld_frame(gObjectEventPic_Eevee, 4, 4, 0), + overworld_frame(gObjectEventPic_Eevee, 4, 4, 1), + overworld_frame(gObjectEventPic_Eevee, 4, 4, 2), + overworld_frame(gObjectEventPic_Eevee, 4, 4, 3), + overworld_frame(gObjectEventPic_Eevee, 4, 4, 4), + overworld_frame(gObjectEventPic_Eevee, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Vaporeon[] = { + overworld_frame(gObjectEventPic_Vaporeon, 4, 4, 0), + overworld_frame(gObjectEventPic_Vaporeon, 4, 4, 1), + overworld_frame(gObjectEventPic_Vaporeon, 4, 4, 2), + overworld_frame(gObjectEventPic_Vaporeon, 4, 4, 3), + overworld_frame(gObjectEventPic_Vaporeon, 4, 4, 4), + overworld_frame(gObjectEventPic_Vaporeon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Jolteon[] = { + overworld_frame(gObjectEventPic_Jolteon, 4, 4, 0), + overworld_frame(gObjectEventPic_Jolteon, 4, 4, 1), + overworld_frame(gObjectEventPic_Jolteon, 4, 4, 2), + overworld_frame(gObjectEventPic_Jolteon, 4, 4, 3), + overworld_frame(gObjectEventPic_Jolteon, 4, 4, 4), + overworld_frame(gObjectEventPic_Jolteon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Flareon[] = { + overworld_frame(gObjectEventPic_Flareon, 4, 4, 0), + overworld_frame(gObjectEventPic_Flareon, 4, 4, 1), + overworld_frame(gObjectEventPic_Flareon, 4, 4, 2), + overworld_frame(gObjectEventPic_Flareon, 4, 4, 3), + overworld_frame(gObjectEventPic_Flareon, 4, 4, 4), + overworld_frame(gObjectEventPic_Flareon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Porygon[] = { + overworld_frame(gObjectEventPic_Porygon, 4, 4, 0), + overworld_frame(gObjectEventPic_Porygon, 4, 4, 1), + overworld_frame(gObjectEventPic_Porygon, 4, 4, 2), + overworld_frame(gObjectEventPic_Porygon, 4, 4, 3), + overworld_frame(gObjectEventPic_Porygon, 4, 4, 4), + overworld_frame(gObjectEventPic_Porygon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Omanyte[] = { + overworld_frame(gObjectEventPic_Omanyte, 4, 4, 0), + overworld_frame(gObjectEventPic_Omanyte, 4, 4, 1), + overworld_frame(gObjectEventPic_Omanyte, 4, 4, 2), + overworld_frame(gObjectEventPic_Omanyte, 4, 4, 3), + overworld_frame(gObjectEventPic_Omanyte, 4, 4, 4), + overworld_frame(gObjectEventPic_Omanyte, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Omastar[] = { + overworld_frame(gObjectEventPic_Omastar, 4, 4, 0), + overworld_frame(gObjectEventPic_Omastar, 4, 4, 1), + overworld_frame(gObjectEventPic_Omastar, 4, 4, 2), + overworld_frame(gObjectEventPic_Omastar, 4, 4, 3), + overworld_frame(gObjectEventPic_Omastar, 4, 4, 4), + overworld_frame(gObjectEventPic_Omastar, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Kabuto[] = { + overworld_frame(gObjectEventPic_Kabuto, 4, 4, 0), + overworld_frame(gObjectEventPic_Kabuto, 4, 4, 1), + overworld_frame(gObjectEventPic_Kabuto, 4, 4, 2), + overworld_frame(gObjectEventPic_Kabuto, 4, 4, 3), + overworld_frame(gObjectEventPic_Kabuto, 4, 4, 4), + overworld_frame(gObjectEventPic_Kabuto, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Kabutops[] = { + overworld_frame(gObjectEventPic_Kabutops, 4, 4, 0), + overworld_frame(gObjectEventPic_Kabutops, 4, 4, 1), + overworld_frame(gObjectEventPic_Kabutops, 4, 4, 2), + overworld_frame(gObjectEventPic_Kabutops, 4, 4, 3), + overworld_frame(gObjectEventPic_Kabutops, 4, 4, 4), + overworld_frame(gObjectEventPic_Kabutops, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Aerodactyl[] = { + overworld_frame(gObjectEventPic_Aerodactyl, 4, 4, 0), + overworld_frame(gObjectEventPic_Aerodactyl, 4, 4, 1), + overworld_frame(gObjectEventPic_Aerodactyl, 4, 4, 2), + overworld_frame(gObjectEventPic_Aerodactyl, 4, 4, 3), + overworld_frame(gObjectEventPic_Aerodactyl, 4, 4, 4), + overworld_frame(gObjectEventPic_Aerodactyl, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Snorlax[] = { + overworld_frame(gObjectEventPic_Snorlax, 4, 4, 0), + overworld_frame(gObjectEventPic_Snorlax, 4, 4, 1), + overworld_frame(gObjectEventPic_Snorlax, 4, 4, 2), + overworld_frame(gObjectEventPic_Snorlax, 4, 4, 3), + overworld_frame(gObjectEventPic_Snorlax, 4, 4, 4), + overworld_frame(gObjectEventPic_Snorlax, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Articuno[] = { + overworld_frame(gObjectEventPic_Articuno, 4, 4, 0), + overworld_frame(gObjectEventPic_Articuno, 4, 4, 1), + overworld_frame(gObjectEventPic_Articuno, 4, 4, 2), + overworld_frame(gObjectEventPic_Articuno, 4, 4, 3), + overworld_frame(gObjectEventPic_Articuno, 4, 4, 4), + overworld_frame(gObjectEventPic_Articuno, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Zapdos[] = { + overworld_frame(gObjectEventPic_Zapdos, 4, 4, 0), + overworld_frame(gObjectEventPic_Zapdos, 4, 4, 1), + overworld_frame(gObjectEventPic_Zapdos, 4, 4, 2), + overworld_frame(gObjectEventPic_Zapdos, 4, 4, 3), + overworld_frame(gObjectEventPic_Zapdos, 4, 4, 4), + overworld_frame(gObjectEventPic_Zapdos, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Moltres[] = { + overworld_frame(gObjectEventPic_Moltres, 4, 4, 0), + overworld_frame(gObjectEventPic_Moltres, 4, 4, 1), + overworld_frame(gObjectEventPic_Moltres, 4, 4, 2), + overworld_frame(gObjectEventPic_Moltres, 4, 4, 3), + overworld_frame(gObjectEventPic_Moltres, 4, 4, 4), + overworld_frame(gObjectEventPic_Moltres, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Dratini[] = { + overworld_frame(gObjectEventPic_Dratini, 4, 4, 0), + overworld_frame(gObjectEventPic_Dratini, 4, 4, 1), + overworld_frame(gObjectEventPic_Dratini, 4, 4, 2), + overworld_frame(gObjectEventPic_Dratini, 4, 4, 3), + overworld_frame(gObjectEventPic_Dratini, 4, 4, 4), + overworld_frame(gObjectEventPic_Dratini, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Dragonair[] = { + overworld_frame(gObjectEventPic_Dragonair, 4, 4, 0), + overworld_frame(gObjectEventPic_Dragonair, 4, 4, 1), + overworld_frame(gObjectEventPic_Dragonair, 4, 4, 2), + overworld_frame(gObjectEventPic_Dragonair, 4, 4, 3), + overworld_frame(gObjectEventPic_Dragonair, 4, 4, 4), + overworld_frame(gObjectEventPic_Dragonair, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Dragonite[] = { + overworld_frame(gObjectEventPic_Dragonite, 4, 4, 0), + overworld_frame(gObjectEventPic_Dragonite, 4, 4, 1), + overworld_frame(gObjectEventPic_Dragonite, 4, 4, 2), + overworld_frame(gObjectEventPic_Dragonite, 4, 4, 3), + overworld_frame(gObjectEventPic_Dragonite, 4, 4, 4), + overworld_frame(gObjectEventPic_Dragonite, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Mewtwo[] = { + overworld_frame(gObjectEventPic_Mewtwo, 4, 4, 0), + overworld_frame(gObjectEventPic_Mewtwo, 4, 4, 1), + overworld_frame(gObjectEventPic_Mewtwo, 4, 4, 2), + overworld_frame(gObjectEventPic_Mewtwo, 4, 4, 3), + overworld_frame(gObjectEventPic_Mewtwo, 4, 4, 4), + overworld_frame(gObjectEventPic_Mewtwo, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Mew_Follower[] = { + overworld_frame(gObjectEventPic_Mew_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Mew_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Mew_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Mew_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Mew_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Mew_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Chikorita[] = { + overworld_frame(gObjectEventPic_Chikorita, 4, 4, 0), + overworld_frame(gObjectEventPic_Chikorita, 4, 4, 1), + overworld_frame(gObjectEventPic_Chikorita, 4, 4, 2), + overworld_frame(gObjectEventPic_Chikorita, 4, 4, 3), + overworld_frame(gObjectEventPic_Chikorita, 4, 4, 4), + overworld_frame(gObjectEventPic_Chikorita, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Bayleef[] = { + overworld_frame(gObjectEventPic_Bayleef, 4, 4, 0), + overworld_frame(gObjectEventPic_Bayleef, 4, 4, 1), + overworld_frame(gObjectEventPic_Bayleef, 4, 4, 2), + overworld_frame(gObjectEventPic_Bayleef, 4, 4, 3), + overworld_frame(gObjectEventPic_Bayleef, 4, 4, 4), + overworld_frame(gObjectEventPic_Bayleef, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Meganium[] = { + overworld_frame(gObjectEventPic_Meganium, 4, 4, 0), + overworld_frame(gObjectEventPic_Meganium, 4, 4, 1), + overworld_frame(gObjectEventPic_Meganium, 4, 4, 2), + overworld_frame(gObjectEventPic_Meganium, 4, 4, 3), + overworld_frame(gObjectEventPic_Meganium, 4, 4, 4), + overworld_frame(gObjectEventPic_Meganium, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Cyndaquil[] = { + overworld_frame(gObjectEventPic_Cyndaquil, 4, 4, 0), + overworld_frame(gObjectEventPic_Cyndaquil, 4, 4, 1), + overworld_frame(gObjectEventPic_Cyndaquil, 4, 4, 2), + overworld_frame(gObjectEventPic_Cyndaquil, 4, 4, 3), + overworld_frame(gObjectEventPic_Cyndaquil, 4, 4, 4), + overworld_frame(gObjectEventPic_Cyndaquil, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Quilava[] = { + overworld_frame(gObjectEventPic_Quilava, 4, 4, 0), + overworld_frame(gObjectEventPic_Quilava, 4, 4, 1), + overworld_frame(gObjectEventPic_Quilava, 4, 4, 2), + overworld_frame(gObjectEventPic_Quilava, 4, 4, 3), + overworld_frame(gObjectEventPic_Quilava, 4, 4, 4), + overworld_frame(gObjectEventPic_Quilava, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Typhlosion[] = { + overworld_frame(gObjectEventPic_Typhlosion, 4, 4, 0), + overworld_frame(gObjectEventPic_Typhlosion, 4, 4, 1), + overworld_frame(gObjectEventPic_Typhlosion, 4, 4, 2), + overworld_frame(gObjectEventPic_Typhlosion, 4, 4, 3), + overworld_frame(gObjectEventPic_Typhlosion, 4, 4, 4), + overworld_frame(gObjectEventPic_Typhlosion, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Totodile[] = { + overworld_frame(gObjectEventPic_Totodile, 4, 4, 0), + overworld_frame(gObjectEventPic_Totodile, 4, 4, 1), + overworld_frame(gObjectEventPic_Totodile, 4, 4, 2), + overworld_frame(gObjectEventPic_Totodile, 4, 4, 3), + overworld_frame(gObjectEventPic_Totodile, 4, 4, 4), + overworld_frame(gObjectEventPic_Totodile, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Croconaw[] = { + overworld_frame(gObjectEventPic_Croconaw, 4, 4, 0), + overworld_frame(gObjectEventPic_Croconaw, 4, 4, 1), + overworld_frame(gObjectEventPic_Croconaw, 4, 4, 2), + overworld_frame(gObjectEventPic_Croconaw, 4, 4, 3), + overworld_frame(gObjectEventPic_Croconaw, 4, 4, 4), + overworld_frame(gObjectEventPic_Croconaw, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Feraligatr[] = { + overworld_frame(gObjectEventPic_Feraligatr, 4, 4, 0), + overworld_frame(gObjectEventPic_Feraligatr, 4, 4, 1), + overworld_frame(gObjectEventPic_Feraligatr, 4, 4, 2), + overworld_frame(gObjectEventPic_Feraligatr, 4, 4, 3), + overworld_frame(gObjectEventPic_Feraligatr, 4, 4, 4), + overworld_frame(gObjectEventPic_Feraligatr, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sentret[] = { + overworld_frame(gObjectEventPic_Sentret, 4, 4, 0), + overworld_frame(gObjectEventPic_Sentret, 4, 4, 1), + overworld_frame(gObjectEventPic_Sentret, 4, 4, 2), + overworld_frame(gObjectEventPic_Sentret, 4, 4, 3), + overworld_frame(gObjectEventPic_Sentret, 4, 4, 4), + overworld_frame(gObjectEventPic_Sentret, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Furret[] = { + overworld_frame(gObjectEventPic_Furret, 4, 4, 0), + overworld_frame(gObjectEventPic_Furret, 4, 4, 1), + overworld_frame(gObjectEventPic_Furret, 4, 4, 2), + overworld_frame(gObjectEventPic_Furret, 4, 4, 3), + overworld_frame(gObjectEventPic_Furret, 4, 4, 4), + overworld_frame(gObjectEventPic_Furret, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Hoothoot[] = { + overworld_frame(gObjectEventPic_Hoothoot, 4, 4, 0), + overworld_frame(gObjectEventPic_Hoothoot, 4, 4, 1), + overworld_frame(gObjectEventPic_Hoothoot, 4, 4, 2), + overworld_frame(gObjectEventPic_Hoothoot, 4, 4, 3), + overworld_frame(gObjectEventPic_Hoothoot, 4, 4, 4), + overworld_frame(gObjectEventPic_Hoothoot, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Noctowl[] = { + overworld_frame(gObjectEventPic_Noctowl, 4, 4, 0), + overworld_frame(gObjectEventPic_Noctowl, 4, 4, 1), + overworld_frame(gObjectEventPic_Noctowl, 4, 4, 2), + overworld_frame(gObjectEventPic_Noctowl, 4, 4, 3), + overworld_frame(gObjectEventPic_Noctowl, 4, 4, 4), + overworld_frame(gObjectEventPic_Noctowl, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ledyba[] = { + overworld_frame(gObjectEventPic_Ledyba, 4, 4, 0), + overworld_frame(gObjectEventPic_Ledyba, 4, 4, 1), + overworld_frame(gObjectEventPic_Ledyba, 4, 4, 2), + overworld_frame(gObjectEventPic_Ledyba, 4, 4, 3), + overworld_frame(gObjectEventPic_Ledyba, 4, 4, 4), + overworld_frame(gObjectEventPic_Ledyba, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ledian[] = { + overworld_frame(gObjectEventPic_Ledian, 4, 4, 0), + overworld_frame(gObjectEventPic_Ledian, 4, 4, 1), + overworld_frame(gObjectEventPic_Ledian, 4, 4, 2), + overworld_frame(gObjectEventPic_Ledian, 4, 4, 3), + overworld_frame(gObjectEventPic_Ledian, 4, 4, 4), + overworld_frame(gObjectEventPic_Ledian, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Spinarak[] = { + overworld_frame(gObjectEventPic_Spinarak, 4, 4, 0), + overworld_frame(gObjectEventPic_Spinarak, 4, 4, 1), + overworld_frame(gObjectEventPic_Spinarak, 4, 4, 2), + overworld_frame(gObjectEventPic_Spinarak, 4, 4, 3), + overworld_frame(gObjectEventPic_Spinarak, 4, 4, 4), + overworld_frame(gObjectEventPic_Spinarak, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ariados[] = { + overworld_frame(gObjectEventPic_Ariados, 4, 4, 0), + overworld_frame(gObjectEventPic_Ariados, 4, 4, 1), + overworld_frame(gObjectEventPic_Ariados, 4, 4, 2), + overworld_frame(gObjectEventPic_Ariados, 4, 4, 3), + overworld_frame(gObjectEventPic_Ariados, 4, 4, 4), + overworld_frame(gObjectEventPic_Ariados, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Crobat[] = { + overworld_frame(gObjectEventPic_Crobat, 4, 4, 0), + overworld_frame(gObjectEventPic_Crobat, 4, 4, 1), + overworld_frame(gObjectEventPic_Crobat, 4, 4, 2), + overworld_frame(gObjectEventPic_Crobat, 4, 4, 3), + overworld_frame(gObjectEventPic_Crobat, 4, 4, 4), + overworld_frame(gObjectEventPic_Crobat, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Chinchou[] = { + overworld_frame(gObjectEventPic_Chinchou, 4, 4, 0), + overworld_frame(gObjectEventPic_Chinchou, 4, 4, 1), + overworld_frame(gObjectEventPic_Chinchou, 4, 4, 2), + overworld_frame(gObjectEventPic_Chinchou, 4, 4, 3), + overworld_frame(gObjectEventPic_Chinchou, 4, 4, 4), + overworld_frame(gObjectEventPic_Chinchou, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Lanturn[] = { + overworld_frame(gObjectEventPic_Lanturn, 4, 4, 0), + overworld_frame(gObjectEventPic_Lanturn, 4, 4, 1), + overworld_frame(gObjectEventPic_Lanturn, 4, 4, 2), + overworld_frame(gObjectEventPic_Lanturn, 4, 4, 3), + overworld_frame(gObjectEventPic_Lanturn, 4, 4, 4), + overworld_frame(gObjectEventPic_Lanturn, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Pichu[] = { + overworld_frame(gObjectEventPic_Pichu, 4, 4, 0), + overworld_frame(gObjectEventPic_Pichu, 4, 4, 1), + overworld_frame(gObjectEventPic_Pichu, 4, 4, 2), + overworld_frame(gObjectEventPic_Pichu, 4, 4, 3), + overworld_frame(gObjectEventPic_Pichu, 4, 4, 4), + overworld_frame(gObjectEventPic_Pichu, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Cleffa[] = { + overworld_frame(gObjectEventPic_Cleffa, 4, 4, 0), + overworld_frame(gObjectEventPic_Cleffa, 4, 4, 1), + overworld_frame(gObjectEventPic_Cleffa, 4, 4, 2), + overworld_frame(gObjectEventPic_Cleffa, 4, 4, 3), + overworld_frame(gObjectEventPic_Cleffa, 4, 4, 4), + overworld_frame(gObjectEventPic_Cleffa, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Igglybuff[] = { + overworld_frame(gObjectEventPic_Igglybuff, 4, 4, 0), + overworld_frame(gObjectEventPic_Igglybuff, 4, 4, 1), + overworld_frame(gObjectEventPic_Igglybuff, 4, 4, 2), + overworld_frame(gObjectEventPic_Igglybuff, 4, 4, 3), + overworld_frame(gObjectEventPic_Igglybuff, 4, 4, 4), + overworld_frame(gObjectEventPic_Igglybuff, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Togepi[] = { + overworld_frame(gObjectEventPic_Togepi, 4, 4, 0), + overworld_frame(gObjectEventPic_Togepi, 4, 4, 1), + overworld_frame(gObjectEventPic_Togepi, 4, 4, 2), + overworld_frame(gObjectEventPic_Togepi, 4, 4, 3), + overworld_frame(gObjectEventPic_Togepi, 4, 4, 4), + overworld_frame(gObjectEventPic_Togepi, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Togetic[] = { + overworld_frame(gObjectEventPic_Togetic, 4, 4, 0), + overworld_frame(gObjectEventPic_Togetic, 4, 4, 1), + overworld_frame(gObjectEventPic_Togetic, 4, 4, 2), + overworld_frame(gObjectEventPic_Togetic, 4, 4, 3), + overworld_frame(gObjectEventPic_Togetic, 4, 4, 4), + overworld_frame(gObjectEventPic_Togetic, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Natu[] = { + overworld_frame(gObjectEventPic_Natu, 4, 4, 0), + overworld_frame(gObjectEventPic_Natu, 4, 4, 1), + overworld_frame(gObjectEventPic_Natu, 4, 4, 2), + overworld_frame(gObjectEventPic_Natu, 4, 4, 3), + overworld_frame(gObjectEventPic_Natu, 4, 4, 4), + overworld_frame(gObjectEventPic_Natu, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Xatu[] = { + overworld_frame(gObjectEventPic_Xatu, 4, 4, 0), + overworld_frame(gObjectEventPic_Xatu, 4, 4, 1), + overworld_frame(gObjectEventPic_Xatu, 4, 4, 2), + overworld_frame(gObjectEventPic_Xatu, 4, 4, 3), + overworld_frame(gObjectEventPic_Xatu, 4, 4, 4), + overworld_frame(gObjectEventPic_Xatu, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Mareep[] = { + overworld_frame(gObjectEventPic_Mareep, 4, 4, 0), + overworld_frame(gObjectEventPic_Mareep, 4, 4, 1), + overworld_frame(gObjectEventPic_Mareep, 4, 4, 2), + overworld_frame(gObjectEventPic_Mareep, 4, 4, 3), + overworld_frame(gObjectEventPic_Mareep, 4, 4, 4), + overworld_frame(gObjectEventPic_Mareep, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Flaaffy[] = { + overworld_frame(gObjectEventPic_Flaaffy, 4, 4, 0), + overworld_frame(gObjectEventPic_Flaaffy, 4, 4, 1), + overworld_frame(gObjectEventPic_Flaaffy, 4, 4, 2), + overworld_frame(gObjectEventPic_Flaaffy, 4, 4, 3), + overworld_frame(gObjectEventPic_Flaaffy, 4, 4, 4), + overworld_frame(gObjectEventPic_Flaaffy, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ampharos[] = { + overworld_frame(gObjectEventPic_Ampharos, 4, 4, 0), + overworld_frame(gObjectEventPic_Ampharos, 4, 4, 1), + overworld_frame(gObjectEventPic_Ampharos, 4, 4, 2), + overworld_frame(gObjectEventPic_Ampharos, 4, 4, 3), + overworld_frame(gObjectEventPic_Ampharos, 4, 4, 4), + overworld_frame(gObjectEventPic_Ampharos, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Bellossom[] = { + overworld_frame(gObjectEventPic_Bellossom, 4, 4, 0), + overworld_frame(gObjectEventPic_Bellossom, 4, 4, 1), + overworld_frame(gObjectEventPic_Bellossom, 4, 4, 2), + overworld_frame(gObjectEventPic_Bellossom, 4, 4, 3), + overworld_frame(gObjectEventPic_Bellossom, 4, 4, 4), + overworld_frame(gObjectEventPic_Bellossom, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Marill[] = { + overworld_frame(gObjectEventPic_Marill, 4, 4, 0), + overworld_frame(gObjectEventPic_Marill, 4, 4, 1), + overworld_frame(gObjectEventPic_Marill, 4, 4, 2), + overworld_frame(gObjectEventPic_Marill, 4, 4, 3), + overworld_frame(gObjectEventPic_Marill, 4, 4, 4), + overworld_frame(gObjectEventPic_Marill, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Azumarill[] = { + overworld_frame(gObjectEventPic_Azumarill_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Azumarill_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Azumarill_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Azumarill_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Azumarill_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Azumarill_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sudowoodo[] = { + overworld_frame(gObjectEventPic_Sudowoodo_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Sudowoodo_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Sudowoodo_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Sudowoodo_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Sudowoodo_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Sudowoodo_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Politoed[] = { + overworld_frame(gObjectEventPic_Politoed, 4, 4, 0), + overworld_frame(gObjectEventPic_Politoed, 4, 4, 1), + overworld_frame(gObjectEventPic_Politoed, 4, 4, 2), + overworld_frame(gObjectEventPic_Politoed, 4, 4, 3), + overworld_frame(gObjectEventPic_Politoed, 4, 4, 4), + overworld_frame(gObjectEventPic_Politoed, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Hoppip[] = { + overworld_frame(gObjectEventPic_Hoppip, 4, 4, 0), + overworld_frame(gObjectEventPic_Hoppip, 4, 4, 1), + overworld_frame(gObjectEventPic_Hoppip, 4, 4, 2), + overworld_frame(gObjectEventPic_Hoppip, 4, 4, 3), + overworld_frame(gObjectEventPic_Hoppip, 4, 4, 4), + overworld_frame(gObjectEventPic_Hoppip, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Skiploom[] = { + overworld_frame(gObjectEventPic_Skiploom, 4, 4, 0), + overworld_frame(gObjectEventPic_Skiploom, 4, 4, 1), + overworld_frame(gObjectEventPic_Skiploom, 4, 4, 2), + overworld_frame(gObjectEventPic_Skiploom, 4, 4, 3), + overworld_frame(gObjectEventPic_Skiploom, 4, 4, 4), + overworld_frame(gObjectEventPic_Skiploom, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Jumpluff[] = { + overworld_frame(gObjectEventPic_Jumpluff, 4, 4, 0), + overworld_frame(gObjectEventPic_Jumpluff, 4, 4, 1), + overworld_frame(gObjectEventPic_Jumpluff, 4, 4, 2), + overworld_frame(gObjectEventPic_Jumpluff, 4, 4, 3), + overworld_frame(gObjectEventPic_Jumpluff, 4, 4, 4), + overworld_frame(gObjectEventPic_Jumpluff, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Aipom[] = { + overworld_frame(gObjectEventPic_Aipom, 4, 4, 0), + overworld_frame(gObjectEventPic_Aipom, 4, 4, 1), + overworld_frame(gObjectEventPic_Aipom, 4, 4, 2), + overworld_frame(gObjectEventPic_Aipom, 4, 4, 3), + overworld_frame(gObjectEventPic_Aipom, 4, 4, 4), + overworld_frame(gObjectEventPic_Aipom, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sunkern[] = { + overworld_frame(gObjectEventPic_Sunkern, 4, 4, 0), + overworld_frame(gObjectEventPic_Sunkern, 4, 4, 1), + overworld_frame(gObjectEventPic_Sunkern, 4, 4, 2), + overworld_frame(gObjectEventPic_Sunkern, 4, 4, 3), + overworld_frame(gObjectEventPic_Sunkern, 4, 4, 4), + overworld_frame(gObjectEventPic_Sunkern, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sunflora[] = { + overworld_frame(gObjectEventPic_Sunflora, 4, 4, 0), + overworld_frame(gObjectEventPic_Sunflora, 4, 4, 1), + overworld_frame(gObjectEventPic_Sunflora, 4, 4, 2), + overworld_frame(gObjectEventPic_Sunflora, 4, 4, 3), + overworld_frame(gObjectEventPic_Sunflora, 4, 4, 4), + overworld_frame(gObjectEventPic_Sunflora, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Yanma[] = { + overworld_frame(gObjectEventPic_Yanma, 4, 4, 0), + overworld_frame(gObjectEventPic_Yanma, 4, 4, 1), + overworld_frame(gObjectEventPic_Yanma, 4, 4, 2), + overworld_frame(gObjectEventPic_Yanma, 4, 4, 3), + overworld_frame(gObjectEventPic_Yanma, 4, 4, 4), + overworld_frame(gObjectEventPic_Yanma, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wooper[] = { + overworld_frame(gObjectEventPic_Wooper, 4, 4, 0), + overworld_frame(gObjectEventPic_Wooper, 4, 4, 1), + overworld_frame(gObjectEventPic_Wooper, 4, 4, 2), + overworld_frame(gObjectEventPic_Wooper, 4, 4, 3), + overworld_frame(gObjectEventPic_Wooper, 4, 4, 4), + overworld_frame(gObjectEventPic_Wooper, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Quagsire[] = { + overworld_frame(gObjectEventPic_Quagsire, 4, 4, 0), + overworld_frame(gObjectEventPic_Quagsire, 4, 4, 1), + overworld_frame(gObjectEventPic_Quagsire, 4, 4, 2), + overworld_frame(gObjectEventPic_Quagsire, 4, 4, 3), + overworld_frame(gObjectEventPic_Quagsire, 4, 4, 4), + overworld_frame(gObjectEventPic_Quagsire, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Espeon[] = { + overworld_frame(gObjectEventPic_Espeon, 4, 4, 0), + overworld_frame(gObjectEventPic_Espeon, 4, 4, 1), + overworld_frame(gObjectEventPic_Espeon, 4, 4, 2), + overworld_frame(gObjectEventPic_Espeon, 4, 4, 3), + overworld_frame(gObjectEventPic_Espeon, 4, 4, 4), + overworld_frame(gObjectEventPic_Espeon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Umbreon[] = { + overworld_frame(gObjectEventPic_Umbreon, 4, 4, 0), + overworld_frame(gObjectEventPic_Umbreon, 4, 4, 1), + overworld_frame(gObjectEventPic_Umbreon, 4, 4, 2), + overworld_frame(gObjectEventPic_Umbreon, 4, 4, 3), + overworld_frame(gObjectEventPic_Umbreon, 4, 4, 4), + overworld_frame(gObjectEventPic_Umbreon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Murkrow[] = { + overworld_frame(gObjectEventPic_Murkrow, 4, 4, 0), + overworld_frame(gObjectEventPic_Murkrow, 4, 4, 1), + overworld_frame(gObjectEventPic_Murkrow, 4, 4, 2), + overworld_frame(gObjectEventPic_Murkrow, 4, 4, 3), + overworld_frame(gObjectEventPic_Murkrow, 4, 4, 4), + overworld_frame(gObjectEventPic_Murkrow, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Slowking[] = { + overworld_frame(gObjectEventPic_Slowking, 4, 4, 0), + overworld_frame(gObjectEventPic_Slowking, 4, 4, 1), + overworld_frame(gObjectEventPic_Slowking, 4, 4, 2), + overworld_frame(gObjectEventPic_Slowking, 4, 4, 3), + overworld_frame(gObjectEventPic_Slowking, 4, 4, 4), + overworld_frame(gObjectEventPic_Slowking, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Misdreavus[] = { + overworld_frame(gObjectEventPic_Misdreavus, 4, 4, 0), + overworld_frame(gObjectEventPic_Misdreavus, 4, 4, 1), + overworld_frame(gObjectEventPic_Misdreavus, 4, 4, 2), + overworld_frame(gObjectEventPic_Misdreavus, 4, 4, 3), + overworld_frame(gObjectEventPic_Misdreavus, 4, 4, 4), + overworld_frame(gObjectEventPic_Misdreavus, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_A[] = { + overworld_frame(gObjectEventPic_Unown_A, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_A, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_A, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_A, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_A, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_A, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_B[] = { + overworld_frame(gObjectEventPic_Unown_B, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_B, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_B, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_B, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_B, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_B, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_C[] = { + overworld_frame(gObjectEventPic_Unown_C, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_C, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_C, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_C, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_C, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_C, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_D[] = { + overworld_frame(gObjectEventPic_Unown_D, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_D, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_D, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_D, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_D, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_D, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_E[] = { + overworld_frame(gObjectEventPic_Unown_E, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_E, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_E, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_E, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_E, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_E, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_F[] = { + overworld_frame(gObjectEventPic_Unown_F, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_F, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_F, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_F, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_F, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_F, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_G[] = { + overworld_frame(gObjectEventPic_Unown_G, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_G, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_G, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_G, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_G, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_G, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_H[] = { + overworld_frame(gObjectEventPic_Unown_H, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_H, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_H, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_H, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_H, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_H, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_I[] = { + overworld_frame(gObjectEventPic_Unown_I, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_I, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_I, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_I, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_I, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_I, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_J[] = { + overworld_frame(gObjectEventPic_Unown_J, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_J, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_J, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_J, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_J, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_J, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_K[] = { + overworld_frame(gObjectEventPic_Unown_K, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_K, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_K, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_K, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_K, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_K, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_L[] = { + overworld_frame(gObjectEventPic_Unown_L, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_L, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_L, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_L, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_L, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_L, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_M[] = { + overworld_frame(gObjectEventPic_Unown_M, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_M, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_M, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_M, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_M, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_M, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_N[] = { + overworld_frame(gObjectEventPic_Unown_N, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_N, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_N, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_N, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_N, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_N, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_O[] = { + overworld_frame(gObjectEventPic_Unown_O, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_O, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_O, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_O, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_O, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_O, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_P[] = { + overworld_frame(gObjectEventPic_Unown_P, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_P, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_P, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_P, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_P, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_P, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_Q[] = { + overworld_frame(gObjectEventPic_Unown_Q, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_Q, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_Q, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_Q, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_Q, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_Q, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_R[] = { + overworld_frame(gObjectEventPic_Unown_R, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_R, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_R, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_R, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_R, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_R, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_S[] = { + overworld_frame(gObjectEventPic_Unown_S, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_S, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_S, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_S, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_S, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_S, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_T[] = { + overworld_frame(gObjectEventPic_Unown_T, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_T, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_T, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_T, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_T, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_T, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_U[] = { + overworld_frame(gObjectEventPic_Unown_U, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_U, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_U, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_U, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_U, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_U, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_V[] = { + overworld_frame(gObjectEventPic_Unown_V, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_V, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_V, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_V, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_V, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_V, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_W[] = { + overworld_frame(gObjectEventPic_Unown_W, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_W, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_W, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_W, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_W, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_W, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_X[] = { + overworld_frame(gObjectEventPic_Unown_X, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_X, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_X, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_X, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_X, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_X, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_Y[] = { + overworld_frame(gObjectEventPic_Unown_Y, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_Y, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_Y, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_Y, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_Y, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_Y, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_Z[] = { + overworld_frame(gObjectEventPic_Unown_Z, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_Z, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_Z, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_Z, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_Z, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_Z, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_Exclamation[] = { + overworld_frame(gObjectEventPic_Unown_Exclamation, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_Exclamation, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_Exclamation, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_Exclamation, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_Exclamation, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_Exclamation, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Unown_Question[] = { + overworld_frame(gObjectEventPic_Unown_Question, 4, 4, 0), + overworld_frame(gObjectEventPic_Unown_Question, 4, 4, 1), + overworld_frame(gObjectEventPic_Unown_Question, 4, 4, 2), + overworld_frame(gObjectEventPic_Unown_Question, 4, 4, 3), + overworld_frame(gObjectEventPic_Unown_Question, 4, 4, 4), + overworld_frame(gObjectEventPic_Unown_Question, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wobbuffet[] = { + overworld_frame(gObjectEventPic_Wobbuffet, 4, 4, 0), + overworld_frame(gObjectEventPic_Wobbuffet, 4, 4, 1), + overworld_frame(gObjectEventPic_Wobbuffet, 4, 4, 2), + overworld_frame(gObjectEventPic_Wobbuffet, 4, 4, 3), + overworld_frame(gObjectEventPic_Wobbuffet, 4, 4, 4), + overworld_frame(gObjectEventPic_Wobbuffet, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Girafarig[] = { + overworld_frame(gObjectEventPic_Girafarig, 4, 4, 0), + overworld_frame(gObjectEventPic_Girafarig, 4, 4, 1), + overworld_frame(gObjectEventPic_Girafarig, 4, 4, 2), + overworld_frame(gObjectEventPic_Girafarig, 4, 4, 3), + overworld_frame(gObjectEventPic_Girafarig, 4, 4, 4), + overworld_frame(gObjectEventPic_Girafarig, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Pineco[] = { + overworld_frame(gObjectEventPic_Pineco, 4, 4, 0), + overworld_frame(gObjectEventPic_Pineco, 4, 4, 1), + overworld_frame(gObjectEventPic_Pineco, 4, 4, 2), + overworld_frame(gObjectEventPic_Pineco, 4, 4, 3), + overworld_frame(gObjectEventPic_Pineco, 4, 4, 4), + overworld_frame(gObjectEventPic_Pineco, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Forretress[] = { + overworld_frame(gObjectEventPic_Forretress, 4, 4, 0), + overworld_frame(gObjectEventPic_Forretress, 4, 4, 1), + overworld_frame(gObjectEventPic_Forretress, 4, 4, 2), + overworld_frame(gObjectEventPic_Forretress, 4, 4, 3), + overworld_frame(gObjectEventPic_Forretress, 4, 4, 4), + overworld_frame(gObjectEventPic_Forretress, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Dunsparce[] = { + overworld_frame(gObjectEventPic_Dunsparce, 4, 4, 0), + overworld_frame(gObjectEventPic_Dunsparce, 4, 4, 1), + overworld_frame(gObjectEventPic_Dunsparce, 4, 4, 2), + overworld_frame(gObjectEventPic_Dunsparce, 4, 4, 3), + overworld_frame(gObjectEventPic_Dunsparce, 4, 4, 4), + overworld_frame(gObjectEventPic_Dunsparce, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Gligar[] = { + overworld_frame(gObjectEventPic_Gligar, 4, 4, 0), + overworld_frame(gObjectEventPic_Gligar, 4, 4, 1), + overworld_frame(gObjectEventPic_Gligar, 4, 4, 2), + overworld_frame(gObjectEventPic_Gligar, 4, 4, 3), + overworld_frame(gObjectEventPic_Gligar, 4, 4, 4), + overworld_frame(gObjectEventPic_Gligar, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Steelix[] = { + overworld_frame(gObjectEventPic_Steelix, 8, 8, 0), + overworld_frame(gObjectEventPic_Steelix, 8, 8, 1), + overworld_frame(gObjectEventPic_Steelix, 8, 8, 2), + overworld_frame(gObjectEventPic_Steelix, 8, 8, 3), + overworld_frame(gObjectEventPic_Steelix, 8, 8, 4), + overworld_frame(gObjectEventPic_Steelix, 8, 8, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Snubbull[] = { + overworld_frame(gObjectEventPic_Snubbull, 4, 4, 0), + overworld_frame(gObjectEventPic_Snubbull, 4, 4, 1), + overworld_frame(gObjectEventPic_Snubbull, 4, 4, 2), + overworld_frame(gObjectEventPic_Snubbull, 4, 4, 3), + overworld_frame(gObjectEventPic_Snubbull, 4, 4, 4), + overworld_frame(gObjectEventPic_Snubbull, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Granbull[] = { + overworld_frame(gObjectEventPic_Granbull, 4, 4, 0), + overworld_frame(gObjectEventPic_Granbull, 4, 4, 1), + overworld_frame(gObjectEventPic_Granbull, 4, 4, 2), + overworld_frame(gObjectEventPic_Granbull, 4, 4, 3), + overworld_frame(gObjectEventPic_Granbull, 4, 4, 4), + overworld_frame(gObjectEventPic_Granbull, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Qwilfish[] = { + overworld_frame(gObjectEventPic_Qwilfish, 4, 4, 0), + overworld_frame(gObjectEventPic_Qwilfish, 4, 4, 1), + overworld_frame(gObjectEventPic_Qwilfish, 4, 4, 2), + overworld_frame(gObjectEventPic_Qwilfish, 4, 4, 3), + overworld_frame(gObjectEventPic_Qwilfish, 4, 4, 4), + overworld_frame(gObjectEventPic_Qwilfish, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Scizor[] = { + overworld_frame(gObjectEventPic_Scizor, 4, 4, 0), + overworld_frame(gObjectEventPic_Scizor, 4, 4, 1), + overworld_frame(gObjectEventPic_Scizor, 4, 4, 2), + overworld_frame(gObjectEventPic_Scizor, 4, 4, 3), + overworld_frame(gObjectEventPic_Scizor, 4, 4, 4), + overworld_frame(gObjectEventPic_Scizor, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Shuckle[] = { + overworld_frame(gObjectEventPic_Shuckle, 4, 4, 0), + overworld_frame(gObjectEventPic_Shuckle, 4, 4, 1), + overworld_frame(gObjectEventPic_Shuckle, 4, 4, 2), + overworld_frame(gObjectEventPic_Shuckle, 4, 4, 3), + overworld_frame(gObjectEventPic_Shuckle, 4, 4, 4), + overworld_frame(gObjectEventPic_Shuckle, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Heracross[] = { + overworld_frame(gObjectEventPic_Heracross, 4, 4, 0), + overworld_frame(gObjectEventPic_Heracross, 4, 4, 1), + overworld_frame(gObjectEventPic_Heracross, 4, 4, 2), + overworld_frame(gObjectEventPic_Heracross, 4, 4, 3), + overworld_frame(gObjectEventPic_Heracross, 4, 4, 4), + overworld_frame(gObjectEventPic_Heracross, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sneasel[] = { + overworld_frame(gObjectEventPic_Sneasel, 4, 4, 0), + overworld_frame(gObjectEventPic_Sneasel, 4, 4, 1), + overworld_frame(gObjectEventPic_Sneasel, 4, 4, 2), + overworld_frame(gObjectEventPic_Sneasel, 4, 4, 3), + overworld_frame(gObjectEventPic_Sneasel, 4, 4, 4), + overworld_frame(gObjectEventPic_Sneasel, 4, 4, 5), + overworld_frame(gObjectEventPic_Sneasel, 4, 4, 6), + overworld_frame(gObjectEventPic_Sneasel, 4, 4, 7), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Teddiursa[] = { + overworld_frame(gObjectEventPic_Teddiursa, 4, 4, 0), + overworld_frame(gObjectEventPic_Teddiursa, 4, 4, 1), + overworld_frame(gObjectEventPic_Teddiursa, 4, 4, 2), + overworld_frame(gObjectEventPic_Teddiursa, 4, 4, 3), + overworld_frame(gObjectEventPic_Teddiursa, 4, 4, 4), + overworld_frame(gObjectEventPic_Teddiursa, 4, 4, 5), + overworld_frame(gObjectEventPic_Teddiursa, 4, 4, 6), + overworld_frame(gObjectEventPic_Teddiursa, 4, 4, 7), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ursaring[] = { + overworld_frame(gObjectEventPic_Ursaring, 4, 4, 0), + overworld_frame(gObjectEventPic_Ursaring, 4, 4, 1), + overworld_frame(gObjectEventPic_Ursaring, 4, 4, 2), + overworld_frame(gObjectEventPic_Ursaring, 4, 4, 3), + overworld_frame(gObjectEventPic_Ursaring, 4, 4, 4), + overworld_frame(gObjectEventPic_Ursaring, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Slugma[] = { + overworld_frame(gObjectEventPic_Slugma, 4, 4, 0), + overworld_frame(gObjectEventPic_Slugma, 4, 4, 1), + overworld_frame(gObjectEventPic_Slugma, 4, 4, 2), + overworld_frame(gObjectEventPic_Slugma, 4, 4, 3), + overworld_frame(gObjectEventPic_Slugma, 4, 4, 4), + overworld_frame(gObjectEventPic_Slugma, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Magcargo[] = { + overworld_frame(gObjectEventPic_Magcargo, 4, 4, 0), + overworld_frame(gObjectEventPic_Magcargo, 4, 4, 1), + overworld_frame(gObjectEventPic_Magcargo, 4, 4, 2), + overworld_frame(gObjectEventPic_Magcargo, 4, 4, 3), + overworld_frame(gObjectEventPic_Magcargo, 4, 4, 4), + overworld_frame(gObjectEventPic_Magcargo, 4, 4, 5), + overworld_frame(gObjectEventPic_Magcargo, 4, 4, 6), + overworld_frame(gObjectEventPic_Magcargo, 4, 4, 7), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Swinub[] = { + overworld_frame(gObjectEventPic_Swinub, 4, 4, 0), + overworld_frame(gObjectEventPic_Swinub, 4, 4, 1), + overworld_frame(gObjectEventPic_Swinub, 4, 4, 2), + overworld_frame(gObjectEventPic_Swinub, 4, 4, 3), + overworld_frame(gObjectEventPic_Swinub, 4, 4, 4), + overworld_frame(gObjectEventPic_Swinub, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Piloswine[] = { + overworld_frame(gObjectEventPic_Piloswine, 4, 4, 0), + overworld_frame(gObjectEventPic_Piloswine, 4, 4, 1), + overworld_frame(gObjectEventPic_Piloswine, 4, 4, 2), + overworld_frame(gObjectEventPic_Piloswine, 4, 4, 3), + overworld_frame(gObjectEventPic_Piloswine, 4, 4, 4), + overworld_frame(gObjectEventPic_Piloswine, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Corsola[] = { + overworld_frame(gObjectEventPic_Corsola, 4, 4, 0), + overworld_frame(gObjectEventPic_Corsola, 4, 4, 1), + overworld_frame(gObjectEventPic_Corsola, 4, 4, 2), + overworld_frame(gObjectEventPic_Corsola, 4, 4, 3), + overworld_frame(gObjectEventPic_Corsola, 4, 4, 4), + overworld_frame(gObjectEventPic_Corsola, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Remoraid[] = { + overworld_frame(gObjectEventPic_Remoraid, 4, 4, 0), + overworld_frame(gObjectEventPic_Remoraid, 4, 4, 1), + overworld_frame(gObjectEventPic_Remoraid, 4, 4, 2), + overworld_frame(gObjectEventPic_Remoraid, 4, 4, 3), + overworld_frame(gObjectEventPic_Remoraid, 4, 4, 4), + overworld_frame(gObjectEventPic_Remoraid, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Octillery[] = { + overworld_frame(gObjectEventPic_Octillery, 4, 4, 0), + overworld_frame(gObjectEventPic_Octillery, 4, 4, 1), + overworld_frame(gObjectEventPic_Octillery, 4, 4, 2), + overworld_frame(gObjectEventPic_Octillery, 4, 4, 3), + overworld_frame(gObjectEventPic_Octillery, 4, 4, 4), + overworld_frame(gObjectEventPic_Octillery, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Delibird[] = { + overworld_frame(gObjectEventPic_Delibird, 4, 4, 0), + overworld_frame(gObjectEventPic_Delibird, 4, 4, 1), + overworld_frame(gObjectEventPic_Delibird, 4, 4, 2), + overworld_frame(gObjectEventPic_Delibird, 4, 4, 3), + overworld_frame(gObjectEventPic_Delibird, 4, 4, 4), + overworld_frame(gObjectEventPic_Delibird, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Mantine[] = { + overworld_frame(gObjectEventPic_Mantine, 4, 4, 0), + overworld_frame(gObjectEventPic_Mantine, 4, 4, 1), + overworld_frame(gObjectEventPic_Mantine, 4, 4, 2), + overworld_frame(gObjectEventPic_Mantine, 4, 4, 3), + overworld_frame(gObjectEventPic_Mantine, 4, 4, 4), + overworld_frame(gObjectEventPic_Mantine, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Skarmory[] = { + overworld_frame(gObjectEventPic_Skarmory, 4, 4, 0), + overworld_frame(gObjectEventPic_Skarmory, 4, 4, 1), + overworld_frame(gObjectEventPic_Skarmory, 4, 4, 2), + overworld_frame(gObjectEventPic_Skarmory, 4, 4, 3), + overworld_frame(gObjectEventPic_Skarmory, 4, 4, 4), + overworld_frame(gObjectEventPic_Skarmory, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Houndour[] = { + overworld_frame(gObjectEventPic_Houndour, 4, 4, 0), + overworld_frame(gObjectEventPic_Houndour, 4, 4, 1), + overworld_frame(gObjectEventPic_Houndour, 4, 4, 2), + overworld_frame(gObjectEventPic_Houndour, 4, 4, 3), + overworld_frame(gObjectEventPic_Houndour, 4, 4, 4), + overworld_frame(gObjectEventPic_Houndour, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Houndoom[] = { + overworld_frame(gObjectEventPic_Houndoom, 4, 4, 0), + overworld_frame(gObjectEventPic_Houndoom, 4, 4, 1), + overworld_frame(gObjectEventPic_Houndoom, 4, 4, 2), + overworld_frame(gObjectEventPic_Houndoom, 4, 4, 3), + overworld_frame(gObjectEventPic_Houndoom, 4, 4, 4), + overworld_frame(gObjectEventPic_Houndoom, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Kingdra[] = { + overworld_frame(gObjectEventPic_Kingdra, 4, 4, 0), + overworld_frame(gObjectEventPic_Kingdra, 4, 4, 1), + overworld_frame(gObjectEventPic_Kingdra, 4, 4, 2), + overworld_frame(gObjectEventPic_Kingdra, 4, 4, 3), + overworld_frame(gObjectEventPic_Kingdra, 4, 4, 4), + overworld_frame(gObjectEventPic_Kingdra, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Phanpy[] = { + overworld_frame(gObjectEventPic_Phanpy, 4, 4, 0), + overworld_frame(gObjectEventPic_Phanpy, 4, 4, 1), + overworld_frame(gObjectEventPic_Phanpy, 4, 4, 2), + overworld_frame(gObjectEventPic_Phanpy, 4, 4, 3), + overworld_frame(gObjectEventPic_Phanpy, 4, 4, 4), + overworld_frame(gObjectEventPic_Phanpy, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Donphan[] = { + overworld_frame(gObjectEventPic_Donphan, 4, 4, 0), + overworld_frame(gObjectEventPic_Donphan, 4, 4, 1), + overworld_frame(gObjectEventPic_Donphan, 4, 4, 2), + overworld_frame(gObjectEventPic_Donphan, 4, 4, 3), + overworld_frame(gObjectEventPic_Donphan, 4, 4, 4), + overworld_frame(gObjectEventPic_Donphan, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Porygon2[] = { + overworld_frame(gObjectEventPic_Porygon2, 4, 4, 0), + overworld_frame(gObjectEventPic_Porygon2, 4, 4, 1), + overworld_frame(gObjectEventPic_Porygon2, 4, 4, 2), + overworld_frame(gObjectEventPic_Porygon2, 4, 4, 3), + overworld_frame(gObjectEventPic_Porygon2, 4, 4, 4), + overworld_frame(gObjectEventPic_Porygon2, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Stantler[] = { + overworld_frame(gObjectEventPic_Stantler, 4, 4, 0), + overworld_frame(gObjectEventPic_Stantler, 4, 4, 1), + overworld_frame(gObjectEventPic_Stantler, 4, 4, 2), + overworld_frame(gObjectEventPic_Stantler, 4, 4, 3), + overworld_frame(gObjectEventPic_Stantler, 4, 4, 4), + overworld_frame(gObjectEventPic_Stantler, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Smeargle[] = { + overworld_frame(gObjectEventPic_Smeargle, 4, 4, 0), + overworld_frame(gObjectEventPic_Smeargle, 4, 4, 1), + overworld_frame(gObjectEventPic_Smeargle, 4, 4, 2), + overworld_frame(gObjectEventPic_Smeargle, 4, 4, 3), + overworld_frame(gObjectEventPic_Smeargle, 4, 4, 4), + overworld_frame(gObjectEventPic_Smeargle, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Tyrogue[] = { + overworld_frame(gObjectEventPic_Tyrogue, 4, 4, 0), + overworld_frame(gObjectEventPic_Tyrogue, 4, 4, 1), + overworld_frame(gObjectEventPic_Tyrogue, 4, 4, 2), + overworld_frame(gObjectEventPic_Tyrogue, 4, 4, 3), + overworld_frame(gObjectEventPic_Tyrogue, 4, 4, 4), + overworld_frame(gObjectEventPic_Tyrogue, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Hitmontop[] = { + overworld_frame(gObjectEventPic_Hitmontop, 4, 4, 0), + overworld_frame(gObjectEventPic_Hitmontop, 4, 4, 1), + overworld_frame(gObjectEventPic_Hitmontop, 4, 4, 2), + overworld_frame(gObjectEventPic_Hitmontop, 4, 4, 3), + overworld_frame(gObjectEventPic_Hitmontop, 4, 4, 4), + overworld_frame(gObjectEventPic_Hitmontop, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Smoochum[] = { + overworld_frame(gObjectEventPic_Smoochum, 4, 4, 0), + overworld_frame(gObjectEventPic_Smoochum, 4, 4, 1), + overworld_frame(gObjectEventPic_Smoochum, 4, 4, 2), + overworld_frame(gObjectEventPic_Smoochum, 4, 4, 3), + overworld_frame(gObjectEventPic_Smoochum, 4, 4, 4), + overworld_frame(gObjectEventPic_Smoochum, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Elekid[] = { + overworld_frame(gObjectEventPic_Elekid, 4, 4, 0), + overworld_frame(gObjectEventPic_Elekid, 4, 4, 1), + overworld_frame(gObjectEventPic_Elekid, 4, 4, 2), + overworld_frame(gObjectEventPic_Elekid, 4, 4, 3), + overworld_frame(gObjectEventPic_Elekid, 4, 4, 4), + overworld_frame(gObjectEventPic_Elekid, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Magby[] = { + overworld_frame(gObjectEventPic_Magby, 4, 4, 0), + overworld_frame(gObjectEventPic_Magby, 4, 4, 1), + overworld_frame(gObjectEventPic_Magby, 4, 4, 2), + overworld_frame(gObjectEventPic_Magby, 4, 4, 3), + overworld_frame(gObjectEventPic_Magby, 4, 4, 4), + overworld_frame(gObjectEventPic_Magby, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Miltank[] = { + overworld_frame(gObjectEventPic_Miltank, 4, 4, 0), + overworld_frame(gObjectEventPic_Miltank, 4, 4, 1), + overworld_frame(gObjectEventPic_Miltank, 4, 4, 2), + overworld_frame(gObjectEventPic_Miltank, 4, 4, 3), + overworld_frame(gObjectEventPic_Miltank, 4, 4, 4), + overworld_frame(gObjectEventPic_Miltank, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Blissey[] = { + overworld_frame(gObjectEventPic_Blissey, 4, 4, 0), + overworld_frame(gObjectEventPic_Blissey, 4, 4, 1), + overworld_frame(gObjectEventPic_Blissey, 4, 4, 2), + overworld_frame(gObjectEventPic_Blissey, 4, 4, 3), + overworld_frame(gObjectEventPic_Blissey, 4, 4, 4), + overworld_frame(gObjectEventPic_Blissey, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Raikou[] = { + overworld_frame(gObjectEventPic_Raikou, 4, 4, 0), + overworld_frame(gObjectEventPic_Raikou, 4, 4, 1), + overworld_frame(gObjectEventPic_Raikou, 4, 4, 2), + overworld_frame(gObjectEventPic_Raikou, 4, 4, 3), + overworld_frame(gObjectEventPic_Raikou, 4, 4, 4), + overworld_frame(gObjectEventPic_Raikou, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Entei[] = { + overworld_frame(gObjectEventPic_Entei, 4, 4, 0), + overworld_frame(gObjectEventPic_Entei, 4, 4, 1), + overworld_frame(gObjectEventPic_Entei, 4, 4, 2), + overworld_frame(gObjectEventPic_Entei, 4, 4, 3), + overworld_frame(gObjectEventPic_Entei, 4, 4, 4), + overworld_frame(gObjectEventPic_Entei, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Suicune[] = { + overworld_frame(gObjectEventPic_Suicune, 4, 4, 0), + overworld_frame(gObjectEventPic_Suicune, 4, 4, 1), + overworld_frame(gObjectEventPic_Suicune, 4, 4, 2), + overworld_frame(gObjectEventPic_Suicune, 4, 4, 3), + overworld_frame(gObjectEventPic_Suicune, 4, 4, 4), + overworld_frame(gObjectEventPic_Suicune, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Larvitar[] = { + overworld_frame(gObjectEventPic_Larvitar, 4, 4, 0), + overworld_frame(gObjectEventPic_Larvitar, 4, 4, 1), + overworld_frame(gObjectEventPic_Larvitar, 4, 4, 2), + overworld_frame(gObjectEventPic_Larvitar, 4, 4, 3), + overworld_frame(gObjectEventPic_Larvitar, 4, 4, 4), + overworld_frame(gObjectEventPic_Larvitar, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Pupitar[] = { + overworld_frame(gObjectEventPic_Pupitar, 4, 4, 0), + overworld_frame(gObjectEventPic_Pupitar, 4, 4, 1), + overworld_frame(gObjectEventPic_Pupitar, 4, 4, 2), + overworld_frame(gObjectEventPic_Pupitar, 4, 4, 3), + overworld_frame(gObjectEventPic_Pupitar, 4, 4, 4), + overworld_frame(gObjectEventPic_Pupitar, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Tyranitar[] = { + overworld_frame(gObjectEventPic_Tyranitar, 4, 4, 0), + overworld_frame(gObjectEventPic_Tyranitar, 4, 4, 1), + overworld_frame(gObjectEventPic_Tyranitar, 4, 4, 2), + overworld_frame(gObjectEventPic_Tyranitar, 4, 4, 3), + overworld_frame(gObjectEventPic_Tyranitar, 4, 4, 4), + overworld_frame(gObjectEventPic_Tyranitar, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Lugia_Follower[] = { + overworld_frame(gObjectEventPic_Lugia_Follower, 8, 8, 0), + overworld_frame(gObjectEventPic_Lugia_Follower, 8, 8, 1), + overworld_frame(gObjectEventPic_Lugia_Follower, 8, 8, 2), + overworld_frame(gObjectEventPic_Lugia_Follower, 8, 8, 3), + overworld_frame(gObjectEventPic_Lugia_Follower, 8, 8, 4), + overworld_frame(gObjectEventPic_Lugia_Follower, 8, 8, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_HoOh_Follower[] = { + overworld_frame(gObjectEventPic_HoOh_Follower, 8, 8, 0), + overworld_frame(gObjectEventPic_HoOh_Follower, 8, 8, 1), + overworld_frame(gObjectEventPic_HoOh_Follower, 8, 8, 2), + overworld_frame(gObjectEventPic_HoOh_Follower, 8, 8, 3), + overworld_frame(gObjectEventPic_HoOh_Follower, 8, 8, 4), + overworld_frame(gObjectEventPic_HoOh_Follower, 8, 8, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Celebi[] = { + overworld_frame(gObjectEventPic_Celebi, 4, 4, 0), + overworld_frame(gObjectEventPic_Celebi, 4, 4, 1), + overworld_frame(gObjectEventPic_Celebi, 4, 4, 2), + overworld_frame(gObjectEventPic_Celebi, 4, 4, 3), + overworld_frame(gObjectEventPic_Celebi, 4, 4, 4), + overworld_frame(gObjectEventPic_Celebi, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Treecko[] = { + overworld_frame(gObjectEventPic_Treecko, 4, 4, 0), + overworld_frame(gObjectEventPic_Treecko, 4, 4, 1), + overworld_frame(gObjectEventPic_Treecko, 4, 4, 2), + overworld_frame(gObjectEventPic_Treecko, 4, 4, 3), + overworld_frame(gObjectEventPic_Treecko, 4, 4, 4), + overworld_frame(gObjectEventPic_Treecko, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Grovyle[] = { + overworld_frame(gObjectEventPic_Grovyle, 4, 4, 0), + overworld_frame(gObjectEventPic_Grovyle, 4, 4, 1), + overworld_frame(gObjectEventPic_Grovyle, 4, 4, 2), + overworld_frame(gObjectEventPic_Grovyle, 4, 4, 3), + overworld_frame(gObjectEventPic_Grovyle, 4, 4, 4), + overworld_frame(gObjectEventPic_Grovyle, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sceptile[] = { + overworld_frame(gObjectEventPic_Sceptile, 4, 4, 0), + overworld_frame(gObjectEventPic_Sceptile, 4, 4, 1), + overworld_frame(gObjectEventPic_Sceptile, 4, 4, 2), + overworld_frame(gObjectEventPic_Sceptile, 4, 4, 3), + overworld_frame(gObjectEventPic_Sceptile, 4, 4, 4), + overworld_frame(gObjectEventPic_Sceptile, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Torchic[] = { + overworld_frame(gObjectEventPic_Torchic, 4, 4, 0), + overworld_frame(gObjectEventPic_Torchic, 4, 4, 1), + overworld_frame(gObjectEventPic_Torchic, 4, 4, 2), + overworld_frame(gObjectEventPic_Torchic, 4, 4, 3), + overworld_frame(gObjectEventPic_Torchic, 4, 4, 4), + overworld_frame(gObjectEventPic_Torchic, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Combusken[] = { + overworld_frame(gObjectEventPic_Combusken, 4, 4, 0), + overworld_frame(gObjectEventPic_Combusken, 4, 4, 1), + overworld_frame(gObjectEventPic_Combusken, 4, 4, 2), + overworld_frame(gObjectEventPic_Combusken, 4, 4, 3), + overworld_frame(gObjectEventPic_Combusken, 4, 4, 4), + overworld_frame(gObjectEventPic_Combusken, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Blaziken[] = { + overworld_frame(gObjectEventPic_Blaziken, 4, 4, 0), + overworld_frame(gObjectEventPic_Blaziken, 4, 4, 1), + overworld_frame(gObjectEventPic_Blaziken, 4, 4, 2), + overworld_frame(gObjectEventPic_Blaziken, 4, 4, 3), + overworld_frame(gObjectEventPic_Blaziken, 4, 4, 4), + overworld_frame(gObjectEventPic_Blaziken, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Mudkip[] = { + overworld_frame(gObjectEventPic_Mudkip, 4, 4, 0), + overworld_frame(gObjectEventPic_Mudkip, 4, 4, 1), + overworld_frame(gObjectEventPic_Mudkip, 4, 4, 2), + overworld_frame(gObjectEventPic_Mudkip, 4, 4, 3), + overworld_frame(gObjectEventPic_Mudkip, 4, 4, 4), + overworld_frame(gObjectEventPic_Mudkip, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Marshtomp[] = { + overworld_frame(gObjectEventPic_Marshtomp, 4, 4, 0), + overworld_frame(gObjectEventPic_Marshtomp, 4, 4, 1), + overworld_frame(gObjectEventPic_Marshtomp, 4, 4, 2), + overworld_frame(gObjectEventPic_Marshtomp, 4, 4, 3), + overworld_frame(gObjectEventPic_Marshtomp, 4, 4, 4), + overworld_frame(gObjectEventPic_Marshtomp, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Swampert[] = { + overworld_frame(gObjectEventPic_Swampert, 4, 4, 0), + overworld_frame(gObjectEventPic_Swampert, 4, 4, 1), + overworld_frame(gObjectEventPic_Swampert, 4, 4, 2), + overworld_frame(gObjectEventPic_Swampert, 4, 4, 3), + overworld_frame(gObjectEventPic_Swampert, 4, 4, 4), + overworld_frame(gObjectEventPic_Swampert, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Poochyena_Follower[] = { + overworld_frame(gObjectEventPic_Poochyena_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Poochyena_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Poochyena_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Poochyena_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Poochyena_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Poochyena_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Mightyena[] = { + overworld_frame(gObjectEventPic_Mightyena, 4, 4, 0), + overworld_frame(gObjectEventPic_Mightyena, 4, 4, 1), + overworld_frame(gObjectEventPic_Mightyena, 4, 4, 2), + overworld_frame(gObjectEventPic_Mightyena, 4, 4, 3), + overworld_frame(gObjectEventPic_Mightyena, 4, 4, 4), + overworld_frame(gObjectEventPic_Mightyena, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Zigzagoon_Follower[] = { + overworld_frame(gObjectEventPic_Zigzagoon_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Zigzagoon_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Zigzagoon_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Zigzagoon_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Zigzagoon_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Zigzagoon_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Linoone[] = { + overworld_frame(gObjectEventPic_Linoone, 4, 4, 0), + overworld_frame(gObjectEventPic_Linoone, 4, 4, 1), + overworld_frame(gObjectEventPic_Linoone, 4, 4, 2), + overworld_frame(gObjectEventPic_Linoone, 4, 4, 3), + overworld_frame(gObjectEventPic_Linoone, 4, 4, 4), + overworld_frame(gObjectEventPic_Linoone, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wurmple[] = { + overworld_frame(gObjectEventPic_Wurmple, 4, 4, 0), + overworld_frame(gObjectEventPic_Wurmple, 4, 4, 1), + overworld_frame(gObjectEventPic_Wurmple, 4, 4, 2), + overworld_frame(gObjectEventPic_Wurmple, 4, 4, 3), + overworld_frame(gObjectEventPic_Wurmple, 4, 4, 4), + overworld_frame(gObjectEventPic_Wurmple, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Silcoon[] = { + overworld_frame(gObjectEventPic_Silcoon, 4, 4, 0), + overworld_frame(gObjectEventPic_Silcoon, 4, 4, 1), + overworld_frame(gObjectEventPic_Silcoon, 4, 4, 2), + overworld_frame(gObjectEventPic_Silcoon, 4, 4, 3), + overworld_frame(gObjectEventPic_Silcoon, 4, 4, 4), + overworld_frame(gObjectEventPic_Silcoon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Beautifly[] = { + overworld_frame(gObjectEventPic_Beautifly, 4, 4, 0), + overworld_frame(gObjectEventPic_Beautifly, 4, 4, 1), + overworld_frame(gObjectEventPic_Beautifly, 4, 4, 2), + overworld_frame(gObjectEventPic_Beautifly, 4, 4, 3), + overworld_frame(gObjectEventPic_Beautifly, 4, 4, 4), + overworld_frame(gObjectEventPic_Beautifly, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Cascoon[] = { + overworld_frame(gObjectEventPic_Cascoon, 4, 4, 0), + overworld_frame(gObjectEventPic_Cascoon, 4, 4, 1), + overworld_frame(gObjectEventPic_Cascoon, 4, 4, 2), + overworld_frame(gObjectEventPic_Cascoon, 4, 4, 3), + overworld_frame(gObjectEventPic_Cascoon, 4, 4, 4), + overworld_frame(gObjectEventPic_Cascoon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Dustox[] = { + overworld_frame(gObjectEventPic_Dustox, 4, 4, 0), + overworld_frame(gObjectEventPic_Dustox, 4, 4, 1), + overworld_frame(gObjectEventPic_Dustox, 4, 4, 2), + overworld_frame(gObjectEventPic_Dustox, 4, 4, 3), + overworld_frame(gObjectEventPic_Dustox, 4, 4, 4), + overworld_frame(gObjectEventPic_Dustox, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Lotad[] = { + overworld_frame(gObjectEventPic_Lotad, 4, 4, 0), + overworld_frame(gObjectEventPic_Lotad, 4, 4, 1), + overworld_frame(gObjectEventPic_Lotad, 4, 4, 2), + overworld_frame(gObjectEventPic_Lotad, 4, 4, 3), + overworld_frame(gObjectEventPic_Lotad, 4, 4, 4), + overworld_frame(gObjectEventPic_Lotad, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Lombre[] = { + overworld_frame(gObjectEventPic_Lombre, 4, 4, 0), + overworld_frame(gObjectEventPic_Lombre, 4, 4, 1), + overworld_frame(gObjectEventPic_Lombre, 4, 4, 2), + overworld_frame(gObjectEventPic_Lombre, 4, 4, 3), + overworld_frame(gObjectEventPic_Lombre, 4, 4, 4), + overworld_frame(gObjectEventPic_Lombre, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ludicolo[] = { + overworld_frame(gObjectEventPic_Ludicolo, 4, 4, 0), + overworld_frame(gObjectEventPic_Ludicolo, 4, 4, 1), + overworld_frame(gObjectEventPic_Ludicolo, 4, 4, 2), + overworld_frame(gObjectEventPic_Ludicolo, 4, 4, 3), + overworld_frame(gObjectEventPic_Ludicolo, 4, 4, 4), + overworld_frame(gObjectEventPic_Ludicolo, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Seedot[] = { + overworld_frame(gObjectEventPic_Seedot, 4, 4, 0), + overworld_frame(gObjectEventPic_Seedot, 4, 4, 1), + overworld_frame(gObjectEventPic_Seedot, 4, 4, 2), + overworld_frame(gObjectEventPic_Seedot, 4, 4, 3), + overworld_frame(gObjectEventPic_Seedot, 4, 4, 4), + overworld_frame(gObjectEventPic_Seedot, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Nuzleaf[] = { + overworld_frame(gObjectEventPic_Nuzleaf, 4, 4, 0), + overworld_frame(gObjectEventPic_Nuzleaf, 4, 4, 1), + overworld_frame(gObjectEventPic_Nuzleaf, 4, 4, 2), + overworld_frame(gObjectEventPic_Nuzleaf, 4, 4, 3), + overworld_frame(gObjectEventPic_Nuzleaf, 4, 4, 4), + overworld_frame(gObjectEventPic_Nuzleaf, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Shiftry[] = { + overworld_frame(gObjectEventPic_Shiftry, 4, 4, 0), + overworld_frame(gObjectEventPic_Shiftry, 4, 4, 1), + overworld_frame(gObjectEventPic_Shiftry, 4, 4, 2), + overworld_frame(gObjectEventPic_Shiftry, 4, 4, 3), + overworld_frame(gObjectEventPic_Shiftry, 4, 4, 4), + overworld_frame(gObjectEventPic_Shiftry, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Taillow[] = { + overworld_frame(gObjectEventPic_Taillow, 4, 4, 0), + overworld_frame(gObjectEventPic_Taillow, 4, 4, 1), + overworld_frame(gObjectEventPic_Taillow, 4, 4, 2), + overworld_frame(gObjectEventPic_Taillow, 4, 4, 3), + overworld_frame(gObjectEventPic_Taillow, 4, 4, 4), + overworld_frame(gObjectEventPic_Taillow, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Swellow[] = { + overworld_frame(gObjectEventPic_Swellow, 4, 4, 0), + overworld_frame(gObjectEventPic_Swellow, 4, 4, 1), + overworld_frame(gObjectEventPic_Swellow, 4, 4, 2), + overworld_frame(gObjectEventPic_Swellow, 4, 4, 3), + overworld_frame(gObjectEventPic_Swellow, 4, 4, 4), + overworld_frame(gObjectEventPic_Swellow, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wingull_Follower[] = { + overworld_frame(gObjectEventPic_Wingull_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Wingull_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Wingull_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Wingull_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Wingull_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Wingull_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Pelipper[] = { + overworld_frame(gObjectEventPic_Pelipper, 4, 4, 0), + overworld_frame(gObjectEventPic_Pelipper, 4, 4, 1), + overworld_frame(gObjectEventPic_Pelipper, 4, 4, 2), + overworld_frame(gObjectEventPic_Pelipper, 4, 4, 3), + overworld_frame(gObjectEventPic_Pelipper, 4, 4, 4), + overworld_frame(gObjectEventPic_Pelipper, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ralts[] = { + overworld_frame(gObjectEventPic_Ralts, 4, 4, 0), + overworld_frame(gObjectEventPic_Ralts, 4, 4, 1), + overworld_frame(gObjectEventPic_Ralts, 4, 4, 2), + overworld_frame(gObjectEventPic_Ralts, 4, 4, 3), + overworld_frame(gObjectEventPic_Ralts, 4, 4, 4), + overworld_frame(gObjectEventPic_Ralts, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Kirlia_Follower[] = { + overworld_frame(gObjectEventPic_Kirlia_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Kirlia_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Kirlia_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Kirlia_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Kirlia_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Kirlia_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Gardevoir[] = { + overworld_frame(gObjectEventPic_Gardevoir, 4, 4, 0), + overworld_frame(gObjectEventPic_Gardevoir, 4, 4, 1), + overworld_frame(gObjectEventPic_Gardevoir, 4, 4, 2), + overworld_frame(gObjectEventPic_Gardevoir, 4, 4, 3), + overworld_frame(gObjectEventPic_Gardevoir, 4, 4, 4), + overworld_frame(gObjectEventPic_Gardevoir, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Surskit[] = { + overworld_frame(gObjectEventPic_Surskit, 4, 4, 0), + overworld_frame(gObjectEventPic_Surskit, 4, 4, 1), + overworld_frame(gObjectEventPic_Surskit, 4, 4, 2), + overworld_frame(gObjectEventPic_Surskit, 4, 4, 3), + overworld_frame(gObjectEventPic_Surskit, 4, 4, 4), + overworld_frame(gObjectEventPic_Surskit, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Masquerain[] = { + overworld_frame(gObjectEventPic_Masquerain, 4, 4, 0), + overworld_frame(gObjectEventPic_Masquerain, 4, 4, 1), + overworld_frame(gObjectEventPic_Masquerain, 4, 4, 2), + overworld_frame(gObjectEventPic_Masquerain, 4, 4, 3), + overworld_frame(gObjectEventPic_Masquerain, 4, 4, 4), + overworld_frame(gObjectEventPic_Masquerain, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Shroomish[] = { + overworld_frame(gObjectEventPic_Shroomish, 4, 4, 0), + overworld_frame(gObjectEventPic_Shroomish, 4, 4, 1), + overworld_frame(gObjectEventPic_Shroomish, 4, 4, 2), + overworld_frame(gObjectEventPic_Shroomish, 4, 4, 3), + overworld_frame(gObjectEventPic_Shroomish, 4, 4, 4), + overworld_frame(gObjectEventPic_Shroomish, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Breloom[] = { + overworld_frame(gObjectEventPic_Breloom, 4, 4, 0), + overworld_frame(gObjectEventPic_Breloom, 4, 4, 1), + overworld_frame(gObjectEventPic_Breloom, 4, 4, 2), + overworld_frame(gObjectEventPic_Breloom, 4, 4, 3), + overworld_frame(gObjectEventPic_Breloom, 4, 4, 4), + overworld_frame(gObjectEventPic_Breloom, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Slakoth[] = { + overworld_frame(gObjectEventPic_Slakoth, 4, 4, 0), + overworld_frame(gObjectEventPic_Slakoth, 4, 4, 1), + overworld_frame(gObjectEventPic_Slakoth, 4, 4, 2), + overworld_frame(gObjectEventPic_Slakoth, 4, 4, 3), + overworld_frame(gObjectEventPic_Slakoth, 4, 4, 4), + overworld_frame(gObjectEventPic_Slakoth, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Vigoroth_Follower[] = { + overworld_frame(gObjectEventPic_Vigoroth_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Vigoroth_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Vigoroth_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Vigoroth_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Vigoroth_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Vigoroth_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Slaking[] = { + overworld_frame(gObjectEventPic_Slaking, 4, 4, 0), + overworld_frame(gObjectEventPic_Slaking, 4, 4, 1), + overworld_frame(gObjectEventPic_Slaking, 4, 4, 2), + overworld_frame(gObjectEventPic_Slaking, 4, 4, 3), + overworld_frame(gObjectEventPic_Slaking, 4, 4, 4), + overworld_frame(gObjectEventPic_Slaking, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Nincada[] = { + overworld_frame(gObjectEventPic_Nincada, 4, 4, 0), + overworld_frame(gObjectEventPic_Nincada, 4, 4, 1), + overworld_frame(gObjectEventPic_Nincada, 4, 4, 2), + overworld_frame(gObjectEventPic_Nincada, 4, 4, 3), + overworld_frame(gObjectEventPic_Nincada, 4, 4, 4), + overworld_frame(gObjectEventPic_Nincada, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Ninjask[] = { + overworld_frame(gObjectEventPic_Ninjask, 4, 4, 0), + overworld_frame(gObjectEventPic_Ninjask, 4, 4, 1), + overworld_frame(gObjectEventPic_Ninjask, 4, 4, 2), + overworld_frame(gObjectEventPic_Ninjask, 4, 4, 3), + overworld_frame(gObjectEventPic_Ninjask, 4, 4, 4), + overworld_frame(gObjectEventPic_Ninjask, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Shedinja[] = { + overworld_frame(gObjectEventPic_Shedinja, 4, 4, 0), + overworld_frame(gObjectEventPic_Shedinja, 4, 4, 1), + overworld_frame(gObjectEventPic_Shedinja, 4, 4, 2), + overworld_frame(gObjectEventPic_Shedinja, 4, 4, 3), + overworld_frame(gObjectEventPic_Shedinja, 4, 4, 4), + overworld_frame(gObjectEventPic_Shedinja, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Whismur[] = { + overworld_frame(gObjectEventPic_Whismur, 4, 4, 0), + overworld_frame(gObjectEventPic_Whismur, 4, 4, 1), + overworld_frame(gObjectEventPic_Whismur, 4, 4, 2), + overworld_frame(gObjectEventPic_Whismur, 4, 4, 3), + overworld_frame(gObjectEventPic_Whismur, 4, 4, 4), + overworld_frame(gObjectEventPic_Whismur, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Loudred[] = { + overworld_frame(gObjectEventPic_Loudred, 4, 4, 0), + overworld_frame(gObjectEventPic_Loudred, 4, 4, 1), + overworld_frame(gObjectEventPic_Loudred, 4, 4, 2), + overworld_frame(gObjectEventPic_Loudred, 4, 4, 3), + overworld_frame(gObjectEventPic_Loudred, 4, 4, 4), + overworld_frame(gObjectEventPic_Loudred, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Exploud[] = { + overworld_frame(gObjectEventPic_Exploud, 4, 4, 0), + overworld_frame(gObjectEventPic_Exploud, 4, 4, 1), + overworld_frame(gObjectEventPic_Exploud, 4, 4, 2), + overworld_frame(gObjectEventPic_Exploud, 4, 4, 3), + overworld_frame(gObjectEventPic_Exploud, 4, 4, 4), + overworld_frame(gObjectEventPic_Exploud, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Makuhita[] = { + overworld_frame(gObjectEventPic_Makuhita, 4, 4, 0), + overworld_frame(gObjectEventPic_Makuhita, 4, 4, 1), + overworld_frame(gObjectEventPic_Makuhita, 4, 4, 2), + overworld_frame(gObjectEventPic_Makuhita, 4, 4, 3), + overworld_frame(gObjectEventPic_Makuhita, 4, 4, 4), + overworld_frame(gObjectEventPic_Makuhita, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Hariyama[] = { + overworld_frame(gObjectEventPic_Hariyama, 4, 4, 0), + overworld_frame(gObjectEventPic_Hariyama, 4, 4, 1), + overworld_frame(gObjectEventPic_Hariyama, 4, 4, 2), + overworld_frame(gObjectEventPic_Hariyama, 4, 4, 3), + overworld_frame(gObjectEventPic_Hariyama, 4, 4, 4), + overworld_frame(gObjectEventPic_Hariyama, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Azurill_Follower[] = { + overworld_frame(gObjectEventPic_Azurill_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Azurill_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Azurill_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Azurill_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Azurill_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Azurill_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Nosepass[] = { + overworld_frame(gObjectEventPic_Nosepass, 4, 4, 0), + overworld_frame(gObjectEventPic_Nosepass, 4, 4, 1), + overworld_frame(gObjectEventPic_Nosepass, 4, 4, 2), + overworld_frame(gObjectEventPic_Nosepass, 4, 4, 3), + overworld_frame(gObjectEventPic_Nosepass, 4, 4, 4), + overworld_frame(gObjectEventPic_Nosepass, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Skitty_Follower[] = { + overworld_frame(gObjectEventPic_Skitty_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Skitty_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Skitty_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Skitty_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Skitty_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Skitty_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Delcatty[] = { + overworld_frame(gObjectEventPic_Delcatty, 4, 4, 0), + overworld_frame(gObjectEventPic_Delcatty, 4, 4, 1), + overworld_frame(gObjectEventPic_Delcatty, 4, 4, 2), + overworld_frame(gObjectEventPic_Delcatty, 4, 4, 3), + overworld_frame(gObjectEventPic_Delcatty, 4, 4, 4), + overworld_frame(gObjectEventPic_Delcatty, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sableye[] = { + overworld_frame(gObjectEventPic_Sableye, 4, 4, 0), + overworld_frame(gObjectEventPic_Sableye, 4, 4, 1), + overworld_frame(gObjectEventPic_Sableye, 4, 4, 2), + overworld_frame(gObjectEventPic_Sableye, 4, 4, 3), + overworld_frame(gObjectEventPic_Sableye, 4, 4, 4), + overworld_frame(gObjectEventPic_Sableye, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Mawile[] = { + overworld_frame(gObjectEventPic_Mawile, 4, 4, 0), + overworld_frame(gObjectEventPic_Mawile, 4, 4, 1), + overworld_frame(gObjectEventPic_Mawile, 4, 4, 2), + overworld_frame(gObjectEventPic_Mawile, 4, 4, 3), + overworld_frame(gObjectEventPic_Mawile, 4, 4, 4), + overworld_frame(gObjectEventPic_Mawile, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Aron[] = { + overworld_frame(gObjectEventPic_Aron, 4, 4, 0), + overworld_frame(gObjectEventPic_Aron, 4, 4, 1), + overworld_frame(gObjectEventPic_Aron, 4, 4, 2), + overworld_frame(gObjectEventPic_Aron, 4, 4, 3), + overworld_frame(gObjectEventPic_Aron, 4, 4, 4), + overworld_frame(gObjectEventPic_Aron, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Lairon[] = { + overworld_frame(gObjectEventPic_Lairon, 4, 4, 0), + overworld_frame(gObjectEventPic_Lairon, 4, 4, 1), + overworld_frame(gObjectEventPic_Lairon, 4, 4, 2), + overworld_frame(gObjectEventPic_Lairon, 4, 4, 3), + overworld_frame(gObjectEventPic_Lairon, 4, 4, 4), + overworld_frame(gObjectEventPic_Lairon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Aggron[] = { + overworld_frame(gObjectEventPic_Aggron, 4, 4, 0), + overworld_frame(gObjectEventPic_Aggron, 4, 4, 1), + overworld_frame(gObjectEventPic_Aggron, 4, 4, 2), + overworld_frame(gObjectEventPic_Aggron, 4, 4, 3), + overworld_frame(gObjectEventPic_Aggron, 4, 4, 4), + overworld_frame(gObjectEventPic_Aggron, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Meditite[] = { + overworld_frame(gObjectEventPic_Meditite, 4, 4, 0), + overworld_frame(gObjectEventPic_Meditite, 4, 4, 1), + overworld_frame(gObjectEventPic_Meditite, 4, 4, 2), + overworld_frame(gObjectEventPic_Meditite, 4, 4, 3), + overworld_frame(gObjectEventPic_Meditite, 4, 4, 4), + overworld_frame(gObjectEventPic_Meditite, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Medicham[] = { + overworld_frame(gObjectEventPic_Medicham, 4, 4, 0), + overworld_frame(gObjectEventPic_Medicham, 4, 4, 1), + overworld_frame(gObjectEventPic_Medicham, 4, 4, 2), + overworld_frame(gObjectEventPic_Medicham, 4, 4, 3), + overworld_frame(gObjectEventPic_Medicham, 4, 4, 4), + overworld_frame(gObjectEventPic_Medicham, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Electrike[] = { + overworld_frame(gObjectEventPic_Electrike, 4, 4, 0), + overworld_frame(gObjectEventPic_Electrike, 4, 4, 1), + overworld_frame(gObjectEventPic_Electrike, 4, 4, 2), + overworld_frame(gObjectEventPic_Electrike, 4, 4, 3), + overworld_frame(gObjectEventPic_Electrike, 4, 4, 4), + overworld_frame(gObjectEventPic_Electrike, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Manectric[] = { + overworld_frame(gObjectEventPic_Manectric, 4, 4, 0), + overworld_frame(gObjectEventPic_Manectric, 4, 4, 1), + overworld_frame(gObjectEventPic_Manectric, 4, 4, 2), + overworld_frame(gObjectEventPic_Manectric, 4, 4, 3), + overworld_frame(gObjectEventPic_Manectric, 4, 4, 4), + overworld_frame(gObjectEventPic_Manectric, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Plusle[] = { + overworld_frame(gObjectEventPic_Plusle, 4, 4, 0), + overworld_frame(gObjectEventPic_Plusle, 4, 4, 1), + overworld_frame(gObjectEventPic_Plusle, 4, 4, 2), + overworld_frame(gObjectEventPic_Plusle, 4, 4, 3), + overworld_frame(gObjectEventPic_Plusle, 4, 4, 4), + overworld_frame(gObjectEventPic_Plusle, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Minun[] = { + overworld_frame(gObjectEventPic_Minun, 4, 4, 0), + overworld_frame(gObjectEventPic_Minun, 4, 4, 1), + overworld_frame(gObjectEventPic_Minun, 4, 4, 2), + overworld_frame(gObjectEventPic_Minun, 4, 4, 3), + overworld_frame(gObjectEventPic_Minun, 4, 4, 4), + overworld_frame(gObjectEventPic_Minun, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Volbeat[] = { + overworld_frame(gObjectEventPic_Volbeat, 4, 4, 0), + overworld_frame(gObjectEventPic_Volbeat, 4, 4, 1), + overworld_frame(gObjectEventPic_Volbeat, 4, 4, 2), + overworld_frame(gObjectEventPic_Volbeat, 4, 4, 3), + overworld_frame(gObjectEventPic_Volbeat, 4, 4, 4), + overworld_frame(gObjectEventPic_Volbeat, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Illumise[] = { + overworld_frame(gObjectEventPic_Illumise, 4, 4, 0), + overworld_frame(gObjectEventPic_Illumise, 4, 4, 1), + overworld_frame(gObjectEventPic_Illumise, 4, 4, 2), + overworld_frame(gObjectEventPic_Illumise, 4, 4, 3), + overworld_frame(gObjectEventPic_Illumise, 4, 4, 4), + overworld_frame(gObjectEventPic_Illumise, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Roselia[] = { + overworld_frame(gObjectEventPic_Roselia, 4, 4, 0), + overworld_frame(gObjectEventPic_Roselia, 4, 4, 1), + overworld_frame(gObjectEventPic_Roselia, 4, 4, 2), + overworld_frame(gObjectEventPic_Roselia, 4, 4, 3), + overworld_frame(gObjectEventPic_Roselia, 4, 4, 4), + overworld_frame(gObjectEventPic_Roselia, 4, 4, 5), + overworld_frame(gObjectEventPic_Roselia, 4, 4, 6), + overworld_frame(gObjectEventPic_Roselia, 4, 4, 7), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Gulpin[] = { + overworld_frame(gObjectEventPic_Gulpin, 4, 4, 0), + overworld_frame(gObjectEventPic_Gulpin, 4, 4, 1), + overworld_frame(gObjectEventPic_Gulpin, 4, 4, 2), + overworld_frame(gObjectEventPic_Gulpin, 4, 4, 3), + overworld_frame(gObjectEventPic_Gulpin, 4, 4, 4), + overworld_frame(gObjectEventPic_Gulpin, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Swalot[] = { + overworld_frame(gObjectEventPic_Swalot, 4, 4, 0), + overworld_frame(gObjectEventPic_Swalot, 4, 4, 1), + overworld_frame(gObjectEventPic_Swalot, 4, 4, 2), + overworld_frame(gObjectEventPic_Swalot, 4, 4, 3), + overworld_frame(gObjectEventPic_Swalot, 4, 4, 4), + overworld_frame(gObjectEventPic_Swalot, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Carvanha[] = { + overworld_frame(gObjectEventPic_Carvanha, 4, 4, 0), + overworld_frame(gObjectEventPic_Carvanha, 4, 4, 1), + overworld_frame(gObjectEventPic_Carvanha, 4, 4, 2), + overworld_frame(gObjectEventPic_Carvanha, 4, 4, 3), + overworld_frame(gObjectEventPic_Carvanha, 4, 4, 4), + overworld_frame(gObjectEventPic_Carvanha, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sharpedo[] = { + overworld_frame(gObjectEventPic_Sharpedo, 4, 4, 0), + overworld_frame(gObjectEventPic_Sharpedo, 4, 4, 1), + overworld_frame(gObjectEventPic_Sharpedo, 4, 4, 2), + overworld_frame(gObjectEventPic_Sharpedo, 4, 4, 3), + overworld_frame(gObjectEventPic_Sharpedo, 4, 4, 4), + overworld_frame(gObjectEventPic_Sharpedo, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wailmer[] = { + overworld_frame(gObjectEventPic_Wailmer, 4, 4, 0), + overworld_frame(gObjectEventPic_Wailmer, 4, 4, 1), + overworld_frame(gObjectEventPic_Wailmer, 4, 4, 2), + overworld_frame(gObjectEventPic_Wailmer, 4, 4, 3), + overworld_frame(gObjectEventPic_Wailmer, 4, 4, 4), + overworld_frame(gObjectEventPic_Wailmer, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wailord[] = { + overworld_frame(gObjectEventPic_Wailord, 8, 8, 0), + overworld_frame(gObjectEventPic_Wailord, 8, 8, 1), + overworld_frame(gObjectEventPic_Wailord, 8, 8, 2), + overworld_frame(gObjectEventPic_Wailord, 8, 8, 3), + overworld_frame(gObjectEventPic_Wailord, 8, 8, 4), + overworld_frame(gObjectEventPic_Wailord, 8, 8, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Numel[] = { + overworld_frame(gObjectEventPic_Numel, 4, 4, 0), + overworld_frame(gObjectEventPic_Numel, 4, 4, 1), + overworld_frame(gObjectEventPic_Numel, 4, 4, 2), + overworld_frame(gObjectEventPic_Numel, 4, 4, 3), + overworld_frame(gObjectEventPic_Numel, 4, 4, 4), + overworld_frame(gObjectEventPic_Numel, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Camerupt[] = { + overworld_frame(gObjectEventPic_Camerupt, 4, 4, 0), + overworld_frame(gObjectEventPic_Camerupt, 4, 4, 1), + overworld_frame(gObjectEventPic_Camerupt, 4, 4, 2), + overworld_frame(gObjectEventPic_Camerupt, 4, 4, 3), + overworld_frame(gObjectEventPic_Camerupt, 4, 4, 4), + overworld_frame(gObjectEventPic_Camerupt, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Torkoal[] = { + overworld_frame(gObjectEventPic_Torkoal, 4, 4, 0), + overworld_frame(gObjectEventPic_Torkoal, 4, 4, 1), + overworld_frame(gObjectEventPic_Torkoal, 4, 4, 2), + overworld_frame(gObjectEventPic_Torkoal, 4, 4, 3), + overworld_frame(gObjectEventPic_Torkoal, 4, 4, 4), + overworld_frame(gObjectEventPic_Torkoal, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Spoink[] = { + overworld_frame(gObjectEventPic_Spoink, 4, 4, 0), + overworld_frame(gObjectEventPic_Spoink, 4, 4, 1), + overworld_frame(gObjectEventPic_Spoink, 4, 4, 2), + overworld_frame(gObjectEventPic_Spoink, 4, 4, 3), + overworld_frame(gObjectEventPic_Spoink, 4, 4, 4), + overworld_frame(gObjectEventPic_Spoink, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Grumpig[] = { + overworld_frame(gObjectEventPic_Grumpig, 4, 4, 0), + overworld_frame(gObjectEventPic_Grumpig, 4, 4, 1), + overworld_frame(gObjectEventPic_Grumpig, 4, 4, 2), + overworld_frame(gObjectEventPic_Grumpig, 4, 4, 3), + overworld_frame(gObjectEventPic_Grumpig, 4, 4, 4), + overworld_frame(gObjectEventPic_Grumpig, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Spinda[] = { + overworld_frame(gObjectEventPic_Spinda, 4, 4, 0), + overworld_frame(gObjectEventPic_Spinda, 4, 4, 1), + overworld_frame(gObjectEventPic_Spinda, 4, 4, 2), + overworld_frame(gObjectEventPic_Spinda, 4, 4, 3), + overworld_frame(gObjectEventPic_Spinda, 4, 4, 4), + overworld_frame(gObjectEventPic_Spinda, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Trapinch[] = { + overworld_frame(gObjectEventPic_Trapinch, 4, 4, 0), + overworld_frame(gObjectEventPic_Trapinch, 4, 4, 1), + overworld_frame(gObjectEventPic_Trapinch, 4, 4, 2), + overworld_frame(gObjectEventPic_Trapinch, 4, 4, 3), + overworld_frame(gObjectEventPic_Trapinch, 4, 4, 4), + overworld_frame(gObjectEventPic_Trapinch, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Vibrava[] = { + overworld_frame(gObjectEventPic_Vibrava, 4, 4, 0), + overworld_frame(gObjectEventPic_Vibrava, 4, 4, 1), + overworld_frame(gObjectEventPic_Vibrava, 4, 4, 2), + overworld_frame(gObjectEventPic_Vibrava, 4, 4, 3), + overworld_frame(gObjectEventPic_Vibrava, 4, 4, 4), + overworld_frame(gObjectEventPic_Vibrava, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Flygon[] = { + overworld_frame(gObjectEventPic_Flygon, 4, 4, 0), + overworld_frame(gObjectEventPic_Flygon, 4, 4, 1), + overworld_frame(gObjectEventPic_Flygon, 4, 4, 2), + overworld_frame(gObjectEventPic_Flygon, 4, 4, 3), + overworld_frame(gObjectEventPic_Flygon, 4, 4, 4), + overworld_frame(gObjectEventPic_Flygon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Cacnea[] = { + overworld_frame(gObjectEventPic_Cacnea, 4, 4, 0), + overworld_frame(gObjectEventPic_Cacnea, 4, 4, 1), + overworld_frame(gObjectEventPic_Cacnea, 4, 4, 2), + overworld_frame(gObjectEventPic_Cacnea, 4, 4, 3), + overworld_frame(gObjectEventPic_Cacnea, 4, 4, 4), + overworld_frame(gObjectEventPic_Cacnea, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Cacturne[] = { + overworld_frame(gObjectEventPic_Cacturne, 4, 4, 0), + overworld_frame(gObjectEventPic_Cacturne, 4, 4, 1), + overworld_frame(gObjectEventPic_Cacturne, 4, 4, 2), + overworld_frame(gObjectEventPic_Cacturne, 4, 4, 3), + overworld_frame(gObjectEventPic_Cacturne, 4, 4, 4), + overworld_frame(gObjectEventPic_Cacturne, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Swablu[] = { + overworld_frame(gObjectEventPic_Swablu, 4, 4, 0), + overworld_frame(gObjectEventPic_Swablu, 4, 4, 1), + overworld_frame(gObjectEventPic_Swablu, 4, 4, 2), + overworld_frame(gObjectEventPic_Swablu, 4, 4, 3), + overworld_frame(gObjectEventPic_Swablu, 4, 4, 4), + overworld_frame(gObjectEventPic_Swablu, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Altaria[] = { + overworld_frame(gObjectEventPic_Altaria, 4, 4, 0), + overworld_frame(gObjectEventPic_Altaria, 4, 4, 1), + overworld_frame(gObjectEventPic_Altaria, 4, 4, 2), + overworld_frame(gObjectEventPic_Altaria, 4, 4, 3), + overworld_frame(gObjectEventPic_Altaria, 4, 4, 4), + overworld_frame(gObjectEventPic_Altaria, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Zangoose[] = { + overworld_frame(gObjectEventPic_Zangoose, 4, 4, 0), + overworld_frame(gObjectEventPic_Zangoose, 4, 4, 1), + overworld_frame(gObjectEventPic_Zangoose, 4, 4, 2), + overworld_frame(gObjectEventPic_Zangoose, 4, 4, 3), + overworld_frame(gObjectEventPic_Zangoose, 4, 4, 4), + overworld_frame(gObjectEventPic_Zangoose, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Seviper[] = { + overworld_frame(gObjectEventPic_Seviper, 4, 4, 0), + overworld_frame(gObjectEventPic_Seviper, 4, 4, 1), + overworld_frame(gObjectEventPic_Seviper, 4, 4, 2), + overworld_frame(gObjectEventPic_Seviper, 4, 4, 3), + overworld_frame(gObjectEventPic_Seviper, 4, 4, 4), + overworld_frame(gObjectEventPic_Seviper, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Lunatone[] = { + overworld_frame(gObjectEventPic_Lunatone, 4, 4, 0), + overworld_frame(gObjectEventPic_Lunatone, 4, 4, 1), + overworld_frame(gObjectEventPic_Lunatone, 4, 4, 2), + overworld_frame(gObjectEventPic_Lunatone, 4, 4, 3), + overworld_frame(gObjectEventPic_Lunatone, 4, 4, 4), + overworld_frame(gObjectEventPic_Lunatone, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Solrock[] = { + overworld_frame(gObjectEventPic_Solrock, 4, 4, 0), + overworld_frame(gObjectEventPic_Solrock, 4, 4, 1), + overworld_frame(gObjectEventPic_Solrock, 4, 4, 2), + overworld_frame(gObjectEventPic_Solrock, 4, 4, 3), + overworld_frame(gObjectEventPic_Solrock, 4, 4, 4), + overworld_frame(gObjectEventPic_Solrock, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Barboach[] = { + overworld_frame(gObjectEventPic_Barboach, 4, 4, 0), + overworld_frame(gObjectEventPic_Barboach, 4, 4, 1), + overworld_frame(gObjectEventPic_Barboach, 4, 4, 2), + overworld_frame(gObjectEventPic_Barboach, 4, 4, 3), + overworld_frame(gObjectEventPic_Barboach, 4, 4, 4), + overworld_frame(gObjectEventPic_Barboach, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Whiscash[] = { + overworld_frame(gObjectEventPic_Whiscash, 4, 4, 0), + overworld_frame(gObjectEventPic_Whiscash, 4, 4, 1), + overworld_frame(gObjectEventPic_Whiscash, 4, 4, 2), + overworld_frame(gObjectEventPic_Whiscash, 4, 4, 3), + overworld_frame(gObjectEventPic_Whiscash, 4, 4, 4), + overworld_frame(gObjectEventPic_Whiscash, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Corphish[] = { + overworld_frame(gObjectEventPic_Corphish, 4, 4, 0), + overworld_frame(gObjectEventPic_Corphish, 4, 4, 1), + overworld_frame(gObjectEventPic_Corphish, 4, 4, 2), + overworld_frame(gObjectEventPic_Corphish, 4, 4, 3), + overworld_frame(gObjectEventPic_Corphish, 4, 4, 4), + overworld_frame(gObjectEventPic_Corphish, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Crawdaunt[] = { + overworld_frame(gObjectEventPic_Crawdaunt, 4, 4, 0), + overworld_frame(gObjectEventPic_Crawdaunt, 4, 4, 1), + overworld_frame(gObjectEventPic_Crawdaunt, 4, 4, 2), + overworld_frame(gObjectEventPic_Crawdaunt, 4, 4, 3), + overworld_frame(gObjectEventPic_Crawdaunt, 4, 4, 4), + overworld_frame(gObjectEventPic_Crawdaunt, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Baltoy[] = { + overworld_frame(gObjectEventPic_Baltoy, 4, 4, 0), + overworld_frame(gObjectEventPic_Baltoy, 4, 4, 1), + overworld_frame(gObjectEventPic_Baltoy, 4, 4, 2), + overworld_frame(gObjectEventPic_Baltoy, 4, 4, 3), + overworld_frame(gObjectEventPic_Baltoy, 4, 4, 4), + overworld_frame(gObjectEventPic_Baltoy, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Claydol[] = { + overworld_frame(gObjectEventPic_Claydol, 4, 4, 0), + overworld_frame(gObjectEventPic_Claydol, 4, 4, 1), + overworld_frame(gObjectEventPic_Claydol, 4, 4, 2), + overworld_frame(gObjectEventPic_Claydol, 4, 4, 3), + overworld_frame(gObjectEventPic_Claydol, 4, 4, 4), + overworld_frame(gObjectEventPic_Claydol, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Lileep[] = { + overworld_frame(gObjectEventPic_Lileep, 4, 4, 0), + overworld_frame(gObjectEventPic_Lileep, 4, 4, 1), + overworld_frame(gObjectEventPic_Lileep, 4, 4, 2), + overworld_frame(gObjectEventPic_Lileep, 4, 4, 3), + overworld_frame(gObjectEventPic_Lileep, 4, 4, 4), + overworld_frame(gObjectEventPic_Lileep, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Cradily[] = { + overworld_frame(gObjectEventPic_Cradily, 4, 4, 0), + overworld_frame(gObjectEventPic_Cradily, 4, 4, 1), + overworld_frame(gObjectEventPic_Cradily, 4, 4, 2), + overworld_frame(gObjectEventPic_Cradily, 4, 4, 3), + overworld_frame(gObjectEventPic_Cradily, 4, 4, 4), + overworld_frame(gObjectEventPic_Cradily, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Anorith[] = { + overworld_frame(gObjectEventPic_Anorith, 4, 4, 0), + overworld_frame(gObjectEventPic_Anorith, 4, 4, 1), + overworld_frame(gObjectEventPic_Anorith, 4, 4, 2), + overworld_frame(gObjectEventPic_Anorith, 4, 4, 3), + overworld_frame(gObjectEventPic_Anorith, 4, 4, 4), + overworld_frame(gObjectEventPic_Anorith, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Armaldo[] = { + overworld_frame(gObjectEventPic_Armaldo, 4, 4, 0), + overworld_frame(gObjectEventPic_Armaldo, 4, 4, 1), + overworld_frame(gObjectEventPic_Armaldo, 4, 4, 2), + overworld_frame(gObjectEventPic_Armaldo, 4, 4, 3), + overworld_frame(gObjectEventPic_Armaldo, 4, 4, 4), + overworld_frame(gObjectEventPic_Armaldo, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Feebas[] = { + overworld_frame(gObjectEventPic_Feebas, 4, 4, 0), + overworld_frame(gObjectEventPic_Feebas, 4, 4, 1), + overworld_frame(gObjectEventPic_Feebas, 4, 4, 2), + overworld_frame(gObjectEventPic_Feebas, 4, 4, 3), + overworld_frame(gObjectEventPic_Feebas, 4, 4, 4), + overworld_frame(gObjectEventPic_Feebas, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Milotic[] = { + overworld_frame(gObjectEventPic_Milotic, 4, 4, 0), + overworld_frame(gObjectEventPic_Milotic, 4, 4, 1), + overworld_frame(gObjectEventPic_Milotic, 4, 4, 2), + overworld_frame(gObjectEventPic_Milotic, 4, 4, 3), + overworld_frame(gObjectEventPic_Milotic, 4, 4, 4), + overworld_frame(gObjectEventPic_Milotic, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Castform[] = { + overworld_frame(gObjectEventPic_Castform, 4, 4, 0), + overworld_frame(gObjectEventPic_Castform, 4, 4, 1), + overworld_frame(gObjectEventPic_Castform, 4, 4, 2), + overworld_frame(gObjectEventPic_Castform, 4, 4, 3), + overworld_frame(gObjectEventPic_Castform, 4, 4, 4), + overworld_frame(gObjectEventPic_Castform, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Kecleon_Follower[] = { + overworld_frame(gObjectEventPic_Kecleon_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Kecleon_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Kecleon_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Kecleon_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Kecleon_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Kecleon_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Shuppet[] = { + overworld_frame(gObjectEventPic_Shuppet, 4, 4, 0), + overworld_frame(gObjectEventPic_Shuppet, 4, 4, 1), + overworld_frame(gObjectEventPic_Shuppet, 4, 4, 2), + overworld_frame(gObjectEventPic_Shuppet, 4, 4, 3), + overworld_frame(gObjectEventPic_Shuppet, 4, 4, 4), + overworld_frame(gObjectEventPic_Shuppet, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Banette[] = { + overworld_frame(gObjectEventPic_Banette, 4, 4, 0), + overworld_frame(gObjectEventPic_Banette, 4, 4, 1), + overworld_frame(gObjectEventPic_Banette, 4, 4, 2), + overworld_frame(gObjectEventPic_Banette, 4, 4, 3), + overworld_frame(gObjectEventPic_Banette, 4, 4, 4), + overworld_frame(gObjectEventPic_Banette, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Duskull[] = { + overworld_frame(gObjectEventPic_Duskull, 4, 4, 0), + overworld_frame(gObjectEventPic_Duskull, 4, 4, 1), + overworld_frame(gObjectEventPic_Duskull, 4, 4, 2), + overworld_frame(gObjectEventPic_Duskull, 4, 4, 3), + overworld_frame(gObjectEventPic_Duskull, 4, 4, 4), + overworld_frame(gObjectEventPic_Duskull, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Dusclops_Follower[] = { + overworld_frame(gObjectEventPic_Dusclops_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Dusclops_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Dusclops_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Dusclops_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Dusclops_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Dusclops_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Tropius[] = { + overworld_frame(gObjectEventPic_Tropius, 4, 4, 0), + overworld_frame(gObjectEventPic_Tropius, 4, 4, 1), + overworld_frame(gObjectEventPic_Tropius, 4, 4, 2), + overworld_frame(gObjectEventPic_Tropius, 4, 4, 3), + overworld_frame(gObjectEventPic_Tropius, 4, 4, 4), + overworld_frame(gObjectEventPic_Tropius, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Chimecho[] = { + overworld_frame(gObjectEventPic_Chimecho, 4, 4, 0), + overworld_frame(gObjectEventPic_Chimecho, 4, 4, 1), + overworld_frame(gObjectEventPic_Chimecho, 4, 4, 2), + overworld_frame(gObjectEventPic_Chimecho, 4, 4, 3), + overworld_frame(gObjectEventPic_Chimecho, 4, 4, 4), + overworld_frame(gObjectEventPic_Chimecho, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Absol[] = { + overworld_frame(gObjectEventPic_Absol, 4, 4, 0), + overworld_frame(gObjectEventPic_Absol, 4, 4, 1), + overworld_frame(gObjectEventPic_Absol, 4, 4, 2), + overworld_frame(gObjectEventPic_Absol, 4, 4, 3), + overworld_frame(gObjectEventPic_Absol, 4, 4, 4), + overworld_frame(gObjectEventPic_Absol, 4, 4, 5), + overworld_frame(gObjectEventPic_Absol, 4, 4, 6), + overworld_frame(gObjectEventPic_Absol, 4, 4, 7), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wynaut[] = { + overworld_frame(gObjectEventPic_Wynaut, 4, 4, 0), + overworld_frame(gObjectEventPic_Wynaut, 4, 4, 1), + overworld_frame(gObjectEventPic_Wynaut, 4, 4, 2), + overworld_frame(gObjectEventPic_Wynaut, 4, 4, 3), + overworld_frame(gObjectEventPic_Wynaut, 4, 4, 4), + overworld_frame(gObjectEventPic_Wynaut, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Snorunt[] = { + overworld_frame(gObjectEventPic_Snorunt, 4, 4, 0), + overworld_frame(gObjectEventPic_Snorunt, 4, 4, 1), + overworld_frame(gObjectEventPic_Snorunt, 4, 4, 2), + overworld_frame(gObjectEventPic_Snorunt, 4, 4, 3), + overworld_frame(gObjectEventPic_Snorunt, 4, 4, 4), + overworld_frame(gObjectEventPic_Snorunt, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Glalie[] = { + overworld_frame(gObjectEventPic_Glalie, 4, 4, 0), + overworld_frame(gObjectEventPic_Glalie, 4, 4, 1), + overworld_frame(gObjectEventPic_Glalie, 4, 4, 2), + overworld_frame(gObjectEventPic_Glalie, 4, 4, 3), + overworld_frame(gObjectEventPic_Glalie, 4, 4, 4), + overworld_frame(gObjectEventPic_Glalie, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Spheal[] = { + overworld_frame(gObjectEventPic_Spheal, 4, 4, 0), + overworld_frame(gObjectEventPic_Spheal, 4, 4, 1), + overworld_frame(gObjectEventPic_Spheal, 4, 4, 2), + overworld_frame(gObjectEventPic_Spheal, 4, 4, 3), + overworld_frame(gObjectEventPic_Spheal, 4, 4, 4), + overworld_frame(gObjectEventPic_Spheal, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sealeo[] = { + overworld_frame(gObjectEventPic_Sealeo, 4, 4, 0), + overworld_frame(gObjectEventPic_Sealeo, 4, 4, 1), + overworld_frame(gObjectEventPic_Sealeo, 4, 4, 2), + overworld_frame(gObjectEventPic_Sealeo, 4, 4, 3), + overworld_frame(gObjectEventPic_Sealeo, 4, 4, 4), + overworld_frame(gObjectEventPic_Sealeo, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Walrein[] = { + overworld_frame(gObjectEventPic_Walrein, 4, 4, 0), + overworld_frame(gObjectEventPic_Walrein, 4, 4, 1), + overworld_frame(gObjectEventPic_Walrein, 4, 4, 2), + overworld_frame(gObjectEventPic_Walrein, 4, 4, 3), + overworld_frame(gObjectEventPic_Walrein, 4, 4, 4), + overworld_frame(gObjectEventPic_Walrein, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Clamperl[] = { + overworld_frame(gObjectEventPic_Clamperl, 4, 4, 0), + overworld_frame(gObjectEventPic_Clamperl, 4, 4, 1), + overworld_frame(gObjectEventPic_Clamperl, 4, 4, 2), + overworld_frame(gObjectEventPic_Clamperl, 4, 4, 3), + overworld_frame(gObjectEventPic_Clamperl, 4, 4, 4), + overworld_frame(gObjectEventPic_Clamperl, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Huntail[] = { + overworld_frame(gObjectEventPic_Huntail, 4, 4, 0), + overworld_frame(gObjectEventPic_Huntail, 4, 4, 1), + overworld_frame(gObjectEventPic_Huntail, 4, 4, 2), + overworld_frame(gObjectEventPic_Huntail, 4, 4, 3), + overworld_frame(gObjectEventPic_Huntail, 4, 4, 4), + overworld_frame(gObjectEventPic_Huntail, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Gorebyss[] = { + overworld_frame(gObjectEventPic_Gorebyss, 4, 4, 0), + overworld_frame(gObjectEventPic_Gorebyss, 4, 4, 1), + overworld_frame(gObjectEventPic_Gorebyss, 4, 4, 2), + overworld_frame(gObjectEventPic_Gorebyss, 4, 4, 3), + overworld_frame(gObjectEventPic_Gorebyss, 4, 4, 4), + overworld_frame(gObjectEventPic_Gorebyss, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Relicanth[] = { + overworld_frame(gObjectEventPic_Relicanth, 4, 4, 0), + overworld_frame(gObjectEventPic_Relicanth, 4, 4, 1), + overworld_frame(gObjectEventPic_Relicanth, 4, 4, 2), + overworld_frame(gObjectEventPic_Relicanth, 4, 4, 3), + overworld_frame(gObjectEventPic_Relicanth, 4, 4, 4), + overworld_frame(gObjectEventPic_Relicanth, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Luvdisc[] = { + overworld_frame(gObjectEventPic_Luvdisc, 4, 4, 0), + overworld_frame(gObjectEventPic_Luvdisc, 4, 4, 1), + overworld_frame(gObjectEventPic_Luvdisc, 4, 4, 2), + overworld_frame(gObjectEventPic_Luvdisc, 4, 4, 3), + overworld_frame(gObjectEventPic_Luvdisc, 4, 4, 4), + overworld_frame(gObjectEventPic_Luvdisc, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Bagon[] = { + overworld_frame(gObjectEventPic_Bagon, 4, 4, 0), + overworld_frame(gObjectEventPic_Bagon, 4, 4, 1), + overworld_frame(gObjectEventPic_Bagon, 4, 4, 2), + overworld_frame(gObjectEventPic_Bagon, 4, 4, 3), + overworld_frame(gObjectEventPic_Bagon, 4, 4, 4), + overworld_frame(gObjectEventPic_Bagon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Shelgon[] = { + overworld_frame(gObjectEventPic_Shelgon, 4, 4, 0), + overworld_frame(gObjectEventPic_Shelgon, 4, 4, 1), + overworld_frame(gObjectEventPic_Shelgon, 4, 4, 2), + overworld_frame(gObjectEventPic_Shelgon, 4, 4, 3), + overworld_frame(gObjectEventPic_Shelgon, 4, 4, 4), + overworld_frame(gObjectEventPic_Shelgon, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Salamence[] = { + overworld_frame(gObjectEventPic_Salamence, 4, 4, 0), + overworld_frame(gObjectEventPic_Salamence, 4, 4, 1), + overworld_frame(gObjectEventPic_Salamence, 4, 4, 2), + overworld_frame(gObjectEventPic_Salamence, 4, 4, 3), + overworld_frame(gObjectEventPic_Salamence, 4, 4, 4), + overworld_frame(gObjectEventPic_Salamence, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Beldum[] = { + overworld_frame(gObjectEventPic_Beldum, 4, 4, 0), + overworld_frame(gObjectEventPic_Beldum, 4, 4, 1), + overworld_frame(gObjectEventPic_Beldum, 4, 4, 2), + overworld_frame(gObjectEventPic_Beldum, 4, 4, 3), + overworld_frame(gObjectEventPic_Beldum, 4, 4, 4), + overworld_frame(gObjectEventPic_Beldum, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Metang[] = { + overworld_frame(gObjectEventPic_Metang, 4, 4, 0), + overworld_frame(gObjectEventPic_Metang, 4, 4, 1), + overworld_frame(gObjectEventPic_Metang, 4, 4, 2), + overworld_frame(gObjectEventPic_Metang, 4, 4, 3), + overworld_frame(gObjectEventPic_Metang, 4, 4, 4), + overworld_frame(gObjectEventPic_Metang, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Metagross[] = { + overworld_frame(gObjectEventPic_Metagross, 4, 4, 0), + overworld_frame(gObjectEventPic_Metagross, 4, 4, 1), + overworld_frame(gObjectEventPic_Metagross, 4, 4, 2), + overworld_frame(gObjectEventPic_Metagross, 4, 4, 3), + overworld_frame(gObjectEventPic_Metagross, 4, 4, 4), + overworld_frame(gObjectEventPic_Metagross, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Regirock[] = { + overworld_frame(gObjectEventPic_Regirock, 4, 4, 0), + overworld_frame(gObjectEventPic_Regirock, 4, 4, 1), + overworld_frame(gObjectEventPic_Regirock, 4, 4, 2), + overworld_frame(gObjectEventPic_Regirock, 4, 4, 3), + overworld_frame(gObjectEventPic_Regirock, 4, 4, 4), + overworld_frame(gObjectEventPic_Regirock, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Regice[] = { + overworld_frame(gObjectEventPic_Regice, 4, 4, 0), + overworld_frame(gObjectEventPic_Regice, 4, 4, 1), + overworld_frame(gObjectEventPic_Regice, 4, 4, 2), + overworld_frame(gObjectEventPic_Regice, 4, 4, 3), + overworld_frame(gObjectEventPic_Regice, 4, 4, 4), + overworld_frame(gObjectEventPic_Regice, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Registeel[] = { + overworld_frame(gObjectEventPic_Registeel, 4, 4, 0), + overworld_frame(gObjectEventPic_Registeel, 4, 4, 1), + overworld_frame(gObjectEventPic_Registeel, 4, 4, 2), + overworld_frame(gObjectEventPic_Registeel, 4, 4, 3), + overworld_frame(gObjectEventPic_Registeel, 4, 4, 4), + overworld_frame(gObjectEventPic_Registeel, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Latias[] = { + overworld_frame(gObjectEventPic_Latias, 4, 4, 0), + overworld_frame(gObjectEventPic_Latias, 4, 4, 1), + overworld_frame(gObjectEventPic_Latias, 4, 4, 2), + overworld_frame(gObjectEventPic_Latias, 4, 4, 3), + overworld_frame(gObjectEventPic_Latias, 4, 4, 4), + overworld_frame(gObjectEventPic_Latias, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Latios[] = { + overworld_frame(gObjectEventPic_Latios, 4, 4, 0), + overworld_frame(gObjectEventPic_Latios, 4, 4, 1), + overworld_frame(gObjectEventPic_Latios, 4, 4, 2), + overworld_frame(gObjectEventPic_Latios, 4, 4, 3), + overworld_frame(gObjectEventPic_Latios, 4, 4, 4), + overworld_frame(gObjectEventPic_Latios, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Kyogre_Follower[] = { + overworld_frame(gObjectEventPic_Kyogre_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Kyogre_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Kyogre_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Kyogre_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Kyogre_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Kyogre_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Groudon_Follower[] = { + overworld_frame(gObjectEventPic_Groudon_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Groudon_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Groudon_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Groudon_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Groudon_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Groudon_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Rayquaza_Follower[] = { + overworld_frame(gObjectEventPic_Rayquaza_Follower, 4, 4, 0), + overworld_frame(gObjectEventPic_Rayquaza_Follower, 4, 4, 1), + overworld_frame(gObjectEventPic_Rayquaza_Follower, 4, 4, 2), + overworld_frame(gObjectEventPic_Rayquaza_Follower, 4, 4, 3), + overworld_frame(gObjectEventPic_Rayquaza_Follower, 4, 4, 4), + overworld_frame(gObjectEventPic_Rayquaza_Follower, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Jirachi[] = { + overworld_frame(gObjectEventPic_Jirachi, 4, 4, 0), + overworld_frame(gObjectEventPic_Jirachi, 4, 4, 1), + overworld_frame(gObjectEventPic_Jirachi, 4, 4, 2), + overworld_frame(gObjectEventPic_Jirachi, 4, 4, 3), + overworld_frame(gObjectEventPic_Jirachi, 4, 4, 4), + overworld_frame(gObjectEventPic_Jirachi, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Deoxys_Normal[] = { + overworld_frame(gObjectEventPic_Deoxys_Normal, 4, 4, 0), + overworld_frame(gObjectEventPic_Deoxys_Normal, 4, 4, 1), + overworld_frame(gObjectEventPic_Deoxys_Normal, 4, 4, 2), + overworld_frame(gObjectEventPic_Deoxys_Normal, 4, 4, 3), + overworld_frame(gObjectEventPic_Deoxys_Normal, 4, 4, 4), + overworld_frame(gObjectEventPic_Deoxys_Normal, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Deoxys_Attack[] = { + overworld_frame(gObjectEventPic_Deoxys_Attack, 4, 4, 0), + overworld_frame(gObjectEventPic_Deoxys_Attack, 4, 4, 1), + overworld_frame(gObjectEventPic_Deoxys_Attack, 4, 4, 2), + overworld_frame(gObjectEventPic_Deoxys_Attack, 4, 4, 3), + overworld_frame(gObjectEventPic_Deoxys_Attack, 4, 4, 4), + overworld_frame(gObjectEventPic_Deoxys_Attack, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Deoxys_Defense[] = { + overworld_frame(gObjectEventPic_Deoxys_Defense, 4, 4, 0), + overworld_frame(gObjectEventPic_Deoxys_Defense, 4, 4, 1), + overworld_frame(gObjectEventPic_Deoxys_Defense, 4, 4, 2), + overworld_frame(gObjectEventPic_Deoxys_Defense, 4, 4, 3), + overworld_frame(gObjectEventPic_Deoxys_Defense, 4, 4, 4), + overworld_frame(gObjectEventPic_Deoxys_Defense, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Deoxys_Speed[] = { + overworld_frame(gObjectEventPic_Deoxys_Speed, 4, 4, 0), + overworld_frame(gObjectEventPic_Deoxys_Speed, 4, 4, 1), + overworld_frame(gObjectEventPic_Deoxys_Speed, 4, 4, 2), + overworld_frame(gObjectEventPic_Deoxys_Speed, 4, 4, 3), + overworld_frame(gObjectEventPic_Deoxys_Speed, 4, 4, 4), + overworld_frame(gObjectEventPic_Deoxys_Speed, 4, 4, 5), +}; diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index fa56b8492..5feece3ee 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -1339,7 +1339,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = { - SPECIES_SPRITE(EEVEE, gMonFrontPic_EeveeF), + //SPECIES_SPRITE(EEVEE, gMonFrontPic_EeveeF), #if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(STARLY, gMonFrontPic_StarlyF), SPECIES_SPRITE(STARAVIA, gMonFrontPic_StaraviaF), diff --git a/src/easy_chat.c b/src/easy_chat.c index 6595e0a10..12a3a0808 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -5109,7 +5109,7 @@ static bool8 IsEasyChatGroupUnlocked(u8 groupId) switch (groupId) { case EC_GROUP_TRENDY_SAYING: - return FlagGet(FLAG_SYS_HIPSTER_MEET); + return FlagGet(FLAG_UNLOCKED_TRENDY_SAYINGS); case EC_GROUP_EVENTS: case EC_GROUP_MOVE_1: case EC_GROUP_MOVE_2: @@ -5425,80 +5425,99 @@ void BufferDeepLinkPhrase(void) CopyEasyChatWord(gStringVar2, easyChatWord); } -static bool8 IsAdditionalPhraseUnlocked(u8 additionalPhraseId) +/* + ### Trendy Sayings + + Not to be confused with Dewford Town's "trendy phrase". + + This is a group of easy chat words (EC_GROUP_TRENDY_SAYING) that are normally inaccessible. + They can be unlocked either through Mystery Event (where they're referred to as "rare" words) + or from the "Hipster" variety of the Mauville Old Man. The Hipster can unlock one word each + time he is received via record mixing (and once if he is the player's default Old Man). + + Which words have been unlocked is saved in the unlockedTrendySayings bitfield in SaveBlock1 + + Unlocked trendy saying words are only accessible if the flag FLAG_UNLOCKED_TRENDY_SAYINGS is set. + It's set any time the player talks to the Hipster, but is not apparently set by Mystery Event, + meaning trendy saying words unlocked via Mystery Event may not be available until the player has + talked to the Hipster. +*/ +static bool8 IsTrendySayingUnlocked(u8 wordIndex) { - int byteOffset = additionalPhraseId / 8; - int shift = additionalPhraseId % 8; - return (gSaveBlock1Ptr->additionalPhrases[byteOffset] >> shift) & 1; + int byteOffset = wordIndex / 8; + int shift = wordIndex % 8; + return (gSaveBlock1Ptr->unlockedTrendySayings[byteOffset] >> shift) & 1; } -void UnlockAdditionalPhrase(u8 additionalPhraseId) +void UnlockTrendySaying(u8 wordIndex) { - if (additionalPhraseId < NUM_ADDITIONAL_PHRASES) + if (wordIndex < NUM_TRENDY_SAYINGS) { - int byteOffset = additionalPhraseId / 8; - int shift = additionalPhraseId % 8; - gSaveBlock1Ptr->additionalPhrases[byteOffset] |= 1 << shift; + int byteOffset = wordIndex / 8; + int shift = wordIndex % 8; + gSaveBlock1Ptr->unlockedTrendySayings[byteOffset] |= 1 << shift; } } -static u8 GetNumAdditionalPhrasesUnlocked(void) +static u8 GetNumTrendySayingsUnlocked(void) { u8 i; - u8 numAdditionalPhrasesUnlocked; + u8 numUnlocked; - for (i = 0, numAdditionalPhrasesUnlocked = 0; i < NUM_ADDITIONAL_PHRASES; i++) + for (i = 0, numUnlocked = 0; i < NUM_TRENDY_SAYINGS; i++) { - if (IsAdditionalPhraseUnlocked(i)) - numAdditionalPhrasesUnlocked++; + if (IsTrendySayingUnlocked(i)) + numUnlocked++; } - return numAdditionalPhrasesUnlocked; + return numUnlocked; } -u16 GetNewHipsterPhraseToTeach(void) +u16 UnlockRandomTrendySaying(void) { u16 i; - u16 additionalPhraseId; - u8 numAdditionalPhrasesUnlocked = GetNumAdditionalPhrasesUnlocked(); - if (numAdditionalPhrasesUnlocked == NUM_ADDITIONAL_PHRASES) + u16 numToSkip; + u8 numUnlocked = GetNumTrendySayingsUnlocked(); + if (numUnlocked == NUM_TRENDY_SAYINGS) return EC_EMPTY_WORD; - additionalPhraseId = Random() % (NUM_ADDITIONAL_PHRASES - numAdditionalPhrasesUnlocked); - for (i = 0; i < NUM_ADDITIONAL_PHRASES; i++) + numToSkip = Random() % (NUM_TRENDY_SAYINGS - numUnlocked); + for (i = 0; i < NUM_TRENDY_SAYINGS; i++) { - if (!IsAdditionalPhraseUnlocked(i)) + if (!IsTrendySayingUnlocked(i)) { - if (additionalPhraseId) + if (numToSkip) { - additionalPhraseId--; + // Skip the first n locked words, as determined by the Random call above. + numToSkip--; } else { - UnlockAdditionalPhrase(i); + UnlockTrendySaying(i); return EC_WORD(EC_GROUP_TRENDY_SAYING, i); } } } + // Would only be reached if there are no new words to teach, which is handled at the start. return EC_EMPTY_WORD; } // Unused -u16 GetRandomTaughtHipsterPhrase(void) +static u16 GetRandomUnlockedTrendySaying(void) { u16 i; - u16 additionalPhraseId = GetNumAdditionalPhrasesUnlocked(); - if (additionalPhraseId == 0) + u16 n = GetNumTrendySayingsUnlocked(); + if (n == 0) return EC_EMPTY_WORD; - additionalPhraseId = Random() % additionalPhraseId; - for (i = 0; i < NUM_ADDITIONAL_PHRASES; i++) + n = Random() % n; + for (i = 0; i < NUM_TRENDY_SAYINGS; i++) { - if (IsAdditionalPhraseUnlocked(i)) + if (IsTrendySayingUnlocked(i)) { - if (additionalPhraseId) - additionalPhraseId--; + if (n) + n--; else return EC_WORD(EC_GROUP_TRENDY_SAYING, i); } @@ -5569,10 +5588,10 @@ void InitEasyChatPhrases(void) // Mauville old man data is corrupted, which is initialized directly after // this function is called when starting a new game. for (i = 0; i < 64; i++) - gSaveBlock1Ptr->additionalPhrases[i] = 0; + gSaveBlock1Ptr->unlockedTrendySayings[i] = 0; #else - for (i = 0; i < ARRAY_COUNT(gSaveBlock1Ptr->additionalPhrases); i++) - gSaveBlock1Ptr->additionalPhrases[i] = 0; + for (i = 0; i < ARRAY_COUNT(gSaveBlock1Ptr->unlockedTrendySayings); i++) + gSaveBlock1Ptr->unlockedTrendySayings[i] = 0; #endif } @@ -5611,7 +5630,7 @@ static void SetUnlockedEasyChatGroups(void) sWordData->unlockedGroupIds[sWordData->numUnlockedGroups++] = EC_GROUP_MOVE_2; } - if (FlagGet(FLAG_SYS_HIPSTER_MEET)) + if (FlagGet(FLAG_UNLOCKED_TRENDY_SAYINGS)) sWordData->unlockedGroupIds[sWordData->numUnlockedGroups++] = EC_GROUP_TRENDY_SAYING; if (IsNationalPokedexEnabled()) @@ -5800,7 +5819,7 @@ static bool8 IsEasyChatIndexAndGroupUnlocked(u16 wordIndex, u8 groupId) case EC_GROUP_MOVE_2: return TRUE; case EC_GROUP_TRENDY_SAYING: - return IsAdditionalPhraseUnlocked(wordIndex); + return IsTrendySayingUnlocked(wordIndex); default: return gEasyChatGroups[groupId].wordData.words[wordIndex].enabled; } diff --git a/src/event_data.c b/src/event_data.c index 50f6f68da..bf8a6c27a 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -201,7 +201,7 @@ bool8 VarSet(u16 id, u16 value) return TRUE; } -u8 VarGetObjectEventGraphicsId(u8 id) +u16 VarGetObjectEventGraphicsId(u8 id) { return VarGet(VAR_OBJ_GFX_ID_0 + id); } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index ccb6143bc..750747e15 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -12,17 +12,22 @@ #include "field_effect.h" #include "field_effect_helpers.h" #include "field_player_avatar.h" +#include "field_specials.h" +#include "field_weather.h" #include "fieldmap.h" #include "mauville_old_man.h" #include "metatile_behavior.h" #include "overworld.h" #include "palette.h" +#include "pokemon.h" #include "random.h" +#include "script.h" #include "sprite.h" #include "task.h" #include "trainer_see.h" #include "trainer_hill.h" #include "util.h" +#include "follow_me.h" #include "constants/event_object_movement.h" #include "constants/event_objects.h" #include "constants/field_effects.h" @@ -30,6 +35,7 @@ #include "constants/mauville_old_man.h" #include "constants/trainer_types.h" #include "constants/union_room.h" +#include "constants/metatile_behaviors.h" // this file was known as evobjmv.c in Game Freak's original source @@ -45,6 +51,8 @@ enum { JUMP_DISTANCE_IN_PLACE, JUMP_DISTANCE_NORMAL, JUMP_DISTANCE_FAR, + JUMP_DISTANCE_FAR_QUICK, + JUMP_DISTANCE_FAR_QUICKER, }; // Sprite data used throughout @@ -76,10 +84,10 @@ static u8 setup##_callback(struct ObjectEvent *objectEvent, struct Sprite *sprit return 0;\ } -static EWRAM_DATA u8 sCurrentReflectionType = 0; -static EWRAM_DATA u16 sCurrentSpecialObjectPaletteTag = 0; static EWRAM_DATA struct LockedAnimObjectEvents *sLockedAnimObjectEvents = {0}; +extern void PlaySE(u16); +extern void PlaySE12WithPanning(u16, s8); static void MoveCoordsInDirection(u32, s16 *, s16 *, s16, s16); static bool8 ObjectEventExecSingleMovementAction(struct ObjectEvent *, struct Sprite *); static void SetMovementDelay(struct Sprite *, s16); @@ -112,6 +120,9 @@ static void GetGroundEffectFlags_JumpLanding(struct ObjectEvent *, u32 *); static u8 ObjectEventGetNearbyReflectionType(struct ObjectEvent *); static u8 GetReflectionTypeByMetatileBehavior(u32); static void InitObjectPriorityByElevation(struct Sprite *, u8); +static void DoTracksGroundEffect_FootprintsBug(struct ObjectEvent *, struct Sprite *, u8); +static void DoTracksGroundEffect_FootprintsSpot(struct ObjectEvent *, struct Sprite *, u8); +static void DoTracksGroundEffect_SlitherTracks(struct ObjectEvent *, struct Sprite *, u8); static void ObjectEventUpdateSubpriority(struct ObjectEvent *, struct Sprite *); static void DoTracksGroundEffect_None(struct ObjectEvent *, struct Sprite *, u8); static void DoTracksGroundEffect_Footprints(struct ObjectEvent *, struct Sprite *, u8); @@ -132,23 +143,21 @@ static void SetObjectEventDynamicGraphicsId(struct ObjectEvent *); static void RemoveObjectEventInternal(struct ObjectEvent *); static u16 GetObjectEventFlagIdByObjectEventId(u8); static void UpdateObjectEventVisibility(struct ObjectEvent *, struct Sprite *); -static void MakeSpriteTemplateFromObjectEventTemplate(struct ObjectEventTemplate *, struct SpriteTemplate *, const struct SubspriteTable **); +static void MakeSpriteTemplateFromObjectEventTemplate(const struct ObjectEventTemplate *, struct SpriteTemplate *, const struct SubspriteTable **); static void GetObjectEventMovingCameraOffset(s16 *, s16 *); -static struct ObjectEventTemplate *GetObjectEventTemplateByLocalIdAndMap(u8, u8, u8); -static void LoadObjectEventPalette(u16); static void RemoveObjectEventIfOutsideView(struct ObjectEvent *); static void SpawnObjectEventOnReturnToField(u8, s16, s16); static void SetPlayerAvatarObjectEventIdAndObjectId(u8, u8); static void ResetObjectEventFldEffData(struct ObjectEvent *); static u8 LoadSpritePaletteIfTagExists(const struct SpritePalette *); -static u8 FindObjectEventPaletteIndexByTag(u16); +static u16 FindObjectEventPaletteIndexByTag(u16); static void _PatchObjectPalette(u16, u8); static bool8 ObjectEventDoesElevationMatch(struct ObjectEvent *, u8); static void SpriteCB_CameraObject(struct Sprite *); static void CameraObject_0(struct Sprite *); static void CameraObject_1(struct Sprite *); static void CameraObject_2(struct Sprite *); -static struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8, struct ObjectEventTemplate *, u8); +static const struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8, const struct ObjectEventTemplate *, u8); static void ClearObjectEventMovement(struct ObjectEvent *, struct Sprite *); static void ObjectEventSetSingleMovement(struct ObjectEvent *, struct Sprite *, u8); static void SetSpriteDataForNormalStep(struct Sprite *, u8, u8); @@ -169,21 +178,6 @@ static bool8 AreElevationsCompatible(u8, u8); static const struct SpriteFrameImage sPicTable_PechaBerryTree[]; -const u8 gReflectionEffectPaletteMap[16] = { - [PALSLOT_PLAYER] = PALSLOT_PLAYER_REFLECTION, - [PALSLOT_PLAYER_REFLECTION] = PALSLOT_PLAYER_REFLECTION, - [PALSLOT_NPC_1] = PALSLOT_NPC_1_REFLECTION, - [PALSLOT_NPC_2] = PALSLOT_NPC_2_REFLECTION, - [PALSLOT_NPC_3] = PALSLOT_NPC_3_REFLECTION, - [PALSLOT_NPC_4] = PALSLOT_NPC_4_REFLECTION, - [PALSLOT_NPC_1_REFLECTION] = PALSLOT_NPC_1_REFLECTION, - [PALSLOT_NPC_2_REFLECTION] = PALSLOT_NPC_2_REFLECTION, - [PALSLOT_NPC_3_REFLECTION] = PALSLOT_NPC_3_REFLECTION, - [PALSLOT_NPC_4_REFLECTION] = PALSLOT_NPC_4_REFLECTION, - [PALSLOT_NPC_SPECIAL] = PALSLOT_NPC_SPECIAL_REFLECTION, - [PALSLOT_NPC_SPECIAL_REFLECTION] = PALSLOT_NPC_SPECIAL_REFLECTION -}; - static const struct SpriteTemplate sCameraSpriteTemplate = { .tileTag = 0, .paletteTag = TAG_NONE, @@ -286,6 +280,7 @@ static void (*const sMovementTypeCallbacks[])(struct Sprite *) = [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP] = MovementType_WalkSlowlyInPlace, [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT] = MovementType_WalkSlowlyInPlace, [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = MovementType_WalkSlowlyInPlace, + [MOVEMENT_TYPE_FOLLOWING_POKEMON] = MovementType_FollowingPokemon, }; static const bool8 sMovementTypeHasRange[NUM_MOVEMENT_TYPES] = { @@ -330,6 +325,7 @@ static const bool8 sMovementTypeHasRange[NUM_MOVEMENT_TYPES] = { [MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS] = TRUE, [MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS] = TRUE, [MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS] = TRUE, + [MOVEMENT_TYPE_FOLLOWING_POKEMON] = FALSE, }; const u8 gInitialMovementTypeFacingDirections[] = { @@ -414,6 +410,7 @@ const u8 gInitialMovementTypeFacingDirections[] = { [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP] = DIR_NORTH, [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT] = DIR_WEST, [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = DIR_EAST, + [MOVEMENT_TYPE_FOLLOWING_POKEMON] = DIR_SOUTH, }; #define OBJ_EVENT_PAL_TAG_BRENDAN 0x1100 @@ -443,24 +440,382 @@ const u8 gInitialMovementTypeFacingDirections[] = { #define OBJ_EVENT_PAL_TAG_GROUDON 0x1118 #define OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION 0x1119 #define OBJ_EVENT_PAL_TAG_UNUSED 0x111A -#define OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW 0x111B -#define OBJ_EVENT_PAL_TAG_POOCHYENA 0x111C -#define OBJ_EVENT_PAL_TAG_RED_LEAF 0x111D -#define OBJ_EVENT_PAL_TAG_DEOXYS 0x111E -#define OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE 0x111F -#define OBJ_EVENT_PAL_TAG_HO_OH 0x1120 -#define OBJ_EVENT_PAL_TAG_LUGIA 0x1121 -#define OBJ_EVENT_PAL_TAG_RS_BRENDAN 0x1122 -#define OBJ_EVENT_PAL_TAG_RS_MAY 0x1123 +#define OBJ_EVENT_PAL_TAG_POOCHYENA 0x111B +#define OBJ_EVENT_PAL_TAG_RED_LEAF 0x111C +#define OBJ_EVENT_PAL_TAG_DEOXYS 0x111D +#define OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE 0x111E +#define OBJ_EVENT_PAL_TAG_HO_OH 0x111F +#define OBJ_EVENT_PAL_TAG_LUGIA 0x1120 +#define OBJ_EVENT_PAL_TAG_RS_BRENDAN 0x1121 +#define OBJ_EVENT_PAL_TAG_RS_MAY 0x1122 +#define OBJ_EVENT_PAL_TAG_BULBASAUR 0x1123 +#define OBJ_EVENT_PAL_TAG_IVYSAUR 0x1124 +#define OBJ_EVENT_PAL_TAG_VENUSAUR 0x1125 +#define OBJ_EVENT_PAL_TAG_CHARMANDER 0x1126 +#define OBJ_EVENT_PAL_TAG_CHARMELEON 0x1127 +#define OBJ_EVENT_PAL_TAG_CHARIZARD 0x1128 +#define OBJ_EVENT_PAL_TAG_SQUIRTLE 0x1129 +#define OBJ_EVENT_PAL_TAG_WARTORTLE 0x112A +#define OBJ_EVENT_PAL_TAG_BLASTOISE 0x112B +#define OBJ_EVENT_PAL_TAG_CATERPIE 0x112C +#define OBJ_EVENT_PAL_TAG_BUTTERFREE 0x112D +#define OBJ_EVENT_PAL_TAG_WEEDLE 0x112E +#define OBJ_EVENT_PAL_TAG_BEEDRILL 0x112F +#define OBJ_EVENT_PAL_TAG_PIDGEY 0x1130 +#define OBJ_EVENT_PAL_TAG_PIDGEOTTO 0x1131 +#define OBJ_EVENT_PAL_TAG_PIDGEOT 0x1132 +#define OBJ_EVENT_PAL_TAG_RATTATA 0x1133 +#define OBJ_EVENT_PAL_TAG_RATICATE 0x1134 +#define OBJ_EVENT_PAL_TAG_SPEAROW 0x1135 +#define OBJ_EVENT_PAL_TAG_FEAROW 0x1136 +#define OBJ_EVENT_PAL_TAG_EKANS 0x1137 +#define OBJ_EVENT_PAL_TAG_ARBOK 0x1138 +#define OBJ_EVENT_PAL_TAG_PIKACHU 0x1139 +#define OBJ_EVENT_PAL_TAG_RAICHU 0x113A +#define OBJ_EVENT_PAL_TAG_SANDSHREW 0x113B +#define OBJ_EVENT_PAL_TAG_SANDSLASH 0x113C +#define OBJ_EVENT_PAL_TAG_NIDORAN_F 0x113D +#define OBJ_EVENT_PAL_TAG_NIDORINA 0x113E +#define OBJ_EVENT_PAL_TAG_NIDOQUEEN 0x113F +#define OBJ_EVENT_PAL_TAG_NIDORAN_M 0x1140 +#define OBJ_EVENT_PAL_TAG_NIDOKING 0x1141 +#define OBJ_EVENT_PAL_TAG_CLEFABLE 0x1142 +#define OBJ_EVENT_PAL_TAG_VULPIX 0x1143 +#define OBJ_EVENT_PAL_TAG_NINETALES 0x1144 +#define OBJ_EVENT_PAL_TAG_JIGGLYPUFF 0x1145 +#define OBJ_EVENT_PAL_TAG_WIGGLYTUFF 0x1146 +#define OBJ_EVENT_PAL_TAG_GOLBAT 0x1147 +#define OBJ_EVENT_PAL_TAG_GLOOM 0x1148 +#define OBJ_EVENT_PAL_TAG_PARAS 0x1149 +#define OBJ_EVENT_PAL_TAG_VENONAT 0x114A +#define OBJ_EVENT_PAL_TAG_VENOMOTH 0x114B +#define OBJ_EVENT_PAL_TAG_DIGLETT 0x114C +#define OBJ_EVENT_PAL_TAG_DUGTRIO 0x114D +#define OBJ_EVENT_PAL_TAG_MEOWTH 0x114E +#define OBJ_EVENT_PAL_TAG_PERSIAN 0x114F +#define OBJ_EVENT_PAL_TAG_GOLDUCK 0x1150 +#define OBJ_EVENT_PAL_TAG_MANKEY 0x1151 +#define OBJ_EVENT_PAL_TAG_PRIMEAPE 0x1152 +#define OBJ_EVENT_PAL_TAG_ARCANINE 0x1153 +#define OBJ_EVENT_PAL_TAG_POLIWAG 0x1154 +#define OBJ_EVENT_PAL_TAG_POLIWHIRL 0x1155 +#define OBJ_EVENT_PAL_TAG_KADABRA 0x1156 +#define OBJ_EVENT_PAL_TAG_MACHOP 0x1157 +#define OBJ_EVENT_PAL_TAG_MACHOKE 0x1158 +#define OBJ_EVENT_PAL_TAG_MACHAMP 0x1159 +#define OBJ_EVENT_PAL_TAG_WEEPINBELL 0x115A +#define OBJ_EVENT_PAL_TAG_VICTREEBEL 0x115B +#define OBJ_EVENT_PAL_TAG_TENTACOOL 0x115C +#define OBJ_EVENT_PAL_TAG_TENTACRUEL 0x115D +#define OBJ_EVENT_PAL_TAG_GRAVELER 0x115E +#define OBJ_EVENT_PAL_TAG_GOLEM 0x115F +#define OBJ_EVENT_PAL_TAG_PONYTA 0x1160 +#define OBJ_EVENT_PAL_TAG_SLOWPOKE 0x1161 +#define OBJ_EVENT_PAL_TAG_SLOWBRO 0x1162 +#define OBJ_EVENT_PAL_TAG_MAGNEMITE 0x1163 +#define OBJ_EVENT_PAL_TAG_FARFETCHD 0x1164 +#define OBJ_EVENT_PAL_TAG_DODUO 0x1165 +#define OBJ_EVENT_PAL_TAG_DODRIO 0x1166 +#define OBJ_EVENT_PAL_TAG_SEEL 0x1167 +#define OBJ_EVENT_PAL_TAG_MUK 0x1168 +#define OBJ_EVENT_PAL_TAG_SHELLDER 0x1169 +#define OBJ_EVENT_PAL_TAG_CLOYSTER 0x116A +#define OBJ_EVENT_PAL_TAG_GASTLY 0x116B +#define OBJ_EVENT_PAL_TAG_HAUNTER 0x116C +#define OBJ_EVENT_PAL_TAG_GENGAR 0x116D +#define OBJ_EVENT_PAL_TAG_HYPNO 0x116E +#define OBJ_EVENT_PAL_TAG_KINGLER 0x116F +#define OBJ_EVENT_PAL_TAG_VOLTORB 0x1170 +#define OBJ_EVENT_PAL_TAG_EXEGGCUTE 0x1171 +#define OBJ_EVENT_PAL_TAG_EXEGGUTOR 0x1172 +#define OBJ_EVENT_PAL_TAG_CUBONE 0x1173 +#define OBJ_EVENT_PAL_TAG_HITMONLEE 0x1174 +#define OBJ_EVENT_PAL_TAG_HITMONCHAN 0x1175 +#define OBJ_EVENT_PAL_TAG_LICKITUNG 0x1176 +#define OBJ_EVENT_PAL_TAG_KOFFING 0x1177 +#define OBJ_EVENT_PAL_TAG_RHYDON 0x1178 +#define OBJ_EVENT_PAL_TAG_CHANSEY 0x1179 +#define OBJ_EVENT_PAL_TAG_TANGELA 0x117A +#define OBJ_EVENT_PAL_TAG_KANGASKHAN 0x117B +#define OBJ_EVENT_PAL_TAG_HORSEA 0x117C +#define OBJ_EVENT_PAL_TAG_SEADRA 0x117D +#define OBJ_EVENT_PAL_TAG_GOLDEEN 0x117E +#define OBJ_EVENT_PAL_TAG_SEAKING 0x117F +#define OBJ_EVENT_PAL_TAG_STARMIE 0x1180 +#define OBJ_EVENT_PAL_TAG_MR_MIME 0x1181 +#define OBJ_EVENT_PAL_TAG_SCYTHER 0x1182 +#define OBJ_EVENT_PAL_TAG_JYNX 0x1183 +#define OBJ_EVENT_PAL_TAG_MAGMAR 0x1184 +#define OBJ_EVENT_PAL_TAG_PINSIR 0x1185 +#define OBJ_EVENT_PAL_TAG_TAUROS 0x1186 +#define OBJ_EVENT_PAL_TAG_MAGIKARP 0x1187 +#define OBJ_EVENT_PAL_TAG_GYARADOS 0x1188 +#define OBJ_EVENT_PAL_TAG_LAPRAS 0x1189 +#define OBJ_EVENT_PAL_TAG_EEVEE 0x118A +#define OBJ_EVENT_PAL_TAG_VAPOREON 0x118B +#define OBJ_EVENT_PAL_TAG_JOLTEON 0x118C +#define OBJ_EVENT_PAL_TAG_FLAREON 0x118D +#define OBJ_EVENT_PAL_TAG_PORYGON 0x118E +#define OBJ_EVENT_PAL_TAG_OMANYTE 0x118F +#define OBJ_EVENT_PAL_TAG_OMASTAR 0x1190 +#define OBJ_EVENT_PAL_TAG_KABUTO 0x1191 +#define OBJ_EVENT_PAL_TAG_KABUTOPS 0x1192 +#define OBJ_EVENT_PAL_TAG_AERODACTYL 0x1193 +#define OBJ_EVENT_PAL_TAG_SNORLAX 0x1194 +#define OBJ_EVENT_PAL_TAG_ARTICUNO 0x1195 +#define OBJ_EVENT_PAL_TAG_ZAPDOS 0x1196 +#define OBJ_EVENT_PAL_TAG_MOLTRES 0x1197 +#define OBJ_EVENT_PAL_TAG_DRATINI 0x1198 +#define OBJ_EVENT_PAL_TAG_DRAGONAIR 0x1199 +#define OBJ_EVENT_PAL_TAG_DRAGONITE 0x119A +#define OBJ_EVENT_PAL_TAG_MEWTWO 0x119B +#define OBJ_EVENT_PAL_TAG_MEW 0x119C +#define OBJ_EVENT_PAL_TAG_BAYLEEF 0x119D +#define OBJ_EVENT_PAL_TAG_MEGANIUM 0x119E +#define OBJ_EVENT_PAL_TAG_CYNDAQUIL 0x119F +#define OBJ_EVENT_PAL_TAG_QUILAVA 0x11A0 +#define OBJ_EVENT_PAL_TAG_TYPHLOSION 0x11A1 +#define OBJ_EVENT_PAL_TAG_TOTODILE 0x11A2 +#define OBJ_EVENT_PAL_TAG_CROCONAW 0x11A3 +#define OBJ_EVENT_PAL_TAG_FERALIGATR 0x11A4 +#define OBJ_EVENT_PAL_TAG_SENTRET 0x11A5 +#define OBJ_EVENT_PAL_TAG_FURRET 0x11A6 +#define OBJ_EVENT_PAL_TAG_HOOTHOOT 0x11A7 +#define OBJ_EVENT_PAL_TAG_NOCTOWL 0x11A8 +#define OBJ_EVENT_PAL_TAG_LEDYBA 0x11A9 +#define OBJ_EVENT_PAL_TAG_LEDIAN 0x11AA +#define OBJ_EVENT_PAL_TAG_SPINARAK 0x11AB +#define OBJ_EVENT_PAL_TAG_ARIADOS 0x11AC +#define OBJ_EVENT_PAL_TAG_CROBAT 0x11AD +#define OBJ_EVENT_PAL_TAG_CHINCHOU 0x11AE +#define OBJ_EVENT_PAL_TAG_LANTURN 0x11AF +#define OBJ_EVENT_PAL_TAG_PICHU 0x11B0 +#define OBJ_EVENT_PAL_TAG_CLEFFA 0x11B1 +#define OBJ_EVENT_PAL_TAG_IGGLYBUFF 0x11B2 +#define OBJ_EVENT_PAL_TAG_TOGEPI 0x11B3 +#define OBJ_EVENT_PAL_TAG_NATU 0x11B4 +#define OBJ_EVENT_PAL_TAG_XATU 0x11B5 +#define OBJ_EVENT_PAL_TAG_MAREEP 0x11B6 +#define OBJ_EVENT_PAL_TAG_FLAAFFY 0x11B7 +#define OBJ_EVENT_PAL_TAG_AMPHAROS 0x11B8 +#define OBJ_EVENT_PAL_TAG_BELLOSSOM 0x11B9 +#define OBJ_EVENT_PAL_TAG_AZUMARILL 0x11BA +#define OBJ_EVENT_PAL_TAG_SUDOWOODO 0x11BB +#define OBJ_EVENT_PAL_TAG_POLITOED 0x11BC +#define OBJ_EVENT_PAL_TAG_HOPPIP 0x11BD +#define OBJ_EVENT_PAL_TAG_SKIPLOOM 0x11BE +#define OBJ_EVENT_PAL_TAG_JUMPLUFF 0x11BF +#define OBJ_EVENT_PAL_TAG_AIPOM 0x11C0 +#define OBJ_EVENT_PAL_TAG_SUNKERN 0x11C1 +#define OBJ_EVENT_PAL_TAG_SUNFLORA 0x11C2 +#define OBJ_EVENT_PAL_TAG_YANMA 0x11C3 +#define OBJ_EVENT_PAL_TAG_QUAGSIRE 0x11C4 +#define OBJ_EVENT_PAL_TAG_ESPEON 0x11C5 +#define OBJ_EVENT_PAL_TAG_UMBREON 0x11C6 +#define OBJ_EVENT_PAL_TAG_MURKROW 0x11C7 +#define OBJ_EVENT_PAL_TAG_SLOWKING 0x11C8 +#define OBJ_EVENT_PAL_TAG_MISDREAVUS 0x11C9 +#define OBJ_EVENT_PAL_TAG_WOBBUFFET 0x11CA +#define OBJ_EVENT_PAL_TAG_GIRAFARIG 0x11CB +#define OBJ_EVENT_PAL_TAG_PINECO 0x11CC +#define OBJ_EVENT_PAL_TAG_FORRETRESS 0x11CD +#define OBJ_EVENT_PAL_TAG_DUNSPARCE 0x11CE +#define OBJ_EVENT_PAL_TAG_GLIGAR 0x11CF +#define OBJ_EVENT_PAL_TAG_SNUBBULL 0x11D0 +#define OBJ_EVENT_PAL_TAG_GRANBULL 0x11D1 +#define OBJ_EVENT_PAL_TAG_QWILFISH 0x11D2 +#define OBJ_EVENT_PAL_TAG_SCIZOR 0x11D3 +#define OBJ_EVENT_PAL_TAG_SHUCKLE 0x11D4 +#define OBJ_EVENT_PAL_TAG_HERACROSS 0x11D5 +#define OBJ_EVENT_PAL_TAG_SNEASEL 0x11D6 +#define OBJ_EVENT_PAL_TAG_TEDDIURSA 0x11D7 +#define OBJ_EVENT_PAL_TAG_URSARING 0x11D8 +#define OBJ_EVENT_PAL_TAG_MAGCARGO 0x11D9 +#define OBJ_EVENT_PAL_TAG_SWINUB 0x11DA +#define OBJ_EVENT_PAL_TAG_PILOSWINE 0x11DB +#define OBJ_EVENT_PAL_TAG_CORSOLA 0x11DC +#define OBJ_EVENT_PAL_TAG_REMORAID 0x11DD +#define OBJ_EVENT_PAL_TAG_OCTILLERY 0x11DE +#define OBJ_EVENT_PAL_TAG_DELIBIRD 0x11DF +#define OBJ_EVENT_PAL_TAG_MANTINE 0x11E0 +#define OBJ_EVENT_PAL_TAG_SKARMORY 0x11E1 +#define OBJ_EVENT_PAL_TAG_HOUNDOOM 0x11E2 +#define OBJ_EVENT_PAL_TAG_KINGDRA 0x11E3 +#define OBJ_EVENT_PAL_TAG_PHANPY 0x11E4 +#define OBJ_EVENT_PAL_TAG_DONPHAN 0x11E5 +#define OBJ_EVENT_PAL_TAG_PORYGON2 0x11E6 +#define OBJ_EVENT_PAL_TAG_STANTLER 0x11E7 +#define OBJ_EVENT_PAL_TAG_SMEARGLE 0x11E8 +#define OBJ_EVENT_PAL_TAG_TYROGUE 0x11E9 +#define OBJ_EVENT_PAL_TAG_HITMONTOP 0x11EA +#define OBJ_EVENT_PAL_TAG_SMOOCHUM 0x11EB +#define OBJ_EVENT_PAL_TAG_ELEKID 0x11EC +#define OBJ_EVENT_PAL_TAG_MAGBY 0x11ED +#define OBJ_EVENT_PAL_TAG_MILTANK 0x11EE +#define OBJ_EVENT_PAL_TAG_BLISSEY 0x11EF +#define OBJ_EVENT_PAL_TAG_RAIKOU 0x11F0 +#define OBJ_EVENT_PAL_TAG_ENTEI 0x11F1 +#define OBJ_EVENT_PAL_TAG_SUICUNE 0x11F2 +#define OBJ_EVENT_PAL_TAG_LARVITAR 0x11F3 +#define OBJ_EVENT_PAL_TAG_TYRANITAR 0x11F4 +#define OBJ_EVENT_PAL_TAG_LUGIA_FOLLOWER 0x11F5 +#define OBJ_EVENT_PAL_TAG_HO_OH_FOLLOWER 0x11F6 +#define OBJ_EVENT_PAL_TAG_CELEBI 0x11F7 +#define OBJ_EVENT_PAL_TAG_TREECKO 0x11F8 +#define OBJ_EVENT_PAL_TAG_GROVYLE 0x11F9 +#define OBJ_EVENT_PAL_TAG_SCEPTILE 0x11FA +#define OBJ_EVENT_PAL_TAG_COMBUSKEN 0x11FB +#define OBJ_EVENT_PAL_TAG_BLAZIKEN 0x11FC +#define OBJ_EVENT_PAL_TAG_MUDKIP 0x11FD +#define OBJ_EVENT_PAL_TAG_MARSHTOMP 0x11FE +#define OBJ_EVENT_PAL_TAG_SWAMPERT 0x10FF +#define OBJ_EVENT_PAL_TAG_POOCHYENA_FOLLOWER 0x10FE +#define OBJ_EVENT_PAL_TAG_MIGHTYENA 0x10FD +#define OBJ_EVENT_PAL_TAG_ZIGZAGOON_FOLLOWER 0x10FC +#define OBJ_EVENT_PAL_TAG_LINOONE 0x10FB +#define OBJ_EVENT_PAL_TAG_WURMPLE 0x10FA +#define OBJ_EVENT_PAL_TAG_BEAUTIFLY 0x10F9 +#define OBJ_EVENT_PAL_TAG_CASCOON 0x10F8 +#define OBJ_EVENT_PAL_TAG_DUSTOX 0x10F7 +#define OBJ_EVENT_PAL_TAG_LOTAD 0x10F6 +#define OBJ_EVENT_PAL_TAG_LOMBRE 0x10F5 +#define OBJ_EVENT_PAL_TAG_LUDICOLO 0x10F4 +#define OBJ_EVENT_PAL_TAG_SEEDOT 0x10F3 +#define OBJ_EVENT_PAL_TAG_NUZLEAF 0x10F2 +#define OBJ_EVENT_PAL_TAG_SHIFTRY 0x10F1 +#define OBJ_EVENT_PAL_TAG_TAILLOW 0x10F0 +#define OBJ_EVENT_PAL_TAG_SWELLOW 0x10EF +#define OBJ_EVENT_PAL_TAG_WINGULL 0x10EE +#define OBJ_EVENT_PAL_TAG_PELIPPER 0x10ED +#define OBJ_EVENT_PAL_TAG_GARDEVOIR 0x10EC +#define OBJ_EVENT_PAL_TAG_SURSKIT 0x10EB +#define OBJ_EVENT_PAL_TAG_MASQUERAIN 0x10EA +#define OBJ_EVENT_PAL_TAG_SHROOMISH 0x10E9 +#define OBJ_EVENT_PAL_TAG_BRELOOM 0x10E8 +#define OBJ_EVENT_PAL_TAG_SLAKOTH 0x10E7 +#define OBJ_EVENT_PAL_TAG_VIGOROTH_FOLLOWER 0x10E6 +#define OBJ_EVENT_PAL_TAG_SLAKING 0x10E5 +#define OBJ_EVENT_PAL_TAG_NINCADA 0x10E4 +#define OBJ_EVENT_PAL_TAG_NINJASK 0x10E3 +#define OBJ_EVENT_PAL_TAG_SHEDINJA 0x10E2 +#define OBJ_EVENT_PAL_TAG_WHISMUR 0x10E1 +#define OBJ_EVENT_PAL_TAG_EXPLOUD 0x10E0 +#define OBJ_EVENT_PAL_TAG_MAKUHITA 0x10DF +#define OBJ_EVENT_PAL_TAG_HARIYAMA 0x10DE +#define OBJ_EVENT_PAL_TAG_AZURILL_FOLLOWER 0x10DD +#define OBJ_EVENT_PAL_TAG_NOSEPASS 0x10DC +#define OBJ_EVENT_PAL_TAG_DELCATTY 0x10DB +#define OBJ_EVENT_PAL_TAG_SABLEYE 0x10DA +#define OBJ_EVENT_PAL_TAG_MAWILE 0x10D9 +#define OBJ_EVENT_PAL_TAG_LAIRON 0x10D8 +#define OBJ_EVENT_PAL_TAG_AGGRON 0x10D7 +#define OBJ_EVENT_PAL_TAG_MEDITITE 0x10D6 +#define OBJ_EVENT_PAL_TAG_MEDICHAM 0x10D5 +#define OBJ_EVENT_PAL_TAG_ELECTRIKE 0x10D4 +#define OBJ_EVENT_PAL_TAG_MANECTRIC 0x10D3 +#define OBJ_EVENT_PAL_TAG_MINUN 0x10D2 +#define OBJ_EVENT_PAL_TAG_VOLBEAT 0x10D1 +#define OBJ_EVENT_PAL_TAG_ILLUMISE 0x10D0 +#define OBJ_EVENT_PAL_TAG_ROSELIA 0x10CF +#define OBJ_EVENT_PAL_TAG_GULPIN 0x10CE +#define OBJ_EVENT_PAL_TAG_SWALOT 0x10CD +#define OBJ_EVENT_PAL_TAG_CARVANHA 0x10CC +#define OBJ_EVENT_PAL_TAG_SHARPEDO 0x10CB +#define OBJ_EVENT_PAL_TAG_WAILMER 0x10CA +#define OBJ_EVENT_PAL_TAG_WAILORD 0x10C9 +#define OBJ_EVENT_PAL_TAG_NUMEL 0x10C8 +#define OBJ_EVENT_PAL_TAG_CAMERUPT 0x10C7 +#define OBJ_EVENT_PAL_TAG_TORKOAL 0x10C6 +#define OBJ_EVENT_PAL_TAG_SPOINK 0x10C5 +#define OBJ_EVENT_PAL_TAG_GRUMPIG 0x10C4 +#define OBJ_EVENT_PAL_TAG_SPINDA 0x10C3 +#define OBJ_EVENT_PAL_TAG_TRAPINCH 0x10C2 +#define OBJ_EVENT_PAL_TAG_VIBRAVA 0x10C1 +#define OBJ_EVENT_PAL_TAG_FLYGON 0x10C0 +#define OBJ_EVENT_PAL_TAG_CACNEA 0x10BF +#define OBJ_EVENT_PAL_TAG_ALTARIA 0x10BE +#define OBJ_EVENT_PAL_TAG_ZANGOOSE 0x10BD +#define OBJ_EVENT_PAL_TAG_SEVIPER 0x10BC +#define OBJ_EVENT_PAL_TAG_SOLROCK 0x10BB +#define OBJ_EVENT_PAL_TAG_BARBOACH 0x10BA +#define OBJ_EVENT_PAL_TAG_WHISCASH 0x10B9 +#define OBJ_EVENT_PAL_TAG_CORPHISH 0x10B8 +#define OBJ_EVENT_PAL_TAG_CRAWDAUNT 0x10B7 +#define OBJ_EVENT_PAL_TAG_BALTOY 0x10B6 +#define OBJ_EVENT_PAL_TAG_CLAYDOL 0x10B5 +#define OBJ_EVENT_PAL_TAG_LILEEP 0x10B4 +#define OBJ_EVENT_PAL_TAG_CRADILY 0x10B3 +#define OBJ_EVENT_PAL_TAG_ANORITH 0x10B2 +#define OBJ_EVENT_PAL_TAG_ARMALDO 0x10B1 +#define OBJ_EVENT_PAL_TAG_FEEBAS 0x10B0 +#define OBJ_EVENT_PAL_TAG_MILOTIC 0x10AF +#define OBJ_EVENT_PAL_TAG_KECLEON 0x10AE +#define OBJ_EVENT_PAL_TAG_BANETTE 0x10AD +#define OBJ_EVENT_PAL_TAG_DUSKULL 0x10AC +#define OBJ_EVENT_PAL_TAG_DUSCLOPS 0x10AB +#define OBJ_EVENT_PAL_TAG_TROPIUS 0x10AA +#define OBJ_EVENT_PAL_TAG_CHIMECHO 0x10A9 +#define OBJ_EVENT_PAL_TAG_ABSOL 0x10A8 +#define OBJ_EVENT_PAL_TAG_WYNAUT 0x10A7 +#define OBJ_EVENT_PAL_TAG_SNORUNT 0x10A6 +#define OBJ_EVENT_PAL_TAG_GLALIE 0x10A5 +#define OBJ_EVENT_PAL_TAG_SPHEAL 0x10A4 +#define OBJ_EVENT_PAL_TAG_SEALEO 0x10A3 +#define OBJ_EVENT_PAL_TAG_WALREIN 0x10A2 +#define OBJ_EVENT_PAL_TAG_CLAMPERL 0x10A1 +#define OBJ_EVENT_PAL_TAG_HUNTAIL 0x10A0 +#define OBJ_EVENT_PAL_TAG_GOREBYSS 0x109F +#define OBJ_EVENT_PAL_TAG_RELICANTH 0x109E +#define OBJ_EVENT_PAL_TAG_LUVDISC 0x109D +#define OBJ_EVENT_PAL_TAG_BAGON 0x109C +#define OBJ_EVENT_PAL_TAG_SHELGON 0x109B +#define OBJ_EVENT_PAL_TAG_SALAMENCE 0x109A +#define OBJ_EVENT_PAL_TAG_BELDUM 0x1099 +#define OBJ_EVENT_PAL_TAG_METANG 0x1098 +#define OBJ_EVENT_PAL_TAG_REGIROCK 0x1097 +#define OBJ_EVENT_PAL_TAG_REGICE 0x1096 +#define OBJ_EVENT_PAL_TAG_REGISTEEL 0x1095 +#define OBJ_EVENT_PAL_TAG_LATIAS 0x1094 +#define OBJ_EVENT_PAL_TAG_LATIOS 0x1093 +#define OBJ_EVENT_PAL_TAG_KYOGRE_FOLLOWER 0x1092 +#define OBJ_EVENT_PAL_TAG_GROUDON_FOLLOWER 0x1091 +#define OBJ_EVENT_PAL_TAG_RAYQUAZA 0x1090 +#define OBJ_EVENT_PAL_TAG_JIRACHI 0x108F +#define OBJ_EVENT_PAL_TAG_DEOXYS_FOLLOWER 0x108E +#define OBJ_EVENT_PAL_TAG_GREAT_BALL 0x108D +#define OBJ_EVENT_PAL_TAG_ULTRA_BALL 0x108C +#define OBJ_EVENT_PAL_TAG_MASTER_BALL 0x108B +#define OBJ_EVENT_PAL_TAG_SAFARI_BALL 0x108A +#define OBJ_EVENT_PAL_TAG_NET_BALL 0x1089 +#define OBJ_EVENT_PAL_TAG_DIVE_BALL 0x1088 +#define OBJ_EVENT_PAL_TAG_NEST_BALL 0x1087 +#define OBJ_EVENT_PAL_TAG_REPEAT_BALL 0x1086 +#define OBJ_EVENT_PAL_TAG_TIMER_BALL 0x1085 +#define OBJ_EVENT_PAL_TAG_LUXURY_BALL 0x1084 +#define OBJ_EVENT_PAL_TAG_PREMIER_BALL 0x1083 +#define OBJ_EVENT_PAL_TAG_HEAL_BALL 0x1082 +#define OBJ_EVENT_PAL_TAG_DUSK_BALL 0x1081 +#define OBJ_EVENT_PAL_TAG_QUICK_BALL 0x1080 +#define OBJ_EVENT_PAL_TAG_LEVEL_BALL 0x107F +#define OBJ_EVENT_PAL_TAG_LURE_BALL 0x107E +#define OBJ_EVENT_PAL_TAG_MOON_BALL 0x107D +#define OBJ_EVENT_PAL_TAG_FRIEND_BALL 0x107C +#define OBJ_EVENT_PAL_TAG_LOVE_BALL 0x107B +#define OBJ_EVENT_PAL_TAG_FAST_BALL 0x107A +#define OBJ_EVENT_PAL_TAG_HEAVY_BALL 0x1079 +#define OBJ_EVENT_PAL_TAG_DREAM_BALL 0x1078 +#define OBJ_EVENT_PAL_TAG_SPORT_BALL 0x1077 +#define OBJ_EVENT_PAL_TAG_PARK_BALL 0x1076 +#define OBJ_EVENT_PAL_TAG_CHERISH_BALL 0x1075 #define OBJ_EVENT_PAL_TAG_NONE 0x11FF -#include "data/object_events/object_event_graphics_info_pointers.h" #include "data/field_effects/field_effect_object_template_pointers.h" #include "data/object_events/object_event_pic_tables.h" #include "data/object_events/object_event_anims.h" #include "data/object_events/base_oam.h" #include "data/object_events/object_event_subsprites.h" #include "data/object_events/object_event_graphics_info.h" +#include "data/object_events/object_event_graphics_info_pointers.h" static const struct SpritePalette sObjectEventSpritePalettes[] = { {gObjectEventPal_Npc1, OBJ_EVENT_PAL_TAG_NPC_1}, @@ -489,7 +844,6 @@ static const struct SpritePalette sObjectEventSpritePalettes[] = { {gObjectEventPal_KyogreReflection, OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION}, {gObjectEventPal_Groudon, OBJ_EVENT_PAL_TAG_GROUDON}, {gObjectEventPal_GroudonReflection, OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION}, - {gObjectEventPal_SubmarineShadow, OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW}, {gObjectEventPal_Poochyena, OBJ_EVENT_PAL_TAG_POOCHYENA}, {gObjectEventPal_RedLeaf, OBJ_EVENT_PAL_TAG_RED_LEAF}, {gObjectEventPal_Deoxys, OBJ_EVENT_PAL_TAG_DEOXYS}, @@ -498,195 +852,374 @@ static const struct SpritePalette sObjectEventSpritePalettes[] = { {gObjectEventPal_Lugia, OBJ_EVENT_PAL_TAG_LUGIA}, {gObjectEventPal_RubySapphireBrendan, OBJ_EVENT_PAL_TAG_RS_BRENDAN}, {gObjectEventPal_RubySapphireMay, OBJ_EVENT_PAL_TAG_RS_MAY}, + {gObjectEventPal_Bulbasaur, OBJ_EVENT_PAL_TAG_BULBASAUR}, + {gObjectEventPal_Ivysaur, OBJ_EVENT_PAL_TAG_IVYSAUR}, + {gObjectEventPal_Venusaur, OBJ_EVENT_PAL_TAG_VENUSAUR}, + {gObjectEventPal_Charmander, OBJ_EVENT_PAL_TAG_CHARMANDER}, + {gObjectEventPal_Charmeleon, OBJ_EVENT_PAL_TAG_CHARMELEON}, + {gObjectEventPal_Charizard, OBJ_EVENT_PAL_TAG_CHARIZARD}, + {gObjectEventPal_Squirtle, OBJ_EVENT_PAL_TAG_SQUIRTLE}, + {gObjectEventPal_Wartortle, OBJ_EVENT_PAL_TAG_WARTORTLE}, + {gObjectEventPal_Blastoise, OBJ_EVENT_PAL_TAG_BLASTOISE}, + {gObjectEventPal_Caterpie, OBJ_EVENT_PAL_TAG_CATERPIE}, + {gObjectEventPal_Butterfree, OBJ_EVENT_PAL_TAG_BUTTERFREE}, + {gObjectEventPal_Weedle, OBJ_EVENT_PAL_TAG_WEEDLE}, + {gObjectEventPal_Beedrill, OBJ_EVENT_PAL_TAG_BEEDRILL}, + {gObjectEventPal_Pidgey, OBJ_EVENT_PAL_TAG_PIDGEY}, + {gObjectEventPal_Pidgeotto, OBJ_EVENT_PAL_TAG_PIDGEOTTO}, + {gObjectEventPal_Pidgeot, OBJ_EVENT_PAL_TAG_PIDGEOT}, + {gObjectEventPal_Rattata, OBJ_EVENT_PAL_TAG_RATTATA}, + {gObjectEventPal_Raticate, OBJ_EVENT_PAL_TAG_RATICATE}, + {gObjectEventPal_Spearow, OBJ_EVENT_PAL_TAG_SPEAROW}, + {gObjectEventPal_Fearow, OBJ_EVENT_PAL_TAG_FEAROW}, + {gObjectEventPal_Ekans, OBJ_EVENT_PAL_TAG_EKANS}, + {gObjectEventPal_Arbok, OBJ_EVENT_PAL_TAG_ARBOK}, + {gObjectEventPal_Pikachu, OBJ_EVENT_PAL_TAG_PIKACHU}, + {gObjectEventPal_Raichu, OBJ_EVENT_PAL_TAG_RAICHU}, + {gObjectEventPal_Sandshrew, OBJ_EVENT_PAL_TAG_SANDSHREW}, + {gObjectEventPal_Sandslash, OBJ_EVENT_PAL_TAG_SANDSLASH}, + {gObjectEventPal_Nidoran_F, OBJ_EVENT_PAL_TAG_NIDORAN_F}, + {gObjectEventPal_Nidorina, OBJ_EVENT_PAL_TAG_NIDORINA}, + {gObjectEventPal_Nidoqueen, OBJ_EVENT_PAL_TAG_NIDOQUEEN}, + {gObjectEventPal_Nidoran_M, OBJ_EVENT_PAL_TAG_NIDORAN_M}, + {gObjectEventPal_Nidoking, OBJ_EVENT_PAL_TAG_NIDOKING}, + {gObjectEventPal_Clefable, OBJ_EVENT_PAL_TAG_CLEFABLE}, + {gObjectEventPal_Vulpix, OBJ_EVENT_PAL_TAG_VULPIX}, + {gObjectEventPal_Ninetales, OBJ_EVENT_PAL_TAG_NINETALES}, + {gObjectEventPal_Jigglypuff, OBJ_EVENT_PAL_TAG_JIGGLYPUFF}, + {gObjectEventPal_Wigglytuff, OBJ_EVENT_PAL_TAG_WIGGLYTUFF}, + {gObjectEventPal_Golbat, OBJ_EVENT_PAL_TAG_GOLBAT}, + {gObjectEventPal_Gloom, OBJ_EVENT_PAL_TAG_GLOOM}, + {gObjectEventPal_Paras, OBJ_EVENT_PAL_TAG_PARAS}, + {gObjectEventPal_Venonat, OBJ_EVENT_PAL_TAG_VENONAT}, + {gObjectEventPal_Venomoth, OBJ_EVENT_PAL_TAG_VENOMOTH}, + {gObjectEventPal_Diglett, OBJ_EVENT_PAL_TAG_DIGLETT}, + {gObjectEventPal_Dugtrio, OBJ_EVENT_PAL_TAG_DUGTRIO}, + {gObjectEventPal_Meowth, OBJ_EVENT_PAL_TAG_MEOWTH}, + {gObjectEventPal_Persian, OBJ_EVENT_PAL_TAG_PERSIAN}, + {gObjectEventPal_Golduck, OBJ_EVENT_PAL_TAG_GOLDUCK}, + {gObjectEventPal_Mankey, OBJ_EVENT_PAL_TAG_MANKEY}, + {gObjectEventPal_Primeape, OBJ_EVENT_PAL_TAG_PRIMEAPE}, + {gObjectEventPal_Arcanine, OBJ_EVENT_PAL_TAG_ARCANINE}, + {gObjectEventPal_Poliwag, OBJ_EVENT_PAL_TAG_POLIWAG}, + {gObjectEventPal_Poliwhirl, OBJ_EVENT_PAL_TAG_POLIWHIRL}, + {gObjectEventPal_Kadabra, OBJ_EVENT_PAL_TAG_KADABRA}, + {gObjectEventPal_Machop, OBJ_EVENT_PAL_TAG_MACHOP}, + {gObjectEventPal_Machoke, OBJ_EVENT_PAL_TAG_MACHOKE}, + {gObjectEventPal_Machamp, OBJ_EVENT_PAL_TAG_MACHAMP}, + {gObjectEventPal_Weepinbell, OBJ_EVENT_PAL_TAG_WEEPINBELL}, + {gObjectEventPal_Victreebel, OBJ_EVENT_PAL_TAG_VICTREEBEL}, + {gObjectEventPal_Tentacool, OBJ_EVENT_PAL_TAG_TENTACOOL}, + {gObjectEventPal_Tentacruel, OBJ_EVENT_PAL_TAG_TENTACRUEL}, + {gObjectEventPal_Graveler, OBJ_EVENT_PAL_TAG_GRAVELER}, + {gObjectEventPal_Golem, OBJ_EVENT_PAL_TAG_GOLEM}, + {gObjectEventPal_Ponyta, OBJ_EVENT_PAL_TAG_PONYTA}, + {gObjectEventPal_Slowpoke, OBJ_EVENT_PAL_TAG_SLOWPOKE}, + {gObjectEventPal_Slowbro, OBJ_EVENT_PAL_TAG_SLOWBRO}, + {gObjectEventPal_Magnemite, OBJ_EVENT_PAL_TAG_MAGNEMITE}, + {gObjectEventPal_Farfetchd, OBJ_EVENT_PAL_TAG_FARFETCHD}, + {gObjectEventPal_Doduo, OBJ_EVENT_PAL_TAG_DODUO}, + {gObjectEventPal_Dodrio, OBJ_EVENT_PAL_TAG_DODRIO}, + {gObjectEventPal_Seel, OBJ_EVENT_PAL_TAG_SEEL}, + {gObjectEventPal_Muk, OBJ_EVENT_PAL_TAG_MUK}, + {gObjectEventPal_Shellder, OBJ_EVENT_PAL_TAG_SHELLDER}, + {gObjectEventPal_Cloyster, OBJ_EVENT_PAL_TAG_CLOYSTER}, + {gObjectEventPal_Gastly, OBJ_EVENT_PAL_TAG_GASTLY}, + {gObjectEventPal_Haunter, OBJ_EVENT_PAL_TAG_HAUNTER}, + {gObjectEventPal_Gengar, OBJ_EVENT_PAL_TAG_GENGAR}, + {gObjectEventPal_Hypno, OBJ_EVENT_PAL_TAG_HYPNO}, + {gObjectEventPal_Kingler, OBJ_EVENT_PAL_TAG_KINGLER}, + {gObjectEventPal_Voltorb, OBJ_EVENT_PAL_TAG_VOLTORB}, + {gObjectEventPal_Exeggcute, OBJ_EVENT_PAL_TAG_EXEGGCUTE}, + {gObjectEventPal_Exeggutor, OBJ_EVENT_PAL_TAG_EXEGGUTOR}, + {gObjectEventPal_Cubone, OBJ_EVENT_PAL_TAG_CUBONE}, + {gObjectEventPal_Hitmonlee, OBJ_EVENT_PAL_TAG_HITMONLEE}, + {gObjectEventPal_Hitmonchan, OBJ_EVENT_PAL_TAG_HITMONCHAN}, + {gObjectEventPal_Lickitung, OBJ_EVENT_PAL_TAG_LICKITUNG}, + {gObjectEventPal_Koffing, OBJ_EVENT_PAL_TAG_KOFFING}, + {gObjectEventPal_Rhydon, OBJ_EVENT_PAL_TAG_RHYDON}, + {gObjectEventPal_Chansey, OBJ_EVENT_PAL_TAG_CHANSEY}, + {gObjectEventPal_Tangela, OBJ_EVENT_PAL_TAG_TANGELA}, + {gObjectEventPal_Kangaskhan, OBJ_EVENT_PAL_TAG_KANGASKHAN}, + {gObjectEventPal_Horsea, OBJ_EVENT_PAL_TAG_HORSEA}, + {gObjectEventPal_Seadra, OBJ_EVENT_PAL_TAG_SEADRA}, + {gObjectEventPal_Goldeen, OBJ_EVENT_PAL_TAG_GOLDEEN}, + {gObjectEventPal_Seaking, OBJ_EVENT_PAL_TAG_SEAKING}, + {gObjectEventPal_Starmie, OBJ_EVENT_PAL_TAG_STARMIE}, + {gObjectEventPal_Mr_Mime, OBJ_EVENT_PAL_TAG_MR_MIME}, + {gObjectEventPal_Scyther, OBJ_EVENT_PAL_TAG_SCYTHER}, + {gObjectEventPal_Jynx, OBJ_EVENT_PAL_TAG_JYNX}, + {gObjectEventPal_Magmar, OBJ_EVENT_PAL_TAG_MAGMAR}, + {gObjectEventPal_Pinsir, OBJ_EVENT_PAL_TAG_PINSIR}, + {gObjectEventPal_Tauros, OBJ_EVENT_PAL_TAG_TAUROS}, + {gObjectEventPal_Magikarp, OBJ_EVENT_PAL_TAG_MAGIKARP}, + {gObjectEventPal_Gyarados, OBJ_EVENT_PAL_TAG_GYARADOS}, + {gObjectEventPal_Lapras, OBJ_EVENT_PAL_TAG_LAPRAS}, + {gObjectEventPal_Eevee, OBJ_EVENT_PAL_TAG_EEVEE}, + {gObjectEventPal_Vaporeon, OBJ_EVENT_PAL_TAG_VAPOREON}, + {gObjectEventPal_Jolteon, OBJ_EVENT_PAL_TAG_JOLTEON}, + {gObjectEventPal_Flareon, OBJ_EVENT_PAL_TAG_FLAREON}, + {gObjectEventPal_Porygon, OBJ_EVENT_PAL_TAG_PORYGON}, + {gObjectEventPal_Omanyte, OBJ_EVENT_PAL_TAG_OMANYTE}, + {gObjectEventPal_Omastar, OBJ_EVENT_PAL_TAG_OMASTAR}, + {gObjectEventPal_Kabuto, OBJ_EVENT_PAL_TAG_KABUTO}, + {gObjectEventPal_Kabutops, OBJ_EVENT_PAL_TAG_KABUTOPS}, + {gObjectEventPal_Aerodactyl, OBJ_EVENT_PAL_TAG_AERODACTYL}, + {gObjectEventPal_Snorlax, OBJ_EVENT_PAL_TAG_SNORLAX}, + {gObjectEventPal_Articuno, OBJ_EVENT_PAL_TAG_ARTICUNO}, + {gObjectEventPal_Zapdos, OBJ_EVENT_PAL_TAG_ZAPDOS}, + {gObjectEventPal_Moltres, OBJ_EVENT_PAL_TAG_MOLTRES}, + {gObjectEventPal_Dratini, OBJ_EVENT_PAL_TAG_DRATINI}, + {gObjectEventPal_Dragonair, OBJ_EVENT_PAL_TAG_DRAGONAIR}, + {gObjectEventPal_Dragonite, OBJ_EVENT_PAL_TAG_DRAGONITE}, + {gObjectEventPal_Mewtwo, OBJ_EVENT_PAL_TAG_MEWTWO}, + {gObjectEventPal_Mew, OBJ_EVENT_PAL_TAG_MEW}, + {gObjectEventPal_Bayleef, OBJ_EVENT_PAL_TAG_BAYLEEF}, + {gObjectEventPal_Meganium, OBJ_EVENT_PAL_TAG_MEGANIUM}, + {gObjectEventPal_Cyndaquil, OBJ_EVENT_PAL_TAG_CYNDAQUIL}, + {gObjectEventPal_Quilava, OBJ_EVENT_PAL_TAG_QUILAVA}, + {gObjectEventPal_Typhlosion, OBJ_EVENT_PAL_TAG_TYPHLOSION}, + {gObjectEventPal_Totodile, OBJ_EVENT_PAL_TAG_TOTODILE}, + {gObjectEventPal_Croconaw, OBJ_EVENT_PAL_TAG_CROCONAW}, + {gObjectEventPal_Feraligatr, OBJ_EVENT_PAL_TAG_FERALIGATR}, + {gObjectEventPal_Sentret, OBJ_EVENT_PAL_TAG_SENTRET}, + {gObjectEventPal_Furret, OBJ_EVENT_PAL_TAG_FURRET}, + {gObjectEventPal_Hoothoot, OBJ_EVENT_PAL_TAG_HOOTHOOT}, + {gObjectEventPal_Noctowl, OBJ_EVENT_PAL_TAG_NOCTOWL}, + {gObjectEventPal_Ledyba, OBJ_EVENT_PAL_TAG_LEDYBA}, + {gObjectEventPal_Ledian, OBJ_EVENT_PAL_TAG_LEDIAN}, + {gObjectEventPal_Spinarak, OBJ_EVENT_PAL_TAG_SPINARAK}, + {gObjectEventPal_Ariados, OBJ_EVENT_PAL_TAG_ARIADOS}, + {gObjectEventPal_Crobat, OBJ_EVENT_PAL_TAG_CROBAT}, + {gObjectEventPal_Chinchou, OBJ_EVENT_PAL_TAG_CHINCHOU}, + {gObjectEventPal_Lanturn, OBJ_EVENT_PAL_TAG_LANTURN}, + {gObjectEventPal_Pichu, OBJ_EVENT_PAL_TAG_PICHU}, + {gObjectEventPal_Cleffa, OBJ_EVENT_PAL_TAG_CLEFFA}, + {gObjectEventPal_Igglybuff, OBJ_EVENT_PAL_TAG_IGGLYBUFF}, + {gObjectEventPal_Togepi, OBJ_EVENT_PAL_TAG_TOGEPI}, + {gObjectEventPal_Natu, OBJ_EVENT_PAL_TAG_NATU}, + {gObjectEventPal_Xatu, OBJ_EVENT_PAL_TAG_XATU}, + {gObjectEventPal_Mareep, OBJ_EVENT_PAL_TAG_MAREEP}, + {gObjectEventPal_Flaaffy, OBJ_EVENT_PAL_TAG_FLAAFFY}, + {gObjectEventPal_Ampharos, OBJ_EVENT_PAL_TAG_AMPHAROS}, + {gObjectEventPal_Bellossom, OBJ_EVENT_PAL_TAG_BELLOSSOM}, + {gObjectEventPal_Azumarill, OBJ_EVENT_PAL_TAG_AZUMARILL}, + {gObjectEventPal_Sudowoodo, OBJ_EVENT_PAL_TAG_SUDOWOODO}, + {gObjectEventPal_Politoed, OBJ_EVENT_PAL_TAG_POLITOED}, + {gObjectEventPal_Hoppip, OBJ_EVENT_PAL_TAG_HOPPIP}, + {gObjectEventPal_Skiploom, OBJ_EVENT_PAL_TAG_SKIPLOOM}, + {gObjectEventPal_Jumpluff, OBJ_EVENT_PAL_TAG_JUMPLUFF}, + {gObjectEventPal_Aipom, OBJ_EVENT_PAL_TAG_AIPOM}, + {gObjectEventPal_Sunkern, OBJ_EVENT_PAL_TAG_SUNKERN}, + {gObjectEventPal_Sunflora, OBJ_EVENT_PAL_TAG_SUNFLORA}, + {gObjectEventPal_Yanma, OBJ_EVENT_PAL_TAG_YANMA}, + {gObjectEventPal_Quagsire, OBJ_EVENT_PAL_TAG_QUAGSIRE}, + {gObjectEventPal_Espeon, OBJ_EVENT_PAL_TAG_ESPEON}, + {gObjectEventPal_Umbreon, OBJ_EVENT_PAL_TAG_UMBREON}, + {gObjectEventPal_Murkrow, OBJ_EVENT_PAL_TAG_MURKROW}, + {gObjectEventPal_Slowking, OBJ_EVENT_PAL_TAG_SLOWKING}, + {gObjectEventPal_Misdreavus, OBJ_EVENT_PAL_TAG_MISDREAVUS}, + {gObjectEventPal_Wobbuffet, OBJ_EVENT_PAL_TAG_WOBBUFFET}, + {gObjectEventPal_Girafarig, OBJ_EVENT_PAL_TAG_GIRAFARIG}, + {gObjectEventPal_Pineco, OBJ_EVENT_PAL_TAG_PINECO}, + {gObjectEventPal_Forretress, OBJ_EVENT_PAL_TAG_FORRETRESS}, + {gObjectEventPal_Dunsparce, OBJ_EVENT_PAL_TAG_DUNSPARCE}, + {gObjectEventPal_Gligar, OBJ_EVENT_PAL_TAG_GLIGAR}, + {gObjectEventPal_Snubbull, OBJ_EVENT_PAL_TAG_SNUBBULL}, + {gObjectEventPal_Granbull, OBJ_EVENT_PAL_TAG_GRANBULL}, + {gObjectEventPal_Qwilfish, OBJ_EVENT_PAL_TAG_QWILFISH}, + {gObjectEventPal_Scizor, OBJ_EVENT_PAL_TAG_SCIZOR}, + {gObjectEventPal_Shuckle, OBJ_EVENT_PAL_TAG_SHUCKLE}, + {gObjectEventPal_Heracross, OBJ_EVENT_PAL_TAG_HERACROSS}, + {gObjectEventPal_Sneasel, OBJ_EVENT_PAL_TAG_SNEASEL}, + {gObjectEventPal_Teddiursa, OBJ_EVENT_PAL_TAG_TEDDIURSA}, + {gObjectEventPal_Ursaring, OBJ_EVENT_PAL_TAG_URSARING}, + {gObjectEventPal_Magcargo, OBJ_EVENT_PAL_TAG_MAGCARGO}, + {gObjectEventPal_Swinub, OBJ_EVENT_PAL_TAG_SWINUB}, + {gObjectEventPal_Piloswine, OBJ_EVENT_PAL_TAG_PILOSWINE}, + {gObjectEventPal_Corsola, OBJ_EVENT_PAL_TAG_CORSOLA}, + {gObjectEventPal_Remoraid, OBJ_EVENT_PAL_TAG_REMORAID}, + {gObjectEventPal_Octillery, OBJ_EVENT_PAL_TAG_OCTILLERY}, + {gObjectEventPal_Delibird, OBJ_EVENT_PAL_TAG_DELIBIRD}, + {gObjectEventPal_Mantine, OBJ_EVENT_PAL_TAG_MANTINE}, + {gObjectEventPal_Skarmory, OBJ_EVENT_PAL_TAG_SKARMORY}, + {gObjectEventPal_Houndoom, OBJ_EVENT_PAL_TAG_HOUNDOOM}, + {gObjectEventPal_Kingdra, OBJ_EVENT_PAL_TAG_KINGDRA}, + {gObjectEventPal_Phanpy, OBJ_EVENT_PAL_TAG_PHANPY}, + {gObjectEventPal_Donphan, OBJ_EVENT_PAL_TAG_DONPHAN}, + {gObjectEventPal_Porygon2, OBJ_EVENT_PAL_TAG_PORYGON2}, + {gObjectEventPal_Stantler, OBJ_EVENT_PAL_TAG_STANTLER}, + {gObjectEventPal_Smeargle, OBJ_EVENT_PAL_TAG_SMEARGLE}, + {gObjectEventPal_Tyrogue, OBJ_EVENT_PAL_TAG_TYROGUE}, + {gObjectEventPal_Hitmontop, OBJ_EVENT_PAL_TAG_HITMONTOP}, + {gObjectEventPal_Smoochum, OBJ_EVENT_PAL_TAG_SMOOCHUM}, + {gObjectEventPal_Elekid, OBJ_EVENT_PAL_TAG_ELEKID}, + {gObjectEventPal_Magby, OBJ_EVENT_PAL_TAG_MAGBY}, + {gObjectEventPal_Miltank, OBJ_EVENT_PAL_TAG_MILTANK}, + {gObjectEventPal_Blissey, OBJ_EVENT_PAL_TAG_BLISSEY}, + {gObjectEventPal_Raikou, OBJ_EVENT_PAL_TAG_RAIKOU}, + {gObjectEventPal_Entei, OBJ_EVENT_PAL_TAG_ENTEI}, + {gObjectEventPal_Suicune, OBJ_EVENT_PAL_TAG_SUICUNE}, + {gObjectEventPal_Larvitar, OBJ_EVENT_PAL_TAG_LARVITAR}, + {gObjectEventPal_Tyranitar, OBJ_EVENT_PAL_TAG_TYRANITAR}, + {gObjectEventPal_Lugia_Follower, OBJ_EVENT_PAL_TAG_LUGIA_FOLLOWER}, + {gObjectEventPal_HoOh_Follower, OBJ_EVENT_PAL_TAG_HO_OH_FOLLOWER}, + {gObjectEventPal_Celebi, OBJ_EVENT_PAL_TAG_CELEBI}, + {gObjectEventPal_Treecko, OBJ_EVENT_PAL_TAG_TREECKO}, + {gObjectEventPal_Grovyle, OBJ_EVENT_PAL_TAG_GROVYLE}, + {gObjectEventPal_Sceptile, OBJ_EVENT_PAL_TAG_SCEPTILE}, + {gObjectEventPal_Combusken, OBJ_EVENT_PAL_TAG_COMBUSKEN}, + {gObjectEventPal_Blaziken, OBJ_EVENT_PAL_TAG_BLAZIKEN}, + {gObjectEventPal_Mudkip, OBJ_EVENT_PAL_TAG_MUDKIP}, + {gObjectEventPal_Marshtomp, OBJ_EVENT_PAL_TAG_MARSHTOMP}, + {gObjectEventPal_Swampert, OBJ_EVENT_PAL_TAG_SWAMPERT}, + {gObjectEventPal_Poochyena_Follower, OBJ_EVENT_PAL_TAG_POOCHYENA_FOLLOWER}, + {gObjectEventPal_Mightyena, OBJ_EVENT_PAL_TAG_MIGHTYENA}, + {gObjectEventPal_Zigzagoon_Follower, OBJ_EVENT_PAL_TAG_ZIGZAGOON_FOLLOWER}, + {gObjectEventPal_Linoone, OBJ_EVENT_PAL_TAG_LINOONE}, + {gObjectEventPal_Wurmple, OBJ_EVENT_PAL_TAG_WURMPLE}, + {gObjectEventPal_Beautifly, OBJ_EVENT_PAL_TAG_BEAUTIFLY}, + {gObjectEventPal_Cascoon, OBJ_EVENT_PAL_TAG_CASCOON}, + {gObjectEventPal_Dustox, OBJ_EVENT_PAL_TAG_DUSTOX}, + {gObjectEventPal_Lotad, OBJ_EVENT_PAL_TAG_LOTAD}, + {gObjectEventPal_Lombre, OBJ_EVENT_PAL_TAG_LOMBRE}, + {gObjectEventPal_Ludicolo, OBJ_EVENT_PAL_TAG_LUDICOLO}, + {gObjectEventPal_Seedot, OBJ_EVENT_PAL_TAG_SEEDOT}, + {gObjectEventPal_Nuzleaf, OBJ_EVENT_PAL_TAG_NUZLEAF}, + {gObjectEventPal_Shiftry, OBJ_EVENT_PAL_TAG_SHIFTRY}, + {gObjectEventPal_Taillow, OBJ_EVENT_PAL_TAG_TAILLOW}, + {gObjectEventPal_Swellow, OBJ_EVENT_PAL_TAG_SWELLOW}, + {gObjectEventPal_Wingull, OBJ_EVENT_PAL_TAG_WINGULL}, + {gObjectEventPal_Pelipper, OBJ_EVENT_PAL_TAG_PELIPPER}, + {gObjectEventPal_Gardevoir, OBJ_EVENT_PAL_TAG_GARDEVOIR}, + {gObjectEventPal_Surskit, OBJ_EVENT_PAL_TAG_SURSKIT}, + {gObjectEventPal_Masquerain, OBJ_EVENT_PAL_TAG_MASQUERAIN}, + {gObjectEventPal_Shroomish, OBJ_EVENT_PAL_TAG_SHROOMISH}, + {gObjectEventPal_Breloom, OBJ_EVENT_PAL_TAG_BRELOOM}, + {gObjectEventPal_Slakoth, OBJ_EVENT_PAL_TAG_SLAKOTH}, + {gObjectEventPal_Vigoroth_Follower, OBJ_EVENT_PAL_TAG_VIGOROTH_FOLLOWER}, + {gObjectEventPal_Slaking, OBJ_EVENT_PAL_TAG_SLAKING}, + {gObjectEventPal_Nincada, OBJ_EVENT_PAL_TAG_NINCADA}, + {gObjectEventPal_Ninjask, OBJ_EVENT_PAL_TAG_NINJASK}, + {gObjectEventPal_Shedinja, OBJ_EVENT_PAL_TAG_SHEDINJA}, + {gObjectEventPal_Whismur, OBJ_EVENT_PAL_TAG_WHISMUR}, + {gObjectEventPal_Exploud, OBJ_EVENT_PAL_TAG_EXPLOUD}, + {gObjectEventPal_Makuhita, OBJ_EVENT_PAL_TAG_MAKUHITA}, + {gObjectEventPal_Hariyama, OBJ_EVENT_PAL_TAG_HARIYAMA}, + {gObjectEventPal_Azurill_Follower, OBJ_EVENT_PAL_TAG_AZURILL_FOLLOWER}, + {gObjectEventPal_Nosepass, OBJ_EVENT_PAL_TAG_NOSEPASS}, + {gObjectEventPal_Delcatty, OBJ_EVENT_PAL_TAG_DELCATTY}, + {gObjectEventPal_Sableye, OBJ_EVENT_PAL_TAG_SABLEYE}, + {gObjectEventPal_Mawile, OBJ_EVENT_PAL_TAG_MAWILE}, + {gObjectEventPal_Lairon, OBJ_EVENT_PAL_TAG_LAIRON}, + {gObjectEventPal_Aggron, OBJ_EVENT_PAL_TAG_AGGRON}, + {gObjectEventPal_Meditite, OBJ_EVENT_PAL_TAG_MEDITITE}, + {gObjectEventPal_Medicham, OBJ_EVENT_PAL_TAG_MEDICHAM}, + {gObjectEventPal_Electrike, OBJ_EVENT_PAL_TAG_ELECTRIKE}, + {gObjectEventPal_Manectric, OBJ_EVENT_PAL_TAG_MANECTRIC}, + {gObjectEventPal_Minun, OBJ_EVENT_PAL_TAG_MINUN}, + {gObjectEventPal_Volbeat, OBJ_EVENT_PAL_TAG_VOLBEAT}, + {gObjectEventPal_Illumise, OBJ_EVENT_PAL_TAG_ILLUMISE}, + {gObjectEventPal_Roselia, OBJ_EVENT_PAL_TAG_ROSELIA}, + {gObjectEventPal_Gulpin, OBJ_EVENT_PAL_TAG_GULPIN}, + {gObjectEventPal_Swalot, OBJ_EVENT_PAL_TAG_SWALOT}, + {gObjectEventPal_Carvanha, OBJ_EVENT_PAL_TAG_CARVANHA}, + {gObjectEventPal_Sharpedo, OBJ_EVENT_PAL_TAG_SHARPEDO}, + {gObjectEventPal_Wailmer, OBJ_EVENT_PAL_TAG_WAILMER}, + {gObjectEventPal_Wailord, OBJ_EVENT_PAL_TAG_WAILORD}, + {gObjectEventPal_Numel, OBJ_EVENT_PAL_TAG_NUMEL}, + {gObjectEventPal_Camerupt, OBJ_EVENT_PAL_TAG_CAMERUPT}, + {gObjectEventPal_Torkoal, OBJ_EVENT_PAL_TAG_TORKOAL}, + {gObjectEventPal_Spoink, OBJ_EVENT_PAL_TAG_SPOINK}, + {gObjectEventPal_Grumpig, OBJ_EVENT_PAL_TAG_GRUMPIG}, + {gObjectEventPal_Spinda, OBJ_EVENT_PAL_TAG_SPINDA}, + {gObjectEventPal_Trapinch, OBJ_EVENT_PAL_TAG_TRAPINCH}, + {gObjectEventPal_Vibrava, OBJ_EVENT_PAL_TAG_VIBRAVA}, + {gObjectEventPal_Flygon, OBJ_EVENT_PAL_TAG_FLYGON}, + {gObjectEventPal_Cacnea, OBJ_EVENT_PAL_TAG_CACNEA}, + {gObjectEventPal_Altaria, OBJ_EVENT_PAL_TAG_ALTARIA}, + {gObjectEventPal_Zangoose, OBJ_EVENT_PAL_TAG_ZANGOOSE}, + {gObjectEventPal_Seviper, OBJ_EVENT_PAL_TAG_SEVIPER}, + {gObjectEventPal_Solrock, OBJ_EVENT_PAL_TAG_SOLROCK}, + {gObjectEventPal_Barboach, OBJ_EVENT_PAL_TAG_BARBOACH}, + {gObjectEventPal_Whiscash, OBJ_EVENT_PAL_TAG_WHISCASH}, + {gObjectEventPal_Corphish, OBJ_EVENT_PAL_TAG_CORPHISH}, + {gObjectEventPal_Crawdaunt, OBJ_EVENT_PAL_TAG_CRAWDAUNT}, + {gObjectEventPal_Baltoy, OBJ_EVENT_PAL_TAG_BALTOY}, + {gObjectEventPal_Claydol, OBJ_EVENT_PAL_TAG_CLAYDOL}, + {gObjectEventPal_Lileep, OBJ_EVENT_PAL_TAG_LILEEP}, + {gObjectEventPal_Cradily, OBJ_EVENT_PAL_TAG_CRADILY}, + {gObjectEventPal_Anorith, OBJ_EVENT_PAL_TAG_ANORITH}, + {gObjectEventPal_Armaldo, OBJ_EVENT_PAL_TAG_ARMALDO}, + {gObjectEventPal_Feebas, OBJ_EVENT_PAL_TAG_FEEBAS}, + {gObjectEventPal_Milotic, OBJ_EVENT_PAL_TAG_MILOTIC}, + {gObjectEventPal_Kecleon, OBJ_EVENT_PAL_TAG_KECLEON}, + {gObjectEventPal_Banette, OBJ_EVENT_PAL_TAG_BANETTE}, + {gObjectEventPal_Duskull, OBJ_EVENT_PAL_TAG_DUSKULL}, + {gObjectEventPal_Dusclops, OBJ_EVENT_PAL_TAG_DUSCLOPS}, + {gObjectEventPal_Tropius, OBJ_EVENT_PAL_TAG_TROPIUS}, + {gObjectEventPal_Chimecho, OBJ_EVENT_PAL_TAG_CHIMECHO}, + {gObjectEventPal_Absol, OBJ_EVENT_PAL_TAG_ABSOL}, + {gObjectEventPal_Wynaut, OBJ_EVENT_PAL_TAG_WYNAUT}, + {gObjectEventPal_Snorunt, OBJ_EVENT_PAL_TAG_SNORUNT}, + {gObjectEventPal_Glalie, OBJ_EVENT_PAL_TAG_GLALIE}, + {gObjectEventPal_Spheal, OBJ_EVENT_PAL_TAG_SPHEAL}, + {gObjectEventPal_Sealeo, OBJ_EVENT_PAL_TAG_SEALEO}, + {gObjectEventPal_Walrein, OBJ_EVENT_PAL_TAG_WALREIN}, + {gObjectEventPal_Clamperl, OBJ_EVENT_PAL_TAG_CLAMPERL}, + {gObjectEventPal_Huntail, OBJ_EVENT_PAL_TAG_HUNTAIL}, + {gObjectEventPal_Gorebyss, OBJ_EVENT_PAL_TAG_GOREBYSS}, + {gObjectEventPal_Relicanth, OBJ_EVENT_PAL_TAG_RELICANTH}, + {gObjectEventPal_Luvdisc, OBJ_EVENT_PAL_TAG_LUVDISC}, + {gObjectEventPal_Bagon, OBJ_EVENT_PAL_TAG_BAGON}, + {gObjectEventPal_Shelgon, OBJ_EVENT_PAL_TAG_SHELGON}, + {gObjectEventPal_Salamence, OBJ_EVENT_PAL_TAG_SALAMENCE}, + {gObjectEventPal_Beldum, OBJ_EVENT_PAL_TAG_BELDUM}, + {gObjectEventPal_Metang, OBJ_EVENT_PAL_TAG_METANG}, + {gObjectEventPal_Regirock, OBJ_EVENT_PAL_TAG_REGIROCK}, + {gObjectEventPal_Regice, OBJ_EVENT_PAL_TAG_REGICE}, + {gObjectEventPal_Registeel, OBJ_EVENT_PAL_TAG_REGISTEEL}, + {gObjectEventPal_Latias, OBJ_EVENT_PAL_TAG_LATIAS}, + {gObjectEventPal_Latios, OBJ_EVENT_PAL_TAG_LATIOS}, + {gObjectEventPal_Kyogre_Follower, OBJ_EVENT_PAL_TAG_KYOGRE_FOLLOWER}, + {gObjectEventPal_Groudon_Follower, OBJ_EVENT_PAL_TAG_GROUDON_FOLLOWER}, + {gObjectEventPal_Rayquaza, OBJ_EVENT_PAL_TAG_RAYQUAZA}, + {gObjectEventPal_Jirachi, OBJ_EVENT_PAL_TAG_JIRACHI}, + {gObjectEventPal_Deoxys_Follower, OBJ_EVENT_PAL_TAG_DEOXYS_FOLLOWER}, + {gObjectEventPal_GreatBall, OBJ_EVENT_PAL_TAG_GREAT_BALL}, + {gObjectEventPal_UltraBall, OBJ_EVENT_PAL_TAG_ULTRA_BALL}, + {gObjectEventPal_MasterBall, OBJ_EVENT_PAL_TAG_MASTER_BALL}, + {gObjectEventPal_SafariBall, OBJ_EVENT_PAL_TAG_SAFARI_BALL}, + {gObjectEventPal_NetBall, OBJ_EVENT_PAL_TAG_NET_BALL}, + {gObjectEventPal_DiveBall, OBJ_EVENT_PAL_TAG_DIVE_BALL}, + {gObjectEventPal_NestBall, OBJ_EVENT_PAL_TAG_NEST_BALL}, + {gObjectEventPal_RepeatBall, OBJ_EVENT_PAL_TAG_REPEAT_BALL}, + {gObjectEventPal_TimerBall, OBJ_EVENT_PAL_TAG_TIMER_BALL}, + {gObjectEventPal_LuxuryBall, OBJ_EVENT_PAL_TAG_LUXURY_BALL}, + {gObjectEventPal_PremierBall, OBJ_EVENT_PAL_TAG_PREMIER_BALL}, + {gObjectEventPal_HealBall, OBJ_EVENT_PAL_TAG_HEAL_BALL}, + {gObjectEventPal_DuskBall, OBJ_EVENT_PAL_TAG_DUSK_BALL}, + {gObjectEventPal_QuickBall, OBJ_EVENT_PAL_TAG_QUICK_BALL}, + {gObjectEventPal_LevelBall, OBJ_EVENT_PAL_TAG_LEVEL_BALL}, + {gObjectEventPal_LureBall, OBJ_EVENT_PAL_TAG_LURE_BALL}, + {gObjectEventPal_MoonBall, OBJ_EVENT_PAL_TAG_MOON_BALL}, + {gObjectEventPal_FriendBall, OBJ_EVENT_PAL_TAG_FRIEND_BALL}, + {gObjectEventPal_LoveBall, OBJ_EVENT_PAL_TAG_LOVE_BALL}, + {gObjectEventPal_FastBall, OBJ_EVENT_PAL_TAG_FAST_BALL}, + {gObjectEventPal_HeavyBall, OBJ_EVENT_PAL_TAG_HEAVY_BALL}, + {gObjectEventPal_DreamBall, OBJ_EVENT_PAL_TAG_DREAM_BALL}, + {gObjectEventPal_SportBall, OBJ_EVENT_PAL_TAG_SPORT_BALL}, + {gObjectEventPal_ParkBall, OBJ_EVENT_PAL_TAG_PARK_BALL}, + {gObjectEventPal_CherishBall, OBJ_EVENT_PAL_TAG_CHERISH_BALL}, + {gFieldEffectPal_SmallSparkle, FLDEFF_PAL_TAG_SMALL_SPARKLE}, #ifdef BUGFIX - {NULL, OBJ_EVENT_PAL_TAG_NONE}, + {NULL, OBJ_EVENT_PAL_TAG_NONE}, #else {}, // BUG: FindObjectEventPaletteIndexByTag looks for OBJ_EVENT_PAL_TAG_NONE and not 0x0. // If it's looking for a tag that isn't in this table, the game locks in an infinite loop. #endif }; -static const u16 sReflectionPaletteTags_Brendan[] = { - OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, -}; - -static const u16 sReflectionPaletteTags_May[] = { - OBJ_EVENT_PAL_TAG_MAY_REFLECTION, - OBJ_EVENT_PAL_TAG_MAY_REFLECTION, - OBJ_EVENT_PAL_TAG_MAY_REFLECTION, - OBJ_EVENT_PAL_TAG_MAY_REFLECTION, -}; - -static const u16 sReflectionPaletteTags_PlayerUnderwater[] = { - OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, - OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, - OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, - OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, -}; - -static const struct PairedPalettes sPlayerReflectionPaletteSets[] = { - {OBJ_EVENT_PAL_TAG_BRENDAN, sReflectionPaletteTags_Brendan}, - {OBJ_EVENT_PAL_TAG_MAY, sReflectionPaletteTags_May}, - {OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, sReflectionPaletteTags_PlayerUnderwater}, - {OBJ_EVENT_PAL_TAG_NONE, NULL}, -}; - -static const u16 sReflectionPaletteTags_QuintyPlump[] = { - OBJ_EVENT_PAL_TAG_QUINTY_PLUMP_REFLECTION, - OBJ_EVENT_PAL_TAG_QUINTY_PLUMP_REFLECTION, - OBJ_EVENT_PAL_TAG_QUINTY_PLUMP_REFLECTION, - OBJ_EVENT_PAL_TAG_QUINTY_PLUMP_REFLECTION, -}; - -static const u16 sReflectionPaletteTags_Truck[] = { - OBJ_EVENT_PAL_TAG_TRUCK, - OBJ_EVENT_PAL_TAG_TRUCK, - OBJ_EVENT_PAL_TAG_TRUCK, - OBJ_EVENT_PAL_TAG_TRUCK, -}; - -static const u16 sReflectionPaletteTags_VigorothMover[] = { - OBJ_EVENT_PAL_TAG_VIGOROTH, - OBJ_EVENT_PAL_TAG_VIGOROTH, - OBJ_EVENT_PAL_TAG_VIGOROTH, - OBJ_EVENT_PAL_TAG_VIGOROTH, -}; - -static const u16 sReflectionPaletteTags_MovingBox[] = { - OBJ_EVENT_PAL_TAG_MOVING_BOX, - OBJ_EVENT_PAL_TAG_MOVING_BOX, - OBJ_EVENT_PAL_TAG_MOVING_BOX, - OBJ_EVENT_PAL_TAG_MOVING_BOX, -}; - -static const u16 sReflectionPaletteTags_CableCar[] = { - OBJ_EVENT_PAL_TAG_CABLE_CAR, - OBJ_EVENT_PAL_TAG_CABLE_CAR, - OBJ_EVENT_PAL_TAG_CABLE_CAR, - OBJ_EVENT_PAL_TAG_CABLE_CAR, -}; - -static const u16 sReflectionPaletteTags_SSTidal[] = { - OBJ_EVENT_PAL_TAG_SSTIDAL, - OBJ_EVENT_PAL_TAG_SSTIDAL, - OBJ_EVENT_PAL_TAG_SSTIDAL, - OBJ_EVENT_PAL_TAG_SSTIDAL, -}; - -static const u16 sReflectionPaletteTags_SubmarineShadow[] = { - OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, - OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, - OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, - OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, -}; - -static const u16 sReflectionPaletteTags_Kyogre[] = { - OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION, - OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION, - OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION, - OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION, -}; - -static const u16 sReflectionPaletteTags_Groudon[] = { - OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION, - OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION, - OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION, - OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION, -}; - -static const u16 sReflectionPaletteTags_Npc3[] = { // Only used by the Route 120 bridge Kecleon - OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, -}; - -static const u16 sReflectionPaletteTags_RedLeaf[] = { - OBJ_EVENT_PAL_TAG_RED_LEAF, - OBJ_EVENT_PAL_TAG_RED_LEAF, - OBJ_EVENT_PAL_TAG_RED_LEAF, - OBJ_EVENT_PAL_TAG_RED_LEAF, -}; - -static const struct PairedPalettes sSpecialObjectReflectionPaletteSets[] = { - {OBJ_EVENT_PAL_TAG_BRENDAN, sReflectionPaletteTags_Brendan}, - {OBJ_EVENT_PAL_TAG_MAY, sReflectionPaletteTags_May}, - {OBJ_EVENT_PAL_TAG_QUINTY_PLUMP, sReflectionPaletteTags_QuintyPlump}, - {OBJ_EVENT_PAL_TAG_TRUCK, sReflectionPaletteTags_Truck}, - {OBJ_EVENT_PAL_TAG_VIGOROTH, sReflectionPaletteTags_VigorothMover}, - {OBJ_EVENT_PAL_TAG_MOVING_BOX, sReflectionPaletteTags_MovingBox}, - {OBJ_EVENT_PAL_TAG_CABLE_CAR, sReflectionPaletteTags_CableCar}, - {OBJ_EVENT_PAL_TAG_SSTIDAL, sReflectionPaletteTags_SSTidal}, - {OBJ_EVENT_PAL_TAG_KYOGRE, sReflectionPaletteTags_Kyogre}, - {OBJ_EVENT_PAL_TAG_GROUDON, sReflectionPaletteTags_Groudon}, - {OBJ_EVENT_PAL_TAG_NPC_3, sReflectionPaletteTags_Npc3}, - {OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, sReflectionPaletteTags_SubmarineShadow}, - {OBJ_EVENT_PAL_TAG_RED_LEAF, sReflectionPaletteTags_RedLeaf}, - {OBJ_EVENT_PAL_TAG_NONE, NULL}, -}; - -static const u16 sObjectPaletteTags0[] = { - [PALSLOT_PLAYER] = OBJ_EVENT_PAL_TAG_BRENDAN, - [PALSLOT_PLAYER_REFLECTION] = OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - [PALSLOT_NPC_1] = OBJ_EVENT_PAL_TAG_NPC_1, - [PALSLOT_NPC_2] = OBJ_EVENT_PAL_TAG_NPC_2, - [PALSLOT_NPC_3] = OBJ_EVENT_PAL_TAG_NPC_3, - [PALSLOT_NPC_4] = OBJ_EVENT_PAL_TAG_NPC_4, - [PALSLOT_NPC_1_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, - [PALSLOT_NPC_2_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, - [PALSLOT_NPC_3_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - [PALSLOT_NPC_4_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, -}; - -static const u16 sObjectPaletteTags1[] = { - [PALSLOT_PLAYER] = OBJ_EVENT_PAL_TAG_BRENDAN, - [PALSLOT_PLAYER_REFLECTION] = OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - [PALSLOT_NPC_1] = OBJ_EVENT_PAL_TAG_NPC_1, - [PALSLOT_NPC_2] = OBJ_EVENT_PAL_TAG_NPC_2, - [PALSLOT_NPC_3] = OBJ_EVENT_PAL_TAG_NPC_3, - [PALSLOT_NPC_4] = OBJ_EVENT_PAL_TAG_NPC_4, - [PALSLOT_NPC_1_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, - [PALSLOT_NPC_2_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, - [PALSLOT_NPC_3_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - [PALSLOT_NPC_4_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, -}; - -static const u16 sObjectPaletteTags2[] = { - [PALSLOT_PLAYER] = OBJ_EVENT_PAL_TAG_BRENDAN, - [PALSLOT_PLAYER_REFLECTION] = OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - [PALSLOT_NPC_1] = OBJ_EVENT_PAL_TAG_NPC_1, - [PALSLOT_NPC_2] = OBJ_EVENT_PAL_TAG_NPC_2, - [PALSLOT_NPC_3] = OBJ_EVENT_PAL_TAG_NPC_3, - [PALSLOT_NPC_4] = OBJ_EVENT_PAL_TAG_NPC_4, - [PALSLOT_NPC_1_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, - [PALSLOT_NPC_2_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, - [PALSLOT_NPC_3_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - [PALSLOT_NPC_4_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, -}; - -static const u16 sObjectPaletteTags3[] = { - [PALSLOT_PLAYER] = OBJ_EVENT_PAL_TAG_BRENDAN, - [PALSLOT_PLAYER_REFLECTION] = OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - [PALSLOT_NPC_1] = OBJ_EVENT_PAL_TAG_NPC_1, - [PALSLOT_NPC_2] = OBJ_EVENT_PAL_TAG_NPC_2, - [PALSLOT_NPC_3] = OBJ_EVENT_PAL_TAG_NPC_3, - [PALSLOT_NPC_4] = OBJ_EVENT_PAL_TAG_NPC_4, - [PALSLOT_NPC_1_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, - [PALSLOT_NPC_2_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, - [PALSLOT_NPC_3_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - [PALSLOT_NPC_4_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, -}; - -static const u16 *const sObjectPaletteTagSets[] = { - sObjectPaletteTags0, - sObjectPaletteTags1, - sObjectPaletteTags2, - sObjectPaletteTags3, -}; - #include "data/object_events/berry_tree_graphics_tables.h" #include "data/field_effects/field_effect_objects.h" @@ -1217,7 +1750,9 @@ u8 GetFirstInactiveObjectEventId(void) u8 GetObjectEventIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId) { - if (localId < OBJ_EVENT_ID_PLAYER) + if (localId == OBJ_EVENT_ID_FOLLOWER) + return GetFollowerObjectId(); + else if (localId < OBJ_EVENT_ID_PLAYER) return GetObjectEventIdByLocalIdAndMapInternal(localId, mapNum, mapGroupId); return GetObjectEventIdByLocalId(localId); @@ -1268,7 +1803,7 @@ static u8 GetObjectEventIdByLocalId(u8 localId) return OBJECT_EVENTS_COUNT; } -static u8 InitObjectEventStateFromTemplate(struct ObjectEventTemplate *template, u8 mapNum, u8 mapGroup) +static u8 InitObjectEventStateFromTemplate(const struct ObjectEventTemplate *template, u8 mapNum, u8 mapGroup) { struct ObjectEvent *objectEvent; u8 objectEventId; @@ -1364,7 +1899,7 @@ static bool8 GetAvailableObjectEventId(u16 localId, u8 mapNum, u8 mapGroup, u8 * return FALSE; } -static void RemoveObjectEvent(struct ObjectEvent *objectEvent) +void RemoveObjectEvent(struct ObjectEvent *objectEvent) { objectEvent->active = FALSE; RemoveObjectEventInternal(objectEvent); @@ -1382,10 +1917,13 @@ void RemoveObjectEventByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) static void RemoveObjectEventInternal(struct ObjectEvent *objectEvent) { + u8 paletteNum; struct SpriteFrameImage image; image.size = GetObjectEventGraphicsInfo(objectEvent->graphicsId)->size; gSprites[objectEvent->spriteId].images = ℑ + paletteNum = gSprites[objectEvent->spriteId].oam.paletteNum; DestroySprite(&gSprites[objectEvent->spriteId]); + FieldEffectFreePaletteIfUnused(paletteNum); } void RemoveAllObjectEventsExceptPlayer(void) @@ -1399,7 +1937,7 @@ void RemoveAllObjectEventsExceptPlayer(void) } } -static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +static u8 TrySetupObjectEventSprite(const struct ObjectEventTemplate *objectEventTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { u8 spriteId; u8 paletteSlot; @@ -1414,25 +1952,15 @@ static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTempl objectEvent = &gObjectEvents[objectEventId]; graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); - paletteSlot = graphicsInfo->paletteSlot; - if (paletteSlot == PALSLOT_PLAYER) + if (spriteTemplate->paletteTag != 0xFFFF) { - LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, paletteSlot); - } - else if (paletteSlot == PALSLOT_NPC_SPECIAL) - { - LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, paletteSlot); - } - else if (paletteSlot >= 16) - { - paletteSlot -= 16; - _PatchObjectPalette(graphicsInfo->paletteTag, paletteSlot); + LoadObjectEventPalette(spriteTemplate->paletteTag); + UpdatePaletteGammaType(IndexOfSpritePaletteTag(spriteTemplate->paletteTag), COLOR_MAP_CONTRAST); } if (objectEvent->movementType == MOVEMENT_TYPE_INVISIBLE) objectEvent->invisible = TRUE; - *(u16 *)&spriteTemplate->paletteTag = TAG_NONE; spriteId = CreateSprite(spriteTemplate, 0, 0, 0); if (spriteId == MAX_SPRITES) { @@ -1446,7 +1974,7 @@ static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTempl sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->x += 8; sprite->y += 16 + sprite->centerToCornerVecY; - sprite->oam.paletteNum = paletteSlot; + sprite->oam.paletteNum = IndexOfSpritePaletteTag(spriteTemplate->paletteTag); sprite->coordOffsetEnabled = TRUE; sprite->sObjEventId = objectEventId; objectEvent->spriteId = spriteId; @@ -1459,7 +1987,7 @@ static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTempl return objectEventId; } -static u8 TrySpawnObjectEventTemplate(struct ObjectEventTemplate *objectEventTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +u8 TrySpawnObjectEventTemplate(const struct ObjectEventTemplate *objectEventTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { u8 objectEventId; struct SpriteTemplate spriteTemplate; @@ -1491,7 +2019,7 @@ u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *objectEventTemplate) return TrySpawnObjectEventTemplate(objectEventTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } -u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation) +u8 SpawnSpecialObjectEventParameterized(u16 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation) { struct ObjectEventTemplate objectEventTemplate; @@ -1513,7 +2041,7 @@ u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 l u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup) { - struct ObjectEventTemplate *objectEventTemplate; + const struct ObjectEventTemplate *objectEventTemplate; s16 cameraX, cameraY; objectEventTemplate = GetObjectEventTemplateByLocalIdAndMap(localId, mapNum, mapGroup); @@ -1543,7 +2071,7 @@ static void CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(u16 graphics CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, sMovementTypeCallbacks[movementType], spriteTemplate, subspriteTables); } -static void MakeSpriteTemplateFromObjectEventTemplate(struct ObjectEventTemplate *objectEventTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) +static void MakeSpriteTemplateFromObjectEventTemplate(const struct ObjectEventTemplate *objectEventTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) { CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(objectEventTemplate->graphicsId, objectEventTemplate->movementType, spriteTemplate, subspriteTables); } @@ -1581,7 +2109,7 @@ u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), // A unique id is given as an argument and stored in the sprite data to allow referring back to the same virtual object. // They can be turned (and, in the case of the Union Room, animated teleporting in and out) but do not have movement types // or any of the other data normally associated with object events. -u8 CreateVirtualObject(u8 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevation, u8 direction) +u8 CreateVirtualObject(u16 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevation, u8 direction) { u8 spriteId; struct Sprite *sprite; @@ -1591,7 +2119,11 @@ u8 CreateVirtualObject(u8 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevatio graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, SpriteCB_VirtualObject, &spriteTemplate, &subspriteTables); - *(u16 *)&spriteTemplate.paletteTag = TAG_NONE; + if (spriteTemplate.paletteTag != 0xFFFF) + { + LoadObjectEventPalette(spriteTemplate.paletteTag); + UpdatePaletteGammaType(IndexOfSpritePaletteTag(spriteTemplate.paletteTag), COLOR_MAP_CONTRAST); + } x += MAP_OFFSET; y += MAP_OFFSET; SetSpritePosToOffsetMapCoords(&x, &y, 8, 16); @@ -1602,18 +2134,10 @@ u8 CreateVirtualObject(u8 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevatio sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->y += sprite->centerToCornerVecY; - sprite->oam.paletteNum = graphicsInfo->paletteSlot; - if (sprite->oam.paletteNum >= 16) - sprite->oam.paletteNum -= 16; - + sprite->oam.paletteNum = IndexOfSpritePaletteTag(spriteTemplate.paletteTag); sprite->coordOffsetEnabled = TRUE; sprite->sVirtualObjId = virtualObjId; sprite->sVirtualObjElev = elevation; - if (graphicsInfo->paletteSlot == PALSLOT_NPC_SPECIAL) - LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); - else if (graphicsInfo->paletteSlot >= 16) - _PatchObjectPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot | 0xf0); - if (subspriteTables != NULL) { SetSubspriteTables(sprite, subspriteTables); @@ -1674,7 +2198,7 @@ void RemoveObjectEventsOutsideView(void) { struct ObjectEvent *objectEvent = &gObjectEvents[i]; - if (objectEvent->active && !objectEvent->isPlayer) + if (objectEvent->active && !objectEvent->isPlayer && i != GetFollowerObjectId()) RemoveObjectEventIfOutsideView(objectEvent); } } @@ -1712,7 +2236,6 @@ void SpawnObjectEventsOnReturnToField(s16 x, s16 y) static void SpawnObjectEventOnReturnToField(u8 objectEventId, s16 x, s16 y) { u8 i; - u8 paletteSlot; struct Sprite *sprite; struct ObjectEvent *objectEvent; struct SpriteTemplate spriteTemplate; @@ -1732,23 +2255,11 @@ static void SpawnObjectEventOnReturnToField(u8 objectEventId, s16 x, s16 y) spriteFrameImage.size = graphicsInfo->size; CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(objectEvent->graphicsId, objectEvent->movementType, &spriteTemplate, &subspriteTables); spriteTemplate.images = &spriteFrameImage; - - *(u16 *)&spriteTemplate.paletteTag = TAG_NONE; - paletteSlot = graphicsInfo->paletteSlot; - if (paletteSlot == PALSLOT_PLAYER) + if (spriteTemplate.paletteTag != 0xFFFF) { - LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); + LoadObjectEventPalette(spriteTemplate.paletteTag); + UpdatePaletteGammaType(IndexOfSpritePaletteTag(spriteTemplate.paletteTag), COLOR_MAP_CONTRAST); } - else if (paletteSlot == PALSLOT_NPC_SPECIAL) - { - LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); - } - else if (paletteSlot >= 16) - { - paletteSlot -= 16; - _PatchObjectPalette(graphicsInfo->paletteTag, paletteSlot); - } - *(u16 *)&spriteTemplate.paletteTag = TAG_NONE; i = CreateSprite(&spriteTemplate, 0, 0, 0); if (i != MAX_SPRITES) @@ -1768,7 +2279,7 @@ static void SpawnObjectEventOnReturnToField(u8 objectEventId, s16 x, s16 y) if (subspriteTables != NULL) SetSubspriteTables(sprite, subspriteTables); - sprite->oam.paletteNum = paletteSlot; + sprite->oam.paletteNum = IndexOfSpritePaletteTag(spriteTemplate.paletteTag); sprite->coordOffsetEnabled = TRUE; sprite->sObjEventId = objectEventId; objectEvent->spriteId = i; @@ -1801,7 +2312,7 @@ static void SetPlayerAvatarObjectEventIdAndObjectId(u8 objectEventId, u8 spriteI SetPlayerAvatarExtraStateTransition(gObjectEvents[objectEventId].graphicsId, PLAYER_AVATAR_FLAG_CONTROLLABLE); } -void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId) +void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u16 graphicsId) { const struct ObjectEventGraphicsInfo *graphicsInfo; struct Sprite *sprite; @@ -1809,26 +2320,17 @@ void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId) graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); sprite = &gSprites[objectEvent->spriteId]; - paletteSlot = graphicsInfo->paletteSlot; - if (paletteSlot == PALSLOT_PLAYER) + if (graphicsInfo->paletteTag != 0xFFFF) { - PatchObjectPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); - } - else if (paletteSlot == PALSLOT_NPC_SPECIAL) - { - LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); - } - else if (paletteSlot >= 16) - { - paletteSlot -= 16; - _PatchObjectPalette(graphicsInfo->paletteTag, paletteSlot); + LoadObjectEventPalette(graphicsInfo->paletteTag); + UpdatePaletteGammaType(IndexOfSpritePaletteTag(graphicsInfo->paletteTag), COLOR_MAP_CONTRAST); } sprite->oam.shape = graphicsInfo->oam->shape; sprite->oam.size = graphicsInfo->oam->size; sprite->images = graphicsInfo->images; sprite->anims = graphicsInfo->anims; sprite->subspriteTables = graphicsInfo->subspriteTables; - sprite->oam.paletteNum = paletteSlot; + sprite->oam.paletteNum = IndexOfSpritePaletteTag(graphicsInfo->paletteTag); objectEvent->inanimate = graphicsInfo->inanimate; objectEvent->graphicsId = graphicsId; SetSpritePosToMapCoords(objectEvent->currentCoords.x, objectEvent->currentCoords.y, &sprite->x, &sprite->y); @@ -1840,7 +2342,7 @@ void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId) CameraObjectReset1(); } -void ObjectEventSetGraphicsIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) +void ObjectEventSetGraphicsIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u16 graphicsId) { u8 objectEventId; @@ -1888,14 +2390,16 @@ static void SetBerryTreeGraphics(struct ObjectEvent *objectEvent, struct Sprite if (berryId > ITEM_TO_BERRY(LAST_BERRY_INDEX)) berryId = 0; + LoadObjectEventPalette(gBerryTreePaletteTagTablePointers[berryId][berryStage]); ObjectEventSetGraphicsId(objectEvent, gBerryTreeObjectEventGraphicsIdTablePointers[berryId][berryStage]); sprite->images = gBerryTreePicTablePointers[berryId]; - sprite->oam.paletteNum = gBerryTreePaletteSlotTablePointers[berryId][berryStage]; + sprite->oam.paletteNum = IndexOfSpritePaletteTag(gBerryTreePaletteTagTablePointers[berryId][berryStage]); + UpdatePaletteGammaType(sprite->oam.paletteNum, COLOR_MAP_CONTRAST); StartSpriteAnim(sprite, berryStage); } } -const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8 graphicsId) +const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u16 graphicsId) { u8 bard; @@ -1995,7 +2499,7 @@ void FreeAndReserveObjectSpritePalettes(void) gReservedSpritePaletteCount = OBJ_PALSLOT_COUNT; } -static void LoadObjectEventPalette(u16 paletteTag) +void LoadObjectEventPalette(u16 paletteTag) { u16 i = FindObjectEventPaletteIndexByTag(paletteTag); @@ -2027,8 +2531,7 @@ static u8 LoadSpritePaletteIfTagExists(const struct SpritePalette *spritePalette void PatchObjectPalette(u16 paletteTag, u8 paletteSlot) { - // paletteTag is assumed to exist in sObjectEventSpritePalettes - u8 paletteIndex = FindObjectEventPaletteIndexByTag(paletteTag); + u16 paletteIndex = FindObjectEventPaletteIndexByTag(paletteTag); LoadPalette(sObjectEventSpritePalettes[paletteIndex].data, OBJ_PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); } @@ -2043,9 +2546,9 @@ void PatchObjectPaletteRange(const u16 *paletteTags, u8 minSlot, u8 maxSlot) } } -static u8 FindObjectEventPaletteIndexByTag(u16 tag) +static u16 FindObjectEventPaletteIndexByTag(u16 tag) { - u8 i; + u16 i; for (i = 0; sObjectEventSpritePalettes[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) { @@ -2055,37 +2558,6 @@ static u8 FindObjectEventPaletteIndexByTag(u16 tag) return 0xFF; } -void LoadPlayerObjectReflectionPalette(u16 tag, u8 slot) -{ - u8 i; - - PatchObjectPalette(tag, slot); - for (i = 0; sPlayerReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) - { - if (sPlayerReflectionPaletteSets[i].tag == tag) - { - PatchObjectPalette(sPlayerReflectionPaletteSets[i].data[sCurrentReflectionType], gReflectionEffectPaletteMap[slot]); - return; - } - } -} - -void LoadSpecialObjectReflectionPalette(u16 tag, u8 slot) -{ - u8 i; - - sCurrentSpecialObjectPaletteTag = tag; - PatchObjectPalette(tag, slot); - for (i = 0; sSpecialObjectReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) - { - if (sSpecialObjectReflectionPaletteSets[i].tag == tag) - { - PatchObjectPalette(sSpecialObjectReflectionPaletteSets[i].data[sCurrentReflectionType], gReflectionEffectPaletteMap[slot]); - return; - } - } -} - static void _PatchObjectPalette(u16 tag, u8 slot) { PatchObjectPalette(tag, slot); @@ -2375,7 +2847,7 @@ const u8 *GetObjectEventScriptPointerByObjectEventId(u8 objectEventId) static u16 GetObjectEventFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - struct ObjectEventTemplate *obj = GetObjectEventTemplateByLocalIdAndMap(localId, mapNum, mapGroup); + const struct ObjectEventTemplate *obj = GetObjectEventTemplateByLocalIdAndMap(localId, mapNum, mapGroup); #ifdef UBFIX // BUG: The function may return NULL, and attempting to read from NULL may freeze the game using modern compilers. if (obj == NULL) @@ -2422,9 +2894,9 @@ u8 GetObjectEventBerryTreeId(u8 objectEventId) return gObjectEvents[objectEventId].trainerRange_berryTreeId; } -static struct ObjectEventTemplate *GetObjectEventTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +const struct ObjectEventTemplate *GetObjectEventTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - struct ObjectEventTemplate *templates; + const struct ObjectEventTemplate *templates; const struct MapHeader *mapHeader; u8 count; @@ -2442,7 +2914,7 @@ static struct ObjectEventTemplate *GetObjectEventTemplateByLocalIdAndMap(u8 loca return FindObjectEventTemplateByLocalId(localId, templates, count); } -static struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8 localId, struct ObjectEventTemplate *templates, u8 count) +static const struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8 localId, const struct ObjectEventTemplate *templates, u8 count) { u8 i; @@ -2524,37 +2996,6 @@ void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup } } -void InitObjectEventPalettes(u8 reflectionType) -{ - FreeAndReserveObjectSpritePalettes(); - sCurrentSpecialObjectPaletteTag = OBJ_EVENT_PAL_TAG_NONE; - sCurrentReflectionType = reflectionType; - if (reflectionType == 1) - { - PatchObjectPaletteRange(sObjectPaletteTagSets[sCurrentReflectionType], PALSLOT_PLAYER, PALSLOT_NPC_4 + 1); - gReservedSpritePaletteCount = 8; - } - else - { - PatchObjectPaletteRange(sObjectPaletteTagSets[sCurrentReflectionType], PALSLOT_PLAYER, PALSLOT_NPC_4_REFLECTION + 1); - } -} - -u16 GetObjectPaletteTag(u8 palSlot) -{ - u8 i; - - if (palSlot < PALSLOT_NPC_SPECIAL) - return sObjectPaletteTagSets[sCurrentReflectionType][palSlot]; - - for (i = 0; sSpecialObjectReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) - { - if (sSpecialObjectReflectionPaletteSets[i].tag == sCurrentSpecialObjectPaletteTag) - return sSpecialObjectReflectionPaletteSets[i].data[sCurrentReflectionType]; - } - return OBJ_EVENT_PAL_TAG_NONE; -} - movement_type_empty_callback(MovementType_None) movement_type_def(MovementType_WanderAround, gMovementTypeFuncs_WanderAround) @@ -2836,6 +3277,38 @@ u8 TryGetTrainerEncounterDirection(struct ObjectEvent *objectEvent, u8 movementT return gGetVectorDirectionFuncs[movementType](dx, dy, absdx, absdy); } +movement_type_def(MovementType_FollowingPokemon, gMovementTypeFuncs_FollowingPokemon) + +bool8 MovementType_FollowingPokemon_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + ClearObjectEventMovement(objectEvent, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 MovementType_FollowingPokemon_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + ObjectEventSetSingleMovement(objectEvent, sprite, MOVEMENT_ACTION_FOLLOWING_POKEMON); + sprite->data[1] = 2; + return TRUE; +} + +bool8 MovementType_FollowingPokemon_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) + { + objectEvent->singleMovementActive = FALSE; + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 MovementType_FollowingPokemon_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + sprite->data[1] = 1; + return TRUE; +} + movement_type_def(MovementType_LookAround, gMovementTypeFuncs_LookAround) bool8 MovementType_LookAround_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) @@ -4730,8 +5203,9 @@ static bool8 DoesObjectCollideWithObjectAt(struct ObjectEvent *objectEvent, s16 for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { curObject = &gObjectEvents[i]; - if (curObject->active && curObject != objectEvent) + if (curObject->active && curObject != objectEvent && !FollowMe_IsCollisionExempt(curObject, objectEvent)) { + // check for collision if curObject is active, not the object in question, and not exempt from collisions if ((curObject->currentCoords.x == x && curObject->currentCoords.y == y) || (curObject->previousCoords.x == x && curObject->previousCoords.y == y)) { if (AreElevationsCompatible(objectEvent->currentElevation, curObject->currentElevation)) @@ -4879,6 +5353,7 @@ bool8 ObjectEventSetHeldMovement(struct ObjectEvent *objectEvent, u8 movementAct objectEvent->heldMovementActive = TRUE; objectEvent->heldMovementFinished = FALSE; gSprites[objectEvent->spriteId].sActionFuncId = 0; + FollowMe(objectEvent, movementActionId, FALSE); return FALSE; } @@ -4979,6 +5454,41 @@ bool8 ObjectEventFaceOppositeDirection(struct ObjectEvent *objectEvent, u8 direc return ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(GetOppositeDirection(direction))); } +bool8 ObjectEventPokemonFacePlayer(struct ObjectEvent *follower, struct ObjectEvent *player) +{ + if(follower->currentCoords.x == player->currentCoords.x) + { + // Follower is south of player + if(follower->currentCoords.y > player->currentCoords.y) + { + gSprites[follower->spriteId].animNum = 5; + follower->facingDirection = DIR_NORTH; + } + // Follower is north of player + else + { + gSprites[follower->spriteId].animNum = 4; + follower->facingDirection = DIR_SOUTH; + } + } + else + { + // Follower is east of player + if(follower->currentCoords.x > player->currentCoords.x) + { + gSprites[follower->spriteId].animNum = 6; + follower->facingDirection = DIR_WEST; + } + // Follower is west of player + else + { + gSprites[follower->spriteId].animNum = 7; + follower->facingDirection = DIR_EAST; + } + } + return ObjectEventSetHeldMovement(follower, MOVEMENT_ACTION_FOLLOWING_POKEMON); +} + dirn_to_anim(GetAcroWheelieFaceDirectionMovementAction, gAcroWheelieFaceDirectionMovementActions); dirn_to_anim(GetAcroPopWheelieFaceDirectionMovementAction, gAcroPopWheelieFaceDirectionMovementActions); dirn_to_anim(GetAcroEndWheelieFaceDirectionMovementAction, gAcroEndWheelieFaceDirectionMovementActions); @@ -5121,7 +5631,8 @@ static bool8 UpdateMovementNormal(struct ObjectEvent *objectEvent, struct Sprite { ShiftStillObjectEventCoords(objectEvent); objectEvent->triggerGroundEffectsOnStop = TRUE; - sprite->animPaused = TRUE; + if (!(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId])) + sprite->animPaused = TRUE; return TRUE; } return FALSE; @@ -5227,7 +5738,19 @@ bool8 MovementAction_WalkSlowDiagonalDownRight_Step1(struct ObjectEvent *objectE bool8 MovementAction_WalkSlowDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow(objectEvent, sprite, DIR_SOUTH); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 19) + { + sprite->data[7] = 19; + sprite->animNum = 4; + sprite->x2 = 0; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitWalkSlow(objectEvent, sprite, DIR_SOUTH); + } + else + InitWalkSlow(objectEvent, sprite, DIR_SOUTH); return MovementAction_WalkSlowDown_Step1(objectEvent, sprite); } @@ -5243,7 +5766,19 @@ bool8 MovementAction_WalkSlowDown_Step1(struct ObjectEvent *objectEvent, struct bool8 MovementAction_WalkSlowUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow(objectEvent, sprite, DIR_NORTH); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 20) + { + sprite->data[7] = 20; + sprite->animNum = 5; + sprite->x2 = 0; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitWalkSlow(objectEvent, sprite, DIR_NORTH); + } + else + InitWalkSlow(objectEvent, sprite, DIR_NORTH); return MovementAction_WalkSlowUp_Step1(objectEvent, sprite); } @@ -5259,7 +5794,19 @@ bool8 MovementAction_WalkSlowUp_Step1(struct ObjectEvent *objectEvent, struct Sp bool8 MovementAction_WalkSlowLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow(objectEvent, sprite, DIR_WEST); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 21) + { + sprite->data[7] = 21; + sprite->animNum = 6; + sprite->x2 = 8; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitWalkSlow(objectEvent, sprite, DIR_WEST); + } + else + InitWalkSlow(objectEvent, sprite, DIR_WEST); return MovementAction_WalkSlowLeft_Step1(objectEvent, sprite); } @@ -5275,7 +5822,19 @@ bool8 MovementAction_WalkSlowLeft_Step1(struct ObjectEvent *objectEvent, struct bool8 MovementAction_WalkSlowRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow(objectEvent, sprite, DIR_EAST); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 22) + { + sprite->data[7] = 22; + sprite->animNum = 7; + sprite->x2 = -8; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitWalkSlow(objectEvent, sprite, DIR_EAST); + } + else + InitWalkSlow(objectEvent, sprite, DIR_EAST); return MovementAction_WalkSlowRight_Step1(objectEvent, sprite); } @@ -5355,7 +5914,19 @@ bool8 MovementAction_WalkNormalDiagonalDownRight_Step1(struct ObjectEvent *objec bool8 MovementAction_WalkNormalDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_SOUTH, MOVE_SPEED_NORMAL); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 2) + { + sprite->data[7] = 2; + sprite->animNum = 4; + sprite->x2 = 0; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitNpcForMovement(objectEvent, sprite, DIR_SOUTH, 0); + } + else + InitMovementNormal(objectEvent, sprite, DIR_SOUTH, MOVE_SPEED_NORMAL); return MovementAction_WalkNormalDown_Step1(objectEvent, sprite); } @@ -5371,7 +5942,19 @@ bool8 MovementAction_WalkNormalDown_Step1(struct ObjectEvent *objectEvent, struc bool8 MovementAction_WalkNormalUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_NORTH, MOVE_SPEED_NORMAL); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 3) + { + sprite->data[7] = 3; + sprite->animNum = 5; + sprite->x2 = 0; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitNpcForMovement(objectEvent, sprite, DIR_NORTH, 0); + } + else + InitMovementNormal(objectEvent, sprite, DIR_NORTH, MOVE_SPEED_NORMAL); return MovementAction_WalkNormalUp_Step1(objectEvent, sprite); } @@ -5387,7 +5970,19 @@ bool8 MovementAction_WalkNormalUp_Step1(struct ObjectEvent *objectEvent, struct bool8 MovementAction_WalkNormalLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_NORMAL); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 4) + { + sprite->data[7] = 4; + sprite->animNum = 6; + sprite->x2 = 8; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitNpcForMovement(objectEvent, sprite, DIR_WEST, 0); + } + else + InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_NORMAL); return MovementAction_WalkNormalLeft_Step1(objectEvent, sprite); } @@ -5403,7 +5998,19 @@ bool8 MovementAction_WalkNormalLeft_Step1(struct ObjectEvent *objectEvent, struc bool8 MovementAction_WalkNormalRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_NORMAL); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 5) + { + sprite->data[7] = 5; + sprite->animNum = 7; + sprite->x2 = -8; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitNpcForMovement(objectEvent, sprite, DIR_EAST, 0); + } + else + InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_NORMAL); return MovementAction_WalkNormalRight_Step1(objectEvent, sprite); } @@ -5424,6 +6031,9 @@ enum { JUMP_TYPE_HIGH, JUMP_TYPE_LOW, JUMP_TYPE_NORMAL, +#if FAST_FOLLOWERS == TRUE + JUMP_TYPE_QUICK, +#endif }; static void InitJump(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 distance, u8 type) @@ -5477,7 +6087,8 @@ static u8 UpdateJumpAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite, ShiftStillObjectEventCoords(objectEvent); objectEvent->triggerGroundEffectsOnStop = TRUE; objectEvent->landingJump = TRUE; - sprite->animPaused = TRUE; + if (!(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId])) + sprite->animPaused = TRUE; } return result; } @@ -5526,7 +6137,22 @@ static bool8 DoJumpInPlaceAnim(struct ObjectEvent *objectEvent, struct Sprite *s bool8 MovementAction_Jump2Down_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + sprite->x2 = 0; + sprite->data[7] = 10; +#if FAST_FOLLOWERS == TRUE + if(TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH)) + InitJumpRegular(objectEvent, sprite, DIR_SOUTH, JUMP_DISTANCE_FAR_QUICKER, JUMP_TYPE_QUICK); + else + InitJumpRegular(objectEvent, sprite, DIR_SOUTH, JUMP_DISTANCE_FAR_QUICK, JUMP_TYPE_QUICK); + } + else + InitJumpRegular(objectEvent, sprite, DIR_SOUTH, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); +#else + } InitJumpRegular(objectEvent, sprite, DIR_SOUTH, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); +#endif return MovementAction_Jump2Down_Step1(objectEvent, sprite); } @@ -5543,7 +6169,22 @@ bool8 MovementAction_Jump2Down_Step1(struct ObjectEvent *objectEvent, struct Spr bool8 MovementAction_Jump2Up_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + sprite->x2 = 0; + sprite->data[7] = 10; +#if FAST_FOLLOWERS == TRUE + if(TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH)) + InitJumpRegular(objectEvent, sprite, DIR_NORTH, JUMP_DISTANCE_FAR_QUICKER, JUMP_TYPE_QUICK); + else + InitJumpRegular(objectEvent, sprite, DIR_NORTH, JUMP_DISTANCE_FAR_QUICK, JUMP_TYPE_QUICK); + } + else + InitJumpRegular(objectEvent, sprite, DIR_NORTH, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); +#else + } InitJumpRegular(objectEvent, sprite, DIR_NORTH, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); +#endif return MovementAction_Jump2Up_Step1(objectEvent, sprite); } @@ -5560,7 +6201,22 @@ bool8 MovementAction_Jump2Up_Step1(struct ObjectEvent *objectEvent, struct Sprit bool8 MovementAction_Jump2Left_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + sprite->x2 = 8; + sprite->data[7] = 10; +#if FAST_FOLLOWERS == TRUE + if(TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH)) + InitJumpRegular(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_FAR_QUICKER, JUMP_TYPE_QUICK); + else + InitJumpRegular(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_FAR_QUICK, JUMP_TYPE_QUICK); + } + else + InitJumpRegular(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); +#else + } InitJumpRegular(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); +#endif return MovementAction_Jump2Left_Step1(objectEvent, sprite); } @@ -5577,7 +6233,22 @@ bool8 MovementAction_Jump2Left_Step1(struct ObjectEvent *objectEvent, struct Spr bool8 MovementAction_Jump2Right_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + sprite->x2 = -8; + sprite->data[7] = 10; +#if FAST_FOLLOWERS == TRUE + if(TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH)) + InitJumpRegular(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_FAR_QUICKER, JUMP_TYPE_QUICK); + else + InitJumpRegular(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_FAR_QUICK, JUMP_TYPE_QUICK); + } + else + InitJumpRegular(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); +#else + } InitJumpRegular(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); +#endif return MovementAction_Jump2Right_Step1(objectEvent, sprite); } @@ -5640,7 +6311,19 @@ bool8 MovementAction_Delay16_Step0(struct ObjectEvent *objectEvent, struct Sprit bool8 MovementAction_WalkFastDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_SOUTH, MOVE_SPEED_FAST_1); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 6) + { + sprite->data[7] = 6; + sprite->animNum = 8; + sprite->x2 = 0; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitNpcForMovement(objectEvent, sprite, DIR_SOUTH, 1); + } + else + InitMovementNormal(objectEvent, sprite, DIR_SOUTH, MOVE_SPEED_FAST_1); return MovementAction_WalkFastDown_Step1(objectEvent, sprite); } @@ -5656,7 +6339,19 @@ bool8 MovementAction_WalkFastDown_Step1(struct ObjectEvent *objectEvent, struct bool8 MovementAction_WalkFastUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_NORTH, MOVE_SPEED_FAST_1); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 7) + { + sprite->data[7] = 7; + sprite->animNum = 9; + sprite->x2 = 0; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitNpcForMovement(objectEvent, sprite, DIR_NORTH, 1); + } + else + InitMovementNormal(objectEvent, sprite, DIR_NORTH, MOVE_SPEED_FAST_1); return MovementAction_WalkFastUp_Step1(objectEvent, sprite); } @@ -5672,7 +6367,19 @@ bool8 MovementAction_WalkFastUp_Step1(struct ObjectEvent *objectEvent, struct Sp bool8 MovementAction_WalkFastLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FAST_1); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 8) + { + sprite->data[7] = 8; + sprite->animNum = 10; + sprite->x2 = 8; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitNpcForMovement(objectEvent, sprite, DIR_WEST, 1); + } + else + InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FAST_1); return MovementAction_WalkFastLeft_Step1(objectEvent, sprite); } @@ -5688,7 +6395,19 @@ bool8 MovementAction_WalkFastLeft_Step1(struct ObjectEvent *objectEvent, struct bool8 MovementAction_WalkFastRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FAST_1); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 9) + { + sprite->data[7] = 9; + sprite->animNum = 11; + sprite->x2 = -8; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitNpcForMovement(objectEvent, sprite, DIR_EAST, 1); + } + else + InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FAST_1); return MovementAction_WalkFastRight_Step1(objectEvent, sprite); } @@ -5893,7 +6612,19 @@ bool8 MovementAction_RideWaterCurrentRight_Step1(struct ObjectEvent *objectEvent bool8 MovementAction_WalkFasterDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_SOUTH, MOVE_SPEED_FASTER); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 11) + { + sprite->data[7] = 11; + sprite->animNum = 12; + sprite->x2 = 0; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitMovementNormal(objectEvent, sprite, DIR_SOUTH, MOVE_SPEED_FASTER); + } + else + InitMovementNormal(objectEvent, sprite, DIR_SOUTH, MOVE_SPEED_FASTER); return MovementAction_WalkFasterDown_Step1(objectEvent, sprite); } @@ -5909,7 +6640,19 @@ bool8 MovementAction_WalkFasterDown_Step1(struct ObjectEvent *objectEvent, struc bool8 MovementAction_WalkFasterUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_NORTH, MOVE_SPEED_FASTER); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 12) + { + sprite->data[7] = 12; + sprite->animNum = 13; + sprite->x2 = 0; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitMovementNormal(objectEvent, sprite, DIR_NORTH, MOVE_SPEED_FASTER); + } + else + InitMovementNormal(objectEvent, sprite, DIR_NORTH, MOVE_SPEED_FASTER); return MovementAction_WalkFasterUp_Step1(objectEvent, sprite); } @@ -5925,7 +6668,19 @@ bool8 MovementAction_WalkFasterUp_Step1(struct ObjectEvent *objectEvent, struct bool8 MovementAction_WalkFasterLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FASTER); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 13) + { + sprite->data[7] = 13; + sprite->animNum = 14; + sprite->x2 = 8; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FASTER); + } + else + InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FASTER); return MovementAction_WalkFasterLeft_Step1(objectEvent, sprite); } @@ -5941,7 +6696,19 @@ bool8 MovementAction_WalkFasterLeft_Step1(struct ObjectEvent *objectEvent, struc bool8 MovementAction_WalkFasterRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FASTER); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 14) + { + sprite->data[7] = 14; + sprite->animNum = 15; + sprite->x2 = -8; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FASTER); + } + else + InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FASTER); return MovementAction_WalkFasterRight_Step1(objectEvent, sprite); } @@ -5957,7 +6724,19 @@ bool8 MovementAction_WalkFasterRight_Step1(struct ObjectEvent *objectEvent, stru bool8 MovementAction_SlideDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_SOUTH, MOVE_SPEED_FASTEST); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 15) + { + sprite->data[7] = 15; + sprite->animNum = 16; + sprite->x2 = 0; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitMovementNormal(objectEvent, sprite, DIR_SOUTH, MOVE_SPEED_FASTEST); + } + else + InitMovementNormal(objectEvent, sprite, DIR_SOUTH, MOVE_SPEED_FASTEST); return MovementAction_SlideDown_Step1(objectEvent, sprite); } @@ -5973,7 +6752,19 @@ bool8 MovementAction_SlideDown_Step1(struct ObjectEvent *objectEvent, struct Spr bool8 MovementAction_SlideUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_NORTH, MOVE_SPEED_FASTEST); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 16) + { + sprite->data[7] = 16; + sprite->animNum = 17; + sprite->x2 = 0; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitMovementNormal(objectEvent, sprite, DIR_NORTH, MOVE_SPEED_FASTEST); + } + else + InitMovementNormal(objectEvent, sprite, DIR_NORTH, MOVE_SPEED_FASTEST); return MovementAction_SlideUp_Step1(objectEvent, sprite); } @@ -5989,7 +6780,19 @@ bool8 MovementAction_SlideUp_Step1(struct ObjectEvent *objectEvent, struct Sprit bool8 MovementAction_SlideLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FASTEST); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 17) + { + sprite->data[7] = 17; + sprite->animNum = 18; + sprite->x2 = 8; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FASTEST); + } + else + InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FASTEST); return MovementAction_SlideLeft_Step1(objectEvent, sprite); } @@ -6005,7 +6808,19 @@ bool8 MovementAction_SlideLeft_Step1(struct ObjectEvent *objectEvent, struct Spr bool8 MovementAction_SlideRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FASTEST); + if(gSaveBlock2Ptr->follower.inProgress && objectEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId]) + { + if(sprite->data[7] != 18) + { + sprite->data[7] = 18; + sprite->animNum = 19; + sprite->x2 = -8; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FASTEST); + } + else + InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FASTEST); return MovementAction_SlideRight_Step1(objectEvent, sprite); } @@ -7765,6 +8580,13 @@ void ObjectEventUpdateElevation(struct ObjectEvent *objEvent) if (curElevation == 15 || prevElevation == 15) return; + + if (gSaveBlock2Ptr->follower.inProgress && + objEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId] && + objEvent->currentCoords.y == gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y - 1) + { + curElevation = gObjectEvents[gPlayerAvatar.objectEventId].currentElevation; + } objEvent->currentElevation = curElevation; @@ -7872,6 +8694,9 @@ static void (*const sGroundEffectTracksFuncs[])(struct ObjectEvent *objEvent, st [TRACKS_NONE] = DoTracksGroundEffect_None, [TRACKS_FOOT] = DoTracksGroundEffect_Footprints, [TRACKS_BIKE_TIRE] = DoTracksGroundEffect_BikeTireTracks, + [TRACKS_SLITHER] = DoTracksGroundEffect_SlitherTracks, + [TRACKS_BUG] = DoTracksGroundEffect_FootprintsBug, + [TRACKS_SPOT] = DoTracksGroundEffect_FootprintsSpot, }; void GroundEffect_SandTracks(struct ObjectEvent *objEvent, struct Sprite *sprite) @@ -7906,7 +8731,74 @@ static void DoTracksGroundEffect_Footprints(struct ObjectEvent *objEvent, struct FieldEffectStart(sandFootprints_FieldEffectData[isDeepSand]); } -static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent *objEvent, struct Sprite *sprite, bool8 isDeepSand) +static void DoTracksGroundEffect_FootprintsSpot(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a) +{ + // First half-word is a Field Effect script id. (gFieldEffectScriptPointers) + u16 otherFootprintsA_FieldEffectData[2] = { + FLDEFF_TRACKS_SPOT, + FLDEFF_TRACKS_SPOT + }; + + gFieldEffectArguments[0] = objEvent->previousCoords.x; + gFieldEffectArguments[1] = objEvent->previousCoords.y; + gFieldEffectArguments[2] = 149; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = objEvent->facingDirection; + if (Random() % 2 == 0) + PlaySE(159); + if (Random() % 2 == 1) + PlaySE12WithPanning(159, 1); + FieldEffectStart(otherFootprintsA_FieldEffectData[a]); +} + +static void DoTracksGroundEffect_FootprintsBug(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a) +{ + // First half-word is a Field Effect script id. (gFieldEffectScriptPointers) + u16 otherFootprintsB_FieldEffectData[2] = { + FLDEFF_TRACKS_BUG, + FLDEFF_TRACKS_BUG + }; + + gFieldEffectArguments[0] = objEvent->previousCoords.x; + gFieldEffectArguments[1] = objEvent->previousCoords.y; + gFieldEffectArguments[2] = 149; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = objEvent->facingDirection; + if (Random() % 2 == 0) + PlaySE(159); + if (Random() % 2 == 1) + PlaySE12WithPanning(159, 1); + FieldEffectStart(otherFootprintsB_FieldEffectData[a]); +} + +static void DoTracksGroundEffect_SlitherTracks(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a) +{ + // Specifies which bike track shape to show next. + // For example, when the bike turns from up to right, it will show + // a track that curves to the right. + // Each 4-byte row corresponds to the initial direction of the bike, and + // each byte in that row is for the next direction of the bike in the order + // of down, up, left, right. + static const u8 slitherTracks_Transitions[4][4] = { + 1, 2, 7, 8, + 1, 2, 6, 5, + 5, 8, 3, 4, + 6, 7, 3, 4, + }; + + if (objEvent->currentCoords.x != objEvent->previousCoords.x || objEvent->currentCoords.y != objEvent->previousCoords.y) + { + gFieldEffectArguments[0] = objEvent->previousCoords.x; + gFieldEffectArguments[1] = objEvent->previousCoords.y; + gFieldEffectArguments[2] = 149; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = + slitherTracks_Transitions[objEvent->previousMovementDirection][objEvent->facingDirection - 5]; + FieldEffectStart(FLDEFF_TRACKS_SLITHER); + } +} + +static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a) { // Specifies which bike track shape to show next. // For example, when the bike turns from up to right, it will show @@ -8051,6 +8943,9 @@ static void DoFlaggedGroundEffects(struct ObjectEvent *objEvent, struct Sprite * if (ObjectEventIsFarawayIslandMew(objEvent) == TRUE && !ShouldMewShakeGrass(objEvent)) return; + + if (gSaveBlock2Ptr->follower.inProgress && objEvent == &gObjectEvents[gSaveBlock2Ptr->follower.objId] && objEvent->invisible == TRUE) + return; for (i = 0; i < ARRAY_COUNT(sGroundEffectFuncs); i++, flags >>= 1) if (flags & 1) @@ -8428,10 +9323,19 @@ static const s8 sJumpY_Normal[] = { -9, -8, -6, -5, -3, -2, 0, 0 }; +#if FAST_FOLLOWERS == TRUE +static const s8 sJumpY_Quick[] = { + -2, -4, -6, -8, -6, -4, -2, 0, 0 +}; +#endif + static const s8 *const sJumpYTable[] = { [JUMP_TYPE_HIGH] = sJumpY_High, [JUMP_TYPE_LOW] = sJumpY_Low, - [JUMP_TYPE_NORMAL] = sJumpY_Normal + [JUMP_TYPE_NORMAL] = sJumpY_Normal, +#if FAST_FOLLOWERS == TRUE + [JUMP_TYPE_QUICK] = sJumpY_Quick, +#endif }; static s16 GetJumpY(s16 i, u8 type) @@ -8457,16 +9361,35 @@ static u8 DoJumpSpriteMovement(struct Sprite *sprite) [JUMP_DISTANCE_IN_PLACE] = 16, [JUMP_DISTANCE_NORMAL] = 16, [JUMP_DISTANCE_FAR] = 32, + #if FAST_FOLLOWERS == TRUE + [JUMP_DISTANCE_FAR_QUICK] = 16, + [JUMP_DISTANCE_FAR_QUICKER] = 8, + #endif }; u8 distanceToShift[] = { [JUMP_DISTANCE_IN_PLACE] = 0, [JUMP_DISTANCE_NORMAL] = 0, [JUMP_DISTANCE_FAR] = 1, + #if FAST_FOLLOWERS == TRUE + [JUMP_DISTANCE_FAR_QUICK] = 1, + [JUMP_DISTANCE_FAR_QUICKER] = 0, + #endif }; u8 result = 0; if (sprite->sDistance != JUMP_DISTANCE_IN_PLACE) +#if FAST_FOLLOWERS == TRUE + { + if (sprite->sDistance == JUMP_DISTANCE_FAR_QUICKER) + Step4(sprite, sprite->sDirection); + else if (sprite->sDistance == JUMP_DISTANCE_FAR_QUICK) + Step2(sprite, sprite->sDirection); + else + Step1(sprite, sprite->sDirection); + } +#else Step1(sprite, sprite->sDirection); +#endif sprite->y2 = GetJumpY(sprite->sTimer >> distanceToShift[sprite->sDistance], sprite->sJumpType); @@ -8621,7 +9544,7 @@ void TurnVirtualObject(u8 virtualObjId, u8 direction) StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(direction)); } -void SetVirtualObjectGraphics(u8 virtualObjId, u8 graphicsId) +void SetVirtualObjectGraphics(u8 virtualObjId, u16 graphicsId) { int spriteId = GetVirtualObjectSpriteId(virtualObjId); @@ -8799,6 +9722,42 @@ u8 (*const gMovementActionFuncs_FlyDown[])(struct ObjectEvent *, struct Sprite * MovementAction_Fly_Finish, }; +u8 (*const gMovementActionFuncs_FollowingPokemon[])(struct ObjectEvent *, struct Sprite *) = { + MovementAction_FollowingPokemon_Step0, +}; + +u8 (*const gMovementActionFuncs_FollowingPokemon_FaceSouth[])(struct ObjectEvent *, struct Sprite *) = { + MovementAction_FollowingPokemon_FaceSouth_Step0, + MovementAction_Finish, +}; + +u8 (*const gMovementActionFuncs_FollowingPokemon_FaceNorth[])(struct ObjectEvent *, struct Sprite *) = { + MovementAction_FollowingPokemon_FaceNorth_Step0, + MovementAction_Finish, +}; + +u8 (*const gMovementActionFuncs_FollowingPokemon_FaceWest[])(struct ObjectEvent *, struct Sprite *) = { + MovementAction_FollowingPokemon_FaceWest_Step0, + MovementAction_Finish, +}; + +u8 (*const gMovementActionFuncs_FollowingPokemon_FaceEast[])(struct ObjectEvent *, struct Sprite *) = { + MovementAction_FollowingPokemon_FaceEast_Step0, + MovementAction_Finish, +}; + +u8 (*const gMovementActionFuncs_FollowingPokemon_Shrink[])(struct ObjectEvent *, struct Sprite *) = { + MovementAction_FollowingPokemon_Shrink_Step0, + MovementAction_FollowingPokemon_Shrink_Step1, + MovementAction_Finish, +}; + +u8 (*const gMovementActionFuncs_FollowingPokemon_Grow[])(struct ObjectEvent *, struct Sprite *) = { + MovementAction_FollowingPokemon_Grow_Step0, + MovementAction_FollowingPokemon_Grow_Step1, + MovementAction_Finish, +}; + u8 MovementAction_LockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { bool32 ableToStore = FALSE; @@ -8967,8 +9926,610 @@ u8 MovementAction_FlyDown_Step1(struct ObjectEvent *objectEvent, struct Sprite * return FALSE; } +u8 MovementAction_FollowingPokemon_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + switch(sprite->animNum % 4) + { + case 0: + case 1: + sprite->x2 = 0; + break; + case 2: + sprite->x2 = 8; + break; + case 3: + sprite->x2 = -8; + break; + } + if(sprite->data[7] != 1) + { + sprite->data[7] = 1; + sprite->animPaused = FALSE; + if(sprite->animNum > 3) + sprite->animNum = sprite->animNum % 4; + SeekSpriteAnim(sprite, ++sprite->animCmdIndex); + } + + return ArePlayerFieldControlsLocked(); +} + +void RecreateObjectEvent(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + u8 newSpriteId; + struct ObjectEventTemplate clone; + struct ObjectEvent backupFollower = *objectEvent; + backupFollower.graphicsId = objectEvent->graphicsId; + DestroySprite(sprite); + RemoveObjectEvent(objectEvent); + + clone = *GetObjectEventTemplateByLocalIdAndMap(objectEvent->localId, objectEvent->mapNum, objectEvent->mapGroup); + clone.graphicsId = objectEvent->graphicsId; + + objectEvent = &gObjectEvents[TrySpawnObjectEventTemplate(&clone, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, clone.x, clone.y)]; + newSpriteId = objectEvent->spriteId; + *objectEvent = backupFollower; + objectEvent->spriteId = newSpriteId; +} + +u8 MovementAction_FollowingPokemon_FaceSouth_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + SetObjectEventDirection(objectEvent, DIR_SOUTH); + RecreateObjectEvent(objectEvent, sprite); + sprite->animNum = 0; + sprite->x2 = 0; + MoveObjectEventToMapCoords(objectEvent, objectEvent->currentCoords.x, objectEvent->currentCoords.y); + sprite->data[2]++; + return FALSE; +} + +u8 MovementAction_FollowingPokemon_FaceNorth_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + SetObjectEventDirection(objectEvent, DIR_NORTH); + RecreateObjectEvent(objectEvent, sprite); + sprite->animNum = 1; + sprite->x2 = 0; + MoveObjectEventToMapCoords(objectEvent, objectEvent->currentCoords.x, objectEvent->currentCoords.y); + sprite->data[2]++; + return FALSE; +} + +u8 MovementAction_FollowingPokemon_FaceWest_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + SetObjectEventDirection(objectEvent, DIR_WEST); + RecreateObjectEvent(objectEvent, sprite); + sprite->animNum = 2; + sprite->x2 = 8; + MoveObjectEventToMapCoords(objectEvent, objectEvent->currentCoords.x, objectEvent->currentCoords.y); + sprite->data[2]++; + return FALSE; +} + +u8 MovementAction_FollowingPokemon_FaceEast_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + SetObjectEventDirection(objectEvent, DIR_EAST); + RecreateObjectEvent(objectEvent, sprite); + sprite->animNum = 3; + sprite->x2 = -8; + MoveObjectEventToMapCoords(objectEvent, objectEvent->currentCoords.x, objectEvent->currentCoords.y); + sprite->data[2]++; + return FALSE; +} + +static void PokeballCallback(struct Sprite *sprite) +{ + if (++sprite->data[0] == 21) + DestroySprite(sprite); +} + +u8 MovementAction_FollowingPokemon_Shrink_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + s16 x = objectEvent->currentCoords.x; + s16 y = objectEvent->currentCoords.y; + u8 spriteId; + bool8 playerPriority; + + sprite->data[7] = 1; + sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(sprite); + + if (objectEvent->facingDirection == DIR_EAST && GetObjectEventGraphicsInfo(objectEvent->graphicsId)->anims != gObjectEventImageAnimTable_FollowingPokemon_UniqueEast && objectEvent->graphicsId != OBJ_EVENT_GFX_KRABBY) + StartSpriteAffineAnim(sprite, 2); + else + StartSpriteAffineAnim(sprite, 0); + + if (y == gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y) // If follower is to the east or west of player + { + SetSpritePosToOffsetMapCoords(&x, &y, 8, 8); + playerPriority = FALSE; + } + else if (y < gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y) // If follower is north of player + { + SetSpritePosToOffsetMapCoords(&x, &y, 8, 4); + playerPriority = TRUE; + } + else // If follower is south of player + { + SetSpritePosToOffsetMapCoords(&x, &y, 8, 0); + playerPriority = FALSE; + } + + switch(GetMonData(&gPlayerParty[GetLeadMonNotFaintedIndex()], MON_DATA_POKEBALL)) + { + case ITEM_MASTER_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_MASTER_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_ULTRA_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_ULTRA_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_GREAT_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_GREAT_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_SAFARI_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_SAFARI_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_NET_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_NET_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_DIVE_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_DIVE_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_NEST_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_NEST_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_REPEAT_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_REPEAT_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_TIMER_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_TIMER_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_LUXURY_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_LUXURY_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_PREMIER_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_PREMIER_BALL, &PokeballCallback, x, y, 2); + break; + #ifdef ITEM_EXPANSION + case ITEM_HEAL_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_HEAL_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_DUSK_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_DUSK_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_QUICK_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_QUICK_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_LEVEL_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_LEVEL_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_LURE_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_LURE_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_MOON_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_MOON_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_FRIEND_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_FRIEND_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_LOVE_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_LOVE_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_FAST_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_FAST_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_HEAVY_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_HEAVY_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_DREAM_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_DREAM_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_SPORT_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_SPORT_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_PARK_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_PARK_BALL, &PokeballCallback, x, y, 2); + break; + case ITEM_CHERISH_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_CHERISH_BALL, &PokeballCallback, x, y, 2); + break; + #endif + default: // PokeBall + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_ITEM_BALL, &PokeballCallback, x, y, 2); + break; + } + + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 2; + gSprites[spriteId].data[0] = 0; + } + + if (playerPriority) + { + gSprites[gPlayerAvatar.spriteId].oam.priority = 1; + gSprites[gPlayerAvatar.spriteId].subpriority = 1; + gObjectEvents[gPlayerAvatar.objectEventId].fixedPriority = TRUE; + } + + sprite->oam.priority = 1; + sprite->subpriority = 1; + + objectEvent->hasShadow = FALSE; + sprite->data[2]++; + return FALSE; +} + +u8 MovementAction_FollowingPokemon_Shrink_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + sprite->data[7]++; + + if (objectEvent->currentCoords.x > gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x) // east side + { + switch(objectEvent->facingDirection) + { + case DIR_EAST: + if (sprite->data[7] < 8) + sprite->x2 += sprite->data[7] - 1; + else + sprite->x2 += 7; + break; + case DIR_WEST: + if (sprite->data[7] <= 5) + { + if (sprite->data[7] > 3) + sprite->x2 += 1 - sprite->data[7]; + else + sprite->x2 -= sprite->data[7]; + } + else if (sprite->data[7] == 6) + sprite->x2 += -5; + else + sprite->x2 += 1 - sprite->data[7]; + break; + } + + // Adjust the height of the 64x64 sprites differently + if (IsBigSprite(objectEvent->graphicsId)) + { + if (sprite->data[7] < 3) + sprite->y2 = sprite->data[7] * 2 + 1; + else if (sprite->data[7] < 5) + sprite->y2 = sprite->data[7] * 2 + 2; + else if (sprite->data[7] < 6) + sprite->y2 = sprite->data[7] * 2 + 3; + else if (sprite->data[7] < 8) + sprite->y2 = sprite->data[7] * 2 + 4; + else if (sprite->data[7] < 9) + sprite->y2 = sprite->data[7] * 2 + 5; + else + sprite->y2 = sprite->data[7] * 2 + 6; + } + else + { + if (sprite->data[7] >= 10) + sprite->y2 = 10; + else + sprite->y2 = sprite->data[7]; + } + } + else if (objectEvent->currentCoords.x < gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x) // west side + { + switch(objectEvent->facingDirection) + { + case DIR_EAST: + if (sprite->data[7] <= 5) + { + if (sprite->data[7] > 3) + sprite->x2 -= 2 - sprite->data[7]; + else + sprite->x2 += sprite->data[7] - 1; + } + else if (sprite->data[7] == 6) + sprite->x2 -= -4; + else + sprite->x2 -= 2 - sprite->data[7]; + break; + case DIR_WEST: + if (sprite->data[7] < 9) + sprite->x2 -= sprite->data[7] - 1; + else + sprite->x2 -= 8; + break; + } + + // Adjust the height of the 64x64 sprites differently + if (IsBigSprite(objectEvent->graphicsId)) + { + if (sprite->data[7] < 3) + sprite->y2 = sprite->data[7] * 2 + 1; + else if (sprite->data[7] < 5) + sprite->y2 = sprite->data[7] * 2 + 2; + else if (sprite->data[7] < 6) + sprite->y2 = sprite->data[7] * 2 + 3; + else if (sprite->data[7] < 8) + sprite->y2 = sprite->data[7] * 2 + 4; + else if (sprite->data[7] < 9) + sprite->y2 = sprite->data[7] * 2 + 5; + else + sprite->y2 = sprite->data[7] * 2 + 6; + } + else + { + if (sprite->data[7] >= 10) + sprite->y2 = 10; + else + sprite->y2 = sprite->data[7]; + } + } + else if (objectEvent->currentCoords.y > gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y) // south side + { + switch(objectEvent->facingDirection) + { + case DIR_EAST: + if (sprite->data[7] < 7) + sprite->x2 += sprite->data[7] - 1; + else + sprite->x2 += 6; + break; + case DIR_WEST: + if (sprite->data[7] < 8) + sprite->x2 -= sprite->data[7] - 1; + else + sprite->x2 -= 7; + break; + } + + // Adjust the height of the 64x64 sprites differently + if (IsBigSprite(objectEvent->graphicsId)) + { + if (sprite->data[7] < 3) + sprite->y2 = sprite->data[7] + 3; + else if (sprite->data[7] < 5) + sprite->y2 = sprite->data[7] + 4; + else if (sprite->data[7] < 6) + sprite->y2 = sprite->data[7] + 5; + else if (sprite->data[7] < 8) + sprite->y2 = sprite->data[7] + 6; + else if (sprite->data[7] < 9) + sprite->y2 = sprite->data[7] + 7; + else + sprite->y2 = sprite->data[7] + 8; + } + else + sprite->y2 = 1; + } + else // north side + { + switch(objectEvent->facingDirection) + { + case DIR_EAST: + if (sprite->data[7] < 7) + sprite->x2 += sprite->data[7] - 1; + else + sprite->x2 += 6; + break; + case DIR_WEST: + if (sprite->data[7] < 8) + sprite->x2 -= sprite->data[7] - 1; + else + sprite->x2 -= 7; + break; + } + + // Adjust the height of the 64x64 sprites differently + if (IsBigSprite(objectEvent->graphicsId)) + { + if (sprite->data[7] < 5) + sprite->y2 = sprite->data[7] * 2 + 1; + else if (sprite->data[7] < 8) + sprite->y2 = sprite->data[7] * 2 + 2; + else + sprite->y2 = sprite->data[7] * 2 + 3; + } + else + { + if (sprite->data[7] < 6) + sprite->y2 = sprite->data[7]; + else + sprite->y2 = 6; + } + } + + if (sprite->data[7] >= 11) + { + FreeSpriteOamMatrix(sprite); + gObjectEvents[gPlayerAvatar.objectEventId].fixedPriority = FALSE; + gPlayerAvatar.preventStep = FALSE; + objectEvent->invisible = TRUE; + sprite->data[2]++; + } + + objectEvent->hasShadow = FALSE; + return FALSE; +} + +u8 MovementAction_FollowingPokemon_Grow_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + sprite->data[7] = 11; + sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(sprite); + + if (gObjectEvents[gPlayerAvatar.objectEventId].facingDirection == DIR_EAST && GetObjectEventGraphicsInfo(objectEvent->graphicsId)->anims != gObjectEventImageAnimTable_FollowingPokemon_UniqueEast && objectEvent->graphicsId != OBJ_EVENT_GFX_KRABBY) + StartSpriteAffineAnim(sprite, 3); + else + StartSpriteAffineAnim(sprite, 1); + + switch(gObjectEvents[gPlayerAvatar.objectEventId].facingDirection) + { + case DIR_SOUTH: + sprite->y2 = 6; + sprite->x2 = 0; + break; + case DIR_NORTH: + sprite->y2 = 1; + sprite->x2 = 0; + break; + case DIR_EAST: + sprite->y2 = 10; + sprite->x2 += 9; + break; + case DIR_WEST: + sprite->y2 = 10; + sprite->x2 -= 9; + break; + } + sprite->data[2]++; + return FALSE; +} + +u8 MovementAction_FollowingPokemon_Grow_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + sprite->data[7]--; + + if (sprite->data[7] == 10) + gObjectEvents[gSaveBlock2Ptr->follower.objId].invisible = FALSE; + + switch(gObjectEvents[gPlayerAvatar.objectEventId].facingDirection) + { + case DIR_SOUTH: + if (sprite->data[7] < 6) + sprite->y2 = sprite->data[7]; + else + sprite->y2 = 6; + break; + case DIR_NORTH: + sprite->y2 = 1; + break; + case DIR_WEST: + if (sprite->data[7] <= 5) + { + if (sprite->data[7] > 3) + sprite->x2 += 1 - sprite->data[7]; + else + sprite->x2 -= sprite->data[7]; + } + else if (sprite->data[7] == 6) + sprite->x2 += -5; + else + sprite->x2 += 1 - sprite->data[7]; + + if (sprite->data[7] >= 10) + sprite->y2 = 10; + else + sprite->y2 = sprite->data[7]; + + break; + case DIR_EAST: + if (sprite->data[7] <= 5) + { + if (sprite->data[7] > 3) + sprite->x2 -= 2 - sprite->data[7]; + else + sprite->x2 += sprite->data[7] - 1; + } + else if (sprite->data[7] == 6) + sprite->x2 -= -4; + else + sprite->x2 -= 2 - sprite->data[7]; + + if (sprite->data[7] >= 10) + sprite->y2 = 10; + else + sprite->y2 = sprite->data[7]; + + break; + } + + // Adjust the height of the 64x64 sprites differently + if (IsBigSprite(objectEvent->graphicsId)) + { + if (sprite->data[7] > 9) + sprite->y2 -= (11 - sprite->data[7]) + 2; + else if (sprite->data[7] > 7) + sprite->y2 -= (11 - sprite->data[7]) + 3; + else if (sprite->data[7] > 6) + sprite->y2 -= (11 - sprite->data[7]) + 4; + else if (sprite->data[7] > 4) + sprite->y2 -= (11 - sprite->data[7]) + 5; + else if (sprite->data[7] > 3) + sprite->y2 -= (11 - sprite->data[7]) + 6; + else + sprite->y2 -= (11 - sprite->data[7]) + 7; + } + + if (sprite->data[7] <= 1) + { + // Set y2 of the 64x64 sprites back to 0, and compensate with y. + if (IsBigSprite(objectEvent->graphicsId)) + { + sprite->y -= 16; + sprite->y2 = 0; + } + + FreeSpriteOamMatrix(sprite); + + // Make sure water ripples at the feet of the follower if they are appearing on top of shallow water. + if (MetatileBehavior_IsShallowFlowingWater(MapGridGetMetatileBehaviorAt(objectEvent->currentCoords.x, objectEvent->currentCoords.y))) + { + objectEvent->inShallowFlowingWater = TRUE; + StartFieldEffectForObjectEvent(FLDEFF_FEET_IN_FLOWING_WATER, objectEvent); + } + gPlayerAvatar.preventStep = FALSE; + + // Account for warps in scripts where the follower needs to pop out of a pokeball afterwards + if (gSaveBlock2Ptr->follower.createSurfBlob == 2) + { + sprite->data[7] = 0; + gSaveBlock2Ptr->follower.createSurfBlob = 0; + switch(gObjectEvents[gPlayerAvatar.objectEventId].facingDirection) + { + case DIR_SOUTH: + ObjectEventForceSetHeldMovement(objectEvent, MOVEMENT_ACTION_FOLLOWING_POKEMON_FACESOUTH); + break; + case DIR_NORTH: + ObjectEventForceSetHeldMovement(objectEvent, MOVEMENT_ACTION_FOLLOWING_POKEMON_FACENORTH); + break; + case DIR_WEST: + ObjectEventForceSetHeldMovement(objectEvent, MOVEMENT_ACTION_FOLLOWING_POKEMON_FACEWEST); + break; + case DIR_EAST: + ObjectEventForceSetHeldMovement(objectEvent, MOVEMENT_ACTION_FOLLOWING_POKEMON_FACEEAST); + break; + } + } + sprite->data[2]++; + } + + return FALSE; +} + // though this function returns TRUE without doing anything, this header is required due to being in an array of functions which needs it. u8 MovementAction_Fly_Finish(struct ObjectEvent *objectEvent, struct Sprite *sprite) { return TRUE; } + +// NEW +u16 GetMiniStepCount(u8 speed) +{ + return (u16)sStepTimes[speed]; +} + +void RunMiniStep(struct Sprite *sprite, u8 speed, u8 currentFrame) +{ + sNpcStepFuncTables[speed][currentFrame](sprite, sprite->data[3]); +} + +bool8 PlayerIsUnderWaterfall(struct ObjectEvent *objectEvent) +{ + s16 x; + s16 y; + + x = objectEvent->currentCoords.x; + y = objectEvent->currentCoords.y; + MoveCoordsInDirection(DIR_NORTH, &x, &y, 0, 1); + if (MetatileBehavior_IsWaterfall(MapGridGetMetatileBehaviorAt(x, y))) + return TRUE; + + return FALSE; +} diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index b784a2ab8..040224eb4 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -29,6 +29,7 @@ #include "trainer_see.h" #include "trainer_hill.h" #include "wild_encounter.h" +#include "follow_me.h" #include "constants/event_bg.h" #include "constants/event_objects.h" #include "constants/field_poison.h" @@ -61,8 +62,8 @@ static s8 GetWarpEventAtMapPosition(struct MapHeader *, struct MapPosition *); static void SetupWarp(struct MapHeader *, s8, struct MapPosition *); static bool8 TryDoorWarp(struct MapPosition *, u16, u8); static s8 GetWarpEventAtPosition(struct MapHeader *, u16, u16, u8); -static u8 *GetCoordEventScriptAtPosition(struct MapHeader *, u16, u16, u8); -static struct BgEvent *GetBackgroundEventAtPosition(struct MapHeader *, u16, u16, u8); +static const u8 *GetCoordEventScriptAtPosition(struct MapHeader *, u16, u16, u8); +static const struct BgEvent *GetBackgroundEventAtPosition(struct MapHeader *, u16, u16, u8); static bool8 TryStartCoordEventScript(struct MapPosition *); static bool8 TryStartWarpEventScript(struct MapPosition *, u16); static bool8 TryStartMiscWalkingScripts(u16); @@ -165,9 +166,18 @@ int ProcessPlayerFieldInput(struct FieldInput *input) { IncrementGameStat(GAME_STAT_STEPS); IncrementBirthIslandRockStepCount(); + if (TryStartStepBasedScript(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; } + else if(gSaveBlock2Ptr->follower.inProgress && gSaveBlock2Ptr->follower.createSurfBlob != 2) + { + // Keep the follower bouncing, unless we're dealing with a follower coming out of a pokeball after a scripted warp. + // Need to stop bouncing to run the grow-out-of-pokeball animation + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSaveBlock2Ptr->follower.objId]); + ObjectEventSetHeldMovement(&gObjectEvents[gSaveBlock2Ptr->follower.objId], 0x9E); + } + if (input->checkStandardWildEncounter && CheckStandardWildEncounter(metatileBehavior) == TRUE) return TRUE; if (input->heldDirection && input->dpadDirection == playerDirection) @@ -325,6 +335,13 @@ static const u8 *GetInteractedObjectEventScript(struct MapPosition *position, u8 if (InTrainerHill() == TRUE) script = GetTrainerHillTrainerScript(); + else if (objectEventId == GetFollowerObjectId())//(gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_FOLLOWER) + { + if(gObjectEvents[objectEventId].invisible == FALSE) + script = GetFollowerScriptPointer(); + else + return NULL; + } else script = GetObjectEventScriptPointerByObjectEventId(objectEventId); @@ -334,7 +351,7 @@ static const u8 *GetInteractedObjectEventScript(struct MapPosition *position, u8 static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position, u8 metatileBehavior, u8 direction) { - struct BgEvent *bgEvent = GetBackgroundEventAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation); + const struct BgEvent *bgEvent = GetBackgroundEventAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation); if (bgEvent == NULL) return NULL; @@ -516,7 +533,7 @@ static bool8 TryStartStepBasedScript(struct MapPosition *position, u16 metatileB static bool8 TryStartCoordEventScript(struct MapPosition *position) { - u8 *script = GetCoordEventScriptAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation); + const u8 *script = GetCoordEventScriptAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation); if (script == NULL) return FALSE; @@ -885,7 +902,7 @@ static bool8 TryDoorWarp(struct MapPosition *position, u16 metatileBehavior, u8 static s8 GetWarpEventAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 elevation) { s32 i; - struct WarpEvent *warpEvent = mapHeader->events->warps; + const struct WarpEvent *warpEvent = mapHeader->events->warps; u8 warpCount = mapHeader->events->warpCount; for (i = 0; i < warpCount; i++, warpEvent++) @@ -899,7 +916,7 @@ static s8 GetWarpEventAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 e return WARP_ID_NONE; } -static u8 *TryRunCoordEventScript(struct CoordEvent *coordEvent) +static const u8 *TryRunCoordEventScript(const struct CoordEvent *coordEvent) { if (coordEvent != NULL) { @@ -919,10 +936,10 @@ static u8 *TryRunCoordEventScript(struct CoordEvent *coordEvent) return NULL; } -static u8 *GetCoordEventScriptAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 elevation) +static const u8 *GetCoordEventScriptAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 elevation) { s32 i; - struct CoordEvent *coordEvents = mapHeader->events->coordEvents; + const struct CoordEvent *coordEvents = mapHeader->events->coordEvents; u8 coordEventCount = mapHeader->events->coordEventCount; for (i = 0; i < coordEventCount; i++) @@ -931,7 +948,7 @@ static u8 *GetCoordEventScriptAtPosition(struct MapHeader *mapHeader, u16 x, u16 { if (coordEvents[i].elevation == elevation || coordEvents[i].elevation == 0) { - u8 *script = TryRunCoordEventScript(&coordEvents[i]); + const u8 *script = TryRunCoordEventScript(&coordEvents[i]); if (script != NULL) return script; } @@ -940,15 +957,15 @@ static u8 *GetCoordEventScriptAtPosition(struct MapHeader *mapHeader, u16 x, u16 return NULL; } -u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position) +const u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position) { return GetCoordEventScriptAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation); } -static struct BgEvent *GetBackgroundEventAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 elevation) +static const struct BgEvent *GetBackgroundEventAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 elevation) { u8 i; - struct BgEvent *bgEvents = mapHeader->events->bgEvents; + const struct BgEvent *bgEvents = mapHeader->events->bgEvents; u8 bgEventCount = mapHeader->events->bgEventCount; for (i = 0; i < bgEventCount; i++) diff --git a/src/field_effect.c b/src/field_effect.c index b5880b3fc..52fa8d894 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1,8 +1,10 @@ #include "global.h" #include "decompress.h" +#include "event_data.h" #include "event_object_movement.h" #include "field_camera.h" #include "field_control_avatar.h" +#include "field_door.h" #include "field_effect.h" #include "field_effect_helpers.h" #include "field_player_avatar.h" @@ -26,6 +28,7 @@ #include "trainer_pokemon_sprites.h" #include "trig.h" #include "util.h" +#include "follow_me.h" #include "constants/field_effects.h" #include "constants/event_object_movement.h" #include "constants/metatile_behaviors.h" @@ -35,9 +38,11 @@ #define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))} EWRAM_DATA s32 gFieldEffectArguments[8] = {0}; +EWRAM_DATA u16 gReflectionPaletteBuffer[0x10] = {0}; // Static type declarations +extern void FollowMe_WarpSetEnd(void); static void Task_PokecenterHeal(u8 taskId); static void PokecenterHealEffect_Init(struct Task *); static void PokecenterHealEffect_WaitForBallPlacement(struct Task *); @@ -782,6 +787,7 @@ void FieldEffectScript_LoadFadedPalette(u8 **script) { struct SpritePalette *palette = (struct SpritePalette *)FieldEffectScript_ReadWord(script); LoadSpritePalette(palette); + UpdatePaletteGammaType(IndexOfSpritePaletteTag(palette->tag), COLOR_MAP_DARK_CONTRAST); UpdateSpritePaletteWithWeather(IndexOfSpritePaletteTag(palette->tag)); (*script) += 4; } @@ -1366,8 +1372,32 @@ static void Task_UseFly(u8 taskId) gFieldEffectArguments[0] = 0; FieldEffectStart(FLDEFF_USE_FLY); + + #if FAST_FOLLOWERS == TRUE + if (FlagGet(FLAG_FOLLOWER_IN_BUILDING)) + { + // In case the player just exited a building and the follower has not exited the building + FlagClear(FLAG_FOLLOWER_IN_BUILDING); + gSaveBlock2Ptr->follower.comeOutDoorStairs = 0; + gSaveBlock2Ptr->follower.warpEnd = 0; + FieldAnimateDoorClose(gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x, gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y - 1); + } + else + FollowerIntoPokeball(); + #else + if (gSaveBlock2Ptr->follower.inProgress) + { + // In case the player just exited a building and the follower has not exited the building + gSaveBlock2Ptr->follower.comeOutDoorStairs = 0; + gSaveBlock2Ptr->follower.warpEnd = 0; + + FollowerIntoPokeball(); + } + #endif + task->data[0]++; } + if (!FieldEffectActiveListContains(FLDEFF_USE_FLY)) { Overworld_ResetStateAfterFly(); @@ -1546,6 +1576,7 @@ static bool8 FallWarpEffect_End(struct Task *task) UnfreezeObjectEvents(); InstallCameraPanAheadCallback(); DestroyTask(FindTaskIdByFunc(Task_FallWarpFieldEffect)); + FollowMe_WarpSetEnd(); return FALSE; } @@ -1597,6 +1628,7 @@ static bool8 EscalatorWarpOut_WaitForPlayer(struct Task *task) task->tState++; task->data[2] = 0; task->data[3] = 0; + EscalatorMoveFollower(task->data[1]); if ((u8)task->tGoingUp == FALSE) { task->tState = 4; // jump to EscalatorWarpOut_Down_Ride @@ -1894,6 +1926,7 @@ static bool8 WaterfallFieldEffect_ContinueRideOrEnd(struct Task *task, struct Ob gPlayerAvatar.preventStep = FALSE; DestroyTask(FindTaskIdByFunc(Task_UseWaterfall)); FieldEffectActiveListRemove(FLDEFF_USE_WATERFALL); + FollowMe_WarpSetEnd(); return FALSE; } @@ -2280,6 +2313,31 @@ static void EscapeRopeWarpOutEffect_Spin(struct Task *task) else if (task->tSpinDelay == 0 || (--task->tSpinDelay) == 0) { ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(spinDirections[objectEvent->facingDirection])); + + if (gSaveBlock2Ptr->follower.inProgress) + { + ObjectEventClearHeldMovement(&gObjectEvents[gSaveBlock2Ptr->follower.objId]); + switch(objectEvent->facingDirection) + { + case DIR_SOUTH: + gSprites[gObjectEvents[gSaveBlock2Ptr->follower.objId].spriteId].x2 = 0; + ObjectEventSetHeldMovement(&gObjectEvents[gSaveBlock2Ptr->follower.objId], 25); + break; + case DIR_NORTH: + gSprites[gObjectEvents[gSaveBlock2Ptr->follower.objId].spriteId].x2 = 0; + ObjectEventSetHeldMovement(&gObjectEvents[gSaveBlock2Ptr->follower.objId], 26); + break; + case DIR_WEST: + gSprites[gObjectEvents[gSaveBlock2Ptr->follower.objId].spriteId].x2 = 8; + ObjectEventSetHeldMovement(&gObjectEvents[gSaveBlock2Ptr->follower.objId], 27); + break; + case DIR_EAST: + gSprites[gObjectEvents[gSaveBlock2Ptr->follower.objId].spriteId].x2 = -8; + ObjectEventSetHeldMovement(&gObjectEvents[gSaveBlock2Ptr->follower.objId], 28); + break; + } + } + if (task->tNumTurns < 12) task->tNumTurns++; task->tSpinDelay = 8 >> (task->tNumTurns >> 2); @@ -3021,6 +3079,28 @@ static void SurfFieldEffect_FieldMovePose(struct Task *task) SetPlayerAvatarFieldMove(); ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); task->tState++; + + #if FAST_FOLLOWERS == TRUE + if (FlagGet(FLAG_FOLLOWER_IN_BUILDING)) + { + // in case the follower hasn't left a warp yet + FlagClear(FLAG_FOLLOWER_IN_BUILDING); + gSaveBlock2Ptr->follower.comeOutDoorStairs = 0; + gSaveBlock2Ptr->follower.warpEnd = 0; + FieldAnimateDoorClose(gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x, gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y - 1); + } + else + FollowerIntoPokeball(); + #else + if (gSaveBlock2Ptr->follower.inProgress) + { + // in case the follower hasn't left a warp yet + gSaveBlock2Ptr->follower.comeOutDoorStairs = 0; + gSaveBlock2Ptr->follower.warpEnd = 0; + + FollowerIntoPokeball(); + } + #endif } } @@ -3114,10 +3194,13 @@ u8 FldEff_RayquazaSpotlight(void) u8 FldEff_NPCFlyOut(void) { - u8 spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_BIRD], 0x78, 0, 1); - struct Sprite *sprite = &gSprites[spriteId]; + u8 spriteId; + struct Sprite *sprite; + + LoadFieldEffectPalette(FLDEFFOBJ_BIRD); + spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_BIRD], 0x78, 0, 1); + sprite = &gSprites[spriteId]; - sprite->oam.paletteNum = 0; sprite->oam.priority = 1; sprite->callback = SpriteCB_NPCFlyOut; sprite->data[1] = gFieldEffectArguments[0]; @@ -3297,9 +3380,10 @@ static u8 CreateFlyBirdSprite(void) { u8 spriteId; struct Sprite *sprite; + + LoadFieldEffectPalette(FLDEFFOBJ_BIRD); spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_BIRD], 0xff, 0xb4, 0x1); sprite = &gSprites[spriteId]; - sprite->oam.paletteNum = 0; sprite->oam.priority = 1; sprite->callback = SpriteCB_FlyBirdLeaveBall; return spriteId; diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c old mode 100755 new mode 100644 index 9421aaf27..69d3341bc --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -7,18 +7,18 @@ #include "fieldmap.h" #include "gpu_regs.h" #include "metatile_behavior.h" +#include "palette.h" #include "sound.h" #include "sprite.h" #include "trig.h" #include "constants/field_effects.h" #include "constants/songs.h" +#include "constants/rgb.h" #define OBJ_EVENT_PAL_TAG_NONE 0x11FF // duplicate of define in event_object_movement.c static void UpdateObjectReflectionSprite(struct Sprite *); static void LoadObjectReflectionPalette(struct ObjectEvent *objectEvent, struct Sprite *sprite); -static void LoadObjectHighBridgeReflectionPalette(struct ObjectEvent *, u8); -static void LoadObjectRegularReflectionPalette(struct ObjectEvent *, u8); static void UpdateGrassFieldEffectSubpriority(struct Sprite *, u8, u8); static void FadeFootprintsTireTracks_Step0(struct Sprite *); static void FadeFootprintsTireTracks_Step1(struct Sprite *); @@ -30,7 +30,13 @@ static void SynchroniseSurfAnim(struct ObjectEvent *, struct Sprite *); static void SynchroniseSurfPosition(struct ObjectEvent *, struct Sprite *); static void UpdateBobbingEffect(struct ObjectEvent *, struct Sprite *, struct Sprite *); static void SpriteCB_UnderwaterSurfBlob(struct Sprite *); -static u32 ShowDisguiseFieldEffect(u8, u8, u8); +static u32 ShowDisguiseFieldEffect(u8, u8); +static void LoadFieldEffectPalette_(u8 fieldEffect, bool8 updateGammaType); +static void LoadObjectRegularReflectionPalette(struct ObjectEvent *objectEvent, u8 paletteIndex); + +void LoadSpecialReflectionPalette(struct Sprite *sprite); + +extern u16 gReflectionPaletteBuffer[]; // Used by several field effects to determine which of a group it is #define sFldEff data[1] @@ -47,7 +53,6 @@ void SetUpReflection(struct ObjectEvent *objectEvent, struct Sprite *sprite, boo reflectionSprite = &gSprites[CreateCopySpriteAt(sprite, sprite->x, sprite->y, 0x98)]; reflectionSprite->callback = UpdateObjectReflectionSprite; reflectionSprite->oam.priority = 3; - reflectionSprite->oam.paletteNum = gReflectionEffectPaletteMap[reflectionSprite->oam.paletteNum]; reflectionSprite->usingSheet = TRUE; reflectionSprite->anims = gDummySpriteAnimTable; StartSpriteAnim(reflectionSprite, 0); @@ -68,6 +73,8 @@ static s16 GetReflectionVerticalOffset(struct ObjectEvent *objectEvent) return GetObjectEventGraphicsInfo(objectEvent->graphicsId)->height - 2; } +#define OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION 0x1102 + static void LoadObjectReflectionPalette(struct ObjectEvent *objectEvent, struct Sprite *reflectionSprite) { u8 bridgeType; @@ -81,30 +88,46 @@ static void LoadObjectReflectionPalette(struct ObjectEvent *objectEvent, struct && ((bridgeType = MetatileBehavior_GetBridgeType(objectEvent->previousMetatileBehavior)) || (bridgeType = MetatileBehavior_GetBridgeType(objectEvent->currentMetatileBehavior)))) { + // When walking on a bridge high above water (Route 120), the reflection is a solid dark blue color. + // This is so the sprite blends in with the dark water metatile underneath the bridge. reflectionSprite->sReflectionVerticalOffset = bridgeReflectionVerticalOffsets[bridgeType - 1]; - LoadObjectHighBridgeReflectionPalette(objectEvent, reflectionSprite->oam.paletteNum); + LoadObjectEventPalette(OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION); + reflectionSprite->oam.paletteNum = IndexOfSpritePaletteTag(OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION); + UpdatePaletteGammaType(reflectionSprite->oam.paletteNum, COLOR_MAP_DARK_CONTRAST); + UpdateSpritePaletteWithWeather(reflectionSprite->oam.paletteNum); } else { - LoadObjectRegularReflectionPalette(objectEvent, reflectionSprite->oam.paletteNum); + LoadSpecialReflectionPalette(reflectionSprite); } } -static void LoadObjectRegularReflectionPalette(struct ObjectEvent *objectEvent, u8 paletteIndex) +void LoadSpecialReflectionPalette(struct Sprite *sprite) { - const struct ObjectEventGraphicsInfo *graphicsInfo; + u32 R, G, B, i; + u16 color; + u16* pal; + struct SpritePalette reflectionPalette; - graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); - if (graphicsInfo->reflectionPaletteTag != OBJ_EVENT_PAL_TAG_NONE) - { - if (graphicsInfo->paletteSlot == PALSLOT_PLAYER) - LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, paletteIndex); - else if (graphicsInfo->paletteSlot == PALSLOT_NPC_SPECIAL) - LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, paletteIndex); - else - PatchObjectPalette(GetObjectPaletteTag(paletteIndex), paletteIndex); - UpdateSpritePaletteWithWeather(paletteIndex); - } + CpuCopy16(&gPlttBufferUnfaded[0x100 + sprite->oam.paletteNum * 16], gReflectionPaletteBuffer, 32); + pal = gReflectionPaletteBuffer; + for (i = 0; i < 16; ++i) + { + color = pal[i]; + R = GET_R(color) + 8; + G = GET_G(color) + 8; + B = GET_B(color) + 16; + if (R > 31) R = 31; + if (G > 31) G = 31; + if (B > 31) B = 31; + pal[i] = RGB(R, G, B); + } + reflectionPalette.data = gReflectionPaletteBuffer; + reflectionPalette.tag = GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum) + 0x1000; + LoadSpritePalette(&reflectionPalette); + sprite->oam.paletteNum = IndexOfSpritePaletteTag(reflectionPalette.tag); + UpdatePaletteGammaType(sprite->oam.paletteNum, COLOR_MAP_CONTRAST); + UpdateSpritePaletteWithWeather(sprite->oam.paletteNum); } // When walking on a bridge high above water (Route 120), the reflection is a solid dark blue color. @@ -134,7 +157,6 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite) } else { - reflectionSprite->oam.paletteNum = gReflectionEffectPaletteMap[mainSprite->oam.paletteNum]; reflectionSprite->oam.shape = mainSprite->oam.shape; reflectionSprite->oam.size = mainSprite->oam.size; reflectionSprite->oam.matrixNum = mainSprite->oam.matrixNum | ST_OAM_VFLIP; @@ -177,6 +199,7 @@ u8 CreateWarpArrowSprite(void) u8 spriteId; struct Sprite *sprite; + LoadFieldEffectPalette_(FLDEFFOBJ_ARROW, FALSE); spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_ARROW], 0, 0, 0x52); if (spriteId != MAX_SPRITES) { @@ -235,6 +258,7 @@ u32 FldEff_Shadow(void) objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId); + LoadFieldEffectPalette_(sShadowEffectTemplateIds[graphicsInfo->shadowSize], FALSE); spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[sShadowEffectTemplateIds[graphicsInfo->shadowSize]], 0, 0, 0x94); if (spriteId != MAX_SPRITES) { @@ -489,6 +513,7 @@ u32 FldEff_JumpLongGrass(void) struct Sprite *sprite; SetSpritePosToOffsetMapCoords((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + LoadFieldEffectPalette(FLDEFFOBJ_SURF_BLOB); spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_JUMP_LONG_GRASS], gFieldEffectArguments[0], gFieldEffectArguments[1], 0); if (spriteId != MAX_SPRITES) { @@ -579,6 +604,60 @@ u32 FldEff_SandFootprints(void) return 0; } +u32 FldEff_TracksBug(void) +{ + u8 spriteId; + struct Sprite *sprite; + + SetSpritePosToOffsetMapCoords((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_TRACKS_BUG], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[7] = FLDEFF_TRACKS_BUG; + StartSpriteAnim(sprite, gFieldEffectArguments[4]); + } + return 0; +} + +u32 FldEff_TracksSpot(void) +{ + u8 spriteId; + struct Sprite *sprite; + + SetSpritePosToOffsetMapCoords((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_TRACKS_SPOT], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[7] = FLDEFF_TRACKS_SPOT; + StartSpriteAnim(sprite, gFieldEffectArguments[4]); + } + return 0; +} + +u32 FldEff_TracksSlither(void) +{ + u8 spriteId; + struct Sprite *sprite; + + SetSpritePosToOffsetMapCoords((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_TRACKS_SLITHER], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[7] = FLDEFF_TRACKS_SLITHER; + StartSpriteAnim(sprite, gFieldEffectArguments[4]); + } + return spriteId; +} + u32 FldEff_DeepSandFootprints(void) { u8 spriteId; @@ -663,6 +742,7 @@ u32 FldEff_Splash(void) sprite = &gSprites[spriteId]; sprite->coordOffsetEnabled = TRUE; linkedSprite = &gSprites[objectEvent->spriteId]; + sprite->subpriority = linkedSprite->subpriority - 1; sprite->oam.priority = linkedSprite->oam.priority; sprite->data[0] = gFieldEffectArguments[0]; sprite->data[1] = gFieldEffectArguments[1]; @@ -760,7 +840,8 @@ static void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *sprite) struct Sprite *linkedSprite; struct ObjectEvent *objectEvent; - if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId) || !gObjectEvents[objectEventId].inShallowFlowingWater) + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId) || !gObjectEvents[objectEventId].inShallowFlowingWater + || (gObjectEvents[objectEventId].invisible && objectEventId == gSaveBlock2Ptr->follower.objId && gSaveBlock2Ptr->follower.inProgress)) { FieldEffectStop(sprite, FLDEFF_FEET_IN_FLOWING_WATER); } @@ -1014,7 +1095,6 @@ u32 FldEff_SurfBlob(void) { sprite = &gSprites[spriteId]; sprite->coordOffsetEnabled = TRUE; - sprite->oam.paletteNum = 0; sprite->tPlayerObjId = gFieldEffectArguments[2]; sprite->data[3] = -1; sprite->data[6] = -1; @@ -1291,13 +1371,13 @@ u32 FldEff_BerryTreeGrowthSparkle(void) struct Sprite *sprite; SetSpritePosToOffsetMapCoords((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 4); + LoadFieldEffectPalette(FLDEFFOBJ_SPARKLE); spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_SPARKLE], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); if (spriteId != MAX_SPRITES) { sprite = &gSprites[spriteId]; sprite->coordOffsetEnabled = TRUE; sprite->oam.priority = gFieldEffectArguments[3]; - sprite->oam.paletteNum = 5; sprite->data[0] = FLDEFF_BERRY_TREE_GROWTH_SPARKLE; } return 0; @@ -1312,20 +1392,20 @@ u32 FldEff_BerryTreeGrowthSparkle(void) u32 ShowTreeDisguiseFieldEffect(void) { - return ShowDisguiseFieldEffect(FLDEFF_TREE_DISGUISE, FLDEFFOBJ_TREE_DISGUISE, 4); + return ShowDisguiseFieldEffect(FLDEFF_TREE_DISGUISE, FLDEFFOBJ_TREE_DISGUISE); } u32 ShowMountainDisguiseFieldEffect(void) { - return ShowDisguiseFieldEffect(FLDEFF_MOUNTAIN_DISGUISE, FLDEFFOBJ_MOUNTAIN_DISGUISE, 3); + return ShowDisguiseFieldEffect(FLDEFF_MOUNTAIN_DISGUISE, FLDEFFOBJ_MOUNTAIN_DISGUISE); } u32 ShowSandDisguiseFieldEffect(void) { - return ShowDisguiseFieldEffect(FLDEFF_SAND_DISGUISE, FLDEFFOBJ_SAND_DISGUISE, 2); + return ShowDisguiseFieldEffect(FLDEFF_SAND_DISGUISE, FLDEFFOBJ_SAND_DISGUISE); } -static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 fldEffObj, u8 paletteNum) +static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx) { u8 spriteId; struct Sprite *sprite; @@ -1335,12 +1415,12 @@ static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 fldEffObj, u8 paletteNum) FieldEffectActiveListRemove(fldEff); return MAX_SPRITES; } - spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[fldEffObj], 0, 0, 0); + LoadFieldEffectPalette(templateIdx); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[templateIdx], 0, 0, 0); if (spriteId != MAX_SPRITES) { sprite = &gSprites[spriteId]; sprite->coordOffsetEnabled ++; - sprite->oam.paletteNum = paletteNum; sprite->sFldEff = fldEff; sprite->sLocalId = gFieldEffectArguments[0]; sprite->sMapNum = gFieldEffectArguments[1]; @@ -1687,6 +1767,24 @@ static void UpdateGrassFieldEffectSubpriority(struct Sprite *sprite, u8 elevatio } } +static void LoadFieldEffectPalette_(u8 fieldEffect, bool8 updateGammaType) +{ + const struct SpriteTemplate *spriteTemplate; + + spriteTemplate = gFieldEffectObjectTemplatePointers[fieldEffect]; + if (spriteTemplate->paletteTag != 0xffff) + { + LoadObjectEventPalette(spriteTemplate->paletteTag); + if (updateGammaType) + UpdatePaletteGammaType(IndexOfSpritePaletteTag(spriteTemplate->paletteTag), COLOR_MAP_DARK_CONTRAST); + } +} + +void LoadFieldEffectPalette(u8 fieldEffect) +{ + LoadFieldEffectPalette_(fieldEffect, TRUE); +} + // Unused, duplicates of data in event_object_movement.c static const s8 sFigure8XOffsets[FIGURE_8_LENGTH] = { 1, 2, 2, 2, 2, 2, 2, 2, diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 0f087799e..1c93f2706 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -20,6 +20,7 @@ #include "strings.h" #include "task.h" #include "tv.h" +#include "follow_me.h" #include "wild_encounter.h" #include "constants/abilities.h" #include "constants/event_objects.h" @@ -610,6 +611,9 @@ static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) { if (collision == COLLISION_LEDGE_JUMP) { + if (gSaveBlock2Ptr->follower.inProgress && gObjectEvents[gSaveBlock2Ptr->follower.objId].invisible == TRUE) + gSaveBlock2Ptr->follower.delayedState = MOVEMENT_ACTION_JUMP_2_DOWN; + FollowerPokeballSparkle(); PlayerJumpLedge(direction); return; } @@ -637,12 +641,14 @@ static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_UNDERWATER) && (heldKeys & B_BUTTON) && FlagGet(FLAG_SYS_B_DASH) && IsRunningDisallowed(gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior) == 0) { + FollowerPokeballSparkle(); PlayerRun(direction); gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_DASH; return; } else { + FollowerPokeballSparkle(); PlayerWalkNormal(direction); } } @@ -1212,32 +1218,32 @@ void StopPlayerAvatar(void) } } -u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender) +u16 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender) { return sRivalAvatarGfxIds[state][gender]; } -u8 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender) +u16 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender) { return sPlayerAvatarGfxIds[state][gender]; } -u8 GetFRLGAvatarGraphicsIdByGender(u8 gender) +u16 GetFRLGAvatarGraphicsIdByGender(u8 gender) { return sFRLGAvatarGfxIds[gender]; } -u8 GetRSAvatarGraphicsIdByGender(u8 gender) +u16 GetRSAvatarGraphicsIdByGender(u8 gender) { return sRSAvatarGfxIds[gender]; } -u8 GetPlayerAvatarGraphicsIdByStateId(u8 state) +u16 GetPlayerAvatarGraphicsIdByStateId(u8 state) { return GetPlayerAvatarGraphicsIdByStateIdAndGender(state, gPlayerAvatar.gender); } -u8 unref_GetRivalAvatarGenderByGraphicsId(u8 gfxId) +u8 unref_GetRivalAvatarGenderByGraphicsId(u16 gfxId) { switch (gfxId) { @@ -1255,7 +1261,7 @@ u8 unref_GetRivalAvatarGenderByGraphicsId(u8 gfxId) } } -u8 GetPlayerAvatarGenderByGraphicsId(u8 gfxId) +u8 GetPlayerAvatarGenderByGraphicsId(u16 gfxId) { switch (gfxId) { @@ -1324,7 +1330,7 @@ void SetPlayerAvatarStateMask(u8 flags) gPlayerAvatar.flags |= flags; } -static u8 GetPlayerAvatarStateTransitionByGraphicsId(u8 graphicsId, u8 gender) +static u8 GetPlayerAvatarStateTransitionByGraphicsId(u16 graphicsId, u8 gender) { u8 i; @@ -1336,7 +1342,7 @@ static u8 GetPlayerAvatarStateTransitionByGraphicsId(u8 graphicsId, u8 gender) return PLAYER_AVATAR_FLAG_ON_FOOT; } -u8 GetPlayerAvatarGraphicsIdByCurrentState(void) +u16 GetPlayerAvatarGraphicsIdByCurrentState(void) { u8 i; u8 flags = gPlayerAvatar.flags; @@ -1349,7 +1355,7 @@ u8 GetPlayerAvatarGraphicsIdByCurrentState(void) return 0; } -void SetPlayerAvatarExtraStateTransition(u8 graphicsId, u8 transitionFlag) +void SetPlayerAvatarExtraStateTransition(u16 graphicsId, u8 transitionFlag) { u8 stateFlag = GetPlayerAvatarStateTransitionByGraphicsId(graphicsId, gPlayerAvatar.gender); @@ -1387,6 +1393,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) gPlayerAvatar.spriteId = objectEvent->spriteId; gPlayerAvatar.gender = gender; SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_CONTROLLABLE | PLAYER_AVATAR_FLAG_ON_FOOT); + CreateFollowerAvatar(); } void SetPlayerInvisibility(bool8 invisible) diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 616444116..ce4d3ed2f 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -27,6 +27,7 @@ #include "sound.h" #include "start_menu.h" #include "task.h" +#include "follow_me.h" #include "text.h" #include "constants/event_object_movement.h" #include "constants/event_objects.h" @@ -42,8 +43,6 @@ static void FillPalBufferWhite(void); static void Task_ExitDoor(u8); static bool32 WaitForWeatherFadeIn(void); static void Task_SpinEnterWarp(u8 taskId); -static void Task_WarpAndLoadMap(u8 taskId); -static void Task_DoDoorWarp(u8 taskId); static void Task_EnableScriptAfterMusicFade(u8 taskId); // data[0] is used universally by tasks in this file as a state for switches @@ -111,7 +110,7 @@ void WarpFadeOutScreen(void) } } -static void SetPlayerVisibility(bool8 visible) +void SetPlayerVisibility(bool8 visible) { SetPlayerInvisibility(!visible); } @@ -275,6 +274,7 @@ void FieldCB_DefaultWarpExit(void) Overworld_PlaySpecialMapMusic(); WarpFadeInScreen(); SetUpWarpExitTask(); + FollowMe_WarpSetEnd(); LockPlayerFieldControls(); } @@ -323,6 +323,7 @@ static void Task_ExitDoor(u8 taskId) switch (task->tState) { case 0: + HideFollower(); SetPlayerVisibility(FALSE); FreezeObjectEvents(); PlayerGetDestCoords(x, y); @@ -343,15 +344,26 @@ static void Task_ExitDoor(u8 taskId) if (IsPlayerStandingStill()) { u8 objEventId; - task->data[1] = FieldAnimateDoorClose(*x, *y); + + #if FAST_FOLLOWERS == TRUE + if (!gSaveBlock2Ptr->follower.inProgress) + #endif + task->data[1] = FieldAnimateDoorClose(*x, *y); + objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]); task->tState = 3; } break; case 3: + #if FAST_FOLLOWERS == TRUE + if (gSaveBlock2Ptr->follower.inProgress || task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) + #else if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) + #endif { + FollowMe_SetIndicatorToComeOutDoor(); + FollowMe_WarpSetEnd(); UnfreezeObjectEvents(); task->tState = 4; } @@ -359,6 +371,12 @@ static void Task_ExitDoor(u8 taskId) case 4: UnlockPlayerFieldControls(); DestroyTask(taskId); + + #if FAST_FOLLOWERS == TRUE + if (gSaveBlock2Ptr->follower.inProgress) + FlagSet(FLAG_FOLLOWER_IN_BUILDING); + #endif + break; } } @@ -372,6 +390,7 @@ static void Task_ExitNonAnimDoor(u8 taskId) switch (task->tState) { case 0: + HideFollower(); SetPlayerVisibility(FALSE); FreezeObjectEvents(); PlayerGetDestCoords(x, y); @@ -390,6 +409,8 @@ static void Task_ExitNonAnimDoor(u8 taskId) case 2: if (IsPlayerStandingStill()) { + FollowMe_SetIndicatorToComeOutDoor(); + FollowMe_WarpSetEnd(); UnfreezeObjectEvents(); task->tState = 3; } @@ -414,6 +435,11 @@ static void Task_ExitNonDoor(u8 taskId) if (WaitForWeatherFadeIn()) { UnfreezeObjectEvents(); + + // Account for follower exiting pokeball after scripted warp + if (gSaveBlock2Ptr->follower.createSurfBlob != 2) + gSaveBlock2Ptr->follower.comeOutDoorStairs = 2; + UnlockPlayerFieldControls(); DestroyTask(taskId); } @@ -643,7 +669,7 @@ void ReturnFromLinkRoom(void) CreateTask(Task_ReturnToWorldFromLinkRoom, 10); } -static void Task_WarpAndLoadMap(u8 taskId) +void Task_WarpAndLoadMap(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -674,59 +700,6 @@ static void Task_WarpAndLoadMap(u8 taskId) } } -static void Task_DoDoorWarp(u8 taskId) -{ - struct Task *task = &gTasks[taskId]; - s16 *x = &task->data[2]; - s16 *y = &task->data[3]; - - switch (task->tState) - { - case 0: - FreezeObjectEvents(); - PlayerGetDestCoords(x, y); - PlaySE(GetDoorSoundEffect(*x, *y - 1)); - task->data[1] = FieldAnimateDoorOpen(*x, *y - 1); - task->tState = 1; - break; - case 1: - if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) - { - u8 objEventId; - objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); - ObjectEventClearHeldMovementIfActive(&gObjectEvents[objEventId]); - objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); - ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_UP); - task->tState = 2; - } - break; - case 2: - if (IsPlayerStandingStill()) - { - u8 objEventId; - task->data[1] = FieldAnimateDoorClose(*x, *y - 1); - objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); - ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]); - SetPlayerVisibility(FALSE); - task->tState = 3; - } - break; - case 3: - if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) - { - task->tState = 4; - } - break; - case 4: - TryFadeOutOldMapMusic(); - WarpFadeOutScreen(); - PlayRainStoppingSoundEffect(); - task->tState = 0; - task->func = Task_WarpAndLoadMap; - break; - } -} - static void Task_DoContestHallWarp(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1010,6 +983,7 @@ static void Task_SpinEnterWarp(u8 taskId) case 1: if (WaitForWeatherFadeIn() && IsPlayerSpinEntranceActive() != TRUE) { + //FollowMe_WarpSetEnd(); UnfreezeObjectEvents(); UnlockPlayerFieldControls(); DestroyTask(taskId); diff --git a/src/field_specials.c b/src/field_specials.c index 6fdec2a5f..91a629902 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -101,9 +101,9 @@ void SetPlayerGotFirstFans(void); u16 GetNumFansOfPlayerInTrainerFanClub(void); static void RecordCyclingRoadResults(u32, u8); -static void LoadLinkPartnerObjectEventSpritePalette(u8, u8, u8); -static void Task_PetalburgGymSlideOpenRoomDoors(u8); -static void PetalburgGymSetDoorMetatiles(u8, u16); +static void LoadLinkPartnerObjectEventSpritePalette(u16 graphicsId, u8 localEventId, u8 paletteNum); +static void Task_PetalburgGymSlideOpenRoomDoors(u8 taskId); +static void PetalburgGymSetDoorMetatiles(u8 roomNumber, u16 metatileId); static void Task_PCTurnOnEffect(u8); static void PCTurnOnEffect(struct Task *); static void PCTurnOnEffect_SetMetatile(s16, s8, s8); @@ -513,7 +513,7 @@ void SpawnLinkPartnerObjectEvent(void) }; u8 myLinkPlayerNumber; u8 playerFacingDirection; - u8 linkSpriteId; + u16 linkSpriteId; u8 i; myLinkPlayerNumber = GetMultiplayerId(); @@ -574,7 +574,7 @@ void SpawnLinkPartnerObjectEvent(void) } } -static void LoadLinkPartnerObjectEventSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum) +static void LoadLinkPartnerObjectEventSpritePalette(u16 graphicsId, u8 localEventId, u8 paletteNum) { u8 adjustedPaletteNum; // Note: This temp var is necessary; paletteNum += 6 doesn't match. @@ -1548,6 +1548,21 @@ u8 GetLeadMonIndex(void) return 0; } +u8 GetLeadMonNotFaintedIndex(void) +{ + u8 i; + u8 partyCount = CalculatePlayerPartyCount(); + for(i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES_OR_EGG, NULL) != 0 + && GetMonData(&gPlayerParty[i], MON_DATA_HP, NULL) != 0) + { + return i; + } + } + return 0; +} + u16 ScriptGetPartyMonSpecies(void) { return GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES_OR_EGG, NULL); diff --git a/src/field_weather.c b/src/field_weather.c index 92863dee5..c8d02da68 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -19,13 +19,6 @@ #define DROUGHT_COLOR_INDEX(color) ((((color) >> 1) & 0xF) | (((color) >> 2) & 0xF0) | (((color) >> 3) & 0xF00)) -enum -{ - COLOR_MAP_NONE, - COLOR_MAP_DARK_CONTRAST, - COLOR_MAP_CONTRAST, -}; - struct RGBColor { u16 r:5; @@ -111,7 +104,7 @@ void (*const gWeatherPalStateFuncs[])(void) = // This table specifies which of the color maps should be // applied to each of the background and sprite palettes. -static const u8 sBasePaletteColorMapTypes[32] = +EWRAM_DATA u8 sBasePaletteColorMapTypes[32] = { // background palettes COLOR_MAP_DARK_CONTRAST, @@ -155,11 +148,10 @@ void StartWeather(void) { if (!FuncIsActiveTask(Task_WeatherMain)) { - u8 index = AllocSpritePalette(PALTAG_WEATHER); + u8 index = 15; CpuCopy32(gFogPalette, &gPlttBufferUnfaded[0x100 + index * 16], 32); BuildColorMaps(); gWeatherPtr->contrastColorMapSpritePalIndex = index; - gWeatherPtr->weatherPicSpritePalIndex = AllocSpritePalette(PALTAG_WEATHER_2); gWeatherPtr->rainSpriteCount = 0; gWeatherPtr->curRainSpriteIndex = 0; gWeatherPtr->cloudSpritesCreated = 0; @@ -279,6 +271,9 @@ static void BuildColorMaps(void) u16 baseBrightness; u32 remainingBrightness; s16 diff; + + for (i = 0; i <= 12; i++) + sBasePaletteColorMapTypes[i] = COLOR_MAP_DARK_CONTRAST; sPaletteColorMapTypes = sBasePaletteColorMapTypes; for (i = 0; i < 2; i++) @@ -864,10 +859,10 @@ static bool8 IsFirstFrameOfWeatherFadeIn(void) return FALSE; } -void LoadCustomWeatherSpritePalette(const u16 *palette) +void LoadCustomWeatherSpritePalette(const struct SpritePalette *palette) { - LoadPalette(palette, OBJ_PLTT_ID(gWeatherPtr->weatherPicSpritePalIndex), PLTT_SIZE_4BPP); - UpdateSpritePaletteWithWeather(gWeatherPtr->weatherPicSpritePalIndex); + LoadSpritePalette(palette); + UpdateSpritePaletteWithWeather(IndexOfSpritePaletteTag(palette->tag)); } static void LoadDroughtWeatherPalette(u8 *palsIndex, u8 *palsOffset) @@ -1109,3 +1104,9 @@ void ResetPreservedPalettesInWeather(void) { sPaletteColorMapTypes = sBasePaletteColorMapTypes; } + +void UpdatePaletteGammaType(u8 index, u8 gammaType) +{ + if (index != 0xFF) + sBasePaletteColorMapTypes[index + 16] = gammaType; +} diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 05eae421e..32ceabbad 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -29,6 +29,10 @@ const u8 gWeatherAshTiles[] = INCBIN_U8("graphics/weather/ash.4bpp"); const u8 gWeatherRainTiles[] = INCBIN_U8("graphics/weather/rain.4bpp"); const u8 gWeatherSandstormTiles[] = INCBIN_U8("graphics/weather/sandstorm.4bpp"); +const struct SpritePalette sFogSpritePalette = {gFogPalette, 0x1201}; +const struct SpritePalette sCloudsSpritePalette = {gCloudsWeatherPalette, 0x1207}; +const struct SpritePalette sSandstormSpritePalette = {gSandstormWeatherPalette, 0x1204}; + //------------------------------------------------------------------------------ // WEATHER_SUNNY_CLOUDS //------------------------------------------------------------------------------ @@ -84,7 +88,7 @@ static const union AnimCmd *const sCloudSpriteAnimCmds[] = static const struct SpriteTemplate sCloudSpriteTemplate = { .tileTag = GFXTAG_CLOUD, - .paletteTag = PALTAG_WEATHER_2, + .paletteTag = 0x1207, .oam = &sCloudSpriteOamData, .anims = sCloudSpriteAnimCmds, .images = NULL, @@ -180,7 +184,7 @@ static void CreateCloudSprites(void) return; LoadSpriteSheet(&sCloudSpriteSheet); - LoadCustomWeatherSpritePalette(gCloudsWeatherPalette); + LoadCustomWeatherSpritePalette(&sCloudsSpritePalette); for (i = 0; i < NUM_CLOUD_SPRITES; i++) { spriteId = CreateSprite(&sCloudSpriteTemplate, 0, 0, 0xFF); @@ -213,7 +217,7 @@ static void DestroyCloudSprites(void) DestroySprite(gWeatherPtr->sprites.s1.cloudSprites[i]); } - FreeSpriteTilesByTag(GFXTAG_CLOUD); + FreeSpriteTilesByTag(0x1207); gWeatherPtr->cloudSpritesCreated = FALSE; } @@ -1483,6 +1487,7 @@ static void CreateFogHorizontalSprites(void) sprite->x = (i % 5) * 64 + 32; sprite->y = (i / 5) * 64 + 32; gWeatherPtr->sprites.s2.fogHSprites[i] = sprite; + sprite->oam.paletteNum = gWeatherPtr->contrastColorMapSpritePalIndex; } else { @@ -1641,7 +1646,7 @@ static const union AnimCmd *const sAshSpriteAnimCmds[] = static const struct SpriteTemplate sAshSpriteTemplate = { .tileTag = GFXTAG_ASH, - .paletteTag = PALTAG_WEATHER, + .paletteTag = 0x1201, .oam = &sAshSpriteOamData, .anims = sAshSpriteAnimCmds, .images = NULL, @@ -1662,6 +1667,7 @@ static void CreateAshSprites(void) if (!gWeatherPtr->ashSpritesCreated) { + LoadCustomWeatherSpritePalette(&sFogSpritePalette); for (i = 0; i < NUM_ASH_SPRITES; i++) { spriteId = CreateSpriteAtEnd(&sAshSpriteTemplate, 0, 0, 0x4E); @@ -1858,7 +1864,7 @@ static const union AnimCmd *const sFogDiagonalSpriteAnimCmds[] = static const struct SpriteTemplate sFogDiagonalSpriteTemplate = { .tileTag = GFXTAG_FOG_D, - .paletteTag = PALTAG_WEATHER, + .paletteTag = 0x1201, .oam = &sFogDiagonalSpriteOamData, .anims = sFogDiagonalSpriteAnimCmds, .images = NULL, @@ -1880,6 +1886,7 @@ static void CreateFogDiagonalSprites(void) { fogDiagonalSpriteSheet = sFogDiagonalSpriteSheet; LoadSpriteSheet(&fogDiagonalSpriteSheet); + LoadCustomWeatherSpritePalette(&sFogSpritePalette); for (i = 0; i < NUM_FOG_DIAGONAL_SPRITES; i++) { spriteId = CreateSpriteAtEnd(&sFogDiagonalSpriteTemplate, 0, (i / 5) * 64, 0xFF); @@ -2105,7 +2112,7 @@ static const union AnimCmd *const sSandstormSpriteAnimCmds[] = static const struct SpriteTemplate sSandstormSpriteTemplate = { .tileTag = GFXTAG_SANDSTORM, - .paletteTag = PALTAG_WEATHER_2, + .paletteTag = 0x1204, .oam = &sSandstormSpriteOamData, .anims = sSandstormSpriteAnimCmds, .images = NULL, @@ -2138,7 +2145,7 @@ static void CreateSandstormSprites(void) if (!gWeatherPtr->sandstormSpritesCreated) { LoadSpriteSheet(&sSandstormSpriteSheet); - LoadCustomWeatherSpritePalette(gSandstormWeatherPalette); + LoadCustomWeatherSpritePalette(&sSandstormSpritePalette); for (i = 0; i < NUM_SANDSTORM_SPRITES; i++) { spriteId = CreateSpriteAtEnd(&sSandstormSpriteTemplate, 0, (i / 5) * 64, 1); diff --git a/src/fieldmap.c b/src/fieldmap.c index 89d6b602c..df4db47b5 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -36,7 +36,7 @@ struct BackupMapLayout gBackupMapLayout; static const struct ConnectionFlags sDummyConnectionFlags = {0}; static void InitMapLayoutData(struct MapHeader *mapHeader); -static void InitBackupMapLayoutData(u16 *map, u16 width, u16 height); +static void InitBackupMapLayoutData(const u16 *map, u16 width, u16 height); static void FillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); static void FillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); static void FillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); @@ -44,14 +44,14 @@ static void FillEastConnection(struct MapHeader const *mapHeader, struct MapHead static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader); static void LoadSavedMapView(void); static bool8 SkipCopyingMetatileFromSavedMap(u16 *mapBlock, u16 mapWidth, u8 yMode); -static struct MapConnection *GetIncomingConnection(u8 direction, int x, int y); -static bool8 IsPosInIncomingConnectingMap(u8 direction, int x, int y, struct MapConnection *connection); +static const struct MapConnection *GetIncomingConnection(u8 direction, int x, int y); +static bool8 IsPosInIncomingConnectingMap(u8 direction, int x, int y, const struct MapConnection *connection); static bool8 IsCoordInIncomingConnectingMap(int coord, int srcMax, int destMax, int offset); #define GetBorderBlockAt(x, y)({ \ u16 block; \ int i; \ - u16 *border = gMapHeader.mapLayout->border; \ + const u16 *border = gMapHeader.mapLayout->border; /* Unused, they read it again below */ \ \ i = (x + 1) & 1; \ i += ((y + 1) & 1) * 2; \ @@ -63,7 +63,7 @@ static bool8 IsCoordInIncomingConnectingMap(int coord, int srcMax, int destMax, #define GetMapGridBlockAt(x, y) (AreCoordsWithinMapGridBounds(x, y) ? gBackupMapLayout.map[x + gBackupMapLayout.width * y] : GetBorderBlockAt(x, y)) -struct MapHeader const *const GetMapHeaderFromConnection(struct MapConnection *connection) +const struct MapHeader *const GetMapHeaderFromConnection(const struct MapConnection *connection) { return Overworld_GetMapHeaderByGroupAndId(connection->mapGroup, connection->mapNum); } @@ -116,7 +116,7 @@ static void InitMapLayoutData(struct MapHeader *mapHeader) } } -static void InitBackupMapLayoutData(u16 *map, u16 width, u16 height) +static void InitBackupMapLayoutData(const u16 *map, u16 width, u16 height) { u16 *dest; int y; @@ -133,7 +133,7 @@ static void InitBackupMapLayoutData(u16 *map, u16 width, u16 height) static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader) { int count; - struct MapConnection *connection; + const struct MapConnection *connection; int i; if (mapHeader->connections) @@ -171,7 +171,7 @@ static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader) static void FillConnection(int x, int y, struct MapHeader const *connectedMapHeader, int x2, int y2, int width, int height) { int i; - u16 *src; + const u16 *src; u16 *dest; int mapWidth; @@ -619,7 +619,7 @@ bool32 CanCameraMoveInDirection(int direction) return TRUE; } -static void SetPositionFromConnection(struct MapConnection *connection, int direction, int x, int y) +static void SetPositionFromConnection(const struct MapConnection *connection, int direction, int x, int y) { struct MapHeader const *mapHeader; mapHeader = GetMapHeaderFromConnection(connection); @@ -647,7 +647,7 @@ static void SetPositionFromConnection(struct MapConnection *connection, int dire bool8 CameraMove(int x, int y) { int direction; - struct MapConnection *connection; + const struct MapConnection *connection; int old_x, old_y; gCamera.active = FALSE; direction = GetPostCameraMoveMapBorderId(x, y); @@ -675,11 +675,11 @@ bool8 CameraMove(int x, int y) return gCamera.active; } -static struct MapConnection *GetIncomingConnection(u8 direction, int x, int y) +static const struct MapConnection *GetIncomingConnection(u8 direction, int x, int y) { int count; int i; - struct MapConnection *connection; + const struct MapConnection *connection; const struct MapConnections *connections = gMapHeader.connections; #ifdef UBFIX // UB: Multiple possible null dereferences @@ -696,7 +696,7 @@ static struct MapConnection *GetIncomingConnection(u8 direction, int x, int y) return NULL; } -static bool8 IsPosInIncomingConnectingMap(u8 direction, int x, int y, struct MapConnection *connection) +static bool8 IsPosInIncomingConnectingMap(u8 direction, int x, int y, const struct MapConnection *connection) { struct MapHeader const *mapHeader; mapHeader = GetMapHeaderFromConnection(connection); @@ -737,7 +737,7 @@ static int IsCoordInConnectingMap(int coord, int max) return FALSE; } -static int IsPosInConnectingMap(struct MapConnection *connection, int x, int y) +static int IsPosInConnectingMap(const struct MapConnection *connection, int x, int y) { struct MapHeader const *mapHeader; mapHeader = GetMapHeaderFromConnection(connection); @@ -753,10 +753,10 @@ static int IsPosInConnectingMap(struct MapConnection *connection, int x, int y) return FALSE; } -struct MapConnection *GetMapConnectionAtPos(s16 x, s16 y) +const struct MapConnection *GetMapConnectionAtPos(s16 x, s16 y) { int count; - struct MapConnection *connection; + const struct MapConnection *connection; int i; u8 direction; if (!gMapHeader.connections) diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index 27689b02e..4e4b7023b 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -27,7 +27,8 @@ static void Task_DoFieldMove_RunFunc(u8 taskId); static void FieldCallback_RockSmash(void); static void FieldMove_RockSmash(void); -bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId) +// text +bool8 CheckObjectGraphicsInFrontOfPlayer(u16 graphicsId) { u8 objEventId; diff --git a/src/follow_me.c b/src/follow_me.c new file mode 100644 index 000000000..31af6212e --- /dev/null +++ b/src/follow_me.c @@ -0,0 +1,1534 @@ +#include "global.h" +#include "follow_me.h" +#include "event_object_movement.h" +#include "field_door.h" +#include "field_effect.h" +#include "field_effect_helpers.h" +#include "field_player_avatar.h" +#include "field_control_avatar.h" +#include "field_screen_effect.h" +#include "field_weather.h" +#include "fieldmap.h" +#include "fldeff_misc.h" +#include "item.h" +#include "task.h" +#include "metatile_behavior.h" +#include "overworld.h" +#include "script.h" +#include "event_data.h" +#include "sound.h" +#include "trig.h" +#include "metatile_behavior.h" +#include "constants/event_object_movement.h" +#include "constants/event_objects.h" +#include "constants/songs.h" +#include "constants/map_types.h" +#include "constants/field_effects.h" +#include "constants/metatile_behaviors.h" +/* + -FollowMe_StairsMoveHook ? + -FollowMe_WarpStairsEndHook ? +*/ + +/* +Known Issues: + -follower gets messed up if you go into a map with a maximum number of event objects + -inherits incorrect palette, may get directionally confused +*/ + +// Defines +#define PLAYER_AVATAR_FLAG_BIKE PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE + +struct FollowerSpriteGraphics +{ + u16 normalId; + u16 machBikeId; + u16 acroBikeId; + u16 surfId; + u16 underwaterId; +}; + +// EWRAM +//EWRAM_DATA struct Follower gSaveBlock2Ptr->follower = {0}; + +// Function Declarations +static u8 GetFollowerMapObjId(void); +static u16 GetFollowerSprite(void); +static void TryUpdateFollowerSpriteUnderwater(void); +static void Task_ReallowPlayerMovement(u8 taskId); +static u8 DetermineFollowerDirection(struct ObjectEvent* player, struct ObjectEvent* follower); +static void PlayerLogCoordinates(struct ObjectEvent* player); +static u8 DetermineFollowerState(struct ObjectEvent* follower, u8 state, u8 direction); +static bool8 IsStateMovement(u8 state); +static u8 ReturnFollowerDelayedState(u8 direction); +static void SetSurfJump(void); +static void Task_BindSurfBlobToFollower(u8 taskId); +static void SetUpSurfBlobFieldEffect(struct ObjectEvent* npc); +static void SetSurfDismount(void); +static void Task_FinishSurfDismount(u8 taskId); +static void Task_FollowerOutOfDoor(u8 taskId); +static void Task_FollowerHandleIndoorStairs(u8 taskId); +static void Task_FollowerHandleEscalator(u8 taskId); +static void Task_FollowerHandleEscalatorFinish(u8 taskId); +static void CalculateFollowerEscalatorTrajectoryUp(struct Task *task); +static void CalculateFollowerEscalatorTrajectoryDown(struct Task *task); +static void TurnNPCIntoFollower(u8 localId, u16 followerFlags); + +// Const Data +static const struct FollowerSpriteGraphics gFollowerAlternateSprites[] = +{ + //FORMAT: + //{WALKING/RUNNING SPRITE ID, MACH BIKE SPRITE ID, ACRO BIKE SPRITE ID, SURFING SPRITE ID}, + [0] = + { + .normalId = OBJ_EVENT_GFX_RIVAL_MAY_NORMAL, + .machBikeId = OBJ_EVENT_GFX_RIVAL_MAY_MACH_BIKE, + .acroBikeId = OBJ_EVENT_GFX_RIVAL_MAY_ACRO_BIKE, + .surfId = OBJ_EVENT_GFX_RIVAL_MAY_SURFING, + .underwaterId = OBJ_EVENT_GFX_MAY_UNDERWATER, + }, + +}; + +// Functions +u8 GetFollowerObjectId(void) +{ + if (!gSaveBlock2Ptr->follower.inProgress) + return OBJECT_EVENTS_COUNT; + + return gSaveBlock2Ptr->follower.objId; +} + +u8 GetFollowerLocalId(void) +{ + if (!gSaveBlock2Ptr->follower.inProgress) + return 0; + + return gObjectEvents[gSaveBlock2Ptr->follower.objId].localId; +} + +const u8* GetFollowerScriptPointer(void) +{ + if (!gSaveBlock2Ptr->follower.inProgress) + return NULL; + + return gSaveBlock2Ptr->follower.script; +} + +void HideFollower(void) +{ + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + if (gSaveBlock2Ptr->follower.createSurfBlob == 2 || gSaveBlock2Ptr->follower.createSurfBlob == 3) + { + SetSurfBlob_BobState(gObjectEvents[GetFollowerMapObjId()].fieldEffectSpriteId, 2); + DestroySprite(&gSprites[gObjectEvents[GetFollowerMapObjId()].fieldEffectSpriteId]); + gObjectEvents[GetFollowerMapObjId()].fieldEffectSpriteId = 0; //Unbind + } + + gObjectEvents[GetFollowerMapObjId()].invisible = TRUE; +} + +/* +void IsFollowerStoppingRockClimb(void) +{ + gSpecialVar_Result = FALSE; + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + gSpecialVar_Result = (gSaveBlock2Ptr->follower.flags & FOLLOWER_FLAG_CAN_ROCK_CLIMB) == 0; +} +*/ + +void FollowMe_SetIndicatorToComeOutDoor(void) +{ + if (gSaveBlock2Ptr->follower.inProgress) + gSaveBlock2Ptr->follower.comeOutDoorStairs = 1; +} + +void FollowMe_SetIndicatorToRecreateSurfBlob(void) +{ + if (gSaveBlock2Ptr->follower.inProgress) + gSaveBlock2Ptr->follower.createSurfBlob = 2; +} + +void FollowMe_TryRemoveFollowerOnWhiteOut(void) +{ + if (gSaveBlock2Ptr->follower.inProgress) + { + if (gSaveBlock2Ptr->follower.flags & FOLLOWER_FLAG_CLEAR_ON_WHITE_OUT) + gSaveBlock2Ptr->follower.inProgress = FALSE; + else + FollowMe_WarpSetEnd(); + } +} + +static u8 GetFollowerMapObjId(void) +{ + return gSaveBlock2Ptr->follower.objId; +} + +static u16 GetFollowerSprite(void) +{ + u32 i; + + switch (gSaveBlock2Ptr->follower.currentSprite) + { + case FOLLOWER_SPRITE_INDEX_MACH_BIKE: + for (i = 0; i < NELEMS(gFollowerAlternateSprites); i++) + { + if (gFollowerAlternateSprites[i].normalId == gSaveBlock2Ptr->follower.graphicsId) + return gFollowerAlternateSprites[i].machBikeId; + } + break; + case FOLLOWER_SPRITE_INDEX_ACRO_BIKE: + for (i = 0; i < NELEMS(gFollowerAlternateSprites); i++) + { + if (gFollowerAlternateSprites[i].normalId == gSaveBlock2Ptr->follower.graphicsId) + return gFollowerAlternateSprites[i].acroBikeId; + } + break; + case FOLLOWER_SPRITE_INDEX_SURF: + for (i = 0; i < NELEMS(gFollowerAlternateSprites); i++) + { + if (gFollowerAlternateSprites[i].normalId == gSaveBlock2Ptr->follower.graphicsId) + return gFollowerAlternateSprites[i].surfId; + } + break; + case FOLLOWER_SPRITE_INDEX_UNDERWATER: + for (i = 0; i < NELEMS(gFollowerAlternateSprites); i++) + { + if (gFollowerAlternateSprites[i].normalId == gSaveBlock2Ptr->follower.graphicsId) + return gFollowerAlternateSprites[i].underwaterId; + } + break; + } + + return gSaveBlock2Ptr->follower.graphicsId; +} + +static void TryUpdateFollowerSpriteUnderwater(void) +{ + if (gMapHeader.mapType == MAP_TYPE_UNDERWATER) + { + struct ObjectEvent* follower = &gObjectEvents[GetFollowerMapObjId()]; + SetFollowerSprite(FOLLOWER_SPRITE_INDEX_UNDERWATER); + + follower = &gObjectEvents[GetFollowerMapObjId()]; //Can change on reload sprite + follower->fieldEffectSpriteId = StartUnderwaterSurfBlobBobbing(follower->spriteId); + } +} + +//Actual Follow Me +void FollowMe(struct ObjectEvent* npc, u8 state, bool8 ignoreScriptActive) +{ + struct ObjectEvent* player = &gObjectEvents[gPlayerAvatar.objectEventId]; + struct ObjectEvent* follower = &gObjectEvents[GetFollowerMapObjId()]; + u8 dir; + u8 newState; + u8 taskId; + + if (player != npc) //Only when the player moves + return; + else if (!gSaveBlock2Ptr->follower.inProgress) + return; + else if (ArePlayerFieldControlsLocked() && !ignoreScriptActive) + return; //Don't follow during a script + + + // fix post-surf jump + if ((gSaveBlock2Ptr->follower.currentSprite == FOLLOWER_SPRITE_INDEX_SURF) && !(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) && follower->fieldEffectSpriteId == 0) + { + SetFollowerSprite(FOLLOWER_SPRITE_INDEX_NORMAL); + gSaveBlock2Ptr->follower.createSurfBlob = 0; + } + + //Check if state would cause hidden follower to reappear + if (IsStateMovement(state) && gSaveBlock2Ptr->follower.warpEnd) + { + gSaveBlock2Ptr->follower.warpEnd = 0; + + #if FAST_FOLLOWERS == TRUE + if (gSaveBlock2Ptr->follower.comeOutDoorStairs == 1 || (FlagGet(FLAG_FOLLOWER_IN_BUILDING) && gMapHeader.mapType != MAP_TYPE_INDOOR)) + { + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_BIKE)) + { + FlagClear(FLAG_FOLLOWER_IN_BUILDING); + gSaveBlock2Ptr->follower.comeOutDoorStairs = 0; + FieldAnimateDoorClose(player->currentCoords.x, player->currentCoords.y - 1); + } + else + { + #else + if (gSaveBlock2Ptr->follower.comeOutDoorStairs == 1) + { + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_BIKE)) + gSaveBlock2Ptr->follower.comeOutDoorStairs = 0; + else + { + gPlayerAvatar.preventStep = TRUE; + #endif + taskId = CreateTask(Task_FollowerOutOfDoor, 1); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[2] = follower->currentCoords.x; + gTasks[taskId].data[3] = follower->currentCoords.y; + goto RESET; + } + } + else if (gSaveBlock2Ptr->follower.comeOutDoorStairs == 2) + { + gSaveBlock2Ptr->follower.comeOutDoorStairs = 0; + } + + // This makes sure the follower is still invisible after diving or surfacing or on a bike + if(!(TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_UNDERWATER) || TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) || TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_BIKE))) + follower->invisible = FALSE; + MoveObjectEventToMapCoords(follower, player->currentCoords.x, player->currentCoords.y); + ObjectEventTurn(follower, player->facingDirection); //The follower should be facing the same direction as the player when it comes out of hiding + + /*if (gSaveBlock2Ptr->follower.createSurfBlob == 2) //Recreate surf blob + { + SetUpSurfBlobFieldEffect(follower); + follower->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB); + SetSurfBlob_BobState(follower->fieldEffectSpriteId, 1); + } + else + { + TryUpdateFollowerSpriteUnderwater(); + }*/ + } + + dir = DetermineFollowerDirection(player, follower); + + if (dir == DIR_NONE) + goto RESET; + + newState = DetermineFollowerState(follower, state, dir); + if (newState == MOVEMENT_INVALID) + goto RESET; + + /*if (gSaveBlock2Ptr->follower.createSurfBlob == 1) //Get on Surf Blob + { + gSaveBlock2Ptr->follower.createSurfBlob = 2; + gPlayerAvatar.preventStep = TRUE; //Wait for finish + SetSurfJump(); + goto RESET; + } + else if (gSaveBlock2Ptr->follower.createSurfBlob == 3) //Get off Surf Blob + { + gSaveBlock2Ptr->follower.createSurfBlob = 0; + gPlayerAvatar.preventStep = TRUE; //Wait for finish + SetSurfDismount(); + goto RESET; + }*/ + + ObjectEventClearHeldMovementIfActive(follower); + ObjectEventSetHeldMovement(follower, newState); + PlayerLogCoordinates(player); + + switch (newState) + { + case MOVEMENT_ACTION_JUMP_2_DOWN ... MOVEMENT_ACTION_JUMP_2_RIGHT: + if(follower->invisible == FALSE) + { + CreateTask(Task_ReallowPlayerMovement, 1); //Synchronize movements on stairs and ledges + gPlayerAvatar.preventStep = TRUE; //allow follower to catch up + } + } + +RESET: + ObjectEventClearHeldMovementIfFinished(follower); +} + +static void Task_ReallowPlayerMovement(u8 taskId) +{ + bool8 animStatus = ObjectEventClearHeldMovementIfFinished(&gObjectEvents[GetFollowerMapObjId()]); + if (animStatus == 0 && gObjectEvents[GetFollowerMapObjId()].movementActionId != MOVEMENT_ACTION_FOLLOWING_POKEMON) + { + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH) + && ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gPlayerAvatar.objectEventId])) + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); //Temporarily stop running + return; + } + + gPlayerAvatar.preventStep = FALSE; + DestroyTask(taskId); +} + +static u8 DetermineFollowerDirection(struct ObjectEvent* player, struct ObjectEvent* follower) +{ + //Move the follower towards the player + s8 delta_x = follower->currentCoords.x - player->currentCoords.x; + s8 delta_y = follower->currentCoords.y - player->currentCoords.y; + + if (delta_x < 0) + return DIR_EAST; + else if (delta_x > 0) + return DIR_WEST; + + if (delta_y < 0) + return DIR_SOUTH; + else if (delta_y > 0) + return DIR_NORTH; + + return DIR_NONE; +} + +static void PlayerLogCoordinates(struct ObjectEvent* player) +{ + gSaveBlock2Ptr->follower.log.x = player->currentCoords.x; + gSaveBlock2Ptr->follower.log.y = player->currentCoords.y; +} + +#define RETURN_STATE(state, dir) return newState == MOVEMENT_INVALID ? state + (dir - 1) : ReturnFollowerDelayedState(dir - 1); +static u8 DetermineFollowerState(struct ObjectEvent* follower, u8 state, u8 direction) +{ + u8 newState = MOVEMENT_INVALID; + #if SIDEWAYS_STAIRS_IMPLEMENTED == TRUE + u8 collision = COLLISION_NONE; + s16 followerX = follower->currentCoords.x; + s16 followerY = follower->currentCoords.y; + u8 currentBehavior = MapGridGetMetatileBehaviorAt(followerX, followerY); + u8 nextBehavior; + + MoveCoords(direction, &followerX, &followerY); + nextBehavior = MapGridGetMetatileBehaviorAt(followerX, followerY); + #endif + + if (IsStateMovement(state) && gSaveBlock2Ptr->follower.delayedState) + newState = gSaveBlock2Ptr->follower.delayedState + direction; + + //Clear ice tile stuff + follower->disableAnim = FALSE; //follower->field1 &= 0xFB; + + #if SIDEWAYS_STAIRS_IMPLEMENTED == TRUE + // clear overwrite movement + follower->directionOverwrite = DIR_NONE; + + //sideways stairs checks + collision = GetSidewaysStairsCollision(follower, direction, currentBehavior, nextBehavior, collision); + switch (collision) + { + case COLLISION_SIDEWAYS_STAIRS_TO_LEFT: + follower->directionOverwrite = GetLeftSideStairsDirection(direction); + break; + case COLLISION_SIDEWAYS_STAIRS_TO_RIGHT: + follower->directionOverwrite = GetRightSideStairsDirection(direction); + break; + } + #endif + + switch (state) + { + case MOVEMENT_ACTION_WALK_SLOW_DOWN ... MOVEMENT_ACTION_WALK_SLOW_RIGHT: + // Slow walk + RETURN_STATE(MOVEMENT_ACTION_WALK_SLOW_DOWN, direction); + + case MOVEMENT_ACTION_WALK_NORMAL_DOWN ... MOVEMENT_ACTION_WALK_NORMAL_RIGHT: + // normal walk + RETURN_STATE(MOVEMENT_ACTION_WALK_NORMAL_DOWN, direction); + + case MOVEMENT_ACTION_JUMP_2_DOWN ... MOVEMENT_ACTION_JUMP_2_RIGHT: + // If the follower is invisible due to bike riding, just walk + if(!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_BIKE)) + { + // Ledge jump + if (((newState - direction) >= MOVEMENT_ACTION_JUMP_2_DOWN && (newState - direction) <= MOVEMENT_ACTION_JUMP_2_RIGHT) + || ((newState - direction) >= 0x84 && (newState - direction) <= 0x87)) //Previously jumped + { + newState = MOVEMENT_INVALID; + RETURN_STATE(MOVEMENT_ACTION_JUMP_2_DOWN, direction); //Jump right away + } + + gSaveBlock2Ptr->follower.delayedState = MOVEMENT_ACTION_JUMP_2_DOWN; + RETURN_STATE(MOVEMENT_ACTION_WALK_NORMAL_DOWN, direction); + } + else + RETURN_STATE(MOVEMENT_ACTION_WALK_NORMAL_DOWN, direction); + + case MOVEMENT_ACTION_WALK_FAST_DOWN ... MOVEMENT_ACTION_WALK_FAST_RIGHT: + // Handle player on waterfall + if (PlayerIsUnderWaterfall(&gObjectEvents[gPlayerAvatar.objectEventId]) && (state == MOVEMENT_ACTION_WALK_FAST_UP)) + return MOVEMENT_INVALID; + + //Handle ice tile (some walking animation) - Set a bit to freeze the follower's animation + if (MetatileBehavior_IsIce(follower->currentMetatileBehavior) || MetatileBehavior_IsTrickHouseSlipperyFloor(follower->currentMetatileBehavior)) + follower->disableAnim = TRUE; + + RETURN_STATE(MOVEMENT_ACTION_WALK_FAST_DOWN, direction); + + case MOVEMENT_ACTION_WALK_FASTER_DOWN ... MOVEMENT_ACTION_WALK_FASTER_RIGHT: + // mach bike + if (MetatileBehavior_IsIce(follower->currentMetatileBehavior) || MetatileBehavior_IsTrickHouseSlipperyFloor(follower->currentMetatileBehavior)) + follower->disableAnim = TRUE; + + RETURN_STATE(MOVEMENT_ACTION_WALK_FASTER_DOWN, direction); + + // acro bike + case MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN ... MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT: + // Handle player on waterfall + if (PlayerIsUnderWaterfall(&gObjectEvents[gPlayerAvatar.objectEventId]) && IsPlayerSurfingNorth()) + //if (PlayerIsUnderWaterfall(&gObjectEvents[gPlayerAvatar.objectEventId]) && (state == MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN)) + return MOVEMENT_INVALID; + + RETURN_STATE(MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, direction); //regular movement + + + case MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN ... MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT: + if(follower->invisible == FALSE) + { + switch(state) + { + case MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN ... MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT: + RETURN_STATE(MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, direction); + case MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN ... MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT: + RETURN_STATE(MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, direction); + case MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN ... MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT: + RETURN_STATE(MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, direction); + case MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN ... MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT: + RETURN_STATE(MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, direction); + case MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN ... MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT: + RETURN_STATE(MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, direction); + case MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN ... MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT: + RETURN_STATE(MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, direction); + case MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN ... MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT: + RETURN_STATE(MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, direction); + case MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN ... MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT: + RETURN_STATE(MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, direction); + case MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN ... MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT: + RETURN_STATE(MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, direction); + case MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN ... MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT: + RETURN_STATE(MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, direction); + } + } + else + RETURN_STATE(MOVEMENT_ACTION_WALK_NORMAL_DOWN, direction); + + // Sliding + case MOVEMENT_ACTION_SLIDE_DOWN ... MOVEMENT_ACTION_SLIDE_RIGHT: + RETURN_STATE(MOVEMENT_ACTION_SLIDE_DOWN, direction); + case MOVEMENT_ACTION_PLAYER_RUN_DOWN ... MOVEMENT_ACTION_PLAYER_RUN_RIGHT: + //Running frames + if (gSaveBlock2Ptr->follower.flags & FOLLOWER_FLAG_HAS_RUNNING_FRAMES) + RETURN_STATE(MOVEMENT_ACTION_PLAYER_RUN_DOWN, direction); + + RETURN_STATE(MOVEMENT_ACTION_WALK_FAST_DOWN, direction); + case MOVEMENT_ACTION_JUMP_SPECIAL_DOWN ... MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT: + gSaveBlock2Ptr->follower.delayedState = MOVEMENT_ACTION_JUMP_SPECIAL_DOWN; + RETURN_STATE(MOVEMENT_ACTION_WALK_NORMAL_DOWN, direction); + case MOVEMENT_ACTION_JUMP_DOWN ... MOVEMENT_ACTION_JUMP_RIGHT: + if(!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_BIKE)) + gSaveBlock2Ptr->follower.delayedState = MOVEMENT_ACTION_JUMP_DOWN; + RETURN_STATE(MOVEMENT_ACTION_WALK_NORMAL_DOWN, direction); + + // run slow + #ifdef MOVEMENT_ACTION_RUN_DOWN_SLOW + case MOVEMENT_ACTION_RUN_DOWN_SLOW ... MOVEMENT_ACTION_RUN_RIGHT_SLOW: + if (gSaveBlock2Ptr->follower.flags & FOLLOWER_FLAG_HAS_RUNNING_FRAMES) + RETURN_STATE(MOVEMENT_ACTION_RUN_DOWN_SLOW, direction); + + RETURN_STATE(MOVEMENT_ACTION_WALK_NORMAL_DOWN, direction); + #endif + + default: + return MOVEMENT_INVALID; + } + + return newState; +} + +static bool8 IsStateMovement(u8 state) +{ + switch (state) + { + case MOVEMENT_ACTION_FACE_DOWN: + case MOVEMENT_ACTION_FACE_UP: + case MOVEMENT_ACTION_FACE_LEFT: + case MOVEMENT_ACTION_FACE_RIGHT: + //case MOVEMENT_ACTION_FACE_DOWN_FAST: + //case MOVEMENT_ACTION_FACE_UP_FAST: + //case MOVEMENT_ACTION_FACE_LEFT_FAST: + //case MOVEMENT_ACTION_FACE_RIGHT_FAST: + case MOVEMENT_ACTION_DELAY_1: + case MOVEMENT_ACTION_DELAY_2: + case MOVEMENT_ACTION_DELAY_4: + case MOVEMENT_ACTION_DELAY_8: + case MOVEMENT_ACTION_DELAY_16: + case MOVEMENT_ACTION_FACE_PLAYER: + case MOVEMENT_ACTION_FACE_AWAY_PLAYER: + case MOVEMENT_ACTION_LOCK_FACING_DIRECTION: + case MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION: + case MOVEMENT_ACTION_SET_INVISIBLE: + case MOVEMENT_ACTION_SET_VISIBLE: + case MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK: + case MOVEMENT_ACTION_EMOTE_QUESTION_MARK: + case MOVEMENT_ACTION_EMOTE_HEART: + //case MOVEMENT_ACTION_EMOTE_CROSS: + //case MOVEMENT_ACTION_EMOTE_DOUBLE_EXCLAMATION_MARK: + //case MOVEMENT_ACTION_EMOTE_HAPPY: + case MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN: + case MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP: + case MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT: + case MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT: + case MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN: + case MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP: + case MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT: + case MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT: + case MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN: + case MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP: + case MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT: + case MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT: + case MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN: + case MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_UP: + case MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_LEFT: + case MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_RIGHT: + case MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN: + case MOVEMENT_ACTION_JUMP_IN_PLACE_UP: + case MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT: + case MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT: + case MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP: + case MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN: + case MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT: + case MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT: + return FALSE; + } + + return TRUE; +} + +static u8 ReturnFollowerDelayedState(u8 direction) +{ + u8 newState = gSaveBlock2Ptr->follower.delayedState; + gSaveBlock2Ptr->follower.delayedState = 0; + + /* + #ifdef MOVEMENT_ACTION_WALK_STAIRS_DIAGONAL_UP_LEFT + switch (newState) + { + case MOVEMENT_ACTION_WALK_STAIRS_DIAGONAL_UP_LEFT ... MOVEMENT_ACTION_WALK_STAIRS_DIAGONAL_DOWN_RIGHT: + case MOVEMENT_ACTION_WALK_STAIRS_DIAGONAL_UP_LEFT_RUNNING ... MOVEMENT_ACTION_WALK_STAIRS_DIAGONAL_DOWN_RIGHT_RUNNING: + case MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP_LEFT ... MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN_RIGHT: + return newState; //Each its own movement, so don't modify direction + } + #endif + */ + + return newState + direction; +} + +#define LEDGE_FRAMES_MULTIPLIER 2 + +//extern void (**stepspeeds[5])(struct Sprite*, u8); +//extern const u16 stepspeed_seq_length[5]; +void FollowMe_Ledges(struct ObjectEvent* npc, struct Sprite* sprite, u16* ledgeFramesTbl) +{ + u8 speed; + u16 frameCount; + u8 currentFrame; + struct ObjectEvent* follower = &gObjectEvents[GetFollowerMapObjId()]; + + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + if (follower == npc) + speed = gPlayerAvatar.runningState ? 3 : 1; + else + speed = 0; + + //Calculate the frames for the jump + frameCount = GetMiniStepCount(speed) * LEDGE_FRAMES_MULTIPLIER; //in event_object_movement.c + ledgeFramesTbl[sprite->data[4]] = frameCount; + + //Call the step shifter + currentFrame = sprite->data[6] / LEDGE_FRAMES_MULTIPLIER; + //stepspeeds[speed][currentFrame](sprite, sprite->data[3]); + RunMiniStep(sprite, speed, currentFrame); //in event_object_movement.c +} + +bool8 FollowMe_IsCollisionExempt(struct ObjectEvent* obstacle, struct ObjectEvent* collider) +{ + struct ObjectEvent* follower = &gObjectEvents[GetFollowerMapObjId()]; + struct ObjectEvent* player = &gObjectEvents[gPlayerAvatar.objectEventId]; + + if (!gSaveBlock2Ptr->follower.inProgress) + return FALSE; + + if (obstacle == follower && collider == player) + return TRUE; + + return FALSE; +} + +/*void FollowMe_FollowerToWater(void) +{ + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + //Prepare for making the follower do the jump and spawn the surf head + //right in front of the follower's location. + FollowMe(&gObjectEvents[gPlayerAvatar.objectEventId], MOVEMENT_ACTION_JUMP_DOWN, TRUE); + gSaveBlock2Ptr->follower.createSurfBlob = 1; +}*/ + +/*void FollowMe_BindToSurbBlobOnReloadScreen(void) +{ + struct ObjectEvent* follower; + + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + follower = &gObjectEvents[GetFollowerMapObjId()]; + TryUpdateFollowerSpriteUnderwater(); + + if (gSaveBlock2Ptr->follower.createSurfBlob != 2 && gSaveBlock2Ptr->follower.createSurfBlob != 3) + return; + + //Spawn surfhead under follower + SetUpSurfBlobFieldEffect(follower); + follower->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB); + SetSurfBlob_BobState(follower->fieldEffectSpriteId, 1); +}*/ + +/*static void SetSurfJump(void) +{ + struct ObjectEvent* follower = &gObjectEvents[GetFollowerMapObjId()]; + u8 direction; + u8 jumpState; + + //Reset NPC movement bits + ObjectEventClearHeldMovement(follower); + + //Jump animation according to direction + direction = DetermineFollowerDirection(&gObjectEvents[gPlayerAvatar.objectEventId], follower); + jumpState = GetJumpMovementAction(direction); + SetUpSurfBlobFieldEffect(follower); + + //Adjust surf head spawn location infront of follower + switch (direction) + { + case DIR_SOUTH: + gFieldEffectArguments[1]++; //effect_y + break; + case DIR_NORTH: + gFieldEffectArguments[1]--; + break; + case DIR_WEST: + gFieldEffectArguments[0]--; //effect_x + break; + default: //DIR_EAST + gFieldEffectArguments[0]++; + }; + + //Execute, store sprite ID in fieldEffectSpriteId and bind surf blob + follower->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB); + CreateTask(Task_BindSurfBlobToFollower, 0x1); + SetFollowerSprite(FOLLOWER_SPRITE_INDEX_SURF); + + follower = &gObjectEvents[GetFollowerMapObjId()]; + ObjectEventSetHeldMovement(follower, jumpState); +}*/ + +/*static void Task_BindSurfBlobToFollower(u8 taskId) +{ + struct ObjectEvent* npc = &gObjectEvents[GetFollowerMapObjId()]; + bool8 animStatus = ObjectEventClearHeldMovementIfFinished(npc); //Wait jump animation + if (animStatus == 0) + return; + + //Bind objs + SetSurfBlob_BobState(npc->fieldEffectSpriteId, 0x1); + UnfreezeObjectEvents(); + DestroyTask(taskId); + gPlayerAvatar.preventStep = FALSE; //Player can move again + return; +}*/ + +/*static void SetUpSurfBlobFieldEffect(struct ObjectEvent* npc) +{ + //Set up gFieldEffectArguments for execution + gFieldEffectArguments[0] = npc->currentCoords.x; //effect_x + gFieldEffectArguments[1] = npc->currentCoords.y; //effect_y + gFieldEffectArguments[2] = gSaveBlock2Ptr->follower.objId; //objId +}*/ + +/*void PrepareFollowerDismountSurf(void) +{ + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + FollowMe(&gObjectEvents[gPlayerAvatar.objectEventId], MOVEMENT_ACTION_WALK_NORMAL_DOWN, TRUE); + gSaveBlock2Ptr->follower.createSurfBlob = 3; +}*/ + +/*static void SetSurfDismount(void) +{ + struct ObjectEvent* follower = &gObjectEvents[GetFollowerMapObjId()]; + u8 direction; + u8 jumpState; + u8 task; + + ObjectEventClearHeldMovement(follower); + + //Jump animation according to direction + direction = DetermineFollowerDirection(&gObjectEvents[gPlayerAvatar.objectEventId], follower); + jumpState = GetJumpMovementAction(direction); + + //Unbind and destroy Surf Blob + task = CreateTask(Task_FinishSurfDismount, 1); + gTasks[task].data[0] = follower->fieldEffectSpriteId; + SetSurfBlob_BobState(follower->fieldEffectSpriteId, 2); + follower->fieldEffectSpriteId = 0; //Unbind + FollowMe_HandleSprite(); + + follower = &gObjectEvents[GetFollowerMapObjId()]; //Can change after sprite reload + ObjectEventSetHeldMovement(follower, jumpState); +}*/ + +/*static void Task_FinishSurfDismount(u8 taskId) +{ + struct ObjectEvent* npc = &gObjectEvents[GetFollowerMapObjId()]; + bool8 animStatus = ObjectEventClearHeldMovementIfFinished(npc); //Wait animation + + if (animStatus == 0) + { + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH) && ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gPlayerAvatar.objectEventId])) + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); //Temporarily stop running + + return; + } + + DestroySprite(&gSprites[gTasks[taskId].data[0]]); + UnfreezeObjectEvents(); + DestroyTask(taskId); + gPlayerAvatar.preventStep = FALSE; +}*/ + +void Task_DoDoorWarp(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + s16 *x = &task->data[2]; + s16 *y = &task->data[3]; + u8 playerObjId = gPlayerAvatar.objectEventId; + u8 followerObjId = GetFollowerObjectId(); + + switch (task->data[0]) + { + case 0: + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH)) + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); //Stop running + + gSaveBlock2Ptr->follower.comeOutDoorStairs = 0; //Just in case came out and when right back in + FreezeObjectEvents(); + PlayerGetDestCoords(x, y); + PlaySE(GetDoorSoundEffect(*x, *y - 1)); + + #if FAST_FOLLOWERS == TRUE + if (!FlagGet(FLAG_FOLLOWER_IN_BUILDING)) + #endif + task->data[1] = FieldAnimateDoorOpen(*x, *y - 1); + + task->data[0] = 1; + break; + case 1: + #if FAST_FOLLOWERS == TRUE + if (FlagGet(FLAG_FOLLOWER_IN_BUILDING) || task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) + { + FlagClear(FLAG_FOLLOWER_IN_BUILDING); + #else + if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) + { + #endif + ObjectEventClearHeldMovementIfActive(&gObjectEvents[playerObjId]); + ObjectEventSetHeldMovement(&gObjectEvents[playerObjId], MOVEMENT_ACTION_WALK_NORMAL_UP); + + if (gSaveBlock2Ptr->follower.inProgress && !gObjectEvents[followerObjId].invisible) + { + u8 newState = DetermineFollowerState(&gObjectEvents[followerObjId], MOVEMENT_ACTION_WALK_NORMAL_UP, + DetermineFollowerDirection(&gObjectEvents[playerObjId], &gObjectEvents[followerObjId])); + ObjectEventClearHeldMovementIfActive(&gObjectEvents[followerObjId]); + ObjectEventSetHeldMovement(&gObjectEvents[followerObjId], newState); + } + + task->data[0] = 2; + } + break; + case 2: + if (IsPlayerStandingStill()) + { + if (!gSaveBlock2Ptr->follower.inProgress || gObjectEvents[followerObjId].invisible) //Don't close door on follower + task->data[1] = FieldAnimateDoorClose(*x, *y - 1); + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjId]); + SetPlayerVisibility(0); + task->data[0] = 3; + } + break; + case 3: + if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) + { + task->data[0] = 4; + } + break; + case 4: + if (gSaveBlock2Ptr->follower.inProgress) + { + ObjectEventClearHeldMovementIfActive(&gObjectEvents[followerObjId]); + ObjectEventSetHeldMovement(&gObjectEvents[followerObjId], MOVEMENT_ACTION_WALK_NORMAL_UP); + } + + TryFadeOutOldMapMusic(); + WarpFadeOutScreen(); + PlayRainStoppingSoundEffect(); + task->data[0] = 0; + task->func = Task_WarpAndLoadMap; + break; + case 5: + TryFadeOutOldMapMusic(); + PlayRainStoppingSoundEffect(); + task->data[0] = 0; + task->func = Task_WarpAndLoadMap; + break; + } +} + +static u8 GetPlayerFaceToDoorDirection(struct ObjectEvent* player, struct ObjectEvent* follower) +{ + s16 delta_x = player->currentCoords.x - follower->currentCoords.x; + + if (delta_x < 0) + return DIR_EAST; + else if (delta_x > 0) + return DIR_WEST; + + return DIR_NORTH; +} + +static void Task_FollowerOutOfDoor(u8 taskId) +{ + struct ObjectEvent *follower = &gObjectEvents[GetFollowerMapObjId()]; + struct ObjectEvent *player = &gObjectEvents[gPlayerAvatar.objectEventId]; + struct Task *task = &gTasks[taskId]; + s16 *x = &task->data[2]; + s16 *y = &task->data[3]; + + //if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH) && ObjectEventClearHeldMovementIfFinished(player)) + //SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); //Temporarily stop running + +#if FAST_FOLLOWERS == FALSE + if (ObjectEventClearHeldMovementIfFinished(player)) + ObjectEventTurn(player, GetPlayerFaceToDoorDirection(player, follower)); //The player should face towards the follow as the exit the door +#endif + + switch (task->data[0]) + { +#if FAST_FOLLOWERS == TRUE + case 0: + FlagClear(FLAG_FOLLOWER_IN_BUILDING); + FreezeObjectEvents(); + + task->data[0] = 1; + break; + case 1: + follower->invisible = FALSE; + ObjectEventTurn(follower, DIR_SOUTH); //The follower should be facing down when it comes out the door + follower->singleMovementActive = FALSE; + follower->heldMovementActive = FALSE; + + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH)) + ObjectEventSetHeldMovement(follower, MOVEMENT_ACTION_WALK_FASTER_DOWN); + else + ObjectEventSetHeldMovement(follower, MOVEMENT_ACTION_WALK_FAST_DOWN); //follower step down + task->data[0] = 2; + break; + case 2: + if (/*ObjectEventClearHeldMovementIfFinished(follower)*/follower->currentCoords.y == *y + 1) +#else + case 0: + FreezeObjectEvents(); + task->data[1] = FieldAnimateDoorOpen(follower->currentCoords.x, follower->currentCoords.y); + if (task->data[1] != -1) + PlaySE(GetDoorSoundEffect(*x, *y)); //only play SE for animating doors + + task->data[0] = 1; + break; + case 1: + if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) //if Door isn't still opening + { + follower->invisible = FALSE; + ObjectEventTurn(follower, DIR_SOUTH); //The follower should be facing down when it comes out the door + follower->singleMovementActive = FALSE; + follower->heldMovementActive = FALSE; + ObjectEventSetHeldMovement(follower, MOVEMENT_ACTION_WALK_NORMAL_DOWN); //follower step down + task->data[0] = 2; + } + break; + case 2: + if (/*ObjectEventClearHeldMovementIfFinished(follower)*/follower->movementActionId == 0x9E) +#endif + { + task->data[1] = FieldAnimateDoorClose(*x, *y); + task->data[0] = 3; + } + break; + case 3: + if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) //Door is closed + { + UnfreezeObjectEvents(); + task->data[0] = 4; + } + break; + case 4: + FollowMe_HandleSprite(); + gSaveBlock2Ptr->follower.comeOutDoorStairs = 0; + gPlayerAvatar.preventStep = FALSE; //Player can move again + DestroyTask(taskId); + break; + } +} + +void StairsMoveFollower(void) +{ + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + if (!FuncIsActiveTask(Task_FollowerHandleIndoorStairs) && gSaveBlock2Ptr->follower.comeOutDoorStairs != 2) + CreateTask(Task_FollowerHandleIndoorStairs, 1); +} + +static void Task_FollowerHandleIndoorStairs(u8 taskId) +{ + struct ObjectEvent* follower = &gObjectEvents[GetFollowerMapObjId()]; + struct ObjectEvent* player = &gObjectEvents[gPlayerAvatar.objectEventId]; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + gSaveBlock2Ptr->follower.comeOutDoorStairs = 2; //So the task doesn't get created more than once + ObjectEventClearHeldMovementIfActive(follower); + ObjectEventSetHeldMovement(follower, DetermineFollowerState(follower, MOVEMENT_ACTION_WALK_NORMAL_DOWN, DetermineFollowerDirection(player, follower))); + task->data[0]++; + break; + case 1: + if (ObjectEventClearHeldMovementIfFinished(follower)) + { + ObjectEventSetHeldMovement(follower, DetermineFollowerState(follower, MOVEMENT_ACTION_WALK_NORMAL_DOWN, player->movementDirection)); + DestroyTask(taskId); + } + break; + } +} + +void EscalatorMoveFollower(u8 movementType) +{ + u8 taskId; + + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + taskId = CreateTask(Task_FollowerHandleEscalator, 1); + gTasks[taskId].data[1] = movementType; +} + +static void Task_FollowerHandleEscalator(u8 taskId) +{ + struct ObjectEvent* follower = &gObjectEvents[GetFollowerMapObjId()]; + struct ObjectEvent* player = &gObjectEvents[gPlayerAvatar.objectEventId]; + + ObjectEventClearHeldMovementIfActive(follower); + ObjectEventSetHeldMovement(follower, DetermineFollowerState(follower, MOVEMENT_ACTION_WALK_NORMAL_DOWN, DetermineFollowerDirection(player, follower))); + DestroyTask(taskId); +} + +void EscalatorMoveFollowerFinish(void) +{ + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + CreateTask(Task_FollowerHandleEscalatorFinish, 1); +} + +static void Task_FollowerHandleEscalatorFinish(u8 taskId) +{ + s16 x, y; + struct ObjectEvent* follower = &gObjectEvents[GetFollowerMapObjId()]; + struct ObjectEvent* player = &gObjectEvents[gPlayerAvatar.objectEventId]; + struct Sprite* sprite = &gSprites[follower->spriteId]; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + MoveObjectEventToMapCoords(follower, player->currentCoords.x, player->currentCoords.y); + PlayerGetDestCoords(&x, &y); + task->data[2] = MapGridGetMetatileBehaviorAt(x, y); + task->data[7] = 0; + task->data[0]++; + break; + case 1: + if (task->data[7]++ < 0x20) //Wait half a second before revealing the follower + break; + + task->data[0]++; + task->data[1] = 16; + CalculateFollowerEscalatorTrajectoryUp(task); + gSaveBlock2Ptr->follower.warpEnd = 0; + gPlayerAvatar.preventStep = TRUE; + ObjectEventSetHeldMovement(follower, GetFaceDirectionMovementAction(DIR_EAST)); + if (task->data[2] == 0x6b) + task->data[0] = 4; + break; + case 2: + follower->invisible = FALSE; + CalculateFollowerEscalatorTrajectoryDown(task); + task->data[0]++; + break; + case 3: + CalculateFollowerEscalatorTrajectoryDown(task); + task->data[2]++; + if (task->data[2] & 1) + { + task->data[1]--; + } + + if (task->data[1] == 0) + { + sprite->x2 = 0; + sprite->y2 = 0; + task->data[0] = 6; + } + break; + case 4: + follower->invisible = FALSE; + CalculateFollowerEscalatorTrajectoryUp(task); + task->data[0]++; + break; + case 5: + CalculateFollowerEscalatorTrajectoryUp(task); + task->data[2]++; + if (task->data[2] & 1) + { + task->data[1]--; + } + + if (task->data[1] == 0) + { + sprite->x2 = 0; + sprite->y2 = 0; + task->data[0]++; + } + break; + case 6: + if (ObjectEventClearHeldMovementIfFinished(follower)) + { + gPlayerAvatar.preventStep = FALSE; + DestroyTask(taskId); + } + } +} + +static void CalculateFollowerEscalatorTrajectoryDown(struct Task *task) +{ + struct Sprite* sprite = &gSprites[gObjectEvents[GetFollowerMapObjId()].spriteId]; + + sprite->x2 = Cos(0x84, task->data[1]); + sprite->y2 = Sin(0x94, task->data[1]); +} + +static void CalculateFollowerEscalatorTrajectoryUp(struct Task *task) +{ + struct Sprite* sprite = &gSprites[gObjectEvents[GetFollowerMapObjId()].spriteId]; + + sprite->x2 = Cos(0x7c, task->data[1]); + sprite->y2 = Sin(0x76, task->data[1]); +} + +bool8 FollowerCanBike(void) +{ + if (!gSaveBlock2Ptr->follower.inProgress) + return TRUE; + else if (gSaveBlock2Ptr->follower.flags & FOLLOWER_FLAG_CAN_BIKE) + return TRUE; + else + return FALSE; +} + +void FollowMe_HandleBike(void) +{ + if (gSaveBlock2Ptr->follower.currentSprite == FOLLOWER_SPRITE_INDEX_SURF) //Follower is surfing + return; //Sprite will automatically be adjusted when they finish surfing + + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE && FollowerCanBike() && gSaveBlock2Ptr->follower.comeOutDoorStairs != 1) //Coming out door + SetFollowerSprite(FOLLOWER_SPRITE_INDEX_MACH_BIKE); //Mach Bike on + else if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE && FollowerCanBike() && gSaveBlock2Ptr->follower.comeOutDoorStairs != 1) //Coming out door + SetFollowerSprite(FOLLOWER_SPRITE_INDEX_ACRO_BIKE); //Acro Bike on + else + SetFollowerSprite(FOLLOWER_SPRITE_INDEX_NORMAL); +} + +void FollowMe_HandleSprite(void) +{ + if (gSaveBlock2Ptr->follower.flags & FOLLOWER_FLAG_CAN_BIKE) + { + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) + SetFollowerSprite(FOLLOWER_SPRITE_INDEX_MACH_BIKE); + else if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) + SetFollowerSprite(FOLLOWER_SPRITE_INDEX_ACRO_BIKE); + } + else if (gMapHeader.mapType == MAP_TYPE_UNDERWATER) + { + TryUpdateFollowerSpriteUnderwater(); + } + else + { + SetFollowerSprite(FOLLOWER_SPRITE_INDEX_NORMAL); + } +} + +void SetFollowerSprite(u8 spriteIndex) +{ + u8 oldSpriteId; + u8 newSpriteId; + u16 newGraphicsId; + struct ObjectEventTemplate clone; + struct ObjectEvent backupFollower; + struct ObjectEvent *follower; + + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + if (gSaveBlock2Ptr->follower.currentSprite == spriteIndex && gObjectEvents[GetFollowerMapObjId()].invisible == FALSE) + return; + + //Save sprite + follower = &gObjectEvents[GetFollowerMapObjId()]; + gSaveBlock2Ptr->follower.currentSprite = spriteIndex; + oldSpriteId = follower->spriteId; + newGraphicsId = GetFollowerSprite(); + + //Reload the entire event object. + //It would usually be enough just to change the sprite Id, but if the original + //sprite and the new sprite have different palettes, the palette would need to + //be reloaded. + backupFollower = *follower; + backupFollower.graphicsId = newGraphicsId; + //backupFollower.graphicsIdUpperByte = newGraphicsId >> 8; + DestroySprite(&gSprites[oldSpriteId]); + RemoveObjectEvent(&gObjectEvents[GetFollowerMapObjId()]); + + clone = *GetObjectEventTemplateByLocalIdAndMap(gSaveBlock2Ptr->follower.map.id, gSaveBlock2Ptr->follower.map.number, gSaveBlock2Ptr->follower.map.group); + clone.graphicsId = newGraphicsId; + //clone.graphicsIdUpperByte = newGraphicsId >> 8; + gSaveBlock2Ptr->follower.objId = TrySpawnObjectEventTemplate(&clone, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, clone.x, clone.y); + + follower = &gObjectEvents[GetFollowerMapObjId()]; + newSpriteId = follower->spriteId; + *follower = backupFollower; + follower->spriteId = newSpriteId; + MoveObjectEventToMapCoords(follower, follower->currentCoords.x, follower->currentCoords.y); + ObjectEventTurn(follower, follower->facingDirection); +} + +void FollowMe_WarpSetEnd(void) +{ + struct ObjectEvent *player; + struct ObjectEvent *follower; + u8 toY; + + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + player = &gObjectEvents[gPlayerAvatar.objectEventId]; + follower = &gObjectEvents[GetFollowerMapObjId()]; + + gSaveBlock2Ptr->follower.warpEnd = 1; + PlayerLogCoordinates(player); + + toY = gSaveBlock2Ptr->follower.comeOutDoorStairs == 1 ? (player->currentCoords.y - 1) : player->currentCoords.y; + MoveObjectEventToMapCoords(follower, player->currentCoords.x, toY); + + follower->facingDirection = player->facingDirection; + follower->movementDirection = player->movementDirection; +} + +void CreateFollowerAvatar(void) +{ + struct ObjectEvent* player; + struct ObjectEventTemplate clone; + + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + player = &gObjectEvents[gPlayerAvatar.objectEventId]; + clone = *GetObjectEventTemplateByLocalIdAndMap(gSaveBlock2Ptr->follower.map.id, gSaveBlock2Ptr->follower.map.number, gSaveBlock2Ptr->follower.map.group); + + clone.graphicsId = GetFollowerSprite(); + //clone.graphicsIdUpperByte = GetFollowerSprite() >> 8; + clone.x = player->currentCoords.x - 7; + clone.y = player->currentCoords.y - 7; + clone.movementType = 0; //Doesn't get to move on its own + + switch (GetPlayerFacingDirection()) + { + case DIR_NORTH: + clone.movementType = MOVEMENT_TYPE_FACE_UP; + break; + case DIR_WEST: + clone.movementType = MOVEMENT_TYPE_FACE_LEFT; + break; + case DIR_EAST: + clone.movementType = MOVEMENT_TYPE_FACE_RIGHT; + break; + } + + // Create NPC and store ID + gSaveBlock2Ptr->follower.objId = TrySpawnObjectEventTemplate(&clone, gSaveBlock2Ptr->follower.map.number, gSaveBlock2Ptr->follower.map.group, clone.x, clone.y); + if (gSaveBlock2Ptr->follower.objId == OBJECT_EVENTS_COUNT) + gSaveBlock2Ptr->follower.inProgress = FALSE; //Cancel the following because couldn't load sprite + + if (gMapHeader.mapType == MAP_TYPE_UNDERWATER) + gSaveBlock2Ptr->follower.createSurfBlob = 0; + + gObjectEvents[gSaveBlock2Ptr->follower.objId].invisible = TRUE; +} + +static void TurnNPCIntoFollower(u8 localId, u16 followerFlags) +{ + struct ObjectEvent* follower; + u8 eventObjId; + const u8 *script; + u16 flag; + + if (gSaveBlock2Ptr->follower.inProgress) + return; //Only 1 NPC following at a time + + for (eventObjId = 0; eventObjId < OBJECT_EVENTS_COUNT; eventObjId++) //For each NPC on the map + { + if (!gObjectEvents[eventObjId].active || gObjectEvents[eventObjId].isPlayer) + continue; + + if (gObjectEvents[eventObjId].localId == localId) + { + follower = &gObjectEvents[eventObjId]; + follower->movementType = MOVEMENT_TYPE_NONE; //Doesn't get to move on its own anymore + gSprites[follower->spriteId].callback = MovementType_None; //MovementType_None + SetObjEventTemplateMovementType(localId, 0); + if (followerFlags & FOLLOWER_FLAG_CUSTOM_FOLLOW_SCRIPT) + script = (const u8 *)ReadWord(0); + else + script = GetObjectEventScriptPointerByObjectEventId(eventObjId); + + flag = GetObjectEventTemplateByLocalIdAndMap(follower->localId, follower->mapNum, follower->mapGroup)->flagId; + gSaveBlock2Ptr->follower.inProgress = TRUE; + gSaveBlock2Ptr->follower.objId = eventObjId; + gSaveBlock2Ptr->follower.graphicsId = follower->graphicsId; + gSaveBlock2Ptr->follower.map.id = gObjectEvents[eventObjId].localId; + gSaveBlock2Ptr->follower.map.number = gSaveBlock1Ptr->location.mapNum; + gSaveBlock2Ptr->follower.map.group = gSaveBlock1Ptr->location.mapGroup; + gSaveBlock2Ptr->follower.script = script; + gSaveBlock2Ptr->follower.flag = flag; + gSaveBlock2Ptr->follower.flags = followerFlags; + gSaveBlock2Ptr->follower.createSurfBlob = 0; + gSaveBlock2Ptr->follower.comeOutDoorStairs = 0; + + if (!(gSaveBlock2Ptr->follower.flags & FOLLOWER_FLAG_CAN_BIKE) //Follower can't bike + && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_BIKE)) //Player on bike + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); //Dismmount Bike + } + } +} + +bool8 CheckFollowerFlag(u16 flag) +{ + if (!gSaveBlock2Ptr->follower.inProgress) + return TRUE; + + if (gSaveBlock2Ptr->follower.flags & flag) + return TRUE; + + return FALSE; +} + +static u8 GetPlayerMapObjId(void) +{ + return gPlayerAvatar.objectEventId; +} + +enum +{ + GoDown, + GoUp, + GoLeft, + GoRight +}; +void FollowerPositionFix(u8 offset) +{ + u8 playerObjId = GetPlayerMapObjId(); + u8 followerObjid = gSaveBlock2Ptr->follower.objId; + u16 playerX = gObjectEvents[playerObjId].currentCoords.x; + u16 playerY = gObjectEvents[playerObjId].currentCoords.y; + u16 npcX = gObjectEvents[followerObjid].currentCoords.x; + u16 npcY = gObjectEvents[followerObjid].currentCoords.y; + + gSpecialVar_Result = 0xFFFF; + + if (!gSaveBlock2Ptr->follower.inProgress) + return; + + if (playerX == npcX) + { + if (playerY > npcY) + { + if (playerY != npcY + offset) //Player and follower are not 1 tile apart + { + if (gSpecialVar_0x8000 == 0) + gSpecialVar_Result = GoDown; + else + gObjectEvents[followerObjid].currentCoords.y = playerY - offset; + } + } + else // Player Y <= npcY + { + if (playerY != npcY - offset) //Player and follower are not 1 tile apart + { + if (gSpecialVar_0x8000 == 0) + gSpecialVar_Result = GoUp; + else + gObjectEvents[followerObjid].currentCoords.y = playerY + offset; + } + } + } + else //playerY == npcY + { + if (playerX > npcX) + { + if (playerX != npcX + offset) //Player and follower are not 1 tile apart + { + if (gSpecialVar_0x8000 == 0) + gSpecialVar_Result = GoRight; + else + gObjectEvents[followerObjid].currentCoords.x = playerX - offset; + } + } + else // Player X <= npcX + { + if (playerX != npcX - offset) //Player and follower are not 1 tile apart + { + if (gSpecialVar_0x8000 == 0) + gSpecialVar_Result = GoLeft; + else + gObjectEvents[followerObjid].currentCoords.x = playerX + offset; + } + } + } +} + +void FollowerTrainerSightingPositionFix(void) +{ + FollowerPositionFix(1); +} + +void FollowerIntoPlayer(void) +{ + FollowerPositionFix(0); +} + +bool8 PlayerHasFollower(void) +{ + return gSaveBlock2Ptr->follower.inProgress; +} + +bool8 IsPlayerOnFoot(void) +{ + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ON_FOOT) + return TRUE; + else + return FALSE; +} + +bool8 FollowerComingThroughDoor(void) +{ + if (!PlayerHasFollower()) + return FALSE; + + if (gSaveBlock2Ptr->follower.comeOutDoorStairs) + return TRUE; + + return FALSE; +} + +//////////////////SCRIPTING//////////////////// +//@Details: Sets up the follow me feature. +//@Input: local id - NPC to start following player. +// flags - Follower flags. +void SetUpFollowerSprite(u8 localId, u16 flags) +{ + TurnNPCIntoFollower(localId, flags); +} + +//@Details: Ends the follow me feature. +void DestroyFollower(void) +{ + if (gSaveBlock2Ptr->follower.inProgress) + { + RemoveObjectEvent(&gObjectEvents[gSaveBlock2Ptr->follower.objId]); + FlagSet(gSaveBlock2Ptr->follower.flag); + gSaveBlock2Ptr->follower.inProgress = FALSE; + } +} + +//@Details: Faces the player and the follower sprite towards each other. +void PlayerFaceFollowerSprite(void) +{ + if (gSaveBlock2Ptr->follower.inProgress) + { + u8 playerDirection, followerDirection; + struct ObjectEvent* player, *follower; + + player = &gObjectEvents[gPlayerAvatar.objectEventId]; + follower = &gObjectEvents[gSaveBlock2Ptr->follower.objId]; + playerDirection = DetermineFollowerDirection(player, follower); + followerDirection = playerDirection; + + //Flip direction + switch (playerDirection) + { + case DIR_NORTH: + playerDirection = DIR_SOUTH; + followerDirection = DIR_NORTH; + break; + case DIR_SOUTH: + playerDirection = DIR_NORTH; + followerDirection = DIR_SOUTH; + break; + case DIR_WEST: + playerDirection = DIR_EAST; + followerDirection = DIR_WEST; + break; + case DIR_EAST: + playerDirection = DIR_WEST; + followerDirection = DIR_EAST; + break; + } + + ObjectEventTurn(player, playerDirection); + ObjectEventTurn(follower, followerDirection); + } +} + +//@Details: Checks if the player is being followed. +//@Returns: LastResult: 0 if the Player isn't being followed. 1 otherwise. +void CheckPlayerHasFollower(void) +{ + gSpecialVar_Result = gSaveBlock2Ptr->follower.inProgress; +} + +void ShowFollower(void) +{ + gObjectEvents[gSaveBlock2Ptr->follower.objId].invisible = FALSE; +} + +void SetFollowerWarpPosition(void) +{ + gSaveBlock2Ptr->follower.createSurfBlob = 1; +} diff --git a/src/item_use.c b/src/item_use.c index dbdcc16d6..9c925945a 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -380,7 +380,7 @@ static bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *events, u8 ta static bool8 IsHiddenItemPresentAtCoords(const struct MapEvents *events, s16 x, s16 y) { u8 bgEventCount = events->bgEventCount; - struct BgEvent *bgEvent = events->bgEvents; + const struct BgEvent *bgEvent = events->bgEvents; int i; for (i = 0; i < bgEventCount; i++) @@ -396,7 +396,7 @@ static bool8 IsHiddenItemPresentAtCoords(const struct MapEvents *events, s16 x, return FALSE; } -static bool8 IsHiddenItemPresentInConnection(struct MapConnection *connection, int x, int y) +static bool8 IsHiddenItemPresentInConnection(const struct MapConnection *connection, int x, int y) { u16 localX, localY; @@ -461,7 +461,7 @@ static void CheckForHiddenItemsInMapConnection(u8 taskId) || var2 > y || y >= height) { - struct MapConnection *conn = GetMapConnectionAtPos(x, y); + const struct MapConnection *conn = GetMapConnectionAtPos(x, y); if (conn && IsHiddenItemPresentInConnection(conn, x, y) == TRUE) SetDistanceOfClosestHiddenItem(taskId, x - playerX, y - playerY); } diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 90e3671cc..9bec5fd08 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -88,7 +88,7 @@ static void SetupHipster(void) struct MauvilleManHipster *hipster = &gSaveBlock1Ptr->oldMan.hipster; hipster->id = MAUVILLE_MAN_HIPSTER; - hipster->alreadySpoken = FALSE; + hipster->taughtWord = FALSE; hipster->language = gGameLanguage; } @@ -225,27 +225,28 @@ void PlayBardSong(void) ScriptContext_Stop(); } -void GetHipsterSpokenFlag(void) +void HasHipsterTaughtWord(void) { - gSpecialVar_Result = (&gSaveBlock1Ptr->oldMan.hipster)->alreadySpoken; + gSpecialVar_Result = (&gSaveBlock1Ptr->oldMan.hipster)->taughtWord; } -void SetHipsterSpokenFlag(void) +void SetHipsterTaughtWord(void) { - (&gSaveBlock1Ptr->oldMan.hipster)->alreadySpoken = TRUE; + (&gSaveBlock1Ptr->oldMan.hipster)->taughtWord = TRUE; } void HipsterTryTeachWord(void) { - u16 phrase = GetNewHipsterPhraseToTeach(); + u16 word = UnlockRandomTrendySaying(); - if (phrase == EC_EMPTY_WORD) + if (word == EC_EMPTY_WORD) { + // All words already unlocked gSpecialVar_Result = FALSE; } else { - CopyEasyChatWord(gStringVar1, phrase); + CopyEasyChatWord(gStringVar1, word); gSpecialVar_Result = TRUE; } } @@ -369,7 +370,7 @@ static void ResetBardFlag(void) static void ResetHipsterFlag(void) { - (&gSaveBlock1Ptr->oldMan.hipster)->alreadySpoken = FALSE; + (&gSaveBlock1Ptr->oldMan.hipster)->taughtWord = FALSE; } static void ResetTraderFlag(void) diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index 124ababa4..b146bbab3 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -293,7 +293,7 @@ bool8 MEScrCmd_givenationaldex(struct ScriptContext *ctx) bool8 MEScrCmd_addrareword(struct ScriptContext *ctx) { - UnlockAdditionalPhrase(ScriptReadByte(ctx)); + UnlockTrendySaying(ScriptReadByte(ctx)); StringExpandPlaceholders(gStringVar4, gText_MysteryEventRareWord); ctx->mStatus = MEVENT_STATUS_SUCCESS; return FALSE; diff --git a/src/new_game.c b/src/new_game.c index 0efc12d47..356c9f282 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -204,6 +204,7 @@ void NewGameInitData(void) WipeTrainerNameRecords(); ResetTrainerHillResults(); ResetContestLinkResults(); + memset(&gSaveBlock2Ptr->follower, 0, sizeof(gSaveBlock2Ptr->follower)); } static void ResetMiniGamesRecords(void) diff --git a/src/overworld.c b/src/overworld.c index 6b63a60d5..1048735d6 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -11,6 +11,7 @@ #include "event_scripts.h" #include "field_camera.h" #include "field_control_avatar.h" +#include "field_door.h" #include "field_effect.h" #include "field_message_box.h" #include "field_player_avatar.h" @@ -39,6 +40,7 @@ #include "new_game.h" #include "palette.h" #include "play_time.h" +#include "pokemon.h" #include "random.h" #include "roamer.h" #include "rotating_gate.h" @@ -49,6 +51,7 @@ #include "script_pokemon_util.h" #include "secret_base.h" #include "sound.h" +#include "sprite.h" #include "start_menu.h" #include "task.h" #include "tileset_anims.h" @@ -59,6 +62,7 @@ #include "scanline_effect.h" #include "wild_encounter.h" #include "frontier_util.h" +#include "follow_me.h" #include "constants/abilities.h" #include "constants/layouts.h" #include "constants/map_types.h" @@ -66,6 +70,9 @@ #include "constants/songs.h" #include "constants/trainer_hill.h" #include "constants/weather.h" +#include "constants/event_object_movement.h" +#include "constants/event_objects.h" +#include "constants/items.h" struct CableClubPlayer { @@ -156,7 +163,7 @@ static void InitMenuBasedScript(const u8 *); static void LoadCableClubPlayer(s32, s32, struct CableClubPlayer *); static bool32 IsCableClubPlayerUnfrozen(struct CableClubPlayer *); static bool32 CanCableClubPlayerPressStart(struct CableClubPlayer *); -static u8 *TryGetTileEventScript(struct CableClubPlayer *); +static const u8 *TryGetTileEventScript(struct CableClubPlayer *); static bool32 PlayerIsAtSouthExit(struct CableClubPlayer *); static const u8 *TryInteractWithPlayer(struct CableClubPlayer *); static u16 KeyInterCB_DeferToRecvQueue(u32); @@ -203,6 +210,513 @@ EWRAM_DATA static u16 sAmbientCrySpecies = 0; EWRAM_DATA static bool8 sIsAmbientCryWaterMon = FALSE; EWRAM_DATA struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4] = {0}; +static const u8 FollowerSparkleCoords[][6] = +{ + {15, 9, 15, 9, 11, 9}, // Bulbasaur + {15, 11, 15, 9, 10, 9}, // Ivysaur + {16, 13, 16, 12, 13, 13}, // Venusaur + {16, 9, 16, 10, 11, 9}, // Charmander + {15, 12, 15, 10, 10, 11}, // Charmeleon + {16, 13, 16, 13, 16, 13}, // Charizard + {15, 9, 15, 9, 7, 9}, // Squirtle + {16, 10, 15, 9, 9, 11}, // Wartortle + {16, 13, 16, 13, 14, 12}, // Blastoise + {15, 10, 15, 9, 9, 10}, // Caterpie + {16, 10, 16, 11, 8, 10}, // Metapod + {16, 13, 16, 13, 12, 12}, // Butterfree + {16, 10, 16, 10, 8, 9}, // Weedle + {15, 10, 15, 10, 8, 10}, // Kakuna + {15, 13, 15, 15, 9, 13}, // Beedrill + {15, 8, 15, 8, 7, 8}, // Pidgey + {15, 16, 15, 15, 11, 14}, // Pidgeotto + {16, 17, 16, 17, 15, 16}, // Pidgeot + {16, 11, 16, 9, 9, 8}, // Rattata + {16, 12, 16, 9, 11, 8}, // Raticate + {16, 8, 16, 8, 10, 8}, // Spearow + {16, 15, 16, 16, 15, 19}, // Fearow + {16, 10, 13, 11, 9, 10}, // Ekans + {15, 12, 14, 13, 13, 12}, // Arbok + {16, 10, 16, 9, 8, 10}, // Pikachu + {13, 12, 20, 12, 14, 11}, // Raichu + {16, 9, 16, 9, 9, 9}, // Sandshrew + {15, 11, 15, 11, 10, 11}, // Sandslash + {16, 9, 16, 9, 7, 9}, // Nidoran_F + {15, 10, 15, 10, 11, 10}, // Nidorina + {16, 12, 16, 12, 13, 12}, // Nidoqueen + {16, 9, 16, 9, 8, 8}, // Nidoran_M + {16, 10, 16, 11, 11, 9}, // Nidorino + {16, 12, 16, 12, 14, 12}, // Nidoking + {15, 9, 16, 9, 7, 9}, // Clefairy + {16, 11, 16, 11, 9, 11}, // Clefable + {15, 11, 15, 11, 12, 9}, // Vulpix + {15, 13, 15, 14, 13, 11}, // Ninetales + {15, 9, 15, 9, 7, 9}, // Jigglypuff + {15, 11, 15, 11, 8, 11}, // Wigglytuff + {15, 12, 15, 13, 10, 11}, // Zubat + {16, 12, 16, 12, 12, 12}, // Golbat + {15, 8, 15, 8, 7, 8}, // Oddish + {16, 10, 16, 10, 9, 11}, // Gloom + {16, 10, 16, 10, 11, 10}, // Vileplume + {16, 9, 16, 8, 9, 9}, // Paras + {15, 13, 16, 12, 12, 12}, // Parasect + {16, 10, 16, 10, 11, 10}, // Venonat + {15, 14, 15, 14, 13, 14}, // Venomoth + {15, 7, 16, 7, 7, 7}, // Diglett + {16, 11, 16, 11, 11, 11}, // Dugtrio + {16, 13, 15, 11, 11, 9}, // Meowth + {15, 14, 15, 12, 13, 9}, // Persian + {15, 10, 15, 10, 7, 10}, // Psyduck + {15, 12, 15, 12, 8, 11}, // Golduck + {15, 9, 15, 9, 9, 9}, // Mankey + {15, 11, 15, 11, 9, 12}, // Primeape + {16, 11, 16, 11, 9, 10}, // Growlithe + {15, 15, 15, 15, 16, 12}, // Arcanine + {16, 9, 16, 9, 9, 9}, // Poliwag + {16, 9, 16, 9, 7, 10}, // Poliwhirl + {15, 11, 15, 11, 10, 11}, // Poliwrath + {15, 11, 15, 11, 11, 12}, // Abra + {15, 11, 16, 11, 12, 11}, // Kadabra + {16, 12, 16, 13, 11, 13}, // Alakazam + {15, 9, 15, 9, 8, 10}, // Machop + {15, 12, 15, 12, 8, 12}, // Machoke + {16, 13, 16, 13, 12, 12}, // Machamp + {15, 11, 15, 11, 7, 10}, // Bellsprout + {15, 11, 15, 10, 7, 11}, // Weepinbell + {15, 14, 15, 14, 14, 13}, // Victreebel + {16, 10, 16, 10, 9, 10}, // Tentacool + {15, 13, 15, 13, 13, 12}, // Tentacruel + {15, 10, 15, 10, 7, 11}, // Geodude + {15, 9, 15, 9, 10, 11}, // Graveler + {15, 11, 15, 11, 12, 11}, // Golem + {15, 12, 15, 12, 11, 11}, // Ponyta + {15, 15, 15, 14, 15, 13}, // Rapidash + {15, 11, 15, 9, 12, 8}, // Slowpoke + {16, 11, 16, 11, 14, 11}, // Slowbro + {15, 10, 15, 10, 8, 11}, // Magnemite + {15, 15, 15, 15, 10, 15}, // Magneton + {16, 11, 16, 11, 8, 11}, // Farfetch'd + {15, 11, 15, 11, 9, 12}, // Doduo + {16, 16, 15, 16, 15, 15}, // Dodrio + {15, 11, 15, 11, 13, 10}, // Seel + {15, 13, 15, 12, 15, 12}, // Dewgong + {16, 9, 16, 9, 9, 10}, // Grimer + {15, 11, 15, 11, 11, 11}, // Muk + {15, 9, 15, 8, 7, 9}, // Shellder + {15, 13, 15, 13, 13, 14}, // Cloyster + {15, 15, 16, 15, 10, 14}, // Gastly + {16, 13, 16, 13, 10, 14}, // Haunter + {15, 11, 15, 11, 9, 11}, // Gengar + {16, 15, 15, 16, 13, 16}, // Onix + {16, 10, 16, 10, 10, 11}, // Drowzee + {16, 12, 16, 12, 10, 12}, // Hypno + {16, 9, 16, 9, 13, 7}, // Krabby + {16, 13, 16, 12, 16, 13}, // Kingler + {15, 9, 15, 9, 7, 9}, // Voltorb + {16, 12, 16, 12, 13, 12}, // Electrode + {16, 13, 16, 11, 14, 12}, // Exeggcute + {16, 15, 16, 14, 12, 14}, // Exeggutor + {14, 10, 16, 10, 9, 11}, // Cubone + {14, 11, 16, 11, 10, 12}, // Marowak + {15, 11, 15, 11, 9, 11}, // Hitmonlee + {16, 12, 16, 11, 9, 11}, // Hitmonchan + {15, 11, 15, 11, 12, 10}, // Lickitung + {17, 13, 17, 13, 12, 12}, // Koffing + {15, 14, 16, 14, 13, 13}, // Weezing + {15, 12, 15, 11, 14, 9}, // Rhyhorn + {16, 12, 16, 12, 16, 12}, // Rhydon + {15, 10, 15, 10, 10, 10}, // Chansey + {16, 11, 16, 11, 10, 10}, // Tangela + {16, 12, 16, 12, 12, 13}, // Kangaskhan + {15, 9, 15, 9, 9, 9}, // Horsea + {15, 13, 15, 13, 11, 12}, // Seadra + {15, 11, 15, 10, 12, 9}, // Goldeen + {15, 13, 15, 11, 14, 13}, // Seaking + {16, 10, 16, 10, 8, 10}, // Staryu + {16, 12, 16, 12, 9, 13}, // Starmie + {16, 11, 16, 10, 10, 12}, // Mr. Mime + {15, 13, 15, 13, 12, 13}, // Scyther + {16, 13, 16, 12, 11, 13}, // Jynx + {16, 12, 16, 12, 12, 12}, // Electabuzz + {15, 13, 15, 13, 12, 12}, // Magmar + {15, 12, 15, 12, 11, 12}, // Pinsir + {15, 15, 16, 12, 15, 11}, // Tauros + {16, 10, 16, 11, 12, 10}, // Magikarp + {16, 16, 16, 16, 15, 16}, // Gyarados + {16, 12, 16, 13, 14, 13}, // Lapras + {16, 8, 16, 8, 9, 7}, // Ditto + {15, 9, 15, 9, 11, 9}, // Eevee + {15, 15, 15, 12, 15, 11}, // Vaporeon + {15, 12, 15, 11, 14, 10}, // Jolteon + {15, 13, 15, 12, 14, 11}, // Flareon + {15, 10, 15, 10, 12, 9}, // Porygon + {15, 10, 15, 10, 10, 9}, // Omanyte + {15, 12, 15, 12, 12, 11}, // Omastar + {15, 8, 15, 8, 9, 8}, // Kabuto + {16, 11, 15, 11, 11, 12}, // Kabutops + {15, 16, 15, 16, 16, 15}, // Aerodactyl + {16, 14, 16, 14, 12, 15}, // Snorlax + {15, 17, 15, 16, 14, 17}, // Articuno + {15, 18, 15, 17, 14, 15}, // Zapdos + {15, 16, 15, 17, 15, 17}, // Moltres + {17, 12, 14, 11, 12, 11}, // Dratini + {18, 15, 14, 15, 14, 14}, // Dragonair + {15, 16, 15, 16, 13, 15}, // Dragonite + {15, 15, 15, 14, 13, 14}, // Mewtwo + {16, 13, 16, 11, 13, 13}, // Mew + {16, 10, 15, 10, 9, 10}, // Chikorita + {16, 13, 15, 14, 13, 13}, // Bayleef + {15, 14, 15, 15, 14, 15}, // Meganium + {16, 11, 16, 10, 12, 9}, // Cyndaquil + {15, 13, 15, 14, 15, 10}, // Quilava + {15, 14, 15, 14, 14, 13}, // Typhlosion + {16, 10, 16, 10, 10, 10}, // Totodile + {15, 13, 15, 14, 13, 13}, // Croconaw + {15, 15, 15, 15, 15, 15}, // Feraligatr + {15, 10, 15, 10, 12, 9}, // Sentret + {15, 14, 15, 13, 15, 11}, // Furret + {16, 10, 16, 10, 10, 10}, // Hoothoot + {15, 13, 15, 14, 14, 16}, // Noctowl + {15, 14, 15, 12, 13, 12}, // Ledyba + {16, 12, 16, 13, 13, 16}, // Ledian + {15, 9, 15, 9, 11, 7}, // Spinarak + {15, 13, 15, 12, 15, 13}, // Ariados + {15, 13, 15, 13, 12, 15}, // Crobat + {16, 8, 16, 8, 10, 8}, // Chinchou + {16, 14, 16, 13, 15, 11}, // Lanturn + {15, 9, 15, 9, 9, 9}, // Pichu + {16, 8, 16, 8, 9, 8}, // Cleffa + {15, 9, 15, 9, 8, 9}, // Igglybuff + {16, 9, 16, 9, 9, 9}, // Togepi + {15, 14, 15, 15, 10, 13}, // Togetic + {16, 8, 16, 8, 9, 9}, // Natu + {16, 12, 16, 12, 12, 12}, // Xatu + {16, 11, 15, 10, 12, 10}, // Mareep + {18, 12, 15, 11, 12, 11}, // Flaaffy + {16, 13, 16, 13, 13, 13}, // Ampharos + {15, 10, 15, 10, 8, 10}, // Bellossom + {19, 8, 12, 8, 12, 9}, // Marill + {18, 10, 13, 10, 12, 11}, // Azumarill + {16, 12, 16, 12, 10, 12}, // Sudowoodo + {15, 12, 15, 12, 9, 12}, // Politoed + {16, 12, 16, 12, 9, 12}, // Hoppip + {15, 10, 15, 10, 9, 13}, // Skiploom + {16, 14, 16, 14, 9, 13}, // Jumpluff + {16, 12, 16, 11, 13, 11}, // Aipom + {16, 8, 16, 8, 7, 9}, // Sunkern + {15, 11, 15, 11, 7, 11}, // Sunflora + {16, 15, 16, 15, 15, 13}, // Yanma + {16, 8, 16, 8, 8, 8}, // Wooper + {17, 11, 15, 11, 12, 11}, // Quagsire + {15, 14, 15, 12, 13, 12}, // Espeon + {15, 13, 15, 12, 14, 11}, // Umbreon + {15, 10, 15, 10, 9, 10}, // Murkrow + {16, 14, 16, 14, 10, 13}, // Slowking + {16, 14, 16, 13, 11, 13}, // Misdreavus + {15, 10, 15, 10, 7, 11}, // Unown (A) + {16, 11, 16, 11, 10, 11}, // Wobbuffet + {16, 13, 16, 13, 15, 13}, // Girafarig + {16, 9, 16, 9, 8, 9}, // Pineco + {16, 10, 16, 10, 11, 10}, // Forretress + {15, 13, 15, 9, 13, 8}, // Dunsparce + {15, 12, 15, 12, 11, 13}, // Gligar + {33, 17, 32, 19, 36, 17}, // Steelix + {16, 10, 16, 10, 10, 10}, // Snubbull + {16, 12, 16, 12, 10, 13}, // Granbull + {16, 12, 16, 10, 14, 9}, // Qwilfish + {16, 13, 16, 12, 12, 13}, // Scizor + {16, 10, 16, 11, 11, 10}, // Shuckle + {15, 13, 15, 13, 12, 14}, // Heracross + {17, 10, 15, 10, 9, 10}, // Sneasel + {15, 10, 15, 10, 9, 10}, // Teddiursa + {16, 13, 16, 13, 11, 14}, // Ursaring + {15, 11, 16, 11, 11, 10}, // Slugma + {16, 13, 14, 12, 15, 11}, // Magcargo + {15, 8, 15, 8, 11, 8}, // Swinub + {15, 11, 15, 12, 12, 11}, // Piloswine + {16, 9, 16, 9, 10, 10}, // Corsola + {16, 10, 16, 10, 13, 7}, // Remoraid + {15, 11, 15, 12, 11, 11}, // Ocitllery + {16, 10, 15, 10, 9, 11}, // Delibird + {16, 15, 16, 15, 16, 16}, // Mantine + {15, 13, 15, 16, 15, 16}, // Skarmory + {16, 9, 16, 10, 11, 10}, // Houndour + {15, 12, 15, 13, 14, 12}, // Houndoom + {16, 14, 16, 14, 14, 13}, // Kingdra + {16, 9, 16, 9, 11, 9}, // Phanpy + {16, 11, 16, 11, 15, 12}, // Donphan + {16, 11, 16, 12, 13, 12}, // Porygon2 + {16, 14, 15, 14, 12, 15}, // Stantler + {14, 11, 18, 11, 9, 11}, // Smeargle + {15, 10, 15, 10, 8, 10}, // Tyrogue + {15, 12, 15, 12, 9, 11}, // Hitmontop + {15, 10, 15, 10, 9, 10}, // Smoochum + {15, 10, 15, 10, 8, 10}, // Elekid + {16, 10, 16, 10, 8, 10}, // Magby + {16, 11, 16, 11, 12, 11}, // Miltank + {16, 11, 16, 11, 11, 12}, // Blissey + {15, 15, 15, 13, 15, 13}, // Raikou + {15, 15, 15, 13, 15, 12}, // Entei + {15, 15, 15, 13, 16, 12}, // Suicune + {15, 10, 15, 10, 10, 10}, // Larvitar + {15, 11, 15, 11, 8, 11}, // Pupitar + {15, 14, 15, 14, 14, 13}, // Tyranitar + {32, 21, 32, 23, 40, 21}, // Lugia + {32, 22, 31, 22, 38, 24}, // Ho-oh + {16, 14, 16, 14, 9, 14}, // Celebi + {15, 9, 15, 9, 9, 9}, // Treecko + {16, 11, 16, 11, 11, 11}, // Grovyle + {15, 13, 15, 13, 15, 14}, // Sceptile + {15, 10, 15, 10, 8, 10}, // Torchic + {15, 11, 15, 11, 8, 11}, // Combusken + {16, 13, 16, 13, 12, 13}, // Blaziken + {15, 9, 15, 9, 10, 9}, // Mudkip + {15, 10, 15, 10, 9, 10}, // Marshtomp + {15, 13, 15, 13, 15, 13}, // Swampert + {15, 10, 15, 10, 12, 10}, // Poochyena + {16, 14, 16, 12, 15, 12}, // Mightyena + {16, 12, 16, 10, 14, 9}, // Zigzagoon + {16, 13, 14, 10, 15, 8}, // Linoone + {15, 10, 15, 11, 11, 9}, // Wurmple + {16, 8, 16, 8, 10, 8}, // Silcoon + {16, 13, 16, 13, 13, 12}, // Beautifly + {16, 8, 16, 8, 10, 8}, // Cascoon + {15, 11, 15, 11, 12, 15}, // Dustox + {15, 9, 15, 9, 10, 9}, // Lotad + {15, 12, 15, 12, 10, 11}, // Lombre + {16, 14, 16, 14, 13, 14}, // Ludicolo + {15, 9, 15, 9, 8, 9}, // Seedot + {15, 12, 15, 12, 9, 12}, // Nuzleaf + {16, 12, 16, 12, 13, 12}, // Shiftry +#ifndef POKEMON_EXPANSION + {15, 9, 15, 8, 12, 8}, // Nincada + {15, 12, 15, 12, 12, 12}, // Ninjask + {16, 13, 16, 14, 12, 13}, // Shedinja + {15, 9, 15, 9, 10, 8}, // Taillow + {15, 13, 15, 12, 16, 15}, // Swellow + {15, 9, 15, 9, 10, 9}, // Shroomish + {16, 12, 16, 12, 12, 12}, // Breloom + {16, 10, 16, 10, 9, 11}, // Spinda + {15, 11, 15, 10, 12, 13}, // Wingull + {16, 14, 16, 14, 14, 13}, // Pelipper + {15, 9, 15, 9, 10, 9}, // Surskit + {16, 14, 16, 15, 10, 14}, // Masquerain + {16, 11, 16, 11, 13, 11}, // Wailmer + {32, 19, 32, 18, 38, 12}, // Wailord + {15, 10, 15, 9, 12, 9}, // Skitty + {16, 13, 16, 12, 13, 12}, // Delcatty + {16, 11, 16, 11, 10, 11}, // Kecleon + {16, 11, 16, 11, 7, 11}, // Baltoy + {16, 14, 16, 14, 11, 13}, // Claydol + {15, 11, 15, 11, 11, 11}, // Nosepass + {16, 10, 16, 11, 15, 10}, // Torkoal + {16, 9, 16, 9, 9, 10}, // Sableye + {15, 9, 16, 9, 9, 11}, // Barboach + {15, 10, 15, 11, 14, 9}, // Whiscash + {16, 9, 16, 9, 8, 9}, // Luvdisc + {15, 10, 15, 11, 11, 10}, // Corphish + {16, 13, 16, 13, 13, 12}, // Crawdaunt + {16, 9, 16, 9, 10, 9}, // Feebas + {19, 13, 11, 12, 14, 13}, // Milotic + {15, 12, 15, 12, 11, 11}, // Carvanha + {16, 14, 16, 12, 13, 14}, // Sharpedo + {16, 8, 16, 8, 10, 8}, // Trapinch + {16, 13, 16, 11, 15, 14}, // Vibrava + {16, 17, 16, 17, 15, 14}, // Flygon + {16, 10, 16, 10, 9, 11}, // Makuhita + {14, 14, 14, 13, 14, 13}, // Hariyama + {15, 11, 15, 9, 13, 8}, // Electrike + {15, 13, 15, 13, 14, 13}, // Manectric + {15, 12, 15, 12, 15, 12}, // Numel + {15, 14, 15, 14, 17, 12}, // Camerupt + {15, 9, 15, 9, 11, 9}, // Spheal + {15, 12, 15, 13, 15, 12}, // Sealeo + {15, 13, 15, 14, 16, 14}, // Walrein + {15, 9, 15, 9, 8, 9}, // Cacnea + {15, 12, 15, 12, 11, 12}, // Cacturne + {15, 9, 15, 9, 9, 9}, // Snorunt + {16, 12, 16, 12, 11, 14}, // Glalie + {16, 11, 16, 11, 10, 11}, // Lunatone + {16, 13, 16, 13, 8, 13}, // Solrock + {17, 9, 14, 8, 13, 7}, // Azurill + {15, 11, 15, 11, 8, 10}, // Spoink + {15, 11, 15, 11, 11, 11}, // Grumpig + {15, 9, 15, 9, 9, 9}, // Plusle + {15, 9, 15, 9, 9, 9}, // Minun + {17, 11, 14, 11, 13, 11}, // Mawile + {15, 12, 15, 11, 8, 11}, // Meditite + {15, 13, 15, 13, 8, 13}, // Medicham + {16, 12, 16, 11, 11, 10}, // Swablu + {16, 16, 16, 16, 14, 15}, // Altaria + {16, 10, 16, 10, 10, 9}, // Wynaut + {16, 12, 16, 11, 9, 12}, // Duskull + {15, 13, 15, 13, 13, 13}, // Dusclops + {15, 10, 15, 10, 8, 10}, // Roselia + {15, 9, 15, 9, 12, 8}, // Slakoth + {16, 11, 16, 11, 14, 11}, // Vigoroth + {16, 15, 16, 14, 14, 14}, // Slaking + {16, 9, 16, 9, 10, 9}, // Gulpin + {16, 14, 16, 14, 14, 14}, // Swalot + {16, 13, 16, 13, 16, 13}, // Tropius + {16, 8, 16, 8, 8, 8}, // Whismur + {16, 11, 16, 11, 9, 12}, // Loudred + {16, 14, 16, 14, 17, 15}, // Exploud + {15, 8, 15, 8, 8, 9}, // Clamperl + {18, 15, 11, 14, 14, 14}, // Huntail + {17, 16, 12, 14, 15, 11}, // Gorebyss + {14, 14, 16, 14, 15, 13}, // Absol + {15, 11, 15, 11, 8, 11}, // Shuppet + {17, 10, 16, 10, 9, 10}, // Banette + {18, 14, 14, 14, 16, 10}, // Seviper + {15, 12, 15, 12, 13, 12}, // Zangoose + {15, 13, 15, 12, 14, 10}, // Relicanth + {16, 8, 16, 8, 9, 8}, // Aron + {15, 13, 15, 12, 16, 10}, // Lairon + {15, 15, 15, 14, 16, 14}, // Aggron + {15, 11, 15, 10, 7, 10}, // Castform + {15, 14, 15, 14, 12, 12}, // Volbeat + {16, 13, 16, 13, 11, 12}, // Illumise + {16, 11, 16, 12, 10, 11}, // Lileep + {16, 15, 16, 15, 12, 15}, // Cradily + {16, 11, 16, 10, 14, 9}, // Anorith + {15, 13, 15, 12, 13, 13}, // Armaldo + {15, 9, 15, 9, 9, 9}, // Ralts + {15, 11, 15, 11, 9, 11}, // Kirlia + {16, 12, 16, 13, 10, 12}, // Gardevoir + {16, 11, 16, 11, 10, 10}, // Bagon + {16, 10, 16, 10, 11, 10}, // Shelgon + {16, 14, 16, 13, 16, 13}, // Salamence + {15, 13, 15, 12, 12, 12}, // Beldum + {16, 14, 16, 13, 15, 13}, // Metang + {16, 14, 16, 14, 13, 13}, // Metagross + {15, 14, 15, 14, 11, 14}, // Regirock + {15, 13, 15, 13, 12, 13}, // Regice + {16, 13, 16, 13, 10, 13}, // Registeel + {16, 17, 16, 15, 16, 14}, // Kyogre + {15, 16, 16, 16, 16, 16}, // Groudon + {16, 17, 16, 16, 16, 16}, // Rayquaza + {16, 15, 16, 14, 16, 15}, // Latias + {16, 15, 16, 14, 15, 15}, // Latios + {15, 13, 15, 13, 10, 12}, // Jirachi + {16, 14, 16, 14, 9, 13}, // Deoxys (Normal) + {16, 11, 16, 11, 7, 11}, // Chimecho +#else + {15, 9, 15, 9, 10, 8}, // Taillow + {15, 13, 15, 12, 16, 15}, // Swellow + {15, 11, 15, 10, 12, 13}, // Wingull + {16, 14, 16, 14, 14, 13}, // Pelipper + {9, 15, 9, 9, 9}, // Ralts + {15, 11, 15, 11, 9, 11}, // Kirlia + {16, 12, 16, 13, 10, 12}, // Gardevoir + {15, 9, 15, 9, 10, 9}, // Surskit + {16, 14, 16, 15, 10, 14}, // Masquerain + {15, 9, 15, 9, 10, 9}, // Shroomish + {16, 12, 16, 12, 12, 12}, // Breloom + {15, 9, 15, 9, 12, 8}, // Slakoth + {16, 11, 16, 11, 14, 11}, // Vigoroth + {16, 15, 16, 14, 14, 14}, // Slaking + {15, 9, 15, 8, 12, 8}, // Nincada + {15, 12, 15, 12, 12, 12}, // Ninjask + {16, 13, 16, 14, 12, 13}, // Shedinja + {16, 8, 16, 8, 8, 8}, // Whismur + {16, 11, 16, 11, 9, 12}, // Loudred + {16, 14, 16, 14, 17, 15}, // Exploud + {16, 10, 16, 10, 9, 11}, // Makuhita + {14, 14, 14, 13, 14, 13}, // Hariyama + {17, 9, 14, 8, 13, 7}, // Azurill + {15, 11, 15, 11, 11, 11}, // Nosepass + {15, 10, 15, 9, 12, 9}, // Skitty + {16, 13, 16, 12, 13, 12}, // Delcatty + {16, 9, 16, 9, 9, 10}, // Sableye + {17, 11, 14, 11, 13, 11}, // Mawile + {16, 8, 16, 8, 9, 8}, // Aron + {15, 13, 15, 12, 16, 10}, // Lairon + {15, 15, 15, 14, 16, 14}, // Aggron + {15, 12, 15, 11, 8, 11}, // Meditite + {15, 13, 15, 13, 8, 13}, // Medicham + {15, 11, 15, 9, 13, 8}, // Electrike + {15, 13, 15, 13, 14, 13}, // Manectric + {15, 9, 15, 9, 9, 9}, // Plusle + {15, 9, 15, 9, 9, 9}, // Minun + {15, 14, 15, 14, 12, 12}, // Volbeat + {16, 13, 16, 13, 11, 12}, // Illumise + {15, 10, 15, 10, 8, 10}, // Roselia + {16, 9, 16, 9, 10, 9}, // Gulpin + {16, 14, 16, 14, 14, 14}, // Swalot + {15, 12, 15, 12, 11, 11}, // Carvanha + {16, 14, 16, 12, 13, 14}, // Sharpedo + {16, 11, 16, 11, 13, 11}, // Wailmer + {32, 19, 32, 18, 38, 12}, // Wailord + {15, 12, 15, 12, 15, 12}, // Numel + {15, 14, 15, 14, 17, 12}, // Camerupt + {16, 10, 16, 11, 15, 10}, // Torkoal + {15, 11, 15, 11, 8, 10}, // Spoink + {15, 11, 15, 11, 11, 11}, // Grumpig + {16, 10, 16, 10, 9, 11}, // Spinda + {16, 8, 16, 8, 10, 8}, // Trapinch + {16, 13, 16, 11, 15, 14}, // Vibrava + {16, 17, 16, 17, 15, 14}, // Flygon + {15, 9, 15, 9, 8, 9}, // Cacnea + {15, 12, 15, 12, 11, 12}, // Cacturne + {16, 12, 16, 11, 11, 10}, // Swablu + {16, 16, 16, 16, 14, 15}, // Altaria + {15, 12, 15, 12, 13, 12}, // Zangoose + {18, 14, 14, 14, 16, 10}, // Seviper + {16, 11, 16, 11, 10, 11}, // Lunatone + {16, 13, 16, 13, 8, 13}, // Solrock + {15, 9, 16, 9, 9, 11}, // Barboach + {15, 10, 15, 11, 14, 9}, // Whiscash + {15, 10, 15, 11, 11, 10}, // Corphish + {16, 13, 16, 13, 13, 12}, // Crawdaunt + {16, 11, 16, 11, 7, 11}, // Baltoy + {16, 14, 16, 14, 11, 13}, // Claydol + {16, 11, 16, 12, 10, 11}, // Lileep + {16, 15, 16, 15, 12, 15}, // Cradily + {16, 11, 16, 10, 14, 9}, // Anorith + {15, 13, 15, 12, 13, 13}, // Armaldo + {16, 9, 16, 9, 10, 9}, // Feebas + {19, 13, 11, 12, 14, 13}, // Milotic + {15, 11, 15, 10, 7, 10}, // Castform + {16, 11, 16, 11, 10, 11}, // Kecleon + {15, 11, 15, 11, 8, 11}, // Shuppet + {17, 10, 16, 10, 9, 10}, // Banette + {16, 12, 16, 11, 9, 12}, // Duskull + {15, 13, 15, 13, 13, 13}, // Dusclops + {16, 13, 16, 13, 16, 13}, // Tropius + {16, 11, 16, 11, 7, 11}, // Chimecho + {14, 14, 16, 14, 15, 13}, // Absol + {16, 10, 16, 10, 10, 9}, // Wynaut + {15, 9, 15, 9, 9, 9}, // Snorunt + {16, 12, 16, 12, 11, 14}, // Glalie + {15, 9, 15, 9, 11, 9}, // Spheal + {15, 12, 15, 13, 15, 12}, // Sealeo + {15, 13, 15, 14, 16, 14}, // Walrein + {15, 8, 15, 8, 8, 9}, // Clamperl + {18, 15, 11, 14, 14, 14}, // Huntail + {17, 16, 12, 14, 15, 11}, // Gorebyss + {15, 13, 15, 12, 14, 10}, // Relicanth + {16, 9, 16, 9, 8, 9}, // Luvdisc + {16, 11, 16, 11, 10, 10}, // Bagon + {16, 10, 16, 10, 11, 10}, // Shelgon + {16, 14, 16, 13, 16, 13}, // Salamence + {15, 13, 15, 12, 12, 12}, // Beldum + {16, 14, 16, 13, 15, 13}, // Metang + {16, 14, 16, 14, 13, 13}, // Metagross + {15, 14, 15, 14, 11, 14}, // Regirock + {15, 13, 15, 13, 12, 13}, // Regice + {16, 13, 16, 13, 10, 13}, // Registeel + {16, 15, 16, 14, 16, 15}, // Latias + {16, 15, 16, 14, 15, 15}, // Latios + {16, 17, 16, 15, 16, 14}, // Kyogre + {15, 16, 16, 16, 16, 16}, // Groudon + {16, 17, 16, 16, 16, 16}, // Rayquaza + {15, 13, 15, 13, 10, 12}, // Jirachi + {16, 14, 16, 14, 9, 13}, // Deoxys (Normal) +#endif + {16, 15, 16, 15, 12, 13}, // Deoxys (Speed) + {16, 13, 16, 13, 10, 13}, // Deoxys (Defense) + {16, 14, 16, 14, 10, 14}, // Deoxys (Attack) +}; + static const struct WarpData sDummyWarpData = { .mapGroup = MAP_GROUP(UNDEFINED), @@ -367,6 +881,7 @@ void DoWhiteOut(void) HealPlayerParty(); Overworld_ResetStateAfterWhiteOut(); SetWarpDestinationToLastHealLocation(); + UpdateFollowerPokemonGraphic(); WarpIntoMap(); } @@ -419,6 +934,8 @@ static void Overworld_ResetStateAfterWhiteOut(void) VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 0); VarSet(VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_NONE); } + + FollowMe_TryRemoveFollowerOnWhiteOut(); } static void UpdateMiscOverworldStates(void) @@ -487,7 +1004,7 @@ void LoadObjEventTemplatesFromHeader(void) void LoadSaveblockObjEventScripts(void) { - struct ObjectEventTemplate *mapHeaderObjTemplates = gMapHeader.events->objectEvents; + const struct ObjectEventTemplate *mapHeaderObjTemplates = gMapHeader.events->objectEvents; struct ObjectEventTemplate *savObjTemplates = gSaveBlock1Ptr->objectEventTemplates; s32 i; @@ -631,6 +1148,44 @@ static void SetPlayerCoordsFromWarp(void) } } +static void SetFollowerCoordsFromWarp(void) +{ + struct ObjectEvent* player = &gObjectEvents[gPlayerAvatar.objectEventId]; + struct ObjectEvent* follower = &gObjectEvents[gSaveBlock2Ptr->follower.objId]; + + gSaveBlock2Ptr->follower.warpEnd = 0; + + // Based on value passed in via setfollowerwarppos macro, place the follower relative to the player. + // If DIR_NONE, then setup for follower popping out of pokeball + switch(gSpecialVar_Result) + { + case DIR_NONE: + MoveObjectEventToMapCoords(follower, player->currentCoords.x, player->currentCoords.y); + gSaveBlock2Ptr->follower.createSurfBlob = 2; + break; + case DIR_SOUTH: + MoveObjectEventToMapCoords(follower, player->currentCoords.x, player->currentCoords.y + 1); + follower->invisible = FALSE; + gSaveBlock2Ptr->follower.createSurfBlob = 0; + break; + case DIR_NORTH: + MoveObjectEventToMapCoords(follower, player->currentCoords.x, player->currentCoords.y - 1); + follower->invisible = FALSE; + gSaveBlock2Ptr->follower.createSurfBlob = 0; + break; + case DIR_WEST: + MoveObjectEventToMapCoords(follower, player->currentCoords.x - 1, player->currentCoords.y); + follower->invisible = FALSE; + gSaveBlock2Ptr->follower.createSurfBlob = 0; + break; + case DIR_EAST: + MoveObjectEventToMapCoords(follower, player->currentCoords.x + 1, player->currentCoords.y); + follower->invisible = FALSE; + gSaveBlock2Ptr->follower.createSurfBlob = 0; + break; + } +} + void WarpIntoMap(void) { ApplyCurrentWarp(); @@ -1449,6 +2004,10 @@ static void DoCB1_Overworld(u16 newKeys, u16 heldKeys) PlayerStep(inputStruct.dpadDirection, newKeys, heldKeys); } } + + // if stop running but keep holding B -> fix follower frame + if (PlayerHasFollower() && IsPlayerOnFoot() && IsPlayerStandingStill()) + ObjectEventSetHeldMovement(&gObjectEvents[GetFollowerObjectId()], GetFaceDirectionAnimNum(gObjectEvents[GetFollowerObjectId()].facingDirection)); } void CB1_Overworld(void) @@ -1484,6 +2043,20 @@ void CB2_Overworld(void) OverworldBasic(); if (fading) SetFieldVBlankCallback(); + + // Make sure follower's sprite is properly positioned when map reloads. + if (gSaveBlock2Ptr->follower.inProgress) + { + switch(gObjectEvents[gSaveBlock2Ptr->follower.objId].facingDirection) + { + case DIR_EAST: + gSprites[gObjectEvents[gSaveBlock2Ptr->follower.objId].spriteId].x2 = -8; + break; + case DIR_WEST: + gSprites[gObjectEvents[gSaveBlock2Ptr->follower.objId].spriteId].x2 = 8; + break; + } + } } void SetMainCallback1(MainCallback cb) @@ -1580,6 +2153,10 @@ static void CB2_LoadMap2(void) SetFieldVBlankCallback(); SetMainCallback1(CB1_Overworld); SetMainCallback2(CB2_Overworld); + + // Handle placing follower after warp as determined via setfollowerwarppos macro + if (gSaveBlock2Ptr->follower.inProgress && gSaveBlock2Ptr->follower.createSurfBlob == 1) + SetFollowerCoordsFromWarp(); } void CB2_ReturnToFieldContestHall(void) @@ -1666,6 +2243,7 @@ void CB2_ReturnToFieldWithOpenMenu(void) { FieldClearVBlankHBlankCallbacks(); gFieldCallback2 = FieldCB_ReturnToFieldOpenStartMenu; + UpdateFollowerPokemonGraphic(); CB2_ReturnToField(); } @@ -1967,6 +2545,12 @@ static bool32 ReturnToFieldLocal(u8 *state) break; case 1: InitViewGraphics(); + + #if FAST_FOLLOWERS == TRUE + if (FlagGet(FLAG_FOLLOWER_IN_BUILDING)) + FieldSetDoorOpened(gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x, gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y - 1); + #endif + TryLoadTrainerHillEReaderPalette(); (*state)++; break; @@ -2132,10 +2716,7 @@ static void ResumeMap(bool32 a1) ResetAllPicSprites(); ResetCameraUpdateInfo(); InstallCameraPanAheadCallback(); - if (!a1) - InitObjectEventPalettes(0); - else - InitObjectEventPalettes(1); + FreeAllSpritePalettes(); FieldEffectActiveListClear(); StartWeather(); @@ -2170,6 +2751,7 @@ static void InitObjectEventsLocal(void) ResetInitialPlayerAvatarState(); TrySpawnObjectEvents(0, 0); TryRunOnWarpIntoMapScript(); + FollowMe_HandleSprite(); } static void InitObjectEventsReturnToField(void) @@ -2719,7 +3301,7 @@ static bool32 CanCableClubPlayerPressStart(struct CableClubPlayer *player) return FALSE; } -static u8 *TryGetTileEventScript(struct CableClubPlayer *player) +static const u8 *TryGetTileEventScript(struct CableClubPlayer *player) { if (player->movementMode != MOVEMENT_MODE_SCRIPTED) return FACING_NONE; @@ -3220,3 +3802,568 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite) sprite->data[7]++; } } + +void UpdateFollowerPokemonGraphic(void) +{ + // Loaded in case the player changed the species of the Pokemon in the lead of the party. + // If so, the following Pokemon needs to change. + u16 leadMonGraphicId = GetMonData(&gPlayerParty[GetLeadMonNotFaintedIndex()], MON_DATA_SPECIES, NULL) + OBJ_EVENT_GFX_BULBASAUR - 1; + struct ObjectEvent *follower = &gObjectEvents[gSaveBlock2Ptr->follower.objId]; + + // If the lead Pokemon is Unown, use the correct sprite + if (leadMonGraphicId == OBJ_EVENT_GFX_UNOWN_A) + { + u8 unownLetter = GET_UNOWN_LETTER(GetMonData(&gPlayerParty[GetLeadMonNotFaintedIndex()], MON_DATA_PERSONALITY)); + + // If the Unown is not A, set the graphics id to the proper Unown + if (unownLetter) + leadMonGraphicId = OBJ_EVENT_GFX_DEOXYS_SPEED + unownLetter; + } + + if(gSaveBlock2Ptr->follower.inProgress && leadMonGraphicId != gSaveBlock2Ptr->follower.graphicsId) + { + // Sets the follower's graphic data to the proper following Pokemon graphic data + gSaveBlock2Ptr->follower.graphicsId = leadMonGraphicId; + + // Sets the current follower object's graphic data to the proper data. + // Necessary because, without it, the follower's sprite won't change until entering a loading zone. + follower->graphicsId = leadMonGraphicId; + + // Specifically for Pokemon Center, if lead Pokemon is revived, deletes old follower and creates new one + if(gSpecialVar_Unused_0x8014 == 1) + { + u8 newSpriteId; + struct ObjectEventTemplate clone; + struct ObjectEvent backupFollower = *follower; + backupFollower.graphicsId = gSaveBlock2Ptr->follower.graphicsId; + DestroySprite(&gSprites[gObjectEvents[gSaveBlock2Ptr->follower.objId].spriteId]); + RemoveObjectEvent(&gObjectEvents[gSaveBlock2Ptr->follower.objId]); + + clone = *GetObjectEventTemplateByLocalIdAndMap(gSaveBlock2Ptr->follower.map.id, gSaveBlock2Ptr->follower.map.number, gSaveBlock2Ptr->follower.map.group); + clone.graphicsId = gSaveBlock2Ptr->follower.graphicsId;; + gSaveBlock2Ptr->follower.objId = TrySpawnObjectEventTemplate(&clone, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, clone.x, clone.y); + + follower = &gObjectEvents[gSaveBlock2Ptr->follower.objId]; + newSpriteId = follower->spriteId; + *follower = backupFollower; + follower->spriteId = newSpriteId; + MoveObjectEventToMapCoords(follower, follower->currentCoords.x, follower->currentCoords.y); + ObjectEventTurn(follower, follower->facingDirection); + gSpecialVar_Unused_0x8014 = 0; + } + } +} + +static void SparkleCallback(struct Sprite *sprite) +{ + if (++sprite->data[0] >= 19) + { + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); + } +} + +static void BigSparkleCallback(struct Sprite *sprite) +{ + if (sprite->data[0] % 2 == 0) + { + switch(sprite->data[7]) + { + // North Sparkle + case 0: + sprite->x++; + break; + // NorthEast Sparkle + case 1: + if (sprite->data[0] % 4 == 0) + sprite->y++; + else + sprite->x++; + break; + // East sparkle + case 2: + sprite->y++; + break; + // SouthEast Sparkle + case 3: + if (sprite->data[0] % 4 == 0) + sprite->y++; + else + sprite->x--; + break; + // South Sparkle + case 4: + sprite->x--; + break; + // SouthWest Sparkle + case 5: + if (sprite->data[0] % 4 == 0) + sprite->y--; + else + sprite->x--; + break; + // West Sparkle + case 6: + sprite->y--; + break; + // NorthWest Sparkle + case 7: + if (sprite->data[0] % 4 == 0) + sprite->y--; + else + sprite->x++; + break; + } + } + + if (++sprite->data[0] >= 19) + { + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); + } +} + +bool8 IsBigSprite(u16 graphicsId) +{ + switch(graphicsId) + { + case OBJ_EVENT_GFX_STEELIX: + case OBJ_EVENT_GFX_LUGIA_FOLLOWER: + case OBJ_EVENT_GFX_HOOH_FOLLOWER: + case OBJ_EVENT_GFX_WAILORD: + return TRUE; + default: + return FALSE; + } +} + +static void SparklePokeballCallback(struct Sprite *sprite) +{ + sprite->data[0]++; + + if (sprite->data[0] >= 10) + { + struct ObjectEvent *player = &gObjectEvents[gPlayerAvatar.objectEventId]; + struct ObjectEvent *follower = &gObjectEvents[gSaveBlock2Ptr->follower.objId]; + s16 x = gSprites[follower->spriteId].x; + s16 y = gSprites[follower->spriteId].y; + u8 spriteId; + u16 graphicsId; + + DestroySprite(sprite); + + gSprites[follower->spriteId].oam.priority = ElevationToPriority(follower->previousElevation); + gSprites[gPlayerAvatar.spriteId].oam.priority = ElevationToPriority(player->previousElevation); + player->fixedPriority = FALSE; + + // Shift the location of the sparkle, depending on which way the follower will be facing + // Account for the other Unown forms + if (gSaveBlock2Ptr->follower.graphicsId > OBJ_EVENT_GFX_DEOXYS_SPEED) + graphicsId = 200; + #ifndef POKEMON_EXPANSION + else if (gSaveBlock2Ptr->follower.graphicsId > OBJ_EVENT_GFX_CELEBI) // Gen 3+ OBJ_EVENT_GFX constants are 25 too high due to OLD_UNOWN constants. + graphicsId = gSaveBlock2Ptr->follower.graphicsId - OBJ_EVENT_GFX_BULBASAUR - 25; + #endif + else + graphicsId = gSaveBlock2Ptr->follower.graphicsId - OBJ_EVENT_GFX_BULBASAUR; + + switch(gObjectEvents[gPlayerAvatar.objectEventId].facingDirection) + { + case DIR_SOUTH: + x -= 16 - FollowerSparkleCoords[graphicsId][0]; + if (IsBigSprite(follower->graphicsId)) + x -= 16; + + y += 16 - FollowerSparkleCoords[graphicsId][1]; + + break; + case DIR_NORTH: + x -= 16 - FollowerSparkleCoords[graphicsId][2]; + if (IsBigSprite(follower->graphicsId)) + x -= 16; + + y += 16 - FollowerSparkleCoords[graphicsId][3]; + + break; + case DIR_EAST: + x += 7 - FollowerSparkleCoords[graphicsId][4]; // 7 looks better than 8 + if (IsBigSprite(follower->graphicsId)) + x += 16; + + y += 16 - FollowerSparkleCoords[graphicsId][5]; + + break; + case DIR_WEST: + x -= 8 - FollowerSparkleCoords[graphicsId][4]; + if (IsBigSprite(follower->graphicsId)) + x -= 16; + + y += 16 - FollowerSparkleCoords[graphicsId][5]; + + break; + } + + if (IsBigSprite(follower->graphicsId)) + { + // North sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &BigSparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[7] = 0; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 0); + } + + // NorthEast sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &BigSparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[7] = 1; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 1); + } + + // East sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &BigSparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[7] = 2; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 2); + } + + // SouthEast sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &BigSparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[7] = 3; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 3); + } + + // South sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &BigSparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[7] = 4; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 4); + } + + // SouthWest sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &BigSparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[7] = 5; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 5); + } + + // West sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &BigSparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[7] = 6; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 6); + } + + // NorthWest sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &BigSparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[7] = 7; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 7); + } + } + else + { + // North sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &SparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 0); + } + + // NorthEast sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &SparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 1); + } + + // East sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &SparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 2); + } + + // SouthEast sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &SparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 3); + } + + // South sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &SparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 4); + } + + // SouthWest sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &SparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 5); + } + + // West sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &SparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 6); + } + + // NorthWest sparkle + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_EXPANDING_SPARKLE, &SparkleCallback, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 7); + } + } + } +} + +void FollowerPokeballSparkle(void) +{ + if (gObjectEvents[gSaveBlock2Ptr->follower.objId].invisible == TRUE && gSaveBlock2Ptr->follower.comeOutDoorStairs == 0 && !(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_UNDERWATER) && gSaveBlock2Ptr->follower.inProgress) + { + struct ObjectEvent *player = &gObjectEvents[gPlayerAvatar.objectEventId]; + struct ObjectEvent *follower = &gObjectEvents[gSaveBlock2Ptr->follower.objId]; + s16 x = player->currentCoords.x; + s16 y = player->currentCoords.y; + u8 spriteId; + + switch(player->facingDirection) + { + case DIR_SOUTH: + SetSpritePosToOffsetMapCoords(&x, &y, 8, 4); + gSprites[follower->spriteId].y = y - 4; + break; + case DIR_NORTH: + SetSpritePosToOffsetMapCoords(&x, &y, 8, 0); + gSprites[follower->spriteId].y = y; + break; + case DIR_EAST: + case DIR_WEST: + SetSpritePosToOffsetMapCoords(&x, &y, 8, 8); + gSprites[follower->spriteId].y = y - 8; + break; + } + gSprites[follower->spriteId].x = x; + + switch(GetMonData(&gPlayerParty[GetLeadMonNotFaintedIndex()], MON_DATA_POKEBALL)) + { + case ITEM_MASTER_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_MASTER_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_ULTRA_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_ULTRA_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_GREAT_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_GREAT_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_SAFARI_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_SAFARI_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_NET_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_NET_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_DIVE_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_DIVE_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_NEST_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_NEST_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_REPEAT_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_REPEAT_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_TIMER_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_TIMER_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_LUXURY_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_LUXURY_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_PREMIER_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_PREMIER_BALL, &SparklePokeballCallback, x, y, 2); + break; + #ifdef ITEM_EXPANSION + case ITEM_HEAL_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_HEAL_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_DUSK_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_DUSK_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_QUICK_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_QUICK_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_LEVEL_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_LEVEL_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_LURE_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_LURE_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_MOON_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_MOON_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_FRIEND_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_FRIEND_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_LOVE_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_LOVE_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_FAST_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_FAST_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_HEAVY_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_HEAVY_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_DREAM_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_DREAM_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_SPORT_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_SPORT_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_PARK_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_PARK_BALL, &SparklePokeballCallback, x, y, 2); + break; + case ITEM_CHERISH_BALL: + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_CHERISH_BALL, &SparklePokeballCallback, x, y, 2); + break; + #endif + default: // PokeBall + spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_ITEM_BALL, &SparklePokeballCallback, x, y, 2); + break; + } + + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 2; + gSprites[spriteId].data[0] = 0; + } + + follower->currentCoords.x = player->currentCoords.x; + follower->currentCoords.y = player->currentCoords.y; + follower->facingDirection = player->facingDirection; + + gSprites[follower->spriteId].animNum = player->facingDirection - 1; + + if (player->facingDirection == DIR_NORTH) + { + gSprites[follower->spriteId].oam.priority = 0; + gSprites[follower->spriteId].subpriority = 0; + gSprites[gPlayerAvatar.spriteId].oam.priority = 1; + gSprites[gPlayerAvatar.spriteId].subpriority = 1; + } + else + { + gSprites[follower->spriteId].oam.priority = 1; + gSprites[follower->spriteId].subpriority = 1; + gSprites[gPlayerAvatar.spriteId].oam.priority = 0; + gSprites[gPlayerAvatar.spriteId].subpriority = 0; + } + player->fixedPriority = TRUE; + gPlayerAvatar.preventStep = TRUE; + + SeekSpriteAnim(&gSprites[follower->spriteId], 0); + ObjectEventForceSetHeldMovement(follower, MOVEMENT_ACTION_FOLLOWING_POKEMON_GROW); + } +} + +void FollowerIntoPokeball(void) +{ + if (gObjectEvents[gSaveBlock2Ptr->follower.objId].invisible == FALSE && gSaveBlock2Ptr->follower.inProgress) + { + gSaveBlock2Ptr->follower.comeOutDoorStairs = 0; + gPlayerAvatar.preventStep = TRUE; + ObjectEventForceSetHeldMovement(&gObjectEvents[gSaveBlock2Ptr->follower.objId], MOVEMENT_ACTION_FOLLOWING_POKEMON_SHRINK); + gSpecialVar_Unused_0x8014 = 1; + } +} diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 7d9f71f55..992c28a4c 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -654,6 +654,7 @@ static void SetMovingMonPriority(u8); static void SpriteCB_HeldMon(struct Sprite *); static struct Sprite *CreateMonIconSprite(u16, u32, s16, s16, u8, u8); static void DestroyBoxMonIcon(struct Sprite *); +extern void UpdateFollowerPokemonGraphic(void); // Pokémon data static void MoveMon(void); @@ -1699,6 +1700,7 @@ static void CB2_ExitPokeStorage(void) { sPreviousBoxOption = GetCurrentBoxOption(); gFieldCallback = FieldTask_ReturnToPcMenu; + UpdateFollowerPokemonGraphic(); SetMainCallback2(CB2_ReturnToField); } diff --git a/src/rotating_gate.c b/src/rotating_gate.c index f9e732eb7..059ece90b 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -3,6 +3,7 @@ #include "event_data.h" #include "event_object_movement.h" #include "fieldmap.h" +#include "field_weather.h" #include "sound.h" #include "sprite.h" #include "constants/songs.h" @@ -241,7 +242,6 @@ static const struct OamData sOamData_RotatingGateLarge = .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, - .paletteNum = 2, .affineParam = 0, }; @@ -258,7 +258,6 @@ static const struct OamData sOamData_RotatingGateRegular = .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 2, - .paletteNum = 2, .affineParam = 0, }; @@ -460,7 +459,7 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_RotatingGate[] = static const struct SpriteTemplate sSpriteTemplate_RotatingGateLarge = { .tileTag = ROTATING_GATE_TILE_TAG, - .paletteTag = TAG_NONE, + .paletteTag = 0x1103, // OBJ_EVENT_PAL_TAG_NPC_1 .oam = &sOamData_RotatingGateLarge, .anims = sSpriteAnimTable_RotatingGateLarge, .images = NULL, @@ -471,7 +470,7 @@ static const struct SpriteTemplate sSpriteTemplate_RotatingGateLarge = static const struct SpriteTemplate sSpriteTemplate_RotatingGateRegular = { .tileTag = ROTATING_GATE_TILE_TAG, - .paletteTag = TAG_NONE, + .paletteTag = 0x1103, // OBJ_EVENT_PAL_TAG_NPC_1 .oam = &sOamData_RotatingGateRegular, .anims = sSpriteAnimTable_RotatingGateRegular, .images = NULL, @@ -743,10 +742,17 @@ static u8 RotatingGate_CreateGate(u8 gateId, s16 deltaX, s16 deltaY) x = gate->x + MAP_OFFSET; y = gate->y + MAP_OFFSET; + + if (template.paletteTag != 0xFFFF) + { + LoadObjectEventPalette(template.paletteTag); + UpdatePaletteGammaType(IndexOfSpritePaletteTag(template.paletteTag), COLOR_MAP_CONTRAST); + } sprite = &gSprites[spriteId]; sprite->data[0] = gateId; sprite->coordOffsetEnabled = 1; + sprite->oam.paletteNum = IndexOfSpritePaletteTag(template.paletteTag); GetMapCoordsFromSpritePos(x + deltaX, y + deltaY, &sprite->x, &sprite->y); RotatingGate_HideGatesOutsideViewport(sprite); diff --git a/src/scrcmd.c b/src/scrcmd.c index 3a5a17fa8..1ac5ccb39 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1177,7 +1177,7 @@ bool8 ScrCmd_setobjectmovementtype(struct ScriptContext *ctx) bool8 ScrCmd_createvobject(struct ScriptContext *ctx) { - u8 graphicsId = ScriptReadByte(ctx); + u16 graphicsId = ScriptReadByte(ctx); u8 virtualObjId = ScriptReadByte(ctx); u16 x = VarGet(ScriptReadHalfword(ctx)); u32 y = VarGet(ScriptReadHalfword(ctx)); @@ -2324,3 +2324,79 @@ bool8 ScrCmd_warpwhitefade(struct ScriptContext *ctx) ResetInitialPlayerAvatarState(); return TRUE; } + +bool8 ScrCmd_pokemonfaceplayer(struct ScriptContext *ctx) +{ + // The script will affect the following Pokemon if no argument is passed to it. + if(gSpecialVar_Unused_0x8014 == OBJ_EVENT_ID_FOLLOWER) + { + ObjectEventClearHeldMovement(&gObjectEvents[gSaveBlock2Ptr->follower.objId]); + ObjectEventPokemonFacePlayer(&gObjectEvents[gSaveBlock2Ptr->follower.objId], &gObjectEvents[gPlayerAvatar.objectEventId]); + } + // The script will affect an event object based on the local id passed to the script. + else + { + gSpecialVar_Unused_0x8014 = GetObjectEventIdByLocalIdAndMap(gSpecialVar_Unused_0x8014, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + ObjectEventClearHeldMovement(&gObjectEvents[gSpecialVar_Unused_0x8014]); + + #define POW2(num) (num * num) + + // Checks to see whether the object is furthest away from the player along the x or y axis. + if(POW2((gObjectEvents[gSpecialVar_Unused_0x8014].currentCoords.x - gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x)) < POW2((gObjectEvents[gSpecialVar_Unused_0x8014].currentCoords.y - gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y))) + { + // Player is South of object + if(gObjectEvents[gSpecialVar_Unused_0x8014].currentCoords.y < gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y) + { + ObjectEventSetHeldMovement(&gObjectEvents[gSpecialVar_Unused_0x8014], 159); + } + // Player is North of object + else + { + ObjectEventSetHeldMovement(&gObjectEvents[gSpecialVar_Unused_0x8014], 160); + } + } + else + { + // Player is East of object + if(gObjectEvents[gSpecialVar_Unused_0x8014].currentCoords.x < gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x) + { + ObjectEventSetHeldMovement(&gObjectEvents[gSpecialVar_Unused_0x8014], 162); + } + // Player is West of object + else + { + ObjectEventSetHeldMovement(&gObjectEvents[gSpecialVar_Unused_0x8014], 161); + } + } + } + return TRUE; +} + +// follow me script commands +#include "follow_me.h" +bool8 ScrCmd_setfollower(struct ScriptContext *ctx) +{ + u8 localId = ScriptReadByte(ctx); + u16 flags = ScriptReadHalfword(ctx); + + SetUpFollowerSprite(localId, flags); + return FALSE; +} + +bool8 ScrCmd_destroyfollower(struct ScriptContext *ctx) +{ + DestroyFollower(); + return FALSE; +} + +bool8 ScrCmd_facefollower(struct ScriptContext *ctx) +{ + PlayerFaceFollowerSprite(); + return FALSE; +} + +bool8 ScrCmd_checkfollower(struct ScriptContext *ctx) +{ + CheckPlayerHasFollower(); + return FALSE; +} \ No newline at end of file diff --git a/src/script.c b/src/script.c index c252c95f0..e6ebe9890 100644 --- a/src/script.c +++ b/src/script.c @@ -468,3 +468,10 @@ void InitRamScript_NoObjectEvent(u8 *script, u16 scriptSize) scriptSize = sizeof(gSaveBlock1Ptr->ramScript.data.script); InitRamScript(script, scriptSize, MAP_GROUP(UNDEFINED), MAP_NUM(UNDEFINED), NO_OBJECT); } + +u8* ReadWord(u8 index) +{ + struct ScriptContext *ctx = &sGlobalScriptContext; + + return (T1_READ_PTR(&ctx->data[index])); +} diff --git a/src/script_movement.c b/src/script_movement.c index 10517dfc8..5a638b0f0 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -1,4 +1,5 @@ #include "global.h" +#include "event_data.h" #include "script_movement.h" #include "event_object_movement.h" #include "task.h" @@ -26,6 +27,14 @@ bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGrou return TRUE; if (!FuncIsActiveTask(ScriptMovement_MoveObjects)) ScriptMovement_StartMoveObjects(50); + if (gSaveBlock2Ptr->follower.inProgress && objEventId == gSaveBlock2Ptr->follower.objId) + { + gSaveBlock2Ptr->follower.comeOutDoorStairs = 0; + gSaveBlock2Ptr->follower.warpEnd = 0; + #if FAST_FOLLOWERS == TRUE + FlagClear(FLAG_FOLLOWER_IN_BUILDING); + #endif + } return ScriptMovement_TryAddNewMovement(GetMoveObjectsTaskId(), objEventId, movementScript); } diff --git a/src/trainer_hill.c b/src/trainer_hill.c index f6ee9e818..2995a2cb2 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -685,7 +685,8 @@ static u16 GetMetatileForFloor(u8 floorId, u32 x, u32 y, u32 floorWidth) // floo void GenerateTrainerHillFloorLayout(u16 *mapArg) { s32 y, x; - u16 *src, *dst; + const u16 *src; + u16 *dst; u8 mapId = GetCurrentTrainerHillMapId(); if (mapId == TRAINER_HILL_ENTRANCE) diff --git a/src/trainer_see.c b/src/trainer_see.c index 8d3450628..f7877d1ed 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -4,6 +4,7 @@ #include "event_object_movement.h" #include "field_effect.h" #include "field_player_avatar.h" +#include "field_weather.h" #include "pokemon.h" #include "script.h" #include "script_movement.h" @@ -19,6 +20,9 @@ #include "constants/field_effects.h" #include "constants/trainer_types.h" +extern const struct SpritePalette sObjectEventSpritePalettes[]; +extern const struct SpritePalette gObjectEventPal_Npc1; + // this file's functions static u8 CheckTrainer(u8 objectEventId); static u8 GetTrainerApproachDistance(struct ObjectEvent *trainerObj); @@ -168,7 +172,7 @@ static const union AnimCmd *const sSpriteAnimTable_Icons[] = static const struct SpriteTemplate sSpriteTemplate_ExclamationQuestionMark = { .tileTag = TAG_NONE, - .paletteTag = TAG_NONE, + .paletteTag = 0x1100, ////LoadObjectEventPalette(OBJ_EVENT_PAL_TAG_BRENDAN) .oam = &sOamData_Icons, .anims = sSpriteAnimTable_Icons, .images = sSpriteImageTable_ExclamationQuestionMark, @@ -698,7 +702,10 @@ void TryPrepareSecondApproachingTrainer(void) u8 FldEff_ExclamationMarkIcon(void) { - u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_ExclamationQuestionMark, 0, 0, 0x53); + u8 spriteId, paletteNum; + + LoadObjectEventPalette(0x1100); //LoadObjectEventPalette(OBJ_EVENT_PAL_TAG_BRENDAN) + spriteId = CreateSpriteAtEnd(&sSpriteTemplate_ExclamationQuestionMark, 0, 0, 0x52); if (spriteId != MAX_SPRITES) SetIconSpriteData(&gSprites[spriteId], FLDEFF_EXCLAMATION_MARK_ICON, 0); @@ -708,7 +715,10 @@ u8 FldEff_ExclamationMarkIcon(void) u8 FldEff_QuestionMarkIcon(void) { - u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_ExclamationQuestionMark, 0, 0, 0x52); + u8 spriteId; + + LoadObjectEventPalette(0x1100); //LoadObjectEventPalette(OBJ_EVENT_PAL_TAG_BRENDAN) + spriteId = CreateSpriteAtEnd(&sSpriteTemplate_ExclamationQuestionMark, 0, 0, 0x52); if (spriteId != MAX_SPRITES) SetIconSpriteData(&gSprites[spriteId], FLDEFF_QUESTION_MARK_ICON, 1); @@ -718,7 +728,10 @@ u8 FldEff_QuestionMarkIcon(void) u8 FldEff_HeartIcon(void) { - u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_HeartIcon, 0, 0, 0x52); + u8 spriteId; + + LoadSpritePalette(&gObjectEventPal_Npc1); + spriteId = CreateSpriteAtEnd(&sSpriteTemplate_HeartIcon, 0, 0, 0x52); if (spriteId != MAX_SPRITES) {