/* * Swat - Shaydz * Additions by Shiannar :) * */ #include <playerinfo.h> inherit COMMAND_BASE; varargs void pimp_shout( string words, object avoid ) { object thing, *things; things = users(); foreach( thing in things ) { if ( ( thing != avoid ) && !thing->check_earmuffs( "shout" ) ) thing->event_say( previous_object(), words, ({ }) ); } } /* pimp_shout() */ mixed cmd( string words ) { string player, reason; object ob; if (!words || sscanf( words, "%s %s", player, reason ) != 2) return notify_fail(" Usage: swat <player> <reason> \n" ); ob = find_player( this_player()->expand_nickname( player) ); if ( !ob ) return notify_fail( player +" not found!\n" ); PLAYERINFO_HANDLER->add_entry(TP, ob->query_name(), "swat", reason); log_file("NUKE", (string)ctime( time() )+": "+ this_player()->query_short()+" swated "+ ob->query_short()+": "+reason+".\n"); pimp_shout("You look up and see a rather large %^YELLOW%^HAND%^RESET%^ "+ "forming in the sky. It appears to be be be holding an "+ "unusualy large %^YELLOW%^FLY SWATTER%^RESET%^.\n\n"); write("Nuking player " +ob->query_name()+ ".\n"); call_out("nuke2", 2, ob); return 1; } void nuke2(object ob) { pimp_shout("As you stare in amazement at this strange apparition "+ "the %^YELLOW%^FLY SWATTER%^RESET%^ shoots high into the air " "looking across the planet for a new insect to crush.\n\n"); tell_object(ob, "It looks like it is headed for you.\n\n"); call_out("nuke3", 5, ob); } void nuke3(object ob) { string name; name = ob->query_cap_name(); if(ob->query_property("fly_swatted") > 2) { tell_object(ob, "The %^YELLOW%^FLY SWATTER%^RESET swats all around " "you, but due to your past encounters with it you find " "that you can evade it rather easily.\n\nYou let out a " "triumphant laugh at the useless swatter.\n\n"); pimp_shout("The %^YELLOW%^FLY SWATTER%^RESET%^ pounds away at "+name+ " but "+ob->query_pronoun()+" dances away from it easily.\n\n"+ capitalize(ob->query_pronoun())+" lets out a triumphant " "laugh at the swatter.\n\n"); ob->remove_property("fly_swatted"); call_out("nuke4", 5, ob); return; } ob->add_property("fly_swatted", ob->query_property("fly_swatted")+1); tell_object(ob, "The %^YELLOW%^FLY SWATTER%^RESET%^ hits you squarely on "+ "top of the head. You have the sensation of being "+ "squashed much like the flies you mindlessly kill.\n\n"); ob->save(); ob->quit(); pimp_shout("The %^YELLOW%^FLY SWATTER%^RESET%^ begins decending at blinding "+ "speed and hits "+name +" squarely on top of "+ "the head. You shudder as you remember all the flies you have "+ "mindlessly killed.\n",ob); } void nuke4(object ob) { tell_object("A lightening bolt arcs out of the sky and completely destroys " "you. The last thing you remember is a voice saying \"Laugh " "that off...\"\n\n"); pimp_shout("A lightening bolt cracks past the %^YELLOW%^FLY SWATTER%^RESET%^ " "and earths itself through "+ob->query_cap_name()+". A voice " "booms out, \"Laugh that off...\"\n\n"); ob->save(); ob->quit(); }