net.sf.colossus.game
Class BattleUnit
java.lang.Object
net.sf.colossus.game.BattleUnit
- All Implemented Interfaces:
- BattleCritter
public final class BattleUnit
- extends java.lang.Object
- implements BattleCritter
Class BattleUnit represents a Creature in a specific Battle.
GUI aspects moved to new Class GUIBattleChit.
TODO This should at some point extend Creature, or perhaps Creature can
take care of all so no extend is needed; but right now, Creature handles
some things (e.g. how to change the hexes) differently than how it's done
here, so can not "just delegate it" - needs investigation and checking.
- Author:
- David Ripton, Clemens Katzer (strip GUI issues out, to own new Class)
|
Nested Class Summary |
class |
BattleUnit.Listener
Listeners who needs to be notified if (currently) hits or dead values
change, to trigger repaint: a GUIBattleChit representing this creature |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
LOGGER
private static final java.util.logging.Logger LOGGER
tag
private final int tag
id
private final java.lang.String id
defender
private final boolean defender
creatureType
private final CreatureType creatureType
legion
private final Legion legion
hits
private int hits
poisonDamage
private int poisonDamage
poison
private int poison
slows
private int slows
slowed
private int slowed
currentHex
private BattleHex currentHex
startingHex
private BattleHex startingHex
moved
private boolean moved
struck
private boolean struck
dead
private boolean dead
listeners
private final java.util.Set<BattleUnit.Listener> listeners
- Listeners to be informed when something changes, e.g. right now only
GUIBattleChit that needs to repaint if dead or hits change.
BattleUnit
public BattleUnit(java.lang.String id,
boolean defender,
int tag,
BattleHex currentHex,
CreatureType type,
Legion legion)
getLegion
public Legion getLegion()
getTag
public int getTag()
- Specified by:
getTag in interface BattleCritter
getHits
public int getHits()
- Specified by:
getHits in interface BattleCritter
setHits
public void setHits(int hits)
- Specified by:
setHits in interface BattleCritter
setPoison
public void setPoison(int damage)
setPoisonDamage
public void setPoisonDamage(int damage)
- Specified by:
setPoisonDamage in interface BattleCritter
addPoisonDamage
public void addPoisonDamage(int damage)
- Specified by:
addPoisonDamage in interface BattleCritter
setSlowed
public void setSlowed(int slowValue)
- Specified by:
setSlowed in interface BattleCritter
addSlowed
public void addSlowed(int slowValue)
- Specified by:
addSlowed in interface BattleCritter
setSlows
public void setSlows(int slowValue)
wouldDieFrom
public boolean wouldDieFrom(int hits)
- Specified by:
wouldDieFrom in interface BattleCritter
setDead
public void setDead(boolean dead)
- Specified by:
setDead in interface BattleCritter
isDead
public boolean isDead()
- Specified by:
isDead in interface BattleCritter
getCurrentHex
public BattleHex getCurrentHex()
- Specified by:
getCurrentHex in interface BattleCritter
getStartingHex
public BattleHex getStartingHex()
- Specified by:
getStartingHex in interface BattleCritter
setCurrentHex
public void setCurrentHex(BattleHex hex)
- Specified by:
setCurrentHex in interface BattleCritter
moveToHex
public void moveToHex(BattleHex hex)
- Specified by:
moveToHex in interface BattleCritter
hasMoved
public boolean hasMoved()
- Specified by:
hasMoved in interface BattleCritter
setMoved
public void setMoved(boolean moved)
- Specified by:
setMoved in interface BattleCritter
hasStruck
public boolean hasStruck()
- Specified by:
hasStruck in interface BattleCritter
setStruck
public void setStruck(boolean struck)
- Specified by:
setStruck in interface BattleCritter
getType
public CreatureType getType()
- Specified by:
getType in interface BattleCritter
isDefender
public boolean isDefender()
- Specified by:
isDefender in interface BattleCritter
getId
public java.lang.String getId()
isTitan
public boolean isTitan()
- Specified by:
isTitan in interface BattleCritter
isLord
public boolean isLord()
- Specified by:
isLord in interface BattleCritter
isDemiLord
public boolean isDemiLord()
- Specified by:
isDemiLord in interface BattleCritter
getPower
public int getPower()
- Specified by:
getPower in interface BattleCritter
getTitanPower
public int getTitanPower()
- Specified by:
getTitanPower in interface BattleCritter
getIdBasedTitanPower
public int getIdBasedTitanPower()
getTitanPowerViaLegionAndPlayer
public int getTitanPowerViaLegionAndPlayer()
getSkill
public int getSkill()
- Specified by:
getSkill in interface BattleCritter
getPointValue
public int getPointValue()
- Specified by:
getPointValue in interface BattleCritter
getPoison
public int getPoison()
- Specified by:
getPoison in interface BattleCritter
getPoisonDamage
public int getPoisonDamage()
- Specified by:
getPoisonDamage in interface BattleCritter
getSlowed
public int getSlowed()
- Specified by:
getSlowed in interface BattleCritter
getSlows
public int getSlows()
- Specified by:
getSlows in interface BattleCritter
isRangestriker
public boolean isRangestriker()
- Specified by:
isRangestriker in interface BattleCritter
useMagicMissile
public boolean useMagicMissile()
- Specified by:
useMagicMissile in interface BattleCritter
getDescription
public java.lang.String getDescription()
- Specified by:
getDescription in interface BattleCritter
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
addListener
public void addListener(BattleUnit.Listener listener)
removeListener
public void removeListener(BattleUnit.Listener listener)
notifyListeners
public void notifyListeners()