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

📄 skillformula.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	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 + -