summaryrefslogtreecommitdiff
path: root/src/battle_script_commands.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_script_commands.c')
-rw-r--r--src/battle_script_commands.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 309b375e7..1c11ca6bd 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -7248,16 +7248,18 @@ static void Cmd_forcerandomswitch(void)
{
if (TryDoForceSwitchOut())
{
+ do{
do
{
i = Random() % monsCount;
i += firstMonId;
}
while (i == battler2PartyId
- || i == battler1PartyId
- || GetMonData(&party[i], MON_DATA_SPECIES) == SPECIES_NONE
+ || i == battler1PartyId);
+
+ }while(GetMonData(&party[i], MON_DATA_SPECIES) == SPECIES_NONE
|| GetMonData(&party[i], MON_DATA_IS_EGG) == TRUE
- || GetMonData(&party[i], MON_DATA_HP) == 0);
+ || GetMonData(&party[i], MON_DATA_HP) == 0); // Should be one while loop, conjoined by an ||, but that doesn't match. Equivalent logic though
}
*(gBattleStruct->monToSwitchIntoId + gBattlerTarget) = i;