Ejemplo n.º 1
0
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
     this.wMH = CS.MH;
     this.wOH = CS.OH;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = (40 - (CState.m_Talents.GlyphofFrostStrike ? 8 : 0));
 }
Ejemplo n.º 2
0
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10 + (CS.m_Talents.ChillOfTheGrave > 0 ? -5 : 0);
     this.ml_TriggeredAbility[0] = new AbilityDK_FrostFever(CS);
     this.uRange = 20 + (uint)(CState.m_Talents.IcyReach * 5);
 }
Ejemplo n.º 3
0
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
     this.RunicPower = -1 * ((int)((10f * CS.m_Talents.MightOfTheFrozenWastes * .15f) + ((CS.m_Talents.ScentOfBlood * .15f) * (CS.m_Stats.Parry + CS.m_Stats.Dodge)))); // Should be 1.5 per point.
     this.wMH = CS.MH;
     this.wOH = null;
 }
Ejemplo n.º 4
0
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
     if (CS.m_Spec == Rotation.Type.Unholy)
         this.AbilityCost[(int)DKCostTypes.Death] = -1; 
     this.uArea = 10 + (CS.m_Talents.GlyphofPestilence ? 5u : 0u);
 }
Ejemplo n.º 5
0
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
     this.ml_TriggeredAbility[0] = new AbilityDK_BloodPlague(CS);
     this.wMH = CS.MH;
     this.wOH = CS.OH;
 }
Ejemplo n.º 6
0
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -20 + (CState.m_Talents.ChillOfTheGrave * -5);
     this.wMH = CState.MH;
     this.wOH = CState.OH;
 }
Ejemplo n.º 7
0
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
     this.uMaxDamage = (CS.m_Talents.GlyphofChainsofIce ? 156u : 0u);
     this.uMinDamage = (CS.m_Talents.GlyphofChainsofIce ? 144u : 0u);
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10 + (CS.m_Talents.ChillOfTheGrave > 0 ? -5 : 0);
     this.ml_TriggeredAbility[0] = new AbilityDK_FrostFever(CS);
 }
Ejemplo n.º 8
0
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
     if (CS.m_Spec == Rotation.Type.Blood)
         this.AbilityCost[(int)DKCostTypes.Death] = -2;
     this.wMH = CS.MH;
     this.wOH = CS.OH;
 }
Ejemplo n.º 9
0
 public AbilityDK_UnholyBlight(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Unholy Blight";
     this.bWeaponRequired = false;
     this.tDamageType = ItemDamageType.Shadow;
     this.uDuration = 10 * 1000;
     this.uTickRate = 1000;
 }
Ejemplo n.º 10
0
 public AbilityDK_WhiteSwing(CombatState CS)
 {
     this.CState = CS;
     this.szName = "White Swing";
     this.bWeaponRequired = true;
     this.fWeaponDamageModifier = 1;
     this.bTriggersGCD = false;
     this.AbilityIndex = (int)DKability.White;
     UpdateCombatState(CS);
 }
Ejemplo n.º 11
0
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
     if (CS.m_Talents.GlyphofHowlingBlast && CS.m_uDiseaseCount < 2)
     {
         this.ml_TriggeredAbility = new AbilityDK_Base[1];
         this.ml_TriggeredAbility[0] = new AbilityDK_FrostFever(CS);
     }
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10 + (CS.m_Talents.ChillOfTheGrave > 0 ? -5 : 0);
 }
 public AbilityDK_DancingRuneWeapon(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Dancing Rune Weapon";
     this.bWeaponRequired = true;
     this.bTriggersGCD = true;
     this.AbilityIndex = (int)DKability.DRW;
     this.Cooldown = (int)(1.5 * 60 * 1000);
     this.AbilityCost[(int)DKCostTypes.RunicPower] = 60;
     UpdateCombatState(CS);
 }
Ejemplo n.º 13
0
 public AbilityDK_RuneStrike(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Rune Strike";
     this.AbilityCost[(int)DKCostTypes.RunicPower] = 20;
     this.bWeaponRequired = true;
     this.fWeaponDamageModifier = 1.8f;
     this.bTriggersGCD = true;
     this.AbilityIndex = (int)DKability.RuneStrike;
     UpdateCombatState(CS);
 }
Ejemplo n.º 14
0
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
     if (CState.m_uDiseaseCount < (2 + CS.m_Talents.EbonPlaguebringer))
         CState.m_uDiseaseCount++;
     if (CS.m_Talents.Epidemic > 3)
         // error
         this.uDuration = 21000;
     else
         this.uDuration = 21 * 1000 + ((uint)CS.m_Talents.Epidemic * 4000);
 }
