Rearranged Poke Ball item ids.

This commit is contained in:
ultima-soul 2021-06-18 21:46:20 -07:00
parent bca67ac683
commit 9e0b866f09
10 changed files with 726 additions and 729 deletions

View File

@ -3,39 +3,39 @@
#define ITEM_NONE 0 #define ITEM_NONE 0
// Balls // Balls
#define ITEM_MASTER_BALL 1 #define ITEM_POKE_BALL 1
#define ITEM_ULTRA_BALL 2 #define ITEM_GREAT_BALL 2
#define ITEM_GREAT_BALL 3 #define ITEM_ULTRA_BALL 3
#define ITEM_POKE_BALL 4 #define ITEM_MASTER_BALL 4
#define ITEM_SAFARI_BALL 5 #define ITEM_PREMIER_BALL 5
#define ITEM_NET_BALL 6 #define ITEM_HEAL_BALL 6
#define ITEM_DIVE_BALL 7 #define ITEM_NET_BALL 7
#define ITEM_NEST_BALL 8 #define ITEM_NEST_BALL 8
#define ITEM_REPEAT_BALL 9 #define ITEM_DIVE_BALL 9
#define ITEM_TIMER_BALL 10 #define ITEM_DUSK_BALL 10
#define ITEM_LUXURY_BALL 11 #define ITEM_TIMER_BALL 11
#define ITEM_DUSK_BALL 12 #define ITEM_QUICK_BALL 12
#define ITEM_HEAL_BALL 13 #define ITEM_REPEAT_BALL 13
#define ITEM_QUICK_BALL 14 #define ITEM_LUXURY_BALL 14
#define ITEM_CHERISH_BALL 15 #define ITEM_LEVEL_BALL 15
#define ITEM_FAST_BALL 16 #define ITEM_LURE_BALL 16
#define ITEM_LEVEL_BALL 17 #define ITEM_MOON_BALL 17
#define ITEM_LURE_BALL 18 #define ITEM_FRIEND_BALL 18
#define ITEM_HEAVY_BALL 19 #define ITEM_LOVE_BALL 19
#define ITEM_LOVE_BALL 20 #define ITEM_FAST_BALL 20
#define ITEM_FRIEND_BALL 21 #define ITEM_HEAVY_BALL 21
#define ITEM_MOON_BALL 22 #define ITEM_DREAM_BALL 22
#define ITEM_SPORT_BALL 23 #define ITEM_SAFARI_BALL 23
#define ITEM_PARK_BALL 24 #define ITEM_SPORT_BALL 24
#define ITEM_DREAM_BALL 25 #define ITEM_PARK_BALL 25
#define ITEM_BEAST_BALL 26 #define ITEM_BEAST_BALL 26
#define ITEM_PREMIER_BALL 27 #define ITEM_CHERISH_BALL 27
// Note: If moving ball IDs around, updating FIRST_BALL/LAST_BALL is not sufficient // Note: If moving ball IDs around, updating FIRST_BALL/LAST_BALL is not sufficient
// Several places expect the ball IDs to be first and contiguous (e.g. MON_DATA_POKEBALL) // Several places expect the ball IDs to be first and contiguous (e.g. MON_DATA_POKEBALL)
// If adding new balls, it's easiest to insert them after the last ball and increment the below IDs (and removing ITEM_034 for example) // If adding new balls, it's easiest to insert them after the last ball and increment the below IDs (and removing ITEM_034 for example)
#define FIRST_BALL ITEM_MASTER_BALL #define FIRST_BALL ITEM_POKE_BALL
#define LAST_BALL ITEM_PREMIER_BALL #define LAST_BALL ITEM_CHERISH_BALL
// Pokemon Items // Pokemon Items
#define ITEM_POTION 28 #define ITEM_POTION 28

View File

@ -10,26 +10,30 @@ extern const u32 gInterfaceGfx_PokeBall[];
extern const u32 gInterfacePal_PokeBall[]; extern const u32 gInterfacePal_PokeBall[];
extern const u32 gInterfaceGfx_GreatBall[]; extern const u32 gInterfaceGfx_GreatBall[];
extern const u32 gInterfacePal_GreatBall[]; extern const u32 gInterfacePal_GreatBall[];
extern const u32 gInterfaceGfx_SafariBall[];
extern const u32 gInterfacePal_SafariBall[];
extern const u32 gInterfaceGfx_UltraBall[]; extern const u32 gInterfaceGfx_UltraBall[];
extern const u32 gInterfacePal_UltraBall[]; extern const u32 gInterfacePal_UltraBall[];
extern const u32 gInterfaceGfx_MasterBall[]; extern const u32 gInterfaceGfx_MasterBall[];
extern const u32 gInterfacePal_MasterBall[]; extern const u32 gInterfacePal_MasterBall[];
extern const u32 gInterfaceGfx_NetBall[];
extern const u32 gInterfacePal_NetBall[];
extern const u32 gInterfaceGfx_DiveBall[];
extern const u32 gInterfacePal_DiveBall[];
extern const u32 gInterfaceGfx_NestBall[];
extern const u32 gInterfacePal_NestBall[];
extern const u32 gInterfaceGfx_RepeatBall[];
extern const u32 gInterfacePal_RepeatBall[];
extern const u32 gInterfaceGfx_TimerBall[];
extern const u32 gInterfacePal_TimerBall[];
extern const u32 gInterfaceGfx_LuxuryBall[];
extern const u32 gInterfacePal_LuxuryBall[];
extern const u32 gInterfaceGfx_PremierBall[]; extern const u32 gInterfaceGfx_PremierBall[];
extern const u32 gInterfacePal_PremierBall[]; extern const u32 gInterfacePal_PremierBall[];
extern const u32 gInterfaceGfx_HealBall[];
extern const u32 gInterfacePal_HealBall[];
extern const u32 gInterfaceGfx_NetBall[];
extern const u32 gInterfacePal_NetBall[];
extern const u32 gInterfaceGfx_NestBall[];
extern const u32 gInterfacePal_NestBall[];
extern const u32 gInterfaceGfx_DiveBall[];
extern const u32 gInterfacePal_DiveBall[];
extern const u32 gInterfaceGfx_DuskBall[];
extern const u32 gInterfacePal_DuskBall[];
extern const u32 gInterfaceGfx_TimerBall[];
extern const u32 gInterfacePal_TimerBall[];
extern const u32 gInterfaceGfx_QuickBall[];
extern const u32 gInterfacePal_QuickBall[];
extern const u32 gInterfaceGfx_RepeatBall[];
extern const u32 gInterfacePal_RepeatBall[];
extern const u32 gInterfaceGfx_LuxuryBall[];
extern const u32 gInterfacePal_LuxuryBall[];
extern const u32 gInterfaceGfx_LevelBall[]; extern const u32 gInterfaceGfx_LevelBall[];
extern const u32 gInterfacePal_LevelBall[]; extern const u32 gInterfacePal_LevelBall[];
extern const u32 gInterfaceGfx_LureBall[]; extern const u32 gInterfaceGfx_LureBall[];
@ -40,26 +44,22 @@ extern const u32 gInterfaceGfx_FriendBall[];
extern const u32 gInterfacePal_FriendBall[]; extern const u32 gInterfacePal_FriendBall[];
extern const u32 gInterfaceGfx_LoveBall[]; extern const u32 gInterfaceGfx_LoveBall[];
extern const u32 gInterfacePal_LoveBall[]; extern const u32 gInterfacePal_LoveBall[];
extern const u32 gInterfaceGfx_HeavyBall[];
extern const u32 gInterfacePal_HeavyBall[];
extern const u32 gInterfaceGfx_FastBall[]; extern const u32 gInterfaceGfx_FastBall[];
extern const u32 gInterfacePal_FastBall[]; extern const u32 gInterfacePal_FastBall[];
extern const u32 gInterfaceGfx_SportBall[]; extern const u32 gInterfaceGfx_HeavyBall[];
extern const u32 gInterfacePal_SportBall[]; extern const u32 gInterfacePal_HeavyBall[];
extern const u32 gInterfaceGfx_DuskBall[];
extern const u32 gInterfacePal_DuskBall[];
extern const u32 gInterfaceGfx_QuickBall[];
extern const u32 gInterfacePal_QuickBall[];
extern const u32 gInterfaceGfx_HealBall[];
extern const u32 gInterfacePal_HealBall[];
extern const u32 gInterfaceGfx_CherishBall[];
extern const u32 gInterfacePal_CherishBall[];
extern const u32 gInterfaceGfx_ParkBall[];
extern const u32 gInterfacePal_ParkBall[];
extern const u32 gInterfaceGfx_DreamBall[]; extern const u32 gInterfaceGfx_DreamBall[];
extern const u32 gInterfacePal_DreamBall[]; extern const u32 gInterfacePal_DreamBall[];
extern const u32 gInterfaceGfx_SafariBall[];
extern const u32 gInterfacePal_SafariBall[];
extern const u32 gInterfaceGfx_SportBall[];
extern const u32 gInterfacePal_SportBall[];
extern const u32 gInterfaceGfx_ParkBall[];
extern const u32 gInterfacePal_ParkBall[];
extern const u32 gInterfaceGfx_BeastBall[]; extern const u32 gInterfaceGfx_BeastBall[];
extern const u32 gInterfacePal_BeastBall[]; extern const u32 gInterfacePal_BeastBall[];
extern const u32 gInterfaceGfx_CherishBall[];
extern const u32 gInterfacePal_CherishBall[];
extern const u32 gOpenPokeballGfx[]; extern const u32 gOpenPokeballGfx[];
// pokemon gfx // pokemon gfx
@ -3393,28 +3393,32 @@ extern const u32 gRaySceneChasesAway_Light_Gfx[];
extern const u32 gRaySceneChasesAway_Ring_Gfx[]; extern const u32 gRaySceneChasesAway_Ring_Gfx[];
// Pokeballs // Pokeballs
extern const u32 gItemIcon_MasterBall[];
extern const u32 gItemIconPalette_MasterBall[];
extern const u32 gItemIcon_UltraBall[];
extern const u32 gItemIconPalette_UltraBall[];
extern const u32 gItemIcon_GreatBall[];
extern const u32 gItemIconPalette_GreatBall[];
extern const u32 gItemIcon_PokeBall[]; extern const u32 gItemIcon_PokeBall[];
extern const u32 gItemIconPalette_PokeBall[]; extern const u32 gItemIconPalette_PokeBall[];
extern const u32 gItemIcon_SafariBall[]; extern const u32 gItemIcon_GreatBall[];
extern const u32 gItemIconPalette_SafariBall[]; extern const u32 gItemIconPalette_GreatBall[];
extern const u32 gItemIcon_UltraBall[];
extern const u32 gItemIconPalette_UltraBall[];
extern const u32 gItemIcon_MasterBall[];
extern const u32 gItemIconPalette_MasterBall[];
extern const u32 gItemIcon_PremierBall[];
extern const u32 gItemIcon_HealBall[];
extern const u32 gItemIconPalette_HealBall[];
extern const u32 gItemIcon_NetBall[]; extern const u32 gItemIcon_NetBall[];
extern const u32 gItemIconPalette_NetBall[]; extern const u32 gItemIconPalette_NetBall[];
extern const u32 gItemIcon_DiveBall[];
extern const u32 gItemIconPalette_DiveBall[];
extern const u32 gItemIcon_NestBall[]; extern const u32 gItemIcon_NestBall[];
extern const u32 gItemIconPalette_NestBall[]; extern const u32 gItemIconPalette_NestBall[];
extern const u32 gItemIcon_DiveBall[];
extern const u32 gItemIconPalette_DiveBall[];
extern const u32 gItemIcon_DuskBall[];
extern const u32 gItemIconPalette_DuskBall[];
extern const u32 gItemIcon_TimerBall[];
extern const u32 gItemIcon_QuickBall[];
extern const u32 gItemIconPalette_QuickBall[];
extern const u32 gItemIcon_RepeatBall[]; extern const u32 gItemIcon_RepeatBall[];
extern const u32 gItemIconPalette_RepeatBall[]; extern const u32 gItemIconPalette_RepeatBall[];
extern const u32 gItemIcon_TimerBall[];
extern const u32 gItemIcon_LuxuryBall[]; extern const u32 gItemIcon_LuxuryBall[];
extern const u32 gItemIconPalette_LuxuryBall[]; extern const u32 gItemIconPalette_LuxuryBall[];
extern const u32 gItemIcon_PremierBall[];
extern const u32 gItemIcon_LevelBall[]; extern const u32 gItemIcon_LevelBall[];
extern const u32 gItemIconPalette_LevelBall[]; extern const u32 gItemIconPalette_LevelBall[];
extern const u32 gItemIcon_LureBall[]; extern const u32 gItemIcon_LureBall[];
@ -3425,26 +3429,22 @@ extern const u32 gItemIcon_FriendBall[];
extern const u32 gItemIconPalette_FriendBall[]; extern const u32 gItemIconPalette_FriendBall[];
extern const u32 gItemIcon_LoveBall[]; extern const u32 gItemIcon_LoveBall[];
extern const u32 gItemIconPalette_LoveBall[]; extern const u32 gItemIconPalette_LoveBall[];
extern const u32 gItemIcon_HeavyBall[];
extern const u32 gItemIconPalette_HeavyBall[];
extern const u32 gItemIcon_FastBall[]; extern const u32 gItemIcon_FastBall[];
extern const u32 gItemIconPalette_FastBall[]; extern const u32 gItemIconPalette_FastBall[];
extern const u32 gItemIcon_SportBall[]; extern const u32 gItemIcon_HeavyBall[];
extern const u32 gItemIconPalette_SportBall[]; extern const u32 gItemIconPalette_HeavyBall[];
extern const u32 gItemIcon_DuskBall[];
extern const u32 gItemIconPalette_DuskBall[];
extern const u32 gItemIcon_QuickBall[];
extern const u32 gItemIconPalette_QuickBall[];
extern const u32 gItemIcon_HealBall[];
extern const u32 gItemIconPalette_HealBall[];
extern const u32 gItemIcon_CherishBall[];
extern const u32 gItemIconPalette_CherishBall[];
extern const u32 gItemIcon_ParkBall[];
extern const u32 gItemIconPalette_ParkBall[];
extern const u32 gItemIcon_DreamBall[]; extern const u32 gItemIcon_DreamBall[];
extern const u32 gItemIconPalette_DreamBall[]; extern const u32 gItemIconPalette_DreamBall[];
extern const u32 gItemIcon_SafariBall[];
extern const u32 gItemIconPalette_SafariBall[];
extern const u32 gItemIcon_SportBall[];
extern const u32 gItemIconPalette_SportBall[];
extern const u32 gItemIcon_ParkBall[];
extern const u32 gItemIconPalette_ParkBall[];
extern const u32 gItemIcon_BeastBall[]; extern const u32 gItemIcon_BeastBall[];
extern const u32 gItemIconPalette_BeastBall[]; extern const u32 gItemIconPalette_BeastBall[];
extern const u32 gItemIcon_CherishBall[];
extern const u32 gItemIconPalette_CherishBall[];
// Medicine // Medicine
extern const u32 gItemIcon_Potion[]; extern const u32 gItemIcon_Potion[];
extern const u32 gItemIconPalette_Potion[]; extern const u32 gItemIconPalette_Potion[];

