⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 skillformula.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
📖 第 1 页 / 共 5 页
字号:
//		output.Damage   = input.INTE/20 + input.SkillLevel/20;		output.Damage   = 4 + input.INTE/40 + input.SkillLevel/20;	}	else	{//		output.Damage   = input.INTE/20 + input.SkillLevel/20;		output.Damage   = 2 + input.INTE/40 + input.SkillLevel/20;	}	output.Duration = (30 + input.SkillLevel * 3 / 2) * 10; // 30~50檬	output.Delay    = (7 - input.SkillLevel/20) * 10; // 6->3檬	// 颇萍 焊呈胶甫 拌魂茄促.	output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void ContinualLight::computeOutput(const SkillInput& input, SkillOutput& output) {	switch (g_pSkillInfoManager->getGradeByDomainLevel(input.DomainLevel))	{		case SKILL_GRADE_APPRENTICE:   output.Range = 1; break;		case SKILL_GRADE_ADEPT:        output.Range = 3; break;		case SKILL_GRADE_EXPERT:       output.Range = 4; break;		case SKILL_GRADE_MASTER:       output.Range = 5; break;		case SKILL_GRADE_GRAND_MASTER: output.Range = 6; break;		default:                       output.Range = 0; break;	}	output.Delay = (6 - input.SkillLevel/25) * 10; // 5->2檬	output.Duration = (10 + input.SkillLevel/2) * 10;}void Flare::computeOutput(const SkillInput& input, SkillOutput& output) {	output.Duration = (5 + input.SkillLevel/5) * 10; // 10~20檬	output.Delay    = (6 - input.SkillLevel/33) * 10; // 6->3檬	// 颇萍 焊呈胶甫 拌魂茄促.	//output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void Purify::computeOutput(const SkillInput& input, SkillOutput& output) {	output.Damage = 10 + input.SkillLevel/10;	output.Delay  = (5 - input.SkillLevel/33) * 10; // 5->2檬	switch (g_pSkillInfoManager->getGradeByDomainLevel(input.DomainLevel))	{		case SKILL_GRADE_APPRENTICE:   output.Range = 3; break;		case SKILL_GRADE_ADEPT:        output.Range = 3; break;		case SKILL_GRADE_EXPERT:       output.Range = 5; break;		case SKILL_GRADE_MASTER:       output.Range = 5; break;		case SKILL_GRADE_GRAND_MASTER: output.Range = 7; break;		default:                       output.Range = 0; break;	}	// 傍拜拌 扁贱俊绰 颇萍 焊呈胶啊 粮犁窍瘤 臼绰促.}void AuraRing::computeOutput(const SkillInput& input, SkillOutput& output) {//	output.Damage = 5 + input.INTE/10 + input.SkillLevel/3; // by bezz. 2002.12.10	output.Damage = 15 + input.INTE/10 + input.SkillLevel/3; // by bezz. 2002.12.10	output.Delay  = max( 1, 2 - ( input.SkillLevel / 50 ) ) * 10; // by bezz. 2002.12.10	// 傍拜拌 扁贱俊绰 颇萍 焊呈胶啊 粮犁窍瘤 臼绰促.}void Striking::computeOutput(const SkillInput& input, SkillOutput& output) {	if (input.TargetType == SkillInput::TARGET_OTHER)	{//		output.Damage = input.INTE/33 + input.SkillLevel/20;		output.Damage = input.INTE/30 + input.SkillLevel/20;	}	else	{//		output.Damage = input.INTE/20 + input.SkillLevel/10;		output.Damage = input.INTE/30 + input.SkillLevel/10;	}	output.Duration = (30 + input.SkillLevel * 3 / 2) * 10;//	output.Duration = (30 + input.SkillLevel * 2 / 3) * 10;	output.Delay    = (6 - input.SkillLevel/33) * 10; // 6->3檬	// 颇萍 焊呈胶甫 拌魂茄促.	output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void DetectInvisibility::computeOutput(const SkillInput& input, SkillOutput& output) {	output.Duration = (10 + input.SkillLevel/2) * 10; // 30~50檬	output.Delay    = (6 - input.SkillLevel/33) * 10; // 6->3檬	switch (g_pSkillInfoManager->getGradeByDomainLevel(input.DomainLevel))	{		case SKILL_GRADE_APPRENTICE:   output.Range = 3; break;		case SKILL_GRADE_ADEPT:        output.Range = 3; break;		case SKILL_GRADE_EXPERT:       output.Range = 5; break;		case SKILL_GRADE_MASTER:       output.Range = 5; break;		case SKILL_GRADE_GRAND_MASTER: output.Range = 7; break;		default:                       output.Range = 0; break;	}	// 颇萍 焊呈胶甫 拌魂茄促.	output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void AuraShield::computeOutput(const SkillInput& input, SkillOutput& output) {	output.Duration = (10 + input.SkillLevel/3) * 10; // 15~35檬	//output.Delay    = (5 - input.SkillLevel/33) * 10; // 5->2檬 	// 颇萍 焊呈胶甫 拌魂茄促.	//output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);	output.Delay	= output.Duration;		// Delay 客 Duration 捞 鞍促. by bezz 2003.3.5}void Visible::computeOutput(const SkillInput& input, SkillOutput& output) {	output.Delay = (5 - input.SkillLevel/50) * 10; // 5->3檬	output.Range = 3 + (input.SkillLevel/50);	// 颇萍 焊呈胶甫 拌魂茄促.	//output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	//output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}//////////////////////////////////////////////////////////////////////////////// 鳃傅 拌凯//////////////////////////////////////////////////////////////////////////////void CureLightWounds::computeOutput(const SkillInput& input, SkillOutput& output) {	if (input.TargetType == SkillInput::TARGET_OTHER) 	{		output.Damage = 10 + input.SkillLevel/8;	}	else	{		output.Damage = 10 + input.SkillLevel/4;	}	output.Delay = 10; // 1檬	// 颇萍 焊呈胶甫 拌魂茄促.	output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	//output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void CureAll::computeOutput(const SkillInput& input, SkillOutput& output) {	if (input.TargetType == SkillInput::TARGET_OTHER) 	{		output.Damage = 50 + input.SkillLevel/4;	}	else	{		output.Damage = 35 + input.SkillLevel/2;	}	output.Delay = 40 - input.SkillLevel / 5;  // 4檬~ 2檬	// 颇萍 焊呈胶甫 拌魂茄促.	output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	//output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void CurePoison::computeOutput(const SkillInput& input, SkillOutput& output) {	// 颇萍 焊呈胶甫 拌魂茄促.	//output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	//output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);		output.Delay = (4 - input.SkillLevel/33) * 10; // 4->1檬}void ProtectionFromPoison::computeOutput(const SkillInput& input, SkillOutput& output) {	if (input.TargetType == SkillInput::TARGET_OTHER)	{		//output.Damage = 10 + input.SkillLevel/10;		output.Damage = min(20, 10 + input.INTE/20);	}	else	{		//output.Damage = 20 + input.SkillLevel/10;		output.Damage = min(30, 20 + input.INTE/20);	}	//output.Duration = (30 + input.SkillLevel/2) * 10; // 30~80檬//	output.Duration = (50 + input.INTE * 2 / 3) * 10; // 30~80檬// by sigi. 2002.12.3	output.Duration = (60 + input.INTE / 2 + input.SkillLevel / 2) * 10; // 	output.Delay    = (5 - input.SkillLevel/33) * 10; // 5->2檬	// 颇萍 焊呈胶甫 拌魂茄促.	output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void CauseLightWounds::computeOutput(const SkillInput& input, SkillOutput& output) {	//output.Damage = 10 + input.SkillLevel/10;	//output.Damage = 5 + input.INTE/10 + input.SkillLevel/10;	// by sigi. 2002.12.3	output.Damage = 10 + input.INTE/10 + input.SkillLevel/10;	// by sigi. 2002.12.3	output.Delay  = 10; // 1檬	// 傍拜拌 扁贱俊绰 颇萍 焊呈胶啊 粮犁窍瘤 臼绰促.}void CureSeriousWounds::computeOutput(const SkillInput& input, SkillOutput& output) {	if (input.TargetType == SkillInput::TARGET_OTHER)	{		output.Damage = 30 + input.SkillLevel/8;	}	else	{		output.Damage = 30 + input.SkillLevel/4;	}	output.Delay = 10; // 1檬	// 颇萍 焊呈胶甫 拌魂茄促.	output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	//output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void RemoveCurse::computeOutput(const SkillInput& input, SkillOutput& output) {	output.Delay = (5 - input.SkillLevel/33) * 10; // 5->2檬	// 颇萍 焊呈胶甫 拌魂茄促.	//output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	//output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void ProtectionFromCurse::computeOutput(const SkillInput& input, SkillOutput& output) {	// by sigi. 2002.12.3	if (input.TargetType == SkillInput::TARGET_OTHER)	{		//output.Damage = 10 + input.SkillLevel/10;		output.Damage = min(20, 10 + input.INTE/20);	}	else	{		//output.Damage = 20 + input.SkillLevel/10;		output.Damage = max(30, 20 + input.INTE/20);	}	//output.Duration = (25 + input.SkillLevel/2) * 10; // 25~75檬	//output.Duration = (40 + input.INTE*2/3) * 10; // 25~75檬	// by sigi. 2002.12.3	output.Duration = (60 + input.SkillLevel/2 + input.INTE/2) * 10; // 25~75檬	// by sigi. 2002.12.3	output.Delay    = (5 - input.SkillLevel/33) * 10; // 5->2檬	// 颇萍 焊呈胶甫 拌魂茄促.	output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void Resurrect::computeOutput(const SkillInput& input, SkillOutput& output) {	output.Delay = 20; // 2檬}void CauseSeriousWounds::computeOutput(const SkillInput& input, SkillOutput& output) {	//output.Damage = 30 + input.SkillLevel/4;	// by sigi. 2002.12.3	//output.Damage = 5 + input.INTE/8 + input.SkillLevel/5;	output.Damage = 15 + input.INTE/8 + input.SkillLevel/5;	output.Delay  = 10; // 1檬	// 傍拜拌 扁贱俊绰 颇萍 焊呈胶啊 粮犁窍瘤 臼绰促.}void CureCriticalWounds::computeOutput(const SkillInput& input, SkillOutput& output) {	if (input.TargetType == SkillInput::TARGET_OTHER)	{		output.Damage = 10 + input.SkillLevel/10;	}	else	{		output.Damage = 10 + input.SkillLevel/20;	}	output.Delay = ( 40 - input.SkillLevel/5 ) * 10 ; // 40檬~20檬	output.Duration = ( 20 + input.SkillLevel/5 ) * 10 ; // 20檬~40檬	// 颇萍 焊呈胶甫 拌魂茄促.	output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	//output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void ProtectionFromAcid::computeOutput(const SkillInput& input, SkillOutput& output) {	// by sigi. 2002.12.3	if (input.TargetType == SkillInput::TARGET_OTHER)	{		//output.Damage = 10 + input.SkillLevel/10;		output.Damage = min(20, 10 + input.INTE/20);	}	else 	{		//output.Damage = 20 + input.SkillLevel/10;		output.Damage = min(30, 20 + input.INTE/20);	}	//output.Duration = (20 + input.SkillLevel/2) * 10; // 20~70檬	//output.Duration = (40 + input.INTE*2/3) * 10; // 20~70檬	output.Duration = (60 + input.SkillLevel/2 + input.INTE/2) * 10; // 20~70檬	output.Delay    = (5 - input.SkillLevel/33) * 10; // 5->2檬	// 颇萍 焊呈胶甫 拌魂茄促.	output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void Sacrifice::computeOutput(const SkillInput& input, SkillOutput& output) {	output.Duration = (30 + input.SkillLevel/5) * 10; // 30~50檬	output.Delay    = (5 - input.SkillLevel/33) * 10; // 5->2檬	// 颇萍 焊呈胶甫 拌魂茄促.	//output.Damage   = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]);	output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void CauseCriticalWounds::computeOutput(const SkillInput& input, SkillOutput& output) {	/*	output.Damage = 20 + input.SkillLevel/6; 	output.Delay  = 10; // 1檬 	*/	//output.Damage = 3 + input.SkillLevel / 10; // 3-13	// by sigi. 2002.12.3	output.Damage = 5 + input.INTE/10 + input.SkillLevel/5; // 3-13	output.Delay = ( 10 - input.SkillLevel / 33 ) * 10; // 10-7檬	output.Duration = ( 3 + input.SkillLevel / 50 ) * 10; // 3-5檬	// 傍拜拌 扁贱俊绰 颇萍 焊呈胶啊 粮犁窍瘤 臼绰促.}/*void CureAll::computeOutput(const SkillInput& input, SkillOutput& output) {	output.Delay = (4 - input.SkillLevel/33) * 10; // 4->1檬}*/void RegenerationSkill::computeOutput(const SkillInput& input, SkillOutput& output) {}void EnergyDrop::computeOutput(const SkillInput& input, SkillOutput& output) {	//output.Damage = 25 + input.SkillLevel/5; // 20 ~ 45	//output.Delay = 30; // 3檬	//output.Damage = 10 + input.INTE/10 + input.SkillLevel/5; // 20 ~ 45 12.06	//2002.12.06 厘全芒//	output.Damage = 10 + input.INTE/10 + input.SkillLevel/3; 	output.Damage = 18 + input.INTE/10 + input.SkillLevel/2.5; //	output.Delay = (8 - input.SkillLevel/20)*10;	output.Delay = (5 - input.SkillLevel/33)*10;}void VigorDrop::computeOutput(const SkillInput& input, SkillOutput& output) {	// by sigi. 2002.12.3	//output.Damage = 25 + input.SkillLevel/5; // 20 ~ 45	//output.Delay = 30; // 3檬	//output.Damage = 10 + input.INTE/10 + input.SkillLevel/5; // 20 ~ 45 2002.12.06	// 2002.12.06 厘全芒//	output.Damage = 10 + input.INTE/10 + input.SkillLevel/3; 	output.Damage = 18 + input.INTE/10 + input.SkillLevel/3; //	output.Delay = (8 - input.SkillLevel/20)*10;	output.Delay = (5 - input.SkillLevel/33)*10;}void Activation::computeOutput(const SkillInput& input, SkillOutput& output) {	output.Damage = 0;	output.Duration = (40 + input.SkillLevel/5) * 10;	output.Delay    = (6 - input.SkillLevel/50) * 10;	// 颇萍 焊呈胶甫 拌魂茄促.	output.Damage   = 0;	output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void HolyBlast::computeOutput(const SkillInput& input, SkillOutput& output) {	output.Damage = 15 + input.SkillLevel/8;	output.Delay  = (8 - input.SkillLevel/33)*10;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -