- added Tracking function
Sidoine De Wispelaere [12-08-09 - 20:18]
- added Tracking function
- added DEEPFREEZE to frost mage cycle
- fix for arm warrior
- arcane mage may want to use arcane barrage
git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@162 d5049fe3-3747-40f7-a4b5-f36d6801af5f
diff --git a/Condition.lua b/Condition.lua
index eca50c7..48ae8da 100644
--- a/Condition.lua
+++ b/Condition.lua
@@ -516,22 +516,26 @@ Ovale.conditions=
end
end
if not minTime then
- return nil
+ return 0
end
minTime = minTime - timeBefore
return minTime
end
- return nil
+ return 0
end,
OtherDebuffPresent = function(condition)
Ovale:EnableOtherDebuffs()
local otherDebuff = Ovale.otherDebuffs[GetSpellInfo(condition[1])]
if otherDebuff then
+ local maxTime = 0
for target,expireTime in pairs(otherDebuff) do
if target~=UnitGUID("target") then
- return 0, expireTime
+ if expireTime > maxTime then
+ maxTime = expireTime
+ end
end
end
+ return 0, addTime(maxTime, -condition[2])
end
return nil
end,
@@ -720,6 +724,19 @@ Ovale.conditions=
return timeLeft
end
end,
+ Tracking = function(condition)
+ local what = Ovale:GetSpellInfoOrNil(condition[1])
+ local numTrackingTypes = GetNumTrackingTypes()
+ local present = false
+ for i=1,numTrackingTypes do
+ local name, texture, active = GetTrackingInfo(i)
+ if name == what then
+ present = (active == 1)
+ break
+ end
+ end
+ return testbool(present, condition[2])
+ end,
WeaponEnchantExpires = function(condition)
local hasMainHandEnchant, mainHandExpiration, mainHandCharges, hasOffHandEnchant, offHandExpiration, offHandCharges = GetWeaponEnchantInfo()
if (condition[1] == "mainhand") then
diff --git a/Ovale.toc b/Ovale.toc
index 72c9c55..21d2c1a 100644
--- a/Ovale.toc
+++ b/Ovale.toc
@@ -3,7 +3,7 @@
## Notes: Show the icon of the next spell to cast
## Notes-frFR: Affiche l'icône du prochain sort à lancer
## Author: Sidoine
-## Version: 3.2.26
+## Version: 3.3.0
## OptionalDeps: Ace3, ButtonFacade, Recount
## SavedVariables: OvaleDB
## SavedVariablesPerCharacter: OvaleDBPC
diff --git a/defaut/Chasseur.lua b/defaut/Chasseur.lua
index 148b803..47f2d6b 100644
--- a/defaut/Chasseur.lua
+++ b/defaut/Chasseur.lua
@@ -18,6 +18,15 @@ Define(CALLOFTHEWILD 53434)
Define(CHIMERASHOT 53209)
Define(READINESS 23989)
+Define(TALENTTRACKING 1623)
+Define(TRACKBEASTS 1494)
+Define(TRACKDEMONS 19878)
+Define(TRACKDRAGONKIN 19879)
+Define(TRACKELEMENTALS 19880)
+Define(TRACKGIANTS 19882)
+Define(TRACKHUMANOIDS 19883)
+Define(TRACKUNDEAD 19884)
+
SpellAddTargetDebuff(EXPLOSIVESHOT EXPLOSIVESHOT=2)
SpellInfo(EXPLOSIVESHOT cd=6)
SpellAddTargetDebuff(SERPENTSTING SERPENTSTING=15)
@@ -37,6 +46,9 @@ ScoreSpells(HUNTERSMARK BLACKARROW SERPENTSTING CHIMERASHOT AIMEDSHOT MULTISHOT
AddIcon help=main
{
+ if TalentPoints(TALENTTRACKING more 0) and Tracking(TRACKBEASTS no) and Tracking(TRACKDEMONS no) and Tracking(TRACKDRAGONKIN no)
+ and Tracking(TRACKELEMENTALS no) and Tracking(TRACKGIANTS no) and Tracking(TRACKHUMANOIDS no) and Tracking(TRACKUNDEAD no)
+ Spell(TRACKBEASTS)
if TargetDebuffExpires(HUNTERSMARK 0) and TargetDeadIn(more 8) Spell(HUNTERSMARK)
if TargetDebuffExpires(BLACKARROW 0 mine=1) Spell(BLACKARROW)
if TargetDebuffExpires(SERPENTSTING 0 mine=1) and TargetDeadIn(more 8) Spell(SERPENTSTING)
diff --git a/defaut/Chevalier.lua b/defaut/Chevalier.lua
index 5dae5ad..9ae9d30 100644
--- a/defaut/Chevalier.lua
+++ b/defaut/Chevalier.lua
@@ -34,7 +34,7 @@ Define(TALENTABOMINATIONMIGHT 2105)
Define(RAISEDEAD 46584)
Define(HORNOFWINTER 57330)
-AddCheckBox(rolldes SpellName(GLYPHDISEASE))
+AddCheckBox(rolldes SpellName(GLYPHDISEASE) default)
SpellAddTargetDebuff(ICYTOUCH FROSTFEVER=15)
SpellAddTargetDebuff(PLAGUESTRIKE BLOODPLAGUE=15)
@@ -85,7 +85,7 @@ AddIcon help=main
}
}
- if CheckBoxOn(rolldes) and TalentPoints(TALENTABOMINATIONMIGHT more 0) and BuffExpires(ABOMINATIONMIGHT 0)
+ if CheckBoxOn(rolldes) and Glyph(GLYPHDISEASE) and TalentPoints(TALENTABOMINATIONMIGHT more 0) and BuffExpires(ABOMINATIONMIGHT 0)
Spell(DEATHSTRIKE)
if TargetDebuffExpires(FROSTFEVER 0 mine=1) and Runes(frost 1)
diff --git a/defaut/Demoniste.lua b/defaut/Demoniste.lua
index 58188a8..68d8e70 100644
--- a/defaut/Demoniste.lua
+++ b/defaut/Demoniste.lua
@@ -27,6 +27,7 @@ Define(DEMONICEMPOWERMENT 47193)
Define(INCINERATE 29722)
Define(DECIMATION 63167)
Define(CHAOSBOLT 50796)
+Define(MOLTENCORE 47383)
AddListItem(curse elements SpellName(CURSEELEMENTS))
AddListItem(curse agony SpellName(CURSEAGONY))
@@ -74,7 +75,7 @@ if TargetLifePercent(less 25) and Level(more 76) and {TalentPoints(TALENTDECIMAT
and TalentPoints(TALENTEMBERSTORM less 1) Spell(DRAINSOUL)
Spell(CHAOSBOLT)
-if TalentPoints(TALENTEMBERSTORM more 0) Spell(INCINERATE)
+if TalentPoints(TALENTEMBERSTORM more 0) or BuffPresent(MOLTENCORE) Spell(INCINERATE)
Spell(SHADOWBOLT)
}
diff --git a/defaut/Guerrier.lua b/defaut/Guerrier.lua
index 2f24ab9..be1623f 100644
--- a/defaut/Guerrier.lua
+++ b/defaut/Guerrier.lua
@@ -98,20 +98,13 @@ AddIcon help=main
if Stance(3) #berserker
{
-
- if TargetLifePercent(less 20)
- {
- Spell(WHIRLWIND)
- Spell(BLOODTHIRST)
- Spell(EXECUTE)
- }
-
if HasShield() Spell(SHIELDSLAM)
Spell(SHOCKWAVE)
Spell(CONCUSSIONBLOW)
if CheckBoxOn(whirlwind) Spell(WHIRLWIND)
Spell(BLOODTHIRST)
+ if TargetLifePercent(less 20) Spell(EXECUTE)
Spell(VICTORY usable=1)
if BuffPresent(SLAMBUFF)
{
@@ -130,10 +123,10 @@ AddIcon help=main
if Stance(1) #combat
{
- if TargetDebuffExpires(REND 0 mine=1) Spell(REND)
- if BuffPresent(SUDDENDEATH) or TargetLifePercent(less 20) Spell(EXECUTE)
- Spell(MORTALSTRIKE)
+ if TargetDebuffExpires(REND 0 mine=1) and TargetDeadIn(more 8) Spell(REND)
+ if TargetLifePercent(more 20) Spell(MORTALSTRIKE)
Spell(OVERPOWER usable=1)
+ if BuffPresent(SUDDENDEATH) or TargetLifePercent(less 20) Spell(EXECUTE)
Spell(VICTORY usable=1)
if TalentPoints(SLAMTALENT more 1)
@@ -168,9 +161,14 @@ AddIcon help=offgcd
if Mana(more 66)
Spell(HEROICSTRIKE)
}
- unless Stance(2)
+ if Stance(3)
+ {
+ if Mana(more 66)
+ Spell(HEROICSTRIKE)
+ }
+ if Stance(1)
{
- if Mana(more 66) and TargetLifePercent(more 20)
+ if Mana(more 94)
Spell(HEROICSTRIKE)
}
}
diff --git a/defaut/Mage.lua b/defaut/Mage.lua
index 11d19a2..16c5ff4 100644
--- a/defaut/Mage.lua
+++ b/defaut/Mage.lua
@@ -12,13 +12,16 @@ Define(PYROBLAST 11366)
Define(LIVINGBOMB 44457)
Define(SCORCH 2948)
Define(FROSTFIREBOLT 44614)
-Define(FROSTBOLT 116)
Define(FIREBALL 133)
+
+Define(FROSTBOLT 116)
+Define(DEEPFREEZE 44572)
+
Define(ARCANEBARRAGE 44425)
Define(ARCANEMISSILES 5143)
Define(ARCANEBLAST 30451)
-Define(DEEPFREEZE 44572)
Define(ARCANEPOWER 12042)
+Define(MISSILEBARRAGE 44401)
Define(COMBUSTION 11129)
Define(ICYVEINS 12472)
@@ -26,7 +29,8 @@ Define(MIRRORIMAGE 55342)
Define(SUMMONWATERELEMENTAL 31687)
Define(PRESENCEOFMIND 12043)
-AddCheckBox(scorch SpellName(SCORCH))
+AddCheckBox(scorch SpellName(SCORCH) default)
+AddCheckBox(abarr SpellName(ARCANEBARRAGE) default)
SpellAddDebuff(PYROBLAST HOTSTREAK=0)
SpellAddDebuff(ARCANEBLAST ARCANEBLAST=10)
@@ -46,8 +50,7 @@ AddIcon help=main
if TalentPoints(TALENTLIVINGBOMB more 0)
{
#Fire spec
- if TargetDebuffExpires(IMPROVEDSCORCH 6 stacks=5) and CheckBoxOn(scorch) and TargetDeadIn(more 15) Spell(SCORCH)
- #PTR if TargetDebuffExpires(IMPROVEDSCORCH 6) and CheckBoxOn(scorch) and TargetDeadIn(more 15) Spell(SCORCH)
+ if TargetDebuffExpires(IMPROVEDSCORCH 6) and CheckBoxOn(scorch) and TargetDeadIn(more 15) Spell(SCORCH)
if BuffPresent(HOTSTREAK) Spell(PYROBLAST)
if TargetDebuffExpires(LIVINGBOMB 0 mine=1) and TargetDeadIn(more 12) Spell(LIVINGBOMB)
if TalentPoints(TALENTPIERCINGICE more 0)
@@ -60,16 +63,19 @@ AddIcon help=main
{
#Frost spec
Spell(SUMMONWATERELEMENTAL)
- #PTR : Spell(DEEPFREEZE)
+ if TargetClassification(worldboss) Spell(DEEPFREEZE)
Spell(FROSTBOLT)
}
if TalentPoints(TALENTARCANEBARRAGE more 0)
{
- #Arcane spec
- if DebuffExpires(ARCANEBLAST 0 stacks=4)
- Spell(ARCANEBLAST)
- Spell(ARCANEMISSILES)
+ #Arcane spec
+ if DebuffExpires(ARCANEBLAST 0 stacks=4)
+ Spell(ARCANEBLAST)
+ if BuffPresent(MISSILEBARRAGE)
+ Spell(ARCANEMISSILES)
+ if CheckBoxOn(abarr) Spell(ARCANEBARRAGE)
+ Spell(ARCANEMISSILES)
}
}