/*************************************************************************** * 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