mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-02-23 04:44:03 +01:00
Merge pull request #2588 from TeamAquasHideout/upcoming
Fix Psycho Shift not buffering the string index for its printfromtable call
This commit is contained in:
commit
27fa8167c6
@ -9309,25 +9309,27 @@ static void Cmd_various(void)
|
|||||||
gBattlescriptCurrInstr += 4;
|
gBattlescriptCurrInstr += 4;
|
||||||
return;
|
return;
|
||||||
case VARIOUS_PSYCHO_SHIFT:
|
case VARIOUS_PSYCHO_SHIFT:
|
||||||
{
|
// Psycho shift works
|
||||||
if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_PARALYSIS && !CanBeParalyzed(gBattlerTarget))
|
if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_POISON) && CanBePoisoned(gBattlerAttacker, gBattlerTarget))
|
||||||
|| (gBattleMons[gBattlerAttacker].status1 & STATUS1_PSN_ANY && !CanBePoisoned(gBattlerAttacker, gBattlerTarget))
|
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||||
|| (gBattleMons[gBattlerAttacker].status1 & STATUS1_BURN && !CanBeBurned(gBattlerTarget))
|
else if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_TOXIC_POISON) && CanBePoisoned(gBattlerAttacker, gBattlerTarget))
|
||||||
|| (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP && !CanSleep(gBattlerTarget)))
|
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||||
{
|
else if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_BURN) && CanBeBurned(gBattlerTarget))
|
||||||
// fails
|
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||||
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3);
|
else if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_PARALYSIS) && CanBeParalyzed(gBattlerTarget))
|
||||||
}
|
gBattleCommunication[MULTISTRING_CHOOSER] = 3;
|
||||||
|
else if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) && CanSleep(gBattlerTarget))
|
||||||
|
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Psycho shift works
|
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3);
|
||||||
|
return;
|
||||||
|
}
|
||||||
gBattleMons[gBattlerTarget].status1 = gBattleMons[gBattlerAttacker].status1 & STATUS1_ANY;
|
gBattleMons[gBattlerTarget].status1 = gBattleMons[gBattlerAttacker].status1 & STATUS1_ANY;
|
||||||
gActiveBattler = gBattlerTarget;
|
gActiveBattler = gBattlerTarget;
|
||||||
BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1);
|
BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1);
|
||||||
MarkBattlerForControllerExec(gActiveBattler);
|
MarkBattlerForControllerExec(gActiveBattler);
|
||||||
gBattlescriptCurrInstr += 7;
|
gBattlescriptCurrInstr += 7;
|
||||||
}
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
case VARIOUS_CURE_STATUS:
|
case VARIOUS_CURE_STATUS:
|
||||||
gBattleMons[gActiveBattler].status1 = 0;
|
gBattleMons[gActiveBattler].status1 = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user