Ejemplo n.º 1
0
        public static void CreatePriest(string playerName, string typeOfPriest)
        {
            List <Models.Action> actions = new List <Models.Action>();

            actions.Add(new FlashHeal("FLASH HEAL", Constants.BaseCooldown, Constants.PriestManaRegen, Constants.PriestSpellPower));
            if (typeOfPriest == "HOLY")
            {
                actions.Add(new Renew("RENEW", Constants.BaseCooldown, 200, 2, (int)(Constants.PriestSpellPower * 1.5)));
                actions.Add(new Serenity("SERENITY", Constants.BaseCooldown, 400, Constants.PriestSpellPower * 5));
                actions.Add(new PunishTheUnholy("PUNISH THE UNHOLY", Constants.BaseCooldown, 300, Constants.PriestSpellPower * 5));
                Hero holyPriest = new HolyPriest(playerName, Constants.PriestHealth, Constants.PriestHealthRegen
                                                 , actions, Constants.HeroBaseArmor, Constants.PriestMana, Constants.PriestManaRegen, Constants.PriestSpellPower);
                players.Add(holyPriest);
            }
            else if (typeOfPriest == "DISCIPLINE")
            {
                actions.Add(new Shield("POWER WORD: SHIELD", Constants.BaseCooldown, 200, 40));
                actions.Add(new Silence("SILENCE", Constants.BaseCooldown, 300));
                actions.Add(new PurgeTheWicked("PURGE THE WICKED", Constants.BaseCooldown, 300, Constants.PriestSpellPower * 5));
                Hero disciplinePriest = new DisciplinePriest(playerName, Constants.PriestHealth, Constants.PriestHealthRegen
                                                             , actions, Constants.HeroBaseArmor, Constants.PriestMana, Constants.PriestManaRegen, Constants.PriestSpellPower);
                players.Add(disciplinePriest);
            }
            else
            {
                actions.Add(new CurseOfDeath("CURSE OF DEATH", Constants.BaseCooldown, 150, 3, Constants.PriestSpellPower));
                actions.Add(new Sadism("SADISM", Constants.BaseCooldown, 300, 50, 30));
                actions.Add(new MindBlast("MIND BLAST", Constants.BaseCooldown, 300, Constants.PriestSpellPower * 4));
                Hero shadowPriest = new ShadowPriest(playerName, Constants.PriestHealth, Constants.PriestHealthRegen
                                                     , actions, Constants.HeroBaseArmor, Constants.PriestMana, Constants.PriestManaRegen, Constants.PriestSpellPower);
                players.Add(shadowPriest);
            }
        }
        public static void Generate(WeakAura wa)
        {
            var holy = new HolyPriest();

            var builder = new SpecBuilder(ClassSpec.HolyPriest);

            // todo: MindVision Alert

            builder.AddOverflow(
                // Glow when health < 50%?
                holy.DesperatePrayer,
                holy.Fade.Buff(),
                holy.AngelicFeather.AssociateAura(holy.BodyAndSoul),
                holy.LeapOfFaith,
                // How many dispels?
                holy.MassDispel,
                // How many hit by scream?
                holy.PsychicScream,
                holy.ShadowWordDeath,
                holy.ShiningForce.DeBuff()
                ).AddRightBar(
                // Cooldowns
                holy.DivineHymn.Buff(),
                holy.PowerInfusion.Buff(),
                holy.GuardianSpirit,
                holy.Apotheosis.Buff(),
                holy.HolyWordSalvation,
                holy.SymbolOfHope
                ).AddCoreRotation(
                holy.CircleOfHealing,
                holy.PrayerOfMending,
                holy.Halo,
                holy.DivineStar,
                holy.HolyWordSanctify,
                holy.HolyWordSerenity,
                holy.HolyWordChastise,
                holy.ShadowWordPain.DoT().Passive()
                ).AddCoreCooldowns(
                ).AddBottomBar(
                // discipline.PowerWordShield.AssociateAura(discipline.BodyAndSoul),
                holy.Purify
                ).AddTopBar(
                holy.Levitate.Passive().Buff(),
                holy.ShackleUndead.Passive().DeBuff(),
                holy.MindSoothe.Passive().DeBuff(),
                holy.PrayerCircle.Passive().Buff(),
                holy.Apotheosis.Passive().Buff(),
                holy.SurgeOfLight.Passive().Buff()
                ).AddAlerts(
                // Check part for the missing buff?
                holy.PowerWordFortitude.Passive().MissingBuff(),
                holy.MindControl.Passive().Buff(),
                holy.Apotheosis.Passive().Buff(),
                holy.SpiritOfRedemption.Passive().Buff()
                ).Build(wa);
        }