com.planet_ink.coffee_mud.Abilities.Common
Class CraftingSkill

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
All Implemented Interfaces:
Ability, CMObject, Contingent, Environmental, Modifiable, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
Alchemy, ClanCrafting, Construction, Cooking, EnhancedCraftingSkill, GlassBlowing, Herbalism, InstrumentMaking, LockSmith, Masonry, PaperMaking, Pottery, ScrollScribing, Shipwright, Smelting, Taxidermy, Torturesmithing, Wainwrighting

public class CraftingSkill
extends GatheringSkill


Field Summary
protected  Item building
           
protected  boolean fireRequired
           
protected static int FOUND_AMT
           
protected static int FOUND_CODE
           
protected  boolean mending
           
protected  boolean messedUp
           
protected  boolean refitting
           
 
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, bundling, displayText, helping, helpingAbility, playSound, tickUp, verb, yield
 
Fields inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility
affected, amDestroyed, canBeUninvoked, empty, 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
 
Constructor Summary
CraftingSkill()
           
 
Method Summary
 java.lang.String accountForYourself()
          For use by the identify spell, this should return a nice description of any properties incorporated by this effect.
protected  java.util.List<java.util.List<java.lang.String>> addRecipes(MOB mob, java.util.List<java.util.List<java.lang.String>> recipes)
           
protected  void addSpells(Physical P, java.lang.String spells)
           
protected  int adjustWoodRequired(int woodRequired, MOB mob)
           
protected  boolean canMend(MOB mob, Environmental E, boolean quiet)
           
 int classificationCode()
          Returns a bitmap describing the general classification of the skill (spell, skill, chant, or property, etc) and its domain.
 java.util.List<ItemCraftor.ItemKeyPair> craftAllItemSets()
           
 java.util.List<ItemCraftor.ItemKeyPair> craftAllItemSets(int material)
           
 ItemCraftor.ItemKeyPair craftAnyItem(int material)
           
 ItemCraftor.ItemKeyPair craftItem(java.lang.String recipe)
           
 ItemCraftor.ItemKeyPair craftItem(java.lang.String recipe, int material)
           
protected  void dropAWinner(MOB mob, Item building)
           
protected  int[][] fetchFoundResourceData(MOB mob, int req1Required, java.lang.String req1Desc, int[] req1, int req2Required, java.lang.String req2Desc, int[] req2, boolean bundle, int autoGeneration, DVector eduMods)
           
 java.util.List<java.util.List<java.lang.String>> fetchRecipes()
           
protected  int fixResourceRequirement(int resource, int amt)
           
 java.util.List<java.lang.Object> getAbilityComponents(MOB mob, java.lang.String componentID, java.lang.String doingWhat, int autoGenerate)
           
protected  java.util.Vector getAllMendable(MOB mob, Environmental from, Item contained)
           
 java.lang.String getComponentDescription(MOB mob, java.util.List<java.lang.String> recipe, int RCP_WOOD)
           
protected  Ability getCraftableSpellRecipe(java.util.Vector commands)
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
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()
           
protected  java.util.List<java.util.List<java.lang.String>> loadRecipes(java.lang.String filename)
           
protected  java.util.List<java.util.List<java.lang.String>> matchingRecipeNames(java.util.List<java.util.List<java.lang.String>> recipes, java.lang.String recipeName, boolean beLoose)
           
 java.util.List<java.util.List<java.lang.String>> matchingRecipeNames(java.lang.String recipeName, boolean beLoose)
           
protected  void messedUpCrafting(MOB mob)
           
 java.lang.String name()
          The displayable name of this object.
 java.lang.String parametersFile()
           
 boolean publicScan(MOB mob, java.util.Vector commands)
           
protected  void randomRecipeFix(MOB mob, java.util.List<java.util.List<java.lang.String>> recipes, java.util.Vector commands, int autoGeneration)
           
protected  java.lang.String replacePercent(java.lang.String thisStr, java.lang.String withThis)
           
protected  void setRideBasis(Rideable rideable, java.lang.String type)
           
protected  void setWeaponTypeClass(Weapon weapon, java.lang.String weaponClass)
           
protected  void setWeaponTypeClass(Weapon weapon, java.lang.String weaponClass, int flailedType)
           
protected  void setWeaponTypeClass(Weapon weapon, java.lang.String weaponClass, int flailedType, int naturalType)
           
protected  void setWearLocation(Item I, java.lang.String wearLocation, int hardnessMultiplier)
           
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.Common.GatheringSkill
bundle, myResources, supportedResourceString, triggerStrings
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.Common.CommonSkill
abilityCode, abstractQuality, addedTickTime, allowedWhileMounted, canAffectCode, canBeLearnedBy, canTargetCode, commonEmote, commonTell, commonTell, confirmPossibleMaterialLocation, displayText, getDuration, getRequiredFire, iniPracticesRequired, iniPracticesToPractice, iniTrainsRequired, invoke, lookingFor, lookingFor, okMessage, setAbilityCode, teach, tick, unInvoke, usageCost, usageType, xlevel
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility
ableOk, ableSend, adjustedLevel, adjustedMaxInvokerRange, affectCharState, affectCharStats, affecting, affectPhyStats, amDestroyed, appropriateToMyFactions, autoInvocation, beneficialAffect, beneficialVisualFizzle, beneficialWordsFizzle, bubbleAffect, buildCostArray, canAffect, canAffect, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, castingQuality, castingQuality, castingTime, checkComponents, checkedCastingTime, clearExpertiseCache, cloneFix, combatCastingTime, compareTo, copyOf, description, destroy, disregardsArmorCheck, enchantQuality, executeMsg, experienceLevels, expertise, expirationDate, externalFiles, 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, isSavable, isStat, makeLongLasting, makeNonUninvokable, maliciousAffect, maliciousFizzle, maxRange, minCastWaitTime, minRange, miscTextFormat, Name, newInstance, overrideMana, possibleContainer, practice, practicesRequired, practicesToPractice, preInvoke, proficiency, proficiencyCheck, properTargets, putInCommandlist, rawImage, requirements, sameAs, setAffectedOne, 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, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

