From 93d8efd51f66d14b4e1f94a9d7fa200077fd6d83 Mon Sep 17 00:00:00 2001 From: AgustinGDLV Date: Mon, 27 Feb 2023 14:34:08 -0800 Subject: [PATCH] implemented G-Max Resonance --- data/battle_scripts_1.s | 5 +++++ include/battle_scripts.h | 3 ++- src/battle_dynamax.c | 16 +++++++++++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 9fc414baef..6e37f6f2f1 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -10451,6 +10451,11 @@ BattleScript_DamageNonTypesContinuesEnd:: bicword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE end2 +BattleScript_EffectSetAuroraVeil:: + printstring STRINGID_PKMNCOVEREDBYVEIL + waitmessage B_WAIT_TIME_LONG + goto BattleScript_MoveEnd + BattleScript_PokemonCantUseTheMove:: attackstring ppreduce diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 69f6567384..46cc0f4e8a 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -454,7 +454,6 @@ extern const u8 BattleScript_HealingWishActivates[]; extern const u8 BattleScript_LunarDanceActivates[]; extern const u8 BattleScript_ShellTrapSetUp[]; extern const u8 BattleScript_StealthRockActivates[]; -extern const u8 BattleScript_DefogTryHazards[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; @@ -474,5 +473,7 @@ extern const u8 BattleScript_SteelsurgeActivates[]; extern const u8 BattleScript_SteelsurgeFree[]; extern const u8 BattleScript_DamageNonTypesStarts[]; extern const u8 BattleScript_DamageNonTypesContinues[]; +extern const u8 BattleScript_DefogTryHazards[]; +extern const u8 BattleScript_EffectSetAuroraVeil[]; #endif // GUARD_BATTLE_SCRIPTS_H \ No newline at end of file diff --git a/src/battle_dynamax.c b/src/battle_dynamax.c index 46097d9ced..287a13eb6e 100644 --- a/src/battle_dynamax.c +++ b/src/battle_dynamax.c @@ -86,7 +86,7 @@ bool8 ShouldUseMaxMove(u16 battlerId, u16 baseMove) // return !IsRaidBossUsingRegularMove(battlerId, baseMove); if (gBattleStruct->dynamax.dynamaxTurns[battlerId] > 0) return TRUE; - return TRUE; + return FALSE; } // Returns the appropriate Max Move or G-Max Move for a battler to use. @@ -324,6 +324,20 @@ u16 SetMaxMoveEffect(u16 move) effect++; } break; + case MAX_EFFECT_AURORA_VEIL: + if (!(gSideStatuses[GetBattlerSide(gBattlerAttacker)] & SIDE_STATUS_AURORA_VEIL)) + { + gSideStatuses[GetBattlerSide(gBattlerAttacker)] |= SIDE_STATUS_AURORA_VEIL; + if (GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_LIGHT_CLAY) + gSideTimers[GetBattlerSide(gBattlerAttacker)].auroraVeilTimer = 8; + else + gSideTimers[GetBattlerSide(gBattlerAttacker)].auroraVeilTimer = 5; + gSideTimers[GetBattlerSide(gBattlerAttacker)].auroraVeilBattlerId = gBattlerAttacker; + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_EffectSetAuroraVeil; + effect++; + } + break; } return effect; }