Type array tweaks (#4276)

* Using Z-Moves in type array

* Added Arceus form data
This commit is contained in:
Eduardo Quezada 2024-03-12 08:32:06 -03:00 committed by GitHub
parent 1568b0a424
commit 3066216389
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 45 additions and 26 deletions

View file

@ -104,7 +104,7 @@ struct TypeInfo
u8 name[TYPE_NAME_LENGTH + 1];
u8 generic[17];
u8 palette;
//u16 zMove;
u16 zMove;
u16 maxMove;
//u16 enhanceItem;
//u16 berry;
@ -113,6 +113,7 @@ struct TypeInfo
//u16 memory;
//u16 zCrystal;
//u16 teraShard;
//u16 arceusForm;
};
extern const u16 gMinigameDigits_Pal[];

View file

@ -303,20 +303,21 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
.name = _("Normal"),
.generic = _("a NORMAL move"),
.palette = 13,
//.zMove = MOVE_BREAKNECK_BLITZ,
.zMove = MOVE_BREAKNECK_BLITZ,
.maxMove = MOVE_MAX_STRIKE,
//.enhanceItem = ITEM_SILK_SCARF,
//.berry = ITEM_CHILAN_BERRY,
//.gem = ITEM_NORMAL_GEM,
//.zCrystal = ITEM_NORMALIUM_Z,
//.teraShard = ITEM_NORMAL_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_NORMAL,
},
[TYPE_FIGHTING] =
{
.name = _("Fight"),
.generic = _("a FIGHTING move"),
.palette = 13,
//.zMove = MOVE_ALL_OUT_PUMMELING,
.zMove = MOVE_ALL_OUT_PUMMELING,
.maxMove = MOVE_MAX_KNUCKLE,
//.enhanceItem = ITEM_BLACK_BELT,
//.berry = ITEM_CHOPLE_BERRY,
@ -325,13 +326,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_FIST_PLATE,
//.memory = ITEM_FIGHTING_MEMORY,
//.teraShard = ITEM_FIGHTING_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_FIGHTING,
},
[TYPE_FLYING] =
{
.name = _("Flying"),
.generic = _("a FLYING move"),
.palette = 14,
//.zMove = MOVE_SUPERSONIC_SKYSTRIKE,
.zMove = MOVE_SUPERSONIC_SKYSTRIKE,
.maxMove = MOVE_MAX_AIRSTREAM,
//.enhanceItem = ITEM_SHARP_BEAK,
//.berry = ITEM_COBA_BERRY,
@ -340,13 +342,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_SKY_PLATE,
//.memory = ITEM_FLYING_MEMORY,
//.teraShard = ITEM_FLYING_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_FLYING,
},
[TYPE_POISON] =
{
.name = _("Poison"),
.generic = _("a POISON move"),
.palette = 14,
//.zMove = MOVE_ACID_DOWNPOUR,
.zMove = MOVE_ACID_DOWNPOUR,
.maxMove = MOVE_MAX_OOZE,
//.enhanceItem = ITEM_POISON_BARB,
//.berry = ITEM_KEBIA_BERRY,
@ -355,13 +358,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_TOXIC_PLATE,
//.memory = ITEM_POISON_MEMORY,
//.teraShard = ITEM_POISON_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_POISON,
},
[TYPE_GROUND] =
{
.name = _("Ground"),
.generic = _("a GROUND move"),
.palette = 13,
//.zMove = MOVE_TECTONIC_RAGE,
.zMove = MOVE_TECTONIC_RAGE,
.maxMove = MOVE_MAX_QUAKE,
//.enhanceItem = ITEM_SOFT_SAND,
//.berry = ITEM_SHUCA_BERRY,
@ -370,13 +374,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_EARTH_PLATE,
//.memory = ITEM_GROUND_MEMORY,
//.teraShard = ITEM_GROUND_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_GROUND,
},
[TYPE_ROCK] =
{
.name = _("Rock"),
.generic = _("a ROCK move"),
.palette = 13,
//.zMove = MOVE_CONTINENTAL_CRUSH,
.zMove = MOVE_CONTINENTAL_CRUSH,
.maxMove = MOVE_MAX_ROCKFALL,
//.enhanceItem = ITEM_HARD_STONE,
//.berry = ITEM_CHARTI_BERRY,
@ -385,13 +390,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_STONE_PLATE,
//.memory = ITEM_ROCK_MEMORY,
//.teraShard = ITEM_ROCK_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_ROCK,
},
[TYPE_BUG] =
{
.name = _("Bug"),
.generic = _("a BUG move"),
.palette = 15,
//.zMove = MOVE_SAVAGE_SPIN_OUT,
.zMove = MOVE_SAVAGE_SPIN_OUT,
.maxMove = MOVE_MAX_FLUTTERBY,
//.enhanceItem = ITEM_SILVER_POWDER,
//.berry = ITEM_TANGA_BERRY,
@ -400,13 +406,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_INSECT_PLATE,
//.memory = ITEM_BUG_MEMORY,
//.teraShard = ITEM_BUG_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_BUG,
},
[TYPE_GHOST] =
{
.name = _("Ghost"),
.generic = _("a GHOST move"),
.palette = 14,
//.zMove = MOVE_NEVER_ENDING_NIGHTMARE,
.zMove = MOVE_NEVER_ENDING_NIGHTMARE,
.maxMove = MOVE_MAX_PHANTASM,
//.enhanceItem = ITEM_SPELL_TAG,
//.berry = ITEM_KASIB_BERRY,
@ -415,13 +422,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_SPOOKY_PLATE,
//.memory = ITEM_GHOST_MEMORY,
//.teraShard = ITEM_GHOST_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_GHOST,
},
[TYPE_STEEL] =
{
.name = _("Steel"),
.generic = _("a STEEL move"),
.palette = 13,
//.zMove = MOVE_CORKSCREW_CRASH,
.zMove = MOVE_CORKSCREW_CRASH,
.maxMove = MOVE_MAX_STEELSPIKE,
//.enhanceItem = ITEM_METAL_COAT,
//.berry = ITEM_BABIRI_BERRY,
@ -430,6 +438,7 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_IRON_PLATE,
//.memory = ITEM_STEEL_MEMORY,
//.teraShard = ITEM_STEEL_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_STEEL,
},
[TYPE_MYSTERY] =
{
@ -442,7 +451,7 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
.name = _("Fire"),
.generic = _("a FIRE move"),
.palette = 13,
//.zMove = MOVE_INFERNO_OVERDRIVE,
.zMove = MOVE_INFERNO_OVERDRIVE,
.maxMove = MOVE_MAX_FLARE,
//.enhanceItem = ITEM_CHARCOAL,
//.berry = ITEM_OCCA_BERRY,
@ -451,13 +460,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_FLAME_PLATE,
//.memory = ITEM_FIRE_MEMORY,
//.teraShard = ITEM_FIRE_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_FIRE,
},
[TYPE_WATER] =
{
.name = _("Water"),
.generic = _("a WATER move"),
.palette = 14,
//.zMove = MOVE_HYDRO_VORTEX,
.zMove = MOVE_HYDRO_VORTEX,
.maxMove = MOVE_MAX_GEYSER,
//.enhanceItem = ITEM_MYSTIC_WATER,
//.berry = ITEM_PASSHO_BERRY,
@ -466,13 +476,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_SPLASH_PLATE,
//.memory = ITEM_WATER_MEMORY,
//.teraShard = ITEM_WATER_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_WATER,
},
[TYPE_GRASS] =
{
.name = _("Grass"),
.generic = _("a GRASS move"),
.palette = 15,
//.zMove = MOVE_BLOOM_DOOM,
.zMove = MOVE_BLOOM_DOOM,
.maxMove = MOVE_MAX_OVERGROWTH,
//.enhanceItem = ITEM_MIRACLE_SEED,
//.berry = ITEM_RINDO_BERRY,
@ -481,13 +492,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_MEADOW_PLATE,
//.memory = ITEM_GRASS_MEMORY,
//.teraShard = ITEM_GRASS_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_GRASS,
},
[TYPE_ELECTRIC] =
{
.name = _("Electr"),
.generic = _("an ELECTRIC move"),
.palette = 13,
//.zMove = MOVE_GIGAVOLT_HAVOC,
.zMove = MOVE_GIGAVOLT_HAVOC,
.maxMove = MOVE_MAX_LIGHTNING,
//.enhanceItem = ITEM_MAGNET,
//.berry = ITEM_WACAN_BERRY,
@ -496,13 +508,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_ZAP_PLATE,
//.memory = ITEM_ELECTRIC_MEMORY,
//.teraShard = ITEM_ELECTRIC_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_ELECTRIC,
},
[TYPE_PSYCHIC] =
{
.name = _("Psychc"),
.generic = _("a PSYCHIC move"),
.palette = 14,
//.zMove = MOVE_SHATTERED_PSYCHE,
.zMove = MOVE_SHATTERED_PSYCHE,
.maxMove = MOVE_MAX_MINDSTORM,
//.enhanceItem = ITEM_TWISTED_SPOON,
//.berry = ITEM_PAYAPA_BERRY,
@ -511,13 +524,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_MIND_PLATE,
//.memory = ITEM_PSYCHIC_MEMORY,
//.teraShard = ITEM_PSYCHIC_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_PSYCHIC,
},
[TYPE_ICE] =
{
.name = _("Ice"),
.generic = _("an ICE move"),
.palette = 14,
//.zMove = MOVE_SUBZERO_SLAMMER,
.zMove = MOVE_SUBZERO_SLAMMER,
.maxMove = MOVE_MAX_HAILSTORM,
//.enhanceItem = ITEM_NEVER_MELT_ICE,
//.berry = ITEM_YACHE_BERRY,
@ -526,13 +540,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_ICICLE_PLATE,
//.memory = ITEM_ICE_MEMORY,
//.teraShard = ITEM_ICE_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_ICE,
},
[TYPE_DRAGON] =
{
.name = _("Dragon"),
.generic = _("a DRAGON move"),
.palette = 15,
//.zMove = MOVE_DEVASTATING_DRAKE,
.zMove = MOVE_DEVASTATING_DRAKE,
.maxMove = MOVE_MAX_WYRMWIND,
//.enhanceItem = ITEM_DRAGON_FANG,
//.berry = ITEM_HABAN_BERRY,
@ -541,13 +556,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_DRACO_PLATE,
//.memory = ITEM_DRAGON_MEMORY,
//.teraShard = ITEM_DRAGON_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_DRAGON,
},
[TYPE_DARK] =
{
.name = _("Dark"),
.generic = _("a DARK move"),
.palette = 13,
//.zMove = MOVE_BLACK_HOLE_ECLIPSE,
.zMove = MOVE_BLACK_HOLE_ECLIPSE,
.maxMove = MOVE_MAX_DARKNESS,
//.enhanceItem = ITEM_BLACK_GLASSES,
//.berry = ITEM_COLBUR_BERRY,
@ -556,13 +572,14 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_DREAD_PLATE,
//.memory = ITEM_DARK_MEMORY,
//.teraShard = ITEM_DARK_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_DARK,
},
[TYPE_FAIRY] =
{
.name = _("Fairy"),
.generic = _("a FAIRY move"),
.palette = 14,
//.zMove = MOVE_TWINKLE_TACKLE,
.zMove = MOVE_TWINKLE_TACKLE,
.maxMove = MOVE_MAX_STARFALL,
//.enhanceItem = ITEM_FAIRY_FEATHER,
//.berry = ITEM_ROSELI_BERRY,
@ -571,6 +588,7 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] =
//.plate= ITEM_PIXIE_PLATE,
//.memory = ITEM_FAIRY_MEMORY,
//.teraShard = ITEM_FAIRY_TERA_SHARD,
//.arceusForm = SPECIES_ARCEUS_FAIRY,
},
/*
[TYPE_STELLAR] =

View file

@ -378,13 +378,13 @@ static u16 GetTypeBasedZMove(u16 move, u8 battler)
{
u8 moveType = gMovesInfo[move].type;
// Get z move from type
if (moveType < TYPE_FIRE)
return MOVE_BREAKNECK_BLITZ + moveType;
else if (moveType >= TYPE_FAIRY)
return MOVE_TWINKLE_TACKLE + (moveType - TYPE_FAIRY);
else
return MOVE_BREAKNECK_BLITZ + (moveType - 1);
if (moveType >= NUMBER_OF_MON_TYPES)
moveType = TYPE_MYSTERY;
// Get Z-Move from type
if (gTypesInfo[moveType].zMove == MOVE_NONE) // failsafe
return gTypesInfo[0].zMove;
return gTypesInfo[moveType].zMove;
}
bool32 MoveSelectionDisplayZMove(u16 zmove, u32 battler)