Difference between revisions of "Monster (Programming)"

From Hellmoo Wiki Archive
Jump to navigation Jump to search
(New page: Monsters is the term we affectionately use for creatures that exist mainly to be slaughtered. They are pretty complicated. If you're making one, here is a brief list of things you&#3...)
 
imported>Marvin
(No difference)

Revision as of 07:46, 2 January 2009

Monsters is the term we affectionately use for creatures that exist mainly to be slaughtered. They are pretty complicated. If you're making one, here is a brief list of things you'll need to do (more docs coming):

  * set description<br>
  @describe <monster> as <text>, or edit the monster's .description directly.
  * set gender<br>
  $gender_utils:set(#object, "gender") - where "gender" is "male", "female", "neuter", or any gender in "help gender".
  * messages like say_flee and dunno<br>
  These are stored as messages; type @messages to see them.
  * @setup for skills and stats<br>
  @setup <monster> will prompt you for setting all of the monster's stats and skills.  Be judicious!
  * create a weapon for .unarmed_weapon and set its stats<br>
  @tree $weapon will show you all the weapons.  Generally, we pick one from the natural weapons section and set the monster's .unarmed_weapon to that.  You can also create a new one, but that's out of scope for this document. 
  * create a message set for the weapon<br>
  See above.
  * create a squeals message set for the creature<br>
  @tree #802 will show you all the squeal sets.  These are message sets for combat for the monster.  We desperately need documentation on them.  There are quite a few sets; pick the one that seems most appropriate, or write your own.
  * set the .body_parts list<br>
  @leaves $bodypart will show a list of all body parts, for hit location purposes.  There are quite a few nonhuman bodyparts for exotic monsters.  Feel free to make more, with appropriate names, if need be.  Then, once you figure out what body parts the monster has, put a list of the object numbers in the monster's .body_parts property.
  * create a custom corpse<br>
  @tree $corpse will show you the existing corpse types.  Feel free to make new ones for your monsters.  This is essentially another creature type, but less complex.
  * create meats for the custom corpse<br>
  @tree $food will show you what meats exist; feel free to make different ones.  We need documentation for food types.  Also, non-food type $things can be used for exotic monsters; for instance, robots have machine and electronic parts as meats.  Once you have a list of things hackable from the corpse, set the .meats property to a list of their parent objnums.  Don't create new meats for this - just put the objnums for the fertile parents of each item.
  * set the monster's .heart to 0
  * set the monster's .areas prop to a list of the areas it can move around in
  * make the monster fertile and move it to #-1<br>
  @chmod <creature> +f; @move <creature> to #-1.  Simple. 
  * @spawn the monster, or use a monster hive to create them.

Documentation on individual Monster types:

ProgMonsterZombie


-- Main.SpunKy - 13 May 2004

-- Main.NecanThrope - 08 Sep 2006