Exemplo n.º 1
0
        private void BT_Add_Click(object sender, RoutedEventArgs e)
        {
            #region Individual Class Work
            PlayerBuffSet theSet = new PlayerBuffSet();
            theSet.Color = Colors.White;
            switch ((string)CB_Class2Add.SelectedItem)
            {
                #region Death Knight
            case "Death Knight": {
                theSet.Class = CharacterClass.DeathKnight;
                theSet.Color = FromKnownColor("Maroon");
                theSet.Spec  = (RB_DK_Frost.IsChecked.GetValueOrDefault(false) ? "Frost" :
                                RB_DK_Unholy.IsChecked.GetValueOrDefault(false) ? "Unholy" :
                                RB_DK_Blood.IsChecked.GetValueOrDefault(false) ? "Blood" : "Frost");
                // All Specs
                theSet.BuffsToAdd.Add("Horn of Winter", "Buff: Horn of Winter (Str, Agi)");
                // Spec Specific
                if (theSet.Spec == "Frost")
                {
                    theSet.BuffsToAdd.Add("Improved Icy Talons", "Buff: Improved Icy Talons (Haste)");
                    theSet.BuffsToAdd.Add("Frost Fever", "Debuff: Frost Fever (Targ AtkSpd Reduc)");
                    theSet.BuffsToAdd.Add("Brittle Bones", "Debuff: Brittle Bones (PhysDmg)");
                }
                else if (theSet.Spec == "Unholy")
                {
                    theSet.BuffsToAdd.Add("Ebon Plaguebringer", "Buff: Ebon Plaguebringer (SpellDmg Multiplier)");
                    theSet.BuffsToAdd.Add("Unholy Frenzy", "Buff: Unholy Fenzy (Temp Haste)");
                }
                else if (theSet.Spec == "Blood")
                {
                    theSet.BuffsToAdd.Add("Scarlet Fever", "Buff: Scarlet Fever (Targ Dmg Dealt Reduc)");
                    theSet.BuffsToAdd.Add("Abomination's Might", "Buff: Abomination's Might (AP)");
                }
                break;
            }

                #endregion
                #region Druid
            case "Druid": {
                theSet.Class = CharacterClass.Druid;
                theSet.Color = FromKnownColor("Orange");
                theSet.Spec  = RB_Druid_Bear.IsChecked.GetValueOrDefault(false) ? "Bear" :
                               RB_Druid_Cat.IsChecked.GetValueOrDefault(false) ? "Cat" :
                               RB_Druid_Moonkin.IsChecked.GetValueOrDefault(false) ? "Moonkin" :
                               RB_Druid_Tree.IsChecked.GetValueOrDefault(false) ? "Tree" : "Bear";
                // All Specs
                theSet.BuffsToAdd.Add("Mark of the Wild", "Buff: Mark of the Wild (Stat %, All Resist)");
                theSet.BuffsToAdd.Add("Fearie Fire", "Debuff: Fearie Fire (Target Armor Reduction)");
                // Spec Specific
                if (theSet.Spec == "Bear")
                {
                    theSet.BuffsToAdd.Add("Leader of the Pack", "Buff: Leader of the Pack (Crit)");
                    theSet.BuffsToAdd.Add("Infected Wounds", "Debuff: Infected Wounds (Targ AtkSpd Reduc)");
                    theSet.BuffsToAdd.Add("Mangle", "Debuff: Mangle (Bleed Dmg Mult)");
                    theSet.BuffsToAdd.Add("Demoralizing Roar", "Debuff: Demoralizing Roar (Targ Dmg Dealt Reduc)");
                }
                else if (theSet.Spec == "Cat")
                {
                    theSet.BuffsToAdd.Add("Leader of the Pack", "Buff: Leader of the Pack (Crit)");
                    theSet.BuffsToAdd.Add("Infected Wounds", "Debuff: Infected Wounds (Targ AtkSpd Reduc)");
                    theSet.BuffsToAdd.Add("Mangle", "Debuff: Mangle (Bleed Dmg Mult)");
                }
                else if (theSet.Spec == "Moonkin")
                {
                    theSet.BuffsToAdd.Add("Moonkin Form", "Buff: Moonkin Form (SpellHaste)");
                    theSet.BuffsToAdd.Add("Earth and Moon", "Debuff: Earth and Moon (Targ Spell Dmg Vuln)");
                }
                else if (theSet.Spec == "Tree")
                {
                    theSet.BuffsToAdd.Add("Revitalize", "Buff: Revitalize (Mana Regen)");
                }
                break;
            }

                #endregion
                #region Hunter
            case "Hunter": {
                theSet.Class = CharacterClass.Hunter;
                theSet.Color = FromKnownColor("Green");
                theSet.Spec  = RB_Hunter_BM.IsChecked.GetValueOrDefault(false) ? "BM" :
                               RB_Hunter_MM.IsChecked.GetValueOrDefault(false) ? "MM" :
                               RB_Hunter_SV.IsChecked.GetValueOrDefault(false) ? "SV" : "MM";
                theSet.BuffsToAdd.Add("Hunter's Mark", "Buff: Hunter's Mark");
                // Spec Specific
                if (theSet.Spec == "BM")
                {
                    theSet.BuffsToAdd.Add("Ferocious Inspiration", "Buff: Ferocious Inspiration (Damage)");
                }
                else if (theSet.Spec == "MM")
                {
                    theSet.BuffsToAdd.Add("Trueshot Aura", "Buff: Trueshot Aura (AP)");
                }
                else if (theSet.Spec == "SV")
                {
                    theSet.BuffsToAdd.Add("Hunting Party", "Buff: Hunting Party (Haste)");
                }
                // Pet
                if (theSet.Spec == "BM")
                {
                    if ((string)CB_Hunter_Pet_BM.SelectedItem != "None" && (string)CB_Hunter_Pet_BM.SelectedItem != "Other")
                    {
                        string buffname    = (string)CB_Hunter_Pet_BM.SelectedItem;
                        int    colon       = buffname.IndexOf(": ") + 2;
                        int    perentheses = buffname.IndexOf(" (");
                        theSet.BuffsToAdd.Add(buffname.Substring(colon, (perentheses - colon)), "Buff: " + buffname.Substring(colon));
                    }
                }
                else
                {
                    if ((string)CB_Hunter_Pet.SelectedItem != "None" && (string)CB_Hunter_Pet.SelectedItem != "Other")
                    {
                        string buffname    = (string)CB_Hunter_Pet.SelectedItem;
                        int    colon       = buffname.IndexOf(": ") + 2;
                        int    perentheses = buffname.IndexOf(" (");
                        theSet.BuffsToAdd.Add(buffname.Substring(colon, (perentheses - colon)), "Buff: " + buffname.Substring(colon));
                    }
                }
                // Sting
                //if ((string)CB_Hunter_Sting.SelectedItem != "None" && (string)CB_Hunter_Sting.SelectedItem != "Other") {
                //    theSet.BuffsToAdd.Add((string)CB_Hunter_Sting.SelectedItem, "Debuff: " + (string)CB_Hunter_Sting.SelectedItem);
                //}
                // Hunter's Mark
                //if ((string)CB_Hunter_Mark.SelectedItem != "None") {
                //    theSet.BuffsToAdd.Add((string)CB_Hunter_Mark.SelectedItem, "Debuff: " + (string)CB_Hunter_Mark.SelectedItem
                //        + (theSet.Spec == "MM" && CK_Hunter_Mark.IsChecked.GetValueOrDefault(false) ? " (Imp)" : ""));
                //}
                // Aspect
                if ((string)CB_Hunter_Aspect.SelectedItem != "None" && (string)CB_Hunter_Aspect.SelectedItem != "Other")
                {
                    theSet.BuffsToAdd.Add((string)CB_Hunter_Aspect.SelectedItem, "Buff: " + (string)CB_Hunter_Aspect.SelectedItem);
                }
                break;
            }

                #endregion
                #region Mage
            case "Mage": {
                theSet.Class = CharacterClass.Mage;
                theSet.Color = FromKnownColor("LightBlue");
                theSet.Spec  = RB_Mage_Frost.IsChecked.GetValueOrDefault(false) ? "Frost" :
                               RB_Mage_Fire.IsChecked.GetValueOrDefault(false) ? "Fire" :
                               RB_Mage_Arcane.IsChecked.GetValueOrDefault(false) ? "Arcane" : "Arcane";
                // All Specs
                theSet.BuffsToAdd.Add("Arcane Brilliance", "Buff: Arcane Brilliance (Intellect)");
                theSet.BuffsToAdd.Add("Time Warp", "Buff: Time Warp (Temp Haste)");
                // Spec Specific
                if (theSet.Spec == "Frost")
                {
                    theSet.BuffsToAdd.Add("Enduring Winter", "Buff: Enduring Winter (Mana Regen)");
                }
                else if (theSet.Spec == "Fire")
                {
                    theSet.BuffsToAdd.Add("Critical Mass", "Debuff: Critical Mass (SpellCrit Debuff)");
                }
                else if (theSet.Spec == "Arcane")
                {
                    theSet.BuffsToAdd.Add("Arcane Tactics", "Buff: Arcane Tactics (Bonus Damage)");
                    // Focus Magic
                    if ((string)CB_Mage_Focus.SelectedItem != "None")
                    {
                        theSet.BuffsToAdd.Add((string)CB_Mage_Focus.SelectedItem, "Buff: " + (string)CB_Mage_Focus.SelectedItem);
                    }
                }
                break;
            }

                #endregion
                #region Paladin
            case "Paladin": {
                theSet.Class = CharacterClass.Paladin;
                theSet.Color = FromKnownColor("Pink");
                theSet.Spec  = RB_Paladin_Prot.IsChecked.GetValueOrDefault(false) ? "Prot" :
                               RB_Paladin_Ret.IsChecked.GetValueOrDefault(false) ? "Retribution" :
                               RB_Paladin_Holy.IsChecked.GetValueOrDefault(false) ? "Holy" : "Retribution";
                // All Specs
                // Spec Specific
                if (theSet.Spec == "Prot")
                {
                    theSet.BuffsToAdd.Add("Judgements of the Just", "Debuff: Judgements of the Just (Targ AtkSpd Reduc)");
                    theSet.BuffsToAdd.Add("Vindication", "Debuff: Vindication (Targ Dmg Dealt Reduc)");
                }
                else if (theSet.Spec == "Retribution")
                {
                    theSet.BuffsToAdd.Add("Communion", "Buff: Communion (Mana Regen)");
                    theSet.BuffsToAdd.Add("Sanctified Retribution", "Buff: Sanctified Retribution (Dmg %)");
                }
                else if (theSet.Spec == "Holy")
                {
                }
                // Aura
                if ((string)CB_Paladin_Aura.SelectedItem != "None")
                {
                    theSet.BuffsToAdd.Add((string)CB_Paladin_Aura.SelectedItem, "Buff: " + (string)CB_Paladin_Aura.SelectedItem);
                }
                // Blessing
                if ((string)CB_Paladin_Blessing.SelectedItem != "None")
                {
                    theSet.BuffsToAdd.Add((string)CB_Paladin_Blessing.SelectedItem, "Buff: " + (string)CB_Paladin_Blessing.SelectedItem);
                }
                break;
            }

                #endregion
                #region Priest
            case "Priest": {
                theSet.Class = CharacterClass.Priest;
                theSet.Color = FromKnownColor("LightGray");
                theSet.Spec  = RB_Priest_D.IsChecked.GetValueOrDefault(false) ? "Disc" :
                               RB_Priest_Holy.IsChecked.GetValueOrDefault(false) ? "Holy" :
                               RB_Priest_S.IsChecked.GetValueOrDefault(false) ? "Shadow" : "Holy";
                // All Specs
                theSet.BuffsToAdd.Add("Power Word: Fortitude", "Buff: Power Word Fortitude (Stamina)");
                theSet.BuffsToAdd.Add("Shadow Protection", "Buff: Shadow Protection (Shadow Resist)");
                // Spec Specific
                if (theSet.Spec == "Disc")
                {
                    theSet.BuffsToAdd.Add("Power Infusion", "Buff: Power Infusion (Temp Spell Haste, Mana Regen)");
                }
                else if (theSet.Spec == "Holy")
                {
                    theSet.BuffsToAdd.Add("Inspiration", "Buff: Inspiration (Damage Taken Reduc)");
                    theSet.BuffsToAdd.Add("Hymn of Hope", "Buff: Hymn of Hope (Mana, Burst Mana Regen)");
                }
                else if (theSet.Spec == "Shadow")
                {
                    theSet.BuffsToAdd.Add("Vampiric Touch", "Buff: Vampiric Touch (Mana Regen)");
                    theSet.BuffsToAdd.Add("Mind Quickening", "Buff: Mind Quickening (Spell Haste)");
                }
                break;
            }

                #endregion
                #region Rogue
            case "Rogue": {
                theSet.Class = CharacterClass.Rogue;
                theSet.Color = FromKnownColor("Yellow");
                theSet.Spec  = RB_Rogue_Combat.IsChecked.GetValueOrDefault(false) ? "Combat" :
                               RB_Rogue_Assassin.IsChecked.GetValueOrDefault(false) ? "Assassin" :
                               RB_Rogue_Subtlety.IsChecked.GetValueOrDefault(false) ? "Subtlety" : "Combat";
                // All Specs
                theSet.BuffsToAdd.Add("Master Poisoner", "Debuff: Master Poisoner (Targ SplDmg Taken)");
                theSet.BuffsToAdd.Add("Expose Armor", "Debuff: Expose Armor (Targ Armor Reduc)");
                // Spec Specific
                if (theSet.Spec == "Combat")
                {
                    theSet.BuffsToAdd.Add("Savage Combat", "Debuff: Savage Combat (Phys Dmg %)");
                }
                else if (theSet.Spec == "Assassin")
                {
                }
                else if (theSet.Spec == "Subtlety")
                {
                    theSet.BuffsToAdd.Add("Honor Among Thieves", "Buff: Honor Among Thieves (Crit)");
                    theSet.BuffsToAdd.Add("Hemorrhage", "Debuff: Hemorrhage (Bleed Dmg %)");
                }
                // Tricks of the Trade
                if (CB_Rogue_Tricks.SelectedIndex == 1)
                {
                    string text = "Tricks of the Trade" + (CK_Rogue_Tricks.IsChecked.GetValueOrDefault(false) ? " (Glyphed)" : "");
                    theSet.BuffsToAdd.Add(text, "Buff: " + text + " (Temp Dmg %)");
                }
                break;
            }

                #endregion
                #region Shaman
            case "Shaman": {
                theSet.Class = CharacterClass.Shaman;
                theSet.Color = FromKnownColor("Blue");
                theSet.Spec  = RB_Shaman_Enhance.IsChecked.GetValueOrDefault(false) ? "Enhance" :
                               RB_Shaman_Elemental.IsChecked.GetValueOrDefault(false) ? "Elemental" :
                               RB_Shaman_Resto.IsChecked.GetValueOrDefault(false) ? "Resto" : "Enhance";
                // All Specs
                theSet.BuffsToAdd.Add("Heroism/Bloodlust", "Buff: Heroism/Bloodlust (Temp Haste)");
                // Spec Specific
                if (theSet.Spec == "Enhance")
                {
                    theSet.BuffsToAdd.Add("Unleashed Rage", "Buff: Unleashed Rage (AP%)");
                }
                else if (theSet.Spec == "Elemental")
                {
                    theSet.BuffsToAdd.Add("Elemental Oath", "Buff: Elemental Oath (Crit)");
                    theSet.BuffsToAdd.Add("Totemic Wrath", "Buff: Totemic Wrath (SP%)");
                }
                else if (theSet.Spec == "Resto")
                {
                    theSet.BuffsToAdd.Add("Mana Tide Totem", "Buff: Mana Tide Totem (Burst Mana Regen)");
                    theSet.BuffsToAdd.Add("Ancestral Healing", "Buff: Ancestral Healing (DmgTakenReduc)");
                }
                // Air Totem
                if (CB_Shaman_TotemAir.SelectedIndex == 1)
                {
                    theSet.BuffsToAdd.Add("Wrath of Air Totem", "Buff: Wrath of Air Totem (SpellHaste)");
                }
                else if (CB_Shaman_TotemAir.SelectedIndex == 2)
                {
                    theSet.BuffsToAdd.Add("Windfury Totem", "Buff: Windfury Totem (PhysicalHaste)");
                }
                // Water Totem
                if (CB_Shaman_TotemWater.SelectedIndex == 1)
                {
                    theSet.BuffsToAdd.Add("Mana Spring Totem", "Buff: Mana Spring Totem (Mana Regen)");
                }
                else if (CB_Shaman_TotemWater.SelectedIndex == 2)
                {
                    theSet.BuffsToAdd.Add("Elemental Resistance Totem", "Buff: Elemental Resistance Totem (Fire, Frost, Nature Resist)");
                }
                // Fire Totem
                if (CB_Shaman_TotemFire.SelectedIndex == 1)
                {
                    theSet.BuffsToAdd.Add("Flametongue Totem", "Buff: Flametongue Totem (SpellDamageAndHealingBonusMult)");
                }
                else if (CB_Shaman_TotemFire.SelectedIndex == 2)
                {
                    theSet.BuffsToAdd.Add("Totem of Wrath", "Buff: Totem of Wrath (SpellPower)");
                }
                // Earth Totem
                if (CB_Shaman_TotemEarth.SelectedIndex == 1)
                {
                    theSet.BuffsToAdd.Add("Stoneskin Totem", "Buff: Stoneskin Totem (BonusArmor)");
                }
                else if (CB_Shaman_TotemEarth.SelectedIndex == 2)
                {
                    theSet.BuffsToAdd.Add("Strength of Earth Totem", "Buff: Strength of Earth Totem (Strength, Agility)");
                }
                break;
            }

                #endregion
                #region Warlock
            case "Warlock": {
                theSet.Class = CharacterClass.Warlock;
                theSet.Color = FromKnownColor("Purple");
                theSet.Spec  = RB_Warlock_Demon.IsChecked.GetValueOrDefault(false) ? "Demon" :
                               RB_Warlock_Afflic.IsChecked.GetValueOrDefault(false) ? "Afflic" :
                               RB_Warlock_Destro.IsChecked.GetValueOrDefault(false) ? "Destro" : "Demon";
                // All Specs
                theSet.BuffsToAdd.Add("Fel Intelligence (Mana)", "Buff: Fel Intelligence (Mana)");
                theSet.BuffsToAdd.Add("Curse of Weakness", "Debuff: Curse of Weakness (Targ Dmg Dealt %)");
                theSet.BuffsToAdd.Add("Improved Shadow Bolt", "Debuff: Improved Shadow Bolt (Targ Crit %)");
                theSet.BuffsToAdd.Add("Curse of the Elements", "Debuff: Curse of the Elements (Targ SplDmg %)");
                // Spec Specific
                if (theSet.Spec == "Demon")
                {
                    theSet.BuffsToAdd.Add("Demonic Pact", "Buff: Demonic Pact (SP%)");
                }
                else if (theSet.Spec == "Afflic")
                {
                }
                else if (theSet.Spec == "Destro")
                {
                    theSet.BuffsToAdd.Add("Soul Leech", "Buff: Soul Leech (Mana Regen)");
                }
                // Pet
                if (CB_Warlock_Pet.SelectedIndex == 1)
                {
                    theSet.BuffsToAdd.Add("Blood Pact", "Buff: Blood Pact (Stamina)");
                }
                else if (CB_Warlock_Pet.SelectedIndex == 2)
                {
                    theSet.BuffsToAdd.Add("Fel Intelligence (Mp5)", "Buff: Fel Intelligence (Mp5)");
                }
                break;
            }

                #endregion
                #region Warrior
            case "Warrior": {
                theSet.Class = CharacterClass.Warrior;
                theSet.Color = FromKnownColor("BurlyWood");
                theSet.Spec  = RB_Warrior_Arms.IsChecked.GetValueOrDefault(false) ? "Arms" :
                               RB_Warrior_Fury.IsChecked.GetValueOrDefault(false) ? "Fury" :
                               RB_Warrior_Tank.IsChecked.GetValueOrDefault(false) ? "Prot" : "Arms";
                // All Specs
                // Spec Specific
                if (theSet.Spec == "Prot")
                {
                }
                else if (theSet.Spec == "Arms")
                {
                    theSet.BuffsToAdd.Add("Trauma", "Debuff: Trauma (Bleed Bonus)");
                    theSet.BuffsToAdd.Add("Blood Frenzy", "Debuff: Blood Frenzy (Phys Dmg Bonus)");
                    theSet.BuffsToAdd.Add("Shattering Throw", "Debuff: Shattering Throw (Temp Armor Reduc)");
                }
                else if (theSet.Spec == "Fury")
                {
                    theSet.BuffsToAdd.Add("Rampage", "Buff: Rampage (Crit)");
                }
                // Buff Shout
                if (CB_Warrior_BuffShout.SelectedIndex == 1)
                {
                    theSet.BuffsToAdd.Add("Battle Shout", "Buff: Battle Shout (Strength, Agility)");
                }
                else if (CB_Warrior_BuffShout.SelectedIndex == 2)
                {
                    theSet.BuffsToAdd.Add("Commanding Shout", "Buff: Commanding Shout (Stamina)");
                }
                // Debuff Shout
                if (CB_Warrior_DebuffShout.SelectedIndex == 1)
                {
                    theSet.BuffsToAdd.Add("Demoralizing Shout", "Debuff: Demoralizing Shout (Target Dmg Reduc)");
                }
                // Thunderclap
                if (theSet.Spec == "Prot" || (theSet.Spec == "Arms" && CB_Warrior_Thunderclap.SelectedIndex == 1))
                {
                    theSet.BuffsToAdd.Add("Thunder Clap", "Debuff: Thunder Clap (Target AtkSpd Reduc)");
                }
                // Sunder Armor
                if (theSet.Spec == "Prot" || ((theSet.Spec == "Arms" || theSet.Spec == "Fury") && (CB_Warrior_Sunder.SelectedIndex == 1)))
                {
                    theSet.BuffsToAdd.Add("Sunder Armor", "Debuff: Sunder Armor (Target Armor Reduc)");
                }
                break;
            }

                #endregion
            default: { break; }
            }
            #endregion
            // Add if not blank
            if (theSet.BuffsToAdd.Keys.Count > 0)
            {
                ListBoxItem newAdd = new ListBoxItem();
                newAdd.Content    = theSet.ToString();
                newAdd.Background = new SolidColorBrush(theSet.Color);
                newAdd.Background = new LinearGradientBrush(new GradientStopCollection()
                {
                    new GradientStop()
                    {
                        Color = Colors.White, Offset = 0
                    },
                    new GradientStop()
                    {
                        Color = theSet.Color, Offset = 1
                    }
                }, 0);
                List_Classes.Items.Add(newAdd);
                TheSets.Add(theSet);
            }
            // Verify we can add more people after this
            RaidSizeCheck();
        }
