/** * This is called off of the monster to set up a race and * profession... Race should be first then profession.. * @author Pinkfish * @started Sometime in 1991 */ #include <config.h> private mapping _races; void create() { _races = ([ 0 : CONFIG_DEFAULT_RACE, "ape" : "/std/races/ape", "arachnid" : "/std/races/arachnid", "basilisk" : "/std/races/basilisk", "badger" : "/std/races/badger", "bat" : "/std/races/bat", "bear" : "/std/races/bear", "beetle" : "/std/races/beetle", "bird" : "/std/races/bird", "bufonid" : "/std/races/bufonid", "cabbage" : "/std/races/cabbage", "camel" : "/std/races/camel", "cat" : "/std/races/cat", "caterpillar" : "/std/races/caterpillar", "chicken" : "/std/races/chicken", "chimera" : "/std/races/chimera", "cockroach" : "/std/races/cockroach", "cow" : "/std/races/cow", "crocodile" : "/std/races/crocodile", "demon" : "/std/races/demon", "dog" : "/std/races/dog", "dryad" : "/std/races/dryad", "drow" : "/std/races/drow", "duck" : "/std/races/duck", "dwarf" : "/std/races/dwarf", "eagle" : "/std/races/chicken", "elemental" : "/std/races/elemental", "elephant" : "/std/races/elephant", "elf" : "/std/races/elf", "ferret" : "/std/races/ferret", "fish" : "/std/races/fish", "fox" : "/std/races/fox", "giant" : "/std/races/giant", "giant bat" : "/std/races/giant_bat", "giant spider" : "/std/races/giant_spider", "gnoll" : "/std/races/gnoll", "gnome" : "/std/races/gnome", "goat" : "/std/races/goat", "grflx" : "/std/races/grflx", "guppy" : "/std/races/guppy", "half elf" : "/std/races/half_elf", "hare" : "/std/races/hare", "hedgehog" : "/std/races/hedgehog", "horse" : "/std/races/horse", "human" : "/std/races/human", "imp" : "/std/races/imp", "insect" : "/std/races/insect", "light" : "/std/races/light", "lion" : "/std/races/lion", "luggage" : "/std/races/luggage", "moose" : "/std/races/moose", "mouse" : "/std/races/mouse", "mustelidae" : "/std/races/mustelidae", "newt" : "/std/races/newt", "noble dragon" : "/std/races/noble_dragon", "nymph" : "/std/races/nymph", "penguin" : "/std/races/penguin", "pig" : "/std/races/pig", "raptor" : "/std/races/raptor", "rat" : "/std/races/rat", "reptile" : "/std/races/reptile", "rodent" : "/std/races/rodent", "sargassum" : "/std/races/sargassum", "satyr" : "/std/races/satyr", "scorpion" : "/std/races/scorpion", "sektarian demon" : "/std/races/sektarian_demon", "sprite" : "/std/races/sprite", "sheep" : "/std/races/sheep", "skunk" : "/std/races/skunk", "slice human" : "/std/races/slice_human", "snake" : "/std/races/snake", "sphinx" : "/std/races/sphinx", "spider" : "/std/races/spider", "squirrel" : "/std/races/squirrel", "stoat" : "/std/races/stoat", "stone giant" : "/std/races/stone_giant", "stone palm" : "/std/races/stone_palm", "strange" : "/std/races/strange", "swamp dragon" : "/std/races/swamp_dragon", "tree" : "/std/races/tree", "troll" : "/std/races/troll", "vulture" : "/std/races/vulture", "unicorn" : "/std/races/unicorn", "vorpal bunny" : "/std/races/vorpal_bunny", "weasel" : "/std/races/weasel", "wolf" : "/std/races/wolf", "wombat" : "/std/races/wombat", "vampire_test" : "/std/races/vampire", "werewolf_test" : "/std/races/werewolf_temp", ]); } /* create() */ /** * This method checks to see if the specified race is valid or not. * @param race the race to check for validity * @return 1 if it exists, 0 if it does not */ int query_valid_race(string race) { return !undefinedp(_races[race]); } /* query_valid_race() */ /** * This method sets the level of the npc with the specified attributes. * @param lvl the level to set the npc at * @param race the race to set the npc with */ void set_level( int lvl, string race ) { object ob; string race_ob; ob = PO; race_ob = ( _races[race] ? _races[race] : _races[0] ); ob->set_no_check(1); ob->set_race_ob(race_ob); race_ob->set_level( ob, lvl ); ob->race_guild_commands(); } /* set_level() */ private int add_race(string name, mixed ob) { if( _races[name] ) return 0; _races[name] = ob; return 1; } /* add_race() */ private int remove_race(string name) { if( !_races[name] ) return 0; _races[name] = 0; return 1; } /* remove_race() */ /** * This method returns all the current races in the race object. It is a * mapping with matches between the name of the race and race object. * @return the race mapping */ mapping query_races() { return copy(_races); } /** * This method returns the path associated with the specified race. * @param race_name the name of the race * @return the path of the race */ string query_race_path(string race_name) { return _races[race_name]; }