/* in merc.h */ .... #define COMM_SHOUTSOFF (J) #define COMM_NORACE (K) /* New channel -Baxter */ ... /* in handler.c */ .... if (comm_flags & COMM_NOCHANNELS ) strcat(buf, " no_channels"); if (comm_flags & COMM_NORACE ) strcat(buf, " no_race" ); .... /* in tables.c */ .... { "shoutsoff", COMM_SHOUTSOFF, TRUE }, { "norace", COMM_NORACE, TRUE }, .... /* in interp.h */ .... DECLARE_DO_FUN( do_quote ); DECLARE_DO_FUN( do_racetalk ); /* New channel -Baxter */ .... DECLARE_DO_FUN( do_rstat ); DECLARE_DO_FUN( do_rt ); .... /* in interp.c */ .... { "quiet", do_quiet, POS_SLEEPING, 0, LOG_NORMAL, 1 }, { "racetalk", do_racetalk, POS_SLEEPING, 0, LOG_NORMAL, 1 }, .... { "replay", do_replay, POS_SLEEPING, 0, LOG_NORMAL, 1 }, { "rt", do_racetalk, POS_SLEEPING, 0, LOG_NORMAL, 0 }, .... /* in act_comm.c (in do_channels) */ .... send_to_char("Race talk ",ch); if (!IS_SET(ch->comm, COMM_NORACE)) send_to_char("ON\n\r",ch); else send_to_char("OFF\n\r",ch); send_to_char("Q/A ",ch); .... void do_racetalk( CHAR_DATA *ch, char *argument ) { char buf[MAX_STRING_LENGTH]; DESCRIPTOR_DATA *d; if (IS_NPC(ch)) return; if (argument[0] == '\0') { if (IS_SET(ch->comm, COMM_NORACE)) { send_to_char("Race channel is now ON.\n\r", ch); REMOVE_BIT(ch->comm, COMM_NORACE); } else { send_to_char("Race channel is now OFF.\n\r", ch); SET_BIT(ch->comm, COMM_NORACE); } } else { if (IS_SET(ch->comm, COMM_QUIET)) { send_to_char("You must turn off quiet mode first.\n\r", ch); return; } if (IS_SET(ch->comm, COMM_NOCHANNELS)) { send_to_char("The gods have revoked your channels priviliges.\n\r", ch); return; } REMOVE_BIT(ch->comm, COMM_NORACE); sprintf(buf, "[ %s ] $n '$t'", pc_race_table[ch->race].who_name); act_new(buf, ch, argument, NULL, TO_CHAR, POS_DEAD); for (d = descriptor_list; d != NULL; d = d->next) { CHAR_DATA *victim; victim = d->original ? d->original : d->character; if (d->connected == CON_PLAYING && victim != ch && victim->race == ch->race && !IS_NPC(victim) && !IS_SET(victim->comm, COMM_NORACE) && !IS_SET(victim->comm, COMM_QUIET)) { act_new(buf, ch, argument, d->character, TO_VICT, POS_SLEEPING); } } } } /* ============================================================================= / ______ _______ ____ _____ ___ __ _ ______ ____ ____ _____ / \ | ____|__ __| _ \ / ____\ / _ \| \ / | ____| / __ \| _ \ / ____\ \ / | |__ | | | |_| | | | |_| | |\/| | |___ | | | | |_| | | / / | ___| | | | ___/| | __| _ | | | | ____| | | | | __/| | ___ \ \ | | | | | | | |___| | | | | | | | |____ | |__| | |\ \| |___| | / / |_| |_| |_| o \_____/|_| |_|_| |_|______|o \____/|_| \_|\_____/ \ \ / ============================================================================ ------------------------------------------------------------------------------ ftp://ftp.game.org/pub/mud FTP.GAME.ORG http://www.game.org/ftpsite/ ------------------------------------------------------------------------------ This file came from FTP.GAME.ORG, the ultimate source for MUD resources. ------------------------------------------------------------------------------ */