roh/conf.old/area/
roh/config/code/python/
roh/config/game/area/
roh/config/game/signs/
roh/help/dmhelp/
roh/help/help/
roh/log/
roh/log/staff/
roh/monsters/ocean/
roh/objects/misc/
roh/objects/ocean/
roh/player/
roh/rooms/area/1/
roh/rooms/misc/
roh/rooms/ocean/
roh/src-2.47e/
/*
 * global.cpp
 *   Global variables and such
 *   ____            _
 *  |  _ \ ___  __ _| |_ __ ___  ___
 *  | |_) / _ \/ _` | | '_ ` _ \/ __|
 *  |  _ <  __/ (_| | | | | | | \__ \
 *  |_| \_\___|\__,_|_|_| |_| |_|___/
 *
 * Permission to use, modify and distribute is granted via the
 *  Creative Commons - Attribution - Non Commercial - Share Alike 3.0 License
 *    http://creativecommons.org/licenses/by-nc-sa/3.0/
 *
 * 	Copyright (C) 2007-2012 Jason Mitchell, Randi Mitchell
 * 	   Contributions by Tim Callahan, Jonathan Hseu
 *  Based on Mordor (C) Brooke Paul, Brett J. Vickers, John P. Freeman
 *
 */

#define MIGNORE
#include "mud.h"
#include "import.h"
#include "commands.h"

/*
 *
 * Configurable settings.
 *
 */
char auth_questions_email[80]="realms@rohonline.net";
char questions_to_email[80]="realms@rohonline.net";
char register_questions_email[80]="realms@rohonline.net";

long InBytes = 0;
long UnCompressedBytes = 1; // So we never have a divide by 0 error ;)
long OutBytes = 0;
int bHavePort = 0;

// How many times has crash been called?
int	 Crash = 0;

// Numbers of supports required to create a guild
int	SUPPORT_REQUIRED = 2;

int		Tablesize;
int		Cmdnum;
long	StartTime;
struct  lasttime	Shutdown;
struct  lasttime	Weather[5];
int		Numlockedout;

const char *dmname[] = {
	"Admin", NULL
};


char allowedClassesStr[CLASS_COUNT + 4][16] = { "Assassin", "Berserker", "Cleric", "Fighter",
			"Mage", "Paladin", "Ranger", "Thief", "Pureblood", "Monk", "Death Knight",
			"Druid", "Lich", "Werewolf", "Bard", "Rogue", "Figh/Mage", "Figh/Thief",
			"Cler/Ass", "Mage/Thief", "Thief/Mage", "Cler/Figh", "Mage/Ass" };


class_stats_struct class_stats[CLASS_COUNT] = {
	{  0,  0,  0,  0,  0,  0,  0},
	{ 19,  2,  6,  2,  1,  6,  0},  // assassin
	{ 24,  0,  8,  1,  1,  3,  1},  // barbarian
	{ 16,  4,  5,  4,  1,  4,  0},  // cleric
	{ 22,  2,  7,  2,  1,  5,  0},  // fighter
	{ 14,  5,  4,  5,  1,  3,  0},  // mage
	{ 19,  3,  6,  3,  1,  4,  0},  // paladin
	{ 18,  3,  6,  3,  2,  2,  0},  // ranger
	{ 18,  3,  5,  2,  2,  2,  1},  // thief
	{ 15,  3,  5,  4,  2,  2,  1},  // pureblood
	{ 17,  3,  5,  2,  1,  3,  0},  // monk
	{ 19,  3,  6,  3,  1,  4,  0},  // death-knight
	{ 15,  4,  5,  4,  1,  3,  0},  // druid
	{ 16,  0,  6,  0,  1,  3,  1},  // lich
	{ 20,  1,  6,  2,  1,  3,  1},  // werewolf
	{ 17,  3,  5,  4,  2,  2,  0},  // bard
	{ 18,  3,  5,  2,  2,  2,  1},  // rogue
	{ 30, 30, 10, 10,  5,  5,  5},  // builder
	{ 30, 30, 10, 10,  5,  5,  5},  // unused
	{ 30, 30, 10, 10,  5,  5,  5},  // caretaker
	{ 30, 30, 10, 10,  5,  5,  5}   // dungeonmaster
};