Exemplo n.º 2
0
 private void OKButton_Click(object sender, RoutedEventArgs e)
 {
     /* Example Build
      * http://raidcomp.mmo-champion.com/?c=123456789abcdefghijklmnopqrstuv000000000
      * 0 Empty
      * 1 Blood Death Knight     * 2 Frost Death Knight  * 3 Unholy Death Knight
      * 4 Balance Druid          * 5 Cat Druid           * 6 Restoration Druid   * v Bear Druid
      * 7 Beast Mastery Hunter   * 8 Marksmanship Hunter * 9 Survival Hunter
      * a Arcane Mage            * b Fire Mage           * c Frost Mage
      * d Holy Paladin           * e Protection Paladin  * f Retribution Paladin
      * g Discipline Priest      * h Holy Priest         * i Shadow Priest
      * j Assassination Rogue    * k Combat Rogue        * l Subtlety Rogue
      * m Elemental Shaman       * n Enhancement Shaman  * o Restoration Shaman
      * p Affliction Warlock     * q Demonology Warlock  * r Destruction Warlock
      * s Arms Warrior           * t Fury Warrior        * u Protection Warrior
     */
     string link = TB_CompLink.Text.Trim();
     string classString = link.Substring(link.IndexOf("c=")+2);
     while (classString.Contains('0')) { classString = classString.Replace("0", ""); }
     List<string> classes = new List<string>();
     foreach (char c in classString)
     {
         classes.Add(c.ToString());
     }
     toAdds = new List<PlayerBuffSet>();
     foreach (string c in classes)
     {
         PlayerBuffSet theSet = new PlayerBuffSet();
         theSet.Color = Colors.White;
         switch (c)
         {
             #region Death Knight
             case "1": case "2": case "3": {
                 theSet.Class = CharacterClass.DeathKnight;
                 theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Maroon");
                 theSet.Spec = (c == "2" ? "Frost" : c == "3" ? "Unholy" : c == "1" ? "Blood" : "Frost");
                 // All Specs
                 theSet.BuffsToAdd.Add("Horn of Winter", "Buff: Horn of Winter (Str, Agi)");
                 // Spec Specific
                 if (theSet.Spec == "Frost") {
                     theSet.BuffsToAdd.Add("Improved Icy Talons", "Buff: Improved Icy Talons (Haste)");
                     theSet.BuffsToAdd.Add("Frost Fever", "Debuff: Frost Fever (Targ AtkSpd Reduc)");
                     theSet.BuffsToAdd.Add("Brittle Bones", "Debuff: Brittle Bones (PhysDmg)");
                 } else if (theSet.Spec == "Unholy") {
                     theSet.BuffsToAdd.Add("Ebon Plaguebringer", "Buff: Ebon Plaguebringer (SpellDmg Multiplier)");
                     theSet.BuffsToAdd.Add("Unholy Frenzy", "Buff: Unholy Fenzy (Temp Haste)");
                 } else if (theSet.Spec == "Blood") {
                     theSet.BuffsToAdd.Add("Scarlet Fever", "Buff: Scarlet Fever (Targ Dmg Dealt Reduc)");
                     theSet.BuffsToAdd.Add("Abomination's Might", "Buff: Abomination's Might (AP)");
                 }
                 break;
             }
             #endregion
             #region Druid
             case "4": case "5": case "6": case "v": {
                 theSet.Class = CharacterClass.Druid;
                 theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Orange");
                 theSet.Spec = c == "v" ? "Bear" : c == "5" ? "Cat" : c == "4" ? "Moonkin" : c == "6" ? "Tree" : "Bear";
                 // All Specs
                 theSet.BuffsToAdd.Add("Mark of the Wild", "Buff: Mark of the Wild (Stat %, All Resist)");
                 theSet.BuffsToAdd.Add("Fearie Fire", "Debuff: Fearie Fire (Target Armor Reduction)");
                 // Spec Specific
                 if (theSet.Spec == "Bear") {
                     theSet.BuffsToAdd.Add("Leader of the Pack", "Buff: Leader of the Pack (Crit)");
                     theSet.BuffsToAdd.Add("Infected Wounds", "Debuff: Infected Wounds (Targ AtkSpd Reduc)");
                     theSet.BuffsToAdd.Add("Mangle", "Debuff: Mangle (Bleed Dmg Mult)");
                     theSet.BuffsToAdd.Add("Demoralizing Roar", "Debuff: Demoralizing Roar (Targ Dmg Dealt Reduc)");
                 } else if (theSet.Spec == "Cat") {
                     theSet.BuffsToAdd.Add("Leader of the Pack", "Buff: Leader of the Pack (Crit)");
                     theSet.BuffsToAdd.Add("Infected Wounds", "Debuff: Infected Wounds (Targ AtkSpd Reduc)");
                     theSet.BuffsToAdd.Add("Mangle", "Debuff: Mangle (Bleed Dmg Mult)");
                 } else if (theSet.Spec == "Moonkin") {
                     theSet.BuffsToAdd.Add("Moonkin Form", "Buff: Moonkin Form (SpellHaste)");
                     theSet.BuffsToAdd.Add("Earth and Moon", "Debuff: Earth and Moon (Targ Spell Dmg Vuln)");
                 } else if (theSet.Spec == "Tree") {
                     theSet.BuffsToAdd.Add("Revitalize", "Buff: Revitalize (Mana Regen)");
                 }
                 break;
             }
             #endregion
             #region Hunter
             case "7": case "8": case "9": {
                 theSet.Class = CharacterClass.Hunter;
                 theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Green");
                 theSet.Spec = c == "7" ? "BM" : c == "8" ? "MM" : c == "9" ? "SV" : "MM";
                 // Spec Specific
                 if (theSet.Spec == "BM") {
                     theSet.BuffsToAdd.Add("Ferocious Inspiration", "Buff: Ferocious Inspiration (Damage)");
                 } else if (theSet.Spec == "MM") {
                     theSet.BuffsToAdd.Add("Trueshot Aura", "Buff: Trueshot Aura (AP)");
                 } else if (theSet.Spec == "SV") {
                     theSet.BuffsToAdd.Add("Hunting Party", "Buff: Hunting Party (Haste)");
                 }
                 // Pet
                 //if ((string)CB_Hunter_Pet.SelectedItem != "None" && (string)CB_Hunter_Pet.SelectedItem != "Other") {
                     //theSet.BuffsToAdd.Add((string)CB_Hunter_Pet.SelectedItem, "Buff: " + (string)CB_Hunter_Pet.SelectedItem);
                 //}
                 // Sting
                 //if ((string)CB_Hunter_Sting.SelectedItem != "None" && (string)CB_Hunter_Sting.SelectedItem != "Other") {
                     //theSet.BuffsToAdd.Add((string)CB_Hunter_Sting.SelectedItem, "Debuff: " + (string)CB_Hunter_Sting.SelectedItem);
                 //}
                 // Hunter's Mark
                 //if ((string)CB_Hunter_Mark.SelectedItem != "None") {
                     //theSet.BuffsToAdd.Add((string)CB_Hunter_Mark.SelectedItem, "Debuff: " + (string)CB_Hunter_Mark.SelectedItem
                         //+ (theSet.Spec == "MM" && CK_Hunter_Mark.IsChecked.GetValueOrDefault(false) ? " (Imp)" : ""));
                 //}
                 // Aspect
                 //if ((string)CB_Hunter_Aspect.SelectedItem != "None" && (string)CB_Hunter_Aspect.SelectedItem != "Other") {
                     //theSet.BuffsToAdd.Add((string)CB_Hunter_Aspect.SelectedItem, "Debuff: " + (string)CB_Hunter_Aspect.SelectedItem);
                 //}
                 break;
             }
             #endregion
             #region Mage
             case "a": case "b": case "c": {
                 theSet.Class = CharacterClass.Mage;
                 theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("LightBlue");
                 theSet.Spec = c == "c" ? "Frost" : c == "b" ? "Fire" : c == "a" ? "Arcane" : "Arcane";
                 // All Specs
                 theSet.BuffsToAdd.Add("Arcane Brilliance", "Buff: Arcane Brilliance (Intellect)");
                 theSet.BuffsToAdd.Add("Time Warp", "Buff: Time Warp (Temp Haste)");
                 // Spec Specific
                 if (theSet.Spec == "Frost") {
                     theSet.BuffsToAdd.Add("Enduring Winter", "Buff: Enduring Winter (Mana Regen)");
                 } else if (theSet.Spec == "Fire") {
                     theSet.BuffsToAdd.Add("Critical Mass", "Debuff: Critical Mass (SpellCrit Debuff)");
                 } else if (theSet.Spec == "Arcane") {
                     theSet.BuffsToAdd.Add("Arcane Tactics", "Buff: Arcane Tactics (Bonus Damage)");
                     // Focus Magic
                     //if ((string)CB_Mage_Focus.SelectedItem != "None") {
                         theSet.BuffsToAdd.Add("Focus Magic", "Buff: Focus Magic");
                     //}
                 }
                 break;
             }
             #endregion
             #region Paladin
                 case "d": case "e": case "f": {
                 theSet.Class = CharacterClass.Paladin;
                 theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Pink");
                 theSet.Spec = c == "e" ? "Prot" : c == "f" ? "Retribution" : c == "d" ? "Holy" : "Retribution";
                 // All Specs
                 // Spec Specific
                 if (theSet.Spec == "Prot") {
                     theSet.BuffsToAdd.Add("Judgements of the Just", "Debuff: Judgements of the Just (Targ AtkSpd Reduc)");
                     theSet.BuffsToAdd.Add("Vindication", "Debuff: Vindication (Targ Dmg Dealt Reduc)");
                 } else if (theSet.Spec == "Retribution") {
                     theSet.BuffsToAdd.Add("Communion", "Buff: Communion (Mana Regen)");
                     theSet.BuffsToAdd.Add("Sanctified Retribution", "Buff: Sanctified Retribution (Dmg %)");
                 } else if (theSet.Spec == "Holy") {
                 }
                 // Aura
                 //if ((string)CB_Paladin_Aura.SelectedItem != "None") {
                     //theSet.BuffsToAdd.Add((string)CB_Paladin_Aura.SelectedItem, "Buff: " + (string)CB_Paladin_Aura.SelectedItem);
                 //}
                 // Blessing
                 //if ((string)CB_Paladin_Blessing.SelectedItem != "None") {
                     //theSet.BuffsToAdd.Add((string)CB_Paladin_Blessing.SelectedItem, "Buff: " + (string)CB_Paladin_Blessing.SelectedItem);
                 //}
                 break;
             }
             #endregion
             #region Priest
             case "g": case "h": case "i": {
                 theSet.Class = CharacterClass.Priest;
                 theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("LightGray");
                 theSet.Spec = c == "g" ? "Disc" : c == "h" ? "Holy" : c == "i" ? "Shadow" : "Holy";
                 // All Specs
                 theSet.BuffsToAdd.Add("Power Word: Fortitude", "Buff: Power Word Fortitude (Stamina)");
                 theSet.BuffsToAdd.Add("Shadow Protection", "Buff: Shadow Protection (Shadow Resist)");
                 // Spec Specific
                 if (theSet.Spec == "Disc") {
                     theSet.BuffsToAdd.Add("Power Infusion", "Buff: Power Infusion (Temp Spell Haste, Mana Regen)");
                 } else if (theSet.Spec == "Holy") {
                     theSet.BuffsToAdd.Add("Inspiration", "Buff: Inspiration (Damage Taken Reduc)");
                     theSet.BuffsToAdd.Add("Hymn of Hope", "Buff: Hymn of Hope (Mana, Burst Mana Regen)");
                 } else if (theSet.Spec == "Shadow") {
                     theSet.BuffsToAdd.Add("Vampiric Touch", "Buff: Vampiric Touch (Mana Regen)");
                     theSet.BuffsToAdd.Add("Mind Quickening", "Buff: Mind Quickening (Spell Haste)");
                 }
                 break;
             }
             #endregion
             #region Rogue
             case "j": case "k": case "l": {
                 theSet.Class = CharacterClass.Rogue;
                 theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Yellow");
                 theSet.Spec = c == "k" ? "Combat" : c == "j" ? "Assassin" : c == "l" ? "Subtlety" : "Combat";
                 // All Specs
                 theSet.BuffsToAdd.Add("Master Poisoner", "Debuff: Master Poisoner (Targ SplDmg Taken)");
                 theSet.BuffsToAdd.Add("Expose Armor", "Debuff: Expose Armor (Targ Armor Reduc)");
                 // Spec Specific
                 if (theSet.Spec == "Combat") {
                     theSet.BuffsToAdd.Add("Savage Combat", "Debuff: Savage Combat (Phys Dmg %)");
                 } else if (theSet.Spec == "Assassin") {
                 } else if (theSet.Spec == "Subtlety") {
                     theSet.BuffsToAdd.Add("Honor Among Thieves", "Buff: Honor Among Thieves (Crit)");
                     theSet.BuffsToAdd.Add("Hemorrhage", "Debuff: Hemorrhage (Bleed Dmg %)");
                 }
                 // Tricks of the Trade
                 //if (CB_Rogue_Tricks.SelectedIndex == 1) {
                     string text = "Tricks of the Trade";
                     theSet.BuffsToAdd.Add(text, "Buff: " + text + " (Temp Dmg %)");
                 //}
                 break;
             }
             #endregion
             #region Shaman
             case "m": case "n": case "o": {
                 theSet.Class = CharacterClass.Shaman;
                 theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Blue");
                 theSet.Spec = c == "n" ? "Enhance" : c == "m" ? "Elemental" : c == "o" ? "Resto" : "Enhance";
                 // All Specs
                 theSet.BuffsToAdd.Add("Heroism/Bloodlust", "Buff: Heroism/Bloodlust (Temp Haste)");
                 // Spec Specific
                 if (theSet.Spec == "Enhance") {
                     theSet.BuffsToAdd.Add("Unleashed Rage", "Buff: Unleashed Rage (AP%)");
                 } else if (theSet.Spec == "Elemental") {
                     theSet.BuffsToAdd.Add("Elemental Oath", "Buff: Elemental Oath (Crit)");
                     theSet.BuffsToAdd.Add("Totemic Wrath", "Buff: Totemic Wrath (SP%)");
                 } else if (theSet.Spec == "Resto") {
                     theSet.BuffsToAdd.Add("Mana Tide Totem", "Buff: Mana Tide Totem (Burst Mana Regen)");
                     theSet.BuffsToAdd.Add("Ancestral Healing", "Buff: Ancestral Healing (DmgTakenReduc)");
                 }
                 // Air Totem
                 //if (CB_Shaman_TotemAir.SelectedIndex == 1) {
                     //theSet.BuffsToAdd.Add("Wrath of Air Totem", "Buff: Wrath of Air Totem (SpellHaste)");
                 //} else if (CB_Shaman_TotemAir.SelectedIndex == 2) {
                     //theSet.BuffsToAdd.Add("Windfury Totem", "Buff: Windfury Totem (PhysicalHaste)");
                 //}
                 // Water Totem
                 //if (CB_Shaman_TotemWater.SelectedIndex == 1) {
                     //theSet.BuffsToAdd.Add("Mana Spring Totem", "Buff: Mana Spring Totem (Mana Regen)");
                 //} else if (CB_Shaman_TotemWater.SelectedIndex == 2) {
                     //theSet.BuffsToAdd.Add("Elemental Resistance Totem", "Buff: Elemental Resistance Totem (Fire, Frost, Nature Resist)");
                 //}
                 // Fire Totem
                 //if (CB_Shaman_TotemFire.SelectedIndex == 1) {
                     //theSet.BuffsToAdd.Add("Flametongue Totem", "Buff: Flametongue Totem (SpellDamageAndHealingBonusMult)");
                 //} else if (CB_Shaman_TotemFire.SelectedIndex == 2) {
                     //theSet.BuffsToAdd.Add("Totem of Wrath", "Buff: Totem of Wrath (SpellPower)");
                 //}
                 // Earth Totem
                 //if (CB_Shaman_TotemEarth.SelectedIndex == 1) {
                     //theSet.BuffsToAdd.Add("Stoneskin Totem", "Buff: Stoneskin Totem (BonusArmor)");
                 //} else if (CB_Shaman_TotemEarth.SelectedIndex == 2) {
                     //theSet.BuffsToAdd.Add("Strength of Earth Totem", "Buff: Strength of Earth Totem (Strength, Agility)");
                 //}
                 break;
             }
             #endregion
             #region Warlock
             case "p": case "q": case "r": {
                 theSet.Class = CharacterClass.Warlock;
                 theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Purple");
                 theSet.Spec = c == "q" ? "Demon" : c == "p" ? "Afflic" : c == "r" ? "Destro" : "Demon";
                 // All Specs
                 theSet.BuffsToAdd.Add("Fel Intelligence (Mana)", "Buff: Fel Intelligence (Mana)");
                 theSet.BuffsToAdd.Add("Curse of Weakness", "Debuff: Curse of Weakness (Targ Dmg Dealt %)");
                 theSet.BuffsToAdd.Add("Improved Shadow Bolt", "Debuff: Improved Shadow Bolt (Targ Crit %)");
                 theSet.BuffsToAdd.Add("Curse of the Elements", "Debuff: Curse of the Elements (Targ SplDmg %)");
                 // Spec Specific
                 if (theSet.Spec == "Demon") {
                     theSet.BuffsToAdd.Add("Demonic Pact", "Buff: Demonic Pact (SP%)");
                 } else if (theSet.Spec == "Afflic") {
                 } else if (theSet.Spec == "Destro") {
                     theSet.BuffsToAdd.Add("Soul Leech", "Buff: Soul Leech (Mana Regen)");
                 }
                 // Pet
                 //if (CB_Warlock_Pet.SelectedIndex == 1) {
                     theSet.BuffsToAdd.Add("Blood Pact", "Buff: Blood Pact (Stamina)");
                 //} else if (CB_Warlock_Pet.SelectedIndex == 2) {
                     theSet.BuffsToAdd.Add("Fel Intelligence (Mp5)", "Buff: Fel Intelligence (Mp5)");
                 //}
                 break;
             }
             #endregion
             #region Warrior
             case "s": case "t": case "u": {
                 theSet.Class = CharacterClass.Warrior;
                 theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("BurlyWood");
                 theSet.Spec = c == "s" ? "Arms" : c == "t" ? "Fury" : c == "u" ? "Prot" : "Arms";
                 // All Specs
                 // Spec Specific
                 if (theSet.Spec == "Prot") {
                 } else if (theSet.Spec == "Arms") {
                     theSet.BuffsToAdd.Add("Trauma", "Debuff: Trauma (Bleed Bonus)");
                     theSet.BuffsToAdd.Add("Blood Frenzy", "Debuff: Blood Frenzy (Phys Dmg Bonus)");
                     theSet.BuffsToAdd.Add("Shattering Throw", "Debuff: Shattering Throw (Temp Armor Reduc)");
                 } else if (theSet.Spec == "Fury") {
                     theSet.BuffsToAdd.Add("Rampage", "Buff: Rampage (Crit)");
                 }
                 // Buff Shout
                 //if (CB_Warrior_BuffShout.SelectedIndex == 1) {
                     theSet.BuffsToAdd.Add("Battle Shout", "Buff: Battle Shout (Strength, Agility)");
                 //} else if (CB_Warrior_BuffShout.SelectedIndex == 2) {
                     theSet.BuffsToAdd.Add("Commanding Shout", "Buff: Commanding Shout (Stamina)");
                 //}
                 // Debuff Shout
                 //if (CB_Warrior_DebuffShout.SelectedIndex == 1) {
                     theSet.BuffsToAdd.Add("Demoralizing Shout", "Debuff: Demoralizing Shout (Target Dmg Reduc)");
                 //}
                 // Thunderclap
                 //if (theSet.Spec == "Prot" || (theSet.Spec == "Arms" && CB_Warrior_Thunderclap.SelectedIndex == 1)) {
                     theSet.BuffsToAdd.Add("Thunder Clap", "Debuff: Thunder Clap (Target AtkSpd Reduc)");
                 //}
                 // Sunder Armor
                 //if (theSet.Spec == "Prot" || ((theSet.Spec == "Arms" || theSet.Spec == "Fury") && (CB_Warrior_Sunder.SelectedIndex == 1))) {
                     theSet.BuffsToAdd.Add("Sunder Armor", "Debuff: Sunder Armor (Target Armor Reduc)");
                 //}
                 break;
             }
             #endregion
             default: { continue; } // invalid, don't add to the toAdds list
         }
         toAdds.Add(theSet);
     }
     //
     this.DialogResult = true;
 }
 private void BT_Add_Click(object sender, RoutedEventArgs e)
 {
     #region Individual Class Work
     PlayerBuffSet theSet = new PlayerBuffSet();
     theSet.Color = Colors.White;
     switch ((string)CB_Class2Add.SelectedItem)
     {
         #region Death Knight
         case "Death Knight": {
             theSet.Class = CharacterClass.DeathKnight;
             theSet.Color = FromKnownColor("Maroon");
             theSet.Spec = (RB_DK_Frost.IsChecked.GetValueOrDefault(false) ? "Frost" :
                           RB_DK_Unholy.IsChecked.GetValueOrDefault(false) ? "Unholy" :
                           RB_DK_Blood.IsChecked.GetValueOrDefault(false) ? "Blood" : "Frost");
             // All Specs
             theSet.BuffsToAdd.Add("Horn of Winter", "Buff: Horn of Winter (Str, Agi)");
             // Spec Specific
             if (theSet.Spec == "Frost") {
                 theSet.BuffsToAdd.Add("Improved Icy Talons", "Buff: Improved Icy Talons (Haste)");
                 theSet.BuffsToAdd.Add("Frost Fever", "Debuff: Frost Fever (Targ AtkSpd Reduc)");
                 theSet.BuffsToAdd.Add("Brittle Bones", "Debuff: Brittle Bones (PhysDmg)");
             } else if (theSet.Spec == "Unholy") {
                 theSet.BuffsToAdd.Add("Ebon Plaguebringer", "Buff: Ebon Plaguebringer (SpellDmg Multiplier)");
                 theSet.BuffsToAdd.Add("Unholy Frenzy", "Buff: Unholy Fenzy (Temp Haste)");
             } else if (theSet.Spec == "Blood") {
                 theSet.BuffsToAdd.Add("Scarlet Fever", "Buff: Scarlet Fever (Targ Dmg Dealt Reduc)");
                 theSet.BuffsToAdd.Add("Abomination's Might", "Buff: Abomination's Might (AP)");
             }
             break;
         }
         #endregion
         #region Druid
         case "Druid": {
             theSet.Class = CharacterClass.Druid;
             theSet.Color = FromKnownColor("Orange");
             theSet.Spec = RB_Druid_Bear.IsChecked.GetValueOrDefault(false) ? "Bear" :
                           RB_Druid_Cat.IsChecked.GetValueOrDefault(false) ? "Cat" :
                           RB_Druid_Moonkin.IsChecked.GetValueOrDefault(false) ? "Moonkin" :
                           RB_Druid_Tree.IsChecked.GetValueOrDefault(false) ? "Tree" : "Bear";
             // All Specs
             theSet.BuffsToAdd.Add("Mark of the Wild", "Buff: Mark of the Wild (Stat %, All Resist)");
             theSet.BuffsToAdd.Add("Fearie Fire", "Debuff: Fearie Fire (Target Armor Reduction)");
             // Spec Specific
             if (theSet.Spec == "Bear") {
                 theSet.BuffsToAdd.Add("Leader of the Pack", "Buff: Leader of the Pack (Crit)");
                 theSet.BuffsToAdd.Add("Infected Wounds", "Debuff: Infected Wounds (Targ AtkSpd Reduc)");
                 theSet.BuffsToAdd.Add("Mangle", "Debuff: Mangle (Bleed Dmg Mult)");
                 theSet.BuffsToAdd.Add("Demoralizing Roar", "Debuff: Demoralizing Roar (Targ Dmg Dealt Reduc)");
             } else if (theSet.Spec == "Cat") {
                 theSet.BuffsToAdd.Add("Leader of the Pack", "Buff: Leader of the Pack (Crit)");
                 theSet.BuffsToAdd.Add("Infected Wounds", "Debuff: Infected Wounds (Targ AtkSpd Reduc)");
                 theSet.BuffsToAdd.Add("Mangle", "Debuff: Mangle (Bleed Dmg Mult)");
             } else if (theSet.Spec == "Moonkin") {
                 theSet.BuffsToAdd.Add("Moonkin Form", "Buff: Moonkin Form (SpellHaste)");
                 theSet.BuffsToAdd.Add("Earth and Moon", "Debuff: Earth and Moon (Targ Spell Dmg Vuln)");
             } else if (theSet.Spec == "Tree") {
                 theSet.BuffsToAdd.Add("Revitalize", "Buff: Revitalize (Mana Regen)");
             }
             break;
         }
         #endregion
         #region Hunter
         case "Hunter": {
             theSet.Class = CharacterClass.Hunter;
             theSet.Color = FromKnownColor("Green");
             theSet.Spec = RB_Hunter_BM.IsChecked.GetValueOrDefault(false) ? "BM" :
                           RB_Hunter_MM.IsChecked.GetValueOrDefault(false) ? "MM" :
                           RB_Hunter_SV.IsChecked.GetValueOrDefault(false) ? "SV" : "MM";
             theSet.BuffsToAdd.Add("Hunter's Mark", "Buff: Hunter's Mark");
             // Spec Specific
             if (theSet.Spec == "BM") {
                 theSet.BuffsToAdd.Add("Ferocious Inspiration", "Buff: Ferocious Inspiration (Damage)");
             } else if (theSet.Spec == "MM") {
                 theSet.BuffsToAdd.Add("Trueshot Aura", "Buff: Trueshot Aura (AP)");
             } else if (theSet.Spec == "SV") {
                 theSet.BuffsToAdd.Add("Hunting Party", "Buff: Hunting Party (Haste)");
             }
             // Pet
             if (theSet.Spec == "BM") {
                 if ((string)CB_Hunter_Pet_BM.SelectedItem != "None" && (string)CB_Hunter_Pet_BM.SelectedItem != "Other") {
                     string buffname = (string)CB_Hunter_Pet_BM.SelectedItem;
                     int colon = buffname.IndexOf(": ") + 2;
                     int perentheses = buffname.IndexOf(" (");
                     theSet.BuffsToAdd.Add(buffname.Substring(colon, (perentheses - colon)), "Buff: " + buffname.Substring(colon));
                 }
             }
             else {
                 if ((string)CB_Hunter_Pet.SelectedItem != "None" && (string)CB_Hunter_Pet.SelectedItem != "Other") {
                     string buffname = (string)CB_Hunter_Pet.SelectedItem;
                     int colon = buffname.IndexOf(": ") + 2;
                     int perentheses = buffname.IndexOf(" (");
                     theSet.BuffsToAdd.Add(buffname.Substring(colon, (perentheses - colon)), "Buff: " + buffname.Substring(colon));
                 }
             }
             // Sting
             //if ((string)CB_Hunter_Sting.SelectedItem != "None" && (string)CB_Hunter_Sting.SelectedItem != "Other") {
             //    theSet.BuffsToAdd.Add((string)CB_Hunter_Sting.SelectedItem, "Debuff: " + (string)CB_Hunter_Sting.SelectedItem);
             //}
             // Hunter's Mark
             //if ((string)CB_Hunter_Mark.SelectedItem != "None") {
             //    theSet.BuffsToAdd.Add((string)CB_Hunter_Mark.SelectedItem, "Debuff: " + (string)CB_Hunter_Mark.SelectedItem
             //        + (theSet.Spec == "MM" && CK_Hunter_Mark.IsChecked.GetValueOrDefault(false) ? " (Imp)" : ""));
             //}
             // Aspect
             if ((string)CB_Hunter_Aspect.SelectedItem != "None" && (string)CB_Hunter_Aspect.SelectedItem != "Other") {
                 theSet.BuffsToAdd.Add((string)CB_Hunter_Aspect.SelectedItem, "Buff: " + (string)CB_Hunter_Aspect.SelectedItem);
             }
             break;
         }
         #endregion
         #region Mage
         case "Mage": {
             theSet.Class = CharacterClass.Mage;
             theSet.Color = FromKnownColor("LightBlue");
             theSet.Spec = RB_Mage_Frost.IsChecked.GetValueOrDefault(false) ? "Frost" :
                           RB_Mage_Fire.IsChecked.GetValueOrDefault(false) ? "Fire" :
                           RB_Mage_Arcane.IsChecked.GetValueOrDefault(false) ? "Arcane" : "Arcane";
             // All Specs
             theSet.BuffsToAdd.Add("Arcane Brilliance", "Buff: Arcane Brilliance (Intellect)");
             theSet.BuffsToAdd.Add("Time Warp", "Buff: Time Warp (Temp Haste)");
             // Spec Specific
             if (theSet.Spec == "Frost") {
                 theSet.BuffsToAdd.Add("Enduring Winter", "Buff: Enduring Winter (Mana Regen)");
             } else if (theSet.Spec == "Fire") {
                 theSet.BuffsToAdd.Add("Critical Mass", "Debuff: Critical Mass (SpellCrit Debuff)");
             } else if (theSet.Spec == "Arcane") {
                 theSet.BuffsToAdd.Add("Arcane Tactics", "Buff: Arcane Tactics (Bonus Damage)");
                 // Focus Magic
                 if ((string)CB_Mage_Focus.SelectedItem != "None")
                 {
                     theSet.BuffsToAdd.Add((string)CB_Mage_Focus.SelectedItem, "Buff: " + (string)CB_Mage_Focus.SelectedItem);
                 }
             }
             break;
         }
         #endregion
         #region Paladin
         case "Paladin": {
             theSet.Class = CharacterClass.Paladin;
             theSet.Color = FromKnownColor("Pink");
             theSet.Spec = RB_Paladin_Prot.IsChecked.GetValueOrDefault(false) ? "Prot" :
                             RB_Paladin_Ret.IsChecked.GetValueOrDefault(false) ? "Retribution" :
                             RB_Paladin_Holy.IsChecked.GetValueOrDefault(false) ? "Holy" : "Retribution";
             // All Specs
             // Spec Specific
             if (theSet.Spec == "Prot") {
                 theSet.BuffsToAdd.Add("Judgements of the Just", "Debuff: Judgements of the Just (Targ AtkSpd Reduc)");
                 theSet.BuffsToAdd.Add("Vindication", "Debuff: Vindication (Targ Dmg Dealt Reduc)");
             } else if (theSet.Spec == "Retribution") {
                 theSet.BuffsToAdd.Add("Communion", "Buff: Communion (Mana Regen)");
                 theSet.BuffsToAdd.Add("Sanctified Retribution", "Buff: Sanctified Retribution (Dmg %)");
             } else if (theSet.Spec == "Holy") {
             }
             // Aura
             if ((string)CB_Paladin_Aura.SelectedItem != "None") {
                 theSet.BuffsToAdd.Add((string)CB_Paladin_Aura.SelectedItem, "Buff: " + (string)CB_Paladin_Aura.SelectedItem);
             }
             // Blessing
             if ((string)CB_Paladin_Blessing.SelectedItem != "None") {
                 theSet.BuffsToAdd.Add((string)CB_Paladin_Blessing.SelectedItem, "Buff: " + (string)CB_Paladin_Blessing.SelectedItem);
             }
             break;
         }
         #endregion
         #region Priest
         case "Priest": {
             theSet.Class = CharacterClass.Priest;
             theSet.Color = FromKnownColor("LightGray");
             theSet.Spec = RB_Priest_D.IsChecked.GetValueOrDefault(false) ? "Disc" :
                           RB_Priest_Holy.IsChecked.GetValueOrDefault(false) ? "Holy" :
                           RB_Priest_S.IsChecked.GetValueOrDefault(false) ? "Shadow" : "Holy";
             // All Specs
             theSet.BuffsToAdd.Add("Power Word: Fortitude", "Buff: Power Word Fortitude (Stamina)");
             theSet.BuffsToAdd.Add("Shadow Protection", "Buff: Shadow Protection (Shadow Resist)");
             // Spec Specific
             if (theSet.Spec == "Disc") {
                 theSet.BuffsToAdd.Add("Power Infusion", "Buff: Power Infusion (Temp Spell Haste, Mana Regen)");
             } else if (theSet.Spec == "Holy") {
                 theSet.BuffsToAdd.Add("Inspiration", "Buff: Inspiration (Damage Taken Reduc)");
                 theSet.BuffsToAdd.Add("Hymn of Hope", "Buff: Hymn of Hope (Mana, Burst Mana Regen)");
             } else if (theSet.Spec == "Shadow") {
                 theSet.BuffsToAdd.Add("Vampiric Touch", "Buff: Vampiric Touch (Mana Regen)");
                 theSet.BuffsToAdd.Add("Mind Quickening", "Buff: Mind Quickening (Spell Haste)");
             }
             break;
         }
         #endregion
         #region Rogue
         case "Rogue": {
             theSet.Class = CharacterClass.Rogue;
             theSet.Color = FromKnownColor("Yellow");
             theSet.Spec = RB_Rogue_Combat.IsChecked.GetValueOrDefault(false) ? "Combat" :
                           RB_Rogue_Assassin.IsChecked.GetValueOrDefault(false) ? "Assassin" :
                           RB_Rogue_Subtlety.IsChecked.GetValueOrDefault(false) ? "Subtlety" : "Combat";
             // All Specs
             theSet.BuffsToAdd.Add("Master Poisoner", "Debuff: Master Poisoner (Targ SplDmg Taken)");
             theSet.BuffsToAdd.Add("Expose Armor", "Debuff: Expose Armor (Targ Armor Reduc)");
             // Spec Specific
             if (theSet.Spec == "Combat") {
                 theSet.BuffsToAdd.Add("Savage Combat", "Debuff: Savage Combat (Phys Dmg %)");
             } else if (theSet.Spec == "Assassin") {
             } else if (theSet.Spec == "Subtlety") {
                 theSet.BuffsToAdd.Add("Honor Among Thieves", "Buff: Honor Among Thieves (Crit)");
                 theSet.BuffsToAdd.Add("Hemorrhage", "Debuff: Hemorrhage (Bleed Dmg %)");
             }
             // Tricks of the Trade
             if (CB_Rogue_Tricks.SelectedIndex == 1) {
                 string text = "Tricks of the Trade" + (CK_Rogue_Tricks.IsChecked.GetValueOrDefault(false) ? " (Glyphed)" : "");
                 theSet.BuffsToAdd.Add(text, "Buff: " + text + " (Temp Dmg %)");
             }
             break;
         }
         #endregion
         #region Shaman
         case "Shaman": {
             theSet.Class = CharacterClass.Shaman;
             theSet.Color = FromKnownColor("Blue");
             theSet.Spec = RB_Shaman_Enhance.IsChecked.GetValueOrDefault(false) ? "Enhance" :
                           RB_Shaman_Elemental.IsChecked.GetValueOrDefault(false) ? "Elemental" :
                           RB_Shaman_Resto.IsChecked.GetValueOrDefault(false) ? "Resto" : "Enhance";
             // All Specs
             theSet.BuffsToAdd.Add("Heroism/Bloodlust", "Buff: Heroism/Bloodlust (Temp Haste)");
             // Spec Specific
             if (theSet.Spec == "Enhance") {
                 theSet.BuffsToAdd.Add("Unleashed Rage", "Buff: Unleashed Rage (AP%)");
             } else if (theSet.Spec == "Elemental") {
                 theSet.BuffsToAdd.Add("Elemental Oath", "Buff: Elemental Oath (Crit)");
                 theSet.BuffsToAdd.Add("Totemic Wrath", "Buff: Totemic Wrath (SP%)");
             } else if (theSet.Spec == "Resto") {
                 theSet.BuffsToAdd.Add("Mana Tide Totem", "Buff: Mana Tide Totem (Burst Mana Regen)");
                 theSet.BuffsToAdd.Add("Ancestral Healing", "Buff: Ancestral Healing (DmgTakenReduc)");
             }
             // Air Totem
             if (CB_Shaman_TotemAir.SelectedIndex == 1) {
                 theSet.BuffsToAdd.Add("Wrath of Air Totem", "Buff: Wrath of Air Totem (SpellHaste)");
             } else if (CB_Shaman_TotemAir.SelectedIndex == 2) {
                 theSet.BuffsToAdd.Add("Windfury Totem", "Buff: Windfury Totem (PhysicalHaste)");
             }
             // Water Totem
             if (CB_Shaman_TotemWater.SelectedIndex == 1) {
                 theSet.BuffsToAdd.Add("Mana Spring Totem", "Buff: Mana Spring Totem (Mana Regen)");
             } else if (CB_Shaman_TotemWater.SelectedIndex == 2) {
                 theSet.BuffsToAdd.Add("Elemental Resistance Totem", "Buff: Elemental Resistance Totem (Fire, Frost, Nature Resist)");
             }
             // Fire Totem
             if (CB_Shaman_TotemFire.SelectedIndex == 1) {
                 theSet.BuffsToAdd.Add("Flametongue Totem", "Buff: Flametongue Totem (SpellDamageAndHealingBonusMult)");
             } else if (CB_Shaman_TotemFire.SelectedIndex == 2) {
                 theSet.BuffsToAdd.Add("Totem of Wrath", "Buff: Totem of Wrath (SpellPower)");
             }
             // Earth Totem
             if (CB_Shaman_TotemEarth.SelectedIndex == 1) {
                 theSet.BuffsToAdd.Add("Stoneskin Totem", "Buff: Stoneskin Totem (BonusArmor)");
             } else if (CB_Shaman_TotemEarth.SelectedIndex == 2) {
                 theSet.BuffsToAdd.Add("Strength of Earth Totem", "Buff: Strength of Earth Totem (Strength, Agility)");
             }
             break;
         }
         #endregion
         #region Warlock
         case "Warlock": {
             theSet.Class = CharacterClass.Warlock;
             theSet.Color = FromKnownColor("Purple");
             theSet.Spec = RB_Warlock_Demon.IsChecked.GetValueOrDefault(false) ? "Demon" :
                           RB_Warlock_Afflic.IsChecked.GetValueOrDefault(false) ? "Afflic" :
                           RB_Warlock_Destro.IsChecked.GetValueOrDefault(false) ? "Destro" : "Demon";
             // All Specs
             theSet.BuffsToAdd.Add("Fel Intelligence (Mana)", "Buff: Fel Intelligence (Mana)");
             theSet.BuffsToAdd.Add("Curse of Weakness", "Debuff: Curse of Weakness (Targ Dmg Dealt %)");
             theSet.BuffsToAdd.Add("Improved Shadow Bolt", "Debuff: Improved Shadow Bolt (Targ Crit %)");
             theSet.BuffsToAdd.Add("Curse of the Elements", "Debuff: Curse of the Elements (Targ SplDmg %)");
             // Spec Specific
             if (theSet.Spec == "Demon") {
                 theSet.BuffsToAdd.Add("Demonic Pact", "Buff: Demonic Pact (SP%)");
             } else if (theSet.Spec == "Afflic") {
             } else if (theSet.Spec == "Destro") {
                 theSet.BuffsToAdd.Add("Soul Leech", "Buff: Soul Leech (Mana Regen)");
             }
             // Pet
             if (CB_Warlock_Pet.SelectedIndex == 1) {
                 theSet.BuffsToAdd.Add("Blood Pact", "Buff: Blood Pact (Stamina)");
             } else if (CB_Warlock_Pet.SelectedIndex == 2) {
                 theSet.BuffsToAdd.Add("Fel Intelligence (Mp5)", "Buff: Fel Intelligence (Mp5)");
             }
             break;
         }
         #endregion
         #region Warrior
         case "Warrior": {
             theSet.Class = CharacterClass.Warrior;
             theSet.Color = FromKnownColor("BurlyWood");
             theSet.Spec = RB_Warrior_Arms.IsChecked.GetValueOrDefault(false) ? "Arms" :
                           RB_Warrior_Fury.IsChecked.GetValueOrDefault(false) ? "Fury" :
                           RB_Warrior_Tank.IsChecked.GetValueOrDefault(false) ? "Prot" : "Arms";
             // All Specs
             // Spec Specific
             if (theSet.Spec == "Prot") {
             } else if (theSet.Spec == "Arms") {
                 theSet.BuffsToAdd.Add("Trauma", "Debuff: Trauma (Bleed Bonus)");
                 theSet.BuffsToAdd.Add("Blood Frenzy", "Debuff: Blood Frenzy (Phys Dmg Bonus)");
                 theSet.BuffsToAdd.Add("Shattering Throw", "Debuff: Shattering Throw (Temp Armor Reduc)");
             } else if (theSet.Spec == "Fury") {
                 theSet.BuffsToAdd.Add("Rampage", "Buff: Rampage (Crit)");
             }
             // Buff Shout
             if (CB_Warrior_BuffShout.SelectedIndex == 1) {
                 theSet.BuffsToAdd.Add("Battle Shout", "Buff: Battle Shout (Strength, Agility)");
             } else if (CB_Warrior_BuffShout.SelectedIndex == 2) {
                 theSet.BuffsToAdd.Add("Commanding Shout", "Buff: Commanding Shout (Stamina)");
             }
             // Debuff Shout
             if (CB_Warrior_DebuffShout.SelectedIndex == 1) {
                 theSet.BuffsToAdd.Add("Demoralizing Shout", "Debuff: Demoralizing Shout (Target Dmg Reduc)");
             }
             // Thunderclap
             if (theSet.Spec == "Prot" || (theSet.Spec == "Arms" && CB_Warrior_Thunderclap.SelectedIndex == 1)) {
                 theSet.BuffsToAdd.Add("Thunder Clap", "Debuff: Thunder Clap (Target AtkSpd Reduc)");
             }
             // Sunder Armor
             if (theSet.Spec == "Prot" || ((theSet.Spec == "Arms" || theSet.Spec == "Fury") && (CB_Warrior_Sunder.SelectedIndex == 1))) {
                 theSet.BuffsToAdd.Add("Sunder Armor", "Debuff: Sunder Armor (Target Armor Reduc)");
             }
             break;
         }
         #endregion
         default: { break; }
     }
     #endregion
     // Add if not blank
     if (theSet.BuffsToAdd.Keys.Count > 0)
     {
         ListBoxItem newAdd = new ListBoxItem();
         newAdd.Content = theSet.ToString();
         newAdd.Background = new SolidColorBrush(theSet.Color);
         newAdd.Background = new LinearGradientBrush(new GradientStopCollection() {
             new GradientStop() { Color = Colors.White, Offset = 0 },
             new GradientStop() { Color = theSet.Color, Offset = 1 }
         }, 0);
         List_Classes.Items.Add(newAdd);
         TheSets.Add(theSet);
     }
     // Verify we can add more people after this
     RaidSizeCheck();
 }
