com.planet_ink.coffee_mud.Races
Class Spirit

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

public class Spirit
extends Undead


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
Spirit()
           
 
Method Summary
 void affectCharStats(MOB affectedMOB, CharStats affectableStats)
          This method is called by the recoverCharStats() method on other MOB objects.
protected  boolean destroyBodyAfterUse()
           
protected  Weapon funHumanoidWeapon()
           
 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.
 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.
 Weapon myNaturalWeapon()
          Returns a Weapon object representing what a member of this race fights with when unarmed.
 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.
 int[] racialAbilityLevels()
           
 java.lang.String[] racialAbilityNames()
           
 java.lang.String[] racialAbilityParms()
           
 int[] racialAbilityProficiencies()
           
 boolean[] racialAbilityQuals()
           
 int shortestFemale()
          The minimum height of females of this race.
 int shortestMale()
          The minimum height of males of this race.
 
Methods inherited from class com.planet_ink.coffee_mud.Races.Undead
affectCharState, affectPhyStats, availabilityCode, bodyMask, executeMsg, fertile, forbiddenWornBits, getAgingChart, infatigueable, lightestWeight, racialCategory, tick, uncharmable, weightVariance
 
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, expless, 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, newInstance, numRacialEffects, outfit, practicesAtFirstLevel, racialAbilities, 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

Spirit

public Spirit()
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 Undead
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 Undead
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 Undead
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 Undead
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 Undead
Returns:
a range of inches to add to the mimiumum height

destroyBodyAfterUse

protected boolean destroyBodyAfterUse()
Overrides:
destroyBodyAfterUse 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 Undead
Returns:
a list of resource codes that this race can breathe
See Also:
RawMaterial

funHumanoidWeapon

protected Weapon funHumanoidWeapon()
Overrides:
funHumanoidWeapon in class StdRace

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

racialAbilityNames

public java.lang.String[] racialAbilityNames()
Overrides:
racialAbilityNames in class StdRace

racialAbilityLevels

public int[] racialAbilityLevels()
Overrides:
racialAbilityLevels in class StdRace

racialAbilityProficiencies

public int[] racialAbilityProficiencies()
Overrides:
racialAbilityProficiencies in class StdRace

racialAbilityQuals

public boolean[] racialAbilityQuals()
Overrides:
racialAbilityQuals in class StdRace

racialAbilityParms

public java.lang.String[] racialAbilityParms()
Overrides:
racialAbilityParms in class StdRace

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

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
Overrides:
myNaturalWeapon in class StdRace
Returns:
a Weapon object representing claws or teeth, etc..
See Also:
Weapon

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 Undead
Parameters:
gender - the gender of the mob
age - the age category
Returns:
a good name

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

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

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 Undead
Returns:
a list of rawmaterial objects
See Also:
RawMaterial