com.planet_ink.coffee_mud.Behaviors
Class CombatAbilities

java.lang.Object
  extended by com.planet_ink.coffee_mud.Behaviors.StdBehavior
      extended by com.planet_ink.coffee_mud.Behaviors.CombatAbilities
All Implemented Interfaces:
Behavior, CMObject, Contingent, Modifiable, MsgListener, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
Bardness, Clericness, Druidness, Fighterness, Mageness, MOBTeacher, Thiefness

public class CombatAbilities
extends StdBehavior


Field Summary
 java.util.Map<MOB,int[]> aggro
           
 short chkDown
           
protected static java.lang.String[] CODES
           
static int COMBAT_DEFENSIVE
           
static int COMBAT_MIXEDDEFENSIVE
           
static int COMBAT_MIXEDOFFENSIVE
           
static int COMBAT_OFFENSIVE
           
static int COMBAT_ONLYALWAYS
           
static int COMBAT_RANDOM
           
 int combatMode
           
protected  java.lang.String lastSpell
           
static java.lang.String[] names
           
protected  boolean noCombatStat
           
protected  boolean noStat
           
protected  int physicalDamageTaken
           
protected  int preCastDown
           
protected  int preCastSet
           
protected  boolean proficient
           
protected  java.lang.StringBuffer record
           
 java.util.List<java.lang.String> skillsAlways
           
 java.util.List<java.lang.String> skillsNever
           
protected  boolean[] wandUseCheck
           
protected  com.planet_ink.coffee_mud.Behaviors.CombatAbilities.InternalWeaponSet weaponSet
           
 
Fields inherited from class com.planet_ink.coffee_mud.Behaviors.StdBehavior
isSavableBehavior, parms
 
Fields inherited from interface com.planet_ink.coffee_mud.Behaviors.interfaces.Behavior
CAN_AREAS, CAN_EXITS, CAN_ITEMS, CAN_MOBS, CAN_ROOMS, FLAG_LEGALBEHAVIOR, FLAG_MOBILITY, FLAG_POTENTIALLYAGGRESSIVE, FLAG_POTENTIALLYAUTODEATHING, FLAG_TROUBLEMAKING
 
Fields inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
STATUS_AFFECT, STATUS_ALIVE, STATUS_BEHAVIOR, STATUS_CLASS, STATUS_DEAD, STATUS_END, STATUS_FIGHT, STATUS_MISC, STATUS_MISC2, STATUS_MISC3, STATUS_MISC4, STATUS_MISC5, STATUS_MISC6, STATUS_MISC7, STATUS_NOT, STATUS_OTHER, STATUS_RACE, STATUS_REBIRTH, STATUS_SCRIPT, STATUS_START, STATUS_WEATHER, TICKID_AREA, TICKID_BEAMWEAPON, TICKID_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_ELECTRONICS, TICKID_EMAIL, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MISCELLANEOUS, TICKID_MOB, TICKID_PROPERTY_SPECIAL, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SOLITARYMASK, TICKID_SPECIALCOMBAT, TICKID_SPECIALMANEUVER, TICKID_SPELL_AFFECT, TICKID_SUPPORT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET
 
Constructor Summary
CombatAbilities()
           
 
Method Summary
 java.lang.String accountForYourself()
          Returns a string describing what this behavior does.
 void adjustAggro(MOB hostM, MOB attackerM, int amt)
           
 void executeMsg(Environmental host, CMMsg msg)
          The general message event handler for the object.
protected  int getCodeNum(java.lang.String code)
           
protected  java.lang.String getParmsMinusCombatMode()
           
 java.lang.String getStat(java.lang.String code)
          An alternative means of retreiving the values of those fields on this object which are modifiable at run-time by builders.
 java.lang.String[] getStatCodes()
          Returns an array of the string names of those fields which are modifiable on this object at run-time by builders.
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
protected  boolean isRightCombatAbilities(MOB mob)
           
protected  void makeClass(MOB mob, java.lang.String theParms, java.lang.String defaultClassName)
           
