java.lang.Cloneable, CMObject, java.lang.Comparable<CMObject>, Modifiable, MsgListener, StatsAffecting, TickableAbjurer, Alterer, Apprentice, Arcanist, Archon, Artisan, Assassin, Barbarian, Bard, Beastmaster, Burglar, Cavalier, Charlatan, Cleric, Conjurer, Delver, Diviner, Doomsayer, Druid, Enchanter, Evoker, Fighter, Gaian, Gaoler, GenCharClass, Healer, Illusionist, Jester, Mage, Mer, Minstrel, Missionary, Monk, Necromancer, Oracle, Paladin, Pirate, PlayerClass, Prancer, Purist, Qualifier, Ranger, Reliquist, Sailor, Scholar, Shaman, SkyWatcher, SpecialistMage, StdCharClass, Templar, Thief, Transmuter, Trapper, Wizardpublic interface CharClass extends Tickable, StatsAffecting, MsgListener, CMObject, Modifiable
MOB.charStats(), 
CharStats| Modifier and Type | Interface | Description | 
|---|---|---|
| static class  | CharClass.SubClassRule | This defines how this class fits into the SUB subclassing class system. | 
| Modifier and Type | Field | Description | 
|---|---|---|
| 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 | GENFLAG_THINQUALLIST | for character classes that define themselves using getParms, this can designate expless 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_MERLIKE | constant returned by allowedWeaponLevel() to designate natural 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_STAFFONLY | constant returned by allowedWeaponLevel() to designate staffs only. | 
| static int | WEAPONS_THIEFLIKE | constant returned by allowedWeaponLevel() to designate swords/daggers only. | 
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_BALLISTICK, TICKID_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_ELECTRONICS, TICKID_EMAIL, TICKID_EVENT, 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_SHORTERMASK, TICKID_SOLITARYMASK, TICKID_SPECIALCOMBAT, TICKID_SPECIALMANEUVER, TICKID_SPELL_AFFECT, TICKID_SUPPORT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET| Modifier and Type | Method | Description | 
|---|---|---|
| int | addedExpertise(MOB host,
              ExpertiseLibrary.XType expertiseCode,
              java.lang.String abilityID) | Whenever a uses a skill, this method can return any additional expertise
 granted explicitly by the class. | 
| 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. | 
| 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. | 
| boolean | canBeABenificiary(MOB killer,
                 MOB killed,
                 MOB mob,
                 java.util.Set<MOB> followers) | Returns whether this class, for the given mob of this class, should share in the
 experience gained by the killer for having killed the killed. | 
| boolean | canBeADivider(MOB killer,
             MOB killed,
             MOB mob,
             java.util.Set<MOB> followers) | Returns whether this class, for the given mob of this class, should count in the division
 of experience gained by the killer for having killed the killed. | 
| 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. | 
| int | classLevelModifier(MOB myChar,
                  Ability skill,
                  int level) | This method is called whenever a player casts a spell which has an affect
 that is level dependent. | 
| 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. | 
| java.lang.String | getArmorLimitDesc() | Returns a text description of any armor restrictions
 imposed by this class upon its members. | 
| 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. | 
| java.lang.String | getAttackDesc() | Returns a text description of the attack bonuses
 gained by members of this class. | 
| int | getBonusAttackLevel() | Returns the number of bonus attack points received by members of
 this class when they gain a level. | 
| int | getBonusPracLevel() | Returns the number of bonus practices received by members of
 this class when they gain a level. | 
| java.lang.String | getDamageDesc() | Returns a text description of the damage bonuses
 gained by members of this class. | 
| java.lang.String | getHitPointDesc() | Returns a text description of the hit point bonuses
 gained by members of this class. | 
| 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 | getManaDesc() | Returns a text description of the mana bonuses
 gained by members of this class. | 
| java.lang.String | getManaFormula() | Returns the formula used every time a player of this class gains
 a level as this class. | 
