2-Turn moves + unique moves with secondary effects

Two turn moves (Bounce, Freeze Shock, Sky Attack, Shadow/Phantom Force), Dire Claw, Stone Axe, Ceaseless Edge, Wicked Torque, Relic Song, Fake Out,
This commit is contained in:
Nephrite 2023-11-25 23:56:17 +09:00
parent 0e23160f2e
commit 4058d16f2f
9 changed files with 145 additions and 158 deletions

View File

@ -1821,10 +1821,6 @@
various \battler, VARIOUS_POWER_TRICK
.endm
.macro argumenttomoveeffect
various BS_ATTACKER, VARIOUS_ARGUMENT_TO_MOVE_EFFECT
.endm
.macro jumpifnotgrounded battler:req, jumpInstr:req
various \battler, VARIOUS_JUMP_IF_NOT_GROUNDED
.4byte \jumpInstr

View File

@ -53,7 +53,7 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectRoar @ EFFECT_ROAR
.4byte BattleScript_EffectHit @ EFFECT_MULTI_HIT
.4byte BattleScript_EffectConversion @ EFFECT_CONVERSION
.4byte BattleScript_EffectFlinchHit @ EFFECT_FLINCH_HIT
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_31
.4byte BattleScript_EffectRestoreHp @ EFFECT_RESTORE_HP
.4byte BattleScript_EffectToxic @ EFFECT_TOXIC
.4byte BattleScript_EffectPayDay @ EFFECT_PAY_DAY
@ -406,7 +406,7 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectExtremeEvoboost @ EFFECT_EXTREME_EVOBOOST
.4byte BattleScript_EffectHitSetRemoveTerrain @ EFFECT_HIT_SET_REMOVE_TERRAIN
.4byte BattleScript_EffectDarkVoid @ EFFECT_DARK_VOID
.4byte BattleScript_EffectSleepHit @ EFFECT_SLEEP_HIT
.4byte BattleScript_EffectHit @ EFFET_UNUSED_384
.4byte BattleScript_EffectDoubleShock @ EFFECT_DOUBLE_SHOCK
.4byte BattleScript_EffectSpecialAttackUpHit @ EFFECT_SPECIAL_ATTACK_UP_HIT
.4byte BattleScript_EffectVictoryDance @ EFFECT_VICTORY_DANCE
@ -415,8 +415,8 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectShellTrap @ EFFECT_SHELL_TRAP
.4byte BattleScript_EffectHit @ EFFECT_PSYBLADE
.4byte BattleScript_EffectHit @ EFFECT_HYDRO_STEAM
.4byte BattleScript_EffectHitSetEntryHazard @ EFFECT_HIT_SET_ENTRY_HAZARD
.4byte BattleScript_EffectDireClaw @ EFFECT_DIRE_CLAW
.4byte BattleScript_EffectHit @ EFFECT_HIT_SET_ENTRY_HAZARD
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_394
.4byte BattleScript_EffectHit @ EFFECT_BARB_BARRAGE
.4byte BattleScript_EffectRevivalBlessing @ EFFECT_REVIVAL_BLESSING
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_397
@ -426,7 +426,7 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectTakeHeart @ EFFECT_TAKE_HEART
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_402
.4byte BattleScript_EffectHit @ EFFECT_COLLISION_COURSE
.4byte BattleScript_EffectHit @ EFFECT_HIT_404
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_404
.4byte BattleScript_EffectMakeItRain @ EFFECT_MAKE_IT_RAIN
.4byte BattleScript_EffectCorrosiveGas @ EFFECT_CORROSIVE_GAS
.4byte BattleScript_EffectHit @ EFFECT_POPULATION_BOMB
@ -563,14 +563,6 @@ BattleScript_StealthRockActivates::
waitmessage B_WAIT_TIME_LONG
return
BattleScript_EffectDireClaw::
setmoveeffect MOVE_EFFECT_DIRE_CLAW
goto BattleScript_EffectHit
BattleScript_EffectHitSetEntryHazard::
argumenttomoveeffect
goto BattleScript_EffectHit
BattleScript_SpikesActivates::
trysetspikes BattleScript_MoveEnd
printfromtable gDmgHazardsStringIds
@ -862,7 +854,6 @@ BattleScript_SkyDropTurn2:
setbyte sB_ANIM_TURN, 0x1
clearstatusfromeffect BS_ATTACKER
orword gHitMarker, HITMARKER_NO_PPDEDUCT
argumenttomoveeffect
clearsemiinvulnerablebit
attackstring
clearskydrop BattleScript_SkyDropChangedTarget
@ -1315,7 +1306,6 @@ BattleScript_NoMoveEffect:
goto BattleScript_EffectHit
BattleScript_EffectRelicSong:
setmoveeffect MOVE_EFFECT_SLEEP
call BattleScript_EffectHit_Ret
tryfaintmon BS_TARGET
moveendall
@ -3343,10 +3333,6 @@ BattleScript_AbsorbHealBlock::
tryfaintmon BS_TARGET
goto BattleScript_MoveEnd
BattleScript_EffectSleepHit::
setmoveeffect MOVE_EFFECT_SLEEP
goto BattleScript_EffectHit
BattleScript_EffectExplosion_AnimDmgRet:
jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_ExplosionAnimRet
call BattleScript_PreserveMissedBitDoMoveAnim
@ -3730,10 +3716,6 @@ BattleScript_EffectConversion::
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
BattleScript_EffectFlinchHit::
setmoveeffect MOVE_EFFECT_FLINCH
goto BattleScript_EffectHit
BattleScript_EffectRestoreHp::
attackcanceler
attackstring
@ -3873,7 +3855,6 @@ BattleScript_TwoTurnMovesSecondTurn::
setbyte sB_ANIM_TURN, 1
clearstatusfromeffect BS_ATTACKER
orword gHitMarker, HITMARKER_NO_PPDEDUCT
argumenttomoveeffect
goto BattleScript_HitFromAccCheck
BattleScriptFirstChargingTurn::
@ -5307,7 +5288,6 @@ BattleScript_SecondTurnSemiInvulnerable::
setbyte sB_ANIM_TURN, 1
clearstatusfromeffect BS_ATTACKER
orword gHitMarker, HITMARKER_NO_PPDEDUCT
argumenttomoveeffect
BattleScript_SemiInvulnerableTryHit::
accuracycheck BattleScript_SemiInvulnerableMiss, ACC_CURR_MOVE
clearsemiinvulnerablebit
@ -5354,7 +5334,6 @@ BattleScript_AlreadyAtFullHp::
BattleScript_EffectFakeOut::
attackcanceler
jumpifnotfirstturn BattleScript_FailedFromAtkString
setmoveeffect MOVE_EFFECT_FLINCH
goto BattleScript_EffectHit
BattleScript_FailedFromAtkCanceler::

View File

@ -32,7 +32,7 @@
#define EFFECT_ROAR 28
#define EFFECT_MULTI_HIT 29
#define EFFECT_CONVERSION 30
#define EFFECT_FLINCH_HIT 31
#define EFFECT_UNUSED_31 31
#define EFFECT_RESTORE_HP 32
#define EFFECT_TOXIC 33
#define EFFECT_PAY_DAY 34
@ -387,7 +387,7 @@
#define EFFECT_EXTREME_EVOBOOST 381
#define EFFECT_HIT_SET_REMOVE_TERRAIN 382 // genesis supernova
#define EFFECT_DARK_VOID 383
#define EFFECT_SLEEP_HIT 384
#define EFFET_UNUSED_384 384
#define EFFECT_DOUBLE_SHOCK 385
#define EFFECT_SPECIAL_ATTACK_UP_HIT 386
#define EFFECT_VICTORY_DANCE 387
@ -397,7 +397,7 @@
#define EFFECT_PSYBLADE 391
#define EFFECT_HYDRO_STEAM 392
#define EFFECT_HIT_SET_ENTRY_HAZARD 393
#define EFFECT_DIRE_CLAW 394
#define EFFECT_UNUSED_394 394
#define EFFECT_BARB_BARRAGE 395
#define EFFECT_REVIVAL_BLESSING 396
#define EFFECT_UNUSED_397 397
@ -407,7 +407,7 @@
#define EFFECT_TAKE_HEART 401
#define EFFECT_UNUSED_402 402
#define EFFECT_COLLISION_COURSE 403
#define EFFECT_HIT_404 404
#define EFFECT_UNUSED_404 404
#define EFFECT_MAKE_IT_RAIN 405
#define EFFECT_CORROSIVE_GAS 406
#define EFFECT_POPULATION_BOMB 407