View File

@ -5,31 +5,31 @@ enum
{ {
BALL_POKE, BALL_POKE,
BALL_GREAT, BALL_GREAT,
BALL_SAFARI,
BALL_ULTRA, BALL_ULTRA,
BALL_MASTER, BALL_MASTER,
BALL_NET,
BALL_DIVE,
BALL_NEST,
BALL_REPEAT,
BALL_TIMER,
BALL_LUXURY,
BALL_PREMIER, BALL_PREMIER,
BALL_HEAL,
BALL_NET,
BALL_NEST,
BALL_DIVE,
BALL_DUSK,
BALL_TIMER,
BALL_QUICK,
BALL_REPEAT,
BALL_LUXURY,
BALL_LEVEL, BALL_LEVEL,
BALL_LURE, BALL_LURE,
BALL_MOON, BALL_MOON,
BALL_FRIEND, BALL_FRIEND,
BALL_LOVE, BALL_LOVE,
BALL_HEAVY,
BALL_FAST, BALL_FAST,
BALL_SPORT, BALL_HEAVY,
BALL_DUSK,
BALL_QUICK,
BALL_HEAL,
BALL_CHERISH,
BALL_PARK,
BALL_DREAM, BALL_DREAM,
BALL_SAFARI,
BALL_SPORT,
BALL_PARK,
BALL_BEAST, BALL_BEAST,
BALL_CHERISH,
POKEBALL_COUNT POKEBALL_COUNT
}; };

View File

