Пример #1
0
        public override void OnThink()
        {
            base.OnThink();

            DateTime now = DateTime.UtcNow;

            if (!this.InCombat())
            {
                return;
            }

            if (now > _NextCast)
            {
                _NextCast = now + CastInterval;

                if (CurrentSpell == null)
                {
                    CurrentSpell = new List <Timer>();
                }

                if (now > _NextShadowStep)
                {
                    _NextShadowStep = now + ShadowStepInterval;

                    CurrentSpell.Clear();

                    HideEffect();
                    CantWalk  = true;
                    Hidden    = true;
                    Blessed   = true;
                    Combatant = null;
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(1), BackStab_Callback));
                }
            }
        }
Пример #2
0
        public override void OnThink()
        {
            base.OnThink();

            DateTime now = DateTime.UtcNow;

            if (!this.InCombat())
            {
                return;
            }

            if (now > _NextCast)
            {
                _NextCast = now + CastInterval;

                if (CurrentSpell == null)
                {
                    CurrentSpell = new List <Timer>();
                }

                if (now > _NextShadowStep)
                {
                    _NextShadowStep = now + ShadowStepInterval;

                    CurrentSpell.Clear();

                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(1), Throw_Poop));
                }
            }
        }
Пример #3
0
        public override void OnThink()
        {
            base.OnThink();

            DateTime now = DateTime.UtcNow;

            if (!this.InCombat())
            {
                return;
            }

            if (now > _NextCast)
            {
                _NextCast = now + CastInterval;

                if (CurrentSpell == null)
                {
                    CurrentSpell = new List <Timer>();
                }

                if (now > _NextShadowStep && CurrentSpell.Count == 0)
                {
                    _NextShadowStep = now + ShadowStepInterval;

                    CurrentSpell.Clear();

                    HideEffect();
                    CantWalk  = true;
                    Hidden    = true;
                    Blessed   = true;
                    Combatant = null;
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(1), BackStab_Callback));
                }
                else if (now > _NextUltima && CurrentSpell.Count == 0)
                {
                    _NextUltima = now + UltimaInterval;

                    CurrentSpell.Clear();

                    CantWalk  = true;
                    Combatant = null;
                    Say("*Begins to cast Ultima*");
                    AnimateSpell();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(2), Ultima_Callback));
                }
                else if (now > _NextMirrorImage && CurrentSpell.Count == 0)
                {
                    _NextMirrorImage = now + MirrorImageInterval;

                    CurrentSpell.Clear();

                    CantWalk  = true;
                    Combatant = null;
                    Say("*Begins to cast Mirror Image*");
                    AnimateSpell();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(2), MirrorImage_Callback));
                }
            }
        }
Пример #4
0
        public override void OnThink()
        {
            base.OnThink();

            DateTime now = DateTime.UtcNow;

            if (!this.InCombat())
            {
                return;
            }

            if (now > _NextCast)
            {
                _NextCast = now + CastInterval;

                if (CurrentSpell == null)
                {
                    CurrentSpell = new List <Timer>();
                }

                if (Hits < HitsMax * .75)
                {
                    ToggleSummon = true;
                }
                if (ToggleSummon && now > _NextSummon)
                {
                    _NextSummon = now + SummonInterval;

                    CurrentSpell.Clear();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(3.0), Summon_Callback));
                }

                else if (now > _NextFeast)
                {
                    _NextFeast = now + FeastInterval;

                    CurrentSpell.Clear();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(3.0), Feast_Callback));
                }
                else if (now > _NextMerciless)
                {
                    _NextMerciless = now + MercilessInterval;

                    CurrentSpell.Clear();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(3.5), Merciless_Callback));
                }
            }
        }
Пример #5
0
        public override void OnThink()
        {
            base.OnThink();

            DateTime now = DateTime.UtcNow;

            if (!this.InCombat())
            {
                return;
            }

            if (now > _NextCast)
            {
                _NextCast = now + CastInterval;

                if (CurrentSpell == null)
                {
                    CurrentSpell = new List <Timer>();
                }

                if (now > _NextUltima && CurrentSpell.Count == 0)
                {
                    _NextUltima = now + UltimaInterval;

                    CurrentSpell.Clear();

                    CantWalk  = true;
                    Combatant = null;
                    AnimateSpell();
                    CurrentSpell.Clear();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(2.0), Ultima_Callback));
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(3.0), Ultima_Callback));
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(4.0), Ultima_Callback));
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(5.0), Ultima_Callback));
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(6.0), Ultima_Callback));
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(7.0), Ultima_Callback));
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(8.0), Ultima_Callback));
                }
            }
        }
