From a086d5f592a944fb97e6deb044cf67180e8f248d Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 15 May 2025 10:45:48 +0200 Subject: [PATCH] Reverts wrongly done gem fix and renames struggle effect (#6806) --- data/battle_scripts_1.s | 2 +- include/battle_scripts.h | 2 +- include/constants/battle_move_effects.h | 2 +- src/battle_main.c | 6 ++++-- src/battle_script_commands.c | 3 +-- src/data/battle_move_effects.h | 4 ++-- src/data/moves_info.h | 2 +- test/battle/hold_effect/gems.c | 16 ---------------- 8 files changed, 11 insertions(+), 26 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 4967e90d95..7abff820b9 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -5229,7 +5229,7 @@ BattleScript_EffectSnatch:: waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd -BattleScript_EffectRecoilHP25:: +BattleScript_EffectStruggle:: jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit incrementgamestat GAME_STAT_USED_STRUGGLE goto BattleScript_EffectHit diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 25d96dc4b8..ab25df0684 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -816,7 +816,7 @@ extern const u8 BattleScript_MoveEffectEerieSpell[]; extern const u8 BattleScript_EffectJungleHealing[]; extern const u8 BattleScript_EffectCoaching[]; extern const u8 BattleScript_EffectDecorate[]; -extern const u8 BattleScript_EffectRecoilHP25[]; +extern const u8 BattleScript_EffectStruggle[]; extern const u8 BattleScript_EffectStuffCheeks[]; extern const u8 BattleScript_MoveEffectLightScreen[]; extern const u8 BattleScript_MoveEffectReflect[]; diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 6525cf1544..073d4d2058 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -292,7 +292,7 @@ enum { EFFECT_DYNAMAX_DOUBLE_DMG, EFFECT_DECORATE, EFFECT_SNIPE_SHOT, - EFFECT_RECOIL_HP_25, + EFFECT_STRUGGLE, EFFECT_STUFF_CHEEKS, EFFECT_GRAV_APPLE, EFFECT_HYPERSPACE_FURY, diff --git a/src/battle_main.c b/src/battle_main.c index 3f6c5e8617..7b33e16374 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -6074,10 +6074,12 @@ void SetTypeBeforeUsingMove(u32 move, u32 battler) gBattleStruct->dynamicMoveType = TYPE_ELECTRIC | F_DYNAMIC_TYPE_SET; // Check if a gem should activate. + u32 effect = GetMoveEffect(move); if (holdEffect == HOLD_EFFECT_GEMS && GetBattleMoveType(move) == ItemId_GetSecondaryId(heldItem) - && GetMoveEffect(move) != EFFECT_PLEDGE - && GetMovePower(move) > 1) + && effect != EFFECT_PLEDGE + && effect != EFFECT_OHKO + && effect != EFFECT_STRUGGLE) { gSpecialStatuses[battler].gemParam = GetBattlerHoldEffectParam(battler); gSpecialStatuses[battler].gemBoost = TRUE; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 9d9e183a46..716e562aeb 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2201,8 +2201,7 @@ static void Cmd_adjustdamage(void) if (gSpecialStatuses[gBattlerAttacker].gemBoost && !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT) && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) - && gBattleMons[gBattlerAttacker].item - && gCurrentMove != MOVE_STRUGGLE) + && gBattleMons[gBattlerAttacker].item) { BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_GemActivates; diff --git a/src/data/battle_move_effects.h b/src/data/battle_move_effects.h index d5b3d5dc54..6b4741ab5e 100644 --- a/src/data/battle_move_effects.h +++ b/src/data/battle_move_effects.h @@ -1876,9 +1876,9 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = .battleTvScore = 0, // TODO: Assign points }, - [EFFECT_RECOIL_HP_25] = + [EFFECT_STRUGGLE] = { - .battleScript = BattleScript_EffectRecoilHP25, + .battleScript = BattleScript_EffectStruggle, .battleTvScore = 0, // TODO: Assign points }, diff --git a/src/data/moves_info.h b/src/data/moves_info.h index fa93c75054..70d3184ece 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -4333,7 +4333,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = "Used only if all PP are gone.\n" "Also hurts the user a little."), #if B_UPDATED_MOVE_DATA >= GEN_4 - .effect = EFFECT_RECOIL_HP_25, + .effect = EFFECT_STRUGGLE, .accuracy = 0, .mirrorMoveBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ diff --git a/test/battle/hold_effect/gems.c b/test/battle/hold_effect/gems.c index 5486443808..52c85d7fb5 100644 --- a/test/battle/hold_effect/gems.c +++ b/test/battle/hold_effect/gems.c @@ -87,19 +87,3 @@ SINGLE_BATTLE_TEST("Gem is consumed if the move type is changed") ANIMATION(ANIM_TYPE_MOVE, MOVE_FEINT_ATTACK, player); } } - -SINGLE_BATTLE_TEST("Gem is not consumed if a no type damage move is used") //ie. Counter, Psywave, Super Fang. All these moves have 1 base power. -{ - ASSUME(GetMovePower(MOVE_PSYWAVE) == 1); - GIVEN { - PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_PSYCHIC_GEM); }; - OPPONENT(SPECIES_WOBBUFFET); - } WHEN { - TURN { MOVE(player, MOVE_PSYWAVE); } - } SCENE { - NONE_OF { - ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("The Psychic Gem strengthened Wobbuffet's power!"); - } - } -}