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: constants.c                                    EmpireMUD AD 1.0 *
*  Usage: Numeric and string contants used by the MUD                     *
*                                                                         *
*  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.               *
************************************************************************ */

#include "conf.h"
#include "sysdep.h"

#include "structs.h"
#include "interpreter.h"	/* alias_data */


cpp_extern const char *version =
	"EmpireMUD 1.0";


const char *level_names[][2] = {
		{ "N/A", "Not Started" },
	#if (LVL_APPROVED > 1)
		{ "UNAPP", "Unapproved" },
	#endif
		{ "APPR", "Approved" },
		{ "GOD", "God" },
	#if (LVL_START_IMM < LVL_TOP)
		{ "IMM", "Immortal" },
	#if (LVL_ASST < LVL_TOP && LVL_ASST > LVL_START_IMM)
		{ "ASST", "Assistant" },
	#if (LVL_CIMPL < LVL_TOP && LVL_CIMPL > LVL_ASST)
		{ "CIMPL", "Co-Implementor" },
	#endif
	#endif
	#endif
		{ "IMPL", "Implementor" }
	};


/* cardinal directions */
const char *dirs[] = {
	"north",
	"east",
	"south",
	"west",
	"northwest",
	"northeast",
	"southwest",
	"southeast",
	"up",
	"down",
	"\n"
	};


/* alternate direction names */
const char *alt_dirs[] = {
	"north",
	"east",
	"south",
	"west",
	"nw",
	"ne",
	"sw",
	"se",
	"up",
	"down",
	"\n"
	};


/* the direction I'm coming from */
const char *from_dir[] = {
	"the south",
	"the west",
	"the north",
	"the east",
	"the southeast",
	"the southwest",
	"the northeast",
	"the northwest",
	"above",
	"below",
	"\n"
	};


int side_dir[][2] = {
	{ NORTHWEST, NORTHEAST },
	{ NORTHEAST, SOUTHEAST },
	{ SOUTHEAST, SOUTHWEST },
	{ SOUTHWEST, NORTHWEST },
	{ WEST, NORTH },
	{ NORTH, EAST },
	{ SOUTH, WEST },
	{ EAST, SOUTH },
	{ UP, UP },
	{ DOWN, DOWN }
	};


int shift_dir[][2] = {
	{ 0, 1 },	{ 1, 0 },	{ 0, -1},
	{-1, 0 },	{-1, 1 },	{ 1, 1 },
	{-1, -1},	{ 1, -1},	{ 0, 0 },
	{ 0, 0 }
	};


const char *skin_colors[] = {
	"fair",
	"red",
	"yellow",
	"lighttan",
	"darktan",
	"lightbrown",
	"darkbrown",
	"\n"
	};


const char *hair_colors[] = {
	"black",
	"brown",
	"blonde",
	"red",
	"white",
	"green",
	"blue",
	"\n"
	};


const char *eye_colors[] = {
	"black",
	"brown",
	"blue",
	"green",
	"violet",
	"red",
	"\n"
	};


const char *health_levels[] = {
	"healthy",
	"bruised",
	"hurt",
	"injured",
	"wounded",
	"mauled",
	"crippled",
	"incapacitated",
	"\n"
	};


const char *move_levels[] = {
	"nearly dead",
	"exhausted",
	"tired",
	"slowing",
	"tiring",
	"tiring",
	"going strong",
	"feeling good",
	"rested",
	"rested",
	"fully rested",
	"\n"
	};


/* EX_x */
const char *exit_bits[] = {
	"DOOR",
	"CLOSED",
	"\n"
	};


/* CROP_x */
const char *crops[] = {
	"fruit",
	"wheat",
	"corn",
	"\n"
	};


const char *crop_names[] = {
	"An Orchard",
	"A Field of Wheat",
	"A Field of Corn",
	"\n"
	};


const char *crop_disp[] = {
	"&3^^^^",
	"&3;;;;",
	"&3::::",
	"\n"
	};


