当前位置: 首页>>代码示例>>C#>>正文


C# Attack.SetAffectsRoles_All方法代码示例

本文整理汇总了C#中Attack.SetAffectsRoles_All方法的典型用法代码示例。如果您正苦于以下问题:C# Attack.SetAffectsRoles_All方法的具体用法?C# Attack.SetAffectsRoles_All怎么用?C# Attack.SetAffectsRoles_All使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Attack的用法示例。


在下文中一共展示了Attack.SetAffectsRoles_All方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: LordRhyolith

        public LordRhyolith()
        {
            // If not listed here use values from defaults
            #region Info
            Name = "Lord Rhyolith";
            Instance = "Firelands";
            Content = new BossHandler.TierLevels[] { BossHandler.TierLevels.T12_10, BossHandler.TierLevels.T12_25, BossHandler.TierLevels.T12_10H, BossHandler.TierLevels.T12_25H, BossHandler.TierLevels.T12_LFR };
            #endregion
            #region Basics
            // Lord Rhyolith has three parts, Left Leg, Right Leg, Chest
            // Legs health are tied together
            // All three have low health, however they start out with an 80% damage
            // reduction applied to them.
            Health = new float[] { 13100001f, 40000000f, 20000000f, 60000004f, 0 };
            MobType = (int)MOB_TYPES.ELEMENTAL;
            // Assume people can withstand being in Superheaded for 1 minute
            // Superheated happens after 6 minutes on normal and 5 minutes on heroic
            BerserkTimer = new int[] { 480, 480, 400, 400, 0 };
            SpeedKillTimer = new int[] { 5 * 60, 5 * 60, 5 * 60, 5 * 60, 0 };
            InBackPerc_Melee = new double[] { 0.95f, 0.95f, 0.95f, 0.95f, 0 };
            InBackPerc_Ranged = new double[] { 0.00f, 0.00f, 0.00f, 0.00f, 0 };
            Max_Players = new int[] { 10, 25, 10, 25, 0 };
            Min_Tanks = new int[] { 1, 1, 2, 2, 0 }; // Most guilds will only use 1 tank for the adds on normal, 2 on heroic.
            Min_Healers = new int[] { 2, 5, 3, 5, 0 };
            #endregion
            #region Offensive
            #region Attacks
            for (int i = 0; i < 4; i++)
            {
                Phase ObsidianForm = new Phase() { Name = "Stage One: Nuisances, Nuisances!" };
                Phase LiquidForm = new Phase() { Name = "Stage Two: Now you will BURN!" };

                // He doesn't have a default melee attack during Obsidian Form (p1)

                #region Obsidian Form
                /* Lord Rhyolith ignores players while his armor is intact, but they can attack his feet to
                 * control his movement.*/

                #region Obsidian Armor
                /* Lord Rhyolish awakens encrusted in a thick coat of Obsidian Armor, which reduces all damage
                 * he takes by 80%. Lord Rhyolith's Obsidian Armor is reduced every time he steps on an active
                 * volcano.
                 * 
                 * *Warning* When damaged, Lord Rhyolith's armor comes to life. If not killed, it will restore
                 * 1% of his armor.*/
                // http://ptr.wowhead.com/spell=98632
                Stats ObsidianArmor = new Stats();
                ObsidianArmor.BonusDamageMultiplier = -0.80f;
                BuffState ObsidianArmorBuffState;
                float superheated = 0f;
                if (i < 2)
                {
                    superheated = 6f * 60f;
                    int StacksNormal = 80 / 16;
                    SpecialEffect ObsidianArmorSpecialEffectNormal = new SpecialEffect(Trigger.Use, new Stats() { BonusDamageMultiplier = 0.16f, }, superheated, superheated / StacksNormal, 1f, StacksNormal);
                    ObsidianArmor.AddSpecialEffect(ObsidianArmorSpecialEffectNormal);
                }
                else
                {
                    superheated = 5f * 60f;
                    int StacksHeroic = 80 / 10;
                    SpecialEffect ObsidianArmorSpecialEffectHeroic = new SpecialEffect(Trigger.Use, new Stats() { BonusDamageMultiplier = 0.10f, }, superheated, superheated / StacksHeroic, 1f, StacksHeroic);
                    ObsidianArmor.AddSpecialEffect(ObsidianArmorSpecialEffectHeroic);
                }
                ObsidianArmorBuffState = new BuffState
                {
                    Name = "Obsidian Armor",
                    Chance = 1f,
                    Duration = superheated * 1000f,
                    Frequency = BerserkTimer[i] - 1f,
                    Breakable = false,
                    Stats = ObsidianArmor,
                };
                ObsidianArmorBuffState.SetAffectsRoles_All();
                ObsidianForm.BuffStates.Add(ObsidianArmorBuffState);
                #endregion

                #region Liquid Obsidian
                /* The Liquid Obsidian attempts to move within 5 yards of Lord Rhyolith, then use the Fuse
                 * ability on him.*/
                // http://db.mmo-champion.com/c/52619/liquid-obsidian/ (Elemental)
                // Only happens on heroic
                if (i > 1)
                {
                    TargetGroup LiquidObsidian = new TargetGroup
                    {
                        Name = "Liquid Obsidian",
                        NumTargs = 5,
                        LevelOfTargets = 85,
                        Frequency = (5f * 60f) / 8f, // all 40 should be released by the 5 minute mark
                        Duration = 20f * 1000f,
                    };
                    LiquidObsidian.SetAffectsRoles_DPS();
                    ObsidianForm.Targets.Add(LiquidObsidian);

                    #region Fuse
                    /* Fuse
                     * The Liquid Obsidian fuses to Lord Rhyolith granting him an additional 1% of damage reduction.*/
                    // http://ptr.wowhead.com/spell=99875
                    // This should not happen
//.........这里部分代码省略.........
开发者ID:LucasPeacecraft,项目名称:rawr,代码行数:101,代码来源:BossesT12.cs

示例2: Alizabal


//.........这里部分代码省略.........
                    Breakable = false,
                    Stats = new Stats() { DamageTakenReductionMultiplier = -1f },
                };
                SkewerMTBuffState.SetAffectsRoles_Tanks();
                Phase1.BuffStates.Add(SkewerMTBuffState);
                #endregion
                #endregion

                #region Seething Hate
                // Alizabal incites Seething Hate on a random target causing 100,000 damage to all players within
                // 6 yards, splitting the damage between everyone hit.
                // Attack is a dot that hits for every 3 seconds lasting 9 seconds.
                // Raid stacks up to spread the damage
                // 10-man - http://ptr.wowhead.com/spell=105069
                // 25-man - http://ptr.wowhead.com/spell=108094
                Attack SeethingHate = new Attack
                {
                    Name = "Seething Hate",
                    SpellID = new float[] { 105069, 108094, 0, 0, 0 }[i],
                    IsDoT = true,
                    // From videos watched, it only appeares to affect range dps and healers.
                    AttackType = ATTACK_TYPES.AT_AOE,
                    DamageType = ItemDamageType.Shadow,
                    Duration = 9f,
                    TickInterval = 3f,
                    DamagePerTick = (new float[] { (195000f + 205000f), (585000f + 615000f), 0, 0, 0 }[i] / 2f) / Max_Players[i],
                    // Need verification on how many are hit.
                    MaxNumTargets = Max_Players[i],
                    // Need verification on timing, but there is a dummy effect with an 8 second cooldown
                    // Based on early videos, it appears that it has a 20-21 second cooldown
                    AttackSpeed = 20f,
                };
                SeethingHate.SetUnavoidable();
                SeethingHate.SetAffectsRoles_All();
                Phase1.Attacks.Add(SeethingHate);
                #endregion

                #region Blade Dance
                // Alizabal enters a Blade Dance inflicting 10,000 physical damage every second to all players
                // withing 15 yards. In addition, during Blade Dance all incoming attacks are reflected. 
                // http://ptr.wowhead.com/spell=104994
                // Performed once a minute for 15 second
                Attack BladeDance = new Attack
                {
                    Name = "Blade Dance",
                    SpellID = 104994f,
                    DamagePerTick = new float[] { 10000, 10000, 0, 0 }[i],
                    IsDoT = true,
                    TickInterval = 1f,
                    DamageType =  ItemDamageType.Physical,
                    AttackSpeed = 5f,
                    // Besides the initial whirlwind that hits everyone, you want to have at most 20% of the raid
                    // getting hit with this
                    MaxNumTargets = Max_Players[i] * 0.20f,
                    AttackType = ATTACK_TYPES.AT_AOE,
                    Duration = 5f * 1000f,
                };
                BladeDance.SetAffectsRoles_All();
                Phase2.Attacks.Add(BladeDance);

                BuffState BladeDance_Hit_Reduction = new BuffState
                {
                    Name = "Blade Dance Hit Reduction",
                    Duration = 15f * 1000,
                    Frequency = 15f,
                    Chance = 1f,
开发者ID:LucasPeacecraft,项目名称:rawr,代码行数:67,代码来源:BossesT13.cs

示例3: Ragnaros


//.........这里部分代码省略.........
                 * persists for the duration of the battle, and will trigger when stepped on, causing a Magma Trap
                 * Eruption.*/
                // http://ptr.wowhead.com/spell=98164
                // damage - http://ptr.wowhead.com/spell=98170
                // summons after damage - http://ptr.wowhead.com/npc=53086
                // Normal we are popping them immediatly on spawn
                // On Heroic we need to wait 45 seconds before popping the next trap.
                // That means on the bear minimum, we need to pop 4 traps in Phase 1 and 3 traps in phase 2
                
                #region Magma Trap Eruption
                /* When triggered, a Magma Trap erupts for 75318 to 79182 Fire damage to all enemies
                 * within the Firelands, and violently knocking the player who tripped the Magma Trap into the air.
                 * 
                 * *Heroic* An enemy that triggers a Magma Trap will take 50% additional fire damage from the Magma
                 * Trap Eruption for 45 sec. Stacks.*/
                // This means we cannot pop the next trap until the debuf wears off or 45 second cooldown
                // This debuff ONLY increases the damage of your next Magma Trap damage, not overall fire damage
                /* Eruption
                 * 10 man - http://ptr.wowhead.com/spell=98175
                 * 25 man - http://ptr.wowhead.com/spell=100106
                 * 10 man heroic - http://ptr.wowhead.com/spell=100107
                 * 25 man heroic - http://ptr.wowhead.com/spell=100108 */
                // Timers are adjusted by 16 seconds
                Attack MagmaTrapEruption = new Attack
                {
                    Name = "Magma Trap Eruption",
                    AttackSpeed = (phase1to3Length/ (phase1to3Length - 16f)) * (i < 2 ? 25f : 45f),
                    DamagePerHit = new float[] { (58500f + 61500f), (58500f + 61500f), (82875f + 87125f), (97500f + 102500f), 0f }[i] / 2f,
                    MaxNumTargets = Max_Players[i],
                    AttackType = ATTACK_TYPES.AT_AOE,
                    DamageType = ItemDamageType.Fire,
                    SpellID = new float[] { 98175, 100106, 100107, 100108, 0 }[i],
                };
                MagmaTrapEruption.SetAffectsRoles_All();
                ByFirebePurged.Attacks.Add(MagmaTrapEruption);

                Attack MagmaTrapEruptionPhase2 = MagmaTrapEruption.Clone();
                // At most 3 traps should be up during phase 2 on Heroic
                MagmaTrapEruptionPhase2.AttackSpeed = phase1to3Length / 3f;
                if (i > 1) { SulfuaswillbeYourEnd.Attacks.Add(MagmaTrapEruptionPhase2); }
                /* Vulnerability
                 * 10-man Heroic - http://ptr.wowhead.com/spell=100238
                 * 25-man heroic - http://ptr.wowhead.com/spell=100239 */
                // Not going to model this part since I'm factoring in the 45 second debuff into my attack speed
                #endregion
                #endregion

                #region Magma Blast
                /* Ragnaros blasts magma at his current target if he cannot reach and melee them, 
                 * inflicting 73125 to 76875 Fire damage and increasing Fire damage taken by 50% for 6 sec. */
                // http://ptr.wowhead.com/spell=98313
                // This should NEVER happen
                #endregion

                #region Burning Wound
                /* The attacks from Ragnaros open a Burning Wound, inflicting 3656 to 3843 Fire damage every 2 sec
                 * for 20 sec.  The wound causes the target's attacks to become infused with fire, causing a
                 * Burning Blast.*/
                // 10-man - http://ptr.wowhead.com/spell=99399
                // 25-man - http://ptr.wowhead.com/spell=101238
                // 10-man Heroic - http://ptr.wowhead.com/spell=101239
                // 25-man Heroic - http://ptr.wowhead.com/spell=101240
                // 5 second cooldown on application
                // Only allow 4 stacks to be applied
                float BurningWoundDamage = new float[] { (3656f + 3843f), (3656f + 3843f), (5386f + 5663f), (5386f + 5663f), 0f }[i] / 2f;
                Attack BurningWound = new Attack
开发者ID:LucasPeacecraft,项目名称:rawr,代码行数:67,代码来源:BossesT12.cs

示例4: MajordomoStaghelm


//.........这里部分代码省略.........
                CatPhase2.Attacks.Add(LeapingFlames_temp);

                LeapingFlames_temp = LeapingFlames.Clone();
                LeapingFlames_temp.DamagePerTick *= 1.50f;
                CatPhase3.Attacks.Add(LeapingFlames_temp);

                LeapingFlames_temp = LeapingFlames.Clone();
                LeapingFlames_temp.DamagePerTick *= 1.70f;
                CatPhase4.Attacks.Add(LeapingFlames_temp);

                LeapingFlames_temp = LeapingFlames.Clone();
                LeapingFlames_temp.DamagePerTick *= 1.90f;
                CatPhase5.Attacks.Add(LeapingFlames_temp);

                LeapingFlames_temp = LeapingFlames.Clone();
                LeapingFlames_temp.DamagePerTick *= 2.10f;
                CatPhase6.Attacks.Add(LeapingFlames_temp);
                #endregion

                #region Spirit of the Flame
                // These small burning cats attack enemeis until defeated.
                // http://ptr.wowhead.com/npc=52593
                TargetGroup SpiritOfTheFlame = new TargetGroup
                {
                    Name = "Spirit of the Flame",
                    LevelOfTargets = 85,
                    Chance = 1f,
                    NearBoss = true,
                    NumTargs = 1f,
                    TargetID = 52593,
                    Duration = SevenStackAverageLength * 1000f,
                    Frequency = SevenStackAverageLength,
                };
                SpiritOfTheFlame.SetAffectsRoles_All();
                CatPhase1.Targets.Add(SpiritOfTheFlame);
                CatPhase2.Targets.Add(SpiritOfTheFlame);
                CatPhase3.Targets.Add(SpiritOfTheFlame);
                CatPhase4.Targets.Add(SpiritOfTheFlame);
                CatPhase5.Targets.Add(SpiritOfTheFlame);
                CatPhase6.Targets.Add(SpiritOfTheFlame);

                Attack SpiritOfTheFlameMelee = new Attack
                {
                    Name = "Spirit Of The Flame Melee",
                    DamagePerHit = BossHandler.StandardMeleePerHit[(int)Content[i]] * .666f,
                    DamageType = ItemDamageType.Physical,
                    IsFromAnAdd = true,
                    MaxNumTargets = 1f,
                    AttackType = ATTACK_TYPES.AT_MELEE,
                    AttackSpeed = 1.8f,
                    Blockable = true,
                    Dodgable = true,
                    Missable = true,
                    Parryable = true,
                };
                SpiritOfTheFlameMelee.AffectsRole[PLAYER_ROLES.MainTank] = true;
                CatPhase1.Attacks.Add(SpiritOfTheFlameMelee);
                CatPhase2.Attacks.Add(SpiritOfTheFlameMelee);
                CatPhase3.Attacks.Add(SpiritOfTheFlameMelee);
                CatPhase4.Attacks.Add(SpiritOfTheFlameMelee);
                CatPhase5.Attacks.Add(SpiritOfTheFlameMelee);
                CatPhase6.Attacks.Add(SpiritOfTheFlameMelee);
                #endregion

                #region Adrenaline
                /* Fandral gains a stack of Adrenaline each time he performs Leaping Flames. Adrenaline
开发者ID:LucasPeacecraft,项目名称:rawr,代码行数:67,代码来源:BossesT12.cs

示例5: Bethtilac


//.........这里部分代码省略.........
                 * are not shielded by her web. */
                // http://ptr.wowhead.com/spell=99052
                Impedance Move_SmolderingDevastion = new Impedance
                {
                    Chance = Move_MeteorBurn.Chance,
                    Name = "Smoldering Devastation",
                    Duration = 8f * 1000f, // 5 seconds to jump down, and 3 second to get back up (about 7 seconds to taunt)
                    Frequency = 90,
                    Breakable = false,
                };
                Move_SmolderingDevastion.AffectsRole[PLAYER_ROLES.MainTank] = true;
                Move_SmolderingDevastion.AffectsRole[PLAYER_ROLES.MainTankHealer] = true;
                Move_SmolderingDevastion.AffectsRole[PLAYER_ROLES.MeleeDPS] = true;
                Devastation.Moves.Add(Move_SmolderingDevastion);
                #endregion
                #endregion

                #region Cinderweb Spinner
                /* These spiders dangle from the web above. Using Taunt or a similar ability on them will cause
                 * them to drop to the ground. Once killed, their filaments remain allowing players to climb up
                 * to the Cinderweb. */
                // http://ptr.wowhead.com/npc=52981; Beast
                TargetGroup CinderwebSpinner = new TargetGroup
                {
                    Name = "Cinderweb Spinner",
                    NearBoss = false,
                    NumTargs = new float[] { 2, 5, 2, 5, 0}[i],
                    // 3 groups drop after each devastation
                    Frequency = (Move_SmolderingDevastion.Frequency / 3f),
                    Duration = 10f * 1000f, // Assuming they last for only a few seconds since it's a taunt, and a couple swings.
                    TargetID = 52524,
                    LevelOfTargets = 85,
                };
                CinderwebSpinner.SetAffectsRoles_All();
                Devastation.Targets.Add(CinderwebSpinner);

                #region Cinderweb Spinner Burning Acid
                /* Burning Acid
                 * The Cinderweb Spinner spits burning venom at a random enemy, dealing 19016 to 21316 Fire damage. */
                // 12 different version with layering damage ranges posting the most probable with alts
                // 10 man - http://ptr.wowhead.com/spell=98471
                // 25 man - http://ptr.wowhead.com/spell=100826
                // 10 man heroic - http://ptr.wowhead.com/spell=100827
                // 25 man heroic - http://ptr.wowhead.com/spell=100828
                Attack BurningAcid = new Attack
                {
                    Name = "Cinderweb Spinner: Burning Acid",
                    DamagePerHit = new float[]{ (14420f + 16179f), (16022f + 17977f), (20612f + 23127f), (26347f + 29562f), 0f }[i],
                    DamageType = ItemDamageType.Fire,
                    AttackType = ATTACK_TYPES.AT_AOE,
                    // assume only one casts is cast per add before being taunted down
                    AttackSpeed = (Move_SmolderingDevastion.Frequency / 3f) / CinderwebSpinner.NumTargs,
                    IsFromAnAdd = true,
                    MaxNumTargets = CinderwebSpinner.NumTargs,
                    Dodgable = false,
                    Parryable = false,
                    Blockable = false,
                    Missable = false,
                };
                BurningAcid.SetAffectsRoles_All();
                Devastation.Attacks.Add(BurningAcid);
                #endregion

                #region Fiery Web Spin
                /* Fiery Web Spin [Heroic Only]
                 * The Cinderweb Spinner channels a web onto a random player, stunning them.*/
开发者ID:LucasPeacecraft,项目名称:rawr,代码行数:67,代码来源:BossesT12.cs

示例6: Shannox


//.........这里部分代码省略.........
                HurlSpear_Move.SetAffectsRoles_Healers();
                HurlSpear_Move.AffectsRole[PLAYER_ROLES.OffTank] = true;
                Before30Pct.Moves.Add(HurlSpear_Move);

                #region Magma Flare
                // The Initial 40% increase to fire damage, as well as the initial damage should never be aplied, but the residual damage should
                // 10-man - http://ptr.wowhead.com/spell=99842
                // 25-man - http://ptr.wowhead.com/spell=101205
                // 10-man Heroic - http://ptr.wowhead.com/spell=101206
                // 25-man heroic - http://ptr.wowhead.com/spell=101207
                /*Attack MagmaRapture = new Attack
                {
                    Name = "Magma Rapture",
                    AttackSpeed = 15f,
                    AttackType = ATTACK_TYPES.AT_MELEE,
                    DamagePerHit = new float[] { (64600f + 71400f), (64600f + 71400f), (100937f + 111562f), (100937f + 111562f), 0f }[i],
                    DamageType = ItemDamageType.Fire,
                    MaxNumTargets = 1f,
                    SpellID = new float[] { 99842, 101205, 101206, 101207, 0 }[i],
                };
                 */
                // http://ptr.wowhead.com/spell=100495
                Attack MagmaFlare = new Attack
                {
                    Name = "Magma Flare",
                    AttackSpeed = 45f,
                    AttackType = ATTACK_TYPES.AT_AOE,
                    DamagePerHit = (39312f + 45687f) / 2f,
                    DamageType = ItemDamageType.Fire,
                    MaxNumTargets = Max_Players[i],
                    SpellID = 100495,
                };
                MagmaFlare.SetUnavoidable();
                MagmaFlare.SetAffectsRoles_All();
                Before30Pct.Attacks.Add(MagmaFlare);
                After30Pct.Attacks.Add(MagmaFlare);
                #endregion
                #endregion
                #endregion

                #region Riplimb
                /* Shannox has two hounds. Riplimb will attack the target with the most threat.
                 * *Warning* In Heroic Difficulty, Riplimb cannot be permanently slain while his master lives. When
                 * his health reaches zero, he will collapse for up to 30 seconds, and then reanimate at full health to
                 * resume fighting.*/
                // http://db.mmo-champion.com/c/53694/
                TargetGroup Riplimb = new TargetGroup 
                { 
                    Name= "Riplimb",
                    // On normal, Riplimb should be the second dog to die, not the first
                    // Heroic, Riplimb stays alive the entire fight
                    Duration = BerserkTimer[i] * (i < 2 ? 0.7f : 1f) * 1000f,
                    Frequency = 1,
                    LevelOfTargets = 88,
                    NearBoss = false,
                    NumTargs = 1,
                    TargetID = 53694,
                };
                Riplimb.AffectsRole[PLAYER_ROLES.OffTank] = true;
                Before30Pct.Targets.Add(Riplimb);
                if (i > 1)
                    After30Pct.Targets.Add(Riplimb);

                #region Melee
                Attack BasicMeleeOT = new Attack
                {
开发者ID:LucasPeacecraft,项目名称:rawr,代码行数:67,代码来源:BossesT12.cs

示例7: Alysrazor

        public Alysrazor()
        {
            // If not listed here use values from defaults
            #region Info
            Name = "Alysrazor";
            Instance = "Firelands";
            Content = new BossHandler.TierLevels[] { BossHandler.TierLevels.T12_10, BossHandler.TierLevels.T12_25, BossHandler.TierLevels.T12_10H, BossHandler.TierLevels.T12_25H, BossHandler.TierLevels.T12_LFR };
            Comment = "Not modeled in detail yet.";
            #endregion
            #region Basics
            Health = new float[] { 38651400f, 115954200f, 71892800f, 197122144f, 0 }; // TODO: double check 25-man normal and 10-man heroic health pool
            MobType = (int)MOB_TYPES.ELEMENTAL;
            // 3 full phases on Normal; 2 full phases on Heroic; or 15 minute enrage timer.
            BerserkTimer = new int[] { 15 * 60, 15 * 60, 15 * 60, 15 * 60, 0 };
            SpeedKillTimer = new int[] { 8 * 60, 8 * 60, 8 * 60, 8 * 60, 0 };
            InBackPerc_Melee = new double[] { 0.95f, 0.95f, 0.95f, 0.95f, 0 };
            InBackPerc_Ranged = new double[] { 0.00f, 0.00f, 0.00f, 0.00f, 0 };
            Max_Players = new int[] { 10, 25, 10, 25, 0 };
            Min_Tanks = new int[] { 2, 2, 2, 2, 0 };
            Min_Healers = new int[] { 3, 5, 3, 5, 0 };
            #endregion
            #region Offensive
            #region Attacks
            for (int i = 0; i < 4; i++)
            {
                Phase InitialPull = new Phase() { Name = "Initial Pull" };
                Phase FlightofFlames = new Phase() { Name = "Flight of Flames" };
                Phase FlightofFlamesPart2 = new Phase() { Name = "Flight of Flames" };
                Phase UltimateFirepower = new Phase() { Name = "Ultimate Firepower" };
                Phase Burnout = new Phase() { Name = "Burnout" };
                Phase ReIgnition = new Phase() { Name = "Re-Ignition" };

                //Mini-Phase variables
                Phase HatchlingPhase = new Phase() { Name = "Hatchlings" };
                Phase FireStormPhase = new Phase() { Name = "Firestorm Phase" };
                InnerPhase InnerPhaseHatchling, InnerPhaseFirestorm;

                float FlightofFlamesPhaseTime = new float[] { 190f, 190f, 250f, 250f, 0f }[i];
                float FirestormCD = new float[] { 0, 0, 83f, 83f, 0 }[i];
                float MeteorCD = new float[] { 0, 0, 37, 37, 0 }[i];
                float FieryTornadoDuration = 35f;
                float BurnoutDuration = 33f;
                float ReIgniteDuration = 50f / 3f;

                #region Initial Pull
                #region Initial Pull Firestorm
                /* Firestorm
                 * At the beginning of the battle, Alysrazor ascends into the sky dealing 30000 Fire damage to all
                 * enemies and knocking them back. In addition, Alysrazor will continue to deal 10000 Fire damage
                 * to all enemies every 1 seconds for 10 sec.*/
                // Initial damage
                // 10-man - http://ptr.wowhead.com/spell=99605
                // 25-man - http://ptr.wowhead.com/spell=101658
                // 10-man Heroic - http://ptr.wowhead.com/spell=101659
                // 25-man Heroic - http://ptr.wowhead.com/spell=101660
                // Addition damage - http://ptr.wowhead.com/spell=99606
                Attack InitialFirestorm = new Attack
                {
                    Name = "Initial Pull Firestorm",
                    AttackSpeed = BerserkTimer[i] - 1f,
                    AttackType = ATTACK_TYPES.AT_AOE,
                    DamageType = ItemDamageType.Fire,
                    Interruptable = false,
                    MaxNumTargets = Max_Players[i],
                    DamagePerHit = new float[] { 20000f, 20000f, 25000f, 25000f, 0 }[i],
                    DamagePerTick = 8000f,
                    IsDoT = true,
                    Duration = 10f * 1000f,
                    TickInterval = 1f,
                    SpellID = new float[] { 99605, 101658, 101659, 101660, 0 }[i],
                };
                InitialFirestorm.SetAffectsRoles_All();
                InitialPull.Attacks.Add(InitialFirestorm);
                #endregion

                #region Volcanic Fire
                /* Volcanic Fire
                 * A massive eruption creates patches of Fire which block escape from Alysrazor's domain. Volcanic
                 * Fire patches deal 92500 to 107500 Fire damage to enemies within 6 yards every 1 seconds.*/
                // http://ptr.wowhead.com/spell=98463
                // This should never be hit
                #endregion
                #endregion

                #region Flight of Flames
                /* Alysrazor flies around the area, allowing her minions to corner her foes far below. She will
                 * periodically fly through the center of the arena to claw at floes as well.*/

                #region Firestorm [Heroic Only]
                /* Alysrazor faces the center of the arena and kicks up a powerful, fiery wind. After 5 seconds,
                 * the arena is bathed in flames, dealing 100000 Fire damage every 1 seconds to all enemies within
                 * line of sight for 5 sec.*/
                // Initicial cast - http://ptr.wowhead.com/spell=100744
                // Actual Damage - http://ptr.wowhead.com/spell=100745
                // Personal Note - Stopping a Molten Meteor which is summoned by a Herald of the Burning End allows
                // people to Line of Sight the Firestorm damage, thus negating the damage (aka interuptable).
                // This should never be hit, but people should move on the cast part
                if (i > 1)
                {
                    /*Attack Firestorm = new Attack
//.........这里部分代码省略.........
开发者ID:LucasPeacecraft,项目名称:rawr,代码行数:101,代码来源:BossesT12.cs


注:本文中的Attack.SetAffectsRoles_All方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。