From 83b251a69c7e2c2bc727ed26836f2031930e459c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 15 Apr 2020 09:37:12 +0200 Subject: [PATCH] Stamina, Liquid Voice, Water Compaction --- src/battle_main.c | 5 +++++ src/battle_util.c | 25 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/battle_main.c b/src/battle_main.c index d71ad68f92..f5eaaaec7c 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -5055,6 +5055,11 @@ void SetTypeBeforeUsingMove(u16 move, u8 battlerAtk) gBattleStruct->dynamicMoveType = 0x80 | TYPE_NORMAL; gBattleStruct->ateBoost[battlerAtk] = 1; } + else if (gBattleMoves[move].flags & FLAG_SOUND + && attackerAbility == ABILITY_LIQUID_VOICE) + { + gBattleStruct->dynamicMoveType = 0x80 | TYPE_WATER; + } // Check if a gem should activate. GET_MOVE_TYPE(move, moveType); diff --git a/src/battle_util.c b/src/battle_util.c index 8fd6084937..3d127c0b0f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3291,6 +3291,31 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA effect++; } break; + case ABILITY_WATER_COMPACTION: + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && TARGET_TURN_DAMAGED + && IsBattlerAlive(battler) + && moveType == TYPE_WATER + && gBattleMons[battler].statStages[STAT_DEF] != 12) + { + SET_STATCHANGER(STAT_DEF, 2, FALSE); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaise; + effect++; + } + break; + case ABILITY_STAMINA: + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && TARGET_TURN_DAMAGED + && IsBattlerAlive(battler) + && gBattleMons[battler].statStages[STAT_DEF] != 12) + { + SET_STATCHANGER(STAT_DEF, 1, FALSE); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaise; + effect++; + } + break; case ABILITY_BERSERK: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && TARGET_TURN_DAMAGED