本文整理汇总了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 },
};
//.........这里部分代码省略.........
示例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
示例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,
示例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,