Files
bl/logic/service/fight/effect/effect_31.go
昔念 0f524aab85 ```
fix(fight): 修复战斗命中判断逻辑并移除冗余命中检查

- 修复 NewSel32 中的命中判断,将 Side 字段改为 Hit 字段
- 移除 EffectAttackMiss 中的冗余命中判断逻辑
- 移除 EffectDefeatTrigger 中的重复命中检查
- 移除 EffectPhysicalAttackAddStatus 中的冗余命中判断
- 移除多个效果文件中的重复命中检查逻辑
- 修正 Effect136 中的命中处理逻辑,确保在技能命中时正确触发
- 移除其他多个效果中的重复命中检查代码
```
2026-01-04 21:41:10 +08:00

36 lines
657 B
Go

package effect
import (
"blazing/logic/service/fight/info"
"blazing/logic/service/fight/input"
"blazing/logic/service/fight/node"
"github.com/alpacahq/alpacadecimal"
)
/**
* 1回合做m~n次攻击
*/
func init() {
input.InitEffect(input.EffectType.Skill, 31, &Effect31{
EffectNode: node.EffectNode{},
})
}
type Effect31 struct {
node.EffectNode
}
func (e *Effect31) Damage_Mul(t *info.DamageZone) bool {
if t.Type == info.DamageType.Red {
n := int(e.Input.FightC.GetRand().Int31n(int32(e.SideEffectArgs[1]-e.SideEffectArgs[0]+1))) + e.SideEffectArgs[0]
t.Damage = t.Damage.Mul(alpacadecimal.NewFromInt(int64(n)))
}
return true
}