com.planet_ink.coffee_mud.Abilities.Common
Class PlayInstrument
java.lang.Object
com.planet_ink.coffee_mud.Abilities.StdAbility
com.planet_ink.coffee_mud.Abilities.Common.CommonSkill
com.planet_ink.coffee_mud.Abilities.Common.PlayInstrument
- All Implemented Interfaces:
- Ability, CMObject, Contingent, Environmental, Modifiable, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
public class PlayInstrument
- extends CommonSkill
Fields inherited from class com.planet_ink.coffee_mud.Abilities.Common.CommonSkill |
aborted, activityRoom, bonusYield, bundling, displayText, fakeFire, helping, helpingAbility, lastBaseDuration, playSound, resourcesMap, tickUp, uninvokeEmpties, verb |
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 |
Method Summary |
void |
affectPhyStats(Physical affected,
PhyStats affectableStats)
This method is called by the recoverPhyStats() method on other Environmental objects. |
protected boolean |
canBeDoneSittingDown()
|
int |
classificationCode()
Returns a bitmap describing the general
classification of the skill (spell, skill,
chant, or property, etc) and its domain. |
protected java.lang.String |
getAlmostDoneMessage()
|
protected java.lang.String |
getOthersContinueMessage()
|
protected java.lang.String |
getYouContinueMessage()
|
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 |
int |
proficiency()
Returns a number from 0-100 representing the percent of proficiency
the mob or player who has this instance in their Abilities list has in
this skill. |
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 |
supportedResourceString()
|
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. |
boolean |
tick(Tickable ticking,
int tickID)
this is the method which is called periodically by the threading engine. |
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. |
void |
unInvoke()
If this skill is uninvokable, this method will uninvoke it, remove it
as an effect on the target, and shut it down. |
static boolean |
usingInstrument(MusicalInstrument I,
MOB mob)
|
Methods inherited from class com.planet_ink.coffee_mud.Abilities.Common.CommonSkill |
abilityCode, abstractQuality, addedTickTime, addRecipes, allowedInTheDark, allowedWhileMounted, baseYield, bumpTickDown, canAffectCode, canBeLearnedBy, canTargetCode, checkStop, commonEmote, commonTell, commonTell, confirmPossibleMaterialLocation, displayText, dropAWinner, dropAWinner, getActivityMessageType, getBrand, getBrand, getCodeNum, getCompletedActivityMessageType, getDuration, getRawTrainingCost, getRequiredFire, getStat, getStatCodes, getUninvokeException, iniPracticesToPractice, isMadeOfSupportedResource, loadList, loadRecipes, lookingForMat, lookingForMat, lookingForRsc, lookingForRsc, okMessage, setAbilityCode, setBrand, setStat, startTickDown, supportedResourcesMap, teach, usageCost, usageType, xlevel |
Methods inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility |
accountForYourself, adjustBeneficialTickdownTime, adjustedLevel, adjustedMaxInvokerRange, adjustMaliciousTickdownTime, affectCharState, affectCharStats, affecting, amDestroyed, appropriateToMyFactions, autoInvocation, beneficialAffect, beneficialVisualFizzle, beneficialWordsFizzle, bubbleAffect, buildCostArray, canAffect, canAffect, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, castingQuality, castingQuality, castingTime, checkComponents, checkedCastingCost, cloneFix, combatCastingTime, compareTo, copyOf, description, destroy, disregardsArmorCheck, enchantQuality, evalTargetItem, executeMsg, experienceLevels, expertise, expirationDate, externalFiles, flags, getAnyTarget, getAnyTarget, getAnyTarget, getAnyTarget, getAnyTarget, getAnyTarget, getBeneficialTickdownTime, getHardOverrideManaCache, getInternalCodeNum, getMaliciousTickdownTime, getPersonalLevelAdjustments, getSaveStatIndex, 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, initializeClass, invoke, invoker, isAutoInvoked, isGeneric, isNowAnAutoEffect, isSavable, isStat, L, makeLongLasting, makeNonUninvokable, maliciousAffect, maliciousFizzle, maxRange, minCastWaitTime, minRange, miscTextFormat, Name, newInstance, overrideMana, possibleContainer, practice, practicesToPractice, preInvoke, proficiencyCheck, properTargetList, properTargets, putInCommandlist, rawImage, requirements, restoreCombatState, sameAs, saveCombatState, setAffectedOne, setDescription, setDisplayText, setExpirationDate, setImage, setInvoker, setName, setProficiency, setSavable, setTickDownRemaining, setTimeOfNextCast, setTimeOfNextCast, somanticCastCode, somanticCastMask, spreadImmunity, verbalCastCode, verbalCastMask, verbalSpeakCode |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
lastInstrType
protected volatile java.lang.String lastInstrType
instrument
protected volatile MusicalInstrument instrument
proficiencies
protected java.util.Map<java.lang.String,int[]> proficiencies
PlayInstrument
public PlayInstrument()
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 CommonSkill
- 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 CommonSkill
- Returns:
- the displayable name of this object instance
- See Also:
Environmental.Name()
supportedResourceString
public java.lang.String supportedResourceString()
- Overrides:
supportedResourceString
in class CommonSkill
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 CommonSkill
- Returns:
- an array of command invoking string words
- See Also:
Ability.putInCommandlist()
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 CommonSkill
- Returns:
- ACODE_* constant classification
- See Also:
Ability
canBeDoneSittingDown
protected boolean canBeDoneSittingDown()
- Overrides:
canBeDoneSittingDown
in class CommonSkill
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 CommonSkill
- See Also:
Ability.canBeUninvoked()
getAlmostDoneMessage
protected java.lang.String getAlmostDoneMessage()
- Overrides:
getAlmostDoneMessage
in class CommonSkill
getYouContinueMessage
protected java.lang.String getYouContinueMessage()
- Overrides:
getYouContinueMessage
in class CommonSkill
getOthersContinueMessage
protected java.lang.String getOthersContinueMessage()
- Overrides:
getOthersContinueMessage
in class CommonSkill
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 CommonSkill
- Parameters:
text
- either an open internal text string, or XML
text
public 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:
text
in interface Environmental
- Overrides:
text
in class StdAbility
- Returns:
- either an open internal text string, or XML
proficiency
public int proficiency()
- Description copied from interface:
Ability
- Returns a number from 0-100 representing the percent of proficiency
the mob or player who has this instance in their Abilities list has in
this skill. Is also used for other miscellaneous purposes by other non-skill
Abilities, such as Drowning.
- Specified by:
proficiency
in interface Ability
- Overrides:
proficiency
in class StdAbility
- Returns:
- the proficiency from 0-100
- See Also:
AbilityContainer.addAbility(Ability)
,
Ability.setProficiency(int)
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()
usingInstrument
public static boolean usingInstrument(MusicalInstrument I,
MOB mob)
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 CommonSkill
- 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
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 CommonSkill
- Parameters:
mob
- the player or mob invoking the skillcommands
- 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 commandasLevel
- -1, unless being auto-invoked, when it is the level to invoke it at.
- Returns:
- whether the skill successfully invoked.