//**************************************************
// 詠唱、ディレイ計算
//**************************************************
function calc_time(){
	/********** 詠唱時間計算 **********/
	if(cd.BRAGI > 0)
		casting = Math.floor( 1000 * ( 1 - ( cd.param[DEX] / 150 )) * (1 - cd.SUFFRAGIUM * 0.15) * ( 1 - ( cd.BRAGI * 3 + cd.LESSON * 0.05 + eval(document.creator.BARD_DEX.value) / 10 ) / 100 ));
	else
		casting = Math.floor( 1000 * ( 1 - ( cd.param[DEX] / 150 )) * (1 - cd.SUFFRAGIUM * 0.15) );

	casting = Math.floor(casting * cd.correction[CAST]/100);

	if(casting <= 0)
		casting = "無詠唱";
	else
		casting += "ms";
	
	document.getElementById("Cast").innerHTML   = casting;

	/********** ディレイ計算 **********/
	if(cd.BRAGI == 10)
		delay = Math.floor( 1000 * ( 1 - ( cd.BRAGI * 5 + cd.LESSON * 0.1 + eval(document.creator.BARD_INT.value) / 5 ) / 100 ));
	else if(cd.BRAGI)
		delay = Math.floor( 1000 * ( 1 - ( cd.BRAGI * 3 + cd.LESSON * 0.1 + eval(document.creator.BARD_INT.value) / 5 ) / 100 ));
	else
		delay = 1000;

	delay = Math.floor(delay * cd.correction[DELAY]/100);

	if(delay <= 0)	delay = 0;
		delay += "ms";
	document.getElementById("Delay").innerHTML = delay;
	return;
}

//**************************************************
// ダメージ計算
//**************************************************
function calc(){
	//********** データ取得 ************************************************
	var gvg		= td.MODE ? 0.6 : 1;
	var LA		= td.LEXAETERNA ? 2 : 1;
	var Assum	= td.ASSUMPTIO ? 0.66 : 1;

	if(td.param[ELE] == GHOST && cd.AtkEle == NEUTRAL)
		var tolerance = 0.25;
	else
		var tolerance = 1;
	/********** 最終耐性計算 **********/
/*
	switch(cd.AtkEle){
		case NEUTRAL:
			var val = td.correction[NEUTRAL];
			break;
		case FIRE:
			var val = td.correction[FIRE];
			break;
		case WATER:
			var val = td.correction[WATER];
			break;
		case WIND:
			var val = td.correction[WIND];
			break;
		case EARTH:
			var val = td.correction[EARTH];
			break;
		case HOLY:
			var val = td.correction[HOLY];
			break;
		case DARK:
			var val = td.correction[DARK];
			break;
		case POISON:
			var val = td.correction[POISON];
			break;
		case GHOST:
			var val = td.correction[GHOST];
			break;
		case UNDEAD:
			var val = td.correction[UNDEAD];
			break;
	}
*/
	tolerance *= td.correction[NEUTRAL]/100 * td.correction[DISTANCE]/100 * td.correction[RACE]/100 * td.correction[SIZE]/100 * td.correction[ALICE]/100;

	/********** ダメージ計算 **********/
	dmg = Math.floor((0.7 * (cd.param[INT] * cd.param[INT]) * td.param[VIT] / (cd.param[INT] + td.param[VIT]) * LA) * 0.5 * Assum * gvg * tolerance) * cd.ACIDDEMONSTRATION;
	if(dmg<=0)
		dmg = "Miss";
	document.getElementById("Damage").innerHTML = dmg;

	/********** 確殺計算 **********/
	if(dmg < 0 || dmg == "Miss")
		times = "不可能";
	else
		times = Math.ceil(td.param[HP] / dmg);
	document.getElementById("Times").innerHTML = times;
}

