com.planet_ink.coffee_mud.Races
Class StdRace

java.lang.Object
  extended by com.planet_ink.coffee_mud.Races.StdRace
All Implemented Interfaces:
CMModifiable, CMObject, MsgListener, StatsAffecting, Tickable, Race, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
AirElemental, Animal, Arachnid, Avariel, Bat, Bear, Beholder, Bird, Bullywug, Cat, Centaur, Centipede, Chicken, Cow, Deer, Dog, Doll, Draconian, Dragon, Dryad, Dwarf, EarthElemental, ElectricityElemental, Elf, Equine, FaerieDragon, Fido, FireElemental, Fish, Fox, Frog, GenRace, Giant, GiantAnimal, GiantInsect, GiantLizard, GiantScorpion, GiantSpider, GiantTurtle, GiantWorm, Gnoll, Gnome, Goblin, Grasshopper, GreatAmphibian, GreatBird, GreatCat, GreatLizard, HalfElf, Halfling, Hobgoblin, Human, Humanoid, Insect, Kobold, Lizard, LizardMan, ManScorpion, MetalGolem, Mold, Monkey, Moose, Nymph, Orc, Owl, Pachyderm, Pig, Rabbit, Raven, Rodent, Scarab, SchoolMonster, Scorpion, Shambler, Sheep, SmallElfKin, Smurf, Snake, SongBird, Spider, Stone, StoneGolem, Svirfneblin, Tarantula, Toadstool, TreeGolem, Troll, Tumbleweed, Turtle, UmberHulk, Undead, Unicorn, Unique, Vine, WaterElemental, WaterFowl, Wemic, WereAmphibian, WereAnimal, Wolf, WoodGolem, Worm, Wyvern

public class StdRace
extends java.lang.Object
implements Race


Field Summary
protected static java.lang.String[] CODES
           
protected static java.util.Vector empty
           
protected  boolean mappedCulturalAbilities
           
protected  Weapon naturalWeapon
           
protected  java.util.Vector naturalWeaponChoices
           
protected  java.util.Vector outfitChoices
           
protected  java.util.Hashtable racialAbilityMap
           
protected  java.util.Hashtable racialEffectMap
           
 
Fields inherited from interface com.planet_ink.coffee_mud.Races.interfaces.Race
AGE_ANCIENT, AGE_CHILD, AGE_DESCS, AGE_INFANT, AGE_MATURE, AGE_MIDDLEAGED, AGE_OLD, AGE_TODDLER, AGE_VENERABLE, AGE_YOUNGADULT, BODY_ANTENEA, BODY_ARM, BODY_EAR, BODY_EYE, BODY_FOOT, BODY_GILL, BODY_HAND, BODY_HEAD, BODY_LEG, BODY_MOUTH, BODY_NECK, BODY_NOSE, BODY_PARTS, BODY_TAIL, BODY_TORSO, BODY_WAIST, BODY_WEARGRID, BODY_WEARVECTOR, BODY_WING, BODYPARTHASH, BODYPARTSTR, GENFLAG_DESCS, GENFLAG_NOCHARM, GENFLAG_NOCLASS, GENFLAG_NOEXP, GENFLAG_NOFERTILE, GENFLAG_NOLEVELS
 
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
StdRace()
           
 
Method Summary
 int adjustExperienceGain(MOB host, MOB mob, MOB victim, int amount)
          Whenever a player or mob of this race gains experience, this method gets a chance to modify the amount before the gain actually occurs.
 void affectCharState(MOB affectedMob, CharState affectableMaxState)
          This method is called by the recoverCharState() method on other MOB objects.
 void affectCharStats(MOB affectedMob, CharStats charStats)
          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.
 void agingAffects(MOB mob, CharStats baseStats, CharStats charStats)
          Apply any affects of the given mob at the given age to the given base and/or current char stats.
 java.lang.String arriveStr()
          Returns the string describing what folks see when a member of this race enters a room.
 int availabilityCode()
          Returns one or a combination of the Area.THEME_* constants from the Area interface.
 int[] bodyMask()
          Returns an array indexed by body part codes as defined by the BODY_* constants in the Race interface.
 boolean classless()
          Whether this race can be associated with a character class.
 int compareTo(CMObject o)
           
 CMObject copyOf()
          Similar to Cloneable.clone(), but does its best to make sure that any internal objects to this class are also copyOfed.
 DVector culturalAbilities()
          Return a vector of skills, spells, and other ability ids granted to the given mob when they are created as this race.
