34 lines
792 B
Go
34 lines
792 B
Go
package effect
|
||
|
||
import (
|
||
"blazing/logic/service/fight/input"
|
||
"blazing/logic/service/fight/node"
|
||
)
|
||
|
||
// 518 - 若伤害高于m,则自身XX等级+n
|
||
type Effect518 struct {
|
||
node.EffectNode
|
||
}
|
||
|
||
func (e *Effect518) SkillHit_ex() bool {
|
||
damageThreshold := int(e.Args()[0].IntPart())
|
||
damageDone := e.Ctx().Our.SumDamage
|
||
|
||
if damageDone.IntPart() > int64(damageThreshold) {
|
||
effectType := int(e.Args()[1].IntPart()) // XX类型
|
||
effectValue := int(e.Args()[2].IntPart()) // 等级+n
|
||
|
||
statusEffect := e.Ctx().Our.InitEffect(input.EffectType.Status, effectType)
|
||
if statusEffect != nil {
|
||
statusEffect.SetArgs(e.Ctx().Our, effectValue)
|
||
e.Ctx().Our.AddEffect(e.Ctx().Our, statusEffect)
|
||
}
|
||
}
|
||
|
||
return true
|
||
}
|
||
func init() {
|
||
input.InitEffect(input.EffectType.Skill, 518, &Effect518{})
|
||
|
||
}
|