From e310d0f10eecb6e1405506986225cb84f1aaa5ce Mon Sep 17 00:00:00 2001 From: Papa Cancer Date: Mon, 15 Apr 2019 15:55:37 +0100 Subject: [PATCH] Core Enforcer New code - uses Gastro Acid script instead through own move effect --- data/battle_scripts_1.s | 12 ++++++++++++ include/battle_scripts.h | 1 + include/constants/battle.h | 1 + include/constants/battle_move_effects.h | 1 + src/battle_script_commands.c | 7 +++++++ src/data/battle_moves.h | 2 +- 6 files changed, 23 insertions(+), 1 deletion(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index d986dec8cc..e39f94be4a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -347,6 +347,18 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectVCreate .4byte BattleScript_EffectMatBlock .4byte BattleScript_EffectStompingTantrum + .4byte BattleScript_EffectCoreEnforcer + +BattleScript_EffectCoreEnforcer: + setmoveeffect MOVE_EFFECT_CORE_ENFORCER | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit + +BattleScript_MoveEffectCoreEnforcer:: + setgastroacid BattleScript_CoreEnforcerRet + printstring STRINGID_PKMNSABILITYSUPPRESSED + waitmessage 0x40 +BattleScript_CoreEnforcerRet: + return BattleScript_EffectVCreate: setmoveeffect MOVE_EFFECT_V_CREATE | MOVE_EFFECT_AFFECTS_USER diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 1f66b160b4..286ebe26e5 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -302,5 +302,6 @@ extern const u8 BattleScript_VCreateStatLoss[]; extern const u8 BattleScript_SpikyShieldEffect[]; extern const u8 BattleScript_FlowerVeilProtectsRet[]; extern const u8 BattleScript_SweetVeilProtectsRet[]; +extern const u8 BattleScript_MoveEffectCoreEnforcer[]; #endif // GUARD_BATTLE_SCRIPTS_H diff --git a/include/constants/battle.h b/include/constants/battle.h index 7d34f831f3..b97b7b769d 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -328,6 +328,7 @@ #define MOVE_EFFECT_SPECTRAL_THIEF 0x3F #define MOVE_EFFECT_V_CREATE 0x40 #define MOVE_EFFECT_HAPPY_HOUR 0x41 +#define MOVE_EFFECT_CORE_ENFORCER 0x42 #define MOVE_EFFECT_AFFECTS_USER 0x4000 #define MOVE_EFFECT_CERTAIN 0x8000 diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 7a11f9b14f..95d370fae2 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -335,5 +335,6 @@ #define EFFECT_V_CREATE 329 #define EFFECT_MAT_BLOCK 330 #define EFFECT_STOMPING_TANTRUM 331 +#define EFFECT_CORE_ENFORCER 332 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index eac5a24bb2..300a35841a 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2809,6 +2809,13 @@ void SetMoveEffect(bool32 primary, u32 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_VCreateStatLoss; break; + case MOVE_EFFECT_CORE_ENFORCER: + if (GetBattlerTurnOrderNum(gBattlerAttacker) > GetBattlerTurnOrderNum(gBattlerTarget)) + { + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_MoveEffectCoreEnforcer; + } + break; } } } diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 5d89e7027c..f3be9925b1 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -9124,7 +9124,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_CORE_ENFORCER] = { - .effect = EFFECT_PLACEHOLDER, + .effect = EFFECT_CORE_ENFORCER, .power = 100, .type = TYPE_DRAGON, .accuracy = 100,