com.planet_ink.coffee_mud.CharClasses
Class Arcanist

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

public class Arcanist
extends Thief


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
Arcanist()
           
 
Method Summary
 void affectCharStats(MOB affected, CharStats affectableStats)
          This method is called by the recoverCharStats() method on other MOB objects.
 int availabilityCode()
          Returns one or a combination of the Area.THEME_* constants from the Area interface.
 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.
 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 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.
 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.
 boolean qualifiesForThisClass(MOB mob, boolean quiet)
          Returns whether this given mob qualifies for this class, and optionally gives them an error message.
 java.lang.String statQualifications()
          Returns a text description of the stat qualifications required to become a member of this character class
 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.Thief
affectEnvStats, allowedArmorLevel, allowedWeaponLevel, baseClass, disallowedWeaponClasses, getAttackAttribute, getBonusAttackLevel, getBonusPracLevel, getHPDice, getHPDie, getHPDivisor, getLevelsPerBonusDamage, getMaxHitPointsLevel, getMovementMultiplier, grantAbilities, level, outfit, unLevel
 
Methods inherited from class com.planet_ink.coffee_mud.CharClasses.StdCharClass
adjustExperienceGain, affectCharState, armorCheck, armorFailMessage, armorLimitations, buildDisallowedWeaponClasses, buildDisallowedWeaponClasses, buildRequiredWeaponMaterials, classDurationModifier, classParms, cloneFix, compareTo, copyOf, expless, fillOutMOB, getCodeNum, getLevelArmor, getLevelAttack, getLevelCap, getLevelDamage, getLevelMana, getLevelMove, getLevelPlayerHP, getLevelSpeed, getPracsFirstLevel, getSaveStatIndex, getSecurityGroups, getStat, getStatCodes, getTickStatus, getTrainsFirstLevel, giveMobAbility, giveMobAbility, isGeneric, isQualifyingAuthority, isStat, isValidClassBeneficiary, isValidClassDivider, leveless, makeGenCharClass, maxStatAdjustments, name, nameSet, newInstance, otherLimitations, raceless, requiredArmorSourceMinor, requiredWeaponMaterials, sameAs, setClassParms, setStat, startCharacter, weaponCheck, weaponLimitations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Arcanist

public Arcanist()
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 Thief
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 Thief
Returns:
the displayable name of this object instance
See Also:
CharClass.name(int), CharClass.nameSet()

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

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

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 Thief

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
Overrides:
statQualifications in class Thief
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 Thief
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

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
Overrides:
otherBonuses in class Thief
Returns:
a text description of bonus properties

okMessage

public boolean okMessage(Environmental myHost,
                         CMMsg msg)
Description copied from interface: MsgListener
The general message event previewer for the object. Messages passed herein are in a pending state, and may be safely modified or rejected without fear that they might be in the middle of being executed. Messages passed herein may not necessarily be FOR or FROM this object, but will almost always represent events which want to happen in the same rom. This method should always always return true UNLESS this message needs to be canceled, in which case it is necessary to tell the mob initiating the event (CMMsg.source()) why it is being cancelled. Every game event goes through these methods.

Specified by:
okMessage in interface MsgListener
Overrides:
okMessage in class StdCharClass
Parameters:
myHost - either the initiator of the event, or the host of this object
msg - the CMMsg that wants to be executed
Returns:
whether this message is allowed to execute
See Also:
CMMsg, CMMsg.source()

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
Overrides:
endCharacter in class StdCharClass
Parameters:
mob - the mob whose career to end or put aside

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

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

affectCharStats

public void affectCharStats(MOB affected,
                            CharStats affectableStats)
Description copied from interface: StatsAffecting
This method is called by the recoverCharStats() method on other MOB objects. It is used to transform the MOB baseCharStats() object into a finished charStats() object, both of which are objects implementing the CharStats interface. See those methods for more information.

Specified by:
affectCharStats in interface StatsAffecting
Overrides:
affectCharStats in class StdCharClass
Parameters:
affected - the host of the CharStats object being affected
affectableStats - the particular CharStats object being affected
See Also:
CharStats, MOB, MOB.baseCharStats(), MOB.charStats(), MOB.recoverCharStats()