Пример #1
0
        public static void CreateWarrior(string playerName, string typeOfWarrior)
        {
            List <Models.Action> actions = new List <Models.Action>();

            actions.Add(new Hit("HIT", Constants.BaseCooldown, Constants.BaseCost, Constants.WarriorDamage));
            if (typeOfWarrior == "SWORDMASTER")
            {
                actions.Add(new LevelUpCrit("LEVEL UP CRITICAL STRIKE", Constants.BaseCooldown, Constants.BaseCost));
                actions.Add(new MirrorImage("MIRROR IMAGE", Constants.BaseCooldown, 20, Constants.WarriorDamage));
                actions.Add(new WindFury("WINDFURY", Constants.BaseCooldown, 50, Constants.WarriorDamage * 4));
                Hero swordmaster = new SwordmasterWarrior(playerName, Constants.WarriorHealth, Constants.WarriorHealthRegen
                                                          , actions, Constants.HeroBaseArmor, Constants.WarriorStartingRage, Constants.WarriorDamage);
                players.Add(swordmaster);
            }
            else if (typeOfWarrior == "BERSERKER")
            {
                actions.Add(new GoBerserk("GO BERSERK", Constants.BaseCooldown, Constants.BaseCost, 100));
                actions.Add(new WildAxes("WILD AXES", Constants.BaseCooldown, 40, Constants.WarriorDamage * 3));
                actions.Add(new Execute("EXECUTE", Constants.BaseCooldown, 0, 700));
                Hero berserker = new BerserkerWarrior(playerName, Constants.WarriorHealth, Constants.WarriorHealthRegen
                                                      , actions, Constants.HeroBaseArmor, Constants.WarriorStartingRage, Constants.WarriorDamage);
                players.Add(berserker);
            }
            else
            {
                actions.Add(new ArmorUp("ARMOR UP", Constants.BaseCooldown, Constants.BaseCost, Constants.ProtectionWarriorArmor));
                actions.Add(new Hibernate("HIBERNATE", Constants.BaseCooldown, 40, Constants.WarriorHealthRegen * 4));
                actions.Add(new ShieldSlam("SHIELD SLAM", Constants.BaseCooldown, 30, Constants.WarriorDamage * 4));
                Hero protector = new ProtectionWarrior(playerName, Constants.WarriorHealth, Constants.WarriorHealthRegen
                                                       , actions, Constants.ProtectionWarriorArmor, Constants.WarriorStartingRage, Constants.WarriorDamage);
                players.Add(protector);
            }
        }
Пример #2
0
        public void DoFriendlyAction(Hero player, Hero ally)
        {
            ally.GainArmor(this.Armor);
            player.Actions.Where(a => a.Name == this.Name).First().SetCooldown(AbilityCooldownConstants.ArmorUpCooldown);
            ProtectionWarrior warr = (ProtectionWarrior)player;

            warr.PassiveDuration--;
        }
Пример #3
0
        public void ExecuteAgressiveAction(Hero player, Hero enemy)
        {
            enemy.StunnedDuration++;
            player.Actions.Where(a => a.Name == this.Name).First().SetCooldown(AbilityCooldownConstants.ShieldSlamCooldown);
            enemy.TakeDamage(player.Armor);
            ProtectionWarrior warr = (ProtectionWarrior)player;

            warr.PassiveDuration--;
            if (warr.PassiveDuration <= 0)
            {
                warr.Hibernating = false;
            }
        }
        public void ActivatePassiveWithHibernate()
        {
            //Arrange
            ProtectionWarrior sut = new ProtectionWarrior("Protector", health, healthRegeneration, new List <Action>()
            {
                new Hibernate("HIBERNATE", 3, 3, 4)
            }, armor, rage, attackPower);

            //Act
            sut.ActivatePassive("HIBERNATE", sut);

            //Assert
            Assert.IsTrue(sut.Hibernating);
            Assert.AreEqual(1, sut.PassiveDuration);
        }