protected  void newCharacter(MOB mob)
           
 void setCharStats(MOB mob)
           
 void setCombatStats(MOB mob, int attack, int armor, int damage, int hp, int mana, int move, boolean pushDownSpeed)
           
 void setStat(java.lang.String code, java.lang.String val)
          An alternative means of setting the values of those fields on this object which are modifiable at run-time by builders.
 void startBehavior(PhysicalAgent forMe)
          Called after a behavior is added to a Behavable object.
 boolean tick(Tickable ticking, int tickID)
          this is the method which is called periodically by the threading engine.
protected  Ability useSkill(MOB mob, MOB victim, MOB leader)
           
 
Methods inherited from class com.planet_ink.coffee_mud.Behaviors.StdBehavior
amDestroyed, canActAtAll, canFreelyBehaveNormal, canImprove, canImprove, canImproveCode, compareTo, copyOf, destroy, externalFiles, flags, getBehaversMOB, getBehaversRoom, getParms, getSaveStatIndex, getTickStatus, grantsAggressivenessTo, initializeClass, isSavable, isStat, L, name, newInstance, okMessage, parmsFormat, registerDefaultQuest, sameAs, setParms, setSavable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

combatMode

public int combatMode

aggro

public java.util.Map<MOB,int[]> aggro

chkDown

public short chkDown

skillsNever

public java.util.List<java.lang.String> skillsNever

skillsAlways

public java.util.List<java.lang.String> skillsAlways

wandUseCheck

protected boolean[] wandUseCheck

proficient

protected boolean proficient

preCastSet

protected int preCastSet

preCastDown

protected int preCastDown

lastSpell

protected java.lang.String lastSpell

noStat

protected boolean noStat

noCombatStat

protected boolean noCombatStat

record

protected java.lang.StringBuffer record

physicalDamageTaken

protected int physicalDamageTaken

weaponSet

protected com.planet_ink.coffee_mud.Behaviors.CombatAbilities.InternalWeaponSet weaponSet

COMBAT_RANDOM

public static final int COMBAT_RANDOM
See Also:
Constant Field Values

COMBAT_DEFENSIVE

public static final int COMBAT_DEFENSIVE
See Also:
Constant Field Values

COMBAT_OFFENSIVE

public static final int COMBAT_OFFENSIVE
See Also:
Constant Field Values

COMBAT_MIXEDOFFENSIVE

public static final int COMBAT_MIXEDOFFENSIVE
See Also:
Constant Field Values

COMBAT_MIXEDDEFENSIVE

public static final int COMBAT_MIXEDDEFENSIVE
See Also:
Constant Field Values

COMBAT_ONLYALWAYS

public static final int COMBAT_ONLYALWAYS
See Also:
Constant Field Values

names

public static final java.lang.String[] names

CODES

protected static java.lang.String[] CODES
Constructor Detail

CombatAbilities

public CombatAbilities()
Method Detail

ID

public java.lang.String ID()
Description copied from interface: CMObject
The CoffeeMud Java Class ID shared by all instances of this object. Unlike the Java Class name, this method does not include package information. However, it must return a String value unique to its class category in the ClassLoader. Class categories include Libraries, Common, Areas, Abilities, Behaviors, CharClasses, Commands, Exits Locales, MOBS, Races, WebMacros, Basic Items, Armor, Weapons, ClanItems, Tech. The name is typically identical to the class name.

Specified by:
ID in interface CMObject
Overrides:
ID in class StdBehavior
Returns:
the name of this class

accountForYourself

public java.lang.String accountForYourself()
Description copied from interface: Behavior
Returns a string describing what this behavior does. Mostly for thought and behavior reading systems.

Specified by:
accountForYourself in interface Behavior
Overrides:
accountForYourself in class StdBehavior
Returns:
a string describing what this behavior does.

makeClass

protected void makeClass(MOB mob,
                         java.lang.String theParms,
                         java.lang.String defaultClassName)

