com.planet_ink.coffee_mud.Abilities.Common
Class CommonSkill

java.lang.Object
  extended by com.planet_ink.coffee_mud.Abilities.StdAbility
      extended by com.planet_ink.coffee_mud.Abilities.Common.CommonSkill
All Implemented Interfaces:
Ability, CMObject, Contingent, Environmental, Modifiable, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
AnimalBonding, AnimalHusbandry, AnimalTaming, AnimalTrading, AnimalTraining, AttributeTraining, Bandaging, BodyPiercing, BookEditing, BookNaming, Branding, CargoLoading, Cataloging, Decorating, Domesticating, Dyeing, Embroidering, Engraving, Enrolling, FireBuilding, FishLore, Floristry, FoodPreserving, GatheringSkill, Herbology, Labeling, Lacquerring, Lecturing, MeatCuring, Merchant, Organizing, Painting, PlantLore, PlayInstrument, Publishing, Recollecting, Salvaging, Scalp, Scrapping, Searching, Shearing, SlaveTrading, SmokeRings, Speculate, Studying, Surveying, Tanning, Tattooing, Titling, Transcribing, Unbinding

public class CommonSkill
extends StdAbility


Field Summary
protected  boolean aborted
           
protected  Room activityRoom
           
protected  int bonusYield
           
protected  boolean bundling
           
protected  java.lang.String displayText
           
protected static Item fakeFire
           
protected  boolean helping
           
 Ability helpingAbility
           
protected  int lastBaseDuration
           
protected  java.lang.String playSound
           
static java.util.Map<java.lang.String,java.lang.Integer[]> resourcesMap
           
protected  int tickUp
           
protected static java.util.List<java.lang.String> uninvokeEmpties
           
protected  java.lang.String 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
 
Constructor Summary
CommonSkill()
           
 
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  java.util.List<java.util.List<java.lang.String>> addRecipes(MOB mob, java.util.List<java.util.List<java.lang.String>> recipes)
           
protected  boolean allowedInTheDark()
           
protected  boolean allowedWhileMounted()
           
protected  int baseYield()
           
 void bumpTickDown(long byThisMuch)
           
protected  int canAffectCode()
          Designates whether, when used as a property/effect, what sort of objects this ability can affect.
protected  boolean canBeDoneSittingDown()
           
 boolean canBeLearnedBy(MOB teacherM, MOB studentM)
          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.
 boolean checkStop(MOB mob, java.util.List<java.lang.String> commands)
           
 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 room)
           
 java.lang.String displayText()
          Gets the raw string used to show what this object looks like in the room.
protected  boolean dropAWinner(MOB mob, Item buildingI)
           
protected  boolean dropAWinner(MOB mob, Room R, Item buildingI)
          Produce a constructed OR gathered thing.
protected  int getActivityMessageType()
           
protected  java.lang.String getAlmostDoneMessage()
           
protected  java.lang.String getBrand(Item buildingI)
           
protected  java.lang.String getBrand(MOB mob)
           
protected  int getCodeNum(java.lang.String code)
           
protected  int getCompletedActivityMessageType()
           
protected  int getDuration(int baseTicks, MOB mob, int itemLevel, int minDuration)
           
protected  java.lang.String getOthersContinueMessage()
           
protected  ExpertiseLibrary.SkillCostDefinition getRawTrainingCost()
           
 Item getRequiredFire(MOB mob, int autoGenerate)
           
 java.lang.String getStat(java.lang.String code)
          An alternative means of retreiving the values of those fields on this object which are modifiable at run-time by builders.
 java.lang.String[] getStatCodes()
          Returns an array of the string names of those fields which are modifiable on this object at run-time by builders.
protected  java.util.List<java.lang.String> getUninvokeException()
           
protected  java.lang.String getYouContinueMessage()
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
protected  int iniPracticesToPractice()
           
 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.
 boolean isMadeOfSupportedResource(Item I)
           
protected  java.util.List<java.util.List<java.lang.String>> loadList(java.lang.StringBuffer str)
           
protected  java.util.List<java.util.List<java.lang.String>> loadRecipes(java.lang.String filename)
           
protected  int lookingForMat(int material, Room fromHere)
           
protected  int lookingForMat(java.util.List<java.lang.Integer> materials, Room fromHere)
           
protected  int lookingForRsc(int material, Room fromHere)
           
protected  int lookingForRsc(java.util.List<java.lang.Integer> materials, Room fromHere)
           
 java.lang.String name()
          The nice displayable name of this instance 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.
protected  void setBrand(MOB mob, Item buildingI)
           
 void setMiscText(java.lang.String newMiscText)
          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.
 void setStat(java.lang.String code, java.lang.String val)
          An alternative means of setting the values of those fields on this object which are modifiable at run-time by builders.
 void startTickDown(MOB invokerMOB, Physical affected, int tickTime)
          Adds THIS Ability object as an effect on the given affected target, and sets it to unInvoke after the given number of ticks.
 java.lang.Integer[] supportedResourcesMap()
           
 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
accountForYourself, adjustBeneficialTickdownTime, adjustedLevel, adjustedMaxInvokerRange, adjustMaliciousTickdownTime, affectCharState, affectCharStats, affecting, affectPhyStats, 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, proficiency, proficiencyCheck, properTargetList, properTargets, putInCommandlist, rawImage, requirements, restoreCombatState, sameAs, saveCombatState, setAffectedOne, setDescription, setDisplayText, setExpirationDate, setImage, setInvoker, setName, setProficiency, setSavable, setTickDownRemaining, setTimeOfNextCast, setTimeOfNextCast, somanticCastCode, somanticCastMask, spreadImmunity, text, verbalCastCode, verbalCastMask, verbalSpeakCode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

resourcesMap

public static final java.util.Map<java.lang.String,java.lang.Integer[]> resourcesMap

fakeFire

protected static Item fakeFire

uninvokeEmpties

protected static final java.util.List<java.lang.String> uninvokeEmpties

activityRoom

protected volatile Room activityRoom

aborted

protected boolean aborted

helping

protected boolean helping

bundling

protected boolean bundling

helpingAbility

public Ability helpingAbility

tickUp

protected volatile int tickUp

verb

protected java.lang.String verb

playSound

protected java.lang.String playSound

bonusYield

protected int bonusYield

lastBaseDuration

protected volatile int lastBaseDuration

displayText

protected java.lang.String displayText
Constructor Detail

CommonSkill

public CommonSkill()
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()

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

baseYield

protected int baseYield()

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

getRawTrainingCost

protected ExpertiseLibrary.SkillCostDefinition getRawTrainingCost()
Overrides:
getRawTrainingCost 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

allowedInTheDark

protected boolean allowedInTheDark()

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

getUninvokeException

protected java.util.List<java.lang.String> getUninvokeException()

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

canBeDoneSittingDown

protected boolean canBeDoneSittingDown()

getActivityMessageType

protected int getActivityMessageType()

getCompletedActivityMessageType

protected int getCompletedActivityMessageType()

getAlmostDoneMessage

protected java.lang.String getAlmostDoneMessage()

getYouContinueMessage

protected java.lang.String getYouContinueMessage()

getOthersContinueMessage

protected java.lang.String getOthersContinueMessage()

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 object
msg - 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 object
tickID - 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

loadList

protected java.util.List<java.util.List<java.lang.String>> loadList(java.lang.StringBuffer str)

loadRecipes

protected java.util.List<java.util.List<java.lang.String>> loadRecipes(java.lang.String filename)

addRecipes

protected java.util.List<java.util.List<java.lang.String>> addRecipes(MOB mob,
                                                                      java.util.List<java.util.List<java.lang.String>> recipes)

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

setBrand

protected void setBrand(MOB mob,
                        Item buildingI)

getBrand

protected java.lang.String getBrand(Item buildingI)

getBrand

protected java.lang.String getBrand(MOB mob)

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)

dropAWinner

protected boolean dropAWinner(MOB mob,
                              Item buildingI)

dropAWinner

protected boolean dropAWinner(MOB mob,
                              Room R,
                              Item buildingI)
Produce a constructed OR gathered thing.

Parameters:
mob - CAN BE NULL!!! the dropper
R - the room to drop it in
buildingI - the item to drop
Returns:
true if it dropped

lookingForMat

protected int lookingForMat(java.util.List<java.lang.Integer> materials,
                            Room fromHere)

lookingForMat

protected int lookingForMat(int material,
                            Room fromHere)

lookingForRsc

protected int lookingForRsc(java.util.List<java.lang.Integer> materials,
                            Room fromHere)

lookingForRsc

protected int lookingForRsc(int material,
                            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 Ability.COST_ALL means to use all of the mana, movement, hit points. A value of Ability.COST_PCT 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 skill
ignoreClassOverride - 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 room)

supportedResourcesMap

public java.lang.Integer[] supportedResourcesMap()

isMadeOfSupportedResource

public boolean isMadeOfSupportedResource(Item I)

canBeLearnedBy

public boolean canBeLearnedBy(MOB teacherM,
                              MOB studentM)
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, and the teacher is optional.

Specified by:
canBeLearnedBy in interface Ability
Overrides:
canBeLearnedBy in class StdAbility
Parameters:
teacherM - the potential teacher of this skill, may be null
studentM - the potential learner of this skill, may NOT be null
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 skill
student - the learner of this skill
See Also:
Ability.canBeTaughtBy(MOB, MOB), Ability.canBeLearnedBy(MOB, MOB)

bumpTickDown

public void bumpTickDown(long byThisMuch)

startTickDown

public void startTickDown(MOB invokerMOB,
                          Physical affected,
                          int tickTime)
Description copied from interface: Ability
Adds THIS Ability object as an effect on the given affected target, and sets it to unInvoke after the given number of ticks. This method intelligently determines whether the target is already going to provide tick events to the Ability (like a mob) or whether the system should create a tick event for this ability (like on rooms or items).

Specified by:
startTickDown in interface Ability
Overrides:
startTickDown in class StdAbility
Parameters:
invokerMOB - the invoker of the ability
affected - the object to be affected by this ability
tickTime - the number of ticks to keep the ability ticking.

checkStop

public boolean checkStop(MOB mob,
                         java.util.List<java.lang.String> commands)

setMiscText

public void setMiscText(java.lang.String newMiscText)
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:
newMiscText - either an open internal text string, or XML

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.

getStat

public java.lang.String getStat(java.lang.String code)
Description copied from interface: Modifiable
An alternative means of retreiving the values of those fields on this object which are modifiable at run-time by builders. See getStatCodes() for possible values for the code passed to this method. Values returned are always strings, even if the field itself is numeric or a list.

Specified by:
getStat in interface Modifiable
Overrides:
getStat in class StdAbility
Parameters:
code - the name of the field to read.
Returns:
the value of the field read
See Also:
Modifiable.getStatCodes()

setStat

public void setStat(java.lang.String code,
                    java.lang.String val)
Description copied from interface: Modifiable
An alternative means of setting the values of those fields on this object which are modifiable at run-time by builders. See getStatCodes() for possible values for the code passed to this method. The value passed in is always a string, even if the field itself is numeric or a list.

Specified by:
setStat in interface Modifiable
Overrides:
setStat in class StdAbility
Parameters:
code - the name of the field to set
val - the value to set the field to
See Also:
Modifiable.getStatCodes()

getCodeNum

protected int getCodeNum(java.lang.String code)
Overrides:
getCodeNum in class StdAbility

getStatCodes

public java.lang.String[] getStatCodes()
Description copied from interface: Modifiable
Returns an array of the string names of those fields which are modifiable on this object at run-time by builders.

Specified by:
getStatCodes in interface Modifiable
Overrides:
getStatCodes in class StdAbility
Returns:
list of the fields which may be set.
See Also:
Modifiable.getStat(String), Modifiable.setStat(String, String)