mechanics.statuses.abilities
Class IntrinsicAbility

java.lang.Object
  extended by mechanics.statuses.StatusEffect
      extended by mechanics.statuses.abilities.IntrinsicAbility
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable
Direct Known Subclasses:
CompoundEyesAbility, CriticalTypeAbility, HoldItem, OpponentEffectAbility

public class IntrinsicAbility
extends StatusEffect
implements java.lang.Comparable


Field Summary
protected static java.util.HashMap m_map
           
 
Fields inherited from class mechanics.statuses.StatusEffect
m_lock, SPECIAL_EFFECT_LOCK, STATE_ACTIVE, STATE_DEACTIVATED, STATE_REMOVABLE, WEATHER_EFFECT_LOCK
 
Constructor Summary
protected IntrinsicAbility(boolean register, java.lang.String name)
          Prevent external creation.
protected IntrinsicAbility(java.lang.String name)
          Registration constructor.
 
Method Summary
 boolean apply(Pokemon p)
          Applies the initial effects of the status to a pokemon but does not add the status to the list of statuses the pokemon has.
 int compareTo(java.lang.Object obj)
          Compare this object to another IntrinsicAbility.
 boolean equals(java.lang.Object obj)
          Determine whether two status effects are equal semantically.
 java.lang.String getDescription()
          Intrinsic abilities do not employ descriptions.
static IntrinsicAbility getInstance(java.lang.String ability)
          Get an intrinsic ability by name.
 java.lang.String getName()
          Get this ability's name.
 int getTier()
          Because they do not tick, intrinsic abilities do not need a tier.
 boolean immobilises(Pokemon p)
          Intrinsic abilities generally do not immobilise.
 boolean isEffectTransferrable()
          Returns whether an opponent claims the effect of this intrinsic ability after taking it by way of a move (etc.).
static boolean isPhysical(MoveListEntry entry)
          Return whether a move is a physical attack.
 boolean isSwappable()
          Return whether this ability works with role play and skill swap.
protected  void registerAbility()
          Register an intrinsic ability.
 boolean switchOut(Pokemon p)
          Called when a pokemon with this status effect switches out.
 boolean tick(Pokemon p)
          Intrinsic abilities generally do not tick.
 void unapply(Pokemon p)
          Unapply this status effect.
 
Methods inherited from class mechanics.statuses.StatusEffect
activate, apply, beginTick, canSwitch, canSwitch, clone, deactivate, deactivates, disable, executeTurn, getEffectiveness, getEnemyTransformedEffectiveness, getEnemyTransformedMove, getInducer, getLock, getMove, getTierCount, getTransformedEffectiveness, getTransformedMove, hitsThroughSubstitute, informDamaged, informDuplicateEffect, isActive, isEffectivenessTransformer, isExclusiveWith, isListener, isMoveTransformer, isPassable, isRemovable, isSingleton, setInducer, switchIn, vetoesMove
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_map

protected static java.util.HashMap m_map
Constructor Detail

IntrinsicAbility

protected IntrinsicAbility(java.lang.String name)
Registration constructor.


IntrinsicAbility

protected IntrinsicAbility(boolean register,
                           java.lang.String name)
Prevent external creation.

Method Detail

isPhysical

public static boolean isPhysical(MoveListEntry entry)
Return whether a move is a physical attack.


registerAbility

protected void registerAbility()
Register an intrinsic ability.


getName

public java.lang.String getName()
Get this ability's name.

Overrides:
getName in class StatusEffect

getInstance

public static IntrinsicAbility getInstance(java.lang.String ability)
Get an intrinsic ability by name.


tick

public boolean tick(Pokemon p)
Intrinsic abilities generally do not tick.

Overrides:
tick in class StatusEffect

getTier

public int getTier()
Because they do not tick, intrinsic abilities do not need a tier.

Overrides:
getTier in class StatusEffect

getDescription

public java.lang.String getDescription()
Intrinsic abilities do not employ descriptions.

Overrides:
getDescription in class StatusEffect

immobilises

public boolean immobilises(Pokemon p)
Intrinsic abilities generally do not immobilise.

Overrides:
immobilises in class StatusEffect

apply

public boolean apply(Pokemon p)
Description copied from class: StatusEffect
Applies the initial effects of the status to a pokemon but does not add the status to the list of statuses the pokemon has.

Overrides:
apply in class StatusEffect

unapply

public void unapply(Pokemon p)
Description copied from class: StatusEffect
Unapply this status effect.

Overrides:
unapply in class StatusEffect

switchOut

public boolean switchOut(Pokemon p)
Description copied from class: StatusEffect
Called when a pokemon with this status effect switches out. Returns true if the status effect should be removed.

Overrides:
switchOut in class StatusEffect

isSwappable

public boolean isSwappable()
Return whether this ability works with role play and skill swap.


isEffectTransferrable

public boolean isEffectTransferrable()
Returns whether an opponent claims the effect of this intrinsic ability after taking it by way of a move (etc.).


equals

public boolean equals(java.lang.Object obj)
Description copied from class: StatusEffect
Determine whether two status effects are equal semantically.

Overrides:
equals in class StatusEffect

compareTo

public int compareTo(java.lang.Object obj)
Compare this object to another IntrinsicAbility.

Specified by:
compareTo in interface java.lang.Comparable