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
// Balls
#define ITEM_MASTER_BALL 1
#define ITEM_ULTRA_BALL 2
#define ITEM_GREAT_BALL 3
#define ITEM_POKE_BALL 4
#define ITEM_SAFARI_BALL 5
#define ITEM_NET_BALL 6
#define ITEM_DIVE_BALL 7
#define ITEM_POKE_BALL 1
#define ITEM_GREAT_BALL 2
#define ITEM_ULTRA_BALL 3
#define ITEM_MASTER_BALL 4
#define ITEM_PREMIER_BALL 5
#define ITEM_HEAL_BALL 6
#define ITEM_NET_BALL 7
#define ITEM_NEST_BALL 8
#define ITEM_REPEAT_BALL 9
#define ITEM_TIMER_BALL 10
#define ITEM_LUXURY_BALL 11
#define ITEM_DUSK_BALL 12
#define ITEM_HEAL_BALL 13
#define ITEM_QUICK_BALL 14
#define ITEM_CHERISH_BALL 15
#define ITEM_FAST_BALL 16
#define ITEM_LEVEL_BALL 17
#define ITEM_LURE_BALL 18
#define ITEM_HEAVY_BALL 19
#define ITEM_LOVE_BALL 20
#define ITEM_FRIEND_BALL 21
#define ITEM_MOON_BALL 22
#define ITEM_SPORT_BALL 23
#define ITEM_PARK_BALL 24
#define ITEM_DREAM_BALL 25
#define ITEM_DIVE_BALL 9
#define ITEM_DUSK_BALL 10
#define ITEM_TIMER_BALL 11
#define ITEM_QUICK_BALL 12
#define ITEM_REPEAT_BALL 13
#define ITEM_LUXURY_BALL 14
#define ITEM_LEVEL_BALL 15
#define ITEM_LURE_BALL 16
#define ITEM_MOON_BALL 17
#define ITEM_FRIEND_BALL 18
#define ITEM_LOVE_BALL 19
#define ITEM_FAST_BALL 20
#define ITEM_HEAVY_BALL 21
#define ITEM_DREAM_BALL 22
#define ITEM_SAFARI_BALL 23
#define ITEM_SPORT_BALL 24
#define ITEM_PARK_BALL 25
#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
// 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)
#define FIRST_BALL ITEM_MASTER_BALL
#define LAST_BALL ITEM_PREMIER_BALL
#define FIRST_BALL ITEM_POKE_BALL
#define LAST_BALL ITEM_CHERISH_BALL
// Pokemon Items
#define ITEM_POTION 28

View File