| java.lang.String | getMaxStatDesc() | Returns the list of max stats for members of 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 | getMovementDesc() | Returns a text description of the movement bonuses
 gained by members of 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 | getPracticeDesc() | Returns a text description of the practice bonuses
 gained by members of this class. | 
| java.lang.String | getPrimeStatDesc() | Returns the prime statistic of this class | 
| java.lang.String | getRaceQualDesc() | Returns a text description of the race requirements
 required to become a member of this character class | 
| 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. | 
| 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 | 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. | 
| java.lang.String | getTrainDesc() | Returns a text description of the train bonuses
 gained by members of this class. | 
| int | getTrainsFirstLevel() | Returns the number of training sessions 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. | 
| 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 | isAllowedRace(Race R) | Returns whether the given race matches the required race
 list rules. | 
| 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.Set<MOB> 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.Set<MOB> 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.List<java.lang.String> 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 | 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. | 
| 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.util.List<Item> | outfit(MOB myChar) | Returns a vector of Item objects representing the standard
 clothing, weapons, or other objects commonly given to players
 of this class just starting out. | 
| 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. | 
| 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. | 
| void | unLevel(MOB mob) | This method is called whenever a player loses a level while a member of this class. | 
getSaveStatIndex, getStat, getStatCodes, isStat, setStatexecuteMsg, okMessageaffectCharState, affectCharStats, affectPhyStatsgetTickStatus, tickstatic final int ARMOR_ANY
static final int ARMOR_CLOTH
static final int ARMOR_LEATHER
static final int ARMOR_NONMETAL
static final int ARMOR_VEGAN
static final int ARMOR_METALONLY
static final int ARMOR_OREONLY
static final long ARMOR_WEARMASK
static final java.lang.String[] ARMOR_DESCS
static final java.lang.String[] ARMOR_LONGDESC
static final int WEAPONS_ANY
static final int WEAPONS_DAGGERONLY
static final int WEAPONS_THIEFLIKE
static final int WEAPONS_NATURAL
static final int WEAPONS_BURGLAR
static final int WEAPONS_ROCKY
static final int WEAPONS_MAGELIKE
static final int WEAPONS_EVILCLERIC
static final int WEAPONS_GOODCLERIC
static final int WEAPONS_NEUTRALCLERIC
static final int WEAPONS_ALLCLERIC
static final int WEAPONS_FLAILONLY
static final int WEAPONS_MERLIKE
static final int WEAPONS_STAFFONLY
static final int[][] WEAPONS_SETS
static final java.lang.String[] WEAPONS_LONGDESC
static final int GENFLAG_NORACE
static final int GENFLAG_NOLEVELS
static final int GENFLAG_NOEXP
static final int GENFLAG_THINQUALLIST
static final java.lang.String[] GENFLAG_DESCS
java.lang.String name()
java.lang.String name(int classLevel)
java.lang.String[] nameSet()
java.lang.String baseClass()
int availabilityCode()
Areaboolean qualifiesForThisClass(MOB mob, boolean quiet)
mob - the mob to evaluate the worthiness ofquiet - false to give the mob error messages, true for silencejava.lang.String classParms()
setClassParms(String), 
isGeneric()void setClassParms(java.lang.String parms)
parms - any parameters used to define this classclassParms(), 
isGeneric()boolean isGeneric()
classParms(), 
makeGenCharClass(), 
setClassParms(String)CharClass makeGenCharClass()
isGeneric()CMSecurity.SecGroup getSecurityFlags(int classLevel)
classLevel - the class level of the mobvoid startCharacter(MOB mob, boolean isBorrowedClass, boolean verifyOnly)
mob - the mob being outfitted with this classisBorrowedClass - whether the charclasses skills are borrowed(true) or permanentverifyOnly - send true if no skills or changes are to be madevoid endCharacter(MOB mob)
mob - the mob whose career to end or put asideboolean isValidClassBeneficiary(MOB killer, MOB killed, MOB mob, java.util.Set<MOB> followers)
killer - the killer mobkilled - who the killer mob killedmob - the mob whose sharing capacity is being evaluatedfollowers - the killers followersboolean isValidClassDivider(MOB killer, MOB killed, MOB mob, java.util.Set<MOB> followers)
killer - the killer mobkilled - who the killer mob killedmob - the mob whose sharing capacity is being evaluatedfollowers - the killers followersboolean canBeADivider(MOB killer, MOB killed, MOB mob, java.util.Set<MOB> followers)
killer - the killer mobkilled - who the killer mob killedmob - the mob whose sharing capacity is being evaluatedfollowers - the killers followersboolean canBeABenificiary(MOB killer, MOB killed, MOB mob, java.util.Set<MOB> followers)
killer - the killer mobkilled - who the killer mob killedmob - the mob whose sharing capacity is being evaluatedfollowers - the killers followersvoid grantAbilities(MOB mob, boolean isBorrowedClass)
mob - the mob to give abilities to.isBorrowedClass - whether the skills are savable (false) or temporary (true)AbilityContainer.addAbility(Ability)void level(MOB mob, java.util.List<java.lang.String> gainedAbilityIDs)
mob - the mob to level upgainedAbilityIDs - the set of abilities/skill IDs gained during this leveling processint adjustExperienceGain(MOB host, MOB mob, MOB victim, int amount)
host - the player or mob whose class is being queriedmob - the player or mob gaining experiencevictim - if applicable, the mob or player who died to give the expamount - the amount of exp on track for gainingint addedExpertise(MOB host, ExpertiseLibrary.XType expertiseCode, java.lang.String abilityID)
host - the player or mob whose class is being queriedexpertiseCode - the expertise codeabilityID - the Ability IDExpertiseLibrary.XTypevoid unLevel(MOB mob)
mob - the mob to level downjava.util.List<Item> outfit(MOB myChar)
myChar - one who will receive the objectsint classDurationModifier(MOB myChar, Ability skill, int duration)
myChar - the caster or skill userskill - the skill or spell that was cast.duration - the default durationint classLevelModifier(MOB myChar, Ability skill, int level)
myChar - the caster or skill userskill - the skill or spell that was cast.level - the default levelint getBonusPracLevel()
int getBonusAttackLevel()
int getAttackAttribute()
CharStatsint getPracsFirstLevel()
int getTrainsFirstLevel()
int getLevelsPerBonusDamage()
java.lang.String getMovementFormula()
getMovementDesc()java.lang.String getMovementDesc()
getMovementFormula()java.lang.String getHitPointsFormula()
getHitPointDesc()java.lang.String getHitPointDesc()
getHitPointsFormula()java.lang.String getManaFormula()
getManaDesc(), 
getAttackAttribute()java.lang.String getManaDesc()
getManaFormula()java.lang.String[] getRequiredRaceList()
isAllowedRace(Race)boolean isAllowedRace(Race R)
R - the race to checkgetRequiredRaceList()Pair<java.lang.String,java.lang.Integer>[] getMinimumStatRequirements()
java.lang.String getWeaponLimitDesc()
java.lang.String getArmorLimitDesc()
java.lang.String getOtherLimitsDesc()
java.lang.String getOtherBonusDesc()
java.lang.String getStatQualDesc()
java.lang.String getRaceQualDesc()
java.lang.String getAttackDesc()
java.lang.String getPrimeStatDesc()
java.lang.String getDamageDesc()
java.lang.String getTrainDesc()
java.lang.String getPracticeDesc()
java.lang.String getMaxStatDesc()
java.lang.String getStartingMoney()
int getLevelCap()
int[] maxStatAdjustments()
CharStatsboolean raceless()
Raceboolean leveless()
boolean expless()
CharClass.SubClassRule getSubClassRule()
boolean showThinQualifyList()
int maxNonCraftingSkills()
int maxCraftingSkills()
int maxCommonSkills()
int maxLanguages()
int allowedArmorLevel()
ARMOR_WEARMASK, 
ARMOR_ANYint allowedWeaponLevel()
WEAPONS_ANY