GmudV33/
GmudV33/player/
GmudV33/public_html/
GmudV33/public_html/IMAGES/_VTI_CNF/
GmudV33/src_linux/Debug/
GmudV33/text/clans/
/***************************************************************************
 *        Port of ROM 2.4b6 to Windows by TAKA                             *
 *                                                                         *
 *  I call this "NEW ROM" Ghost since it has changed extensively.          *
 *                                                                         *
 *  ALL I ASK FOR MY WORK:                                                 *
 *  1) Is that you do not remove or modify this comment block.             *
 *  2) You must state on the entry screen that this is GHOST a ROM code    *
 *     base designed and ported to windows by TAKA    .                    *
 *  3) The latest version number from you source listing must be must be   *
 *     in the help file as well as my name TAKA                            *
 *     and my email a_ghost_dancer@excite.com                              *
 *     < < Simplist way is to leave my help entry supplied > >             *
 *  4) You must abid by all other ROM and MERC licences                    *
 *  5) Finally any improvements or snippets you make please forward them   *
 *     to me so we can imcorperate them into the latest version. I will    *
 *     post all snippets with the authors named and credited.              *
 *                                                                         *
 *  Last thank you to all the ROM amd MERC folks for this wounderful code  *
 *  base know as ROM.                                                      *
 *                                                                         *
 *          TAKA                                                           *
 *          a_ghost_dancer@excite.com                                      *
 *                                                                         *
 * (C) 2000 TAKA and Ghost Dancer Mud Project                              *
 * *** All rights reserved                                                 *
 *                                                                         *
 ***************************************************************************

 ***************************************************************************
 *  Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,        *
 *  Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe.   *
 *                                                                         *
 *  Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael          *
 *  Chastain, Michael Quan, and Mitchell Tse.                              *
 *                                                                         *
 *  In order to use any part of this Merc Diku Mud, you must comply with   *
 *  both the original Diku license in 'license.doc' as well the Merc       *
 *  license in 'license.txt'.  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.                                                  *
 ***************************************************************************

 ***************************************************************************
 *	ROM 2.4 is copyright 1993-1996 Russ Taylor	                           *
 *	ROM has been brought to you by the ROM consortium		               *
 *	    Russ Taylor (rtaylor@efn.org)				                       *
 *	    Gabrielle Taylor						                           *
 *	    Brian Moore (zump@rom.org)					                       *
 *	By using this code, you have agreed to follow the terms of the	       *
 *	ROM license, in the file Rom24/doc/rom.license			               *
 ***************************************************************************/



/*                                 --TBD
 * Well known mob virtual numbers.
 * Defined in #MOBILES.
 */
extern long MOB_VNUM_FIDO;
extern long MOB_VNUM_CITYGUARD;
extern long MOB_VNUM_VAMPIRE;
extern long MOB_VNUM_PATROLMAN;
extern long GROUP_VNUM_TROLLS;
extern long GROUP_VNUM_OGRES;
extern long MOB_VNUM_GGOLEM;

/*
 * Well known object virtual numbers.
 * Defined in #OBJECTS.
 */
extern long OBJ_VNUM_SILVER_ONE;
extern long OBJ_VNUM_GOLD_ONE;
extern long OBJ_VNUM_GOLD_SOME;
extern long OBJ_VNUM_SILVER_SOME;
extern long OBJ_VNUM_COINS;
extern long OBJ_VNUM_CORPSE_NPC;
extern long OBJ_VNUM_CORPSE_PC;
extern long OBJ_VNUM_SEVERED_HEAD;
extern long OBJ_VNUM_TORN_HEART;
extern long OBJ_VNUM_SLICED_ARM;
extern long OBJ_VNUM_SLICED_LEG;
extern long OBJ_VNUM_GUTS;
extern long OBJ_VNUM_BRAINS;
extern long OBJ_VNUM_MUSHROOM;
extern long OBJ_VNUM_LIGHT_BALL;
extern long OBJ_VNUM_SPRING;
extern long OBJ_VNUM_DISC;
extern long OBJ_VNUM_PORTAL;
extern long OBJ_VNUM_ROSE;
extern long OBJ_VNUM_PIT;

