com.planet_ink.coffee_mud.Abilities.Common
Class CommonSkill
java.lang.Object
com.planet_ink.coffee_mud.Abilities.StdAbility
com.planet_ink.coffee_mud.Abilities.Common.CommonSkill
- All Implemented Interfaces:
- Ability, Affectable, Behavable, CMModifiable, CMObject, Environmental, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
- Direct Known Subclasses:
- AnimalTaming, AnimalTrading, AnimalTraining, Bandaging, BodyPiercing, Domesticating, Dyeing, Embroidering, Engraving, FireBuilding, GatheringSkill, Herbology, Hunting, Lacquerring, Merchant, Painting, PlantLore, Scalp, Scrapping, Searching, Shearing, SlaveTrading, SmokeRings, Speculate, Tattooing, Unbinding
public class CommonSkill
- extends StdAbility
| Fields inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility |
affected, amDestroyed, canBeUninvoked, empty, envStats, expertise, 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_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 |
int |
abilityCode()
Returns an optional numeric value whose purpose is
entirely contextual. |
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. |
protected int |
addedTickTime(MOB invokerMOB,
int baseTickTime)
|
protected boolean |
allowedWhileMounted()
|
protected int |
canAffectCode()
Designates whether, when used as a property/effect, what sort of objects this
ability can affect. |
boolean |
canBeLearnedBy(MOB teacher,
MOB student)
Returns whether the given student mob is able and allowed to learn
this skill from the given teacher. |
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. |
protected void |
commonEmote(MOB mob,
java.lang.String str)
|
protected void |
commonTell(MOB mob,
Environmental target,
Environmental tool,
java.lang.String str)
|
protected void |
commonTell(MOB mob,
java.lang.String str)
|
boolean |
confirmPossibleMaterialLocation(int resource,
Room location)
|
java.lang.String |
displayText()
Gets the raw string used to show what this object looks like in the room. |
protected int |
getDuration(int baseTicks,
MOB mob,
int itemLevel,
int minDuration)
|
Item |
getRequiredFire(MOB mob,
int autoGenerate)
|
java.lang.String |
ID()
The CoffeeMud Java Class ID shared by all instances of
this object. |
protected int |
iniPracticesRequired()
|
protected int |
iniPracticesToPractice()
|
protected int |
iniTrainsRequired()
|
boolean |
invoke(MOB mob,
java.util.Vector commands,
Environmental givenTarget,
boolean auto,
int asLevel)
This method is called when a player or the system invokes this skill,
casts this spell, etc. |
protected int |
lookingFor(int material,
Room fromHere)
|
protected int |
lookingFor(java.util.Vector materials,
Room fromHere)
|
java.lang.String |
name()
The displayable name of this object. |
boolean |
okMessage(Environmental myHost,
CMMsg msg)
The general message event previewer for the object. |
void |
setAbilityCode(int newCode)
Sets an optional numeric value whose purpose is
entirely contextual. |
java.lang.String |
supportedResourceString()
|
void |
teach(MOB teacher,
MOB student)
Teaches this skill to the student mob, presumably from the teacher mob. |
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. |
int[] |
usageCost(MOB mob,
boolean ignoreClassOverride)
Returns an integer array telling the system how much mana,
movement, or hit points are required to invoke this skill. |
int |
usageType()
Returns a bitmap made up of constants defined by
Ability.USAGE_*. |
int |
xlevel(MOB mob)
|
| Methods inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility |
ableOk, ableSend, accountForYourself, addBehavior, addEffect, addNonUninvokableEffect, addScript, adjustedLevel, adjustedMaxInvokerRange, affectCharState, affectCharStats, affectEnvStats, affecting, amDestroyed, appropriateToMyFactions, autoInvocation, baseEnvStats, beneficialAffect, beneficialVisualFizzle, beneficialWordsFizzle, bubbleAffect, buildCostArray, canAffect, canAffect, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, castingQuality, castingQuality, castingTime, checkComponents, clearExpertiseCache, cloneFix, combatCastingTime, compareTo, copyOf, delBehavior, delEffect, delScript, description, destroy, disregardsArmorCheck, enchantQuality, envStats, executeMsg, experienceLevels, expertise, expirationDate, externalFiles, fetchBehavior, fetchBehavior, fetchEffect, fetchEffect, fetchScript, finalize, flags, getAnyTarget, getAnyTarget, getAnyTarget, getBeneficialTickdownTime, getCodeNum, getMaliciousTickdownTime, getSaveStatIndex, getStat, getStatCodes, getTarget, getTarget, getTarget, getTarget, getTickDownRemaining, getTicksBetweenCasts, getTickStatus, getTimeOfNextCast, getX1Level, getX2Level, getX3Level, getX4Level, getX5Level, getXLEVELLevel, getXLOWCOSTLevel, getXMAXRANGELevel, getXPCOSTAdjustment, getXPCOSTLevel, getXTIMELevel, helpProficiency, image, initializeClass, invoke, invoker, isAutoInvoked, isGeneric, isNowAnAutoEffect, isStat, makeLongLasting, makeNonUninvokable, maliciousAffect, maliciousFizzle, maxRange, minCastWaitTime, minRange, miscTextFormat, Name, newInstance, numBehaviors, numEffects, numScripts, overrideMana, possibleContainer, practice, practicesRequired, practicesToPractice, preInvoke, proficiency, proficiencyCheck, properTargets, putInCommandlist, rawImage, recoverEnvStats, requirements, sameAs, savable, setAffectedOne, setBaseEnvStats, setDescription, setDisplayText, setExpirationDate, setImage, setInvoker, setMiscText, setName, setProficiency, setSavable, setStat, setTickDownRemaining, setTimeOfNextCast, setTimeOfNextCast, somanticCastCode, somanticCastMask, spreadImmunity, startTickDown, text, trainsRequired, verbalCastCode, verbalCastMask |
| Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
displayText
protected java.lang.String displayText
activityRoom
protected Room activityRoom
aborted
protected boolean aborted
helping
protected boolean helping
bundling
protected boolean bundling
helpingAbility
public Ability helpingAbility
tickUp
protected int tickUp
verb
protected java.lang.String verb
playSound
protected java.lang.String playSound
yield
protected int yield
CommonSkill
public CommonSkill()
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, MiscTech. 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:
Environmental
- The displayable name of this object. May be modified by envStats() object. Is
derived from the Name().
- Specified by:
name in interface Environmental- Specified by:
name in interface Tickable- Overrides:
name in class StdAbility
- Returns:
- the modified final name of this object on the map.
- See Also:
Environmental.Name()
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()
supportedResourceString
public java.lang.String supportedResourceString()
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
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
iniTrainsRequired
protected int iniTrainsRequired()
- Overrides:
iniTrainsRequired in class StdAbility
iniPracticesRequired
protected int iniPracticesRequired()
- Overrides:
iniPracticesRequired in class StdAbility
iniPracticesToPractice
protected int iniPracticesToPractice()
- Overrides:
iniPracticesToPractice in class StdAbility
allowedWhileMounted
protected boolean allowedWhileMounted()
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
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
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
abilityCode
public int abilityCode()
- Description copied from interface:
Ability
- Returns an optional numeric value whose purpose is
entirely contextual. For many skills, this reflects
some sort of enhancement. Default is 0.
- Specified by:
abilityCode in interface Ability- Overrides:
abilityCode in class StdAbility
- Returns:
- the current optional numeric value or enhancement
setAbilityCode
public void setAbilityCode(int newCode)
- Description copied from interface:
Ability
- Sets an optional numeric value whose purpose is
entirely contextual. For many skills, this reflects
some sort of enhancement. Default is 0.
- Specified by:
setAbilityCode in interface Ability- Overrides:
setAbilityCode in class StdAbility
- Parameters:
newCode - the optional numeric value or enhancement
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()
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
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()
getDuration
protected int getDuration(int baseTicks,
MOB mob,
int itemLevel,
int minDuration)
addedTickTime
protected int addedTickTime(MOB invokerMOB,
int baseTickTime)
- Overrides:
addedTickTime in class StdAbility
commonTell
protected void commonTell(MOB mob,
Environmental target,
Environmental tool,
java.lang.String str)
commonTell
protected void commonTell(MOB mob,
java.lang.String str)
commonEmote
protected void commonEmote(MOB mob,
java.lang.String str)
lookingFor
protected int lookingFor(int material,
Room fromHere)
lookingFor
protected int lookingFor(java.util.Vector materials,
Room fromHere)
getRequiredFire
public Item getRequiredFire(MOB mob,
int autoGenerate)
usageCost
public int[] usageCost(MOB mob,
boolean ignoreClassOverride)
- Description copied from interface:
Ability
- Returns an integer array telling the system how much mana,
movement, or hit points are required to invoke this skill.
Use the Ability.USAGEINDEX_* constants to index the array.
A value of 0-1000 is an absolute cost. A value of
Integer.MAX_VALUE means to use all of the mana, movement,
hit points. A value of Integer.MAXVALUE-100 and up
represents a percentage of the cost.
The values in this method MUST be accompanied by properly
set usageType() bitmap.
- Specified by:
usageCost in interface Ability- Overrides:
usageCost in class StdAbility
- Parameters:
mob - the invoker of the skillignoreClassOverride - whether to ignore Class Overrides
- Returns:
- an array of costs, indexed by Ability.USAGEINDEX_*
- See Also:
Ability.usageType(),
Ability
xlevel
public int xlevel(MOB mob)
confirmPossibleMaterialLocation
public boolean confirmPossibleMaterialLocation(int resource,
Room location)
canBeLearnedBy
public boolean canBeLearnedBy(MOB teacher,
MOB student)
- Description copied from interface:
Ability
- Returns whether the given student mob is able and allowed to learn
this skill from the given teacher. Error messages should be directed
to both. This method should focus exclusively on the qualifications
of the student.
- Specified by:
canBeLearnedBy in interface Ability- Overrides:
canBeLearnedBy in class StdAbility
- Parameters:
teacher - the potential teacher of this skillstudent - the potential learner of this skill
- Returns:
- whether the student can learn the skill from the teacher
- See Also:
Ability.canBeTaughtBy(MOB, MOB),
Ability.teach(MOB, MOB)
teach
public void teach(MOB teacher,
MOB student)
- Description copied from interface:
Ability
- Teaches this skill to the student mob, presumably from the teacher mob.
This method assumes that both the teacher and student are authorized.
Authorization comes from canBeTaughtBy and canBeLearnedBy
- Specified by:
teach in interface Ability- Overrides:
teach in class StdAbility
- Parameters:
teacher - the teacher of this skillstudent - the learner of this skill- See Also:
Ability.canBeTaughtBy(MOB, MOB),
Ability.canBeLearnedBy(MOB, MOB)
invoke
public boolean invoke(MOB mob,
java.util.Vector commands,
Environmental 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 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.