int statBonus[40] = {
	-4, -4, -4,			// 0 - 2
	-3, -3,				// 3 - 4
	-2, -2,				// 5 - 6
	-1,					// 7
	0, 0, 0, 0, 0, 0,	// 8 - 13
	1, 1, 1,			// 14 - 16
	2, 2, 2, 2,			// 17 - 20
	3, 3, 3, 3,			// 21 - 24
	4, 4, 4,			// 25 - 27
	5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 };	// 28+


short multiHpMpAdj[MAX_MULTICLASS][2] = {
	//  Hp  Mp	   ID  Classes
	{   0,  0	}, // 0: None
	{   5,  4	}, // 1: Fighter/Mage
	{   6,  2	}, // 2: Fighter/Thief
	{   5,  3	}, // 3: Cleric/Assassin
	{   5,  4	}, // 4: Mage/Thief
	{   5,  3	}, // 5: Thief/Mage
	{   6,  3	}, // 6: Cleric/Fighter
	{   5,  3	}  // 7: Mage/Assassin
};

short saving_throw_cycle[][10] = { // POI   DEA   BRE   MEN   SPL
		// 2	3	4	5	6	7	8	9	10   11
		{ 0,   0,   0,   0,   0,   0,   0,   0,   0,   0   },
		{ POI, DEA, BRE, POI, SPL, MEN, POI, DEA, BRE, POI },  // assassin
		{ DEA, BRE, MEN, SPL, DEA, BRE, POI, DEA, POI, SPL },  // barbarian
		{ SPL, MEN, DEA, POI, SPL, BRE, SPL, MEN, BRE, SPL },  // cleric
		{ MEN, BRE, MEN, SPL, DEA, BRE, POI, DEA, POI, BRE },  // fighter
		{ SPL, POI, MEN, SPL, DEA, MEN, SPL, BRE, MEN, SPL },  // mage
		{ BRE, MEN, DEA, POI, SPL, BRE, SPL, POI, BRE, DEA },  // paladin
		{ SPL, BRE, MEN, POI, DEA, BRE, MEN, DEA, POI, SPL },  // ranger
		{ POI, MEN, DEA, POI, SPL, DEA, POI, DEA, BRE, POI },  // thief
		{ SPL, MEN, DEA, SPL, BRE, MEN, SPL, MEN, DEA, POI },  // pureblood
		{ POI, MEN, SPL, BRE, DEA, MEN, POI, MEN, SPL, MEN },  // monk
		{ BRE, MEN, DEA, POI, SPL, BRE, SPL, POI, BRE, DEA },  // death-knight
		{ POI, SPL, POI, DEA, MEN, BRE, SPL, POI, DEA, POI },  // druid
		{ SPL, DEA, MEN, SPL, DEA, MEN, SPL, MEN, DEA, SPL },  // lich
		{ DEA, BRE, POI, MEN, DEA, BRE, SPL, DEA, POI, SPL },  // werewolf
		{ SPL, MEN, DEA, SPL, BRE, POI, MEN, POI, SPL, BRE },  // bard
		{ DEA, MEN, POI, DEA, SPL, POI, DEA, POI, BRE, DEA },  // rogue
		{ POI, DEA, BRE, MEN, SPL, POI, DEA, BRE, MEN, SPL },  // builder
		{ POI, DEA, BRE, MEN, SPL, POI, DEA, BRE, MEN, SPL },  // 	unused
		{ POI, DEA, BRE, MEN, SPL, POI, DEA, BRE, MEN, SPL },  // caretaker
		{ POI, DEA, BRE, MEN, SPL, POI, DEA, BRE, MEN, SPL }   // dungeonmaster
};

int numBans = 0;
int numQuests = 0;
//int maxGuild = 0;

