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); }
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); }
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); }
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); }
/// <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); }
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); }
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); }
/// <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); }
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"; } }
/// <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); }
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; }
/// <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); }
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); }
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); } }
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; }
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_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); }
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); }
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_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); }
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); }