/*************************************************************************** * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. * * * * Merc Diku Mud improvements copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * * * Envy Diku Mud improvements copyright (C) 1994 by Michael Quan, David * * Love, Guilherme 'Willie' Arnold, and Mitchell Tse. * * * * EnvyMud 2.0 improvements copyright (C) 1995 by Michael Quan and * * Mitchell Tse. * * * * In order to use any part of this Envy Diku Mud, you must comply with * * the original Diku license in 'license.doc', the Merc license in * * 'license.txt', as well as the Envy license in 'license.nvy'. * * In particular, you may not remove either of these copyright notices. * * * * Much time and thought has gone into this software and you are * * benefitting. We hope that you share your changes too. What goes * * around, comes around. * ***************************************************************************/ /* Wiznet version 0.1 * * Written by The Maniac from Mythran Mud * (c) 1996 The Maniac * * History: * 07/28/96 0.1 Initial version * */ /*************************************************************************** * God Wars Mud copyright (C) 1994, 1995, 1996 by Richard Woolcock * * * * Legend of Chrystancia copyright (C) 1999, 2000, 2001 by Matthew Little * * This mud is NOT to be copied in whole or in part, or to be run without * * the permission of Matthew Little. Nobody else has permission to * * authorise the use of this code. * ***************************************************************************/ #if defined( macintosh ) #include <types.h> #else #include <sys/types.h> #endif #if !defined( WIN32 ) #include <unistd.h> #endif #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include "merc.h" void do_wiznet (CHAR_DATA * ch, char *argument) { char arg[MAX_STRING_LENGTH]; char buf[MAX_STRING_LENGTH]; if (ch->desc && ch->desc->original) ch = ch->desc->original; buf[0] = '\0'; one_argument (argument, arg); if (arg[0] == '\0') { stc ("Syntax: wiznet [argument]\n\r", ch); /* stc("Argument being one of:\n\r", ch); stc(" on/off show ticks logins deaths reset saccing secure switch snoop\n\r restore load newbie spam debug\n\r", ch); stc("\n\r\n\r", ch); return; } if (!str_cmp(argument, "show")) { */ if (IS_SET (ch->pcdata->wiznet, WIZ_ON)) sprintf (buf, "On [X] Off [ ]\n\r"); else sprintf (buf, "On [ ] Off [X]\n\r"); stc (buf, ch); sprintf (buf, "Ticks [%s] Logins [%s] Deaths [%s] Resets [%s]\n\r", WCHAN (ch, WIZ_TICKS) ? "X" : " ", WCHAN (ch, WIZ_LOGINS) ? "X" : " ", WCHAN (ch, WIZ_DEATHS) ? "X" : " ", WCHAN (ch, WIZ_RESETS) ? "X" : " "); stc (buf, ch); sprintf (buf, "Saccing [%s] Secure [%s] Switches [%s] Snoops [%s]\n\r", WCHAN (ch, WIZ_SACCING) ? "X" : " ", WCHAN (ch, WIZ_SECURE) ? "X" : " ", WCHAN (ch, WIZ_SWITCHES) ? "X" : " ", WCHAN (ch, WIZ_SNOOPS) ? "X" : " "); stc (buf, ch); sprintf (buf, "Restore [%s] Load [%s] Newbie [%s] Spam [%s]\n\r", WCHAN (ch, WIZ_RESTORE) ? "X" : " ", WCHAN (ch, WIZ_LOAD) ? "X" : " ", WCHAN (ch, WIZ_NEWBIE) ? "X" : " ", WCHAN (ch, WIZ_SPAM) ? "X" : " "); stc (buf, ch); sprintf (buf, "Debug [%s] Helps [%s] Trans [%s] Advert [%s]\n\r", WCHAN (ch, WIZ_DEBUG) ? "X" : " ", WCHAN (ch, WIZ_HELPS) ? "X" : " ", WCHAN (ch, WIZ_TRANS) ? "X" : " ", WCHAN (ch, WIZ_ADVER) ? "X" : " "); stc (buf, ch); return; } if (!str_cmp (argument, "on")) { SET_BIT (ch->pcdata->wiznet, WIZ_ON); send_to_char ("Welcome to Wiznet.\n\r", ch); } else if (!str_cmp (argument, "off")) { REMOVE_BIT (ch->pcdata->wiznet, WIZ_ON); send_to_char ("Wiznet is now off.\n\r", ch); } else { if (!str_infix ("tick", argument)) { send_to_char ("Ticks toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_TICKS); } if (!str_infix ("advert", argument)) { send_to_char ("Adverts toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_ADVER); } if (!str_infix ("trans", argument)) { send_to_char ("Transports toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_TRANS); } if (!str_infix ("helps", argument)) { send_to_char ("Helps toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_HELPS); } if (!str_infix ("login", argument)) { send_to_char ("Logins toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_LOGINS); } if (!str_infix ("death", argument)) { send_to_char ("Deaths toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_DEATHS); } if (!str_infix ("reset", argument)) { send_to_char ("Resets toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_RESETS); } if (!str_infix ("sac", argument)) { send_to_char ("Saccing toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_SACCING); } if (!str_infix ("secure", argument)) { send_to_char ("Secure toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_SECURE); } if (!str_infix ("switch", argument)) { send_to_char ("Switches toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_SWITCHES); } if (!str_infix ("snoop", argument)) { send_to_char ("Snoops toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_SNOOPS); } if (!str_infix ("restore", argument)) { send_to_char ("Restores toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_RESTORE); } if (!str_infix ("load", argument)) { send_to_char ("Loading toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_LOAD); } if (!str_infix ("newbie", argument)) { send_to_char ("Newbies toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_NEWBIE); } if (!str_infix ("spam", argument)) { send_to_char ("Spamming toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_SPAM); } if (!str_infix ("debug", argument)) { send_to_char ("Wiznet debug info toggled\n\r", ch); TOGGLE_BIT (ch->pcdata->wiznet, WIZ_DEBUG); } } return; } void wiznet (CHAR_DATA * ch, int chan, int level, char *string) { DESCRIPTOR_DATA *d; char buf[MAX_STRING_LENGTH]; buf[0] = '\0'; strcat (buf, "#y[#oWIZNET#y]#n "); switch (chan) { case WIZ_TICKS: strcat (buf, "#p[#PTICK#p]#n "); break; case WIZ_DEATHS: strcat (buf, "#r[#RDEATH#r]#n "); break; case WIZ_RESETS: strcat (buf, "#p[#PRESET#p]#n "); break; case WIZ_SACCING: strcat (buf, "#g[#GSACCING#g]#n "); break; default: case WIZ_SECURE: strcat (buf, "#w-->#n "); break; case WIZ_SWITCHES: strcat (buf, "#b[#BSWITCH#b]#n "); break; case WIZ_SNOOPS: strcat (buf, "#w[#nSNOOP#w]#n "); break; case WIZ_RESTORE: strcat (buf, "#P[#rRESTORE#P]#n "); break; case WIZ_LOAD: strcat (buf, "#B[#bLOAD#B]#n "); break; case WIZ_NEWBIE: strcat (buf, "#G[#gNEWBIE#G]#n "); break; case WIZ_SPAM: strcat (buf, "#w[#ySPAM#w]#n "); break; case WIZ_DEBUG: strcat (buf, "#y[#r**#wDEBUG#r**#y]#n "); break; case WIZ_HELPS: strcat (buf, "#g[#GH#gE#GL#gP#GS#g]#n "); break; case WIZ_ADVER: strcat (buf, "#r[ADVERTISEMENT]#n "); break; case WIZ_TRANS: strcat (buf, "#y[#oT#yR#oA#yN#oS#y]#n "); break; } strcat (buf, string); strcat (buf, "\n\r"); for (d = first_descriptor; d != NULL; d = d->next) { if (d->connected == CON_PLAYING /* Playing ??? */ && (!d->original) /* Fix ???? */ && (get_trust (d->character) >= level) /* Powerfull enuf */ && (d->character != ch) /* Not the sender */ && (WCHAN (d->character, WIZ_ON)) /* Is wiznet on */ && (WCHAN (d->character, chan))) /* Is this chan on */ { send_to_char (buf, d->character); } } return; }