Files
bl/logic/service/fight/effect/155.go
xinian 6c75b106b3
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
refactor: 重构战斗效果实现
2026-03-08 15:26:07 +08:00

38 lines
968 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/action"
"blazing/logic/service/fight/info"
"blazing/logic/service/fight/input"
"blazing/logic/service/fight/node"
)
// 155 - 恢复全部体力消除所有能力下降使自己进入睡眠n回合
type Effect155 struct {
node.EffectNode
}
func (e *Effect155) OnSkill() bool {
// 恢复全部体力
maxHp := e.Ctx().Our.CurrentPet.GetMaxHP()
e.Ctx().Our.Heal(e.Ctx().Our, &action.SelectSkillAction{}, maxHp)
// 消除所有能力下降
for i := 0; i < 6; i++ {
e.Ctx().Our.SetProp(e.Ctx().Our, int8(i), -1, info.AbilityOpType.RESET)
}
// 使自己进入睡眠n回合
sleepEffect := e.Ctx().Our.InitEffect(input.EffectType.Status, int(info.PetStatus.Sleep))
if sleepEffect != nil {
sleepEffect.Duration(int(e.Args()[0].IntPart())) // n回合
e.Ctx().Our.AddEffect(e.Ctx().Our, sleepEffect)
}
return true
}
func init() {
input.InitEffect(input.EffectType.Skill, 155, &Effect155{})
}