``` refactor(fight): 重构状态效果初始化逻辑,统一使用InitEffect方法并内置随机持续回合
This commit is contained in:
@@ -63,26 +63,22 @@ func (e *Effect10) OnSkill() bool {
|
||||
if !success {
|
||||
return true
|
||||
}
|
||||
var duration int
|
||||
if len(e.EffectNode.SideEffectArgs) > 1 {
|
||||
// 持续回合
|
||||
duration = e.EffectNode.SideEffectArgs[1]
|
||||
}
|
||||
|
||||
// 持续回合
|
||||
|
||||
if duration == 0 {
|
||||
duration = int(e.Input.FightC.GetRand().Int31n(2)) // 默认随机 2~3 回合
|
||||
duration++
|
||||
}
|
||||
|
||||
// 获取状态效果
|
||||
eff := input.Geteffect(input.EffectType.Status, int(e.Status))
|
||||
eff := e.Ctx().Our.InitEffect(input.EffectType.Status, int(e.Status))
|
||||
if eff == nil {
|
||||
return true
|
||||
}
|
||||
|
||||
eff.Duration(duration)
|
||||
eff.SetArgs(e.Ctx().Our) //输入参数是对方
|
||||
if len(e.EffectNode.SideEffectArgs) > 1 {
|
||||
// 持续回合
|
||||
|
||||
eff.Duration(e.EffectNode.SideEffectArgs[1])
|
||||
|
||||
}
|
||||
|
||||
e.Ctx().Opp.AddEffect(e.Ctx().Our, eff)
|
||||
return true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user