Пример #6
0
        public override void OnThink()
        {
            base.OnThink();

            DateTime now = DateTime.UtcNow;

            if (!this.InCombat())
            {
                return;
            }

            if (now > _NextCast)
            {
                _NextCast = now + CastInterval;

                if (CurrentSpell == null)
                {
                    CurrentSpell = new List <Timer>();
                }

                if (Hits < HitsMax * .75)
                {
                    ToggleSummon = true;
                }
                if (ToggleMeteor && now > _NextMeteor && Transformed)
                {
                    _NextMeteor = now + MeteorInterval;

                    Yell(Utility.RandomBool() ? "Corp Por Kal Des Ylem" : "The heavens betray you! METEOR!!!");

                    Animate();

                    CurrentSpell.Clear();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(3.0), Meteor_Callback));
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(4.0), Meteor_Callback));
                }

                else if (ToggleSummon && now > _NextSummon)
                {
                    _NextSummon = now + SummonInterval;

                    Yell(Utility.RandomBool() ? "Kal Xen Bal Beh" : "From the darkest abyss, I summon thee!");

                    Animate();

                    CurrentSpell.Clear();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(3.0), Summon_Callback));
                }

                else if (ToggleGreaterExplosion && now > _NextGreaterExplosion)
                {
                    _NextGreaterExplosion = now + GreaterExplosionInterval;

                    Yell(Utility.RandomBool() ? "Kal Vas Ort Flam" : "MAY YOU BE REDUCED TO ASHES");

                    Animate();

                    CurrentSpell.Clear();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(3.0), GreaterExplosion_Callback));
                }
                else if (TogglePoisonExplosion && now > _NextPoisonExplosion)
                {
                    _NextPoisonExplosion = now + PoisonExplosionInterval;

                    Yell(Utility.RandomBool() ? "In Vas Ort Nox" : "Breathe deep the underworld..");

                    Animate();

                    CurrentSpell.Clear();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(3.5), PoisonExplosion_Callback));
                }
            }
        }
Пример #7
0
        public override void OnThink()
        {
            base.OnThink();

            DateTime now = DateTime.UtcNow;

            if (!this.InCombat())
            {
                return;
            }

            if (now > _NextCast)
            {
                _NextCast = now + CastInterval;

                if (CurrentSpell == null)
                {
                    CurrentSpell = new List <Timer>();
                }

                if (Hits < HitsMax * .75)
                {
                    ToggleSummon = true;
                }
                if (ToggleMeteor && now > _NextMeteor && Transformed)
                {
                    _NextMeteor = now + MeteorInterval;

                    Yell("FEEL THE WRATH OF THE ONE TRUE EASTER BUNNY");

                    Animate();

                    CurrentSpell.Clear();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(3.0), Meteor_Callback));
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(4.0), Meteor_Callback));
                }

                else if (ToggleSummon && now > _NextSummon)
                {
                    _NextSummon = now + SummonInterval;

                    Yell(Utility.RandomBool() ? "Fluff Cand Choc Suga" : "Aid me my fluffy brethren!");

                    Animate();

                    CurrentSpell.Clear();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(3.0), Summon_Callback));
                }

                else if (ToggleGreaterExplosion && now > _NextGreaterExplosion)
                {
                    _NextGreaterExplosion = now + GreaterExplosionInterval;

                    Yell(Utility.RandomBool() ? "I FART IN YOUR GENERAL DIRECTION" : "ISN'T EASTER FUN?");

                    Animate();

                    CurrentSpell.Clear();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(3.0), GreaterExplosion_Callback));
                }

                else if (TogglePoisonExplosion && now > _NextPoisonExplosion)
                {
                    _NextPoisonExplosion = now + PoisonExplosionInterval;

                    Yell("DIABETES!");

                    Animate();

                    CurrentSpell.Clear();
                    CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(3.5), PoisonExplosion_Callback));
                }
            }
        }