Exemplo n.º 4
0
        private void OKButton_Click(object sender, RoutedEventArgs e)
        {
            /* Example Build
             * http://raidcomp.mmo-champion.com/?c=123456789abcdefghijklmnopqrstuv000000000
             * 0 Empty
             * 1 Blood Death Knight     * 2 Frost Death Knight  * 3 Unholy Death Knight
             * 4 Balance Druid          * 5 Cat Druid           * 6 Restoration Druid   * v Bear Druid
             * 7 Beast Mastery Hunter   * 8 Marksmanship Hunter * 9 Survival Hunter
             * a Arcane Mage            * b Fire Mage           * c Frost Mage
             * d Holy Paladin           * e Protection Paladin  * f Retribution Paladin
             * g Discipline Priest      * h Holy Priest         * i Shadow Priest
             * j Assassination Rogue    * k Combat Rogue        * l Subtlety Rogue
             * m Elemental Shaman       * n Enhancement Shaman  * o Restoration Shaman
             * p Affliction Warlock     * q Demonology Warlock  * r Destruction Warlock
             * s Arms Warrior           * t Fury Warrior        * u Protection Warrior
             */
            string link        = TB_CompLink.Text.Trim();
            string classString = link.Substring(link.IndexOf("c=") + 2);

            while (classString.Contains('0'))
            {
                classString = classString.Replace("0", "");
            }
            List <string> classes = new List <string>();

            foreach (char c in classString)
            {
                classes.Add(c.ToString());
            }
            toAdds = new List <PlayerBuffSet>();
            foreach (string c in classes)
            {
                PlayerBuffSet theSet = new PlayerBuffSet();
                theSet.Color = Colors.White;
                switch (c)
                {
                    #region Death Knight
                case "1":
                case "2":
                case "3": {
                    theSet.Class = CharacterClass.DeathKnight;
                    theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Maroon");
                    theSet.Spec  = (c == "2" ? "Frost" : c == "3" ? "Unholy" : c == "1" ? "Blood" : "Frost");
                    // All Specs
                    theSet.BuffsToAdd.Add("Horn of Winter", "Buff: Horn of Winter (Str, Agi)");
                    // Spec Specific
                    if (theSet.Spec == "Frost")
                    {
                        theSet.BuffsToAdd.Add("Improved Icy Talons", "Buff: Improved Icy Talons (Haste)");
                        theSet.BuffsToAdd.Add("Frost Fever", "Debuff: Frost Fever (Targ AtkSpd Reduc)");
                        theSet.BuffsToAdd.Add("Brittle Bones", "Debuff: Brittle Bones (PhysDmg)");
                    }
                    else if (theSet.Spec == "Unholy")
                    {
                        theSet.BuffsToAdd.Add("Ebon Plaguebringer", "Buff: Ebon Plaguebringer (SpellDmg Multiplier)");
                        theSet.BuffsToAdd.Add("Unholy Frenzy", "Buff: Unholy Fenzy (Temp Haste)");
                    }
                    else if (theSet.Spec == "Blood")
                    {
                        theSet.BuffsToAdd.Add("Scarlet Fever", "Buff: Scarlet Fever (Targ Dmg Dealt Reduc)");
                        theSet.BuffsToAdd.Add("Abomination's Might", "Buff: Abomination's Might (AP)");
                    }
                    break;
                }

                    #endregion
                    #region Druid
                case "4":
                case "5":
                case "6":
                case "v": {
                    theSet.Class = CharacterClass.Druid;
                    theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Orange");
                    theSet.Spec  = c == "v" ? "Bear" : c == "5" ? "Cat" : c == "4" ? "Moonkin" : c == "6" ? "Tree" : "Bear";
                    // All Specs
                    theSet.BuffsToAdd.Add("Mark of the Wild", "Buff: Mark of the Wild (Stat %, All Resist)");
                    theSet.BuffsToAdd.Add("Fearie Fire", "Debuff: Fearie Fire (Target Armor Reduction)");
                    // Spec Specific
                    if (theSet.Spec == "Bear")
                    {
                        theSet.BuffsToAdd.Add("Leader of the Pack", "Buff: Leader of the Pack (Crit)");
                        theSet.BuffsToAdd.Add("Infected Wounds", "Debuff: Infected Wounds (Targ AtkSpd Reduc)");
                        theSet.BuffsToAdd.Add("Mangle", "Debuff: Mangle (Bleed Dmg Mult)");
                        theSet.BuffsToAdd.Add("Demoralizing Roar", "Debuff: Demoralizing Roar (Targ Dmg Dealt Reduc)");
                    }
                    else if (theSet.Spec == "Cat")
                    {
                        theSet.BuffsToAdd.Add("Leader of the Pack", "Buff: Leader of the Pack (Crit)");
                        theSet.BuffsToAdd.Add("Infected Wounds", "Debuff: Infected Wounds (Targ AtkSpd Reduc)");
                        theSet.BuffsToAdd.Add("Mangle", "Debuff: Mangle (Bleed Dmg Mult)");
                    }
                    else if (theSet.Spec == "Moonkin")
                    {
                        theSet.BuffsToAdd.Add("Moonkin Form", "Buff: Moonkin Form (SpellHaste)");
                        theSet.BuffsToAdd.Add("Earth and Moon", "Debuff: Earth and Moon (Targ Spell Dmg Vuln)");
                    }
                    else if (theSet.Spec == "Tree")
                    {
                        theSet.BuffsToAdd.Add("Revitalize", "Buff: Revitalize (Mana Regen)");
                    }
                    break;
                }

                    #endregion
                    #region Hunter
                case "7":
                case "8":
                case "9": {
                    theSet.Class = CharacterClass.Hunter;
                    theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Green");
                    theSet.Spec  = c == "7" ? "BM" : c == "8" ? "MM" : c == "9" ? "SV" : "MM";
                    // Spec Specific
                    if (theSet.Spec == "BM")
                    {
                        theSet.BuffsToAdd.Add("Ferocious Inspiration", "Buff: Ferocious Inspiration (Damage)");
                    }
                    else if (theSet.Spec == "MM")
                    {
                        theSet.BuffsToAdd.Add("Trueshot Aura", "Buff: Trueshot Aura (AP)");
                    }
                    else if (theSet.Spec == "SV")
                    {
                        theSet.BuffsToAdd.Add("Hunting Party", "Buff: Hunting Party (Haste)");
                    }
                    // Pet
                    //if ((string)CB_Hunter_Pet.SelectedItem != "None" && (string)CB_Hunter_Pet.SelectedItem != "Other") {
                    //theSet.BuffsToAdd.Add((string)CB_Hunter_Pet.SelectedItem, "Buff: " + (string)CB_Hunter_Pet.SelectedItem);
                    //}
                    // Sting
                    //if ((string)CB_Hunter_Sting.SelectedItem != "None" && (string)CB_Hunter_Sting.SelectedItem != "Other") {
                    //theSet.BuffsToAdd.Add((string)CB_Hunter_Sting.SelectedItem, "Debuff: " + (string)CB_Hunter_Sting.SelectedItem);
                    //}
                    // Hunter's Mark
                    //if ((string)CB_Hunter_Mark.SelectedItem != "None") {
                    //theSet.BuffsToAdd.Add((string)CB_Hunter_Mark.SelectedItem, "Debuff: " + (string)CB_Hunter_Mark.SelectedItem
                    //+ (theSet.Spec == "MM" && CK_Hunter_Mark.IsChecked.GetValueOrDefault(false) ? " (Imp)" : ""));
                    //}
                    // Aspect
                    //if ((string)CB_Hunter_Aspect.SelectedItem != "None" && (string)CB_Hunter_Aspect.SelectedItem != "Other") {
                    //theSet.BuffsToAdd.Add((string)CB_Hunter_Aspect.SelectedItem, "Debuff: " + (string)CB_Hunter_Aspect.SelectedItem);
                    //}
                    break;
                }

                    #endregion
                    #region Mage
                case "a":
                case "b":
                case "c": {
                    theSet.Class = CharacterClass.Mage;
                    theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("LightBlue");
                    theSet.Spec  = c == "c" ? "Frost" : c == "b" ? "Fire" : c == "a" ? "Arcane" : "Arcane";
                    // All Specs
                    theSet.BuffsToAdd.Add("Arcane Brilliance", "Buff: Arcane Brilliance (Intellect)");
                    theSet.BuffsToAdd.Add("Time Warp", "Buff: Time Warp (Temp Haste)");
                    // Spec Specific
                    if (theSet.Spec == "Frost")
                    {
                        theSet.BuffsToAdd.Add("Enduring Winter", "Buff: Enduring Winter (Mana Regen)");
                    }
                    else if (theSet.Spec == "Fire")
                    {
                        theSet.BuffsToAdd.Add("Critical Mass", "Debuff: Critical Mass (SpellCrit Debuff)");
                    }
                    else if (theSet.Spec == "Arcane")
                    {
                        theSet.BuffsToAdd.Add("Arcane Tactics", "Buff: Arcane Tactics (Bonus Damage)");
                        // Focus Magic
                        //if ((string)CB_Mage_Focus.SelectedItem != "None") {
                        theSet.BuffsToAdd.Add("Focus Magic", "Buff: Focus Magic");
                        //}
                    }
                    break;
                }

                    #endregion
                    #region Paladin
                case "d":
                case "e":
                case "f": {
                    theSet.Class = CharacterClass.Paladin;
                    theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Pink");
                    theSet.Spec  = c == "e" ? "Prot" : c == "f" ? "Retribution" : c == "d" ? "Holy" : "Retribution";
                    // All Specs
                    // Spec Specific
                    if (theSet.Spec == "Prot")
                    {
                        theSet.BuffsToAdd.Add("Judgements of the Just", "Debuff: Judgements of the Just (Targ AtkSpd Reduc)");
                        theSet.BuffsToAdd.Add("Vindication", "Debuff: Vindication (Targ Dmg Dealt Reduc)");
                    }
                    else if (theSet.Spec == "Retribution")
                    {
                        theSet.BuffsToAdd.Add("Communion", "Buff: Communion (Mana Regen)");
                        theSet.BuffsToAdd.Add("Sanctified Retribution", "Buff: Sanctified Retribution (Dmg %)");
                    }
                    else if (theSet.Spec == "Holy")
                    {
                    }
                    // Aura
                    //if ((string)CB_Paladin_Aura.SelectedItem != "None") {
                    //theSet.BuffsToAdd.Add((string)CB_Paladin_Aura.SelectedItem, "Buff: " + (string)CB_Paladin_Aura.SelectedItem);
                    //}
                    // Blessing
                    //if ((string)CB_Paladin_Blessing.SelectedItem != "None") {
                    //theSet.BuffsToAdd.Add((string)CB_Paladin_Blessing.SelectedItem, "Buff: " + (string)CB_Paladin_Blessing.SelectedItem);
                    //}
                    break;
                }

                    #endregion
                    #region Priest
                case "g":
                case "h":
                case "i": {
                    theSet.Class = CharacterClass.Priest;
                    theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("LightGray");
                    theSet.Spec  = c == "g" ? "Disc" : c == "h" ? "Holy" : c == "i" ? "Shadow" : "Holy";
                    // All Specs
                    theSet.BuffsToAdd.Add("Power Word: Fortitude", "Buff: Power Word Fortitude (Stamina)");
                    theSet.BuffsToAdd.Add("Shadow Protection", "Buff: Shadow Protection (Shadow Resist)");
                    // Spec Specific
                    if (theSet.Spec == "Disc")
                    {
                        theSet.BuffsToAdd.Add("Power Infusion", "Buff: Power Infusion (Temp Spell Haste, Mana Regen)");
                    }
                    else if (theSet.Spec == "Holy")
                    {
                        theSet.BuffsToAdd.Add("Inspiration", "Buff: Inspiration (Damage Taken Reduc)");
                        theSet.BuffsToAdd.Add("Hymn of Hope", "Buff: Hymn of Hope (Mana, Burst Mana Regen)");
                    }
                    else if (theSet.Spec == "Shadow")
                    {
                        theSet.BuffsToAdd.Add("Vampiric Touch", "Buff: Vampiric Touch (Mana Regen)");
                        theSet.BuffsToAdd.Add("Mind Quickening", "Buff: Mind Quickening (Spell Haste)");
                    }
                    break;
                }

                    #endregion
                    #region Rogue
                case "j":
                case "k":
                case "l": {
                    theSet.Class = CharacterClass.Rogue;
                    theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Yellow");
                    theSet.Spec  = c == "k" ? "Combat" : c == "j" ? "Assassin" : c == "l" ? "Subtlety" : "Combat";
                    // All Specs
                    theSet.BuffsToAdd.Add("Master Poisoner", "Debuff: Master Poisoner (Targ SplDmg Taken)");
                    theSet.BuffsToAdd.Add("Expose Armor", "Debuff: Expose Armor (Targ Armor Reduc)");
                    // Spec Specific
                    if (theSet.Spec == "Combat")
                    {
                        theSet.BuffsToAdd.Add("Savage Combat", "Debuff: Savage Combat (Phys Dmg %)");
                    }
                    else if (theSet.Spec == "Assassin")
                    {
                    }
                    else if (theSet.Spec == "Subtlety")
                    {
                        theSet.BuffsToAdd.Add("Honor Among Thieves", "Buff: Honor Among Thieves (Crit)");
                        theSet.BuffsToAdd.Add("Hemorrhage", "Debuff: Hemorrhage (Bleed Dmg %)");
                    }
                    // Tricks of the Trade
                    //if (CB_Rogue_Tricks.SelectedIndex == 1) {
                    string text = "Tricks of the Trade";
                    theSet.BuffsToAdd.Add(text, "Buff: " + text + " (Temp Dmg %)");
                    //}
                    break;
                }

                    #endregion
                    #region Shaman
                case "m":
                case "n":
                case "o": {
                    theSet.Class = CharacterClass.Shaman;
                    theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Blue");
                    theSet.Spec  = c == "n" ? "Enhance" : c == "m" ? "Elemental" : c == "o" ? "Resto" : "Enhance";
                    // All Specs
                    theSet.BuffsToAdd.Add("Heroism/Bloodlust", "Buff: Heroism/Bloodlust (Temp Haste)");
                    // Spec Specific
                    if (theSet.Spec == "Enhance")
                    {
                        theSet.BuffsToAdd.Add("Unleashed Rage", "Buff: Unleashed Rage (AP%)");
                    }
                    else if (theSet.Spec == "Elemental")
                    {
                        theSet.BuffsToAdd.Add("Elemental Oath", "Buff: Elemental Oath (Crit)");
                        theSet.BuffsToAdd.Add("Totemic Wrath", "Buff: Totemic Wrath (SP%)");
                    }
                    else if (theSet.Spec == "Resto")
                    {
                        theSet.BuffsToAdd.Add("Mana Tide Totem", "Buff: Mana Tide Totem (Burst Mana Regen)");
                        theSet.BuffsToAdd.Add("Ancestral Healing", "Buff: Ancestral Healing (DmgTakenReduc)");
                    }
                    // Air Totem
                    //if (CB_Shaman_TotemAir.SelectedIndex == 1) {
                    //theSet.BuffsToAdd.Add("Wrath of Air Totem", "Buff: Wrath of Air Totem (SpellHaste)");
                    //} else if (CB_Shaman_TotemAir.SelectedIndex == 2) {
                    //theSet.BuffsToAdd.Add("Windfury Totem", "Buff: Windfury Totem (PhysicalHaste)");
                    //}
                    // Water Totem
                    //if (CB_Shaman_TotemWater.SelectedIndex == 1) {
                    //theSet.BuffsToAdd.Add("Mana Spring Totem", "Buff: Mana Spring Totem (Mana Regen)");
                    //} else if (CB_Shaman_TotemWater.SelectedIndex == 2) {
                    //theSet.BuffsToAdd.Add("Elemental Resistance Totem", "Buff: Elemental Resistance Totem (Fire, Frost, Nature Resist)");
                    //}
                    // Fire Totem
                    //if (CB_Shaman_TotemFire.SelectedIndex == 1) {
                    //theSet.BuffsToAdd.Add("Flametongue Totem", "Buff: Flametongue Totem (SpellDamageAndHealingBonusMult)");
                    //} else if (CB_Shaman_TotemFire.SelectedIndex == 2) {
                    //theSet.BuffsToAdd.Add("Totem of Wrath", "Buff: Totem of Wrath (SpellPower)");
                    //}
                    // Earth Totem
                    //if (CB_Shaman_TotemEarth.SelectedIndex == 1) {
                    //theSet.BuffsToAdd.Add("Stoneskin Totem", "Buff: Stoneskin Totem (BonusArmor)");
                    //} else if (CB_Shaman_TotemEarth.SelectedIndex == 2) {
                    //theSet.BuffsToAdd.Add("Strength of Earth Totem", "Buff: Strength of Earth Totem (Strength, Agility)");
                    //}
                    break;
                }

                    #endregion
                    #region Warlock
                case "p":
                case "q":
                case "r": {
                    theSet.Class = CharacterClass.Warlock;
                    theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("Purple");
                    theSet.Spec  = c == "q" ? "Demon" : c == "p" ? "Afflic" : c == "r" ? "Destro" : "Demon";
                    // All Specs
                    theSet.BuffsToAdd.Add("Fel Intelligence (Mana)", "Buff: Fel Intelligence (Mana)");
                    theSet.BuffsToAdd.Add("Curse of Weakness", "Debuff: Curse of Weakness (Targ Dmg Dealt %)");
                    theSet.BuffsToAdd.Add("Improved Shadow Bolt", "Debuff: Improved Shadow Bolt (Targ Crit %)");
                    theSet.BuffsToAdd.Add("Curse of the Elements", "Debuff: Curse of the Elements (Targ SplDmg %)");
                    // Spec Specific
                    if (theSet.Spec == "Demon")
                    {
                        theSet.BuffsToAdd.Add("Demonic Pact", "Buff: Demonic Pact (SP%)");
                    }
                    else if (theSet.Spec == "Afflic")
                    {
                    }
                    else if (theSet.Spec == "Destro")
                    {
                        theSet.BuffsToAdd.Add("Soul Leech", "Buff: Soul Leech (Mana Regen)");
                    }
                    // Pet
                    //if (CB_Warlock_Pet.SelectedIndex == 1) {
                    theSet.BuffsToAdd.Add("Blood Pact", "Buff: Blood Pact (Stamina)");
                    //} else if (CB_Warlock_Pet.SelectedIndex == 2) {
                    theSet.BuffsToAdd.Add("Fel Intelligence (Mp5)", "Buff: Fel Intelligence (Mp5)");
                    //}
                    break;
                }

                    #endregion
                    #region Warrior
                case "s":
                case "t":
                case "u": {
                    theSet.Class = CharacterClass.Warrior;
                    theSet.Color = DG_BuffsByRaidMembers.FromKnownColor("BurlyWood");
                    theSet.Spec  = c == "s" ? "Arms" : c == "t" ? "Fury" : c == "u" ? "Prot" : "Arms";
                    // All Specs
                    // Spec Specific
                    if (theSet.Spec == "Prot")
                    {
                    }
                    else if (theSet.Spec == "Arms")
                    {
                        theSet.BuffsToAdd.Add("Trauma", "Debuff: Trauma (Bleed Bonus)");
                        theSet.BuffsToAdd.Add("Blood Frenzy", "Debuff: Blood Frenzy (Phys Dmg Bonus)");
                        theSet.BuffsToAdd.Add("Shattering Throw", "Debuff: Shattering Throw (Temp Armor Reduc)");
                    }
                    else if (theSet.Spec == "Fury")
                    {
                        theSet.BuffsToAdd.Add("Rampage", "Buff: Rampage (Crit)");
                    }
                    // Buff Shout
                    //if (CB_Warrior_BuffShout.SelectedIndex == 1) {
                    theSet.BuffsToAdd.Add("Battle Shout", "Buff: Battle Shout (Strength, Agility)");
                    //} else if (CB_Warrior_BuffShout.SelectedIndex == 2) {
                    theSet.BuffsToAdd.Add("Commanding Shout", "Buff: Commanding Shout (Stamina)");
                    //}
                    // Debuff Shout
                    //if (CB_Warrior_DebuffShout.SelectedIndex == 1) {
                    theSet.BuffsToAdd.Add("Demoralizing Shout", "Debuff: Demoralizing Shout (Target Dmg Reduc)");
                    //}
                    // Thunderclap
                    //if (theSet.Spec == "Prot" || (theSet.Spec == "Arms" && CB_Warrior_Thunderclap.SelectedIndex == 1)) {
                    theSet.BuffsToAdd.Add("Thunder Clap", "Debuff: Thunder Clap (Target AtkSpd Reduc)");
                    //}
                    // Sunder Armor
                    //if (theSet.Spec == "Prot" || ((theSet.Spec == "Arms" || theSet.Spec == "Fury") && (CB_Warrior_Sunder.SelectedIndex == 1))) {
                    theSet.BuffsToAdd.Add("Sunder Armor", "Debuff: Sunder Armor (Target Armor Reduc)");
                    //}
                    break;
                }

                    #endregion
                default: { continue; }     // invalid, don't add to the toAdds list
                }
                toAdds.Add(theSet);
            }
            //
            this.DialogResult = true;
        }