com.planet_ink.coffee_mud.MOBS
Class StdMOB

java.lang.Object
  extended by com.planet_ink.coffee_mud.MOBS.StdMOB
All Implemented Interfaces:
Behavable, CMModifiable, CMObject, Environmental, MsgListener, Rider, StatsAffecting, Tickable, MOB, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
AngryCitizen, Ape, Bee, BlackBear, BrownBear, Buffalo, Bugbear, Bull, Cat, Centaur, Cheetah, Chicken, Chimp, Citizen, Cobra, CommonBat, Cow, Deer, Dog, Doppleganger, Dragon, DrowElf, Duck, Falcon, FireGiant, Fox, GardenSnake, GenMob, GiantBat, GiantScorpion, Gnoll, Goblin, HeavenlyServent, HillGiant, InvisibleStalker, Jaguar, Kitten, LargeBat, Lizard, LizardMan, Minotaur, Monkey, Mouse, Ogre, Orc, Panther, Parakeet, Pig, Puppy, Python, Rabbit, Rat, Rattlesnake, Raven, Sheep, StdAuctioneer, StdDeity, StdRideable, StdShopKeeper, StoneGiant, StoneGolem, Teacher, Tiger, Troll, Turtle, UmberHulk, Undead, WildEagle, Wolf, Wyvern

public class StdMOB
extends java.lang.Object
implements MOB


Field Summary
protected  java.util.Vector abilities
           
protected  java.util.Vector affects
           
protected  long AgeHours
           
protected  int Alignment
           
protected  boolean amDead
           
protected  boolean amDestroyed
           
protected  MOB amFollowing
           
protected  int atRange
           
protected  int attributesBitmap
           
protected  CharStats baseCharStats
           
protected  EnvStats baseEnvStats
           
 CharState baseState
           
protected  java.util.Vector behaviors
           
protected  CharStats charStats
           
protected  java.lang.String clanID
           
protected  int clanRole
           
protected static java.lang.String[] CODES
           
protected  DVector commandQue
           
 CharState curState
           
protected  java.lang.String databaseID
           
protected  int DeityIndex
           
protected  byte[] description
           
protected  java.lang.String displayText
           
protected  EnvStats envStats
           
protected  int Experience
           
protected  java.util.Vector expertises
           
protected  java.util.Hashtable factions
           
protected  DVector followers
           
protected  java.lang.String imageName
           
protected  boolean imMobile
           
protected  java.util.Vector inventory
           
protected  boolean kickFlag
           
protected  Room lastLocation
           
protected  java.lang.String LiegeID
           
protected  Room location
           
 CharState maxState
           
protected  byte[] miscText
           
protected  int Money
           
protected  double moneyVariation
           
protected  Session mySession
           
protected  long peaceTime
           
protected  PlayerStats playerStats
           
protected  boolean pleaseDestroy
           
protected  int Practices
           
protected  int QuestPoint
           
protected  Rideable riding
           
protected  java.util.Vector scripts
           
protected  MOB soulMate
           
protected  Room startRoomPossibly
           
protected  java.util.Vector tattoos
           
protected  int tickCounter
           
protected  long tickStatus
           
protected  int Trains
           
 java.lang.String Username
           
protected  MOB victim
           
protected  int WimpHitPoint
           
protected  java.lang.String WorshipCharID
           
protected  java.lang.String[] xtraValues
           
 
Fields inherited from interface com.planet_ink.coffee_mud.MOBS.interfaces.MOB
ATT_ANSI, ATT_AUTOASSIST, ATT_AUTODRAW, ATT_AUTOEXITS, ATT_AUTOFORWARD, ATT_AUTOGOLD, ATT_AUTOGUARD, ATT_AUTOIMPROVE, ATT_AUTOLOOT, ATT_AUTOMELEE, ATT_AUTONOTIFY, ATT_AUTORUN, ATT_AUTOWEATHER, ATT_BRIEF, ATT_COMPRESS, ATT_DAILYMESSAGE, ATT_MXP, ATT_NOFOLLOW, ATT_NOTEACH, ATT_PLAYERKILL, ATT_QUIET, ATT_SOUND, ATT_SYSOPMSGS, AUTODESC, AUTOREV, SHEATH_TIME
 
