com.planet_ink.coffee_mud.CharClasses
Class GenCharClass

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

public class GenCharClass
extends StdCharClass


Field Summary
protected  PhyStats adjPStats
           
protected  CharState adjState
           
protected  CharStats adjStats
           
protected  int allowedArmorLevel
           
protected  int attackAttribute
           
protected  java.lang.String baseClass
           
protected  int bonusAttackLevel
           
protected  int bonusPracLevel
           
protected static java.lang.String[] CODES
           
protected  int disableFlags
           
protected  java.util.HashSet disallowedWeaponSet
           
protected  CharClass eventBuddy
           
protected  java.lang.String helpEntry
           
protected  int hpDice
           
protected  int hpDie
           
protected  int hpDivisor
           
protected  java.lang.String ID
           
protected  int levelCap
           
protected  int levelsPerBonusDamage
           
protected  int manaDice
           
protected  int manaDie
           
protected  int manaDivisor
           
protected  int maxCommonSkills
           
protected  int maxCraftingSkills
           
protected  int maxLanguages
           
protected  int maxNonCraftingSkills
           
protected  int movementMultiplier
           
protected  java.lang.Integer[] nameLevels
           
protected  java.lang.String otherBonuses
           
protected  java.lang.String otherLimitations
           
protected  int pracsFirstLevel
           
protected  java.lang.String qualifications
           
protected  int requiredArmorSourceMinor
           
protected  java.util.Map<java.lang.Integer,java.util.List<java.lang.String>> securityGroupCache
           
protected  java.lang.Integer[] securityGroupLevels
           
protected  java.util.List<java.lang.String>[] securityGroups
           
protected  int selectability
           
protected  CharStats setStats
           
protected  CharState startAdjState
           
protected  CharClass statBuddy
           
protected  java.lang.String[] tempables
           
protected  int trainsFirstLevel
           
protected  java.lang.String[] xtraValues
           
 
Fields inherited from class com.planet_ink.coffee_mud.CharClasses.StdCharClass
maxStatAdj, names, outfitChoices
 
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, WEAPONS_ALLCLERIC, WEAPONS_ANY, WEAPONS_BURGLAR, WEAPONS_DAGGERONLY, WEAPONS_EVILCLERIC, WEAPONS_FLAILONLY, WEAPONS_GOODCLERIC, WEAPONS_LONGDESC, WEAPONS_MAGELIKE, WEAPONS_NATURAL, WEAPONS_NEUTRALCLERIC, WEAPONS_ROCKY, WEAPONS_SETS, 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_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_EMAIL, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MOB, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SPELL_AFFECT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET, TICKMASK_SOLITARY
 
Constructor Summary
GenCharClass()
           
 
Method Summary
 void affectCharState(MOB affectedMob, CharState affectableMaxState)
          This method is called by the recoverCharState() method on other MOB objects.
 void affectCharStats(MOB affectedMob, CharStats affectableStats)
          This method is called by the recoverCharStats() method on other MOB objects.
 void affectPhyStats(Physical affected, PhyStats affectableStats)
          This method is called by the recoverPhyStats() method on other Environmental objects.
 int allowedArmorLevel()
          A code designating what kind of armor can be used by this class without affecting their skills.
 int allowedWeaponLevel()
          A code designating what kind of weapons can be used by this class without fumbling their usage.
 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.
 java.lang.String classParms()
          Returns any boot-time parameters that are required to fully define this instance of a charclass.
 void cloneFix(CharClass C)
           
 CMObject copyOf()
          Similar to Cloneable.clone(), but does its best to make sure that any internal objects to this class are also copyOfed.
protected  java.util.HashSet disallowedWeaponClasses(MOB mob)
           
 void executeMsg(Environmental myHost, CMMsg msg)
          The general message event handler for the object.
 boolean expless()
          Whether players of this class can gain or lose experience points.
protected  java.util.Vector getAbleSet()
           
 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.
protected  java.lang.String getCharClassLocatorID(CharClass C)
           
protected  int getCodeNum(java.lang.String code)
           
 int getHPDice()
          Hit points gained upon level is calculated by multiplying this stat by getHPDie().
 int getHPDie()
          Hit points gained upon level is calculated by multiplying this stat by getHPDice().
 int getHPDivisor()
          This number is used to generate the hit point bonus for mobs/players when they gain levels by dividing their hit point stat (constitution) by this number.
 int getLevelCap()
          Returns the highest class level that can be achieved by a player who has 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.
 int getManaDice()
          mana gained upon level is calculated by multiplying this stat by getManaDie().
 int getManaDie()
          mana gained upon level is calculated by multiplying this stat by getManaDice().
 int getManaDivisor()
          This number is used to generate the mana bonus for mobs/players when they gain levels by dividing their mana stat (intelligence) by this number.
 int getMovementMultiplier()
          The number multiplied by this classes movement-related character stat (Strength, Int, etc) in order to determine the BASE movement gained every level.
 java.lang.String getOtherBonusDesc()
          Returns a text description of any bonus properties granted by this class to its members.
 java.lang.String getOtherLimitsDesc()
          Returns a text description of any misc restrictions imposed by this class upon its members.
 int getPracsFirstLevel()
          Returns the number of practices received by members of this class when they are first created.
 int getSaveStatIndex()
          Returns the index into the stat codes array where extra savable fields begins.
 java.util.List<java.lang.String> getSecurityGroups(int classLevel)
          Returns a Vector of security flag strings granted to all mobs/players who are this class, and the given class level or lower.
 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 getStatQualDesc()
          Returns a text description of the stat qualifications required to become a member of this character class
 int getTrainsFirstLevel()
          Returns the number of training points received by members of this class when they are first created.
 java.lang.String getWeaponLimitDesc()
          Returns a text description of any weapon restrictions imposed by this class upon its members.
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 boolean isGeneric()
          Returns whether this class is fully defined using the setParms method, as opposed to being defined by its Java code.
 boolean leveless()
          Whether players of this class can be associated with an experience level.
 boolean loaded()
           
 int maxCommonSkills()
          Max number of common skills (both crafting and non-crafting) this class can learn.
 int maxCraftingSkills()
          Max number of common crafting skills this class can learn.
 int maxLanguages()
          Max number of languages this class can learn.
 int maxNonCraftingSkills()
          Max number of common gathering/non-crafting skills this class can learn.
 java.lang.String name()
          Returns the generally displayable name of this class.
 java.lang.String name(int classLevel)
          Returns the displayable name of this class, when the mob is the given class level.
 CMObject newInstance()
          Returns a new instance of this class.
 boolean okMessage(Environmental myHost, CMMsg msg)
          The general message event previewer for the object.
 boolean qualifiesForThisClass(MOB mob, boolean quiet)
          Returns whether this given mob qualifies for this class, and optionally gives them an error message.
 boolean raceless()
          Whether this class can be associated with a race.
 int requiredArmorSourceMinor()
           
protected  java.util.HashSet requiredWeaponMaterials()
           
 boolean sameAs(CharClass E)
           
 void setClassParms(java.lang.String parms)
          Sets any boot-time parameters that are required to fully define this instance of a charclass.
 void setLoaded(boolean truefalse)
           
 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 startCharacter(MOB mob, boolean isBorrowedClass, boolean verifyOnly)
          This method should be called whenever a mob has this class added to their charStats list.
 boolean tick(Tickable myChar, int tickID)
          this is the method which is called periodically by the threading engine.
 
Methods inherited from class com.planet_ink.coffee_mud.CharClasses.StdCharClass
adjustExperienceGain, armorCheck, armorFailMessage, buildDisallowedWeaponClasses, buildDisallowedWeaponClasses, buildRequiredWeaponMaterials, classDurationModifier, compareTo, endCharacter, getArmorLimitDesc, getAttackDesc, getDamageDesc, getHitPointDesc, getManaDesc, getMaxStatDesc, getMovementDesc, getPracticeDesc, getPrimeStatDesc, getTickStatus, getTrainDesc, giveMobAbility, giveMobAbility, grantAbilities, initializeClass, isQualifyingAuthority, isStat, isValidClassBeneficiary, isValidClassDivider, level, makeGenCharClass, maxStatAdjustments, nameSet, outfit, unLevel, weaponCheck
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ID

protected java.lang.String ID

nameLevels

protected java.lang.Integer[] nameLevels

baseClass

protected java.lang.String baseClass

hpDivisor

protected int hpDivisor

hpDice

protected int hpDice

hpDie

protected int hpDie

manaDivisor

protected int manaDivisor

manaDice

protected int manaDice

manaDie

protected int manaDie

