/** * Little toy command for admin by Shiannar. */ inherit COMMAND_BASE; private void rumble2(object person, object rumbler, int type); private varargs void pimp_shout( string words, object avoid ) { object thing, *things; things = users(); foreach( thing in things ) { if ( ( thing != avoid ) ) thing->event_write( previous_object(), words, ({ }) ); } } private int cmd(string words) { int type; object person; if(!lordp(TP)) { return notify_fail("Getting a bit uppity aren't we?\n"); } if(!words) type = 0; else type = 1; if(type) { if(!person = find_player(TP->expand_nickname(words))) { return notify_fail("Couldn't find \""+words+"\"!\n"); } } tell_object(TP, "Let's RUMBLE!!\n"); pimp_shout("The sky goes dark. Thick black clouds roll in.\n"); pimp_shout("A loud peal of %^RED%^%^BOLD%^thunder%^RESET%^ rumbles, " "shaking the ground, and bolts of %^WHITE%^%^BOLD%^" "lightning%^RESET%^ flash through the sky!\n"); call_out((:rumble2:), 9, person, TP, type); return 1; } private void rumble2(object person, object rumbler, int type) { if(type && !person) { if(rumbler) { tell_object(rumbler, "Something went badly wrong! Aborting the rumble!\n"); } pimp_shout("The clouds sweep out as quickly as they swept in. " "All is quiet again.\n"); return; } if(type) { pimp_shout("A bolt of lightning strikes close to "+person->short()+", " "but leaves "+person->HIM+" unharmed!\n", person); tell_object(person, "A bolt of lightning strikes very close to you, " "but luckily you weren't hit!\n"); } else { pimp_shout("A few random bolts of lightning strike the ground, but " "no-one seems to get hurt!\n"); } pimp_shout("The clouds roll back across the sky.\nIt seems there's " "been a reprieve, for now at least.\n"); } mixed query_patterns() { return ({ "<word'player-name'>", (:cmd($4[0]):), "", (:cmd(0):) }); }