com.planet_ink.coffee_mud.CharClasses
Class Artisan

java.lang.Object
  extended by com.planet_ink.coffee_mud.CharClasses.StdCharClass
      extended by com.planet_ink.coffee_mud.CharClasses.Artisan
All Implemented Interfaces:
CharClass, CMModifiable, CMObject, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>

public class Artisan
extends StdCharClass


Field Summary
 
Fields inherited from class com.planet_ink.coffee_mud.CharClasses.StdCharClass
CODES, maxStatAdj, names, 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
Artisan()
           
 
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.HashSet disallowedWeaponClasses(MOB mob)
           
 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 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.
 java.lang.String getOtherBonusDesc()
          Returns a text description of any bonus properties granted by this class to its members.
 java.lang.String getStatQualDesc()
          Returns a text description of the stat qualifications required to become a member of this character class
 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.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 tick(Tickable ticking, int tickID)
          this is the method which is called periodically by the threading engine.
 
Methods inherited from class com.planet_ink.coffee_mud.CharClasses.StdCharClass
adjustExperienceGain, affectCharState, affectCharStats, affectEnvStats, armorCheck, armorFailMessage, buildDisallowedWeaponClasses, buildDisallowedWeaponClasses, buildRequiredWeaponMaterials, classDurationModifier, classParms, cloneFix, compareTo, copyOf, endCharacter, executeMsg, expless, getArmorLimitDesc, getAttackDesc, getCodeNum, getDamageDesc, getHitPointDesc, getLevelCap, getManaDesc, getMaxStatDesc, getMovementDesc, getMovementMultiplier, getOtherLimitsDesc, getPracsFirstLevel, getPracticeDesc, getPrimeStatDesc, getSaveStatIndex, getSecurityGroups, getStat, getStatCodes, getTickStatus, getTrainDesc, getTrainsFirstLevel, getWeaponLimitDesc, giveMobAbility, giveMobAbility, grantAbilities, isGeneric, isQualifyingAuthority, isStat, isValidClassBeneficiary, isValidClassDivider, level, leveless, makeGenCharClass, maxCommonSkills, maxCraftingSkills, maxLanguages, maxNonCraftingSkills, maxStatAdjustments, name, nameSet, newInstance, okMessage, raceless, requiredArmorSourceMinor, requiredWeaponMaterials, sameAs, setClassParms, setStat, startCharacter, unLevel, weaponCheck
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Artisan

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

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
Overrides:
getHPDivisor in class StdCharClass
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
Overrides:
getHPDice in class StdCharClass
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
Overrides:
getHPDie in class StdCharClass
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
Overrides:
getManaDivisor in class StdCharClass
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
Overrides:
getManaDice in class StdCharClass
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
Overrides:
getManaDie in class StdCharClass
Returns:
a mana gain multiplier
See Also:
CharClass.getManaDice()

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.HashSet disallowedWeaponClasses(MOB mob)
Overrides:
disallowedWeaponClasses 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

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

tick

public boolean tick(Tickable ticking,
                    int tickID)
Description copied from interface: Tickable
this is the method which is called periodically by the threading engine. How often it is called depends on the parameters passed to the threadding engine when it is submitted for thread access. Typically the period is once per TIME_TICK period, but that is determined when the object is submitted to the thread engine.

Specified by:
tick in interface Tickable
Overrides:
tick in class StdCharClass
Parameters:
ticking - a reference to this Tickable object
tickID - the TICKID_ constant describing this periodic call, as defined in Tickable
Returns:
true always, unless this object no longer wishes to ever tick again, in which case false
See Also:
Tickable, ServiceEngine, TickableGroup

getStatQualDesc

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

Specified by:
getStatQualDesc in interface CharClass
Overrides:
getStatQualDesc in class StdCharClass
Returns:
a txt description of stat qualifications

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
Overrides:
qualifiesForThisClass in class StdCharClass
Parameters:
mob - the mob to evaluate the worthiness of
quiet - false to give the mob error messages, true for silence
Returns:
whether the given mob is worthy of this class

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

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