Ejemplo n.º 15
0
 /// <summary>
 /// Chills the target for 227 to 245 Frost damage and  infects 
 /// them with Frost Fever, a disease that deals periodic damage 
 /// and reduces melee and ranged attack speed by 14% for 15 sec.
 /// </summary>
 public AbilityDK_ChainsOfIce(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Chains of Ice";
     this.AbilityCost[(int)DKCostTypes.Frost] = 1;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10;
     this.uRange = 20;
     this.tDamageType = ItemDamageType.Frost;
     this.bTriggersGCD = true;
     this.ml_TriggeredAbility = new AbilityDK_Base[1];
     UpdateCombatState(CS);
 }
Ejemplo n.º 16
0
 public AbilityDK_FrostStrike(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Frost Strike";
     this.uBaseDamage = 0;
     this.tDamageType = ItemDamageType.Frost;
     this.bWeaponRequired = true;
     this.fWeaponDamageModifier = 1.3f;
     this.bTriggersGCD = true;
     this.AbilityIndex = (int)DKability.FrostStrike;
     UpdateCombatState(CS);
 }
Ejemplo n.º 17
0
 public AbilityDK_DeathCoil(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Death Coil";
     this.uBaseDamage = 985;
     this.bWeaponRequired = false;
     this.bTriggersGCD = true;
     this.uRange = 30;
     this.tDamageType = ItemDamageType.Shadow;
     this.AbilityIndex = (int)DKability.DeathCoil;
     UpdateCombatState(CS);
 }
Ejemplo n.º 18
0
 public AbilityDK_PlagueStrike(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Plague Strike";
     this.AbilityCost[(int)DKCostTypes.UnHoly] = 1;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10;
     this.bWeaponRequired = true;
     this.fWeaponDamageModifier = 1f;
     this.bTriggersGCD = true;
     this.ml_TriggeredAbility = new AbilityDK_Base[1];
     this.AbilityIndex = (int)DKability.PlagueStrike;
     UpdateCombatState(CS);
 }
Ejemplo n.º 19
0
 public AbilityDK_BloodStrike(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Blood Strike";
     this.AbilityCost[(int)DKCostTypes.Blood] = 1;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10;
     this.uBaseDamage = (uint)Math.Floor(850 * .8);
     this.fWeaponDamageModifier = 0.8f;
     this.bWeaponRequired = true;
     this.bTriggersGCD = true;
     this.AbilityIndex = (int)DKability.BloodStrike;
     UpdateCombatState(CS);
 }
Ejemplo n.º 20
0
 /// <summary>
 /// Chills the target for 227 to 245 Frost damage and  infects 
 /// them with Frost Fever, a disease that deals periodic damage 
 /// and reduces melee and ranged attack speed by 14% for 15 sec.
 /// </summary>
 public AbilityDK_IcyTouch(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Icy Touch";
     this.AbilityCost[(int)DKCostTypes.Frost] = 1;
     this.uMaxDamage = 505 / 2;
     this.uMinDamage = 547 / 2;
     this.tDamageType = ItemDamageType.Frost;
     this.bTriggersGCD = true;
     this.ml_TriggeredAbility = new AbilityDK_Base[1];
     this.AbilityIndex = (int)DKability.IcyTouch;
     UpdateCombatState(CS);
 }
 public AbilityDK_NecroticStrike(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Necrotic Strike";
     this.AbilityCost[(int)DKCostTypes.UnHoly] = 1;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10;
     this.bWeaponRequired = true;
     this.fWeaponDamageModifier = 1f;
     // Absorbs healing on a target.
     this.bTriggersGCD = true;
     this.AbilityIndex = (int)DKability.NecroticStrike;
     UpdateCombatState(CS);
 }
Ejemplo n.º 22
0
 public void UpdateCombatState(CombatState CS, bool IsOffHand)
 {
     base.UpdateCombatState(CS);
     this.RunicPower = -1 * ((int)((10f * CS.m_Talents.MightOfTheFrozenWastes * .15f) + ((CS.m_Talents.ScentOfBlood * .15f) * (CS.m_Stats.Parry + CS.m_Stats.Dodge)))); // Should be 1.5 per point.
     m_bIsOffHand = IsOffHand;
     if (m_bIsOffHand)
     {
         this.wMH = CS.OH;
         this.wOH = null;
         this.AbilityIndex = (int)DKability.WhiteOH;
         this.szName += " OH";
     }
 }
