```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

feat(fight): 优化战斗系统技能攻击计算逻辑

- 调整技能攻击时间判断顺序,提前计算总伤害
- 替换随机数生成函数,使用grand包提供更安全的随机数
- 修复暴击计算中的概率判断逻辑,统一使用Meet函数
- 修正技能伤害计算中防御属性获取错误,应使用目标方属性而非攻击方
- 优化基础伤害公式计算顺序,提升性能
- 添加技能伤害调试输出便于问题排查
```
This commit is contained in:
昔念
2026-03-10 00:06:02 +08:00
parent 1fa1ae848d
commit b8ce414f11
3 changed files with 11 additions and 11 deletions

View File

@@ -48,9 +48,10 @@ func (f *FightC) processSkillAttack(attacker, defender *input.Input, skill *info
attacker.SkillID = uint32(skill.XML.ID) //获取技能ID
var SumDamage alpacadecimal.Decimal
if skill.AttackTime != 0 { //如果命中
SumDamage = attacker.CalculatePower(defender, skill)
attacker.CalculateCrit(defender, skill) //暴击计算
attacker.IsCritical = skill.Crit
SumDamage = attacker.CalculatePower(defender, skill)
}
//还原属性