feat(fight): 优化战斗系统技能攻击计算逻辑 - 调整技能攻击时间判断顺序,提前计算总伤害 - 替换随机数生成函数,使用grand包提供更安全的随机数 - 修复暴击计算中的概率判断逻辑,统一使用Meet函数 - 修正技能伤害计算中防御属性获取错误,应使用目标方属性而非攻击方 - 优化基础伤害公式计算顺序,提升性能 - 添加技能伤害调试输出便于问题排查 ```
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
//还原属性
|
||||
|
||||
Reference in New Issue
Block a user