#include <library.h> #include <player.h> inherit COMMAND_BASE; mixed cmd( string words ) { string pad = " "; if(!environment(this_player())) { return notify_fail("You are in limbo, you cannot emote.\n"); } if ( userp( this_player() ) && !creatorp(TP) ) { // so we can remove the permission to do emotes. if(this_player()->query_property("no emote")) { return notify_fail(NOT_ALLOWED); } if ( (int)this_player()->adjust_sp( -EMOTE_COST ) < 0 ) { return notify_fail( NO_POWER ); } } if ( !words || ( words == "" ) ) { return notify_fail( "Syntax: emote <text>\n" ); } words = strip_colours(words); // have a go at replacing multiple spaces with a single one. This should // stop anyone trying to format the emote to look as though it's an emote // followed by a tell or somesuch. words = replace(words, ({" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "})); this_player()->adjust_time_left( -5 ); if (words[0..0] == "'") pad = ""; environment( this_player() )->event_emote( this_player(), "$C$" + this_player()->one_short() + pad + words +"\n" ); all_inventory( environment( this_player() ) )-> event_emote( this_player(), "$C$" + this_player()->one_short() + pad + words + "%^RESET%^\n" ); write( "You emote: $C$"+ (string)this_player()->pretty_short( this_player() ) + pad + words + "%^RESET%^\n" ); return 1; } /* cmd() */