Monster (Programming)
Revision as of 10:19, 25 December 2008 by 24.16.135.162 (talk) (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...)
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