Quantcast

- 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
Filename
Condition.lua
Ovale.toc
defaut/Chasseur.lua
defaut/Chevalier.lua
defaut/Demoniste.lua
defaut/Guerrier.lua
defaut/Mage.lua
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)
        }
 }