View File

@ -154,99 +154,97 @@
#define VARIOUS_POWER_TRICK 62
#define VARIOUS_AFTER_YOU 63
#define VARIOUS_BESTOW 64
#define VARIOUS_ARGUMENT_TO_MOVE_EFFECT 65
#define VARIOUS_JUMP_IF_NOT_GROUNDED 66
#define VARIOUS_HANDLE_TRAINER_SLIDE_MSG 67
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_FIRST_OFF 68
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_LAST_ON 69
#define VARIOUS_SET_AURORA_VEIL 70
#define VARIOUS_TRY_THIRD_TYPE 71
#define VARIOUS_ACUPRESSURE 72
#define VARIOUS_SET_POWDER 73
#define VARIOUS_SPECTRAL_THIEF 74
#define VARIOUS_GRAVITY_ON_AIRBORNE_MONS 75
#define VARIOUS_CHECK_IF_GRASSY_TERRAIN_HEALS 76
#define VARIOUS_JUMP_IF_ROAR_FAILS 77
#define VARIOUS_TRY_INSTRUCT 78
#define VARIOUS_JUMP_IF_NOT_BERRY 79
#define VARIOUS_TRACE_ABILITY 80
#define VARIOUS_UPDATE_NICK 81
#define VARIOUS_TRY_ILLUSION_OFF 82
#define VARIOUS_SET_SPRITEIGNORE0HP 83
#define VARIOUS_HANDLE_FORM_CHANGE 84
#define VARIOUS_GET_STAT_VALUE 85
#define VARIOUS_JUMP_IF_FULL_HP 86
#define VARIOUS_LOSE_TYPE 87
#define VARIOUS_TRY_ACTIVATE_SOULHEART 88
#define VARIOUS_TRY_ACTIVATE_RECEIVER 89
#define VARIOUS_TRY_ACTIVATE_BEAST_BOOST 90
#define VARIOUS_TRY_FRISK 91
#define VARIOUS_JUMP_IF_SHIELDS_DOWN_PROTECTED 92
#define VARIOUS_TRY_FAIRY_LOCK 93
#define VARIOUS_JUMP_IF_NO_ALLY 94
#define VARIOUS_POISON_TYPE_IMMUNITY 95
#define VARIOUS_JUMP_IF_NO_HOLD_EFFECT 96
#define VARIOUS_INFATUATE_WITH_BATTLER 97
#define VARIOUS_SET_LAST_USED_ITEM 98
#define VARIOUS_PARALYZE_TYPE_IMMUNITY 99
#define VARIOUS_JUMP_IF_ABSENT 100
#define VARIOUS_DESTROY_ABILITY_POPUP 101
#define VARIOUS_TOTEM_BOOST 102
#define VARIOUS_TRY_ACTIVATE_GRIM_NEIGH 103
#define VARIOUS_MOVEEND_ITEM_EFFECTS 104
#define VARIOUS_TERRAIN_SEED 105
#define VARIOUS_MAKE_INVISIBLE 106
#define VARIOUS_ROOM_SERVICE 107
#define VARIOUS_EERIE_SPELL_PP_REDUCE 108
#define VARIOUS_JUMP_IF_TEAM_HEALTHY 109
#define VARIOUS_TRY_HEAL_QUARTER_HP 110
#define VARIOUS_REMOVE_TERRAIN 111
#define VARIOUS_JUMP_IF_PRANKSTER_BLOCKED 112
#define VARIOUS_TRY_TO_CLEAR_PRIMAL_WEATHER 113
#define VARIOUS_GET_ROTOTILLER_TARGETS 114
#define VARIOUS_JUMP_IF_NOT_ROTOTILLER_AFFECTED 115
#define VARIOUS_TRY_ACTIVATE_BATTLE_BOND 116
#define VARIOUS_CONSUME_BERRY 117
#define VARIOUS_JUMP_IF_CANT_REVERT_TO_PRIMAL 118
#define VARIOUS_JUMP_IF_SPECIES 119
#define VARIOUS_UPDATE_ABILITY_POPUP 120
#define VARIOUS_JUMP_IF_WEATHER_AFFECTED 121
#define VARIOUS_JUMP_IF_LEAF_GUARD_PROTECTED 122
#define VARIOUS_SET_ATTACKER_STICKY_WEB_USER 123
#define VARIOUS_PHOTON_GEYSER_CHECK 124
#define VARIOUS_SHELL_SIDE_ARM_CHECK 125
#define VARIOUS_TRY_NO_RETREAT 126
#define VARIOUS_TRY_TAR_SHOT 127
#define VARIOUS_CAN_TAR_SHOT_WORK 128
#define VARIOUS_CHECK_POLTERGEIST 129
#define VARIOUS_CUT_1_3_HP_RAISE_STATS 130
#define VARIOUS_TRY_END_NEUTRALIZING_GAS 131
#define VARIOUS_JUMP_IF_UNDER_200 132
#define VARIOUS_SET_SKY_DROP 133
#define VARIOUS_CLEAR_SKY_DROP 134
#define VARIOUS_SKY_DROP_YAWN 135
#define VARIOUS_JUMP_IF_HOLD_EFFECT 136
#define VARIOUS_CURE_CERTAIN_STATUSES 137
#define VARIOUS_TRY_RESET_NEGATIVE_STAT_STAGES 138
#define VARIOUS_JUMP_IF_LAST_USED_ITEM_BERRY 139
#define VARIOUS_JUMP_IF_LAST_USED_ITEM_HOLD_EFFECT 140
#define VARIOUS_SAVE_BATTLER_ITEM 141
#define VARIOUS_RESTORE_BATTLER_ITEM 142
#define VARIOUS_BATTLER_ITEM_TO_LAST_USED_ITEM 143
#define VARIOUS_SET_BEAK_BLAST 144
#define VARIOUS_SWAP_SIDE_STATUSES 145
#define VARIOUS_SWAP_STATS 146
#define VARIOUS_TEATIME_INVUL 147
#define VARIOUS_TEATIME_TARGETS 148
#define VARIOUS_TRY_WIND_RIDER_POWER 149
#define VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES 150
#define VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES 151
#define VARIOUS_STORE_HEALING_WISH 152
#define VARIOUS_HIT_SWITCH_TARGET_FAILED 153
#define VARIOUS_TRY_REVIVAL_BLESSING 154
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_Z_MOVE 155
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_MEGA_EVOLUTION 156
#define VARIOUS_JUMP_IF_NOT_GROUNDED 65
#define VARIOUS_HANDLE_TRAINER_SLIDE_MSG 66
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_FIRST_OFF 67
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_LAST_ON 68
#define VARIOUS_SET_AURORA_VEIL 69
#define VARIOUS_TRY_THIRD_TYPE 70
#define VARIOUS_ACUPRESSURE 71
#define VARIOUS_SET_POWDER 72
#define VARIOUS_SPECTRAL_THIEF 73
#define VARIOUS_GRAVITY_ON_AIRBORNE_MONS 74
#define VARIOUS_CHECK_IF_GRASSY_TERRAIN_HEALS 75
#define VARIOUS_JUMP_IF_ROAR_FAILS 76
#define VARIOUS_TRY_INSTRUCT 77
#define VARIOUS_JUMP_IF_NOT_BERRY 78
#define VARIOUS_TRACE_ABILITY 79
#define VARIOUS_UPDATE_NICK 80
#define VARIOUS_TRY_ILLUSION_OFF 81
#define VARIOUS_SET_SPRITEIGNORE0HP 82
#define VARIOUS_HANDLE_FORM_CHANGE 83
#define VARIOUS_GET_STAT_VALUE 84
#define VARIOUS_JUMP_IF_FULL_HP 85
#define VARIOUS_LOSE_TYPE 86
#define VARIOUS_TRY_ACTIVATE_SOULHEART 87
#define VARIOUS_TRY_ACTIVATE_RECEIVER 88
#define VARIOUS_TRY_ACTIVATE_BEAST_BOOST 89
#define VARIOUS_TRY_FRISK 90
#define VARIOUS_JUMP_IF_SHIELDS_DOWN_PROTECTED 91
#define VARIOUS_TRY_FAIRY_LOCK 92
#define VARIOUS_JUMP_IF_NO_ALLY 93
#define VARIOUS_POISON_TYPE_IMMUNITY 94
#define VARIOUS_JUMP_IF_NO_HOLD_EFFECT 95
#define VARIOUS_INFATUATE_WITH_BATTLER 96
#define VARIOUS_SET_LAST_USED_ITEM 97
#define VARIOUS_PARALYZE_TYPE_IMMUNITY 98
#define VARIOUS_JUMP_IF_ABSENT 99
#define VARIOUS_DESTROY_ABILITY_POPUP 100
#define VARIOUS_TOTEM_BOOST 101
#define VARIOUS_TRY_ACTIVATE_GRIM_NEIGH 102
#define VARIOUS_MOVEEND_ITEM_EFFECTS 103
#define VARIOUS_TERRAIN_SEED 104
#define VARIOUS_MAKE_INVISIBLE 105
#define VARIOUS_ROOM_SERVICE 106
#define VARIOUS_EERIE_SPELL_PP_REDUCE 107
#define VARIOUS_JUMP_IF_TEAM_HEALTHY 108
#define VARIOUS_TRY_HEAL_QUARTER_HP 109
#define VARIOUS_REMOVE_TERRAIN 110
#define VARIOUS_JUMP_IF_PRANKSTER_BLOCKED 111
#define VARIOUS_TRY_TO_CLEAR_PRIMAL_WEATHER 112
#define VARIOUS_GET_ROTOTILLER_TARGETS 113
#define VARIOUS_JUMP_IF_NOT_ROTOTILLER_AFFECTED 114
#define VARIOUS_TRY_ACTIVATE_BATTLE_BOND 115
#define VARIOUS_CONSUME_BERRY 116
#define VARIOUS_JUMP_IF_CANT_REVERT_TO_PRIMAL 117
#define VARIOUS_JUMP_IF_SPECIES 118
#define VARIOUS_UPDATE_ABILITY_POPUP 119
#define VARIOUS_JUMP_IF_WEATHER_AFFECTED 120
#define VARIOUS_JUMP_IF_LEAF_GUARD_PROTECTED 121
#define VARIOUS_SET_ATTACKER_STICKY_WEB_USER 122
#define VARIOUS_PHOTON_GEYSER_CHECK 123
#define VARIOUS_SHELL_SIDE_ARM_CHECK 124
#define VARIOUS_TRY_NO_RETREAT 125
#define VARIOUS_TRY_TAR_SHOT 126
#define VARIOUS_CAN_TAR_SHOT_WORK 127
#define VARIOUS_CHECK_POLTERGEIST 128
#define VARIOUS_CUT_1_3_HP_RAISE_STATS 129
#define VARIOUS_TRY_END_NEUTRALIZING_GAS 130
#define VARIOUS_JUMP_IF_UNDER_200 131
#define VARIOUS_SET_SKY_DROP 132
#define VARIOUS_CLEAR_SKY_DROP 133
#define VARIOUS_SKY_DROP_YAWN 134
#define VARIOUS_JUMP_IF_HOLD_EFFECT 135
#define VARIOUS_CURE_CERTAIN_STATUSES 136
#define VARIOUS_TRY_RESET_NEGATIVE_STAT_STAGES 137
#define VARIOUS_JUMP_IF_LAST_USED_ITEM_BERRY 138
#define VARIOUS_JUMP_IF_LAST_USED_ITEM_HOLD_EFFECT 139
#define VARIOUS_SAVE_BATTLER_ITEM 140
#define VARIOUS_RESTORE_BATTLER_ITEM 141
#define VARIOUS_BATTLER_ITEM_TO_LAST_USED_ITEM 142
#define VARIOUS_SET_BEAK_BLAST 143
#define VARIOUS_SWAP_SIDE_STATUSES 144
#define VARIOUS_SWAP_STATS 145
#define VARIOUS_TEATIME_INVUL 146
#define VARIOUS_TEATIME_TARGETS 147
#define VARIOUS_TRY_WIND_RIDER_POWER 148
#define VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES 149
#define VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES 150
#define VARIOUS_STORE_HEALING_WISH 151
#define VARIOUS_HIT_SWITCH_TARGET_FAILED 152
#define VARIOUS_TRY_REVIVAL_BLESSING 153
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_Z_MOVE 154
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_MEGA_EVOLUTION 155
// Cmd_manipulatedamage
#define DMG_CHANGE_SIGN 0

