com.planet_ink.coffee_mud.Abilities.Common
Class GenCraftSkill

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.EnhancedCraftingSkill
                      extended by com.planet_ink.coffee_mud.Abilities.Common.GenCraftSkill
All Implemented Interfaces:
Ability, CraftorAbility, ItemCraftor, CMObject, Contingent, Environmental, Modifiable, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>

public class GenCraftSkill
extends EnhancedCraftingSkill
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
 java.lang.String ID
           
protected  DoorKey key
           
protected static int RCP_AMOUNTMATS
           
protected static int RCP_ARMORDMG
           
protected static int RCP_CAPACITY
           
protected static int RCP_CLASSTYPE
           
protected static int RCP_CONTAINMASK
           
protected static int RCP_MISCTYPE
           
protected static int RCP_SPELL
           
protected static int RCP_VALUE
           
 
Fields inherited from class com.planet_ink.coffee_mud.Abilities.Common.EnhancedCraftingSkill
HIDE_MASK, materialAdjustments, STAGE_MASK
 
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, RCP_FINALNAME, RCP_LEVEL, RCP_TICKS, 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
GenCraftSkill()
           
 
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.
protected  boolean canBeDoneSittingDown()
           
protected  boolean canMend(MOB mob, Environmental E, boolean quiet)
           
protected  void cloneFix(Ability E)
           
protected  int getCodeNum(java.lang.String code)
           
 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.
 int getSaveStatIndex()
          Returns the index into the stat codes array where extra savable fields begins.
 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.
 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.
 boolean isGeneric()
          Whether the fields of this item are set in code, or set by builders.
protected  java.util.List<java.util.List<java.lang.String>> loadRecipes()
           
 boolean mayICraft(Item I)
          Returns whether the given item could have been crafted by this skill.
 boolean mayICraft(MOB mob, Item I)
           
 java.lang.String name()
          The nice displayable name of this instance of this object
 java.lang.String Name()
          The raw unmodified name of this object as stored in the database.
 CMObject newInstance()
          Returns a new instance of this class.
 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.
 boolean sameAs(Environmental E)
          Whether this object instance is functionally identical to the object passed in.
 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.
 java.lang.String supportedResourceString()
           
 boolean supportsDeconstruction()
          Returns true if mundane items can be demonstructed into recipes with this skill.
 boolean supportsMending(Physical I)
           
 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.
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.Common.EnhancedCraftingSkill
addSpellAdjustment, addStatAdjustment, applyName, applyName, cleanBuildingNameForXP, enhancedTypes, enhanceItem, enhanceList, fetchFoundResourceData, fetchMyRecipes, fixDataForComponents, getAllThisSkillsDefinitions, getLocalExpCode, getThisSkillsExpertises, loadList, parametersFields, supportsArmors, supportsWeapons
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.Common.CraftingSkill
accountForYourself, addRecipes, addSpells, adjustWoodRequired, checkInfo, classificationCode, craftAllItemSets, craftAllItemSets, craftAnyItem, craftItem, craftItem, craftItem, deconstructRecipeInto, determineFinalName, doLearnRecipe, dropAWinner, fetchRecipes, getAbilityComponents, getAllMendable, getBuildingMaterial, getComponentDescription, getContainerType, getDecodedItemNameAndLevel, getItemWeightMultiplier, getNonStandardComponentRequirements, getPercentChanceToDeconstruct, getStandardWeight, isANativeItem, matchingRecipeNames, matchingRecipeNames, mayBeCrafted, mayILearnToCraft, messedUpCrafting, publicScan, randomRecipeFix, replacePercent, setMsgXPValue, setRideBasis, setWeaponTypeClass, setWeaponTypeClass, setWeaponTypeClass, setWearLocation
 
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, canBeLearnedBy, canTargetCode, checkStop, commonEmote, commonTell, commonTell, confirmPossibleMaterialLocation, displayText, dropAWinner, getActivityMessageType, getAlmostDoneMessage, getBrand, getBrand, getCompletedActivityMessageType, getDuration, getOthersContinueMessage, getRawTrainingCost, getRequiredFire, getUninvokeException, getYouContinueMessage, iniPracticesToPractice, isMadeOfSupportedResource, loadRecipes, lookingForMat, lookingForMat, lookingForRsc, lookingForRsc, okMessage, setAbilityCode, setBrand, setMiscText, startTickDown, supportedResourcesMap, teach, 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, 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, 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, isNowAnAutoEffect, isSavable, isStat, L, makeLongLasting, makeNonUninvokable, maliciousAffect, maliciousFizzle, maxRange, minCastWaitTime, minRange, miscTextFormat, overrideMana, possibleContainer, practice, practicesToPractice, preInvoke, proficiency, proficiencyCheck, properTargetList, properTargets, putInCommandlist, rawImage, requirements, restoreCombatState, 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
 
