예제 #1
0
 public PreSteadyFocus(BuffProxy owner)
     : base(null, owner,"pre_steady_focus")
 {
     Properties["up"] = () =>
         (cShots == 1);
 }
예제 #2
0
 public IncantersFlow(BuffProxy owner)
     : base(dbc.Spells[116267], owner, "incanters_flow_special")
 {
     Properties["stack"] = () =>
     {
         //Write(""+oldstack);
         var bstack = (int)owner.Source.GetAuraStacks(116267);
         if (oldstack < bstack) dir = 1;
         else if (oldstack > bstack) dir = -1;
         oldstack = bstack;
         return bstack;
     };
 }
예제 #3
0
 public Potion(BuffProxy owner)
     : base(null, owner,"potion_buff")
 {
     potions = new[] { dbc.Spells[156423], dbc.Spells[156426], dbc.Spells[156428], dbc.Spells[156430], };
     Properties["up"] = () => GetAuraUp(Owner.GetUnit(), potions);
     Properties["remains"] =
         () => GetAuraTimeLeft(Owner.GetUnit(), potions).TotalSeconds;
     Properties["duration"] = () => 25;
 }
예제 #4
0
                public BuffInternal(spell_data_t spell, BuffProxy owner, String sn)
                    : base(spell, owner, sn)
                {
                    Properties["Spell"] = () => 1;

                    Properties["duration"] = () => this["up"]
                        ? owner.Source.GetAuraDuration(Spell.id) / 1000
                        : (Decimal)Spell.duration / 1000;
                    Properties["up"] = () => owner.Source.GetAuraUp(Spell.id);
                    Properties["remains"] = () => owner.Source.GetAuraTimeLeft(Spell.id).TotalSeconds;
                    Properties["stack"] = () =>
                    {
                        //Write("AI: " + safeName);
                        return owner.Source.GetAuraStacks(Spell.id);
                    };
                    Properties["down"] = () => !this["up"];
                    Properties["react"] = () => this["stack"] > 0 ? this["stack"] : this["up"];
                    Properties["ticking"] = () => this["up"];
                    Properties["tick_time"] = () => 1;
                    Properties["ticks_remain"] = () => 1;
                }
예제 #5
0
                public Bloodlust(BuffProxy owner)
                    : base(null,owner,"bloodlust_proxy")
                {
                    bloodlust = dbc.Spells[2825];

                    Properties["up"] =
                        () =>
                            simc.buff.heroism.up || simc.buff[bloodlust].up || simc.buff.time_warp.up;
                    Properties["remains"] = () => simc.buff.heroism.up
                        ? simc.buff.heroism.remains
                        : simc.buff[bloodlust].up
                            ? simc.buff[bloodlust].remains
                            : simc.buff.time_warp.up ? simc.buff.time_warp.remains : 0.0;
                    Properties["duration"] = () => 40;
                    Properties["stack"] =
                                            () =>
                                                0;
                }
예제 #6
0
                public AnyTrinket(BuffProxy owner)
                    : base(null, owner,"anytrinket_buff")
                {
                    Properties["up"] = () =>
                    {
                        foreach (var proc in get_procs)
                        {
                            if (simc.buff[DBGetSpell(proc).name].up) return true;
                        }
                        return false;
                    };

                    Properties["remains"] = () =>
                    {
                        Decimal dur = Decimal.MinValue;
                        foreach (var proc in get_procs)
                        {
                            var r = simc.buff[proc].remains;
                            if (dur < r) dur = r;
                        }
                        return dur;
                    };

                    Properties["stack"] = () =>
                    {
                        Decimal dur = Decimal.MinValue;
                        foreach (var proc in get_procs)
                        {
                            var r = simc.buff[proc].stack;
                            if (dur < r) dur = r;
                        }
                        return dur;
                    };
                }
예제 #7
0
 public override void Init()
 {
     mBuffProxy = RetrieveProxy <BuffProxy>();
 }
예제 #8
0
 public override void Init()
 {
     mBuffProxy = RetrieveProxy <BuffProxy>();
     Debug.Log("EffectMediator获取buffnumb:  " + mBuffProxy.BuffNumb.ToString());
     Register();
 }