View File

@ -3584,6 +3584,8 @@ void SetMoveEffect(bool32 primary, u32 certain)
gBattleScripting.moveEffect = RandomElement(RNG_DIRE_CLAW, sDireClawEffects);
SetMoveEffect(TRUE, 0);
}
else
gBattlescriptCurrInstr++;
break;
case MOVE_EFFECT_STEALTH_ROCK:
if (!(gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_STEALTH_ROCK))
@ -3592,6 +3594,8 @@ void SetMoveEffect(bool32 primary, u32 certain)
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_StealthRockActivates;
}
else
gBattlescriptCurrInstr++;
break;
case MOVE_EFFECT_SPIKES:
if (gSideTimers[GetBattlerSide(gEffectBattler)].spikesAmount < 3)
@ -3600,6 +3604,8 @@ void SetMoveEffect(bool32 primary, u32 certain)
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_SpikesActivates;
}
else
gBattlescriptCurrInstr++;
break;
case MOVE_EFFECT_SYRUP_BOMB:
if (!(gStatuses4[gEffectBattler] & STATUS4_SYRUP_BOMB))
@ -9714,12 +9720,6 @@ static void Cmd_various(void)
}
return;
}
case VARIOUS_ARGUMENT_TO_MOVE_EFFECT:
{
VARIOUS_ARGS();
gBattleScripting.moveEffect = gBattleMoves[gCurrentMove].argument;
break;
}
case VARIOUS_JUMP_IF_NOT_GROUNDED:
{
VARIOUS_ARGS(const u8 *jumpInstr);

View File

@ -463,7 +463,6 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] =
[EFFECT_EXTREME_EVOBOOST] = 0, // TODO: Assign points
[EFFECT_HIT_SET_REMOVE_TERRAIN] = 0, // TODO: Assign points
[EFFECT_DARK_VOID] = 0, // TODO: Assign points
[EFFECT_SLEEP_HIT] = 1,
[EFFECT_DOUBLE_SHOCK] = 0, // TODO: Assign points
[EFFECT_SPECIAL_ATTACK_UP_HIT] = 1,
[EFFECT_VICTORY_DANCE] = 0, // TODO: Assign points

