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; } }