com.planet_ink.coffee_mud.Abilities.Misc
Class Amputation

java.lang.Object
  extended by com.planet_ink.coffee_mud.Abilities.StdAbility
      extended by com.planet_ink.coffee_mud.Abilities.Misc.Amputation
All Implemented Interfaces:
Ability, HealthCondition, LimbDamage, CMObject, Contingent, Environmental, Modifiable, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>

public class Amputation
extends StdAbility
implements LimbDamage, HealthCondition


Field Summary
static int[][] extraamuputees
           
protected  java.util.List<java.lang.String> missingLimbs
           
static boolean[] validamputees
           
 
Fields inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility
affected, amDestroyed, canBeUninvoked, empty, invoker, isAnAutoEffect, lastCastHelp, miscText, proficiency, savable, tickDown, unInvoked
 
Fields inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.Ability
ACODE_CHANT, ACODE_COMMON_SKILL, ACODE_DESCS, ACODE_DESCS_, ACODE_DISEASE, ACODE_LANGUAGE, ACODE_POISON, ACODE_PRAYER, ACODE_PROPERTY, ACODE_SKILL, ACODE_SONG, ACODE_SPELL, ACODE_SUPERPOWER, ACODE_TECH, ACODE_THIEF_SKILL, ACODE_TRAP, ALL_ACODES, ALL_DOMAINS, CACHEINDEX_CLASSLESS, CACHEINDEX_EXPERTISE, CACHEINDEX_NORMAL, CACHEINDEX_TOTAL, CAN_AREAS, CAN_DESCS, CAN_EXITS, CAN_ITEMS, CAN_MOBS, CAN_ROOMS, COST_ALL, COST_NORMAL, COST_PCT, DOMAIN_ABJURATION, DOMAIN_ACROBATIC, DOMAIN_ALERT, DOMAIN_ALTERATION, DOMAIN_ANATOMY, DOMAIN_ANIMALAFFINITY, DOMAIN_ARCANELORE, DOMAIN_ARCHON, DOMAIN_ARMORUSE, DOMAIN_ARTISTIC, DOMAIN_BINDING, DOMAIN_BLESSING, DOMAIN_BREEDING, DOMAIN_BUILDINGSKILL, DOMAIN_CALLIGRAPHY, DOMAIN_COMBATFLUIDITY, DOMAIN_COMBATLORE, DOMAIN_COMMUNING, DOMAIN_CONJURATION, DOMAIN_CORRUPTION, DOMAIN_CRAFTINGSKILL, DOMAIN_CREATION, DOMAIN_CRIMINAL, DOMAIN_CURSING, DOMAIN_DANCING, DOMAIN_DEATHLORE, DOMAIN_DECEPTIVE, DOMAIN_DEEPMAGIC, DOMAIN_DESCS, DOMAIN_DETRAP, DOMAIN_DIRTYFIGHTING, DOMAIN_DIVINATION, DOMAIN_EDUCATIONLORE, DOMAIN_ENCHANTMENT, DOMAIN_ENDURING, DOMAIN_EPICUREAN, DOMAIN_EVANGELISM, DOMAIN_EVASIVE, DOMAIN_EVOCATION, DOMAIN_FITNESS, DOMAIN_FOOLISHNESS, DOMAIN_GATHERINGSKILL, DOMAIN_GRAPPLING, DOMAIN_HEALING, DOMAIN_HOLYPROTECTION, DOMAIN_ILLUSION, DOMAIN_INFLUENTIAL, DOMAIN_KICKING, DOMAIN_LEGAL, DOMAIN_MARTIALLORE, DOMAIN_MOONALTERING, DOMAIN_MOONSUMMONING, DOMAIN_NATURELORE, DOMAIN_NEUTRALIZATION, DOMAIN_PLANTCONTROL, DOMAIN_PLANTGROWTH, DOMAIN_PLAYING, DOMAIN_POISONING, DOMAIN_PRESERVING, DOMAIN_PUNCHING, DOMAIN_RACIALABILITY, DOMAIN_RESTORATION, DOMAIN_ROCKCONTROL, DOMAIN_SEATRAVEL, DOMAIN_SHAPE_SHIFTING, DOMAIN_SHIELDUSE, DOMAIN_SINGING, DOMAIN_STEALING, DOMAIN_STEALTHY, DOMAIN_STREETSMARTS, DOMAIN_THEATRE, DOMAIN_TRANSMUTATION, DOMAIN_TRAPPING, DOMAIN_VERBS, DOMAIN_VEXING, DOMAIN_WARDING, DOMAIN_WATERCONTROL, DOMAIN_WATERLORE, DOMAIN_WEAPON_USE, DOMAIN_WEATHER_MASTERY, FLAG_ADJUSTER, FLAG_AGGROFYING, FLAG_AIRBASED, FLAG_BINDING, FLAG_CASTER, FLAG_CHARMING, FLAG_CLANMAGIC, FLAG_DESCS, FLAG_EARTHBASED, FLAG_ENABLER, FLAG_FIREBASED, FLAG_HEALINGMAGIC, FLAG_HEATING, FLAG_HOLY, FLAG_IMMUNER, FLAG_INTOXICATING, FLAG_MINDALTERING, FLAG_MOVING, FLAG_NEUTRAL, FLAG_NOORDERING, FLAG_NOUNINVOKING, FLAG_PARALYZING, FLAG_POTENTIALLY_DEADLY, FLAG_RESISTER, FLAG_SUMMONING, FLAG_SUNSUMMONING, FLAG_TIDEALTERING, FLAG_TORTURING, FLAG_TRACKING, FLAG_TRANSPORTING, FLAG_UNCRAFTABLE, FLAG_UNHOLY, FLAG_WATERBASED, FLAG_WEATHERAFFECTING, FLAG_ZAPPER, QUALITY_BENEFICIAL_OTHERS, QUALITY_BENEFICIAL_SELF, QUALITY_DESCS, QUALITY_INDIFFERENT, QUALITY_MALICIOUS, QUALITY_OK_OTHERS, QUALITY_OK_SELF, RANGE_CHOICES, TICKS_ALMOST_FOREVER, TICKS_FOREVER, USAGE_DESCS, USAGE_HITPOINTS, USAGE_MANA, USAGE_MOVEMENT, USAGE_NADA, USAGEINDEX_HITPOINTS, USAGEINDEX_MANA, USAGEINDEX_MOVEMENT
 
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
Amputation()
           
 
Method Summary
 int abstractQuality()
          Returns a constant value notifying the system of the general quality of the skill, whether it is malicious, beneficial, indifferent, or qualifiably beneficial (ok), as well as whether it is intended to target the invoker (self) or others.
 void affectCharState(MOB affected, CharState affectableState)
          This method is called by the recoverCharState() method on other MOB objects.
 void affectCharStats(MOB affected, CharStats affectableStats)
          This method is called by the recoverCharStats() method on other MOB objects.
 java.util.List<java.lang.String> affectedLimbNameSet()
          The opposite of the unaffectedLimbSet method, this method returns the list of the names of those parts which have been damaged.
 void affectPhyStats(Physical affected, PhyStats affectableStats)
          This method is called by the recoverPhyStats() method on other Environmental objects.
protected  int canAffectCode()
          Designates whether, when used as a property/effect, what sort of objects this ability can affect.
 boolean canBeUninvoked()
          Whether this skill is allowed to be uninvoked.
protected  int canTargetCode()
          Designates whether, when invoked as a skill, what sort of objects this ability can effectively target.
 int classificationCode()
          Returns a bitmap describing the general classification of the skill (spell, skill, chant, or property, etc) and its domain.
 java.util.List<java.lang.String> completeLimbNameSet(Environmental E)
           
 Item damageLimb(java.lang.String gone)
          Performs the very dirty business of mangling the item of the given name on the given target.
 java.lang.String displayText()
          Gets the raw string used to show what this object looks like in the room.
 void executeMsg(Environmental host, CMMsg msg)
          The general message event handler for the object.
 long flags()
          Returns a bitmap giving some specific information about the scope and purpose of the skill.
 java.lang.String getHealthConditionDesc()
          Returns a basic description of the health problem, as it would be observed by others.
static int getRacialCode(java.lang.String name)
           
 MOB getTarget(MOB mob, java.util.List<java.lang.String> commands, Environmental givenTarget, boolean quiet)
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 boolean invoke(MOB mob, java.util.List<java.lang.String> commands, Physical givenTarget, boolean auto, int asLevel)
          This method is called when a player or the system invokes this skill, casts this spell, etc.
 java.lang.String name()
          The nice displayable name of this instance of this object
 boolean putInCommandlist()
          Returns whether this skills triggerStrings should be places in the master list of commands, unlike properties or other hidden skills.
 void restoreLimb(java.lang.String gone)
          Restores a missing or damaged part, denoted by the given string, and managed by the given LimbDamage property
 void setMiscText(java.lang.String text)
          For objects which have false for their isGeneric method, this is used to set any internally coded strings to change the nature or behavior of the object.
 java.lang.String[] triggerStrings()
          A set of the command strings the user types to access this command when it is listed as a skill ability.
 java.util.List<java.lang.String> unaffectedLimbSet()
          Returns a fully-qualified list of those parts of the given object which have not yet gotten damaged from it.
 void unInvoke()
          If this skill is uninvokable, this method will uninvoke it, remove it as an effect on the target, and shut it down.
 int usageType()
          Returns a bitmap made up of constants defined by Ability.USAGE_*.
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility
abilityCode, accountForYourself, addedTickTime, adjustBeneficialTickdownTime, adjustedLevel, adjustedMaxInvokerRange, adjustMaliciousTickdownTime, affecting, amDestroyed, appropriateToMyFactions, autoInvocation, beneficialAffect, beneficialVisualFizzle, beneficialWordsFizzle, bubbleAffect, buildCostArray, canAffect, canAffect, canBeLearnedBy, canBePracticedBy, canBeTaughtBy, canTarget, canTarget, castingQuality, castingQuality, castingTime, checkComponents, checkedCastingCost, cloneFix, combatCastingTime, compareTo, copyOf, description, destroy, disregardsArmorCheck, enchantQuality, evalTargetItem, experienceLevels, expertise, expirationDate, externalFiles, getAnyTarget, getAnyTarget, getAnyTarget, getAnyTarget, getAnyTarget, getAnyTarget, getBeneficialTickdownTime, getCodeNum, getHardOverrideManaCache, getInternalCodeNum, getMaliciousTickdownTime, getPersonalLevelAdjustments, getRawTrainingCost, getSaveStatIndex, getStat, getStatCodes, getTarget, getTarget, getTarget, getTarget, getTarget, getTarget, getTarget, getTargetItemFavorMOB, getTargetItemFavorMOB, getTargetItemFavorMOB, getTickDownRemaining, getTicksBetweenCasts, getTickStatus, getTimeOfNextCast, getTrainingCost, getX1Level, getX2Level, getX3Level, getX4Level, getX5Level, getXLEVELLevel, getXLOWCOSTLevel, getXLOWFREECOSTLevel, getXMAXRANGELevel, getXPCOSTAdjustment, getXPCOSTLevel, getXTIMELevel, helpProficiency, I, image, iniPracticesToPractice, initializeClass, invoke, invoker, isAutoInvoked, isGeneric, isNowAnAutoEffect, isSavable, isStat, L, makeLongLasting, makeNonUninvokable, maliciousAffect, maliciousFizzle, maxRange, minCastWaitTime, minRange, miscTextFormat, Name, newInstance, okMessage, overrideMana, possibleContainer, practice, practicesToPractice, preInvoke, proficiency, proficiencyCheck, properTargetList, properTargets, rawImage, requirements, restoreCombatState, sameAs, saveCombatState, setAbilityCode, setAffectedOne, setDescription, setDisplayText, setExpirationDate, setImage, setInvoker, setName, setProficiency, setSavable, setStat, setTickDownRemaining, setTimeOfNextCast, setTimeOfNextCast, somanticCastCode, somanticCastMask, spreadImmunity, startTickDown, teach, text, tick, usageCost, verbalCastCode, verbalCastMask, verbalSpeakCode
 
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.Abilities.interfaces.Ability
abilityCode, accountForYourself, adjustedLevel, affecting, appropriateToMyFactions, autoInvocation, bubbleAffect, canAffect, canAffect, canBeLearnedBy, canBePracticedBy, canBeTaughtBy, canTarget, canTarget, castingQuality, castingTime, checkedCastingCost, combatCastingTime, enchantQuality, externalFiles, getTrainingCost, helpProficiency, invoke, invoker, isAutoInvoked, isNowAnAutoEffect, makeLongLasting, makeNonUninvokable, practice, preInvoke, proficiency, proficiencyCheck, requirements, setAbilityCode, setAffectedOne, setInvoker, setProficiency, startTickDown, teach, usageCost
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
description, expirationDate, image, isGeneric, L, maxRange, minRange, miscTextFormat, Name, rawImage, sameAs, setDescription, setDisplayText, setExpirationDate, setImage, setName, text
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
getTickStatus, tick
 
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
 

