Exemplo n.º 1
0
        public static Composite CreateMageLossOfControlBehavior()
        {
            return(new Decorator(
                       req => Me.Combat,
                       new PrioritySelector(

                           // deal with Ice Block here (a stun of our own doing)
                           new Decorator(
                               ret => Me.ActiveAuras.ContainsKey("Ice Block"),
                               new PrioritySelector(
                                   new Throttle(10, new Action(r => Logger.Write(Color.DodgerBlue, "^Ice Block for 10 secs"))),
                                   new Decorator(
                                       ret => DateTime.UtcNow < _cancelIceBlockForCauterize && !Me.ActiveAuras.ContainsKey("Cauterize"),
                                       new Action(ret => {
                Logger.Write(LogColor.Cancel, "/cancel Ice Block since Cauterize has expired");
                _cancelIceBlockForCauterize = DateTime.MinValue;
                // Me.GetAuraByName("Ice Block").TryCancelAura();
                Me.CancelAura("Ice Block");
                return RunStatus.Success;
            })
                                       ),
                                   new ActionIdle()
                                   )
                               ),

                           Spell.BuffSelf("Cold Snap", req => Me.Combat && Me.HealthPercent < MageSettings.ColdSnapHealthPct)
                           )
                       ));
        }