本文整理汇总了C#中Attack.SetAffectsRoles_Healers方法的典型用法代码示例。如果您正苦于以下问题:C# Attack.SetAffectsRoles_Healers方法的具体用法?C# Attack.SetAffectsRoles_Healers怎么用?C# Attack.SetAffectsRoles_Healers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Attack
的用法示例。
在下文中一共展示了Attack.SetAffectsRoles_Healers方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Ragnaros
public Ragnaros()
{
// If not listed here use values from defaults
#region Info
Name = "Ragnaros";
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
// Rag "dies" at 10% on normal (goes back under the lava).
// Apparently Rag heals to about 50% once he hits phase 4 and starts moving around the platform
// So for heroic his health is 90% to phase 4 and 50% while in Phase 4 so 140% health
Health = new float[] { 50246820f * 0.9f, 150740464f * 0.9f, 74200000f * 1.40f, 246910064f * 1.40f, 0 }; // TODO: Double check Heroic 10-man health
MobType = (int)MOB_TYPES.ELEMENTAL;
BerserkTimer = new int[] { 18 * 60, 18 * 60, 18 * 60, 18 * 60, 0 };
SpeedKillTimer = new int[] { 5 * 60, 8 * 60, 12 * 60, 12 * 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[] { 2, 5, 2, 3, 0 };
TimeBossIsInvuln = new float[] { 45f * 2f, 45f * 2f, (45 * 2f) + 14f, (45 * 2f) + 14f, 0 }; // Assume 45 seconds during each phase transition, and 14 seconds going into phase 4
Under35Perc = new double[] { 0.166666667, 0.166666667, 0.214285714, 0.214285714, 0 };
Under20Perc = new double[] { 0.122222222, 0.122222222, 0.221428571, 0.221428571, 0 };
#endregion
#region Offensive
//MaxNumTargets = new double[] { 1, 1, 0, 0 };
//MultiTargsPerc = new double[] { 0.00d, 0.00d, 0.00d, 0.00d };
#region Attacks
for (int i = 0; i < 4; i++)
{
Phase ByFirebePurged = new Phase() { Name = "By Fire be Purged!" }; // Phase 1
Phase Intermission1 = new Phase() { Name = "Intermission: Minions of Fire!" }; // Intermission 1
Phase SulfuaswillbeYourEnd = new Phase() { Name = "Sulfuras will be Your End!" }; // Phase 2
Phase Intermission2 = new Phase() { Name = "Intermission: Denizens of Flame!" }; // Intermission 2
Phase BegoneFrommyRealm = new Phase() { Name = "Begone From my Realm!" }; // Phase 3
Phase Intermission3 = new Phase() { Name = "Ah! Outsiders! This is not your Realm!" }; // Intermission 3
Phase TheTruePoweroftheFireLord = new Phase() { Name = "The True Power of the Fire Lord!" }; // Heroic Only
float IntermissionLength = 45f;
float Intermission3Length = 14f;
float phase1to3Length = (BerserkTimer[i] - (45f * 2) - (i > 1 ? Intermission3Length : 0f)) * (i < 2 ? (1f / 3f) : (3f / 14f));
float phase4Length = (BerserkTimer[i] - (45f * 2) - Intermission3Length) * (5f / 14f);
Attack melee = GenAStandardMelee(this[i].Content);
melee.DamagePerHit *= 1.25f;
ByFirebePurged.Attacks.Add(melee);
SulfuaswillbeYourEnd.Attacks.Add(melee);
BegoneFrommyRealm.Attacks.Add(melee);
TheTruePoweroftheFireLord.Attacks.Add(melee);
#region By Fire be Purged!
#region Sulfuras Smash
/*Ragnarose faces a random player and begins prepares to smash Sulfuras on the platform. The
* impact creates several Lava Waves which move out in several directions from the point of
* impact.*/
// 10 man - http://ptr.wowhead.com/spell=98708
// 25 man - http://ptr.wowhead.com/spell=100256
// 10 man heroic - http://ptr.wowhead.com/spell=100257
// 25 man heroic - http://ptr.wowhead.com/spell=100258
// Melee should need to worry about this since they are positioned behind the attack zone thus missing the attack
// This should never be hit by the player
#region Lava Wave
/* A Lava Wave inflicts 87871 to 92379 Fire damage and knocks back all players it passes
* through. Targets who are knocked back suffer an additional 25106 to 26394 Fire damage
* every 1 sec for 5 sec.*/
// 10 man - http://ptr.wowhead.com/spell=98928
// 25 man - http://ptr.wowhead.com/spell=100292
// 10 man heroic - http://ptr.wowhead.com/spell=100293
// 25 man heroic - http://ptr.wowhead.com/spell=100294
// This SHOULD NEVER happen
// Iv anything it should be a movement to move around the attack
Impedance LavaWave_Move = new Impedance
{
Name = "Lava Wave Move",
Duration = 2f * 1000f,
Chance = 0.20f, // Five possible spots it can hit, thus 20% chance it will hit in your area thus having to move
Frequency = 30f,
Breakable = false,
};
LavaWave_Move.SetAffectsRoles_Healers();
LavaWave_Move.AffectsRole[PLAYER_ROLES.RangedDPS] = true;
ByFirebePurged.Moves.Add(LavaWave_Move);
#endregion
#endregion
#region Wrath of Ragnaros
/* Ragnaros targets a player, inflicting 75318 to 79182 Fire damage to all players within 6 yards
* and knocking them back.
*
* *Warning* In 25 player raids, Ragnaros targets three players.*/
// 10 man - http://ptr.wowhead.com/spell=98263
// 25 man - http://ptr.wowhead.com/spell=100113
// 10 man heroic - http://ptr.wowhead.com/spell=100114
// 25 man heroic - http://ptr.wowhead.com/spell=100115
Attack WrathofRagnaros = new Attack
//.........这里部分代码省略.........
示例2: Bethtilac
//.........这里部分代码省略.........
Dodgable = false,
Parryable = false,
Blockable = false,
Missable = false,
SpellID = new float[] { 99463f, 100121f, 100832f, 100833f, 0f }[i],
};
BoilingSplatter.AffectsRole[PLAYER_ROLES.OffTank] = true;
TheCinderweb.Attacks.Add(BoilingSplatter);
#endregion
#region Cinderweb Drone Burning Acid
/* Burning Acid
* The Cinderweb Drone 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=99934
// 25 man - http://ptr.wowhead.com/spell=100829
// 10 man heroic - http://ptr.wowhead.com/spell=100830
// 25 man heroic - http://ptr.wowhead.com/spell=100831
Attack DroneBurningAcid = new Attack
{
Name = "Cinderweb Drone: Burning Acid",
DamagePerHit = new float[] { (14419f + 16179f), (16022f + 17976f), (20612f + 23126f), (26347f + 29561f), 0f }[i],
DamageType = ItemDamageType.Fire,
AttackSpeed = 8f,
IsFromAnAdd = true,
MaxNumTargets = 1,
Dodgable = false,
Parryable = false,
Blockable = false,
Missable = false,
SpellID = new float[] { 99934f, 100829f, 100830f, 100831f, 0f }[i],
};
DroneBurningAcid.SetAffectsRoles_DPS();
DroneBurningAcid.SetAffectsRoles_Healers();
DroneBurningAcid.AffectsRole[PLAYER_ROLES.OffTank] = true;
TheCinderweb.Attacks.Add(DroneBurningAcid);
#endregion
#region Fixate
/* Fixate [Heroic Only]
* The Cinderweb Drone fixates on a random player, ignoring all others.*/
// Two different ids used
// http://www.wowhead.com/spell=99526
if (i > 1)
{
Attack DroneFixate = DroneMelee.Clone();
DroneFixate.DamagePerHit *= .25f;
DroneFixate.Duration = 10f;
DroneFixate.SpellID = 99526f;
DroneFixate.SetAffectsRoles_DPS();
DroneFixate.SetAffectsRoles_Healers();
TheCinderweb.Attacks.Add(DroneFixate);
}
#endregion
#endregion
#region Cinderweb Spiderling
/* These tiny spiders climb out of caves below the Cinderweb. They instinctively move towards
* Cinderweb Drones for protection. Cinderweb Spiderlings can be consumed by larger spiders in order
* to restore some of their health.*/
// http://www.wowhead.com/npc=52447
TargetGroup CinderwebSpiderling = new TargetGroup
{
Name = "Cinderweb Spiderling",
NearBoss = false,
NumTargs = 10f,
示例3: MajordomoStaghelm
//.........这里部分代码省略.........
MTMeleeTemp = MTMelee0Stacks.Clone();
MTMeleeTemp.Name = "Main Taink Melee - Eleven Stacks";
MTMeleeTemp.DamagePerHit *= 2.10f;
CatPhase6.Attacks.Add(MTMeleeTemp);
#endregion
#region Concentration [Heroic Only]
/* Each player who engages Fandral on heroic difficulty is granted a Concentration power bar.
* This bar fills over time, increasing damage and healing done by 25% for every 25 Concentration
* up to 100. Players hit by a damaging attack or spell will lose all currently accumulated
* Concentration.*/
// http://ptr.wowhead.com/spell=98229
// Uncommon (25%) - http://ptr.wowhead.com/spell=98254
// Rare (50%) - http://ptr.wowhead.com/spell=98254
// Epic (75%) - http://ptr.wowhead.com/spell=98252
// Legendary (100%) - http://ptr.wowhead.com/spell=98245
Stats ConcentrationStat = new Stats();
SpecialEffect ConcentrationSpecialEffect = new SpecialEffect ( Trigger.Use, new Stats() { BonusDamageMultiplier = 0.25f, BonusHealingDoneMultiplier = 0.25f }, BerserkTimer[i], 5f, 1, 4 );
ConcentrationStat.AddSpecialEffect(ConcentrationSpecialEffect);
if (i > 1)
{
BuffState Concentration = new BuffState
{
Name = "Concentration",
Frequency = 1f,
Duration = BerserkTimer[i] * 1000f,
Chance = 1f,
Breakable = false,
Stats = ConcentrationStat,
};
// Do to the fact that this only triggers when NOT getting hit, the tank will not be able to gain any stacks
Concentration.SetAffectsRoles_DPS();
Concentration.SetAffectsRoles_Healers();
ShapeshiftingPhase1.BuffStates.Add(Concentration);
ShapeshiftingPhase2.BuffStates.Add(Concentration);
ShapeshiftingPhase3.BuffStates.Add(Concentration);
ShapeshiftingPhase4.BuffStates.Add(Concentration);
ShapeshiftingPhase5.BuffStates.Add(Concentration);
ShapeshiftingPhase6.BuffStates.Add(Concentration);
}
#endregion
#region Behold the Rage of the Firelands!
/* Fandral transforms into a Cat when his enemies are not clustered together or into a Scorpion when
* 7 or more of his enemies are clustered together.*/
#region Cat Form
// Fandral transforms into a Cat when his enemies are not clustered together.
// http://db.mmo-champion.com/c/53145/
#region Leaping Flames
/* Fandral leaps at an enemy, inflicting 36404 to 40846 Fire damage in a small area and
* creating a Spirit of the Flame. This attack costs 100 energy.*/
// 10 man - http://ptr.wowhead.com/spell=98535
// 25 man - http://ptr.wowhead.com/spell=100206
// 10 man heroic - http://ptr.wowhead.com/spell=100207
// 25 man heroic - http://ptr.wowhead.com/spell=100208
// Move but assume the person get hit with four ticks of the AOE
Impedance LeapingFlames_Move = new Impedance
{
Name = "Leaping Flames Movement",
Duration = 2f * 1000f,
Frequency = SevenStackAverageLength,
Chance = 1f / Max_Players[i],
Breakable = false,
示例4: Shannox
//.........这里部分代码省略.........
Before30Pct.Attacks.Add(JaggedTear);
After30Pct.Attacks.Add(JaggedTear);
#endregion
#endregion
#region Hurl Spear
/* Shannox hurls his spear in the direction of his hound, Riplimb. The spear deals 117000 to
* 123000 physical damage to anyone it strikes directly as well as 59546 to 69204 Fire damage to
* all enemies within 50 yards. The spear strike also triggers a cascade of molten eruptions around the
* impact point which deal 61156 to 67594 Fire damage to enemies that are caught in them.
*
* Riplimb will then break off from combat, fetch the spear, and return it to Shannox.*/
// http://ptr.wowhead.com/spell=100002
// Should NEVER get hit by this, one should move away from the landing spot
/*Attack HurlSpear = new Attack
{
Name = "Hurl Spear",
AttackSpeed = 25f, // Timing is a rough estimate currently.
AttackType = ATTACK_TYPES.AT_AOE,
DamagePerHit = (99450f + 104550f) / 2f,
MaxNumTargets = Max_Players[i],
DamageType = ItemDamageType.Physical,
SpellID = 100002,
};*/
Impedance HurlSpear_Move = new Impedance
{
Name = "Hurl Spear Move",
Breakable = false,
Chance = 1f,
Frequency = 20f,
Duration = 2f * 1000f,
};
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();