mechanics.statuses
Class PercentEffect

java.lang.Object
  extended by mechanics.statuses.StatusEffect
      extended by mechanics.statuses.PercentEffect
All Implemented Interfaces:
java.lang.Cloneable

public class PercentEffect
extends StatusEffect

This class represents an effect that heals or does damage based on a percentage. It can also represent statuses that do damage each turn.


Field Summary
 
Fields inherited from class mechanics.statuses.StatusEffect
m_lock, SPECIAL_EFFECT_LOCK, STATE_ACTIVE, STATE_DEACTIVATED, STATE_REMOVABLE, WEATHER_EFFECT_LOCK
 
Constructor Summary
PercentEffect(double percent, boolean staysOnSwitch, int tier, java.lang.String description)
          Creates a new instance of PercentEffect
 
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.
protected  int calculateChange(Pokemon poke, double percent)
           
 java.lang.String getDescription()
          Get a description of this status effect.
 java.lang.String getName()
          Get the name of this status effect.
 double getPercent()
           
 int getTier()
          Remove the tier of the after-turn effect.
 boolean immobilises(Pokemon poke)
          Return whether this effect immobilises the pokemon.
 boolean isSingleton()
          Determine whether this effect is a singleton -- i.e., whether only a single copy of it can be present on a pokemon.
 void setPercent(double percent)
          Change the percent that this move heals/hurts.
 boolean switchOut(Pokemon p)
          Called when a pokemon with this status effect switches out.
 boolean tick(Pokemon p)
          Called each turn that this status effect is applied to a pokemon.
 void unapply(Pokemon p)
          Unapply this status effect.
 
Methods inherited from class mechanics.statuses.StatusEffect
activate, apply, beginTick, canSwitch, canSwitch, clone, deactivate, deactivates, disable, equals, executeTurn, getEffectiveness, getEnemyTransformedEffectiveness, getEnemyTransformedMove, getInducer, getLock, getMove, getTierCount, getTransformedEffectiveness, getTransformedMove, hitsThroughSubstitute, informDamaged, informDuplicateEffect, isActive, isEffectivenessTransformer, isExclusiveWith, isListener, isMoveTransformer, isPassable, isRemovable, setInducer, switchIn, vetoesMove
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PercentEffect

public PercentEffect(double percent,
                     boolean staysOnSwitch,
                     int tier,
                     java.lang.String description)
Creates a new instance of PercentEffect

Method Detail

getName

public java.lang.String getName()
Description copied from class: StatusEffect
Get the name of this status effect.

Overrides:
getName 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

setPercent

public void setPercent(double percent)
Change the percent that this move heals/hurts.


getPercent

public double getPercent()

calculateChange

protected int calculateChange(Pokemon poke,
                              double percent)

tick

public boolean tick(Pokemon p)
Description copied from class: StatusEffect
Called each turn that this status effect is applied to a pokemon. Returns whether the status was removed.

Overrides:
tick in class StatusEffect

getTier

public int getTier()
Description copied from class: StatusEffect
Remove the tier of the after-turn effect.

Overrides:
getTier 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

isSingleton

public boolean isSingleton()
Description copied from class: StatusEffect
Determine whether this effect is a singleton -- i.e., whether only a single copy of it can be present on a pokemon.

Overrides:
isSingleton in class StatusEffect

unapply

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

Overrides:
unapply in class StatusEffect

getDescription

public java.lang.String getDescription()
Description copied from class: StatusEffect
Get a description of this status effect.

Overrides:
getDescription in class StatusEffect

immobilises

public boolean immobilises(Pokemon poke)
Description copied from class: StatusEffect
Return whether this effect immobilises the pokemon.

Overrides:
immobilises in class StatusEffect