/* * @author: sre @date: 2022/11/6 0006 @desc: todo * */ package main import ( "fmt" ) // bloodDmg出血DPH func bloodDmg(dps, speed, ap float64) float64 { //https://www.gamersky.com/neta/200701/53511.shtml //剑普攻或出血DPH公式:(强度/14+武器DPS)*武器速度=(1000/14+59)*2.9≈380 return speed * (dps + ap/14) } // evilDmg邪恶攻击 func evilDmg(dps, speed, ap float64) float64 { speed = 2.4 return speed * (dps + ap/14) } // boneDmg骨骼攻击 func boneDmg(point int, ap float64) float64 { //https://ngabbs.com/read.php?tid=24062151 //8级剔骨:技能伤害=(技能描述伤害值+0.15×AP)×伤害系数 low, high := 0.0, 0.0 switch point { case 2: low, high = 350, 446 case 3: low, high = 501, 597 case 4: low, high = 652, 748 case 5: low, high = 803, 899 default: // point = 1 low, high = 199, 295 } // 伤害系数 天赋强化剔骨15% 5t2.5 15% dmgRate := BONERATE dmgLow := (low + 0.15*ap) * dmgRate dmgHigh := (high + 0.15*ap) * dmgRate return (dmgLow + dmgHigh) / 2 } func DesirBoneDmg(dmg, crit float64) float64 { //谋杀增加了2%的所有伤害 if crit > 100 { crit = 100 } baseDmg := (100-crit)/100*dmg + crit/100*dmg*2 return baseDmg * 1.02 } func DesirBloodDmg(dmg, crit float64) float64 { //恶意 致命偷袭 增加了 5% 30% 的暴击伤害 crit = crit + 5 critDmg := 2 + 0.3 //谋杀增加了2%的所有伤害 if crit > 100 { crit = 100 } baseDmg := (100-crit)/100*dmg + crit/100*dmg*critDmg return baseDmg * 1.02 } func DesirAttackDmg(dmg, crit float64) float64 { //恶意 增加了 5% 的暴击 crit = crit + 5 critDmg := 2.0 //谋杀增加了2%的所有伤害 if crit > 100 { crit = 100 } baseDmg := (100-crit)/100*dmg + crit/100*dmg*critDmg return baseDmg * 1.02 } func main() { fmt.Println("4t3 =========================================") dmg4t3() fmt.Println("9t3 =============================================") dmg9t3() } func dmg4t3() { // 5t2.5 4t3 萨迪斯的项圈 堕落神明披风 灵魂之弦 清算戒指 冰龙爪 // 护甲2213防御300 未命中5% 闪避18.85%招架5% // ap 846 // crit 28.85 // hit 7% myAP := 846.0 myCrit := 28.85 fmt.Println("剔骨最大DPH") boneDPH(myAP, 100.0) fmt.Println("出血DPH") bloodDPH(myAP, myCrit) fmt.Println("平砍DPH") attackDPH(myAP, myCrit) //fmt.Println("出血最大DPH") //bloodDPH(myAP, 100.0) //fmt.Println("剔骨DPH") //boneDPH(myAP, myCrit) // //fmt.Println("邪恶DPH") //evilDPH() } func dmg9t3() { // 9t3 萨迪斯的项圈 堕落神明披风 灵魂之弦 清算戒指 冰龙爪 // 护甲2236防御300 未命中5% 闪避24.62%招架5% // ap 951 // crit 26.31 // hit 8% myAP := 951.0 myCrit := 26.31 fmt.Println("剔骨最大DPH") boneDPH(myAP, 100.0) fmt.Println("出血DPH") bloodDPH(myAP, myCrit) fmt.Println("平砍DPH") attackDPH(myAP, myCrit) //fmt.Println("出血最大DPH") //bloodDPH(myAP, 100.0) //fmt.Println("剔骨DPH") //boneDPH(myAP, myCrit) // //fmt.Println("邪恶DPH") //evilDPH() } func boneDPH(myAP, myCrit float64) { //大王剑 fmt.Println("大王剑 ", DesirBoneDmg(boneDmg(5, myAP+40), myCrit)) //大元帅 fmt.Println("大元帅 ", DesirBoneDmg(boneDmg(5, myAP+28), myCrit+1)) //电锤 fmt.Println("电锤 ", DesirBoneDmg(boneDmg(5, myAP), myCrit)) //咸鱼 fmt.Println("咸鱼 ", DesirBoneDmg(boneDmg(5, myAP+20), myCrit+1)) //谴责着 fmt.Println("谴责着 ", DesirBoneDmg(boneDmg(5, myAP+16), myCrit+1)) //多彩 fmt.Println("多彩 ", DesirBoneDmg(boneDmg(5, myAP+20), myCrit+1)) } func attackDPH(myAP, myCrit float64) { //大王剑 fmt.Println("大王剑 ", DesirAttackDmg(evilDmg(73.1, 2.7, myAP+40), myCrit)) //大元帅 fmt.Println("大元帅 ", DesirAttackDmg(evilDmg(59.5, 2.9, myAP+28), myCrit+1)) //电锤 fmt.Println("电锤 ", DesirAttackDmg(evilDmg(65.4, 2.8, myAP), myCrit)) //咸鱼 fmt.Println("咸鱼 ", DesirAttackDmg(evilDmg(59.5, 2.8, myAP+20), myCrit+1)) //谴责着 fmt.Println("谴责着 ", DesirAttackDmg(evilDmg(65.4, 2.6, myAP+16), myCrit+1)) //多彩 fmt.Println("多彩 ", DesirAttackDmg(evilDmg(58.5, 2.6, myAP+28), myCrit+0.5)) } func bloodDPH(myAP, myCrit float64) { //大王剑 fmt.Println("大王剑 ", DesirBloodDmg(bloodDmg(73.1, 2.7, myAP+40), myCrit)) //大元帅 fmt.Println("大元帅 ", DesirBloodDmg(bloodDmg(59.5, 2.9, myAP+28), myCrit+1)) //电锤 fmt.Println("电锤 ", DesirBloodDmg(bloodDmg(65.4, 2.8, myAP), myCrit)) //咸鱼 fmt.Println("咸鱼 ", DesirBloodDmg(bloodDmg(59.5, 2.8, myAP+20), myCrit+1)) //谴责着 fmt.Println("谴责着 ", DesirBloodDmg(bloodDmg(65.4, 2.6, myAP+16), myCrit+1)) //多彩 fmt.Println("多彩 ", DesirBloodDmg(bloodDmg(58.5, 2.6, myAP+28), myCrit+0.5)) //提布 fmt.Println("提布 ", DesirBloodDmg(bloodDmg(47.2, 2.9, myAP), myCrit)) }