feat: 新增多个战斗技能效果实现
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed

This commit is contained in:
xinian
2026-03-08 10:34:23 +08:00
committed by cnb
parent 042a48088d
commit 3dd2d40c50
43 changed files with 1278 additions and 797 deletions

View File

@@ -0,0 +1,41 @@
package effect
import (
"blazing/logic/service/fight/action"
"blazing/logic/service/fight/input"
"blazing/logic/service/fight/node"
)
// 499 - 后出手时下回合所有技能先制+m
type Effect499 struct {
node.EffectNode
can bool
}
func (e *Effect499) ActionStartEx(fattack, sattack *action.SelectSkillAction) bool {
if !e.can {
return true
}
// n%几率触发
success, _, _ := e.Input.Player.Roll(int(e.Args()[0].IntPart()), 100)
if success && e.Ctx().SkillEntity != nil {
// 先制+1提升优先级
e.Ctx().SkillEntity.AttackTime += uint32(e.Args()[1].IntPart())
}
e.can = true
e.Alive(false)
return true
}
func (e *Effect499) OnSkill() bool {
if e.Input.FightC.IsFirst(e.Input.Player) {
return true
}
e.can = true
e.Duration(1)
return true
}
func init() {
input.InitEffect(input.EffectType.Skill, 499, &Effect499{})
}