com.planet_ink.coffee_mud.CharClasses.interfaces
Interface CharClass

All Superinterfaces:
java.lang.Cloneable, CMModifiable, CMObject, java.lang.Comparable<CMObject>, MsgListener, StatsAffecting, Tickable
All Known Implementing Classes:
Abjurer, Alterer, Apprentice, Arcanist, Archon, Artisan, Assassin, Barbarian, Bard, Beastmaster, Burglar, Charlatan, Cleric, Conjurer, Delver, Diviner, Doomsayer, Druid, Enchanter, Evoker, Fighter, Gaian, Gaoler, GenCharClass, Healer, Illusionist, Jester, Mage, Minstrel, Missionary, Monk, Necromancer, Oracle, Paladin, PlayerClass, Prancer, Purist, Qualifier, Ranger, Shaman, SkyWatcher, SpecialistMage, StdCharClass, Templar, Thief, Transmuter, Trapper, Wizard

public interface CharClass
extends Tickable, StatsAffecting, MsgListener, CMObject, CMModifiable

This class represents a player or mobs character class. One of more of these objects are associated with each mob through the mob interfaces charStats() object.

See Also:
MOB.charStats(), CharStats

Field Summary
static int ARMOR_ANY
          constant returned by allowedArmorLevel() to designate any allowed armors.
static int ARMOR_CLOTH
          constant returned by allowedArmorLevel() to designate only cloth armors.
static java.lang.String[] ARMOR_DESCS
          list of string descriptions for the CharClass.ARMOR_* constants, ordered by their value.
static int ARMOR_LEATHER
          constant returned by allowedArmorLevel() to designate only leather armors.
static java.lang.String[] ARMOR_LONGDESC
          list of long string descriptions for the CharClass.ARMOR_* constants, ordered by their value.
static int ARMOR_METALONLY
          constant returned by allowedArmorLevel() to designate only metal armors.
static int ARMOR_NONMETAL
          constant returned by allowedArmorLevel() to designate only nonmetal armors.
static int ARMOR_OREONLY
          constant returned by allowedArmorLevel() to designate only metal/stone armors.
static int ARMOR_VEGAN
          constant returned by allowedArmorLevel() to designate only plant/wood armors.
static long ARMOR_WEARMASK
          useful constant for calculating the wear locations to which armor restrictions apply
static java.lang.String[] GENFLAG_DESCS
          constant string list naming each of the GENFLAG_* constants in the order of their value
static int GENFLAG_NOEXP
          for character classes that define themselves using getParms, this can designate expless bitmaps
static int GENFLAG_NOLEVELS
          for character classes that define themselves using getParms, this can designate levelless bitmaps
static int GENFLAG_NORACE
          for character classes that define themselves using getParms, this can designate racelessness bitmaps
static int WEAPONS_ALLCLERIC
          constant returned by allowedWeaponLevel() to designate any cleric weapons only.
static int WEAPONS_ANY
          constant returned by allowedWeaponLevel() to designate any weapons.
static int WEAPONS_BURGLAR
          constant returned by allowedWeaponLevel() to designate burglar class weapons only.
static int WEAPONS_DAGGERONLY
          constant returned by allowedWeaponLevel() to designate daggers only.
static int WEAPONS_EVILCLERIC
          constant returned by allowedWeaponLevel() to designate evil cleric weapons only.
static int WEAPONS_FLAILONLY
          constant returned by allowedWeaponLevel() to designate flails only.
static int WEAPONS_GOODCLERIC
          constant returned by allowedWeaponLevel() to designate good cleric weapons only.
static java.lang.String[] WEAPONS_LONGDESC
          list of string descriptions for the CharClass.WEAPONS_* constants, ordered by their value.
static int WEAPONS_MAGELIKE
          constant returned by allowedWeaponLevel() to designate mage weapons only.
static int WEAPONS_NATURAL
          constant returned by allowedWeaponLevel() to designate natural weapons only.