@ -10,26 +10,30 @@ extern const u32 gInterfaceGfx_PokeBall[];
extern const u32 gInterfacePal_PokeBall[];
extern const u32 gInterfaceGfx_GreatBall[];
extern const u32 gInterfacePal_GreatBall[];
extern const u32 gInterfaceGfx_SafariBall[];
extern const u32 gInterfacePal_SafariBall[];
extern const u32 gInterfaceGfx_UltraBall[];
extern const u32 gInterfacePal_UltraBall[];
extern const u32 gInterfaceGfx_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 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 gInterfacePal_LevelBall[];
extern const u32 gInterfaceGfx_LureBall[];
@ -40,26 +44,22 @@ extern const u32 gInterfaceGfx_FriendBall[];
extern const u32 gInterfacePal_FriendBall[];
extern const u32 gInterfaceGfx_LoveBall[];
extern const u32 gInterfacePal_LoveBall[];
extern const u32 gInterfaceGfx_HeavyBall[];
extern const u32 gInterfacePal_HeavyBall[];
extern const u32 gInterfaceGfx_FastBall[];
extern const u32 gInterfacePal_FastBall[];
extern const u32 gInterfaceGfx_SportBall[];
extern const u32 gInterfacePal_SportBall[];
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_HeavyBall[];
extern const u32 gInterfacePal_HeavyBall[];
extern const u32 gInterfaceGfx_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 gInterfacePal_BeastBall[];
extern const u32 gInterfaceGfx_CherishBall[];
extern const u32 gInterfacePal_CherishBall[];
extern const u32 gOpenPokeballGfx[];
// pokemon gfx
@ -3393,28 +3393,32 @@ extern const u32 gRaySceneChasesAway_Light_Gfx[];
extern const u32 gRaySceneChasesAway_Ring_Gfx[];
// 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 gItemIconPalette_PokeBall[];
extern const u32 gItemIcon_SafariBall[];
extern const u32 gItemIconPalette_SafariBall[];
extern const u32 gItemIcon_GreatBall[];
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 gItemIconPalette_NetBall[];
extern const u32 gItemIcon_DiveBall[];
extern const u32 gItemIconPalette_DiveBall[];
extern const u32 gItemIcon_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 gItemIconPalette_RepeatBall[];
extern const u32 gItemIcon_TimerBall[];
extern const u32 gItemIcon_LuxuryBall[];
extern const u32 gItemIconPalette_LuxuryBall[];
extern const u32 gItemIcon_PremierBall[];
extern const u32 gItemIcon_LevelBall[];
extern const u32 gItemIconPalette_LevelBall[];
extern const u32 gItemIcon_LureBall[];
@ -3425,26 +3429,22 @@ extern const u32 gItemIcon_FriendBall[];
extern const u32 gItemIconPalette_FriendBall[];
extern const u32 gItemIcon_LoveBall[];
extern const u32 gItemIconPalette_LoveBall[];
extern const u32 gItemIcon_HeavyBall[];
extern const u32 gItemIconPalette_HeavyBall[];
extern const u32 gItemIcon_FastBall[];
extern const u32 gItemIconPalette_FastBall[];
extern const u32 gItemIcon_SportBall[];
extern const u32 gItemIconPalette_SportBall[];
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_HeavyBall[];
extern const u32 gItemIconPalette_HeavyBall[];
extern const u32 gItemIcon_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 gItemIconPalette_BeastBall[];
extern const u32 gItemIcon_CherishBall[];
extern const u32 gItemIconPalette_CherishBall[];
// Medicine
extern const u32 gItemIcon_Potion[];
extern const u32 gItemIconPalette_Potion[];

View File

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

View File