Field Detail

missingLimbs

protected java.util.List<java.lang.String> missingLimbs

validamputees

public static final boolean[] validamputees

extraamuputees

public static final int[][] extraamuputees
Constructor Detail

Amputation

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

name

public java.lang.String name()
Description copied from interface: Tickable
The nice displayable name of this instance of this object

Specified by:
name in interface CMObject
Specified by:
name in interface Tickable
Overrides:
name in class StdAbility
Returns:
the displayable name of this object instance
See Also:
Environmental.Name()

displayText

public java.lang.String displayText()
Description copied from interface: Environmental
Gets the raw string used to show what this object looks like in the room. May be used as a basis for other methods, such as the title of rooms, and what an exit looks like when open. The value for Items may be null if the item is not displayed when the room is seen.

Specified by:
displayText in interface Environmental
Overrides:
displayText in class StdAbility
Returns:
the string describing how this object looks in the room

getHealthConditionDesc

public java.lang.String getHealthConditionDesc()
Description copied from interface: HealthCondition
Returns a basic description of the health problem, as it would be observed by others.

Specified by:
getHealthConditionDesc in interface HealthCondition
Returns:
a description, in text

canAffectCode

protected int canAffectCode()
Description copied from class: StdAbility
Designates whether, when used as a property/effect, what sort of objects this ability can affect. Uses the Ability.CAN_* constants.

