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

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

51 lines
970 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"
"github.com/shopspring/decimal"
)
/**
* 如果先出手则受攻击时反弹200%的伤害给对手持续n回合
*/
func init() {
t := &Effect73{
EffectNode: node.EffectNode{},
}
// t.Duration(-1) //设置成无限回合,到回合数就停止
input.InitEffect(input.EffectType.Skill, 73, t)
}
type Effect73 struct {
node.EffectNode
}
// 默认添加回合
func (e *Effect73) SetArgs(t *input.Input, a ...int) {
e.EffectNode.SetArgs(t, a...)
e.EffectNode.Duration(e.EffectNode.SideEffectArgs[0])
}
func (e *Effect73) Skill_Use_ex() bool {
if !e.Hit() {
return true
}
if !e.Input.FightC.IsFirst(e.Ctx().Our.Player) {
return true
}
e.Ctx().Opp.Damage(e.Ctx().Our, &info.DamageZone{
Type: info.DamageType.Fixed,
Damage: e.Ctx().Opp.DamageZone.Damage.Div(decimal.NewFromInt(2)),
})
return true
}