Revert 5422 (#5424)

This commit is contained in:
psf 2024-09-22 16:59:43 -07:00 committed by GitHub
parent acd07ccfc1
commit 55086586c5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 15 additions and 17 deletions

View File

@ -545,13 +545,19 @@ static void CB2_TradeEvolutionSceneUpdate(void)
static void CreateShedinja(u16 preEvoSpecies, struct Pokemon *mon)
{
u32 data = 0;
u16 ball = ITEM_POKE_BALL;
#if P_SHEDINJA_BALL >= GEN_4
u16 ball = ITEM_POKE_BALL;
#endif
const struct Evolution *evolutions = GetSpeciesEvolutions(preEvoSpecies);
if (evolutions == NULL)
return;
if (evolutions[0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < PARTY_SIZE && (P_SHEDINJA_BALL < GEN_4 || CheckBagHasItem(ball, 1)))
if (evolutions[0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < PARTY_SIZE
#if P_SHEDINJA_BALL >= GEN_4
&& (CheckBagHasItem(ball, 1))
#endif
)
{
s32 i;
struct Pokemon *shedinja = &gPlayerParty[gPlayerPartyCount];
@ -561,11 +567,10 @@ static void CreateShedinja(u16 preEvoSpecies, struct Pokemon *mon)
SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_NICKNAME, GetSpeciesName(evolutions[1].targetSpecies));
SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_HELD_ITEM, &data);
SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_MARKINGS, &data);
if (P_SHEDINJA_BALL >= GEN_4)
{
SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_POKEBALL, &ball);
RemoveBagItem(ball, 1);
}
#if P_SHEDINJA_BALL >= GEN_4
SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_POKEBALL, &ball);
RemoveBagItem(ball, 1);
#endif
for (i = MON_DATA_COOL_RIBBON; i < MON_DATA_COOL_RIBBON + CONTEST_CATEGORIES_COUNT; i++)
SetMonData(&gPlayerParty[gPlayerPartyCount], i, &data);

View File

@ -2791,8 +2791,6 @@ u32 GetBoxMonData3(struct BoxPokemon *boxMon, s32 field, u8 *data)
{
const u8 *types = gSpeciesInfo[substruct0->species].types;
retVal = (boxMon->personality & 0x1) == 0 ? types[0] : types[1];
// To avoid this value changing upon form change/evolution, we directly set it for future cases
SetBoxMonData(boxMon, MON_DATA_TERA_TYPE, &retVal);
}
else
{

View File

@ -325,25 +325,20 @@ TEST("givemon [vars]")
EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_TERA_TYPE), TYPE_FIRE);
}
TEST("checkteratype works")
TEST("checkteratype/setteratype work")
{
CreateMon(&gPlayerParty[0], SPECIES_WOBBUFFET, 100, 0, FALSE, 0, OT_ID_PRESET, 0);
RUN_OVERWORLD_SCRIPT(
checkteratype 0;
);
EXPECT_EQ(VarGet(VAR_RESULT), TYPE_PSYCHIC);
}
TEST("setteratype works")
{
CreateMon(&gPlayerParty[0], SPECIES_WOBBUFFET, 100, 0, FALSE, 0, OT_ID_PRESET, 0);
EXPECT(VarGet(VAR_RESULT) == TYPE_PSYCHIC);
RUN_OVERWORLD_SCRIPT(
setteratype TYPE_FIRE, 0;
checkteratype 0;
);
EXPECT_EQ(VarGet(VAR_RESULT), TYPE_FIRE);
EXPECT(VarGet(VAR_RESULT) == TYPE_FIRE);
}
TEST("createmon [simple]")