/* ************************************************************************ * File: config.c Part of CircleMUD * * Usage: Configuration of various aspects of CircleMUD operation * * * * All rights reserved. See license.doc for complete information. * * * * Copyright (C) 1993, 94 by the Trustees of the Johns Hopkins University * * CircleMUD is based on DikuMUD, Copyright (C) 1990, 1991. * ************************************************************************ */ #define __CONFIG_C__ #include "conf.h" #include "sysdep.h" #include "structs.h" #define TRUE 1 #define YES 1 #define FALSE 0 #define NO 0 /* * Below are several constants which you can change to alter certain aspects * of the way CircleMUD acts. Since this is a .c file, all you have to do * to change one of the constants (assuming you keep your object files around) * is change the constant in this file and type 'make'. Make will recompile * this file and relink; you don't have to wait for the whole thing to * recompile as you do if you change a header file. * * I realize that it would be slightly more efficient to have lots of * #defines strewn about, so that, for example, the autowiz code isn't * compiled at all if you don't want to use autowiz. However, the actual * code for the various options is quite small, as is the computational time * in checking the option you've selected at run-time, so I've decided the * convenience of having all your options in this one file outweighs the * efficency of doing it the other way. * */ /****************************************************************************/ /****************************************************************************/ /* GAME PLAY OPTIONS */ /* * pk_allowed sets the tone of the entire game. If pk_allowed is set to * NO, then players will not be allowed to kill, summon, charm, or sleep * other players, as well as a variety of other "asshole player" protections. * However, if you decide you want to have an all-out knock-down drag-out * PK Mud, just set pk_allowed to YES - and anything goes. */ int pk_allowed = NO; /* PK victim minimum level */ byte pk_victim_min = 10; /* Jail room Number? */ int jail_num = 400; /* Arena stuff */ int arena_zone = 48; /* arena zone number? */ int arena_entrance = 4800; /* arena entrance? */ int arena_preproom = 4801; /* arena prep room? */ int arena_observeroom = 4899; /* arena observatory? */ int arena_leave_penalty_mult = 100; /* Leave penalty multiplier */ int arena_flee_timeout = 3; /* # tics for flee-recall timeout */ /* note: arena_combatant and arena_observer fees are now a multiplier * based on player's level */ int arena_combatant = 1000; /* Arena combantant entrance fee? */ int arena_observer = 0; /* Arena observer entrance fee? */ struct char_data *defaultobserve; /* Default combatant to observe? */ struct char_data *arenamaster; /* Start room number for TOTAL newbies */ int newbie_room = 2200; /* bail multiplier */ int bail_multiplier = 20000; /* bail XP multiplier */ int xp_multiplier = 5; /* is playerthieving allowed? */ int pt_allowed = YES; /* If player thieving is allowed, then is the player markable as THIEF if caught? */ int pt_markable = NO; /* weapon restrictions? */ int weaponrestrictions = YES; /* www who system? (see code for further settings) */ int www_who = NO; /* Auto System Reboot settings */ int autoreboot = 0; int reboot_hr = 6; int reboot_min = 30; int warn_hr = 6; int warn_min = 20; /* mobdie password */ char *mobdie_pwd = "argh"; int mobdie_enabled = 0; /* minimum level a player must be to shout/holler/gossip/auction */ int level_can_shout = 1; /* number of movement points it costs to holler */ int holler_move_cost = 50; /* exp change limits */ int max_exp_gain = 1000000000; /* max gainable per kill */ int max_exp_loss = 15000000; /* max losable per death */ /* number of tics (usually 75 seconds) before PC/NPC corpses decompose */ int max_npc_corpse_time = 5; int max_pc_corpse_time = 10; /* should items in death traps automatically be junked? */ int dts_are_dumps = YES; int impboard=1200; /* "okay" etc. */ char *OK = "&YOkay.&n\r\n"; char *NOPERSON = "&CNo-one by that name here.&n\r\n"; char *NOEFFECT = "&CNothing seems to happen.&n\r\n"; /****************************************************************************/ /* Address to bind do; NULL for all interfaces.*/ //const char *DFLT_IP="205.252.89.140"; const char *DFLT_IP="206.161.127.225"; //const char *DFLT_IP=NULL; /* mySQL Host Database Information */ const char *mySQL_host="localhost"; const unsigned int mySQL_port=4001; const char *mySQL_user="system-mud"; const char *mySQL_pass="v5f9J8z0lm883jdks83jf45kj32l5hlh5k3j25k2jlj23h23"; /****************************************************************************/ /* RENT/CRASHSAVE OPTIONS */ /* * Should the MUD allow you to 'rent' for free? (i.e. if you just quit, * your objects are saved at no cost, as in Merc-type MUDs.) */ int free_rent = NO; /* maximum number of items players are allowed to rent */ int max_obj_save = 50; /* receptionist's surcharge on top of item costs */ int min_rent_cost = 250; /* * Should the game automatically save people? (i.e., save player data * every 4 kills (on average), and Crash-save as defined below. */ int auto_save = YES; /* * if auto_save (above) is yes, how often (in minutes) should the MUD * Crash-save people's objects? Also, this number indicates how often * the MUD will Crash-save players' houses. */ int autosave_time = 5; /* Lifetime of crashfiles and forced-rent (idlesave) files in days */ int crash_file_timeout = 10; /* Lifetime of normal rent files in days */ int rent_file_timeout = 30; /****************************************************************************/ /****************************************************************************/ /* ROOM NUMBERS */ /* virtual number of room that mortals should enter at */ /* long mortal_start_room = 3001; */ /* virtual number of room that immorts should enter at by default */ long immort_start_room = 1204; /* virtual number of room that frozen players should enter at */ long frozen_start_room = 1202; /* * virtual numbers of donation rooms. note: you must change code in * do_drop of act.item.c if you change the number of non-NOWHERE * donation rooms. */ long donation_room_1 = 146; /* Start Town 1 */ long donation_room_2 = NOWHERE; /* unused - room for expansion */ long donation_room_3 = NOWHERE; /* unused - room for expansion */ /****************************************************************************/ /****************************************************************************/ /* GAME OPERATION OPTIONS */ /* * This is the default port the game should run on if no port is given on * the command-line. NOTE WELL: If you're using the 'autorun' script, the * port number there will override this setting. Change the PORT= line in * instead of (or in addition to) changing this. */ int DFLT_PORT = 4000; /* default directory to use as data directory */ char *DFLT_DIR = "lib"; /* What file to log messages to (ex: "log/syslog"). "" == stderr */ char *LOGFILE = "syslog"; /* maximum number of players allowed before game starts to turn people away */ int MAX_PLAYERS = 300; /* maximum size of bug, typo and idea files in bytes (to prevent bombing) */ int max_filesize = 50000; /* maximum number of password attempts before disconnection */ int max_bad_pws = 2; /* * Some nameservers are very slow and cause the game to lag terribly every * time someone logs in. The lag is caused by the gethostbyaddr() function * which is responsible for resolving numeric IP addresses to alphabetic names. * Sometimes, nameservers can be so slow that the incredible lag caused by * gethostbyaddr() isn't worth the luxury of having names instead of numbers * for players' sitenames. * * If your nameserver is fast, set the variable below to NO. If your * nameserver is slow, of it you would simply prefer to have numbers * instead of names for some other reason, set the variable to YES. * * You can experiment with the setting of nameserver_is_slow on-line using * the SLOWNS command from within the MUD. */ /* the nameserver isn't slow the MUD is :P */ int nameserver_is_slow = YES; char *ANSI = "[0;31;1mRED[31;0m [0;34;1mBLUE[34;0m [0;32;1mGREEN[32;0m\r\n" "Is the above text shown in color? "; char *MENU = "\r\n" "&GWelcome to the DeltaMUD Menu&n\r\n" "&B------------------------------&n\r\n" "&R[&n&C0&n&R]&n Exit from DeltaMUD.\r\n" "&R[&n&C1&n&R]&n Enter the game.\r\n" "&R[&n&C2&n&R]&n Enter description.\r\n" "&R[&n&C3&n&R]&n Read the background story.\r\n" "&R[&n&C4&n&R]&n Read the latest news.\r\n" "&R[&n&C5&n&R]&n Read the game policy.\r\n" "&R[&n&C6&n&R]&n See who is online.\r\n" "&R[&n&C7&n&R]&n Change password.\r\n" "&R[&n&C8&n&R]&n Delete this character.\r\n" "&B------------------------------&n\r\n" "\r\n" " Make your choice: "; char *ASK_NAME = "\r\nPlease enter a name&R:&n "; char *WELC_MESSG = "\r\n" "Welcome to the ever changing world of Deltania..may your life here\r\n" "be full of adventure and intrigue...\r\n" "\r\n\r\n"; char *START_MESSG = "\r\n" "This is your new DeltaMUD character! You can now earn &Ygold&n,\r\n" "gain &Cexperience&n, find &Rweapons&n and &Mequipment&n, and much more.\r\n" "\r\nThe first thing you should do is read the Newbie Guide. You do that\r\n" "by typing 'read guide' (without the quotes, of course)\r\n" "\r\n\r\n"; /****************************************************************************/ /****************************************************************************/ /* AUTOWIZ OPTIONS */ /* Should the game automatically create a new wizlist/immlist every time someone immorts, or is promoted to a higher (or lower) god level? */ int use_autowiz = YES; /* If yes, what is the lowest level which should be on the wizlist? (All immort levels below the level you specify will go on the immlist instead.) */ int min_wizlist_lev = LVL_IMMORT; const long mortal_start_room[NUM_STARTROOMS + 1] = { 100, /* Newbie loadroom element */ 100, /* Itrius */ 100, /* Start Town 2 */ 100, /* Start Town 3 */ }; const int training_pts[LVL_IMMORT] = { /* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0 - 9 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 10 - 19 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 20 - 29 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 30 - 39 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 40 - 49 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 50 - 59 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 60 - 69 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 70 - 79 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 80 - 89 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 /* 90 - 99 */ }; const int lvl_maxdmg_weapon[LVL_IMMORT] = { /* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 */ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, /* 0 - 9 */ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, /* 10 - 19 */ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, /* 20 - 29 */ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, /* 30 - 39 */ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, /* 40 - 49 */ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, /* 50 - 59 */ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, /* 60 - 69 */ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, /* 70 - 79 */ 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, /* 80 - 89 */ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, /* 90 - 99 */ 100 /* 100 */ }; const int TEMPtraining_pts[LVL_IMPL] = { /* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0 - 9 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 10 - 19 */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, /* 20 - 29 */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, /* 30 - 39 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, /* 40 - 49 */ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, /* 50 - 59 */ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, /* 60 - 69 */ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, /* 70 - 79 */ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, /* 80 - 89 */ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, /* 90 - 99 */ 100, 100, 100, 100, 100 };