Files
bl/logic/service/fight/effect/166.go
xinian aa2c8cfb42
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
refactor: 重构战斗效果实现到独立文件
2026-03-08 15:41:16 +08:00

36 lines
933 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"
"blazing/logic/service/fight/node"
)
// 166 - n回合内若对手使用属性攻击则m%对手XX等级k
type Effect166 struct {
node.EffectNode
}
func (e *Effect166) Skill_Use_ex() bool {
if e.Ctx().SkillEntity != nil && e.Ctx().SkillEntity.Category() == info.Category.STATUS {
chance := e.Args()[0].IntPart() // m%
success, _, _ := e.Input.Player.Roll(int(chance), 100)
if success {
effectType := int8(e.Args()[1].IntPart()) // XX类型
effectValue := int8(e.Args()[2].IntPart()) // 等级k
e.Ctx().Opp.SetProp(e.Ctx().Our, effectType, effectValue, info.AbilityOpType.SUB)
}
}
return true
}
func (e *Effect166) SetArgs(t *input.Input, a ...int) {
e.EffectNode.SetArgs(t, a...)
e.EffectNode.Duration(a[0]) // 持续n回合
}
func init() {
input.InitEffect(input.EffectType.Skill, 166, &Effect166{})
}