Files
bl/logic/service/fight/effect/effect_91.go
昔念 d52c6cbb79 ```
feat(fight): 更新概率判定函数注释并新增状态与属性操作类型

更新 PlayerCaptureContext.Roll 函数注释,明确返回值含义。
新增 PetStatus 枚举值 NULL,表示无效状态。
新增 AbilityOpType.COPY 操作类型,支持复制对手属性值。
```
2025-11-14 04:55:29 +08:00

47 lines
905 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"
)
/**
* n回合内对手的状态变化会同时作用在自己身上
*/
func init() {
t := &Effect91{
EffectNode: node.EffectNode{},
}
// t.Duration(-1) //设置成无限回合,到回合数就停止
input.InitEffect(input.EffectType.Skill, 91, t)
}
type Effect91 struct {
node.EffectNode
can bool
}
// 默认添加回合
func (e *Effect91) SetArgs(t *input.Input, a ...int) {
e.EffectNode.SetArgs(t, a...)
e.EffectNode.Duration(e.EffectNode.SideEffectArgs[0])
}
func (e *Effect91) Turn_Start(fattack *action.SelectSkillAction, sattack *action.SelectSkillAction) {
if !e.Hit() {
return
}
for i, v := range e.Ctx().Opp.Prop {
e.Ctx().Our.SetProp(e.Ctx().Our, int8(i), v, info.AbilityOpType.COPY)
}
}