📄 skillformula.cpp
字号:
output.Duration = 10;}void Sanctuary::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 0; output.Delay = 5 - input.SkillLevel/50; output.Duration = (5 + input.SkillLevel/20)*10;}void Reflection::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 0; //output.Delay = 5 - input.SkillLevel/33; output.Duration = (20 + input.SkillLevel/5)*10; output.Delay = output.Duration; // Delay 客 Duration 捞 鞍促. by bezz 2003.3.5}void Hymn::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 10 + input.SkillLevel/10; output.Duration = (20 + input.SkillLevel/2)*10; output.Delay = 7 - input.SkillLevel/20;}//////////////////////////////////////////////////////////////////////////////// 轨颇捞绢 拌凯//////////////////////////////////////////////////////////////////////////////void PoisonousHands::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(20, 3 + (input.INTE-20)/3); output.Delay = 6; // 0.6檬}void AcidTouch::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.STR/6 + input.INTE/15; output.Delay = 6; // 0.6檬}void GreenPoison::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(15, 5 + (input.INTE-20)/10); output.Duration = min(20, 10 + (input.INTE-20)/10) * 10; output.Delay = max(2, 5 - (input.INTE-20)/50) * 10; // 5->2檬}void Darkness::computeOutput(const SkillInput& input, SkillOutput& output) { output.Duration = ( 10 + input.INTE/6 ) * 10; output.Delay = max(2, 10 - input.DEX/30 ) * 10; output.Range = ( 3 + (input.SkillLevel-15) / 25);}void YellowPoison::computeOutput(const SkillInput& input, SkillOutput& output) { output.Duration = input.INTE / 4 * 10; output.Delay = max(2, 10 - input.DEX/30 ) * 10;}void TransformToBat::computeOutput(const SkillInput& input, SkillOutput& output) { output.Delay = 30;}void SummonCasket::computeOutput(const SkillInput& input, SkillOutput& output) { output.Delay = 10;}void OpenCasket::computeOutput(const SkillInput& input, SkillOutput& output) { output.Delay = 30;}void AcidBolt::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(40, input.STR / 20 + input.INTE/5); output.Delay = max(1, 3 - (input.DEX/50) - (input.INTE/50)) * 10; // by bezz. 2002.12.10}void GreenStalker::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.STR/20 + input.INTE/10; output.Tick = 40; output.Duration = (input.DEX/5 + input.INTE/5)*10; // by sigi. 2002.12.3 output.Delay = max(1, 5 - input.DEX/40 ) * 10;}void BloodyTunnel::computeOutput(const SkillInput& input, SkillOutput& output) { output.Delay = 30;}void Paralyze::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(40, 25 + (input.INTE-20)/20); output.Duration = (3 + input.INTE/15) * 10; output.Delay = max(3, (6 - input.DEX/50)) * 10;}void BloodyMarker::computeOutput(const SkillInput& input, SkillOutput& output) { output.Delay = 30;}void DarkBluePoison::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(20, 5 + (input.INTE-20)/10); output.Duration = min(45, 21 + (input.INTE-20)/5) * 10; output.Tick = 30; output.Delay = max(3, 5 - (input.INTE-20)/10) * 10;}void TransformToWolf::computeOutput(const SkillInput& input, SkillOutput& output) { output.Delay = 30;}void Doom::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(30, 20 + (input.INTE-20)/20);// output.Duration = min(80, 30 + (input.INTE-20)/3) * 10; output.Duration = min(30, 10 + (input.INTE-20)/10) * 10; output.Delay = max(3, 5 - (input.INTE-20)/10) * 10;}void AcidBall::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.STR/15 + input.INTE/5; // by bezz. 2002.12.10 output.Delay = max(1, 3-input.DEX/50-input.INTE/50) * 10; // by bezz. 2002.12.10}void Invisibility::computeOutput(const SkillInput& input, SkillOutput& output) { output.Delay = 30;}void AcidSwamp::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.STR/15 + input.INTE/4; output.Duration = max(40, ( (input.DEX-40 + input.INTE-40)/6)*10); output.Tick = 15; output.Delay = max(2, 6-input.DEX/40) * 10;}void Seduction::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(30, 10 + (input.INTE-20)/10); output.Duration = min(50, 20 + (input.INTE-20)/5) * 10; output.Delay = max(3, 5 - (input.INTE-20)/10) * 10;}void BloodyNail::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.STR/8 + input.DEX/10 + input.INTE/30; output.Delay = 6; // 0.6檬}void BloodyKnife::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.STR/10 + input.INTE/5 + input.DEX/10; output.Delay = max( 2, 6 - ( input.DEX/50 ) - ( input.INTE/50 ) ); // by bezz. 2002.12.10}void BloodyBall::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.STR/8 + input.INTE/4 + input.DEX/8; output.Delay = 30;}void BloodyWave::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.INTE/6 + input.STR/7 + input.DEX/7; output.Delay = max(1, 3-input.DEX/50 ) * 10; // ToHit绰 bKnockback栏肺 静牢促. output.ToHit = 50; //min(35, 10 + (int)(input.INTE/10));}void BloodyMasterWave::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(80, 40 + (input.INTE-20)/4 ); output.Delay = 30; // ToHit绰 bKnockback栏肺 静牢促. output.ToHit = min(55, 30 + (int)(input.INTE/10));}void BloodyWarp::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(70, 30 + (input.INTE-20)/4 ); output.Delay = 30; // ToHit绰 bKnockback栏肺 静牢促. output.ToHit = min(35, 10 + (int)(input.INTE/10));}void BloodyWall::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.INTE/5 + input.STR/10; output.Duration = (input.DEX/15 + input.INTE/10) * 10; output.Delay = max(2, 5 - input.DEX/50) * 10; output.Tick = 10;}void BloodySnake::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(35, 10 + (input.INTE-20)/9 ); output.Duration = (1 + (input.INTE-20)/80) * 10; output.Delay = max(3, 6 - (input.INTE-20)/50) * 10; output.Tick = 3;}void BloodySpear::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(180,input.STR/6 + input.INTE/2 + input.DEX/12); output.Delay = max(2, 6 - input.DEX/50) * 10;}void PoisonStrike::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(65, input.STR/10 + input.INTE*2/9); output.Delay = max(1,5 - input.DEX/50) * 10;}void AcidStrike::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(75, input.STR/8 + input.INTE/4); output.Delay = max(1, 5 - input.DEX/50) * 10;}void BloodyStrike::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(90,input.STR/8 + input.INTE*10/23); output.Delay = max(2, 6 - input.DEX/50) * 10;}void PoisonStorm::computeOutput(const SkillInput& input, SkillOutput& output) { //output.Damage = input.STR/30 + input.INTE/9; 12.6 //2002.12.06 厘全芒 output.Damage = input.STR/30 + input.INTE/4; // 2003.3.20 Sequoia 掉饭捞 固聪肛 持菌促. output.Delay = max( (8 - input.DEX/50) * 10, 20 ); output.Range = min(6,3 + (input.SkillLevel-40)/8); }void AcidStorm::computeOutput(const SkillInput& input, SkillOutput& output) { //output.Damage = input.STR/28 + input.INTE/8; 12.6 // 2002.12.06 厘全芒 output.Damage = input.STR/25 + input.INTE*2/7; // 2003.3.20 Sequoia 掉饭捞 固聪肛 持菌促. output.Delay = max( (9 - input.DEX/50) * 10, 20 );}void BloodyStorm::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.STR/25 + input.INTE/6; output.Duration = (input.DEX/100 + input.INTE/100) * 10; // 2003.3.20 Sequoia 掉饭捞 固聪肛 持菌促. output.Delay = max( (9 - input.DEX/50) * 10, 20 );}void Extreme::computeOutput(const SkillInput& input, SkillOutput& output) { // 单固瘤 焊呈胶绰 咯扁辑 拌魂窍瘤 臼绊, // Vampire::initAllStat()俊辑 拌魂茄促. output.Damage = 0; // output.Duration = (30 + (input.INTE-20)/6) * 10; // 30 -> 80 output.Duration = (60 + input.STR/15 + input.DEX/6 + input.INTE/20) * 10; // 30 -> 80 output.Delay = (6 - input.STR/70) * 10; // 5 -> 2}void CriticalGround::computeOutput(const SkillInput& input, SkillOutput& output) { // acid bolt尔 度鞍寸 - -; //output.Damage = min(40, 20 + (input.INTE-20)/6); //output.Delay = 10; // 1檬 // 20 // 145 --> 145~290 --> 22~46 // 500 --> 500~1000 --> 125~250 (扁裙140~280) int divider = 1; if (input.STR < 200) { divider = 6; } else { divider = 4; } output.Damage = max(20, (input.STR + rand()%input.STR)/divider); output.Delay = 10; // 0.6檬 // 傍拜拌 扁贱俊绰 颇萍 焊呈胶啊 粮犁窍瘤 臼绰促.}void Peace::computeOutput( const SkillInput& input, SkillOutput& output ){// output.Duration = (15 + input.INTE / 10)*10; output.Duration = (10 + input.INTE / 40 + input.SkillLevel / 20)*10; output.Delay = max( 10 - input.INTE / 20, 5 ) * 10;}void Death::computeOutput(const SkillInput& input, SkillOutput& output) { // 2003.3.20 by Sequoia 弥措蔼捞 眠啊登菌促.// output.Damage = min( input.INTE*10/25 + input.STR/6, 150 ); output.Damage = min( input.INTE/5 + input.STR/12, 80 ); output.Duration = (input.INTE/5 ) * 10; output.Delay = max(2, 5 - input.DEX/50) * 10;}void Mephisto::computeOutput(const SkillInput& input, SkillOutput& output) { // 捞 扁贱父 漂喊洒.. parameter甫 促澜苞 鞍捞 逞败霖促. //input.SkillLevel = pVampire->getSTR()+pVampire->getDEX()+pVampire->getINT(); //input.DomainLevel = pVampire->getLevel(); //output.Damage = 10 + (input.SkillLevel-60)/15; //output.Duration = (25 + (input.DomainLevel/4))*10; // by sigi. 2002.12.3 output.Damage = 10 + (input.STR + input.DEX + input.INTE)/30; output.Duration = max(10, (input.DomainLevel - 95)*10) * 10; output.Delay = max(2, 5 - (input.INTE-20)/10) * 10;}void Transfusion::computeOutput(const SkillInput& input, SkillOutput& output) { //output.Damage = min(60, 15 + (input.INTE-20)/5); //output.Duration = (10 + (input.INTE-20)/10) * 10; //output.Delay = 5;//max(3, 6 - (input.INTE-20)/50) * 10; output.Delay = max(3, 6 - (input.INTE-20)/50) * 10;}void SummonMonsters::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = 0; output.Delay = 20; // 2檬}void GroundAttack::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(100, 30 + (input.INTE-20)/5); // % damage output.Duration = 20; // 割 檬饶 气惯 output.Tick = 15; output.Delay = max(3, 6 - (input.INTE-20)/50) * 10;}void MeteorStrike::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = (int)(input.SkillLevel * 0.8 + ( rand() % (int)( input.SkillLevel * 0.4 + 1 ) )) + (input.STR + input.DEX)/6; output.Duration = 10; // 割 檬饶 气惯 output.Delay = 10;}void Hallucination::computeOutput(const SkillInput& input, SkillOutput& output) { //output.Damage = min(20, 10 + (input.INTE-20)/20); //output.Duration = min(80, 30 + (input.INTE-20)/3) * 10; output.Duration = ( 20 + (input.STR/65) + (input.DEX/85) + (input.INTE/40) ) * 10; //output.Delay = max(3, 5 - (input.INTE-20)/10) * 10; //output.Delay = ( 10 - (input.DEX/50) ) * 10; output.Delay = output.Duration;}void DuplicateSelf::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min((3+rand()%5), input.INTE/100); // 盒脚 俺荐 output.Duration = min(80, 30 + (input.INTE-20)/3) * 10; output.Delay = max(3, 5 - (input.INTE-20)/10) * 10;}void SoulChain::computeOutput(const SkillInput& input, SkillOutput& output) { output.Duration = 100; output.Delay = 1200;}void SharpShield::computeOutput(const SkillInput& input, SkillOutput& output){ output.Duration = ( 10 + ( input.SkillLevel / 2 ) ) * 10; output.Damage = ( input.STR / 20 ) + ( input.SkillLevel / 20 ); //output.Delay = ( 5 - ( input.SkillLevel / 25 ) ) * 10; output.Delay = output.Duration; // Delay 客 Duration 捞 鞍促. by bezz 2003.3.5}void WideLightning::computeOutput(const SkillInput& input, SkillOutput& output){ output.Delay = 10; output.Damage = ( input.STR / 8 ) + ( input.SkillLevel / 3 ); output.Duration = 6; // 0.6檬 output.Tick = 6; // 0.6檬}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -