From ddddca68e997fcc4b7568f46ab2f42228cfacef2 Mon Sep 17 00:00:00 2001 From: FosterProgramming Date: Sun, 19 Oct 2025 07:42:59 +0200 Subject: [PATCH] Fix no_effect script command overwriting trainer data in trainer script (#7978) --- src/trainer_see.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/trainer_see.c b/src/trainer_see.c index 71237b4e29..0433e56071 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -429,7 +429,7 @@ bool8 CheckForTrainersWantingBattle(void) static u8 CheckTrainer(u8 objectEventId) { - const u8 *scriptPtr, *trainerBattlePtr; + const u8 *trainerBattlePtr; u8 numTrainers = 1; u8 approachDistance = GetTrainerApproachDistance(&gObjectEvents[objectEventId]); @@ -438,13 +438,13 @@ static u8 CheckTrainer(u8 objectEventId) if (InTrainerHill() == TRUE) { - trainerBattlePtr = scriptPtr = GetTrainerHillTrainerScript(); + trainerBattlePtr = GetTrainerHillTrainerScript(); } else { - trainerBattlePtr = scriptPtr = GetObjectEventScriptPointerByObjectEventId(objectEventId); + trainerBattlePtr = GetObjectEventScriptPointerByObjectEventId(objectEventId); struct ScriptContext ctx; - if (RunScriptImmediatelyUntilEffect(SCREFF_V1 | SCREFF_SAVE | SCREFF_HARDWARE | SCREFF_TRAINERBATTLE, scriptPtr, &ctx)) + if (RunScriptImmediatelyUntilEffect(SCREFF_V1 | SCREFF_SAVE | SCREFF_HARDWARE | SCREFF_TRAINERBATTLE, trainerBattlePtr, &ctx)) { if (*ctx.scriptPtr == 0x5c) // trainerbattle trainerBattlePtr = ctx.scriptPtr; @@ -492,7 +492,7 @@ static u8 CheckTrainer(u8 objectEventId) } gApproachingTrainers[gNoOfApproachingTrainers].objectEventId = objectEventId; - gApproachingTrainers[gNoOfApproachingTrainers].trainerScriptPtr = scriptPtr; + gApproachingTrainers[gNoOfApproachingTrainers].trainerScriptPtr = trainerBattlePtr; gApproachingTrainers[gNoOfApproachingTrainers].radius = approachDistance; InitTrainerApproachTask(&gObjectEvents[objectEventId], approachDistance - 1); gNoOfApproachingTrainers++;