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 { Name = "Wrath of Ragnaros", AttackSpeed = 30f, AttackType = ATTACK_TYPES.AT_AOE, DamageType = ItemDamageType.Fire, DamagePerHit = new float[] { (43875f + 46125f), (43875f + 46125f), (62156f + 65343f), (62156f + 65343f), 0f }[i] / 2f, MaxNumTargets = new float[] { 1f, 3f, 1f, 3f, 0f }[i], SpellID = new float[] { 98263, 100113, 100114, 100115, 0 }[i], }; WrathofRagnaros.SetAffectsRoles_Healers(); WrathofRagnaros.AffectsRole[PLAYER_ROLES.RangedDPS] = true; ByFirebePurged.Attacks.Add(WrathofRagnaros); #endregion #region Hand of Ragnaros /* Ragnaros inflicts 37659 to 39591 Fire damage to all enemies within 55 yards, knocking them * back.*/ // 10 man - http://ptr.wowhead.com/spell=98237 // 25 man - http://ptr.wowhead.com/spell=100383 // 10 man heroic - http://ptr.wowhead.com/spell=100384 // 25 man heroic - http://ptr.wowhead.com/spell=100387 // Only affects Melee and Tanks Attack HandofRagnaros = new Attack { Name = "Hand of Ragnaros", AttackSpeed = 25f, AttackType = ATTACK_TYPES.AT_AOE, DamageType = ItemDamageType.Fire, DamagePerHit = new float[] { (21937f + 23062f), (21937f + 23062f), (33150f + 34850f), (33150f + 34850f), 0f }[i] / 2f, MaxNumTargets = Max_Players[i], SpellID = new float[] { 98237, 100383, 100384, 100387, 0 }[i], }; HandofRagnaros.AffectsRole[PLAYER_ROLES.MeleeDPS] = true; HandofRagnaros.SetAffectsRoles_Tanks(); ByFirebePurged.Attacks.Add(HandofRagnaros); SulfuaswillbeYourEnd.Attacks.Add(HandofRagnaros); BegoneFrommyRealm.Attacks.Add(HandofRagnaros); #endregion #region Magma Trap /*Ragnaros periodically forms a Magmaw Trap at a random player's location. The Magma Trap * 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 { Name = "Burning Wound", AttackSpeed = 40f, AttackType = ATTACK_TYPES.AT_MELEE, DamageType = ItemDamageType.Fire, // Average damage after the stacking equates to ABOUT 1.3 times the base damage DamagePerTick = BurningWoundDamage * 1.3f, TickInterval = 2f, Duration = 20f + 20f, // 20 seconds to stack the debuff, 20 seconds to let it drop IsDoT = true, SpellID = new float[] { 99399, 101238, 101239, 101240, 0 }[i], }; BurningWound.SetAffectsRoles_Tanks(); ByFirebePurged.Attacks.Add(BurningWound); #region Burning Blast /* Inflicts 1950 to 2050 Fire damage, each stack of Burning Wound increases the damage of * Burning Blast.*/ // 10-man - http://ptr.wowhead.com/spell=99400 // 25-man - http://ptr.wowhead.com/spell=101241 // 10-man Heroic - http://ptr.wowhead.com/spell=101242 // 25-man Heroic - http://ptr.wowhead.com/spell=101243 float BurningBlastDamaage = (1950f + 2050f) / 2f; Stats BurningBlastStat = new Stats(); SpecialEffect BurningBlastSpecialEffect = new SpecialEffect(Trigger.PhysicalAttack, new Stats() { FireDamage = BurningBlastDamaage }, 20f, 5f, 1f, 4); BurningBlastStat.AddSpecialEffect(BurningBlastSpecialEffect); BurningBlastSpecialEffect = new SpecialEffect(Trigger.Use, BurningBlastStat, 40f, 40f, 1f); BurningBlastStat = new Stats(); BurningBlastStat.AddSpecialEffect(BurningBlastSpecialEffect); BuffState BurningBlast = new BuffState { Name = "Burning Blast", Frequency = 40f, Duration = 40f * 1000f, Chance = 1f, Breakable = false, Stats = BurningBlastStat, }; BurningBlast.SetAffectsRoles_Tanks(); ByFirebePurged.BuffStates.Add(BurningBlast); #endregion #endregion #endregion #region Intermission: Minions of Fire! /* At 70% health, Ragnaros will cast Splitting Blow wedging Sulfuras into the platform and creating * Sons of Flame across the platform. Ragnaros will stay submerged for 45 seconds or until all of the * Sons of Flame are destroyed.*/ #region Splitting Blow /* Ragnaros buries Sulfuras within the platform, creating Sons of Flame that attempt to reach the * mighty hammer.*/ /* 12 different ids all with the same descriptions: * http://ptr.wowhead.com/spell=98951; http://ptr.wowhead.com/spell=98952; http://ptr.wowhead.com/spell=98953 * http://ptr.wowhead.com/spell=100877; http://ptr.wowhead.com/spell=100878; http://ptr.wowhead.com/spell=100879 * http://ptr.wowhead.com/spell=100880; http://ptr.wowhead.com/spell=100881; http://ptr.wowhead.com/spell=100882 * http://ptr.wowhead.com/spell=100883; http://ptr.wowhead.com/spell=100884; http://ptr.wowhead.com/spell=100885*/ // initial Summon Sons trigger - http://ptr.wowhead.com/spell=99012 // Summon Cast - http://ptr.wowhead.com/spell=99056 // Number of summons - http://ptr.wowhead.com/spell=99054 // This means that 10 Sons are summoned that need to be slowed and killed within 45 seconds. // The damage from Splitting Blow should NEVER hit a player #endregion #region Son of Flame /*Sons of Flame will cross the platform and attempt to reform with Sulfuras, causing a * Supernova if they are able to reach the mighty weapon.*/ // http://ptr.wowhead.com/npc=53140 TargetGroup SonsofFlame = new TargetGroup { Name = "Sons of Flame", Chance = 1f, Frequency = 1f, Duration = IntermissionLength * 1000f, LevelOfTargets = 87, NearBoss = false, NumTargs = 10f, TargetID = 53140f, }; SonsofFlame.SetAffectsRoles_All(); Intermission1.Targets.Add(SonsofFlame); #region Burning Speed /* Sons of Flame move faster as their blaze burns hotter. Their movement speed is * increased by an amount equal to every 1% health they have above 50% health.*/ // 10 man - http://ptr.wowhead.com/spell=99414 // 25 man - http://ptr.wowhead.com/spell=100306 // 10 man heroic - http://ptr.wowhead.com/spell=100307 // 25 man heroic - http://ptr.wowhead.com/spell=100308 // Don't Need to model #endregion #region Supernova /* If a Son of Flame reaches Sulfuras, the elemental will explode in a Supernova, * inflicting 112978 to 118772 Fire damage to all players within the Firelands.*/ // 10 man - http://ptr.wowhead.com/spell=99112 // 25 man - http://ptr.wowhead.com/spell=100259 // 10 man heroic - http://ptr.wowhead.com/spell=100260 // 25 man heroic - http://ptr.wowhead.com/spell=100261 // Since if this happens at ANY time, it's a wipe, so assuming that this does not take place #endregion #endregion #region Lava Bolt /* While Ragnaros lies submerged underneath the lava, bolts of hot magma fall on four random players every 4 seconds. * A Lava Bolt inflicts 43875 to 46125 Fire Damage. * * In 25 player raids, bolts of hot magma fall on ten players.*/ // 10-man - http://ptr.wowhead.com/spell=98981 // 25-man - http://ptr.wowhead.com/spell=100289 // 10-man Heroic - http://ptr.wowhead.com/spell=100290 // 25-man Heroic - http://ptr.wowhead.com/spell=100291 Attack LavaBolt = new Attack { Name = "Lava Bolt", AttackType = ATTACK_TYPES.AT_AOE, DamageType = ItemDamageType.Fire, AttackSpeed = 4f, DamagePerHit = new float[] { (43875f + 46125f), (43875f + 46125f), (68250f + 71750f), (68250f + 71750f), 0 }[i] / 2f, MaxNumTargets = new float[] { 4, 10, 4, 10, 0 }[i], SpellID = new float[] { 98981, 100289, 100290, 100291, 0 }[i], }; LavaBolt.SetAffectsRoles_All(); Intermission1.Attacks.Add(LavaBolt); #endregion #endregion #region Sulfuras will be Your End! #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 #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 SulfuaswillbeYourEnd.Moves.Add(LavaWave_Move); #endregion #endregion #region World of Flames [Heroic Only] /* Ragnaros periodically engulfs one third of the platform in flame every 2.60 sec for 13 sec. * Inflicting 87871 to 92379 Fire damage to players caught in the conflagration.*/ // cast - http://ptr.wowhead.com/spell=100171 // spell - http://ptr.wowhead.com/spell=99171 #endregion #region Molten Seed /*Ragnaros forms a Molten Seed at the location of 10 random players, inflicing 69042 to 72583 * Fire damage to all players withing 6 yards. After 10 sec the Molten Seed will burst in a Molten * Inferno. * * *Warning* In 25 player raids, Ragnaros targets 20 players.*/ // 10 man - http://ptr.wowhead.com/spell=98498 // 25 man - http://ptr.wowhead.com/spell=100579 // 10 man heroic - http://ptr.wowhead.com/spell=100580 // 25 man heroic - http://ptr.wowhead.com/spell=100581 /* Molten Inferno * When Molten Seed burst, they cause a Molten Inferno that inflicts 128749 to 128750 * Fire damage to all players who are near the Molten Seed. The damage decreases the * farther away the target is. * * Following the Molten inferno, a Molten Elemental is created at the location of the Seed.*/ // 10 man - http://ptr.wowhead.com/spell=98518 // 25 man - http://ptr.wowhead.com/spell=100252 // 10 man heroic - http://ptr.wowhead.com/spell=100253 // 25 man heroic - http://ptr.wowhead.com/spell=100254 #region Molten Elemental // The Molten Elemental is spawned from a Molten Inferno. It will attack and fixate one random player. // http://db.mmo-champion.com/c/53189/ /* Molten Power [Heroic Only] * The Molten Elemental is empowered by nearby Molten Elementals, increasing its * damage by 25% and causing it to be immune to Snare effects.*/ // 10 man heroic - http://ptr.wowhead.com/spell=100158 // 25 man heroic - http://ptr.wowhead.com/spell=100302 #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 SulfuaswillbeYourEnd.Attacks.Add(BurningWound); #region Burning Blast /* Inflicts 1950 to 2050 Fire damage, each stack of Burning Wound increases the damage of * Burning Blast.*/ // 10-man - http://ptr.wowhead.com/spell=99400 // 25-man - http://ptr.wowhead.com/spell=101241 // 10-man Heroic - http://ptr.wowhead.com/spell=101242 // 25-man Heroic - http://ptr.wowhead.com/spell=101243 SulfuaswillbeYourEnd.BuffStates.Add(BurningBlast); #endregion #endregion #endregion #region Intermission: Denizens of Flame! /* At 40% health, Ragnaros will cast Splitting Blow, wedging Sulfuras into the platform and creating * Sons of Flame. Ragnaros will stay submerged for 45 seconds or until all of the Sons of Flame are * destroyed.*/ #region Splitting Blow /* Ragnaros buries Sulfuras within the platform, creating Sons of Flame that attempt to reach the * mighty hammer.*/ /* 12 different ids all with the same descriptions: * http://ptr.wowhead.com/spell=98951; http://ptr.wowhead.com/spell=98952; http://ptr.wowhead.com/spell=98953 * http://ptr.wowhead.com/spell=100877; http://ptr.wowhead.com/spell=100878; http://ptr.wowhead.com/spell=100879 * http://ptr.wowhead.com/spell=100880; http://ptr.wowhead.com/spell=100881; http://ptr.wowhead.com/spell=100882 * http://ptr.wowhead.com/spell=100883; http://ptr.wowhead.com/spell=100884; http://ptr.wowhead.com/spell=100885*/ // initial Summon Sons trigger - http://ptr.wowhead.com/spell=99012 // Summon Cast - http://ptr.wowhead.com/spell=99056 // Number of summons - http://ptr.wowhead.com/spell=99054 // This means that 10 Sons are summoned that need to be slowed and killed within 45 seconds. // The damage from Splitting Blow should NEVER hit a player #endregion #region Son of Flame /*Sons of Flame will cross the platform and attempt to reform with Sulfuras, causing a * Supernova if they are able to reach the mighty weapon.*/ // http://ptr.wowhead.com/npc=53140 Intermission2.Targets.Add(SonsofFlame); #region Burning Speed /* Sons of Flame move faster as their blaze burns hotter. Their movement speed is * increased by an amount equal to every 1% health they have above 50% health.*/ // 10 man - http://ptr.wowhead.com/spell=99414 // 25 man - http://ptr.wowhead.com/spell=100306 // 10 man heroic - http://ptr.wowhead.com/spell=100307 // 25 man heroic - http://ptr.wowhead.com/spell=100308 // Don't need to model #endregion #region Supernova /* If a Son of Flame reaches Sulfuras, the elemental will explode in a Supernova, * inflicting 112978 to 118772 Fire damage to all players within the Firelands.*/ // 10 man - http://ptr.wowhead.com/spell=99112 // 25 man - http://ptr.wowhead.com/spell=100259 // 10 man heroic - http://ptr.wowhead.com/spell=100260 // 25 man heroic - http://ptr.wowhead.com/spell=100261 // Since if this happens at ANY time, it's a wipe, so assuming that this does not take place #endregion #endregion #region Lava Scion // One Lava Scion will form on each side of the platform. // http://ptr.wowhead.com/npc=53231 TargetGroup LavaScion = new TargetGroup { Name = "Lava Scion", Chance = 1f, Duration = 60f * 1000f, Frequency = 1f, LevelOfTargets = 87, NearBoss = true, NumTargs = 2f, TargetID = 53231, }; LavaScion.SetAffectsRoles_All(); Intermission2.Targets.Add(LavaScion); #region Blazing Heat /* The Lava Scion inflicts a random target with Blazing Heat, causing them to create a trail of * Blazing Heat in their wake. Blazing Heat inflicts 62765 to 65985 Fire damage every 1 * sec, and heals Sons of Flame and Lava Scions for 10% every 1 sec.*/ /* Damaging Part * 10 man - http://ptr.wowhead.com/spell=99144 * 25 man - http://ptr.wowhead.com/spell=100303 * 10 man heroic - http://ptr.wowhead.com/spell=100304 * 25 man heroic - http://ptr.wowhead.com/spell=100305*/ // Healing Part - http://ptr.wowhead.com/spell=99145 // Just assume 2 people get chosen with the debuff and have to move for the entire duration // Blazing heat has a 3 second cast and a 9 second duration. So, 12 seconds movement // Not going to model the damaing part or the Healing Part Impedance BlazingHeat_Move = new Impedance { Name = "Blazing Heat Move", Breakable = false, Chance = 2f / (Max_Players[i] - Min_Tanks[i]), Duration = 12f * 1000f, Frequency = IntermissionLength - 12f, }; BlazingHeat_Move.SetAffectsRoles_DPS(); BlazingHeat_Move.SetAffectsRoles_Healers(); Intermission2.Moves.Add(BlazingHeat_Move); #endregion #endregion #endregion #region Begone From my Realm! #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 #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 BegoneFrommyRealm.Moves.Add(LavaWave_Move); #endregion #endregion #region World of Flames [Heroic Only] /* Ragnaros periodically engulfs one third of the platform in flame every 2.60 sec for 13 sec. * Inflicting 87871 to 92379 Fire damage to players caught in the conflagration.*/ // cast - http://ptr.wowhead.com/spell=100171 // spell - http://ptr.wowhead.com/spell=99171 #endregion #region Summon Living Meteor /* Ragnaros calls down an increasing number of Living Meteors over time, inclicting 81595 to * 85780 Fire damage to players within 5 yards of the location.*/ // http://ptr.wowhead.com/spell=99268 #region Living Meteor /* The Living Meteor will fixate on a random target and chase them. A player that gets * within 4 yards of the Living Meteor will trigger a Metoer Impact, inflicting 627656 to * 659844 Fire damage to enemies within 8 yards.*/ // http://ptr.wowhead.com/npc=53500 // 10 man - http://ptr.wowhead.com/spell=99317 // 25 man - http://ptr.wowhead.com/spell=100989 // 10 man heroic - http://ptr.wowhead.com/spell=100990 // 25 man heroic - http://ptr.wowhead.com/spell=100991 TargetGroup LivingMeteor = new TargetGroup { Name = "Living Meteor", Chance = 1f, Duration = phase1to3Length * 1000f, Frequency = 45f, LevelOfTargets = 87, NearBoss = false, NumTargs = 1f, TargetID = 53500, }; LivingMeteor.SetAffectsRoles_All(); BegoneFrommyRealm.Targets.Add(LivingMeteor); #region Meteor Impact /* A player that gets within 4 yards of the Living Meteor will trigger a Metoer Impact, * inflicting 627656 to 659844 Fire damage to enemies within 8 yards.*/ // 10 man - http://ptr.wowhead.com/spell=99287 // 25 man - http://ptr.wowhead.com/spell=100299 // 10 man heroic - http://ptr.wowhead.com/spell=100300 // 25 man heroic - http://ptr.wowhead.com/spell=100301 // THIS SHOULD NEVER HAPPEN!!!! #endregion #region Combustible /* The Living Meteor is highly Combustible. When attacked, it will cause Combustion, * knocking it back several yards away from the enemy that hit it. Combustible is * removed for several seconds after Combustion is triggered.*/ #region Combustion /* While combustible is active, the Living Meteor is knocked back several yards * from the enemy that hit it.*/ // 10 man - http://ptr.wowhead.com/spell=99296 // 25 man - http://ptr.wowhead.com/spell=100282 // 10 man heroic - http://ptr.wowhead.com/spell=100283 // 25 man heroic - http://ptr.wowhead.com/spell=100284 #endregion // Personal note, Living Meteors can be knocked into the target by way of combustion // http://ptr.wowhead.com/spell=100911 #endregion // On Heroic Living Meteors have a 10% additional run speed associated with them // 10 man heroic - http://ptr.wowhead.com/spell=100277 // 25 man heroic - http://ptr.wowhead.com/spell=100286 // Living Meteors MAY have a 99% damage reduction associated with them // http://ptr.wowhead.com/spell=100904 #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 BegoneFrommyRealm.Attacks.Add(BurningWound); #region Burning Blast /* Inflicts 1950 to 2050 Fire damage, each stack of Burning Wound increases the damage of * Burning Blast.*/ // 10-man - http://ptr.wowhead.com/spell=99400 // 25-man - http://ptr.wowhead.com/spell=101241 // 10-man Heroic - http://ptr.wowhead.com/spell=101242 // 25-man Heroic - http://ptr.wowhead.com/spell=101243 BegoneFrommyRealm.BuffStates.Add(BurningBlast); #endregion #endregion #endregion #region The True Power of the Fire Lord [Heroic Only] /* The Fire lord unleashes his full power and is able to move freely around the platform. Players have * the aid of powerful heroes of Azeroth to support them.*/ #region Superheated [Heroic Only] /* Ragnaros is at his full power and is now Superheated, inflicting 2510 to 2640 Fire * damage every 1, increasing damage taken from Superheated by 10%. Stacks.*/ // 10 man heroic - http://ptr.wowhead.com/spell=100594 // 25 man heroic - http://ptr.wowhead.com/spell=100915 #endregion #region Empower Sulfuras [Heroic Only] /*Ragnaros begins to empower Sulfuras. After 5 sec, Sulfuras becomes Empowered and attacks * made by Ragnaros cause Flames of Sulfuras, inflicting 627656 to 659844 Fire damage to all * enemies within the Firelands.*/ /* Cast * 10 man heroic - http://ptr.wowhead.com/spell=100604 * 25 man heroic - http://ptr.wowhead.com/spell=100997 */ // Damage - http://ptr.wowhead.com/spell=100628 #region Flames of Sulfuras [Heroic Only] /* When Sulfuras is Empowered, attacks made by Ragnaros cause Flames of Sulfuras, * inflicting 627656 to 659844 Fire damage to all enemies within the Firelands.*/ // http://ptr.wowhead.com/spell=100630 #endregion #endregion #region Dreadflame [Heroic Only] /* Sulfuras creates a Dreadflame at two nearby locations. The Dreadflame multiplies rapidly * and spreads across the platform. Dreadflame inflicts 43935 to 46190 Fire damage and an * additional 4506 to 4507 Fire damage every 1 sec for 30 sec. * * *Warning* In 25 player raids, Dreadflame will strike five locations at once.*/ // 10 man heroic - http://ptr.wowhead.com/spell=100941 // 25 man heroic - http://ptr.wowhead.com/spell=100998 #endregion #region Magma Geyser [Heroic Only] /* Ragnaros will target a Magma Geyser whenever he notices four players in a cluster together. The * Magma Geyser inflicts 69042 to 72583 Fire damage every 1 sec and destroy any nearby * Breadth of Frost. * * *Warning* In 25 player raids, Ragnaros will use Magma Geyser on clusters of 10 players.*/ // 10 man heroic - http://ptr.wowhead.com/spell=100861 // 25 man heroic - http://ptr.wowhead.com/spell=100999 #endregion #region Cenarius [Heroic Only] /* Cenarius is a demigod, the son of Malorne and Elune, and the patron of all of Azeroth's druids. * * Cenarius will support the raid by freezing Living Meteors and reducing the damage caused by * Superheated.*/ // http://ptr.wowhead.com/npc=53872 #region Breadth of Frost [Heroic Only] /* Cenarius forms a Breadth of Frost at a nearby location. Any Living Meteors that enter the * Breadth of Frost are Frozen and take 15000% additional damage. Additionally, players who * stand within the Breadth of Frost are immune to Superheated damage and have the * Superheaded debuff removed from them.*/ // Living Meteor - http://ptr.wowhead.com/spell=100567 // Shield from Superheated - http://ptr.wowhead.com/spell=100503 #endregion #endregion #region Arch Druid Hamuul Runetotem [Heroic Only] /* Humuul Runetotem is a tauren druid and leads the druids of Thunder Bluff. In Mount Hyjal, he * assists Ysera in protecting Nordrassil from Ragnaros. * * The arch druid will support the raid by entrapping Ragnaros.*/ // http://ptr.wowhead.com/npc=53913 #region Entrapping Roots [Heroic Only] /* Arch Druid Humuul Runetotem forms Entrapping Roots at a nearby location. If * Ragnaros enters the area of the Entrapping Roots, he will become stunned for 10 sec and * take 50% additional damage while stunned.*/ // Cast - http://ptr.wowhead.com/spell=100646 // Stun - http://ptr.wowhead.com/spell=100653 #endregion #endregion #region Malfurion Stormrage [Heroic Only] /* Malfurion Stormrage is an ancient and powerful night elf druid. He leads the army of Cenarius in * the Defense of Mount Hyjal against the forces of Ragnaros. * * Malfurion will support the raid by protecting players from Dreadflame.*/ // http://ptr.wowhead.com/npc=52135 #region Cloudburst [Heroic Only] /* Malfurion forms a Cloudburst. The players who interact with the Cloudburst will be * surrounded with a Deluge. Deluge makes the player immune to Dreadflame damage, and * also allows the player to extinguish any nearby Dreadflame. * * *Warning* In 25 player raids, up to three players can use a single Cloudburst.*/ // 10 man heroic - http://ptr.wowhead.com/spell=100758 // 25 man heroic - http://ptr.wowhead.com/spell=100766 #region Deluge [Heroic Only] /* Makes the player immune to Dreadflame damage, and also allows the player to * extinguish any nearby Dreadflame.*/ // 10 man heroic - http://ptr.wowhead.com/spell=100713 // 25 man heroic - http://ptr.wowhead.com/spell=101015 // Spell that extinguishes the Dreadflame - http://ptr.wowhead.com/spell=100757 #endregion #endregion #endregion #endregion #region Apply Phases // Pull then at 30 Sec, Empower Blade w/ 50/50 chance for which blade type. // 15 secs of empowered blade // Return to normal mode. float phasestart = 0; ApplyAPhasesValues(ByFirebePurged, i, 1, phasestart, phase1to3Length, BerserkTimer[i]); phasestart += phase1to3Length; ApplyAPhasesValues(Intermission1, i, 2, phasestart, IntermissionLength, BerserkTimer[i]); phasestart += IntermissionLength; ApplyAPhasesValues(SulfuaswillbeYourEnd, i, 3, phasestart, phase1to3Length, BerserkTimer[i]); phasestart += phase1to3Length; ApplyAPhasesValues(Intermission2, i, 4, phasestart, IntermissionLength, BerserkTimer[i]); phasestart += IntermissionLength; ApplyAPhasesValues(BegoneFrommyRealm, i, 5, phasestart, phase1to3Length, BerserkTimer[i]); phasestart += phase1to3Length; if (i > 1) { ApplyAPhasesValues(Intermission3, i, 6, phasestart, Intermission3Length, BerserkTimer[i]); phasestart += Intermission3Length; ApplyAPhasesValues(TheTruePoweroftheFireLord, i, 7, phasestart, phase4Length, BerserkTimer[i]); } AddAPhase(ByFirebePurged, i); AddAPhase(Intermission1, i); AddAPhase(SulfuaswillbeYourEnd, i); AddAPhase(Intermission2, i); AddAPhase(BegoneFrommyRealm, i); if (i > 1) { AddAPhase(Intermission3, i); AddAPhase(TheTruePoweroftheFireLord, i); } #endregion } #endregion #endregion #region Defensive Resist_Physical = new double[] { 0.00f, 0.00f, 0, 0, 0 }; Resist_Frost = new double[] { 0.00f, 0.00f, 0, 0, 0 }; Resist_Fire = new double[] { 0.00f, 0.00f, 0, 0, 0 }; Resist_Nature = new double[] { 0.00f, 0.00f, 0, 0, 0 }; Resist_Arcane = new double[] { 0.00f, 0.00f, 0, 0, 0 }; Resist_Shadow = new double[] { 0.00f, 0.00f, 0, 0, 0 }; Resist_Holy = new double[] { 0.00f, 0.00f, 0, 0, 0 }; #endregion #region Impedances for (int i = 0; i < 2; i++) { //Moves; //Stuns; //Fears; //Roots; //Disarms; } TimeBossIsInvuln = new float[] { 0.00f, 0.00f, 0, 0, 0 }; #endregion /* TODO: */ }
// The tank and healing check of the raid instance // ALMOST a Patchwork fight public Baleroc() { // If not listed here use values from defaults #region Info Name = "Baleroc, the Gatekeeper"; 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 Health = new float[] { 31565310f, 99978288f, 59428676f, 166239664f, 0 }; MobType = (int)MOB_TYPES.ELEMENTAL; BerserkTimer = new int[] { 6 * 60, 6 * 60, 6 * 60, 6 * 60, 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[] { 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 Normal = new Phase() { Name = "Normal Phase" }; Phase DecimationBlade = new Phase() { Name = "Decimation Blade" }; Phase InfernoBlade = new Phase() { Name = "Inferno Blade" }; Phase BothPhases = new Phase() { Name = "Both Phases" }; Attack Melee = GenAStandardMelee(this[i].Content); Melee.IsDualWielding = true; Melee.AffectsRole[PLAYER_ROLES.MainTank] = true; Normal.Attacks.Add(Melee); #region Blaze of Glory /* Baleroc's assault periodically awakens a burning spark within his primary target, increasing the * target's physical damage taken by 20%, but also raising their maximum health by 20%. * * Every time Baleroc applies Blaze of Glory, he gains an application of Incendiary Soul, increasing Fire * damage done by 20%.*/ // http://ptr.wowhead.com/spell=99252 // He averages out to applying this once every 12 seconds Stats BlazeofGloryStats = new Stats(); SpecialEffect BlazeofGlorySpecialEffect = new SpecialEffect(Trigger.Use, new Stats() { BonusHealthMultiplier = 0.2f, DamageTakenReductionMultiplier = -0.20f }, BerserkTimer[i], 12f, 1f, 99); BlazeofGloryStats.AddSpecialEffect(BlazeofGlorySpecialEffect); BuffState BlazeofGlory = new BuffState { Name = "Blaze of Glory", Chance = 1, Frequency = BerserkTimer[i], Stats = BlazeofGloryStats, Breakable = false, Duration = BerserkTimer[i] * 1000f, }; BlazeofGlory.SetAffectsRoles_Tanks(); BothPhases.BuffStates.Add(BlazeofGlory); /* Incendiary Soul * Every time Baleroc applies Blaze of Glory, he gains an application of Incendiary Soul, increasing Fire * damage done by 20%.*/ // http://ptr.wowhead.com/spell=99369 Stats IncendiarySoulStat = new Stats(); SpecialEffect IncendiarySoulSpecialEffect = new SpecialEffect(Trigger.Use, new Stats() { FireDamageTakenMultiplier = 0.20f }, BerserkTimer[i], 12f, 1f, 99); IncendiarySoulStat.AddSpecialEffect(IncendiarySoulSpecialEffect); BuffState IncendiarySoul = new BuffState { Name = "Incendiary Soul", Chance = 1, Frequency = BerserkTimer[i], Stats = IncendiarySoulStat, Breakable = false, Duration = BerserkTimer[i] * 1000f, }; IncendiarySoul.SetAffectsRoles_Tanks(); BothPhases.BuffStates.Add(IncendiarySoul); #endregion #region Shards of Torment /* Baleroc summons *warning* two chrystals *end warning* amonst his foes, which continually channel * a shadowy beam on the player that is nearest to them.*/ // Summon - http://ptr.wowhead.com/spell=99260 // NPC - http://db.mmo-champion.com/c/53495/ float ShardofTormentDebuff = new float[] { 40, 60, 40, 60 }[i]; #region Torment // Deals 3500 Shadow damage per application to the nearest player, stacking once per second. // 10 man - http://ptr.wowhead.com/spell=99256 // 25 man - http://ptr.wowhead.com/spell=100230 // 10 man heroic - http://ptr.wowhead.com/spell=100231 // 25 man heroic - http://ptr.wowhead.com/spell=100232 // At most people should be taking 12 stacks of Torment float TormentDamageMultiplier = (1 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11) / 12f; float Affected = ((i == 0) || (i == 2 ) ? 1f : 2f ); Attack Torment = new Attack { Name = "Torment", AttackSpeed = 34f, DamagePerTick = new float[] { 3000, 3000, 4250, 4250, 0 }[i] * TormentDamageMultiplier, IsDoT = true, Duration = 12f, TickInterval = 1f, MaxNumTargets = Affected * 2f, AttackType = ATTACK_TYPES.AT_AOE, DamageType = ItemDamageType.Shadow, SpellID = new float[] { 99256, 100230, 100231, 100232, 0 }[i], }; Torment.SetAffectsRoles_DPS(); BothPhases.Attacks.Add(Torment); #endregion #region Tormented /* When Torment fades from a player, they are afflicted by the Tormented effect, which increases * Shadow damage taken by 250% and reduces healing done by 75%, for 40 sec. * *Warning* Direct melee contact with any other player will apply a fresh copy of the Tormented effect * to that player. [Heroic ONLY]*/ // 10 man - http://ptr.wowhead.com/spell=99257 // 25 man - http://ptr.wowhead.com/spell=99402 // 10 man heroic - http://ptr.wowhead.com/spell=99403 // 25 man heroic - http://ptr.wowhead.com/spell=99404 // This should NEVER get placed on a Healer float TormentedDamageIncrease = new float[] { 2.5f, 2.5f, 5f, 5f, 0f }[i]; BuffState Tormented = new BuffState { Name = "Tormented", Chance = Affected / (Max_Players[i] - Min_Healers[i] - Min_Tanks[i]), Breakable = false, Duration = ShardofTormentDebuff * 1000f, Frequency = 34f, Stats = new Stats() { SpellDamageTakenReductionMultiplier = -TormentedDamageIncrease, BonusHealingDoneMultiplier = -0.50f }, }; Tormented.SetAffectsRoles_DPS(); BothPhases.BuffStates.Add(Tormented); #endregion #region Wave of Torment /* If there are no players within 15 yards of a Shard of Torment, the Shard pulses this effect, dealing * 14250 to 15750 Shadow damage each second to all players.*/ // 10 man - http://ptr.wowhead.com/spell=99261 // 25 man - http://www.wowhead.com/spell=101636 // 10 man heroic - http://www.wowhead.com/spell=101637 // 25 man heroic - http://www.wowhead.com/spell=101638 // This should NEVER happen #endregion #region Vital Spark /* If a player casts a direct heal on someone who is being damaged by Torment, the healer gains an * application of Vital Spark for each (three/five [Normal/Heroic]) stacks of Torment on the target. * Casting a single-target direct heal on a target affected by Blaze of Glory will trigger Vital Flame, * increasing healing done on such targets by 5% per stack of vital Spark, lasting for 15 sec.*/ // http://ptr.wowhead.com/spell=99262 float VitalSparkBaseCD = new float[] { 3, 3, 5, 5, 0 }[i]; float VitalSparkCD = BerserkTimer[i] / ((BerserkTimer[i] * ((Torment.Duration * 2f) / Torment.AttackSpeed)) / VitalSparkBaseCD); Stats VitalSparkStats = new Stats(); // Assume half the healers get the buff at any given time SpecialEffect VitalSparkSpecialEffect = new SpecialEffect(Trigger.HealingSpellHit, new Stats() { BonusHealingDoneMultiplier = 0.05f }, 60f, VitalSparkCD, 0.5f, 999); VitalSparkStats.AddSpecialEffect(VitalSparkSpecialEffect); BuffState VitalSpark = new BuffState { Name = "Vital Spark", Breakable = false, Chance = 1f, Duration = BerserkTimer[i] * 1000f, Frequency = BerserkTimer[i] - 1f, Stats = VitalSparkStats, }; VitalSpark.SetAffectsRoles_Healers(); BothPhases.BuffStates.Add(VitalSpark); #endregion #region Vital Flame /* Increasing healing done to targets affected by Blaze of Glory by 5% per stack of Vital Spark * consumed to create this effect, lasting for 15 sec. When Vital Flame expires, it restores the * Vital Spark stacks that were consumed to create the effect.*/ // http://ptr.wowhead.com/spell=99263 Stats VitalFlameStats = new Stats(); SpecialEffect VitalFlameSpecialEffect = new SpecialEffect(Trigger.Use, new Stats() { HealingReceivedMultiplier = 0.05f }, 60f, VitalSparkCD, 1f, 999); VitalFlameStats.AddSpecialEffect(VitalFlameSpecialEffect); BuffState VitalFlame = new BuffState { Name = "Vital Flame", Breakable = false, Chance = 1f, Duration = BerserkTimer[i] * 1000f, Frequency = BerserkTimer[i] - 1f, Stats = VitalFlameStats, }; VitalFlame.SetAffectsRoles_Tanks(); BothPhases.BuffStates.Add(VitalFlame); #endregion #endregion #region Blades of Baleroc /*Baleroc will periodically empower one of his blades with Shadow or Fire energy, and wield it * alone for 15 sec.*/ /* Decimation Blade * Baleroc's melee strikes deal Shadow damage equal to 90% of the target's maximum health, * instead of their normal physical damage. This damage cannot be resisted or mitigated by * normal means.*/ // http://ptr.wowhead.com/spell=99352 // http://ptr.wowhead.com/spell=99353 Attack DecimatingStrike = new Attack { // Decimation Blades' Attack speed was reduced for 5 second per swing to 6.25 on Sep 19, 2011 Name = "Decimating Strike", AttackSpeed = 6.25f, DamagePerHit = .9f, DamageType = ItemDamageType.Shadow, DamageIsPerc = true, AttackType = ATTACK_TYPES.AT_MELEE, SpellID = 99353, Blockable = false, Dodgable = true, Parryable = true, Missable = true, IsDualWielding = false, }; DecimatingStrike.AffectsRole[PLAYER_ROLES.OffTank] = true; DecimationBlade.Attacks.Add(DecimatingStrike); /* Inferno Blade * Baleroc's melee strikes deal 102999 to 103000 Fire damage to the target, instead of their * normal physical damage, while this effect is active.*/ // Initial Cast - http://ptr.wowhead.com/spell=99350 // 10 man - http://ptr.wowhead.com/spell=99351 // 25 man - http://ptr.wowhead.com/spell=101000 // 10 man heroic - http://ptr.wowhead.com/spell=101001 // 25 man heroic - http://ptr.wowhead.com/spell=101002 Attack InfernoStrike = new Attack { Name = "Inferno Strike", AttackSpeed = 4f, DamagePerHit = new float[] { (73125f + 76875f), (124312f + 130687f), (116025f + 121975f), (197242f + 207357f), 0f }[i] / 2f, DamageType = ItemDamageType.Fire, DamageIsPerc = false, AttackType = ATTACK_TYPES.AT_MELEE, SpellID = new float[] { 99351, 10100, 101001, 101002, 0 }[i], Blockable = true, Dodgable = true, Parryable = true, Missable = true, IsDualWielding = false, }; InfernoStrike.AffectsRole[PLAYER_ROLES.MainTank] = true; InfernoBlade.Attacks.Add(InfernoStrike); #endregion #region Countdown [Heroic Only] /* Baleroc links two players to each other for 8 sec. If the chosen players move within 3 yards of each * other, the effect will dissipate harmlessly, but if the effect runs its full course, both players will * explode, dealing 125000 Fire damage to all allies within 45 yards.*/ // http://ptr.wowhead.com/spell=99516 // possible explosion id: http://ptr.wowhead.com/spell=99518 // This should NEVER go off, so one has to move at most 7 of the 8 seconds if (i > 1) { Impedance Countdown_Move = new Impedance { Name = "Countdown Move", Duration = 7f * 1000f, Chance = 2f / (Max_Players[i] - Min_Tanks[i]), Breakable = false, Frequency = 45f, }; Countdown_Move.SetAffectsRoles_DPS(); Countdown_Move.SetAffectsRoles_Healers(); BothPhases.Moves.Add(Countdown_Move); } #endregion #region Apply Phases // Pull then at 30 Sec, Empower Blade w/ 50/50 chance for which blade type. // 15 secs of empowered blade // Return to normal mode. int phasestart = 0; int EBdur = 15; int NormalDur = 30; InnerPhase InnerPhaseNormal, InnerPhaseEmpoweredBlade; InnerPhaseNormal = new InnerPhase(Normal, i, 1, phasestart, NormalDur, BerserkTimer[i]); phasestart += NormalDur; // 30 seconds; OT builds stacks BothPhases.InnerPhases.Add(InnerPhaseNormal); InnerPhaseEmpoweredBlade = new InnerPhase(InfernoBlade, i, 1, phasestart, EBdur, BerserkTimer[i]); phasestart += EBdur; // 45 seconds BothPhases.InnerPhases.Add(InnerPhaseEmpoweredBlade); InnerPhaseNormal = new InnerPhase(Normal, i, 1, phasestart, NormalDur, BerserkTimer[i]); phasestart += NormalDur; // 1 minute 15 seconds BothPhases.InnerPhases.Add(InnerPhaseNormal); InnerPhaseEmpoweredBlade = new InnerPhase(DecimationBlade, i, 1, phasestart, EBdur, BerserkTimer[i]); phasestart += EBdur; // 1 minute 30 seconds BothPhases.InnerPhases.Add(InnerPhaseEmpoweredBlade); InnerPhaseNormal = new InnerPhase(Normal, i, 1, phasestart, NormalDur, BerserkTimer[i]); phasestart += NormalDur; // 2 minutes 0 seconds BothPhases.InnerPhases.Add(InnerPhaseNormal); InnerPhaseEmpoweredBlade = new InnerPhase(InfernoBlade, i, 1, phasestart, EBdur, BerserkTimer[i]); phasestart += EBdur; // 2 minutes 15 seconds BothPhases.InnerPhases.Add(InnerPhaseEmpoweredBlade); InnerPhaseNormal = new InnerPhase(Normal, i, 1, phasestart, NormalDur, BerserkTimer[i]); phasestart += NormalDur; // 2 minute 45 seconds BothPhases.InnerPhases.Add(InnerPhaseNormal); InnerPhaseEmpoweredBlade = new InnerPhase(DecimationBlade, i, 1, phasestart, EBdur, BerserkTimer[i]); phasestart += EBdur; // 3 minute 0 seconds BothPhases.InnerPhases.Add(InnerPhaseEmpoweredBlade); InnerPhaseNormal = new InnerPhase(Normal, i, 1, phasestart, NormalDur, BerserkTimer[i]); phasestart += NormalDur; // 3 minutes 30 seconds BothPhases.InnerPhases.Add(InnerPhaseNormal); InnerPhaseEmpoweredBlade = new InnerPhase(InfernoBlade, i, 1, phasestart, EBdur, BerserkTimer[i]); phasestart += EBdur; // 3 minutes 45 seconds BothPhases.InnerPhases.Add(InnerPhaseEmpoweredBlade); InnerPhaseNormal = new InnerPhase(Normal, i, 1, phasestart, NormalDur, BerserkTimer[i]); phasestart += NormalDur; // 4 minute 15 seconds BothPhases.InnerPhases.Add(InnerPhaseNormal); InnerPhaseEmpoweredBlade = new InnerPhase(DecimationBlade, i, 1, phasestart, EBdur, BerserkTimer[i]); phasestart += EBdur; // 4 minute 30 seconds BothPhases.InnerPhases.Add(InnerPhaseEmpoweredBlade); InnerPhaseNormal = new InnerPhase(Normal, i, 1, phasestart, NormalDur, BerserkTimer[i]); phasestart += NormalDur; // 5 minutes 0 seconds BothPhases.InnerPhases.Add(InnerPhaseNormal); InnerPhaseEmpoweredBlade = new InnerPhase(InfernoBlade, i, 1, phasestart, EBdur, BerserkTimer[i]); phasestart += EBdur; // 5 minutes 15 seconds BothPhases.InnerPhases.Add(InnerPhaseEmpoweredBlade); InnerPhaseNormal = new InnerPhase(Normal, i, 1, phasestart, NormalDur, BerserkTimer[i]); phasestart += NormalDur; // 5 minute 45 seconds BothPhases.InnerPhases.Add(InnerPhaseNormal); InnerPhaseEmpoweredBlade = new InnerPhase(DecimationBlade, i, 1, phasestart, EBdur, BerserkTimer[i]); phasestart += EBdur; // 6 minute 0 seconds BothPhases.InnerPhases.Add(InnerPhaseEmpoweredBlade); ApplyAPhasesValues(BothPhases, i, 1, 0, BerserkTimer[i], BerserkTimer[i]); AddAPhase(BothPhases, i); #endregion } #endregion #endregion #region Defensive Resist_Physical = new double[] { 0.00f, 0.00f, 0, 0, 0 }; Resist_Frost = new double[] { 0.00f, 0.00f, 0, 0, 0 }; Resist_Fire = new double[] { 0.00f, 0.00f, 0, 0, 0 }; Resist_Nature = new double[] { 0.00f, 0.00f, 0, 0, 0 }; Resist_Arcane = new double[] { 0.00f, 0.00f, 0, 0, 0 }; Resist_Shadow = new double[] { 0.00f, 0.00f, 0, 0, 0 }; Resist_Holy = new double[] { 0.00f, 0.00f, 0, 0, 0 }; #endregion #region Impedances for (int i = 0; i < 2; i++) { //Moves; //Stuns; //Fears; //Roots; //Disarms; } TimeBossIsInvuln = new float[] { 0.00f, 0.00f, 0, 0, 0 }; #endregion /* TODO: * Heroic */ }