Beispiel #1
0
 /// <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();
 }
Beispiel #2
0
 /// <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();
 }
Beispiel #3
0
 /// <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();
 }
Beispiel #4
0
 /// <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();
 }
Beispiel #5
0
 /// <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();
 }
Beispiel #6
0
 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();
 }
Beispiel #7
0
 /// <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();
 }
Beispiel #8
0
 /// <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();
 }
Beispiel #9
0
 /// <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();
 }
Beispiel #10
0
 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();
 }
Beispiel #11
0
 /// <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();
 }
Beispiel #12
0
 /// <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();
 }
Beispiel #13
0
 /// <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();
 }
Beispiel #14
0
 /// <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();
 }
Beispiel #15
0
        // 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;
        }
Beispiel #16
0
 // 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();
 }
Beispiel #17
0
 /// <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();
 }
Beispiel #18
0
 /// <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();
 }
Beispiel #19
0
        // 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;
        }
Beispiel #20
0
 /// <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();
 }
Beispiel #21
0
        /// <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();
        }
Beispiel #22
0
 // 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();
 }
Beispiel #23
0
 // 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();
 }
Beispiel #24
0
        /// <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();
        }
Beispiel #25
0
 /// <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();
 }
Beispiel #26
0
 /// <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();
 }
Beispiel #27
0
 /// <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();
 }
Beispiel #28
0
        /// <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();
        }
Beispiel #29
0
 /// <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();
 }
Beispiel #30
0
 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;
 }
Beispiel #31
0
        /// <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();
        }
Beispiel #32
0
 /// <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;
 }
Beispiel #33
0
 // 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();
 }
Beispiel #34
0
        /// <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();
        }
Beispiel #35
0
        /// <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();
        }
Beispiel #36
0
 // 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();
 }
Beispiel #37
0
 /// <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();
 }
Beispiel #38
0
 // 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();
 }
Beispiel #39
0
 /// <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();
 }
Beispiel #40
0
        // 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;
        }
Beispiel #41
0
 /// <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();
 }
Beispiel #42
0
 /// <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();
 }
Beispiel #43
0
 /// <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();
 }
Beispiel #44
0
 /// <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();
 }
Beispiel #45
0
        /// <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();
        }
Beispiel #46
0
 /// <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();
 }