From c724f2b8099645daf85884895047e60e23368e4b Mon Sep 17 00:00:00 2001 From: Kaz Date: Wed, 16 Sep 2020 22:01:45 -0400 Subject: battle_ai_script_commands.c: -g fixes the fakematch. --- src/battle_ai_script_commands.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/battle_ai_script_commands.c') diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 032e5f407..5aef7a04f 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -616,8 +616,8 @@ static void RecordLastUsedMoveByTarget(void) { if (BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] == gLastMoves[gBattlerTarget]) break; - if (BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] != gLastMoves[gBattlerTarget] // HACK: This redundant condition is a hack to make the asm match. - && BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] == MOVE_NONE) + + if (BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] == MOVE_NONE) { BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] = gLastMoves[gBattlerTarget]; break; -- cgit v1.2.3 From 4b748d32ccd7c35716ea7c1b3267b0b0ac53bca4 Mon Sep 17 00:00:00 2001 From: luckytyphlosion <10688458+luckytyphlosion@users.noreply.github.com> Date: Sat, 7 Nov 2020 18:21:17 -0500 Subject: Bugfix for ChooseMoveOrAction_Doubles. --- src/battle_ai_script_commands.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/battle_ai_script_commands.c') diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 4185f8017..2423cfe37 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -450,7 +450,16 @@ static u8 ChooseMoveOrAction_Doubles(void) { s32 i; s32 j; +#ifndef BUGFIX s32 scriptsToRun; +#else + // the value assigned to this is a u32 (aiFlags) + // this becomes relevant because aiFlags can have bit 31 set + // and scriptsToRun is shifted + // this never happens in the vanilla game because bit 31 is + // only set when it's the first battle + u32 scriptsToRun; +#endif s16 bestMovePointsForTarget[MAX_BATTLERS_COUNT]; s8 mostViableTargetsArray[MAX_BATTLERS_COUNT]; u8 actionOrMoveIndex[MAX_BATTLERS_COUNT]; -- cgit v1.2.3 From 81d95b9325ed2526ce638744408f453a8169abb4 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sat, 12 Dec 2020 23:28:01 -0500 Subject: Use BUGFIX for some inline fixes --- src/battle_ai_script_commands.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/battle_ai_script_commands.c') diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 2423cfe37..651f9da2a 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -1613,8 +1613,10 @@ static void Cmd_if_status_not_in_party(void) if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo) { - gAIScriptPtr += 10; // UB: Still bugged in Emerald. Uncomment the return statement to fix. - // return; + gAIScriptPtr += 10; + #ifdef BUGFIX + return; + #endif } } -- cgit v1.2.3 From b1197ac2da952ca289d9e5ca37b49fd05207f65b Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sat, 12 Dec 2020 23:57:25 -0500 Subject: UBFIX for if_status_not_in_party --- src/battle_ai_script_commands.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/battle_ai_script_commands.c') diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 651f9da2a..952868e11 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -1614,7 +1614,7 @@ static void Cmd_if_status_not_in_party(void) if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo) { gAIScriptPtr += 10; - #ifdef BUGFIX + #ifdef UBFIX return; #endif } -- cgit v1.2.3