Constructor Summary
StdMOB()
           
 
Method Summary
 double actions()
           
 void addAbility(Ability to)
          Manipulation of ability objects, which includes spells, traits, skills, etc.
 void addBehavior(Behavior to)
          Manipulation of Behavior objects, which includes movement, speech, spellcasting, etc, etc.
 void addEffect(Ability to)
          Add a new effect to this object, whether permanent or temporary.
 void addExpertise(java.lang.String of)
          Manipulation of the expertise list
 void addFaction(java.lang.String which, int start)
          Manipulation of the factions list
 void addFollower(MOB follower, int order)
          Manipulation of followers
 void addInventory(Item item)
           
 void addNonUninvokableEffect(Ability to)
          Same as addEffect(Ability), but will set the Ability object as never being able to be uninvoked.
 void addPriorityEffect(Ability to)
           
 void addScript(ScriptingEngine S)
          Manipulation of the scripts list
 void addTattoo(java.lang.String of)
          Manipulation of the tatoo list
 int adjustedArmor()
           
 int adjustedAttackBonus(MOB mob)
           
 int adjustedDamage(Weapon weapon, MOB target)
           
 void adjustFaction(java.lang.String which, int amount)
           
 void affectCharState(MOB affectedMob, CharState affectableMaxState)
          This method is called by the recoverCharState() method on other MOB objects.
 void affectCharStats(MOB affectedMob, CharStats affectableStats)
          This method is called by the recoverCharStats() method on other MOB objects.
 void affectEnvStats(Environmental affected, EnvStats affectableStats)
          This method is called by the recoverEnvStats() method on other Environmental objects.
 boolean amActive()
           
 boolean amDead()
          Combat and death
 boolean amDestroyed()
          Whether the destroy() method has been previousy called on this object.
 MOB amFollowing()
           
 MOB amUltimatelyFollowing()
           
 CharStats baseCharStats()
           
 EnvStats baseEnvStats()
          Object containing a set of base, unmodified, mostly numeric fields.
 CharState baseState()
           
 int baseWeight()
           
 void bringToLife()
           
 void bringToLife(Room newLocation, boolean resetStats)
           
protected  double calculateTickDelay(java.lang.Object command, java.util.Vector commands, double tickDelay)
           
 CharStats charStats()
           
protected  java.util.Vector cloneEffects()
           
protected  void cloneFix(MOB E)
           
 int commandQueSize()
           
 int compareTo(CMObject o)
           
 void confirmWearability()
           
 void copyFactions(MOB source)
           
 CMObject copyOf()
          Similar to Cloneable.clone(), but does its best to make sure that any internal objects to this class are also copyOfed.
 CharState curState()
           
 java.lang.String databaseID()
           
 void delAbility(Ability to)
           
 void delBehavior(Behavior to)
          Delete a behavior from this object.
 void delEffect(Ability to)
          Delete an effect from this object, whether permanent or temporary.
 void delExpertise(java.lang.String of)
           
 void delFollower(MOB follower)
           
 void delInventory(Item item)
           
 void delScript(ScriptingEngine S)
          Remove a running script from this object.
 void delTattoo(java.lang.String of)
           
 boolean dequeCommand()
           
 java.lang.String description()
          The basic description of this object, as shown when the item is directly LOOKed at.
 void destroy()
          Utterly and permanently destroy this object, not only removing it from the map, but causing this object to be collected as garbage by Java.
 java.lang.String displayName(MOB viewer)
           
 java.lang.String displayText()
          Gets the raw string used to show what this object looks like in the room.
 java.lang.String displayText(MOB viewer)
           
 void dispossess(boolean giveMsg)
           
protected  void doCommand(java.lang.Object O, java.util.Vector commands, int metaFlags)
           
 void doCommand(java.util.Vector commands, int metaFlags)
           
 void enqueCommand(java.util.Vector commands, int metaFlags, double tickDelay)
           
 EnvStats envStats()
          Object containing a set of current, modified, usable, mostly numeric fields.
 void executeMsg(Environmental myHost, CMMsg msg)
          The general message event handler for the object.
 long expirationDate()
          If this object expires, it should have a timestamp saying when it expires, in real time.
 Ability fetchAbility(int index)
           
 Ability fetchAbility(java.lang.String ID)
           
 Behavior fetchBehavior(int index)
          Returns a behavior object on this object.
 Behavior fetchBehavior(java.lang.String ID)
          Returns a behavior object listed on this object.
 Item fetchCarried(Item goodLocation, java.lang.String itemName)
           
 Ability fetchEffect(int index)
          Returns an ability object listed as an effect on this object.
 Ability fetchEffect(java.lang.String ID)
          Returns an ability object listed as an effect on this object.
 java.lang.String fetchExpertise(int x)
           
 java.lang.String fetchExpertise(java.lang.String of)
           
 int fetchFaction(java.lang.String which)
           
 java.util.Vector fetchFactionRanges()
           
 java.util.Enumeration fetchFactions()
           
 Item fetchFirstWornItem(long wornCode)
           
 MOB fetchFollower(int index)
           
 MOB fetchFollower(java.lang.String named)
           
 int fetchFollowerOrder(MOB thisOne)
           
 Item fetchFromInventory(Item goodLocation, java.lang.String itemName, int wornCode, boolean allowCoins, boolean respectLocationAndWornCode)
           
 Item fetchInventory(int index)
           
 Item fetchInventory(Item goodLocation, java.lang.String itemName)
           
 Item fetchInventory(java.lang.String itemName)
           
 ScriptingEngine fetchScript(int x)
          Retreive one of the enumerated scripts running on this object
 java.lang.String fetchTattoo(int x)
           
 java.lang.String fetchTattoo(java.lang.String of)
           
 Item fetchWieldedItem()
           
 Item fetchWornItem(java.lang.String itemName)
           
 java.util.Vector fetchWornItems(long wornCode, short aboveOrAroundLayer, short layerAttributes)
           