building

protected Item building

fireRequired

protected boolean fireRequired

mending

protected boolean mending

refitting

protected boolean refitting

messedUp

protected boolean messedUp

FOUND_CODE

protected static final int FOUND_CODE
See Also:
Constant Field Values

FOUND_AMT

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

CraftingSkill

public CraftingSkill()
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, MiscTech. The name is typically identical to the class name.

Specified by:
ID in interface CMObject
Overrides:
ID in class GatheringSkill
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 phyStats() object. Is derived from the Name().

Specified by:
name in interface Environmental
Specified by:
name in interface Tickable
Overrides:
name in class GatheringSkill
Returns:
the modified final name of this object on the map.
See Also:
Environmental.Name()

classificationCode

public int classificationCode()
Description copied from interface: Ability
Returns a bitmap describing the general classification of the skill (spell, skill, chant, or property, etc) and its domain. It is made up of the ACODE_* constants the Ability interface, and optionally the DOMAIN_* constants also defined in this interface.

Specified by:
classificationCode in interface Ability
Overrides:
classificationCode in class CommonSkill
Returns:
ACODE_* constant classification
See Also:
Ability

accountForYourself

public java.lang.String accountForYourself()
Description copied from interface: Ability
For use by the identify spell, this should return a nice description of any properties incorporated by this effect.

Specified by:
accountForYourself in interface Ability
Overrides:
accountForYourself in class StdAbility
Returns:
a description of properties incorporated

parametersFile

public java.lang.String parametersFile()

replacePercent

protected java.lang.String replacePercent(java.lang.String thisStr,
                                          java.lang.String withThis)

messedUpCrafting

protected void messedUpCrafting(MOB mob)

addRecipes

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

adjustWoodRequired

protected int adjustWoodRequired(int woodRequired,
                                 MOB mob)

dropAWinner

protected void dropAWinner(MOB mob,
                           Item building)

addSpells

protected void addSpells(Physical P,
                         java.lang.String spells)

setWearLocation

protected void setWearLocation(Item I,
                               java.lang.String wearLocation,
                               int hardnessMultiplier)

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)

fixResourceRequirement

protected int fixResourceRequirement(int resource,
                                     int amt)

fetchRecipes

public java.util.List<java.util.List<java.lang.String>> fetchRecipes()

loadRecipes

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

getCraftableSpellRecipe

protected Ability getCraftableSpellRecipe(java.util.Vector commands)

fetchFoundResourceData

protected int[][] fetchFoundResourceData(MOB mob,
                                         int req1Required,
                                         java.lang.String req1Desc,
                                         int[] req1,
                                         int req2Required,
                                         java.lang.String req2Desc,
                                         int[] req2,
                                         boolean bundle,
                                         int autoGeneration,
                                         DVector eduMods)

randomRecipeFix

protected void randomRecipeFix(MOB mob,
                               java.util.List<java.util.List<java.lang.String>> recipes,
                               java.util.Vector commands,
                               int autoGeneration)

craftAnyItem

public ItemCraftor.ItemKeyPair craftAnyItem(int material)

craftItem

public ItemCraftor.ItemKeyPair craftItem(java.lang.String recipe,
                                         int material)

craftAllItemSets

public java.util.List<ItemCraftor.ItemKeyPair> craftAllItemSets(int material)

craftItem

public ItemCraftor.ItemKeyPair craftItem(java.lang.String recipe)

craftAllItemSets

public java.util.List<ItemCraftor.ItemKeyPair> craftAllItemSets()

matchingRecipeNames

public java.util.List<java.util.List<java.lang.String>> matchingRecipeNames(java.lang.String recipeName,
                                                                            boolean beLoose)

matchingRecipeNames

protected java.util.List<java.util.List<java.lang.String>> matchingRecipeNames(java.util.List<java.util.List<java.lang.String>> recipes,
                                                                               java.lang.String recipeName,
                                                                               boolean beLoose)

getAllMendable

protected java.util.Vector getAllMendable(MOB mob,
                                          Environmental from,
                                          Item contained)

publicScan

public boolean publicScan(MOB mob,
                          java.util.Vector commands)

setWeaponTypeClass

protected void setWeaponTypeClass(Weapon weapon,
                                  java.lang.String weaponClass)

setWeaponTypeClass

protected void setWeaponTypeClass(Weapon weapon,
                                  java.lang.String weaponClass,
                                  int flailedType)

setWeaponTypeClass

protected void setWeaponTypeClass(Weapon weapon,
                                  java.lang.String weaponClass,
                                  int flailedType,
                                  int naturalType)

setRideBasis

protected void setRideBasis(Rideable rideable,
                            java.lang.String type)

canMend

protected boolean canMend(MOB mob,
                          Environmental E,
                          boolean quiet)

getAbilityComponents

public java.util.List<java.lang.Object> getAbilityComponents(MOB mob,
                                                             java.lang.String componentID,
                                                             java.lang.String doingWhat,
                                                             int autoGenerate)

getComponentDescription

public java.lang.String getComponentDescription(MOB mob,
                                                java.util.List<java.lang.String> recipe,
                                                int RCP_WOOD)