com.planet_ink.coffee_mud.Items.MiscMagic
Class GenMultiPotion

java.lang.Object
  extended by com.planet_ink.coffee_mud.Items.Basic.StdItem
      extended by com.planet_ink.coffee_mud.Items.Basic.StdContainer
          extended by com.planet_ink.coffee_mud.Items.Basic.StdDrink
              extended by com.planet_ink.coffee_mud.Items.Basic.GenDrink
                  extended by com.planet_ink.coffee_mud.Items.MiscMagic.GenMultiPotion
All Implemented Interfaces:
Affectable, Behavable, CloseableLockable, CMObject, Contingent, DBIdentifiable, Decayable, Drink, Environmental, Modifiable, MsgListener, Physical, PhysicalAgent, Readable, Rider, StatsAffecting, Tickable, Container, Item, MiscMagic, Potion, SpellHolder, Wearable, java.lang.Cloneable, java.lang.Comparable<CMObject>

public class GenMultiPotion
extends GenDrink
implements Potion


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
Wearable.CODES
 
Field Summary
 
Fields inherited from class com.planet_ink.coffee_mud.Items.Basic.GenDrink
readableText
 
Fields inherited from class com.planet_ink.coffee_mud.Items.Basic.StdDrink
amountOfLiquidHeld, amountOfLiquidRemaining, amountOfThirstQuenched, decayTime, disappearsAfterDrinking, liquidType
 
Fields inherited from class com.planet_ink.coffee_mud.Items.Basic.StdContainer
capacity, containType, defaultsClosed, defaultsLocked, hasALid, hasALock, isLocked, isOpen, openDelayTicks
 
Fields inherited from class com.planet_ink.coffee_mud.Items.Basic.StdItem
affectPhyStats, affects, baseGoldValue, basePhyStats, behaviors, cachedImageName, CODES, databaseID, description, destroyed, displayText, dispossessionTime, material, me, miscText, myContainer, myUses, myWornCode, name, owner, phyStats, properWornBitmap, rawImageName, riding, scripts, secretIdentity, tickCtr, tickStatus, wornLogicalAnd, xtraValues
 
Fields inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
DEFAULT_WORN_CODES, DEFAULT_WORN_DEPENDENCYGRID, DEFAULT_WORN_DESCS, DEFAULT_WORN_ORDER, DEFAULT_WORN_USUAL_NAMES, DEFAULT_WORN_WEIGHT_POINTS, DEFAULT_WORN_WEIGHTS, FILTER_ANY, FILTER_MOBINVONLY, FILTER_ROOMONLY, FILTER_UNWORNONLY, FILTER_WORNONLY, HIGHEST_WORN_CODE, IN_INVENTORY, WORN_ABOUT_BODY, WORN_ARMS, WORN_BACK, WORN_EARS, WORN_EYES, WORN_FEET, WORN_FLOATING_NEARBY, WORN_HANDS, WORN_HEAD, WORN_HELD, WORN_LEFT_FINGER, WORN_LEFT_WRIST, WORN_LEGS, WORN_MOUTH, WORN_NECK, WORN_RIGHT_FINGER, WORN_RIGHT_WRIST, WORN_TORSO, WORN_WAIST, WORN_WIELD
 
Fields inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Container
CONTAIN_ANYTHING, CONTAIN_BODIES, CONTAIN_CAGED, CONTAIN_CLOTHES, CONTAIN_COINS, CONTAIN_DAGGERS, CONTAIN_DESCS, CONTAIN_DRINKABLES, CONTAIN_EATABLES, CONTAIN_FOOTWEAR, CONTAIN_KEYS, CONTAIN_LIQUID, CONTAIN_ONEHANDWEAPONS, CONTAIN_OTHERWEAPONS, CONTAIN_RAWMATERIALS, CONTAIN_READABLES, CONTAIN_SCROLLS, CONTAIN_SMOKEABLES, CONTAIN_SSCOMPONENTS, CONTAIN_SWORDS
 
