Monster (Programming)

From HellWiki

Jump to: navigation, search

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

Personal tools