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


C# Attack.SetUnavoidable方法代码示例

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


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

示例1: Alizabal

        public Alizabal()
        {
            // If not listed here use values from defaults
            #region Info
            Name = "Alizabal, Mistress of Hate";
            Instance = "Baradin Hold";
            Content = new BossHandler.TierLevels[] { BossHandler.TierLevels.T13_10, BossHandler.TierLevels.T13_25, BossHandler.TierLevels.T13_10H, BossHandler.TierLevels.T13_25H, BossHandler.TierLevels.T13_LFR };
            #endregion
            #region Basics
            Health = new float[] { 25166000f, 80900000f, 0, 0, 0 };
            MobType = (int)MOB_TYPES.DEMON;
            // 5 minute Berserk timer
            BerserkTimer = new int[] { 5 * 60, 5 * 60, 0, 0, 0 };
            SpeedKillTimer = new int[] { 3 * 60, 3 * 60, 0, 0, 0 };
            InBackPerc_Melee = new double[] { 0.95f, 0.95f, 0, 0, 0 };
            InBackPerc_Ranged = new double[] { 0.00f, 0.00f, 0, 0, 0 };
            Max_Players = new int[] { 10, 25, 0, 0, 0 };
            Min_Tanks = new int[] { 2, 2, 0, 0, 0 };
            Min_Healers = new int[] { 3, 5, 0, 0, 0 };
            TimeBossIsInvuln = new float[] { 5f * 15f, 5f * 15f, 0, 0, 0 };
            #endregion
            #region The Phases
            for (int i = 0; i < 2; i++)
            {
                Phase Phase1 = new Phase() { Name = "Phase 1: Soaking" };
                Phase Phase2 = new Phase() { Name = "Phase 2: Blade Dance" };

                #region MT and OT Melee Swapping
                // MT and OT tank swap
                // Each should take half of the total damage
                // does not melee during Firestorm
                Attack MTMelee = new Attack
                {
                    Name = "MT Melee",
                    AttackType = ATTACK_TYPES.AT_MELEE,
                    IsTheDefaultMelee = true,
                    DamageType = ItemDamageType.Physical,
                    DamagePerHit = BossHandler.StandardMeleePerHit[(int)Content[i]],
                    MaxNumTargets = 1f,
                    AttackSpeed = 5f,
                    IsDualWielding = true,
                };
                MTMelee.AffectsRole[PLAYER_ROLES.MainTank] = true;
                Phase1.Attacks.Add(MTMelee);

                Attack OTMelee = MTMelee.Clone();
                OTMelee.Name = "OT Melee";
                OTMelee.AffectsRole[PLAYER_ROLES.MainTank] = false;
                OTMelee.AffectsRole[PLAYER_ROLES.OffTank] = true;
                Phase1.Attacks.Add(OTMelee);
                #endregion

                #region Skewer
                // Alizabal skewers her current target, stunning them. In addition, Skewer inflicts 20,000 damage 
                // every second and increases damage taken by 100%.
                // http://ptr.wowhead.com/spell=104936
                // Tanks switch every 10 seconds so minimize any extra damage the tank gets while stunned.
                // TODO: double check attack speed of the attack
                #region Main Attack
                Attack SkewerMainTank = new Attack
                {
                    Name = "Skewer",
                    SpellID = 104936,
                    DamageType = ItemDamageType.Physical,
                    AttackType = ATTACK_TYPES.AT_MELEE,
                    DamagePerTick = (18000f + 22000f) / 2f,
                    IsDoT = true,
                    Duration = 8f,
                    TickInterval = 1f,
                    MaxNumTargets = 1f,
                    // Based on early videos, it appears that the boss applies this every 20 second per tank
                    AttackSpeed = 40f,
                };
                SkewerMainTank.SetUnavoidable();
                SkewerMainTank.SetAffectsRoles_Tanks();
                Phase1.Attacks.Add(SkewerMainTank);
                #endregion

                #region Stun
                Impedance SkewerMTImpedance = new Impedance
                {
                    Name = "Skewer Stun",
                    Chance = 1f,
                    Duration = SkewerMainTank.Duration,
                    Frequency = SkewerMainTank.AttackSpeed,
                };
                SkewerMTImpedance.SetAffectsRoles_Tanks();
                Phase1.Stuns.Add(SkewerMTImpedance);
                #endregion

                #region Increased Damage
                BuffState SkewerMTBuffState = new BuffState
                {
                    Name = "Skewer Increased Damage Taken",
                    Chance = 1f,
                    Duration = SkewerMainTank.Duration * 1000f,
                    Frequency = SkewerMainTank.AttackSpeed,
                    Breakable = false,
                    Stats = new Stats() { DamageTakenReductionMultiplier = -1f },
                };
//.........这里部分代码省略.........
开发者ID:LucasPeacecraft,项目名称:rawr,代码行数:101,代码来源:BossesT13.cs

示例2: Shannox


//.........这里部分代码省略.........
                HurlSpear_Move.AffectsRole[PLAYER_ROLES.RangedDPS] = true;
                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

示例3: LordRhyolith


//.........这里部分代码省略.........
                        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
                    #endregion
                }
                #endregion
                
                #region Concussive Stomp
                /* Concussive Stomp
                 * Lord Rhyolith smashes the ground, dealing 32375 to 37625 Fire damage to all players and
                 * knocking away targets within 20 yards. Each stomp creates two to three volcanoes.*/
                // 10 man - http://ptr.wowhead.com/spell=102306
                // 25 man - http://ptr.wowhead.com/spell=102307
                // 10 man heroic - http://ptr.wowhead.com/spell=102308
                // 25 man heroic - http://ptr.wowhead.com/spell=102309
                Attack ConcussiveStomp = new Attack
                {
                    Name = "Concussive Stomp",
                    DamagePerHit = new float[] { (32375f + 37625f), (32375f + 37625f), (42087f + 48912f), (42087f + 48912f), 0 }[i] / 2f,
                    AttackSpeed = 30,
                    AttackType = ATTACK_TYPES.AT_AOE,
                    DamageType = ItemDamageType.Fire,
                    SpellID = new float[] { 102306, 102307, 102308, 102309, 0 }[i],
                };
                ConcussiveStomp.SetUnavoidable();
                ConcussiveStomp.SetAffectsRoles_All();
                ObsidianForm.Attacks.Add(ConcussiveStomp);
                #endregion

                #region Drink Magma
                /* Drink Magma
                 * If Lord Rhyolith is ever permitted to reach the edge of his plateau, he will drink from the
                 * liquid magma, then deal 35000 fire damage to all players every second for 4 sec.*/
                // Drink = http://ptr.wowhead.com/spell=98034
                // Spit = http://ptr.wowhead.com/spell=99867
                // This should never happen
                #endregion

                #region Volcano
                /* Volcano
                 * Lord Rhyolith creates volcanoes when he stomps. Periodically, Lord Rhyolith will bring a
                 * volcano to life, causing it to deal 12000 Fire damage to 3 players every 2 sec. When struck,
                 * the player takes 5% additional Fire damage for 20 sec. Stacks up to 20 times.
                 * 
                 * *Warning* In 25 player raids, the Volcano does damage to 6 players.*/
                // http://ptr.wowhead.com/npc=52582

                #region Eruption
                // http://ptr.wowhead.com/spell=98492
                // You should only have 1 active volcano up at any given time
                // Assume the drivers can hit the volcanoes within 20 seconds
                Attack EruptionAttack = new Attack
                {
                    Name = "Eruption",
                    DamagePerTick = 12000f,
                    DamageType = ItemDamageType.Fire,
                    AttackType = ATTACK_TYPES.AT_AOE,
开发者ID:LucasPeacecraft,项目名称:rawr,代码行数:67,代码来源:BossesT12.cs

示例4: Alysrazor


//.........这里部分代码省略.........
                // is done to the Clawshapers, 34 seconds if the Clawshapers are interupted.
                #endregion

                #region Re-Ignition
                /* Alysrazor's fire becomes re-ignited at 50 Molten Power. This stage lasts until Alysrazor
                 * reaches 100 Molten Power.*/

                #region Ignited
                /* Alysrazor's fiery core begins to combust once again, rapidly restoring Molten Power. Restores
                 * 3 Molten Power every 1 seconds.*/
                // http://ptr.wowhead.com/spell=99922
                // Personal Note - This means that the phase will last 17 seconds
                #endregion

                #region Blazing Claw [Tank Note]
                /* Alysrazor claws her enemies, dealing 92500 to 107500 Physical damage to enemies in a 25-yard cone
                 * every 1.50 seconds. In addition, each swipe increases the Fire and Physical damage taken by the
                 * target by 10% for 15 sec.*/
                // 10-man - http://ptr.wowhead.com/spell=99844
                // 25-man - http://ptr.wowhead.com/spell=101729
                // 10-man Heroic - http://ptr.wowhead.com/spell=101730
                // 25-man Heroic - http://ptr.wowhead.com/spell=101731
                // Personal Note, this means that there needs to be a tank swap at the 5-6 stack mark
                Attack BlazingClaw = new Attack
                {
                    Name = "Blazing Claw",
                    DamagePerHit = new float[] { (69375f + 80625f), (83250f + 96750f), (92500f + 107500f), (115625f + 134375f), 0 }[i] / 2f,
                    AttackSpeed = 1.5f * 2,
                    AttackType = ATTACK_TYPES.AT_MELEE,
                    DamageType = ItemDamageType.Physical,
                    MaxNumTargets = 1f,
                    SpellID = new float[] { 99844, 101729, 101730, 101731, 0 }[i],
                };
                BlazingClaw.SetUnavoidable();
                BlazingClaw.SetAffectsRoles_Tanks();
                ReIgnition.Attacks.Add(BlazingClaw);

                Stats BlazingClawStats = new Stats();
                SpecialEffect BlazingClawSpecialEffect = new SpecialEffect(Trigger.Use, new Stats() { BossPhysicalDamageDealtReductionMultiplier = -0.10f, FireDamageTakenMultiplier = 0.10f }, 15, 1.5f, 0.5f, 11);
                BlazingClawStats.AddSpecialEffect(BlazingClawSpecialEffect);
                BuffState BlazingClawBuffState = new BuffState
                {
                    Name = "Blazing Claw Debuff",
                    Frequency = ReIgniteDuration,
                    Duration = ReIgniteDuration * 1000f,
                    Chance = 1f,
                    Breakable = false,
                    Stats = BlazingClawStats,
                };
                BlazingClawBuffState.SetAffectsRoles_Tanks();
                ReIgnition.BuffStates.Add(BlazingClawBuffState);
                #endregion

                #region Blazing Buffet
                /* Alysrazor's Fiery core emits powerful bursts of flame, dealing 9250 to 10750 Fire damage to all
                 * enemies every 1 seconds for as long as Alysrazor remains ignited.*/
                // 10 man - http://ptr.wowhead.com/spell=99757
                // 25 man - http://ptr.wowhead.com/spell=100739
                // 10 man heroic - http://ptr.wowhead.com/spell=100740
                // 25 man heroic - http://ptr.wowhead.com/spell=100741
                Attack BlazingBuffet = new Attack
                {
                    Name = "Blazing Buffet",
                    DamagePerHit = new float[] { (6937f + 8062f), (10406f + 12093f), (11793f + 13706f), (11793f + 13706f), 0 }[i] / 2f,
                    AttackSpeed = 1f,
                    DamageType = ItemDamageType.Fire,
开发者ID:LucasPeacecraft,项目名称:rawr,代码行数:67,代码来源:BossesT12.cs


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