/* command, trial out by Turrican for a commands daemon. */ #include <language.h> #include <player.h> #include <drinks.h> #include <broadcaster.h> inherit COMMAND_BASE; inherit SPEECH_BASE; mixed cmd(string arg) { string word; string s1; string cur_lang; string lang; string mess; int *co_ords; if (!arg) { arg = ""; } if (arg == "" || arg == " ") { return notify_fail("Syntax: lsay <something>\n"); } if(TP->query_gagged()) { return notify_fail("You have been gagged! You will not be able " "to say things again until the gag is removed. Perhaps you should " "talk to a creator about this.\n"); } cur_lang = TP->query_current_language(); if (!LANGUAGE_HAND->query_language_spoken(cur_lang)) { return notify_fail(capitalize(cur_lang)+" is not a spoken language.\n"); } if ( !interactive( this_player() ) ) { arg = (string)this_player()->convert_message( arg ); arg = (string)this_player()->fit_message( arg ); } word = query_word_type(arg); if(TP->query_volume(D_ALCOHOL)) { arg = drunk_speech(arg); } // General speech modifications (curses, etc) s1 = TP->mangle_speech(arg); if (stringp(s1)) arg = s1; arg = de_eight(arg); TP->remove_hide_invis("hiding"); if (cur_lang != "common") { lang = " in "+cur_lang; } else { lang = ""; } mess = "$one_short:" + file_name(TP) + "$ "+ "$V$0=" + word + "s," + word + "$V$ loudly: "; TP->comm_event(environment(TP), "person_say", mess, arg, cur_lang); // Broadcast it around a little. co_ords = environment(this_player())->query_co_ord(); BROADCASTER->npc_shout_event(TP, mess, arg, cur_lang, co_ords, 20 ); my_mess("You " + word + " loudly" + lang + ": ", arg); TP->adjust_time_left(-5); return 1; } /* cmd() */