View File

@ -526,7 +526,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.sheerForceBoost = TRUE,
ADDITIONAL_EFFECTS(
SECONDARY_EFFECT(MOVE_EFFECT_FLINCH, 30)
)
),
},
[MOVE_HORN_ATTACK] =
@ -2566,16 +2566,17 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_FLYING,
.accuracy = 90,
.pp = 5,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.split = SPLIT_PHYSICAL,
.argument = MOVE_EFFECT_FLINCH,
.zMoveEffect = Z_EFFECT_NONE,
.twoTurnMove = TRUE,
.sheerForceBoost = TRUE,
.sleepTalkBanned = TRUE,
.instructBanned = TRUE,
ADDITIONAL_EFFECTS(
SECONDARY_EFFECT(MOVE_EFFECT_FLINCH, 30)
),
},
[MOVE_TRANSFORM] =
@ -4571,11 +4572,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.split = SPLIT_PHYSICAL,
.zMoveEffect = Z_EFFECT_NONE,
.sheerForceBoost = TRUE,
ADDITIONAL_EFFECTS(
SECONDARY_EFFECT(MOVE_EFFECT_FLINCH, 100)
),
},
[MOVE_UPROAR] =
@ -6120,11 +6123,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_FLYING,
.accuracy = 85,
.pp = 5,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.split = SPLIT_PHYSICAL,
.argument = MOVE_EFFECT_PARALYSIS,
.zMoveEffect = Z_EFFECT_NONE,
.twoTurnMove = TRUE,
.makesContact = TRUE,
@ -6133,6 +6134,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.sleepTalkBanned = TRUE,
.instructBanned = TRUE,
.assistBanned = TRUE,
ADDITIONAL_EFFECTS(
SECONDARY_EFFECT(MOVE_EFFECT_PARALYSIS, 30)
),
},
[MOVE_MUD_SHOT] =
@ -8314,19 +8318,20 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_GHOST,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.split = SPLIT_PHYSICAL,
.zMoveEffect = Z_EFFECT_NONE,
.makesContact = TRUE,
.argument = MOVE_EFFECT_FEINT,
.twoTurnMove = TRUE,
.ignoresProtect = TRUE,
.minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS == GEN_6,
.sleepTalkBanned = TRUE,
.instructBanned = TRUE,
.assistBanned = TRUE,
ADDITIONAL_EFFECTS(
PRIMARY_EFFECT(MOVE_EFFECT_FEINT)
),
},
[MOVE_HONE_CLAWS] =
@ -9668,7 +9673,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.split = SPLIT_SPECIAL,
@ -9677,6 +9681,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
.soundMove = TRUE,
.metronomeBanned = TRUE,
ADDITIONAL_EFFECTS(
SECONDARY_EFFECT(MOVE_EFFECT_SLEEP, 10)
),
},
[MOVE_SECRET_SWORD] =
@ -9768,17 +9775,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_ICE,
.accuracy = 90,
.pp = 5,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.split = SPLIT_PHYSICAL,
.argument = MOVE_EFFECT_PARALYSIS,
.zMoveEffect = Z_EFFECT_NONE,
.twoTurnMove = TRUE,
.sheerForceBoost = TRUE,
.metronomeBanned = TRUE,
.sleepTalkBanned = TRUE,
.instructBanned = TRUE,
ADDITIONAL_EFFECTS(
SECONDARY_EFFECT(MOVE_EFFECT_PARALYSIS, 30)
),
},
[MOVE_ICE_BURN] =
@ -10006,11 +10014,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_GHOST,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.split = SPLIT_PHYSICAL,
.argument = MOVE_EFFECT_FEINT,
.zMoveEffect = Z_EFFECT_NONE,
.twoTurnMove = TRUE,
.ignoresProtect = TRUE,
@ -10019,6 +10025,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.sleepTalkBanned = TRUE,
.instructBanned = TRUE,
.assistBanned = TRUE,
ADDITIONAL_EFFECTS(
PRIMARY_EFFECT(MOVE_EFFECT_FEINT)
),
},
[MOVE_TRICK_OR_TREAT] =
@ -12754,7 +12763,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_DRAGON,
.accuracy = 90,
.pp = 20,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.split = SPLIT_PHYSICAL,
@ -13133,7 +13141,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.metronomeBanned = TRUE,
ADDITIONAL_EFFECTS(
SECONDARY_EFFECT(MOVE_EFFECT_FLINCH, 20)
)
),
},
[MOVE_THUNDEROUS_KICK] =
@ -13211,17 +13219,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
#else
.power = 60,
#endif
.effect = EFFECT_DIRE_CLAW,
.effect = EFFECT_HIT,
.type = TYPE_POISON,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 50,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.split = SPLIT_PHYSICAL,
.zMoveEffect = Z_EFFECT_NONE,
.makesContact = TRUE,
.sheerForceBoost = TRUE,
ADDITIONAL_EFFECTS(
SECONDARY_EFFECT(MOVE_EFFECT_DIRE_CLAW, 50)
),
},
[MOVE_PSYSHIELD_BASH] =
@ -13265,15 +13275,16 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_ROCK,
.accuracy = 90,
.pp = 15,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.split = SPLIT_PHYSICAL,
.zMoveEffect = Z_EFFECT_NONE,
.makesContact = TRUE,
.argument = MOVE_EFFECT_STEALTH_ROCK,
.sheerForceBoost = TRUE,
.slicingMove = TRUE,
ADDITIONAL_EFFECTS(
SECONDARY_EFFECT(MOVE_EFFECT_STEALTH_ROCK, 100)
),
},
[MOVE_SPRINGTIDE_STORM] =
@ -13549,15 +13560,16 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_DARK,
.accuracy = 90,
.pp = 15,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.split = SPLIT_PHYSICAL,
.zMoveEffect = Z_EFFECT_NONE,
.makesContact = TRUE,
.argument = MOVE_EFFECT_SPIKES,
.sheerForceBoost = TRUE,
.slicingMove = TRUE,
ADDITIONAL_EFFECTS(
SECONDARY_EFFECT(MOVE_EFFECT_SPIKES, 100)
),
},
[MOVE_BLEAKWIND_STORM] =
@ -14398,12 +14410,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
[MOVE_WICKED_TORQUE] =
{
.effect = EFFECT_SLEEP_HIT,
.effect = EFFECT_HIT,
.power = 80,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.split = SPLIT_PHYSICAL,
@ -14418,6 +14429,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.instructBanned = TRUE,
.encoreBanned = TRUE,
.assistBanned = TRUE,
ADDITIONAL_EFFECTS(
SECONDARY_EFFECT(MOVE_EFFECT_SLEEP, 10)
)
},
[MOVE_NOXIOUS_TORQUE] =

View File

@ -3,7 +3,7 @@
ASSUMPTIONS
{
ASSUME(gBattleMoves[MOVE_DIRE_CLAW].effect == EFFECT_DIRE_CLAW);
ASSUME(gBattleMoves[MOVE_DIRE_CLAW].additionalEffects[0].moveEffect == MOVE_EFFECT_DIRE_CLAW);
}
SINGLE_BATTLE_TEST("Dire Claw can inflict poison, paralysis or sleep")

View File

@ -4,6 +4,7 @@
ASSUMPTIONS
{
ASSUME(gBattleMoves[MOVE_RELIC_SONG].effect == EFFECT_RELIC_SONG);
ASSUME(gBattleMoves[MOVE_RELIC_SONG].additionalEffects[0].moveEffect == MOVE_EFFECT_SLEEP);
ASSUME(P_GEN_5_POKEMON == TRUE);
}