com.planet_ink.coffee_mud.Abilities.Common
Class Cooking

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.Cooking
All Implemented Interfaces:
Ability, ItemCraftor, Behavable, CMModifiable, CMObject, Environmental, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
Apothecary, Baking, Distilling, FoodPrep

public class Cooking
extends CraftingSkill
implements ItemCraftor


Field Summary
protected  Container cooking
           
protected  java.lang.String defaultDrinkSound
           
protected  java.lang.String defaultFoodSound
           
protected  int finalAmount
           
protected  java.lang.String finalDishName
           
protected  java.util.Vector finalRecipe
           
protected  java.util.Hashtable oldContents
           
static int RCP_BONUSSPELL
           
static int RCP_FINALFOOD
           
static int RCP_FOODDRINK
           
static int RCP_LEVEL
           
static int RCP_MAINAMNT
           
static int RCP_MAININGR
           
 
Fields inherited from class com.planet_ink.coffee_mud.Abilities.Common.CraftingSkill
building, fakeRoom, fireRequired, FOUND_AMT, FOUND_CODE, mending, messedUp, 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, envStats, expertise, invoker, isAnAutoEffect, lastCastHelp, miscText, proficiency, savable, tickDown, unInvoked
 
Fields inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.Ability
ACODE_CHANT, ACODE_COMMON_SKILL, ACODE_DESCS, ACODE_DISEASE, ACODE_LANGUAGE, ACODE_POISON, ACODE_PRAYER, ACODE_PROPERTY, ACODE_SKILL, ACODE_SONG, ACODE_SPELL, ACODE_SUPERPOWER, ACODE_THIEF_SKILL, ACODE_TRAP, ALL_ACODES, ALL_DOMAINS, CAN_AREAS, CAN_DESCS, CAN_EXITS, CAN_ITEMS, CAN_MOBS, CAN_ROOMS, DOMAIN_ABJURATION, DOMAIN_ACROBATIC, DOMAIN_ALERT, DOMAIN_ALTERATION, DOMAIN_ANATOMY, DOMAIN_ANIMALAFFINITY, DOMAIN_ARCANELORE, DOMAIN_ARCHON, DOMAIN_ARMORUSE, DOMAIN_ARTISTIC, DOMAIN_BINDING, DOMAIN_BLESSING, DOMAIN_BREEDING, DOMAIN_CALLIGRAPHY, DOMAIN_COMBATFLUIDITY, DOMAIN_COMBATLORE, DOMAIN_COMMUNING, DOMAIN_CONJURATION, DOMAIN_CORRUPTION, DOMAIN_CRAFTINGSKILL, DOMAIN_CREATION, DOMAIN_CRIMINAL, DOMAIN_CURSING, DOMAIN_DANCING, DOMAIN_DEATHLORE, DOMAIN_DECEPTIVE, DOMAIN_DEEPMAGIC, DOMAIN_DESCS, DOMAIN_DETRAP, DOMAIN_DIRTYFIGHTING, DOMAIN_DIVINATION, DOMAIN_ENCHANTMENT, DOMAIN_ENDURING, DOMAIN_EVANGELISM, DOMAIN_EVASIVE, DOMAIN_EVOCATION, DOMAIN_FITNESS, DOMAIN_FOOLISHNESS, DOMAIN_GATHERINGSKILL, DOMAIN_GRAPPLING, DOMAIN_HEALING, DOMAIN_HOLYPROTECTION, DOMAIN_ILLUSION, DOMAIN_INFLUENTIAL, DOMAIN_KICKING, DOMAIN_LEGAL, DOMAIN_MARTIALLORE, DOMAIN_MOONALTERING, DOMAIN_MOONSUMMONING, DOMAIN_NATURELORE, DOMAIN_NEUTRALIZATION, DOMAIN_PLANTCONTROL, DOMAIN_PLANTGROWTH, DOMAIN_PLAYING, DOMAIN_POISONING, DOMAIN_PRESERVING, DOMAIN_PUNCHING, DOMAIN_RACIALABILITY, DOMAIN_RESTORATION, DOMAIN_ROCKCONTROL, DOMAIN_SHAPE_SHIFTING, DOMAIN_SHIELDUSE, DOMAIN_SINGING, DOMAIN_STEALING, DOMAIN_STEALTHY, DOMAIN_STREETSMARTS, DOMAIN_TRANSMUTATION, DOMAIN_TRAPPING, DOMAIN_VERBS, DOMAIN_VEXING, DOMAIN_WARDING, DOMAIN_WEAPON_USE, DOMAIN_WEATHER_MASTERY, FLAG_AIRBASED, FLAG_BINDING, FLAG_CHARMING, FLAG_CLANMAGIC, FLAG_DESCS, FLAG_EARTHBASED, FLAG_FIREBASED, FLAG_HEALINGMAGIC, FLAG_HEATING, FLAG_HOLY, FLAG_INTOXICATING, FLAG_MOVING, FLAG_NOORDERING, FLAG_PARALYZING, FLAG_SUMMONING, FLAG_TRACKING, FLAG_TRANSPORTING, FLAG_UNHOLY, FLAG_WATERBASED, FLAG_WEATHERAFFECTING, QUALITY_BENEFICIAL_OTHERS, QUALITY_BENEFICIAL_SELF, QUALITY_DESCS, QUALITY_INDIFFERENT, QUALITY_MALICIOUS, QUALITY_OK_OTHERS, QUALITY_OK_SELF, RANGE_CHOICES, USAGE_DESCS, USAGE_HITPOINTS, USAGE_MANA, USAGE_MOVEMENT, USAGE_NADA, USAGEINDEX_HITPOINTS, USAGEINDEX_MANA, USAGEINDEX_MOVEMENT
 
