com.planet_ink.coffee_mud.Items.Basic
Class LightSource
java.lang.Object
com.planet_ink.coffee_mud.Items.Basic.StdItem
com.planet_ink.coffee_mud.Items.Basic.LightSource
- All Implemented Interfaces:
- Affectable, Behavable, CMObject, Contingent, DBIdentifiable, Environmental, Modifiable, MsgListener, Physical, PhysicalAgent, Readable, Rider, StatsAffecting, Tickable, Item, Light, Wearable, java.lang.Cloneable, java.lang.Comparable<CMObject>
- Direct Known Subclasses:
- GenLightSource, Lantern, Torch
public class LightSource
- extends StdItem
- implements Light
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable |
Wearable.CODES |
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.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 |
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 |
Method Summary |
boolean |
destroyedWhenBurnedOut()
Gets whether this Light item automatically destroys itself after
it is lit, and then its duration runs out. |
void |
executeMsg(Environmental myHost,
CMMsg msg)
The general message event handler for the object. |
int |
getDuration()
Gets the duration, in ticks, that this light object will emit
light before stopping for whatever reason. |
boolean |
goesOutInTheRain()
Returns true if this particular light item is sensitive to rain
and nasty weather such that rain or water will cause it to stop
being lit. |
java.lang.String |
ID()
The CoffeeMud Java Class ID shared by all instances of
this object. |
static boolean |
inTheRain(Room room)
|
static boolean |
inTheWater(MOB mob,
Room room)
|
boolean |
isLit()
Gets whether this light item is presently emitting any light. |
void |
light(boolean isLit)
Sets whether this light item is presently emitting any light. |
boolean |
okMessage(Environmental myHost,
CMMsg msg)
The general message event previewer for the object. |
void |
recoverPhyStats()
This method copies the basePhyStats() object into the phyStats() object, then makes repeated calls to
all surrounding objects with affectPhyStats(Environmental,PhyStats) method. |
void |
setDestroyedWhenBurntOut(boolean truefalse)
Sets whether this Light item automatically destroys itself after
it is lit, and then its duration runs out. |
void |
setDuration(int duration)
Sets the duration, in ticks, that this light object will emit
light before stopping for whatever reason. |
boolean |
tick(Tickable ticking,
int tickID)
this is the method which is called periodically by the threading engine. |
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, getCodeNum, getSaveStatIndex, getStat, getStatCodes, getTickStatus, I, image, initializeClass, isGeneric, isReadable, isSavable, isStat, L, material, maxRange, minRange, miscTextFormat, name, Name, name, newInstance, numBehaviors, numberOfItems, numEffects, numScripts, owner, phyStats, rawImage, rawLogicalAnd, rawProperLocationBitmap, rawSecretIdentity, rawWornCode, readableText, recursiveWeight, removeFromOwnerContainer, riding, sameAs, scripts, secretIdentity, setBasePhyStats, setBaseValue, setContainer, setDatabaseID, setDescription, setDisplayText, setExpirationDate, setImage, setMaterial, setMiscText, setName, setOwner, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, setReadable, setReadableText, setRiding, setSavable, setSecretIdentity, setStat, setUsesRemaining, stopTicking, subjectToWearAndTear, tackOns, text, ultimateContainer, unWear, usesRemaining, value, 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.Items.interfaces.Item |
baseGoldValue, container, material, numberOfItems, owner, rawSecretIdentity, recursiveWeight, removeFromOwnerContainer, secretIdentity, setBaseValue, setContainer, setMaterial, setOwner, setSecretIdentity, setUsesRemaining, stopTicking, subjectToWearAndTear, ultimateContainer, usesRemaining, value |
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental |
description, displayText, expirationDate, image, isGeneric, L, maxRange, minRange, miscTextFormat, Name, rawImage, sameAs, setDescription, setDisplayText, setExpirationDate, setImage, setMiscText, setName, text |
Methods inherited from interface java.lang.Comparable |
compareTo |
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Affectable |
addEffect, addNonUninvokableEffect, basePhyStats, delAllEffects, delEffect, eachEffect, effects, fetchEffect, fetchEffect, numEffects, phyStats, setBasePhyStats |
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Behavable |
addBehavior, addScript, behaviors, delAllBehaviors, delAllScripts, delBehavior, delScript, eachBehavior, eachScript, fetchBehavior, fetchBehavior, fetchScript, numBehaviors, numScripts, scripts |
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 |
lit
protected boolean lit
durationTicks
protected int durationTicks
destroyedWhenBurnedOut
protected boolean destroyedWhenBurnedOut
goesOutInTheRain
protected boolean goesOutInTheRain
LightSource
public LightSource()
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 StdItem
- Returns:
- the name of this class
setDuration
public void setDuration(int duration)
- Description copied from interface:
Light
- Sets the duration, in ticks, that this light object will emit
light before stopping for whatever reason.
- Specified by:
setDuration
in interface Light
- Parameters:
duration
- the duration of the light source, in ticks.- See Also:
Light.getDuration()
getDuration
public int getDuration()
- Description copied from interface:
Light
- Gets the duration, in ticks, that this light object will emit
light before stopping for whatever reason.
- Specified by:
getDuration
in interface Light
- Returns:
- duration the duration of the light source, in ticks.
- See Also:
Light.setDuration(int)
destroyedWhenBurnedOut
public boolean destroyedWhenBurnedOut()
- Description copied from interface:
Light
- Gets whether this Light item automatically destroys itself after
it is lit, and then its duration runs out.
- Specified by:
destroyedWhenBurnedOut
in interface Light
- Returns:
- true if it is destroyed after use, false otherwise
- See Also:
Light.setDestroyedWhenBurntOut(boolean)
setDestroyedWhenBurntOut
public void setDestroyedWhenBurntOut(boolean truefalse)
- Description copied from interface:
Light
- Sets whether this Light item automatically destroys itself after
it is lit, and then its duration runs out.
- Specified by:
setDestroyedWhenBurntOut
in interface Light
- Parameters:
truefalse
- true if it is destroyed after use, false otherwise- See Also:
Light.destroyedWhenBurnedOut()
goesOutInTheRain
public boolean goesOutInTheRain()
- Description copied from interface:
Light
- Returns true if this particular light item is sensitive to rain
and nasty weather such that rain or water will cause it to stop
being lit.
- Specified by:
goesOutInTheRain
in interface Light
- Returns:
- true if it goes out in the rain
isLit
public boolean isLit()
- Description copied from interface:
Light
- Gets whether this light item is presently emitting any light.
- Specified by:
isLit
in interface Light
- Returns:
- true if it is lit and emitting light
- See Also:
Light.light(boolean)
light
public void light(boolean isLit)
- Description copied from interface:
Light
- Sets whether this light item is presently emitting any light.
- Specified by:
light
in interface Light
- Parameters:
isLit
- true if it is lit and emitting light- See Also:
Light.isLit()
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 StdItem
- Parameters:
myHost
- either the initiator of the event, or the host of this objectmsg
- the CMMsg that wants to be executed
- Returns:
- whether this message is allowed to execute
- See Also:
CMMsg
,
CMMsg.source()
recoverPhyStats
public void recoverPhyStats()
- Description copied from interface:
Affectable
- This method copies the basePhyStats() object into the phyStats() object, then makes repeated calls to
all surrounding objects with affectPhyStats(Environmental,PhyStats) method. Surrounding objects
include the room where the object is located, the Ability objects in the Effects list, the Behaviors
in the behaviors list, and race/charclass/area if applicable. Those methods will then make all necessary
adjustments to the values in the new phyStats() object. When it returns, phyStats() will have a totally
updated object. This method must be called in code whenever the object is placed on the map, or when
anything changes in its environment, such as location, effects, or other states.
- Specified by:
recoverPhyStats
in interface Affectable
- Overrides:
recoverPhyStats
in class StdItem
- See Also:
Affectable.basePhyStats()
,
Affectable.phyStats()
,
Affectable.addEffect(Ability)
,
Behavable.addBehavior(Behavior)
,
PhyStats
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 StdItem
- Parameters:
ticking
- a reference to this Tickable objecttickID
- 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
inTheRain
public static boolean inTheRain(Room room)
inTheWater
public static boolean inTheWater(MOB mob,
Room room)
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 StdItem
- Parameters:
myHost
- either the initiator of the event, or the host of this objectmsg
- the CMMsg that needs to be executed- See Also:
CMMsg