extern long OBJ_VNUM_SCHOOL_MACE;
extern long OBJ_VNUM_SCHOOL_DAGGER;
extern long OBJ_VNUM_SCHOOL_SWORD;
extern long OBJ_VNUM_SCHOOL_SPEAR;
extern long OBJ_VNUM_SCHOOL_STAFF;
extern long OBJ_VNUM_SCHOOL_AXE;
extern long OBJ_VNUM_SCHOOL_FLAIL;
extern long OBJ_VNUM_SCHOOL_WHIP;
extern long OBJ_VNUM_SCHOOL_POLEARM;

extern long OBJ_VNUM_SCHOOL_VEST;
extern long OBJ_VNUM_SCHOOL_SHIELD;
extern long OBJ_VNUM_SCHOOL_BANNER;
extern long OBJ_VNUM_MAP;
extern long OBJ_VNUM_NEWBIE;

extern long OBJ_VNUM_WHISTLE;
extern long OBJ_VNUM_STEAK;
extern long OBJ_VNUM_PILL;
extern long OBJ_VNUM_POTION;


/*
 * Well known room virtual numbers.
 * Defined in #ROOMS.
 */
extern long ROOM_VNUM_LIMBO;
extern long ROOM_VNUM_CHAT;
extern long ROOM_VNUM_TEMPLE;
extern long ROOM_VNUM_ALTAR;
extern long ROOM_VNUM_SCHOOL;
extern long ROOM_VNUM_BALANCE;
extern long ROOM_VNUM_CIRCLE;
extern long ROOM_VNUM_DEMISE;
extern long ROOM_VNUM_HONOR;
extern long ROOM_VNUM_RTD;

/*
 * Object defined in limbo.are
 * Used in save.c to load objects that don't exist.
 */
extern long OBJ_VNUM_DUMMY;
extern long OBJ_VNUM_DIAMOND_RING;



/*****************************************************************************************
 * reserved for TAKA flexable flag programming
 * do not put anything below here!
 *
 * TAKA The Wolf (c) 2000 **All rights reserved
 *****************************************************************************************/


/* TAKA sign in stuff */
int  LOGIN_STATUS;

/*
 * TAKA banking stuff
 *  - for now transfer is only in gold
 *  - flags 1=on, 0=off
 *  - atm max withdrawl is automatically applied to silver (max * 100)
 */

#define BANK_TRANSFER				1	/* allow transfer of gold player > player */
#define BANK_INVEST					1	/* allow shares or investment in stockmarket */
#define SHARE_VALUE
#define SHARE_MIN_VALUE				50 	/* minimum share value in gold */
#define SHARE_MAX_VALUE				1400 	/* maximum share value in gold */
#define BANK_DEPOSIT_SILVER			1	/* allow the deposit/withdrawl of silver */
#define BANK_CONVERT_SILVER			1	/* allow bank to convert silver */
#define BANK_ALLOW_ATM				1	/* allow atm support (24 hour banking) */
#define BANK_ALLOW_ATM_MAX			500	/* maximum daily gold allowed to withdraw */
#define BANK_NUMBER_ATM				1	/* reserved for future atm uses */
/* in beta code development now version 2.1 will have this */
#define BANK_PAY_INTEREST			1	/* bank pays interest */
#define BANK_INTEREST_AMOUNT		3500 	/* divide by 100000 for .03500 percent of 3.5 */
/*060402 by Taka*/
#define BANK_WAIT					5 /*Number of ticks to force wait before they can buy/sell stocks again*/


/*
 * definable number of shares -- MUD admin specific
 * I like 4 personally
 * -TAKA
 */
#define NO_SHARES					4
#define USE_SHARE_PROMPT			1 /* allow players to show shares in a prompt */
									  /* not recommended for use beyond 4 or 5 stocks */
									  /* 1 = yes use, 0 = no do not use */
/* Banking additions for Takas banking code */
#define CLAN_BANKING				1 /* Allow Clan to bank */
#define CLAN_SHARES					1 /* Allow Clan to own shares */


extern		int     share_value[NO_SHARES];

