package effect import ( "blazing/logic/service/fight/action" "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" "math" ) /** * 自身雄性,下两回合必定先手;自身雌性,下两回合必定致命一击 */ func init() { input.InitEffect(input.EffectType.Skill, 83, &Effect83{}) } type Effect83 struct { node.EffectNode can bool } func (e *Effect83) Skill_Use() bool { e.can = true return true } func (e *Effect83) ComparePre(fattack *action.SelectSkillAction, sattack *action.SelectSkillAction) bool { if !e.can { return true } if e.Ctx().Our.CurrentPet.Info.Gender != 1 { return true } if fattack == nil { return true } //先手是自己 if fattack.PlayerID == e.Ctx().Our.UserID { return true } if sattack == nil { return true } if sattack.SkillEntity == nil { return true } //对调 sattack.SkillEntity.XML.Priority = math.MaxInt return true } // /自身雄性,下两回合必定先手;自身雌性,下两回合必定致命一击 func (e *Effect83) 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 } if e.Ctx().Our.CurrentPet.Info.Gender != 2 { return true } e.Ctx().SkillEntity.XML.CritRate = 16 return true } func (e *Effect83) SetArgs(t *input.Input, a ...int) { e.EffectNode.SetArgs(t, a...) e.EffectNode.Duration(2) }