Constructor Summary
GenMultiPotion()
           
 
Method Summary
 void drinkIfAble(MOB owner, Physical drinkerTarget)
          Causes the potion to betow its effects upon the "drinkerTarget" at the behest of the owner mob.
 void executeMsg(Environmental myHost, CMMsg msg)
          The general message event handler for the object.
 java.lang.String getSpellList()
          Gets the list of abilities that this item contains as a semicolon-delimited list, with any spell arguments in parenthesis after the spell ID.
 java.util.List<Ability> getSpells()
          Returns the list of ability objects that this item contains.
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 boolean isDrunk()
          Gets whether the potion has been drunk.
 boolean isGeneric()
          Whether the fields of this item are set in code, or set by builders.
 boolean okMessage(Environmental myHost, CMMsg msg)
          The general message event previewer for the object.
 java.lang.String secretIdentity()
          This method returns the calculated and expanded description of the properties of the item as would be discovered through the Identify spell.
 void setDrunk(boolean isTrue)
          Sets whether the potion has been drunk.
 void setLiquidType(int newLiquidType)
          Sets the material type of the liquid in this container.
 void setReadableText(java.lang.String text)
          For things that are readable, this set the readable string for this thing.
 void setSpellList(java.lang.String list)
          Sets the list of abilities that this item contains as a semicolon-delimited list, with any spell arguments in parenthesis after the spell ID.
 int value()
          The default value of the item, represented in the base CoffeeMud currency.
 
Methods inherited from class com.planet_ink.coffee_mud.Items.Basic.GenDrink
getCodeNum, getStat, getStatCodes, keyName, liquidType, readableText, sameAs, setKeyName, setMiscText, setStat, text
 
Methods inherited from class com.planet_ink.coffee_mud.Items.Basic.StdDrink
amountTakenToFillMe, containsDrink, decayTime, disappearsAfterDrinking, liquidHeld, liquidRemaining, setDecayTime, setLiquidHeld, setLiquidRemaining, setThirstQuenched, thirstQuenched, totalDrinkContained
 
Methods inherited from class com.planet_ink.coffee_mud.Items.Basic.StdContainer
canContain, capacity, containTypes, defaultsClosed, defaultsLocked, emptyPlease, getContents, getDeepContents, hasADoor, hasALock, hasContent, isInside, isLocked, isOpen, numberOfItems, openDelayTicks, recursiveWeight, setCapacity, setContainTypes, setDoorsNLocks, setOpenDelayTicks, tick
 
Methods inherited from class com.planet_ink.coffee_mud.Items.Basic.StdItem
abilityImbuesMagic, addBehavior, addEffect, addNonUninvokableEffect, addScript, affectCharState, affectCharStats, affectPhyStats, alreadyWornMsg, amBeingWornProperly, amDestroyed, amWearingAt, baseGoldValue, basePhyStats, behaviors, canSaveDatabaseID, canWear, canWearComplete, cloneFix, compareProperLocations, compareTo, container, copyOf, databaseID, delAllBehaviors, delAllEffects, delAllScripts, delBehavior, delEffect, delScript, description, description, destroy, displayText, displayText, eachBehavior, eachEffect, eachScript, effects, expirationDate, fetchBehavior, fetchBehavior, fetchEffect, fetchEffect, fetchScript, fitsOn, getSaveStatIndex, getTickStatus, I, image, initializeClass, isReadable, isSavable, isStat, L, material, maxRange, minRange, miscTextFormat, name, Name, name, newInstance, numBehaviors, numEffects, numScripts, owner, phyStats, rawImage, rawLogicalAnd, rawProperLocationBitmap, rawSecretIdentity, rawWornCode, recoverPhyStats, removeFromOwnerContainer, riding, scripts, setBasePhyStats, setBaseValue, setContainer, setDatabaseID, setDescription, setDisplayText, setExpirationDate, setImage, setMaterial, setName, setOwner, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, setReadable, setRiding, setSavable, setSecretIdentity, setUsesRemaining, stopTicking, subjectToWearAndTear, tackOns, ultimateContainer, unWear, usesRemaining, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
 
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.core.interfaces.Drink
amountTakenToFillMe, containsDrink, disappearsAfterDrinking, liquidHeld, liquidRemaining, liquidType, setLiquidHeld, setLiquidRemaining, setThirstQuenched, thirstQuenched
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Decayable
decayTime, setDecayTime
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Item
baseGoldValue, container, material, numberOfItems, owner, rawSecretIdentity, recursiveWeight, removeFromOwnerContainer, setBaseValue, setContainer, setMaterial, setOwner, setSecretIdentity, setUsesRemaining, stopTicking, subjectToWearAndTear, ultimateContainer, usesRemaining
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Rider
riding, setRiding
 
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.DBIdentifiable
canSaveDatabaseID, databaseID, setDatabaseID
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
amBeingWornProperly, amWearingAt, canWear, compareProperLocations, fitsOn, rawLogicalAnd, rawProperLocationBitmap, rawWornCode, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, unWear, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Readable
isReadable, readableText, setReadable
 

Constructor Detail

