public interface Ability extends ITranslatable, RarityTweak
Modifier and Type | Method and Description |
---|---|
default float |
adjustCriticalHitChance(PixelmonWrapper pokemon,
PixelmonWrapper target,
Attack a,
float critChance)
Triggers at the last moment before a critical hit is rolled.
|
default boolean |
allowsIncomingAttack(PixelmonWrapper pokemon,
PixelmonWrapper user,
Attack a)
Determines whether an incoming attack can hit the Pokémon
|
default void |
allowsIncomingAttackMessage(PixelmonWrapper pokemon,
PixelmonWrapper user,
Attack a)
Sends a battle message when the Pokémon's Ability nullifies an attack.
|
default boolean |
allowsIncomingAttackTeammate(PixelmonWrapper pokemon,
PixelmonWrapper target,
PixelmonWrapper user,
Attack a)
Determines whether an incoming attack can hit a teammate Pokémon
|
default boolean |
allowsOutgoingAttack(PixelmonWrapper user,
PixelmonWrapper target,
Attack a)
Determines whether an outgoing attack can hit the target.
|
default boolean |
allowsStatChange(PixelmonWrapper pokemon,
PixelmonWrapper user,
StatsEffect e)
Whether the Pokémon Ability allows a stat to be modified.
|
default boolean |
allowsStatChangeTeammate(PixelmonWrapper pokemon,
PixelmonWrapper target,
PixelmonWrapper user,
StatsEffect e)
Whether a teammate's Ability allows a stat to be modified.
|
default boolean |
allowsStatus(StatusType status,
PixelmonWrapper pokemon,
PixelmonWrapper user)
Fires when a status attempts to apply.
|
default boolean |
allowsStatusTeammate(StatusType status,
PixelmonWrapper pokemon,
PixelmonWrapper target,
PixelmonWrapper user)
Fires for all teammates when a status attempts to be applied.
|
default void |
applyDynamaxEffect(PixelmonWrapper pokemon)
Triggers when the Pokémon Dynamaxes.
|
default void |
applyEffectOnContactTarget(PixelmonWrapper user,
PixelmonWrapper target)
Triggers when another Pokémon makes contact with this Pokémon.
|
default void |
applyEffectOnContactTargetLate(PixelmonWrapper user,
PixelmonWrapper target)
Triggers when another Pokémon makes contact with this Pokémon.
|
default void |
applyEffectOnContactUser(PixelmonWrapper user,
PixelmonWrapper target)
Triggers when the Pokémon makes contact.
|
default void |
applyEndOfBattleEffect(PixelmonWrapper pokemon)
Triggers at the end of the battle.
|
default void |
applyFoeSwitchInEffect(PixelmonWrapper user,
PixelmonWrapper target)
Triggers after an enemy Pokémon switches in.
|
default void |
applyRepeatedEffect(PixelmonWrapper pokemon)
Fires at the end of the turn.
|
default void |
applyRepeatedEffectAfterStatus(PixelmonWrapper pokemon)
Triggers at the end of every turn after residual status damage has been applied.
|
default void |
applyStartOfBattleHeadOfPartyEffect(PixelmonWrapper user,
PixelmonWrapper target)
Triggers at the start of the battle, if the ability is at the head of the party.
|
default void |
applySwitchInEffect(PixelmonWrapper newPokemon)
Triggers after the Pokémon switches in and when the Pokémon gains an Ability.
|
default void |
applySwitchOutEffect(PixelmonWrapper oldPokemon)
Triggers when the Pokémon switches out.
|
default void |
beforeSwitch(PixelmonWrapper newPokemon)
Triggers just before the Pokémon switches in.
|
default boolean |
canAttackThisTurn(PixelmonWrapper user,
Attack a)
Checks if the Pokémon's Ability allows it to make a move.
|
default boolean |
canBeIgnored() |
default boolean |
doesAttackUserIgnoreProtect(PixelmonWrapper pokemon,
PixelmonWrapper target,
Attack a)
Determines whether this ability makes this attack pierces protection moves.
|
default boolean |
doesContactAttackMakeContact(PixelmonWrapper user,
Attack a)
Whether this contact move will continue to make contact.
|
default java.util.List<Element> |
getEffectiveTypes(PixelmonWrapper user,
PixelmonWrapper target)
Returns the types that will be used in calculating the Pokémon's attack's type effectiveness.
|
default float |
getMultiplier(AbstractSpawner spawner,
SpawnInfo spawnInfo,
float sum,
float rarity) |
java.lang.String |
getName()
Returns the Ability's class name.
|
Ability |
getNewInstance()
Returns a new instance of the Ability class.
|
default boolean |
ignoreWeather()
Determines whether the Ability ignores weather.
|
default boolean |
isAbility(java.lang.Class<? extends AbstractAbility>... abilities)
Checks if the Ability is one of an array of Abilities.
|
default boolean |
isAbility(java.lang.Class<? extends AbstractAbility> ability)
Checks if this ability is the one passed in.
|
default boolean |
isAbility(java.util.Optional<Ability>... abilities) |
default boolean |
isNegativeAbility()
Checks if the Ability has only negative effects.
|
default int |
modifyDamageIncludeFixed(int damage,
PixelmonWrapper user,
PixelmonWrapper target,
Attack a)
Triggers when the Pokémon takes direct damage, including fixed damage moves.
|
default int |
modifyDamageTarget(int damage,
PixelmonWrapper user,
PixelmonWrapper target,
Attack a)
Triggers when the Pokémon takes direct damage.
|
default int |
modifyDamageTeammate(int damage,
PixelmonWrapper user,
PixelmonWrapper target,
Attack a)
Triggers when the Pokémon's ally takes direct damage.
|
default int |
modifyDamageUser(int damage,
PixelmonWrapper user,
PixelmonWrapper target,
Attack a)
Triggers when the Pokémon deals direct damage.
|
default int[] |
modifyPowerAndAccuracyTarget(int power,
int accuracy,
PixelmonWrapper user,
PixelmonWrapper target,
Attack a)
Modifies the power and accuracy of the attack about to hit the Pokémon.
|
default int[] |
modifyPowerAndAccuracyTeammate(int power,
int accuracy,
PixelmonWrapper user,
PixelmonWrapper target,
Attack a)
Modifies the power and accuracy of a teammate's attack.
|
default int[] |
modifyPowerAndAccuracyUser(int power,
int accuracy,
PixelmonWrapper user,
PixelmonWrapper target,
Attack a)
Modifies the power and accuracy of the Pokémon's attack.
|
default float |
modifyPriority(PixelmonWrapper pokemon,
float priority,
MutableBoolean triggered)
Modifies the Pokémon's attack's priority.
|
default double |
modifyStab(double stab)
Modifies the STAB multiplier.
|
default int[] |
modifyStats(PixelmonWrapper user,
int[] stats)
Modifies the Pokémon's stats at the beginning of a battle turn.
|
default int[] |
modifyStatsCancellable(PixelmonWrapper user,
int[] stats)
Modifies the Pokémon's stats at the beginning of a battle turn.
|
default int[] |
modifyStatsCancellableTeammate(PixelmonWrapper pokemon,
int[] stats)
Modifies an allied Pokémon's stats at the beginning of a battle turn.
|
default int[] |
modifyStatsTeammate(PixelmonWrapper pokemon,
int[] stats)
Modifies an allied Pokémon's stats at the beginning of a battle turn.
|
default Element |
modifyType(PixelmonWrapper pw,
Attack attack)
Modifies an attack's typing.
|
default float |
modifyWeight(float initWeight)
Modifies the Pokémon's weight.
|
default boolean |
needNewInstance()
Checks if a new instance of the Ability needs to be initialized if a Pokémon receives it in battle.
|
default void |
onAbilityLost(PixelmonWrapper pokemon)
Triggers just before the Pokémon loses an Ability in battle.
|
default void |
onAllyFaint(PixelmonWrapper pokemon,
PixelmonWrapper fainted,
PixelmonWrapper source)
Triggers right after an allied Pokémon faints.
|
default void |
onDamageReceived(PixelmonWrapper user,
PixelmonWrapper pokemon,
Attack a,
int damage,
DamageTypeEnum damagetype) |
default void |
onFoeFaint(PixelmonWrapper pokemon,
PixelmonWrapper fainted,
PixelmonWrapper source)
Triggers right after a foe faints.
|
default int |
onHealed(PixelmonWrapper pw,
int heal)
Fired whenever a Pokémon is about to be healed.
|
default void |
onItemChanged(PixelmonWrapper pw,
HeldItem newItem) |
default void |
onItemConsumed(PixelmonWrapper pokemon,
PixelmonWrapper consumer,
HeldItem heldItem)
Triggers when a held item is consumed.
|
default void |
onSelfFaint(PixelmonWrapper pokemon,
PixelmonWrapper source)
Triggers right after an allied Pokémon faints.
|
default void |
onStatusAdded(StatusBase status,
PixelmonWrapper user,
PixelmonWrapper opponent)
Triggers when the Pokémon acquires a status.
|
default void |
onTerrainSwitch(BattleController bc,
PixelmonWrapper user,
Terrain terrain)
Triggers when the terrain is changed in battle.
|
default void |
onWeatherChange(PixelmonWrapper pw,
Weather weather)
Triggers when the weather changes.
|
default void |
postProcessAttack(PixelmonWrapper pokemon,
PixelmonWrapper user,
Attack a)
Triggers after the Pokémon is attacked.
|
default void |
postProcessAttackOther(PixelmonWrapper pokemon,
PixelmonWrapper user,
PixelmonWrapper target,
Attack a)
Triggers after any Pokémon attacks.
|
default void |
postProcessAttackUser(PixelmonWrapper pokemon,
PixelmonWrapper target,
Attack a)
Triggers after the Pokémon attacks.
|
default void |
postProcessAttackUserHitOrMiss(PixelmonWrapper pokemon,
PixelmonWrapper target,
Attack a)
Triggers after the Pokémon attacks, no matter if the Pokémon hits or misses.
|
default void |
preProcessAttack(PixelmonWrapper pokemon,
PixelmonWrapper user,
Attack a)
Triggers before the Pokémon is attacked.
|
default void |
preProcessAttackUser(PixelmonWrapper pokemon,
PixelmonWrapper target,
Attack a)
Triggers before the Pokémon attacks.
|
default boolean |
preventsCriticalHits(PixelmonWrapper opponent)
Fires in query of whether the Pokémon is protected from critical hits.
|
default boolean |
redirectAttack(PixelmonWrapper user,
PixelmonWrapper targetAlly,
Attack attack)
Determines whether the Pokémon's Ability causes an incoming attack to be redirected.
|
default void |
sendActivatedMessage(PixelmonWrapper pw)
Sends a message indicating that the Ability was activated.
|
default void |
startMove(PixelmonWrapper user)
Affects the Pokémon at the start of using a move.
|
default boolean |
stopsSwitching(PixelmonWrapper user,
PixelmonWrapper opponent)
Determines whether the Pokemon's Ability traps another Pokémon.
|
default void |
tookDamageTarget(int damage,
PixelmonWrapper user,
PixelmonWrapper target,
Attack a)
Triggers after the Pokémon takes damage.
|
default void |
tookDamageTargetAfterMove(PixelmonWrapper user,
PixelmonWrapper target,
Attack a,
float damage)
Triggers at the end of an attack (after all hits of a multi-hit move) if the user takes damage.
|
default void |
tookDamageUser(int damage,
PixelmonWrapper user,
PixelmonWrapper target,
Attack a)
Triggers after the Pokémon deals damage.
|
getLocalizedName, getTranslatedName, getTranslationKey
java.lang.String getName()
default void startMove(PixelmonWrapper user)
user
- The Pokémon with the Ability.default boolean canAttackThisTurn(PixelmonWrapper user, Attack a)
user
- The Pokémon with the Ability.a
- The move to be used.default int modifyDamageUser(int damage, PixelmonWrapper user, PixelmonWrapper target, Attack a)
damage
- The amount of damage dealt.user
- The attack's user.target
- The attack's target.a
- The attack.default int modifyDamageTarget(int damage, PixelmonWrapper user, PixelmonWrapper target, Attack a)
damage
- The amount of damage dealt.user
- The attack's user.target
- The attack's target.a
- The attack.default int modifyDamageIncludeFixed(int damage, PixelmonWrapper user, PixelmonWrapper target, Attack a)
damage
- The amount of damage dealt.user
- The attack's user.target
- The attack's target.a
- The attack.default int modifyDamageTeammate(int damage, PixelmonWrapper user, PixelmonWrapper target, Attack a)
damage
- The amount of damage dealt.user
- The attack's user.target
- The attack's target.a
- The attack.default void tookDamageUser(int damage, PixelmonWrapper user, PixelmonWrapper target, Attack a)
damage
- The amount of damage dealt.user
- The attack's user.target
- The attack's target.a
- The attack.default void tookDamageTarget(int damage, PixelmonWrapper user, PixelmonWrapper target, Attack a)
damage
- The amount of damage dealt.user
- The attack's user.target
- The attack's target.a
- The attack.default void tookDamageTargetAfterMove(PixelmonWrapper user, PixelmonWrapper target, Attack a, float damage)
user
- The attack's user.target
- The attack's target.a
- The attack.default int[] modifyPowerAndAccuracyUser(int power, int accuracy, PixelmonWrapper user, PixelmonWrapper target, Attack a)
power
- The attack's power.accuracy
- The attack's accuracy.user
- The attack's user.target
- The attack's target.a
- The attack.default int[] modifyPowerAndAccuracyTarget(int power, int accuracy, PixelmonWrapper user, PixelmonWrapper target, Attack a)
power
- The attack's power.accuracy
- The attack's accuracy.user
- The attack's user.target
- The attack's target.a
- The attack.default int[] modifyPowerAndAccuracyTeammate(int power, int accuracy, PixelmonWrapper user, PixelmonWrapper target, Attack a)
power
- The attack's power.accuracy
- The attack's accuracy.user
- The attack's user.target
- The attack's target.a
- The attack.default void beforeSwitch(PixelmonWrapper newPokemon)
newPokemon
- The Pokémon switching in.default void applySwitchInEffect(PixelmonWrapper newPokemon)
newPokemon
- The Pokémon switching in.default void applySwitchOutEffect(PixelmonWrapper oldPokemon)
oldPokemon
- The Pokémon switching out.default void applyFoeSwitchInEffect(PixelmonWrapper user, PixelmonWrapper target)
default void applyDynamaxEffect(PixelmonWrapper pokemon)
pokemon
- The Pokémon Dynamaxing.default void applyEndOfBattleEffect(PixelmonWrapper pokemon)
pokemon
- The Pokémon in battle at the battle's end.default boolean doesContactAttackMakeContact(PixelmonWrapper user, Attack a)
user
- - The user of the movea
- - The attack being useddefault void applyStartOfBattleHeadOfPartyEffect(PixelmonWrapper user, PixelmonWrapper target)
user
- The ability holder.target
- The opposing Pokémon.default void applyEffectOnContactUser(PixelmonWrapper user, PixelmonWrapper target)
user
- The attack's user.target
- The attack's target.default void applyEffectOnContactTarget(PixelmonWrapper user, PixelmonWrapper target)
user
- The attack's user.target
- The attack's target.default void applyEffectOnContactTargetLate(PixelmonWrapper user, PixelmonWrapper target)
user
- The attack's user.target
- The attack's target.default int[] modifyStats(PixelmonWrapper user, int[] stats)
user
- The Pokémon.stats
- The Pokémon's stats.default int[] modifyStatsTeammate(PixelmonWrapper pokemon, int[] stats)
pokemon
- The Pokémon to be modified.stats
- The Pokémon's stats.default int[] modifyStatsCancellable(PixelmonWrapper user, int[] stats)
user
- The Pokémon.stats
- The Pokémon's stats.default int[] modifyStatsCancellableTeammate(PixelmonWrapper pokemon, int[] stats)
pokemon
- The Pokémon to be modified.stats
- The Pokémon's stats.default void applyRepeatedEffect(PixelmonWrapper pokemon)
pokemon
- The Pokémon with the Ability.default void applyRepeatedEffectAfterStatus(PixelmonWrapper pokemon)
pokemon
- The Pokémon with the Ability.default boolean allowsStatChange(PixelmonWrapper pokemon, PixelmonWrapper user, StatsEffect e)
pokemon
- The Pokémon with the Ability.user
- The attack's user.e
- The stat modifier.default boolean allowsStatChangeTeammate(PixelmonWrapper pokemon, PixelmonWrapper target, PixelmonWrapper user, StatsEffect e)
pokemon
- The Pokémon with the Ability.target
- The Pokémon whose stat is to be lowered.user
- The attack's user.e
- The stat modifier.default boolean allowsOutgoingAttack(PixelmonWrapper user, PixelmonWrapper target, Attack a)
user
- - The user of the move and the Pokémon with the abilitytarget
- - The target of this Pokémon's attack.a
- - The attackdefault boolean allowsIncomingAttack(PixelmonWrapper pokemon, PixelmonWrapper user, Attack a)
pokemon
- The Pokémon with the Ability.user
- The attack's user.a
- The attack.default boolean allowsIncomingAttackTeammate(PixelmonWrapper pokemon, PixelmonWrapper target, PixelmonWrapper user, Attack a)
pokemon
- The Pokémon with the Ability.target
- The teammate being targeted.user
- The attack's user.a
- The attack.default void allowsIncomingAttackMessage(PixelmonWrapper pokemon, PixelmonWrapper user, Attack a)
pokemon
- The Pokémon with the Ability.user
- The attack's user.a
- The attack.default void preProcessAttack(PixelmonWrapper pokemon, PixelmonWrapper user, Attack a)
pokemon
- The Pokémon with the Ability.user
- The attack's user.a
- The attack.default void preProcessAttackUser(PixelmonWrapper pokemon, PixelmonWrapper target, Attack a)
pokemon
- The Pokémon with the Ability.target
- The attack's target.a
- The attack.default void postProcessAttackUser(PixelmonWrapper pokemon, PixelmonWrapper target, Attack a)
pokemon
- The Pokémon with the Ability.target
- The attack's target.a
- The attack.default void postProcessAttack(PixelmonWrapper pokemon, PixelmonWrapper user, Attack a)
pokemon
- The Pokémon with the Ability.user
- The attack's user.a
- The attack.default void postProcessAttackOther(PixelmonWrapper pokemon, PixelmonWrapper user, PixelmonWrapper target, Attack a)
pokemon
- The Pokémon with the Ability.user
- The Pokémon attacking.target
- The attack's target.a
- The attack.default void postProcessAttackUserHitOrMiss(PixelmonWrapper pokemon, PixelmonWrapper target, Attack a)
pokemon
- The Pokémon with the Ability.target
- The attack's target.a
- The attack.default boolean doesAttackUserIgnoreProtect(PixelmonWrapper pokemon, PixelmonWrapper target, Attack a)
pokemon
- The Pokémon with the Ability.target
- The attack's target.a
- The attack.default float adjustCriticalHitChance(PixelmonWrapper pokemon, PixelmonWrapper target, Attack a, float critChance)
pokemon
- The Pokémon with the abilitytarget
- The target of the attacka
- The attack being usedcritChance
- The critical hit chance, as a number between 0-1default boolean preventsCriticalHits(PixelmonWrapper opponent)
default boolean allowsStatus(StatusType status, PixelmonWrapper pokemon, PixelmonWrapper user)
status
- StatusType.[whatever status] == status is the condition of the if statement.pokemon
- The victim.user
- The user.default boolean allowsStatusTeammate(StatusType status, PixelmonWrapper pokemon, PixelmonWrapper target, PixelmonWrapper user)
status
- The status being afflicted.pokemon
- The Pokémon with the Ability.target
- The Pokémon who is being afflicted with the status.user
- The Pokémon inflicting the status.default double modifyStab(double stab)
stab
- The STAB multiplier.default Element modifyType(PixelmonWrapper pw, Attack attack)
pw
- The Pokémon with the ability, who is using a move.attack
- The attack used.default float modifyPriority(PixelmonWrapper pokemon, float priority, MutableBoolean triggered)
pokemon
- The attack's user.priority
- The attack's priority.triggered
- Mutable boolean object of whether this was activated or not.default boolean stopsSwitching(PixelmonWrapper user, PixelmonWrapper opponent)
user
- The Pokémon with the Ability.opponent
- The Pokémon affected by the Ability.default float modifyWeight(float initWeight)
initWeight
- The Pokémon's weight.default java.util.List<Element> getEffectiveTypes(PixelmonWrapper user, PixelmonWrapper target)
user
- The attack's user.target
- The attack's target.default void onStatusAdded(StatusBase status, PixelmonWrapper user, PixelmonWrapper opponent)
status
- The status that was added.user
- The statused Pokémon.opponent
- The Pokémon who caused the status.default void onDamageReceived(PixelmonWrapper user, PixelmonWrapper pokemon, Attack a, int damage, DamageTypeEnum damagetype)
default boolean ignoreWeather()
default boolean redirectAttack(PixelmonWrapper user, PixelmonWrapper targetAlly, Attack attack)
user
- The Pokémon using the attack.targetAlly
- The Pokémon with the Ability.attack
- The attack.default void onItemConsumed(PixelmonWrapper pokemon, PixelmonWrapper consumer, HeldItem heldItem)
pokemon
- The Pokémon with the Ability.consumer
- The Pokémon who consumed the held item.heldItem
- The consumed held item.default void onAbilityLost(PixelmonWrapper pokemon)
pokemon
- The Pokémon with the Ability.default void onAllyFaint(PixelmonWrapper pokemon, PixelmonWrapper fainted, PixelmonWrapper source)
pokemon
- - The Pokémon with the ability. Not the one fainting.fainted
- - The ally Pokémon that fainted.source
- - The ultimate cause of the fainting. Self inflicted or global causes give the fainted as the source.default void onSelfFaint(PixelmonWrapper pokemon, PixelmonWrapper source)
pokemon
- - The Pokémon with the ability.source
- - The ultimate cause of the fainting. Self inflicted or global causes give the fainted as the source.default void onFoeFaint(PixelmonWrapper pokemon, PixelmonWrapper fainted, PixelmonWrapper source)
pokemon
- - The Pokémon with the ability. Not the one fainting.fainted
- - The opponent Pokémon that fainted.source
- - The ultimate cause of the fainting. Self inflicted or global causes give the fainted as the source.default boolean needNewInstance()
default boolean isNegativeAbility()
default void onWeatherChange(PixelmonWrapper pw, Weather weather)
pw
- The Pokémon to affect with the weather change.weather
- The new weather.default void onTerrainSwitch(BattleController bc, PixelmonWrapper user, Terrain terrain)
bc
- The battle controller.user
- The Pokémon whose holding this item.terrain
- The terrain being switched in.default boolean canBeIgnored()
default boolean isAbility(java.lang.Class<? extends AbstractAbility> ability)
ability
- The ability to compare against.default boolean isAbility(java.lang.Class<? extends AbstractAbility>... abilities)
abilities
- The Abilities to compare against.default boolean isAbility(java.util.Optional<Ability>... abilities)
Ability getNewInstance()
default void sendActivatedMessage(PixelmonWrapper pw)
pw
- The Pokémon with the Ability.default void onItemChanged(PixelmonWrapper pw, HeldItem newItem)
default float getMultiplier(AbstractSpawner spawner, SpawnInfo spawnInfo, float sum, float rarity)
getMultiplier
in interface RarityTweak
default int onHealed(PixelmonWrapper pw, int heal)
pw
- The Pokémon being healed.heal
- The heal amount.