unsigned long needed_exp[] = {
	//2   3	 4	 5	 6	 7	  8	  9	  10
	500, 1000, 2000, 4000, 8000, 16000, 32000, 64000, 100000,
	// 500	1k   2k   4k	 8k	16k	32k   36k
	//11	  12	  13	  14	  15	  16	   17
	160000, 270000, 390000, 560000, 750000, 1000000, 1300000,
	// 60k   110k	120k   170k	190k	250k	 300k
	//18	  19		20	   21	   22	   23	   24
	1700000, 2200000, 2800000, 3500000, 4300000, 5300000, 6500000,
	//400k   500k	600k	 700k	 800k	 1mil	 1.5mil
	// 25	   26	  27		28		  29	   30		 31
	8000000, 10000000, 12200000, 14700000, 17500000, 21500000, 25700000,
	// 32		33	   34	   35		 36		37		38
	30100000, 34700000, 39600000, 44800000, 50300000, 56200000, 62500000,
	// 39		40		41
	69200000, 76200000, 2000000000

	};




char article[][10] = {
	"the",
	"from",
	"to",
	"with",
	"an",
	"in",
	"for",
	"@"
};


struct osong_t osong[] = {
	{ SONG_DESTRUCTION,	 	Dice(10, 20, 10) },
	{ SONG_MASS_DESTRUCTION,	Dice(5,  10, 5) },
	{ -1,			   		Dice(0,  0,  0) }
};

struct osp_t ospell[] = {
	/*
	int splno;
	char	realm;
	Dice	damage;
	char	bonus_type;
	*/
	{ S_RUMBLE,			EARTH,	3,	Dice(1, 8, 0),	1, 0},	// rumble
	{ S_ZEPHYR,			WIND,	3,	Dice(1, 8, 0),	1, 0},	// hurt
	{ S_BURN,			FIRE,	3,	Dice(1, 8, 0),	1, 0},	// burn
	{ S_BLISTER,		WATER,	3,	Dice(1, 8, 0),	1, 0},	// blister
	{ S_ZAP,			ELEC,	3,	Dice(1, 8, 0),	1, 0},	// zap
	{ S_CHILL,			COLD,	3,	Dice(1, 8, 0),	1, 0},	// chill

	{ S_CRUSH,			EARTH,	7,	Dice(2, 5, 7),	2, 0},	// crush
	{ S_DUSTGUST,		WIND,	7,	Dice(2, 5, 7),	2, 0},	// dustgust 9-17 base dmg
	{ S_FIREBALL,		FIRE,	7,	Dice(2, 5, 7),	2, 0},	// fireball
	{ S_WATERBOLT,		WATER,	7,	Dice(2, 5, 7),	2, 0},	// waterbolt
	{ S_LIGHTNING_BOLT,	ELEC,	7,	Dice(2, 5, 7),	2, 0},	// lightning-bolt
	{ S_FROSTBITE,		COLD,	7,	Dice(2, 5, 7),	2, 0},	// frostbite

	{ S_ENGULF,			EARTH,	10,	Dice(2, 5, 14),	2, 0},	// ACTUALLY SHATTERSTONE
	{ S_WHIRLWIND,		WIND,	10,	Dice(2, 5, 14),	2, 0},	// whirlwind 16-24 base damage
	{ S_BURSTFLAME,		FIRE,	10,	Dice(2, 5, 14),	2, 0},	// burstflame
	{ S_STEAMBLAST,		WATER,	10,	Dice(2, 5, 14),	2, 0},	// steamblast
	{ S_SHOCKBOLT,		ELEC,	10,	Dice(2, 5, 14),	2, 0},	// shockbolt
	{ S_SLEET,			COLD,	10,	Dice(2, 5, 14),	2, 0},	// sleet

