public void HandleBuffs()
        {
            List <string> myAuras = CombatUtils.GetAuras(LuaUnit.player);

            if (!myAuras.Contains("demon armor"))
            {
                CombatUtils.CastSpellByName(Me, Target, "Demon Armor", true);
            }
            if (!myAuras.Contains("blood pact"))
            {
                CombatUtils.CastSpellByName(Me, Target, "Summon Imp", true);
            }
        }
        private void DoAttackRoutine()
        {
            List <string> targetAuras = CombatUtils.GetAuras(LuaUnit.target);

            Me?.Update();
            // Restore Mana
            if (Me.EnergyPercentage < 30 && Me.HealthPercentage > 50)
            {
                CombatUtils.CastSpellByName(Me, Target, "Life Tap", true);
                return;
            }

            Target?.Update();
            // DoT's to apply
            if (!targetAuras.Contains("curse of agony"))
            {
                CombatUtils.CastSpellByName(Me, Target, "Curse of Agony", false);
                return;
            }
            if (!targetAuras.Contains("corruption"))
            {
                CombatUtils.CastSpellByName(Me, Target, "Corruption", false);
                return;
            }
            if (!targetAuras.Contains("unstable affliction"))
            {
                CombatUtils.CastSpellByName(Me, Target, "Unstable Affliction", false);
                return;
            }
            if (!targetAuras.Contains("haunt"))
            {
                CombatUtils.CastSpellByName(Me, Target, "Haunt", false);
                return;
            }

            Target?.Update();
            // Active-Damage Spell
            if (Target?.HealthPercentage < 25)
            {
                CombatUtils.CastSpellByName(Me, Target, "Drain Soul", false);
                return;
            }
            else
            {
                CombatUtils.CastSpellByName(Me, Target, "Shadow Bolt", false);
                return;
            }
        }