@ -129,31 +129,31 @@ static const struct CaptureStar sCaptureStars[] =
#define TAG_PARTICLES_POKEBALL 65030
#define TAG_PARTICLES_GREATBALL 65031
#define TAG_PARTICLES_SAFARIBALL 65032
#define TAG_PARTICLES_ULTRABALL 65033
#define TAG_PARTICLES_MASTERBALL 65034
#define TAG_PARTICLES_NETBALL 65035
#define TAG_PARTICLES_DIVEBALL 65036
#define TAG_PARTICLES_ULTRABALL 65032
#define TAG_PARTICLES_MASTERBALL 65033
#define TAG_PARTICLES_PREMIERBALL 65034
#define TAG_PARTICLES_HEALBALL 65035
#define TAG_PARTICLES_NETBALL 65036
#define TAG_PARTICLES_NESTBALL 65037
#define TAG_PARTICLES_REPEATBALL 65038
#define TAG_PARTICLES_TIMERBALL 65039
#define TAG_PARTICLES_LUXURYBALL 65040
#define TAG_PARTICLES_PREMIERBALL 65041
#define TAG_PARTICLES_LEVELBALL 65042
#define TAG_PARTICLES_LUREBALL 65043
#define TAG_PARTICLES_MOONBALL 65044
#define TAG_PARTICLES_FRIENDBALL 65045
#define TAG_PARTICLES_LOVEBALL 65046
#define TAG_PARTICLES_HEAVYBALL 65047
#define TAG_PARTICLES_FASTBALL 65048
#define TAG_PARTICLES_SPORTBALL 65049
#define TAG_PARTICLES_DUSKBALL 65050
#define TAG_PARTICLES_QUICKBALL 65051
#define TAG_PARTICLES_HEALBALL 65052
#define TAG_PARTICLES_CHERISHBALL 65053
#define TAG_PARTICLES_DIVEBALL 65038
#define TAG_PARTICLES_DUSKBALL 65039
#define TAG_PARTICLES_TIMERBALL 65040
#define TAG_PARTICLES_QUICKBALL 65041
#define TAG_PARTICLES_REPEATBALL 65042
#define TAG_PARTICLES_LUXURYBALL 65043
#define TAG_PARTICLES_LEVELBALL 65044
#define TAG_PARTICLES_LUREBALL 65045
#define TAG_PARTICLES_MOONBALL 65046
#define TAG_PARTICLES_FRIENDBALL 65047
#define TAG_PARTICLES_LOVEBALL 65048
#define TAG_PARTICLES_FASTBALL 65049
#define TAG_PARTICLES_HEAVYBALL 65050
#define TAG_PARTICLES_DREAMBALL 65051
#define TAG_PARTICLES_SAFARIBALL 65052
#define TAG_PARTICLES_SPORTBALL 65053
#define TAG_PARTICLES_PARKBALL 65054
#define TAG_PARTICLES_DREAMBALL 65065
#define TAG_PARTICLES_BEASTBALL 65056
#define TAG_PARTICLES_BEASTBALL 65065
#define TAG_PARTICLES_CHERISHBALL 65056
static const u32 sNewParticlesGfx[] = INCBIN_U32("graphics/interface/ball/particles2.4bpp.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_GREAT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_GREATBALL},
[BALL_SAFARI] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SAFARIBALL},
[BALL_ULTRA] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_ULTRABALL},
[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_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_LURE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUREBALL},
[BALL_MOON] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_MOONBALL},
[BALL_FRIEND] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_FRIENDBALL},
[BALL_LOVE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LOVEBALL},
[BALL_HEAVY] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_HEAVYBALL},
[BALL_FAST] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_FASTBALL},
[BALL_SPORT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SPORTBALL},
[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_HEAVY] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_HEAVYBALL},
[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_CHERISH] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_CHERISHBALL},
};
static const struct CompressedSpritePalette sBallParticlePalettes[] =
{
[BALL_POKE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_POKEBALL},
[BALL_GREAT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_GREATBALL},
[BALL_SAFARI] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SAFARIBALL},
[BALL_ULTRA] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_ULTRABALL},
[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_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_LURE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUREBALL},
[BALL_MOON] = {sNewParticlesPal, TAG_PARTICLES_MOONBALL},
[BALL_FRIEND] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_FRIENDBALL},
[BALL_LOVE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LOVEBALL},
[BALL_HEAVY] = {sNewParticlesPal, TAG_PARTICLES_HEAVYBALL},
[BALL_FAST] = {sNewParticlesPal, TAG_PARTICLES_FASTBALL},
[BALL_SPORT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SPORTBALL},
[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_HEAVY] = {sNewParticlesPal, TAG_PARTICLES_HEAVYBALL},
[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_CHERISH] = {sNewParticlesPal, TAG_PARTICLES_CHERISHBALL},
};
static const union AnimCmd sAnim_RegularBall[] =
@ -276,65 +276,63 @@ static const u8 sBallParticleAnimNums[POKEBALL_COUNT] =
{
[BALL_POKE] = 0,
[BALL_GREAT] = 0,
[BALL_SAFARI] = 0,
[BALL_ULTRA] = 5,
[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_LEVEL] = 5,
[BALL_LURE] = 2,
[BALL_MOON] = 4,
[BALL_FRIEND] = 3,
[BALL_LOVE] = 3,
[BALL_HEAVY] = 0,
[BALL_FAST] = 4,
[BALL_SPORT] = 0,
[BALL_DUSK] = 2,
[BALL_QUICK] = 4,
[BALL_HEAL] = 0,
[BALL_HEAL] = 0,
[BALL_NET] = 2,
[BALL_NEST] = 3,
[BALL_DIVE] = 2,
[BALL_DUSK] = 2,
[BALL_TIMER] = 5,
[BALL_QUICK] = 4,
[BALL_REPEAT] = 5,
[BALL_LUXURY] = 4,
[BALL_LEVEL] = 5,
[BALL_LURE] = 2,
[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_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
[BALL_LEVEL] = SafariBallOpenParticleAnimation,
[BALL_LURE] = GreatBallOpenParticleAnimation,
[BALL_MOON] = UltraBallOpenParticleAnimation,
[BALL_FRIEND] = UltraBallOpenParticleAnimation,
[BALL_LOVE] = GreatBallOpenParticleAnimation,
[BALL_HEAVY] = GreatBallOpenParticleAnimation,
[BALL_FAST] = GreatBallOpenParticleAnimation,
[BALL_SPORT] = UltraBallOpenParticleAnimation,
[BALL_DUSK] = UltraBallOpenParticleAnimation,
[BALL_QUICK] = UltraBallOpenParticleAnimation,
[BALL_HEAL] = PokeBallOpenParticleAnimation,
[BALL_POKE] = PokeBallOpenParticleAnimation,
[BALL_GREAT] = GreatBallOpenParticleAnimation,
[BALL_ULTRA] = UltraBallOpenParticleAnimation,
[BALL_MASTER] = MasterBallOpenParticleAnimation,
[BALL_PREMIER] = PremierBallOpenParticleAnimation,
[BALL_HEAL] = PokeBallOpenParticleAnimation,
[BALL_NET] = SafariBallOpenParticleAnimation,
[BALL_NEST] = UltraBallOpenParticleAnimation,
[BALL_DIVE] = DiveBallOpenParticleAnimation,
[BALL_DUSK] = UltraBallOpenParticleAnimation,
[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_PARK] = UltraBallOpenParticleAnimation,
[BALL_DREAM] = UltraBallOpenParticleAnimation,
[BALL_BEAST] = UltraBallOpenParticleAnimation
};
static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] =
@ -357,15 +355,6 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.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] = {
.tileTag = TAG_PARTICLES_ULTRABALL,
.paletteTag = TAG_PARTICLES_ULTRABALL,
@ -384,18 +373,27 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
[BALL_NET] = {
.tileTag = TAG_PARTICLES_NETBALL,
.paletteTag = TAG_PARTICLES_NETBALL,
[BALL_PREMIER] = {
.tileTag = TAG_PARTICLES_PREMIERBALL,
.paletteTag = TAG_PARTICLES_PREMIERBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
[BALL_DIVE] = {
.tileTag = TAG_PARTICLES_DIVEBALL,
.paletteTag = TAG_PARTICLES_DIVEBALL,
[BALL_HEAL] = {
.tileTag = TAG_PARTICLES_HEALBALL,
.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,
.anims = sAnims_BallParticles,
.images = NULL,
@ -411,9 +409,18 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
[BALL_REPEAT] = {
.tileTag = TAG_PARTICLES_REPEATBALL,
.paletteTag = TAG_PARTICLES_REPEATBALL,
[BALL_DIVE] = {
.tileTag = TAG_PARTICLES_DIVEBALL,
.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,
.anims = sAnims_BallParticles,
.images = NULL,
@ -429,6 +436,24 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.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] = {
.tileTag = TAG_PARTICLES_LUXURYBALL,
.paletteTag = TAG_PARTICLES_LUXURYBALL,
@ -438,16 +463,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
[BALL_PREMIER] = {
.tileTag = TAG_PARTICLES_PREMIERBALL,
.paletteTag = TAG_PARTICLES_PREMIERBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
[BALL_LEVEL] = {
.tileTag = TAG_PARTICLES_LEVELBALL,
.paletteTag = TAG_PARTICLES_LEVELBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -456,7 +472,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
[BALL_LURE] = {
.tileTag = TAG_PARTICLES_LUREBALL,
.paletteTag = TAG_PARTICLES_LUREBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -465,7 +481,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
[BALL_MOON] = {
.tileTag = TAG_PARTICLES_MOONBALL,
.paletteTag = TAG_PARTICLES_MOONBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -474,7 +490,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
[BALL_FRIEND] = {
.tileTag = TAG_PARTICLES_FRIENDBALL,
.paletteTag = TAG_PARTICLES_FRIENDBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -483,7 +499,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
[BALL_LOVE] = {
.tileTag = TAG_PARTICLES_LOVEBALL,
.paletteTag = TAG_PARTICLES_LOVEBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -492,16 +508,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
.tileTag = TAG_PARTICLES_HEAVYBALL,
.paletteTag = TAG_PARTICLES_HEAVYBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
[BALL_FAST] = {
.tileTag = TAG_PARTICLES_FASTBALL,
.paletteTag = TAG_PARTICLES_FASTBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -510,61 +517,16 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
.tileTag = TAG_PARTICLES_SPORTBALL,
.paletteTag = TAG_PARTICLES_SPORTBALL,
[BALL_HEAVY] = {
.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_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,
},
{
[BALL_DREAM] = {
.tileTag = TAG_PARTICLES_DREAMBALL,
.paletteTag = TAG_PARTICLES_DREAMBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -573,7 +535,34 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.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,
.paletteTag = TAG_PARTICLES_BEASTBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@ -582,39 +571,47 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT]
.affineAnims = gDummySpriteAffineAnimTable,
.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[] =
{
// Todo, assign different colors
[BALL_POKE] = RGB(31, 22, 30),
[BALL_GREAT] = RGB(16, 23, 30),
[BALL_SAFARI] = RGB(23, 30, 20),
[BALL_ULTRA] = RGB(31, 31, 15),
[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),
// Todo, assign different colors
[BALL_HEAL] = RGB(31, 23, 27),
[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_LURE] = RGB(9, 22, 27),
[BALL_MOON] = RGB(30, 25, 8),
[BALL_FRIEND] = RGB(17, 24, 7),
[BALL_LOVE] = RGB(31, 19, 26),
[BALL_HEAVY] = RGB(7, 11, 20),
[BALL_FAST] = RGB(29, 17, 8),
[BALL_SPORT] = RGB(31, 31, 15),
[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_HEAVY] = RGB(7, 11, 20),
[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_CHERISH] = RGB(25, 4, 3),
};
const struct SpriteTemplate gPokeblockSpriteTemplate =
@ -952,30 +949,34 @@ u8 ItemIdToBallId(u16 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:
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:
return BALL_LEVEL;
case ITEM_LURE_BALL:
@ -986,26 +987,22 @@ u8 ItemIdToBallId(u16 ballItem)
return BALL_FRIEND;
case ITEM_LOVE_BALL:
return BALL_LOVE;
case ITEM_HEAVY_BALL:
return BALL_HEAVY;
case ITEM_FAST_BALL:
return BALL_FAST;
case ITEM_SPORT_BALL:
return BALL_SPORT;
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_HEAVY_BALL:
return BALL_HEAVY;
case ITEM_DREAM_BALL:
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:
return BALL_BEAST;
case ITEM_CHERISH_BALL:
return BALL_CHERISH;
default:
return BALL_POKE;
}
@ -1674,7 +1671,7 @@ static void MakeCaptureStars(struct Sprite *sprite)
LoadBallParticleGfx(BALL_MASTER);
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)
{
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 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 gInterfacePal_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.gbapal.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 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 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 gInterfacePal_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.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_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.4bpp.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 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 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 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 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 gInterfacePal_FastBall[] = INCBIN_U32("graphics/interface/ball/fast.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_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_HeavyBall[] = INCBIN_U32("graphics/interface/ball/heavy.4bpp.lz");
const u32 gInterfacePal_HeavyBall[] = INCBIN_U32("graphics/interface/ball/heavy.gbapal.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 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 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");

View File

@ -6,40 +6,46 @@ const u32 gItemIconPalette_ReturnToFieldArrow[] = INCBIN_U32("graphics/items/ico
// Pokeballs
const u32 gItemIcon_MasterBall[] = INCBIN_U32("graphics/items/icons/master_ball.4bpp.lz");
const u32 gItemIconPalette_MasterBall[] = INCBIN_U32("graphics/items/icon_palettes/master_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_PokeBall[] = INCBIN_U32("graphics/items/icons/poke_ball.4bpp.lz");
const u32 gItemIconPalette_PokeBall[] = INCBIN_U32("graphics/items/icon_palettes/poke_ball.gbapal.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 gItemIcon_PokeBall[] = INCBIN_U32("graphics/items/icons/poke_ball.4bpp.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_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_MasterBall[] = INCBIN_U32("graphics/items/icons/master_ball.4bpp.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 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 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 gItemIconPalette_NestBall[] = INCBIN_U32("graphics/items/icon_palettes/nest_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_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 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 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 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 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 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 gItemIconPalette_SportBall[] = INCBIN_U32("graphics/items/icon_palettes/sport_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_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_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 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 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
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},
// 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_SAFARI_BALL] = {gItemIcon_SafariBall, gItemIconPalette_SafariBall},
[ITEM_NET_BALL] = {gItemIcon_NetBall, gItemIconPalette_NetBall},
[ITEM_DIVE_BALL] = {gItemIcon_DiveBall, gItemIconPalette_DiveBall},
[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_GREAT_BALL] = {gItemIcon_GreatBall, gItemIconPalette_GreatBall},
[ITEM_ULTRA_BALL] = {gItemIcon_UltraBall, gItemIconPalette_UltraBall},
[ITEM_MASTER_BALL] = {gItemIcon_MasterBall, gItemIconPalette_MasterBall},
[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_LURE_BALL] = {gItemIcon_LureBall, gItemIconPalette_LureBall},
[ITEM_MOON_BALL] = {gItemIcon_MoonBall, gItemIconPalette_MoonBall},
[ITEM_FRIEND_BALL] = {gItemIcon_FriendBall, gItemIconPalette_FriendBall},
[ITEM_LOVE_BALL] = {gItemIcon_LoveBall, gItemIconPalette_LoveBall},
[ITEM_HEAVY_BALL] = {gItemIcon_HeavyBall, gItemIconPalette_HeavyBall},
[ITEM_FAST_BALL] = {gItemIcon_FastBall, gItemIconPalette_FastBall},
[ITEM_SPORT_BALL] = {gItemIcon_SportBall, gItemIconPalette_SportBall},
[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_HEAVY_BALL] = {gItemIcon_HeavyBall, gItemIconPalette_HeavyBall},
[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_CHERISH_BALL] = {gItemIcon_CherishBall, gItemIconPalette_CherishBall},
// Medicine
[ITEM_POTION] = {gItemIcon_Potion, gItemIconPalette_Potion},
[ITEM_ANTIDOTE] = {gItemIcon_Antidote, gItemIconPalette_Antidote},

View File

@ -13,30 +13,17 @@ const struct Item gItems[] =
// Pokeballs
[ITEM_MASTER_BALL] =
[ITEM_POKE_BALL] =
{
.name = _("Master Ball"),
.itemId = ITEM_MASTER_BALL,
.price = 0,
.description = sMasterBallDesc,
.name = _("Poké Ball"),
.itemId = ITEM_POKE_BALL,
.price = 200,
.description = sPokeBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_MASTER_BALL - FIRST_BALL,
.type = ITEM_POKE_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_MASTER_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,
.secondaryId = ITEM_POKE_BALL - FIRST_BALL,
},
[ITEM_GREAT_BALL] =
@ -52,30 +39,56 @@ const struct Item gItems[] =
.secondaryId = ITEM_GREAT_BALL - FIRST_BALL,
},
[ITEM_POKE_BALL] =
[ITEM_ULTRA_BALL] =
{
.name = _("Poké Ball"),
.itemId = ITEM_POKE_BALL,
.price = 200,
.description = sPokeBallDesc,
.name = _("Ultra Ball"),
.itemId = ITEM_ULTRA_BALL,
.price = 800,
.description = sUltraBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_POKE_BALL - FIRST_BALL,
.type = ITEM_ULTRA_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = ITEM_POKE_BALL - FIRST_BALL,
.secondaryId = ITEM_ULTRA_BALL - FIRST_BALL,
},
[ITEM_SAFARI_BALL] =
[ITEM_MASTER_BALL] =
{
.name = _("Safari Ball"),
.itemId = ITEM_SAFARI_BALL,
.name = _("Master Ball"),
.itemId = ITEM_MASTER_BALL,
.price = 0,
.description = sSafariBallDesc,
.description = sMasterBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_SAFARI_BALL - FIRST_BALL,
.type = ITEM_MASTER_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.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] =
@ -91,19 +104,6 @@ const struct Item gItems[] =
.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] =
{
.name = _("Nest Ball"),
@ -117,17 +117,30 @@ const struct Item gItems[] =
.secondaryId = ITEM_NEST_BALL - FIRST_BALL,
},
[ITEM_REPEAT_BALL] =
[ITEM_DIVE_BALL] =
{
.name = _("Repeat Ball"),
.itemId = ITEM_REPEAT_BALL,
.name = _("Dive Ball"),
.itemId = ITEM_DIVE_BALL,
.price = 1000,
.description = sRepeatBallDesc,
.description = sDiveBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_REPEAT_BALL - FIRST_BALL,
.type = ITEM_DIVE_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.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] =
@ -143,6 +156,32 @@ const struct Item gItems[] =
.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] =
{
.name = _("Luxury Ball"),
@ -156,19 +195,6 @@ const struct Item gItems[] =
.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] =
{
.name = _("Level Ball"),
@ -234,19 +260,6 @@ const struct Item gItems[] =
.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] =
{
.name = _("Fast Ball"),
@ -260,56 +273,43 @@ const struct Item gItems[] =
.secondaryId = ITEM_FAST_BALL - FIRST_BALL,
},
[ITEM_HEAL_BALL] =
[ITEM_HEAVY_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_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,
.name = _("Heavy Ball"),
.itemId = ITEM_HEAVY_BALL,
.price = 0,
.description = sCherishBallDesc,
.description = sHeavyBallDesc,
.pocket = POCKET_POKE_BALLS,
.type = ITEM_CHERISH_BALL - FIRST_BALL,
.type = ITEM_HEAVY_BALL - FIRST_BALL,
.battleUsage = ITEM_B_USE_OTHER,
.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] =
@ -338,19 +338,6 @@ const struct Item gItems[] =
.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] =
{
.name = _("Beast Ball"),
@ -364,6 +351,19 @@ const struct Item gItems[] =
.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
[ITEM_POTION] =

View File

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

View File

@ -49,92 +49,92 @@ static u16 GetBattlerPokeballItemId(u8 battlerId);
#define GFX_TAG_POKEBALL 55000
#define GFX_TAG_GREATBALL 55001
#define GFX_TAG_SAFARIBALL 55002
#define GFX_TAG_ULTRABALL 55003
#define GFX_TAG_MASTERBALL 55004
#define GFX_TAG_NETBALL 55005
#define GFX_TAG_DIVEBALL 55006
#define GFX_TAG_ULTRABALL 55002
#define GFX_TAG_MASTERBALL 55003
#define GFX_TAG_PREMIERBALL 55004
#define GFX_TAG_HEALBALL 55005
#define GFX_TAG_NETBALL 55006
#define GFX_TAG_NESTBALL 55007
#define GFX_TAG_REPEATBALL 55008
#define GFX_TAG_TIMERBALL 55009
#define GFX_TAG_LUXURYBALL 55010
#define GFX_TAG_PREMIERBALL 55011
#define GFX_TAG_LEVELBALL 55012
#define GFX_TAG_LUREBALL 55013
#define GFX_TAG_MOONBALL 55014
#define GFX_TAG_FRIENDBALL 55015
#define GFX_TAG_LOVEBALL 55016
#define GFX_TAG_HEAVYBALL 55017
#define GFX_TAG_FASTBALL 55018
#define GFX_TAG_SPORTBALL 55019
#define GFX_TAG_DUSKBALL 55020
#define GFX_TAG_QUICKBALL 55021
#define GFX_TAG_HEALBALL 55022
#define GFX_TAG_CHERISHBALL 55023
#define GFX_TAG_DIVEBALL 55008
#define GFX_TAG_DUSKBALL 55009
#define GFX_TAG_TIMERBALL 55010
#define GFX_TAG_QUICKBALL 55011
#define GFX_TAG_REPEATBALL 55012
#define GFX_TAG_LUXURYBALL 55013
#define GFX_TAG_LEVELBALL 55014
#define GFX_TAG_LUREBALL 55015
#define GFX_TAG_MOONBALL 55016
#define GFX_TAG_FRIENDBALL 55017
#define GFX_TAG_LOVEBALL 55018
#define GFX_TAG_FASTBALL 55019
#define GFX_TAG_HEAVYBALL 55020
#define GFX_TAG_DREAMBALL 55021
#define GFX_TAG_SAFARIBALL 55022
#define GFX_TAG_SPORTBALL 55023
#define GFX_TAG_PARKBALL 55024
#define GFX_TAG_DREAMBALL 55025
#define GFX_TAG_BEASTBALL 55026
#define GFX_TAG_BEASTBALL 55025
#define GFX_TAG_CHERISHBALL 55026
const struct CompressedSpriteSheet gBallSpriteSheets[POKEBALL_COUNT] =
{
[BALL_POKE] = {gInterfaceGfx_PokeBall, 384, GFX_TAG_POKEBALL},
[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_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_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_LURE] = {gInterfaceGfx_LureBall, 384, GFX_TAG_LUREBALL},
[BALL_MOON] = {gInterfaceGfx_MoonBall, 384, GFX_TAG_MOONBALL},
[BALL_FRIEND] = {gInterfaceGfx_FriendBall, 384, GFX_TAG_FRIENDBALL},
[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_SPORT] = {gInterfaceGfx_SportBall, 384, GFX_TAG_SPORTBALL},
[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_HEAVY] = {gInterfaceGfx_HeavyBall, 384, GFX_TAG_HEAVYBALL},
[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_CHERISH] = {gInterfaceGfx_CherishBall, 384, GFX_TAG_CHERISHBALL},
};
const struct CompressedSpritePalette gBallSpritePalettes[POKEBALL_COUNT] =
{
[BALL_POKE] = {gInterfacePal_PokeBall, GFX_TAG_POKEBALL},
[BALL_GREAT] = {gInterfacePal_GreatBall, GFX_TAG_GREATBALL},
[BALL_SAFARI] = {gInterfacePal_SafariBall, GFX_TAG_SAFARIBALL},
[BALL_ULTRA] = {gInterfacePal_UltraBall, GFX_TAG_ULTRABALL},
[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_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_LURE] = {gInterfacePal_LureBall, GFX_TAG_LUREBALL},
[BALL_MOON] = {gInterfacePal_MoonBall, GFX_TAG_MOONBALL},
[BALL_FRIEND] = {gInterfacePal_FriendBall, GFX_TAG_FRIENDBALL},
[BALL_LOVE] = {gInterfacePal_LoveBall, GFX_TAG_LOVEBALL},
[BALL_HEAVY] = {gInterfacePal_HeavyBall, GFX_TAG_HEAVYBALL},
[BALL_FAST] = {gInterfacePal_FastBall, GFX_TAG_FASTBALL},
[BALL_SPORT] = {gInterfacePal_SportBall, GFX_TAG_SPORTBALL},
[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_HEAVY] = {gInterfacePal_HeavyBall, GFX_TAG_HEAVYBALL},
[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_CHERISH] = {gInterfacePal_CherishBall, GFX_TAG_CHERISHBALL},
};
static const struct OamData sBallOamData =
@ -270,15 +270,6 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.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,
.paletteTag = GFX_TAG_ULTRABALL,
@ -298,8 +289,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_NETBALL,
.paletteTag = GFX_TAG_NETBALL,
.tileTag = GFX_TAG_PREMIERBALL,
.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,
.anims = sBallAnimSequences,
.images = NULL,
@ -307,8 +307,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_DIVEBALL,
.paletteTag = GFX_TAG_DIVEBALL,
.tileTag = GFX_TAG_NETBALL,
.paletteTag = GFX_TAG_NETBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
@ -325,8 +325,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_REPEATBALL,
.paletteTag = GFX_TAG_REPEATBALL,
.tileTag = GFX_TAG_DIVEBALL,
.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,
.anims = sBallAnimSequences,
.images = NULL,
@ -342,9 +351,9 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_LUXURYBALL,
.paletteTag = GFX_TAG_LUXURYBALL,
{
.tileTag = GFX_TAG_QUICKBALL,
.paletteTag = GFX_TAG_QUICKBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
@ -352,8 +361,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_PREMIERBALL,
.paletteTag = GFX_TAG_PREMIERBALL,
.tileTag = GFX_TAG_REPEATBALL,
.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,
.anims = sBallAnimSequences,
.images = NULL,
@ -404,6 +422,15 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
.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,
@ -415,8 +442,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_FASTBALL,
.paletteTag = GFX_TAG_FASTBALL,
.tileTag = GFX_TAG_DREAMBALL,
.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,
.anims = sBallAnimSequences,
.images = NULL,
@ -431,42 +467,6 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
.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,
@ -478,8 +478,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_DREAMBALL,
.paletteTag = GFX_TAG_DREAMBALL,
.tileTag = GFX_TAG_BEASTBALL,
.paletteTag = GFX_TAG_BEASTBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,
@ -487,8 +487,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_BEASTBALL,
.paletteTag = GFX_TAG_BEASTBALL,
.tileTag = GFX_TAG_CHERISHBALL,
.paletteTag = GFX_TAG_CHERISHBALL,
.oam = &sBallOamData,
.anims = sBallAnimSequences,
.images = NULL,