empiremud/cnf/
empiremud/doc/
empiremud/lib/boards/
empiremud/lib/etc/
empiremud/lib/misc/
empiremud/lib/plralias/F-J/
empiremud/lib/plralias/K-O/
empiremud/lib/plralias/P-T/
empiremud/lib/plralias/U-Z/
empiremud/lib/plrobjs/
empiremud/lib/plrobjs/F-J/
empiremud/lib/plrobjs/K-O/
empiremud/lib/plrobjs/P-T/
empiremud/lib/plrobjs/U-Z/
empiremud/lib/world/
empiremud/lib/world/mob/
empiremud/lib/world/obj/
empiremud/log/
/* ************************************************************************
*   File: config.c                                       EmpireMUD AD 1.0 *
*  Usage: Configuration of various aspects of CircleMUD operation         *
*                                                                         *
*  All rights reserved.  See license.doc for complete information.        *
*                                                                         *
*  Code base by Paul Clarke.  EmpireMUD Project, a tbgMUD Production.     *
*  Based upon CircleMUD 3.0, beta patch level 17, by Jeremy Elson.        *
*                                                                         *
*  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"
#include "interpreter.h"	/* alias_data definition for structs.h */

#define TRUE	1
#define YES	1
#define FALSE	0
#define NO	0


/****************************************************************************/
/****************************************************************************/

/* GAME PLAY OPTIONS */

/* How many ticks before a player is idle-rented */
int idle_rent_time = 20;
/* How many ticks before a linkdead player is idle-rented */
int idle_linkdead_rent_time = 10;

/* "okay", etc */
const char *OK = "Okay.\r\n";
const char *NOPERSON = "No-one by that name here.\r\n";
const char *NOEFFECT = "Nothing seems to happen.\r\n";
const char *HUH = "Huh?!?\r\n";


/****************************************************************************/
/****************************************************************************/

/* GAME OPERATION OPTIONS */

/*
 * This is the default port on which the game should run 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 autorun instead of (or in addition to)
 * changing this.
 */
ush_int DFLT_PORT = 4000;

/* default directory to use as data directory */
const char *DFLT_DIR = "lib";

/* Lifetime of normal obj files in days */
int obj_file_timeout = 30;

/*
 * What file to log messages to (ex: "log/syslog").  Setting this to NULL
 * means you want to log to stderr, which was the default in earlier
 * versions of Circle.  If you specify a file, you don't get messages to
 * the screen. (Hint: Try 'tail -f' if you have a UNIX machine.)
 */
const char *LOGNAME = NULL;
/* const char *LOGNAME = "log/syslog";  -- useful for Windows users */

/* maximum number of players allowed before game starts to turn people away */
int max_playing = 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 = 3;

/*
 * Is player-killing allowed?  How restricted is it?
 *  These are bitvectors, except PK_NONE, which must be alone.
 *  PK_NONE    - pk is completely disallowed
 *  PK_WAR     - may pk anyone you're at war with
 *  PK_FULL    - may pk ANYONE
 */
bitvector_t pk_ok = PK_WAR;


/*
 * Rationale for enabling this, as explained by naved@bird.taponline.com.
 *
 * Usually, when you select ban a site, it is because one or two people are
 * causing troubles while there are still many people from that site who you
 * want to still log on.  Right now if I want to add a new select ban, I need
 * to first add the ban, then SITEOK all the players from that site except for
 * the one or two who I don't want logging on.  Wouldn't it be more convenient
 * to just have to remove the SITEOK flags from those people I want to ban
 * rather than what is currently done?
 */
int siteok_everyone = FALSE;


/*
 * 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.
 */
int nameserver_is_slow = YES;


const char *WELC_MESSG = "\r\n"
"Welcome to your EmpireMUD!  Prepare to face your destiny!"
"\r\n\r\n";

const char *AUTH_MESSG = "\r\n"
"This is an &6UNAUTHORIZED&0 character.  You will not be able to use any\r\n"
"building or empire commands until your character is approved.  Please\r\n"
"see &6HELP AUTHORIZATION&0 upon entering the game.\r\n";

const char *START_MESSG =
"Welcome.  This is your new EmpireMUD character!  You can now earn wealth,\r\n"
"acquire territory, harvest grain, and command an empire!\r\n";

const char *hardcore_slain_msg =
"   You have been slain!  As a hardcore character, this means you are\r\n"
"permanently dead.  You will be allowed to access the menu but not log into the\r\n"
"game with this character.\r\n"
"   Please do NOT delete your character.  If you create a new hardcore\r\n"
"character, you may be entitled to free experience points.  Your new character\r\n"
"will also be authorized automatically.  When you do that, this character will\r\n"
"be deleted automatically.\r\n";

/****************************************************************************/
/****************************************************************************/


/* AUTOWIZ OPTIONS */

/*
 * Should the game automatically create a new wizlist/godlist every time
 * someone immorts, or is promoted to a higher (or lower) god level?
 * NOTE: this only works under UNIX systems.
 */
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 godlist instead.) */
int min_wizlist_lev = LVL_START_IMM;