com.planet_ink.coffee_mud.Races
Class Undead

java.lang.Object
  extended by com.planet_ink.coffee_mud.Races.StdRace
      extended by com.planet_ink.coffee_mud.Races.Undead
All Implemented Interfaces:
CMObject, Modifiable, MsgListener, StatsAffecting, Tickable, Race, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
Skeleton, Spirit

public class Undead
extends StdRace


Field Summary
 
Fields inherited from class com.planet_ink.coffee_mud.Races.StdRace
abilitiesDesc, baseStatChgDesc, breatheAirArray, breatheAirWaterArray, breatheAnythingArray, breatheWaterArray, CODES, dispChgDesc, empty, emptyIDs, languagesDesc, mappedCulturalAbilities, naturalAbilImmunities, naturalWeapon, naturalWeaponChoices, outfitChoices, racialAbilityMap, racialEffectMap, sensesChgDesc, usageCount
 
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, BODYPARTHASH_RL_LOWER, BODYPARTSTR, GENFLAG_DESCS, GENFLAG_INFATIGUEABLE, GENFLAG_NOCHARM, GENFLAG_NOCLASS, GENFLAG_NOEXP, GENFLAG_NOFERTILE, GENFLAG_NOLEVELS, YEARS_AGE_LIVES_FOREVER
 
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
 
Constructor Summary
Undead()
           
 
Method Summary
 void affectCharState(MOB affectedMOB, CharState affectableState)
          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 affectPhyStats(Physical affected, PhyStats affectableStats)
          This method is called by the recoverPhyStats() method on other Environmental objects.
 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.
 void executeMsg(Environmental myHost, CMMsg msg)
          The general message event handler for the object.
 boolean fertile()
           
 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.
 int[] getAgingChart()
          Returns an integer array equal in size and index to the Race.AGE_* constants in the Race interface.
 int[] getBreathables()
          Returns resource codes of what this race can breathe as an atmosphere.
 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.
 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.
 boolean infatigueable()
           
 int lightestWeight()
          The lightest weight for a member of this race
 java.lang.String makeMobName(char gender, int age)
          Sends back a generic mob name appropriate to a mob of this race, at the given gender and age-group.
 java.util.List<RawMaterial> myResources()
          Returns a list 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()
          Return a nice, displayable name for this race
 boolean okMessage(Environmental myHost, CMMsg msg)
          The general message event previewer for the object.
 java.lang.String racialCategory()
          Which racial category this race falls in.
 int shortestFemale()
          The minimum height of females of this race.
 int shortestMale()
          The minimum height of males of this race.
 boolean tick(Tickable ticking, int tickID)
          this is the method which is called periodically by the threading engine.
 boolean uncharmable()
           
 int weightVariance()
          The amount from 0-this to add to the minumum weight to achieve a random weight.
 
Methods inherited from class com.planet_ink.coffee_mud.Races.StdRace
abilityImmunities, adjustExperienceGain, agingAffects, arriveStr, canBreedWith, classless, clrStatChgDesc, compareTo, copyOf, culturalAbilities, culturalAbilityAutoGains, culturalAbilityLevels, culturalAbilityNames, culturalAbilityProficiencies, destroyBodyAfterUse, expless, funHumanoidWeapon, getAbilitiesDesc, getCodeNum, getDispositionChgDesc, getLanguagesDesc, getPracAdjDesc, getSaveStatIndex, getSensesChgDesc, getStat, getStatAdjDesc, getStatCodes, getTickStatus, getTrainAdjDesc, getXPAdjustment, giveMobAbility, giveMobAbility, grantAbilities, grantAbilities, healthBuddy, initializeClass, isGeneric, isStat, L, leaveStr, level, leveless, makeGenRace, makeResource, makeResource, makeStatChgDesc, mapCulturalAbilities, mixRace, myNaturalWeapon, newInstance, numRacialEffects, outfit, practicesAtFirstLevel, racialAbilities, racialAbilityLevels, racialAbilityNames, racialAbilityParms, racialAbilityProficiencies, racialAbilityQuals, racialEffectLevels, racialEffectNames, racialEffectParms, racialEffects, racialEffectsList, racialParms, sameAs, setHeightWeight, setRacialParms, setStat, startRacing, trainsAtFirstLevel, usageCount, useRideClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Undead