Overrides:
canAffectCode in class StdAbility
Returns:
a mask showing the type of objects this ability can affect
See Also:
Ability

canTargetCode

protected int canTargetCode()
Description copied from class: StdAbility
Designates whether, when invoked as a skill, what sort of objects this ability can effectively target. Uses the Ability.CAN_* constants.

Overrides:
canTargetCode in class StdAbility
Returns:
a mask showing the type of objects this ability can target
See Also:
Ability

abstractQuality

public int abstractQuality()
Description copied from interface: Ability
Returns a constant value notifying the system of the general quality of the skill, whether it is malicious, beneficial, indifferent, or qualifiably beneficial (ok), as well as whether it is intended to target the invoker (self) or others. These constants are defined in the Ability interface and called QUALITY_*

Specified by:
abstractQuality in interface Ability
Overrides:
abstractQuality in class StdAbility
Returns:
Ability.QUALITY_* constant classification
See Also:
Ability

putInCommandlist

public boolean putInCommandlist()
Description copied from interface: Ability
Returns whether this skills triggerStrings should be places in the master list of commands, unlike properties or other hidden skills.

Specified by:
putInCommandlist in interface Ability
Overrides:
putInCommandlist in class StdAbility
Returns:
whether to add the triggerString to the commands list
See Also:
Ability.triggerStrings()

triggerStrings

public java.lang.String[] triggerStrings()
Description copied from interface: Ability
A set of the command strings the user types to access this command when it is listed as a skill ability.

Specified by:
triggerStrings in interface Ability
Overrides:
triggerStrings in class StdAbility
Returns:
an array of command invoking string words
See Also:
Ability.putInCommandlist()

canBeUninvoked

public boolean canBeUninvoked()
Description copied from interface: Ability
Whether this skill is allowed to be uninvoked. If it returns false, then it behaves as a permanent property of the object it is affecting. Not death, dispelling, or other negations will remove it.

Specified by:
canBeUninvoked in interface Ability
Overrides:
canBeUninvoked in class StdAbility
Returns:
whether this skill can be uninvoked.
See Also:
Ability.makeNonUninvokable()

classificationCode

public int classificationCode()
Description copied from interface: Ability
Returns a bitmap describing the general classification of the skill (spell, skill, chant, or property, etc) and its domain. It is made up of the ACODE_* constants the Ability interface, and optionally the DOMAIN_* constants also defined in this interface.

Specified by:
classificationCode in interface Ability
Overrides:
classificationCode in class StdAbility
Returns:
ACODE_* constant classification
See Also:
Ability

usageType

public int usageType()
Description copied from interface: Ability
Returns a bitmap made up of constants defined by Ability.USAGE_*. It lets the system know which of the values in the usageCost(MOB,boolean) method are relevant. It determines whether this skill requires mana, movement, hit points, or some combination of the three.

Specified by:
usageType in interface Ability
Overrides:
usageType in class StdAbility
Returns:
a bitmap defined by Ability.USAGE_*
See Also:
Ability

flags

public long flags()
Description copied from interface: Ability
Returns a bitmap giving some specific information about the scope and purpose of the skill. The bitmap is composed of FLAG_* constants from the Ability interface.

Specified by:
flags in interface Ability
Overrides:
flags in class StdAbility
Returns:
FLAG_* constant based bitmap
See Also:
Ability

executeMsg

