package effect import ( "blazing/logic/service/fight/action" "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" ) // 160 - n回合内,若对手MISS则下回合自身必定致命一击 type Effect160 struct { node.EffectNode can bool } func (e *Effect160) ActionStart(a, b *action.SelectSkillAction) bool { if !e.can { return true } //fmt.Println(e.Ctx().SkillEntity) if e.Ctx().SkillEntity == nil { return true } if e.Ctx().SkillEntity.Category() == info.Category.STATUS { return true } e.Ctx().SkillEntity.XML.CritRate = 16 e.can = false e.Alive(false) return true } func (e *Effect160) SkillHit_ex() bool { //fmt.Println(e.Ctx().SkillEntity) if e.Ctx().SkillEntity == nil { return true } if e.Ctx().SkillEntity.AttackTime != 0 { return true } e.can = true e.Duration(1) return true } func (e *Effect160) SetArgs(t *input.Input, a ...int) { e.EffectNode.SetArgs(t, a...) e.EffectNode.Duration(a[0]) // 持续n回合 } func init() { input.InitEffect(input.EffectType.Skill, 160, &Effect160{}) }