protected  void finalize()
           
 Ability findAbility(java.lang.String ID)
           
 void flagVariableEq()
          Manipulation of inventory, which includes held, worn, wielded, and contained items
 int freeWearPositions(long wornCode, short belowLayer, short layerAttributes)
           
 java.lang.String genericName()
           
 long getAgeHours()
           
 int getBitmap()
           
 java.lang.String getClanID()
           
 int getClanRole()
           
protected  int getCodeNum(java.lang.String code)
           
 int getExperience()
           
 int getExpNeededDelevel()
           
 int getExpNeededLevel()
           
 int getExpNextLevel()
           
 int getExpPrevLevel()
           
 java.lang.String getFactionListing()
           
 java.util.HashSet getGroupMembers(java.util.HashSet list)
           
 java.lang.String getLiegeID()
           
 int getMoney()
           
 double getMoneyVariation()
           
 Deity getMyDeity()
           
 int getPractices()
           
 int getQuestPoint()
           
 java.util.HashSet getRideBuddies(java.util.HashSet list)
           
 int getSaveStatIndex()
          Returns the index into the stat codes array where extra savable fields begins.
 Room getStartRoom()
           
 java.lang.String getStat(java.lang.String code)
          An alternative means of retreiving the values of those fields on this object which are modifiable at run-time by builders.
 java.lang.String[] getStatCodes()
          Returns an array of the string names of those fields which are modifiable on this object at run-time by builders.
 long getTickStatus()
          A coded status for this object during the period where its tick method is being called.
 int getTrains()
           
 MOB getVictim()
           
 int getWearPositions(long wornCode)
           
 int getWimpHitPoint()
           
 java.lang.String getWorshipCharID()
           
 void giveItem(Item thisContainer)
           
 boolean hasFaction(java.lang.String which)
           
 boolean hasOnlyGoldInInventory()
           
 java.lang.String healthText(MOB viewer)
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 java.lang.String image()
          Returns the fully qualified and determined name of the image file displayed for this object when MXP is used.
 void initializeClass()
          Called ONCE after all objects are loaded, but before the map is read in during initialization.
 int inventorySize()
           
 boolean isFollowedBy(MOB thisOne)
           
 boolean isGeneric()
          Whether the fields of this item are set in code, or set by builders.
 boolean isInCombat()
           
 boolean isMarriedToLiege()
           
 boolean isMine(Environmental env)
           
 boolean isMonster()
           
 boolean isPossessing()
           
 boolean isStat(java.lang.String code)
          An alternative means of retreiving the values of those fields on this object which are modifiable at run-time by builders.
 DeadBody killMeDead(boolean createBody)
           
 long lastTickedDateTime()
           
 Room location()
           
 void makePeace()
           
 int maxCarry()
           
 int maxFollowers()
           
 int maxItems()
           
 int maxRange()
          the maximum range of this object, if applicable.
 int maxRange(Environmental tool)
           
 CharState maxState()
           
 boolean mayIFight(MOB mob)
           
 boolean mayPhysicallyAttack(MOB mob)
           
 int minRange()
          the minimum range of this object, if applicable.
 int minRange(Environmental tool)
           
 java.lang.String miscTextFormat()
          Unimplemented as of yet, but will hold a string telling the system what the proper format of any miscText data.
 Weapon myNaturalWeapon()
           
 java.lang.String name()
          The displayable name of this object.
 java.lang.String Name()
          The raw unmodified name of this object as stored in the database.
 CMObject newInstance()
          Returns a new instance of this class.
 int numAbilities()
           
 int numAllEffects()
           
 int numBehaviors()
          The number of behaviors this object has.
 int numEffects()
          Returns the number of ability objects listed as effects on this object.
 int numExpertises()
           
 int numFollowers()
           
 int numLearnedAbilities()
           
 int numScripts()
          Return the number of scripts running on this object
 int numTattoos()
           
 boolean okMessage(Environmental myHost, CMMsg msg)
          The general message event previewer for the object.
 long peaceTime()
           
 PlayerStats playerStats()
          Some general statistics about MOBs.
 void prequeCommand(java.util.Vector commands, int metaFlags, double tickDelay)
           
protected  int processVariableEquipment()
           
 int rangeToTarget()
           
 java.lang.String rawImage()
          Returns the raw name of the image file to display for this object when MXP is used.
 void recoverCharStats()
           
 void recoverEnvStats()
          This method copies the baseEnvStats() object into the envStats() object, then makes repeated calls to all surrounding objects with affectEnvStats(Environmental,EnvStats) method.
 void recoverMaxState()
           
 void removeFaction(java.lang.String which)
           
 void removeFromGame(boolean preserveFollowers)
           
 void resetToMaxState()
           
 void resetVectors()
           
 Rideable riding()
          Returns the Rideable upon which this Rider is Riding.
 boolean sameAs(Environmental E)
          Whether this object instance is functionally identical to the object passed in.
 boolean savable()
          Whether, if this object is in a room, whether it is appropriate to save this object to the database as a permanent feature of its container.
 Session session()
          Whether a sessiob object is attached to this MOB
 void setActions(double remain)
           
 void setAgeHours(long newVal)