diff --git a/Condition.lua b/Condition.lua
index 585dff3..5030548 100644
--- a/Condition.lua
+++ b/Condition.lua
@@ -630,9 +630,26 @@ Ovale.conditions=
local spellId = condition.spell
if not spellId then
return testbool(UnitCastingInfo(target) or UnitChannelInfo(target), condition[1])
- else
+ elseif type(spellId) == "number" then
local spellName = GetSpellInfo(spellId)
return testbool(UnitCastingInfo(target)==spellName or UnitChannelInfo(target) == spellName, condition[1])
+ elseif Ovale.buffSpellList[spellId] then
+ local castSpellName = UnitCastingInfo(target) or UnitChannelInfo(target)
+ local found = false
+ for k,v in pairs(Ovale.buffSpellList[spellId]) do
+ local spellName = GetSpellInfo(v)
+ if spellName == castSpellName then
+ found = true
+ break
+ end
+ end
+ return testbool(found, condition[1])
+ elseif spellId == "harmful" then
+ local castSpellName = UnitCastingInfo(target) or UnitChannelInfo(target)
+ return testbool(castSpellName and IsHarmfulSpell(castSpellName), condition[1])
+ elseif spellId == "helpful" then
+ local castSpellName = UnitCastingInfo(target) or UnitChannelInfo(target)
+ return testbool(castSpellName and IsHelpfulSpell(castSpellName), condition[1])
end
end,
IsFeared = function(condition)
@@ -896,6 +913,13 @@ Ovale.conditions=
return compare(difference, condition[1], condition[2])
end,
+ remainingCastTime = function(condition)
+ local name, nameSubtext, text, texture, startTime, endTime, isTradeSkill, castID, notInterruptible = UnitCastingInfo(getTarget(condition.target))
+ if not endTime then
+ return nil
+ end
+ return 0, endTime/1000, -1
+ end,
SoulShards = function(condition)
return compare(Ovale.state.shard, condition[1], condition[2])
end,
diff --git a/Ovale.lua b/Ovale.lua
index 221c838..42bcd87 100644
--- a/Ovale.lua
+++ b/Ovale.lua
@@ -210,6 +210,9 @@ Ovale.buffSpellList =
12880, -- Enrage (rank 1)
14201, -- Enrage (rank 2)
14202, -- Enrage (rank 3)
+ 5229, -- Enrage (Bear)
+ 52610, -- Savage Roar (Cat)
+ 76691, -- Vengeance (All Tank Specs)
}
}
@@ -272,6 +275,15 @@ local options =
get = function(info) return Ovale.db.profile.apparence.iconScale end,
set = function(info,value) Ovale.db.profile.apparence.iconScale = value; Ovale:UpdateFrame() end
},
+ secondIconScale =
+ {
+ order = 2.5,
+ type = "range",
+ name = L["Taille du second icône"],
+ min = 0.2, max = 1, step = 0.1,
+ get = function(info) return Ovale.db.profile.apparence.secondIconScale end,
+ set = function(info,value) Ovale.db.profile.apparence.secondIconScale = value; Ovale:UpdateFrame() end
+ },
fontScale =
{
order = 3,
@@ -1997,7 +2009,7 @@ function Ovale:CalculerMeilleureAction(element)
for k,v in pairs(element.params) do
parameterList = parameterList..k.."="..v..","
end
- self:Print("Function "..parameterList..") returned "..nilstring(start)..","..nilstring(ending))
+ self:Print("Function "..parameterList..") returned "..nilstring(start)..","..nilstring(ending)..","..nilstring(rate))
end
return start, ending, rate
@@ -2330,7 +2342,7 @@ function Ovale:ChargerDefaut()
top = 500,
check = {},
list = {},
- apparence = {enCombat=false, iconScale = 2, margin = 4, fontScale = 0.5, iconShiftX = 0, iconShiftY = 0,
+ apparence = {enCombat=false, iconScale = 2, secondIconScale = 1, margin = 4, fontScale = 0.5, iconShiftX = 0, iconShiftY = 0,
smallIconScale=1, raccourcis=true, numeric=false, avecCible = false,
verrouille = false, vertical = false, predictif=false, highlightIcon = true, clickThru = false,
latencyCorrection=true, hideVehicule=true, flashIcon=true, targetText = "●", alpha = 1,
diff --git a/OvaleFrame.lua b/OvaleFrame.lua
index dbdde3a..89b7e62 100644
--- a/OvaleFrame.lua
+++ b/OvaleFrame.lua
@@ -324,8 +324,12 @@ do
action.icons[l] = CreateFrame("CheckButton", "Icon"..k.."n"..l,self.frame,"OvaleIcone");
end
local icon = action.icons[l]
- icon:SetPoint("TOPLEFT",self.frame,"TOPLEFT",(action.left + (l-1)*action.dx)/action.scale,(action.top - (l-1)*action.dy)/action.scale)
- icon:SetScale(action.scale)
+ local scale = action.scale
+ if l> 1 then
+ scale = scale * Ovale.db.profile.apparence.secondIconScale
+ end
+ icon:SetPoint("TOPLEFT",self.frame,"TOPLEFT",(action.left + (l-1)*action.dx)/scale,(action.top - (l-1)*action.dy)/scale)
+ icon:SetScale(scale)
icon:SetFontScale(Ovale.db.profile.apparence.fontScale)
icon:SetHelp(node.params.help)
icon:SetRangeIndicator(Ovale.db.profile.apparence.targetText)
diff --git a/defaut/Chasseur.lua b/defaut/Chasseur.lua
index 1bf6f12..4d89fec 100644
--- a/defaut/Chasseur.lua
+++ b/defaut/Chasseur.lua
@@ -142,7 +142,7 @@ AddIcon help=main mastery=2
if Glyph(GLYPHOFARCANESHOT)
{
#/aimed_shot,if=target.health_pct>80|buff.rapid_fire.up|buff.bloodlust.up
- if TargetLifePercent(more 80) or
+ if TargetLifePercent(more 90) or
BuffPresent(RAPIDFIRE) or BuffPresent(heroism) if Mana(more 49) Spell(AIMEDSHOT)
#/arcane_shot,if=(focus>=66|cooldown.chimera_shot.remains>=5)&(target.health_pct<90&!buff.rapid_fire.up&!buff.bloodlust.up)
if {Mana(more 65) or spell(CHIMERASHOT)>5} and {TargetLifePercent(less 90) and
diff --git a/defaut/Druide.lua b/defaut/Druide.lua
index fc76978..c435151 100644
--- a/defaut/Druide.lua
+++ b/defaut/Druide.lua
@@ -153,7 +153,7 @@ AddIcon help=main mastery=1
Spell(SUNFIRE nored=1)
#/moonfire,if=(!ticking|ticks_remain<2|(dot.moonfire.remains<4&buff.lunar_eclipse.up&eclipse>-20))
- if BuffExpires(ECLIPSELUNAR 0) and {TargetDebuffExpires(MOONFIRE 2 mine=1) or {TargetDebuffExpires(MOONFIRE 4 mine=1) and Eclipse(more -20)}}
+ if {TargetDebuffExpires(MOONFIRE 2 mine=1) or {TargetDebuffExpires(MOONFIRE 4 mine=1) and Eclipse(more -20)}}
and TargetDebuffExpires(SUNFIRE 0 mine=1)
Spell(MOONFIRE nored=1)
}
@@ -234,7 +234,7 @@ AddIcon help=main mastery=2
Spell(MANGLECAT)
#ravage,if=buff.stampede_cat.up&buff.stampede_cat.remains<=1
- if BuffPresent(STAMPEDE) and BuffExpires(STAMPEDE 1) Spell(RAVAGE)
+ if BuffPresent(STAMPEDE) and BuffExpires(STAMPEDE 1) and CheckBoxOn(shred) Spell(RAVAGE)
#ferocious_bite,if=buff.combo_points.stack>=1&dot.rip.ticking&dot.rip.remains<=1&target.health_pct<=25
if ComboPoints(more 0) and TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 1 mine=1) and TargetLifePercent(less 25)
@@ -245,7 +245,7 @@ AddIcon help=main mastery=2
Spell(FEROCIOUSBITE)
#/shred,extend_rip=1,if=dot.rip.ticking&dot.rip.remains<=4&target.health_pct>25 TODO: extend_rip=1?
- if TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 4 mine=1) and TargetLifePercent(more 25) Spell(SHRED)
+ if TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 4 mine=1) and TargetLifePercent(more 25) and CheckBoxOn(shred) Spell(SHRED)
#rip,if=buff.combo_points.stack>=5&target.time_to_die>=6&dot.rip.remains<2.0&(buff.berserk.up|dot.rip.remains<=cooldown.tigers_fury.remains)
if ComboPoints(more 4) and TargetDeadIn(more 6) and TargetDebuffExpires(RIP 2 mine=1) and
@@ -265,7 +265,7 @@ AddIcon help=main mastery=2
Spell(RAKE)
#shred,if=buff.omen_of_clarity.react
- if BuffPresent(CLEARCASTING) Spell(SHRED)
+ if CheckBoxOn(shred) and BuffPresent(CLEARCASTING) Spell(SHRED)
#savage_roar,if=buff.combo_points.stack>=1&buff.savage_roar.remains<=1
if ComboPoints(more 0) and BuffExpires(SAVAGEROAR 1) Spell(SAVAGEROAR)
@@ -274,18 +274,22 @@ AddIcon help=main mastery=2
if {TargetDeadIn(less 4) and ComboPoints(more 4)} or {TargetDeadIn(less 1) and ComboPoints(more 0)} Spell(FEROCIOUSBITE)
#/ferocious_bite,if=buff.combo_points.stack>=5&dot.rip.remains>=14.0&buff.savage_roar.remains>=10.0
if ComboPoints(more 4) and TargetDebuffPresent(RIP 14 mine=1) and BuffPresent(SAVAGEROAR 10) Spell(FEROCIOUSBITE)
- #ravage,if=buff.stampede_cat.up&!buff.omen_of_clarity.react&buff.tigers_fury.up
- if BuffPresent(STAMPEDE) and BuffExpires(CLEARCASTING) and BuffPresent(TIGERSFURY) Spell(RAVAGE)
- #/shred,if=buff.tigers_fury.up|buff.berserk.up
- if BuffPresent(TIGERSFURY) or BuffPresent(BERSERK) Spell(SHRED)
- #/shred,if=(buff.combo_points.stack<5&dot.rip.remains<3.0)|(buff.combo_points.stack=0&buff.savage_roar.remains<2
- if {ComboPoints(less 5) and TargetDebuffExpires(RIP 3 mine=1)} or {ComboPoints(less 1) and BuffExpires(SAVAGEROAR 2)} Spell(SHRED)
- #/shred,if=cooldown.tigers_fury.remains<=3.0
- if spell(TIGERSFURY) < 3 Spell(SHRED)
- #/shred,if=target.time_to_die<=8.5
- if TargetDeadIn(less 8.5) Spell(SHRED)
- #/shred,if=time_to_max_energy<=1.0
- if 1s before Mana(more 99) Spell(SHRED)
+ if CheckBoxOn(shred)
+ {
+ #ravage,if=buff.stampede_cat.up&!buff.omen_of_clarity.react&buff.tigers_fury.up
+ if BuffPresent(STAMPEDE) and BuffExpires(CLEARCASTING) and BuffPresent(TIGERSFURY) Spell(RAVAGE)
+ #/shred,if=buff.tigers_fury.up|buff.berserk.up
+ if BuffPresent(TIGERSFURY) or BuffPresent(BERSERK) Spell(SHRED)
+ #/shred,if=(buff.combo_points.stack<5&dot.rip.remains<3.0)|(buff.combo_points.stack=0&buff.savage_roar.remains<2
+ if {ComboPoints(less 5) and TargetDebuffExpires(RIP 3 mine=1)} or {ComboPoints(less 1) and BuffExpires(SAVAGEROAR 2)} Spell(SHRED)
+ #/shred,if=cooldown.tigers_fury.remains<=3.0
+ if spell(TIGERSFURY) < 3 Spell(SHRED)
+ #/shred,if=target.time_to_die<=8.5
+ if TargetDeadIn(less 8.5) Spell(SHRED)
+ #/shred,if=time_to_max_energy<=1.0
+ if 1s before Mana(more 99) Spell(SHRED)
+ }
+ if CheckBoxOff(shred) and ComboPoints(less 5) Spell(MANGLE)
}
}
diff --git a/defaut/Guerrier.lua b/defaut/Guerrier.lua
index 1e687c6..28ea181 100644
--- a/defaut/Guerrier.lua
+++ b/defaut/Guerrier.lua
@@ -76,8 +76,6 @@ Define(REVENGE 6572)
Define(SHATTERINGTHROW 64382)
SpellInfo(SHATTERINGTHROW cd=300)
SpellAddTargetDebuff(SHATTERINGTHROW SHATTERINGTHROW=10)
-Define(SHIELDBASH 72)
- SpellInfo(SHIELDBASH cd=12)
Define(SHIELDBLOCK 2565)
SpellInfo(SHIELDBLOCK cd=60)
SpellAddBuff(SHIELDBLOCK SHIELDBLOCK=10)
@@ -303,7 +301,7 @@ AddIcon help=main mastery=3
AddIcon help=offgcd mastery=3
{
- if target.IsInterruptible() Spell(SHIELDBASH)
+ if target.IsInterruptible() Spell(PUMMEL)
if CheckBoxOn(multi) Spell(CLEAVE)
if Mana(more 35) Spell(HEROICSTRIKE)
}
diff --git a/defaut/Pretre.lua b/defaut/Pretre.lua
index a47a1a8..3f77192 100644
--- a/defaut/Pretre.lua
+++ b/defaut/Pretre.lua
@@ -12,50 +12,50 @@ Define(EMPOWEREDSHADOW 95799)
#Spells
Define(DEVOURINGPLAGUE 2944) # Devouring Plague
- SpellInfo(DEVOURINGPLAGUE duration=24 durationhaste=spell)
- SpellAddTargetDebuff(DEVOURINGPLAGUE DEVOURINGPLAGUE=24)
-
+ SpellInfo(DEVOURINGPLAGUE duration=24 durationhaste=spell)
+ SpellAddTargetDebuff(DEVOURINGPLAGUE DEVOURINGPLAGUE=24)
+
Define(DISPERSION 47585)
- SpellInfo(DISPERSION cd=120)
- SpellInfo(DISPERSION addcd=-45 glyph=63229)
-
+ SpellInfo(DISPERSION cd=120)
+ SpellInfo(DISPERSION addcd=-45 glyph=63229)
+
Define(INNERFIRE 588) # Inner Fire
- SpellAddBuff(INNERFIRE INNERFIRE=1800)
-
+ SpellAddBuff(INNERFIRE INNERFIRE=1800)
+
Define(INNERWILL 73413) # Inner Will
- SpellAddBuff(INNERWILL INNERWILL=1800)
-
+ SpellAddBuff(INNERWILL INNERWILL=1800)
+
Define(MINDBLAST 8092) # Mind Blast
- SpellInfo(MINDBLAST cd=5.5)
- SpellAddBuff(MINDBLAST SHADOW_ORBS=0)
- SpellAddBuff(MINDBLAST EMPOWEREDSHADOW=15)
-
+ SpellInfo(MINDBLAST cd=6.5)
+ SpellAddBuff(MINDBLAST SHADOW_ORBS=0)
+ SpellAddBuff(MINDBLAST EMPOWEREDSHADOW=15)
+
Define(MINDFLAY 15407) # Mind Flay
-
+
Define(SHADOWFIEND 34433)
- SpellInfo(SHADOWFIEND cd=300)
-
+ SpellInfo(SHADOWFIEND cd=300)
+
Define(SHADOWFORM 15473) # Shadowform
Define(SHADOWWORDPAIN 589) # Shadow Word: Pain
- SpellInfo(SHADOWWORDPAIN duration=18)
- SpellAddTargetDebuff(SHADOWWORDPAIN SHADOWWORDPAIN=18)
-
+ SpellInfo(SHADOWWORDPAIN duration=18)
+ SpellAddTargetDebuff(SHADOWWORDPAIN SHADOWWORDPAIN=18)
+
Define(VAMPIRICEMBRACE 15286) # Vampiric Embrace
Define(VAMPIRICTOUCH 34914) # Vampiric Touch
- SpellInfo(VAMPIRICTOUCH duration=15 durationhaste=spell)
- SpellAddTargetDebuff(VAMPIRICTOUCH VAMPIRICTOUCH=15)
-
+ SpellInfo(VAMPIRICTOUCH duration=15 durationhaste=spell)
+ SpellAddTargetDebuff(VAMPIRICTOUCH VAMPIRICTOUCH=15)
+
Define(MINDSPIKE 73510) # Mind Spike
- # TODO : add talent condition for MIND_MELT
- SpellAddBuff(MINDSPIKE MINDSPIKEEFFECT=12 MINDMELT=6)
-
+ # TODO : add talent condition for MIND_MELT
+ SpellAddBuff(MINDSPIKE MINDSPIKEEFFECT=12 MINDMELT=6)
+
Define(SHADOWWORDDEATH 32379) # Shadow Word : Death
Define(ARCHANGEL 87151) #Archangel
- SpellInfo(ARCHANGEL cd=90)
- SpellAddBuff(ARCHANGEL DARKARCHANGEL=18)
+ SpellInfo(ARCHANGEL cd=90)
+ SpellAddBuff(ARCHANGEL DARKARCHANGEL=18)
### end defines ###
@@ -64,96 +64,86 @@ ScoreSpells(MINDBLAST SHADOWWORDPAIN VAMPIRICTOUCH DEVOURINGPLAGUE MINDFLAY SHAD
# Add main monitor
AddIcon help=main mastery=3
{
- #Check shadowform is up
- unless BuffPresent(SHADOWFORM) Spell(SHADOWFORM)
-
- unless InCombat()
- {
- # Refresh inner fire and vampiric embrace 5 minutes before it drops when out of combat
- if BuffExpires(INNERFIRE 300) unless BuffPresent(INNERWILL) Spell(INNERFIRE)
- if BuffExpires(INNERWILL 300) unless BuffPresent(INNERFIRE) Spell(INNERWILL)
- if BuffExpires(VAMPIRICEMBRACE 300) Spell(VAMPIRICEMBRACE)
- }
-
- # Refresh inner fire and vampiric embrace if they drop during the fight
- if BuffExpires(INNERFIRE 5) unless BuffPresent(INNERWILL) Spell(INNERFIRE)
- if BuffExpires(INNERWILL 5) unless BuffPresent(INNERFIRE) Spell(INNERWILL)
-
- if BuffExpires(VAMPIRICEMBRACE 5) Spell(VAMPIRICEMBRACE)
-
- #if your rotation isn't set up and the target has few seconds to live, use MIND_SPIKE instead of normal rotation
+
+ #Check shadowform is up
+ unless BuffPresent(SHADOWFORM) Spell(SHADOWFORM)
+
+ unless InCombat()
+ {
+ # Refresh inner fire and vampiric embrace 5 minutes before it drops when out of combat
+ if BuffExpires(INNERFIRE 300) unless BuffPresent(INNERWILL) Spell(INNERFIRE)
+ if BuffExpires(INNERWILL 300) unless BuffPresent(INNERFIRE) Spell(INNERWILL)
+ if BuffExpires(VAMPIRICEMBRACE 300) Spell(VAMPIRICEMBRACE)
+ }
+
+ # Refresh inner fire and vampiric embrace if they drop during the fight
+ if BuffExpires(INNERFIRE 5) unless BuffPresent(INNERWILL) Spell(INNERFIRE)
+ if BuffExpires(INNERWILL 5) unless BuffPresent(INNERFIRE) Spell(INNERWILL)
+
+ #if your rotation isn't set up and the target has few seconds to live, use MIND_SPIKE instead of normal rotation
if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(less 10)
{
if BuffPresent(MINDSPIKE stacks=3) or BuffPresent(MINDMELT stacks=2) Spell(MINDBLAST)
Spell(MINDSPIKE)
}
-
- if BuffPresent(DARKARCHANGEL) #specific DD-based rotation when under Dark Archangel
- {
- #Use SHADOWWORDDEATH if we have enough life left
- if TargetLifePercent(less 25) and LifePercent(more 20) Spell(SHADOWWORDDEATH)
-
- #Use MIND_BLAST on CD
- if BuffPresent(SHADOWORBS stacks=1) Spell(MINDBLAST)
-
- #Fill with MIND_FLAY
- Spell(MINDFLAY priority=2)
- }
-
+
#Refresh empowered shadows
if BuffPresent(SHADOWORBS stacks=1) and BuffExpires(EMPOWEREDSHADOW 2) Spell(MINDBLAST)
- #Set up / refresh the dots
if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN)
if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(MINDFLAY)
if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH)
-
+
# refresh DEVOURING_PLAGUE only if it is not ticking on another mob
unless OtherDebuffPresent(DEVOURINGPLAGUE)
{
- if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) Spell(DEVOURINGPLAGUE)
+ if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) Spell(DEVOURINGPLAGUE)
}
+ if TargetDeadIn(more 15) Spell(SHADOWFIEND)
+
+ #Use SHADOW_WORD_DEATH if we need mana
+ if ManaPercent(less 25) Spell(SHADOWWORDDEATH)
+
#Use SHADOW_WORD_DEATH if we have enough life left and it is more useful than MIND_BLAST
if TargetLifePercent(less 25) and LifePercent(more 20) Spell(SHADOWWORDDEATH)
-
- # Launch the fiend
- if TargetDeadIn(more 15) and ManaPercent(less 75) Spell(SHADOWFIEND)
-
- #Use MIND_BLAST when orbs are at 1 or more stack
- if BuffPresent(SHADOWORBS stacks=1) Spell(MINDBLAST)
-
+
+ Spell(MINDBLAST)
+
#Fill with MIND_FLAY
Spell(MINDFLAY priority=2)
}
+#Tricket Cooldowns, and making sure DP and VT have at least 5 seconds left before casting Dark Angel
AddIcon help=cd
{
- #Check that you won't have to reapply dots during DA
- if BuffPresent(EVANGELISM stacks=5) and TargetDebuffPresent(DEVOURINGPLAGUE 18 mine=1) and TargetDebuffPresent(VAMPIRICTOUCH 13 mine=1) Spell(ARCHANGEL)
- Item(Trinket0Slot usable=1)
- Item(Trinket1Slot usable=1)
+ #Check that you won't have to reapply dots during DA
+ if BuffPresent(EVANGELISM stacks=5) and TargetDebuffPresent(DEVOURINGPLAGUE 5 mine=1) and TargetDebuffPresent(VAMPIRICTOUCH 5 mine=1) Spell(ARCHANGEL)
+ Item(Trinket0Slot usable=1)
+ Item(Trinket1Slot usable=1)
}
-
+
+
# Add mana monitor
AddIcon help=mana mastery=3
{
- if LifePercent(less 10)
- {
- Spell(DISPERSION)
- Item(36892) #Health stone
- Item(36893)
- Item(36894)
- Item(33447) #Life potion (lvl 80)
+ if LifePercent(less 10)
+ {
+ Item(36892) #Health stone
+ Spell(DISPERSION)
- }
- if ManaPercent(less 80) Spell(SHADOWWORDDEATH)
- if ManaPercent(less 5)
- {
- Spell(DISPERSION)
- Item(33448) #Mana potion (lvl 80)
- }
+ }
+ if ManaPercent(less 25)
+ {
+ Spell(DISPERSION)
+ }
}
+# Add Focus Target Monitor for Multi Dotting
+AddIcon mastery =3
+{
+ if TargetDebuffExpires(SHADOWWORDPAIN 1.5 mine=1 target=focus ) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN target=focus)
+ if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell target=focus) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH target=focus)
+}
]]
diff --git a/defaut/Voleur.lua b/defaut/Voleur.lua
index 55a8b8f..1ce1fa9 100644
--- a/defaut/Voleur.lua
+++ b/defaut/Voleur.lua
@@ -83,6 +83,7 @@ Define(DEADLYPOISON 2892)
#Talents
Define(TALENTCUTTOTHECHASE 2070)
Define(TALENTENERGETICRECOVERY 11665)
+Define(TALENTHEMORRHAGE 681)
SpellList(insight 84745 84746 84747)
@@ -226,10 +227,16 @@ AddIcon help=main mastery=3
#/eviscerate,if=combo_points=5&dot.rupture.remains>1
if ComboPoints(more 4) and TargetDebuffPresent(RUPTURE 1 mine=1) Spell(EVISCERATE)
- #/backstab,if=combo_points<3&energy>60";
- if ComboPoints(less 3) and Mana(more 60) Spell(BACKSTAB)
+ if TalentPoints(TALENTHEMORRHAGE more 0)
+ {
+ #/hemorrhage,if=combo_points<4&energy>40&dot.hemorrhage.remains<4";
+ if CombotPoints(less 4) and Mana(more 40) and TargetDebuffExpires(HEMORRHAGE 4 mine=1) Spell(HEMORRHAGE)
+ #/hemorrhage,if=combo_points<5&energy>80&dot.hemorrhage.remains<4";
+ if CombotPoints(less 5) and Mana(more 80) and TargetDebuffExpires(HEMORRHAGE 4 mine=1) Spell(HEMORRHAGE)
+ }
+
#/backstab,if=combo_points<4&energy>40&energy<80";
- if ComboPoints(less 4) and Mana(more 40) and Mana(less 80) Spell(BACKSTAB)
+ if ComboPoints(less 4) and Mana(more 40) Spell(BACKSTAB)
#/backstab,if=combo_points<5&energy>80
if ComboPoints(less 5) and Mana(more 80) Spell(BACKSTAB)
}