static int WEAPONS_NEUTRALCLERIC
          constant returned by allowedWeaponLevel() to designate neutral cleric weapons only.
static int WEAPONS_ROCKY
          constant returned by allowedWeaponLevel() to designate stone weapons only.
static int[][] WEAPONS_SETS
          constant set of integer arrays defining the Weapon.CLASS_* constants for the CharClass.WEAPONS_* constants, ordered by CharClass.WEAPONS_* values.
static int WEAPONS_THIEFLIKE
          constant returned by allowedWeaponLevel() to designate swords/daggers only.
 
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
 
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.
 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.
 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 endCharacter(MOB mob)
          Called when a class is no longer the current dominant class of a player or mob, usually during class training.
 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.
 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.
 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.
 int getTrainsFirstLevel()
          Returns the number of training points received by members of this class when they are first created.
 void grantAbilities(MOB mob, boolean isBorrowedClass)
          Typically called when a mob gains a level in this class, to allow the class to assign any new skills.
 boolean isGeneric()
          Returns whether this class is fully defined using the setParms method, as opposed to being defined by its Java code.
 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.
 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.
 void setClassParms(java.lang.String parms)
          Sets any boot-time parameters that are required to fully define this instance of a charclass.
 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
 void unLevel(MOB mob)
          This method is called whenever a player loses a level while a member of this class.
 java.lang.String weaponLimitations()
          Returns a text description of any weapon restrictions imposed by this class upon its members.
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
getTickStatus, tick
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, ID, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.StatsAffecting
affectCharState, affectCharStats, affectEnvStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.MsgListener
executeMsg, okMessage
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMModifiable
getSaveStatIndex, getStat, getStatCodes, isStat, setStat
 

Field Detail

ARMOR_ANY

static final int ARMOR_ANY
constant returned by allowedArmorLevel() to designate any allowed armors. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedArmorLevel()

See Also:
Constant Field Values

ARMOR_CLOTH

static final int ARMOR_CLOTH
constant returned by allowedArmorLevel() to designate only cloth armors. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedArmorLevel()

See Also:
Constant Field Values

ARMOR_LEATHER

static final int ARMOR_LEATHER
constant returned by allowedArmorLevel() to designate only leather armors. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedArmorLevel()

See Also:
Constant Field Values

ARMOR_NONMETAL

static final int ARMOR_NONMETAL
constant returned by allowedArmorLevel() to designate only nonmetal armors. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedArmorLevel()

See Also:
Constant Field Values

ARMOR_VEGAN

static final int ARMOR_VEGAN
constant returned by allowedArmorLevel() to designate only plant/wood armors. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedArmorLevel()

See Also:
Constant Field Values

ARMOR_METALONLY

static final int ARMOR_METALONLY
constant returned by allowedArmorLevel() to designate only metal armors. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedArmorLevel()

See Also:
Constant Field Values

ARMOR_OREONLY

static final int ARMOR_OREONLY
constant returned by allowedArmorLevel() to designate only metal/stone armors. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedArmorLevel()

See Also:
Constant Field Values

ARMOR_WEARMASK

static final long ARMOR_WEARMASK
useful constant for calculating the wear locations to which armor restrictions apply

See Also:
Constant Field Values

ARMOR_DESCS

static final java.lang.String[] ARMOR_DESCS
list of string descriptions for the CharClass.ARMOR_* constants, ordered by their value. @see CharClass


ARMOR_LONGDESC

static final java.lang.String[] ARMOR_LONGDESC
list of long string descriptions for the CharClass.ARMOR_* constants, ordered by their value. @see CharClass


WEAPONS_ANY

static final int WEAPONS_ANY
constant returned by allowedWeaponLevel() to designate any weapons. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedWeaponLevel()

See Also:
Constant Field Values

WEAPONS_DAGGERONLY

static final int WEAPONS_DAGGERONLY
constant returned by allowedWeaponLevel() to designate daggers only. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedWeaponLevel()

See Also:
Constant Field Values

WEAPONS_THIEFLIKE

