com.planet_ink.coffee_mud.Abilities.Properties
Class Prop_HaveAdjuster

java.lang.Object
  extended by com.planet_ink.coffee_mud.Abilities.Properties.Property
      extended by com.planet_ink.coffee_mud.Abilities.Properties.Prop_HaveAdjuster
All Implemented Interfaces:
Ability, Behavable, CMModifiable, CMObject, Environmental, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
Prop_Adjuster, Prop_HereAdjuster, Prop_RideAdjuster, Prop_WearAdjuster

public class Prop_HaveAdjuster
extends Property


Field Summary
protected  java.lang.Object[] charStateChanges
           
protected  java.lang.Object[] charStatsChanges
           
protected  java.lang.Object[] envStatsChanges
           
protected  java.util.Vector mask
           
 
Fields inherited from class com.planet_ink.coffee_mud.Abilities.Properties.Property
affected, amDestroyed, empty, envStats, miscText, savable
 
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
Prop_HaveAdjuster()
           
 
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.
 boolean addIfPlussed(java.lang.String newText, java.lang.String parm, int parmCode, java.util.Vector addTo)
           
 void adjCharState(java.lang.Object[] changes, CharState charState)
           
 void adjCharStats(java.lang.Object[] changes, CharStats charStats)
           
 void affectCharState(MOB affectedMOB, CharState affectedState)
          This method is called by the recoverCharState() method on other MOB objects.
 void affectCharStats(MOB affectedMOB, CharStats affectedStats)
          This method is called by the recoverCharStats() method on other MOB objects.
 void affectEnvStats(Environmental host, EnvStats affectableStats)
          This method is called by the recoverEnvStats() method on other Environmental objects.
 boolean bubbleAffect()
          This method is used to modify the behavior of the affectEnvStats, affectCharStats, and affectCharState methods.
protected  int canAffectCode()
          Designates whether, when used as a property/effect, what sort of objects this ability can affect.
 boolean canApply(Environmental E)
           
 boolean canApply(MOB mob)
           
protected  void ensureStarted()
           
 void envStuff(java.lang.Object[] changes, EnvStats envStats)
           
 java.lang.String fixAccoutingsWithMask(java.lang.String id)
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 java.lang.Object[] makeObjectArray(java.util.Vector V)
           
 java.lang.String name()
          The displayable name of this object.
 void setMiscText(java.lang.String newText)
          For objects which have false for their isGeneric method, this is used to set any internally coded strings to change the nature or behavior of the object.
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.Properties.Property
abilityCode, abstractQuality, addBehavior, addEffect, addNonUninvokableEffect, addScript, adjustedLevel, affecting, amDestroyed, appropriateToMyFactions, autoInvocation, baseEnvStats, buildMask, canAffect, canAffect, canBeLearnedBy, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, canTargetCode, castingQuality, castingTime, classificationCode, combatCastingTime, compareTo, copyOf, delBehavior, delEffect, delScript, description, destroy, displayText, enchantQuality, envStats, executeMsg, expirationDate, externalFiles, fetchBehavior, fetchBehavior, fetchEffect, fetchEffect, fetchScript, finalize, flags, getCodeNum, getSaveStatIndex, getStat, getStatCodes, getTickStatus, helpProficiency, image, initializeClass, invoke, invoke, invoker, isAutoInvoked, isGeneric, isNowAnAutoEffect, isStat, makeLongLasting, makeNonUninvokable, maxRange, minRange, miscTextFormat, Name, newInstance, numBehaviors, numEffects, numScripts, okMessage, practice, practicesRequired, preInvoke, proficiency, proficiencyCheck, putInCommandlist, rawImage, recoverEnvStats, requirements, sameAs, savable, separateMask, setAbilityCode, setAffectedOne, setBaseEnvStats, setDescription, setDisplayText, setExpirationDate, setImage, setInvoker, setName, setProficiency, setSavable, setStat, startTickDown, teach, text, tick, trainsRequired, triggerStrings, unInvoke, usageCost, usageType
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

charStatsChanges

protected java.lang.Object[] charStatsChanges

charStateChanges

protected java.lang.Object[] charStateChanges