/* morge code flag TAKA */
extern long USE_MORGE_CODE;	/* use morge code */
extern long CHAR_BODY_TO_MORGE; /* send character body to the morge on death */
extern long MORGE_TO_LEVEL;	/* level to allow morge use till */
extern long ROOM_VNUM_MORGE; /* vnum of morge 20102 test */
extern long USE_RACE_MORGE;
extern long USE_NEWBIE_MORGE;
extern long NEWBIE_MORGE_VNUM;
extern long NEWBIE_MORGE_LEVEL;
extern long RACE_MORGE_LEVEL;

/* use home recalls */
extern long USE_HOME_RECALL;
extern long MIN_HOME_LEVEL;
extern long USE_RACE_RECALL;
extern long USE_RACE_RECALL_LEVEL;
extern long USE_NEWBIE_RECALL;
extern long NEWBIE_RECALL_VNUM;

/* marriage code flexable flags */
extern long USE_MARRY;
extern long MIN_LEVEL_MARRY;

/* temp rooms */
extern long ROOM_CLAN_HALL;


/* TAKA exp bonus/penalty options 031601 */
extern long ALLOW_EXP;
extern long MIN_EXP;
extern long MAX_EXP;
extern long DEFAULT_EXP_TIMER;
extern long MAX_EXP_TIMER;

extern long EXP_GLOBAL_TIMER;
extern long EXP_GLOBAL_AMOUNT;

/*
 * Hunger options by Taka of GhostMUD project for ROFT
 */
extern long HUNGER_LEVEL;
extern long HUNGER_SUB_HP;
extern long HUNGER_SUB_MANA;
extern long HUNGER_SUB_MOVE;
extern long HUNGER_KILL;
extern long HUNGER_TICKS;

/********************************************************************************************
 * TAKA's race load options
 * (c) 2000 TAKA Ghost Dancer MUD Project
 ********************************************************************************************/

#define RACE_LIST	"../text/pc_races.txt" 	/* List of pc races including null */
#define RACE_DIR    "../text/races/"   		/* For all race files */

#define MAX_CLASS_TYPE		6

extern int MAX_PC_RACE;
extern int MAX_RACE;


/*
 * Define for later use
 */
#define MIL					MAX_INPUT_LENGTH
#define MCT					MAX_CLASS_TYPE

/*
 * if you use default wizi when you type wizi and no argument
 * you will be wizi at immortal level on my mud 102.
 */
extern long USE_DEFAULT_WIZI; /* 0 = no, 1 = yes */

/* paintball war definitions
 * added by Taka for Paint ball definition
 * Number of ticks or minutes allowed for joining a paintball war
 * Allow paintball wars on your mud
 * default time limit for paintball games
 * maximum combatants allowed to compete
 */
extern long PB_JOIN_TICKS;  /* number of ticks to allow people to join war */
extern long ALLOW_PB_WARS;  /* allow paintball wars on this mud 1=yes 0=no*/
extern long RELOAD_OPTION_ON;  /* force players to reload after # of shoots expended */
extern long NO_SHOOTS;  /* Allow x number of shoots before reload */
extern long PCT_HIT_SHOOT; /* Percent chance to hit */
extern long CHAMP_MSG;  /* display champion message */
extern long RELOAD_LAG;  /* reload lag time it takes to reload */
#define DEFAULT_PB_TIMER	30 /* default ticks for a war if no time given */
#define MAX_COMBATANTS		30 /* maximum combatants */

/* use if a war is in progress */
int		FIRST_WAR;

/* define structure and arrays */
/* added by Taka for Paint ball definition */
struct    combat_type
{
    char      name[20];
    char      kill[MAX_COMBATANTS];
};

extern 	struct combat_type   COMBAT_TABLE[MAX_COMBATANTS];

/*
 * memory debugging options by Taka
 * from input by Edwin
 * thanks Edwin!!
 */
#define DEBUG_ON			1
#define DEBUG_OFF			0
extern  int DEBUG_STATE;

#define MEMORY_LEAK	"../data/memleak.txt" 	/* List of memory allocations */

/*
 * more debuging tools
 * load debug information 1108
 * -Taka
 */