static final int WEAPONS_THIEFLIKE
constant returned by allowedWeaponLevel() to designate swords/daggers only. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedWeaponLevel()

See Also:
Constant Field Values

WEAPONS_NATURAL

static final int WEAPONS_NATURAL
constant returned by allowedWeaponLevel() to designate natural weapons only. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedWeaponLevel()

See Also:
Constant Field Values

WEAPONS_BURGLAR

static final int WEAPONS_BURGLAR
constant returned by allowedWeaponLevel() to designate burglar class weapons only. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedWeaponLevel()

See Also:
Constant Field Values

WEAPONS_ROCKY

static final int WEAPONS_ROCKY
constant returned by allowedWeaponLevel() to designate stone weapons only. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedWeaponLevel()

See Also:
Constant Field Values

WEAPONS_MAGELIKE

static final int WEAPONS_MAGELIKE
constant returned by allowedWeaponLevel() to designate mage weapons only. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedWeaponLevel()

See Also:
Constant Field Values

WEAPONS_EVILCLERIC

static final int WEAPONS_EVILCLERIC
constant returned by allowedWeaponLevel() to designate evil cleric weapons only. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedWeaponLevel()

See Also:
Constant Field Values

WEAPONS_GOODCLERIC

static final int WEAPONS_GOODCLERIC
constant returned by allowedWeaponLevel() to designate good cleric weapons only. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedWeaponLevel()

See Also:
Constant Field Values

WEAPONS_NEUTRALCLERIC

static final int WEAPONS_NEUTRALCLERIC
constant returned by allowedWeaponLevel() to designate neutral cleric weapons only. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedWeaponLevel()

See Also:
Constant Field Values

WEAPONS_ALLCLERIC

static final int WEAPONS_ALLCLERIC
constant returned by allowedWeaponLevel() to designate any cleric weapons only. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedWeaponLevel()

See Also:
Constant Field Values

WEAPONS_FLAILONLY

static final int WEAPONS_FLAILONLY
constant returned by allowedWeaponLevel() to designate flails only. @see com.planet_ink.coffee_mud.CharClass.StdCharClass#allowedWeaponLevel()

See Also:
Constant Field Values

WEAPONS_SETS

static final int[][] WEAPONS_SETS
constant set of integer arrays defining the Weapon.CLASS_* constants for the CharClass.WEAPONS_* constants, ordered by CharClass.WEAPONS_* values.


WEAPONS_LONGDESC

static final java.lang.String[] WEAPONS_LONGDESC
list of string descriptions for the CharClass.WEAPONS_* constants, ordered by their value. @see CharClass


GENFLAG_NORACE

static final int GENFLAG_NORACE
for character classes that define themselves using getParms, this can designate racelessness bitmaps

See Also:
Constant Field Values

GENFLAG_NOLEVELS

static final int GENFLAG_NOLEVELS
for character classes that define themselves using getParms, this can designate levelless bitmaps

See Also:
Constant Field Values

GENFLAG_NOEXP

static final int GENFLAG_NOEXP
for character classes that define themselves using getParms, this can designate expless bitmaps

See Also:
Constant Field Values

GENFLAG_DESCS

static final java.lang.String[] GENFLAG_DESCS
constant string list naming each of the GENFLAG_* constants in the order of their value

Method Detail

name

java.lang.String name()
Returns the generally displayable name of this class. Usually deferred to by name(int), which is more often called.

Specified by:
name in interface Tickable
Returns:
the displayable name of this object instance
See Also:
name(int), nameSet()

name

java.lang.String name(int classLevel)
Returns the displayable name of this class, when the mob is the given class level. Usually defers to name()

See Also:
name(), nameSet()

nameSet

java.lang.String[] nameSet()
Returns all of the displayable names of this class. Usually defers to name()

See Also:
name(), name(int)

baseClass

java.lang.String baseClass()
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.

Returns:
the base-class of this class

availabilityCode

int availabilityCode()
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.

Returns:
the availability/theme of this class
See Also:
Area

qualifiesForThisClass

boolean qualifiesForThisClass(MOB mob,
                              boolean quiet)
Returns whether this given mob qualifies for this class, and optionally gives them an error message.

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

classParms

java.lang.String classParms()
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.

Returns:
any parameters used to define this class
See Also:
setClassParms(String), isGeneric()

setClassParms

void setClassParms(java.lang.String parms)
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.

Parameters:
parms - any parameters used to define this class
See Also:
classParms(), isGeneric()

isGeneric

boolean isGeneric()
Returns whether this class is fully defined using the setParms method, as opposed to being defined by its Java code.

Returns:
whether this class is defined fully by parameters
See Also:
classParms(), makeGenCharClass(), setClassParms(String)

makeGenCharClass

CharClass makeGenCharClass()
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.

Returns:
a generic version of this class.
See Also:
isGeneric()

getSecurityGroups

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.

Parameters:
classLevel - the class level of the mob
Returns:
a vector of security flag strings

startCharacter

void startCharacter(MOB mob,
                    boolean isBorrowedClass,
                    boolean verifyOnly)
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.

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

endCharacter

void endCharacter(MOB mob)
Called when a class is no longer the current dominant class of a player or mob, usually during class training.

Parameters:
mob - the mob whose career to end or put aside

isValidClassBeneficiary

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. Assumes the mob is in the same room, and requires the followers of the killer be passed in.

Parameters:
killer - the killer mob
killed - who the killer mob killed
mob - the mob whose sharing capacity is being evaluated
followers - the killers followers
Returns:
whether the mob shares in the exp gains

isValidClassDivider

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. Assumes the mob is in the same room, and requires the followers of the killer be passed in.

Parameters:
killer - the killer mob
killed - who the killer mob killed
mob - the mob whose sharing capacity is being evaluated
followers - the killers followers
Returns:
whether the mob shares in the exp gains

grantAbilities

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. Can also be called just to populate a mob with class skills, so it should also confirm any lower level skills also.

Parameters:
mob - the mob to give abilities to.
isBorrowedClass - whether the skills are savable (false) or temporary (true)
See Also:
MOB.addAbility(Ability)

level

void level(MOB mob,
           java.util.Vector gainedAbilityIDs)
This method is called whenever a player gains a level while a member of this class. If there are any special things which need to be done to a player who gains a level, they can be done in this method. By default, it doesn't do anything.

Parameters:
mob - the mob to level up
gainedAbilityIDs - the set of abilities/skill IDs gained during this leveling process

adjustExperienceGain

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.

Parameters:
host - the player or mob whose class is being queried
mob - the player or mob gaining experience
victim - if applicable, the mob or player who died to give the exp
amount - the amount of exp on track for gaining
Returns:
the adjusted amount of experience to gain

unLevel

void unLevel(MOB mob)
This method is called whenever a player loses a level while a member of this class. If there are any special things which need to be done to a player who loses a level, they can be done in this method. By default, it doesn't do anything.

Parameters:
mob - the mob to level down

outfit

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.

Parameters:
myChar - one who will receive the objects
Returns:
a vector of Item objects

classDurationModifier

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. This method is called even if the class is not the players CURRENT class.

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

fillOutMOB

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. This method should create a mob for the caller if mob==null.

Parameters:
mob - the mob to fill out, or null
level - the level of the mob
Returns:
the filled in mob

getLevelPlayerHP

int getLevelPlayerHP(MOB mob)
Returns the amount of hp the given player would have being this class.

Parameters:
mob - the mob who would be this class
Returns:
the amount of hp a pc of this class should have

getLevelMana

int getLevelMana(MOB mob)
Returns the amount of mana the given mob would have being this class.

Parameters:
mob - the mob who would be this class
Returns:
the amount of mana an npc of this class should have

getLevelSpeed

double getLevelSpeed(MOB mob)
Returns the number of attacks the given mob would have being this class.

Parameters:
mob - the mob who would be this class
Returns:
the number of attacks an npc of this class should have

getLevelMove

int getLevelMove(MOB mob)
Returns the amount of movement the given mob would have being this class.

Parameters:
mob - the mob who would be this class
Returns:
the amount of movement an npc of this class should have

getLevelAttack

int getLevelAttack(MOB mob)
Returns the amount of combat prowess the given mob would have being this class.

Parameters:
mob - the mob who would be this class
Returns:
the amount of combat prowess an npc of this class should have

getLevelArmor

int getLevelArmor(MOB mob)
Returns the armor rating the given mob would have being this class.

Parameters:
mob - the mob who would be this class
Returns:
the armor rating an npc of this class should have

getLevelDamage

int getLevelDamage(MOB mob)
Returns the amount of damage per hit the given mob would have being this class.

Parameters:
mob - the mob who would be this class
Returns:
the amount of damage per hit an npc of this class should have

getBonusPracLevel

int getBonusPracLevel()
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.

Returns:
the number of bonus practices to grant

getBonusAttackLevel

int getBonusAttackLevel()
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.

Returns:
the number of bonus attack points to grant

getAttackAttribute

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.

Returns:
a CharStats.STAT_* attribute constant code
See Also:
CharStats

getPracsFirstLevel

int getPracsFirstLevel()
Returns the number of practices received by members of this class when they are first created.

Returns:
the number of initial practices to grant

getTrainsFirstLevel

int getTrainsFirstLevel()
Returns the number of training points received by members of this class when they are first created.

Returns:
the number of initial trains to grant

getLevelsPerBonusDamage

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.

Returns:
the number of levels between damage gains

getMovementMultiplier

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. This is applied after the stat score has been divided by 18.

Returns:
a multiplier for a players movement related char stat score

getHPDivisor

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.

Returns:
the hit point char stat divisor
See Also:
getHPDice(), getHPDie()

getHPDice

int getHPDice()
Hit points gained upon level is calculated by multiplying this stat by getHPDie().

Returns:
a hit point gain multiplier
See Also:
getHPDie()

getHPDie

int getHPDie()
Hit points gained upon level is calculated by multiplying this stat by getHPDice().

Returns:
a hit point gain multiplier
See Also:
getHPDice()

getManaDivisor

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.

Returns:
the mana char stat divisor
See Also:
getManaDice(), getManaDie()

getManaDice

int getManaDice()
mana gained upon level is calculated by multiplying this stat by getManaDie().

Returns:
a mana gain multiplier
See Also:
getManaDie()

getManaDie

int getManaDie()
mana gained upon level is calculated by multiplying this stat by getManaDice().

Returns:
a mana gain multiplier
See Also:
getManaDice()

weaponLimitations

java.lang.String weaponLimitations()
Returns a text description of any weapon restrictions imposed by this class upon its members.

Returns:
a text description of weapon retrictions

armorLimitations

java.lang.String armorLimitations()
Returns a text description of any armor restrictions imposed by this class upon its members.

Returns:
a text description of armor retrictions

otherLimitations

java.lang.String otherLimitations()
Returns a text description of any misc restrictions imposed by this class upon its members.

Returns:
a text description of misc retrictions

otherBonuses

java.lang.String otherBonuses()
Returns a text description of any bonus properties granted by this class to its members.

Returns:
a text description of bonus properties

statQualifications

java.lang.String statQualifications()
Returns a text description of the stat qualifications required to become a member of this character class

Returns:
a txt description of stat qualifications

getLevelCap

int getLevelCap()
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.

Returns:
highest class level for this class;

maxStatAdjustments

int[] maxStatAdjustments()
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.

Returns:
a six element array of adjustments to max base stats
See Also:
CharStats

raceless

boolean raceless()
Whether this class can be associated with a race.

Returns:
whether this class can have a class
See Also:
Race

leveless

boolean leveless()
Whether players of this class can be associated with an experience level.

Returns:
whether players of this class can have a level

expless

boolean expless()
Whether players of this class can gain or lose experience points.

Returns:
whether players of this class can gain or lose experience points