com.planet_ink.coffee_mud.Abilities.Misc
Class ItemRejuv

java.lang.Object
  extended by com.planet_ink.coffee_mud.Abilities.StdAbility
      extended by com.planet_ink.coffee_mud.Abilities.Misc.ItemRejuv
All Implemented Interfaces:
Ability, ItemTicker, Behavable, CMModifiable, CMObject, Environmental, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>

public class ItemRejuv
extends StdAbility
implements ItemTicker


Field Summary
protected  java.util.Vector ccontents
           
protected  java.util.Vector contents
           
protected  Room myProperLocation
           
 
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
ItemRejuv()
           
 
Method Summary
 int abstractQuality()
          Returns a constant value notifying the system of the general quality of the skill, whether it is malicious, beneficial, indifferent, or qualifiably beneficial (ok), as well as whether it is intended to target the invoker (self) or others.
 java.lang.String accountForYourself()
          For use by the identify spell, this should return a nice description of any properties incorporated by this effect.
protected  int canAffectCode()
          Designates whether, when used as a property/effect, what sort of objects this ability can affect.
protected  int canTargetCode()
          Designates whether, when invoked as a skill, what sort of objects this ability can effectively target.
 java.lang.String displayText()
          Gets the raw string used to show what this object looks like in the room.
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 void loadContent(ItemTicker ticker, Item item, Room room)
           
 void loadMeUp(Item item, Room room)
          Registers the given item as being from the given room.
 java.lang.String name()
          The displayable name of this object.
 Room properLocation()
          Returns the room where this item belongs
 void setProperLocation(Room room)
          Sets the room where this item belongs
 boolean tick(Tickable ticking, int tickID)
          this is the method which is called periodically by the threading engine.
 void unloadIfNecessary(Item item)
          Removes the rejuvinating ticker from an item.
 void verifyFixContents()
           
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility
abilityCode, ableOk, ableSend, addBehavior, addedTickTime, 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, classificationCode, 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, iniPracticesRequired, iniPracticesToPractice, initializeClass, iniTrainsRequired, invoke, 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, setAbilityCode, setAffectedOne, setBaseEnvStats, setDescription, setDisplayText, setExpirationDate, setImage, setInvoker, setMiscText, setName, setProficiency, setSavable, setStat, setTickDownRemaining, somanticCastCode, somanticCastMask, spreadImmunity, startTickDown, teach, text, trainsRequired, triggerStrings, unInvoke, usageCost, usageType, 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.Ability
abilityCode, adjustedLevel, affecting, appropriateToMyFactions, autoInvocation, bubbleAffect, canAffect, canAffect, canBeLearnedBy, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, castingQuality, castingTime, classificationCode, combatCastingTime, enchantQuality, externalFiles, flags, helpProficiency, invoke, invoke, invoker, isAutoInvoked, isNowAnAutoEffect, makeLongLasting, makeNonUninvokable, practice, practicesRequired, preInvoke, proficiency, proficiencyCheck, putInCommandlist, requirements, setAbilityCode, setAffectedOne, setInvoker, setProficiency, setSavable, startTickDown, teach, trainsRequired, triggerStrings, unInvoke, usageCost, usageType
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
addEffect, addNonUninvokableEffect, amDestroyed, baseEnvStats, delEffect, description, destroy, 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

myProperLocation

protected Room myProperLocation

contents

protected java.util.Vector contents

ccontents

protected java.util.Vector ccontents
Constructor Detail

ItemRejuv

public ItemRejuv()
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 StdAbility
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 StdAbility
Returns:
the modified final name of this object on the map.
See Also:
Environmental.Name()

displayText

public java.lang.String displayText()
Description copied from interface: Environmental
Gets the raw string used to show what this object looks like in the room. May be used as a basis for other methods, such as the title of rooms, and what an exit looks like when open. The value for Items may be null if the item is not displayed when the room is seen.

Specified by:
displayText in interface Environmental
Overrides:
displayText in class StdAbility
Returns:
the string describing how this object looks in the room

canAffectCode

protected int canAffectCode()
Description copied from class: StdAbility
Designates whether, when used as a property/effect, what sort of objects this ability can affect. Uses the Ability.CAN_* constants.

Overrides:
canAffectCode in class StdAbility
Returns:
a mask showing the type of objects this ability can affect
See Also:
Ability

canTargetCode

protected int canTargetCode()
Description copied from class: StdAbility
Designates whether, when invoked as a skill, what sort of objects this ability can effectively target. Uses the Ability.CAN_* constants.

Overrides:
canTargetCode in class StdAbility
Returns:
a mask showing the type of objects this ability can target
See Also:
Ability

abstractQuality

public int abstractQuality()
Description copied from interface: Ability
Returns a constant value notifying the system of the general quality of the skill, whether it is malicious, beneficial, indifferent, or qualifiably beneficial (ok), as well as whether it is intended to target the invoker (self) or others. These constants are defined in the Ability interface and called QUALITY_*

Specified by:
abstractQuality in interface Ability
Overrides:
abstractQuality in class StdAbility
Returns:
Ability.QUALITY_* constant classification
See Also:
Ability

loadContent

public void loadContent(ItemTicker ticker,
                        Item item,
                        Room room)

properLocation

public Room properLocation()
Description copied from interface: ItemTicker
Returns the room where this item belongs

Specified by:
properLocation in interface ItemTicker
Returns:
a Room object

setProperLocation

public void setProperLocation(Room room)
Description copied from interface: ItemTicker
Sets the room where this item belongs

Specified by:
setProperLocation in interface ItemTicker
Parameters:
room - a room object

loadMeUp

public void loadMeUp(Item item,
                     Room room)
Description copied from interface: ItemTicker
Registers the given item as being from the given room. It will read the items envStats().rejuv() value and use it as an interval for checking to see if this item is no longer in its originating room. If so, it will create a copy of it in the originating room.

Specified by:
loadMeUp in interface ItemTicker
Parameters:
item - the item to rejuvinate
room - the room which the item is from

unloadIfNecessary

public void unloadIfNecessary(Item item)
Description copied from interface: ItemTicker
Removes the rejuvinating ticker from an item. This is done when a room is resetting its content, and this item is no longer to be used as a source for rejuvination.

Specified by:
unloadIfNecessary in interface ItemTicker

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

verifyFixContents

public void verifyFixContents()

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