Пример #5
0
        private void CompositeSelector()
        {
            if (_context == WoWContext.Battlegrounds)
            {
                Logging.Write("Initializing PvP Behaviors");
                switch (Me.Specialization)
                {
                case WoWSpec.DeathKnightBlood:
                    if (_combat == null)
                    {
                        _combat = null;
                    }                                            //Needs Changing when PvP cc is written
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.DeathKnightFrost:
                    if (_combat == null)
                    {
                        _combat = null;
                    }                                            //Needs Changing when PvP cc is written
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.DeathKnightUnholy:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.DruidBalance:
                    if (_combat == null)
                    {
                        _combat = null;
                    }                                            // Will need Adding
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.DruidFeral:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.DruidGuardian:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.DruidRestoration:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.HunterBeastMastery:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.HunterMarksmanship:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.HunterSurvival:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.MageArcane:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.MageFire:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.MageFrost:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.MonkBrewmaster:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.MonkMistweaver:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.MonkWindwalker:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.PaladinHoly:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.PaladinProtection:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.PaladinRetribution:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.PriestDiscipline:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.PriestHoly:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.PriestShadow:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.RogueAssassination:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.RogueCombat:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.RogueSubtlety:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.ShamanElemental:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.ShamanEnhancement:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.ShamanRestoration:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.WarlockAffliction:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.WarlockDemonology:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.WarlockDestruction:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.WarriorArms:
                    if (_combat == null)
                    {
                        _combat = ArmsWarriorPvP.ArmsPvPCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = ArmsWarriorPvP.ArmsPvPCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = ArmsWarriorPvP.ArmsPvPPull();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = ArmsWarriorPvP.ArmsPvPPreCombatBuffs();
                    }
                    break;

                case WoWSpec.WarriorFury:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.WarriorProtection:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;
                }
            }
            else
            {
                Logging.Write("Initializing PvE Behaviors");
                switch (StyxWoW.Me.Specialization)
                {
                case WoWSpec.DeathKnightBlood:
                    if (_combat == null)
                    {
                        _combat = BloodDeathknight.BloodCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = BloodDeathknight.BloodCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = BloodDeathknight.BloodCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = BloodDeathknight.BloodPreCombatBuffs();
                    }
                    break;

                case WoWSpec.DeathKnightFrost:
                    if (_combat == null)
                    {
                        _combat = FrostDeathknight.FrostDKCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = FrostDeathknight.FrostDKCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = FrostDeathknight.FrostDKCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = FrostDeathknight.FrostDKPreCombatBuffs();
                    }
                    break;

                case WoWSpec.DeathKnightUnholy:
                    if (_combat == null)
                    {
                        _combat = UnholyDeathknight.UnholyDKCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = UnholyDeathknight.UnholyDKCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = UnholyDeathknight.UnholyDKCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = UnholyDeathknight.UnholyDKCombat();
                    }
                    break;

                case WoWSpec.DruidBalance:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.DruidFeral:
                    if (_combat == null)
                    {
                        _combat = FeralDruid.FeralCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = FeralDruid.FeralCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = FeralDruid.FeralCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = FeralDruid.FeralCombat();
                    }
                    break;

                case WoWSpec.DruidGuardian:
                    if (_combat == null)
                    {
                        _combat = GuardianDruid.GuardianCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = GuardianDruid.GuardianCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = GuardianDruid.GuardianCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = GuardianDruid.GuardianCombat();
                    }
                    break;

                case WoWSpec.DruidRestoration:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.HunterBeastMastery:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.HunterMarksmanship:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.HunterSurvival:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.MageArcane:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.MageFire:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.MageFrost:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.MonkBrewmaster:
                    if (_combat == null)
                    {
                        _combat = BrewmasterMonk.BrewmasterCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = BrewmasterMonk.BrewmasterPreCombatBuffs();
                    }
                    break;

                case WoWSpec.MonkMistweaver:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.MonkWindwalker:
                    if (_combat == null)
                    {
                        _combat = WindwalkerMonk.WindwalkerCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = WindwalkerMonk.WindwalkerCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = WindwalkerMonk.WindwalkerCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = WindwalkerMonk.WindwalkerCombat();
                    }
                    break;

                case WoWSpec.PaladinHoly:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.PaladinProtection:
                    if (_combat == null)
                    {
                        _combat = ProtectionPaladin.ProtectionCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = ProtectionPaladin.ProtectionCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = ProtectionPaladin.ProtectionCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = ProtectionPaladin.ProtectionPreCombatBuffs();
                    }
                    break;

                case WoWSpec.PaladinRetribution:
                    if (_combat == null)
                    {
                        _combat = RetributionPaladin.RetributionCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = RetributionPaladin.RetributionCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = RetributionPaladin.RetributionCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = RetributionPaladin.RetributionPreCombatBuffs();
                    }
                    break;

                case WoWSpec.PriestDiscipline:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.PriestHoly:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.PriestShadow:
                    if (_combat == null)
                    {
                        _combat = ShadowPriest.ShadowCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = ShadowPriest.ShadowCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = ShadowPriest.ShadowCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = ShadowPriest.ShadowPreCombatBuffs();
                    }
                    break;

                case WoWSpec.RogueAssassination:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.RogueCombat:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.RogueSubtlety:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.ShamanElemental:
                    if (_combat == null)
                    {
                        _combat = ElementalShaman.ElementalCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = ElementalShaman.ElementalCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = ElementalShaman.ElementalCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = ElementalShaman.ElementalCombat();
                    }
                    break;

                case WoWSpec.ShamanEnhancement:
                    if (_combat == null)
                    {
                        _combat = EnhancementShaman.EnhancementCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = EnhancementShaman.EnhancementCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = EnhancementShaman.EnhancementCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = EnhancementShaman.EnhancementPreCombatBuffs();
                    }
                    break;

                case WoWSpec.ShamanRestoration:
                    if (_combat == null)
                    {
                        _combat = RestorationShaman.RestorationCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = RestorationShaman.RestorationCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = RestorationShaman.RestorationCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = RestorationShaman.RestorationPreCombatBuffs();
                    }
                    break;

                case WoWSpec.WarlockAffliction:
                    if (_combat == null)
                    {
                        _combat = AfflictionWarlock.AfflictionCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = AfflictionWarlock.AfflictionPull();
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = AfflictionWarlock.AfflictionPreCombatBuffs();
                    }
                    break;

                case WoWSpec.WarlockDemonology:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.WarlockDestruction:
                    if (_combat == null)
                    {
                        _combat = null;
                    }
                    if (_pull == null)
                    {
                        _pull = null;
                    }
                    if (_heal == null)
                    {
                        _heal = null;
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = null;
                    }
                    break;

                case WoWSpec.WarriorArms:
                    Logging.Write("WoWSpec Arms");
                    if (_combat == null)
                    {
                        _combat = ArmsWarrior.ArmsCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = ArmsWarrior.ArmsPull();
                    }
                    if (_heal == null)
                    {
                        _heal = ArmsWarrior.ArmsCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = ArmsWarrior.ArmsPreCombatBuffs();
                    }
                    break;

                case WoWSpec.WarriorFury:
                    Logging.Write("WoWSpec Fury");
                    if (_combat == null)
                    {
                        _combat = FuryWarrior.FuryCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = FuryWarrior.FuryPull();
                    }
                    if (_heal == null)
                    {
                        _heal = FuryWarrior.FuryCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = FuryWarrior.FuryPreCombatBuffs();
                    }
                    break;

                case WoWSpec.WarriorProtection:
                    if (_combat == null)
                    {
                        _combat = ProtectionWarrior.ProtCombat();
                    }
                    if (_pull == null)
                    {
                        _pull = ProtectionWarrior.ProtCombat();
                    }
                    if (_heal == null)
                    {
                        _heal = ProtectionWarrior.ProtCombat();
                    }
                    if (_preCombatBuffs == null)
                    {
                        _preCombatBuffs = ProtectionWarrior.ProtPreCombatBuffs();
                    }
                    break;
                }
            }
        }