com.planet_ink.coffee_mud.Abilities.Common
Class ClanCrafting

java.lang.Object
  extended by com.planet_ink.coffee_mud.Abilities.StdAbility
      extended by com.planet_ink.coffee_mud.Abilities.Common.CommonSkill
          extended by com.planet_ink.coffee_mud.Abilities.Common.GatheringSkill
              extended by com.planet_ink.coffee_mud.Abilities.Common.CraftingSkill
                  extended by com.planet_ink.coffee_mud.Abilities.Common.ClanCrafting
All Implemented Interfaces:
Ability, CraftorAbility, ItemCraftor, CMObject, Contingent, Environmental, Modifiable, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>

public class ClanCrafting
extends CraftingSkill
implements ItemCraftor


Nested Class Summary
 
Nested classes/interfaces inherited from class com.planet_ink.coffee_mud.Abilities.Common.CraftingSkill
CraftingSkill.CraftingActivity, CraftingSkill.CraftParms, CraftingSkill.EnhancedExpertise, CraftingSkill.FoundResourceData, CraftingSkill.FoundResources
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.ItemCraftor
ItemCraftor.ItemKeyPair
 
Field Summary
protected  int expRequired
           
protected  Clan myClan
           
protected static int RCP_ARMORDMG
           
protected static int RCP_CAPACITY
           
protected static int RCP_CITYPE
           
protected static int RCP_CLASSTYPE
           
protected static int RCP_CONTAINMASK
           
protected static int RCP_EXP
           
protected static int RCP_FINALNAME
           
protected static int RCP_LEVEL
           
protected static int RCP_MATERIAL1
           
protected static int RCP_MATERIAL2
           
protected static int RCP_MISCTYPE
           
protected static int RCP_REQUIREDSKILL
           
protected static int RCP_SPELL
           
protected static int RCP_TICKS
           
protected static int RCP_VALUE
           
 
Fields inherited from class com.planet_ink.coffee_mud.Abilities.Common.CraftingSkill
activity, buildingI, CF_AMOUNT, CF_HARDNESS, CF_MATERIAL, CF_TOTAL, fireRequired, FOUND_AMT, FOUND_CODE, last25items, messedUp, recipeHolder
 
Fields inherited from class com.planet_ink.coffee_mud.Abilities.Common.GatheringSkill
supportedResources
 
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.ItemCraftor
CRAFTING_BRAND_STR_ANON, CRAFTING_BRAND_STR_NAME, CRAFTING_BRAND_STR_PREFIX
 
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
ClanCrafting()
           
 
Method Summary
protected  boolean autoGenInvoke(MOB mob, java.util.List<java.lang.String> commands, Physical givenTarget, boolean auto, int asLevel, int autoGenerate, boolean forceLevels, java.util.List<Item> crafted)
          This method is called when a player or the system invokes this skill, especially when they intend to use the skill to auto-generate an item instead of following the more friendly user-crafting.
 boolean canBeLearnedBy(MOB teacher, MOB student)
          Returns whether the given student mob is able and allowed to learn this skill from the given teacher.
 java.util.List<java.util.List<java.lang.String>> fetchMyRecipes(MOB mob)
          A list containing an entry for each craftable recipe both standard, and extra recipes from given mob Each craftable recipe is also a list of strings.
 java.lang.String getDecodedComponentsDescription(MOB mob, java.util.List<java.lang.String> recipe)
          Given a raw recipe, returns a description of the required components to build it.
 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.
