Package net.sf.colossus.game
Class Creature
- java.lang.Object
-
- net.sf.colossus.game.Creature
-
- Direct Known Subclasses:
CreatureServerSide
,ShowCreatureDetails.SimulatedCritter
public class Creature extends java.lang.Object
A particular creature in a game. This represents a creature in a game, such as a specific Cyclops as part of a legion. TODO it should include the state for battles, i.e. the damage taken so far. Currently that happens only on the server side.
-
-
Field Summary
Fields Modifier and Type Field Description private BattleHex
currentHex
private int
hits
Damage takenstatic java.util.Comparator<Creature>
IMPORTANCE_ORDER
Implements an order on Critters by some definition of importance.protected Legion
legion
private static java.util.logging.Logger
LOGGER
private int
poisonDamage
private int
slowed
private BattleHex
startingHex
private boolean
struck
private CreatureType
type
-
Constructor Summary
Constructors Constructor Description Creature(CreatureType type, Legion legion)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPoisonDamage(int damage)
void
addSlowed(int slowValue)
int
adjustHits(int damage)
Apply damage or healing to this critter.void
commitMove()
BattleHex
getCurrentHex()
java.lang.String
getDescription()
int
getHits()
java.lang.String[]
getImageNames()
Legion
getLegion()
java.lang.String
getMarkerId()
int
getMaxCount()
java.lang.String
getName()
Player
getPlayer()
java.lang.String
getPluralName()
int
getPointValue()
int
getPoison()
int
getPoisonDamage()
int
getPower()
int
getSkill()
int
getSlowed()
int
getSlows()
BattleHex
getStartingHex()
int
getStrikingPower(Creature target, int myElevation, int targetElevation, HazardTerrain myHexTerrain, HazardTerrain targetHexTerrain, HazardHexside myHexside, HazardHexside targetHexside)
Calculates the Striking Power of this Creature when striking directly at target under the circumstances in parameters.int
getStrikingSkill(Creature target, int myElevation, int targetElevation, HazardTerrain myHexTerrain, HazardTerrain targetHexTerrain, HazardHexside myHexside, HazardHexside targetHexside)
Calculates the Striking Skill of this Creature when striking directly at target under the circumstances in parameters.int
getTitanPower()
CreatureType
getType()
boolean
hasMoved()
boolean
hasStruck()
void
heal()
boolean
isDead()
boolean
isDemiLord()
boolean
isFlier()
boolean
isImmortal()
boolean
isLord()
boolean
isLordOrDemiLord()
boolean
isNativeAt(HazardHexside hexside)
boolean
isNativeIn(HazardTerrain terrain)
boolean
isRangestriker()
boolean
isSummonable()
boolean
isTitan()
void
moveToHex(BattleHex hex)
void
setCurrentHex(BattleHex hex)
void
setDead(boolean dead)
void
setHits(int hits)
void
setMoved(boolean moved)
void
setPoisonDamage(int damage)
void
setSlowed(int slowValue)
void
setStartingHex(BattleHex hex)
void
setStruck(boolean struck)
boolean
useMagicMissile()
boolean
wouldDieFrom(int additionalDamage)
-
-
-
Field Detail
-
IMPORTANCE_ORDER
public static final java.util.Comparator<Creature> IMPORTANCE_ORDER
Implements an order on Critters by some definition of importance. The order is: - titans first - then sorted by points value - then sorted by rangestriker or not - then sorted by flyer or not - then by name
-
LOGGER
private static final java.util.logging.Logger LOGGER
-
type
private final CreatureType type
-
legion
protected Legion legion
-
currentHex
private BattleHex currentHex
-
startingHex
private BattleHex startingHex
-
hits
private int hits
Damage taken
-
poisonDamage
private int poisonDamage
-
slowed
private int slowed
-
struck
private boolean struck
-
-
Constructor Detail
-
Creature
public Creature(CreatureType type, Legion legion)
-
-
Method Detail
-
getType
public CreatureType getType()
-
getStrikingPower
public int getStrikingPower(Creature target, int myElevation, int targetElevation, HazardTerrain myHexTerrain, HazardTerrain targetHexTerrain, HazardHexside myHexside, HazardHexside targetHexside)
Calculates the Striking Power of this Creature when striking directly at target under the circumstances in parameters.- Parameters:
target
- The Creature that is struck by the current CreaturemyElevation
- Height of the Hex on which stands the current CreaturetargetElevation
- Height of the hex on which stands the target CreaturemyHexTerrain
- Type of Hazard of the current HextargetHexTerrain
- Type of Hazard of the target hexmyHexside
- Type of hexside hazard between the current hex and the target hextargetHexside
- Type of hexside hazard between the target hex and the current hex- Returns:
- The Power Factor of the current Creature when all modifiers are factored in
-
getStrikingSkill
public int getStrikingSkill(Creature target, int myElevation, int targetElevation, HazardTerrain myHexTerrain, HazardTerrain targetHexTerrain, HazardHexside myHexside, HazardHexside targetHexside)
Calculates the Striking Skill of this Creature when striking directly at target under the circumstances in parameters.- Parameters:
target
- The Creature that is struck by the current CreaturemyElevation
- Height of the Hex on which stands the current CreaturetargetElevation
- Height of the hex on which stands the target CreaturemyHexTerrain
- Type of Hazard of the current HextargetHexTerrain
- Type of Hazard of the target hexmyHexside
- Type of hexside hazard between the current hex and the target hextargetHexside
- Type of hexside hazard between the target hex and the current hex- Returns:
- The Skill Factor of the current Creature when all modifiers are factored in
-
getLegion
public Legion getLegion()
-
getPlayer
public Player getPlayer()
-
getPower
public int getPower()
-
getTitanPower
public int getTitanPower()
-
getMarkerId
public java.lang.String getMarkerId()
-
getName
public java.lang.String getName()
-
isTitan
public boolean isTitan()
-
getDescription
public java.lang.String getDescription()
-
getStartingHex
public BattleHex getStartingHex()
-
setStartingHex
public void setStartingHex(BattleHex hex)
-
getCurrentHex
public BattleHex getCurrentHex()
-
setCurrentHex
public void setCurrentHex(BattleHex hex)
-
moveToHex
public void moveToHex(BattleHex hex)
-
commitMove
public void commitMove()
-
hasMoved
public boolean hasMoved()
-
setMoved
public void setMoved(boolean moved)
-
isDemiLord
public boolean isDemiLord()
-
isFlier
public boolean isFlier()
-
isImmortal
public boolean isImmortal()
-
isLord
public boolean isLord()
-
isLordOrDemiLord
public boolean isLordOrDemiLord()
-
isRangestriker
public boolean isRangestriker()
-
useMagicMissile
public boolean useMagicMissile()
-
isSummonable
public boolean isSummonable()
-
isNativeAt
public boolean isNativeAt(HazardHexside hexside)
-
isNativeIn
public boolean isNativeIn(HazardTerrain terrain)
-
getPointValue
public int getPointValue()
-
getSkill
public int getSkill()
-
getHits
public int getHits()
-
getPoison
public int getPoison()
-
getPoisonDamage
public int getPoisonDamage()
-
getSlowed
public int getSlowed()
-
getSlows
public int getSlows()
-
hasStruck
public boolean hasStruck()
-
setHits
public void setHits(int hits)
-
setPoisonDamage
public void setPoisonDamage(int damage)
-
addPoisonDamage
public void addPoisonDamage(int damage)
-
setSlowed
public void setSlowed(int slowValue)
-
addSlowed
public void addSlowed(int slowValue)
-
setStruck
public void setStruck(boolean struck)
-
isDead
public boolean isDead()
-
setDead
public void setDead(boolean dead)
-
getImageNames
public java.lang.String[] getImageNames()
-
getPluralName
public java.lang.String getPluralName()
-
getMaxCount
public int getMaxCount()
-
heal
public void heal()
-
wouldDieFrom
public boolean wouldDieFrom(int additionalDamage)
-
adjustHits
public int adjustHits(int damage)
Apply damage or healing to this critter. Return the amount of excess damage done, which may sometimes carry to another target.
-
-