master
dustoair 3 years ago
commit a989a33b16

15
.gitignore vendored

@ -0,0 +1,15 @@
.idea
go.sum
nogit.*
main.exe
eth.exe
test.zip
log.txt
logs
*.log
*.xls
*.xlsx
uploads
gin.log
test.txt
*.png

@ -0,0 +1,27 @@
/*
*
@author: sre
@date: 2022/11/6 0006
@desc: todo
*
*/
package main
// armFilterRate 计算护甲后实际造成的伤害值
func armFilterRate(ac float64) float64 {
//https://www.jianshu.com/p/2719713ce86b
//护甲减免伤害公式
//DR=AC/(AC+85*LV+400)
//(DR:伤害减免 AC:护甲 LV:等级)
//锯齿利刃具体减多少甲
//https://nga.178.com/read.php?tid=22468306&rand=886
//3点天赋加满后使你每级忽略目标5点护甲60级就可以忽略300点这有什么不好理解的么~
ac = ac - 300
if ac < 0 {
ac = 0
}
defend := ac / (ac + 85*60 + 400)
return 1 - defend
}

@ -0,0 +1,28 @@
/*
*
@author: sre
@date: 2022/11/6 0006
@desc: todo
*
*/
package main
import (
"fmt"
"testing"
)
func TestArm(t *testing.T) {
acWar := 5831.0
acPal := 5259.0
acHunt := 4142.0
acMag := 1137.0
cRoug := 2700.0
acList := []float64{acWar, acPal, acHunt, acMag, cRoug}
for _, ac := range acList {
dr := armFilterRate(ac)
fmt.Println(ac, " ", dr)
}
}

@ -0,0 +1,3 @@
module wowData
go 1.19

@ -0,0 +1,203 @@
/*
*
@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))
}

@ -0,0 +1,44 @@
4t3 =========================================
剔骨最大DPH
大王剑 2308.2293999999997
大元帅 2304.0066
电锤 2294.1534
咸鱼 2301.1913999999997
谴责着 2299.7837999999997
多彩 2301.1913999999997
出血DPH
大王剑 540.8917905985714
大元帅 524.0638630928572
电锤 517.50558432
咸鱼 503.62131780000004
谴责着 489.2829525257144
多彩 463.9123047
平砍DPH
大王剑 446.8879779428571
大元帅 402.5018211428572
电锤 412.29593691428573
咸鱼 400.61546228571433
谴责着 419.1489380571429
多彩 397.7205274285714
9t3 =============================================
剔骨最大DPH
大王剑 2345.1789
大元帅 2340.9560999999994
电锤 2331.1029
咸鱼 2338.1409000000003
谴责着 2336.7333
多彩 2338.1409000000003
出血DPH
大王剑 557.5514766377144
大元帅 543.6580797771428
电锤 535.7778883919999
咸鱼 522.59376048
谴责着 506.4085831182858
多彩 481.4378174914286
平砍DPH
大王剑 462.5161393371429
大元帅 419.2125161142857
电锤 428.58053300571424
咸鱼 417.3616882285714
谴责着 435.5460722057143
多彩 414.4016016

@ -0,0 +1,14 @@
/*
*
@author: sre
@date: 2022/11/6 0006
@desc: todo
*
*/
package main
const (
// 伤害系数 天赋强化剔骨15% 5t2.5 15%
//BONERATE = 1 * 1.15 * 1.15
BONERATE = 1 * 1.15
)
Loading…
Cancel
Save