Files
bl/logic/service/fight/boss/NewSeIdx_83.go
昔念 36f7aae476
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
```
refactor(fight): 统一技能使用方法命名规范

将多个战斗相关的结构体中的技能使用方法名从不一致的命名
(SkillUseed, OnSkill)统一改为Skill_Use,提高代码一致性。

同时优化了Effect3效果处理逻辑,简化了属性遍历方式,
并修复了先手控制逻辑中的EffectCache处理方式。

BREAKING CHANGE: 技能使用
2026-03-09 17:14:41 +08:00

37 lines
860 B
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package effect
import (
"blazing/logic/service/fight/info"
"blazing/logic/service/fight/input"
"github.com/alpacahq/alpacadecimal"
)
// 83. 受到超过n的伤害时反弹m%伤害a1: n, a2: m
type NewSel83 struct {
NewSel0
}
func (e *NewSel83) Skill_Use() bool {
//魂印特性有不在场的情况,绑定时候将精灵和特性绑定
if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime {
return true
}
// 检查受到的伤害是否超过阈值
if e.Ctx().Our.SumDamage.Cmp(e.Args()[0]) > 0 {
// 反弹m%伤害
reflectDamage := e.Ctx().Our.SumDamage.Mul(e.Args()[1]).Div(alpacadecimal.NewFromInt(100))
e.Ctx().Opp.Damage(e.Ctx().Our, &info.DamageZone{
Type: info.DamageType.Fixed,
Damage: reflectDamage,
})
}
return true
}
func init() {
input.InitEffect(input.EffectType.NewSel, 83, &NewSel83{})
}