protected  java.util.List<java.util.List<java.lang.String>> loadRecipes()
           
 java.lang.String name()
          The nice displayable name of this instance of this object
 java.util.Hashtable<java.lang.String,java.lang.String> parametersFields()
           
 java.lang.String parametersFile()
          A String naming the file where the recipes are found
 java.lang.String parametersFormat()
          A String containing the format of each entry in the parameter file in a recipe.
 java.lang.String supportedResourceString()
           
 boolean supportsDeconstruction()
          Returns true if mundane items can be demonstructed into recipes with this skill.
 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.
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.Common.CraftingSkill
accountForYourself, addRecipes, addSpells, adjustWoodRequired, canMend, checkInfo, classificationCode, cleanBuildingNameForXP, craftAllItemSets, craftAllItemSets, craftAnyItem, craftItem, craftItem, craftItem, deconstructRecipeInto, determineFinalName, doLearnRecipe, dropAWinner, fetchFoundResourceData, fetchRecipes, getAbilityComponents, getAllMendable, getBuildingMaterial, getComponentDescription, getContainerType, getDecodedItemNameAndLevel, getItemWeightMultiplier, getNonStandardComponentRequirements, getPercentChanceToDeconstruct, getStandardWeight, isANativeItem, matchingRecipeNames, matchingRecipeNames, mayBeCrafted, mayICraft, mayICraft, mayILearnToCraft, messedUpCrafting, publicScan, randomRecipeFix, replacePercent, setMsgXPValue, setRideBasis, setWeaponTypeClass, setWeaponTypeClass, setWeaponTypeClass, setWearLocation, supportsArmors, supportsWeapons
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.Common.GatheringSkill
affectPhyStats, bundle, fixResourceRequirement, myResources
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.Common.CommonSkill
abilityCode, abstractQuality, addedTickTime, allowedInTheDark, allowedWhileMounted, baseYield, bumpTickDown, canAffectCode, canBeDoneSittingDown, canTargetCode, checkStop, commonEmote, commonTell, commonTell, confirmPossibleMaterialLocation, displayText, dropAWinner, getActivityMessageType, getAlmostDoneMessage, getBrand, getBrand, getCodeNum, getCompletedActivityMessageType, getDuration, getOthersContinueMessage, getRawTrainingCost, getRequiredFire, getStat, getStatCodes, getUninvokeException, getYouContinueMessage, iniPracticesToPractice, isMadeOfSupportedResource, loadList, loadRecipes, lookingForMat, lookingForMat, lookingForRsc, lookingForRsc, okMessage, setAbilityCode, setBrand, setMiscText, setStat, startTickDown, supportedResourcesMap, teach, tick, usageCost, usageType, xlevel
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility
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, 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
 
Methods inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.ItemCraftor
craftAllItemSets, craftAllItemSets, craftAnyItem, craftItem, craftItem, getItemWeightMultiplier, mayICraft
 
Methods inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.CraftorAbility
fetchRecipes, getDecodedItemNameAndLevel, matchingRecipeNames, myResources
 
Methods inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.Ability
abilityCode, abstractQuality, accountForYourself, adjustedLevel, affecting, appropriateToMyFactions, autoInvocation, bubbleAffect, canAffect, canAffect, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, castingQuality, castingTime, checkedCastingCost, classificationCode, combatCastingTime, enchantQuality, externalFiles, flags, getTrainingCost, helpProficiency, invoke, invoker, isAutoInvoked, isNowAnAutoEffect, makeLongLasting, makeNonUninvokable, practice, preInvoke, proficiency, proficiencyCheck, putInCommandlist, requirements, setAbilityCode, setAffectedOne, setInvoker, setProficiency, startTickDown, teach, usageCost, usageType
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
description, displayText, expirationDate, image, isGeneric, L, maxRange, minRange, miscTextFormat, Name, rawImage, sameAs, 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.StatsAffecting
affectCharState, affectCharStats, affectPhyStats
 
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.Contingent
amDestroyed, destroy, isSavable, setSavable
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Modifiable
getSaveStatIndex, getStat, getStatCodes, isStat, setStat
 

Field Detail

expRequired

protected int expRequired

myClan

protected Clan myClan

RCP_FINALNAME

protected static final int RCP_FINALNAME
See Also:
Constant Field Values

RCP_MATERIAL1

protected static final int RCP_MATERIAL1
See Also:
Constant Field Values

RCP_MATERIAL2

protected static final int RCP_MATERIAL2
See Also:
Constant Field Values

RCP_CITYPE

protected static final int RCP_CITYPE
See Also:
Constant Field Values

RCP_LEVEL

protected static final int RCP_LEVEL
See Also:
Constant Field Values

RCP_TICKS

protected static final int RCP_TICKS
See Also:
Constant Field Values

RCP_EXP

protected static final int RCP_EXP
See Also:
Constant Field Values

RCP_VALUE