Methods inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.CraftorAbility
fetchMyRecipes, 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, canBeLearnedBy, 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, L, maxRange, minRange, miscTextFormat, rawImage, setDescription, setDisplayText, setExpirationDate, setImage, setMiscText, setName, text
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
getTickStatus
 
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
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Modifiable
isStat
 

Field Detail

ID

public java.lang.String ID

RCP_AMOUNTMATS

protected static final int RCP_AMOUNTMATS
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

key

protected DoorKey key
Constructor Detail

GenCraftSkill

public GenCraftSkill()
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 EnhancedCraftingSkill
Returns:
the name of this class

Name

public java.lang.String Name()
Description copied from interface: Environmental
The raw unmodified name of this object as stored in the database. This is the name set by builders and used as a basis for the name() method.

Specified by:
Name in interface Environmental
Overrides:
Name in class StdAbility
Returns:
the raw base name of this object on the map.
See Also:
Tickable.name()

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 EnhancedCraftingSkill
Returns:
the displayable name of this object instance
See Also:
Environmental.Name()

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
Overrides:
parametersFormat in class EnhancedCraftingSkill
Returns:
a String showing the format of each entry in the parameter file

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
Overrides:
supportsDeconstruction in class EnhancedCraftingSkill
Returns:
true if mundane items can be demonstructed into recipes with this skill.

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

canBeDoneSittingDown

protected boolean canBeDoneSittingDown()
Overrides:
canBeDoneSittingDown in class CommonSkill

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

supportedResourceString

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

newInstance

public CMObject newInstance()
Description copied from interface: CMObject
Returns a new instance of this class.

Specified by:
newInstance in interface CMObject
Overrides:
newInstance in class StdAbility
Returns:
a new instance of this class

cloneFix

protected void cloneFix(Ability E)
Overrides:
cloneFix in class StdAbility

isGeneric

public boolean isGeneric()
Description copied from interface: Environmental
Whether the fields of this item are set in code, or set by builders. Generic means that they are set by builders, in which case XML is returned by the text() method containing all of the values for all the fields.

Specified by:
isGeneric in interface Environmental
Overrides:
isGeneric in class StdAbility
Returns:
whether this item is modifiable by builders
See Also:
Environmental.text()

getSaveStatIndex

public int getSaveStatIndex()
Description copied from interface: Modifiable
Returns the index into the stat codes array where extra savable fields begins. This number is always the same as getStatCodes().length unless there are extra fields which need to be saved in xml for generic objects. This method is used by editors for post-build user-defined fields.

Specified by:
getSaveStatIndex in interface Modifiable
Overrides:
getSaveStatIndex in class StdAbility
Returns:
the index into getStatCodes()
See Also:
Modifiable.getStatCodes(), Modifiable.getStat(String), Modifiable.setStat(String, String)

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 CommonSkill
Returns:
list of the fields which may be set.
See Also:
Modifiable.getStat(String), Modifiable.setStat(String, String)

getCodeNum

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

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 CommonSkill
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 CommonSkill
Parameters:
code - the name of the field to set
val - the value to set the field to
See Also:
Modifiable.getStatCodes()

sameAs

public boolean sameAs(Environmental E)
Description copied from interface: Environmental
Whether this object instance is functionally identical to the object passed in. Works by repeatedly calling getStat on both objects and comparing the values.

Specified by:
sameAs in interface Environmental
Overrides:
sameAs in class StdAbility
Parameters:
E - the object to compare this one to
Returns:
whether this object is the same as the one passed in
See Also:
Modifiable.getStatCodes(), Modifiable.getStat(String)

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

loadRecipes

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

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

mayICraft

public boolean mayICraft(Item I)
Description copied from interface: ItemCraftor
Returns whether the given item could have been crafted by this skill.

Specified by:
mayICraft in interface ItemCraftor
Overrides:
mayICraft in class CraftingSkill
Parameters:
I - the item to examine
Returns:
true if the item is consistent with this crafting, or false otherwise

mayICraft

public boolean mayICraft(MOB mob,
                         Item I)
Overrides:
mayICraft in class CraftingSkill

supportsMending

public boolean supportsMending(Physical I)

canMend

protected boolean canMend(MOB mob,
                          Environmental E,
                          boolean quiet)
Overrides:
canMend in class CraftingSkill

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
Overrides:
getDecodedComponentsDescription in class EnhancedCraftingSkill
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.