com.planet_ink.coffee_mud.CharClasses
Class Fighter

java.lang.Object
  extended by com.planet_ink.coffee_mud.CharClasses.StdCharClass
      extended by com.planet_ink.coffee_mud.CharClasses.Fighter
All Implemented Interfaces:
CharClass, CMObject, Modifiable, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>

public class Fighter
extends StdCharClass


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.CharClasses.interfaces.CharClass
CharClass.SubClassRule
 
Field Summary
protected static java.util.TreeMap<java.lang.String,long[]> duelWinners
           
protected static long lastDuelWinner
           
protected static long MILLIS_BETWEEN_DUEL_WINS
           
 
Fields inherited from class com.planet_ink.coffee_mud.CharClasses.StdCharClass
cachedRaceQualList, CODES, finalAllowedRaceSet, hitPointDescReplacePairs, hitPointsDesc, lastPropsCheckTime, manaDesc, manaDescReplacePairs, maxStatAdj, movementDesc, movementDescReplacePairs, names, outfitChoices, previousRaceListHash
 
Fields inherited from interface com.planet_ink.coffee_mud.CharClasses.interfaces.CharClass
ARMOR_ANY, ARMOR_CLOTH, ARMOR_DESCS, ARMOR_LEATHER, ARMOR_LONGDESC, ARMOR_METALONLY, ARMOR_NONMETAL, ARMOR_OREONLY, ARMOR_VEGAN, ARMOR_WEARMASK, GENFLAG_DESCS, GENFLAG_NOEXP, GENFLAG_NOLEVELS, GENFLAG_NORACE, GENFLAG_THINQUALLIST, WEAPONS_ALLCLERIC, WEAPONS_ANY, WEAPONS_BURGLAR, WEAPONS_DAGGERONLY, WEAPONS_EVILCLERIC, WEAPONS_FLAILONLY, WEAPONS_GOODCLERIC, WEAPONS_LONGDESC, WEAPONS_MAGELIKE, WEAPONS_MERLIKE, WEAPONS_NATURAL, WEAPONS_NEUTRALCLERIC, WEAPONS_ROCKY, WEAPONS_SETS, WEAPONS_STAFFONLY, WEAPONS_THIEFLIKE
 
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
Fighter()
           
 
Method Summary
 int allowedArmorLevel()
          A code designating what kind of armor can be used by this class without affecting their skills.
 int availabilityCode()
          Returns one or a combination of the Area.THEME_* constants from the Area interface.
 java.lang.String baseClass()
          Returns the base-class of this class.
static void conquestExperience(CharClass C, Environmental host, CMMsg msg)
           
static void duelExperience(CharClass C, Environmental host, CMMsg msg)
           
 void executeMsg(Environmental host, CMMsg msg)
          The general message event handler for the object.
 int getAttackAttribute()
          Returns which of the CharStats.STAT_* constants should be used to calculate the standard attack prowess points given when a member of this class gains a level.
 int getBonusAttackLevel()
          Returns the number of bonus attack points received by members of this class when they gain a level.
 int getBonusPracLevel()
          Returns the number of bonus practices received by members of this class when they gain a level.
 java.lang.String getHitPointsFormula()
          Returns the formula used every time a player of this class gains a level as this class.
 int getLevelsPerBonusDamage()
          Returns the number of levels which must be gained by a member of this class before they gain 1 more point of default damage per hit.
 java.lang.String getManaFormula()
          Returns the formula used every time a player of this class gains a level as this class.
 Pair<java.lang.String,java.lang.Integer>[] getMinimumStatRequirements()
          Returns pairings of stat names and the minimum a player must have in the state in order to learn this class.
 java.lang.String getMovementFormula()
          Returns the formula used every time a player of this class gains a level as this class.
 java.lang.String getOtherBonusDesc()
          Returns a text description of any bonus properties granted by this class to its members.
 int getPracsFirstLevel()
          Returns the number of practices received by members of this class when they are first created.
 java.lang.String[] getRequiredRaceList()
          Returns an array of Strings containing either the names of particular races, racial categories, or the word "ANY" to mean any class is OK.
 int getTrainsFirstLevel()
          Returns the number of training points received by members of this class when they are first created.
 void grantAbilities(MOB mob, boolean isBorrowedClass)
          Typically called when a mob gains a level in this class, to allow the class to assign any new skills.
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 void initializeClass()
          Called ONCE after all objects are loaded, but before the map is read in during initialization.
 java.lang.String name()
          Returns the generally displayable name of this class.
 java.util.List<Item> outfit(MOB myChar)
          Returns a vector of Item objects representing the standard clothing, weapons, or other objects commonly given to players of this class just starting out.
 
Methods inherited from class com.planet_ink.coffee_mud.CharClasses.StdCharClass
addedExpertise, adjustExperienceGain, affectCharState, affectCharStats, affectPhyStats, allowedWeaponLevel, armorCheck, armorFailMessage, buildDisallowedWeaponClasses, buildDisallowedWeaponClasses, buildRequiredWeaponMaterials, canBeABenificiary, canBeADivider, checkRaceQualifierChanges, classDurationModifier, classLevelModifier, classParms, cloneFix, compareTo, copyOf, disallowedWeaponClasses, endCharacter, expless, getArmorLimitDesc, getAttackDesc, getCodeNum, getDamageDesc, getHitPointDesc, getLevelCap, getManaDesc, getMaxStatDesc, getMovementDesc, getOtherLimitsDesc, getPracticeDesc, getPrimeStatDesc, getRaceQualDesc, getSaveStatIndex, getSecurityFlags, getShortAttackAttribute, getStartingMoney, getStat, getStatCodes, getStatQualDesc, getSubClassRule, getTickStatus, getTrainDesc, getWeaponLimitDesc, giveMobAbility, giveMobAbility, isAllowedRace, isGeneric, isQualifyingAuthority, isStat, isValidClassBeneficiary, isValidClassDivider, L, level, leveless, makeGenCharClass, maxCommonSkills, maxCraftingSkills, maxLanguages, maxNonCraftingSkills, maxStatAdjustments, name, nameSet, newInstance, okMessage, qualifiesForThisClass, raceless, requiredArmorSourceMinor, requiredWeaponMaterials, sameAs, setClassParms, setStat, showThinQualifyList, startCharacter, tick, unLevel, weaponCheck
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MILLIS_BETWEEN_DUEL_WINS

protected static final long MILLIS_BETWEEN_DUEL_WINS
See Also:
Constant Field Values

lastDuelWinner

protected static volatile long lastDuelWinner

duelWinners

protected static java.util.TreeMap<java.lang.String,long[]> duelWinners
Constructor Detail

Fighter

public Fighter()
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 StdCharClass
Returns:
the name of this class

name

public java.lang.String name()
Description copied from interface: CharClass
Returns the generally displayable name of this class. Usually deferred to by name(int), which is more often called.

Specified by:
name in interface CharClass
Specified by:
name in interface CMObject
Specified by:
name in interface Tickable
Overrides:
name in class StdCharClass
Returns:
the displayable name of this object instance
See Also:
CharClass.name(int), CharClass.nameSet()

baseClass

public java.lang.String baseClass()
Description copied from interface: CharClass
Returns the base-class of this class. Typically only important in multi-classing systems that restrict class changing to those classes part of the same base class. True multi-classing systems don't need to worry about this value. Can be the same as the ID() method.

Specified by:
baseClass in interface CharClass
Overrides:
baseClass in class StdCharClass
Returns:
the base-class of this class

getBonusPracLevel

public int getBonusPracLevel()
Description copied from interface: CharClass
Returns the number of bonus practices received by members of this class when they gain a level. This is over and above the normal formula applied during the leveling process.

Specified by:
getBonusPracLevel in interface CharClass
Overrides:
getBonusPracLevel in class StdCharClass
Returns:
the number of bonus practices to grant

getBonusAttackLevel

public int getBonusAttackLevel()
Description copied from interface: CharClass
Returns the number of bonus attack points received by members of this class when they gain a level. This is over and above the normal formula applied during the leveling process.

Specified by:
getBonusAttackLevel in interface CharClass
Overrides:
getBonusAttackLevel in class StdCharClass
Returns:
the number of bonus attack points to grant

getAttackAttribute

public int getAttackAttribute()
Description copied from interface: CharClass
Returns which of the CharStats.STAT_* constants should be used to calculate the standard attack prowess points given when a member of this class gains a level.

Specified by:
getAttackAttribute in interface CharClass
Overrides:
getAttackAttribute in class StdCharClass
Returns:
a CharStats.STAT_* attribute constant code
See Also:
CharStats

getLevelsPerBonusDamage

public int getLevelsPerBonusDamage()
Description copied from interface: CharClass
Returns the number of levels which must be gained by a member of this class before they gain 1 more point of default damage per hit.

Specified by:
getLevelsPerBonusDamage in interface CharClass
Overrides:
getLevelsPerBonusDamage in class StdCharClass
Returns:
the number of levels between damage gains

getPracsFirstLevel

public int getPracsFirstLevel()
Description copied from interface: CharClass
Returns the number of practices received by members of this class when they are first created.

Specified by:
getPracsFirstLevel in interface CharClass
Overrides:
getPracsFirstLevel in class StdCharClass
Returns:
the number of initial practices to grant

getTrainsFirstLevel

public int getTrainsFirstLevel()
Description copied from interface: CharClass
Returns the number of training points received by members of this class when they are first created.

Specified by:
getTrainsFirstLevel in interface CharClass
Overrides:
getTrainsFirstLevel in class StdCharClass
Returns:
the number of initial trains to grant

getHitPointsFormula

public java.lang.String getHitPointsFormula()
Description copied from interface: CharClass
Returns the formula used every time a player of this class gains a level as this class. The total is added (or removed on unlevel) from the players hit points score. Variables may be included in the formula, which are: \@x1: Players current class level \@x2: Players adjusted Strength @x3: Players Max adjusted Strength \@x4: Players adjusted Dexterity @x5: Players Max adjusted Dexterity @x6: Players adjusted Constitution @x7: Players Max adjusted Constitution @x8: Players adjusted Wisdom @x9: Players adjusted Intelligence

Specified by:
getHitPointsFormula in interface CharClass
Overrides:
getHitPointsFormula in class StdCharClass
Returns:
the formula that causes a gain or loss in hit points
See Also:
CharClass.getHitPointDesc()

getManaFormula

public java.lang.String getManaFormula()
Description copied from interface: CharClass
Returns the formula used every time a player of this class gains a level as this class. The total is added (or removed on unlevel) from the players mana score. Variables may be included in the formula, which are: @x1: Players current class level @x2: Players adjusted Wisdom @x3: Players Max adjusted Wisdom @x4: Players adjusted Intelligence @x5: Players Max adjusted Intelligence @x6: Players adjusted Attack Attr @x7: Players Max adjusted Attack Attr @x8: Players adjusted Charisma @x9: Players adjusted Constitution

Specified by:
getManaFormula in interface CharClass
Overrides:
getManaFormula in class StdCharClass
Returns:
the formula that causes a gain or loss in mana
See Also:
CharClass.getManaDesc(), CharClass.getAttackAttribute()

allowedArmorLevel

public int allowedArmorLevel()
Description copied from interface: CharClass
A code designating what kind of armor can be used by this class without affecting their skills. The worn locations this coded type refers to locations defined by ARMOR_WEARMASK

Specified by:
allowedArmorLevel in interface CharClass
Overrides:
allowedArmorLevel in class StdCharClass
Returns:
the encoded allowed armor type
See Also:
CharClass.ARMOR_WEARMASK, CharClass.ARMOR_ANY

