Files
bl/logic/service/fight/battle/skill/effect/base/BurnEffect.go
昔念 5ba81e2f90 refactor(fight): 重构战斗相关代码
- 移除未使用的战斗模式枚举和相关代码
- 更新 BurnEffect 结构,增加生命周期管理
- 删除多余的 Skill 结构和 Effect 相关代码
- 调整 NoteReadyToFightInfo 结构的位置
2025-08-25 04:23:32 +08:00

33 lines
677 B
Go

package base
import (
"blazing/logic/service/fight/battle/node"
"fmt"
)
type BurnEffect struct {
life LifeCycle
}
func NewBurnEffect(turns int) *BurnEffect {
return &BurnEffect{life: NewTurnLife(turns)}
}
func (b *BurnEffect) Trigger() node.EnumEffectTrigger {
return node.EffectTrigger.TurnEnd // 每回合结束触发掉血
}
func (b *BurnEffect) Apply(ctx *node.EffectContext, next func()) {
fmt.Printf("[%s] 在回合结束时受灼烧伤害!\n", ctx.Target)
b.life.Use() // 消耗一次触发次数(如果你定义为按次数存活)
next()
}
func (b *BurnEffect) Tick() {
b.life.Tick()
}
func (b *BurnEffect) Alive() bool {
return b.life.Alive()
}