com.planet_ink.coffee_mud.Items.Weapons
Class GenStaff

java.lang.Object
  extended by com.planet_ink.coffee_mud.Items.Basic.StdItem
      extended by com.planet_ink.coffee_mud.Items.Weapons.StdWeapon
          extended by com.planet_ink.coffee_mud.Items.Weapons.GenWeapon
              extended by com.planet_ink.coffee_mud.Items.Weapons.GenStaff
All Implemented Interfaces:
Affectable, Behavable, CMObject, Contingent, DBIdentifiable, Environmental, Modifiable, MsgListener, Physical, PhysicalAgent, Readable, Rider, StatsAffecting, Tickable, AmmunitionWeapon, Item, MiscMagic, Wand, Weapon, Wearable, java.lang.Cloneable, java.lang.Comparable<CMObject>

public class GenStaff
extends GenWeapon
implements Wand


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
Wearable.CODES
 
Field Summary
protected  int maxUses
           
protected  java.lang.String secretWord
           
 
Fields inherited from class com.planet_ink.coffee_mud.Items.Weapons.GenWeapon
GENWEAPONCODES, readableText
 
Fields inherited from class com.planet_ink.coffee_mud.Items.Weapons.StdWeapon
ammoCapacity, lastReloadTime, maxRange, minRange, useExtendedMissString, weaponClassification, weaponDamageType
 
Fields inherited from class com.planet_ink.coffee_mud.Items.Basic.StdItem
affectPhyStats, affects, baseGoldValue, basePhyStats, behaviors, cachedImageName, CODES, databaseID, description, destroyed, displayText, dispossessionTime, material, me, miscText, myContainer, myUses, myWornCode, name, owner, phyStats, properWornBitmap, rawImageName, riding, scripts, secretIdentity, tickCtr, tickStatus, wornLogicalAnd, xtraValues
 
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
 
Fields inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
DEFAULT_WORN_CODES, DEFAULT_WORN_DEPENDENCYGRID, DEFAULT_WORN_DESCS, DEFAULT_WORN_ORDER, DEFAULT_WORN_USUAL_NAMES, DEFAULT_WORN_WEIGHT_POINTS, DEFAULT_WORN_WEIGHTS, FILTER_ANY, FILTER_MOBINVONLY, FILTER_ROOMONLY, FILTER_UNWORNONLY, FILTER_WORNONLY, HIGHEST_WORN_CODE, IN_INVENTORY, WORN_ABOUT_BODY, WORN_ARMS, WORN_BACK, WORN_EARS, WORN_EYES, WORN_FEET, WORN_FLOATING_NEARBY, WORN_HANDS, WORN_HEAD, WORN_HELD, WORN_LEFT_FINGER, WORN_LEFT_WRIST, WORN_LEGS, WORN_MOUTH, WORN_NECK, WORN_RIGHT_FINGER, WORN_RIGHT_WRIST, WORN_TORSO, WORN_WAIST, WORN_WIELD
 
Fields inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Weapon
CLASS_AXE, CLASS_BLUNT, CLASS_DAGGER, CLASS_DESCS, CLASS_EDGED, CLASS_FLAILED, CLASS_HAMMER, CLASS_NATURAL, CLASS_POLEARM, CLASS_RANGED, CLASS_STAFF, CLASS_SWORD, CLASS_THROWN, TYPE_BASHING, TYPE_BURNING, TYPE_BURSTING, TYPE_DESCS, TYPE_FROSTING, TYPE_GASSING, TYPE_LASERING, TYPE_MELTING, TYPE_NATURAL, TYPE_PIERCING, TYPE_SHOOT, TYPE_SLASHING, TYPE_SONICING, TYPE_STRIKING
 
Constructor Summary
GenStaff()
           
 
Method Summary
 boolean checkWave(MOB mob, java.lang.String message)
          Returns whether the given mob can use this wand.
 void executeMsg(Environmental myHost, CMMsg msg)
          The general message event handler for the object.
 Ability getSpell()
          Sets the spell ability object that this wand can cast.
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 boolean isGeneric()
          Whether the fields of this item are set in code, or set by builders.
 java.lang.String magicWord()
          Returns the magic word that invokes this wand
 int maxUses()
          Gets the number of times this wand can be invoked before being drained and empty useless stick.
 java.lang.String readableText()
          For things that are readable, this returns the readable string for this thing.
 java.lang.String secretIdentity()
          This method returns the calculated and expanded description of the properties of the item as would be discovered through the Identify spell.
 void setMaxUses(int newMaxUses)
          Sets the number of times this wand can be invoked before being drained and empty useless stick.
 void setReadableText(java.lang.String text)
          For things that are readable, this set the readable string for this thing.
 void setSpell(Ability theSpell)
          Sets the spell ability object that this wand can cast.
 int value()
          The default value of the item, represented in the base CoffeeMud currency.
 void waveIfAble(MOB mob, Physical afftarget, java.lang.String message)
          Checks to see if the mob can invoke this wand against the given target, given the message they just said out loud.
 