GenMultiPotion

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

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 GenDrink
Returns:
whether this item is modifiable by builders
See Also:
Environmental.text()

isDrunk

public boolean isDrunk()
Description copied from interface: Potion
Gets whether the potion has been drunk.

Specified by:
isDrunk in interface Potion
Returns:
true if the potion has been drunk, false otherwise.
See Also:
Potion.setDrunk(boolean)

setLiquidType

public void setLiquidType(int newLiquidType)
Description copied from interface: Drink
Sets the material type of the liquid in this container. Although a class implementing the Drink interface can sometimes be a liquid itself (like GenLiquidResource), most often, a Drink interface implementing class is a mob without a material to draw from or an Item having its own non-liquid material (like a leather waterskin containing milk). Either way, this is necessary. The material types are constants in RawMaterial.

Specified by:
setLiquidType in interface Drink
Overrides:
setLiquidType in class GenDrink
Parameters:
newLiquidType - the type of liquid contained herein
See Also:
RawMaterial

setDrunk

public void setDrunk(boolean isTrue)
Description copied from interface: Potion
Sets whether the potion has been drunk.

Specified by:
setDrunk in interface Potion
Parameters:
isTrue - true if the potion has been drunk, false otherwise.
See Also:
Potion.isDrunk()

secretIdentity

public java.lang.String secretIdentity()
Description copied from interface: Item
This method returns the calculated and expanded description of the properties of the item as would be discovered through the Identify spell. It starts with its rawSecretIdentity() and adds to it any strings which the Ability objects contained in the Items effects list would generate. An empty string means the item has no secret properties per se.

Specified by:
secretIdentity in interface Item
Overrides:
secretIdentity in class StdItem
Returns:
a displayable string describing the secret properties of the item.

value

public int value()
Description copied from interface: Item
The default value of the item, represented in the base CoffeeMud currency. This method starts with baseGoldValue, which is a user-entered value, and adjusts according to magical enhancements and the condition of the item.

Specified by:
value in interface Item
Overrides:
value in class StdItem
Returns:
the adjusted value of the item in the base currency.

getSpellList

public java.lang.String getSpellList()
Description copied from interface: SpellHolder
Gets the list of abilities that this item contains as a semicolon-delimited list, with any spell arguments in parenthesis after the spell ID.

Specified by:
getSpellList in interface SpellHolder
Returns:
the list of ability names semicolon delimited
See Also:
SpellHolder.setSpellList(String)

setSpellList

public void setSpellList(java.lang.String list)
Description copied from interface: SpellHolder
Sets the list of abilities that this item contains as a semicolon-delimited list, with any spell arguments in parenthesis after the spell ID.

Specified by:
setSpellList in interface SpellHolder
Parameters:
list - the list of ability names semicolon delimited
See Also:
SpellHolder.getSpellList()

getSpells

public java.util.List<Ability> getSpells()
Description copied from interface: SpellHolder
Returns the list of ability objects that this item contains.

Specified by:
getSpells in interface SpellHolder
Returns:
the list of ability objects that this item contains
See Also:
SpellHolder.getSpellList(), SpellHolder.setSpellList(String)

setReadableText

public void setReadableText(java.lang.String text)
Description copied from interface: Readable
For things that are readable, this set the readable string for this thing. That is to say, what the player sees when they read the door.

Specified by:
setReadableText in interface Readable
Overrides:
setReadableText in class GenDrink
Parameters:
text - the readable text
See Also:
Readable.isReadable(), Readable.setReadable(boolean), Readable.readableText()

drinkIfAble

public void drinkIfAble(MOB owner,
                        Physical drinkerTarget)
Description copied from interface: Potion
Causes the potion to betow its effects upon the "drinkerTarget" at the behest of the owner mob. The two are different because one person can make another person drink, if they must.

Specified by:
drinkIfAble in interface Potion
Parameters:
owner - the holder of the potion
drinkerTarget - the one drinking the potion

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

executeMsg

public void executeMsg(Environmental myHost,
                       CMMsg msg)
Description copied from interface: MsgListener
The general message event handler for the object. Messages passed herein may not necessarily be FOR this object, or from it, but will almost always represent events happening in the same room. The messages have already been through an approval process, so this method is called only to affect the final execution of the meaning of the message. Every game event goes through these methods.

Specified by:
executeMsg in interface MsgListener
Overrides:
executeMsg in class StdDrink
Parameters:
myHost - either the initiator of the event, or the host of this object
msg - the CMMsg that needs to be executed
See Also:
CMMsg