levelCap

protected int levelCap

bonusPracLevel

protected int bonusPracLevel

bonusAttackLevel

protected int bonusAttackLevel

attackAttribute

protected int attackAttribute

pracsFirstLevel

protected int pracsFirstLevel

trainsFirstLevel

protected int trainsFirstLevel

levelsPerBonusDamage

protected int levelsPerBonusDamage

movementMultiplier

protected int movementMultiplier

allowedArmorLevel

protected int allowedArmorLevel

otherLimitations

protected java.lang.String otherLimitations

otherBonuses

protected java.lang.String otherBonuses

qualifications

protected java.lang.String qualifications

xtraValues

protected java.lang.String[] xtraValues

selectability

protected int selectability

maxNonCraftingSkills

protected int maxNonCraftingSkills

maxCraftingSkills

protected int maxCraftingSkills

maxCommonSkills

protected int maxCommonSkills

maxLanguages

protected int maxLanguages

requiredArmorSourceMinor

protected int requiredArmorSourceMinor

disallowedWeaponSet

protected java.util.HashSet disallowedWeaponSet

setStats

protected CharStats setStats

adjStats

protected CharStats adjStats

adjPStats

protected PhyStats adjPStats

adjState

protected CharState adjState

startAdjState

protected CharState startAdjState

statBuddy

protected CharClass statBuddy

eventBuddy

protected CharClass eventBuddy

disableFlags

protected int disableFlags

securityGroups

protected java.util.List<java.lang.String>[] securityGroups

securityGroupLevels

protected java.lang.Integer[] securityGroupLevels

securityGroupCache

protected java.util.Map<java.lang.Integer,java.util.List<java.lang.String>> securityGroupCache

helpEntry

protected java.lang.String helpEntry

CODES

protected static java.lang.String[] CODES

tempables

protected java.lang.String[] tempables
Constructor Detail

GenCharClass

public GenCharClass()
Method Detail

getHPDivisor

public int getHPDivisor()
Description copied from interface: CharClass
This number is used to generate the hit point bonus for mobs/players when they gain levels by dividing their hit point stat (constitution) by this number.

Specified by:
getHPDivisor in interface CharClass
Overrides:
getHPDivisor in class StdCharClass
Returns:
the hit point char stat divisor
See Also:
CharClass.getHPDice(), CharClass.getHPDie()

getHPDice

public int getHPDice()
Description copied from interface: CharClass
Hit points gained upon level is calculated by multiplying this stat by getHPDie().

Specified by:
getHPDice in interface CharClass
Overrides:
getHPDice in class StdCharClass
Returns:
a hit point gain multiplier
See Also:
CharClass.getHPDie()

getHPDie

public int getHPDie()
Description copied from interface: CharClass
Hit points gained upon level is calculated by multiplying this stat by getHPDice().

Specified by:
getHPDie in interface CharClass
Overrides:
getHPDie in class StdCharClass
Returns:
a hit point gain multiplier
See Also:
CharClass.getHPDice()

getManaDivisor

public int getManaDivisor()
Description copied from interface: CharClass
This number is used to generate the mana bonus for mobs/players when they gain levels by dividing their mana stat (intelligence) by this number.

Specified by:
getManaDivisor in interface CharClass
Overrides:
getManaDivisor in class StdCharClass
Returns:
the mana char stat divisor
See Also:
CharClass.getManaDice(), CharClass.getManaDie()

getManaDice

public int getManaDice()
Description copied from interface: CharClass
mana gained upon level is calculated by multiplying this stat by getManaDie().

Specified by:
getManaDice in interface CharClass
Overrides:
getManaDice in class StdCharClass
Returns:
a mana gain multiplier
See Also:
CharClass.getManaDie()

getManaDie

public int getManaDie()
Description copied from interface: CharClass
mana gained upon level is calculated by multiplying this stat by getManaDice().

Specified by:
getManaDie in interface CharClass
Overrides:
getManaDie in class StdCharClass
Returns:
a mana gain multiplier
See Also:
CharClass.getManaDice()

getLevelCap

public int getLevelCap()
Description copied from interface: CharClass
Returns the highest class level that can be achieved by a player who has this class. Once this level is reached, the class behaves as it is were levelless. Default is -1, meaning the cap does not exist.

Specified by:
getLevelCap in interface CharClass
Overrides:
getLevelCap in class StdCharClass
Returns:
highest class level for this class;

