com.planet_ink.coffee_mud.CharClasses
Class Thief

java.lang.Object
  extended by com.planet_ink.coffee_mud.CharClasses.StdCharClass
      extended by com.planet_ink.coffee_mud.CharClasses.Thief
All Implemented Interfaces:
CharClass, CMObject, Modifiable, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
Arcanist, Assassin, Burglar, Pirate, Trapper

public class Thief
extends StdCharClass


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.CharClasses.interfaces.CharClass
CharClass.SubClassRule
 
Field Summary
 
Fields inherited from class com.planet_ink.coffee_mud.CharClasses.StdCharClass
cachedRaceQualList, CODES, 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
Thief()
           
 
Method Summary
 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.
protected  java.util.Set<java.lang.Integer> disallowedWeaponClasses(MOB mob)
           
 void executeMsg(Environmental myHost, CMMsg msg)
          The general message event handler for the object.
 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.
 java.lang.String getHitPointsFormula()
          Returns the formula used every time a player of this class gains a level as 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[] 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.
 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.
 java.lang.String name()
          Returns the generally displayable name 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.
 
Methods inherited from class com.planet_ink.coffee_mud.CharClasses.StdCharClass
addedExpertise, adjustExperienceGain, affectCharState, affectCharStats, affectPhyStats, armorCheck, armorFailMessage, buildDisallowedWeaponClasses, buildDisallowedWeaponClasses, buildRequiredWeaponMaterials, canBeABenificiary, canBeADivider, checkRaceQualifierChanges, classDurationModifier, classLevelModifier, classParms, cloneFix, compareTo, copyOf, endCharacter, expless, getArmorLimitDesc, getAttackDesc, getCodeNum, getDamageDesc, getHitPointDesc, getLevelCap, getManaDesc, getMaxStatDesc, getMovementDesc, getOtherLimitsDesc, getPracsFirstLevel, getPracticeDesc, getPrimeStatDesc, getRaceQualDesc, getSaveStatIndex, getSecurityFlags, getShortAttackAttribute, getStartingMoney, getStat, getStatCodes, getStatQualDesc, getSubClassRule, getTickStatus, getTrainDesc, getTrainsFirstLevel, getWeaponLimitDesc, giveMobAbility, giveMobAbility, isAllowedRace, isGeneric, isQualifyingAuthority, isStat, isValidClassBeneficiary, isValidClassDivider, L, level, leveless, makeGenCharClass, maxCommonSkills, maxCraftingSkills, maxLanguages, maxNonCraftingSkills, maxStatAdjustments, name, nameSet, newInstance, okMessage, qualifiesForThisClass, raceless, requiredArmorSourceMinor, requiredWeaponMaterials, sameAs, setClassParms, setStat, showThinQualifyList, startCharacter, tick, unLevel, weaponCheck
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Thief

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

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

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

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

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

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

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

disallowedWeaponClasses

protected java.util.Set<java.lang.Integer> disallowedWeaponClasses(MOB mob)
Overrides:
disallowedWeaponClasses in class StdCharClass

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
Overrides:
initializeClass in class StdCharClass

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

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

outfit

public java.util.List<Item> 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:
outfit in interface CharClass
Overrides:
outfit in class StdCharClass
Parameters:
myChar - one who will receive the objects
Returns:
a vector of Item objects

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

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

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