Methods inherited from class com.planet_ink.coffee_mud.Items.Weapons.GenWeapon
getCodeNum, getGenWeaponCodeNum, getGenWeaponStat, getStat, getStatCodes, sameAs, setGenWeaponStat, setMiscText, setStat, text
 
Methods inherited from class com.planet_ink.coffee_mud.Items.Weapons.StdWeapon
affectPhyStats, ammunitionCapacity, ammunitionRemaining, ammunitionType, hitString, inventoryAmmoCheck, isFreeStanding, maxRange, minRange, missString, okMessage, recoverOwner, recoverPhyStats, requiresAmmunition, setAmmoCapacity, setAmmoRemaining, setAmmunitionType, setRanges, setUsesRemaining, setWeaponClassification, setWeaponDamageType, subjectToWearAndTear, weaponClassification, weaponDamageType, weaponHealth
 
Methods inherited from class com.planet_ink.coffee_mud.Items.Basic.StdItem
abilityImbuesMagic, addBehavior, addEffect, addNonUninvokableEffect, addScript, affectCharState, affectCharStats, alreadyWornMsg, amBeingWornProperly, amDestroyed, amWearingAt, baseGoldValue, basePhyStats, behaviors, canSaveDatabaseID, canWear, canWearComplete, cloneFix, compareProperLocations, compareTo, container, copyOf, databaseID, delAllBehaviors, delAllEffects, delAllScripts, delBehavior, delEffect, delScript, description, description, destroy, displayText, displayText, eachBehavior, eachEffect, eachScript, effects, expirationDate, fetchBehavior, fetchBehavior, fetchEffect, fetchEffect, fetchScript, fitsOn, getSaveStatIndex, getTickStatus, I, image, initializeClass, isReadable, isSavable, isStat, L, material, miscTextFormat, name, Name, name, newInstance, numBehaviors, numberOfItems, numEffects, numScripts, owner, phyStats, rawImage, rawLogicalAnd, rawProperLocationBitmap, rawSecretIdentity, rawWornCode, recursiveWeight, removeFromOwnerContainer, riding, scripts, setBasePhyStats, setBaseValue, setContainer, setDatabaseID, setDescription, setDisplayText, setExpirationDate, setImage, setMaterial, setName, setOwner, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, setReadable, setRiding, setSavable, setSecretIdentity, stopTicking, tackOns, tick, ultimateContainer, unWear, usesRemaining, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Item
baseGoldValue, container, material, numberOfItems, owner, rawSecretIdentity, recursiveWeight, removeFromOwnerContainer, setBaseValue, setContainer, setMaterial, setOwner, setSecretIdentity, setUsesRemaining, stopTicking, subjectToWearAndTear, ultimateContainer, usesRemaining
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Rider
riding, setRiding
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Physical
description, displayText, name
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
description, displayText, expirationDate, image, L, maxRange, minRange, miscTextFormat, Name, rawImage, sameAs, setDescription, setDisplayText, setExpirationDate, setImage, setMiscText, setName, text
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
getTickStatus, name, tick
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.StatsAffecting
affectCharState, affectCharStats, affectPhyStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.MsgListener
okMessage
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Contingent
amDestroyed, destroy, isSavable, setSavable
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Modifiable
getSaveStatIndex, getStat, getStatCodes, isStat, setStat
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Affectable
addEffect, addNonUninvokableEffect, basePhyStats, delAllEffects, delEffect, eachEffect, effects, fetchEffect, fetchEffect, numEffects, phyStats, recoverPhyStats, setBasePhyStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Behavable
addBehavior, addScript, behaviors, delAllBehaviors, delAllScripts, delBehavior, delScript, eachBehavior, eachScript, fetchBehavior, fetchBehavior, fetchScript, numBehaviors, numScripts, scripts
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.DBIdentifiable
canSaveDatabaseID, databaseID, setDatabaseID
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
amBeingWornProperly, amWearingAt, canWear, compareProperLocations, fitsOn, rawLogicalAnd, rawProperLocationBitmap, rawWornCode, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, unWear, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Readable
isReadable, setReadable
 

Field Detail

secretWord

protected java.lang.String secretWord

maxUses

protected int maxUses
Constructor Detail

GenStaff

public GenStaff()
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 GenWeapon
Returns:
the name of this class

maxUses

public int maxUses()
Description copied from interface: Wand
Gets the number of times this wand can be invoked before being drained and empty useless stick.

Specified by:
maxUses in interface Wand
Returns:
the number of times this wand can be invoked
See Also:
Wand.setMaxUses(int)

setMaxUses

public void setMaxUses(int newMaxUses)
Description copied from interface: Wand
Sets the number of times this wand can be invoked before being drained and empty useless stick.

Specified by:
setMaxUses in interface Wand
Parameters:
newMaxUses - the number of times this wand can be invoked
See Also:
Wand.maxUses()

isGeneric

public boolean isGeneric()
Description copied from interface: Environmental
Whether the fields of this item are set in code, or set by builders. Generic means that they are set by builders, in which case XML is returned by the text() method containing all of the values for all the fields.

Specified by:
isGeneric in interface Environmental
Overrides:
isGeneric in class GenWeapon
Returns:
whether this item is modifiable by builders
See Also:
Environmental.text()

value

public int value()
Description copied from interface: Item
The default value of the item, represented in the base CoffeeMud currency. This method starts with baseGoldValue, which is a user-entered value, and adjusts according to magical enhancements and the condition of the item.

Specified by:
value in interface Item
Overrides:
value in class StdWeapon
Returns:
the adjusted value of the item in the base currency.

setSpell

public void setSpell(Ability theSpell)
Description copied from interface: Wand
Sets the spell ability object that this wand can cast.

Specified by:
setSpell in interface Wand
Parameters:
theSpell - the spell ability object that this wand can cast.
See Also:
Wand.getSpell()

readableText

public java.lang.String readableText()
Description copied from interface: Readable
For things that are readable, this returns the readable string for this thing. That is to say, what the player sees when they read the door.

Specified by:
readableText in interface Readable
Overrides:
readableText in class GenWeapon
Returns:
the readable string
See Also:
Readable.isReadable(), Readable.setReadable(boolean), Readable.setReadableText(String)

setReadableText

public void setReadableText(java.lang.String text)
Description copied from interface: Readable
For things that are readable, this set the readable string for this thing. That is to say, what the player sees when they read the door.

Specified by:
setReadableText in interface Readable
Overrides:
setReadableText in class GenWeapon
Parameters:
text - the readable text
See Also:
Readable.isReadable(), Readable.setReadable(boolean), Readable.readableText()

secretIdentity

public java.lang.String secretIdentity()
Description copied from interface: Item
This method returns the calculated and expanded description of the properties of the item as would be discovered through the Identify spell. It starts with its rawSecretIdentity() and adds to it any strings which the Ability objects contained in the Items effects list would generate. An empty string means the item has no secret properties per se.

Specified by:
secretIdentity in interface Item
Overrides:
secretIdentity in class StdWeapon
Returns:
a displayable string describing the secret properties of the item.

getSpell

public Ability getSpell()
Description copied from interface: Wand
Sets the spell ability object that this wand can cast.

Specified by:
getSpell in interface Wand
Returns:
the spell ability object that this wand can cast.
See Also:
Wand.setSpell(Ability)

magicWord

public java.lang.String magicWord()
Description copied from interface: Wand
Returns the magic word that invokes this wand

Specified by:
magicWord in interface Wand
Returns:
the magic word that invokes this wand

waveIfAble

public void waveIfAble(MOB mob,
                       Physical afftarget,
                       java.lang.String message)
Description copied from interface: Wand
Checks to see if the mob can invoke this wand against the given target, given the message they just said out loud.

Specified by:
waveIfAble in interface Wand
Parameters:
mob - the invoker of the wand
afftarget - the target of the say message
message - the thing said by the wand invoker

checkWave

public boolean checkWave(MOB mob,
                         java.lang.String message)
Description copied from interface: Wand
Returns whether the given mob can use this wand. They must be holding it, and must say the magic word, etc.

Specified by:
checkWave in interface Wand
Parameters:
mob - the mob to check for waving ability
message - what the mob said prior to the check
Returns:
true if the wand can be invoked, false otherwise

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