📄 skillformula.cpp
字号:
// 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 + -