com.planet_ink.coffee_mud.CharClasses
Class StdCharClass

java.lang.Object
  extended by com.planet_ink.coffee_mud.CharClasses.StdCharClass
All Implemented Interfaces:
CharClass, CMModifiable, CMObject, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
Apprentice, Archon, Artisan, Barbarian, Bard, Beastmaster, Charlatan, Cleric, Delver, Druid, Fighter, Gaian, Gaoler, GenCharClass, Jester, Mage, Minstrel, Monk, Paladin, PlayerClass, Prancer, Qualifier, Ranger, SkyWatcher, Thief

public class StdCharClass
extends java.lang.Object
implements CharClass


Field Summary
protected static java.lang.String[] CODES
           
protected  int[] maxStatAdj
           
protected  java.lang.String[] names
           
protected  java.util.Vector 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, TICKS_PER_RLMIN, TIME_MILIS_PER_MUDHOUR, TIME_TICK, TIME_TICK_DOUBLE
 
Constructor Summary
StdCharClass()
           
 
Method Summary
 int adjustExperienceGain(MOB host, MOB mob, MOB victim, int amount)
          Whenever a player or mob of this race gains experience, this method gets a chance to modify the amount before the gain actually occurs.
 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 affectEnvStats(Environmental affected, EnvStats affectableStats)
          This method is called by the recoverEnvStats() method on other Environmental objects.
 int allowedArmorLevel()
           
 int allowedWeaponLevel()
           
protected  boolean armorCheck(MOB mob, int sourceCode, Environmental E)
           
protected  java.lang.String armorFailMessage()
           
 java.lang.String armorLimitations()
          Returns a text description of any armor restrictions imposed by this class upon its members.
 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.
protected  java.util.HashSet buildDisallowedWeaponClasses()
           
protected  java.util.HashSet buildDisallowedWeaponClasses(int lvl)
           
protected  java.util.HashSet buildRequiredWeaponMaterials()
           
 int classDurationModifier(MOB myChar, Ability skill, int duration)
          This method is called whenever a player casts a spell which has a lasting effect on the target.
 java.lang.String classParms()
          Returns any boot-time parameters that are required to fully define this instance of a charclass.
 void cloneFix(CharClass C)
           
 int compareTo(CMObject o)
           
 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 endCharacter(MOB mob)
          Called when a class is no longer the current dominant class of a player or mob, usually during class training.
 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.
 MOB fillOutMOB(MOB mob, int level)
          This method fills in combat and rejuvination related stats for the given mob of this class at the given level.
 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  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 getLevelArmor(MOB mob)
          Returns the armor rating the given mob would have being this class.
 int getLevelAttack(MOB mob)
          Returns the amount of combat prowess the given mob would have being this class.
 int getLevelCap()
          Returns the highest class level that can be achieved by a player who has this class.
 int getLevelDamage(MOB mob)
          Returns the amount of damage per hit the given mob would have being this class.
 int getLevelMana(MOB mob)
          Returns the amount of mana the given mob would have being this class.
 int getLevelMove(MOB mob)
          Returns the amount of movement the given mob would have being this class.
 int getLevelPlayerHP(MOB mob)
          Returns the amount of hp the given player would have being this class.
 double getLevelSpeed(MOB mob)
          Returns the number of attacks the given mob would have being 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.
 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.Vector 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.
 long getTickStatus()
          A coded status for this object during the period where its tick method is being called.
 int getTrainsFirstLevel()
          Returns the number of training points received by members of this class when they are first created.
protected  void giveMobAbility(MOB mob, Ability A, int proficiency, java.lang.String defaultParm, boolean isBorrowedClass)
           
protected  void giveMobAbility(MOB mob, Ability A, int proficiency, java.lang.String defaultParm, boolean isBorrowedClass, boolean autoInvoke)
           
 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.
 boolean isGeneric()
          Returns whether this class is fully defined using the setParms method, as opposed to being defined by its Java code.
protected  boolean isQualifyingAuthority(MOB mob, Ability A)
           
 boolean isStat(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.
 boolean isValidClassBeneficiary(MOB killer, MOB killed, MOB mob, java.util.HashSet followers)
          Returns whether the given mob should share in the experience gained by the killer for having killed the killed.
 boolean isValidClassDivider(MOB killer, MOB killed, MOB mob, java.util.HashSet followers)
          Returns whether the given mob should count in the division of experience gained by the killer for having killed the killed.
 void level(MOB mob, java.util.Vector gainedAbilityIDs)
          This method is called whenever a player gains a level while a member of this class.
 boolean leveless()
          Whether players of this class can be associated with an experience level.
 CharClass makeGenCharClass()
          Converts this class into a generic one, if it is not already.
 int[] maxStatAdjustments()
          Returns a bonus or negative adjustments to the base maximum for the CharStats.STAT_* base statistics.
 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.
 java.lang.String[] nameSet()
          Returns all of the displayable names of this class.
 CMObject newInstance()
          Returns a new instance of this class.
 boolean okMessage(Environmental myHost, CMMsg msg)
          The general message event previewer for the object.
 java.lang.String otherBonuses()
          Returns a text description of any bonus properties granted by this class to its members.
 java.lang.String otherLimitations()
          Returns a text description of any misc restrictions imposed by this class upon its members.
 java.util.Vector 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.
 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.
protected  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 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.
 java.lang.String statQualifications()
          Returns a text description of the stat qualifications required to become a member of this character class
 boolean tick(Tickable myChar, int tickID)
          this is the method which is called periodically by the threading engine.
 void unLevel(MOB mob)
          This method is called whenever a player loses a level while a member of this class.
protected  boolean weaponCheck(MOB mob, int sourceCode, Environmental E)
           
 java.lang.String weaponLimitations()
          Returns a text description of any weapon restrictions imposed by this class upon its members.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

maxStatAdj

protected int[] maxStatAdj

outfitChoices

protected java.util.Vector outfitChoices

names

protected java.lang.String[] names

CODES

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

StdCharClass

public StdCharClass()
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, MiscTech. The name is typically identical to the class name.

Specified by:
ID in interface CMObject
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
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
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
Returns:
the base-class of this class

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
Returns:
highest class level for 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
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
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
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
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
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
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
Returns:
a multiplier for a players movement related char stat score

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
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
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
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
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
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
Returns:
a mana gain multiplier
See Also:
CharClass.getManaDice()

allowedArmorLevel

public int allowedArmorLevel()

allowedWeaponLevel

public int allowedWeaponLevel()

disallowedWeaponClasses

protected java.util.HashSet disallowedWeaponClasses(MOB mob)

requiredWeaponMaterials

protected java.util.HashSet requiredWeaponMaterials()

requiredArmorSourceMinor

protected int requiredArmorSourceMinor()

armorFailMessage

protected java.lang.String armorFailMessage()

raceless

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

Specified by:
raceless in interface CharClass
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
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
Returns:
whether players of this class can gain or lose experience points

getSecurityGroups

public java.util.Vector 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
Parameters:
classLevel - the class level of the mob
Returns:
a vector of security flag strings

newInstance

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

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

nameSet

public java.lang.String[] nameSet()
Description copied from interface: CharClass
Returns all of the displayable names of this class. Usually defers to name()

Specified by:
nameSet in interface CharClass
See Also:
CharClass.name(), CharClass.name(int)

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

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
Returns:
whether this class is defined fully by parameters
See Also:
CharClass.classParms(), CharClass.makeGenCharClass(), CharClass.setClassParms(String)

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
Returns:
the availability/theme of this class
See Also:
Area

cloneFix

public void cloneFix(CharClass C)

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
Returns:
a clone of this object

classDurationModifier

public int classDurationModifier(MOB myChar,
                                 Ability skill,
                                 int duration)
Description copied from interface: CharClass
This method is called whenever a player casts a spell which has a lasting effect on the target. This method is called even if the class is not the players CURRENT class.

Specified by:
classDurationModifier in interface CharClass
Parameters:
myChar - the caster or skill user
skill - the skill or spell that was cast.
duration - the default duration
Returns:
usually, it just returns default again

getTickStatus

public long getTickStatus()
Description copied from interface: Tickable
A coded status for this object during the period where its tick method is being called. The statis is defined, at least in part, by constants in this interface STATUS_*. STATUS_NOT should be returned when the objects tick method is not currently in execution. It should never return STATUS_NOT when the objects tick method is in execution.

Specified by:
getTickStatus in interface Tickable
Returns:
the numeric status of this object
See Also:
Tickable.tick(Tickable, int)

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

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

weaponLimitations

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

Specified by:
weaponLimitations in interface CharClass
Returns:
a text description of weapon retrictions

armorLimitations

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

Specified by:
armorLimitations in interface CharClass
Returns:
a text description of armor retrictions

otherLimitations

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

Specified by:
otherLimitations in interface CharClass
Returns:
a text description of misc retrictions

otherBonuses

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

Specified by:
otherBonuses in interface CharClass
Returns:
a text description of bonus properties

statQualifications

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

Specified by:
statQualifications in interface CharClass
Returns:
a txt description of stat qualifications

buildDisallowedWeaponClasses

protected java.util.HashSet buildDisallowedWeaponClasses()

buildDisallowedWeaponClasses

protected java.util.HashSet buildDisallowedWeaponClasses(int lvl)

buildRequiredWeaponMaterials

protected java.util.HashSet buildRequiredWeaponMaterials()

isQualifyingAuthority

protected boolean isQualifyingAuthority(MOB mob,
                                        Ability A)

armorCheck

protected boolean armorCheck(MOB mob,
                             int sourceCode,
                             Environmental E)

weaponCheck

protected boolean weaponCheck(MOB mob,
                              int sourceCode,
                              Environmental E)

giveMobAbility

protected void giveMobAbility(MOB mob,
                              Ability A,
                              int proficiency,
                              java.lang.String defaultParm,
                              boolean isBorrowedClass)

giveMobAbility

protected void giveMobAbility(MOB mob,
                              Ability A,
                              int proficiency,
                              java.lang.String defaultParm,
                              boolean isBorrowedClass,
                              boolean autoInvoke)

maxStatAdjustments

public int[] maxStatAdjustments()
Description copied from interface: CharClass
Returns a bonus or negative adjustments to the base maximum for the CharStats.STAT_* base statistics. The maximum is the most a player can train up to. The array only holds enough to the first 6 base stats.

Specified by:
maxStatAdjustments in interface CharClass
Returns:
a six element array of adjustments to max base stats
See Also:
CharStats

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
Parameters:
mob - the mob to give abilities to.
isBorrowedClass - whether the skills are savable (false) or temporary (true)
See Also:
MOB.addAbility(Ability)

makeGenCharClass

public CharClass makeGenCharClass()
Description copied from interface: CharClass
Converts this class into a generic one, if it is not already. If it is generic, this method returns itself. Otherwise, the standard char class is converted to a generic one and returned.

Specified by:
makeGenCharClass in interface CharClass
Returns:
a generic version of this class.
See Also:
CharClass.isGeneric()

endCharacter

public void endCharacter(MOB mob)
Description copied from interface: CharClass
Called when a class is no longer the current dominant class of a player or mob, usually during class training.

Specified by:
endCharacter in interface CharClass
Parameters:
mob - the mob whose career to end or put aside

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

outfit

public java.util.Vector 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: