Adding isBypassOnField property to all abilities with a preSwitchOut trigger
This commit is contained in:
parent
1752663f80
commit
0dbaad5ee1
|
@ -47,6 +47,7 @@ export class Ability implements Localizable {
|
|||
public description: string;
|
||||
public generation: integer;
|
||||
public isBypassFaint: boolean;
|
||||
public isBypassOnField: boolean;
|
||||
public isIgnorable: boolean;
|
||||
public attrs: AbAttr[];
|
||||
public conditions: AbAttrCondition[];
|
||||
|
@ -107,6 +108,11 @@ export class Ability implements Localizable {
|
|||
return this;
|
||||
}
|
||||
|
||||
bypassOnField(): Ability {
|
||||
this.isBypassOnField = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
ignorable(): Ability {
|
||||
this.isIgnorable = true;
|
||||
return this;
|
||||
|
@ -5423,7 +5429,8 @@ export function initAbilities() {
|
|||
.attr(ProtectStatAbAttr)
|
||||
.ignorable(),
|
||||
new Ability(Abilities.NATURAL_CURE, 3)
|
||||
.attr(PreSwitchOutResetStatusAbAttr),
|
||||
.attr(PreSwitchOutResetStatusAbAttr)
|
||||
.bypassOnField(),
|
||||
new Ability(Abilities.LIGHTNING_ROD, 3)
|
||||
.attr(RedirectTypeMoveAbAttr, Type.ELECTRIC)
|
||||
.attr(TypeImmunityStatStageChangeAbAttr, Type.ELECTRIC, Stat.SPATK, 1)
|
||||
|
@ -5769,7 +5776,8 @@ export function initAbilities() {
|
|||
new Ability(Abilities.POISON_TOUCH, 5)
|
||||
.attr(PostAttackContactApplyStatusEffectAbAttr, 30, StatusEffect.POISON),
|
||||
new Ability(Abilities.REGENERATOR, 5)
|
||||
.attr(PreSwitchOutHealAbAttr),
|
||||
.attr(PreSwitchOutHealAbAttr)
|
||||
.bypassOnField(),
|
||||
new Ability(Abilities.BIG_PECKS, 5)
|
||||
.attr(ProtectStatAbAttr, Stat.DEF)
|
||||
.ignorable(),
|
||||
|
@ -5915,19 +5923,22 @@ export function initAbilities() {
|
|||
.attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.HEAVY_RAIN)
|
||||
.attr(PreSwitchOutClearWeatherAbAttr)
|
||||
.attr(PostFaintClearWeatherAbAttr)
|
||||
.bypassFaint(),
|
||||
.bypassFaint()
|
||||
.bypassOnField(),
|
||||
new Ability(Abilities.DESOLATE_LAND, 6)
|
||||
.attr(PostSummonWeatherChangeAbAttr, WeatherType.HARSH_SUN)
|
||||
.attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.HARSH_SUN)
|
||||
.attr(PreSwitchOutClearWeatherAbAttr)
|
||||
.attr(PostFaintClearWeatherAbAttr)
|
||||
.bypassFaint(),
|
||||
.bypassFaint()
|
||||
.bypassOnField(),
|
||||
new Ability(Abilities.DELTA_STREAM, 6)
|
||||
.attr(PostSummonWeatherChangeAbAttr, WeatherType.STRONG_WINDS)
|
||||
.attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.STRONG_WINDS)
|
||||
.attr(PreSwitchOutClearWeatherAbAttr)
|
||||
.attr(PostFaintClearWeatherAbAttr)
|
||||
.bypassFaint(),
|
||||
.bypassFaint()
|
||||
.bypassOnField(),
|
||||
new Ability(Abilities.STAMINA, 7)
|
||||
.attr(PostDefendStatStageChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, Stat.DEF, 1),
|
||||
new Ability(Abilities.WIMP_OUT, 7)
|
||||
|
@ -6264,6 +6275,7 @@ export function initAbilities() {
|
|||
.attr(NoFusionAbilityAbAttr)
|
||||
.attr(PostBattleInitFormChangeAbAttr, () => 0)
|
||||
.attr(PreSwitchOutFormChangeAbAttr, (pokemon) => !pokemon.isFainted() ? 1 : pokemon.formIndex)
|
||||
.bypassOnField()
|
||||
.bypassFaint(),
|
||||
new Ability(Abilities.COMMANDER, 9)
|
||||
.attr(CommanderAbAttr)
|
||||
|
|
Loading…
Reference in New Issue