diff --git a/OvaleCondition.lua b/OvaleCondition.lua index 8ad6e00..8357130 100644 --- a/OvaleCondition.lua +++ b/OvaleCondition.lua @@ -804,6 +804,20 @@ OvaleCondition.conditions.casttime = function(condition) return compare(castTime/1000, condition[2], condition[3]) end +--- Get the number of charges on a spell with multiple charges. +-- @name Charges +-- @paramsig number or boolean +-- @param id The spell ID. +-- @param operator Optional. Comparison operator: equal, less, more. +-- @param number Optional. The number to compare against. +-- @return The number of charges +-- @return A boolean value for the result of the comparison. + +OvaleCondition.conditions.charges = function(condition) + local currentCharges, maxCharges, timeLastCast, cooldownDuration = GetSpellCharges(condition[1]) + return compare(currentCharges, condition[2], condition[3]) +end + --- Test if all of the listed checkboxes are off. -- @name CheckBoxOff -- @paramsig boolean @@ -992,6 +1006,20 @@ OvaleCondition.conditions.creaturetype = function(condition) return nil end +--- Get the current estimated damage of a spell if it is a critical damage. +-- @name CritDamage +-- @name Damage +-- @paramsig number +-- @param id The spell ID. +-- @return The estimated damage of the given spell. +-- @see CritDamage + +OvaleCondition.conditions.critdamage = function(condition) + local spellId = condition[1] + local ret = OvaleData:GetDamage(spellId, OvalePaperDoll.attackPower, OvalePaperDoll.spellBonusDamage, OvaleState.state.combo) + return 0, nil, 2 * ret * OvaleAura:GetDamageMultiplier(spellId), 0, 0 +end + --- Get the current estimated damage of a spell. -- The calculated damage takes into account the current attack power, spellpower and combo points (if used). -- The damage is computed from information for the spell set via SpellInfo(...): @@ -1001,7 +1029,7 @@ end -- @paramsig number -- @param id The spell ID. -- @return The estimated damage of the given spell. --- @see LastSpellDamage, LastSpellEstimatedDamage +-- @see CritDamage, LastSpellDamage, LastSpellEstimatedDamage -- @usage -- if {Damage(rake) / LastSpellEstimateDamage(rake)} >1.1 -- Spell(rake) @@ -2032,6 +2060,16 @@ OvaleCondition.conditions.petpresent = function(condition) return testbool(present, condition[1]) end +--- Test if the game is on a PTR server +-- @paramsig boolean +-- @param yesno Optional. If yes, then returns true if it is a PTR realm. If no, return true if it is a live realm. +-- Default is yes. +-- Valid values: yes, no. +-- @return A boolean value +OvaleCondition.conditions.ptr = function(condition) + return testbool(GetBuildInfo() == "5.2.0", condition[1]) +end + --- Get the current amount of rage for guardian druids and warriors. -- @name Rage -- @paramsig number or boolean diff --git a/OvaleData.lua b/OvaleData.lua index b13fa6b..f55bbe0 100644 --- a/OvaleData.lua +++ b/OvaleData.lua @@ -261,6 +261,10 @@ OvaleData.buffSpellList = 80354, -- Temporal Displacement (Time Warp) 95809, -- Insanity (Ancient Hysteria) }, + raid_movement = + { + 106898, -- Stampeding Roar + } } OvaleData.buffSpellList.bloodlust_aura = OvaleData.buffSpellList.burst_haste OvaleData.buffSpellList.bloodlust = OvaleData.buffSpellList.burst_haste diff --git a/defaut/Chaman.lua b/defaut/Chaman.lua index 5ffa7d4..1b68fe8 100644 --- a/defaut/Chaman.lua +++ b/defaut/Chaman.lua @@ -44,6 +44,10 @@ Define(lava_burst 51505) SpellInfo(lava_burst cd=8 ) Define(lava_lash 60103) SpellInfo(lava_lash cd=10 ) +Define(lava_surge 77756) +Define(lifeblood 55503) + SpellInfo(lifeblood cd=120 ) + SpellAddBuff(lifeblood lifeblood=1) Define(lightning_bolt 403) Define(lightning_shield 324) SpellInfo(lightning_shield duration=3600 ) @@ -91,10 +95,11 @@ AddIcon mastery=1 help=main if TalentPoints(unleashed_fury_talent) and not BuffPresent(ascendance) Spell(unleash_elements) if target.DebuffRemains(flame_shock) >CastTime(lava_burst) and {BuffPresent(ascendance) or SpellCooldown(lava_burst) } Spell(lava_burst) - if target.TicksRemain(flame_shock) <3 and {target.TicksRemain(flame_shock) <2 or BuffPresent(bloodlust any=1) or BuffPresent(elemental_mastery) } Spell(flame_shock) + if target.TicksRemain(flame_shock) <2 Spell(flame_shock) if TalentPoints(elemental_blast_talent) Spell(elemental_blast) if BuffStacks(lightning_shield) ==7 Spell(earth_shock) if BuffStacks(lightning_shield) >3 and target.DebuffRemains(flame_shock) >SpellCooldown(earth_shock) and target.DebuffRemains(flame_shock) <SpellCooldown(earth_shock) +TickTime(flame_shock) Spell(earth_shock) + if TimeInCombat() >60 and target.DebuffRemains(flame_shock) <=BuffDuration(ascendance) and SpellCooldown(ascendance) +BuffDuration(ascendance) <BuffDuration(flame_shock) Spell(flame_shock) if SpellCooldown(fire_elemental_totem) >15 and not TotemPresent(fire) Spell(searing_totem) Spell(lightning_bolt) @@ -106,7 +111,7 @@ AddIcon mastery=1 help=offgcd AddIcon mastery=1 help=moving { - Spell(unleash_elements) + if not Glyph(101052) Spell(unleash_elements) } AddIcon mastery=1 help=aoe @@ -127,15 +132,16 @@ AddIcon mastery=1 help=cd { if target.HealthPercent() <25 or TimeInCombat() >5 { Spell(bloodlust) Spell(heroism) } if not TotemPresent(air) and not BuffPresent(stormlash) and {BuffPresent(bloodlust any=1) or TimeInCombat() >=60 } Spell(stormlash_totem) - - if {{SpellCooldown(ascendance) >10 or Level() <87 } and SpellCooldown(fire_elemental_totem) >10 } or BuffPresent(ascendance) or BuffPresent(bloodlust any=1) or TotemPresent(fire) { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } if BuffPresent(bloodlust any=1) or BuffPresent(ascendance) or {{SpellCooldown(ascendance) >10 or Level() <87 } and SpellCooldown(fire_elemental_totem) >10 } Spell(blood_fury) - if TalentPoints(elemental_mastery_talent) and TimeInCombat() >15 and {{not BuffPresent(bloodlust any=1) and TimeInCombat() <120 } or {not BuffPresent(berserking) and not BuffPresent(bloodlust any=1) and BuffPresent(ascendance) } or {TimeInCombat() >=200 and {SpellCooldown(ascendance) >30 or Level() <87 } } } Spell(elemental_mastery) + if TalentPoints(elemental_mastery_talent) and {TimeInCombat() >15 and {{not BuffPresent(bloodlust any=1) and TimeInCombat() <120 } or {not BuffPresent(berserking) and not BuffPresent(bloodlust any=1) and BuffPresent(ascendance) } or {TimeInCombat() >=200 and {SpellCooldown(ascendance) >30 or Level() <87 } } } } Spell(elemental_mastery) if not TotemPresent(fire) Spell(fire_elemental_totem) - if target.DebuffRemains(flame_shock) >0 and {target.DeadIn() <20 or BuffPresent(bloodlust any=1) or TimeInCombat() >=180 } and SpellCooldown(lava_burst) >0 Spell(ascendance) + if Enemies() >1 or {target.DebuffRemains(flame_shock) >BuffDuration(ascendance) and {target.DeadIn() <20 or BuffPresent(bloodlust any=1) or TimeInCombat() >=60 } and SpellCooldown(lava_burst) >0 } Spell(ascendance) + + if {{SpellCooldown(ascendance) >10 or Level() <87 } and SpellCooldown(fire_elemental_totem) >10 } or BuffPresent(ascendance) or BuffPresent(bloodlust any=1) or TotemPresent(fire) { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } if TalentPoints(ancestral_swiftness_talent) and not BuffPresent(ascendance) Spell(ancestral_swiftness) + if ArmorSetParts(T14 more 4) and {not BuffPresent(bloodlust any=1) or target.DeadIn() <25 } Spell(spiritwalkers_grace) if not TotemPresent(earth) and SpellCooldown(fire_elemental_totem) >=50 Spell(earth_elemental_totem) - Spell(spiritwalkers_grace) + if Glyph(101052) and {{TalentPoints(elemental_blast_talent) and SpellCooldown(elemental_blast) ==0 } or {SpellCooldown(lava_burst) ==0 and not BuffStacks(lava_surge) } } or {BuffDuration(raid_movement) >=SpellCooldown(unleash_elements) +SpellCooldown(earth_shock) } Spell(spiritwalkers_grace) } AddIcon mastery=2 help=main @@ -149,16 +155,18 @@ AddIcon mastery=2 help=main if not TotemPresent(fire) Spell(searing_totem) if TalentPoints(unleashed_fury_talent) Spell(unleash_elements) - if TalentPoints(elemental_blast_talent) Spell(elemental_blast) - if BuffStacks(maelstrom_weapon) ==5 Spell(lightning_bolt) + if TalentPoints(elemental_blast_talent) and BuffStacks(maelstrom_weapon) >=1 Spell(elemental_blast) + if BuffStacks(maelstrom_weapon) ==5 or {ArmorSetParts(T13 more 4) ==1 and BuffStacks(maelstrom_weapon) >=4 and False() } Spell(lightning_bolt) Spell(stormblast) Spell(stormstrike) if BuffPresent(unleash_flame) and not target.DebuffPresent(flame_shock) Spell(flame_shock) Spell(lava_lash) - if BuffPresent(unleash_flame) Spell(flame_shock) + if ArmorSetParts(T15 more 2) ==1 and BuffStacks(maelstrom_weapon) >=4 and not BuffPresent(ascendance) Spell(lightning_bolt) + if not Glyph(55447) and {BuffPresent(unleash_flame) or {not BuffPresent(unleash_flame) and not target.DebuffPresent(flame_shock) and SpellCooldown(unleash_elements) >5 } } Spell(flame_shock) Spell(unleash_elements) if BuffStacks(maelstrom_weapon) >=3 and not BuffPresent(ascendance) Spell(lightning_bolt) if BuffPresent(ancestral_swiftness) Spell(lightning_bolt) + if Glyph(55447) and BuffPresent(unleash_flame) and target.DebuffRemains(flame_shock) <=3 Spell(flame_shock) Spell(earth_shock) if BuffStacks(maelstrom_weapon) >1 and not BuffPresent(ascendance) Spell(lightning_bolt) @@ -181,7 +189,7 @@ AddIcon mastery=2 help=aoe Spell(stormstrike) if BuffStacks(maelstrom_weapon) ==5 and SpellCooldown(chain_lightning) >=2 Spell(lightning_bolt) if BuffStacks(maelstrom_weapon) >1 Spell(chain_lightning) - if BuffStacks(maelstrom_weapon) >1 Spell(lightning_bolt) + if BuffStacks(maelstrom_weapon) >1 and not BuffPresent(ascendance) Spell(lightning_bolt) } AddIcon mastery=2 help=cd @@ -189,11 +197,13 @@ AddIcon mastery=2 help=cd if target.HealthPercent() <25 or TimeInCombat() >5 { Spell(bloodlust) Spell(heroism) } { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } if not TotemPresent(air) and not BuffPresent(stormlash) and {BuffPresent(bloodlust any=1) or TimeInCombat() >=60 } Spell(stormlash_totem) - Spell(blood_fury) - if TalentPoints(elemental_mastery_talent) Spell(elemental_mastery) - if not TotemPresent(fire) and {BuffPresent(bloodlust any=1) or BuffPresent(elemental_mastery) or target.DeadIn() <=0 +10 or {TalentPoints(elemental_mastery_talent) and {SpellCooldown(elemental_mastery) ==0 or SpellCooldown(elemental_mastery) >80 } or TimeInCombat() >=60 } } Spell(fire_elemental_totem) + if TalentPoints(elemental_mastery_talent) and {not Glyph(55455) or SpellCooldown(fire_elemental_totem) ==0 or SpellCooldown(fire_elemental_totem) >70 } Spell(elemental_mastery) + if not TotemPresent(fire) and {BuffPresent(bloodlust any=1) or BuffPresent(lifeblood) or BuffPresent(elemental_mastery) } or TimeInCombat() >=60 Spell(fire_elemental_totem) + if not TotemPresent(fire) and target.DeadIn() <=0 +10 Spell(fire_elemental_totem) if SpellCooldown(strike) >=3 Spell(ascendance) + + if ArmorSetParts(T15 more 4) ==1 Spell(feral_spirit) if TalentPoints(ancestral_swiftness_talent) and BuffStacks(maelstrom_weapon) <2 Spell(ancestral_swiftness) Spell(feral_spirit) if not TotemPresent(earth) and SpellCooldown(fire_elemental_totem) >=50 Spell(earth_elemental_totem) diff --git a/defaut/Chasseur.lua b/defaut/Chasseur.lua index d74ba1d..c9a78e2 100644 --- a/defaut/Chasseur.lua +++ b/defaut/Chasseur.lua @@ -142,12 +142,11 @@ AddIcon mastery=2 help=main if SpellUsable(blink_strike) Spell(blink_strike) if SpellUsable(fervor) and Focus() <=50 Spell(fervor) if SpellUsable(dire_beast) Spell(dire_beast) - if target.HealthPercent() >90 + if target.HealthPercent() >80 { if not target.DebuffPresent(serpent_sting_aura) Spell(serpent_sting) Spell(chimera_shot) if PreviousSpell(steady_shot) and BuffRemains(steady_focus) <6 Spell(steady_shot) - if BuffStacks(master_marksman_fire) Spell(aimed_shot) Spell(aimed_shot) Spell(steady_shot) } @@ -185,7 +184,7 @@ AddIcon mastery=2 help=cd { Spell(blood_fury) if not BuffPresent(rapid_fire) Spell(rapid_fire) - if target.HealthPercent() >90 + if target.HealthPercent() >80 { Spell(readiness) } diff --git a/defaut/Demoniste.lua b/defaut/Demoniste.lua index 4b06c04..83fbfc4 100644 --- a/defaut/Demoniste.lua +++ b/defaut/Demoniste.lua @@ -40,9 +40,6 @@ Define(grimoire_of_sacrifice 108503) SpellAddBuff(grimoire_of_sacrifice grimoire_of_sacrifice=1) Define(hand_of_guldan 105174) SpellInfo(hand_of_guldan stance=0) -Define(harvest_life 108371) - SpellInfo(harvest_life duration=6 demonicfury=30 tick=1 ) - SpellAddTargetDebuff(harvest_life harvest_life=1) Define(haunt 48181) SpellInfo(haunt duration=8 shards=1 ) SpellAddBuff(haunt haunt=1) @@ -50,7 +47,7 @@ Define(havoc 80240) SpellInfo(havoc duration=15 cd=25 ) SpellAddBuff(havoc havoc=1) Define(hellfire 1949) - SpellInfo(hellfire duration=14 tick=1 ) + SpellInfo(hellfire duration=14 tick=1 canStopChannelling=1 ) SpellAddTargetDebuff(hellfire hellfire=1) Define(immolate 348) SpellInfo(immolate duration=15 tick=3 ) @@ -63,7 +60,7 @@ Define(life_tap 1454) SpellInfo(life_tap mana=-15 ) SpellAddBuff(life_tap life_tap=1) Define(malefic_grasp 103103) - SpellInfo(malefic_grasp duration=4 tick=1 ) + SpellInfo(malefic_grasp duration=4 tick=1 canStopChannelling=1 ) SpellAddTargetDebuff(malefic_grasp malefic_grasp=1) Define(melee 103988) SpellInfo(melee stance=1) @@ -90,6 +87,8 @@ Define(shadowburn 17877) Define(shadowflame 47960) SpellInfo(shadowflame duration=6 tick=1 ) SpellAddTargetDebuff(shadowflame shadowflame=1) +Define(skull_banner 114207) + SpellInfo(skull_banner duration=10 cd=180 ) Define(soul_fire 6353) SpellAddBuff(soul_fire molten_core=-1) Define(soul_swap 86121) @@ -117,33 +116,44 @@ Define(wrathstorm 115831) SpellAddBuff(wrathstorm wrathstorm=1) Define(grimoire_of_sacrifice_talent 15) Define(grimoire_of_service_talent 14) -Define(harvest_life_talent 3) AddIcon mastery=1 help=main { if not InCombat() { if not BuffPresent(spell_power_multiplier any=1) Spell(dark_intent) - unless pet.CreatureFamily(Felhunter) Spell(summon_felhunter) + if not TalentPoints(grimoire_of_sacrifice_talent) or BuffExpires(grimoire_of_sacrifice) unless pet.CreatureFamily(Felhunter) Spell(summon_felhunter) + if TalentPoints(grimoire_of_service_talent) Spell(service_felhunter) } if target.DebuffExpires(magic_vulnerability any=1) Spell(curse_of_the_elements) if TalentPoints(grimoire_of_service_talent) Spell(service_felhunter) - if TalentPoints(grimoire_of_sacrifice_talent) and BuffExpires(grimoire_of_sacrifice) unless pet.CreatureFamily(Felhunter) Spell(summon_felhunter) if BuffPresent(soulburn) Spell(soul_swap) - if not InFlightToTarget(haunt) and target.DebuffRemains(haunt) <TickTime(haunt) +1 +CastTime(haunt) and SoulShards() Spell(haunt) - if not InFlightToTarget(haunt) and target.DebuffRemains(haunt) <TickTime(haunt) +1 +CastTime(haunt) and SoulShards() >1 Spell(haunt) - if target.TicksRemain(agony) <Ticks(agony) /2 and target.DeadIn() >=8 Spell(agony) - if target.TicksRemain(corruption) <Ticks(corruption) /2 and target.DeadIn() >=6 Spell(corruption) - if target.TicksRemain(unstable_affliction) <Ticks(unstable_affliction) /2 +1 and target.DeadIn() >=5 Spell(unstable_affliction) + if not InFlightToTarget(haunt) and target.DebuffRemains(haunt) <CastTime(haunt) +1 +TickTime(haunt) and SoulShards() and target.HealthPercent() <=20 Spell(haunt) + if BuffExpires(dark_soul) and BuffExpires(bloodlust any=1) and ManaPercent() <10 and target.HealthPercent() <=20 Spell(life_tap) if target.HealthPercent() <=20 Spell(drain_soul) - if ManaPercent() <35 Spell(life_tap) + if target.HealthPercent() <=20 Spell(life_tap) + if target.DebuffRemains(agony) <GCD() and target.DebuffRemains(agony) +2 <SpellCooldown(dark_soul) Spell(agony) + if not InFlightToTarget(haunt) and target.DebuffRemains(haunt) <CastTime(haunt) +1 +TickTime(haunt) and {SoulShards() >2 or SpellCooldown(dark_soul) >35 or {SoulShards() >1 and SpellCooldown(dark_soul) <CastTime(haunt) } } and SoulShards() Spell(haunt) + if target.DebuffRemains(corruption) <GCD() and target.DebuffRemains(corruption) <SpellCooldown(dark_soul) Spell(corruption) + if target.DebuffRemains(unstable_affliction) <GCD() +CastTime(unstable_affliction) and target.DebuffRemains(unstable_affliction) <SpellCooldown(dark_soul) Spell(unstable_affliction) + if target.TicksRemain(agony) <=2 and target.DebuffRemains(agony) +2 <SpellCooldown(dark_soul) Spell(agony) + if target.TicksRemain(corruption) <=2 and target.DebuffRemains(corruption) <SpellCooldown(dark_soul) Spell(corruption) + if {target.DebuffRemains(unstable_affliction) -CastTime(unstable_affliction) } /{BuffDuration(unstable_affliction) /Ticks(unstable_affliction) } <=2 and target.DebuffRemains(unstable_affliction) <SpellCooldown(dark_soul) Spell(unstable_affliction) + if SpellPower() >LastSpellSpellPower(agony) and target.TicksRemain(agony) <Ticks(agony) /2 and target.DebuffRemains(agony) +2 <SpellCooldown(dark_soul) Spell(agony) + if SpellPower() >LastSpellSpellPower(corruption) and target.TicksRemain(corruption) <Ticks(corruption) /2 and target.DebuffRemains(corruption) <SpellCooldown(dark_soul) Spell(corruption) + if SpellPower() >LastSpellSpellPower(unstable_affliction) and target.TicksRemain(unstable_affliction) <Ticks(unstable_affliction) /2 and target.DebuffRemains(unstable_affliction) <SpellCooldown(dark_soul) Spell(unstable_affliction) + if BuffExpires(dark_soul) and BuffExpires(bloodlust any=1) and ManaPercent() <50 Spell(life_tap) Spell(malefic_grasp) Spell(life_tap) } AddIcon mastery=1 help=offgcd { - if TalentPoints(grimoire_of_sacrifice_talent) Spell(grimoire_of_sacrifice) - if BuffPresent(dark_soul) and SoulShards() Spell(soulburn) - if {target.TicksRemain(unstable_affliction) <Ticks(unstable_affliction) /2 or target.TicksRemain(corruption) <Ticks(corruption) /2 or target.TicksRemain(agony) <Ticks(agony) /2 } and target.HealthPercent() <=20 and SoulShards() Spell(soulburn) + if not InCombat() + { + if TalentPoints(grimoire_of_sacrifice_talent) Spell(grimoire_of_sacrifice) + } + if BuffPresent(dark_soul) and {target.TicksRemain(agony) <=Ticks(agony) /2 or target.TicksRemain(corruption) <=Ticks(corruption) /2 or target.TicksRemain(unstable_affliction) <=Ticks(unstable_affliction) /2 } and SoulShards() Spell(soulburn) + if {target.TicksRemain(unstable_affliction) <=1 or target.TicksRemain(corruption) <=1 or target.TicksRemain(agony) <=1 } and SoulShards() and target.HealthPercent() <=20 Spell(soulburn) + if SpellPower() >LastSpellSpellPower(unstable_affliction) and target.TicksRemain(unstable_affliction) <=Ticks(unstable_affliction) /2 and SoulShards() and target.HealthPercent() <=20 Spell(soulburn) } AddIcon mastery=1 help=moving { @@ -161,7 +171,6 @@ AddIcon mastery=1 help=aoe if ManaPercent() <70 Spell(life_tap) if not InFlightToTarget(fel_flame) Spell(fel_flame) - if TimeInCombat() <10 and Glyph(56226) Spell(soul_swap) } AddIcon mastery=1 help=cd { @@ -175,29 +184,34 @@ AddIcon mastery=2 help=main if not InCombat() { if not BuffPresent(spell_power_multiplier any=1) Spell(dark_intent) - unless pet.CreatureFamily(Felguard) Spell(summon_felguard) + if not TalentPoints(grimoire_of_sacrifice_talent) or BuffExpires(grimoire_of_sacrifice) unless pet.CreatureFamily(Felguard) Spell(summon_felguard) + if TalentPoints(grimoire_of_service_talent) Spell(service_felguard) } if target.DebuffExpires(magic_vulnerability any=1) Spell(curse_of_the_elements) if TalentPoints(grimoire_of_service_talent) Spell(service_felguard) - if TalentPoints(grimoire_of_sacrifice_talent) and BuffExpires(grimoire_of_sacrifice) unless pet.CreatureFamily(Felguard) Spell(summon_felguard) - if {not target.DebuffPresent(corruption) or target.DebuffRemains(corruption) <TickTime(corruption) } and target.DeadIn() >=6 Spell(corruption) - if {not target.DebuffPresent(doom) or target.DebuffRemains(doom) <TickTime(doom) or {target.TicksRemain(doom) +1 <Ticks(doom) and BuffPresent(dark_soul) } } and target.DeadIn() >=30 Spell(doom) - if target.DebuffRemains(corruption) >20 and BuffExpires(dark_soul) and DemonicFury() <=750 and target.DeadIn() >30 if Stance(1) cancel.Texture(Spell_shadow_demonform) + if BuffPresent(metamorphosis) and target.DebuffPresent(corruption) and target.DebuffRemains(corruption) <1.5 Spell(touch_of_chaos) + if BuffPresent(metamorphosis) and {target.TicksRemain(doom) <=1 or {target.TicksRemain(doom) +1 <Ticks(doom) and BuffPresent(dark_soul) } } and target.DeadIn() >=30 Spell(doom) + if BuffPresent(metamorphosis) and target.DebuffPresent(corruption) and target.DebuffRemains(corruption) <20 Spell(touch_of_chaos) + if BuffPresent(metamorphosis) and BuffExpires(dark_soul) and DemonicFury() <=650 and target.DeadIn() >30 if Stance(1) cancel.Texture(Spell_shadow_demonform) + if BuffPresent(metamorphosis) and BuffStacks(molten_core) and {BuffRemains(dark_soul) <CastTime(shadow_bolt) or BuffRemains(dark_soul) >CastTime(soul_fire) } Spell(soul_fire) + if BuffPresent(metamorphosis) Spell(touch_of_chaos) + if not target.DebuffPresent(corruption) and target.DeadIn() >=6 Spell(corruption) if not InFlightToTarget(hand_of_guldan) and target.DebuffRemains(shadowflame) <1 +CastTime(shadow_bolt) Spell(hand_of_guldan) - if target.DebuffRemains(corruption) <20 Spell(touch_of_chaos) - if BuffStacks(molten_core) Spell(soul_fire) - Spell(touch_of_chaos) - if ManaPercent() <50 Spell(life_tap) + if BuffStacks(molten_core) and {BuffRemains(dark_soul) <CastTime(shadow_bolt) or BuffRemains(dark_soul) >CastTime(soul_fire) } Spell(soul_fire) + if ManaPercent() <60 Spell(life_tap) Spell(shadow_bolt) Spell(life_tap) } AddIcon mastery=2 help=offgcd { - if TalentPoints(grimoire_of_sacrifice_talent) Spell(grimoire_of_sacrifice) + if not InCombat() + { + if TalentPoints(grimoire_of_sacrifice_talent) Spell(grimoire_of_sacrifice) + } Spell(melee) Spell(felstorm) Spell(wrathstorm) - if BuffPresent(dark_soul) or target.DebuffRemains(corruption) <5 or DemonicFury() >=900 or DemonicFury() >=target.DeadIn() *30 unless Stance(1) Spell(metamorphosis) + if {BuffPresent(dark_soul) and DemonicFury() /32 >BuffRemains(dark_soul) } or target.DebuffRemains(corruption) <5 or not target.DebuffPresent(doom) or DemonicFury() >=950 or DemonicFury() /32 >target.DeadIn() unless Stance(1) Spell(metamorphosis) } AddIcon mastery=2 help=moving { @@ -206,15 +220,15 @@ AddIcon mastery=2 help=moving AddIcon mastery=2 help=aoe { - if {not target.DebuffPresent(corruption) or target.DebuffRemains(corruption) <TickTime(corruption) } and target.DeadIn() >30 Spell(corruption) + if BuffPresent(metamorphosis) and target.DebuffRemains(corruption) >10 and DemonicFury() <=650 and BuffExpires(dark_soul) and not target.DebuffPresent(immolation_aura) if Stance(1) cancel.Texture(Spell_shadow_demonform) + if BuffPresent(metamorphosis) Spell(immolation_aura) + if BuffPresent(metamorphosis) and target.DebuffRemains(corruption) <10 Spell(void_ray) + if BuffPresent(metamorphosis) and {not target.DebuffPresent(doom) or target.DebuffRemains(doom) <TickTime(doom) or {target.TicksRemain(doom) +1 <Ticks(doom) and BuffPresent(dark_soul) } } and target.DeadIn() >=30 Spell(doom) + if BuffPresent(metamorphosis) Spell(void_ray) + if not target.DebuffPresent(corruption) and target.DeadIn() >30 Spell(corruption) Spell(hand_of_guldan) - if DemonicFury() >=1000 or DemonicFury() >=31 *target.DeadIn() unless Stance(1) Spell(metamorphosis) - Spell(immolation_aura) - if target.DebuffRemains(corruption) <10 Spell(void_ray) - if {not target.DebuffPresent(doom) or target.DebuffRemains(doom) <40 } and target.DeadIn() >30 Spell(doom) - Spell(void_ray) - if TalentPoints(harvest_life_talent) Spell(harvest_life) - if not TalentPoints(harvest_life_talent) Spell(hellfire) + if target.DebuffRemains(corruption) <10 or BuffPresent(dark_soul) or DemonicFury() >=950 or DemonicFury() /32 >target.DeadIn() unless Stance(1) Spell(metamorphosis) + Spell(hellfire) Spell(life_tap) } @@ -230,32 +244,39 @@ AddIcon mastery=3 help=main if not InCombat() { if not BuffPresent(spell_power_multiplier any=1) Spell(dark_intent) - unless pet.CreatureFamily(Felhunter) Spell(summon_felhunter) + if not TalentPoints(grimoire_of_sacrifice_talent) or BuffExpires(grimoire_of_sacrifice) unless pet.CreatureFamily(Felhunter) Spell(summon_felhunter) + if TalentPoints(grimoire_of_service_talent) Spell(service_felhunter) } if target.DebuffExpires(magic_vulnerability any=1) Spell(curse_of_the_elements) if TalentPoints(grimoire_of_service_talent) Spell(service_felhunter) - if TalentPoints(grimoire_of_sacrifice_talent) and BuffExpires(grimoire_of_sacrifice) unless pet.CreatureFamily(Felhunter) Spell(summon_felhunter) if BurningEmbers() if target.HealthPercent(less 20) Spell(shadowburn) if {target.TicksRemain(immolate) <Ticks(immolate) /2 or target.DebuffExpires(immolate) } and target.DeadIn() >=5 Spell(immolate) - if BurningEmbers() and {BuffStacks(backdraft) <3 or Level() <86 } and {BurningEmbers() >3.5 or BuffRemains(dark_soul) >CastTime(chaos_bolt) } and ManaPercent() <=80 Spell(chaos_bolt) + if Charges(conflagrate) ==2 Spell(conflagrate) + if not target.DebuffPresent(rain_of_fire) and not InFlightToTarget(rain_of_fire) Spell(rain_of_fire) + if BurningEmbers() and {BuffStacks(backdraft) <3 or Level() <86 } and {BurningEmbers() >3.5 or BuffRemains(dark_soul) >CastTime(chaos_bolt) or BuffRemains(skull_banner) >CastTime(chaos_bolt) } Spell(chaos_bolt) Spell(conflagrate) Spell(incinerate) - if BurningEmbers() >2 and ManaPercent() <10 Spell(chaos_bolt) } AddIcon mastery=3 help=offgcd { - if TalentPoints(grimoire_of_sacrifice_talent) Spell(grimoire_of_sacrifice) + if not InCombat() + { + if TalentPoints(grimoire_of_sacrifice_talent) Spell(grimoire_of_sacrifice) + } } AddIcon mastery=3 help=aoe { if not target.DebuffPresent(rain_of_fire) and not InFlightToTarget(rain_of_fire) Spell(rain_of_fire) + if BurningEmbers() >=3.5 and BurningEmbers() and target.HealthPercent() <=20 focus.Spell(havoc) + if BurningEmbers() >=3.5 and BurningEmbers() and BuffStacks(havoc) >=1 if target.HealthPercent(less 20) Spell(shadowburn) if BurningEmbers() and BuffExpires(fire_and_brimstone) Spell(fire_and_brimstone) if BuffPresent(fire_and_brimstone) and not target.DebuffPresent(immolate) Spell(immolate) - if BurningEmbers() and BuffPresent(fire_and_brimstone) Spell(conflagrate) + if BuffPresent(fire_and_brimstone) Spell(conflagrate) if BuffPresent(fire_and_brimstone) Spell(incinerate) if not target.DebuffPresent(immolate) Spell(immolate) + if not target.DebuffPresent(rain_of_fire) and not InFlightToTarget(rain_of_fire) Spell(rain_of_fire) focus.Spell(havoc) } AddIcon mastery=3 help=cd diff --git a/defaut/Druide.lua b/defaut/Druide.lua index 0af0cbd..829c11a 100644 --- a/defaut/Druide.lua +++ b/defaut/Druide.lua @@ -20,8 +20,6 @@ Define(faerie_fire 770) Define(ferocious_bite 22568) SpellInfo(ferocious_bite combo=0 energy=25 ) Define(healing_touch 5185) -Define(heart_of_the_wild 108288) - SpellInfo(heart_of_the_wild duration=45 cd=360 ) Define(hurricane 16914) SpellInfo(hurricane duration=10 ) SpellAddBuff(hurricane hurricane=1) @@ -29,6 +27,8 @@ Define(incarnation 106731) SpellInfo(incarnation duration=30 cd=180 ) Define(lunar_eclipse 48518) SpellAddBuff(lunar_eclipse lunar_eclipse=1) +Define(mangle 33876) + SpellInfo(mangle energy=35 ) Define(mark_of_the_wild 1126) SpellInfo(mark_of_the_wild duration=3600 ) SpellAddBuff(mark_of_the_wild mark_of_the_wild=1) @@ -52,8 +52,6 @@ Define(predatory_swiftness 16974) Define(rake 1822) SpellInfo(rake duration=15 energy=35 tick=3 combo=1 ) SpellAddTargetDebuff(rake rake=1) -Define(ravage 6785) - SpellInfo(ravage energy=45 combo=1 ) Define(rip 1079) SpellInfo(rip duration=16 combo=0 energy=30 tick=2 ) SpellAddTargetDebuff(rip rip=1) @@ -97,11 +95,9 @@ Define(wild_mushroom_detonate 78777) Define(wrath 5176) Define(dream_of_cenarius_talent 17) Define(force_of_nature_talent 12) -Define(heart_of_the_wild_talent 16) Define(incarnation_talent 11) Define(natures_swiftness_talent 4) Define(natures_vigil_talent 18) -Define(soul_of_the_forest_talent 10) AddIcon mastery=1 help=main { if not InCombat() @@ -112,6 +108,7 @@ AddIcon mastery=1 help=main } if TalentPoints(force_of_nature_talent) Spell(treants) if TalentPoints(dream_of_cenarius_talent) and not BuffPresent(dream_of_cenarius_damage) and ManaPercent() >25 Spell(healing_touch) + if BuffStacks(shooting_stars) and {True() or not BuffPresent(solar_eclipse) } Spell(starsurge) if BuffPresent(lunar_eclipse) and {target.DebuffRemains(moonfire) <{BuffRemains(natures_grace) -2 +2 *ArmorSetParts(T14 more 4) } } Spell(moonfire) if BuffPresent(solar_eclipse) and {target.DebuffRemains(sunfire) <{BuffRemains(natures_grace) -2 +2 *ArmorSetParts(T14 more 4) } } Spell(sunfire) if {target.DebuffRemains(moonfire) <{BuffRemains(natures_grace) -2 +2 *ArmorSetParts(T14 more 4) } } Spell(moonfire) @@ -133,7 +130,7 @@ AddIcon mastery=1 help=moving { if target.TicksRemain(moonfire) <2 Spell(moonfire) if target.TicksRemain(sunfire) <2 Spell(sunfire) - if BuffStacks(wild_mushroom) <5 Spell(wild_mushroom) + if BuffStacks(wild_mushroom) <0 Spell(wild_mushroom) if BuffStacks(shooting_stars) Spell(starsurge) if BuffPresent(lunar_eclipse) Spell(moonfire) Spell(sunfire) @@ -148,9 +145,11 @@ AddIcon mastery=1 help=cd { if not BuffPresent(starfall) Spell(starfall) if BuffPresent(celestial_alignment) Spell(berserking) + if BuffPresent(celestial_alignment) or SpellCooldown(celestial_alignment) >30 { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } if TalentPoints(incarnation_talent) and {BuffPresent(lunar_eclipse) or BuffPresent(solar_eclipse) } Spell(incarnation) if {not BuffPresent(lunar_eclipse) and not BuffPresent(solar_eclipse) } and {BuffPresent(chosen_of_elune) or not TalentPoints(incarnation_talent) or SpellCooldown(incarnation) >10 } Spell(celestial_alignment) - if TalentPoints(natures_vigil_talent) and {{TalentPoints(incarnation_talent) and BuffPresent(chosen_of_elune) } or {not TalentPoints(incarnation_talent) and BuffPresent(celestial_alignment) } } Spell(natures_vigil) + if PTR() ==1 and TalentPoints(natures_vigil_talent) Spell(natures_vigil) + if not PTR() ==1 and TalentPoints(natures_vigil_talent) and {{TalentPoints(incarnation_talent) and BuffPresent(chosen_of_elune) } or {not TalentPoints(incarnation_talent) and BuffPresent(celestial_alignment) } } Spell(natures_vigil) } AddIcon mastery=2 help=main { @@ -160,69 +159,115 @@ AddIcon mastery=2 help=main if not BuffPresent(dream_of_cenarius_damage) and TalentPoints(dream_of_cenarius_talent) Spell(healing_touch) unless Stance(3) Spell(cat_form) Spell(savage_roar) - if TalentPoints(force_of_nature_talent) Spell(treants) } - - if target.DebuffStacks(weakened_armor any=1) <3 if CheckBoxOn(faerie_fire_check) Spell(faerie_fire) - if BuffExpires(savage_roar) Spell(savage_roar) if target.IsInterruptible() Spell(skull_bash_cat) - if TalentPoints(dream_of_cenarius_talent) and BuffPresent(predatory_swiftness) and ComboPoints() >=4 and BuffStacks(dream_of_cenarius_damage) <2 Spell(healing_touch) - if TalentPoints(dream_of_cenarius_talent) and BuffPresent(predatory_swiftness) and BuffRemains(predatory_swiftness) <=1 and BuffExpires(dream_of_cenarius_damage) Spell(healing_touch) - if TalentPoints(dream_of_cenarius_talent) and PreviousSpell(natures_swiftness) Spell(healing_touch) - if ComboPoints() >=1 and target.DebuffPresent(rip) and target.DebuffRemains(rip) <=2 and target.HealthPercent() <=25 Spell(ferocious_bite) - if BuffRemains(savage_roar) <=1 or {BuffRemains(savage_roar) <=3 and ComboPoints() >0 } and target.HealthPercent() <25 Spell(savage_roar) - if ComboPoints() >=5 and BuffPresent(virmens_bite) and BuffPresent(dream_of_cenarius_damage) and LastSpellDamageMultiplier(rip) <DamageMultiplier(rip) and target.HealthPercent() <=25 and target.DeadIn() >30 Spell(rip) + if BuffPresent(predatory_swiftness) and BuffRemains(predatory_swiftness) <=1.5 and BuffExpires(dream_of_cenarius_damage) Spell(healing_touch) + if BuffExpires(savage_roar) Spell(savage_roar) + if target.DebuffStacks(weakened_armor any=1) <3 if CheckBoxOn(faerie_fire_check) Spell(faerie_fire) + if BuffPresent(predatory_swiftness) and ComboPoints() >=4 and BuffStacks(dream_of_cenarius_damage) <2 Spell(healing_touch) + if BuffPresent(natures_swiftness) Spell(healing_touch) + if ComboPoints() >=1 and target.DebuffPresent(rip) and target.DebuffRemains(rip) <=3 and target.HealthPercent() <=25 Spell(ferocious_bite) + if {target.DeadIn() <=4 and ComboPoints() >=5 } or {target.DeadIn() <=1 and ComboPoints() >=3 } Spell(ferocious_bite) + if BuffRemains(savage_roar) <=3 and ComboPoints() >0 and target.HealthPercent() <25 Spell(savage_roar) + if ComboPoints() >=5 and BuffPresent(virmens_bite) and BuffPresent(dream_of_cenarius_damage) and target.HealthPercent() <=25 and target.DeadIn() >30 Spell(rip) if ComboPoints() >=5 and target.DebuffPresent(rip) and target.HealthPercent() <=25 Spell(ferocious_bite) - if ComboPoints() >=5 and target.DeadIn() >=6 and target.DebuffRemains(rip) <2.0 and BuffPresent(dream_of_cenarius_damage) Spell(rip) - if ComboPoints() >=5 and target.DeadIn() >=6 and target.DebuffRemains(rip) <6.0 and BuffPresent(dream_of_cenarius_damage) and LastSpellDamageMultiplier(rip) <=DamageMultiplier(rip) and target.HealthPercent() >25 Spell(rip) - if BuffRemains(savage_roar) <=1 or {BuffRemains(savage_roar) <=3 and ComboPoints() >0 } Spell(savage_roar) - if ComboPoints() >=5 and target.DeadIn() >=6 and target.DebuffRemains(rip) <2.0 and {BuffPresent(berserk) or target.DebuffRemains(rip) <=SpellCooldown(tigers_fury) } Spell(rip) - if target.DebuffPresent(rip) and target.DebuffRemains(rip) <=4 Spell(ravage usable=1) - if target.DebuffPresent(rip) and target.DebuffRemains(rip) <=4 Spell(shred) - if {target.DeadIn() <=4 and ComboPoints() >=5 } or target.DeadIn() <=1 Spell(ferocious_bite) - if BuffRemains(savage_roar) <=6 and ComboPoints() >=5 and {{{target.DebuffRemains(rip) +{8 -{target.TicksAdded(rip) *2 } } } >6 and {TalentPoints(soul_of_the_forest_talent) or BuffPresent(berserk) } } or {target.DebuffRemains(rip) +{8 -{target.TicksAdded(rip) *2 } } } >10 } and target.DebuffPresent(rip) Spell(savage_roar) - if ComboPoints() >=5 and {target.DebuffRemains(rip) +{8 -{target.TicksAdded(rip) *2 } } } >6 and target.DebuffPresent(rip) and {TalentPoints(soul_of_the_forest_talent) or BuffPresent(berserk) } Spell(ferocious_bite) - if ComboPoints() >=5 and {target.DebuffRemains(rip) +{8 -{target.TicksAdded(rip) *2 } } } >10 and target.DebuffPresent(rip) Spell(ferocious_bite) - if target.DeadIn() >=8.5 and BuffPresent(dream_of_cenarius_damage) and {LastSpellDamageMultiplier(rake) <DamageMultiplier(rake) } Spell(rake) - if target.DeadIn() >=8.5 and target.DebuffRemains(rake) <3.0 and {BuffPresent(berserk) or {SpellCooldown(tigers_fury) +0.8 } >=target.DebuffRemains(rake) } Spell(rake) - if BuffStacks(omen_of_clarity) Spell(ravage usable=1) - if BuffStacks(omen_of_clarity) Spell(shred) - if BuffRemains(predatory_swiftness) >1 and not {Energy() +{EnergyRegen() *{BuffRemains(predatory_swiftness) -1 } } <{4 -ComboPoints() } *20 } Spell(ravage usable=1) - if {{ComboPoints() <5 and target.DebuffRemains(rip) <3.0 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } } Spell(ravage usable=1) - if target.DeadIn() <=8.5 Spell(ravage usable=1) - if BuffRemains(predatory_swiftness) >1 and not {Energy() +{EnergyRegen() *{BuffRemains(predatory_swiftness) -1 } } <{4 -ComboPoints() } *20 } Spell(shred) - if {{ComboPoints() <5 and target.DebuffRemains(rip) <3.0 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } } Spell(shred) - if target.DeadIn() <=8.5 Spell(shred) - if {BuffPresent(tigers_fury) or BuffPresent(berserk) } Spell(ravage usable=1) - if SpellCooldown(tigers_fury) <=3.0 Spell(ravage usable=1) - if TimeToMaxEnergy() <=1.0 Spell(ravage usable=1) - if {BuffPresent(tigers_fury) or BuffPresent(berserk) } Spell(shred) - if SpellCooldown(tigers_fury) <=3.0 Spell(shred) - if TimeToMaxEnergy() <=1.0 Spell(shred) - if TalentPoints(force_of_nature_talent) Spell(treants) - + if ComboPoints() >=5 and target.DeadIn() >=6 and target.DebuffRemains(rip) <2 and BuffPresent(dream_of_cenarius_damage) Spell(rip) + if ComboPoints() >=5 and target.DeadIn() >=6 and target.DebuffRemains(rip) <2 and {BuffPresent(berserk) or target.DebuffRemains(rip) +1.9 <=SpellCooldown(tigers_fury) } Spell(rip) + if BuffRemains(savage_roar) <=3 and ComboPoints() >0 and BuffRemains(savage_roar) +2 >target.DebuffRemains(rip) Spell(savage_roar) + if BuffRemains(savage_roar) <=6 and ComboPoints() >=5 and BuffRemains(savage_roar) +2 <=target.DebuffRemains(rip) Spell(savage_roar) + if ComboPoints() >=5 and target.DebuffRemains(rip) >6 Spell(ferocious_bite) + if target.DebuffRemains(rake) <9 and BuffPresent(dream_of_cenarius_damage) Spell(rake) + if target.DebuffRemains(rake) <3 Spell(rake) + if BuffStacks(omen_of_clarity) + { + if BuffStacks(omen_of_clarity) Spell(shred) + if BuffPresent(berserk) Spell(shred) + if {{ComboPoints() <5 and target.DebuffRemains(rip) <3.0 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } } Spell(mangle) + Spell(shred) + } + if {ComboPoints() <5 and target.DebuffRemains(rip) <3 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } + { + if BuffStacks(omen_of_clarity) Spell(shred) + if BuffPresent(berserk) Spell(shred) + if {{ComboPoints() <5 and target.DebuffRemains(rip) <3.0 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } } Spell(mangle) + Spell(shred) + } + if BuffRemains(predatory_swiftness) >1 + { + if BuffStacks(omen_of_clarity) Spell(shred) + if BuffPresent(berserk) Spell(shred) + if {{ComboPoints() <5 and target.DebuffRemains(rip) <3.0 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } } Spell(mangle) + Spell(shred) + } + if target.DeadIn() <=8.5 + { + if BuffStacks(omen_of_clarity) Spell(shred) + if BuffPresent(berserk) Spell(shred) + if {{ComboPoints() <5 and target.DebuffRemains(rip) <3.0 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } } Spell(mangle) + Spell(shred) + } + if BuffPresent(tigers_fury) or BuffPresent(berserk) + { + if BuffStacks(omen_of_clarity) Spell(shred) + if BuffPresent(berserk) Spell(shred) + if {{ComboPoints() <5 and target.DebuffRemains(rip) <3.0 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } } Spell(mangle) + Spell(shred) + } + if SpellCooldown(tigers_fury) <=3 + { + if BuffStacks(omen_of_clarity) Spell(shred) + if BuffPresent(berserk) Spell(shred) + if {{ComboPoints() <5 and target.DebuffRemains(rip) <3.0 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } } Spell(mangle) + Spell(shred) + } + if TimeToMaxEnergy() <=1 + { + if BuffStacks(omen_of_clarity) Spell(shred) + if BuffPresent(berserk) Spell(shred) + if {{ComboPoints() <5 and target.DebuffRemains(rip) <3.0 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } } Spell(mangle) + Spell(shred) + } } AddIcon mastery=2 help=offgcd { - - if Energy() <=35 and not BuffStacks(omen_of_clarity) Spell(tigers_fury) - if BuffStacks(omen_of_clarity) and target.DebuffRemains(thrash) <3 and BuffExpires(dream_of_cenarius_damage) Spell(thrash) - if TalentPoints(natures_swiftness_talent) and TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and BuffExpires(predatory_swiftness) and ComboPoints() >=5 and target.HealthPercent() <=25 Spell(natures_swiftness) - if TalentPoints(natures_swiftness_talent) and TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and BuffExpires(predatory_swiftness) and ComboPoints() >=5 and target.DebuffRemains(rip) <3 and {BuffPresent(berserk) or target.DebuffRemains(rip) <=SpellCooldown(tigers_fury) } and target.HealthPercent() >25 Spell(natures_swiftness) - if BuffStacks(omen_of_clarity) and target.DebuffRemains(thrash) <3 Spell(thrash) - if ComboPoints() >=5 and target.DebuffRemains(thrash) <6 and {BuffPresent(tigers_fury) or BuffPresent(berserk) } Spell(thrash) - if ComboPoints() >=5 and target.DebuffRemains(thrash) <6 and SpellCooldown(tigers_fury) <=3.0 Spell(thrash) - if ComboPoints() >=5 and target.DebuffRemains(thrash) <6 and TimeToMaxEnergy() <=1.0 Spell(thrash) - + if {Energy() <=35 and not BuffStacks(omen_of_clarity) } Spell(tigers_fury) + if target.DeadIn() >=6 and BuffStacks(omen_of_clarity) and target.DebuffRemains(thrash) <3 Spell(thrash) + if BuffExpires(dream_of_cenarius_damage) and BuffExpires(predatory_swiftness) and ComboPoints() >=5 and target.HealthPercent() <=25 Spell(natures_swiftness) + if BuffExpires(dream_of_cenarius_damage) and BuffExpires(predatory_swiftness) and ComboPoints() >=5 and target.DebuffRemains(rip) <3 and {BuffPresent(berserk) or target.DebuffRemains(rip) +1.9 <=SpellCooldown(tigers_fury) } Spell(natures_swiftness) + if target.DebuffRemains(thrash) <3 and target.DeadIn() >=6 and {target.DebuffRemains(rip) >=4 or BuffPresent(berserk) } Spell(thrash) + if BuffStacks(omen_of_clarity) + { + if target.DebuffRemains(thrash) <3 and target.DeadIn() >=6 and ComboPoints() >=5 Spell(thrash) + } + if {ComboPoints() <5 and target.DebuffRemains(rip) <3 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } + { + if target.DebuffRemains(thrash) <3 and target.DeadIn() >=6 and ComboPoints() >=5 Spell(thrash) + } + if BuffRemains(predatory_swiftness) >1 + { + if target.DebuffRemains(thrash) <3 and target.DeadIn() >=6 and ComboPoints() >=5 Spell(thrash) + } + if target.DeadIn() <=8.5 + { + if target.DebuffRemains(thrash) <3 and target.DeadIn() >=6 and ComboPoints() >=5 Spell(thrash) + } + if BuffPresent(tigers_fury) or BuffPresent(berserk) + { + if target.DebuffRemains(thrash) <3 and target.DeadIn() >=6 and ComboPoints() >=5 Spell(thrash) + } + if SpellCooldown(tigers_fury) <=3 + { + if target.DebuffRemains(thrash) <3 and target.DeadIn() >=6 and ComboPoints() >=5 Spell(thrash) + } + if TimeToMaxEnergy() <=1 + { + if target.DebuffRemains(thrash) <3 and target.DeadIn() >=6 and ComboPoints() >=5 Spell(thrash) + } } AddIcon mastery=2 help=cd { - - { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } - if BuffPresent(tigers_fury) or {target.DeadIn() <15 and SpellCooldown(tigers_fury) >6 } Spell(berserk) - if BuffPresent(berserk) and TalentPoints(natures_vigil_talent) Spell(natures_vigil) - if BuffPresent(berserk) and TalentPoints(incarnation_talent) Spell(incarnation) Spell(berserking) - + { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } + if BuffPresent(tigers_fury) or {target.DeadIn() <18 and SpellCooldown(tigers_fury) >6 } Spell(berserk) } ]] \ No newline at end of file diff --git a/defaut/Guerrier.lua b/defaut/Guerrier.lua index 223428f..c8f0f2d 100644 --- a/defaut/Guerrier.lua +++ b/defaut/Guerrier.lua @@ -12,11 +12,10 @@ Define(berserker_rage 18499) Define(bladestorm 46924) SpellInfo(bladestorm duration=6 cd=90 ) SpellAddBuff(bladestorm bladestorm=1) -Define(bloodbath 12292) - SpellInfo(bloodbath duration=12) - SpellAddBuff(bloodbath bloodbath=1) -Define(bloodsurge 46916) - SpellInfo(bloodsurge duration=10) +Define(bloodbath 113344) + SpellInfo(bloodbath duration=6 tick=1 ) + SpellAddTargetDebuff(bloodbath bloodbath=1) +Define(bloodsurge 46915) Define(bloodthirst 23881) SpellInfo(bloodthirst rage=-10 cd=4.5 ) Define(cleave 845) @@ -90,6 +89,8 @@ Define(shield_wall 871) Define(shockwave 46968) SpellInfo(shockwave cd=20 ) SpellAddBuff(shockwave shockwave=1) +Define(skull_banner 114207) + SpellInfo(skull_banner duration=10 cd=180 ) Define(slam 1464) SpellInfo(slam rage=30 ) Define(storm_bolt 107570) @@ -139,16 +140,13 @@ AddIcon mastery=1 help=main Spell(mortal_strike) if target.DebuffRemains(colossus_smash) <=1.5 Spell(colossus_smash) if target.HealthPercent(less 20) Spell(execute) + Spell(overpower usable=1) if TalentPoints(storm_bolt_talent) Spell(storm_bolt) - if SpellUsable(overpower) Spell(overpower usable=1) if TalentPoints(shockwave_talent) Spell(shockwave) if TalentPoints(dragon_roar_talent) Spell(dragon_roar) - if {Rage() >=70 or target.DebuffPresent(colossus_smash) } and target.HealthPercent() >=20 Spell(slam) - Spell(heroic_throw) - if Rage() <70 and not target.DebuffPresent(colossus_smash) Spell(battle_shout) - if target.HealthPercent() >=20 Spell(slam) if TalentPoints(impending_victory_talent) and target.HealthPercent() >=20 Spell(impending_victory) - if Rage() <70 Spell(battle_shout) + if Rage() >=40 and target.HealthPercent() >=20 Spell(slam) + if Rage() <90 Spell(battle_shout) } AddIcon mastery=1 help=offgcd { @@ -157,7 +155,8 @@ AddIcon mastery=1 help=offgcd if not BuffPresent(enrage) Spell(berserker_rage) if target.DebuffPresent(colossus_smash) if CheckBoxOn(heroic_leap_check) Spell(heroic_leap) if Rage() >=40 Spell(deadly_calm) - if {{BuffPresent(taste_for_blood) and BuffRemains(taste_for_blood) <=2 } or {BuffStacks(taste_for_blood) ==5 and SpellUsable(overpower) } or {BuffPresent(taste_for_blood) and target.DebuffRemains(colossus_smash) <=2 and not SpellCooldown(colossus_smash) ==0 } or BuffPresent(deadly_calm) or Rage() >110 } and target.HealthPercent() >=20 and target.DebuffPresent(colossus_smash) Spell(heroic_strike) + if not PTR() and {{BuffPresent(taste_for_blood) and BuffRemains(taste_for_blood) <=2 } or {BuffStacks(taste_for_blood) ==5 and SpellUsable(overpower) } or {BuffPresent(taste_for_blood) and target.DebuffRemains(colossus_smash) <=2 and not SpellCooldown(colossus_smash) ==0 } or BuffPresent(deadly_calm) or Rage() >110 } and target.HealthPercent() >=20 and target.DebuffPresent(colossus_smash) Spell(heroic_strike) + if PTR() and {{{target.DebuffPresent(colossus_smash) and Rage() >=70 } } and target.HealthPercent() >=20 } or Rage() >=110 Spell(heroic_strike) } AddIcon mastery=1 help=aoe { @@ -174,8 +173,8 @@ AddIcon mastery=1 help=cd { if {{target.DebuffRemains(colossus_smash) >=5 or SpellCooldown(colossus_smash) <=4 } and {{not TalentPoints(avatar_talent) or not ArmorSetParts(T14 more 4) } and {{target.HealthPercent() <20 or target.DeadIn() >315 or {target.DeadIn() >165 and ArmorSetParts(T14 more 4) } } } or {TalentPoints(avatar_talent) and ArmorSetParts(T14 more 4) and BuffPresent(avatar) } } } or target.DeadIn() <=18 Spell(recklessness) if TalentPoints(avatar_talent) and {{{SpellCooldown(recklessness) >=180 or BuffPresent(recklessness) } or {target.HealthPercent() >=20 and target.DeadIn() >195 } or {target.HealthPercent() <20 and ArmorSetParts(T14 more 4) } } or target.DeadIn() <=20 } Spell(avatar) + if {BuffPresent(recklessness) and not ArmorSetParts(T15 more 4) } or {not BuffPresent(recklessness) and ArmorSetParts(T15 more 4) } Spell(skull_banner) if not TalentPoints(bloodbath_talent) or {TalentPoints(bloodbath_talent) and BuffPresent(bloodbath) } { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } - if TalentPoints(bladestorm_talent) and SpellCooldown(colossus_smash) >=5 and not target.DebuffPresent(colossus_smash) and SpellCooldown(bloodthirst) >=2 and target.HealthPercent() >=20 Spell(bladestorm) } AddIcon mastery=2 help=main { @@ -187,11 +186,11 @@ AddIcon mastery=2 help=main if not {target.HealthPercent() <20 and target.DebuffPresent(colossus_smash) and Rage() >=30 } Spell(bloodthirst) if BuffStacks(bloodsurge) and target.HealthPercent() >=20 and SpellCooldown(bloodthirst) <=1 Spell(wild_strike) if not {target.HealthPercent() <20 and target.DebuffPresent(colossus_smash) and Rage() >=30 } and SpellCooldown(bloodthirst) <=1 and SpellCooldown(bloodthirst) if CheckBoxOn(showwait) Texture(Spell_nature_timestop) + if TalentPoints(dragon_roar_talent) and {not target.DebuffPresent(colossus_smash) and {BuffPresent(bloodbath) or not TalentPoints(bloodbath_talent) } } Spell(dragon_roar) Spell(colossus_smash) - if TalentPoints(dragon_roar_talent) and {not target.DebuffPresent(colossus_smash) and BuffPresent(bloodbath) } Spell(dragon_roar) if target.HealthPercent(less 20) Spell(execute) if TalentPoints(storm_bolt_talent) Spell(storm_bolt) - if BuffStacks(raging_blow_aura) ==2 or {BuffStacks(raging_blow_aura) and {target.HealthPercent() <=20 or target.DebuffPresent(colossus_smash) or BuffPresent(bloodbath) or BuffPresent(recklessness) or SpellCooldown(colossus_smash) >=6 or {SpellCooldown(bloodthirst) >=1 and BuffRemains(raging_blow_aura) <=6 } } } Spell(raging_blow) + if BuffStacks(raging_blow_aura) ==2 or {BuffStacks(raging_blow_aura) and {target.DebuffPresent(colossus_smash) or SpellCooldown(colossus_smash) >=3 or {SpellCooldown(bloodthirst) >=1 and BuffRemains(raging_blow_aura) <=3 } } } Spell(raging_blow) if BuffStacks(bloodsurge) and target.HealthPercent() >=20 Spell(wild_strike) if TalentPoints(shockwave_talent) Spell(shockwave) Spell(heroic_throw) @@ -206,9 +205,10 @@ AddIcon mastery=2 help=offgcd if target.IsInterruptible() Spell(pummel) if TalentPoints(bloodbath_talent) and {target.DebuffRemains(colossus_smash) >=5 and {target.DeadIn() >79 or {target.DeadIn() <79 and target.HealthPercent() <20 and {BuffPresent(recklessness) or SpellCooldown(recklessness) >={target.DeadIn() -25 } } } } } Spell(bloodbath) if not {BuffStacks(enrage) or {BuffStacks(raging_blow_aura) ==2 and target.HealthPercent() >=20 } } or {BuffRemains(recklessness) >=10 and not BuffStacks(raging_blow_aura) } Spell(berserker_rage) - if {not TalentPoints(bloodbath_talent) and Rage() >=40 } or {TalentPoints(bloodbath_talent) and BuffPresent(bloodbath) and Rage() >=40 } Spell(deadly_calm) if target.DebuffPresent(colossus_smash) if CheckBoxOn(heroic_leap_check) Spell(heroic_leap) + if {not TalentPoints(bloodbath_talent) and Rage() >=40 } or {TalentPoints(bloodbath_talent) and BuffPresent(bloodbath) and Rage() >=40 } Spell(deadly_calm) if {{{target.DebuffPresent(colossus_smash) and Rage() >=40 } or {BuffPresent(deadly_calm) and Rage() >=30 } } and target.HealthPercent() >=20 } or Rage() >=110 Spell(heroic_strike) + if {{target.DebuffPresent(colossus_smash) and Rage() >=40 } and target.HealthPercent() >=20 } or Rage() >=110 Spell(heroic_strike) } AddIcon mastery=2 help=aoe { @@ -225,6 +225,7 @@ AddIcon mastery=2 help=cd { if {{target.DebuffRemains(colossus_smash) >=5 or SpellCooldown(colossus_smash) <=4 } and {{not TalentPoints(avatar_talent) or not ArmorSetParts(T14 more 4) } and {{target.HealthPercent() <20 or target.DeadIn() >315 or {target.DeadIn() >165 and ArmorSetParts(T14 more 4) } } } or {TalentPoints(avatar_talent) and ArmorSetParts(T14 more 4) and BuffPresent(avatar) } } } and {not TalentPoints(bloodbath_talent) or SpellCooldown(bloodbath) <=3 or {{target.DeadIn() >315 and target.DeadIn() <{315 +SpellCooldown(bloodbath) } } or {ArmorSetParts(T14 more 4) and target.DeadIn() >165 and target.DeadIn() <{165 +SpellCooldown(bloodbath) } } } } or target.DeadIn() <=18 Spell(recklessness) if TalentPoints(avatar_talent) and {{{SpellCooldown(recklessness) >=180 or BuffPresent(recklessness) } or {target.HealthPercent() >=20 and target.DeadIn() >195 } or {target.HealthPercent() <20 and ArmorSetParts(T14 more 4) } } or target.DeadIn() <=20 } Spell(avatar) + if {BuffPresent(recklessness) and not ArmorSetParts(T15 more 4) } or {not BuffPresent(recklessness) and ArmorSetParts(T15 more 4) } Spell(skull_banner) if not TalentPoints(bloodbath_talent) or {TalentPoints(bloodbath_talent) and BuffPresent(bloodbath) } { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } if TalentPoints(bladestorm_talent) and SpellCooldown(colossus_smash) >=5 and not target.DebuffPresent(colossus_smash) and SpellCooldown(bloodthirst) >=2 and target.HealthPercent() >=20 Spell(bladestorm) } @@ -244,7 +245,8 @@ AddIcon mastery=3 help=main AddIcon mastery=3 help=offgcd { if target.IsInterruptible() Spell(pummel) - if BuffPresent(ultimatum) Spell(heroic_strike) + Spell(deadly_calm) + if {{BuffPresent(ultimatum) or {BuffPresent(deadly_calm) and Rage() >=30 } } and target.HealthPercent() >=20 } Spell(heroic_strike) if Rage() <90 Spell(berserker_rage) if BuffExpires(shield_block_aura) Spell(shield_block) if BuffExpires(shield_barrier) and Rage() >80 Spell(shield_barrier) @@ -267,5 +269,6 @@ AddIcon mastery=3 help=cd if TalentPoints(avatar_talent) Spell(avatar) Spell(recklessness) if BuffExpires(shield_block_aura) Spell(shield_wall) + { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } } ]] \ No newline at end of file diff --git a/defaut/Mage.lua b/defaut/Mage.lua index 62dfb16..52dcc43 100644 --- a/defaut/Mage.lua +++ b/defaut/Mage.lua @@ -23,12 +23,7 @@ Define(arcane_power 12042) Define(berserking 26297) SpellInfo(berserking duration=10 cd=180 ) SpellAddBuff(berserking berserking=1) -Define(blood_fury 20572) - SpellInfo(blood_fury duration=15 cd=120 ) - SpellAddBuff(blood_fury blood_fury=1) Define(brain_freeze 44549) -Define(cold_snap 11958) - SpellInfo(cold_snap cd=180 ) Define(combustion 11129) SpellInfo(combustion cd=45 ) Define(conjure_mana_gem 759) @@ -68,7 +63,9 @@ Define(ignite 12654) SpellAddTargetDebuff(ignite ignite=1) Define(inferno_blast 108853) SpellInfo(inferno_blast cd=8 ) -Define(invocation 114003) +Define(invokers_energy 116257) + SpellInfo(invokers_energy duration=40 ) + SpellAddBuff(invokers_energy invokers_energy=1) Define(living_bomb 44457) SpellInfo(living_bomb duration=12 tick=3 ) SpellAddTargetDebuff(living_bomb living_bomb=1) @@ -91,6 +88,7 @@ Define(pyroblast_aura 48108) SpellAddBuff(pyroblast_aura pyroblast_aura=1) Define(rune_of_power 116011) SpellInfo(rune_of_power duration=60 ) +Define(scorch 2948) Define(time_warp 35346) SpellInfo(time_warp duration=6 cd=15 ) SpellAddBuff(time_warp time_warp=1) @@ -107,15 +105,14 @@ AddIcon mastery=1 help=main Spell(rune_of_power) } if ItemCharges(36799) <3 and False() Spell(conjure_mana_gem) - if BuffPresent(alter_time) and BuffPresent(presence_of_mind) Spell(arcane_blast) + if BuffPresent(alter_time) and BuffRemains(alter_time) <2 Spell(arcane_barrage) if BuffPresent(alter_time) or BuffStacks(arcane_missiles_aura) ==2 Spell(arcane_missiles) - if BuffExpires(rune_of_power) and BuffExpires(alter_time) Spell(rune_of_power) + if BuffRemains(rune_of_power) <=2 and BuffExpires(alter_time) Spell(rune_of_power) if {not target.DebuffPresent(living_bomb) or target.DebuffRemains(living_bomb) <TickTime(living_bomb) } and target.DeadIn() >TickTime(living_bomb) *3 Spell(living_bomb) - if ManaPercent() >92 Spell(arcane_blast) + if ManaPercent() >92 or BuffPresent(alter_time) or BuffRemains(arcane_charge) <3 Spell(arcane_blast) if BuffStacks(arcane_missiles_aura) and {SpellCooldown(alter_time_activate) >4 or target.DeadIn() <10 } Spell(arcane_missiles) - if BuffPresent(arcane_charge) and BuffExpires(arcane_power) and BuffExpires(alter_time) and target.DeadIn() >25 and {SpellCooldown(mana_gem) >10 or ItemCharges(36799) ==0 } Spell(arcane_barrage) - if BuffStacks(arcane_charge) >=4 and BuffExpires(arcane_missiles_aura) and target.DeadIn() >25 Spell(arcane_barrage) - Spell(arcane_blast) + if {SpellCooldown(mana_gem) <=9 and not ManaPercent() <=80 } or target.DeadIn() <30 Spell(arcane_blast) + if BuffExpires(alter_time) Spell(scorch) } AddIcon mastery=1 help=offgcd { @@ -123,22 +120,28 @@ AddIcon mastery=1 help=offgcd cancel.Spell(alter_time) if target.HealthPercent() <25 or TimeInCombat() >5 Spell(time_warp) if BuffExpires(alter_time) and BuffPresent(arcane_power) and BuffStacks(arcane_missiles_aura) ==2 and BuffStacks(arcane_charge) >3 and BuffRemains(rune_of_power) >6 Spell(alter_time) - if ManaPercent() <84 and BuffExpires(alter_time) Spell(mana_gem) + if ManaPercent() <80 and BuffExpires(alter_time) Spell(mana_gem) } AddIcon mastery=1 help=moving { - Spell(arcane_barrage) + if BuffPresent(arcane_charge) and BuffRemains(arcane_charge) <=2 Spell(arcane_barrage) + Spell(scorch) Spell(fire_blast) Spell(ice_lance) } AddIcon mastery=1 help=cd { + if not InCombat() + { + Spell(mirror_image) + } if target.DeadIn() <18 Spell(arcane_power) if target.DeadIn() <18 Spell(berserking) + if BuffExpires(alter_time) { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } + if SpellCooldown(alter_time_activate) >45 or target.DeadIn() <25 and BuffRemains(rune_of_power) >20 { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } Spell(mirror_image) if BuffRemains(rune_of_power) >15 and BuffExpires(alter_time) and BuffStacks(arcane_charge) >1 Spell(arcane_power) if BuffRemains(rune_of_power) >10 and BuffExpires(alter_time) and BuffStacks(arcane_charge) >2 Spell(berserking) - if BuffExpires(alter_time) Spell(presence_of_mind) } AddIcon mastery=2 help=main { @@ -152,6 +155,7 @@ AddIcon mastery=2 help=main if BuffPresent(presence_of_mind) and SpellCooldown(alter_time_activate) >4 Spell(pyroblast) if BuffStacks(heating_up) and BuffExpires(pyroblast_aura) Spell(inferno_blast) if {not target.DebuffPresent(living_bomb) or target.DebuffRemains(living_bomb) <TickTime(living_bomb) } and target.DeadIn() >TickTime(living_bomb) *3 Spell(living_bomb) + if not target.DebuffPresent(pyroblast_aura) Spell(pyroblast) Spell(fireball) } AddIcon mastery=2 help=offgcd @@ -159,11 +163,10 @@ AddIcon mastery=2 help=offgcd if target.IsInterruptible() if target.IsInterruptible() Spell(counterspell) cancel.Spell(alter_time) if target.HealthPercent() <25 or TimeInCombat() >5 Spell(time_warp) - if target.DeadIn() <12 Spell(combustion) - if ArmorSetParts(T14 more 4) and target.DebuffPresent(ignite) and target.DebuffPresent(pyroblast_aura) Spell(combustion) - if not ArmorSetParts(T14 more 4) and LastSpellDamage(ignite) >=12000 and target.DebuffPresent(pyroblast_aura) Spell(combustion) + if target.DeadIn() <22 Spell(combustion) + if LastSpellDamage(ignite) >={{CritDamage(fireball) +CritDamage(inferno_blast) +Damage(pyroblast) } *{Mastery() /100} *0.5 } and target.DebuffPresent(pyroblast_aura) Spell(combustion) if ManaPercent() <84 and BuffExpires(alter_time) Spell(mana_gem) - if BuffExpires(alter_time) and BuffStacks(pyroblast_aura) and BuffRemains(invocation) >6 Spell(alter_time) + if BuffExpires(alter_time) and BuffStacks(pyroblast_aura) and BuffRemains(invokers_energy) >6 Spell(alter_time) } AddIcon mastery=2 help=moving { @@ -175,10 +178,13 @@ AddIcon mastery=2 help=cd if not InCombat() { Spell(evocation) + Spell(mirror_image) } - if BuffRemains(invocation) >10 and BuffExpires(alter_time) and ManaPercent() >28 Spell(berserking) - if BuffExpires(invocation) and BuffExpires(alter_time) Spell(evocation) + if BuffRemains(invokers_energy) >10 and BuffExpires(alter_time) and ManaPercent() >28 Spell(berserking) + if BuffExpires(invokers_energy) and BuffExpires(alter_time) Spell(evocation) if target.DeadIn() <18 Spell(berserking) + if BuffExpires(alter_time) { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } + if SpellCooldown(alter_time_activate) >45 or target.DeadIn() <25 and BuffRemains(invokers_energy) >20 { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } if ManaPercent() <10 and target.DeadIn() >=30 Spell(evocation) Spell(mirror_image) if BuffExpires(alter_time) Spell(presence_of_mind) @@ -194,7 +200,7 @@ AddIcon mastery=3 help=main if BuffPresent(alter_time) and BuffPresent(brain_freeze) Spell(frostfire_bolt) if BuffPresent(alter_time) and BuffStacks(fingers_of_frost_aura) Spell(ice_lance) if BuffPresent(alter_time) and BuffPresent(presence_of_mind) Spell(frostbolt) - if target.DeadIn() >=4 and BuffStacks(fingers_of_frost_aura) <2 and SpellCooldown(icy_veins) <GCD() and BuffRemains(invocation) >20 and BuffExpires(alter_time) Spell(frozen_orb) + if target.DeadIn() >=4 and BuffStacks(fingers_of_frost_aura) <2 and SpellCooldown(icy_veins) <GCD() and BuffRemains(invokers_energy) >20 and BuffExpires(alter_time) Spell(frozen_orb) if BuffPresent(brain_freeze) and {{target.DebuffPresent(frost_bomb) and target.DebuffRemains(frost_bomb) <2 } or BuffRemains(brain_freeze) <2 } Spell(frostfire_bolt) if BuffStacks(fingers_of_frost_aura) and BuffRemains(fingers_of_frost_aura) <2 Spell(ice_lance) if target.DebuffStacks(frostbolt) <3 Spell(frostbolt) @@ -214,7 +220,7 @@ AddIcon mastery=3 help=offgcd if target.HealthPercent() <25 or TimeInCombat() >5 Spell(time_warp) if BuffExpires(alter_time) and BuffStacks(fingers_of_frost_aura) <2 Spell(water_elemental_freeze) if not target.DebuffPresent(frost_bomb) and target.DeadIn() >CastTime(frost_bomb) +TickTime(frost_bomb) Spell(frost_bomb) - if BuffExpires(alter_time) and BuffPresent(brain_freeze) and BuffStacks(fingers_of_frost_aura) and BuffRemains(invocation) >6 Spell(alter_time) + if BuffExpires(alter_time) and BuffPresent(brain_freeze) and BuffStacks(fingers_of_frost_aura) and BuffRemains(invokers_energy) >6 Spell(alter_time) if BuffExpires(alter_time) and BuffPresent(brain_freeze) and BuffStacks(fingers_of_frost_aura) Spell(alter_time) if ManaPercent() <84 and BuffExpires(alter_time) Spell(mana_gem) } @@ -228,16 +234,16 @@ AddIcon mastery=3 help=cd if not InCombat() { Spell(evocation) + Spell(mirror_image) } - if Health() <30 Spell(cold_snap) if BuffExpires(alter_time) Spell(presence_of_mind) if target.DeadIn() <22 Spell(icy_veins) - if target.DeadIn() <12 Spell(blood_fury) - if ArmorSetParts(T14 more 4) and BuffRemains(invocation) >20 and BuffExpires(alter_time) Spell(icy_veins) + if target.DeadIn() <18 Spell(berserking) + if ArmorSetParts(T14 more 4) and BuffRemains(invokers_energy) >20 and BuffExpires(alter_time) Spell(icy_veins) if not ArmorSetParts(T14 more 4) and target.DebuffPresent(frozen_orb) Spell(icy_veins) if target.DebuffPresent(frozen_orb) and BuffExpires(alter_time) Spell(icy_veins) Spell(mirror_image) - if BuffExpires(invocation) and BuffExpires(alter_time) Spell(evocation) - if BuffRemains(invocation) >15 and BuffExpires(alter_time) and ManaPercent() >28 Spell(blood_fury) + if BuffExpires(invokers_energy) and BuffExpires(alter_time) Spell(evocation) + if BuffRemains(invokers_energy) >10 and BuffExpires(alter_time) and ManaPercent() >28 Spell(berserking) } ]] \ No newline at end of file diff --git a/defaut/Moine.lua b/defaut/Moine.lua index cda9ed9..25a2ce4 100644 --- a/defaut/Moine.lua +++ b/defaut/Moine.lua @@ -23,8 +23,6 @@ Define(invoke_xuen 123904) SpellInfo(invoke_xuen duration=45 cd=180 ) Define(jab 100780) SpellInfo(jab energy=40 chi=-1 ) -Define(power_strikes 129914) - SpellAddBuff(power_strikes power_strikes=1) Define(rising_sun_kick 107428) SpellInfo(rising_sun_kick chi=2 cd=8 ) Define(rushing_jade_wind 116847) @@ -59,21 +57,22 @@ AddIcon mastery=3 help=main if BuffRemains(tiger_power) <=3 Spell(tiger_palm) if TalentPoints(rushing_jade_wind_talent) Spell(rushing_jade_wind) + if BuffStacks(combo_breaker_bok) and TimeToMaxEnergy() <2 Spell(blackout_kick) Spell(rising_sun_kick) - if not BuffPresent(energizing_brew) and TimeToMaxEnergy() >{CastTime(fists_of_fury) } and BuffRemains(tiger_power) >{CastTime(fists_of_fury) } Spell(fists_of_fury) - if BuffStacks(combo_breaker_bok) Spell(blackout_kick) if {Chi() >=3 and TimeToMaxEnergy() <=2 and not TalentPoints(ascension_talent) } or {Chi() >=4 and TimeToMaxEnergy() <=2 and TalentPoints(ascension_talent) } Spell(blackout_kick) - if {BuffStacks(combo_breaker_tp) and TimeToMaxEnergy() >=2 } or {BuffRemains(combo_breaker_tp) ==0 and BuffStacks(combo_breaker_tp) } Spell(tiger_palm) + if not BuffPresent(energizing_brew) and TimeToMaxEnergy() >{4 } and BuffRemains(tiger_power) >{4 } Spell(fists_of_fury) + if BuffStacks(combo_breaker_bok) Spell(blackout_kick) + if BuffStacks(combo_breaker_tp) Spell(tiger_palm) if TalentPoints(ascension_talent) and Chi() <=3 Spell(jab) - if TalentPoints(chi_brew_talent) and Chi() <=2 Spell(jab) - if TalentPoints(power_strikes_talent) and {{Chi() <=1 and not SpellCooldown(power_strikes) } or {Chi() <=2 and SpellCooldown(power_strikes) } } Spell(jab) + if not TalentPoints(ascension_talent) and Chi() <=2 Spell(jab) if {{Energy() +{EnergyRegen() *{SpellCooldown(rising_sun_kick) } } } >=40 } or {Chi() ==4 and not TalentPoints(ascension_talent) } or {Chi() ==5 and TalentPoints(ascension_talent) } Spell(blackout_kick) } AddIcon mastery=3 help=offgcd { if TalentPoints(power_strikes_talent) and BuffStacks(chi_sphere) and Chi() <4 Spell(chi_sphere) - if not BuffPresent(tigereye_brew_use) and BuffStacks(tigereye_brew) ==10 Spell(tigereye_brew) + if PTR() ==0 and not BuffPresent(tigereye_brew_use) and BuffStacks(tigereye_brew) ==10 Spell(tigereye_brew) + if PTR() ==1 and not BuffPresent(tigereye_brew_use) Spell(tigereye_brew) if TimeToMaxEnergy() >5 Spell(energizing_brew) } AddIcon mastery=3 help=aoe diff --git a/defaut/Paladin.lua b/defaut/Paladin.lua index 4f5e562..df706b7 100644 --- a/defaut/Paladin.lua +++ b/defaut/Paladin.lua @@ -14,8 +14,6 @@ Define(execution_sentence 114916) SpellAddTargetDebuff(execution_sentence execution_sentence=1) Define(exorcism 879) SpellInfo(exorcism holy=-1 cd=15 ) -Define(exorcism_glyphed 122032) - SpellInfo(exorcism_glyphed holy=-1 cd=15) Define(guardian_of_ancient_kings 86659) SpellInfo(guardian_of_ancient_kings duration=12 cd=180 ) SpellAddBuff(guardian_of_ancient_kings guardian_of_ancient_kings=1) @@ -34,7 +32,6 @@ Define(seal_of_truth 31801) SpellAddBuff(seal_of_truth seal_of_truth=1) Define(templars_verdict 85256) SpellInfo(templars_verdict holy=3 ) -Define(glyph_of_mass_exorcism 122028) AddCheckBox(showwait L(showwait) default) AddIcon mastery=3 help=main { @@ -50,8 +47,7 @@ AddIcon mastery=3 help=main if HolyPower() ==5 Spell(templars_verdict) Spell(hammer_of_wrath usable=1) if SpellCooldown(hammer_of_wrath) >0 and SpellCooldown(hammer_of_wrath) <=0.2 if CheckBoxOn(showwait) Texture(Spell_nature_timestop) - if Glyph(glyph_of_mass_exorcism no) Spell(exorcism) - if Glyph(glyph_of_mass_exorcism) Spell(exorcism_glyphed) + Spell(exorcism) if target.HealthPercent() <=20 or BuffPresent(avenging_wrath) Spell(judgment) Spell(crusader_strike) Spell(judgment) diff --git a/defaut/Pretre.lua b/defaut/Pretre.lua index f9e5faf..728ef5a 100644 --- a/defaut/Pretre.lua +++ b/defaut/Pretre.lua @@ -24,6 +24,7 @@ Define(mind_blast 8092) Define(mind_flay 15407) SpellInfo(mind_flay duration=3 canStopChannelling=1 ) SpellAddTargetDebuff(mind_flay mind_flay=1) +Define(mind_flay_insanity 129197) Define(mind_sear 48045) SpellInfo(mind_sear duration=5 canStopChannelling=1 ) SpellAddBuff(mind_sear mind_sear=1) @@ -61,6 +62,8 @@ Define(halo_talent 18) Define(mindbender_talent 8) Define(power_infusion_talent 14) Define(power_word_solace_talent 9) +Define(solace_and_insanity_talent 13) +AddCheckBox(showwait L(showwait) default) AddIcon mastery=3 help=main { if not InCombat() @@ -70,17 +73,23 @@ AddIcon mastery=3 help=main if BuffExpires(shadowform) Spell(shadowform) } if BuffExpires(shadowform) Spell(shadowform) - if ShadowOrbs() ==3 and {SpellCooldown(mind_blast) <2 or target.HealthPercent() <20 } Spell(devouring_plague) - if TalentPoints(power_word_solace_talent) Spell(shadow_word_insanity) - if SpellCooldown(mind_blast) Spell(mind_blast) - if {not target.DebuffPresent(shadow_word_pain) or target.DebuffRemains(shadow_word_pain) <TickTime(shadow_word_pain) } Spell(shadow_word_pain) + if TalentPoints(mindbender_talent) Spell(mindbender) + if ShadowOrbs() ==3 and {SpellCooldown(mind_blast) <1.5 or target.HealthPercent() <20 and SpellCooldown(shadow_word_death) <1.5 } Spell(devouring_plague) + if PTR() and TalentPoints(solace_and_insanity_talent) Spell(mind_flay_insanity) if target.HealthPercent(less 20) Spell(shadow_word_death) - if {not target.DebuffPresent(vampiric_touch) or target.DebuffRemains(vampiric_touch) <CastTime(vampiric_touch) +TickTime(vampiric_touch) } Spell(vampiric_touch) - if ShadowOrbs() ==3 Spell(devouring_plague) + if SpellCooldown(mind_blast) Spell(mind_blast) + if not target.DebuffPresent(shadow_word_pain) Spell(shadow_word_pain) + if target.DebuffRemains(vampiric_touch) <CastTime(vampiric_touch) Spell(vampiric_touch) + if not PTR() and TalentPoints(power_word_solace_talent) Spell(shadow_word_insanity) + if BuffStacks(surge_of_darkness) ==2 Spell(mind_spike) + if target.TicksRemain(shadow_word_pain) <=1 Spell(shadow_word_pain) + if target.DebuffRemains(vampiric_touch) <CastTime(vampiric_touch) +TickTime(vampiric_touch) Spell(vampiric_touch) + if ShadowOrbs() ==3 and target.TicksRemain(devouring_plague) <=1 Spell(devouring_plague) if TalentPoints(halo_talent) Spell(halo) - if BuffStacks(surge_of_darkness) Spell(mind_spike) if TalentPoints(cascade_talent) Spell(cascade) - if TalentPoints(mindbender_talent) Spell(mindbender) + if target.HealthPercent() <20 and SpellCooldown(shadow_word_death) <0.5 if CheckBoxOn(showwait) Texture(Spell_nature_timestop) + if SpellCooldown(mind_blast) <0.5 if CheckBoxOn(showwait) Texture(Spell_nature_timestop) + if BuffStacks(surge_of_darkness) Spell(mind_spike) Spell(mind_flay) } AddIcon mastery=3 help=offgcd @@ -100,10 +109,10 @@ AddIcon mastery=3 help=aoe AddIcon mastery=3 help=cd { { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } - Spell(berserking) + if not TalentPoints(mindbender_talent) Spell(shadowfiend) if TalentPoints(power_infusion_talent) Spell(power_infusion) + Spell(berserking) if ShadowOrbs() ==3 and Health() <=40 Spell(vampiric_embrace) - if not TalentPoints(mindbender_talent) Spell(shadowfiend) Spell(dispersion) } ]] \ No newline at end of file diff --git a/defaut/Voleur.lua b/defaut/Voleur.lua index 1991e77..9a5cc90 100644 --- a/defaut/Voleur.lua +++ b/defaut/Voleur.lua @@ -74,7 +74,10 @@ Define(vendetta 79140) Define(weakened_armor 113746) SpellInfo(weakened_armor duration=30 ) SpellAddBuff(weakened_armor weakened_armor=1) +Define(anticipation_talent 18) Define(preparation_talent 10) +Define(shadow_focus_talent 3) +Define(subterfuge_talent 2) AddIcon mastery=1 help=main { if not InCombat() @@ -119,11 +122,21 @@ AddIcon mastery=2 help=main if {target.DebuffStacks(weakened_armor any=1) <3 or target.DebuffRemains(weakened_armor any=1) <3 } and ComboPoints() <5 if CheckBoxOn(expose_armor_check) Spell(expose_armor) Spell(ambush usable=1) if BuffRemains(slice_and_dice) <2 or {BuffRemains(slice_and_dice) <15 and BuffStacks(bandits_guile) ==11 and ComboPoints() >=4 } Spell(slice_and_dice) - if target.TicksRemain(rupture) <2 and ComboPoints() ==5 and BuffPresent(deep_insight) and target.DeadIn() >10 Spell(rupture) - if {ComboPoints() ==5 and BuffPresent(deep_insight) } or BuffStacks(anticipation) >=4 Spell(eviscerate) - if target.TicksRemain(rupture) <2 and ComboPoints() ==5 and target.DeadIn() >10 Spell(rupture) - if {{BuffExpires(deep_insight) and BuffStacks(anticipation) <5 } or {BuffPresent(deep_insight) and ComboPoints() <5 } } and target.TicksRemain(revealing_strike) <2 Spell(revealing_strike) - if {BuffExpires(deep_insight) and BuffStacks(anticipation) <5 } or {BuffPresent(deep_insight) and ComboPoints() <5 } Spell(sinister_strike) + if ComboPoints() <5 or not target.DebuffPresent(revealing_strike) + { + if target.TicksRemain(revealing_strike) <2 Spell(revealing_strike) + Spell(sinister_strike) + } + if not TalentPoints(anticipation_talent) or BuffPresent(deep_insight) or SpellCooldown(shadow_blades) <=11 or BuffStacks(anticipation) >=4 or {BuffPresent(shadow_blades) and BuffStacks(anticipation) >=3 } + { + if target.TicksRemain(rupture) <2 and target.DeadIn() >=26 Spell(rupture) + Spell(eviscerate) + } + if Energy() >60 or BuffExpires(deep_insight) or BuffRemains(deep_insight) >5 -ComboPoints() + { + if target.TicksRemain(revealing_strike) <2 Spell(revealing_strike) + Spell(sinister_strike) + } } AddIcon mastery=2 help=offgcd { @@ -132,17 +145,19 @@ AddIcon mastery=2 help=offgcd Spell(stealth) } if target.IsInterruptible() Spell(kick) - Spell(tricks_of_the_trade) } AddIcon mastery=2 help=cd { if TalentPoints(preparation_talent) and not BuffPresent(vanish) and SpellCooldown(vanish) >60 Spell(preparation) - { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } - Spell(berserking) - if TimeInCombat() >10 and not BuffPresent(shadow_blades) and not BuffPresent(adrenaline_rush) and Energy() <20 and {{BuffPresent(deep_insight) and ComboPoints() <4 } or BuffStacks(anticipation) <4 } Spell(vanish) - if {BuffStacks(bloodlust any=1) or TimeInCombat() >60 } and BuffRemains(slice_and_dice) >=12000 Spell(shadow_blades) - if Energy() <35 and BuffRemains(slice_and_dice) >4 and BuffExpires(adrenaline_rush) Spell(killing_spree) - if Energy() <35 or BuffPresent(shadow_blades) Spell(adrenaline_rush) + if TimeInCombat() ==0 or BuffPresent(shadow_blades) { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } + if TimeInCombat() ==0 or BuffPresent(shadow_blades) Spell(berserking) + if TimeInCombat() >10 and {ComboPoints() <3 or {TalentPoints(anticipation_talent) and BuffStacks(anticipation) <3 } or {BuffExpires(shadow_blades) and {ComboPoints() <4 or {TalentPoints(anticipation_talent) and BuffStacks(anticipation) <4 } } } } and {{TalentPoints(shadow_focus_talent) and BuffExpires(adrenaline_rush) and Energy() <20 } or {TalentPoints(subterfuge_talent) and Energy() >=90 } or {not TalentPoints(shadow_focus_talent) and not TalentPoints(subterfuge_talent) and Energy() >=60 } } Spell(vanish) + if not ArmorSetParts(T14 more 4) and TimeInCombat() >5 Spell(shadow_blades) + if not ArmorSetParts(T14 more 4) and Energy() <35 and BuffExpires(adrenaline_rush) Spell(killing_spree) + if not ArmorSetParts(T14 more 4) and {Energy() <35 or BuffPresent(shadow_blades) } Spell(adrenaline_rush) + if ArmorSetParts(T14 more 4) and {{SpellCooldown(killing_spree) >30.5 and SpellCooldown(adrenaline_rush) <=9 } or {Energy() <35 and {SpellCooldown(killing_spree) ==0 or SpellCooldown(adrenaline_rush) ==0 } } } Spell(shadow_blades) + if ArmorSetParts(T14 more 4) and {{BuffPresent(shadow_blades) and BuffExpires(adrenaline_rush) and {Energy() <35 or BuffRemains(shadow_blades) <=3.5 } } or {BuffExpires(shadow_blades) and SpellCooldown(shadow_blades) >30 } } Spell(killing_spree) + if ArmorSetParts(T14 more 4) and BuffPresent(shadow_blades) and {Energy() <35 or BuffRemains(shadow_blades) <=15 } Spell(adrenaline_rush) } AddIcon mastery=3 help=main {