//*******************************************************
// JobLvボーナステーブル
//*******************************************************
function db_JobBonus(job, JobLv){
	switch(job){
		case Knight:
			JobBonus = [3,0,3,1,6,0,0,3,0,1,5,3,2,0,1,0,3,3,5,6,1,0,3,0,0,0,1,6,3,0,5,0,1,0,0,3,6,2,0,5,0,0,3,0,0,1,1,5,5,0];
			break;
		case Priest:
			JobBonus = [6,0,6,1,0,2,3,4,4,6,1,0,0,3,0,5,1,0,0,5,6,4,0,0,5,0,1,0,2,0,6,5,0,3,1,3,2,0,6,0,0,4,4,0,3,0,0,2,0,6];
			break;
		case Wizard:
			JobBonus = [4,5,0,4,5,2,0,0,4,2,0,1,5,0,6,0,0,4,0,0,0,4,0,2,0,5,0,0,4,0,4,5,4,2,0,6,0,3,5,4,2,0,2,0,4,2,2,4,0,4];
			break;
		case Blacksmith:
			JobBonus = [5,0,1,5,5,0,3,1,5,0,6,5,3,0,0,1,0,0,5,3,4,0,1,0,0,5,0,5,2,0,1,3,0,4,0,5,3,2,5,5,0,0,0,1,0,6,5,0,3,0];
			break;
		case Hunter:
			JobBonus = [5,0,4,5,6,1,0,5,0,1,1,2,0,5,6,0,3,0,2,2,5,0,3,0,0,0,5,0,6,0,2,0,5,4,0,0,0,5,2,0,4,6,5,1,0,4,2,0,5,0];
			break;
		case Assassin:
			JobBonus = [2,2,2,4,0,3,0,3,5,0,1,0,0,4,2,2,2,2,2,2,2,0,0,5,1,0,1,0,0,5,5,1,0,0,0,0,0,4,0,5,5,4,0,0,1,5,0,1,0,5];
			break;
		case Crusader:
			JobBonus = [6,6,6,6,6,0,1,0,4,0,1,3,0,5,3,0,1,0,0,4,4,3,1,0,1,0,0,5,0,2,0,1,0,5,4,2,0,4,0,3,3,0,0,4,0,3,0,1,0,3];
			break;
		case Monk:
			JobBonus = [1,1,0,5,0,2,3,0,0,2,0,1,1,6,0,4,0,2,0,3,2,5,2,0,3,1,1,0,0,5,0,6,3,0,2,0,0,4,0,6,3,0,5,2,0,3,0,0,1,1];
			break;
		case Sage:
			JobBonus = [4,0,2,3,0,2,0,4,0,0,3,0,2,0,4,0,6,3,0,5,0,2,0,4,5,0,5,0,0,4,0,5,2,0,6,0,4,4,5,6,0,1,0,1,4,1,1,1,0,4];
			break;
		case Rogue:
			JobBonus = [2,3,5,0,1,3,2,0,3,0,5,0,0,3,3,2,0,5,0,5,0,0,2,0,1,3,1,0,2,1,0,0,5,5,0,1,0,4,2,0,0,1,4,0,2,0,4,0,4,5];
			break;
		case Alchemist:
			JobBonus = [4,5,5,0,0,1,0,5,4,0,2,0,5,2,1,0,4,0,5,3,5,0,4,4,5,1,0,5,4,0,3,5,0,1,0,3,0,4,0,2,0,0,1,0,2,0,0,0,2,2];
			break;
		case Bard:
			JobBonus = [5,2,1,0,4,6,5,0,6,2,2,0,4,0,5,5,3,0,5,6,4,0,0,2,0,0,0,1,0,2,0,5,3,0,2,0,0,5,0,4,6,0,3,0,0,5,4,2,0,5];
			break;
		case Dancer:
			JobBonus = [6,2,1,0,4,5,6,0,5,2,2,0,4,0,6,5,3,0,6,5,4,0,0,2,0,0,0,1,0,2,0,6,3,0,2,0,0,6,0,4,5,0,3,0,0,6,4,2,0,6];
			break;
		case LordKnight:
			JobBonus = [1,2,6,5,3,1,1,1,0,2,5,3,4,2,0,5,2,0,1,0,0,3,0,0,1,0,6,5,3,0,5,0,1,0,0,5,2,6,0,3,1,0,3,5,0,1,1,0,5,0,0,1,2,0,0,1,1,3,0,2,0,5,0,1,2,0,4,3,0,1];
			break;
		case HighPriest:
			JobBonus = [4,0,2,3,1,0,4,2,0,0,4,1,5,0,0,5,0,0,2,4,1,3,4,4,0,5,0,5,2,3,1,0,0,4,0,0,5,1,0,6,0,2,5,0,1,5,4,0,6,3,3,0,0,0,2,5,4,3,0,1,4,5,0,0,2,4,3,2,0,4];
			break;
		case HighWizard:
			JobBonus = [4,5,3,0,4,0,0,2,5,4,0,6,0,4,0,0,5,2,4,1,0,5,5,4,0,2,0,4,3,0,5,4,0,2,0,0,4,4,4,1,6,0,5,0,0,4,3,0,4,2,0,0,3,0,4,2,6,0,4,1,5,4,0,0,2,3,5,0,2,4];
			break;
		case Whitesmith:
			JobBonus = [5,1,1,4,0,5,2,6,3,0,0,5,3,0,4,6,1,0,2,2,0,4,5,0,0,1,0,6,3,0,2,5,1,4,0,2,0,5,6,0,5,0,0,6,6,0,5,3,0,4,0,1,0,0,0,5,5,2,0,3,4,5,0,2,3,6,6,0,0,5];
			break;
		case Sniper:
			JobBonus = [5,2,5,5,4,2,0,1,0,2,2,3,0,6,0,5,5,0,0,4,2,5,0,1,6,5,0,2,0,5,6,3,2,0,5,6,0,2,0,5,0,4,2,0,1,5,0,2,0,6,5,0,0,4,3,0,6,2,0,5,1,6,0,0,4,0,0,0,5,6];
			break;
		case AssassinCross:
			JobBonus = [2,1,6,2,2,0,1,6,3,5,0,1,0,0,2,6,0,6,0,2,1,0,5,2,2,6,0,0,1,0,2,2,2,6,0,0,5,1,5,0,0,2,5,0,0,2,3,6,0,1,2,0,5,1,0,2,5,0,0,0,5,2,0,5,6,1,0,0,3,5];
			break;
		case Paladin:
			JobBonus = [3,1,2,0,0,5,4,2,3,1,0,5,0,4,3,2,5,1,0,0,3,0,5,2,0,1,0,0,4,3,0,0,1,0,0,5,2,0,6,1,0,3,4,0,5,0,0,1,3,0,0,2,3,4,1,0,5,0,6,2,4,0,3,1,4,0,6,5,3,2];
			break;
		case Champion:
			JobBonus = [1,4,3,2,0,5,0,0,1,0,4,2,6,0,3,5,1,0,0,2,2,5,0,3,0,0,1,0,2,5,0,0,4,6,0,0,1,5,3,0,0,3,0,5,2,6,4,1,0,5,0,2,5,0,0,4,0,3,1,5,0,2,0,4,1,1,5,3,4,2];
			break;
		case Professor:
			JobBonus = [4,4,2,0,1,0,3,5,0,0,4,2,0,4,0,5,0,1,0,5,6,4,2,3,0,5,1,0,5,4,0,2,0,5,0,1,5,4,3,0,4,0,2,0,1,5,0,0,4,2,0,5,0,2,5,1,4,0,0,2,0,5,3,4,0,6,0,4,2,4];
			break;
		case Chaser:
			JobBonus = [1,2,0,6,4,3,0,0,2,5,1,2,0,0,3,5,5,0,0,6,2,1,0,6,0,5,2,0,5,0,6,1,0,2,0,0,5,5,0,0,2,3,1,4,2,0,1,0,5,6,0,5,1,0,0,5,4,2,6,5,0,1,3,2,0,5,1,0,0,2];
			break;
		case Creator:
			JobBonus = [5,0,6,0,2,1,4,6,3,5,0,0,4,0,5,0,0,2,0,6,0,4,5,0,6,0,2,0,0,4,1,0,3,6,5,0,0,2,0,0,5,5,5,0,6,4,5,0,5,0,6,6,1,2,0,5,5,0,4,6,3,0,5,6,0,1,2,4,6,5];
			break;
		case Crown:
			JobBonus = [2,5,0,2,1,0,5,4,2,1,6,0,2,0,5,3,0,6,1,0,4,0,5,2,0,6,0,4,0,5,0,2,1,0,0,2,0,0,5,5,4,0,5,0,1,0,6,0,2,5,0,0,2,1,0,5,5,2,3,0,5,1,5,0,2,5,0,2,4,1];
			break;
		case Gypsy:
			JobBonus = [5,1,0,2,0,1,0,4,5,0,2,2,2,5,5,0,3,5,0,1,0,5,5,0,2,4,6,5,0,0,2,0,5,0,1,0,0,2,4,0,5,0,5,0,5,0,2,0,5,1,0,2,4,3,0,0,2,5,0,4,2,2,6,0,5,1,2,0,5,2];
			break;
		case SuperNovice:
			JobBonus = [1,0,2,0,3,0,4,0,5,0,6,0,1,0,2,0,3,0,4,0,5,0,6,0,1,0,2,0,3,0,4,0,5,0,6,0,1,0,2,0,3,0,4,0,5,0,6,0,1,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
			break;
		case StarGladiator:
			JobBonus = [1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2];
			break;
		case SoulLinker:
			JobBonus = [4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5];
			break;
		case Gunslinger:
			JobBonus = [5,6,0,6,0,5,0,0,0,0,5,6,0,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,0,0,6,1,0,0,5,0,0,0,0,0,1,0,0,0,5,0,0,0,0,1,6,4,0,0,5,0,0,0,2,3,4,5,6,1,0,0,0,0,0,0];
			break;
		case Ninja:
			JobBonus = [2,2,0,0,0,0,0,0,0,5,0,0,2,0,0,0,0,0,0,2,4,5,0,0,0,0,0,0,4,6,2,5,0,0,0,0,0,0,0,6,2,4,5,0,0,0,0,0,0,4,2,6,5,0,0,0,0,0,1,3,2,4,5,6,0,0,0,0,0,0];
			break;
	}
	val = [0,0,0,0,0,0,0];
	for(i=0; i<=JobLv; i++){
		if(JobBonus[i])
			val[JobBonus[i]-1]++;
	}
	return val;
}

//*******************************************************
//	基本HP算出
//*******************************************************
function db_BaseHP( job, level ){
	switch( job ){
		case Novice:
		case SuperNovice:
			val = [0,500];
			break;
		//case Swordman:
		//	val = [70,500];
		//	break;
		//case Magician:
		//	val = [30,500];
		//	break;
		//case Archer:
		//	val = [50,500];
		//	break;
		//case Acolyte:
		//	val = [40,500];
		//	break;
		//case Merchant:
		//	val = [40,500];
		//	break;
		//case Thief:
		//	val = [50,500];
		//	break;
		case Knight:
		case LordKnight:
			val = [150,500];
			break;
		case Priest:
		case HighPriest:
			val = [75,500];
			break;
		case Wizard:
		case HighWizard:
			val = [55,500];
			break;
		case Blacksmith:
		case Whitesmith:
			val = [90,500];
			break;
		case Hunter:
		case Sniper:
			val = [85,500];
			break;
		case Assassin:
		case AssassinCross:
			val = [110,500];
			break;
		case Crusader:
		case Paladin:
			val = [110,700];
			break;
		case Monk:
		case Champion:
			val = [90,650];
			break;
		case Sage:
		case Professor:
			val = [75,500];
			break;
		case Rogue:
		case Chaser:
			val = [85,500];
			break;
		case Alchemist:
		case Creator:
			val = [90,500];
			break;
		case Bard:
		case Crown:
			val = [75,300];
			break;
		case Dancer:
		case Gypsy:
			val = [75,300];
			break;
		case Taekwon:
			val = [51,500];
			break;
		case StarGladiator:
			val = [90,650];
			break;
		case SoulLinker:
			val = [75,500];
			break;
		case Gunslinger:
			// Base10未満はデータがない
			if(level < 10)
				return 0;
			else if(level >= 10 && level <= 13)
				return 192+(level-9)*10;
			else if(level >= 14 && level <= 16)
				return 232+(level-13)*11;
			else if(level >= 17 && level <= 19)
				return 265+(level-16)*12;
			else if(level >= 20 && level <= 22)
				return 301+(level-19)*15;
			else if(level >= 23 && level <= 25)
				return 346+(level-22)*18;
			else if(level >= 26 && level <= 28)
				return 400+(level-25)*20;
			else if(level >= 29 && level <= 33)
				return 460+(level-28)*30;
			else if(level >= 34 && level <= 44)
				return 620+(level-33)*30;
			else if(level >= 45 && level <= 50)
				return 960+(level-44)*30;
			else if(level >= 51 && level <= 54)
				return 1130+(level-50)*50;
			else if(level >= 55 && level <= 60)
				return 1335+(level-54)*60;
			else if(level == 61)
				return 1760;
			else if(level >= 62 && level <= 70)
				return 1755+(level-61)*65;
			else if(level >= 71 && level <= 80)
				return 2340+(level-70)*70;
			else if(level >= 81 && level <= 90)
				return 3040+(level-80)*75;
			else if(level >= 91 && level <= 99)
				return 3790+(level-90)*80;
			break;
		case Ninja:
			// Base51未満はデータが怪しい
			if(level == 1 || level == 2)
				return 125+level*6;
			else if(level == 3 || level == 4)
				return 144+(level-3)*7;
			else if(level >= 5 && level <= 7)
				return 159+(level-5)*8;
			else if(level >= 8 && level <= 10)
				return 184+(level-8)*9;
			else if(level >= 11 && level <= 13)
				return 212+(level-11)*10;
			else if(level >= 14 && level <= 16)
				return 243+(level-14)*11;
			else if(level >= 17 && level <= 19)
				return 277+(level-17)*12;
			else if(level >= 20 && level <= 22)
				return 316+(level-20)*15;
			else if(level >= 23 && level <= 25)
				return 364+(level-23)*18;
			else if(level >= 26 && level <= 28)
				return 420+(level-26)*20;
			else if(level >= 29 && level <= 32)
				return 482+(level-29)*22;
			else if(level >= 33 && level <= 35)
				return 572+(level-33)*24;
			else if(level >= 36 && level <= 39)
				return 646+(level-36)*26;
			else if(level == 39 && level == 40)
				return 726+(level-40)*28;
			else if(level >= 41 && level <= 43)
				return 784+(level-41)*30;
			else if(level >= 44 && level <= 46)
				return 876+(level-44)*32;
			else if(level == 47 && level == 48)
				return 975+(level-47)*35;
			else if(level == 49)
				return 1100;
			else if(level >= 50 && level <= 55)
				return 1140+(level-50)*40;
			else if(level >= 56 && level <= 60)
				return 1340+(level-55)*45;
			else if(level >= 61 && level <= 65)
				return 1565+(level-60)*50;
			else if(level >= 66 && level <= 70)
				return 1880+(level-66)*55;
			else if(level >= 71 && level <= 79)
				return 2100+(level-70)*60;
			else if(level >= 80 && level <= 85)
				return 2640+(level-79)*65;
			else if(level >= 86 && level <= 90)
				return 3030+(level-85)*70;
			else if(level >= 91 && level <= 94)
				return 3380+(level-90)*75;
			else if(level >= 95 && level <= 99)
				return 3680+(level-94)*80;
			break;
	}
	jobbonus = 0;
	for(i = 2; i <= level; i++){
		jobbonus += Math.floor(val[0] * i + 50);
		jobbonus -= jobbonus%100
	}
	return (3500 + level * val[1] + jobbonus) / 100;
}

