inherit "/obj/monster"; #include "/d/home/city/townhall/path.h" /* Just path.h normally */ void setup() { set_name( "official" ); set_short( "An official" ); set_long( "This is an official of " + CITYNAME + ". He wears a smart suit " + "and appears to be in charge of emoteing. He looks like he could do " + "with a stiff drink.\n" ); set_class( "fighter" ); set_race( "human" ); set_level( 10 ); load_chat( 100, ({ 1, ({ "'Ooooh, emote? Well there's a lot of paperwork involved...", "'Well maybe if you made it worth my while I could cut a few corners...", ":winks at you.\n" }) }) ); } void init() { ::init(); add_action( "emote_quest", "give", 1 ); } int emote_quest( string arg ) { string givenobj, givento, a; if( this_player()->query_property( "emote" ) ) { return( 0 ); } sscanf( arg, "%s %s %s", givenobj, a, givento ); if( !givenobj || !givento ) { return( 0 ); } givenobj = this_player()->expand_nickname( givenobj ); givento = this_player()->expand_nickname( givento ); if( present( givento, environment( this_player() ) ) != this_object() ) { return( 0 ); } if( !present( givenobj, this_player() )->query_property( "emote bottle" ) ) { return( 0 ); } if( !present( givenobj, this_player() ) ) { return( 0 ); } present( givenobj, this_player() )->dest_me(); say( this_player()->query_cap_name() + " gives something to the official.\n" ); write( "You give the whiskey bottle to the official.\n" ); say( "The official whispers something to " + this_player()->query_cap_name() + ".\n" ); write( "The official looks pleased and whispers to you: " + "Excellent! My favourite brand! Here tell you what, I'll give " + "you the emote ability, just don't tell anyone I did this for you.\n" ); this_player()->add_property( "emote", 1 ); return( 1 ); }