From 5eae07e4b9501c73165244a0feeecf33a69a682d Mon Sep 17 00:00:00 2001 From: Nephrite Date: Thu, 23 Nov 2023 23:43:11 +0900 Subject: [PATCH] Jaw Lock, Axe Kick, Spin Out Jaw Lock needs a test but I'm too lazy to write it --- data/battle_scripts_1.s | 18 +++--------------- include/constants/battle_move_effects.h | 6 +++--- src/battle_tv.c | 1 - src/data/battle_moves.h | 16 ++++++++++++---- test/battle/move_effect/axe_kick.c | 3 ++- test/battle/move_effect/spin_out.c | 3 ++- 6 files changed, 22 insertions(+), 25 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index af6f9867b8..292e848fd6 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -393,7 +393,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectPhotonGeyser @ EFFECT_PHOTON_GEYSER .4byte BattleScript_EffectShellSideArm @ EFFECT_SHELL_SIDE_ARM .4byte BattleScript_EffectHit @ EFFECT_TERRAIN_PULSE - .4byte BattleScript_EffectJawLock @ EFFECT_JAW_LOCK + .4byte BattleScript_EffectHit @ EFFECT_UNUSED_367 .4byte BattleScript_EffectNoRetreat @ EFFECT_NO_RETREAT .4byte BattleScript_EffectTarShot @ EFFECT_TAR_SHOT .4byte BattleScript_EffectPoltergeist @ EFFECT_POLTERGEIST @@ -428,9 +428,9 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHit @ EFFECT_UNUSED_399 .4byte BattleScript_EffectHit @ EFFECT_INFERNAL_PARADE .4byte BattleScript_EffectTakeHeart @ EFFECT_TAKE_HEART - .4byte BattleScript_EffectAxeKick @ EFFECT_AXE_KICK + .4byte BattleScript_EffectHit @ EFFECT_UNUSED_402 .4byte BattleScript_EffectHit @ EFFECT_COLLISION_COURSE - .4byte BattleScript_EffectSpinOut @ EFFECT_SPIN_OUT + .4byte BattleScript_EffectHit @ EFFECT_HIT_404 .4byte BattleScript_EffectMakeItRain @ EFFECT_MAKE_IT_RAIN .4byte BattleScript_EffectCorrosiveGas @ EFFECT_CORROSIVE_GAS .4byte BattleScript_EffectHit @ EFFECT_POPULATION_BOMB @@ -529,14 +529,6 @@ BattleScript_MakeItRainDoubles: jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING | HITMARKER_NO_PPDEDUCT, BattleScript_NoMoveEffect goto BattleScript_MakeItRainContinuous -BattleScript_EffectSpinOut:: - setmoveeffect MOVE_EFFECT_SPD_MINUS_2 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN - goto BattleScript_EffectHit - -BattleScript_EffectAxeKick:: - setmoveeffect MOVE_EFFECT_CONFUSION - goto BattleScript_EffectRecoilIfMiss - BattleScript_EffectTakeHeart:: attackcanceler attackstring @@ -1117,10 +1109,6 @@ BattleScript_EffectNoRetreat: waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd -BattleScript_EffectJawLock: - setmoveeffect MOVE_EFFECT_TRAP_BOTH | MOVE_EFFECT_CERTAIN - goto BattleScript_EffectHit - BattleScript_BothCanNoLongerEscape:: printstring STRINGID_BOTHCANNOLONGERESCAPE waitmessage B_WAIT_TIME_LONG diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 69bfb3d22b..7fb2758658 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -370,7 +370,7 @@ #define EFFECT_PHOTON_GEYSER 364 #define EFFECT_SHELL_SIDE_ARM 365 #define EFFECT_TERRAIN_PULSE 366 -#define EFFECT_JAW_LOCK 367 +#define EFFECT_UNUSED_367 367 #define EFFECT_NO_RETREAT 368 #define EFFECT_TAR_SHOT 369 #define EFFECT_POLTERGEIST 370 @@ -405,9 +405,9 @@ #define EFFECT_UNUSED_399 399 #define EFFECT_INFERNAL_PARADE 400 #define EFFECT_TAKE_HEART 401 -#define EFFECT_AXE_KICK 402 +#define EFFECT_UNUSED_402 402 #define EFFECT_COLLISION_COURSE 403 -#define EFFECT_SPIN_OUT 404 +#define EFFECT_HIT_404 404 #define EFFECT_MAKE_IT_RAIN 405 #define EFFECT_CORROSIVE_GAS 406 #define EFFECT_POPULATION_BOMB 407 diff --git a/src/battle_tv.c b/src/battle_tv.c index 3a28374fcd..e2e9dc9263 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -448,7 +448,6 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] = [EFFECT_PHOTON_GEYSER] = 0, // TODO: Assign points [EFFECT_SHELL_SIDE_ARM] = 0, // TODO: Assign points [EFFECT_TERRAIN_PULSE] = 0, // TODO: Assign points - [EFFECT_JAW_LOCK] = 0, // TODO: Assign points [EFFECT_NO_RETREAT] = 0, // TODO: Assign points [EFFECT_TAR_SHOT] = 0, // TODO: Assign points [EFFECT_POLTERGEIST] = 0, // TODO: Assign points diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 7bd2b06cf8..3ef618957f 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -12172,7 +12172,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] = [MOVE_JAW_LOCK] = { - .effect = EFFECT_JAW_LOCK, + .effect = EFFECT_HIT, .power = 80, .type = TYPE_DARK, .accuracy = 100, @@ -12184,6 +12184,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] = .zMoveEffect = Z_EFFECT_NONE, .makesContact = TRUE, .bitingMove = TRUE, + ADDITIONAL_EFFECTS( + PRIMARY_EFFECT(MOVE_EFFECT_TRAP_BOTH) + ) }, [MOVE_STUFF_CHEEKS] = @@ -13705,18 +13708,20 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] = [MOVE_AXE_KICK] = { - .effect = EFFECT_AXE_KICK, + .effect = EFFECT_RECOIL_IF_MISS, .power = 120, .type = TYPE_FIGHTING, .accuracy = 90, .pp = 10, - .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, .makesContact = TRUE, .sheerForceBoost = TRUE, + ADDITIONAL_EFFECTS( + SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 30) + ) }, [MOVE_LAST_RESPECTS] = @@ -13802,7 +13807,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] = [MOVE_SPIN_OUT] = { - .effect = EFFECT_SPIN_OUT, + .effect = EFFECT_HIT, .power = 100, .type = TYPE_STEEL, .accuracy = 100, @@ -13813,6 +13818,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] = .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, .makesContact = TRUE, + ADDITIONAL_EFFECTS( + PRIMARY_EFFECT_SELF(MOVE_EFFECT_SPD_MINUS_2) + ) }, [MOVE_POPULATION_BOMB] = diff --git a/test/battle/move_effect/axe_kick.c b/test/battle/move_effect/axe_kick.c index e8674579f4..7eeb598976 100644 --- a/test/battle/move_effect/axe_kick.c +++ b/test/battle/move_effect/axe_kick.c @@ -3,7 +3,8 @@ ASSUMPTIONS { - ASSUME(gBattleMoves[MOVE_AXE_KICK].effect == EFFECT_AXE_KICK); + ASSUME(gBattleMoves[MOVE_AXE_KICK].effect == EFFECT_RECOIL_IF_MISS); + ASSUME(gBattleMoves[MOVE_AXE_KICK].additionalEffects[0].moveEffect == MOVE_EFFECT_CONFUSION); } SINGLE_BATTLE_TEST("Axe Kick confuses the target") diff --git a/test/battle/move_effect/spin_out.c b/test/battle/move_effect/spin_out.c index 7966882c6a..f357ee77bb 100644 --- a/test/battle/move_effect/spin_out.c +++ b/test/battle/move_effect/spin_out.c @@ -3,7 +3,8 @@ ASSUMPTIONS { - ASSUME(gBattleMoves[MOVE_SPIN_OUT].effect == EFFECT_SPIN_OUT); + ASSUME(gBattleMoves[MOVE_SPIN_OUT].additionalEffects[0].moveEffect == MOVE_EFFECT_SPD_MINUS_2); + ASSUME(gBattleMoves[MOVE_SPIN_OUT].additionalEffects[0].self == TRUE); } SINGLE_BATTLE_TEST("Spin Out lowers speed by 2 stages")