getMovementFormula

public java.lang.String getMovementFormula()
Description copied from interface: CharClass
Returns the formula used every time a player of this class gains a level as this class. The total is added (or removed on unlevel) from the players movement score. Variables may be included in the formula, which are: @x1: Players current class level @x2: Players adjusted Strength @x3: Players Max adjusted Strength @x4: Players adjusted Dexterity @x5: Players Max adjusted Dexterity @x6: Players adjusted Constitution @x7: Players Max adjusted Constitution @x8: Players adjusted Wisdom @x9: Players adjusted Intelligence

Specified by:
getMovementFormula in interface CharClass
Overrides:
getMovementFormula in class StdCharClass
Returns:
the formula that causes a gain or loss in movement
See Also:
CharClass.getMovementDesc()

initializeClass

public void initializeClass()
Description copied from interface: CMObject
Called ONCE after all objects are loaded, but before the map is read in during initialization.

Specified by:
initializeClass in interface CMObject
Overrides:
initializeClass in class StdCharClass

availabilityCode

public int availabilityCode()
Description copied from interface: CharClass
Returns one or a combination of the Area.THEME_* constants from the Area interface. This bitmap then describes the types of areas, skills, and classes which can interact. This bitmap is also used to to tell whether the class is available for selection by users at char creation time, whether they can change to this class via spells, or whether the class is utterly unavailable to them.

Specified by:
availabilityCode in interface CharClass
Overrides:
availabilityCode in class StdCharClass
Returns:
the availability/theme of this class
See Also:
Area

getRequiredRaceList

public java.lang.String[] getRequiredRaceList()
Description copied from interface: CharClass
Returns an array of Strings containing either the names of particular races, racial categories, or the word "ANY" to mean any class is OK. All others are not permitted to be this class.

Specified by:
getRequiredRaceList in interface CharClass
Overrides:
getRequiredRaceList in class StdCharClass
Returns:
a list of races, racecats, or ANY
See Also:
CharClass.isAllowedRace(Race)

getMinimumStatRequirements

public Pair<java.lang.String,java.lang.Integer>[] getMinimumStatRequirements()
Description copied from interface: CharClass
Returns pairings of stat names and the minimum a player must have in the state in order to learn this class.

Specified by:
getMinimumStatRequirements in interface CharClass
Overrides:
getMinimumStatRequirements in class StdCharClass
Returns:
a pairs of stat names and minimum

grantAbilities

public void grantAbilities(MOB mob,
                           boolean isBorrowedClass)
Description copied from interface: CharClass
Typically called when a mob gains a level in this class, to allow the class to assign any new skills. Can also be called just to populate a mob with class skills, so it should also confirm any lower level skills also.

Specified by:
grantAbilities in interface CharClass
Overrides:
grantAbilities in class StdCharClass
Parameters:
mob - the mob to give abilities to.
isBorrowedClass - whether the skills are savable (false) or temporary (true)
See Also:
AbilityContainer.addAbility(Ability)

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 StdCharClass
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

getOtherBonusDesc

public java.lang.String getOtherBonusDesc()
Description copied from interface: CharClass
Returns a text description of any bonus properties granted by this class to its members.

Specified by:
getOtherBonusDesc in interface CharClass
Overrides:
getOtherBonusDesc in class StdCharClass
Returns:
a text description of bonus properties

duelExperience

public static void duelExperience(CharClass C,
                                  Environmental host,
                                  CMMsg msg)

conquestExperience

public static void conquestExperience(CharClass C,
                                      Environmental host,
                                      CMMsg msg)

outfit

public java.util.List<Item> outfit(MOB myChar)
Description copied from interface: CharClass
Returns a vector of Item objects representing the standard clothing, weapons, or other objects commonly given to players of this class just starting out.

Specified by:
outfit in interface CharClass
Overrides:
outfit in class StdCharClass
Parameters:
myChar - one who will receive the objects
Returns:
a vector of Item objects