public override void ExperimentalModeModifyBuff(BuffInfo buffInfo, Unit target)
        {
            switch (buffInfo.Entry)
            {
            // Prayer of Absolution
            case 8242:
                if (target != myPlayer)
                {
                    return;
                }

                // Reduces armor by 50% and converts Strength to Willpower
                buffInfo.AddBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 1));
                // Adds 8 RF/sec
                buffInfo.Interval = 1000;
                buffInfo.AddBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 2));
                myPlayer.AbtInterface.SetCooldown(8249, _currentStance == 1 ? DPS_SWITCH_CD_MS : SWITCH_CD_MS);
                myPlayer.AbtInterface.SetCooldown(8243, _currentStance == 1 ? DPS_SWITCH_CD_MS : SWITCH_CD_MS);
                // Neutralize SE
                if (_currentStance == 1 && myPlayer.CbtInterface.IsInCombat)
                {
                    myPlayer.ConsumeActionPoints(myPlayer.ActionPoints);
                    ConsumeResource(250, true);
                }
                CurrentStance = 3;
                break;

            // Covenant of Tenacity
            case 9563:
                if (target != myPlayer)
                {
                    return;
                }

                // Reduces armor by 50% and converts Strength to Willpower
                buffInfo.AddBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 1));
                // Adds 8 SE/sec
                buffInfo.Interval = 1000;
                buffInfo.AddBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 2));
                myPlayer.AbtInterface.SetCooldown(9559, _currentStance == 1 ? DPS_SWITCH_CD_MS : SWITCH_CD_MS);
                myPlayer.AbtInterface.SetCooldown(9567, _currentStance == 1 ? DPS_SWITCH_CD_MS : SWITCH_CD_MS);
                // Neutralize SE
                if (_currentStance == 1 && myPlayer.CbtInterface.IsInCombat)
                {
                    myPlayer.ConsumeActionPoints(myPlayer.ActionPoints);
                    ConsumeResource(250, true);
                }
                CurrentStance = 3;

                break;

            // Prayer of Devotion
            case 8249:
                if (target != myPlayer)
                {
                    return;
                }

                // Gain Willpower when striking a target
                buffInfo.AddBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 1));
                // Convert Willpower to Strength
                buffInfo.AddBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 2));
                myPlayer.AbtInterface.SetCooldown(8242, _currentStance == 1 ? DPS_SWITCH_CD_MS : SWITCH_CD_MS);
                myPlayer.AbtInterface.SetCooldown(8243, _currentStance == 1 ? DPS_SWITCH_CD_MS : SWITCH_CD_MS);
                // Neutralize SE
                if (_currentStance == 1 && myPlayer.CbtInterface.IsInCombat)
                {
                    myPlayer.ConsumeActionPoints(myPlayer.ActionPoints);
                    ConsumeResource(250, true);
                }
                // AoE detaunt
                CurrentStance = 2;
                break;

            // Covenant of Vitality
            case 9567:
                if (target != myPlayer)
                {
                    return;
                }
                // Gain Willpower when striking a target
                buffInfo.AddBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 2));
                // Convert Willpower to Strength
                buffInfo.AddBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 3));
                myPlayer.AbtInterface.SetCooldown(9559, _currentStance == 1 ? DPS_SWITCH_CD_MS : SWITCH_CD_MS);
                myPlayer.AbtInterface.SetCooldown(9563, _currentStance == 1 ? DPS_SWITCH_CD_MS : SWITCH_CD_MS);
                // Neutralize SE
                if (_currentStance == 1 && myPlayer.CbtInterface.IsInCombat)
                {
                    myPlayer.ConsumeActionPoints(myPlayer.ActionPoints);
                    ConsumeResource(250, true);
                }
                // AoE detaunt
                CurrentStance = 2;
                break;

            // Prayer of Righteousness
            case 8243:
                if (target != myPlayer)
                {
                    return;
                }

                // Procs on the caster also increase speed by 20%
                buffInfo.AppendBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 1), 0);
                // Damage of Path of Wrath skills increased by 1% for every 10 RF
                buffInfo.AddBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 2));
                // Convert Willpower to Strength
                buffInfo.AddBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 3));
                myPlayer.AbtInterface.SetCooldown(8249, DPS_SWITCH_CD_MS);
                myPlayer.AbtInterface.SetCooldown(8242, DPS_SWITCH_CD_MS);
                // Neutralize Fury
                if (myPlayer.CbtInterface.IsInCombat)
                {
                    myPlayer.ConsumeActionPoints(myPlayer.ActionPoints);
                    ConsumeResource(250, true);
                }
                CurrentStance = 1;
                break;

            // Covenant of Celerity
            case 9559:
                if (target != myPlayer)
                {
                    return;
                }

                //Damage of Path of Torture skills increased by 1 % for every 10 SE
                buffInfo.AddBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 2));
                // Convert Willpower to Strength
                buffInfo.AddBuffCommand(AbilityMgr.GetBuffCommand(buffInfo.Entry, 3));
                myPlayer.AbtInterface.SetCooldown(9563, DPS_SWITCH_CD_MS);
                myPlayer.AbtInterface.SetCooldown(9567, DPS_SWITCH_CD_MS);
                // Neutralize SE
                if (myPlayer.CbtInterface.IsInCombat)
                {
                    myPlayer.ConsumeActionPoints(myPlayer.ActionPoints);
                    ConsumeResource(250, true);
                }
                CurrentStance = 1;
                break;

            case 8244:     // Divine Assault
            case 9554:     // Rend Soul
                if (_currentStance == 2)
                {
                    foreach (BuffCommandInfo command in buffInfo.CommandInfo)
                    {
                        for (BuffCommandInfo cmd = command; cmd != null; cmd = cmd.NextCommand)
                        {
                            // Is undefendable, to compensate deals half damage but heals for 75% more
                            if (cmd.CommandName == "StealLife")
                            {
                                cmd.PrimaryValue = (int)(cmd.PrimaryValue * 1.75f);
                            }
                            else if (cmd.DamageInfo != null)
                            {
                                cmd.DamageInfo.Undefendable  = true;
                                cmd.DamageInfo.ResultFromRaw = true;
                            }
                        }
                    }
                }
                break;

            case 8270:     // Absence of Faith becomes 50% with DPS on
                if (_currentStance == 1)
                {
                    buffInfo.CommandInfo[0].SecondaryValue = -50;
                }
                break;
                // WP/DoK DoTs (easier than using modifier system)

                /*case 3054:
                 * case 3055:
                 * case 3737:
                 * case 3757:
                 * case 8271:
                 * case 8295:
                 * case 9575:
                 *  if (_currentStance == 1)
                 *  {
                 *      foreach (BuffCommandInfo cmd in buffInfo.CommandInfo)
                 *      {
                 *          for (BuffCommandInfo command = cmd; command != null; command = command.NextCommand)
                 *              if (command.DamageInfo != null)
                 *                  command.DamageInfo.DamageBonus += GetCurrentResourceLevel(0)*0.01f;
                 *      }
                 *
                 *      UpdateDrain();
                 *  }
                 *  break;
                 */
            }
        }