public static void Generate(WeakAura wa) { var restoration = new RestorationShaman(); var builder = new SpecBuilder(ClassSpec.RestorationShaman); builder.AddOverflow( restoration.EarthElemental.Buff(), restoration.AstralShift.Buff(), restoration.Heroism.Buff(), restoration.Hex.DeBuff(), restoration.LavaBurst, restoration.EarthgrabTotem ).AddRightBar( restoration.HealingTideTotem.Buff(), restoration.ManaTideTotem.Buff(), restoration.SpiritLinkTotem.Buff(), restoration.Ascendance.Buff(), // T7 restoration.WindRushTotem.Buff(), // T6 restoration.SpiritwalkersGrace.Buff() ).AddCoreRotation( // todo: track charges! restoration.EarthShield.Buff(), restoration.HealingRain.Buff(), restoration.Riptide.Buff(), restoration.UnleashLife.Buff(), // T1 restoration.SurgeOfEarth, restoration.Downpour, // T6 restoration.Wellspring // restoration.CloudburstTotem, // T6 (replaces Healing Stream totem) ).AddCoreCooldowns( restoration.EarthenWallTotem.Buff(), // T4 restoration.AncestralProtectionTotem.Buff() // T4 ).AddBottomBar( restoration.EarthbindTotem.Buff(), restoration.CapacitorTotem.Buff(), restoration.HealingStreamTotem.Buff(), restoration.TremorTotem.Buff(), restoration.WindShear, restoration.Purge, restoration.PurifySpirit ).AddTopBar( restoration.FrostShock.Passive().Buff(), // todo: will this only show up when it's been used? (also enhancement) restoration.NaturesGuardian.Passive().Buff(), restoration.HighTide.Passive().Buff() ).AddAlerts( restoration.WaterWalking.Passive().Buff(), restoration.WaterShield.Passive().MissingBuff() ).Build(wa); }
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; } } }