getParmsMinusCombatMode

protected java.lang.String getParmsMinusCombatMode()

newCharacter

protected void newCharacter(MOB mob)

setCombatStats

public void setCombatStats(MOB mob,
                           int attack,
                           int armor,
                           int damage,
                           int hp,
                           int mana,
                           int move,
                           boolean pushDownSpeed)

setCharStats

public void setCharStats(MOB mob)

adjustAggro

public void adjustAggro(MOB hostM,
                        MOB attackerM,
                        int amt)

executeMsg

public void executeMsg(Environmental host,
                       CMMsg msg)
Description copied from interface: MsgListener
The general message event handler for the object. Messages passed herein may not necessarily be FOR this object, or from it, but will almost always represent events happening in the same room. The messages have already been through an approval process, so this method is called only to affect the final execution of the meaning of the message. Every game event goes through these methods.

Specified by:
executeMsg in interface MsgListener
Overrides:
executeMsg in class StdBehavior
Parameters:
host - either the initiator of the event, or the host of this object
msg - the CMMsg that needs to be executed
See Also:
CMMsg

startBehavior

public void startBehavior(PhysicalAgent forMe)
Description copied from interface: Behavior
Called after a behavior is added to a Behavable object. The point is to do any initializing. This method assumes setParms() has already been called as well.

Specified by:
startBehavior in interface Behavior
Overrides:
startBehavior in class StdBehavior
Parameters:
forMe - the object to which this behavior has been added
See Also:
Behavable.addBehavior(Behavior), Behavior.setParms(String)

isRightCombatAbilities

protected boolean isRightCombatAbilities(MOB mob)

useSkill

protected Ability useSkill(MOB mob,
                           MOB victim,
                           MOB leader)
                    throws CMException
Throws:
CMException

tick

public boolean tick(Tickable ticking,
                    int tickID)
Description copied from interface: Tickable
this is the method which is called periodically by the threading engine. How often it is called depends on the parameters passed to the threadding engine when it is submitted for thread access. Typically the period is once per TIME_TICK period, but that is determined when the object is submitted to the thread engine.

Specified by:
tick in interface Tickable
Overrides:
tick in class StdBehavior
Parameters:
ticking - a reference to this Tickable object
tickID - the TICKID_ constant describing this periodic call, as defined in Tickable
Returns:
true always, unless this object no longer wishes to ever tick again, in which case false
See Also:
Tickable, ServiceEngine, TickableGroup

getStatCodes

public java.lang.String[] getStatCodes()
Description copied from interface: Modifiable
Returns an array of the string names of those fields which are modifiable on this object at run-time by builders.

Specified by:
getStatCodes in interface Modifiable
Overrides:
getStatCodes in class StdBehavior
Returns:
list of the fields which may be set.
See Also:
Modifiable.getStat(String), Modifiable.setStat(String, String)

getCodeNum

protected int getCodeNum(java.lang.String code)
Overrides:
getCodeNum in class StdBehavior

getStat

public java.lang.String getStat(java.lang.String code)
Description copied from interface: Modifiable
An alternative means of retreiving the values of those fields on this object which are modifiable at run-time by builders. See getStatCodes() for possible values for the code passed to this method. Values returned are always strings, even if the field itself is numeric or a list.

Specified by:
getStat in interface Modifiable
Overrides:
getStat in class StdBehavior
Parameters:
code - the name of the field to read.
Returns:
the value of the field read
See Also:
Modifiable.getStatCodes()

setStat

public void setStat(java.lang.String code,
                    java.lang.String val)
Description copied from interface: Modifiable
An alternative means of setting the values of those fields on this object which are modifiable at run-time by builders. See getStatCodes() for possible values for the code passed to this method. The value passed in is always a string, even if the field itself is numeric or a list.

Specified by:
setStat in interface Modifiable
Overrides:
setStat in class StdBehavior
Parameters:
code - the name of the field to set
val - the value to set the field to
See Also:
Modifiable.getStatCodes()