Files
bl/logic/service/fight/effect/effect_174.go
昔念 d367f9d1d4
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
41
2026-03-07 23:54:01 +08:00

40 lines
1.1 KiB
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"
"blazing/logic/service/fight/node"
)
// 174 - n回合内若对手使用属性攻击则m%自身XX等级k
type Effect174 struct {
node.EffectNode
}
func (e *Effect174) Skill_Use_ex() bool {
if e.Ctx().SkillEntity != nil && e.Ctx().SkillEntity.Category() == info.Category.STATUS {
chance := e.Args()[0].IntPart()
success, _, _ := e.Input.Player.Roll(int(chance), 100)
if success {
// 提升自身能力等级
effectType := e.Args()[1].IntPart() // 状态类型
effectValue := e.Args()[2].IntPart() // 等级提升数量
boostEffect := e.Ctx().Our.InitEffect(input.EffectType.Status, int(effectType))
if boostEffect != nil {
boostEffect.SetArgs(e.Ctx().Our, int(effectValue))
e.Ctx().Our.AddEffect(e.Ctx().Our, boostEffect)
}
}
}
return true
}
func (e *Effect174) SetArgs(t *input.Input, a ...int) {
e.EffectNode.SetArgs(t, a...)
e.EffectNode.Duration(a[0]) // 持续n回合
}
func init() {
input.InitEffect(input.EffectType.NewSel, 174, &Effect174{})
}