#define DEBUG_FILE_INFO "../data/debug.txt" /* 1108 */
extern char SHOW_RACE;  /* Show Debug Race Information */
extern char SHOW_AREA;	/* Show Debug Area Information */
extern char SHOW_AREAD;	/* Show Debug Area Details */
extern char SHOW_CLASS;	/* Show Debug Class Information */
/*extern char SHOW_CLAN;	*//* Show Debug Clan Information */
/*extern char SHOW_CSAVES; *//* Show Debug Clan Saves */

/* name checking */
/* 1109 - Taka */
#define BAD_NAMES 	"../data/bad.names" /* 1109 */


/*
 * Level controls
 * Legend immortals
 */
#define MAX_HERO_LEVELS			10  /* number of levels semi-immortal */
#define USE_HERO_HELPERS		1   /* use this option to allow semi-immortal */
#define HERO_L0_NAME_M			"*    King    *" /* hero Level 2 Name */
#define HERO_L0_NAME_F			"*   Queen    *" /* hero Level 2 Name */
#define HERO_L9_NAME_M			"*   Prince   *" /* hero Level 2 Name */
#define HERO_L9_NAME_F			"*  Princess  *" /* hero Level 2 Name */
#define HERO_L8_NAME_M			"* Great Duke *" /* hero Level 2 Name */
#define HERO_L8_NAME_F			"* Gr Duchess *" /* hero Level 2 Name */
#define HERO_L7_NAME_M			"*    Duke    *" /* hero Level 2 Name */
#define HERO_L7_NAME_F			"*  Duchess   *" /* hero Level 2 Name */
#define HERO_L6_NAME_M			"*   Baron    *" /* hero Level 2 Name */
#define HERO_L6_NAME_F			"*  Baroness  *" /* hero Level 2 Name */
#define HERO_L5_NAME_M			"*    Earl    *" /* hero Level 2 Name */
#define HERO_L5_NAME_F			"*    Earl    *" /* hero Level 2 Name */
#define HERO_L4_NAME_M			"*    Lord    *" /* hero Level 2 Name */
#define HERO_L4_NAME_F			"*    Lady    *" /* hero Level 2 Name */
#define HERO_L3_NAME_M			"*   Count    *" /* hero Level 2 Name */
#define HERO_L3_NAME_F			"*  Countess  *" /* hero Level 2 Name */
#define HERO_L2_NAME_M			"*   Knight   *" /* hero Level 2 Name */
#define HERO_L2_NAME_F			"*   Knight   *" /* hero Level 2 Name */
#define HERO_L1_NAME_M			"*   Squire   *" /* hero Level 1 Name */
#define HERO_L1_NAME_F			"*   Squire   *" /* hero Level 1 Name */
#define HERO_LEVEL_NAME			"*   Legend   *" /* show this in who list if long name requested */
#define WHO_LIST_USE_LONG_NAME	1   /* use the long Hero name and long names instead of level/short
									 * in who list.
									 */

/*
 * MUD_USES_REMORT does the mud use remort code
 *                 1=Yes, 0=No
 */
extern long MUD_USES_REMORTS;

/*
 * Custom Who Title settings 1214
 */
extern long USE_IMMORTAL_CUSTOM_TITLES;

/*
 * format string alignment functions
 */
#define ALIGN_NONE			0
#define ALIGN_LEFT			1
#define ALIGN_RIGHT			2
#define ALIGN_CENTER		3


/*
 * 010501
 * (c) TAKA 2001
 * slay messages get saved here in this list file
 */
#define SLAY_MESSAGE_LIST	"../text/slay.txt" 	/* List of petitions to clans */
extern long ALLOW_MULTI_SLAY;   /* Allow Multi Slay */
extern long ALLOW_CUSTOM_SLAY;  /* Allow immortals to make their own custom slays */
extern long CUSTOM_SLAY_COUNT;  /* Number of custom slays per person */
extern long CUSTOM_SLAY_LEVEL;  /* Level to allow custom slays */
extern long ALLOW_SHARE_CUSTOM; /* Allow other immortals to use someone elses custom slay */

/* new configuration file */
#define CONFIG_INFO_FILE	"../data/config.txt" 	/* List of configuration information */
#define UNIQUE_ITEMS_FILE	"../data/unique.txt" 	/* unique item code 0902 */