maxNonCraftingSkills

public int maxNonCraftingSkills()
Description copied from interface: CharClass
Max number of common gathering/non-crafting skills this class can learn. 0 means unlimited. Skills directly qualified for by the class are excepted.

Specified by:
maxNonCraftingSkills in interface CharClass
Overrides:
maxNonCraftingSkills in class StdCharClass
Returns:
Max number of common gathering/non-crafting skills this class can learn.

maxCraftingSkills

public int maxCraftingSkills()
Description copied from interface: CharClass
Max number of common crafting skills this class can learn. 0 means unlimited. Skills directly qualified for by the class are excepted.

Specified by:
maxCraftingSkills in interface CharClass
Overrides:
maxCraftingSkills in class StdCharClass
Returns:
Max number of common crafting skills this class can learn.

maxCommonSkills

public int maxCommonSkills()
Description copied from interface: CharClass
Max number of common skills (both crafting and non-crafting) this class can learn. 0 means unlimited. Skills directly qualified for by the class are excepted.

Specified by:
maxCommonSkills in interface CharClass
Overrides:
maxCommonSkills in class StdCharClass
Returns:
Max number of common skills this class can learn.

maxLanguages

public int maxLanguages()
Description copied from interface: CharClass
Max number of languages this class can learn. 0 means unlimited. Languages directly qualified for by the class or race are excepted.

Specified by:
maxLanguages in interface CharClass
Overrides:
maxLanguages in class StdCharClass
Returns:
Max number of languages this class can learn.

allowedWeaponLevel

public int allowedWeaponLevel()
Description copied from interface: CharClass
A code designating what kind of weapons can be used by this class without fumbling their usage.

Specified by:
allowedWeaponLevel in interface CharClass
Overrides:
allowedWeaponLevel in class StdCharClass
Returns:
the encoded allowed weapon type
See Also:
CharClass.WEAPONS_ANY

requiredWeaponMaterials

protected java.util.HashSet requiredWeaponMaterials()
Overrides:
requiredWeaponMaterials in class StdCharClass

requiredArmorSourceMinor

public int requiredArmorSourceMinor()
Overrides:
requiredArmorSourceMinor in class StdCharClass

disallowedWeaponClasses

protected java.util.HashSet disallowedWeaponClasses(MOB mob)
Overrides:
disallowedWeaponClasses in class StdCharClass

raceless

public boolean raceless()
Description copied from interface: CharClass
Whether this class can be associated with a race.

Specified by:
raceless in interface CharClass
Overrides:
raceless in class StdCharClass
Returns:
whether this class can have a class
See Also:
Race

leveless

public boolean leveless()
Description copied from interface: CharClass
Whether players of this class can be associated with an experience level.

Specified by:
leveless in interface CharClass
Overrides:
leveless in class StdCharClass
Returns:
whether players of this class can have a level

expless

public boolean expless()
Description copied from interface: CharClass
Whether players of this class can gain or lose experience points.

Specified by:
expless in interface CharClass
Overrides:
expless in class StdCharClass
Returns:
whether players of this class can gain or lose experience points

getSecurityGroups

public java.util.List<java.lang.String> getSecurityGroups(int classLevel)
Description copied from interface: CharClass
Returns a Vector of security flag strings granted to all mobs/players who are this class, and the given class level or lower.

Specified by:
getSecurityGroups in interface CharClass
Overrides:
getSecurityGroups in class StdCharClass
Parameters:
classLevel - the class level of the mob
Returns:
a vector of security flag strings

isGeneric

public boolean isGeneric()
Description copied from interface: CharClass
Returns whether this class is fully defined using the setParms method, as opposed to being defined by its Java code.

Specified by:
isGeneric in interface CharClass
Overrides:
isGeneric in class StdCharClass
Returns:
whether this class is defined fully by parameters
See Also:
CharClass.classParms(), CharClass.makeGenCharClass(), CharClass.setClassParms(String)

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, MiscTech. 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 Tickable
Overrides:
name in class StdCharClass
Returns:
the displayable name of this object instance
See Also:
CharClass.name(int), CharClass.nameSet()

name

public java.lang.String name(int classLevel)
Description copied from interface: CharClass
Returns the displayable name of this class, when the mob is the given class level. Usually defers to name()