protected  java.lang.String[] culturalAbilityNames()
           
protected  int[] culturalAbilityProficiencies()
           
protected  boolean destroyBodyAfterUse()
           
 void executeMsg(Environmental myHost, CMMsg msg)
          The general message event handler for the object.
 boolean expless()
          Whether players of this race can gain or lose experience points.
 boolean fertile()
          Whether this race, generally speaking, can procreate.
 long forbiddenWornBits()
          A bitmap showing which on locations a member of this race can not wear clothing, even if the members have one or more of the required limbs.
protected  Weapon funHumanoidWeapon()
           
 int[] getAgingChart()
          Returns an integer array equal in size and index to the Race.AGE_* constants in the Race interface.
protected  int getCodeNum(java.lang.String code)
           
 DeadBody getCorpseContainer(MOB mob, Room room)
          Returns the corpse of a member of this race, populates it with the equipment of the given mob, and places it in the given room.
 int getSaveStatIndex()
          Returns the index into the stat codes array where extra savable fields begins.
 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.
 Race healthBuddy()
           
 java.lang.String healthText(MOB viewer, MOB mob)
          Returns a description of the given mobs description, by consulting the mobs curState().getHitPoints method.
 int heightVariance()
          The amount from 0-this to add to the minimum height to achieve a random height.
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 void initializeClass()
          Called ONCE after all objects are loaded, but before the map is read in during initialization.
 boolean isGeneric()
          Whether this race object represents a Generic Race, or one which is modifiable by builders at run-time.
 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.
 java.lang.String leaveStr()
          Returns the string describing what folks see when a member of this race leaves a room.
 void level(MOB mob, java.util.Vector gainedAbilityIDs)
          This method is called whenever a player gains a level while a member of this race.
 boolean leveless()
          Whether players of this race can be associated with an experience level.
 int lightestWeight()
          The lightest weight for a member of this race
 Race makeGenRace()
          Converts this race to a generic race (if it isn't already) and returns it.
protected  Item makeResource(java.lang.String name, int type)
           
 Race mixRace(Race race, java.lang.String newRaceID, java.lang.String newRaceName)
          Converts this race to a generic race (if it isn't already) and mixes its attributes with the race passed it.
 Weapon myNaturalWeapon()
          Returns a Weapon object representing what a member of this race fights with when unarmed.
 java.util.Vector myResources()
          Returns a Vector of RawMaterial objects (usually GenFoodResource, GenLiquidResource, or GenResource items) representing what is left over of a member of this race after they've been butchered and cut up.
 java.lang.String name()
          The nice displayable name of this instance of this object
 CMObject newInstance()
          Returns a new instance of this class.
 boolean okMessage(Environmental myHost, CMMsg msg)
          The general message event previewer for the object.
 java.util.Vector outfit(MOB myChar)
          Returns a vector of Item objects representing the standard clothing, weapons, or other objects commonly given to players of this race just starting out.
protected  int practicesAtFirstLevel()
           
 java.util.Vector racialAbilities(MOB mob)
          Return a vector of skills, spells, and other abilities granted to the given mob of the given mobs level.
protected  int[] racialAbilityLevels()
           
protected  java.lang.String[] racialAbilityNames()
           
protected  int[] racialAbilityProficiencies()
           
protected  boolean[] racialAbilityQuals()
           
 java.lang.String racialCategory()
          Which racial category this race falls in.
protected  int[] racialEffectLevels()
           
protected  java.lang.String[] racialEffectNames()
           
protected  java.lang.String[] racialEffectParms()
           
 java.util.Vector racialEffects(MOB mob)
          Return a vector of skills, spells, and other abilities granted to the given mob of the given mobs level.
 java.lang.String racialParms()
          If this race is modifiable at run time, this method will return an xml document describing the several attributes of this race.
 boolean sameAs(Race E)
           
 void setHeightWeight(EnvStats stats, char gender)
          Will initialize a player or mobs height and weight based on this races parameters.
 void setRacialParms(java.lang.String parms)
          If this race is modifiable at run time, this method will use the given xml document describing the several attributes of this race to populate this races fields and attributes.
 void setStat(java.lang.String code, java.lang.String val)
          An alternative means of setting the values of those fields on this object which are modifiable at run-time by builders.
 int shortestFemale()
          The minimum height of females of this race.
 int shortestMale()
          The minimum height of males of this race.
 void startRacing(MOB mob, boolean verifyOnly)
          After a mob is set or changed to a new race, this method should be called to finalize or initialize any settings from this race.
 boolean tick(Tickable myChar, int tickID)
          this is the method which is called periodically by the threading engine.
protected  int trainsAtFirstLevel()
           
protected  boolean uncharmable()
           
 int weightVariance()
          The amount from 0-this to add to the minumum weight to achieve a random weight.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

empty

protected static final java.util.Vector empty

naturalWeapon

protected Weapon naturalWeapon

naturalWeaponChoices

protected java.util.Vector naturalWeaponChoices

outfitChoices

protected java.util.Vector outfitChoices

racialEffectMap

protected java.util.Hashtable racialEffectMap

racialAbilityMap

protected java.util.Hashtable racialAbilityMap

mappedCulturalAbilities

protected boolean mappedCulturalAbilities

CODES

protected static java.lang.String[] CODES
Constructor Detail

StdRace

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

name

public java.lang.String name()
Description copied from interface: Tickable
The nice displayable name of this instance of this object

Specified by:
name in interface Tickable
Specified by:
name in interface Race
Returns:
the displayable name of this object instance

practicesAtFirstLevel

protected int practicesAtFirstLevel()

trainsAtFirstLevel

protected int trainsAtFirstLevel()

shortestMale

public int shortestMale()
Description copied from interface: Race
The minimum height of males of this race.

Specified by:
shortestMale in interface Race
Returns:
minimum height of males in inches

shortestFemale

public int shortestFemale()
Description copied from interface: Race
The minimum height of females of this race.

Specified by:
shortestFemale in interface Race
Returns:
minimum height of females in inches

heightVariance

public int heightVariance()
Description copied from interface: Race
The amount from 0-this to add to the minimum height to achieve a random height.

Specified by:
heightVariance in interface Race
Returns:
a range of inches to add to the mimiumum height

lightestWeight

public int lightestWeight()
Description copied from interface: Race
The lightest weight for a member of this race

Specified by:
lightestWeight in interface Race
Returns:
the lightest weight for something of this race

weightVariance

public int weightVariance()
Description copied from interface: Race
The amount from 0-this to add to the minumum weight to achieve a random weight.

Specified by:
weightVariance in interface Race
Returns:
a range of pounds to add to the minimum weight

forbiddenWornBits

public long forbiddenWornBits()
Description copied from interface: Race
A bitmap showing which on locations a member of this race can not wear clothing, even if the members have one or more of the required limbs. The bitmap is made from Item.WORN_* constant values.

Specified by:
forbiddenWornBits in interface Race
Returns:
the illegal wear location bitmap
See Also:
Item

racialCategory

public java.lang.String racialCategory()
Description copied from interface: Race
Which racial category this race falls in.

Specified by:
racialCategory in interface Race
Returns:
racial category

isGeneric

public boolean isGeneric()
Description copied from interface: Race
Whether this race object represents a Generic Race, or one which is modifiable by builders at run-time.

Specified by:
isGeneric in interface Race
Returns:
whether this race is modifiable at run-time.

classless

public boolean classless()
Description copied from interface: Race
Whether this race can be associated with a character class.

Specified by:
classless in interface Race
Returns:
whether this race can have a class
See Also:
CharClass

leveless

public boolean leveless()
Description copied from interface: Race
Whether players of this race can be associated with an experience level.

Specified by:
leveless in interface Race
Returns:
whether players of this race can have a level

expless

public boolean expless()
Description copied from interface: Race
Whether players of this race can gain or lose experience points.

Specified by:
expless in interface Race
Returns:
whether players of this race can gain or lose experience points

bodyMask

public int[] bodyMask()
Description copied from interface: Race
Returns an array indexed by body part codes as defined by the BODY_* constants in the Race interface. Each value is either -1 to show that the body part does not apply, 0 to show that the body part is not found on this race, and 1 or more to show how many of that part this race normally has.

Specified by:
bodyMask in interface Race
Returns:
an array of body parts

newInstance

public CMObject newInstance()
Description copied from interface: CMObject
Returns a new instance of this class.

Specified by:
newInstance in interface CMObject
Returns:
a new instance of this class

initializeClass

public void initializeClass()
Description copied from interface: CMObject
Called ONCE after all objects are loaded, but before the map is read in during initialization.

Specified by:
initializeClass in interface CMObject

getAgingChart

public int[] getAgingChart()
Description copied from interface: Race
Returns an integer array equal in size and index to the Race.AGE_* constants in the Race interface. Each value in the index represents the first mudyear age of that age category.

Specified by:
getAgingChart in interface Race
Returns:
an integer array mapping ages to age categories
See Also:
Race

racialEffectNames

protected java.lang.String[] racialEffectNames()

racialEffectLevels

protected int[] racialEffectLevels()

racialEffectParms

protected java.lang.String[] racialEffectParms()

racialAbilityNames

protected java.lang.String[] racialAbilityNames()

racialAbilityLevels

protected int[] racialAbilityLevels()

racialAbilityProficiencies

protected int[] racialAbilityProficiencies()

racialAbilityQuals

protected boolean[] racialAbilityQuals()

culturalAbilityNames

protected java.lang.String[] culturalAbilityNames()

culturalAbilityProficiencies

protected int[] culturalAbilityProficiencies()

uncharmable

protected boolean uncharmable()

destroyBodyAfterUse

protected boolean destroyBodyAfterUse()

availabilityCode

public int availabilityCode()
Description copied from interface: Race
Returns one or a combination of the Area.THEME_* constants from the Area interface. This bitmap then describes the types of areas, skills, and classes which can interact. This bitmap is also used to to tell whether the race is available for selection by users at char creation time, whether they can change to this race via spells, or whether the race is utterly unavailable to them.

Specified by:
availabilityCode in interface Race
Returns:
the availability/theme of this race
See Also:
Area

fertile

public boolean fertile()
Description copied from interface: Race
Whether this race, generally speaking, can procreate.

Specified by:
fertile in interface Race
Returns:
whether this race is capable of procreating

copyOf

public CMObject copyOf()
Description copied from interface: CMObject
Similar to Cloneable.clone(), but does its best to make sure that any internal objects to this class are also copyOfed.

Specified by:
copyOf in interface CMObject
Returns:
a clone of this object

healthBuddy

public Race healthBuddy()

affectEnvStats

public void affectEnvStats(Environmental affected,
                           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
Parameters:
affected - 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()

affectCharStats

public void affectCharStats(MOB affectedMob,
                            CharStats charStats)
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
Parameters:
affectedMob - the host of the CharStats object being affected
charStats - the particular CharStats object being affected
See Also:
CharStats, MOB, MOB.baseCharStats(), MOB.charStats(), MOB.recoverCharStats()

agingAffects

public void agingAffects(MOB mob,
                         CharStats baseStats,
                         CharStats charStats)
Description copied from interface: Race
Apply any affects of the given mob at the given age to the given base and/or current char stats.

Specified by:
agingAffects in interface Race
Parameters:
mob - the mob to apply changes to
baseStats - permanent charstats changes
charStats - temporary charstats changes
See Also:
CharState

affectCharState

public void affectCharState(MOB affectedMob,
                            CharState affectableMaxState)
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
Parameters:
affectedMob - the host of the CharState object being affected
affectableMaxState - the particular CharState object being affected
See Also:
CharState, MOB, MOB.baseState(), MOB.curState(), MOB.recoverMaxState()

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

arriveStr

public java.lang.String arriveStr()
Description copied from interface: Race
Returns the string describing what folks see when a member of this race enters a room. Should give an idea of the gate or walking style of this race.

Specified by:
arriveStr in interface Race
Returns:
what people see what this race enters a room

leaveStr

public java.lang.String leaveStr()
Description copied from interface: Race
Returns the string describing what folks see when a member of this race leaves a room. Should give an idea of the gate or walking style of this race.

Specified by:
leaveStr in interface Race
Returns:
what people see what this race leaves a room

level

public void level(MOB mob,
                  java.util.Vector gainedAbilityIDs)
Description copied from interface: Race
This method is called whenever a player gains a level while a member of this race. If there are any special things which need to be done to a player who gains a level, they can be done in this method. By default, it doesn't do anything.

Specified by:
level in interface Race
Parameters:
mob - the mob to level up
gainedAbilityIDs - the set of abilities/skill IDs gained during this leveling process

adjustExperienceGain

public int adjustExperienceGain(MOB host,
                                MOB mob,
                                MOB victim,
                                int amount)
Description copied from interface: Race
Whenever a player or mob of this race gains experience, this method gets a chance to modify the amount before the gain actually occurs.

Specified by:
adjustExperienceGain in interface Race
Parameters:
host - the player or mob whose race object this is
mob - the player or mob gaining experience
victim - if applicable, the mob or player who died to give the exp
amount - the amount of exp on track for gaining
Returns:
the adjusted amount of experience to gain

getTickStatus

public long getTickStatus()
Description copied from interface: Tickable
A coded status for this object during the period where its tick method is being called. The statis is defined, at least in part, by constants in this interface STATUS_*. STATUS_NOT should be returned when the objects tick method is not currently in execution. It should never return STATUS_NOT when the objects tick method is in execution.

Specified by:
getTickStatus in interface Tickable
Returns:
the numeric status of this object
See Also:
Tickable.tick(Tickable, int)

tick

public boolean tick(Tickable myChar,
                    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
Parameters:
myChar - 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

startRacing

public void startRacing(MOB mob,
                        boolean verifyOnly)
Description copied from interface: Race
After a mob is set or changed to a new race, this method should be called to finalize or initialize any settings from this race. The verify flag is almost always true, unless the mob is a new player being created, in which case false is sent.

Specified by:
startRacing in interface Race
Parameters:
mob - the mob or player being set to this race
verifyOnly - true flag unless this is a new player character

myNaturalWeapon

public Weapon myNaturalWeapon()
Description copied from interface: Race
Returns a Weapon object representing what a member of this race fights with when unarmed. This method may change what it returns on every call to mix things up a bit.

Specified by:
myNaturalWeapon in interface Race
Returns:
a Weapon object representing claws or teeth, etc..
See Also:
Weapon

outfit

public java.util.Vector outfit(MOB myChar)
Description copied from interface: Race
Returns a vector of Item objects representing the standard clothing, weapons, or other objects commonly given to players of this race just starting out.

Specified by:
outfit in interface Race
Parameters:
myChar - one who will receive the objects
Returns:
a vector of Item objects

healthText

public java.lang.String healthText(MOB viewer,
                                   MOB mob)
Description copied from interface: Race
Returns a description of the given mobs description, by consulting the mobs curState().getHitPoints method.

Specified by:
healthText in interface Race
mob - the mob whose health to check
Returns:
a string describing his health
See Also:
MOB.curState(), CharState.getHitPoints()

funHumanoidWeapon

protected Weapon funHumanoidWeapon()

myResources

public java.util.Vector myResources()
Description copied from interface: Race
Returns a Vector of RawMaterial objects (usually GenFoodResource, GenLiquidResource, or GenResource items) representing what is left over of a member of this race after they've been butchered and cut up.

Specified by:
myResources in interface Race
Returns:
a vector of rawmaterial objects
See Also:
RawMaterial

setHeightWeight

public void setHeightWeight(EnvStats stats,
                            char gender)
Description copied from interface: Race
Will initialize a player or mobs height and weight based on this races parameters.

Specified by:
setHeightWeight in interface Race
Parameters:
stats - the EnvStats object to change
gender - the mobs gender 'M' or 'F'
See Also:
EnvStats

compareTo

public int compareTo(CMObject o)
Specified by:
compareTo in interface java.lang.Comparable<CMObject>

makeResource

protected Item makeResource(java.lang.String name,
                            int type)

getCorpseContainer

public DeadBody getCorpseContainer(MOB mob,
                                   Room room)
Descript