com.planet_ink.coffee_mud.Items.Basic
Class StdLimb

java.lang.Object
  extended by com.planet_ink.coffee_mud.Items.Basic.StdItem
      extended by com.planet_ink.coffee_mud.Items.Basic.StdLimb
All Implemented Interfaces:
Affectable, Behavable, CMObject, Contingent, DBIdentifiable, Environmental, Modifiable, MsgListener, Physical, PhysicalAgent, Readable, Rider, StatsAffecting, Tickable, Armor, FalseLimb, Item, Wearable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
GenLimb

public class StdLimb
extends StdItem
implements FalseLimb


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Armor
Armor.SizeDeviation
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
Wearable.CODES
 
Field Summary
protected  short layer
           
protected  short layerAttributes
           
protected  int partnum
           
protected  java.lang.String raceID
           
protected  long wearplace
           
 
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.Items.interfaces.Armor
LAYERMASK_DESCS, LAYERMASK_MULTIWEAR, LAYERMASK_SEETHROUGH
 
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
 
Constructor Summary
StdLimb()
           
 
Method Summary
 void affectCharStats(MOB affected, CharStats affectableStats)
          This method is called by the recoverCharStats() method on other MOB objects.
 boolean canWear(MOB mob, long where)
          Returns whether it is practical for the given mob to wear this Item on the given worn location as given by the wornCode.
protected  boolean canWearComplete(MOB mob)
           
 boolean fitsOn(long wornCode)
          Whether this item is designated as being wearable on the given worn codes defined in the Item interface.
 int getBodyPartCode()
          Gets the racial body part code that corresponds with the part of the body that this false limb replaces.
 short getClothingLayer()
          Returns the layer at which this item is worn.
 short getLayerAttributes()
          Returns the bitmask for the several layer attribute flags.
 java.lang.String getRaceID()
          This sets a true false limb from an actual limb apart from each other.
 Armor.SizeDeviation getSizingDeviation(MOB mob)
          Returns a coded description of how well this item fits on the given mob.
 long getWearLocations()
          Gets the single wear location that this limb both helps to provide, and appears to be worn underneath other clothing.
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 boolean okMessage(Environmental host, CMMsg msg)
          The general message event previewer for the object.
 void setBodyPartCode(int partNumber)
          Sets the racial body part code that corresponds with the part of the body that this false limb replaces.
 void setClothingLayer(short newLayer)
          Sets the layer at which this item is worn.
 void setLayerAttributes(short newAttributes)
          Sets the bitmask for the several layer attribute flags.
 void setName(java.lang.String name)
          Sets the raw unmodified name of this object as stored in the database.
 void setRaceID(java.lang.String raceID)
          This sets a true false limb from an actual limb apart from each other.
 void setSecretIdentity(java.lang.String id)
          This method is used to change the string returned by rawSecretIdentity.
 void setWearLocations(long wearPlace)
          Sets the single wear location that this limb both helps to provide, and appears to be worn underneath other clothing.
 
