com.planet_ink.coffee_mud.Abilities.interfaces
Interface Amputator

All Superinterfaces:
Ability, Affectable, Behavable, java.lang.Cloneable, CMModifiable, CMObject, java.lang.Comparable<CMObject>, Environmental, MsgListener, StatsAffecting, Tickable
All Known Implementing Classes:
Amputation

public interface Amputator
extends Ability

An Amputator is a kind of ability that denotes missing parts. Usually the missing parts are body parts from mobs, but they can technically be anything that can go missing as parts from the hosted object.


Field Summary
 
Fields inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.Ability
ACODE_CHANT, ACODE_COMMON_SKILL, ACODE_DESCS, ACODE_DISEASE, ACODE_LANGUAGE, ACODE_POISON, ACODE_PRAYER, ACODE_PROPERTY, ACODE_SKILL, ACODE_SONG, ACODE_SPELL, ACODE_SUPERPOWER, ACODE_THIEF_SKILL, ACODE_TRAP, ALL_ACODES, ALL_DOMAINS, CAN_AREAS, CAN_DESCS, CAN_EXITS, CAN_ITEMS, CAN_MOBS, CAN_ROOMS, 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_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_ENCHANTMENT, DOMAIN_ENDURING, 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_SHAPE_SHIFTING, DOMAIN_SHIELDUSE, DOMAIN_SINGING, DOMAIN_STEALING, DOMAIN_STEALTHY, DOMAIN_STREETSMARTS, DOMAIN_TRANSMUTATION, DOMAIN_TRAPPING, DOMAIN_VERBS, DOMAIN_VEXING, DOMAIN_WARDING, DOMAIN_WEAPON_USE, DOMAIN_WEATHER_MASTERY, FLAG_AIRBASED, FLAG_BINDING, FLAG_CHARMING, FLAG_CLANMAGIC, FLAG_DESCS, FLAG_EARTHBASED, FLAG_FIREBASED, FLAG_HEALINGMAGIC, FLAG_HEATING, FLAG_HOLY, FLAG_INTOXICATING, FLAG_MOVING, FLAG_NOORDERING, FLAG_PARALYZING, FLAG_SUMMONING, FLAG_TRACKING, FLAG_TRANSPORTING, FLAG_UNHOLY, FLAG_WATERBASED, FLAG_WEATHERAFFECTING, QUALITY_BENEFICIAL_OTHERS, QUALITY_BENEFICIAL_SELF, QUALITY_DESCS, QUALITY_INDIFFERENT, QUALITY_MALICIOUS, QUALITY_OK_OTHERS, QUALITY_OK_SELF, RANGE_CHOICES, 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_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
 
Method Summary
 java.util.Vector affectedLimbNameSet(java.lang.Object O, java.lang.String missing, java.util.Vector missingLimbs)
          Often losing one part means that other parts are instantly affected, like removing an engine includes the spark plugs.
 Item amputate(Environmental target, Amputator A, java.lang.String gone)
          Performs the very dirty business of amputating the item of the given name from the given target.
 java.util.Vector missingLimbNameSet()
          The opposite of the remainingLimbNameSet method, this method returns the list of the names of those parts which have been amputated.
 java.util.Vector remainingLimbNameSet(Environmental E)
          Returns a fully-qualified list of those parts of the given object which have not yet gone missing from it.
 void unamputate(Environmental target, Amputator A, java.lang.String gone)
          Restores a missing part, denoted by the given string, and managed by the given Amputator property
 
Methods inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.Ability
abilityCode, abstractQuality, accountForYourself, adjustedLevel, affecting, appropriateToMyFactions, autoInvocation, bubbleAffect, canAffect, canAffect, canBeLearnedBy, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, castingQuality, castingTime, classificationCode, clearExpertiseCache, combatCastingTime, enchantQuality, externalFiles, flags, getTicksBetweenCasts, helpProficiency, invoke, invoke, invoker, isAutoInvoked, isNowAnAutoEffect, makeLongLasting, makeNonUninvokable, practice, practicesRequired, preInvoke, proficiency, proficiencyCheck, putInCommandlist, requirements, setAbilityCode, setAffectedOne, setInvoker, setProficiency, setSavable, startTickDown, teach, trainsRequired, triggerStrings, unInvoke, usageCost, usageType
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
amDestroyed, description, destroy, displayText, expirationDate, image, isGeneric, maxRange, minRange, miscTextFormat, name, Name, rawImage, sameAs, savable, setDescription, setDisplayText, setExpirationDate, setImage, setMiscText, 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.CMObject
copyOf, ID, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Affectable
addEffect, addNonUninvokableEffect, baseEnvStats, delEffect, envStats, fetchEffect, fetchEffect, numEffects, recoverEnvStats, setBaseEnvStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.StatsAffecting
affectCharState, affectCharStats, affectEnvStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.MsgListener
executeMsg, okMessage
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMModifiable
getSaveStatIndex, getStat, getStatCodes, isStat, setStat
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Behavable
addBehavior, addScript, delBehavior, delScript, fetchBehavior, fetchBehavior, fetchScript, numBehaviors, numScripts
 

Method Detail

remainingLimbNameSet

java.util.Vector remainingLimbNameSet(Environmental E)
Returns a fully-qualified list of those parts of the given object which have not yet gone missing from it. This would be a string set denoting the names of the specific parts not yet missing.

Parameters:
E - the object to scrutinize
Returns:
the set of the name of the remaining pieces.

amputate

Item amputate(Environmental target,
              Amputator A,
              java.lang.String gone)
Performs the very dirty business of amputating the item of the given name from the given target. An existing instanceof of the amputator 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 groud if that is appropriate, and do all thats needed.

Parameters:
target - the thing to take the part away from
A - the instanceof this object to use as a marker
gone - the name of the piece to remove, fully qualified.
Returns:
the item object representing the newly missing piece.

missingLimbNameSet

java.util.Vector missingLimbNameSet()
The opposite of the remainingLimbNameSet method, this method returns the list of the names of those parts which have been amputated.

Returns:
the list of the names of the parts that are GONE!

affectedLimbNameSet

java.util.Vector affectedLimbNameSet(java.lang.Object O,
                                     java.lang.String missing,
                                     java.util.Vector missingLimbs)
Often losing one part means that other parts are instantly affected, like removing an engine includes the spark plugs. This method is called to generate the list of those parts which also must go due to the parts described by the missing string, but which are not currently included in the given missingLimbs set.

Parameters:
O - the mob/race/object frame of reference to use
missing - the name of the part that was removed
missingLimbs - the parts already missing from the target
Returns:
the set of parts that are not yet missing, but now should be.

unamputate

void unamputate(Environmental target,
                Amputator A,
                java.lang.String gone)
Restores a missing part, denoted by the given string, and managed by the given Amputator property

Parameters:
target - the unfortunate target
A - the amputator object managing the targets missing stuff
gone - the name of the part to restore.