From c4af40f55c765b20d12f4c7c0264223cb417d73e Mon Sep 17 00:00:00 2001 From: dustoair <107600816+dustoair@users.noreply.github.com> Date: Sun, 6 Nov 2022 13:12:03 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E8=83=8C=E5=88=BA=E5=92=8C=E4=BC=8F?= =?UTF-8?q?=E5=87=BB=E7=B3=BB=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ambush.go | 36 ++++++++++++++++ backStack.go | 28 ++++++++++++ blood.go | 50 ++++++++++++++++++++++ bone.go | 62 +++++++++++++++++++++++++++ main.go | 118 ++++++++++++--------------------------------------- 5 files changed, 202 insertions(+), 92 deletions(-) create mode 100644 ambush.go create mode 100644 backStack.go create mode 100644 blood.go create mode 100644 bone.go diff --git a/ambush.go b/ambush.go new file mode 100644 index 0000000..466c9ee --- /dev/null +++ b/ambush.go @@ -0,0 +1,36 @@ +/* +* +@author: sre +@date: 2022/11/6 0006 +@desc: todo +* +*/ +package main + +import "fmt" + +//关于盗贼伏击暴击伤害计算公式 +//https://ngabbs.com/read.php?tid=20736838 +//https://ngabbs.com/read.php?tid=19912134 + +//暴击伤害=({(AP*1.7/14+DPH)*150%+210}*1.2)2.3 + +// backStackDmg伏击DPH +func amBushDmg(dps, speed, ap float64) float64 { + //背刺伤害={(AP*1.7/14+DPH)*150%+210} + return 290.0 + 2.5*(ap*1.7/14+dps*speed) +} + +func amBushDPH(myAP, myCrit float64) { + //帝陨 + fmt.Println("帝陨 ", DesirBloodBackSTackDmg(amBushDmg(73.1, 1.8, myAP+16), myCrit+1)) + //死亡之钉 + fmt.Println("死亡之钉 ", DesirBloodBackSTackDmg(amBushDmg(66.4, 1.8, myAP+38), myCrit)) + //麦芽 + fmt.Println("麦芽 ", DesirBloodBackSTackDmg(amBushDmg(65.3, 1.8, myAP+36), myCrit+1)) + //末日先驱 + fmt.Println("末日先驱 ", DesirBloodBackSTackDmg(amBushDmg(65.3, 1.6, myAP+8), myCrit+1)) + //大元帅 + fmt.Println("大元帅 ", DesirBloodBackSTackDmg(amBushDmg(59.5, 2.0, myAP+28), myCrit+1)) + +} diff --git a/backStack.go b/backStack.go new file mode 100644 index 0000000..2ef5fd3 --- /dev/null +++ b/backStack.go @@ -0,0 +1,28 @@ +/* +* +@author: sre +@date: 2022/11/6 0006 +@desc: todo +* +*/ +package main + +import "fmt" + +//关于盗贼背刺暴击伤害计算公式 +//https://ngabbs.com/read.php?tid=20736838 +//https://ngabbs.com/read.php?tid=19912134 + +//暴击伤害=({(AP*1.7/14+DPH)*150%+210}*1.2)2.3 + +// backStackDmg背刺DPH +func backStackDmg(dps, speed, ap float64) float64 { + //背刺伤害={(AP*1.7/14+DPH)*150%+210} + return 225.0 + 1.5*(ap*1.7/14+dps*speed) +} + +func bckStackDPH(myAP, myCrit float64) { + //帝陨 + fmt.Println("帝陨 ", DesirBloodBackSTackDmg(backStackDmg(73.1, 1.8, myAP+16), myCrit+1)) + +} diff --git a/blood.go b/blood.go new file mode 100644 index 0000000..67941ce --- /dev/null +++ b/blood.go @@ -0,0 +1,50 @@ +/* +* +@author: sre +@date: 2022/11/6 0006 +@desc: todo +* +*/ +package main + +import "fmt" + +func DesirBloodBackSTackDmg(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 + +} + +// 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) +} +func bloodDPH(myAP, myCrit float64) { + + //大王剑 + fmt.Println("大王剑 ", DesirBloodBackSTackDmg(bloodDmg(73.1, 2.7, myAP+40), myCrit)) + //大元帅 + fmt.Println("大元帅 ", DesirBloodBackSTackDmg(bloodDmg(59.5, 2.9, myAP+28), myCrit+1)) + //电锤 + fmt.Println("电锤 ", DesirBloodBackSTackDmg(bloodDmg(65.4, 2.8, myAP), myCrit)) + //咸鱼 + fmt.Println("咸鱼 ", DesirBloodBackSTackDmg(bloodDmg(59.5, 2.8, myAP+20), myCrit+1)) + //谴责着 + fmt.Println("谴责着 ", DesirBloodBackSTackDmg(bloodDmg(65.4, 2.6, myAP+16), myCrit+1)) + + //多彩 + fmt.Println("多彩 ", DesirBloodBackSTackDmg(bloodDmg(58.5, 2.6, myAP+28), myCrit+0.5)) + //提布 + fmt.Println("提布 ", DesirBloodBackSTackDmg(bloodDmg(47.2, 2.9, myAP), myCrit)) + +} diff --git a/bone.go b/bone.go new file mode 100644 index 0000000..c8032e3 --- /dev/null +++ b/bone.go @@ -0,0 +1,62 @@ +/* +* +@author: sre +@date: 2022/11/6 0006 +@desc: todo +* +*/ +package main + +import "fmt" + +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)) +} + +// 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 = 394, 502 + case 3: + low, high = 564, 672 + case 4: + low, high = 734, 842 + case 5: + low, high = 904, 1012 + default: + // point = 1 + low, high = 224, 332 + } + // 伤害系数 天赋强化剔骨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 + +} diff --git a/main.go b/main.go index f26e660..d7affd7 100644 --- a/main.go +++ b/main.go @@ -11,13 +11,6 @@ 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 @@ -25,55 +18,6 @@ func evilDmg(dps, speed, ap float64) float64 { } -// 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% 的暴击 @@ -92,8 +36,10 @@ func main() { fmt.Println("4t3 =========================================") dmg4t3() - fmt.Println("9t3 =============================================") + fmt.Println("9t3 blood=============================================") dmg9t3() + fmt.Println("9t3 dagger=============================================") + dmg9t3Drager() } func dmg4t3() { @@ -122,6 +68,27 @@ func dmg4t3() { //fmt.Println("邪恶DPH") //evilDPH() +} +func dmg9t3Drager() { + // 9t3 萨迪斯的项圈 堕落神明披风 灵魂之弦 清算戒指 冰龙爪 + // 护甲2236防御300 未命中5% 闪避24.62%招架5% + // ap 951 + // crit 26.31 + // hit 8% + myAP := 951.0 + myCrit := 26.31 + fmt.Println("背刺最大DPH") + bckStackDPH(myAP, 100.0) + + fmt.Println("背刺DPH") + bckStackDPH(myAP, myCrit) + + fmt.Println("伏击最大DPH") + amBushDPH(myAP, 100.0) + + fmt.Println("伏击DPH") + amBushDPH(myAP, myCrit) + } func dmg9t3() { @@ -137,6 +104,8 @@ func dmg9t3() { fmt.Println("出血DPH") bloodDPH(myAP, myCrit) + fmt.Println("出血最大DPH") + bloodDPH(myAP, 100.0) fmt.Println("平砍DPH") attackDPH(myAP, myCrit) @@ -149,22 +118,7 @@ func dmg9t3() { //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) { //大王剑 @@ -181,23 +135,3 @@ func attackDPH(myAP, myCrit float64) { 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)) - -}