From 2daa8f3c883eec097d45531cc1335cebca04378d Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Mon, 13 Oct 2025 15:39:10 +0200 Subject: [PATCH] Remove EffectHitSetTerrain script to use moveeffect (#7938) --- data/battle_scripts_1.s | 25 ------------------------- include/battle_scripts.h | 1 - include/constants/battle_move_effects.h | 1 - src/battle_script_commands.c | 4 ---- src/data/battle_move_effects.h | 6 ------ src/data/moves_info.h | 7 +++++-- test/battle/gimmick/zmove.c | 2 +- 7 files changed, 6 insertions(+), 40 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 760d421696..c79f91a87c 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -8330,31 +8330,6 @@ BattleScript_ExtremeEvoboostSpDef:: BattleScript_ExtremeEvoboostEnd:: goto BattleScript_MoveEnd -BattleScript_EffectHitSetTerrain:: - attackcanceler - accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG - setterrain BattleScript_TryFaint - playanimation BS_ATTACKER, B_ANIM_RESTORE_BG - printfromtable gTerrainStringIds - waitmessage B_WAIT_TIME_LONG -BattleScript_TryFaint: - tryfaintmon BS_TARGET - goto BattleScript_MoveEnd - BattleScript_RemoveTerrain:: removeterrain playanimation BS_ATTACKER, B_ANIM_RESTORE_BG diff --git a/include/battle_scripts.h b/include/battle_scripts.h index d179ad880c..a0d99d9de3 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -815,7 +815,6 @@ extern const u8 BattleScript_EffectSkyDrop[]; extern const u8 BattleScript_EffectMeteorBeam[]; extern const u8 BattleScript_EffectCourtChange[]; extern const u8 BattleScript_EffectExtremeEvoboost[]; -extern const u8 BattleScript_EffectHitSetTerrain[]; extern const u8 BattleScript_EffectDarkVoid[]; extern const u8 BattleScript_EffectVictoryDance[]; extern const u8 BattleScript_EffectTeatime[]; diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 2ddb75adf6..5727187a3f 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -311,7 +311,6 @@ enum __attribute__((packed)) BattleMoveEffects EFFECT_MAX_HP_50_RECOIL, EFFECT_CHLOROBLAST, // Same effect as EFFECT_MAX_HP_50_RECOIL but follows the same rules as EFFECT_RECOIL EFFECT_EXTREME_EVOBOOST, - EFFECT_HIT_SET_TERRAIN, EFFECT_DARK_VOID, EFFECT_VICTORY_DANCE, EFFECT_TEATIME, diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index fedc5cfe73..2f05de63d0 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -15052,10 +15052,6 @@ void BS_SetTerrain(void) statusFlag = STATUS_FIELD_PSYCHIC_TERRAIN; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TERRAIN_SET_PSYCHIC; break; - case EFFECT_HIT_SET_TERRAIN: - statusFlag = GetMoveTerrainFlag(gCurrentMove); - gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TERRAIN_SET_PSYCHIC; - break; default: break; } diff --git a/src/data/battle_move_effects.h b/src/data/battle_move_effects.h index 094f2c7dfe..425da7ba6d 100644 --- a/src/data/battle_move_effects.h +++ b/src/data/battle_move_effects.h @@ -1984,12 +1984,6 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = .battleTvScore = 0, // TODO: Assign points }, - [EFFECT_HIT_SET_TERRAIN] = - { - .battleScript = BattleScript_EffectHitSetTerrain, - .battleTvScore = 0, // TODO: Assign points - }, - [EFFECT_DARK_VOID] = { .battleScript = BattleScript_EffectDarkVoid, diff --git a/src/data/moves_info.h b/src/data/moves_info.h index fb5dbeb3e9..ed4097ab81 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -21508,7 +21508,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = .description = COMPOUND_STRING( "Mew attacks with full force.\n" "Psychically charges terrain."), - .effect = EFFECT_HIT_SET_TERRAIN, + .effect = EFFECT_HIT, .power = 185, .type = TYPE_PSYCHIC, .accuracy = 0, @@ -21516,8 +21516,11 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .argument = { .moveProperty = STATUS_FIELD_PSYCHIC_TERRAIN }, .battleAnimScript = gBattleAnimMove_GenesisSupernova, + .additionalEffects = ADDITIONAL_EFFECTS({ + .moveEffect = MOVE_EFFECT_PSYCHIC_TERRAIN, + .chance = 100, + }), }, [MOVE_SINISTER_ARROW_RAID] = { diff --git a/test/battle/gimmick/zmove.c b/test/battle/gimmick/zmove.c index 2495ec0b60..29538891ef 100644 --- a/test/battle/gimmick/zmove.c +++ b/test/battle/gimmick/zmove.c @@ -579,7 +579,7 @@ SINGLE_BATTLE_TEST("(Z-MOVE) Extreme Evoboost boosts all the user's stats by two SINGLE_BATTLE_TEST("(Z-MOVE) Genesis Supernova sets up psychic terrain") { GIVEN { - ASSUME(GetMoveEffect(MOVE_GENESIS_SUPERNOVA) == EFFECT_HIT_SET_TERRAIN); + ASSUME(MoveHasAdditionalEffect(MOVE_GENESIS_SUPERNOVA, MOVE_EFFECT_PSYCHIC_TERRAIN)); PLAYER(SPECIES_MEW) { Item(ITEM_MEWNIUM_Z); } OPPONENT(SPECIES_WOBBUFFET); } WHEN {