envStatsChanges

protected java.lang.Object[] envStatsChanges

mask

protected java.util.Vector mask
Constructor Detail

Prop_HaveAdjuster

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

canAffectCode

protected int canAffectCode()
Description copied from class: Property
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 Property
Returns:
a mask showing the type of objects this ability can affect
See Also:
Ability

bubbleAffect

public boolean bubbleAffect()
Description copied from interface: Ability
This method is used to modify the behavior of the affectEnvStats, affectCharStats, and affectCharState methods. If this returns true, then those methods will be called only on the owner/mob of the item currently being affected by this skill. If false, those methods behave normally.

Specified by:
bubbleAffect in interface Ability
Overrides:
bubbleAffect in class Property
Returns:
whether this skill affects a mob owner of an item
See Also:
Item.owner()

addIfPlussed

public boolean addIfPlussed(java.lang.String newText,
                            java.lang.String parm,
                            int parmCode,
                            java.util.Vector addTo)

makeObjectArray

public java.lang.Object[] makeObjectArray(java.util.Vector V)

setMiscText

public void setMiscText(java.lang.String newText)
Description copied from interface: Environmental
For objects which have false for their isGeneric method, this is used to set any internally coded strings to change the nature or behavior of the object. For objects which have true for their isGeneric method, this is used to set and parse the XML which will be used to fill out the fields in this object. Since Ability objects are never Generic, this will always be where parameters are read from an Ability instance.

Specified by:
setMiscText in interface Environmental
Overrides:
setMiscText in class Property
Parameters:
newText - either an open internal text string, or XML

envStuff

public void envStuff(java.lang.Object[] changes,
                     EnvStats envStats)

canApply

public boolean canApply(MOB mob)

canApply

public boolean canApply(Environmental E)

ensureStarted

protected void ensureStarted()

affectEnvStats

public void affectEnvStats(Environmental host,
                           EnvStats affectableStats)
Description copied from interface: StatsAffecting
This method is called by the recoverEnvStats() method on other Environmental objects. It is used to transform the Environmental baseEnvStats() object into a finished envStats() object, both of which are objects implementing the EnvStats interface. See those methods for more information.

Specified by:
affectEnvStats in interface StatsAffecting
Overrides:
affectEnvStats in class Property
Parameters:
host - the host of the EnvStats object being affected
affectableStats - the particular EnvStats object being affected
See Also:
EnvStats, Environmental, Environmental.baseEnvStats(), Environmental.envStats(), Environmental.recoverEnvStats()

adjCharStats

public void adjCharStats(java.lang.Object[] changes,
                         CharStats charStats)

adjCharState

public void adjCharState(java.lang.Object[] changes,
                         CharState charState)

affectCharStats

public void affectCharStats(MOB affectedMOB,
                            CharStats affectedStats)
Description copied from interface: StatsAffecting
This method is called by the recoverCharStats() method on other MOB objects. It is used to transform the MOB baseCharStats() object into a finished charStats() object, both of which are objects implementing the CharStats interface. See those methods for more information.

Specified by:
affectCharStats in interface StatsAffecting
Overrides:
affectCharStats in class Property
Parameters:
affectedMOB - the host of the CharStats object being affected
affectedStats - the particular CharStats object being affected
See Also:
CharStats, MOB, MOB.baseCharStats(), MOB.charStats(), MOB.recoverCharStats()

affectCharState

public void affectCharState(MOB affectedMOB,
                            CharState affectedState)
Description copied from interface: StatsAffecting
This method is called by the recoverCharState() method on other MOB objects. It is used to transform the MOB baseCharState() object into a finished charState() object, both of which are objects implementing the CharState interface. See those methods for more information.

Specified by:
affectCharState in interface StatsAffecting
Overrides:
affectCharState in class Property
Parameters:
affectedMOB - the host of the CharState object being affected
affectedState - the particular CharState object being affected
See Also:
CharState, MOB, MOB.baseState(), MOB.curState(), MOB.recoverMaxState()

fixAccoutingsWithMask

public java.lang.String fixAccoutingsWithMask(java.lang.String id)

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 Property
Returns:
a description of properties incorporated