/// <summary> /// <b>Readiness</b>, Instant, 3 min Cd /// <para>When activated, this ability immediately finishes the cooldown on all Hunter abilities.</para> /// </summary> /// <TalentsAffecting></TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public Readiness(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; // Name = "Readiness"; Cd = 3f * 60f; // In Seconds Duration = 0f; UseHitTable = false; Initialize(); }
/// <summary> /// <b>Rapid Fire</b>, Instant, 5 min Cd /// <para>Increases ranged attack speed by 40% for 15 sec.</para> /// </summary> /// <TalentsAffecting> /// Posthaste - Reduces the cooldown of your Rapid Fire by 1/2 min, and your movement speed is increased by 15/30% for 4 sec after you use Disengage. /// Rapid Recuperation - You gain 6/12 focus every 3 sec while under the effect of Rapid Fire, and you gain 50 focus instantly when you gain Rapid Killing. /// </TalentsAffecting> /// <GlyphsAffecting>Glyph of Rapid Fire [+10% Haste Bonus]</GlyphsAffecting> public RapidFire(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; // Name = "Rapid Fire"; Cd = (5f - Talents.Posthaste) * 60f; // In Seconds Duration = 15f; UseHitTable = false; Effect = _RAPIDFIRE[Talents.GlyphOfRapidFire ? 1 : 0][Talents.Posthaste]; Initialize(); }
/// <summary> /// TODO Zhok: Sniper Training /// <b>Kill Shot</b>, 45 Focus, 45yd, Instant, 10 sec Cd /// <para>You attempt to finish the wounded target off, firing a long range attack /// dealing 150% weapon damage plus RAP*0.30+543. Kill Shot can only be used on /// enemies that have 20% or less health.</para> /// <para>Kill Shot can only be used on enemies that have 20% or less health.</para> /// </summary> /// <TalentsAffecting>Sniper Training - Increases the critical strike chance of your Kill Shot ability by 5/10/15%, and after remaining stationary for 6 sec, your Steady Shot and Cobra Shot deal 2/4/6% more damage for 15 sec.</TalentsAffecting> /// <GlyphsAffecting>Glyph of Kill Shot - If the damage from your Kill Shot fails to kill a target at or below 20% health, your Kill Shot's cooldown is instantly reset. This effect has a 6 sec cooldown.</GlyphsAffecting> public KillShot(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; Name = "Kill Shot"; ReqRangedWeap = true; ReqSkillsRange = true; // In terms of modeling, the Glyph of Kill Shot is basically a 4 second cooldown reduction. Cd = 10 - (Talents.GlyphOfKillShot ? 4f : 0f); FocusCost = 0; // 150% weapon dmg + 45% RAP + 543 DamageBase = (cf.AvgRwWeaponDmgUnhasted * 1.5f) + (StatS.RangedAttackPower * 0.45f) + 543f; Initialize(); }
/// <summary> /// TODO Zhok: Bombardment, Serpent Spread /// <b>Multi-Shot</b>, 40 Focus, 5-35yd /// <para>Fires several missiles, hitting your current target /// and all enemies within 0 yards of that target for 55% of weapon damage.</para> /// </summary> /// <TalentsAffecting>Bombardment - When you critically hit with your Multi-Shot your next Multi-Shot's focus cost will be reduced by 25/50%. /// Concussive Barrage - Your successful Chimera Shot and Multi-Shot attacks have a 50/100% chance to daze the target for 4 sec. /// Serpent Spread - Targets hit by your Multi-Shot are also afflicted by your Serpent Sting equal to 6/9 sec of its total duration. /// </TalentsAffecting> public MultiShot(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; // Name = "Multi-Shot"; //AbilIterater = (int)CalculationOptionsHunter.Maintenances.MortalStrike_; ReqRangedWeap = true; ReqSkillsRange = true; Targets = 10f; // TODO Zhok: 10? FocusCost = 40f; DamageBase = cf.AvgRwWeaponDmgUnhasted * 1.20f; // Initialize(); }
/// <summary> /// TODO Zhok: Careful Aim, Sniper Training, Termination /// <b>Cobra Shot</b>, 5-40yd, 1.5 sec cast /// <para>Deals weapon damage plus (276 + (RAP * 0.017)) in the form of Nature damage /// and increases the duration of your Serpent Sting on /// the target by 6 sec.</para> /// <para>Generates 9 Focus.</para> /// </summary> /// <TalentsAffecting> /// Careful Aim - Increases the critical strike chance of your Steady Shot, Cobra Shot and Aimed Shot by 30/60% on targets who are above 90% health. /// Rapid Killing - After killing an opponent that yields experience or honor, your next Aimed Shot, Steady Shot or Cobra Shot causes 10/20% additional damage. Lasts 20 sec. /// Sniper Training - Increases the critical strike chance of your Kill Shot ability by 5/10/15%, and after remaining stationary for 6 sec, your Steady Shot and Cobra Shot deal 2/4/6% more damage for 15 sec. /// Termination - Your Steady Shot and Cobra Shot abilities grant an additional 3/6 Focus when dealt on targets at or below 25% health. /// </TalentsAffecting> /// <Note>Cobra Shot is a replacement to [Steady Shot] for beastmaster and survival hunters due to its ability /// (and beastmaster and survival hunters otherwise lack of ability) to increase the duration of [Serpent Sting] without recasting it. </Note> public CobraShot(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; // Name = "Cobra Shot"; ReqTalent = true; Talent2ChksValue = ((Specialization)Talents.HighestTree == Specialization.Marksmanship ? 0 : 1); ReqRangedWeap = true; ReqSkillsRange = true; CastTime = 1.5f; FocusCost = -9; //Targets += StatS.BonusTargets; DamageBase = combatFactors.AvgRwWeaponDmgUnhasted + (StatS.RangedAttackPower * 0.017f) + 277.21f; Initialize(); }
public MMMAimedShot(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; // Name = "MMM Aimed Shot"; ReqTalent = true; // Reqiures MM spec. Talent2ChksValue = Talents.MasterMarksman; ReqRangedWeap = true; ReqSkillsRange = true; CastTime = 0; FocusCost = 0; DamageBase = (combatFactors.AvgRwWeaponDmgUnhasted + (StatS.RangedAttackPower * 0.724f) + 776) * 1.60f + 100; Consumes_Tier12_4pc = true; Initialize(); }
/// <summary> /// TODO Zhok: Careful Aim, Dazzled Prey, Sniper Training, Termination /// <b>Steady Shot</b>, 5-40yd, 1.5 sec cast /// <para>A steady shot that causes 100% weapon damage /// plus RAP*0.021+280. Generates 9 Focus.</para> /// </summary> /// <TalentsAffecting> /// Careful Aim - Increases the critical strike chance of your Steady Shot, Cobra Shot and Aimed Shot by 30/60% on targets who are above 80% health. /// Improved Steady Shot - When you Steady Shot twice in a row, your ranged attack speed will be increased by 5/10/15% for 8 sec. /// Master Marksman - You have a 20/40/60% chance when you Steady Shot to gain the Master Marksman effect, lasting 30 sec. After reaching 5 stacks, your next Aimed Shot's cast time and focus cost are reduced by 100% for 10 sec. /// Rapid Killing - After killing an opponent that yields experience or honor, your next Aimed Shot, Steady Shot or Cobra Shot causes 10/20% additional damage. Lasts 20 sec. /// Sniper Training - Increases the critical strike chance of your Kill Shot ability by 5/10/15%, and after remaining stationary for 6 sec, your Steady Shot and Cobra Shot deal 2/4/6% more damage for 15 sec. /// Termination - Your Steady Shot and Cobra Shot abilities grant an additional 3/6 Focus when dealt on targets at or below 25% health. /// </TalentsAffecting> /// <GlyphsAffecting>Glyph of Steady Shot [+10% DMG] /// Glyph of Dazzled Prey - Your Steady Shot generates an additional 2 Focus on targets afflicted by a daze effect.</GlyphsAffecting> public SteadyShot(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; // Name = "Steady Shot"; ReqRangedWeap = true; ReqSkillsRange = true; UsesGCD = true; CastTime = 1.5f; DamageBase = combatFactors.AvgRwWeaponDmgUnhasted + (StatS.RangedAttackPower * 0.021f) + 280f; DamageBonus = 1f + (Talents.GlyphOfSteadyShot ? 0.10f : 0f); FocusCost = -9; // Initialize(); }
/// <summary> /// Instant, 30 sec Cd, 10 Rage, 8-25 yds, (Def) /// Charge an enemy, causing 380 damage (based on attack power) and stunning it for 3 sec. /// </summary> /// <TalentsAffecting> /// Warbringer [Usable in any stance] /// </TalentsAffecting> /// <GlyphsAffecting> /// Glyph of Intervene [Increases the number of attacks you intercept for your intervene target by 1.] /// </GlyphsAffecting> public Intervene(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Intervene"; Description = "Charge an enemy, causing 380 damage (based on attack power) and stunning it for 3 sec."; MinRange = 8f; MaxRange = 25f; // In Yards Cd = 30f * (1f - (Talents.ImprovedIntercept * 5f)); // In Seconds RageCost = 10f; StanceOkDef = true; StanceOkArms = StanceOkFury = (Talents.Warbringer == 1); UseHitTable = false; // Initialize(); }
/// <summary> /// Instant, 30 sec Cd, Self, (Any) /// The warrior enters a berserker rage, becoming immune to Fear, Sap and Incapacitate effects /// and generating extra tage when taking damage. Lasts 10 sec. /// </summary> /// <TalentsAffecting>Improved Berserker Rage [+(10*Pts) Rage Generated]</TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public BerserkerRage(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Berserker Rage"; Description = "The warrior enters a berserker rage, becoming immune to Fear, Sap and Incapacitate effects and generating extra tage when taking damage. Lasts 10 sec."; AbilIterater = (int)Rawr.DPSWarr.CalculationOptionsDPSWarr.Maintenances.BerserkerRage_; Cd = 30f * (1f - 1f / 9f * Talents.IntensifyRage); // In Seconds RageCost = 0f - (Talents.ImprovedBerserkerRage * 10f); // This is actually reversed in the rotation StanceOkArms = StanceOkDef = StanceOkFury = true; UseHitTable = false; UseReact = true; // Initialize(); }
/// <summary> /// TODO Zhok: Thrill of the Hunt, Toxicology, Trap Mastery /// <b>Black Arrow</b>, 35 Focus, 5-40yd, Instant, 30 sec Cd /// <para>Fires a Black Arrow at the target, dealing 2395 Shadow damage over 15 sec. /// Black Arrow shares a cooldown with other Fire Trap spells.</para> /// </summary> /// <TalentsAffecting>Black Arrow (Requires Talent)</TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public BlackArrowBuff(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; // Name = "Black Arrow"; //AbilIterater = (int)CalculationOptionsHunter.Maintenances.MortalStrike_; ReqTalent = true; Talent2ChksValue = Talents.BlackArrow; ReqRangedWeap = true; ReqSkillsRange = true; //Targets += StatS.BonusTargets; Cd = 30f; //TODO Zhok: Resourcefulness ... - (2f * Talents.Resourcefulness; FocusCost = 35f; // Initialize(); }
// Constructors public WhiteAttacks(Character character, StatsHunter stats, CombatFactors cf, CalculationOptionsHunter calcOpts, BossOptions bossOpts) { Char = character; StatS = stats; Talents = Char.HunterTalents == null ? new HunterTalents() : Char.HunterTalents; combatFactors = cf; CalcOpts = calcOpts; BossOpts = bossOpts; RWAtkTable = new AttackTable(Char, StatS, combatFactors, calcOpts, false, false); FightDuration = BossOpts.BerserkTimer; Targets = BossOpts.Targets.Count; // Should update to better handle Target objects HSOverridesOverDur = 0f; CLOverridesOverDur = 0f; Steady_Freq = 0f; }
// Constructors /// <summary> /// The warrior shouts, increasing the maximum health of all raid and party members within 20 yards by 2255. Lasts 2 min. /// </summary> /// <TalentsAffecting> /// Booming Voice [+(25*Pts)% AoE and Duration], /// Commanding Presence [+(5*Pts)% to the Health Bonus] /// </TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public CommandingShout(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Commanding Shout"; Description = "The warrior shouts, increasing the maximum health of all raid and party members within 20 yards by 2255. Lasts 2 min."; AbilIterater = (int)Rawr.DPSWarr.CalculationOptionsDPSWarr.Maintenances.CommandingShout_; MaxRange = 30f * (1f + Talents.BoomingVoice * 0.25f); // In Yards Duration = (2f + (Talents.GlyphOfCommand ? 2f : 0f)) * 60f * (1f + Talents.BoomingVoice * 0.25f); Cd = Duration; RageCost = 10f; StanceOkFury = StanceOkArms = StanceOkDef = true; UseHitTable = false; // Initialize(); }
/// <summary> /// Instant, 45 sec Cooldown, 0 Rage, Self (Any) /// Removes any Immobilization effects and refreshes the cooldown of your Intercept ability. /// </summary> /// <TalentsAffecting></TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public HeroicFury(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Heroic Fury"; Description = "Removes any Immobilization effects and refreshes the cooldown of your Intercept ability."; ReqTalent = true; Talent2ChksValue = Talents.HeroicFury; Cd = 45f; StanceOkArms = StanceOkFury = StanceOkDef = true; UseHitTable = false; UseReact = true; UsesGCD = false; // Initialize(); }
/// <summary> /// Instant, 30 sec Cd, 10 Rage, 8-25 yds, (Zerker) /// Charge an enemy, causing 380 damage (based on attack power) and stunning it for 3 sec. /// </summary> /// <TalentsAffecting> /// Warbringer [Usable in any stance] /// Improved Intercept [-[5*Pts] sec Cd] /// </TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public Intercept(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Intercept"; Description = "Charge an enemy, causing 380 damage (based on attack power) and stunning it for 3 sec."; MinRange = 8f; MaxRange = 25f; // In Yards Cd = 30f - (Talents.ImprovedIntercept * 5f) - StatS.BonusWarrior_PvP_4P_InterceptCDReduc; // In Seconds Duration = 3f; RageCost = 10f - Talents.Precision * 1f; StanceOkFury = true; StanceOkArms = StanceOkDef = (Talents.Warbringer == 1); DamageBase = 380f; // Initialize(); }
/// <summary> /// Instant, 3 min Cd, 15 Rage, Self, (Any) /// You regenerate 30% of your total health over 10 sec. This ability requires an Enrage effect, /// consumes all Enrage effects and prevents any from affecting you for the full duration. /// </summary> /// <TalentsAffecting></TalentsAffecting> /// <GlyphsAffecting>Glyph of Enraged Regeneration [+10% to effect]</GlyphsAffecting> public EnragedRegeneration(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Enraged Regeneration"; Description = "You regenerate 30% of your total health over 10 sec. This ability requires an Enrage effect, consumes all Enrage effects and prevents any from affecting you for the full duration."; AbilIterater = (int)Rawr.DPSWarr.CalculationOptionsDPSWarr.Maintenances.EnragedRegeneration_; Cd = 3f * 60f; // In Seconds RageCost = 15f; StanceOkArms = StanceOkDef = StanceOkFury = true; HealingBase = StatS.Health * (0.30f + (Talents.GlyphOfEnragedRegeneration ? 0.10f : 0f)); UseHitTable = false; UseReact = true; // Initialize(); }
/// <summary> /// TODO Zhok: Add Efficiency, Piercing Shots /// <b>Chimera Shot</b>, 50 Focus, 5-40yd, Instant, 10 sec Cd /// <para>An instant shot that causes ranged weapon damage /// plus RAP*0.732+1620, refreshing the duration of your /// Serpent Sting and healing you for 5% of your total health.</para> /// </summary> /// <TalentsAffecting>Chimera Shot (Requires Talent) /// Concussive Barrage - Your successful Chimera Shot and Multi-Shot attacks have a 50/100% chance to daze the target for 4 sec. /// Efficiency - Reduces the focus cost of your Arcane Shot by 1/2/3, and your Explosive Shot and Chimera Shot by 2/4/6. /// Marked for Death - Your Arcane Shot and Chimera Shot have a 50/100% chance to automatically apply the Marked for Death effect. /// Piercing Shots - Your critical Aimed, Steady and Chimera Shots cause the target to bleed for 10/20/30% of the damage dealt over 8 sec. /// </TalentsAffecting> /// <GlyphsAffecting>Glyph of Chimera Shot [-1 sec Cd]</GlyphsAffecting> public ChimeraShot(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; Name = "Chimera Shot"; ReqTalent = true; Talent2ChksValue = Talents.ChimeraShot; ReqRangedWeap = true; ReqSkillsRange = true; //Targets += StatS.BonusTargets; Cd = 10f - (Talents.GlyphOfChimeraShot ? 1f : 0f); // In Seconds FocusCost = 50f - (Talents.Efficiency * 2f); DamageBase = combatFactors.AvgRwWeaponDmgUnhasted + StatS.RangedAttackPower * 0.732f + 1620; RefreshesSS = true; // Initialize(); }
// Constructors /// <summary> /// Attempt to finish off a wounded foe, causing (1456+AP*0.2) damage and converting each /// extra point of rage into 38 additional damage. Only usable on enemies that have less /// than 20% health. /// </summary> /// <TalentsAffecting>Improved Execute [Reduces the rage cost of your Execute ability by (2.5/5).]</TalentsAffecting> /// <GlyphsAffecting>Glyph of Execute [Your Execute ability acts as if it has 10 additional rage.]</GlyphsAffecting> public Execute(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Execute"; Description = "Attempt to finish off a wounded foe, causing (1456+AP*0.2) damage and converting each extra point of rage into 38 additional damage. Only usable on enemies that have less than 20% health."; AbilIterater = (int)Rawr.DPSWarr.CalculationOptionsDPSWarr.Maintenances.ExecuteSpam_; ReqMeleeWeap = true; ReqMeleeRange = true; Cd = 1.5f; RageCost = 15f - (Talents.ImprovedExecute * 2.5f) - (Talents.FocusedRage * 1f); FreeRage = 0f; StanceOkFury = StanceOkArms = true; PercTimeUnder20 = 0.17f; // Initialize(); }
// Constructors /// <summary> /// Reduces the melee attack power of all enemies within 10 yards by 411 for 30 sec. /// </summary> /// <TalentsAffecting></TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public DemoralizingShout(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Demoralizing Shout"; Description = "Reduces the melee attack power of all enemies within 10 yards by 411 for 30 sec."; AbilIterater = (int)Rawr.DPSWarr.CalculationOptionsDPSWarr.Maintenances.DemoralizingShout_; ReqMeleeWeap = false; ReqMeleeRange = false; MaxRange = 10f; // In Yards Duration = 30f * (1f + 0.05f * Talents.BoomingVoice); RageCost = 10f - (Talents.FocusedRage * 1f); StanceOkArms = StanceOkFury = true; UseSpellHit = true; // Initialize(); }
/// <summary> /// Instant, 5 Min Cd, No Rage, Melee Range, Melee Weapon, (Battle) /// Instantly counterattack any enemy that strikes you in melee for 12 sec. Melee attacks /// made from behind cannot be counterattacked. A maximum of 20 attacks will cause retaliation. /// </summary> /// <TalentsAffecting>Improved Disciplines [-(30*Pts) sec Cd]</TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public Retaliation(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Retaliation"; Description = "Instantly counterattack any enemy that strikes you in melee for 12 sec. Melee attacks made from behind cannot be counterattacked. A maximum of 20 attacks will cause retaliation."; StanceOkArms = true; ReqMeleeRange = true; ReqMeleeWeap = true; //Targets += StatS.BonusTargets; Cd = 5f * 60f - Talents.ImprovedDisciplines * 30f; Duration = 12f; StackCap = 20f; UseHitTable = false; // Initialize(); }
/// <summary> /// When activated you become enraged, increasing your physical damage by 20% but increasing /// all damage taken by 5%. Lasts 30 sec. /// </summary> /// <TalentsAffecting>Death Wish [Requires Talent], Intensify Rage [-(1/9*Pts)% Cooldown]</TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public DeathWish(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Death Wish"; Description = "When activated you become enraged, increasing your physical damage by 20% but increasing all damage taken by 5%. Lasts 30 sec."; AbilIterater = (int)Rawr.DPSWarr.CalculationOptionsDPSWarr.Maintenances.DeathWish_; ReqTalent = true; Talent2ChksValue = Talents.DeathWish; Cd = 3f * 60f * (1f - 1f / 9f * Talents.IntensifyRage); // In Seconds Duration = 30f; RageCost = 10f; StanceOkArms = StanceOkFury = true; UseHitTable = false; // Initialize(); }
/// <summary> /// <b>Piercing Shots</b> /// <para>Your critical Aimed, Steady and Chimera Shots cause the /// target to bleed for [Pts*10]% of the damage dealt over 8 sec.</para> /// </summary> /// <TalentsAffecting>Piercing Shots (Requires Talent)</TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public PiercingShots(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; // Name = "Piercing Shots"; //AbilIterater = (int)CalculationOptionsHunter.Maintenances.MortalStrike_; ReqTalent = true; Talent2ChksValue = Talents.PiercingShots; ReqRangedWeap = true; ReqSkillsRange = true; //Targets += StatS.BonusTargets; //Cd = 30f; // In Seconds Duration = 8f; TimeBtwnTicks = 1f; // In Seconds DamageBase = StatS.RangedAttackPower * 0.10f + 2765f; // Initialize(); }
/// <summary> /// TODO Zhok: Add Efficiency, Lock and Load, Thrill of the Hunt /// <b>Explosive Shot</b>, 50 Focus, 5-40yd, Instant, 6 sec Cd /// <para>You fire an explosive charge into the enemy target, dealing /// [RAP * 0.232 + 320] - [RAP * 0.232 + 386] Fire Damage. The charge will /// blast the target every second for an additional 2 sec.</para> /// </summary> /// <TalentsAffecting>Explosive Shot (Requires Spec) /// Efficiency - Reduces the focus cost of your Arcane Shot by 1/2/3, and your Explosive Shot and Chimera Shot by 2/4/6. /// Lock and Load - You have a 50/100% chance when you trap a target with Freezing Trap or Ice Trap to cause your next 2 Arcane Shot or Explosive Shot abilities to cost no focus and trigger no cooldown. /// Sic 'Em! - When you critically hit with your Arcane Shot, Aimed Shot or Explosive Shot the focus cost of your Pet's next basic attack is reduced by 50/100% for 12 sec. /// Thrill of the Hunt - You have a 5/10/15% chance when you use Arcane Shot, Explosive Shot or Black Arrow to instantly regain 40% of the base focus cost of the shot.</TalentsAffecting> /// <GlyphsAffecting>Glyph of Explosive Shot [+6% crit chance]</GlyphsAffecting> public ExplosiveShot(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; Name = "Explosive Shot"; ReqTalent = true; Talent2ChksValue = ((Specialization)Talents.HighestTree == Specialization.Survival ? 1 : 0); ReqRangedWeap = true; ReqSkillsRange = true; Cd = 6f; // In Seconds Duration = 2f; TimeBtwnTicks = 1f; FocusCost = _basefocuscost - (Talents.Efficiency * 2f); // 23.2% RAP + (320 + 386)/2 (Per tick) for 2 seconds DamageBase = ((StatS.RangedAttackPower * 0.232f) + (320 + 386) / 2f); BonusCritChance = Talents.GlyphOfExplosiveShot ? 0.06f : 0f; Initialize(); }
public FakeWhite(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "MH White Swing"; Description = "White Damage"; ReqMeleeWeap = true; ReqMeleeRange = true; Cd = Whiteattacks.MhEffectiveSpeed; RageCost = Whiteattacks.MHSwingRage; StanceOkArms = StanceOkFury = StanceOkDef = true; DamageBase = Whiteattacks.MhDamageOnUse; //DamageBonus = (1f + Talents.UnendingFury * 0.02f) * (1f + StatS.BonusWarrior_T7_2P_SlamDamage); //BonusCritChance = StatS.BonusWarrior_T9_4P_SLHSCritIncrease; // Initialize(); MHAtkTable = Whiteattacks.MHAtkTable; }
/// <summary> /// Gives a (1*Pts)% chance to get an extra attack on the same target after hitting /// your target with your Sword. This effect cannot occur more than once every 6 seconds. /// </summary> /// <TalentsAffecting>Sword Specialization (Requires Talent)</TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public Swordspec(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Sword Specialization"; Description = "Gives a (1*Pts)% chance to get an extra attack on the same target after hitting your target with your Sword. This effect cannot occur more than once every 6 seconds."; ReqTalent = true; Talent2ChksValue = Talents.SwordSpecialization; //Targets += StatS.BonusTargets; Cd = 6f; // In Seconds StanceOkFury = StanceOkArms = StanceOkDef = true; DamageBase = combatFactors.AvgMhWeaponDmgUnhasted; RageCost = -Whiteattacks.MHSwingRage; UsesGCD = false; // Initialize(); MHAtkTable = Whiteattacks.MHAtkTable; }
// Constructors /// <summary>Sunders the target's armor, reducing it by 4% per Sunder Armor and causes a high amount of threat. Threat increased by attack power. Can be applied up to 5 times. Lasts 30 sec.</summary> /// <TalentsAffecting>Focused Rage [-(Pts) Rage Cost], Puncture [-(Pts) Rage Cost], </TalentsAffecting> /// <GlyphsAffecting>Glyph of Sunder Armor [+1 Targets]</GlyphsAffecting> public SunderArmor(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Sunder Armor"; Description = "Sunders the target's armor, reducing it by 4% per Sunder Armor and causes a high amount of threat. Threat increased by attack power. Can be applied up to 5 times. Lasts 30 sec."; AbilIterater = (int)Rawr.DPSWarr.CalculationOptionsDPSWarr.Maintenances.SunderArmor_; ReqMeleeWeap = true; ReqMeleeRange = true; Duration = 30f; // In Seconds Cd = 1.5f; CanCrit = false; RageCost = 15f - (Talents.FocusedRage * 1f) - (Talents.Puncture * 1f); Targets = 1f + (Talents.GlyphOfSunderArmor ? 1f : 0f); StanceOkFury = StanceOkArms = StanceOkDef = true; // Initialize(); }
/// <summary> /// TODO Zhok: Cobra Strike, Efficiency, Lock and Load, Sic 'Em, Thrill of the Hunt /// /// <b>Arcane Shot</b>, 25 Focus, 5-40yd, Instant /// <para>An instant shot that causes 100% weapon damage /// plus (RAP * 0.0483)+289 as Arcane damage.</para> /// </summary> /// <TalentsAffecting>Cobra Strikes - You have a 5/10/15% chance when you hit with Arcane Shot to cause your pet's next 2 Basic Attacks to critically hit. /// Efficiency - Reduces the focus cost of your Arcane Shot by 1/2/3, and your Explosive Shot and Chimera Shot by 2/4/6. /// Lock and Load - You have a 50/100% chance when you trap a target with Freezing Trap or Ice Trap to cause your next 2 Arcane Shot or Explosive Shot abilities to cost no focus and trigger no cooldown. /// Marked for Death - Your Arcane Shot and Chimera Shot have a 50/100% chance to automatically apply the Marked for Death effect. /// Sic 'Em! - When you critically hit with your Arcane Shot, Aimed Shot or Explosive Shot the focus cost of your Pet's next basic attack is reduced by 50/100% for 12 sec. /// Thrill of the Hunt - You have a 5/10/15% chance when you use Arcane Shot, Explosive Shot or Black Arrow to instantly regain 40% of the base focus cost of the shot.</TalentsAffecting> /// </TalentsAffecting> /// <GlyphsAffecting>Glyph of Arcane Shot [12% More DMG]</GlyphsAffecting> public ArcaneShot(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; Name = "Arcane Shot"; ReqRangedWeap = true; ReqSkillsRange = true; FocusCost = _basefocuscost - (Talents.Efficiency * 2f); DamageBase = cf.AvgRwWeaponDmgUnhasted + (StatS.RangedAttackPower * 0.0483f) + 289f; DamageBonus = 1 + (Talents.GlyphOfArcaneShot ? 0.12f : 0f); Consumes_Tier12_4pc = true; Initialize(); }
// Constructors /// <summary>Slams the opponent, causing weapon damage plus 250.</summary> /// <TalentsAffecting>Improved Slam [Reduces cast time of your Slam ability by (0.5/1) sec.]</TalentsAffecting> /// <SetsAffecting>T7 Deadnaught Battlegear 2 Pc [+10% Damage]</SetsAffecting> public Slam(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Slam"; Description = "Slams the opponent, causing weapon damage plus 250."; AbilIterater = (int)Rawr.DPSWarr.CalculationOptionsDPSWarr.Maintenances.Slam_; ReqMeleeWeap = true; ReqMeleeRange = true; Cd = 1.5f; RageCost = 15f - (Talents.FocusedRage * 1f); CastTime = (1.5f - (Talents.ImprovedSlam * 0.5f)); // In Seconds StanceOkArms = StanceOkDef = true; DamageBase = combatFactors.AvgMhWeaponDmgUnhasted + 250f; DamageBonus = (1f + Talents.UnendingFury * 0.02f) * (1f + StatS.BonusWarrior_T7_2P_SlamDamage); BonusCritChance = StatS.BonusWarrior_T9_4P_SLHSCritIncrease; // Initialize(); }
/// <summary> /// Instant, No cd, 10 Rage, Melee Range, Melee Weapon, (Battle/Zerker) /// Maims the enemy, reducing movement speed by 50% for 15 sec. /// </summary> /// <TalentsAffecting>Improved Hamstring [Gives a [5*Pts]% chance to immobilize the target for 5 sec.]</TalentsAffecting> /// <GlyphsAffecting>Glyph of Hamstring [Gives a 10% chance to immobilize the target for 5 sec.]</GlyphsAffecting> public Hamstring(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Hamstring"; Description = "Instant, No cd, 10 Rage, Melee Range, Melee Weapon, (Battle/Zerker) Maims the enemy, reducing movement speed by 50% for 15 sec."; AbilIterater = (int)Rawr.DPSWarr.CalculationOptionsDPSWarr.Maintenances.Hamstring_; ReqMeleeWeap = true; ReqMeleeRange = true; Duration = 15f; // In Seconds RageCost = 10f - (Talents.FocusedRage * 1f); //Targets += StatS.BonusTargets; StanceOkFury = StanceOkArms = true; //Effect = new SpecialEffect(Trigger.Use, new Stats() { AttackPower = 0f, /*TargetMoveSpeedReducPerc = 0.50f,*/ }, Duration, Duration); //float Chance = Talents.ImprovedHamstring * 0.05f + (Talents.GlyphOfHamstring ? 0.10f : 0.00f); //Effect2 = new SpecialEffect(Trigger.Use, new Stats() { AttackPower = 0f, /*TargetStunned = 0.50f,*/ }, 5f, Duration, Chance); // Initialize(); }
// Constructors /// <summary> /// Whenever you are struck by a Stun of Immoblize effect you will generate /// 10*Pts Rage and (5*Pts)% of your total health over 10 sec. /// </summary> /// <TalentsAffecting>Sweeping Strikes [Requires Talent]</TalentsAffecting> /// <GlyphsAffecting>Glyph of Sweeping Strikes [-100% Rage cost]</GlyphsAffecting> public SecondWind(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Second Wind"; Description = "Whenever you are struck by a Stun of Immoblize effect you will generate 10*Pts Rage and (5*Pts)% of your total health over 10 sec."; //AbilIterater = -1f; ReqTalent = true; Talent2ChksValue = Talents.SecondWind; Cd = -1f; NumStunsOverDur = 0f; Duration = 10f; // Using 4 seconds to sim consume time RageCost = -10f * Talents.SecondWind; StanceOkDef = StanceOkFury = StanceOkArms = true; HealingBase = StatS.Health * 0.05f * Talents.SecondWind; UseHitTable = false; UsesGCD = false; // Initialize(); }
/// <summary> /// <b>Bestial Wrath</b>, Instant, 2 min cooldown /// <para>Send your pet into a rage causing 20% additional damage for 10 sec. The beast does not feel pity or remorse or fear and it cannot be stopped unless killed.</para> /// </summary> /// <TalentsAffecting> /// Longevity - Reduces the cooldown of your Bestial Wrath, Intimidation and Pet Special Abilities by 10/20/30%. /// The Beast Within - While your pet is under the effects of Bestial Wrath, you also go into a rage causing 10% additional damage and reducing the focus cost of all shots and abilities by 50% for 10 sec. /// </TalentsAffecting> /// <GlyphsAffecting>Glyph of Bestial Wrath - Decreases the cooldown of Bestial Wrath by 20 sec.</GlyphsAffecting> public BestialWrath(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; // Name = "Bestial Wrath"; Cd = ((2f * 60f) * (1f - Talents.Longevity)) - (Talents.GlyphOfBestialWrath ? 20f : 0f); // In Seconds Duration = 10f; UseHitTable = false; ReqTalent = true; Talent2ChksValue = Talents.BestialWrath; // TODO: Move these to static SEs. Effect = new SpecialEffect(Trigger.Use, new Stats() { BonusPetDamageMultiplier = 0.20f }, Duration, Cd); if (Talents.TheBeastWithin > 0f) { Effect = new SpecialEffect(Trigger.Use, new Stats() { BonusDamageMultiplier = 0.10f }, Duration, Cd); } Initialize(); }
// Constructors public WhiteAttacks(Character character, Stats stats, CombatFactors cf, CalculationOptionsHunter calcOpts, BossOptions bossOpts) { Char = character; StatS = stats; Talents = Char.HunterTalents == null ? new HunterTalents() : Char.HunterTalents; combatFactors = cf; CalcOpts = calcOpts; BossOpts = bossOpts; RWAtkTable = new AttackTable(Char, StatS, combatFactors, calcOpts, false, false); #if RAWR3 || SILVERLIGHT FightDuration = BossOpts.BerserkTimer; #else FightDuration = CalcOpts.Duration; #endif // Targets = 1f; HSOverridesOverDur = 0f; CLOverridesOverDur = 0f; Steady_Freq = 0f; }
/// <summary> /// Wounds the target causing them to bleed for 380 damage plus an additional /// (0.2*5*MWB+mwb/2+AP/14*MWS) (based on weapon damage) over 15 sec. If used while your /// target is above 75% health, Rend does 35% more damage. /// </summary> /// <TalentsAffecting>Improved Rend [+(10*Pts)% Bleed Damage], Trauma [+(15*Pts)% Bleed Damage]</TalentsAffecting> /// <GlyphsAffecting>Glyph of Rending [+2 damage ticks]</GlyphsAffecting> public Rend(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Rend"; Description = "Wounds the target causing them to bleed for 380 damage plus an additional (0.2*5*MWB+mwb/2+AP/14*MWS) (based on weapon damage) over 15 sec. If used while your target is above 75% health, Rend does 35% more damage."; AbilIterater = (int)CalculationOptionsDPSWarr.Maintenances.Rend_; ReqMeleeWeap = true; ReqMeleeRange = true; CanCrit = false; Duration = 15f + (Talents.GlyphOfRending ? 6f : 0f); // In Seconds Cd = Duration + 3f; TimeBtwnTicks = 3f; // In Seconds RageCost = 10f - (Talents.FocusedRage * 1f); StanceOkArms = StanceOkDef = true; DamageBase = 380f; DamageBonus = (1f + 0.10f * Talents.ImprovedRend);// *(1f + 0.15f * Talents.Trauma); // Initialize(); }
/// <summary> /// Throws your weapon at the enemy causing (12+AP*0.50) damage (based on attack power), /// reducing the armor on the target by 20% for 10 sec or removing any invulnerabilities. /// </summary> public ShatteringThrow(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Shattering Throw"; Description = "Throws your weapon at the enemy causing (12+AP*0.50) damage (based on attack power), reducing the armor on the target by 20% for 10 sec or removing any invulnerabilities."; AbilIterater = (int)Rawr.DPSWarr.CalculationOptionsDPSWarr.Maintenances.ShatteringThrow_; ReqMeleeWeap = true; ReqMeleeRange = false; MaxRange = 30f; // In Yards //Targets += StatS.BonusTargets; Cd = 5f * 60f; // In Seconds Duration = 10f; CastTime = 1.5f; // In Seconds RageCost = 25f - (Talents.FocusedRage * 1f); StanceOkArms = true; DamageBase = 12f + StatS.AttackPower * 0.50f; // Initialize(); }
/// <summary> /// Your critical strikes cause the opponent to bleed, dealing (16*Pts)% of your melee weapon's /// average damage over 6 sec. /// </summary> /// <TalentsAffecting>Deep Wounds (Requires Talent) [(16*Pts)% damage dealt]</TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public DeepWounds(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Deep Wounds"; Description = "Your critical strikes cause the opponent to bleed, dealing (16*Pts)% of your melee weapon's average damage over 6 sec."; ReqTalent = true; Talent2ChksValue = Talents.DeepWounds; ReqMeleeWeap = true; ReqMeleeRange = true; CanCrit = false; Duration = 6f; // In Seconds TimeBtwnTicks = 1f; // In Seconds StanceOkFury = StanceOkArms = StanceOkDef = true; mhActivates = ohActivates = 0f; UseHitTable = false; UsesGCD = false; // Initialize(); }
/// <summary> /// A strong attack that increases melee damage by 495 and causes a high amount of /// threat. Causes 173.25 additional damage against Dazed targets. /// </summary> /// <TalentsAffecting>Improved Heroic Strike [-(1*Pts) rage cost], Incite [+(5*Pts)% crit chance]</TalentsAffecting> /// <GlyphsAffecting>Glyph of Heroic Strike [+10 rage on crits]</GlyphsAffecting> public HeroicStrike(Character c, Stats s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsDPSWarr co, BossOptions bo) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; BossOpts = bo; // Name = "Heroic Strike"; Description = "A strong attack that increases melee damage by 495 and causes a high amount of threat. Causes 173.25 additional damage against Dazed targets."; AbilIterater = (int)Rawr.DPSWarr.CalculationOptionsDPSWarr.Maintenances.HeroicStrike_; ReqMeleeWeap = true; ReqMeleeRange = true; Cd = /*0f*/ (Char.MainHand != null ? Whiteattacks.MhEffectiveSpeed : 0f); // In Seconds //Targets += StatS.BonusTargets; RageCost = 15f - (Talents.ImprovedHeroicStrike * 1f) - (Talents.FocusedRage * 1f); CastTime = 0f; // In Seconds // Replaces a white hit GCDTime = 0f; StanceOkFury = StanceOkArms = StanceOkDef = true; DamageBase = Whiteattacks.MhDamage + 495f; BonusCritChance = Talents.Incite * 0.05f + StatS.BonusWarrior_T9_4P_SLHSCritIncrease; // Initialize(); }
/// <summary> /// TODO Zhok: Thrill of the Hunt, Toxicology, Trap Mastery /// <b>Black Arrow</b>, 35 Focus, 5-40yd, Instant, 30 sec Cd /// <para>Fires a Black Arrow at the target, dealing 2035 Shadow damage over 15 sec. /// Black Arrow shares a cooldown with other Fire Trap spells.</para> /// </summary> /// <TalentsAffecting>Black Arrow (Requires Talent) /// Resourcefulness - Reduces the cooldown of all traps and Black Arrow by 2/4/6 sec. /// T.N.T - When you deal periodic damage with your Immolation Trap, Explosive Trap or Black Arrow you have a 6/12% chance to trigger Lock and Load. /// Thrill of the Hunt - You have a 5/10/15% chance when you use Arcane Shot, Explosive Shot or Black Arrow to instantly regain 40% of the base focus cost of the shot. /// Toxicology - Increases the periodic critical damage of your Serpent Sting and Black Arrow by 50/100%. /// Trap Mastery - Immolation Trap, Explosive Trap and Black Arrow - Increases the periodic damage done by 10/20/30%. /// </TalentsAffecting> /// <GlyphsAffecting></GlyphsAffecting> public BlackArrow(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; Name = "Black Arrow"; ReqTalent = true; Talent2ChksValue = Talents.BlackArrow; ReqRangedWeap = true; ReqSkillsRange = true; Cd = 30f - (Talents.Resourcefulness * 2f); Duration = 15f; TimeBtwnTicks = 1f; // TODO Zhok: Haste? FocusCost = _basefocuscost; // 47.35% RAP + 2035 (total damage) // 4.2 Increased the damage by 40% DamageBase = /*(StatS.RangedAttackPower * 0.4735f) +*/ 2850f; DamageBonus = 1f + (Talents.TrapMastery * 0.10f); Initialize(); }
/// <summary> /// <b>Serpent Sting</b>, 25 Focus,5-40yd, Instant, No Cd /// <para>Causes (RAP * 0.4 + (460 * 15 sec / 3)) Nature damage over 15 sec.</para> /// </summary> /// <TalentsAffecting> /// Chimera Shot - An instant shot that causes ranged weapon damage plus RAP*0.732+1620, refreshing the duration of your Serpent Sting and healing you for 5% of your total health. /// Noxious Stings - Increases your damage done on targets afflicted by your Serpent Sting by 5/10%. /// Serpent Spread - Targets hit by your Multi-Shot are also afflicted by your Serpent Sting equal to 6/9 sec of its total duration. /// Toxicology - Increases the periodic critical damage of your Serpent Sting and Black Arrow by 50/100%. /// </TalentsAffecting> /// <GlyphsAffecting>Glyph of Serpent Sting - Increases the periodic critical strike chance of your Serpent Sting by 6%.</GlyphsAffecting> public SerpentSting(Character c, StatsHunter s, CombatFactors cf, WhiteAttacks wa, CalculationOptionsHunter co) { Char = c; StatS = s; combatFactors = cf; Whiteattacks = wa; CalcOpts = co; Name = "Serpent Sting"; ReqRangedWeap = true; ReqSkillsRange = true; TimeBtwnTicks = 3f; // In Seconds Duration = 15f; FocusCost = 25f; DamageBase = (StatS.RangedAttackPower * 0.4f + (460f * 15f / 3f)); BonusCritChance = 1f + (Talents.GlyphOfSerpentSting ? 0.06f : 0f) + (Talents.ImprovedSerpentSting * 0.05f); MinRange = 5f; MaxRange = 40f; CanCrit = true; StatS.BonusDamageMultiplier += (.05f * Talents.NoxiousStings); StatS.BonusCritDamageMultiplier += (.5f * Talents.Toxicology); // Improved Serpent Sting // Noxious Stings // Initialize(); }