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));
 }
 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;
 }
 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;
 }
 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;
 }
 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);
 }
 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);
 }
 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;
 }
 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);
 }
 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;
 }
 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);
 }
 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);
 }
Beispiel #12
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);
 }
Beispiel #13
0
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
     if (CS.m_Spec == Rotation.Type.Unholy)
     {
         this.AbilityCost[(int)DKCostTypes.Death] = -2;
     }
     this.wMH = CS.MH;
     this.wOH = CS.OH;
 }
 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);
 }
 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);
 }
 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);
 }
Beispiel #17
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);
 }
 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);
 }
 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);
 }
Beispiel #20
0
 public DarkTranformation(CombatState CS)
 {
     this.szName                = "Dark Transformation";
     this.bWeaponRequired       = false;
     this.fWeaponDamageModifier = 1;
     this.AbilityCost[(int)DKCostTypes.UnHoly]     = 1;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10;
     this.bTriggersGCD = true;
     this.AbilityCost[(int)DKCostTypes.CooldownTime] = 3 * 60 * 1000; // 3 min.
     UpdateCombatState(CS);
     this.AbilityIndex = (int)DKability.DarkTransformation;
 }
 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);
 }
Beispiel #22
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);
 }
 /// <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);
 }
Beispiel #24
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);
 }
Beispiel #25
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);
 }
Beispiel #26
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);
 }
Beispiel #27
0
 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);
 }
 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);
 }
Beispiel #29
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);
 }
 /// <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_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);
 }
Beispiel #32
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);
 }
 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);
 }
 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";
     }
 }
Beispiel #35
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";
     }
 }
Beispiel #36
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_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);
 }
 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);
 }
Beispiel #39
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);
 }
Beispiel #40
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);
 }
 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);
 }
 /// <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);
 }
 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);
 }
Beispiel #44
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);
 }
 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;
 }
Beispiel #46
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);
 }
Beispiel #47
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);
 }
 /// <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);
 }
 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);
 }
Beispiel #50
0
 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);
 }
Beispiel #51
0
 public AbilityDK_Pestilence(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Pestilence";
     this.AbilityCost[(int)DKCostTypes.Blood]      = 1;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10;
     this.uMinDamage            = 0;
     this.uMaxDamage            = 0;
     this.bWeaponRequired       = false;
     this.fWeaponDamageModifier = 0;
     this.bTriggersGCD          = true;
     this.uRange = 0;
     this.bAOE   = true;
     // TODO: Glyph - Refreshes disease
     UpdateCombatState(CS);
 }
Beispiel #52
0
        public override void UpdateCombatState(CombatState CS)
        {
            base.UpdateCombatState(CS);
            float RPCost = 40 - (CS.m_Talents.RunicCorruption * 3);

            //RPCost /= (1f + (.05f * (float)CS.m_Talents.SuddenDoom));
            // Moving SD procs to be extra DCs in the rotation rather than reduced cost.
            // This makes it more like Rime.
            this.AbilityCost[(int)DKCostTypes.RunicPower] = (int)Math.Floor(RPCost);
            if (CS.m_Talents.UnholyBlight > 0)
            {
                ml_TriggeredAbility                = new AbilityDK_Base[1];
                ml_TriggeredAbility[0]             = new AbilityDK_UnholyBlight(CS);
                ml_TriggeredAbility[0].uBaseDamage = (uint)((this.TotalDamage / 10) / 10);
            }
        }
Beispiel #53
0
 public AbilityDK_Base(CombatState CS)
 {
     this.CState = CS;
     this.szName = "";
     this.AbilityCost[(int)DKCostTypes.Blood]      = 0;
     this.AbilityCost[(int)DKCostTypes.Frost]      = 0;
     this.AbilityCost[(int)DKCostTypes.UnHoly]     = 0;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = 0;
     this.uBaseDamage = 0;
     this.uRange      = MELEE_RANGE;
     this.tDamageType = ItemDamageType.Physical;
     this.Cooldown    = 1500; // GCD
     this.CastTime    = INSTANT;
     this.uTickRate   = INSTANT;
     this.uDuration   = INSTANT;
 }
Beispiel #54
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;
 }
Beispiel #55
0
 public AbilityDK_BloodBoil(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Blood Boil";
     this.AbilityCost[(int)DKCostTypes.Blood]      = 1;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10;
     this.uBaseDamage           = 357;
     this.tDamageType           = ItemDamageType.Shadow;
     this.bWeaponRequired       = false;
     this.fWeaponDamageModifier = 0;
     this.bTriggersGCD          = true;
     this.uRange       = 0;
     this.bAOE         = true;
     this.AbilityIndex = (int)DKability.BloodBoil;
     UpdateCombatState(CS);
 }
Beispiel #56
0
 public AbilityDK_HowlingBlast(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Howling Blast";
     this.AbilityCost[(int)DKCostTypes.Frost] = 1;
     this.uMinDamage            = (uint)(1152 / 2 * 1.2); // 4.1 increases damage by 20%
     this.uMaxDamage            = (uint)(1250 / 2 * 1.2); // 4.1 increases damage by 20%
     this.tDamageType           = ItemDamageType.Frost;
     this.bWeaponRequired       = false;
     this.fWeaponDamageModifier = 0;
     this.bTriggersGCD          = true;
     this.uRange       = 20;
     this.uArea        = 10;
     this.bAOE         = true;
     this.AbilityIndex = (int)DKability.HowlingBlast;
     UpdateCombatState(CS);
 }
Beispiel #57
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);
     }
 }
Beispiel #58
0
 public AbilityDK_DeathNDecay(CombatState CS)
 {
     this.CState = CS;
     this.szName = "Death N Decay";
     this.AbilityCost[(int)DKCostTypes.UnHoly]     = 1;
     this.AbilityCost[(int)DKCostTypes.RunicPower] = -10;
     this.uBaseDamage           = 46;
     this.tDamageType           = ItemDamageType.Shadow;
     this.bWeaponRequired       = false;
     this.fWeaponDamageModifier = 0;
     this.bTriggersGCD          = true;
     this.uRange       = 30;
     this.uArea        = 10;
     this.uTickRate    = 1 * 1000;
     this.Cooldown     = 30 * 1000;
     this.bAOE         = true;
     this.AbilityIndex = (int)DKability.DeathNDecay;
     UpdateCombatState(CS);
 }
Beispiel #59
0
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
     this.wMH = CS.MH;
     this.wOH = CS.OH;
 }
 public override void UpdateCombatState(CombatState CS)
 {
     base.UpdateCombatState(CS);
 }