net.sf.freecol.server.ai.mission
Class PrivateerMission

java.lang.Object
  extended by net.sf.freecol.common.model.FreeColObject
      extended by net.sf.freecol.server.ai.AIObject
          extended by net.sf.freecol.server.ai.mission.Mission
              extended by net.sf.freecol.server.ai.mission.PrivateerMission

public class PrivateerMission
extends Mission


Field Summary
 
Fields inherited from class net.sf.freecol.common.model.FreeColObject
ID_ATTRIBUTE_TAG
 
Constructor Summary
PrivateerMission(AIMain aiMain, AIUnit aiUnit)
          Creates a mission for the given AIUnit.
PrivateerMission(AIMain aiMain, org.w3c.dom.Element element)
          Loads a mission from the given element.
PrivateerMission(AIMain aiMain, javax.xml.stream.XMLStreamReader in)
          Creates a new UnitWanderHostileMission and reads the given element.
 
Method Summary
 void doMission(Connection connection)
          Performs the mission.
 java.lang.String getDebuggingInfo()
          Gets debugging information about this mission.
static int getModifierValueForTarget(CombatModel combatModel, Unit attacker, Unit defender)
          Calculates the modifier used when assessing the value of a target to a privateer Note: it gives a modifier value, other parameters should be considered as well Note: we assume the unit given is a privateer, no test is made
static java.lang.String getXMLElementTagName()
          Returns the tag name of the root element representing this object.
 boolean isValid()
          Checks if this mission is still valid to perform.
static boolean isValid(AIUnit aiUnit)
          Checks if this mission is valid for the given unit.
 
Methods inherited from class net.sf.freecol.server.ai.mission.Mission
attack, buyGoods, dispose, findNearestColony, getAIUnit, getTransportDestination, getTransportPriority, getUnit
 
Methods inherited from class net.sf.freecol.server.ai.AIObject
getAIMain, getGame, isUninitialized, readFromXML
 
Methods inherited from class net.sf.freecol.common.model.FreeColObject
addPropertyChangeListener, addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAttribute, getAttribute, getAttribute, getAttribute, getId, getPropertyChangeListeners, getPropertyChangeListeners, hasAbility, hasAttribute, hasListeners, readFromXMLElement, removePropertyChangeListener, removePropertyChangeListener, toXML, toXML, toXML, toXMLElement, toXMLElement, toXMLElement, toXMLElement, toXMLElementPartial, writeAttribute, writeFreeColGameObject
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrivateerMission

public PrivateerMission(AIMain aiMain,
                        AIUnit aiUnit)
Creates a mission for the given AIUnit.

Parameters:
aiMain - The main AI-object.
aiUnit - The AIUnit this mission is created for.

PrivateerMission

public PrivateerMission(AIMain aiMain,
                        org.w3c.dom.Element element)
Loads a mission from the given element.

Parameters:
aiMain - The main AI-object.
element - An Element containing an XML-representation of this object.

PrivateerMission

public PrivateerMission(AIMain aiMain,
                        javax.xml.stream.XMLStreamReader in)
                 throws javax.xml.stream.XMLStreamException
Creates a new UnitWanderHostileMission and reads the given element.

Parameters:
aiMain - The main AI-object.
in - The input stream containing the XML.
Throws:
javax.xml.stream.XMLStreamException - if a problem was encountered during parsing.
See Also:
AIObject.readFromXML(javax.xml.stream.XMLStreamReader)
Method Detail

doMission

public void doMission(Connection connection)
Performs the mission. This is done by searching for hostile units that are located within one tile and attacking them. If no such units are found, then wander in a random direction.

Specified by:
doMission in class Mission
Parameters:
connection - The Connection to the server.

isValid

public static boolean isValid(AIUnit aiUnit)
Checks if this mission is valid for the given unit.

Parameters:
aiUnit - The unit.
Returns:
true if this mission is valid to perform and false otherwise.

isValid

public boolean isValid()
Checks if this mission is still valid to perform.

Overrides:
isValid in class Mission
Returns:
true

getXMLElementTagName

public static java.lang.String getXMLElementTagName()
Returns the tag name of the root element representing this object.

Returns:
The String "unitWanderHostileMission".

getDebuggingInfo

public java.lang.String getDebuggingInfo()
Gets debugging information about this mission. This string is a short representation of this object's state.

Overrides:
getDebuggingInfo in class Mission
Returns:
An empty String. Should be replaced by subclasses.

getModifierValueForTarget

public static int getModifierValueForTarget(CombatModel combatModel,
                                            Unit attacker,
                                            Unit defender)
Calculates the modifier used when assessing the value of a target to a privateer Note: it gives a modifier value, other parameters should be considered as well Note: we assume the unit given is a privateer, no test is made

Parameters:
combatModel - The Combat Model used.
attacker - The Unit attacking, should be a privateer.
defender - The Unit the attacker is considering as a target.
Returns:
The modifier value the defender is worth as a target to the privateer