protected static final int RCP_VALUE
See Also:
Constant Field Values

RCP_CLASSTYPE

protected static final int RCP_CLASSTYPE
See Also:
Constant Field Values

RCP_MISCTYPE

protected static final int RCP_MISCTYPE
See Also:
Constant Field Values

RCP_CAPACITY

protected static final int RCP_CAPACITY
See Also:
Constant Field Values

RCP_ARMORDMG

protected static final int RCP_ARMORDMG
See Also:
Constant Field Values

RCP_CONTAINMASK

protected static final int RCP_CONTAINMASK
See Also:
Constant Field Values

RCP_SPELL

protected static final int RCP_SPELL
See Also:
Constant Field Values

RCP_REQUIREDSKILL

protected static final int RCP_REQUIREDSKILL
See Also:
Constant Field Values
Constructor Detail

ClanCrafting

public ClanCrafting()
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 CraftingSkill
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 CraftingSkill
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 GatheringSkill
Returns:
an array of command invoking string words
See Also:
Ability.putInCommandlist()

supportedResourceString

public java.lang.String supportedResourceString()
Overrides:
supportedResourceString in class GatheringSkill

parametersFormat

public java.lang.String parametersFormat()
Description copied from interface: CraftorAbility
A String containing the format of each entry in the parameter file in a recipe.

Specified by:
parametersFormat in interface CraftorAbility
Returns:
a String showing the format of each entry in the parameter file

fetchMyRecipes

public java.util.List<java.util.List<java.lang.String>> fetchMyRecipes(MOB mob)
Description copied from interface: CraftorAbility
A list containing an entry for each craftable recipe both standard, and extra recipes from given mob Each craftable recipe is also a list of strings.

Specified by:
fetchMyRecipes in interface CraftorAbility
Parameters:
mob - the mob to check for extra recipes
Returns:
a vector of vectors

parametersFields

public java.util.Hashtable<java.lang.String,java.lang.String> parametersFields()

parametersFile

public java.lang.String parametersFile()
Description copied from interface: CraftorAbility
A String naming the file where the recipes are found

Specified by:
parametersFile in interface CraftorAbility
Overrides:
parametersFile in class CraftingSkill
Returns:
a String naming the file where the recipes are found

loadRecipes

protected java.util.List<java.util.List<java.lang.String>> loadRecipes()
Overrides:
loadRecipes in class CraftingSkill

supportsDeconstruction

public boolean supportsDeconstruction()
Description copied from interface: ItemCraftor
Returns true if mundane items can be demonstructed into recipes with this skill.

Specified by:
supportsDeconstruction in interface ItemCraftor
Returns:
true if mundane items can be demonstructed into recipes with this skill.

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

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, and the teacher is optional.

Specified by:
canBeLearnedBy in interface Ability
Overrides:
canBeLearnedBy in class CommonSkill
Parameters:
teacher - the potential teacher of this skill, may be null
student - 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)

getDecodedComponentsDescription

public java.lang.String getDecodedComponentsDescription(MOB mob,
                                                        java.util.List<java.lang.String> recipe)
Description copied from interface: CraftorAbility
Given a raw recipe, returns a description of the required components to build it.

Specified by:
getDecodedComponentsDescription in interface CraftorAbility
Parameters:
mob - the potential builder
recipe - the raw recipe description
Returns:
a descriptive string

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 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.

autoGenInvoke

protected boolean autoGenInvoke(MOB mob,
                                java.util.List<java.lang.String> commands,
                                Physical givenTarget,
                                boolean auto,
                                int asLevel,
                                int autoGenerate,
                                boolean forceLevels,
                                java.util.List<Item> crafted)
Description copied from class: CraftingSkill
This method is called when a player or the system invokes this skill, especially when they intend to use the skill to auto-generate an item instead of following the more friendly user-crafting. 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.

Overrides:
autoGenInvoke in class CraftingSkill
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.
autoGenerate - 0, unless auto generation, in which case it's a RawMaterial Resource Code number
forceLevels - true to override other level modifiers on the items to force the Stock level.
crafted - when autoGenerate > 0, this is where the auto generated crafted items are placed
Returns:
whether the skill successfully invoked.