@ -129,31 +129,31 @@ static const struct CaptureStar sCaptureStars[] =
#define TAG_PARTICLES_POKEBALL 65030 #define TAG_PARTICLES_POKEBALL 65030
#define TAG_PARTICLES_GREATBALL 65031 #define TAG_PARTICLES_GREATBALL 65031
#define TAG_PARTICLES_SAFARIBALL 65032 #define TAG_PARTICLES_ULTRABALL 65032
#define TAG_PARTICLES_ULTRABALL 65033 #define TAG_PARTICLES_MASTERBALL 65033
#define TAG_PARTICLES_MASTERBALL 65034 #define TAG_PARTICLES_PREMIERBALL 65034
#define TAG_PARTICLES_NETBALL 65035 #define TAG_PARTICLES_HEALBALL 65035
#define TAG_PARTICLES_DIVEBALL 65036 #define TAG_PARTICLES_NETBALL 65036
#define TAG_PARTICLES_NESTBALL 65037 #define TAG_PARTICLES_NESTBALL 65037
#define TAG_PARTICLES_REPEATBALL 65038 #define TAG_PARTICLES_DIVEBALL 65038
#define TAG_PARTICLES_TIMERBALL 65039 #define TAG_PARTICLES_DUSKBALL 65039
#define TAG_PARTICLES_LUXURYBALL 65040 #define TAG_PARTICLES_TIMERBALL 65040
#define TAG_PARTICLES_PREMIERBALL 65041 #define TAG_PARTICLES_QUICKBALL 65041
#define TAG_PARTICLES_LEVELBALL 65042 #define TAG_PARTICLES_REPEATBALL 65042
#define TAG_PARTICLES_LUREBALL 65043 #define TAG_PARTICLES_LUXURYBALL 65043
#define TAG_PARTICLES_MOONBALL 65044 #define TAG_PARTICLES_LEVELBALL 65044
#define TAG_PARTICLES_FRIENDBALL 65045 #define TAG_PARTICLES_LUREBALL 65045
#define TAG_PARTICLES_LOVEBALL 65046 #define TAG_PARTICLES_MOONBALL 65046
#define TAG_PARTICLES_HEAVYBALL 65047 #define TAG_PARTICLES_FRIENDBALL 65047
#define TAG_PARTICLES_FASTBALL 65048 #define TAG_PARTICLES_LOVEBALL 65048
#define TAG_PARTICLES_SPORTBALL 65049 #define TAG_PARTICLES_FASTBALL 65049
#define TAG_PARTICLES_DUSKBALL 65050 #define TAG_PARTICLES_HEAVYBALL 65050
#define TAG_PARTICLES_QUICKBALL 65051 #define TAG_PARTICLES_DREAMBALL 65051
#define TAG_PARTICLES_HEALBALL 65052 #define TAG_PARTICLES_SAFARIBALL 65052
#define TAG_PARTICLES_CHERISHBALL 65053 #define TAG_PARTICLES_SPORTBALL 65053
#define TAG_PARTICLES_PARKBALL 65054 #define TAG_PARTICLES_PARKBALL 65054
#define TAG_PARTICLES_DREAMBALL 65065 #define TAG_PARTICLES_BEASTBALL 65065
#define TAG_PARTICLES_BEASTBALL 65056 #define TAG_PARTICLES_CHERISHBALL 65056
static const u32 sNewParticlesGfx[] = INCBIN_U32("graphics/interface/ball/particles2.4bpp.lz"); static const u32 sNewParticlesGfx[] = INCBIN_U32("graphics/interface/ball/particles2.4bpp.lz");
static const u32 sNewParticlesPal[] = INCBIN_U32("graphics/interface/ball/particles2.gbapal.lz"); static const u32 sNewParticlesPal[] = INCBIN_U32("graphics/interface/ball/particles2.gbapal.lz");
@ -162,62 +162,62 @@ static const struct CompressedSpriteSheet sBallParticleSpriteSheets[] =
{ {
[BALL_POKE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_POKEBALL}, [BALL_POKE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_POKEBALL},
[BALL_GREAT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_GREATBALL}, [BALL_GREAT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_GREATBALL},
[BALL_SAFARI] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SAFARIBALL},
[BALL_ULTRA] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_ULTRABALL}, [BALL_ULTRA] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_ULTRABALL},
[BALL_MASTER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_MASTERBALL}, [BALL_MASTER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_MASTERBALL},
[BALL_NET] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NETBALL},
[BALL_DIVE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_DIVEBALL},
[BALL_NEST] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NESTBALL},
[BALL_REPEAT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_REPEATBALL},
[BALL_TIMER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_TIMERBALL},
[BALL_LUXURY] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUXURYBALL},
[BALL_PREMIER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PREMIERBALL}, [BALL_PREMIER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PREMIERBALL},
[BALL_HEAL] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_HEALBALL},
[BALL_NET] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NETBALL},
[BALL_NEST] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NESTBALL},
[BALL_DIVE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_DIVEBALL},
[BALL_DUSK] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_DUSKBALL},
[BALL_TIMER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_TIMERBALL},
[BALL_QUICK] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_QUICKBALL},
[BALL_REPEAT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_REPEATBALL},
[BALL_LUXURY] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUXURYBALL},
[BALL_LEVEL] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_LEVELBALL}, [BALL_LEVEL] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_LEVELBALL},
[BALL_LURE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUREBALL}, [BALL_LURE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUREBALL},
[BALL_MOON] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_MOONBALL}, [BALL_MOON] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_MOONBALL},
[BALL_FRIEND] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_FRIENDBALL}, [BALL_FRIEND] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_FRIENDBALL},
[BALL_LOVE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LOVEBALL}, [BALL_LOVE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LOVEBALL},
[BALL_HEAVY] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_HEAVYBALL},
[BALL_FAST] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_FASTBALL}, [BALL_FAST] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_FASTBALL},
[BALL_SPORT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SPORTBALL}, [BALL_HEAVY] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_HEAVYBALL},
[BALL_DUSK] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_DUSKBALL},
[BALL_QUICK] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_QUICKBALL},
[BALL_HEAL] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_HEALBALL},
[BALL_CHERISH] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_CHERISHBALL},
[BALL_PARK] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PARKBALL},
[BALL_DREAM] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_DREAMBALL}, [BALL_DREAM] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_DREAMBALL},
[BALL_SAFARI] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SAFARIBALL},
[BALL_SPORT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SPORTBALL},
[BALL_PARK] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PARKBALL},
[BALL_BEAST] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_BEASTBALL}, [BALL_BEAST] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_BEASTBALL},
[BALL_CHERISH] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_CHERISHBALL},
}; };
static const struct CompressedSpritePalette sBallParticlePalettes[] = static const struct CompressedSpritePalette sBallParticlePalettes[] =
{ {
[BALL_POKE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_POKEBALL}, [BALL_POKE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_POKEBALL},
[BALL_GREAT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_GREATBALL}, [BALL_GREAT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_GREATBALL},
[BALL_SAFARI] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SAFARIBALL},
[BALL_ULTRA] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_ULTRABALL}, [BALL_ULTRA] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_ULTRABALL},
[BALL_MASTER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_MASTERBALL}, [BALL_MASTER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_MASTERBALL},
[BALL_NET] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NETBALL},
[BALL_DIVE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_DIVEBALL},
[BALL_NEST] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NESTBALL},
[BALL_REPEAT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_REPEATBALL},
[BALL_TIMER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_TIMERBALL},
[BALL_LUXURY] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUXURYBALL},
[BALL_PREMIER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PREMIERBALL}, [BALL_PREMIER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PREMIERBALL},
[BALL_HEAL] = {sNewParticlesPal, TAG_PARTICLES_HEALBALL},
[BALL_NET] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NETBALL},
[BALL_NEST] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NESTBALL},
[BALL_DIVE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_DIVEBALL},
[BALL_DUSK] = {sNewParticlesPal, TAG_PARTICLES_DUSKBALL},
[BALL_TIMER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_TIMERBALL},
[BALL_QUICK] = {sNewParticlesPal, TAG_PARTICLES_QUICKBALL},
[BALL_REPEAT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_REPEATBALL},
[BALL_LUXURY] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUXURYBALL},
[BALL_LEVEL] = {sNewParticlesPal, TAG_PARTICLES_LEVELBALL}, [BALL_LEVEL] = {sNewParticlesPal, TAG_PARTICLES_LEVELBALL},
[BALL_LURE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUREBALL}, [BALL_LURE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUREBALL},
[BALL_MOON] = {sNewParticlesPal, TAG_PARTICLES_MOONBALL}, [BALL_MOON] = {sNewParticlesPal, TAG_PARTICLES_MOONBALL},
[BALL_FRIEND] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_FRIENDBALL}, [BALL_FRIEND] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_FRIENDBALL},
[BALL_LOVE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LOVEBALL}, [BALL_LOVE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LOVEBALL},
[BALL_HEAVY] = {sNewParticlesPal, TAG_PARTICLES_HEAVYBALL},
[BALL_FAST] = {sNewParticlesPal, TAG_PARTICLES_FASTBALL}, [BALL_FAST] = {sNewParticlesPal, TAG_PARTICLES_FASTBALL},
[BALL_SPORT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SPORTBALL}, [BALL_HEAVY] = {sNewParticlesPal, TAG_PARTICLES_HEAVYBALL},
[BALL_DUSK] = {sNewParticlesPal, TAG_PARTICLES_DUSKBALL},
[BALL_QUICK] = {sNewParticlesPal, TAG_PARTICLES_QUICKBALL},
[BALL_HEAL] = {sNewParticlesPal, TAG_PARTICLES_HEALBALL},
[BALL_CHERISH] = {sNewParticlesPal, TAG_PARTICLES_CHERISHBALL},
[BALL_PARK] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PARKBALL},
[BALL_DREAM] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_DREAMBALL}, [BALL_DREAM] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_DREAMBALL},
[BALL_SAFARI] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SAFARIBALL},
[BALL_SPORT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SPORTBALL},
[BALL_PARK] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PARKBALL},
[BALL_BEAST] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_BEASTBALL}, [BALL_BEAST] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_BEASTBALL},
[BALL_CHERISH] = {sNewParticlesPal, TAG_PARTICLES_CHERISHBALL},
}; };
static const union AnimCmd sAnim_RegularBall[] = static const union AnimCmd sAnim_RegularBall[] =
@ -276,65 +276,63 @@ static const u8 sBallParticleAnimNums[POKEBALL_COUNT] =
{ {
[BALL_POKE] = 0, [BALL_POKE] = 0,
[BALL_GREAT] = 0, [BALL_GREAT] = 0,
[BALL_SAFARI] = 0,
[BALL_ULTRA] = 5, [BALL_ULTRA] = 5,
[BALL_MASTER] = 1, [BALL_MASTER] = 1,
[BALL_NET] = 2,
[BALL_DIVE] = 2,
[BALL_NEST] = 3,
[BALL_REPEAT] = 5,
[BALL_TIMER] = 5,
[BALL_LUXURY] = 4,
[BALL_PREMIER] = 4, [BALL_PREMIER] = 4,
[BALL_HEAL] = 0,
[BALL_LEVEL] = 5, [BALL_NET] = 2,
[BALL_LURE] = 2, [BALL_NEST] = 3,
[BALL_MOON] = 4, [BALL_DIVE] = 2,
[BALL_FRIEND] = 3, [BALL_DUSK] = 2,
[BALL_LOVE] = 3, [BALL_TIMER] = 5,
[BALL_HEAVY] = 0, [BALL_QUICK] = 4,
[BALL_FAST] = 4, [BALL_REPEAT] = 5,
[BALL_SPORT] = 0, [BALL_LUXURY] = 4,
[BALL_DUSK] = 2, [BALL_LEVEL] = 5,
[BALL_QUICK] = 4, [BALL_LURE] = 2,
[BALL_HEAL] = 0, [BALL_MOON] = 4,
[BALL_FRIEND] = 3,
[BALL_LOVE] = 3,
[BALL_FAST] = 4,
[BALL_HEAVY] = 0,
[BALL_DREAM] = 5,
[BALL_SAFARI] = 0,
[BALL_SPORT] = 0,
[BALL_PARK] = 5,
[BALL_BEAST] = 5,
[BALL_CHERISH] = 0, [BALL_CHERISH] = 0,
[BALL_PARK] = 5,
[BALL_DREAM] = 5,
[BALL_BEAST] = 5,
}; };
static const TaskFunc sBallParticleAnimationFuncs[] = static const TaskFunc sBallParticleAnimationFuncs[POKEBALL_COUNT] =
{ {
[BALL_POKE] = PokeBallOpenParticleAnimation,
[BALL_GREAT] = GreatBallOpenParticleAnimation,
[BALL_SAFARI] = SafariBallOpenParticleAnimation,
[BALL_ULTRA] = UltraBallOpenParticleAnimation,
[BALL_MASTER] = MasterBallOpenParticleAnimation,
[BALL_NET] = SafariBallOpenParticleAnimation,
[BALL_DIVE] = DiveBallOpenParticleAnimation,
[BALL_NEST] = UltraBallOpenParticleAnimation,
[BALL_REPEAT] = RepeatBallOpenParticleAnimation,
[BALL_TIMER] = TimerBallOpenParticleAnimation,
[BALL_LUXURY] = GreatBallOpenParticleAnimation,
[BALL_PREMIER] = PremierBallOpenParticleAnimation,
// Todo: assign and possibly create different particles // Todo: assign and possibly create different particles
[BALL_LEVEL] = SafariBallOpenParticleAnimation, [BALL_POKE] = PokeBallOpenParticleAnimation,
[BALL_LURE] = GreatBallOpenParticleAnimation, [BALL_GREAT] = GreatBallOpenParticleAnimation,
[BALL_MOON] = UltraBallOpenParticleAnimation, [BALL_ULTRA] = UltraBallOpenParticleAnimation,
[BALL_FRIEND] = UltraBallOpenParticleAnimation, [BALL_MASTER] = MasterBallOpenParticleAnimation,
[BALL_LOVE] = GreatBallOpenParticleAnimation, [BALL_PREMIER] = PremierBallOpenParticleAnimation,
[BALL_HEAVY] = GreatBallOpenParticleAnimation, [BALL_HEAL] = PokeBallOpenParticleAnimation,
[BALL_FAST] = GreatBallOpenParticleAnimation, [BALL_NET] = SafariBallOpenParticleAnimation,
[BALL_SPORT] = UltraBallOpenParticleAnimation, [BALL_NEST] = UltraBallOpenParticleAnimation,
[BALL_DUSK] = UltraBallOpenParticleAnimation, [BALL_DIVE] = DiveBallOpenParticleAnimation,
[BALL_QUICK] = UltraBallOpenParticleAnimation, [BALL_DUSK] = UltraBallOpenParticleAnimation,
[BALL_HEAL] = PokeBallOpenParticleAnimation, [BALL_TIMER] = TimerBallOpenParticleAnimation,
[BALL_QUICK] = UltraBallOpenParticleAnimation,
[BALL_REPEAT] = RepeatBallOpenParticleAnimation,
[BALL_LUXURY] = GreatBallOpenParticleAnimation,
[BALL_LEVEL] = SafariBallOpenParticleAnimation,
[BALL_LURE] = GreatBallOpenParticleAnimation,
[BALL_MOON] = UltraBallOpenParticleAnimation,
[BALL_FRIEND] = UltraBallOpenParticleAnimation,
[BALL_LOVE] = GreatBallOpenParticleAnimation,
[BALL_FAST] = GreatBallOpenParticleAnimation,
[BALL_HEAVY] = GreatBallOpenParticleAnimation,
[BALL_DREAM] = UltraBallOpenParticleAnimation,
[BALL_SAFARI] = SafariBallOpenParticleAnimation,
[BALL_SPORT] = UltraBallOpenParticleAnimation,
[BALL_PARK] = UltraBallOpenParticleAnimation,
[BALL_BEAST] = UltraBallOpenParticleAnimation,
[BALL_CHERISH] = MasterBallOpenParticleAnimation, [BALL_CHERISH] = MasterBallOpenParticleAnimation,
[BALL_PARK] = UltraBallOpenParticleAnimation,
[BALL_DREAM] = UltraBallOpenParticleAnimation,
[BALL_BEAST] = UltraBallOpenParticleAnimation
}; };
static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] = static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] =
@ -357,15 +355,6 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
[BALL_SAFARI] = {
.tileTag = TAG_PARTICLES_SAFARIBALL,
.paletteTag = TAG_PARTICLES_SAFARIBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
[BALL_ULTRA] = { [BALL_ULTRA] = {
.tileTag = TAG_PARTICLES_ULTRABALL, .tileTag = TAG_PARTICLES_ULTRABALL,
.paletteTag = TAG_PARTICLES_ULTRABALL, .paletteTag = TAG_PARTICLES_ULTRABALL,
@ -384,18 +373,27 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
[BALL_NET] = { [BALL_PREMIER] = {
.tileTag = TAG_PARTICLES_NETBALL, .tileTag = TAG_PARTICLES_PREMIERBALL,
.paletteTag = TAG_PARTICLES_NETBALL, .paletteTag = TAG_PARTICLES_PREMIERBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles, .anims = sAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
[BALL_DIVE] = { [BALL_HEAL] = {
.tileTag = TAG_PARTICLES_DIVEBALL, .tileTag = TAG_PARTICLES_HEALBALL,
.paletteTag = TAG_PARTICLES_DIVEBALL, .paletteTag = TAG_PARTICLES_HEALBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
[BALL_NET] = {
.tileTag = TAG_PARTICLES_NETBALL,
.paletteTag = TAG_PARTICLES_NETBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles, .anims = sAnims_BallParticles,
.images = NULL, .images = NULL,
@ -411,9 +409,18 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
[BALL_REPEAT] = { [BALL_DIVE] = {
.tileTag = TAG_PARTICLES_REPEATBALL, .tileTag = TAG_PARTICLES_DIVEBALL,
.paletteTag = TAG_PARTICLES_REPEATBALL, .paletteTag = TAG_PARTICLES_DIVEBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
[BALL_DUSK] = {
.tileTag = TAG_PARTICLES_DUSKBALL,
.paletteTag = TAG_PARTICLES_DUSKBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles, .anims = sAnims_BallParticles,
.images = NULL, .images = NULL,
@ -429,6 +436,24 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
[BALL_QUICK] = {
.tileTag = TAG_PARTICLES_QUICKBALL,
.paletteTag = TAG_PARTICLES_QUICKBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
[BALL_REPEAT] = {
.tileTag = TAG_PARTICLES_REPEATBALL,
.paletteTag = TAG_PARTICLES_REPEATBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
[BALL_LUXURY] = { [BALL_LUXURY] = {
.tileTag = TAG_PARTICLES_LUXURYBALL, .tileTag = TAG_PARTICLES_LUXURYBALL,
.paletteTag = TAG_PARTICLES_LUXURYBALL, .paletteTag = TAG_PARTICLES_LUXURYBALL,
@ -438,16 +463,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
[BALL_PREMIER] = { [BALL_LEVEL] = {
.tileTag = TAG_PARTICLES_PREMIERBALL,
.paletteTag = TAG_PARTICLES_PREMIERBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
.tileTag = TAG_PARTICLES_LEVELBALL, .tileTag = TAG_PARTICLES_LEVELBALL,
.paletteTag = TAG_PARTICLES_LEVELBALL, .paletteTag = TAG_PARTICLES_LEVELBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -456,7 +472,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ [BALL_LURE] = {
.tileTag = TAG_PARTICLES_LUREBALL, .tileTag = TAG_PARTICLES_LUREBALL,
.paletteTag = TAG_PARTICLES_LUREBALL, .paletteTag = TAG_PARTICLES_LUREBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -465,7 +481,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ [BALL_MOON] = {
.tileTag = TAG_PARTICLES_MOONBALL, .tileTag = TAG_PARTICLES_MOONBALL,
.paletteTag = TAG_PARTICLES_MOONBALL, .paletteTag = TAG_PARTICLES_MOONBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -474,7 +490,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ [BALL_FRIEND] = {
.tileTag = TAG_PARTICLES_FRIENDBALL, .tileTag = TAG_PARTICLES_FRIENDBALL,
.paletteTag = TAG_PARTICLES_FRIENDBALL, .paletteTag = TAG_PARTICLES_FRIENDBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -483,7 +499,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ [BALL_LOVE] = {
.tileTag = TAG_PARTICLES_LOVEBALL, .tileTag = TAG_PARTICLES_LOVEBALL,
.paletteTag = TAG_PARTICLES_LOVEBALL, .paletteTag = TAG_PARTICLES_LOVEBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -492,16 +508,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ [BALL_FAST] = {
.tileTag = TAG_PARTICLES_HEAVYBALL,
.paletteTag = TAG_PARTICLES_HEAVYBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
.tileTag = TAG_PARTICLES_FASTBALL, .tileTag = TAG_PARTICLES_FASTBALL,
.paletteTag = TAG_PARTICLES_FASTBALL, .paletteTag = TAG_PARTICLES_FASTBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -510,61 +517,16 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ [BALL_HEAVY] = {
.tileTag = TAG_PARTICLES_SPORTBALL, .tileTag = TAG_PARTICLES_HEAVYBALL,
.paletteTag = TAG_PARTICLES_SPORTBALL, .paletteTag = TAG_PARTICLES_HEAVYBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles, .anims = sAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ [BALL_DREAM] = {
.tileTag = TAG_PARTICLES_DUSKBALL,
.paletteTag = TAG_PARTICLES_DUSKBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
.tileTag = TAG_PARTICLES_QUICKBALL,
.paletteTag = TAG_PARTICLES_QUICKBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
.tileTag = TAG_PARTICLES_HEALBALL,
.paletteTag = TAG_PARTICLES_HEALBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
.tileTag = TAG_PARTICLES_CHERISHBALL,
.paletteTag = TAG_PARTICLES_CHERISHBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
.tileTag = TAG_PARTICLES_PARKBALL,
.paletteTag = TAG_PARTICLES_PARKBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
.tileTag = TAG_PARTICLES_DREAMBALL, .tileTag = TAG_PARTICLES_DREAMBALL,
.paletteTag = TAG_PARTICLES_DREAMBALL, .paletteTag = TAG_PARTICLES_DREAMBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -573,7 +535,34 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ [BALL_SAFARI] = {
.tileTag = TAG_PARTICLES_SAFARIBALL,
.paletteTag = TAG_PARTICLES_SAFARIBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
[BALL_SPORT] = {
.tileTag = TAG_PARTICLES_SPORTBALL,
.paletteTag = TAG_PARTICLES_SPORTBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
[BALL_PARK] = {
.tileTag = TAG_PARTICLES_PARKBALL,
.paletteTag = TAG_PARTICLES_PARKBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
[BALL_BEAST] = {
.tileTag = TAG_PARTICLES_BEASTBALL, .tileTag = TAG_PARTICLES_BEASTBALL,
.paletteTag = TAG_PARTICLES_BEASTBALL, .paletteTag = TAG_PARTICLES_BEASTBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -582,39 +571,47 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
[BALL_CHERISH] = {
.tileTag = TAG_PARTICLES_CHERISHBALL,
.paletteTag = TAG_PARTICLES_CHERISHBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
}; };
const u16 gBallOpenFadeColors[] = const u16 gBallOpenFadeColors[] =
{ {
// Todo, assign different colors
[BALL_POKE] = RGB(31, 22, 30), [BALL_POKE] = RGB(31, 22, 30),
[BALL_GREAT] = RGB(16, 23, 30), [BALL_GREAT] = RGB(16, 23, 30),
[BALL_SAFARI] = RGB(23, 30, 20),
[BALL_ULTRA] = RGB(31, 31, 15), [BALL_ULTRA] = RGB(31, 31, 15),
[BALL_MASTER] = RGB(23, 20, 28), [BALL_MASTER] = RGB(23, 20, 28),
[BALL_NET] = RGB(21, 31, 25),
[BALL_DIVE] = RGB(12, 25, 30),
[BALL_NEST] = RGB(30, 27, 10),
[BALL_REPEAT] = RGB(31, 24, 16),
[BALL_TIMER] = RGB(29, 30, 30),
[BALL_LUXURY] = RGB(31, 17, 10),
[BALL_PREMIER] = RGB(31, 9, 10), [BALL_PREMIER] = RGB(31, 9, 10),
[BALL_HEAL] = RGB(31, 23, 27),
// Todo, assign different colors [BALL_NET] = RGB(21, 31, 25),
[BALL_NEST] = RGB(30, 27, 10),
[BALL_DIVE] = RGB(12, 25, 30),
[BALL_DUSK] = RGB(7, 1, 13),
[BALL_TIMER] = RGB(29, 30, 30),
[BALL_QUICK] = RGB(16, 25, 30),
[BALL_REPEAT] = RGB(31, 24, 16),
[BALL_LUXURY] = RGB(31, 17, 10),
[BALL_LEVEL] = RGB(24, 4, 4), [BALL_LEVEL] = RGB(24, 4, 4),
[BALL_LURE] = RGB(9, 22, 27), [BALL_LURE] = RGB(9, 22, 27),
[BALL_MOON] = RGB(30, 25, 8), [BALL_MOON] = RGB(30, 25, 8),
[BALL_FRIEND] = RGB(17, 24, 7), [BALL_FRIEND] = RGB(17, 24, 7),
[BALL_LOVE] = RGB(31, 19, 26), [BALL_LOVE] = RGB(31, 19, 26),
[BALL_HEAVY] = RGB(7, 11, 20),
[BALL_FAST] = RGB(29, 17, 8), [BALL_FAST] = RGB(29, 17, 8),
[BALL_SPORT] = RGB(31, 31, 15), [BALL_HEAVY] = RGB(7, 11, 20),
[BALL_DUSK] = RGB(7, 1, 13),
[BALL_QUICK] = RGB(16, 25, 30),
[BALL_HEAL] = RGB(31, 23, 27),
[BALL_CHERISH] = RGB(25, 4, 3),
[BALL_PARK] = RGB(31, 31, 15),
[BALL_DREAM] = RGB(31, 31, 15), [BALL_DREAM] = RGB(31, 31, 15),
[BALL_SAFARI] = RGB(23, 30, 20),
[BALL_SPORT] = RGB(31, 31, 15),
[BALL_PARK] = RGB(31, 31, 15),
[BALL_BEAST] = RGB(31, 31, 15), [BALL_BEAST] = RGB(31, 31, 15),
[BALL_CHERISH] = RGB(25, 4, 3),
}; };
const struct SpriteTemplate gPokeblockSpriteTemplate = const struct SpriteTemplate gPokeblockSpriteTemplate =
@ -952,30 +949,34 @@ u8 ItemIdToBallId(u16 ballItem)
{ {
switch (ballItem) switch (ballItem)
{ {
case ITEM_MASTER_BALL:
return BALL_MASTER;
case ITEM_ULTRA_BALL:
return BALL_ULTRA;
case ITEM_GREAT_BALL:
return BALL_GREAT;
case ITEM_SAFARI_BALL:
return BALL_SAFARI;
case ITEM_NET_BALL:
return BALL_NET;
case ITEM_DIVE_BALL:
return BALL_DIVE;
case ITEM_NEST_BALL:
return BALL_NEST;
case ITEM_REPEAT_BALL:
return BALL_REPEAT;
case ITEM_TIMER_BALL:
return BALL_TIMER;
case ITEM_LUXURY_BALL:
return BALL_LUXURY;
case ITEM_PREMIER_BALL:
return BALL_PREMIER;
case ITEM_POKE_BALL: case ITEM_POKE_BALL:
return BALL_POKE; return BALL_POKE;
case ITEM_GREAT_BALL:
return BALL_GREAT;
case ITEM_ULTRA_BALL:
return BALL_ULTRA;
case ITEM_MASTER_BALL:
return BALL_MASTER;
case ITEM_PREMIER_BALL:
return BALL_PREMIER;
case ITEM_HEAL_BALL:
return BALL_HEAL;
case ITEM_NET_BALL:
return BALL_NET;
case ITEM_NEST_BALL:
return BALL_NEST;
case ITEM_DIVE_BALL:
return BALL_DIVE;
case ITEM_DUSK_BALL:
return BALL_DUSK;
case ITEM_TIMER_BALL:
return BALL_TIMER;
case ITEM_QUICK_BALL:
return BALL_QUICK;
case ITEM_REPEAT_BALL:
return BALL_REPEAT;
case ITEM_LUXURY_BALL:
return BALL_LUXURY;
case ITEM_LEVEL_BALL: case ITEM_LEVEL_BALL:
return BALL_LEVEL; return BALL_LEVEL;
case ITEM_LURE_BALL: case ITEM_LURE_BALL:
@ -986,26 +987,22 @@ u8 ItemIdToBallId(u16 ballItem)
return BALL_FRIEND; return BALL_FRIEND;
case ITEM_LOVE_BALL: case ITEM_LOVE_BALL:
return BALL_LOVE; return BALL_LOVE;
case ITEM_HEAVY_BALL:
return BALL_HEAVY;
case ITEM_FAST_BALL: case ITEM_FAST_BALL:
return BALL_FAST; return BALL_FAST;
case ITEM_SPORT_BALL: case ITEM_HEAVY_BALL:
return BALL_SPORT; return BALL_HEAVY;
case ITEM_DUSK_BALL:
return BALL_DUSK;
case ITEM_QUICK_BALL:
return BALL_QUICK;
case ITEM_HEAL_BALL:
return BALL_HEAL;
case ITEM_CHERISH_BALL:
return BALL_CHERISH;
case ITEM_PARK_BALL:
return BALL_PARK;
case ITEM_DREAM_BALL: case ITEM_DREAM_BALL:
return BALL_DREAM; return BALL_DREAM;
case ITEM_SAFARI_BALL:
return BALL_SAFARI;
case ITEM_SPORT_BALL:
return BALL_SPORT;
case ITEM_PARK_BALL:
return BALL_PARK;
case ITEM_BEAST_BALL: case ITEM_BEAST_BALL:
return BALL_BEAST; return BALL_BEAST;
case ITEM_CHERISH_BALL:
return BALL_CHERISH;
default: default:
return BALL_POKE; return BALL_POKE;
} }
@ -1674,7 +1671,7 @@ static void MakeCaptureStars(struct Sprite *sprite)
LoadBallParticleGfx(BALL_MASTER); LoadBallParticleGfx(BALL_MASTER);
for (i = 0; i < ARRAY_COUNT(sCaptureStars); i++) for (i = 0; i < ARRAY_COUNT(sCaptureStars); i++)
{ {
u8 spriteId = CreateSprite(&sBallParticleSpriteTemplates[4], sprite->pos1.x, sprite->pos1.y, subpriority); u8 spriteId = CreateSprite(&sBallParticleSpriteTemplates[BALL_MASTER], sprite->pos1.x, sprite->pos1.y, subpriority);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
gSprites[spriteId].sDuration = 24; gSprites[spriteId].sDuration = 24;

View File

@ -4,36 +4,42 @@ const u32 gInterfacePal_PokeBall[] = INCBIN_U32("graphics/interface/ball/poke.gb
const u32 gInterfaceGfx_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.4bpp.lz"); const u32 gInterfaceGfx_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.4bpp.lz");
const u32 gInterfacePal_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.gbapal.lz"); const u32 gInterfacePal_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.gbapal.lz");
const u32 gInterfaceGfx_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.4bpp.lz");
const u32 gInterfacePal_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.gbapal.lz");
const u32 gInterfaceGfx_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.4bpp.lz"); const u32 gInterfaceGfx_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.4bpp.lz");
const u32 gInterfacePal_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.gbapal.lz"); const u32 gInterfacePal_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.gbapal.lz");
const u32 gInterfaceGfx_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.4bpp.lz"); const u32 gInterfaceGfx_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.4bpp.lz");
const u32 gInterfacePal_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.gbapal.lz"); const u32 gInterfacePal_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.gbapal.lz");
const u32 gInterfaceGfx_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.4bpp.lz");
const u32 gInterfacePal_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.gbapal.lz");
const u32 gInterfaceGfx_HealBall[] = INCBIN_U32("graphics/interface/ball/heal.4bpp.lz");
const u32 gInterfacePal_HealBall[] = INCBIN_U32("graphics/interface/ball/heal.gbapal.lz");
const u32 gInterfaceGfx_NetBall[] = INCBIN_U32("graphics/interface/ball/net.4bpp.lz"); const u32 gInterfaceGfx_NetBall[] = INCBIN_U32("graphics/interface/ball/net.4bpp.lz");
const u32 gInterfacePal_NetBall[] = INCBIN_U32("graphics/interface/ball/net.gbapal.lz"); const u32 gInterfacePal_NetBall[] = INCBIN_U32("graphics/interface/ball/net.gbapal.lz");
const u32 gInterfaceGfx_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.4bpp.lz");
const u32 gInterfacePal_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.gbapal.lz");
const u32 gInterfaceGfx_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.4bpp.lz"); const u32 gInterfaceGfx_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.4bpp.lz");
const u32 gInterfacePal_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.gbapal.lz"); const u32 gInterfacePal_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.gbapal.lz");
const u32 gInterfaceGfx_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.4bpp.lz"); const u32 gInterfaceGfx_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.4bpp.lz");
const u32 gInterfacePal_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.gbapal.lz"); const u32 gInterfacePal_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.gbapal.lz");
const u32 gInterfaceGfx_DuskBall[] = INCBIN_U32("graphics/interface/ball/dusk.4bpp.lz");
const u32 gInterfacePal_DuskBall[] = INCBIN_U32("graphics/interface/ball/dusk.gbapal.lz");
const u32 gInterfaceGfx_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.4bpp.lz"); const u32 gInterfaceGfx_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.4bpp.lz");
const u32 gInterfacePal_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.gbapal.lz"); const u32 gInterfacePal_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.gbapal.lz");
const u32 gInterfaceGfx_QuickBall[] = INCBIN_U32("graphics/interface/ball/quick.4bpp.lz");
const u32 gInterfacePal_QuickBall[] = INCBIN_U32("graphics/interface/ball/quick.gbapal.lz");
const u32 gInterfaceGfx_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.4bpp.lz");
const u32 gInterfacePal_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.gbapal.lz");
const u32 gInterfaceGfx_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.4bpp.lz"); const u32 gInterfaceGfx_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.4bpp.lz");
const u32 gInterfacePal_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.gbapal.lz"); const u32 gInterfacePal_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.gbapal.lz");
const u32 gInterfaceGfx_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.4bpp.lz");
const u32 gInterfacePal_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.gbapal.lz");
const u32 gInterfaceGfx_LevelBall[] = INCBIN_U32("graphics/interface/ball/level.4bpp.lz"); const u32 gInterfaceGfx_LevelBall[] = INCBIN_U32("graphics/interface/ball/level.4bpp.lz");
const u32 gInterfacePal_LevelBall[] = INCBIN_U32("graphics/interface/ball/level.gbapal.lz"); const u32 gInterfacePal_LevelBall[] = INCBIN_U32("graphics/interface/ball/level.gbapal.lz");
@ -49,34 +55,28 @@ const u32 gInterfacePal_FriendBall[] = INCBIN_U32("graphics/interface/ball/frien
const u32 gInterfaceGfx_LoveBall[] = INCBIN_U32("graphics/interface/ball/love.4bpp.lz"); const u32 gInterfaceGfx_LoveBall[] = INCBIN_U32("graphics/interface/ball/love.4bpp.lz");
const u32 gInterfacePal_LoveBall[] = INCBIN_U32("graphics/interface/ball/love.gbapal.lz"); const u32 gInterfacePal_LoveBall[] = INCBIN_U32("graphics/interface/ball/love.gbapal.lz");
const u32 gInterfaceGfx_HeavyBall[] = INCBIN_U32("graphics/interface/ball/heavy.4bpp.lz");
const u32 gInterfacePal_HeavyBall[] = INCBIN_U32("graphics/interface/ball/heavy.gbapal.lz");
const u32 gInterfaceGfx_FastBall[] = INCBIN_U32("graphics/interface/ball/fast.4bpp.lz"); const u32 gInterfaceGfx_FastBall[] = INCBIN_U32("graphics/interface/ball/fast.4bpp.lz");
const u32 gInterfacePal_FastBall[] = INCBIN_U32("graphics/interface/ball/fast.gbapal.lz"); const u32 gInterfacePal_FastBall[] = INCBIN_U32("graphics/interface/ball/fast.gbapal.lz");
const u32 gInterfaceGfx_SportBall[] = INCBIN_U32("graphics/interface/ball/sport.4bpp.lz"); const u32 gInterfaceGfx_HeavyBall[] = INCBIN_U32("graphics/interface/ball/heavy.4bpp.lz");
const u32 gInterfacePal_SportBall[] = INCBIN_U32("graphics/interface/ball/sport.gbapal.lz"); const u32 gInterfacePal_HeavyBall[] = INCBIN_U32("graphics/interface/ball/heavy.gbapal.lz");
const u32 gInterfaceGfx_DuskBall[] = INCBIN_U32("graphics/interface/ball/dusk.4bpp.lz");
const u32 gInterfacePal_DuskBall[] = INCBIN_U32("graphics/interface/ball/dusk.gbapal.lz");
const u32 gInterfaceGfx_QuickBall[] = INCBIN_U32("graphics/interface/ball/quick.4bpp.lz");
const u32 gInterfacePal_QuickBall[] = INCBIN_U32("graphics/interface/ball/quick.gbapal.lz");
const u32 gInterfaceGfx_HealBall[] = INCBIN_U32("graphics/interface/ball/heal.4bpp.lz");
const u32 gInterfacePal_HealBall[] = INCBIN_U32("graphics/interface/ball/heal.gbapal.lz");
const u32 gInterfaceGfx_CherishBall[] = INCBIN_U32("graphics/interface/ball/cherish.4bpp.lz");
const u32 gInterfacePal_CherishBall[] = INCBIN_U32("graphics/interface/ball/cherish.gbapal.lz");
const u32 gInterfaceGfx_ParkBall[] = INCBIN_U32("graphics/interface/ball/park.4bpp.lz");
const u32 gInterfacePal_ParkBall[] = INCBIN_U32("graphics/interface/ball/park.gbapal.lz");
const u32 gInterfaceGfx_DreamBall[] = INCBIN_U32("graphics/interface/ball/dream.4bpp.lz"); const u32 gInterfaceGfx_DreamBall[] = INCBIN_U32("graphics/interface/ball/dream.4bpp.lz");
const u32 gInterfacePal_DreamBall[] = INCBIN_U32("graphics/interface/ball/dream.gbapal.lz"); const u32 gInterfacePal_DreamBall[] = INCBIN_U32("graphics/interface/ball/dream.gbapal.lz");
const u32 gInterfaceGfx_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.4bpp.lz");
const u32 gInterfacePal_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.gbapal.lz");
const u32 gInterfaceGfx_SportBall[] = INCBIN_U32("graphics/interface/ball/sport.4bpp.lz");
const u32 gInterfacePal_SportBall[] = INCBIN_U32("graphics/interface/ball/sport.gbapal.lz");
const u32 gInterfaceGfx_ParkBall[] = INCBIN_U32("graphics/interface/ball/park.4bpp.lz");
const u32 gInterfacePal_ParkBall[] = INCBIN_U32("graphics/interface/ball/park.gbapal.lz");
const u32 gInterfaceGfx_BeastBall[] = INCBIN_U32("graphics/interface/ball/beast.4bpp.lz"); const u32 gInterfaceGfx_BeastBall[] = INCBIN_U32("graphics/interface/ball/beast.4bpp.lz");
const u32 gInterfacePal_BeastBall[] = INCBIN_U32("graphics/interface/ball/beast.gbapal.lz"); const u32 gInterfacePal_BeastBall[] = INCBIN_U32("graphics/interface/ball/beast.gbapal.lz");
const u32 gInterfaceGfx_CherishBall[] = INCBIN_U32("graphics/interface/ball/cherish.4bpp.lz");
const u32 gInterfacePal_CherishBall[] = INCBIN_U32("graphics/interface/ball/cherish.gbapal.lz");
const u32 gOpenPokeballGfx[] = INCBIN_U32("graphics/interface/ball_open.4bpp.lz"); const u32 gOpenPokeballGfx[] = INCBIN_U32("graphics/interface/ball_open.4bpp.lz");

View File

@ -6,40 +6,46 @@ const u32 gItemIconPalette_ReturnToFieldArrow[] = INCBIN_U32("graphics/items/ico
// Pokeballs // Pokeballs
const u32 gItemIcon_MasterBall[] = INCBIN_U32("graphics/items/icons/master_ball.4bpp.lz"); const u32 gItemIcon_PokeBall[] = INCBIN_U32("graphics/items/icons/poke_ball.4bpp.lz");
const u32 gItemIconPalette_MasterBall[] = INCBIN_U32("graphics/items/icon_palettes/master_ball.gbapal.lz"); const u32 gItemIconPalette_PokeBall[] = INCBIN_U32("graphics/items/icon_palettes/poke_ball.gbapal.lz");
const u32 gItemIcon_UltraBall[] = INCBIN_U32("graphics/items/icons/ultra_ball.4bpp.lz");
const u32 gItemIconPalette_UltraBall[] = INCBIN_U32("graphics/items/icon_palettes/ultra_ball.gbapal.lz");
const u32 gItemIcon_GreatBall[] = INCBIN_U32("graphics/items/icons/great_ball.4bpp.lz"); const u32 gItemIcon_GreatBall[] = INCBIN_U32("graphics/items/icons/great_ball.4bpp.lz");
const u32 gItemIconPalette_GreatBall[] = INCBIN_U32("graphics/items/icon_palettes/great_ball.gbapal.lz"); const u32 gItemIconPalette_GreatBall[] = INCBIN_U32("graphics/items/icon_palettes/great_ball.gbapal.lz");
const u32 gItemIcon_PokeBall[] = INCBIN_U32("graphics/items/icons/poke_ball.4bpp.lz"); const u32 gItemIcon_UltraBall[] = INCBIN_U32("graphics/items/icons/ultra_ball.4bpp.lz");
const u32 gItemIconPalette_PokeBall[] = INCBIN_U32("graphics/items/icon_palettes/poke_ball.gbapal.lz"); const u32 gItemIconPalette_UltraBall[] = INCBIN_U32("graphics/items/icon_palettes/ultra_ball.gbapal.lz");
const u32 gItemIcon_SafariBall[] = INCBIN_U32("graphics/items/icons/safari_ball.4bpp.lz"); const u32 gItemIcon_MasterBall[] = INCBIN_U32("graphics/items/icons/master_ball.4bpp.lz");
const u32 gItemIconPalette_SafariBall[] = INCBIN_U32("graphics/items/icon_palettes/safari_ball.gbapal.lz"); const u32 gItemIconPalette_MasterBall[] = INCBIN_U32("graphics/items/icon_palettes/master_ball.gbapal.lz");
const u32 gItemIcon_PremierBall[] = INCBIN_U32("graphics/items/icons/premier_ball.4bpp.lz");
const u32 gItemIcon_HealBall[] = INCBIN_U32("graphics/items/icons/heal_ball.4bpp.lz");
const u32 gItemIconPalette_HealBall[] = INCBIN_U32("graphics/items/icon_palettes/heal_ball.gbapal.lz");
const u32 gItemIcon_NetBall[] = INCBIN_U32("graphics/items/icons/net_ball.4bpp.lz"); const u32 gItemIcon_NetBall[] = INCBIN_U32("graphics/items/icons/net_ball.4bpp.lz");
const u32 gItemIconPalette_NetBall[] = INCBIN_U32("graphics/items/icon_palettes/net_ball.gbapal.lz"); const u32 gItemIconPalette_NetBall[] = INCBIN_U32("graphics/items/icon_palettes/net_ball.gbapal.lz");
const u32 gItemIcon_NestBall[] = INCBIN_U32("graphics/items/icons/nest_ball.4bpp.lz");
const u32 gItemIconPalette_NestBall[] = INCBIN_U32("graphics/items/icon_palettes/nest_ball.gbapal.lz");
const u32 gItemIcon_DiveBall[] = INCBIN_U32("graphics/items/icons/dive_ball.4bpp.lz"); const u32 gItemIcon_DiveBall[] = INCBIN_U32("graphics/items/icons/dive_ball.4bpp.lz");
const u32 gItemIconPalette_DiveBall[] = INCBIN_U32("graphics/items/icon_palettes/dive_ball.gbapal.lz"); const u32 gItemIconPalette_DiveBall[] = INCBIN_U32("graphics/items/icon_palettes/dive_ball.gbapal.lz");
const u32 gItemIcon_NestBall[] = INCBIN_U32("graphics/items/icons/nest_ball.4bpp.lz"); const u32 gItemIcon_DuskBall[] = INCBIN_U32("graphics/items/icons/dusk_ball.4bpp.lz");
const u32 gItemIconPalette_NestBall[] = INCBIN_U32("graphics/items/icon_palettes/nest_ball.gbapal.lz"); const u32 gItemIconPalette_DuskBall[] = INCBIN_U32("graphics/items/icon_palettes/dusk_ball.gbapal.lz");
const u32 gItemIcon_TimerBall[] = INCBIN_U32("graphics/items/icons/timer_ball.4bpp.lz");
const u32 gItemIcon_QuickBall[] = INCBIN_U32("graphics/items/icons/quick_ball.4bpp.lz");
const u32 gItemIconPalette_QuickBall[] = INCBIN_U32("graphics/items/icon_palettes/quick_ball.gbapal.lz");
const u32 gItemIcon_RepeatBall[] = INCBIN_U32("graphics/items/icons/repeat_ball.4bpp.lz"); const u32 gItemIcon_RepeatBall[] = INCBIN_U32("graphics/items/icons/repeat_ball.4bpp.lz");
const u32 gItemIconPalette_RepeatBall[] = INCBIN_U32("graphics/items/icon_palettes/repeat_ball.gbapal.lz"); const u32 gItemIconPalette_RepeatBall[] = INCBIN_U32("graphics/items/icon_palettes/repeat_ball.gbapal.lz");
const u32 gItemIcon_TimerBall[] = INCBIN_U32("graphics/items/icons/timer_ball.4bpp.lz");
const u32 gItemIcon_LuxuryBall[] = INCBIN_U32("graphics/items/icons/luxury_ball.4bpp.lz"); const u32 gItemIcon_LuxuryBall[] = INCBIN_U32("graphics/items/icons/luxury_ball.4bpp.lz");
const u32 gItemIconPalette_LuxuryBall[] = INCBIN_U32("graphics/items/icon_palettes/luxury_ball.gbapal.lz"); const u32 gItemIconPalette_LuxuryBall[] = INCBIN_U32("graphics/items/icon_palettes/luxury_ball.gbapal.lz");
const u32 gItemIcon_PremierBall[] = INCBIN_U32("graphics/items/icons/premier_ball.4bpp.lz");
const u32 gItemIcon_LevelBall[] = INCBIN_U32("graphics/items/icons/level_ball.4bpp.lz"); const u32 gItemIcon_LevelBall[] = INCBIN_U32("graphics/items/icons/level_ball.4bpp.lz");
const u32 gItemIconPalette_LevelBall[] = INCBIN_U32("graphics/items/icon_palettes/level_ball.gbapal.lz"); const u32 gItemIconPalette_LevelBall[] = INCBIN_U32("graphics/items/icon_palettes/level_ball.gbapal.lz");
@ -55,36 +61,30 @@ const u32 gItemIconPalette_FriendBall[] = INCBIN_U32("graphics/items/icon_palett
const u32 gItemIcon_LoveBall[] = INCBIN_U32("graphics/items/icons/love_ball.4bpp.lz"); const u32 gItemIcon_LoveBall[] = INCBIN_U32("graphics/items/icons/love_ball.4bpp.lz");
const u32 gItemIconPalette_LoveBall[] = INCBIN_U32("graphics/items/icon_palettes/love_ball.gbapal.lz"); const u32 gItemIconPalette_LoveBall[] = INCBIN_U32("graphics/items/icon_palettes/love_ball.gbapal.lz");
const u32 gItemIcon_HeavyBall[] = INCBIN_U32("graphics/items/icons/heavy_ball.4bpp.lz");
const u32 gItemIconPalette_HeavyBall[] = INCBIN_U32("graphics/items/icon_palettes/heavy_ball.gbapal.lz");
const u32 gItemIcon_FastBall[] = INCBIN_U32("graphics/items/icons/fast_ball.4bpp.lz"); const u32 gItemIcon_FastBall[] = INCBIN_U32("graphics/items/icons/fast_ball.4bpp.lz");
const u32 gItemIconPalette_FastBall[] = INCBIN_U32("graphics/items/icon_palettes/fast_ball.gbapal.lz"); const u32 gItemIconPalette_FastBall[] = INCBIN_U32("graphics/items/icon_palettes/fast_ball.gbapal.lz");
const u32 gItemIcon_SportBall[] = INCBIN_U32("graphics/items/icons/sport_ball.4bpp.lz"); const u32 gItemIcon_HeavyBall[] = INCBIN_U32("graphics/items/icons/heavy_ball.4bpp.lz");
const u32 gItemIconPalette_SportBall[] = INCBIN_U32("graphics/items/icon_palettes/sport_ball.gbapal.lz"); const u32 gItemIconPalette_HeavyBall[] = INCBIN_U32("graphics/items/icon_palettes/heavy_ball.gbapal.lz");
const u32 gItemIcon_DuskBall[] = INCBIN_U32("graphics/items/icons/dusk_ball.4bpp.lz");
const u32 gItemIconPalette_DuskBall[] = INCBIN_U32("graphics/items/icon_palettes/dusk_ball.gbapal.lz");
const u32 gItemIcon_QuickBall[] = INCBIN_U32("graphics/items/icons/quick_ball.4bpp.lz");
const u32 gItemIconPalette_QuickBall[] = INCBIN_U32("graphics/items/icon_palettes/quick_ball.gbapal.lz");
const u32 gItemIcon_HealBall[] = INCBIN_U32("graphics/items/icons/heal_ball.4bpp.lz");
const u32 gItemIconPalette_HealBall[] = INCBIN_U32("graphics/items/icon_palettes/heal_ball.gbapal.lz");
const u32 gItemIcon_CherishBall[] = INCBIN_U32("graphics/items/icons/cherish_ball.4bpp.lz");
const u32 gItemIconPalette_CherishBall[] = INCBIN_U32("graphics/items/icon_palettes/cherish_ball.gbapal.lz");
const u32 gItemIcon_ParkBall[] = INCBIN_U32("graphics/items/icons/park_ball.4bpp.lz");
const u32 gItemIconPalette_ParkBall[] = INCBIN_U32("graphics/items/icon_palettes/park_ball.gbapal.lz");
const u32 gItemIcon_DreamBall[] = INCBIN_U32("graphics/items/icons/dream_ball.4bpp.lz"); const u32 gItemIcon_DreamBall[] = INCBIN_U32("graphics/items/icons/dream_ball.4bpp.lz");
const u32 gItemIconPalette_DreamBall[] = INCBIN_U32("graphics/items/icon_palettes/dream_ball.gbapal.lz"); const u32 gItemIconPalette_DreamBall[] = INCBIN_U32("graphics/items/icon_palettes/dream_ball.gbapal.lz");
const u32 gItemIcon_SafariBall[] = INCBIN_U32("graphics/items/icons/safari_ball.4bpp.lz");
const u32 gItemIconPalette_SafariBall[] = INCBIN_U32("graphics/items/icon_palettes/safari_ball.gbapal.lz");
const u32 gItemIcon_SportBall[] = INCBIN_U32("graphics/items/icons/sport_ball.4bpp.lz");
const u32 gItemIconPalette_SportBall[] = INCBIN_U32("graphics/items/icon_palettes/sport_ball.gbapal.lz");
const u32 gItemIcon_ParkBall[] = INCBIN_U32("graphics/items/icons/park_ball.4bpp.lz");
const u32 gItemIconPalette_ParkBall[] = INCBIN_U32("graphics/items/icon_palettes/park_ball.gbapal.lz");
const u32 gItemIcon_BeastBall[] = INCBIN_U32("graphics/items/icons/beast_ball.4bpp.lz"); const u32 gItemIcon_BeastBall[] = INCBIN_U32("graphics/items/icons/beast_ball.4bpp.lz");
const u32 gItemIconPalette_BeastBall[] = INCBIN_U32("graphics/items/icon_palettes/beast_ball.gbapal.lz"); const u32 gItemIconPalette_BeastBall[] = INCBIN_U32("graphics/items/icon_palettes/beast_ball.gbapal.lz");
const u32 gItemIcon_CherishBall[] = INCBIN_U32("graphics/items/icons/cherish_ball.4bpp.lz");
const u32 gItemIconPalette_CherishBall[] = INCBIN_U32("graphics/items/icon_palettes/cherish_ball.gbapal.lz");
// Medicine // Medicine
const u32 gItemIcon_Potion[] = INCBIN_U32("graphics/items/icons/potion.4bpp.lz"); const u32 gItemIcon_Potion[] = INCBIN_U32("graphics/items/icons/potion.4bpp.lz");

View File

@ -2,33 +2,33 @@ const u32 *const gItemIconTable[][2] =
{ {
[ITEM_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, [ITEM_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
// Pokeballs // Pokeballs
[ITEM_MASTER_BALL] = {gItemIcon_MasterBall, gItemIconPalette_MasterBall},
[ITEM_ULTRA_BALL] = {gItemIcon_UltraBall, gItemIconPalette_UltraBall},
[ITEM_GREAT_BALL] = {gItemIcon_GreatBall, gItemIconPalette_GreatBall},
[ITEM_POKE_BALL] = {gItemIcon_PokeBall, gItemIconPalette_PokeBall}, [ITEM_POKE_BALL] = {gItemIcon_PokeBall, gItemIconPalette_PokeBall},
[ITEM_SAFARI_BALL] = {gItemIcon_SafariBall, gItemIconPalette_SafariBall}, [ITEM_GREAT_BALL] = {gItemIcon_GreatBall, gItemIconPalette_GreatBall},
[ITEM_NET_BALL] = {gItemIcon_NetBall, gItemIconPalette_NetBall}, [ITEM_ULTRA_BALL] = {gItemIcon_UltraBall, gItemIconPalette_UltraBall},
[ITEM_DIVE_BALL] = {gItemIcon_DiveBall, gItemIconPalette_DiveBall}, [ITEM_MASTER_BALL] = {gItemIcon_MasterBall, gItemIconPalette_MasterBall},
[ITEM_NEST_BALL] = {gItemIcon_NestBall, gItemIconPalette_NestBall},
[ITEM_REPEAT_BALL] = {gItemIcon_RepeatBall, gItemIconPalette_RepeatBall},
[ITEM_TIMER_BALL] = {gItemIcon_TimerBall, gItemIconPalette_RepeatBall},
[ITEM_LUXURY_BALL] = {gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall},
[ITEM_PREMIER_BALL] = {gItemIcon_PremierBall, gItemIconPalette_LuxuryBall}, [ITEM_PREMIER_BALL] = {gItemIcon_PremierBall, gItemIconPalette_LuxuryBall},
[ITEM_HEAL_BALL] = {gItemIcon_HealBall, gItemIconPalette_HealBall},
[ITEM_NET_BALL] = {gItemIcon_NetBall, gItemIconPalette_NetBall},
[ITEM_NEST_BALL] = {gItemIcon_NestBall, gItemIconPalette_NestBall},
[ITEM_DIVE_BALL] = {gItemIcon_DiveBall, gItemIconPalette_DiveBall},
[ITEM_DUSK_BALL] = {gItemIcon_DuskBall, gItemIconPalette_DuskBall},
[ITEM_TIMER_BALL] = {gItemIcon_TimerBall, gItemIconPalette_RepeatBall},
[ITEM_QUICK_BALL] = {gItemIcon_QuickBall, gItemIconPalette_QuickBall},
[ITEM_REPEAT_BALL] = {gItemIcon_RepeatBall, gItemIconPalette_RepeatBall},
[ITEM_LUXURY_BALL] = {gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall},
[ITEM_LEVEL_BALL] = {gItemIcon_LevelBall, gItemIconPalette_LevelBall}, [ITEM_LEVEL_BALL] = {gItemIcon_LevelBall, gItemIconPalette_LevelBall},
[ITEM_LURE_BALL] = {gItemIcon_LureBall, gItemIconPalette_LureBall}, [ITEM_LURE_BALL] = {gItemIcon_LureBall, gItemIconPalette_LureBall},
[ITEM_MOON_BALL] = {gItemIcon_MoonBall, gItemIconPalette_MoonBall}, [ITEM_MOON_BALL] = {gItemIcon_MoonBall, gItemIconPalette_MoonBall},
[ITEM_FRIEND_BALL] = {gItemIcon_FriendBall, gItemIconPalette_FriendBall}, [ITEM_FRIEND_BALL] = {gItemIcon_FriendBall, gItemIconPalette_FriendBall},
[ITEM_LOVE_BALL] = {gItemIcon_LoveBall, gItemIconPalette_LoveBall}, [ITEM_LOVE_BALL] = {gItemIcon_LoveBall, gItemIconPalette_LoveBall},
[ITEM_HEAVY_BALL] = {gItemIcon_HeavyBall, gItemIconPalette_HeavyBall},
[ITEM_FAST_BALL] = {gItemIcon_FastBall, gItemIconPalette_FastBall}, [ITEM_FAST_BALL] = {gItemIcon_FastBall, gItemIconPalette_FastBall},
[ITEM_SPORT_BALL] = {gItemIcon_SportBall, gItemIconPalette_SportBall}, [ITEM_HEAVY_BALL] = {gItemIcon_HeavyBall, gItemIconPalette_HeavyBall},
[ITEM_DUSK_BALL] = {gItemIcon_DuskBall, gItemIconPalette_DuskBall},
[ITEM_QUICK_BALL] = {gItemIcon_QuickBall, gItemIconPalette_QuickBall},
[ITEM_HEAL_BALL] = {gItemIcon_HealBall, gItemIconPalette_HealBall},
[ITEM_CHERISH_BALL] = {gItemIcon_CherishBall, gItemIconPalette_CherishBall},
[ITEM_PARK_BALL] = {gItemIcon_ParkBall, gItemIconPalette_ParkBall},
[ITEM_DREAM_BALL] = {gItemIcon_DreamBall, gItemIconPalette_DreamBall}, [ITEM_DREAM_BALL] = {gItemIcon_DreamBall, gItemIconPalette_DreamBall},
[ITEM_SAFARI_BALL] = {gItemIcon_SafariBall, gItemIconPalette_SafariBall},
[ITEM_SPORT_BALL] = {gItemIcon_SportBall, gItemIconPalette_SportBall},
[ITEM_PARK_BALL] = {gItemIcon_ParkBall, gItemIconPalette_ParkBall},
[ITEM_BEAST_BALL] = {gItemIcon_BeastBall, gItemIconPalette_BeastBall}, [ITEM_BEAST_BALL] = {gItemIcon_BeastBall, gItemIconPalette_BeastBall},
[ITEM_CHERISH_BALL] = {gItemIcon_CherishBall, gItemIconPalette_CherishBall},
// Medicine // Medicine
[ITEM_POTION] = {gItemIcon_Potion, gItemIconPalette_Potion}, [ITEM_POTION] = {gItemIcon_Potion, gItemIconPalette_Potion},
[ITEM_ANTIDOTE] = {gItemIcon_Antidote, gItemIconPalette_Antidote}, [ITEM_ANTIDOTE] = {gItemIcon_Antidote, gItemIconPalette_Antidote},

View File

@ -13,30 +13,17 @@ const struct Item gItems[] =
// Pokeballs // Pokeballs
[ITEM_MASTER_BALL] = [ITEM_POKE_BALL] =
{ {
.name = _("Master Ball"), .name = _("Poké Ball"),
.itemId = ITEM_MASTER_BALL, .itemId = ITEM_POKE_BALL,
.price = 0, .price = 200,
.description = sMasterBallDesc, .description = sPokeBallDesc,
.pocket = POCKET_POKE_BALLS, .pocket = POCKET_POKE_BALLS,
.type = ITEM_MASTER_BALL - FIRST_BALL, .type = ITEM_POKE_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER, .battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall, .battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_MASTER_BALL - FIRST_BALL, .secondaryId = ITEM_POKE_BALL - FIRST_BALL,
},
[ITEM_ULTRA_BALL] =
{
.name = _("Ultra Ball"),
.itemId = ITEM_ULTRA_BALL,
.price = 800,
.description = sUltraBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_ULTRA_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_ULTRA_BALL - FIRST_BALL,
}, },
[ITEM_GREAT_BALL] = [ITEM_GREAT_BALL] =
@ -52,30 +39,56 @@ const struct Item gItems[] =
.secondaryId = ITEM_GREAT_BALL - FIRST_BALL, .secondaryId = ITEM_GREAT_BALL - FIRST_BALL,
}, },
[ITEM_POKE_BALL] = [ITEM_ULTRA_BALL] =
{ {
.name = _("Poké Ball"), .name = _("Ultra Ball"),
.itemId = ITEM_POKE_BALL, .itemId = ITEM_ULTRA_BALL,
.price = 200, .price = 800,
.description = sPokeBallDesc, .description = sUltraBallDesc,
.pocket = POCKET_POKE_BALLS, .pocket = POCKET_POKE_BALLS,
.type = ITEM_POKE_BALL - FIRST_BALL, .type = ITEM_ULTRA_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER, .battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall, .battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_POKE_BALL - FIRST_BALL, .secondaryId = ITEM_ULTRA_BALL - FIRST_BALL,
}, },
[ITEM_SAFARI_BALL] = [ITEM_MASTER_BALL] =
{ {
.name = _("Safari Ball"), .name = _("Master Ball"),
.itemId = ITEM_SAFARI_BALL, .itemId = ITEM_MASTER_BALL,
.price = 0, .price = 0,
.description = sSafariBallDesc, .description = sMasterBallDesc,
.pocket = POCKET_POKE_BALLS, .pocket = POCKET_POKE_BALLS,
.type = ITEM_SAFARI_BALL - FIRST_BALL, .type = ITEM_MASTER_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER, .battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall, .battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_SAFARI_BALL - FIRST_BALL, .secondaryId = ITEM_MASTER_BALL - FIRST_BALL,
},
[ITEM_PREMIER_BALL] =
{
.name = _("Premier Ball"),
.itemId = ITEM_PREMIER_BALL,
.price = 20,
.description = sPremierBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_PREMIER_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_PREMIER_BALL - FIRST_BALL,
},
[ITEM_HEAL_BALL] =
{
.name = _("Heal Ball"),
.itemId = ITEM_HEAL_BALL,
.price = 300,
.description = sHealBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_HEAL_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_HEAL_BALL - FIRST_BALL,
}, },
[ITEM_NET_BALL] = [ITEM_NET_BALL] =
@ -91,19 +104,6 @@ const struct Item gItems[] =
.secondaryId = ITEM_NET_BALL - FIRST_BALL, .secondaryId = ITEM_NET_BALL - FIRST_BALL,
}, },
[ITEM_DIVE_BALL] =
{
.name = _("Dive Ball"),
.itemId = ITEM_DIVE_BALL,
.price = 1000,
.description = sDiveBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_DIVE_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_DIVE_BALL - FIRST_BALL,
},
[ITEM_NEST_BALL] = [ITEM_NEST_BALL] =
{ {
.name = _("Nest Ball"), .name = _("Nest Ball"),
@ -117,17 +117,30 @@ const struct Item gItems[] =
.secondaryId = ITEM_NEST_BALL - FIRST_BALL, .secondaryId = ITEM_NEST_BALL - FIRST_BALL,
}, },
[ITEM_REPEAT_BALL] = [ITEM_DIVE_BALL] =
{ {
.name = _("Repeat Ball"), .name = _("Dive Ball"),
.itemId = ITEM_REPEAT_BALL, .itemId = ITEM_DIVE_BALL,
.price = 1000, .price = 1000,
.description = sRepeatBallDesc, .description = sDiveBallDesc,
.pocket = POCKET_POKE_BALLS, .pocket = POCKET_POKE_BALLS,
.type = ITEM_REPEAT_BALL - FIRST_BALL, .type = ITEM_DIVE_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER, .battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall, .battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_REPEAT_BALL - FIRST_BALL, .secondaryId = ITEM_DIVE_BALL - FIRST_BALL,
},
[ITEM_DUSK_BALL] =
{
.name = _("Dusk Ball"),
.itemId = ITEM_DUSK_BALL,
.price = 1000,
.description = sDuskBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_DUSK_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_DUSK_BALL - FIRST_BALL,
}, },
[ITEM_TIMER_BALL] = [ITEM_TIMER_BALL] =
@ -143,6 +156,32 @@ const struct Item gItems[] =
.secondaryId = ITEM_TIMER_BALL - FIRST_BALL, .secondaryId = ITEM_TIMER_BALL - FIRST_BALL,
}, },
[ITEM_QUICK_BALL] =
{
.name = _("Quick Ball"),
.itemId = ITEM_QUICK_BALL,
.price = 1000,
.description = sQuickBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_QUICK_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_QUICK_BALL - FIRST_BALL,
},
[ITEM_REPEAT_BALL] =
{
.name = _("Repeat Ball"),
.itemId = ITEM_REPEAT_BALL,
.price = 1000,
.description = sRepeatBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_REPEAT_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_REPEAT_BALL - FIRST_BALL,
},
[ITEM_LUXURY_BALL] = [ITEM_LUXURY_BALL] =
{ {
.name = _("Luxury Ball"), .name = _("Luxury Ball"),
@ -156,19 +195,6 @@ const struct Item gItems[] =
.secondaryId = ITEM_LUXURY_BALL - FIRST_BALL, .secondaryId = ITEM_LUXURY_BALL - FIRST_BALL,
}, },
[ITEM_PREMIER_BALL] =
{
.name = _("Premier Ball"),
.itemId = ITEM_PREMIER_BALL,
.price = 20,
.description = sPremierBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_PREMIER_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_PREMIER_BALL - FIRST_BALL,
},
[ITEM_LEVEL_BALL] = [ITEM_LEVEL_BALL] =
{ {
.name = _("Level Ball"), .name = _("Level Ball"),
@ -234,19 +260,6 @@ const struct Item gItems[] =
.secondaryId = ITEM_LOVE_BALL - FIRST_BALL, .secondaryId = ITEM_LOVE_BALL - FIRST_BALL,
}, },
[ITEM_HEAVY_BALL] =
{
.name = _("Heavy Ball"),
.itemId = ITEM_HEAVY_BALL,
.price = 0,
.description = sHeavyBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_HEAVY_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_HEAVY_BALL - FIRST_BALL,
},
[ITEM_FAST_BALL] = [ITEM_FAST_BALL] =
{ {
.name = _("Fast Ball"), .name = _("Fast Ball"),
@ -260,56 +273,43 @@ const struct Item gItems[] =
.secondaryId = ITEM_FAST_BALL - FIRST_BALL, .secondaryId = ITEM_FAST_BALL - FIRST_BALL,
}, },
[ITEM_HEAL_BALL] = [ITEM_HEAVY_BALL] =
{ {
.name = _("Heal Ball"), .name = _("Heavy Ball"),
.itemId = ITEM_HEAL_BALL, .itemId = ITEM_HEAVY_BALL,
.price = 300,
.description = sHealBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_HEAL_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_HEAL_BALL - FIRST_BALL,
},
[ITEM_QUICK_BALL] =
{
.name = _("Quick Ball"),
.itemId = ITEM_QUICK_BALL,
.price = 1000,
.description = sQuickBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_QUICK_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_QUICK_BALL - FIRST_BALL,
},
[ITEM_DUSK_BALL] =
{
.name = _("Dusk Ball"),
.itemId = ITEM_DUSK_BALL,
.price = 1000,
.description = sDuskBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_DUSK_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_DUSK_BALL - FIRST_BALL,
},
[ITEM_CHERISH_BALL] =
{
.name = _("Cherish Ball"),
.itemId = ITEM_CHERISH_BALL,
.price = 0, .price = 0,
.description = sCherishBallDesc, .description = sHeavyBallDesc,
.pocket = POCKET_POKE_BALLS, .pocket = POCKET_POKE_BALLS,
.type = ITEM_CHERISH_BALL - FIRST_BALL, .type = ITEM_HEAVY_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER, .battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall, .battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_CHERISH_BALL - FIRST_BALL, .secondaryId = ITEM_HEAVY_BALL - FIRST_BALL,
},
[ITEM_DREAM_BALL] =
{
.name = _("Dream Ball"),
.itemId = ITEM_DREAM_BALL,
.price = 0,
.description = sDreamBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_DREAM_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_DREAM_BALL - FIRST_BALL,
},
[ITEM_SAFARI_BALL] =
{
.name = _("Safari Ball"),
.itemId = ITEM_SAFARI_BALL,
.price = 0,
.description = sSafariBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_SAFARI_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_SAFARI_BALL - FIRST_BALL,
}, },
[ITEM_SPORT_BALL] = [ITEM_SPORT_BALL] =
@ -338,19 +338,6 @@ const struct Item gItems[] =
.secondaryId = ITEM_PARK_BALL - FIRST_BALL, .secondaryId = ITEM_PARK_BALL - FIRST_BALL,
}, },
[ITEM_DREAM_BALL] =
{
.name = _("Dream Ball"),
.itemId = ITEM_DREAM_BALL,
.price = 0,
.description = sDreamBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_DREAM_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_DREAM_BALL - FIRST_BALL,
},
[ITEM_BEAST_BALL] = [ITEM_BEAST_BALL] =
{ {
.name = _("Beast Ball"), .name = _("Beast Ball"),
@ -364,6 +351,19 @@ const struct Item gItems[] =
.secondaryId = ITEM_BEAST_BALL - FIRST_BALL, .secondaryId = ITEM_BEAST_BALL - FIRST_BALL,
}, },
[ITEM_CHERISH_BALL] =
{
.name = _("Cherish Ball"),
.itemId = ITEM_CHERISH_BALL,
.price = 0,
.description = sCherishBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_CHERISH_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_CHERISH_BALL - FIRST_BALL,
},
// Medicine // Medicine
[ITEM_POTION] = [ITEM_POTION] =

View File

@ -2,66 +2,76 @@ static const u8 sDummyDesc[] = _(
"?????"); "?????");
// Pokeballs // Pokeballs
static const u8 sMasterBallDesc[] = _( static const u8 sPokeBallDesc[] = _(
"The best Ball that\n" "A tool used for\n"
"catches a Pokémon\n" "catching wild\n"
"without fail."); "Pokémon.");
static const u8 sUltraBallDesc[] = _(
"A better Ball with\n"
"a higher catch rate\n"
"than a Great Ball.");
static const u8 sGreatBallDesc[] = _( static const u8 sGreatBallDesc[] = _(
"A good Ball with a\n" "A good Ball with a\n"
"higher catch rate\n" "higher catch rate\n"
"than a Poké Ball."); "than a Poké Ball.");
static const u8 sPokeBallDesc[] = _( static const u8 sUltraBallDesc[] = _(
"A tool used for\n" "A better Ball with\n"
"catching wild\n" "a higher catch rate\n"
"Pokémon."); "than a Great Ball.");
static const u8 sSafariBallDesc[] = _( static const u8 sMasterBallDesc[] = _(
"A special Ball that\n" "The best Ball that\n"
"is used only in the\n" "catches a Pokémon\n"
"Safari Zone."); "without fail.");
static const u8 sPremierBallDesc[] = _(
"A rare Ball made\n"
"in commemoration\n"
"of some event.");
static const u8 sHealBallDesc[] = _(
"A remedial Ball\n"
"that restores\n"
"caught Pokémon.");
static const u8 sNetBallDesc[] = _( static const u8 sNetBallDesc[] = _(
"A Ball that works\n" "A Ball that works\n"
"well on Water- and\n" "well on Water- and\n"
"Bug-type Pokémon."); "Bug-type Pokémon.");
static const u8 sDiveBallDesc[] = _(
"A Ball that works\n"
"better on Pokémon\n"
"on the ocean floor.");
static const u8 sNestBallDesc[] = _( static const u8 sNestBallDesc[] = _(
"A Ball that works\n" "A Ball that works\n"
"better on weaker\n" "better on weaker\n"
"Pokémon."); "Pokémon.");
static const u8 sRepeatBallDesc[] = _( static const u8 sDiveBallDesc[] = _(
"A Ball that works\n" "A Ball that works\n"
"better on Pokémon\n" "better on Pokémon\n"
"caught before."); "on the ocean floor.");
static const u8 sDuskBallDesc[] = _(
"Works well if\n"
"used in a\n"
"dark place.");
static const u8 sTimerBallDesc[] = _( static const u8 sTimerBallDesc[] = _(
"A Ball that gains\n" "A Ball that gains\n"
"power in battles\n" "power in battles\n"
"taking many turns."); "taking many turns.");
static const u8 sQuickBallDesc[] = _(
"Works well if\n"
"used on the\n"
"first turn.");
static const u8 sRepeatBallDesc[] = _(
"A Ball that works\n"
"better on Pokémon\n"
"caught before.");
static const u8 sLuxuryBallDesc[] = _( static const u8 sLuxuryBallDesc[] = _(
"A cozy Ball that\n" "A cozy Ball that\n"
"makes Pokémon\n" "makes Pokémon\n"
"more friendly."); "more friendly.");
static const u8 sPremierBallDesc[] = _(
"A rare Ball made\n"
"in commemoration\n"
"of some event.");
static const u8 sLevelBallDesc[] = _( static const u8 sLevelBallDesc[] = _(
"A Ball that works\n" "A Ball that works\n"
"well on lower\n" "well on lower\n"
@ -87,35 +97,25 @@ static const u8 sLoveBallDesc[] = _(
"Pokémon of the\n" "Pokémon of the\n"
"opposite gender."); "opposite gender.");
static const u8 sHeavyBallDesc[] = _(
"Works well on\n"
"very heavy\n"
"Pokémon.");
static const u8 sFastBallDesc[] = _( static const u8 sFastBallDesc[] = _(
"Works well on\n" "Works well on\n"
"very fast\n" "very fast\n"
"Pokémon."); "Pokémon.");
static const u8 sHealBallDesc[] = _( static const u8 sHeavyBallDesc[] = _(
"A remedial Ball\n" "Works well on\n"
"that restores\n" "very heavy\n"
"caught Pokémon."); "Pokémon.");
static const u8 sQuickBallDesc[] = _( static const u8 sDreamBallDesc[] = _(
"Works well if\n" "A Poké Ball used in\n"
"used on the\n" "the Entree Forest.\n"
"first turn."); "It doesn't fail.");
static const u8 sDuskBallDesc[] = _( static const u8 sSafariBallDesc[] = _(
"Works well if\n" "A special Ball that\n"
"used in a\n" "is used only in the\n"
"dark place."); "Safari Zone.");
static const u8 sCherishBallDesc[] = _(
"A rare Ball made\n"
"in commemoration\n"
"of some event.");
static const u8 sSportBallDesc[] = _( static const u8 sSportBallDesc[] = _(
"A special Ball used\n" "A special Ball used\n"
@ -126,15 +126,15 @@ static const u8 sParkBallDesc[] = _(
"A special Ball for\n" "A special Ball for\n"
"the Pal Park."); "the Pal Park.");
static const u8 sDreamBallDesc[] = _(
"A Poké Ball used in\n"
"the Entree Forest.\n"
"It doesn't fail.");
static const u8 sBeastBallDesc[] = _( static const u8 sBeastBallDesc[] = _(
"A Ball designed to\n" "A Ball designed to\n"
"catch Ultra Beasts."); "catch Ultra Beasts.");
static const u8 sCherishBallDesc[] = _(
"A rare Ball made\n"
"in commemoration\n"
"of some event.");
// Medicine // Medicine
static const u8 sPotionDesc[] = _( static const u8 sPotionDesc[] = _(
"Restores the HP of\n" "Restores the HP of\n"

View File

@ -49,92 +49,92 @@ static u16 GetBattlerPokeballItemId(u8 battlerId);
#define GFX_TAG_POKEBALL 55000 #define GFX_TAG_POKEBALL 55000
#define GFX_TAG_GREATBALL 55001 #define GFX_TAG_GREATBALL 55001
#define GFX_TAG_SAFARIBALL 55002 #define GFX_TAG_ULTRABALL 55002
#define GFX_TAG_ULTRABALL 55003 #define GFX_TAG_MASTERBALL 55003
#define GFX_TAG_MASTERBALL 55004 #define GFX_TAG_PREMIERBALL 55004
#define GFX_TAG_NETBALL 55005 #define GFX_TAG_HEALBALL 55005
#define GFX_TAG_DIVEBALL 55006 #define GFX_TAG_NETBALL 55006
#define GFX_TAG_NESTBALL 55007 #define GFX_TAG_NESTBALL 55007
#define GFX_TAG_REPEATBALL 55008 #define GFX_TAG_DIVEBALL 55008
#define GFX_TAG_TIMERBALL 55009 #define GFX_TAG_DUSKBALL 55009
#define GFX_TAG_LUXURYBALL 55010 #define GFX_TAG_TIMERBALL 55010
#define GFX_TAG_PREMIERBALL 55011 #define GFX_TAG_QUICKBALL 55011
#define GFX_TAG_LEVELBALL 55012 #define GFX_TAG_REPEATBALL 55012
#define GFX_TAG_LUREBALL 55013 #define GFX_TAG_LUXURYBALL 55013
#define GFX_TAG_MOONBALL 55014 #define GFX_TAG_LEVELBALL 55014
#define GFX_TAG_FRIENDBALL 55015 #define GFX_TAG_LUREBALL 55015
#define GFX_TAG_LOVEBALL 55016 #define GFX_TAG_MOONBALL 55016
#define GFX_TAG_HEAVYBALL 55017 #define GFX_TAG_FRIENDBALL 55017
#define GFX_TAG_FASTBALL 55018 #define GFX_TAG_LOVEBALL 55018
#define GFX_TAG_SPORTBALL 55019 #define GFX_TAG_FASTBALL 55019
#define GFX_TAG_DUSKBALL 55020 #define GFX_TAG_HEAVYBALL 55020
#define GFX_TAG_QUICKBALL 55021 #define GFX_TAG_DREAMBALL 55021
#define GFX_TAG_HEALBALL 55022 #define GFX_TAG_SAFARIBALL 55022
#define GFX_TAG_CHERISHBALL 55023 #define GFX_TAG_SPORTBALL 55023
#define GFX_TAG_PARKBALL 55024 #define GFX_TAG_PARKBALL 55024
#define GFX_TAG_DREAMBALL 55025 #define GFX_TAG_BEASTBALL 55025
#define GFX_TAG_BEASTBALL 55026 #define GFX_TAG_CHERISHBALL 55026
const struct CompressedSpriteSheet gBallSpriteSheets[POKEBALL_COUNT] = const struct CompressedSpriteSheet gBallSpriteSheets[POKEBALL_COUNT] =
{ {
[BALL_POKE] = {gInterfaceGfx_PokeBall, 384, GFX_TAG_POKEBALL}, [BALL_POKE] = {gInterfaceGfx_PokeBall, 384, GFX_TAG_POKEBALL},
[BALL_GREAT] = {gInterfaceGfx_GreatBall, 384, GFX_TAG_GREATBALL}, [BALL_GREAT] = {gInterfaceGfx_GreatBall, 384, GFX_TAG_GREATBALL},
[BALL_SAFARI] = {gInterfaceGfx_SafariBall, 384, GFX_TAG_SAFARIBALL},
[BALL_ULTRA] = {gInterfaceGfx_UltraBall, 384, GFX_TAG_ULTRABALL}, [BALL_ULTRA] = {gInterfaceGfx_UltraBall, 384, GFX_TAG_ULTRABALL},
[BALL_MASTER] = {gInterfaceGfx_MasterBall, 384, GFX_TAG_MASTERBALL}, [BALL_MASTER] = {gInterfaceGfx_MasterBall, 384, GFX_TAG_MASTERBALL},
[BALL_NET] = {gInterfaceGfx_NetBall, 384, GFX_TAG_NETBALL},
[BALL_DIVE] = {gInterfaceGfx_DiveBall, 384, GFX_TAG_DIVEBALL},
[BALL_NEST] = {gInterfaceGfx_NestBall, 384, GFX_TAG_NESTBALL},
[BALL_REPEAT] = {gInterfaceGfx_RepeatBall, 384, GFX_TAG_REPEATBALL},
[BALL_TIMER] = {gInterfaceGfx_TimerBall, 384, GFX_TAG_TIMERBALL},
[BALL_LUXURY] = {gInterfaceGfx_LuxuryBall, 384, GFX_TAG_LUXURYBALL},
[BALL_PREMIER] = {gInterfaceGfx_PremierBall, 384, GFX_TAG_PREMIERBALL}, [BALL_PREMIER] = {gInterfaceGfx_PremierBall, 384, GFX_TAG_PREMIERBALL},
[BALL_HEAL] = {gInterfaceGfx_HealBall, 384, GFX_TAG_HEALBALL},
[BALL_NET] = {gInterfaceGfx_NetBall, 384, GFX_TAG_NETBALL},
[BALL_NEST] = {gInterfaceGfx_NestBall, 384, GFX_TAG_NESTBALL},
[BALL_DIVE] = {gInterfaceGfx_DiveBall, 384, GFX_TAG_DIVEBALL},
[BALL_DUSK] = {gInterfaceGfx_DuskBall, 384, GFX_TAG_DUSKBALL},
[BALL_TIMER] = {gInterfaceGfx_TimerBall, 384, GFX_TAG_TIMERBALL},
[BALL_QUICK] = {gInterfaceGfx_QuickBall, 384, GFX_TAG_QUICKBALL},
[BALL_REPEAT] = {gInterfaceGfx_RepeatBall, 384, GFX_TAG_REPEATBALL},
[BALL_LUXURY] = {gInterfaceGfx_LuxuryBall, 384, GFX_TAG_LUXURYBALL},
[BALL_LEVEL] = {gInterfaceGfx_LevelBall, 384, GFX_TAG_LEVELBALL}, [BALL_LEVEL] = {gInterfaceGfx_LevelBall, 384, GFX_TAG_LEVELBALL},
[BALL_LURE] = {gInterfaceGfx_LureBall, 384, GFX_TAG_LUREBALL}, [BALL_LURE] = {gInterfaceGfx_LureBall, 384, GFX_TAG_LUREBALL},
[BALL_MOON] = {gInterfaceGfx_MoonBall, 384, GFX_TAG_MOONBALL}, [BALL_MOON] = {gInterfaceGfx_MoonBall, 384, GFX_TAG_MOONBALL},
[BALL_FRIEND] = {gInterfaceGfx_FriendBall, 384, GFX_TAG_FRIENDBALL}, [BALL_FRIEND] = {gInterfaceGfx_FriendBall, 384, GFX_TAG_FRIENDBALL},
[BALL_LOVE] = {gInterfaceGfx_LoveBall, 384, GFX_TAG_LOVEBALL}, [BALL_LOVE] = {gInterfaceGfx_LoveBall, 384, GFX_TAG_LOVEBALL},
[BALL_HEAVY] = {gInterfaceGfx_HeavyBall, 384, GFX_TAG_HEAVYBALL},
[BALL_FAST] = {gInterfaceGfx_FastBall, 384, GFX_TAG_FASTBALL}, [BALL_FAST] = {gInterfaceGfx_FastBall, 384, GFX_TAG_FASTBALL},
[BALL_SPORT] = {gInterfaceGfx_SportBall, 384, GFX_TAG_SPORTBALL}, [BALL_HEAVY] = {gInterfaceGfx_HeavyBall, 384, GFX_TAG_HEAVYBALL},
[BALL_DUSK] = {gInterfaceGfx_DuskBall, 384, GFX_TAG_DUSKBALL},
[BALL_QUICK] = {gInterfaceGfx_QuickBall, 384, GFX_TAG_QUICKBALL},
[BALL_HEAL] = {gInterfaceGfx_HealBall, 384, GFX_TAG_HEALBALL},
[BALL_CHERISH] = {gInterfaceGfx_CherishBall, 384, GFX_TAG_CHERISHBALL},
[BALL_PARK] = {gInterfaceGfx_ParkBall, 384, GFX_TAG_PARKBALL},
[BALL_DREAM] = {gInterfaceGfx_DreamBall, 384, GFX_TAG_DREAMBALL}, [BALL_DREAM] = {gInterfaceGfx_DreamBall, 384, GFX_TAG_DREAMBALL},
[BALL_SAFARI] = {gInterfaceGfx_SafariBall, 384, GFX_TAG_SAFARIBALL},
[BALL_SPORT] = {gInterfaceGfx_SportBall, 384, GFX_TAG_SPORTBALL},
[BALL_PARK] = {gInterfaceGfx_ParkBall, 384, GFX_TAG_PARKBALL},
[BALL_BEAST] = {gInterfaceGfx_BeastBall, 384, GFX_TAG_BEASTBALL}, [BALL_BEAST] = {gInterfaceGfx_BeastBall, 384, GFX_TAG_BEASTBALL},
[BALL_CHERISH] = {gInterfaceGfx_CherishBall, 384, GFX_TAG_CHERISHBALL},
}; };
const struct CompressedSpritePalette gBallSpritePalettes[POKEBALL_COUNT] = const struct CompressedSpritePalette gBallSpritePalettes[POKEBALL_COUNT] =
{ {
[BALL_POKE] = {gInterfacePal_PokeBall, GFX_TAG_POKEBALL}, [BALL_POKE] = {gInterfacePal_PokeBall, GFX_TAG_POKEBALL},
[BALL_GREAT] = {gInterfacePal_GreatBall, GFX_TAG_GREATBALL}, [BALL_GREAT] = {gInterfacePal_GreatBall, GFX_TAG_GREATBALL},
[BALL_SAFARI] = {gInterfacePal_SafariBall, GFX_TAG_SAFARIBALL},
[BALL_ULTRA] = {gInterfacePal_UltraBall, GFX_TAG_ULTRABALL}, [BALL_ULTRA] = {gInterfacePal_UltraBall, GFX_TAG_ULTRABALL},
[BALL_MASTER] = {gInterfacePal_MasterBall, GFX_TAG_MASTERBALL}, [BALL_MASTER] = {gInterfacePal_MasterBall, GFX_TAG_MASTERBALL},
[BALL_NET] = {gInterfacePal_NetBall, GFX_TAG_NETBALL},
[BALL_DIVE] = {gInterfacePal_DiveBall, GFX_TAG_DIVEBALL},
[BALL_NEST] = {gInterfacePal_NestBall, GFX_TAG_NESTBALL},
[BALL_REPEAT] = {gInterfacePal_RepeatBall, GFX_TAG_REPEATBALL},
[BALL_TIMER] = {gInterfacePal_TimerBall, GFX_TAG_TIMERBALL},
[BALL_LUXURY] = {gInterfacePal_LuxuryBall, GFX_TAG_LUXURYBALL},
[BALL_PREMIER] = {gInterfacePal_PremierBall, GFX_TAG_PREMIERBALL}, [BALL_PREMIER] = {gInterfacePal_PremierBall, GFX_TAG_PREMIERBALL},
[BALL_HEAL] = {gInterfacePal_HealBall, GFX_TAG_HEALBALL},
[BALL_NET] = {gInterfacePal_NetBall, GFX_TAG_NETBALL},
[BALL_NEST] = {gInterfacePal_NestBall, GFX_TAG_NESTBALL},
[BALL_DIVE] = {gInterfacePal_DiveBall, GFX_TAG_DIVEBALL},
[BALL_DUSK] = {gInterfacePal_DuskBall, GFX_TAG_DUSKBALL},
[BALL_TIMER] = {gInterfacePal_TimerBall, GFX_TAG_TIMERBALL},
[BALL_QUICK] = {gInterfacePal_QuickBall, GFX_TAG_QUICKBALL},
[BALL_REPEAT] = {gInterfacePal_RepeatBall, GFX_TAG_REPEATBALL},
[BALL_LUXURY] = {gInterfacePal_LuxuryBall, GFX_TAG_LUXURYBALL},
[BALL_LEVEL] = {gInterfacePal_LevelBall, GFX_TAG_LEVELBALL}, [BALL_LEVEL] = {gInterfacePal_LevelBall, GFX_TAG_LEVELBALL},
[BALL_LURE] = {gInterfacePal_LureBall, GFX_TAG_LUREBALL}, [BALL_LURE] = {gInterfacePal_LureBall, GFX_TAG_LUREBALL},
[BALL_MOON] = {gInterfacePal_MoonBall, GFX_TAG_MOONBALL}, [BALL_MOON] = {gInterfacePal_MoonBall, GFX_TAG_MOONBALL},
[BALL_FRIEND] = {gInterfacePal_FriendBall, GFX_TAG_FRIENDBALL}, [BALL_FRIEND] = {gInterfacePal_FriendBall, GFX_TAG_FRIENDBALL},
[BALL_LOVE] = {gInterfacePal_LoveBall, GFX_TAG_LOVEBALL}, [BALL_LOVE] = {gInterfacePal_LoveBall, GFX_TAG_LOVEBALL},
[BALL_HEAVY] = {gInterfacePal_HeavyBall, GFX_TAG_HEAVYBALL},
[BALL_FAST] = {gInterfacePal_FastBall, GFX_TAG_FASTBALL}, [BALL_FAST] = {gInterfacePal_FastBall, GFX_TAG_FASTBALL},
[BALL_SPORT] = {gInterfacePal_SportBall, GFX_TAG_SPORTBALL}, [BALL_HEAVY] = {gInterfacePal_HeavyBall, GFX_TAG_HEAVYBALL},
[BALL_DUSK] = {gInterfacePal_DuskBall, GFX_TAG_DUSKBALL},
[BALL_QUICK] = {gInterfacePal_QuickBall, GFX_TAG_QUICKBALL},
[BALL_HEAL] = {gInterfacePal_HealBall, GFX_TAG_HEALBALL},
[BALL_CHERISH] = {gInterfacePal_CherishBall, GFX_TAG_CHERISHBALL},
[BALL_PARK] = {gInterfacePal_ParkBall, GFX_TAG_PARKBALL},
[BALL_DREAM] = {gInterfacePal_DreamBall, GFX_TAG_DREAMBALL}, [BALL_DREAM] = {gInterfacePal_DreamBall, GFX_TAG_DREAMBALL},
[BALL_SAFARI] = {gInterfacePal_SafariBall, GFX_TAG_SAFARIBALL},
[BALL_SPORT] = {gInterfacePal_SportBall, GFX_TAG_SPORTBALL},
[BALL_PARK] = {gInterfacePal_ParkBall, GFX_TAG_PARKBALL},
[BALL_BEAST] = {gInterfacePal_BeastBall, GFX_TAG_BEASTBALL}, [BALL_BEAST] = {gInterfacePal_BeastBall, GFX_TAG_BEASTBALL},
[BALL_CHERISH] = {gInterfacePal_CherishBall, GFX_TAG_CHERISHBALL},
}; };
static const struct OamData sBallOamData = static const struct OamData sBallOamData =
@ -270,15 +270,6 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate, .affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow, .callback = SpriteCB_BallThrow,
}, },
{
.tileTag = GFX_TAG_SAFARIBALL,
.paletteTag = GFX_TAG_SAFARIBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
{ {
.tileTag = GFX_TAG_ULTRABALL, .tileTag = GFX_TAG_ULTRABALL,
.paletteTag = GFX_TAG_ULTRABALL, .paletteTag = GFX_TAG_ULTRABALL,
@ -298,8 +289,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow, .callback = SpriteCB_BallThrow,
}, },
{ {
.tileTag = GFX_TAG_NETBALL, .tileTag = GFX_TAG_PREMIERBALL,
.paletteTag = GFX_TAG_NETBALL, .paletteTag = GFX_TAG_PREMIERBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_HEALBALL,
.paletteTag = GFX_TAG_HEALBALL,
.oam = &sBallOamData, .oam = &sBallOamData,
.anims = sBallAnimSequences, .anims = sBallAnimSequences,
.images = NULL, .images = NULL,
@ -307,8 +307,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow, .callback = SpriteCB_BallThrow,
}, },
{ {
.tileTag = GFX_TAG_DIVEBALL, .tileTag = GFX_TAG_NETBALL,
.paletteTag = GFX_TAG_DIVEBALL, .paletteTag = GFX_TAG_NETBALL,
.oam = &sBallOamData, .oam = &sBallOamData,
.anims = sBallAnimSequences, .anims = sBallAnimSequences,
.images = NULL, .images = NULL,
@ -325,8 +325,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow, .callback = SpriteCB_BallThrow,
}, },
{ {
.tileTag = GFX_TAG_REPEATBALL, .tileTag = GFX_TAG_DIVEBALL,
.paletteTag = GFX_TAG_REPEATBALL, .paletteTag = GFX_TAG_DIVEBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_DUSKBALL,
.paletteTag = GFX_TAG_DUSKBALL,
.oam = &sBallOamData, .oam = &sBallOamData,
.anims = sBallAnimSequences, .anims = sBallAnimSequences,
.images = NULL, .images = NULL,
@ -342,9 +351,9 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate, .affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow, .callback = SpriteCB_BallThrow,
}, },
{ {
.tileTag = GFX_TAG_LUXURYBALL, .tileTag = GFX_TAG_QUICKBALL,
.paletteTag = GFX_TAG_LUXURYBALL, .paletteTag = GFX_TAG_QUICKBALL,
.oam = &sBallOamData, .oam = &sBallOamData,
.anims = sBallAnimSequences, .anims = sBallAnimSequences,
.images = NULL, .images = NULL,
@ -352,8 +361,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow, .callback = SpriteCB_BallThrow,
}, },
{ {
.tileTag = GFX_TAG_PREMIERBALL, .tileTag = GFX_TAG_REPEATBALL,
.paletteTag = GFX_TAG_PREMIERBALL, .paletteTag = GFX_TAG_REPEATBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_LUXURYBALL,
.paletteTag = GFX_TAG_LUXURYBALL,
.oam = &sBallOamData, .oam = &sBallOamData,
.anims = sBallAnimSequences, .anims = sBallAnimSequences,
.images = NULL, .images = NULL,
@ -404,6 +422,15 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.images = NULL, .images = NULL,
.affineAnims = sAffineAnim_BallRotate, .affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow, .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_FASTBALL,
.paletteTag = GFX_TAG_FASTBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
}, },
{ {
.tileTag = GFX_TAG_HEAVYBALL, .tileTag = GFX_TAG_HEAVYBALL,
@ -415,8 +442,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow, .callback = SpriteCB_BallThrow,
}, },
{ {
.tileTag = GFX_TAG_FASTBALL, .tileTag = GFX_TAG_DREAMBALL,
.paletteTag = GFX_TAG_FASTBALL, .paletteTag = GFX_TAG_DREAMBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_SAFARIBALL,
.paletteTag = GFX_TAG_SAFARIBALL,
.oam = &sBallOamData, .oam = &sBallOamData,
.anims = sBallAnimSequences, .anims = sBallAnimSequences,
.images = NULL, .images = NULL,
@ -431,42 +467,6 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.images = NULL, .images = NULL,
.affineAnims = sAffineAnim_BallRotate, .affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow, .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_DUSKBALL,
.paletteTag = GFX_TAG_DUSKBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_QUICKBALL,
.paletteTag = GFX_TAG_QUICKBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_HEALBALL,
.paletteTag = GFX_TAG_HEALBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_CHERISHBALL,
.paletteTag = GFX_TAG_CHERISHBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
}, },
{ {
.tileTag = GFX_TAG_PARKBALL, .tileTag = GFX_TAG_PARKBALL,
@ -478,8 +478,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow, .callback = SpriteCB_BallThrow,
}, },
{ {
.tileTag = GFX_TAG_DREAMBALL, .tileTag = GFX_TAG_BEASTBALL,
.paletteTag = GFX_TAG_DREAMBALL, .paletteTag = GFX_TAG_BEASTBALL,
.oam = &sBallOamData, .oam = &sBallOamData,
.anims = sBallAnimSequences, .anims = sBallAnimSequences,
.images = NULL, .images = NULL,
@ -487,8 +487,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow, .callback = SpriteCB_BallThrow,
}, },
{ {
.tileTag = GFX_TAG_BEASTBALL, .tileTag = GFX_TAG_CHERISHBALL,
.paletteTag = GFX_TAG_BEASTBALL, .paletteTag = GFX_TAG_CHERISHBALL,
.oam = &sBallOamData, .oam = &sBallOamData,
.anims = sBallAnimSequences, .anims = sBallAnimSequences,
.images = NULL, .images = NULL,