📄 skillformula.cpp
字号:
//output.Delay = 10; // 1檬}void WindDivider::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.STR/14 + input.SkillLevel/20; output.Delay = 13; // 1檬}void ThunderBolt::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.STR/10 + input.SkillLevel/10; // by bezz. 2002.12.10 output.Delay = (3 - input.SkillLevel/50) * 10; // by sigi. 2002.12.3}void Expansion::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 10 + input.SkillLevel/2; // 磊脚狼 + 蔼 output.ToHit = 5 + input.SkillLevel/3; // 颇萍狼 + 蔼// output.Duration = (30 + input.STR/10 + input.SkillLevel*2/3) * 10; output.Duration = (45 + input.STR/10 + input.SkillLevel) * 10; //output.Delay = max(5 - input.SkillLevel/33,2) * 10; output.Delay = output.Duration; // Delay 客 Duration 捞 鞍促. by bezz 2003.3.5 //output.Damage = 30 + input.SkillLevel/2; // 磊脚狼 + 蔼 //output.ToHit = 15 + input.SkillLevel/4; // 颇萍狼 + 蔼 //output.Duration = (30 + input.SkillLevel/3) * 10; //output.Delay = (5 - input.SkillLevel/33) * 10;}void MiracleShield::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = (5 + input.SkillLevel/5); // 5->25 output.Duration = (30 + input.SkillLevel/5) * 10; // 30~50檬 output.Delay = (5 - input.SkillLevel/33) * 10; // 5->2檬}void ThunderFlash::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 5 + input.SkillLevel/10; output.Delay = 20; // 2檬}void ThunderStorm::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.STR/10 + input.SkillLevel/10; // by bezz. 2002.12.10 output.Delay = (3 - input.SkillLevel/50)*10; // 1檬 //output.Damage = 10 + input.SkillLevel/5; //output.Delay = (5 - input.SkillLevel/33)*10; // 1檬}void MentalSword::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 30 + ( 15 * input.SkillLevel/50 ); output.Range = 2 + input.SkillLevel/33; output.Delay = (8 - input.SkillLevel / 20)*10; // 5~3檬 //output.Damage = 30 + ( 15 * input.SkillLev/50 ); //output.Range = 2 + input.SkillLevel/20; //output.Delay = (5 - input.SkillLevel / 50)*10; // 5~3檬}//////////////////////////////////////////////////////////////////////////////// 档 拌凯//////////////////////////////////////////////////////////////////////////////void SingleBlow::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 1 + input.STR/20 + input.SkillLevel/20; // by sigi. 2002.12.3 output.Delay = 7; // 1檬}void SpiralSlay::computeOutput(const SkillInput& input, SkillOutput& output) {// output.Damage = 2 + input.STR/20 + input.SkillLevel/15; // by sigi. 2002.12.3 output.Damage = 4 + input.STR/20 + input.SkillLevel/15; output.Delay = 7; // 0.7檬}void TripleBreak::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 3 + input.STR/20 + input.SkillLevel/10; // by sigi. 2002.12.3 output.Delay = 7; // 0.7檬}void WildSmash::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 4 + input.STR/15 + input.SkillLevel/10; // by sigi. 2002.12.3 output.Delay = 8; // 0.8檬}void GhostBlade::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 5 + input.SkillLevel/10; //output.Duration = (30 + input.SkillLevel/4) * 10; //output.Duration = (10 + input.STR/10 + input.SkillLevel/2) * 10; output.Duration = (30 + input.STR/10 + input.SkillLevel/2) * 10; //output.Delay = (5 - input.SkillLevel/33) * 10; // 5->2檬 output.Delay = output.Duration; // Delay 客 Duration 捞 鞍促. by bezz 2003.3.5}void PotentialExplosion::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 1 + input.SkillLevel/15;// output.Duration = (10 + input.SkillLevel/2) * 10; output.Duration = (30 + input.SkillLevel/2) * 10; //output.Delay = (7 - input.SkillLevel/20) * 10; // 7->2檬 output.Delay = output.Duration; // Delay 客 Duration 捞 鞍促. by bezz 2003.3.5}void ShadowWalk::computeOutput(const SkillInput& input, SkillOutput& output) { output.Range = max(2 + input.SkillLevel/25,2); output.Delay = (3 - input.SkillLevel/50) * 10; // 3->1檬}void ChargingPower::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 5 + (input.SkillLevel/20) + (input.DomainLevel/30); output.Duration = (60 + input.SkillLevel*3/2) * 10;// output.Duration = (30 + input.STR/10 + input.SkillLevel*10/12) * 10;// output.Damage = 1 + (input.STR + input.SkillLevel)/20; // output.Duration = (10 + input.SkillLevel/2) * 10; //output.Delay = (5 - input.SkillLevel/33) * 10; // 5->2檬 output.Delay = output.Duration; // Delay 客 Duration 捞 鞍促. by bezz 2003.3.5}void HurricaneCombo::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 5 + input.STR/12 + input.SkillLevel/8; output.Delay = 10; // 1檬}void TornadoSever::computeOutput(const SkillInput& input, SkillOutput& output) {// output.Damage = 8 + input.STR/15 + input.SkillLevel/10;// output.Damage = 3 + input.STR/20 + input.SkillLevel/10; output.Damage = 10 + input.STR/20 + input.SkillLevel/8;// output.Delay = 20 - (input.SkillLevel/100); // 2檬 output.Delay = 4;}void Earthquake::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 5 + input.STR/20 + input.SkillLevel/10; // by sigi. 2002.12.3 output.Range = 7; // by bezz. 2002.12.10 output.Delay = 13; // 1.3檬 by bezz. 2002.12.10}void Berserker::computeOutput(const SkillInput& input, SkillOutput& output) { // penalty蔼篮 Berserker.cpp俊 乐促. //output.Damage = (input.STR/20) * (1 + input.SkillLevel/20); // 单固瘤 焊呈胶 //output.ToHit = (input.DEX/10) * (1 + input.SkillLevel/10); // 捧三 焊呈胶 // 2002.12.06 厘全芒 output.Damage = (input.STR/20) * (1 + input.SkillLevel/25); // 单固瘤 焊呈胶// output.ToHit = (input.DEX/10) * (1 + input.SkillLevel/12); // 捧三 焊呈胶 output.ToHit = 10 + (1 + input.SkillLevel/12); // 捧三 焊呈胶// output.Duration = (30 + input.SkillLevel/5) * 10; output.Duration = (45 + input.SkillLevel/1.5) * 10; //output.Delay = max(5 - input.SkillLevel/33,2) * 10; output.Delay = output.Duration; // Delay 客 Duration 捞 鞍促. by bezz 2003.3.5}void MoonlightSever::computeOutput(const SkillInput& input, SkillOutput& output) {// output.Damage = 8 + input.STR/10 + input.SkillLevel/10; output.Damage = 15 + input.STR/10 + input.SkillLevel/8;// output.Delay = 8; // 0.8檬 output.Delay = 4; // 0.4檬}void ShadowDancing::computeOutput(const SkillInput& input, SkillOutput& output) {// output.Damage = 30 + ( 15 * input.SkillLevel/50 ); output.Damage = 30 + ( 15 * input.SkillLevel/25 ); output.ToHit = 10 + input.SkillLevel/20; // 农府萍拿 犬伏 刘啊摹 //output.Delay = (5 - input.SkillLevel / 50)*10; // 2檬甫 技锅栏肺 唱穿搁 0.66666 = 0.7檬 output.Delay = (8 - input.SkillLevel / 20)*10; // by sigi. 2002.12.3}void Typhoon::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.STR/10 + input.SkillLevel/5; //output.Duration = 10; // 1檬 (鸥百捞 绘绘 倒酒啊绰 矫埃) - effect绝促 -_-; //output.Delay = 15; // 1.5檬 output.Duration = (1 + input.SkillLevel/100)*10; // 1檬 (鸥百捞 绘绘 倒酒啊绰 矫埃) - effect绝促 -_-; output.Delay = (3 - input.SkillLevel/50)*10; // by bezz. 2002.12.10}//////////////////////////////////////////////////////////////////////////////// 醚 拌凯//////////////////////////////////////////////////////////////////////////////void QuickFire::computeOutput(const SkillInput& input, SkillOutput& output) { //output.ToHit = -20 + (input.DEX/10) + input.SkillLevel/5; //output.Damage = -50 + input.STR/10 + input.SkillLevel/3; output.ToHit = -30 + input.DEX/20 + input.SkillLevel/5; output.Damage = -30 + input.STR/20 + input.SkillLevel/5; output.Delay = 2;}void DoubleShot::computeOutput(const SkillInput& input, SkillOutput& output) { output.ToHit = -20 + input.SkillLevel/5; output.Damage = -50 + input.SkillLevel/3; output.Delay = 2;}void TripleShot::computeOutput(const SkillInput& input, SkillOutput& output) { output.ToHit = -20 + input.SkillLevel/5; output.Damage = -50 + input.SkillLevel/3; output.Delay = 2;}void MultiShot::computeOutput(const SkillInput& input, SkillOutput& output) { if (input.IClass == Item::ITEM_CLASS_SG) {// output.Damage = 3 + input.SkillLevel/10; output.Damage = 8 + input.SkillLevel/10; } else if(input.IClass == Item::ITEM_CLASS_AR || input.IClass == Item::ITEM_CLASS_SMG) {// output.Damage = 1 + input.SkillLevel/30; output.Damage = 5 + input.SkillLevel/15; } else if(input.IClass == Item::ITEM_CLASS_SR) {// output.Damage = input.SkillLevel/50; output.Damage = 3 + input.SkillLevel/20; } output.ToHit = -20 + input.SkillLevel/5; output.Delay = 8; // 0.8檬}void HeadShot::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 0; // SkillUtil.cpp狼 computeArmsWeaponDamageBonus()俊辑 拌魂登骨肺.. 吝汗 单固瘤促. - -; by sigi. 2002.12.3 if (input.IClass == Item::ITEM_CLASS_SG) { switch (input.Range) { case 3: output.Damage = 5; case 2: output.Damage = 8; case 1: output.Damage = 10; default: break; } } else if (input.IClass == Item::ITEM_CLASS_AR || input.IClass == Item::ITEM_CLASS_SMG) { switch (input.Range) { case 3: output.Damage = 5; case 2: output.Damage = 6; case 1: output.Damage = 8; default: break; } } else if (input.IClass == Item::ITEM_CLASS_SR) { switch(input.Range) { case 3: output.Damage = 3; case 2: output.Damage = 6; case 1: output.Damage = 8; default: break; } } else { Assert(false); } output.Delay = 8; // 0.8檬}void Piercing::computeOutput(const SkillInput& input, SkillOutput& output) { output.ToHit = 0; output.Damage = 2; output.Delay = 8; // 0.8檬}void Sniping::computeOutput(const SkillInput& input, SkillOutput& output) { output.Duration = (30 + input.SkillLevel/5) * 10; output.Delay = (10 - input.SkillLevel/20) * 10; // 10->5檬}void MindControl::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 15 + input.SkillLevel/10; output.Duration = (30 + input.SkillLevel/5) * 10; output.Delay = 30; // 3檬}void Revealer::computeOutput(const SkillInput& input, SkillOutput& output) { output.Duration = (30 + input.SkillLevel/5) * 10; // 30~50檬 output.Delay = output.Duration;// 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 CreateBomb::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 15 + input.SkillLevel/10; output.Duration = (30 + input.SkillLevel/5) * 10; output.Delay = 30 - input.SkillLevel / 10; // 3檬 ~ 2檬}void CreateMine::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 15 + input.SkillLevel/10; output.Duration = (30 + input.SkillLevel/5) * 10; output.Delay = 30 - input.SkillLevel / 10; // 3檬 ~ 2檬}void InstallMine::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 15 + input.SkillLevel/10; output.Duration = (30 + input.SkillLevel/5) * 10;// output.Delay = 30 - input.SkillLevel / 10; // 3檬 ~ 2檬 output.Delay = 90 - input.SkillLevel / 2.5; // 9檬 ~ 5檬}void DisarmMine::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 15 + input.SkillLevel/10; output.Duration = (30 + input.SkillLevel/5) * 10; output.Delay = 30; // 3檬}void ObservingEye::computeOutput(const SkillInput& input, SkillOutput& output) {// output.Duration = (10 + input.SkillLevel/5)*10; output.Duration = (30 + input.SkillLevel/3)*10; // damage蔼篮 vision栏肺 持绊 // 促弗 蔼阑 利寸洒 拌魂秦辑 敬促. -_-; output.Damage = 1 + input.SkillLevel/50; //output.Delay = (5 - input.DEX/50) * 10; // 20檬 output.Delay = output.Duration; // Delay 客 Duration 捞 鞍促. by bezz 2003.3.5}//////////////////////////////////////////////////////////////////////////////// 牢忙飘 拌凯//////////////////////////////////////////////////////////////////////////////void CreateHolyWater::computeOutput(const SkillInput& input, SkillOutput& output) { output.Delay = (5 - input.SkillLevel/33) * 10; // 5->2檬 }void Light::computeOutput(const SkillInput& input, SkillOutput& output) { output.Duration = (60 + input.SkillLevel/20 * 60) * 10; // 60~360檬 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 DetectHidden::computeOutput(const SkillInput& input, SkillOutput& output) { output.Duration = (10 + input.SkillLevel/2) * 10; // 30~50檬 output.Delay = (5 - input.INTE/50) * 10; // 5->2檬 // 颇萍 焊呈胶甫 拌魂茄促. //output.Damage = getPercentValue(output.Damage, PartyEffectBoost[input.PartySize]); output.Duration = getPercentValue(output.Duration, PartyDurationBoost[input.PartySize]);}void AuraBall::computeOutput(const SkillInput& input, SkillOutput& output) {// output.Damage = 5 + (input.INTE/20) + input.SkillLevel/5;// output.Damage = 10 + (input.INTE/10) + input.SkillLevel/5; output.Damage = 16 + (input.INTE/10) + input.SkillLevel/4; output.Delay = 10; // 1檬// output.Range = 2 + (input.SkillLevel/25); // 静瘤档 臼绰 蔼 恐 持绢躇阑鳖.. 8/18 // 傍拜拌 扁贱俊绰 颇萍 焊呈胶啊 粮犁窍瘤 臼绰促.}void Bless::computeOutput(const SkillInput& input, SkillOutput& output) { if ( input.TargetType == SkillInput::TARGET_SELF ) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -