From 3f7e6e9fe01133c6dd76f8a40c9276b3f331e156 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 23 Jul 2018 22:43:05 +0200 Subject: [PATCH] Add U-turn effect --- data/battle_scripts_1.s | 45 +++++++++++++++++++++++-- include/constants/battle_move_effects.h | 2 +- include/data/battle_moves.h | 4 +-- 3 files changed, 46 insertions(+), 5 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 4033aad49..34921fd23 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -214,7 +214,7 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectSecretPower .4byte BattleScript_EffectDoubleEdge .4byte BattleScript_EffectTeeterDance - .4byte BattleScript_EffectPlaceholder200 + .4byte BattleScript_EffectHitEscape .4byte BattleScript_EffectMudSport .4byte BattleScript_EffectPoisonFang .4byte BattleScript_EffectWeatherBall @@ -493,6 +493,48 @@ BattleScript_EffectCaptivate: BattleScript_CaptivateCheckAcc: accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE goto BattleScript_StatDownFromAttackString + +BattleScript_EffectHitEscape: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + critcalc + damagecalc + adjustdamage + attackanimation + waitanimation + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage 0x40 + resultmessage + waitmessage 0x40 + jumpifmovehadnoeffect BattleScript_MoveEnd + seteffectwithchance + tryfaintmon BS_TARGET, FALSE, NULL + setbyte sMOVEEND_STATE, 0x0 + moveend 0x0, 0x0 + atk24 BattleScript_HitEscapeEnd + jumpifbyte CMP_NOT_EQUAL gBattleOutcome 0 BattleScript_HitEscapeEnd + jumpifcantswitch ATK4F_DONT_CHECK_STATUSES | BS_ATTACKER, BattleScript_HitEscapeEnd + openpartyscreen 0x1, BattleScript_HitEscapeEnd + switchoutabilities BS_ATTACKER + waitstate + switchhandleorder BS_ATTACKER, 0x2 + returntoball BS_ATTACKER + getswitchedmondata BS_ATTACKER + switchindataupdate BS_ATTACKER + hpthresholds BS_ATTACKER + printstring STRINGID_SWITCHINMON + switchinanim BS_ATTACKER, TRUE + waitstate + switchineffects BS_ATTACKER +BattleScript_HitEscapeEnd: + end BattleScript_EffectAlwaysHit: BattleScript_EffectPlaceholder43: @@ -504,7 +546,6 @@ BattleScript_EffectAlwaysCrit: BattleScript_EffectUnused6e: BattleScript_EffectPursuit: BattleScript_EffectUnused8d: -BattleScript_EffectPlaceholder200: BattleScript_EffectPlaceholder209: BattleScript_EffectHit:: BattleScript_EffectLowKick: diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index cedebfe85..0924d6576 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -201,7 +201,7 @@ #define EFFECT_SECRET_POWER 197 #define EFFECT_DOUBLE_EDGE 198 #define EFFECT_TEETER_DANCE 199 -#define EFFECT_PLACEHOLDER_200 200 +#define EFFECT_HIT_ESCAPE 200 #define EFFECT_MUD_SPORT 201 #define EFFECT_POISON_FANG 202 #define EFFECT_WEATHER_BALL 203 diff --git a/include/data/battle_moves.h b/include/data/battle_moves.h index 6ec868467..3d33820c7 100644 --- a/include/data/battle_moves.h +++ b/include/data/battle_moves.h @@ -4432,7 +4432,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_GEN6] = .split = SPLIT_PHYSICAL, }, { // MOVE_U_TURN - .effect = EFFECT_PLACEHOLDER_209, + .effect = EFFECT_HIT_ESCAPE, .power = 70, .type = TYPE_BUG, .accuracy = 100, @@ -6256,7 +6256,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_GEN6] = .split = SPLIT_SPECIAL, }, { // MOVE_VOLT_SWITCH - .effect = EFFECT_PLACEHOLDER_209, + .effect = EFFECT_HIT_ESCAPE, .power = 70, .type = TYPE_ELECTRIC, .accuracy = 100,