Specified by:
name in interface CharClass
Overrides:
name in class StdCharClass
See Also:
CharClass.name(), 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

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

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

getMovementMultiplier

public int getMovementMultiplier()
Description copied from interface: CharClass
The number multiplied by this classes movement-related character stat (Strength, Int, etc) in order to determine the BASE movement gained every level. This is applied after the stat score has been divided by 18.

Specified by:
getMovementMultiplier in interface CharClass
Overrides:
getMovementMultiplier in class StdCharClass
Returns:
a multiplier for a players movement related char stat score

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

getOtherLimitsDesc

public java.lang.String getOtherLimitsDesc()
Description copied from interface: CharClass
Returns a text description of any misc restrictions imposed by this class upon its members.

Specified by:
getOtherLimitsDesc in interface CharClass
Overrides:
getOtherLimitsDesc in class StdCharClass
Returns:
a text description of misc retrictions

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

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

getWeaponLimitDesc

public java.lang.String getWeaponLimitDesc()
Description copied from interface: CharClass
Returns a text description of any weapon restrictions imposed by this class upon its members.

Specified by:
getWeaponLimitDesc in interface CharClass
Overrides:
getWeaponLimitDesc in class StdCharClass
Returns:
a text description of weapon retrictions

cloneFix

public void cloneFix(CharClass C)
Overrides:
cloneFix in class StdCharClass

newInstance

public CMObject newInstance()
Description copied from interface: CMObject
Returns a new instance of this class.

Specified by:
newInstance in interface CMObject
Overrides:
newInstance in class StdCharClass
Returns:
a new instance of this class

copyOf

public CMObject copyOf()
Description copied from interface: CMObject
Similar to Cloneable.clone(), but does its best to make sure that any internal objects to this class are also copyOfed.

Specified by:
copyOf in interface CMObject
Overrides:
copyOf in class StdCharClass
Returns:
a clone of this object

loaded

public boolean loaded()

setLoaded

public void setLoaded(boolean truefalse)

qualifiesForThisClass

public boolean qualifiesForThisClass(MOB mob,
                                     boolean quiet)
Description copied from interface: CharClass
Returns whether this given mob qualifies for this class, and optionally gives them an error message.

Specified by:
qualifiesForThisClass in interface CharClass
Overrides:
qualifiesForThisClass in class StdCharClass
Parameters:
mob - the mob to evaluate the worthiness of
quiet - false to give the mob error messages, true for silence
Returns:
whether the given mob is worthy of this class

getStatQualDesc

public java.lang.String getStatQualDesc()
Description copied from interface: CharClass
Returns a text description of the stat qualifications required to become a member of this character class

Specified by:
getStatQualDesc in interface CharClass
Overrides:
getStatQualDesc in class StdCharClass
Returns:
a txt description of stat qualifications

getCharClassLocatorID

protected java.lang.String getCharClassLocatorID(CharClass C)

affectPhyStats

public void affectPhyStats(Physical affected,
                           PhyStats affectableStats)
Description copied from interface: StatsAffecting
This method is called by the recoverPhyStats() method on other Environmental objects. It is used to transform the Environmental basePhyStats() object into a finished phyStats() object, both of which are objects implementing the PhyStats interface. See those methods for more information.

Specified by:
affectPhyStats in interface StatsAffecting
Overrides:
affectPhyStats in class StdCharClass
Parameters:
affected - the host of the PhyStats object being affected
affectableStats - the particular PhyStats object being affected
See Also:
PhyStats, Environmental, Affectable.basePhyStats(), Affectable.phyStats(), Affectable.recoverPhyStats()

tick