/* SECT_ */
const char *sector_types[] = {
	"Field",
	"Forest-1",
	"Forest-2",
	"Forest-3",
	"Forest-4",
	"River",
	"Ocean",
	"Crop",			/* crops[] is used instead */
	"Mountain",
	"Road",
	"Building",
	"Inside",
	"Shrine",
	"Seeded Field",
	"Well",
	"Fountain",
	"Multi",
	"Trench",
	"Tower of Souls",
	"Wasteland",
	"Desert",
	"Oasis",
	"Barrier",
	"Monument",
	"Monument",
	"\n"
	};


const char *sector_name[] = {
	"A Vast Field",
	"A Light Forest",	/* Partially Generated */
	"A Forest",
	"A Forest",
	"A Dark Forest",
	"A River",
	"The Ocean",
	"A Crop",
	"On a Mountain",
	"On a Road",
	"A Building",		/* Generated */
	"Inside",
	"A Shrine",
	"A Seeded Field",
	"A Well",
	"A Flowing Fountain",
	"A Large Structure",	/* Generated */
	"A Trench",
	"A Tower of Souls",
	"A Barren Wasteland",
	"A Flowing Desert",
	"A Sparkling Oasis",
	"A Barrier",	/* Generated */
	"A Monument",	/* Generated */
	"A Monument",	/* Generated */
	"\n"
	};


const char *sector_disp[] = {
	"&0....",
	"&2.^..",
	"&2^.^.",
	"&2^^.^",
	"&2^^^^",
	"&4~~~~",
	"&4~~~~",
	"????",			/* Generated */
	"&3&b/\\/\\&0",
	"&0----",
	"&0[..]",
	"&0(..)",
	"&0.{}.",
	"&3,,,,&0",
	"&0(&4~~&0)",
	"&0{&4~~&0}",
	"&0????",		/* Generated */
	"&0\\__/",		/* Generated */
	"&3*/\\*",
	"&3&b....&0",
	"&3....",
	"&3.&4~~&3.",
	"&0????",		/* Generated */
	"&0????",		/* Generated */
	"&0????",		/* Generated */
	"\n"
	};


/* SEX_x */
const char *genders[] = {
	"neutral",
	"male",
	"female",
	"\n"
	};


/* POS_x */
const char *position_types[] = {
	"Dead",
	"Mortally wounded",
	"Incapacitated",
	"Stunned",
	"Sleeping",
	"Resting",
	"Sitting",
	"Fighting",
	"Standing",
	"\n"
	};


/* PLR_x */
const char *player_bits[] = {
	"FROZEN",
	"WRITING",
	"MAILING",
	"DONTSET",
	"SITEOK",
	"MUTED",
	"NOTITLE",
	"DELETED",
	"LOADRM",
	"!WIZL",
	"!DEL",
	"INVST",
	"IPMASK",
	"GHOUL",
	"VAMPIRE",
	"MULTI",
	"SLAIN",
	"!RESTICT",
	"!SLEEP",
	"WEREWOLF",
	"HARDCORE",
	"PIRATE",
	"\n"
	};


/* INJ_x */
const char *injury_bits[] = {
	"TIED",
	"STAKED",
	"TORPOR",
	"\n"
	};


/* MOB_x */
const char *action_bits[] = {
	"SPEC",
	"SENTINEL",
	"AGGR",
	"ISNPC",
	"MOUNTABLE",
	"MILKABLE",
	"SCAVENGER",
	"UNDEAD",
	"TIED",
	"FLYING",
	"MOUNTAIN-WALK",
	"AQUATIC",
	"PLURAL",
	"RANDOM",
	"\n"
	};


/* MTYPE_x */
const char *mob_types[] = {
	"ANIMAL",
	"HUMAN",
	"\n"
	};


/* PRF_x */
const char *preference_bits[] = {
	"!EMAIL",
	"COMPACT",
	"DEAF",
	"!TELL",
	"POLIT",
	"RP",
	"MORTLOG",
	"!REP",
	"LIGHT",
	"COLOR",
	"!WIZ",
	"!MCOL",
	"!GOS",
	"!OOC",
	"MAPPC",
	"!CLR",
	"AUTOKILL",
	"SCRL",
	"BRIEF",
	"BITE",
	"FEED",
	"TEACH",
	"!GOD",
	"\n"
	};