Methods inherited from class com.planet_ink.coffee_mud.Items.Basic.StdItem
abilityImbuesMagic, addBehavior, addEffect, addNonUninvokableEffect, addScript, affectCharState, affectPhyStats, alreadyWornMsg, amBeingWornProperly, amDestroyed, amWearingAt, baseGoldValue, basePhyStats, behaviors, canSaveDatabaseID, canWearComplete, cloneFix, compareProperLocations, compareTo, container, copyOf, databaseID, delAllBehaviors, delAllEffects, delAllScripts, delBehavior, delEffect, delScript, description, description, destroy, displayText, displayText, eachBehavior, eachEffect, eachScript, effects, executeMsg, expirationDate, fetchBehavior, fetchBehavior, fetchEffect, fetchEffect, fetchScript, getCodeNum, getSaveStatIndex, getStat, getStatCodes, getTickStatus, I, image, initializeClass, isGeneric, isReadable, isSavable, isStat, L, material, maxRange, minRange, miscTextFormat, name, Name, name, newInstance, numBehaviors, numberOfItems, numEffects, numScripts, owner, phyStats, rawImage, rawLogicalAnd, rawProperLocationBitmap, rawSecretIdentity, rawWornCode, readableText, recoverPhyStats, recursiveWeight, removeFromOwnerContainer, riding, sameAs, scripts, secretIdentity, setBasePhyStats, setBaseValue, setContainer, setDatabaseID, setDescription, setDisplayText, setExpirationDate, setImage, setMaterial, setMiscText, setOwner, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, setReadable, setReadableText, setRiding, setSavable, setStat, setUsesRemaining, stopTicking, subjectToWearAndTear, tackOns, text, tick, ultimateContainer, unWear, usesRemaining, value, 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, secretIdentity, setBaseValue, setContainer, setMaterial, setOwner, setUsesRemaining, stopTicking, subjectToWearAndTear, ultimateContainer, usesRemaining, value
 
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, isGeneric, L, maxRange, minRange, miscTextFormat, Name, rawImage, sameAs, setDescription, setDisplayText, setExpirationDate, setImage, setMiscText, 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, affectPhyStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.MsgListener
executeMsg
 
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, compareProperLocations, 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, readableText, setReadable, setReadableText
 

Field Detail

raceID

protected java.lang.String raceID

partnum

protected int partnum

wearplace

protected long wearplace

layer

protected short layer

layerAttributes

protected short layerAttributes
Constructor Detail

StdLimb

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

setName

public void setName(java.lang.String name)
Description copied from interface: Environmental
Sets the raw unmodified name of this object as stored in the database. This is the name set by builders and used as a basis for the name() method.

Specified by:
setName in interface Environmental
Overrides:
setName in class StdItem
Parameters:
name - the raw base name of this object on the map.
See Also:
Environmental.Name()

okMessage