public boolean tick(Tickable myChar,
                    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 StdCharClass
Parameters:
myChar - 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

executeMsg

public void executeMsg(Environmental myHost,
                       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:
myHost - either the initiator of the event, or the host of this object
msg - the CMMsg that needs to be executed
See Also:
CMMsg

okMessage

public boolean okMessage(Environmental myHost,
                         CMMsg msg)
Description copied from interface: MsgListener
The general message event previewer for the object. Messages passed herein are in a pending state, and may be safely modified or rejected without fear that they might be in the middle of being executed. Messages passed herein may not necessarily be FOR or FROM this object, but will almost always represent events which want to happen in the same rom. This method should always always return true UNLESS this message needs to be canceled, in which case it is necessary to tell the mob initiating the event (CMMsg.source()) why it is being cancelled. Every game event goes through these methods.

Specified by:
okMessage in interface MsgListener
Overrides:
okMessage in class StdCharClass
Parameters:
myHost - either the initiator of the event, or the host of this object
msg - the CMMsg that wants to be executed
Returns:
whether this message is allowed to execute
See Also:
CMMsg, CMMsg.source()

affectCharStats

public void affectCharStats(MOB affectedMob,
                            CharStats affectableStats)
Description copied from interface: StatsAffecting
This method is called by the recoverCharStats() method on other MOB objects. It is used to transform the MOB baseCharStats() object into a finished charStats() object, both of which are objects implementing the CharStats interface. See those methods for more information.

Specified by:
affectCharStats in interface StatsAffecting
Overrides:
affectCharStats in class StdCharClass
Parameters:
affectedMob - the host of the CharStats object being affected
affectableStats - the particular CharStats object being affected
See Also:
CharStats, MOB, MOB.baseCharStats(), MOB.charStats(), MOB.recoverCharStats()

affectCharState

public void affectCharState(MOB affectedMob,
                            CharState affectableMaxState)
Description copied from interface: StatsAffecting
This method is called by the recoverCharState() method on other MOB objects. It is used to transform the MOB baseCharState() object into a finished charState() object, both of which are objects implementing the CharState interface. See those methods for more information.

Specified by:
affectCharState in interface StatsAffecting
Overrides:
affectCharState in class StdCharClass
Parameters:
affectedMob - the host of the CharState object being affected
affectableMaxState - the particular CharState object being affected
See Also:
CharState, MOB, MOB.baseState(), MOB.curState(), MOB.recoverMaxState()

classParms

public java.lang.String classParms()
Description copied from interface: CharClass
Returns any boot-time parameters that are required to fully define this instance of a charclass. Charclasses are shared among mobs, but that doesn't mean mulitple instances of a single class can't generate different versions of themselves for the classloader, with different parameters. GenCharClass is an example.

Specified by:
classParms in interface CharClass
Overrides:
classParms in class StdCharClass
Returns:
any parameters used to define this class
See Also:
CharClass.setClassParms(String), CharClass.isGeneric()

setClassParms

public void setClassParms(java.lang.String parms)
Description copied from interface: CharClass
Sets any boot-time parameters that are required to fully define this instance of a charclass. Charclasses are shared among mobs, but that doesn't mean mulitple instances of a single class can't generate different versions of themselves for the classloader, with different parameters. GenCharClass is an example.

Specified by:
setClassParms in interface CharClass
Overrides:
setClassParms in class StdCharClass
Parameters:
parms - any parameters used to define this class
See Also:
CharClass.classParms(), CharClass.isGeneric()

getAbleSet

protected java.util.Vector getAbleSet()

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 StdCharClass
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 StdCharClass
Parameters:
code - the name of the field to set
val - the value to set the field to
See Also:
Modifiable.getStatCodes()

startCharacter

public void startCharacter(MOB mob,
                           boolean isBorrowedClass,
                           boolean verifyOnly)
Description copied from interface: CharClass
This method should be called whenever a mob has this class added to their charStats list. Its purpose is to outfit the mob with any necessary abilities, or perform other necessary changes to the mob to reflect the class addition or change. A character class is considered borrowed if its existence is derived from something else, or its skills/abilities should not be saved as a permanent feature of the mob.

Specified by:
startCharacter in interface CharClass
Overrides:
startCharacter in class StdCharClass
Parameters:
mob - the mob being outfitted with this class
isBorrowedClass - whether the charclasses skills are borrowed(true) or permanent
verifyOnly - send true if no skills or changes are to be made

getSaveStatIndex

public int getSaveStatIndex()
Description copied from interface: Modifiable
Returns the index into the stat codes array where extra savable fields begins. This number is always the same as getStatCodes().length unless there are extra fields which need to be saved in xml for generic objects. This method is used by editors for post-build user-defined fields.

Specified by:
getSaveStatIndex in interface Modifiable
Overrides:
getSaveStatIndex in class StdCharClass
Returns:
the index into getStatCodes()
See Also:
Modifiable.getStatCodes(), Modifiable.getStat(String), Modifiable.setStat(String, String)

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

sameAs

public boolean sameAs(CharClass E)
Overrides:
sameAs in class StdCharClass