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


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.CharClasses.interfaces.CharClass
CharClass.SubClassRule
 
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.Set<java.lang.Integer> disallowedWeaponSet
           
protected  CharClass eventBuddy
           
protected  java.lang.String helpEntry
           
protected  java.lang.String hitPointsFormula
           
protected  java.lang.String ID
           
protected  int levelCap
           
protected  int levelsPerBonusDamage
           
protected  java.lang.String manaFormula
           
protected  int maxCommonSkills
           
protected  int maxCraftingSkills
           
protected  int maxLanguages
           
protected  int maxNonCraftingSkills
           
protected  java.lang.String movementFormula
           
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,CMSecurity.SecGroup> securityGroupCache
           
protected  java.lang.Integer[] securityGroupLevels
           
protected  java.util.List<java.lang.String>[] securityGroups
           
protected  int selectability
           
protected  CharStats setStats
           
protected  CharState startAdjState
           
protected  java.lang.String startingMoney
           
protected  CharClass statBuddy
           
protected  CharClass.SubClassRule subClassRule
           
protected  java.lang.String[] tempables
           
protected  int trainsFirstLevel
           
protected  java.lang.String[] xtraValues
           
 
Fields inherited from class com.planet_ink.coffee_mud.CharClasses.StdCharClass
cachedRaceQualList, 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
GenCharClass()
           
 
Method Summary
 int addedExpertise(MOB host, ExpertiseLibrary.Flag expertiseCode, java.lang.String abilityID)
          Whenever a uses a skill, this method can return any additional expertise granted explicitly by the class.
 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.Set<java.lang.Integer> 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<AbilityMapper.AbilityMapping> 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)
           
 java.lang.String getHitPointsFormula()
          Returns the formula used every time a player of this class gains a level as this class.
 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.
 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.
 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.
 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 getSaveStatIndex()
          Returns the index into the stat codes array where extra savable fields begins.
 CMSecurity.SecGroup getSecurityFlags(int classLevel)
          Returns a read only set of security flags granted to all mobs/players who are this class, and the given class level or lower.
 java.lang.String getStartingMoney()
          Returns a text string for amount of money for characters starting as this character.
 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
 CharClass.SubClassRule getSubClassRule()
          This defines how this class fits into the SUB subclassing class system.
 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.Set<java.lang.Integer> 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.
 boolean showThinQualifyList()
          Whether players of this class see qualifying skills only if they meet all prereqs.
 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 ticking, 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, canBeABenificiary, canBeADivider, checkRaceQualifierChanges, classDurationModifier, classLevelModifier, compareTo, endCharacter, getArmorLimitDesc, getAttackDesc, getDamageDesc, getHitPointDesc, getManaDesc, getMaxStatDesc, getMovementDesc, getPracticeDesc, getPrimeStatDesc, getRaceQualDesc, getShortAttackAttribute, getTickStatus, getTrainDesc, giveMobAbility, giveMobAbility, grantAbilities, initializeClass, isAllowedRace, isQualifyingAuthority, isStat, isValidClassBeneficiary, isValidClassDivider, L, 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

hitPointsFormula

protected java.lang.String hitPointsFormula

manaFormula

protected java.lang.String manaFormula

movementFormula

protected java.lang.String movementFormula

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

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

subClassRule

protected CharClass.SubClassRule subClassRule

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.Set<java.lang.Integer> 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

startingMoney

protected java.lang.String startingMoney

securityGroups

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

securityGroupLevels

protected java.lang.Integer[] securityGroupLevels

helpEntry

protected java.lang.String helpEntry

securityGroupCache

protected java.util.Map<java.lang.Integer,CMSecurity.SecGroup> securityGroupCache

CODES

protected static java.lang.String[] CODES

tempables

protected java.lang.String[] tempables
Constructor Detail

GenCharClass

public GenCharClass()
Method Detail

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()

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()

getSubClassRule

public CharClass.SubClassRule getSubClassRule()
Description copied from interface: CharClass
This defines how this class fits into the SUB subclassing class system. A class may be one that can change to any class, or only another class if it is the same base class, or many no class at all.

Specified by:
getSubClassRule in interface CharClass
Overrides:
getSubClassRule in class StdCharClass
Returns:
the rule to use in the subclassing system

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.Set<java.lang.Integer> requiredWeaponMaterials()
Overrides:
requiredWeaponMaterials in class StdCharClass

requiredArmorSourceMinor

public int requiredArmorSourceMinor()
Overrides:
requiredArmorSourceMinor in class StdCharClass

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

disallowedWeaponClasses

protected java.util.Set<java.lang.Integer> 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

showThinQualifyList

public boolean showThinQualifyList()
Description copied from interface: CharClass
Whether players of this class see qualifying skills only if they meet all prereqs.

Specified by:
showThinQualifyList in interface CharClass
Overrides:
showThinQualifyList in class StdCharClass
Returns:
whether players of this class see qualifying skills only if they meet all prereqs

getStartingMoney

public java.lang.String getStartingMoney()
Description copied from interface: CharClass
Returns a text string for amount of money for characters starting as this character. Can be a number, or something like "485 gold".

Specified by:
getStartingMoney in interface CharClass
Overrides:
getStartingMoney in class StdCharClass
Returns:
a text string for starting money.

addedExpertise

public int addedExpertise(MOB host,
                          ExpertiseLibrary.Flag expertiseCode,
                          java.lang.String abilityID)
Description copied from interface: CharClass
Whenever a uses a skill, this method can return any additional expertise granted explicitly by the class.

Specified by:
addedExpertise in interface CharClass
Overrides:
addedExpertise in class StdCharClass
Parameters:
host - the player or mob whose class is being queried
expertiseCode - the expertise code
abilityID - the Ability ID
Returns:
the inherent expertise level for this
See Also:
ExpertiseLibrary.Flag

getSecurityFlags

public CMSecurity.SecGroup getSecurityFlags(int classLevel)
Description copied from interface: CharClass
Returns a read only set of security flags granted to all mobs/players who are this class, and the given class level or lower.

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

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, 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()

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
Parameters:
classLevel - the level to look up a name for
Returns:
the displayable name of this class
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

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()

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. There are strange rules here. If the mob is null, then this method returns true unless subclassing is on, and this class is not a subclass. If the mob has a class of StdCharClass, then char creation rules apply, otherwise train rules apply.

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

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<AbilityMapper.AbilityMapping> 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