deltamud/deltamud/
deltamud/deltamud/bin/
deltamud/deltamud/cnf/
deltamud/deltamud/lib/
deltamud/deltamud/lib/etc/
deltamud/deltamud/lib/misc/
deltamud/deltamud/lib/plrobjs/
deltamud/deltamud/lib/text/
deltamud/deltamud/lib/text/help/
deltamud/deltamud/lib/world/
deltamud/deltamud/lib/world/trg/
/* ************************************************************************
   *   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 =
"RED BLUE GREEN\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
};