From e8598076a8b6b6f7212ca633fdcabfebacb2e776 Mon Sep 17 00:00:00 2001 From: BuffelSaft Date: Tue, 4 May 2021 22:55:19 +1200 Subject: [PATCH 1/2] Fix Toxic and Flame Orb Shouldn't inflict status conditions on a fainted mon. --- src/battle_util.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index f1f5ffd100..b25c5a5389 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6271,7 +6271,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case HOLD_EFFECT_TOXIC_ORB: if (!gBattleMons[battlerId].status1 && CanPoisonType(battlerId, battlerId) - && GetBattlerAbility(battlerId) != ABILITY_IMMUNITY) + && GetBattlerAbility(battlerId) != ABILITY_IMMUNITY + && IsBattlerAlive) { effect = ITEM_STATUS_CHANGE; gBattleMons[battlerId].status1 = STATUS1_TOXIC_POISON; @@ -6282,7 +6283,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case HOLD_EFFECT_FLAME_ORB: if (!gBattleMons[battlerId].status1 && !IS_BATTLER_OF_TYPE(battlerId, TYPE_FIRE) - && GetBattlerAbility(battlerId) != ABILITY_WATER_VEIL) + && GetBattlerAbility(battlerId) != ABILITY_WATER_VEIL + && IsBattlerAlive) { effect = ITEM_STATUS_CHANGE; gBattleMons[battlerId].status1 = STATUS1_BURN; From 542201dd4f91bb0285b2e1f8f20e3b12db2f7d27 Mon Sep 17 00:00:00 2001 From: BuffelSaft Date: Tue, 4 May 2021 23:08:48 +1200 Subject: [PATCH 2/2] Add missing ability checks to orbs Flame Orb shouldn't burn mons with Water Bubble and neither orb should affect mons with Comatose. --- src/battle_util.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index b25c5a5389..eab309467f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6272,6 +6272,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) if (!gBattleMons[battlerId].status1 && CanPoisonType(battlerId, battlerId) && GetBattlerAbility(battlerId) != ABILITY_IMMUNITY + && GetBattlerAbility(battlerId) != ABILITY_COMATOSE && IsBattlerAlive) { effect = ITEM_STATUS_CHANGE; @@ -6284,6 +6285,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) if (!gBattleMons[battlerId].status1 && !IS_BATTLER_OF_TYPE(battlerId, TYPE_FIRE) && GetBattlerAbility(battlerId) != ABILITY_WATER_VEIL + && GetBattlerAbility(battlerId) != ABILITY_WATER_BUBBLE + && GetBattlerAbility(battlerId) != ABILITY_COMATOSE && IsBattlerAlive) { effect = ITEM_STATUS_CHANGE;