inherit "/std/basic/print_object"; #include "race.h" mapping races, guilds; void create() { races = ([ 0: "/std/races/unknown", /* first the null race */ "troll": "/std/races/troll", "human": "/std/races/human", "elf": "/std/races/elf", "dwarf": "/std/races/dwarf", "half elf": "/std/races/half_elf", "hobbit": "/std/races/hobbit", "orc": "/std/races/orc", "mul": "/std/races/mul", "gnome": "/std/races/gnome" ]); guilds = ([ 0: "/std/guilds/standard", "fighter": "/d/guilds/fighters/guild_object", "warrior": "/d/guilds/fighters/guild_object", "soldier": "/d/guilds/fighters/guild_object", "guard": "/d/guilds/fighters/guild_object", "thief": "/d/guilds/thieves/guild_object", "scout": "/d/guilds/thieves/guild_object", "spy": "/d/guilds/thieves/guild_object", "burgular": "/d/guilds/thieves/guild_object", "priest": "/d/guilds/priests/guild_object", "monk": "/d/guilds/priests/guild_object", "wizard": "/d/guilds/wizards/guild_object", "mage": "/d/guilds/wizards/guild_object", "magician": "/d/guilds/wizards/guild_object" ]); } int query_valid_race( string race ) { return !undefinedp( races[ race ] ); } void set_level( int lvl, string race, string class ) { object ob; string race_ob, guild_ob; if( races[ race ] ) race_ob = races[ race ]; else race_ob = races[ 0 ]; if( guilds[ class ] ) guild_ob = guilds[ class ]; else guild_ob = guilds[ 0 ]; ob = previous_object(); ob->set_no_check( 1 ); ob->set_race_ob( race_ob ); race_ob->start_player( ob ); race_ob->set_level( ob, lvl ); ob->set_guild_ob( guild_ob ); guild_ob->start_player( ob ); guild_ob->set_level( ob, lvl, class ); } int add_race( string name, mixed ob ) { if( races[ name ] ) return 0; races += ([ name:ob ]); return 1; } int remove_race( string name ) { if( !races[ name ] ) return 0; races = m_delete( races, name ); return 1; } mapping query_races() { return races; } int add_guild( string name, mixed ob ) { if( guilds[ name ] ) return 0; guilds += ([ name:ob ]); return 1; } int remove_guild( string name ) { if( !guilds[ name ] ) return 0; guilds = m_delete( guilds, name ); return 1; } mapping query_guilds() { return guilds; }