	{ S_SHATTERSTONE,	EARTH,	15,	Dice(3, 4, 21),	3, 0},	// ACTUALLY ENGULF
	{ S_CYCLONE,		WIND,	15,	Dice(3, 4, 21),	3, 0},	// cyclone 24-35 base damage
	{ S_IMMOLATE,		FIRE,	15,	Dice(3, 4, 21),	3, 0},	// immolate
	{ S_BLOODBOIL,		WATER,	15,	Dice(3, 4, 21),	3, 0},	// bloodboil
	{ S_ELECTROCUTE,	ELEC,	15,	Dice(3, 4, 21),	3, 0},	// electrocute
	{ S_COLD_CONE,		COLD,	15,	Dice(3, 4, 21),	3, 0},	// cold-cone

	{ S_EARTH_TREMOR,	EARTH,	25,	Dice(4, 5, 35),	3, 0},	// earth-tremor
	{ S_TEMPEST,		WIND,	25,	Dice(4, 5, 35),	3, 0},	// tempest 39-59 base damage
	{ S_FLAMEFILL,		FIRE,	25,	Dice(4, 5, 35),	3, 0},	// flamefill
	{ S_ATROPHY,		WATER,	25,	Dice(4, 5, 35),	3, 0},	// atrophy
	{ S_THUNDERBOLT,	ELEC,	25,	Dice(4, 5, 35),	3, 0},	// thuderbolt
	{ S_ICEBLADE,		COLD,	25,	Dice(4, 5, 35),	3, 0},	// iceblade

	// multiple target spells
	{ S_EARTHQUAKE,			EARTH,	3,	Dice(2, 5, 10),	2, 0},	// earthquake
	{ S_HURRICANE,			WIND,	3,	Dice(2, 5, 10),	2, 0},	// hurricane 12-20 base damage
	{ S_FIRESTORM,			FIRE,	3,	Dice(2, 5, 10),	2, 0},	// firestorm
	{ S_FLOOD,				WATER,	3,	Dice(2, 5, 10),	2, 0},	// tsunami
	{ S_CHAIN_LIGHTNING,	ELEC,	3,	Dice(2, 5, 10),	2, 0},	// chain-lightning
	{ S_BLIZZARD,			COLD,	3,	Dice(2, 5, 10),	2, 0},	// icestorm

	// necro spells
	{ S_SAP_LIFE,			NO_REALM,	3,	Dice(2, 4, 0),		0, true},
	{ S_LIFETAP,			NO_REALM,	6,	Dice(2, 5, 8),		0, true},
	{ S_LIFEDRAW,			NO_REALM,	9,	Dice(2, 6, 18),		0, true},
	{ S_DRAW_SPIRIT,		NO_REALM,	12,	Dice(2, 7, 30),		0, true},
	{ S_SIPHON_LIFE,		NO_REALM,	15,	Dice(2, 8, 44),		0, true},
	{ S_SPIRIT_STRIKE,		NO_REALM,	18,	Dice(2, 9, 60),		0, true},
	{ S_SOULSTEAL,			NO_REALM,	21,	Dice(2, 10, 78),	0, true},
	{ S_TOUCH_OF_KESH,		NO_REALM,	24,	Dice(2, 11, 98),	0, true},

	{ -1, NO_REALM, 0, Dice(0, 0, 0), 0 }
};