public void executeMsg(Environmental host,
                       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 StdAbility
Parameters:
host - either the initiator of the event, or the host of this object
msg - the CMMsg that needs to be executed
See Also:
CMMsg

affectPhyStats

public void affectPhyStats(Physical affected,
                           PhyStats affectableStats)
Description copied from interface: StatsAffecting
This method is called by the recoverPhyStats() method on other Environmental objects. It is used to transform the Environmental basePhyStats() object into a finished phyStats() object, both of which are objects implementing the PhyStats interface. See those methods for more information.

Specified by:
affectPhyStats in interface StatsAffecting
Overrides:
affectPhyStats in class StdAbility
Parameters:
affected - the host of the PhyStats object being affected
affectableStats - the particular PhyStats object being affected
See Also:
PhyStats, Environmental, Affectable.basePhyStats(), Affectable.phyStats(), Affectable.recoverPhyStats()

affectCharState

public void affectCharState(MOB affected,
                            CharState affectableState)
Description copied from interface: StatsAffecting
This method is called by the recoverCharState() method on other MOB objects. It is used to transform the MOB baseCharState() object into a finished charState() object, both of which are objects implementing the CharState interface. See those methods for more information.

Specified by:
affectCharState in interface StatsAffecting
Overrides:
affectCharState in class StdAbility
Parameters:
affected - the host of the CharState object being affected
affectableState - the particular CharState object being affected
See Also:
CharState, MOB, MOB.baseState(), MOB.curState(), MOB.recoverMaxState()

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

unInvoke

public void unInvoke()
Description copied from interface: Ability
If this skill is uninvokable, this method will uninvoke it, remove it as an effect on the target, and shut it down.

Specified by:
unInvoke in interface Ability
Overrides:
unInvoke in class StdAbility
See Also:
Ability.canBeUninvoked()

getTarget

public MOB getTarget(MOB mob,
                     java.util.List<java.lang.String> commands,
                     Environmental givenTarget,
                     boolean quiet)

setMiscText

public void setMiscText(java.lang.String text)
Description copied from interface: Environmental
For objects which have false for their isGeneric method, this is used to set any internally coded strings to change the nature or behavior of the object. For objects which have true for their isGeneric method, this is used to set and parse the XML which will be used to fill out the fields in this object. Since Ability objects are never Generic, this will always be where parameters are read from an Ability instance.

Specified by:
setMiscText in interface Environmental
Overrides:
setMiscText in class StdAbility
Parameters:
text - either an open internal text string, or XML

affectedLimbNameSet

public java.util.List<java.lang.String> affectedLimbNameSet()
Description copied from interface: LimbDamage
The opposite of the unaffectedLimbSet method, this method returns the list of the names of those parts which have been damaged.

Specified by:
affectedLimbNameSet in interface LimbDamage
Returns:
the list of the names of the parts that are damaged!

completeLimbNameSet

public java.util.List<java.lang.String> completeLimbNameSet(Environmental E)

unaffectedLimbSet

public java.util.List<java.lang.String> unaffectedLimbSet()
Description copied from interface: LimbDamage
Returns a fully-qualified list of those parts of the given object which have not yet gotten damaged from it. This would be a string set denoting the names of the specific parts not yet damaged.

Specified by:
unaffectedLimbSet in interface LimbDamage
Returns:
the set of the name of the remaining pieces.

restoreLimb

public void restoreLimb(java.lang.String gone)
Description copied from interface: LimbDamage
Restores a missing or damaged part, denoted by the given string, and managed by the given LimbDamage property

Specified by:
restoreLimb in interface LimbDamage
Parameters:
gone - the name of the part to restore.

getRacialCode

public static int getRacialCode(java.lang.String name)

damageLimb

public Item damageLimb(java.lang.String gone)
Description copied from interface: LimbDamage
Performs the very dirty business of mangling the item of the given name on the given target. An existing instanceof of the LimbDamage which will act as a property for the target must also be passed in. It will generate messages if necessary, toss the piece on the ground if that is appropriate, and do all thats needed.

Specified by:
damageLimb in interface LimbDamage
Parameters:
gone - the name of the limb to mangle, fully qualified.
Returns:
the item object representing the newly damaged part, if applicable.

invoke

public boolean invoke(MOB mob,
                      java.util.List<java.lang.String> commands,
                      Physical givenTarget,
                      boolean auto,
                      int asLevel)
Description copied from interface: Ability
This method is called when a player or the system invokes this skill, casts this spell, etc. Calls the more complete invoke method without an empty command strings vector unless target is non-null, in which case the vector will contain the name of the target.

Specified by:
invoke in interface Ability
Overrides:
invoke in class StdAbility
Parameters:
mob - the player or mob invoking the skill
commands - the parameters entered for the skill (minus trigger word)
givenTarget - null, unless being auto-invoked. Represents an override target.
auto - false if player enters command, true if system invokes the command
asLevel - -1, unless being auto-invoked, when it is the level to invoke it at.
Returns:
whether the skill successfully invoked.