gecco.game.dke
Class WarUnit

java.lang.Object
  |
  +--gecco.server.core.Unit
        |
        +--gecco.game.dke.WarUnit
All Implemented Interfaces:
Comparable, ReplayReady
Direct Known Subclasses:
BlueWarUnit, RedWarUnit, WarUnitDKE3

public abstract class WarUnit
extends Unit
implements ReplayReady


Field Summary
 boolean attackInitiated
           
 boolean regainingStrength
           
 boolean underAttackInitiated
           
 
Fields inherited from class gecco.server.core.Unit
activeAction, blockedActions, commander, handle, intX, intY, isDestroyed, name, observers, properties, type, unitType, updatedActions, updatedProperties, x, y
 
Fields inherited from interface gecco.server.replaymanager.ReplayReady
AUTOMATON, MOVING_ACTION, UNIT
 
Constructor Summary
WarUnit()
           
 
Method Summary
 void advanceAfterCombat(double enemyX, double enemyY)
           
 boolean attack(WarUnit target)
          Starts an attack on target.
 boolean cantMoveTo(int automatonState)
           
 void combatEnded()
           
 void combatResult(int result, int enemyResult, double enemyX, double enemyY)
           
 void consumeAmmunition()
           
 void decreaseAmmunitionLevel(int n)
           
 int decreaseAttackFactor(int n)
           
 int decreaseDefenceFactor(int n)
           
 void decreaseFuelLevel(double x)
           
 int decreaseHealth(int n)
           
 int decreaseIndirectFireFactor(int n)
           
 void fuelConsumtion()
           
 void fuelConsumtion(double distance)
           
 int getAmmunitionLevel()
           
 double getAmmunitionLevelAttackFactor()
           
 double getAmmunitionLevelDefenceFactor()
           
 int getAttackFactor()
           
 boolean getAttacking()
           
 int getAttackValue()
           
 double getCombatExtendTime()
           
 int getDefenceFactor()
           
 int getDefenceValue()
           
 double getDisturbedTime()
           
 Vector getEnemyForcesWithinRangeOfUnit()
          Returns a Vector containing the WarUnit object of the enemy forces whitin the range of the WarUnit
 int getForce()
           
 double getFuelLevel()
           
 int getFuelLevelProperty()
           
 double getFuelLevelSpeedFactor()
           
 int getGroundState()
           
 int getHealth()
           
 WarUnit getInCombatWhith()
           
 int getIndirectFireDispersion()
           
 double getIndirectFireExtendTime()
           
 int getIndirectFireFactor()
           
 int getRegainStrengthTime()
           
 double getReloadExtendTime()
           
 int getSpeedFactor()
           
 WarUnit getSupports()
           
 double getTimeToShowIndirectFire()
           
 boolean getUnderAttack()
           
 void init()
          This method is called once before the game starts.
 WarUnit initUnderAttack(WarUnit attacker)
           
 boolean isAdvancing()
           
 boolean isAttacking()
           
 boolean isDisturbed()
           
 boolean isEnemyForcesWithinRangeOfUnit()
           
 boolean isEnemyForcesWithinRangeOfUnit(Vector excludedUnits)
           
 boolean isFiringIndirect()
           
 boolean isInCombat()
           
 boolean isMarching()
           
 boolean isOutsideMap(double x, double y)
           
 boolean isRegainingStrength()
           
 boolean isReloading()
           
 boolean isUnderAttack()
           
 boolean isUnderIndirectFire()
           
 void joinForCombat(WarUnit brotherInArms)
           
 void markAsDestroyed()
          Mark the unit as destroyed.
 void performRetreatTo(double x, double y)
           
 void playReplayData(int method, Object[] parameters)
           
 void printWriteMe(PrintWriter out)
           
 void regainStrength()
           
 void releaseFiringIndirect()
           
 void resetCombatants()
           
 void resetDisturbed(int actionHandle)
           
 void retreatAfterCombat(double enemyX, double enemyY)
           
 void saveReplayData(int method, Object[] parameters)
           
 void sendCombatEndedMessage(int ownDamage, int enemyDamage)
           
 void sendUnitMessage(String s)
          Sends a message to all observers of the unit (as well as to all God's Eye roles).
 void setAdvancing(boolean b)
           
 void setAmmunitionLevel(int n)
           
 void setAttackFactor(int n)
           
 void setAttacking(boolean b)
           
 void setDefenceFactor(int n)
           
 void setDisturbed(boolean b)
           
 void setFiringIndirect(boolean b)
           
 void setForce(int force)
           
 void setFuelLevel(double x)
           
 void setFuelLevelProperty(int n)
           
 void setHealth(int n)
           
 void setInCombatWhith(WarUnit u)
           
 void setIndirectFireFactor(int n)
           
 void setMarching(boolean b)
           
 void setPosition(double x, double y)
          Sets the Position attribute of the Unit object
 void setPosition(double x, double y, boolean autoAttack)
           
 void setRegainingStrength(boolean b)
           
 void setRegainStrengthProperty(String s)
           
 void setReloading(boolean b)
           
 void setReloadProperty(String s)
           
 void setSpeedFactor(int n)
           
 void setSupports(WarUnit wU)
           
 void setUnderAttack(boolean b)
           
 void setUnderIndirectFire(boolean b)
           
 String toString()
           
 void underIndirectFire(int factor)
           
 void underIndirectFireCompleted()
          Calculates the effect of indirect fire
 void updateStatus()
           
 void updateZoneOfControll()
           
 
Methods inherited from class gecco.server.core.Unit
abortAllActions, addBlockedAction, addObserver, canSeeAutomatonAtPosition, compareTo, equals, getActiveAction, getBlockedActions, getCommander, getDoubleProperty, getHandle, getIntProperty, getIntX, getIntY, getName, getObservers, getProperties, getProperty, getPropertyType, getStringProperty, getUnitType, getUpdatedActions, getUpdatedProperties, getX, getY, hashCode, isDestroyed, isObserver, removeBlockedAction, removeObserver, removeProperty, resetUpdatedActions, resetUpdatedProperties, setActiveAction, setCommander, setHandle, setName, setProperty, setProperty, setProperty, setUnitType
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

underAttackInitiated

public boolean underAttackInitiated

attackInitiated

public boolean attackInitiated

regainingStrength

public boolean regainingStrength
Constructor Detail

WarUnit

public WarUnit()
Method Detail

init

public void init()
Description copied from class: Unit
This method is called once before the game starts. All the properties are set and that makes this method usful for saving intial states and set up variables for a Unit HS

Overrides:
init in class Unit

markAsDestroyed

public void markAsDestroyed()
Description copied from class: Unit
Mark the unit as destroyed.

Overrides:
markAsDestroyed in class Unit

getGroundState

public int getGroundState()

setPosition

public void setPosition(double x,
                        double y)
Description copied from class: Unit
Sets the Position attribute of the Unit object

Overrides:
setPosition in class Unit
Parameters:
x - The x coordinate of the new position
y - The y coordinate of the new position

setPosition

public void setPosition(double x,
                        double y,
                        boolean autoAttack)

setAttacking

public void setAttacking(boolean b)

setUnderAttack

public void setUnderAttack(boolean b)

getAttacking

public boolean getAttacking()

getUnderAttack

public boolean getUnderAttack()

setSupports

public void setSupports(WarUnit wU)

getSupports

public WarUnit getSupports()

attack

public boolean attack(WarUnit target)
Starts an attack on target. if target is allready in combat, that combat is joined. Returns true if there wasn't another combat going on.

Parameters:
target - a WarUnit value
Returns:
a boolean value

initUnderAttack

public WarUnit initUnderAttack(WarUnit attacker)

joinForCombat

public void joinForCombat(WarUnit brotherInArms)

combatEnded

public void combatEnded()

combatResult

public void combatResult(int result,
                         int enemyResult,
                         double enemyX,
                         double enemyY)

sendCombatEndedMessage

public void sendCombatEndedMessage(int ownDamage,
                                   int enemyDamage)

retreatAfterCombat

public void retreatAfterCombat(double enemyX,
                               double enemyY)

performRetreatTo

public void performRetreatTo(double x,
                             double y)

advanceAfterCombat

public void advanceAfterCombat(double enemyX,
                               double enemyY)

getAttackValue

public int getAttackValue()

getDefenceValue

public int getDefenceValue()

resetCombatants

public void resetCombatants()

isInCombat

public boolean isInCombat()

getInCombatWhith

public WarUnit getInCombatWhith()

setInCombatWhith

public void setInCombatWhith(WarUnit u)

getSpeedFactor

public int getSpeedFactor()

setSpeedFactor

public void setSpeedFactor(int n)

getAttackFactor

public int getAttackFactor()

setAttackFactor

public void setAttackFactor(int n)

decreaseAttackFactor

public int decreaseAttackFactor(int n)

getDefenceFactor

public int getDefenceFactor()

setDefenceFactor

public void setDefenceFactor(int n)

decreaseDefenceFactor

public int decreaseDefenceFactor(int n)

getIndirectFireFactor

public int getIndirectFireFactor()

setIndirectFireFactor

public void setIndirectFireFactor(int n)

decreaseIndirectFireFactor

public int decreaseIndirectFireFactor(int n)

releaseFiringIndirect

public void releaseFiringIndirect()

getHealth

public int getHealth()

setHealth

public void setHealth(int n)

decreaseHealth

public int decreaseHealth(int n)

setFuelLevelProperty

public void setFuelLevelProperty(int n)

getFuelLevelProperty

public int getFuelLevelProperty()

getFuelLevel

public double getFuelLevel()

setFuelLevel

public void setFuelLevel(double x)

decreaseFuelLevel

public void decreaseFuelLevel(double x)

getFuelLevelSpeedFactor

public double getFuelLevelSpeedFactor()

fuelConsumtion

public void fuelConsumtion(double distance)

fuelConsumtion

public void fuelConsumtion()

setAmmunitionLevel

public void setAmmunitionLevel(int n)

getAmmunitionLevel

public int getAmmunitionLevel()

decreaseAmmunitionLevel

public void decreaseAmmunitionLevel(int n)

getAmmunitionLevelAttackFactor

public double getAmmunitionLevelAttackFactor()

getAmmunitionLevelDefenceFactor

public double getAmmunitionLevelDefenceFactor()

consumeAmmunition

public void consumeAmmunition()

regainStrength

public void regainStrength()

setFiringIndirect

public void setFiringIndirect(boolean b)

setUnderIndirectFire

public void setUnderIndirectFire(boolean b)

setDisturbed

public void setDisturbed(boolean b)

setMarching

public void setMarching(boolean b)

setAdvancing

public void setAdvancing(boolean b)

setReloading

public void setReloading(boolean b)

setRegainingStrength

public void setRegainingStrength(boolean b)

isDisturbed

public boolean isDisturbed()

isMarching

public boolean isMarching()

isAdvancing

public boolean isAdvancing()

isUnderIndirectFire

public boolean isUnderIndirectFire()

isFiringIndirect

public boolean isFiringIndirect()

isAttacking

public boolean isAttacking()

isUnderAttack

public boolean isUnderAttack()

isReloading

public boolean isReloading()

isRegainingStrength

public boolean isRegainingStrength()

updateStatus

public void updateStatus()

setReloadProperty

public void setReloadProperty(String s)

setRegainStrengthProperty

public void setRegainStrengthProperty(String s)

getForce

public int getForce()

setForce

public void setForce(int force)

getReloadExtendTime

public double getReloadExtendTime()

getIndirectFireExtendTime

public double getIndirectFireExtendTime()

getIndirectFireDispersion

public int getIndirectFireDispersion()

underIndirectFire

public void underIndirectFire(int factor)

getTimeToShowIndirectFire

public double getTimeToShowIndirectFire()

underIndirectFireCompleted

public void underIndirectFireCompleted()
Calculates the effect of indirect fire


resetDisturbed

public void resetDisturbed(int actionHandle)

getDisturbedTime

public double getDisturbedTime()

getCombatExtendTime

public double getCombatExtendTime()

getRegainStrengthTime

public int getRegainStrengthTime()

sendUnitMessage

public void sendUnitMessage(String s)
Description copied from class: Unit
Sends a message to all observers of the unit (as well as to all God's Eye roles).

Overrides:
sendUnitMessage in class Unit
Parameters:
s - The message to be sent.

cantMoveTo

public boolean cantMoveTo(int automatonState)

isEnemyForcesWithinRangeOfUnit

public boolean isEnemyForcesWithinRangeOfUnit(Vector excludedUnits)

isEnemyForcesWithinRangeOfUnit

public boolean isEnemyForcesWithinRangeOfUnit()

getEnemyForcesWithinRangeOfUnit

public Vector getEnemyForcesWithinRangeOfUnit()
Returns a Vector containing the WarUnit object of the enemy forces whitin the range of the WarUnit

Returns:
a Vector value

updateZoneOfControll

public void updateZoneOfControll()

isOutsideMap

public boolean isOutsideMap(double x,
                            double y)

toString

public String toString()
Overrides:
toString in class Unit
Returns:
description of instance

printWriteMe

public void printWriteMe(PrintWriter out)
Overrides:
printWriteMe in class Unit

saveReplayData

public void saveReplayData(int method,
                           Object[] parameters)
Specified by:
saveReplayData in interface ReplayReady

playReplayData

public void playReplayData(int method,
                           Object[] parameters)
Specified by:
playReplayData in interface ReplayReady
Parameters:
method - the method that should be called
parameters - an Object[] containing the parameters for the method