/* AFF_x */
const char *affected_bits[] = {
	"BLIND",
	"PARTY",
	"INFRA",
	"SNEAK",
	"HIDE",
	"CHARM",
	"INVIS",
	"!BASH",
	"!HIDE",
	"!PHYSICAL",
	"!TARGET",
	"!SEE",
	"FLY",
	"!ATTACK",
	"\n"
	};


/* DSC_x */
const char *dsc_bits[] = {
	"SENSES",
	"UNSEEN",
	"!WILLPOWER",
	"EYES",
	"TALONS",
	"EARTHMELD",
	"AWE",
	"ENTRANCEMENT",
	"MAJESTY",
	"ARMS",
	"TONGUE",
	"MUMMIFIED",
	"MASQUE",
	"BLIGHT",
	"DEAD",
	"ARMOR",
	"MASK",
	"SOULMASK",
	"!BLOOD",
	"\n"
	};


/* LANG_x */
const char *langs[] = {
	"english",
	"spanish",
	"french",
	"italian",
	"latin",
	"german",
	"russian",
	"arabic",
	"indian",
	"feral speech",
	"high tongue",
	"\n"
	};


/* CON_x */
const char *connected_types[] = {
	"Playing",			"Disconnecting",		"Get name",
	"Confirm name",		"Get password",			"Get new PW",
	"Confirm new PW",	"Select sex",			"Color?",
	"Reading MOTD",		"Main menu",			"Get descript.",
	"Changing PW 1",	"Changing PW 2",		"Changing PW 3",
	"Self-Delete 1",	"Self-Delete 2",		"Disconnecting",
	"Get hair",			"Get eyes",				"Get weight",
	"Get height",		"Ask last name",		"Get last name",
	"Cnf last name",	"Attributes",			"Text edit",
	"Advantages",		"Abilities",			"Hardcore",
	"OLC Editing",		"Virtues",				"Choose status",
	"Disciplines",		"Clan",					"Autoauth",
	"Get email",		"Finish Creation",		"Appearance",
	"Get EQ",			"Hardcore1",			"Hardcore2",
	"Hardcore3",		"To status",			"Language",
	"Goodbye",			"Language menu",		"Customize",
	"Choose age",		"Breed form",			"Auspice",
	"Tribe",			"Advantages",			"Get skin",
	"Empire editing",	"Choose path",
	"\n"
	};


/* WEAR_x - for eq list */
const char *where[] = {
	"<worn on head>       ",
	"<worn on ears>       ",
	"<worn around neck>   ",
	"<worn on body>       ",
	"<worn as armor>      ",
	"<worn about body>    ",
	"<equipped as quiver> ",
	"<worn on arms>       ",
	"<worn on hands>      ",
	"<worn on finger>     ",
	"<worn on finger>     ",
	"<worn about waist>   ",
	"<worn as sheath>      ",
	"<sheathed>            - ",
	"<worn as sheath>      ",
	"<sheathed>            - ",
	"<worn as sheath>      ",
	"<sheathed>            - ",
	"<worn on legs>       ",
	"<worn on feet>       ",
	"<wielded>            ",
	"<held>               ",
	"\n"
	};


/* WEAR_x - for stat */
const char *equipment_types[] = {
	"Worn on head",
	"Worn on ears",
	"Worn around Neck",
	"Worn on body",
	"Worn as armor",
	"Worn about body",
	"Equipped as quiver",
	"Worn on arms",
	"Worn on hands",
	"Worn on right finger",
	"Worn on left finger",
	"Worn around waist",
	"Worn as sheath",
	"Worn in sheath",
	"Worn as sheath",
	"Worn in sheath",
	"Worn as sheath",
	"Worn in sheath",
	"Worn on legs",
	"Worn on feet",
	"Wielded",
	"Held",
	"\n"
	};


/* ITEM_x (ordinal object types) */
const char *item_types[] = {
	"UNDEFINED",
	"WEAPON",
	"WORN",
	"OTHER",
	"CONTAINER",
	"DRINKCON",
	"FOOD",
	"BOAT",
	"TREE",
	"BOARD",
	"CORPSE",
	"ORE",
	"CLAY",
	"SKIN",
	"MAIL",
	"MONEY",
	"CART",
	"SHIP",
	"HELM",
	"WINDOW",
	"MISSILE_WEAPON",
	"ARROW",
	"INSTRUMENT",
	"\n"
	};