// Wolf leveling code
Dice wolf_dice[41] =
{							// Old dice
	Dice(2, 2, 0),   /* 0  */  // Dice(1, 4, 0)
	Dice(2, 2, 0),   /* 1  */  // Dice(1, 4, 0)
	Dice(2, 2, 1),   /* 2  */  // Dice(1, 5, 1)
	Dice(2, 3, 1),   /* 3  */  // Dice(1, 7, 1)
	Dice(2, 4, 0),   /* 4  */  // Dice(1, 7, 2)
	Dice(3, 3, 0),   /* 5  */  // Dice(2, 3, 2)
	Dice(3, 3, 2),   /* 6  */  // Dice(2, 4, 1)
	Dice(4, 3, 0),   /* 7  */  // Dice(2, 4, 2)
	Dice(4, 3, 1),   /* 8  */  // Dice(2, 5, 1)
	Dice(5, 3, 0),   /* 9  */  // Dice(2, 5, 2)
	Dice(5, 3, 1),   /* 10 */  // Dice(2, 6, 1)
	Dice(5, 3, 2),   /* 11 */  // Dice(2, 6, 2)
	Dice(6, 3, 1),   /* 12 */  // Dice(3, 4, 1)
	Dice(6, 3, 2),   /* 13 */  // Dice(3, 4, 2)
	Dice(7, 3, 0),   /* 14 */  // Dice(3, 5, 1)
	Dice(7, 3, 1),   /* 15 */  // Dice(3, 5, 2)
	Dice(7, 3, 2),   /* 16 */  // Dice(3, 7, 1)
	Dice(7, 3, 3),   /* 17 */  // Dice(4, 5, 0)
	Dice(7, 4, 0),   /* 18 */  // Dice(5, 6, 1)
	Dice(7, 4, 2),   /* 19 */  // Dice(5, 6, 2)
	Dice(7, 4, 3),   /* 20 */  // Dice(6, 5, 3)
	Dice(7, 4, 5),   /* 21 */  // Dice(6, 6, 0)
	Dice(7, 5, 0),   /* 22 */  // Dice(6, 6, 2)
	Dice(7, 5, 2),   /* 23 */  // Dice(6, 6, 3)
	Dice(7, 5, 1),   /* 24 */  // Dice(6, 7, 1)
	Dice(7, 5, 3),   /* 25 */  // Dice(6, 8, 0)
	Dice(8, 5, 0),   /* 26 */  // Dice(6, 8, 2)
	Dice(8, 5, 2),   /* 27 */  // Dice(6, 8, 4)
	Dice(8, 5, 4),   /* 28 */  // Dice(7, 7, 2)
	Dice(9, 5, 2),   /* 29 */  // Dice(7, 7, 4)
	Dice(9, 5, 3),	/* 30 */  // Dice(7, 7, 6)
	Dice(9, 5, 3),	/* 31 */  // Dice(7, 7, 6)
	Dice(9, 5, 3),	/* 32 */  // Dice(7, 7, 6)
	Dice(9, 5, 3),	/* 33 */  // Dice(7, 7, 6)
	Dice(9, 5, 3),	/* 34 */  // Dice(7, 7, 6)
	Dice(9, 5, 3),	/* 35 */  // Dice(7, 7, 6)
	Dice(9, 5, 3),	/* 36 */  // Dice(7, 7, 6)
	Dice(9, 5, 3),	/* 37 */  // Dice(7, 7, 6)
	Dice(9, 5, 3),	/* 38 */  // Dice(7, 7, 6)
	Dice(9, 5, 3),	/* 39 */  // Dice(7, 7, 6)
	Dice(9, 5, 3)	/* 40 */  // Dice(7, 7, 6)
};


