From 55086586c57cc867fa45f618669f53cca2aa8987 Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Sun, 22 Sep 2024 16:59:43 -0700 Subject: [PATCH] Revert 5422 (#5424) --- src/evolution_scene.c | 19 ++++++++++++------- src/pokemon.c | 2 -- test/pokemon.c | 11 +++-------- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 6119494907..98879430cb 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -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); diff --git a/src/pokemon.c b/src/pokemon.c index e186ce4d51..0583939a85 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -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 { diff --git a/test/pokemon.c b/test/pokemon.c index 562b8b10a3..8419b9c7e1 100644 --- a/test/pokemon.c +++ b/test/pokemon.c @@ -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]")