refactor(fight/effect): 重构技能命中处理逻辑,统一使用OnHit/OnMiss接口并新增Effect85偷取强化效果

This commit is contained in:
1
2025-09-25 18:13:16 +00:00
parent b62f956371
commit a2aaf7fff8
7 changed files with 99 additions and 12 deletions

View File

@@ -39,10 +39,10 @@ type EffectStat struct {
// addrA := unsafe.Pointer(baseAddr + 4) //根据攻击算其他字段
// *(*uint32)(addrA) = 100
// }
func (e *EffectStat) AfterSkill(opp *input.Input, skill *info.SkillEntity) {
func (e *EffectStat) OnHit(opp *input.Input, skill *info.SkillEntity) {
t, _, _ := e.Input.Player.Roll(e.EffectNode.SideEffectArgs[1], 100)
if !t {
if !t { //没触发
return
}
ptype := info.AbilityOpType.AbilityOpIncrease
@@ -50,10 +50,10 @@ func (e *EffectStat) AfterSkill(opp *input.Input, skill *info.SkillEntity) {
ptype = info.AbilityOpType.AbilityOpDecrease
}
if !e.Etype { //自身
e.Input.SetProp(e.Input, e.EffectNode.SideEffectArgs[0], e.EffectNode.SideEffectArgs[2], ptype)
e.Input.SetProp(e.Input, int8(e.EffectNode.SideEffectArgs[0]), int8(e.EffectNode.SideEffectArgs[2]), ptype)
} else { //对方
opp.SetProp(e.Input, e.EffectNode.SideEffectArgs[0], e.EffectNode.SideEffectArgs[2], ptype)
opp.SetProp(e.Input, int8(e.EffectNode.SideEffectArgs[0]), int8(e.EffectNode.SideEffectArgs[2]), ptype)
}
}