You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
*
@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
}