// monk leveling code
Dice monk_dice[41] =
{
	Dice(1, 3, 0),	/* 0  */  // Old dice
	Dice(1, 3, 0),	/* 1  */  // Dice(1, 3, 0)
	Dice(1, 4, 0),	/* 2  */  // Dice(1, 5, 0)
	Dice(1, 5, 0),	/* 3  */  // Dice(1, 5, 1)
	Dice(1, 6, 0),	/* 4  */  // Dice(1, 6, 0)
	Dice(1, 6, 1),	/* 5  */  // Dice(1, 6, 1)
	Dice(2, 4, 1),	/* 6  */  // Dice(1, 6, 2)
	Dice(2, 5, 0),	/* 7  */  // Dice(2, 3, 1)
	Dice(2, 5, 1),	/* 8  */  // Dice(2, 4, 0)
	Dice(2, 6, 0),	/* 9  */  // Dice(2, 4, 1)
	Dice(2, 6, 2),	/* 10 */  // Dice(2, 5, 0)
	Dice(3, 5, 2),	/* 11 */  // Dice(2, 5, 2)
	Dice(3, 6, 0),	/* 12 */  // Dice(2, 6, 1)
	Dice(3, 6, 2),	/* 13 */  // Dice(2, 6, 2)
	Dice(3, 7, 0),	/* 14 */  // Dice(3, 6, 1)
	Dice(3, 7, 2),	/* 15 */  // Dice(3, 7, 1)
	Dice(4, 6, 2),	/* 16 */  // Dice(4, 7, 1)
	Dice(4, 7, 0),	/* 17 */  // Dice(5, 7, 0)
	Dice(4, 7, 2),	/* 18 */  // Dice(5, 8, 1)
	Dice(4, 8, 0),	/* 19 */  // Dice(6, 7, 0)
	Dice(4, 8, 2),	/* 20 */  // Dice(6, 7, 2)
	Dice(5, 7, 2),	/* 21 */  // Dice(6, 8, 0)
	Dice(5, 8, 0),	/* 22 */  // Dice(6, 8, 2)
	Dice(5, 8, 2),	/* 23 */  // Dice(6, 9, 0)
	Dice(5, 9, 0),	/* 24 */  // Dice(6, 9, 2)
	Dice(5, 9, 2),	/* 25 */  // Dice(6, 10, 0 )
	Dice(6, 8, 2),	/* 26 */  // Dice(6, 10, 2 )
	Dice(6, 9, 0),	/* 27 */  // Dice(7, 9, 4)
	Dice(6, 9, 2),	/* 28 */  // Dice(7, 9, 6)
	Dice(6, 10, 0),	/* 29 */  // Dice(7, 8, 8)
	Dice(6, 10, 2),	/* 30 */  // Dice(8, 8, 10 )
	Dice(6, 10, 2),	/* 31 */  // Dice(8, 8, 10 )
	Dice(6, 10, 2),	/* 32 */  // Dice(8, 8, 10 )
	Dice(6, 10, 2),	/* 33 */  // Dice(8, 8, 10 )
	Dice(6, 10, 2),	/* 34 */  // Dice(8, 8, 10 )
	Dice(6, 10, 2),	/* 35 */  // Dice(8, 8, 10 )
	Dice(6, 10, 2),	/* 36 */  // Dice(8, 8, 10 )
	Dice(6, 10, 2),	/* 37 */  // Dice(8, 8, 10 )
	Dice(6, 10, 2),	/* 38 */  // Dice(8, 8, 10 )
	Dice(6, 10, 2),	/* 39 */  // Dice(8, 8, 10 )
	Dice(6, 10, 2)	/* 40 */  // Dice(8, 8, 10 )

};


//typedef struct {
//	short	hp;
//	short	mp;
//	short	armor;
//	short	thaco;
//	short	ndice;
//	short	sdice;
//	short	pdice;
//	short	str;
//	short	dex;
//	short	con;
//	short	intel;
//	short	pie;
//	long	realms;
//} creatureStats;
//
	// 0 = weak, 1 = normal, 2 = buff
creatureStats conjureStats[3][40]  =
{
	// Weak
   {
		{25,4,100,21,1,2,0,16,10,12,10,10,0},
		{29,8,110,20,1,6,0,16,10,12,10,10,250},
		{33,12,120,19,1,7,0,16,10,14,10,10,500},
		{37,16,130,18,2,2,2,16,10,15,10,10,750},
		{41,20,140,17,2,4,0,16,10,16,10,10,1250},
		{45,24,150,16,2,4,4,16,10,16,11,10,1500},
		{49,28,160,15,2,3,5,16,10,16,12,10,3000},
		{53,32,170,14,3,4,2,16,10,16,13,10,6000},
		{57,36,180,13,3,5,1,16,10,16,14,12,11250},
		{61,40,190,12,4,4,2,16,10,16,15,12,13250},
		{65,44,200,11,3,6,1,16,10,16,16,12,15000},
		{69,48,210,10,2,9,6,16,10,16,16,13,17500},
		{73,52,220,9,4,4,3,16,10,16,16,14,20000},
		{77,56,230,8,4,5,3,16,10,16,17,14,22500},
		{81,60,240,7,4,5,5,16,10,16,18,16,25000},
		{85,64,250,6,4,5,7,16,10,17,18,17,27500},
		{89,68,260,5,4,5,9,18,10,18,19,18,30000},
		{93,72,270,4,5,6,4,18,10,18,20,18,32500},
		{97,76,280,3,5,6,8,18,10,18,20,19,35000},
		{101,80,290,2,4,7,8,18,10,18,20,19,37500},
		{105,84,300,1,9,5,1,18,10,18,20,19,40000},
		{109,88,310,0,8,5,8,19,10,19,20,19,47500},
		{113,92,320,-1,10,5,2,19,10,19,20,19,55000},
		{117,96,330,-2,10,5,5,19,10,19,20,19,62500},
		{121,100,340,-3,20,3,0,20,10,19,20,20,70000},
		{125,104,350,-4,20,3,2,20,10,19,20,20,77500},
		{129,108,360,-5,13,4,9,20,10,20,20,20,85000},
		{133,112,370,-6,13,5,2,20,10,20,20,20,92500},
		{137,116,380,-7,15,4,6,21,12,20,21,20,100000},
		{141,120,390,-8,16,3,13,21,12,21,21,21,107500},
		{145,124,400,-9,16,3,15,22,13,22,22,22,120000},
		{149,128,410,-10,16,3,17,23,13,22,22,22,130000},
		{153,132,420,-11,16,3,19,23,14,23,22,22,140000},
		{157,136,430,-12,16,3,21,23,14,23,23,23,150000},
		{161,140,440,-13,16,3,23,24,15,23,23,23,165000},
		{165,144,450,-14,16,3,25,24,15,23,24,23,180000},
		{169,148,460,-15,16,3,27,24,16,24,24,24,195000},
		{173,152,470,-16,16,3,29,25,17,24,24,25,210000},
		{177,156,480,-17,16,3,31,25,18,25,25,25,230000},
		{181,160,490,-18,16,3,33,26,19,25,26,25,250000}
	},
	// Normal
	{
		{27,5,200,20,1,4,0,16,10,10,10,10,0},
		{32,10,215,19,2,3,0,17,10,12,10,10,500},
		{37,15,230,18,2,3,2,18,10,14,10,10,1000},
		{42,20,245,17,2,3,2,18,10,15,10,10,1500},
		{47,25,260,16,2,3,4,18,10,16,10,10,2500},
		{52,30,275,15,4,2,4,18,10,17,12,10,3000},
		{57,35,290,14,2,4,6,18,10,18,14,10,6000},
		{62,40,305,13,4,3,4,18,10,18,15,10,12000},
		{67,45,320,12,5,3,3,18,10,18,16,10,22500},
		{72,50,335,11,3,5,5,18,10,18,17,10,26500},
		{77,55,350,10,3,6,4,18,10,18,18,10,30000},
		{82,60,365,9,3,6,6,18,10,18,18,12,35000},
		{87,65,380,8,4,4,8,18,10,18,18,14,40000},
		{92,70,395,7,4,5,8,18,10,18,18,15,45000},
		{97,75,410,6,5,5,5,18,10,18,18,16,50000},
		{102,80,425,5,4,6,8,18,10,18,18,17,55000},
		{107,85,440,4,4,6,9,18,10,18,18,18,60000},
		{112,90,465,3,5,6,8,19,10,19,19,19,65000},
		{117,95,480,2,6,5,10,20,10,20,20,20,70000},
		{122,100,495,1,4,7,10,21,10,20,20,20,75000},
		{127,105,510,0,9,5,4,21,11,21,20,20,80000},
		{132,110,525,-2,8,5,10,21,11,21,21,20,95000},
		{137,115,540,-4,10,5,6,21,11,21,21,21,110000},
		{142,120,555,-7,10,5,8,21,11,22,21,21,125000},
		{147,125,570,-8,15,4,0,21,11,22,22,21,140000},
		{152,130,585,-8,20,3,4,21,11,22,22,21,155000},
		{157,135,600,-8,13,4,12,21,11,22,22,21,170000},
		{162,140,615,-8,13,5,5,22,11,22,23,22,185000},
		{167,145,630,-9,15,4,10,22,11,23,23,22,200000},
		{172,150,645,-10,18,3,16,23,11,23,23,23,215000},
		{177,155,660,-10,18,3,19,23,11,23,23,23,230000},
		{182,160,675,-11,18,3,22,24,13,24,24,23,250000},
		{187,165,690,-12,18,3,25,24,14,24,24,24,275000},
		{192,170,705,-13,18,3,28,25,15,25,25,24,300000},
		{197,175,720,-14,18,3,31,25,16,25,25,25,325000},
		{202,180,735,-15,18,3,34,26,17,26,26,25,350000},
		{207,185,750,-16,18,3,37,26,18,26,26,26,375000},
		{212,190,765,-17,18,3,40,27,19,27,27,26,410000},
		{217,195,780,-18,18,3,43,27,20,27,27,27,450000},
		{222,200,795,-19,18,3,46,28,21,28,28,27,490000}
	},
	// Buff
	   {
		{30,6,300,20,2,2,1,16,12,10,10,10,0},
		{36,12,320,19,3,2,0,16,12,10,10,10,1000},
		{42,18,340,18,3,2,3,17,13,12,10,10,2000},
		{48,24,360,16,3,3,3,18,13,14,10,10,3000},
		{54,30,380,15,3,2,6,18,13,15,10,10,5000},
		{60,36,400,14,4,2,7,18,14,16,10,10,6000},
		{66,42,420,13,4,2,7,18,14,17,12,10,12000},
		{72,48,440,12,4,3,6,18,15,18,14,10,24000},
		{78,54,460,11,4,4,4,18,15,18,14,10,45000},
		{84,60,480,10,5,3,4,18,15,18,14,10,53000},
		{90,66,500,9,6,3,3,18,15,18,15,10,60000},
		{96,72,520,8,3,6,8,18,16,18,16,10,70000},
		{102,78,540,7,4,4,11,18,16,18,16,10,80000},
		{108,84,560,6,5,4,9,18,17,18,18,10,90000},
		{114,90,580,5,6,5,6,18,17,18,18,12,100000},
		{120,96,600,4,4,6,10,18,18,18,18,14,110000},
		{126,102,620,3,5,6,10,18,18,18,18,15,120000},
		{132,108,640,2,5,6,10,18,19,18,18,16,130000},
		{138,114,660,1,6,6,10,18,19,18,18,17,140000},
		{144,120,680,0,7,4,11,18,20,18,18,18,150000},
		{150,126,700,-1,9,5,7,18,20,19,19,19,160000},
		{156,132,720,-3,8,5,14,20,21,20,20,20,190000},
		{162,138,740,-5,10,5,9,21,21,20,21,20,220000},
		{168,144,760,-8,10,5,11,22,22,21,22,20,250000},
		{174,150,780,-9,12,5,0,23,23,22,23,21,280000},
		{180,156,800,-9,20,3,6,23,23,22,23,21,310000},
		{186,162,820,-10,13,4,16,23,23,22,23,22,340000},
		{192,168,840,-10,13,5,9,23,23,23,23,23,370000},
		{198,174,860,-10,15,4,14,24,24,24,24,24,400000},
		{204,180,880,-11,15,4,20,25,25,25,25,25,430000},
		{210,186,900,-12,15,4,26,25,25,25,25,25,460000},
		{216,192,920,-13,15,4,32,26,26,26,26,26,500000},
		{222,198,940,-14,15,4,38,26,26,26,26,26,540000},
		{228,204,960,-15,15,4,44,27,27,27,27,27,580000},
		{234,210,980,-16,15,4,50,27,27,27,27,27,625000},
		{240,216,1000,-17,15,4,56,28,28,28,28,28,670000},
		{246,222,1020,-18,15,4,62,28,28,28,28,28,715000},
		{252,228,1040,-19,15,4,68,29,29,29,29,29,760000},
		{258,234,1060,-20,15,4,74,29,29,29,29,29,810000},
		{264,240,1080,-21,15,4,80,30,30,30,30,30,860000}
	}
};