From edf4e45c4dae0d7906451d0ce35d6a904cd923c5 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 3 Nov 2022 21:36:12 -0300 Subject: [PATCH] Config for Dark Void being only usable by Darkrai --- data/battle_scripts_1.s | 22 ++++++++++++++++------ include/constants/battle_config.h | 1 + include/constants/battle_move_effects.h | 1 + src/data/battle_moves.h | 2 +- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index f213b52e1..5709de939 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -411,6 +411,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectSteelBeam @ EFFECT_STEEL_BEAM .4byte BattleScript_EffectExtremeEvoboost @ EFFECT_EXTREME_EVOBOOST .4byte BattleScript_EffectTerrainHit @ EFFECT_DAMAGE_SET_TERRAIN + .4byte BattleScript_EffectDarkVoid @ EFFECT_DARK_VOID BattleScript_AffectionBasedEndurance:: playanimation BS_TARGET, B_ANIM_AFFECTION_HANGED_ON @@ -775,9 +776,7 @@ BattleScript_EffectPhotonGeyser: BattleScript_EffectAuraWheel: @ Aura Wheel can only be used by Morpeko jumpifspecies BS_ATTACKER, SPECIES_MORPEKO, BattleScript_EffectSpeedUpHit jumpifspecies BS_ATTACKER, SPECIES_MORPEKO_HANGRY, BattleScript_EffectSpeedUpHit - printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE - waitmessage B_WAIT_TIME_LONG - goto BattleScript_MoveEnd + goto BattleScript_PokemonCantUseTheMove BattleScript_EffectClangorousSoul: attackcanceler @@ -889,9 +888,7 @@ BattleScript_BothCanNoLongerEscape:: BattleScript_EffectHyperspaceFury: jumpifspecies BS_ATTACKER, SPECIES_HOOPA_UNBOUND, BattleScript_EffectHyperspaceFuryUnbound jumpifspecies BS_ATTACKER, SPECIES_HOOPA, BattleScript_ButHoopaCantUseIt - printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE - waitmessage B_WAIT_TIME_LONG - goto BattleScript_MoveEnd + goto BattleScript_PokemonCantUseTheMove BattleScript_EffectHyperspaceFuryUnbound:: attackcanceler @@ -3020,6 +3017,11 @@ BattleScript_MoveMissed:: waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd +BattleScript_EffectDarkVoid:: +.if B_DARK_VOID_FAIL >= GEN_7 + jumpifspecies BS_ATTACKER, SPECIES_DARKRAI, BattleScript_EffectSleep + goto BattleScript_PokemonCantUseTheMove +.endif BattleScript_EffectSleep:: attackcanceler attackstring @@ -9783,3 +9785,11 @@ BattleScript_TargetAbilityStatRaiseRet:: call BattleScript_StatUp BattleScript_TargetAbilityStatRaiseRet_End: return + +BattleScript_PokemonCantUseTheMove:: + attackstring + ppreduce + pause B_WAIT_TIME_SHORT + printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE + waitmessage B_WAIT_TIME_LONG + goto BattleScript_MoveEnd diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index aee3b78a0..956ee1601 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -91,6 +91,7 @@ #define B_METRONOME_MOVES GEN_LATEST // This config will determine up to which generation will Metronome pull moves from. #define B_TELEPORT_BEHAVIOR GEN_LATEST // In Gen7+, starting with Pokémon LGPE, Teleport allows the user to swap out with another party member. #define B_BEAT_UP GEN_LATEST // In Gen5+, Beat Up uses a different formula to calculate its damage, and deals Dark-type damage. Prior to Gen 5, each hit also announces the party member's name. +#define B_DARK_VOID_FAIL GEN_LATEST // In Gen7+, only Darkrai can use Dark Void. // Ability settings #define B_EXPANDED_ABILITY_NAMES TRUE // If TRUE, ability names are increased from 12 characters to 16 characters. diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index c941f1f92..d38e7108d 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -392,6 +392,7 @@ #define EFFECT_STEEL_BEAM 386 #define EFFECT_EXTREME_EVOBOOST 387 #define EFFECT_DAMAGE_SET_TERRAIN 388 // genesis supernova +#define EFFECT_DARK_VOID 389 #define NUM_BATTLE_MOVE_EFFECTS 389 diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index dfdd627a3..346309c55 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -8339,7 +8339,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .accuracy = 80, #endif - .effect = EFFECT_SLEEP, + .effect = EFFECT_DARK_VOID, .power = 0, .type = TYPE_DARK, .pp = 10,