Merge 4afe61aba3 into 7769c06393
commit
f8ce97f40e
|
|
@ -3366,8 +3366,9 @@ export function initAbilities() {
|
|||
.ignorable()
|
||||
.unimplemented(),
|
||||
new Ability(Abilities.FLOWER_VEIL, 6)
|
||||
.conditionalAttr(p => (p.isOfType(Type.GRASS)), StatusEffectImmunityAbAttr)
|
||||
.ignorable()
|
||||
.unimplemented(),
|
||||
.partial(),
|
||||
new Ability(Abilities.CHEEK_POUCH, 6)
|
||||
.unimplemented(),
|
||||
new Ability(Abilities.PROTEAN, 6)
|
||||
|
|
@ -3447,11 +3448,11 @@ export function initAbilities() {
|
|||
.attr(PostBattleInitFormChangeAbAttr, p => p.formIndex % 7 + (p.getHpRatio() <= 0.5 ? 7 : 0))
|
||||
.attr(PostSummonFormChangeAbAttr, p => p.formIndex % 7 + (p.getHpRatio() <= 0.5 ? 7 : 0))
|
||||
.attr(PostTurnFormChangeAbAttr, p => p.formIndex % 7 + (p.getHpRatio() <= 0.5 ? 7 : 0))
|
||||
.conditionalAttr(p => (p.formIndex < 7), StatusEffectImmunityAbAttr)
|
||||
.attr(UncopiableAbilityAbAttr)
|
||||
.attr(UnswappableAbilityAbAttr)
|
||||
.attr(UnsuppressableAbilityAbAttr)
|
||||
.attr(NoFusionAbilityAbAttr)
|
||||
.partial(),
|
||||
.attr(NoFusionAbilityAbAttr),
|
||||
new Ability(Abilities.STAKEOUT, 7)
|
||||
.attr(MovePowerBoostAbAttr, (user, target, move) => user.scene.currentBattle.turnCommands[target.getBattlerIndex()].command === Command.POKEMON, 2),
|
||||
new Ability(Abilities.WATER_BUBBLE, 7)
|
||||
|
|
@ -3517,10 +3518,12 @@ export function initAbilities() {
|
|||
.attr(IgnoreTypeStatusEffectImmunityAbAttr, [StatusEffect.POISON, StatusEffect.TOXIC], [Type.STEEL, Type.POISON])
|
||||
.partial(),
|
||||
new Ability(Abilities.COMATOSE, 7)
|
||||
.attr(StatusEffectImmunityAbAttr)
|
||||
.attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.getMove().id == Moves.YAWN)
|
||||
.attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon == attacker && move.getMove().id == Moves.REST)
|
||||
.attr(UncopiableAbilityAbAttr)
|
||||
.attr(UnswappableAbilityAbAttr)
|
||||
.attr(UnsuppressableAbilityAbAttr)
|
||||
.unimplemented(),
|
||||
.attr(UnsuppressableAbilityAbAttr),
|
||||
new Ability(Abilities.QUEENLY_MAJESTY, 7)
|
||||
.attr(FieldPriorityMoveImmunityAbAttr)
|
||||
.ignorable(),
|
||||
|
|
|
|||
|
|
@ -4737,7 +4737,7 @@ export function initMoves() {
|
|||
.attr(StatusEffectAttr, StatusEffect.PARALYSIS),
|
||||
new AttackMove(Moves.DREAM_EATER, Type.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 15, -1, 0, 1)
|
||||
.attr(HitHealAttr)
|
||||
.condition((user, target, move) => target.status?.effect === StatusEffect.SLEEP)
|
||||
.condition((user, target, move) => target.status?.effect === StatusEffect.SLEEP || target.hasAbility(Abilities.COMATOSE))
|
||||
.triageMove(),
|
||||
new StatusMove(Moves.POISON_GAS, Type.POISON, 90, 40, -1, 0, 1)
|
||||
.attr(StatusEffectAttr, StatusEffect.POISON)
|
||||
|
|
@ -4838,14 +4838,14 @@ export function initMoves() {
|
|||
.attr(IgnoreAccuracyAttr),
|
||||
new StatusMove(Moves.NIGHTMARE, Type.GHOST, 100, 15, -1, 0, 2)
|
||||
.attr(AddBattlerTagAttr, BattlerTagType.NIGHTMARE)
|
||||
.condition((user, target, move) => target.status?.effect === StatusEffect.SLEEP),
|
||||
.condition((user, target, move) => target.status?.effect === StatusEffect.SLEEP || target.hasAbility(Abilities.COMATOSE)),
|
||||
new AttackMove(Moves.FLAME_WHEEL, Type.FIRE, MoveCategory.PHYSICAL, 60, 100, 25, 10, 0, 2)
|
||||
.attr(HealStatusEffectAttr, true, StatusEffect.FREEZE)
|
||||
.attr(StatusEffectAttr, StatusEffect.BURN),
|
||||
new AttackMove(Moves.SNORE, Type.NORMAL, MoveCategory.SPECIAL, 50, 100, 15, 30, 0, 2)
|
||||
.attr(BypassSleepAttr)
|
||||
.attr(FlinchAttr)
|
||||
.condition((user, target, move) => user.status?.effect === StatusEffect.SLEEP)
|
||||
.condition((user, target, move) => user.status?.effect === StatusEffect.SLEEP || user.hasAbility(Abilities.COMATOSE))
|
||||
.soundBased(),
|
||||
new StatusMove(Moves.CURSE, Type.GHOST, -1, 10, -1, 0, 2)
|
||||
.attr(CurseAttr)
|
||||
|
|
@ -4954,7 +4954,7 @@ export function initMoves() {
|
|||
new SelfStatusMove(Moves.SLEEP_TALK, Type.NORMAL, -1, 10, -1, 0, 2)
|
||||
.attr(BypassSleepAttr)
|
||||
.attr(RandomMovesetMoveAttr)
|
||||
.condition((user, target, move) => user.status?.effect === StatusEffect.SLEEP)
|
||||
.condition((user, target, move) => user.status?.effect === StatusEffect.SLEEP || user.hasAbility(Abilities.COMATOSE))
|
||||
.ignoresVirtual(),
|
||||
new StatusMove(Moves.HEAL_BELL, Type.NORMAL, -1, 5, -1, 0, 2)
|
||||
.attr(PartyStatusCureAttr, "A bell chimed!", Abilities.SOUNDPROOF)
|
||||
|
|
@ -5355,7 +5355,7 @@ export function initMoves() {
|
|||
new StatusMove(Moves.MIRACLE_EYE, Type.PSYCHIC, -1, 40, -1, 0, 4)
|
||||
.unimplemented(),
|
||||
new AttackMove(Moves.WAKE_UP_SLAP, Type.FIGHTING, MoveCategory.PHYSICAL, 70, 100, 10, -1, 0, 4)
|
||||
.attr(MovePowerMultiplierAttr, (user, target, move) => target.status?.effect === StatusEffect.SLEEP ? 2 : 1)
|
||||
.attr(MovePowerMultiplierAttr, (user, target, move) => target.status?.effect === StatusEffect.SLEEP || target.hasAbility(Abilities.COMATOSE) ? 2 : 1)
|
||||
.attr(HealStatusEffectAttr, false, StatusEffect.SLEEP),
|
||||
new AttackMove(Moves.HAMMER_ARM, Type.FIGHTING, MoveCategory.PHYSICAL, 100, 90, 10, 100, 0, 4)
|
||||
.attr(StatChangeAttr, BattleStat.SPD, -1, true)
|
||||
|
|
@ -5766,7 +5766,7 @@ export function initMoves() {
|
|||
.pulseMove()
|
||||
.triageMove(),
|
||||
new AttackMove(Moves.HEX, Type.GHOST, MoveCategory.SPECIAL, 65, 100, 10, -1, 0, 5)
|
||||
.attr(MovePowerMultiplierAttr, (user, target, move) => target.status ? 2 : 1),
|
||||
.attr(MovePowerMultiplierAttr, (user, target, move) => target.status || target.hasAbility(Abilities.COMATOSE) ? 2 : 1),
|
||||
new AttackMove(Moves.SKY_DROP, Type.FLYING, MoveCategory.PHYSICAL, 60, 100, 10, -1, 0, 5)
|
||||
.attr(ChargeAttr, ChargeAnim.SKY_DROP_CHARGING, 'took {TARGET}\ninto the sky!', BattlerTagType.FLYING) // TODO: Add 2nd turn message
|
||||
.condition(failOnGravityCondition)
|
||||
|
|
|
|||
Loading…
Reference in New Issue