Fields inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
STATUS_AFFECT, STATUS_ALIVE, STATUS_BEHAVIOR, STATUS_CLASS, STATUS_DEAD, STATUS_END, STATUS_FIGHT, STATUS_MISC, STATUS_MISC2, STATUS_MISC3, STATUS_MISC4, STATUS_MISC5, STATUS_MISC6, STATUS_MISC7, STATUS_NOT, STATUS_OTHER, STATUS_RACE, STATUS_REBIRTH, STATUS_SCRIPT, STATUS_START, STATUS_WEATHER, TICKID_AREA, TICKID_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_EMAIL, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MOB, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SPELL_AFFECT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET, TICKMASK_SOLITARY, TICKS_PER_RLMIN, TIME_MILIS_PER_MUDHOUR, TIME_TICK, TIME_TICK_DOUBLE
 
Constructor Summary
Cooking()
           
 
Method Summary
 boolean contentsSame(java.util.Hashtable h1, java.util.Hashtable h2)
           
 java.lang.String cookWord()
           
 java.lang.String cookWordShort()
           
 java.util.Vector countIngredients(java.util.Vector Vr)
           
 java.util.Vector extraIngredientsInOldContents(java.util.Vector Vr)
           
 int homeCookValue(MOB mob, int multiplyer)
           
 boolean honorHerbs()
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 boolean invoke(MOB mob, java.util.Vector commands, Environmental givenTarget, boolean auto, int asLevel)
          This method is called when a player or the system invokes this skill, casts this spell, etc.
 boolean isMineForCooking(MOB mob, Container cooking)
           
protected  java.util.Vector loadRecipes()
           
 boolean meetsLidRequirements(MOB mob, Container cooking)
           
 java.util.Vector missingIngredientsFromOldContents(java.util.Vector Vr)
           
 java.lang.String name()
          The displayable name of this object.
 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.util.Hashtable potContents(Container pot)
           
 boolean requireFire()
           
 boolean requireLid()
           
 java.lang.String supportedResourceString()
           
 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.CraftingSkill
accountForYourself, addRecipes, addSpells, adjustWoodRequired, canMend, classificationCode, craftAllItemsVectors, craftAllItemsVectors, craftAnyItem, craftItem, craftItem, dropAWinner, fetchFoundResourceData, fetchRecipes, fixResourceRequirement, getAllMendable, loadList, loadRecipes, matchingRecipeNames, matchingRecipeNames, publicScan, randomRecipeFix, replacePercent, setRideBasis, setWeaponTypeClass, setWeaponTypeClass, setWeaponTypeClass, setWearLocation
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.Common.GatheringSkill
bundle, myResources
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.Common.CommonSkill
abilityCode, abstractQuality, addedTickTime, allowedWhileMounted, canAffectCode, canTargetCode, commonEmote, commonTell, commonTell, confirmPossibleMaterialLocation, displayText, getDuration, getRequiredFire, iniPracticesRequired, iniPracticesToPractice, iniTrainsRequired, lookingFor, lookingFor, setAbilityCode, usageCost, usageType, xlevel
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility
ableOk, ableSend, addBehavior, addEffect, addNonUninvokableEffect, addScript, adjustedLevel, adjustedMaxInvokerRange, affectCharState, affectCharStats, affectEnvStats, affecting, amDestroyed, appropriateToMyFactions, autoInvocation, baseEnvStats, beneficialAffect, beneficialVisualFizzle, beneficialWordsFizzle, bubbleAffect, buildCostArray, canAffect, canAffect, canBeLearnedBy, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, castingQuality, castingQuality, castingTime, checkComponents, cloneFix, combatCastingTime, compareTo, copyOf, delBehavior, delEffect, delScript, description, destroy, disregardsArmorCheck, enchantQuality, envStats, executeMsg, experienceLevels, expertise, expirationDate, externalFiles, fetchBehavior, fetchBehavior, fetchEffect, fetchEffect, fetchScript, finalize, flags, getAnyTarget, getAnyTarget, getAnyTarget, getBeneficialTickdownTime, getCodeNum, getMaliciousTickdownTime, getSaveStatIndex, getStat, getStatCodes, getTarget, getTarget, getTarget, getTarget, getTickDownRemaining, getTickStatus, getX1Level, getX2Level, getX3Level, getX4Level, getX5Level, getXLEVELLevel, getXLOWCOSTLevel, getXMAXRANGELevel, getXPCOSTAdjustment, getXPCOSTLevel, getXTIMELevel, helpProficiency, image, initializeClass, invoke, invoker, isAutoInvoked, isGeneric, isNowAnAutoEffect, isStat, makeLongLasting, makeNonUninvokable, maliciousAffect, maliciousFizzle, maxRange, minCastWaitTime, minRange, miscTextFormat, Name, newInstance, numBehaviors, numEffects, numScripts, okMessage, overrideMana, possibleContainer, practice, practicesRequired, practicesToPractice, preInvoke, proficiency, proficiencyCheck, properTargets, putInCommandlist, rawImage, recoverEnvStats, requirements, sameAs, savable, setAffectedOne, setBaseEnvStats, setDescription, setDisplayText, setExpirationDate, setImage, setInvoker, setMiscText, setName, setProficiency, setSavable, setStat, setTickDownRemaining, somanticCastCode, somanticCastMask, spreadImmunity, startTickDown, teach, text, trainsRequired, verbalCastCode, verbalCastMask
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.ItemCraftor
craftAllItemsVectors, craftAllItemsVectors, craftAnyItem, craftItem, craftItem, fetchRecipes, 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, classificationCode, combatCastingTime, enchantQuality, externalFiles, flags, helpProficiency, invoke, invoker, isAutoInvoked, isNowAnAutoEffect, makeLongLasting, makeNonUninvokable, practice, practicesRequired, preInvoke, proficiency, proficiencyCheck, putInCommandlist, requirements, setAbilityCode, setAffectedOne, setInvoker, setProficiency, setSavable, startTickDown, teach, trainsRequired, usageCost, usageType
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
addEffect, addNonUninvokableEffect, amDestroyed, baseEnvStats, delEffect, description, destroy, displayText, envStats, expirationDate, fetchEffect, fetchEffect, image, isGeneric, maxRange, minRange, miscTextFormat, Name, numEffects, rawImage, recoverEnvStats, sameAs, savable, setBaseEnvStats, 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.CMObject
copyOf, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.StatsAffecting
affectCharState, affectCharStats, affectEnvStats
 
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.CMModifiable
getSaveStatIndex, getStat, getStatCodes, isStat, setStat
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Behavable
addBehavior, addScript, delBehavior, delScript, fetchBehavior, fetchBehavior, fetchScript, numBehaviors, numScripts
 

Field Detail

RCP_FINALFOOD

public static int RCP_FINALFOOD

RCP_FOODDRINK

public static int RCP_FOODDRINK

RCP_BONUSSPELL

public static int RCP_BONUSSPELL

RCP_LEVEL

public static int RCP_LEVEL

RCP_MAININGR

public static int RCP_MAININGR

RCP_MAINAMNT

public static int RCP_MAINAMNT

cooking

protected Container cooking

finalDishName

protected java.lang.String finalDishName

finalAmount

protected int finalAmount

finalRecipe

protected java.util.Vector finalRecipe

oldContents

protected java.util.Hashtable oldContents

defaultFoodSound

protected java.lang.String defaultFoodSound

defaultDrinkSound

protected java.lang.String defaultDrinkSound
Constructor Detail

Cooking

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

name

public java.lang.String name()
Description copied from interface: Environmental
The displayable name of this object. May be modified by envStats() object. Is derived from the Name().

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

triggerStrings

public java.lang.String[] triggerStrings()
Description copied from interface: Ability
A set of the command strings the user types to access this command when it is listed as a skill ability.

Specified by:
triggerStrings in interface Ability
Overrides:
triggerStrings in class GatheringSkill
Returns:
an array of command invoking string words
See Also:
Ability.putInCommandlist()

cookWordShort

public java.lang.String cookWordShort()

cookWord

public java.lang.String cookWord()

honorHerbs

public boolean honorHerbs()

requireFire

public boolean requireFire()

requireLid

public boolean requireLid()

supportedResourceString

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

parametersFormat

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

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

isMineForCooking

public boolean isMineForCooking(MOB mob,
                                Container cooking)

meetsLidRequirements

public boolean meetsLidRequirements(MOB mob,
                                    Container cooking)

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

parametersFile

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

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

loadRecipes

protected java.util.Vector 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()

contentsSame

public boolean contentsSame(java.util.Hashtable h1,
                            java.util.Hashtable h2)

potContents

public java.util.Hashtable potContents(Container pot)

countIngredients

public java.util.Vector countIngredients(java.util.Vector Vr)

extraIngredientsInOldContents

public java.util.Vector extraIngredientsInOldContents(java.util.Vector Vr)

missingIngredientsFromOldContents

public java.util.Vector missingIngredientsFromOldContents(java.util.Vector Vr)

homeCookValue

public int homeCookValue(MOB mob,
                         int multiplyer)

invoke

public boolean invoke(MOB mob,
                      java.util.Vector commands,
                      Environmental givenTarget,
                      boolean auto,
                      int asLevel)
Description copied from interface: Ability
This method is called when a player or the system invokes this skill, casts this spell, etc. Calls the more complete invoke method without an empty command strings vector unless target is non-null, in which case the vector will contain the name of the target.