/* ITEM_WEAR_ (wear bitvector) */
const char *wear_bits[] = {
	"TAKE",
	"FINGER",
	"NECK",
	"BODY",
	"HEAD",
	"LEGS",
	"FEET",
	"HANDS",
	"ARMS",
	"QUIVER",
	"ABOUT",
	"WAIST",
	"EARS",
	"WIELD",
	"HOLD",
	"SHEATH",
	"ARMOR",
	"\n"
	};


/* ITEM_x (extra bits) */
const char *extra_bits[] = {
	"CHAIR",
	"PLANTABLE",
	"LIGHT",
	"SUPERIOR",
	"LARGE",
	"CREATED",
	"\n"
	};


/* INSTR_x (instrument types) */
const char *instr_types[] = {
	"LYRE",
	"FLUTE",
	"\n"
	};


/* APPLY_x */
const char *apply_types[] = {
	"NONE",			"STRENGTH",		"DEXTERITY",
	"STAMINA",		"CHARISMA",		"MANIPULATION",
	"APPEARANCE",	"PERCEPTION",	"INTELLIGENCE",
	"WITS",			"AGE",			"MAXMOVE",
	"SOAK",			"BLOCK",		"ATTACKS",
	"FORTITUDE",
	"\n"
	};


/* CONT_x */
const char *container_bits[] = {
	"CLOSEABLE",
	"CLOSED",
	"\n"
	};


/* LIQ_x */
const char *drinks[] = {
	"water",
	"beer",
	"wine",
	"ale",
	"whisky",
	"milk",
	"blood",
	"honey",
	"\n"
	};


/* one-word alias for each drink */
const char *drinknames[] = {
	"water",
	"beer",
	"wine",
	"ale",
	"whisky",
	"milk",
	"blood",
	"hony",
	"\n"
	};


/* effect of drinks on hunger, thirst, and drunkenness */
int drink_aff[][3] = {
	{0, 0, 10},		/* water	*/
	{3, 2, 5},		/* beer		*/
	{5, 2, 5},		/* wine		*/
	{2, 2, 5},		/* ale		*/
	{6, 1, 4},		/* whisky	*/
	{0, 3, 6},		/* milk		*/
	{0, 2, -1},		/* blood	*/
	{0, 0, 1}		/* honey	*/
	};


/* color of the various drinks */
const char *color_liquid[] = {
	"clear",
	"brown",
	"violet",
	"brown",
	"golden",
	"white",
	"red",
	"golden",
	"\n"
	};


/* level of fullness for drink containers */
const char *fullness[] = {
	"less than half ",
	"about half ",
	"more than half ",
	""
	};


/* str applies **************************************/

/* [ch] strength apply (carry weight, wield weight) */
cpp_extern const struct str_app_type str_app[] = {
	{ 0,	0,	},		/*  0 */
	{ 170,	15,	},		/*  1 */
	{ 195,	16,	},		/*  2 */
	{ 220,	18,	},		/*  3 */
	{ 255,	20,	},		/*  4 */
	{ 280,	22,	},		/*  5 */
	{ 305,	24,	},		/*  6 */
	{ 330,	26,	},		/*  7 */
	{ 380,	28,	},		/*  8 */
	{ 480,	30,	},		/*  9 */
	{ 640,	40,	}		/* 10 */
	};


int rev_dir[] = {
	SOUTH,
	WEST,
	NORTH,
	EAST,
	SOUTHEAST,
	SOUTHWEST,
	NORTHEAST,
	NORTHWEST,
	DOWN,
	UP
	};