public Undead()
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, Tech. The name is typically identical to the class name.

Specified by:
ID in interface CMObject
Overrides:
ID in class StdRace
Returns:
the name of this class

name

public java.lang.String name()
Description copied from interface: Race
Return a nice, displayable name for this race

Specified by:
name in interface CMObject
Specified by:
name in interface Tickable
Specified by:
name in interface Race
Overrides:
name in class StdRace
Returns:
the races name
See Also:
Environmental.Name()

shortestMale

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

Specified by:
shortestMale in interface Race
Overrides:
shortestMale in class StdRace
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
Overrides:
shortestFemale in class StdRace
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
Overrides:
heightVariance in class StdRace
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
Overrides:
lightestWeight in class StdRace
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
Overrides:
weightVariance in class StdRace
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 Wearable.WORN_* constant values.

Specified by:
forbiddenWornBits in interface Race
Overrides:
forbiddenWornBits in class StdRace
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
Overrides:
racialCategory in class StdRace
Returns:
racial category

fertile

public boolean fertile()
Overrides:
fertile in class StdRace

infatigueable

public boolean infatigueable()
Overrides:
infatigueable in class StdRace

uncharmable

public boolean uncharmable()
Overrides:
uncharmable in class StdRace

getBreathables

public int[] getBreathables()
Description copied from interface: Race
Returns resource codes of what this race can breathe as an atmosphere. The list is guaranteed sorted. If the list is empty, the race can breathe anything at all.

Specified by:
getBreathables in interface Race
Overrides:
getBreathables in class StdRace
Returns:
a list of resource codes that this race can breathe
See Also:
RawMaterial

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
Overrides:
bodyMask in class StdRace
Returns:
an array of body parts

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
Overrides:
getAgingChart in class StdRace
Returns:
an integer array mapping ages to age categories
See Also:
Race

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
Overrides:
availabilityCode in class StdRace
Returns:
the availability/theme of this race
See Also:
Area

affectCharState

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

affectPhyStats

public void affectPhyStats(Physical affected,
                           PhyStats affectableStats)
Description copied from interface: StatsAffecting
This method is called by the recoverPhyStats() method on other Environmental objects. It is used to transform the Environmental basePhyStats() object into a finished phyStats() object, both of which are objects implementing the PhyStats interface. See those methods for more information.

Specified by:
affectPhyStats in interface StatsAffecting
Overrides:
affectPhyStats in class StdRace
Parameters:
affected - the host of the PhyStats object being affected
affectableStats - the particular PhyStats object being affected
See Also:
PhyStats, Environmental, Affectable.basePhyStats(), Affectable.phyStats(), Affectable.recoverPhyStats()

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

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

makeMobName

public java.lang.String makeMobName(char gender,
                                    int age)
Description copied from interface: Race
Sends back a generic mob name appropriate to a mob of this race, at the given gender and age-group.

Specified by:
makeMobName in interface Race
Overrides:
makeMobName in class StdRace
Parameters:
gender - the gender of the mob
age - the age category
Returns:
a good name

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 StdRace
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()

affectCharStats

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

getCorpseContainer

public DeadBody getCorpseContainer(MOB mob,
                                   Room room)
Description copied from interface: Race
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. If the destroyBodyAfterUse returns true, it will also populate the body with the contents of the myResources method.

Specified by:
getCorpseContainer in interface Race
Overrides:
getCorpseContainer in class StdRace
Parameters:
mob - the mob to use as a template for the body
room - the room to place the corpse in
Returns:
the corpse generated and placed in the room
See Also:
Race.myResources()

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
Overrides:
healthText in class StdRace
Parameters:
viewer - the mob observing the health of this one
mob - the mob whose health to check
Returns:
a string describing his health
See Also:
MOB.curState(), CharState.getHitPoints()

myResources

public java.util.List<RawMaterial> myResources()
Description copied from interface: Race
Returns a list 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
Overrides:
myResources in class StdRace
Returns:
a list of rawmaterial objects
See Also:
RawMaterial