/* names */
extern char *MUD_CODE_BASE;
extern char *MUD_NAME;
extern char *AUTHOR_CODEBASE;
extern char *GREET_MESSAGE;
extern char *LEAVE_MESSAGE;
extern char *GRATS_MESSAGE;
extern char *SAVE_MESSAGE;
extern char *RESTRICTED_SAVE;

/* show race list option */
extern long RACE_SHOW_LIST;
extern long CLASS_SHOW_LIST;

/* deity options */
#define DEITY_FILE	"../text/deity.txt" 	/* List of pc deity including null */
#define MAX_DEITY	12
extern struct    deity_type    deity_table[MAX_DEITY];

struct    deity_type
{
    int			number;
	char *    	name;            /* the full name of the deity */
    char *		alignment;		 /* alignment of the deity */
};


#define CT_ALL		0
#define CT_COMBAT	1
#define CT_MAGIC	2
#define CT_COMM		3
#define CT_CLAN		4
#define CT_INTER	5
#define CT_MUD		6
#define CT_MISC		7
#define CT_BASIC	8
#define CT_OBJECTS	9
#define CT_MOVE		10
#define CT_IMM		11

#define COMMAND_TYPES	12

/*
 * pet options 060801
 */
#define ALLOW_PET_TO_LEVEL		0
#define ALLOW_PET_NAMES			1

/* Play Mode options */
#define ALLOW_PLAY_MODE			1	/*070201b*/

/* make things shorter Taka 062201 */
#define stc(txt, ch)	send_to_char(txt, ch)

extern long		TOTAL_newbie;
extern long		TOTAL_maxwho;
extern long		TOTAL_LastDown;
extern long		TOTAL_signon;
extern long		TOTAL_levels;
extern long		TOTAL_deletes;
extern long		TOTAL_deathsmob;
extern long		TOTAL_deathspc;
extern long		TOTAL_killspc;
extern long		TOTAL_slays;

/* Max quest flag */
#define MAX_QUEST	100

/* Taka July 2002~
 * Exp Bonuses for killing mobs with the following flags~
 * they are listed in percent XP bonus.~
 */
#define XP_BONUS_SANC		30
#define XP_BONUS_HASTE		25
#define XP_BONUS_BLESS		15
#define XP_BONUS_AGGIE		10
#define XP_BONUS_SPEC		10
#define XP_BONUS_OFF_FAST	20
#define XP_BONUS_DODGE		15
#define XP_BONUS_DISARM		5
#define XP_BONUS_SNEAK		5
#define XP_BONUS_HIDE		10
/* ~
 * Remort Exp penalty~
 */
#define XP_PENALTY_REMORT	0

#define XP_IF_NONE		0
#define XP_IF_SMALL		10
#define XP_IF_AVERAGE		20
#define XP_IF_FAIR		40
#define XP_IF_GOOD		50
#define XP_IF_GREAT		60
#define XP_IF_EXCELLENT		70
#define XP_IF_AMAZING		-1

#define AWARD_EXP		1
#define AWARD_HP		2
#define AWARD_MANA		3
#define AWARD_MOVE		4
#define AWARD_TRAIN		5
#define AWARD_PRAC		6
#define AWARD_XITEM		7
#define AWARD_XWGT		8
#define AWARD_STAT		9
#define AWARD_PHP		10
#define AWARD_PMANA		11
#define AWARD_PMOVE		12

/* new show command */
/*
 * Show values by Taka
 */
/* show 1 commands mortal only */
#define SHOW_HUNGER		(A)
#define SHOW_THIRST		(B)
#define	SHOW_AFFECTS	(C)
#define	SHOW_DAMAGE		(E)
#define SHOW_INJURY		(F)
#define SHOW_TICKS		(I)
#define SHOW_COMPRESS	(L)
#define SHOW_DRUNK		(P)
#define SHOW_IMMSET		(Q)

/* show 2 commands granted and immortal only */
#define SHOW_BUILD1		(A)
#define SHOW_BUILD2		(B)
#define SHOW_BUILD3		(C)

#define ISHOW_FLAGS		(aa)
#define MSHOW_FLAGS		(bb)

#define	DEFAULT_SHOWS	SHOW_HUNGER | SHOW_THIRST | SHOW_AFFECTS \
						SHOW_FLAGS  | SHOW_AREARESET | SHOW_WEATHER