int movement_loss[] = {
	2,		/* Field	*/
	6,		/* Forest4	*/
	4,		/* Forest3	*/
	3,		/* Forest2	*/
	2,		/* Forest1	*/
	4,		/* River	*/
	4,		/* Ocean	*/
	3,		/* Crop		*/
	100,	/* Mountain	*/
	1,		/* Road		*/
	1,		/* Building	*/
	1,		/* Inside	*/
	1,		/* Shrine	*/
	3,		/* Seeded	*/
	2,		/* Well		*/
	1,		/* Fountain */
	1,		/* Multi	*/
	4,		/* Trench	*/
	1,		/* ToS		*/
	4,		/* Waste	*/
	4,		/* Desert	*/
	3,		/* Oasis	*/
	1,		/* Barrier	*/
	1,		/* Monument	*/
	1		/* Monument	*/
	};


const char *weekdays[] = {
	"Monday",
	"Tuesday",
	"Wednesday",
	"Thursday",
	"Friday",
	"Saturday",
	"Sunday",
	"\n"
	};


const char *month_name[] = {
	"January",				"February",					"March",
	"April",				"May",						"June",
	"July",					"August",					"September",
	"October",				"November",					"December",
	"\n"
	};


/* ITEM_MAT_x */
const char *materials[] = {
	"wood",
	"rock",
	"iron",
	"silver",
	"gold",
	"flint",
	"clay",
	"flesh",
	"glass",
	"wax",
	"\n"
	};


const char *reboot_type[] = { "reboot", "shutdown" };

const char *reboot_strings[] = {
	"   EmpireMUD is performing a soft reboot.  This process generally takes ten\r\n"
	"to fifteen seconds and will not disconnect you.  Most character actions are\r\n"
	"not affected, although fighting will stop.\r\n",

	"Q. What is a \"soft reboot?\"\r\n"
	"A. A reboot which allows the mud to reload code without disconnecting players.\r\n"
	"This means that you won't have to go through the hassle of logging in again.\r\n",

	"Q. What if I lose something in the reboot?\r\n"
	"A. Nothing is lost because your character and equipment are saved when the\r\n"
	"reboot happens.  The world is also saved so if you were building or chopping\r\n"
	"you won't have to start over.\r\n",

	"Hush and be still, O my enemy.  It is nothing less than fate which drives my\r\n"
	"hand, and you suffer no dishonor in falling to a superior foe.\r\n"
	" - Clan Assamite\r\n",

	"You fools!  There are greater things in existence, and they are within your\r\n"
	"reach!  We can change the world if you but stand with us.  Wake up before you\r\n"
	"die!\r\n"
	" - Clan Brujah\r\n",

	"In the end, we shall all end up as dust -- yes, even you, my brother.  But are\r\n"
	"you really foolish enough to think that will be the end of existence?\r\n"
	" - Clan Cappadocian\r\n",

	"Ah, say no more, my friend.  No words are necessary.  You hunger -- I can sate\r\n"
	"you.  You thirst -- I can quench that thirst.  Please, follow me.\r\n"
	" - The Followers of Set\r\n",

	"Thou art a valorous warrior, mortal, to have won through to this place.  I\r\n"
	"shall give thee a death worthy of a champion and tell tales of thy heroism.\r\n"
	" - Clan Gangrel\r\n",

	"An excellent decision.  I applaud.  Did you actually manage to reach it all by\r\n"
	"yourself?\r\n"
	" - Clan Lasombra\r\n",

	"Ha!  You demand order, expect hierarchy?  Yes.  It's there, milord.  In the\r\n"
	"cracks, milord.  But can you look on it without tearing out your eyes?\r\n"
	" - Clan Malkavian\r\n",

	"Oh, woe, my prince, that one so lowly as I hath offended thee!  Flog me into\r\n"
	"torpor!  Stake me and leave me for the sun!  Lop off my head!  Just... don't\r\n"
	"send me back to the fief of the Lasombra Contessa Isabel... What?  She is your\r\n"
	"enemy, milord?  Why yes, I did escape her impregnable fortress... through the\r\n"
	"secret tunnel, of course.  What secret tunnel, you say?  Well, milord, perhaps\r\n"
	"we should discourse in your private chambers....\r\n"
	" - Clan Nosferatu\r\n",

	"Call me a vagabond, and I'll smile.  Call me a thief, and I'll laugh.  Call me\r\n"
	"a liar, and I'll feed you your liver.\r\n"
	" - Clan Ravnos\r\n",

	"We have eternity stretched out before us, while the mortals have but an\r\n"
	"eyeblink.  How can we be so selfish as to spend our time fighting and\r\n"
	"despoiling?  The eventual salvation of us all lies in the secrets of creative\r\n"
	"genius -- you have but to look for it.\r\n"
	" - Clan Toreador\r\n",

	"Our road is clear, and stretches toward nothing less than ultimate control\r\n"
	"over ourselves and our fellows.  But we cannot reach the end alone.  As a\r\n"
	"clan, and only as a clan, may we triumph.\r\n"
	" - Clan Tremere\r\n",

	"Good evening, traveler.  I bid you welcome to the demesne of my voivode, Count\r\n"
	"Vladimir Rustovitch, whose fiefdom you crossed into at the ford a league back.\r\n"
	"You are in luck -- we have ample accommodations and a surfeit of choice\r\n"
	"entertainments awaiting you at our castle.\r\n"
	" - Clan Tzimisce\r\n",

	"Your wishes may matter on your lands, Baron.  This night you stand on mine,\r\n"
	"and here my word is law.\r\n"
	" - Clan Ventrue\r\n",

	"\n"
	};

int num_of_reboot_strings = 16;


/* Which weapon types deal which damage types: */
const int dam_type[] = {
	DAM_BASHING,	/* hit		*/
	DAM_LETHAL,		/* slash	*/
	DAM_LETHAL,		/* slice	*/
	DAM_BASHING,	/* sting	*/
	DAM_LETHAL,		/* stab		*/
	DAM_BASHING,	/* pound	*/
	DAM_BASHING,	/* hammer	*/
	DAM_BASHING,	/* whip		*/
	DAM_LETHAL,		/* pick		*/
	DAM_LETHAL,		/* bite		*/
	DAM_LETHAL,		/* claw		*/
	DAM_BASHING,	/* kick		*/
	DAM_AGGRAVATED,	/* fire		*/
	DAM_AGGRAVATED,	/* talons	*/
	DAM_AGGRAVATED,	/* tongue	*/
	DAM_BASHING		/* hit		*/
	};


/* For blood agony.. */
const int blood_cap[] = {
	0,	/* hit		*/
	3,	/* slash	*/
	4,	/* slice	*/
	0,	/* sting	*/
	1,	/* stab		*/
	0,	/* pound	*/
	0,	/* hammer	*/
	0,	/* whip		*/
	2,	/* pick		*/
	1,	/* bite		*/
	2,	/* claw		*/
	0,	/* kick		*/
	0,	/* fire		*/
	0,	/* talons	*/
	0,	/* tongue	*/
	0	/* hit		*/
	};


/* ROOM_AFF_x: */
const char *room_aff_bits[] = {
	"DARK",
	"SILENT",
	"FOREST",
	"DESERT",
	"MOUNTAIN",
	"!GROW",
	"\n"
	};


/* ATYPE_x */
const char *affect_types[] = {
	"!RESERVED!",
	"cowing the beast",
	"entrancement",
	"nocturne",
	"arms of ahriman",
	"boost",
	"celerity",
	"masque of death",
	"blight",
	"silence of death",
	"earthmeld",
	"bitumenous flesh",
	"armor of vitality",
	"bestow vigor",
	"weakness",
	"disease",
	"hinder vitae",
	"nightshades",
	"diablerie",
	"\n"
	};


/* ATYPE_x */
const char *affect_wear_off_msgs[] = {
	"!RESERVED!",
	"Your willpower returns.",
	"You no longer feel entranced.",
	"The blanked of darkness dissipates.",
	"You can now form the arms of Ahriman again.",
	"You suddenly feel weaker.",
	"You slow down again.",
	"Your flesh returns to normal!",
	"Your age returns to normal!",
	"The silence dissipates!",
	"You rise from the ground!",
	"Your flesh returns to normal.",
	"Your flesh returns to normal.",
	"Your heightened Fortitude fades.",
	"Your weakness fades.",
	"You recover from your disease.",
	"Your vitae is no longer hindered.",
	"The nightshades no longer haunt you.",
	"Your blood stabilizes.",
	"\n"
	};