public boolean okMessage(Environmental host,
                         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 StdItem
Parameters:
host - 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()

setSecretIdentity

public void setSecretIdentity(java.lang.String id)
Description copied from interface: Item
This method is used to change the string returned by rawSecretIdentity. This string is saved to the database as the items secret properties desctiption. The secretIdentity method uses this string to construct its full description.

Specified by:
setSecretIdentity in interface Item
Overrides:
setSecretIdentity in class StdItem
Parameters:
id - the secret properties of this item. Empty string means it has none.

getBodyPartCode

public int getBodyPartCode()
Description copied from interface: FalseLimb
Gets the racial body part code that corresponds with the part of the body that this false limb replaces.

Specified by:
getBodyPartCode in interface FalseLimb
Returns:
the racial body part code
See Also:
Race.BODYPARTSTR, FalseLimb.setBodyPartCode(int)

setBodyPartCode

public void setBodyPartCode(int partNumber)
Description copied from interface: FalseLimb
Sets the racial body part code that corresponds with the part of the body that this false limb replaces.

Specified by:
setBodyPartCode in interface FalseLimb
Parameters:
partNumber - the racial body part code
See Also:
Race.BODYPARTSTR, FalseLimb.getBodyPartCode()

getWearLocations

public long getWearLocations()
Description copied from interface: FalseLimb
Gets the single wear location that this limb both helps to provide, and appears to be worn underneath other clothing. The number is a bit value, but not a mask of worn location bits.

Specified by:
getWearLocations in interface FalseLimb
Returns:
the single wear location bit value
See Also:
Wearable.DEFAULT_WORN_DESCS, FalseLimb.setWearLocations(long)

setWearLocations

public void setWearLocations(long wearPlace)
Description copied from interface: FalseLimb
Sets the single wear location that this limb both helps to provide, and appears to be worn underneath other clothing. The number is a bit value, but not a mask of worn location bits.

Specified by:
setWearLocations in interface FalseLimb
Parameters:
wearPlace - the single wear location bit value
See Also:
Wearable.DEFAULT_WORN_DESCS, FalseLimb.getWearLocations()

getSizingDeviation

public Armor.SizeDeviation getSizingDeviation(MOB mob)
Description copied from interface: Armor
Returns a coded description of how well this item fits on the given mob. See the SizeDeviation object for more information on the responses.

Specified by:
getSizingDeviation in interface Armor
Parameters:
mob - the mob to compare the fittability of this armor to
Returns:
a coded description of how well this item fits
See Also:
Armor.SizeDeviation

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

canWear

public boolean canWear(MOB mob,
                       long where)
Description copied from interface: Wearable
Returns whether it is practical for the given mob to wear this Item on the given worn location as given by the wornCode. The method checks for existing limbs and wear locations, and for items already being worn by the mob, and finally determines if the worn location given by the wornCode is among the available slots.

Specified by:
canWear in interface Wearable
Overrides:
canWear in class StdItem
Parameters:
mob - the player or mob being evaluated
where - the worn location to check and see if this Item can be worn there.
Returns:
whether this item can be worn by the given player at the given wornCode
See Also:
Item

fitsOn

public boolean fitsOn(long wornCode)
Description copied from interface: Wearable
Whether this item is designated as being wearable on the given worn codes defined in the Item interface. This method does not care about the practicality of wearing for a given mob (in other words, whether an item is already being worn on the location is not checked).

Specified by:
fitsOn in interface Wearable
Overrides:
fitsOn in class StdItem
Parameters:
wornCode - the worn code to check, as defined in the Item interface
Returns:
whether this item is allowed to be worn on that location
See Also:
Item

canWearComplete

protected boolean canWearComplete(MOB mob)

getClothingLayer

public short getClothingLayer()
Description copied from interface: Armor
Returns the layer at which this item is worn. 0 is the baseline layer, while larger than 0 is things like coats and shawls, where less than 0 are things like underwear and hose.

Specified by:
getClothingLayer in interface Armor
Returns:
the layer at which this item is worn.
See Also:
Armor.setClothingLayer(short)

setClothingLayer

public void setClothingLayer(short newLayer)
Description copied from interface: Armor
Sets the layer at which this item is worn. 0 is the baseline layer, while larger than 0 is things like coats and shawls, where less than 0 are things like underwear and hose.

Specified by:
setClothingLayer in interface Armor
Parameters:
newLayer - the layer at which this item is worn.
See Also:
Armor.getClothingLayer()

getLayerAttributes

public short getLayerAttributes()
Description copied from interface: Armor
Returns the bitmask for the several layer attribute flags. See the flags for more information on what they do.

Specified by:
getLayerAttributes in interface Armor
Returns:
the bitmask for the several layer attribute flags
See Also:
Armor.setLayerAttributes(short), Armor.LAYERMASK_DESCS, Armor.LAYERMASK_MULTIWEAR, Armor.LAYERMASK_SEETHROUGH

setLayerAttributes

public void setLayerAttributes(short newAttributes)
Description copied from interface: Armor
Sets the bitmask for the several layer attribute flags. See the flags for more information on what they do.

Specified by:
setLayerAttributes in interface Armor
Parameters:
newAttributes - the bitmask for the several layer attribute flags
See Also:
Armor.getLayerAttributes(), Armor.LAYERMASK_DESCS, Armor.LAYERMASK_MULTIWEAR, Armor.LAYERMASK_SEETHROUGH

getRaceID

public java.lang.String getRaceID()
Description copied from interface: FalseLimb
This sets a true false limb from an actual limb apart from each other. It returns "" if the limb is truly false, and the race id if it is an actual limb cut off from someone.

Specified by:
getRaceID in interface FalseLimb
Returns:
the race id or ""
See Also:
CMObject.ID(), FalseLimb.setRaceID(String)

setRaceID

public void setRaceID(java.lang.String raceID)
Description copied from interface: FalseLimb
This sets a true false limb from an actual limb apart from each other. Set "" if the limb is truly false, and the race id if it is an actual limb cut off from someone.

Specified by:
setRaceID in interface FalseLimb
Parameters:
raceID - the race id or ""
See Also:
CMObject.ID(), FalseLimb.getRaceID()