com.planet_ink.coffee_mud.Abilities
Class ExtAbility
java.lang.Object
com.planet_ink.coffee_mud.Abilities.StdAbility
com.planet_ink.coffee_mud.Abilities.ExtAbility
- All Implemented Interfaces:
- Ability, ExtendableAbility, CMObject, Contingent, Environmental, Modifiable, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
public class ExtAbility
- extends StdAbility
- implements ExtendableAbility
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 |
Methods inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility |
abilityCode, abstractQuality, accountForYourself, addedTickTime, adjustBeneficialTickdownTime, adjustedLevel, adjustedMaxInvokerRange, adjustMaliciousTickdownTime, affecting, amDestroyed, appropriateToMyFactions, autoInvocation, beneficialAffect, beneficialVisualFizzle, beneficialWordsFizzle, bubbleAffect, buildCostArray, canAffect, canAffect, canAffectCode, canBeLearnedBy, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, canTargetCode, castingQuality, castingQuality, castingTime, checkComponents, checkedCastingCost, classificationCode, cloneFix, combatCastingTime, compareTo, copyOf, description, destroy, disregardsArmorCheck, enchantQuality, evalTargetItem, experienceLevels, expertise, expirationDate, externalFiles, flags, 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, getTimeOfNextCast, getTrainingCost, getX1Level, getX2Level, getX3Level, getX4Level, getX5Level, getXLEVELLevel, getXLOWCOSTLevel, getXLOWFREECOSTLevel, getXMAXRANGELevel, getXPCOSTAdjustment, getXPCOSTLevel, getXTIMELevel, helpProficiency, I, image, iniPracticesToPractice, initializeClass, invoke, invoke, invoker, isAutoInvoked, isGeneric, isNowAnAutoEffect, isSavable, isStat, L, makeLongLasting, makeNonUninvokable, maliciousAffect, maliciousFizzle, maxRange, minCastWaitTime, minRange, miscTextFormat, Name, newInstance, overrideMana, possibleContainer, practice, practicesToPractice, preInvoke, proficiency, proficiencyCheck, properTargetList, properTargets, putInCommandlist, rawImage, requirements, restoreCombatState, sameAs, saveCombatState, setAbilityCode, setAffectedOne, setDescription, setDisplayText, setExpirationDate, setImage, setInvoker, setMiscText, setName, setProficiency, setSavable, setStat, setTickDownRemaining, setTimeOfNextCast, setTimeOfNextCast, somanticCastCode, somanticCastMask, spreadImmunity, startTickDown, teach, text, triggerStrings, unInvoke, usageCost, usageType, 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, abstractQuality, accountForYourself, adjustedLevel, affecting, appropriateToMyFactions, autoInvocation, bubbleAffect, canAffect, canAffect, canBeLearnedBy, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, castingQuality, castingTime, checkedCastingCost, classificationCode, combatCastingTime, enchantQuality, externalFiles, flags, getTrainingCost, helpProficiency, invoke, invoke, invoker, isAutoInvoked, isNowAnAutoEffect, makeLongLasting, makeNonUninvokable, practice, preInvoke, proficiency, proficiencyCheck, putInCommandlist, requirements, setAbilityCode, setAffectedOne, setInvoker, setProficiency, startTickDown, teach, triggerStrings, unInvoke, usageCost, usageType |
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, setMiscText, setName, text |
Methods inherited from interface java.lang.Comparable |
compareTo |
ExtAbility
public ExtAbility()
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
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
setAbilityID
public ExtendableAbility setAbilityID(java.lang.String ID)
- Description copied from interface:
ExtendableAbility
- Since each ability made this way will tend to be rather unique, this
allows the ID of the ability to be altered at runtime to make it unique.
- Specified by:
setAbilityID
in interface ExtendableAbility
- Parameters:
ID
- the ID to change this ability into (will not add to CMClass!)
- Returns:
- this
setStatsAffector
public ExtendableAbility setStatsAffector(StatsAffecting code)
- Description copied from interface:
ExtendableAbility
- Set the stats affector for this ability.
- Specified by:
setStatsAffector
in interface ExtendableAbility
- Parameters:
code
- the stats affector code
- Returns:
- this
- See Also:
StatsAffecting
setMsgListener
public ExtendableAbility setMsgListener(MsgListener code)
- Description copied from interface:
ExtendableAbility
- Set the msg listener for this ability.
- Specified by:
setMsgListener
in interface ExtendableAbility
- Parameters:
code
- the msg listener code
- Returns:
- this
- See Also:
MsgListener
setTickable
public ExtendableAbility setTickable(Tickable code)
- Description copied from interface:
ExtendableAbility
- Set the ticker for this ability.
- Specified by:
setTickable
in interface ExtendableAbility
- Parameters:
code
- the ticker code
- Returns:
- this
- See Also:
Tickable
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 affectedaffectableStats
- the particular PhyStats object being affected- See Also:
PhyStats
,
Environmental
,
Affectable.basePhyStats()
,
Affectable.phyStats()
,
Affectable.recoverPhyStats()
affectCharStats
public void affectCharStats(MOB affectedMob,
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:
affectedMob
- the host of the CharStats object being affectedaffectableStats
- the particular CharStats object being affected- See Also:
CharStats
,
MOB
,
MOB.baseCharStats()
,
MOB.charStats()
,
MOB.recoverCharStats()
affectCharState
public void affectCharState(MOB affectedMob,
CharState affectableMaxState)
- 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:
affectedMob
- the host of the CharState object being affectedaffectableMaxState
- the particular CharState object being affected- See Also:
CharState
,
MOB
,
MOB.baseState()
,
MOB.curState()
,
MOB.recoverMaxState()
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 StdAbility
- Parameters:
myHost
- either the initiator of the event, or the host of this objectmsg
- the CMMsg that needs to be executed- See Also:
CMMsg
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 StdAbility
- Parameters:
myHost
- either the initiator of the event, or the host of this objectmsg
- the CMMsg that wants to be executed
- Returns:
- whether this message is allowed to execute
- See Also:
CMMsg
,
CMMsg.source()
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()
getTickStatus
public int getTickStatus()
- Description copied from interface:
Tickable
- A coded status for this object during the period where
its tick method is being called. The statis is defined,
at least in part, by constants in this interface STATUS_*.
STATUS_NOT should be returned when the objects tick method
is not currently in execution. It should never return
STATUS_NOT when the objects tick method is in execution.
- Specified by:
getTickStatus
in interface Tickable
- Overrides:
getTickStatus
in class StdAbility
- Returns:
- the numeric status of this object
- See Also:
Tickable.tick(Tickable, int)
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 StdAbility
- Parameters:
ticking
- a reference to this Tickable objecttickID
- 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