Generational Move Changes (#8405)
This commit is contained in:
parent
445cc2ace9
commit
328ec9d708
@ -2581,7 +2581,9 @@ BattleScript_MaxHp50Recoil::
|
|||||||
|
|
||||||
BattleScript_EffectDreamEater::
|
BattleScript_EffectDreamEater::
|
||||||
attackcanceler
|
attackcanceler
|
||||||
|
.if B_DREAM_EATER_SUBSTITUTE < GEN_5
|
||||||
jumpifsubstituteblocks BattleScript_DoesntAffectTargetAtkString
|
jumpifsubstituteblocks BattleScript_DoesntAffectTargetAtkString
|
||||||
|
.endif
|
||||||
jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_HitFromAccCheck
|
jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_HitFromAccCheck
|
||||||
jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_HitFromAccCheck
|
jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_HitFromAccCheck
|
||||||
goto BattleScript_DoesntAffectTargetAtkString
|
goto BattleScript_DoesntAffectTargetAtkString
|
||||||
|
|||||||
@ -133,6 +133,7 @@
|
|||||||
#define B_TIME_OF_DAY_HEALING_MOVES GEN_LATEST // In Gen2, Morning Sun, Moonlight, and Synthesis heal twice as much HP based off the time of day. Also changes how much they heal. Evening affects Moonlight.
|
#define B_TIME_OF_DAY_HEALING_MOVES GEN_LATEST // In Gen2, Morning Sun, Moonlight, and Synthesis heal twice as much HP based off the time of day. Also changes how much they heal. Evening affects Moonlight.
|
||||||
// If OW_TIMES_OF_DAY is set to Gen 3, then Morning Sun is boosted during the day.
|
// If OW_TIMES_OF_DAY is set to Gen 3, then Morning Sun is boosted during the day.
|
||||||
#define B_DREAM_EATER_LIQUID_OOZE GEN_LATEST // In Gen5+, Dream Eater is affected by Liquid Ooze.
|
#define B_DREAM_EATER_LIQUID_OOZE GEN_LATEST // In Gen5+, Dream Eater is affected by Liquid Ooze.
|
||||||
|
#define B_DREAM_EATER_SUBSTITUTE GEN_LATEST // In Gen5+, Dream Eater can successfully hit and drain from a Substitute.
|
||||||
|
|
||||||
// Ability settings
|
// Ability settings
|
||||||
#define B_GALE_WINGS GEN_LATEST // In Gen7+ requires full HP to trigger.
|
#define B_GALE_WINGS GEN_LATEST // In Gen7+ requires full HP to trigger.
|
||||||
|
|||||||
@ -5906,8 +5906,12 @@ static bool32 HandleMoveEndMoveBlock(u32 moveEffect)
|
|||||||
recoil = GetNonDynamaxMaxHP(gBattlerAttacker) / 2;
|
recoil = GetNonDynamaxMaxHP(gBattlerAttacker) / 2;
|
||||||
else if (B_RECOIL_IF_MISS_DMG == GEN_4 && (GetNonDynamaxMaxHP(gBattlerTarget) / 2) < gBattleStruct->moveDamage[gBattlerTarget])
|
else if (B_RECOIL_IF_MISS_DMG == GEN_4 && (GetNonDynamaxMaxHP(gBattlerTarget) / 2) < gBattleStruct->moveDamage[gBattlerTarget])
|
||||||
recoil = GetNonDynamaxMaxHP(gBattlerTarget) / 2;
|
recoil = GetNonDynamaxMaxHP(gBattlerTarget) / 2;
|
||||||
else // Fallback if B_RECOIL_IF_MISS_DMG is set to gen3 or lower.
|
else if (B_RECOIL_IF_MISS_DMG == GEN_3)
|
||||||
recoil = GetNonDynamaxMaxHP(gBattlerTarget) / 2;
|
recoil = GetNonDynamaxMaxHP(gBattlerTarget) / 2;
|
||||||
|
else if (B_RECOIL_IF_MISS_DMG == GEN_2)
|
||||||
|
recoil = GetNonDynamaxMaxHP(gBattlerTarget) / 8;
|
||||||
|
else
|
||||||
|
recoil = 1;
|
||||||
SetPassiveDamageAmount(gBattlerAttacker, recoil);
|
SetPassiveDamageAmount(gBattlerAttacker, recoil);
|
||||||
BattleScriptCall(BattleScript_RecoilIfMiss);
|
BattleScriptCall(BattleScript_RecoilIfMiss);
|
||||||
effect = TRUE;
|
effect = TRUE;
|
||||||
|
|||||||
@ -8065,8 +8065,13 @@ static inline s32 CalculateBaseDamage(u32 power, u32 userFinalAttack, u32 level,
|
|||||||
|
|
||||||
static inline uq4_12_t GetTargetDamageModifier(struct DamageContext *ctx)
|
static inline uq4_12_t GetTargetDamageModifier(struct DamageContext *ctx)
|
||||||
{
|
{
|
||||||
if (IsDoubleBattle() && GetMoveTargetCount(ctx) >= 2)
|
if (IsDoubleBattle())
|
||||||
return B_MULTIPLE_TARGETS_DMG >= GEN_4 ? UQ_4_12(0.75) : UQ_4_12(0.5);
|
{
|
||||||
|
if (GetMoveTargetCount(ctx) == 2)
|
||||||
|
return B_MULTIPLE_TARGETS_DMG >= GEN_4 ? UQ_4_12(0.75) : UQ_4_12(0.5);
|
||||||
|
else if (GetMoveTargetCount(ctx) >= 3)
|
||||||
|
return B_MULTIPLE_TARGETS_DMG >= GEN_4 ? UQ_4_12(0.75) : UQ_4_12(1.0);
|
||||||
|
}
|
||||||
return UQ_4_12(1.0);
|
return UQ_4_12(1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -96,6 +96,7 @@ SINGLE_BATTLE_TEST("Dream Eater works if the target is behind a Substitute (Gen
|
|||||||
{
|
{
|
||||||
s16 damage;
|
s16 damage;
|
||||||
s16 healed;
|
s16 healed;
|
||||||
|
KNOWN_FAILING;
|
||||||
GIVEN {
|
GIVEN {
|
||||||
ASSUME(GetMoveEffect(MOVE_YAWN) == EFFECT_YAWN);
|
ASSUME(GetMoveEffect(MOVE_YAWN) == EFFECT_YAWN);
|
||||||
ASSUME(GetMoveEffect(MOVE_SUBSTITUTE) == EFFECT_SUBSTITUTE);
|
ASSUME(GetMoveEffect(MOVE_SUBSTITUTE) == EFFECT_SUBSTITUTE);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user