Get species name from National Dex number
This commit is contained in:
parent
a4c2a325f0
commit
df49fbedac
8 changed files with 918 additions and 1287 deletions
|
@ -119,6 +119,7 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
|||
|
||||
extern const struct Trainer gTrainers[];
|
||||
extern const u8 gTrainerClassNames[][13];
|
||||
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
|
||||
extern const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1];
|
||||
extern const u8 *const gZMoveNames[];
|
||||
|
||||
|
|
|
@ -296,7 +296,6 @@ struct BattlePokemon
|
|||
|
||||
struct BaseStats
|
||||
{
|
||||
/* 0x?? */ u8 speciesName[POKEMON_NAME_LENGTH + 1];
|
||||
/* 0x?? */ u8 baseHP;
|
||||
/* 0x?? */ u8 baseAttack;
|
||||
/* 0x?? */ u8 baseDefense;
|
||||
|
|
|
@ -4365,11 +4365,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId)
|
|||
{
|
||||
textPrinter.currentY = sSpeciesNameTextYCoords[i];
|
||||
if (trainerId == TRAINER_PLAYER)
|
||||
textPrinter.currentChar = gBaseStats[DOME_MONS[trainerTourneyId][i]].speciesName;
|
||||
textPrinter.currentChar = GetSpeciesName(DOME_MONS[trainerTourneyId][i]);
|
||||
else if (trainerId == TRAINER_FRONTIER_BRAIN)
|
||||
textPrinter.currentChar = gBaseStats[DOME_MONS[trainerTourneyId][i]].speciesName;
|
||||
textPrinter.currentChar = GetSpeciesName(DOME_MONS[trainerTourneyId][i]);
|
||||
else
|
||||
textPrinter.currentChar = gBaseStats[gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].species].speciesName;
|
||||
textPrinter.currentChar = GetSpeciesName(gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].species);
|
||||
|
||||
textPrinter.windowId = 1 + i + windowId;
|
||||
if (i == 1)
|
||||
|
|
|
@ -1916,8 +1916,8 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir
|
|||
{
|
||||
const struct TrainerMonNoItemDefaultMoves *partyData = gTrainers[trainerNum].party.NoItemDefaultMoves;
|
||||
|
||||
for (j = 0; gBaseStats[partyData[i].species].speciesName[j] != EOS; j++)
|
||||
nameHash += gBaseStats[partyData[i].species].speciesName[j];
|
||||
for (j = 0; gSpeciesNames[gBaseStats[partyData[i].species].natDexNum][j] != EOS; j++)
|
||||
nameHash += gSpeciesNames[partyData[i].species][j];
|
||||
|
||||
personalityValue += nameHash << 8;
|
||||
fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255;
|
||||
|
@ -1928,8 +1928,8 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir
|
|||
{
|
||||
const struct TrainerMonNoItemCustomMoves *partyData = gTrainers[trainerNum].party.NoItemCustomMoves;
|
||||
|
||||
for (j = 0; gBaseStats[partyData[i].species].speciesName[j] != EOS; j++)
|
||||
nameHash += gBaseStats[partyData[i].species].speciesName[j];
|
||||
for (j = 0; gSpeciesNames[gBaseStats[partyData[i].species].natDexNum][j] != EOS; j++)
|
||||
nameHash += gSpeciesNames[gBaseStats[partyData[i].species].natDexNum][j];
|
||||
|
||||
personalityValue += nameHash << 8;
|
||||
fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255;
|
||||
|
@ -1946,8 +1946,8 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir
|
|||
{
|
||||
const struct TrainerMonItemDefaultMoves *partyData = gTrainers[trainerNum].party.ItemDefaultMoves;
|
||||
|
||||
for (j = 0; gBaseStats[partyData[i].species].speciesName[j] != EOS; j++)
|
||||
nameHash += gBaseStats[partyData[i].species].speciesName[j];
|
||||
for (j = 0; gSpeciesNames[gBaseStats[partyData[i].species].natDexNum][j] != EOS; j++)
|
||||
nameHash += gSpeciesNames[gBaseStats[partyData[i].species].natDexNum][j];
|
||||
|
||||
personalityValue += nameHash << 8;
|
||||
fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255;
|
||||
|
@ -1960,8 +1960,8 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir
|
|||
{
|
||||
const struct TrainerMonItemCustomMoves *partyData = gTrainers[trainerNum].party.ItemCustomMoves;
|
||||
|
||||
for (j = 0; gBaseStats[partyData[i].species].speciesName[j] != EOS; j++)
|
||||
nameHash += gBaseStats[partyData[i].species].speciesName[j];
|
||||
for (j = 0; gSpeciesNames[gBaseStats[partyData[i].species].natDexNum][j] != EOS; j++)
|
||||
nameHash += gSpeciesNames[gBaseStats[partyData[i].species].natDexNum][j];
|
||||
|
||||
personalityValue += nameHash << 8;
|
||||
fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255;
|
||||
|
|
|
@ -55,7 +55,6 @@ const struct BaseStats gBaseStats[] =
|
|||
{
|
||||
[SPECIES_NONE] =
|
||||
{
|
||||
.speciesName = _("??????????"),
|
||||
.natDexNum = NATIONAL_DEX_NONE,
|
||||
DEX_TEXT(Dummy, "Unknown"),
|
||||
DEX_SCALE(256, 0, 256, 0),
|
||||
|
@ -90,7 +89,6 @@ const struct BaseStats gBaseStats[] =
|
|||
.abilities = {ABILITY_OVERGROW, ABILITY_NONE, ABILITY_CHLOROPHYLL},
|
||||
.bodyColor = BODY_COLOR_GREEN,
|
||||
.noFlip = FALSE,
|
||||
.speciesName = _("Bulbasaur"),
|
||||
.natDexNum = NATIONAL_DEX_BULBASAUR,
|
||||
DEX_TEXT(Bulbasaur, "Seed"),
|
||||
DEX_SCALE(356, 17, 256, 0),
|
||||
|
@ -127,7 +125,6 @@ const struct BaseStats gBaseStats[] =
|
|||
.abilities = {ABILITY_OVERGROW, ABILITY_NONE, ABILITY_CHLOROPHYLL},
|
||||
.bodyColor = BODY_COLOR_GREEN,
|
||||
.noFlip = FALSE,
|
||||
.speciesName = _("Ivysaur"),
|
||||
.natDexNum = NATIONAL_DEX_IVYSAUR,
|
||||
DEX_TEXT(Ivysaur, "Seed"),
|
||||
DEX_SCALE(335, 13, 256, 0),
|
||||
|
@ -155,7 +152,6 @@ const struct BaseStats gBaseStats[] =
|
|||
.eggGroup2 = EGG_GROUP_GRASS, \
|
||||
.bodyColor = BODY_COLOR_GREEN, \
|
||||
.noFlip = FALSE, \
|
||||
.speciesName = _("Venusaur"), \
|
||||
.natDexNum = NATIONAL_DEX_VENUSAUR, \
|
||||
LEARNSETS(Venusaur), \
|
||||
FOOTPRINT(Venusaur)
|
||||
|
@ -224,7 +220,6 @@ const struct BaseStats gBaseStats[] =
|
|||
.abilities = {ABILITY_BLAZE, ABILITY_NONE, ABILITY_SOLAR_POWER},
|
||||
.bodyColor = BODY_COLOR_RED,
|
||||
.noFlip = FALSE,
|
||||
.speciesName = _("Charmander"),
|
||||
.natDexNum = NATIONAL_DEX_CHARMANDER,
|
||||
DEX_TEXT(Charmander, "Lizard"),
|
||||
DEX_SCALE(444, 18, 256, 0),
|
||||
|
@ -8533,7 +8528,6 @@ const struct BaseStats gBaseStats[] =
|
|||
|
||||
[SPECIES_TREECKO] =
|
||||
{
|
||||
.speciesName = _("Treecko"),
|
||||
.baseHP = 40,
|
||||
.baseAttack = 45,
|
||||
.baseDefense = 35,
|
||||
|
@ -8638,7 +8632,6 @@ const struct BaseStats gBaseStats[] =
|
|||
|
||||
[SPECIES_TORCHIC] =
|
||||
{
|
||||
.speciesName = _("Torchic"),
|
||||
.baseHP = 45,
|
||||
.baseAttack = 60,
|
||||
.baseDefense = 40,
|
||||
|
@ -8741,7 +8734,6 @@ const struct BaseStats gBaseStats[] =
|
|||
|
||||
[SPECIES_MUDKIP] =
|
||||
{
|
||||
.speciesName = _("Mudkip"),
|
||||
.baseHP = 50,
|
||||
.baseAttack = 70,
|
||||
.baseDefense = 50,
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -2542,7 +2542,7 @@ static u8 CreateMonName(u16 species, u8 left, u8 top)
|
|||
{
|
||||
const u8 *str;
|
||||
|
||||
if (species >= NUM_SPECIES)
|
||||
if (species)
|
||||
str = GetSpeciesName(species);
|
||||
else
|
||||
str = sText_TenDashes;
|
||||
|
|
|
@ -3101,8 +3101,8 @@ bool8 IsPokemonStorageFull(void)
|
|||
const u8 *GetSpeciesName(u16 species)
|
||||
{
|
||||
if (species > NUM_SPECIES)
|
||||
return gBaseStats[SPECIES_NONE].speciesName;
|
||||
return gBaseStats[species].speciesName;
|
||||
return gSpeciesNames[NATIONAL_DEX_NONE];
|
||||
return gSpeciesNames[gBaseStats[species].natDexNum];
|
||||
}
|
||||
|
||||
u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex)
|
||||
|
|
Loading…
Reference in a new issue