Ejemplo n.º 23
0
 public AbilityDK_DeathStrike(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Death Strike";
     this.AbilityCost[(int)DKCostTypes.Frost] = 1;
     this.AbilityCost[(int)DKCostTypes.UnHoly] = 1;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -15;
     this.bWeaponRequired = true;
     this.fWeaponDamageModifier = 1.5f;
     this.bTriggersGCD = true;
     this.AbilityIndex = (int)DKability.DeathStrike;
     UpdateCombatState(CS);
 }
Ejemplo n.º 24
0
 public AbilityDK_Obliterate(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Obliterate";
     this.AbilityCost[(int)DKCostTypes.Frost] = 1;
     this.AbilityCost[(int)DKCostTypes.UnHoly] = 1;
     this.bWeaponRequired = true;
     this.fWeaponDamageModifier = 1.5f;
     this.bTriggersGCD = true;
     // Physical Damage * .125 * # diseases on target may consume the diseases.
     this.AbilityIndex = (int)DKability.Obliterate;
     UpdateCombatState(CS);
 }
Ejemplo n.º 25
0
 public AbilityDK_HeartStrike(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Heart Strike";
     this.AbilityCost[(int)DKCostTypes.Blood] = 1;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10;
     this.DamageAdditiveModifer = 736;
     this.bWeaponRequired = true;
     this.fWeaponDamageModifier = 1.75f;
     this.bTriggersGCD = true;
     this.bAOE = true;
     this.AbilityIndex = (int)DKability.HeartStrike;
     UpdateCombatState(CS);
 }
Ejemplo n.º 26
0
 /// <summary>
 /// A disease dealing [0 + AP * 0.055 * 1.15] Frost damage every 3 sec and reducing the target's melee and ranged attack speed by 20% for 21 sec.  Caused by Icy Touch and other spells.
 /// Base damage 0
 /// Bonus from attack power [AP * 0.055 * 1.15]
 /// </summary>
 /// <param name="Epidemic">How many points into Epidemic?</param>
 public AbilityDK_FrostFever(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Frost Fever";
     this.tDamageType = ItemDamageType.Frost;
     this.uTickRate = 3 * 1000;
     this.uBaseDamage = 0;
     this.bTriggersGCD = false;
     this.Cooldown = 0;
     this.CastTime = 0;
     this.AbilityIndex = (int)DKability.FrostFever;
     uRange = 0;
     UpdateCombatState(CS);
 }
Ejemplo n.º 27
0
 public AbilityDK_ScourgeStrike(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Scourge Strike";
     this.AbilityCost[(int)DKCostTypes.UnHoly] = 1;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10;
     this.uBaseDamage = 624;
     this.bWeaponRequired = true;
     this.fWeaponDamageModifier = 1f;
     this.bTriggersGCD = true;
     this.tDamageType = ItemDamageType.Physical;
     this.AbilityIndex = (int)DKability.ScourgeStrike;
     UpdateCombatState(CS);
 }
Ejemplo n.º 28
0
 /// <summary>
 /// A disease dealing [0 + AP * 0.055 * 1.15] Shadow damage every 3 sec for 21 sec.  Caused by Plague Strike and other abilities.
 /// Base damage 0
 /// Bonus from attack power [AP * 0.055 * 1.15]
 /// </summary>
 public AbilityDK_BloodPlague(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Blood Plague";
     this.tDamageType = ItemDamageType.Shadow;
     this.uTickRate = 3 * 1000;
     this.uBaseDamage = 0;
     this.bTriggersGCD = false;
     this.CastTime = 0;
     this.Cooldown = 0;
     this.AbilityIndex = (int)DKability.BloodPlague;
     uRange = 0;
     UpdateCombatState(CS);
 }
Ejemplo n.º 29
0
 public AbilityDK_Outbreak(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Outbreak";
     this.bWeaponRequired = false;
     this.uRange = 30;
     this.bTriggersGCD = true;
     this.Cooldown = 60 * 1000; // 1 min CD.
     if (Rawr.Properties.GeneralSettings.Default.PTRMode && CS.m_Talents.HighestTree == 0)
         this.Cooldown = 30 * 1000;
     this.ml_TriggeredAbility = new AbilityDK_Base[2];
     UpdateCombatState(CS);
     AbilityIndex = (int)DKability.Outbreak;
 }
 public AbilityDK_FesteringStrike(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Festering Strike";
     this.AbilityCost[(int)DKCostTypes.Frost] = 1;
     this.AbilityCost[(int)DKCostTypes.Blood] = 1;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -20;
     this.DamageAdditiveModifer = 560 * 150 / 100;
     this.fWeaponDamageModifier = 1.5f;
     this.bWeaponRequired = true;
     this.bTriggersGCD = true;
     this.uRange = MELEE_RANGE;
     this.AbilityIndex = (int)DKability.FesteringStrike;
     UpdateCombatState(CS);
 }