Quantcast

fury warrior: bloodthirst is higher priority

Sidoine De Wispelaere [10-15-10 - 20:29]
fury warrior: bloodthirst is higher priority
balance druid: fix of starsurge
mage: bug fixes
dk: removing glyph of disease
unholy dk: adding dark infusion, sudden doom, festering strike, and dark transformation (thanks to Chronomaster)
shadow priest: script from Moomeuh
marksmanship hunter: script from Ilmendil
protection paladin: script from Gabrielz
retribution paladin: script from Gabrielz

git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@272 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Filename
Ovale.lua
defaut/Chasseur.lua
defaut/Chevalier.lua
defaut/Druide.lua
defaut/Guerrier.lua
defaut/Mage.lua
defaut/Paladin.lua
diff --git a/Ovale.lua b/Ovale.lua
index a9ee774..a5f10c5 100644
--- a/Ovale.lua
+++ b/Ovale.lua
@@ -336,9 +336,19 @@ local options =
 					name = "Debug",
 					type = "execute",
 					func = function()
-						--for i=1,10 do Ovale:Print(i.."="..UnitPower("player", i)) end
+						for i=1,10 do Ovale:Print(i.."="..UnitPower("player", i)) end
 						Ovale:Print(Ovale.state.eclipse)
 					end
+				},
+				talent =
+				{
+					name = "Talent",
+					type = "execute",
+					func = function()
+						for k,v in pairs(Ovale.talentNameToId) do
+							Ovale:Print(k.."="..v)
+						end
+					end
 				}
 			}
 		}
@@ -916,7 +926,6 @@ function Ovale:RemplirListeTalents()
 			local nameTalent, icon, tier, column, currRank, maxRank= GetTalentInfo(t,i);
 			local link = GetTalentLink(t,i)
 			local a, b, talentId = string.find(link, "talent:(%d+)");
-			-- self:Print("talent = "..nameTalent.." id = ".. talentId)
 			talentId = tonumber(talentId)
 			self.talentIdToName[talentId] = nameTalent
 			self.talentNameToId[nameTalent] = talentId
@@ -1103,17 +1112,26 @@ function Ovale:AddSpellToStack(spellName, startCast, endCast, nextCast, nocd)
 			if newSpellInfo.starsurge then
 				local buffAura = self:GetAura("player", "HELPFUL", 48517) --Solar
 				if buffAura.stacks>0 then
+					self:Log("starsurge with solar buff = " .. (- newSpellInfo.starsurge))
 					self.state.eclipse = self.state.eclipse - newSpellInfo.starsurge
 				else
 					buffAura = self:GetAura("player", "HELPFUL", 48518) --Lunar
 					if buffAura.stacks>0 then
+						self:Log("starsurge with lunar buff = " .. newSpellInfo.starsurge)
 						self.state.eclipse = self.state.eclipse + newSpellInfo.starsurge
 					elseif self.state.eclipse < 0 then
+						self:Log("starsurge with eclipse < 0 = " .. (- newSpellInfo.starsurge))
 						self.state.eclipse = self.state.eclipse - newSpellInfo.starsurge
 					else
+						self:Log("starsurge with eclipse > 0 = " .. newSpellInfo.starsurge)
 						self.state.eclipse = self.state.eclipse + newSpellInfo.starsurge
 					end
 				end
+				if self.state.eclipse < -100 then
+					self.state.eclipse = -100
+				elseif self.state.eclipse > 100 then
+					self.state.eclipse = 100
+				end
 			end
 			if newSpellInfo.holy then
 				self.state.holy = self.state.holy + newSpellInfo.holy
diff --git a/defaut/Chasseur.lua b/defaut/Chasseur.lua
index 733ee7e..81f8823 100644
--- a/defaut/Chasseur.lua
+++ b/defaut/Chasseur.lua
@@ -45,7 +45,8 @@ Define(SILENCINGSHOT 34490)
 Define(LOCKANDLOAD 56453)
 Define(FRENZYEFFECT 19615)
 Define(IMPROVEDSTEADYSHOT 53224)
-Define(MARKEDFORDEATH 53243)
+Define(MARKEDFORDEATH 88691)
+Define(FIRE 82926)

 #Talents
 Define(TALENTCHIMSHOT 2135)
@@ -80,15 +81,15 @@ AddIcon help=main mastery=1

 AddIcon help=main mastery=2
 {
-	if Mana(less 43) or Counter(ss equal 1) Spell(STEADYSHOT)
-	if TargetDebuffPresent(SERPENTSTING) Spell(CHIMERASHOT)
-	if TargetDebuffExpires(SERPENTSTING 0 mine=1) and TargetDeadIn(more 8) Spell(SERPENTSTING)
-	Spell(AIMEDSHOT)
-	Spell(ARCANESHOT)
-	if CheckBoxOn(multi) Spell(MULTISHOT)
-	if TargetLifePercent(less 20) Spell(KILLSHOT)
-	Spell(KILLCOMMAND)
-	unless 0.25s before Spell(CHIMERASHOT) Spell(STEADYSHOT)
+    if TargetLifePercent(less 20) Spell(KILLSHOT)
+    if TargetDebuffExpires(SERPENTSTING 0 mine=1) and TargetDeadIn(more 8) Spell(SERPENTSTING)
+    if TargetDebuffPresent(SERPENTSTING) Spell(CHIMERASHOT)
+    if BuffPresent(FIRE) Spell(AIMEDSHOT)
+    if Mana(less 44) or Counter(ss equal 1) Spell(STEADYSHOT)
+    unless 1.6s before Spell(CHIMERASHOT) Spell(ARCANESHOT)
+    if CheckBoxOn(multi) Spell(MULTISHOT)
+    if Mana(more 66) Spell(ARCANESHOT)
+    unless 0.25s before Spell(CHIMERASHOT) Spell(STEADYSHOT)
 }

 AddIcon help=main mastery=3
diff --git a/defaut/Chevalier.lua b/defaut/Chevalier.lua
index 5924b72..3819f15 100644
--- a/defaut/Chevalier.lua
+++ b/defaut/Chevalier.lua
@@ -63,16 +63,15 @@ Define(VAMPIRICBLOOD 55233) #blood
 #Define(TALENTBLOODYSTRIKES 2015)

 #Glyphs
-Define(GLYPHDISEASE 63334)
 Define(GLYPHHOWLINGBLAST 63335)

-
 #Buffs and debuffs
 Define(BLOODPLAGUE 59879)
 Define(FROSTFEVER 59921)
 Define(KILLINGMACHINE 51124)
+Define(SHADOWINFUSION 49572)
+Define(SUDDENDOOM 49530)

-AddCheckBox(rolldes SpellName(GLYPHDISEASE) default glyph=GLYPHDISEASE)
 AddCheckBox(horn SpellName(HORNOFWINTER))

 ScoreSpells(HOWLINGBLAST HEARTSTRIKE BLOODSTRIKE DEATHSTRIKE SCOURGESTRIKE OBLITERATE HEARTSTRIKE
@@ -84,11 +83,6 @@ AddIcon help=main mastery=1

 	if BuffExpires(strengthagility 2) and CheckBoxOn(horn) Spell(HORNOFWINTER)

-	if CheckBoxOn(rolldes) and Glyph(GLYPHDISEASE)
-		and TargetDebuffPresent(FROSTFEVER mine=1) and TargetDebuffPresent(BLOODPLAGUE mine=1) and
-		{TargetDebuffExpires(FROSTFEVER 3 mine=1) or TargetDebuffExpires(BLOODPLAGUE 3 mine=1)}
-			Spell(PESTILENCE)
-
 	if TargetDebuffPresent(FROSTFEVER mine=1) and TargetDebuffPresent(BLOODPLAGUE mine=1)
 	{
 		if Runes(blood 1) and {CheckBoxOff(rolldes) or Runes(blood 2)} Spell(HEARTSTRIKE)
@@ -108,16 +102,11 @@ AddIcon help=main mastery=2
 {
 	if BuffExpires(strengthagility 2) and CheckBoxOn(horn) Spell(HORNOFWINTER)

-	if CheckBoxOn(rolldes) and Glyph(GLYPHDISEASE)
-		and TargetDebuffPresent(FROSTFEVER mine=1) and TargetDebuffPresent(BLOODPLAGUE mine=1) and
-		{TargetDebuffExpires(FROSTFEVER 3 mine=1) or TargetDebuffExpires(BLOODPLAGUE 3 mine=1)}
-			Spell(PESTILENCE)
-
 	if BuffPresent(KILLINGMACHINE) Spell(FROSTSTRIKE usable=1)

 	if TargetDebuffPresent(FROSTFEVER mine=1) and TargetDebuffPresent(BLOODPLAGUE mine=1)
 	{
-		if Runes(unholy 1 nodeath=1) and Runes(frost 1 nodeath=1) Spell(OBLITERATE)
+        if Runes(unholy 1 nodeath=1) and Runes(frost 1 nodeath=1) Spell(OBLITERATE)
 		if Runes(blood 1) and {CheckBoxOff(rolldes) or Runes(blood 2)} Spell(BLOODSTRIKE)
 	}

@@ -142,30 +131,21 @@ AddIcon help=main mastery=3
 {
 	if BuffExpires(strengthagility 2) and CheckBoxOn(horn) Spell(HORNOFWINTER)

-	if CheckBoxOn(rolldes) and Glyph(GLYPHDISEASE)
-		and TargetDebuffPresent(FROSTFEVER mine=1) and TargetDebuffPresent(BLOODPLAGUE mine=1) and
-		{TargetDebuffExpires(FROSTFEVER 3 mine=1) or TargetDebuffExpires(BLOODPLAGUE 3 mine=1)}
-			Spell(PESTILENCE)
-
 	if TargetDebuffPresent(FROSTFEVER mine=1) and TargetDebuffPresent(BLOODPLAGUE mine=1)
 	{
+		if TargetBuffPresent(SHADOWINFUSION stacks=5 target=pet) Spell(DARKTRANSFORMATION)
+		if BuffPresent(SUDDENDOOM mine=1) Spell(DEATHCOIL usable=1)
+		if Mana(more 90) Spell(DEATHCOIL usable=1)
 		if Runes(unholy 1) Spell(SCOURGESTRIKE)
-		if Runes(unholy 1 nodeath=1) and Runes(frost 1 nodeath=1) Spell(OBLITERATE)
-		if Runes(blood 1) and {CheckBoxOff(rolldes) or Runes(blood 2)} Spell(BLOODSTRIKE)
+        if Runes(blood 1 nodeath=1) and Runes(frost 1 nodeath=1) Spell(FESTERINGSTRIKE)
 	}
 	if TargetDebuffExpires(FROSTFEVER 0 mine=1) and Runes(frost 1) Spell(ICYTOUCH)
 	if TargetDebuffExpires(BLOODPLAGUE 0 mine=1) and Runes(unholy 1) Spell(PLAGUESTRIKE)

 	if PetPresent(no) Spell(RAISEDEAD)
-	if Mana(more 39) Spell(DEATHCOIL usable=1)
+	if Mana(more 34) Spell(DEATHCOIL usable=1)

 	if CheckBoxOn(horn) Spell(HORNOFWINTER priority=2)
-	unless Runes(frost 1) and Runes(unholy 1) Spell(BLOODTAP)
-	if Runes(blood 2 nodeath=1)
-	{
-		Spell(HEARTSTRIKE priority=2)
-		Spell(BLOODSTRIKE priority=2)
-	}
 }

 AddIcon help=aoe
diff --git a/defaut/Druide.lua b/defaut/Druide.lua
index 8c5fc7b..ac2d7ce 100644
--- a/defaut/Druide.lua
+++ b/defaut/Druide.lua
@@ -93,7 +93,7 @@ AddIcon help=main mastery=1
 		Spell(MOONFIRE)
 	}

-	if BuffPresent(SHOOTINGSTARS) and BuffExpires(SHOOTINGSTARS 3) Spell(STARSURGE)
+	Spell(STARSURGE)

 	if BuffPresent(ECLIPSELUNAR) or Eclipse(equal -100)
 	{
@@ -117,8 +117,6 @@ AddIcon help=main mastery=1
 	if TargetDebuffExpires(MOONFIRE 0 mine=1) and TargetDeadIn(more 6)
 		Spell(MOONFIRE)

-	Spell(STARSURGE)
-
 	if {Eclipse(equal 0) and CheckBoxOn(wrath)} or Eclipse(less 0)
 		Spell(WRATH)

diff --git a/defaut/Guerrier.lua b/defaut/Guerrier.lua
index aac8089..d8800b6 100644
--- a/defaut/Guerrier.lua
+++ b/defaut/Guerrier.lua
@@ -71,6 +71,7 @@ Define(WHIRLWIND 1680)
 Define(BLOODSURGE 46916)
 Define(TASTEFORBLOOD 56636)
 Define(ENRAGE 14202)
+Define(EXECUTIONER 90806)

 #Talents
 Define(SLAMTALENT 2233)
@@ -112,9 +113,11 @@ AddIcon help=main mastery=2

 	if CheckBoxOn(multi) Spell(WHIRLWIND)
 	Spell(COLOSSUSSMASH)
+    if TargetLifePercent(less 20) and BuffExpires(EXECUTIONER 0 stacks=5) Spell(EXECUTE)
+	Spell(BLOODTHIRST)
 	Spell(RAGINGBLOW usable=1)
-    Spell(BLOODTHIRST)
     Spell(VICTORYRUSH usable=1)
+	if TargetLifePercent(less 20) and BuffExpires(EXECUTIONER 3) Spell(EXECUTE)
 	if BuffPresent(BLOODSURGE) Spell(SLAM)
     if TargetLifePercent(less 20) Spell(EXECUTE)
 	if BuffExpires(DEATHWISH) and BuffExpires(RECKLESSNESS) and BuffExpires(ENRAGE) Spell(BERSERKERRAGE)
diff --git a/defaut/Mage.lua b/defaut/Mage.lua
index ee12fcc..73966ce 100644
--- a/defaut/Mage.lua
+++ b/defaut/Mage.lua
@@ -40,10 +40,7 @@ Define(FINGERSOFFROST 83074) #frost boost ice lance/deep freeze
 Define(HOTSTREAK 48108) #fire instant pyroblast

 #Talent
-Define(FIRESTARTERTALENT 1849)
-
-AddCheckBox(scorch SpellName(SCORCH) default talent=TALENTIMPROVEDSCORSH)
-AddCheckBox(abarr SpellName(ARCANEBARRAGE) default talent=TALENTARCANEBARRAGE)
+Define(FIRESTARTERTALENT 11431)

 ScoreSpells(SCORCH PYROBLAST LIVINGBOMB FROSTFIREBOLT FIREBALL SUMMONWATERELEMENTAL FROSTBOLT ARCANEBLAST ARCANEMISSILES ARCANEBARRAGE
 			DEEPFREEZE ICELANCE)
@@ -74,7 +71,7 @@ AddIcon help=main mastery=3
 	unless InCombat() if BuffExpires(MAGEARMOR 400) and BuffExpires(MOLTENARMOR 400) and BuffExpires(ICEARMOR 400) Spell(MOLTENARMOR)

 	if PetPresent(no) Spell(SUMMONWATERELEMENTAL)
-	If BuffPresent(FINGERSOFFROST) or Speed(more 0) {Spell(DEEPFREEZE) Spell(ICELANCE)}
+	if BuffPresent(FINGERSOFFROST) or Speed(more 0) {Spell(DEEPFREEZE) Spell(ICELANCE)}
 	if BuffPresent(BRAINFREEZE) Spell(FROSTFIREBOLT)
 	Spell(FROSTBOLT)
 }
diff --git a/defaut/Paladin.lua b/defaut/Paladin.lua
index 04252a5..f941e41 100644
--- a/defaut/Paladin.lua
+++ b/defaut/Paladin.lua
@@ -24,6 +24,7 @@ Define(HOLYWRATH 2812)
 	SpellInfo(HOLYWRATH cd=30)
 Define(INQUISITION 84963)
 Define(JUDGEMENT 20271)
+Define(RIGHTEOUSFURY 25780)
 Define(SEALRIGHTEOUSNESS 20154)
 	SpellAddBuff(SEALRIGHTEOUSNESS SEALRIGHTEOUSNESS=1800)
 Define(SEALOFTRUTH 31801)
@@ -43,17 +44,24 @@ AddCheckBox(aoe L(AOE))

 AddIcon help=main mastery=2
 {
+	if BuffExpires(RIGHTEOUSFURY) Spell(RIGHTEOUSFURY)
 	unless InCombat() if BuffExpires(SEALRIGHTEOUSNESS 400) and BuffExpires(SEALOFTRUTH 400) Spell(SEALOFTRUTH)

-	if HolyPower(more 2) Spell(SHIELDOFTHERIGHTEOUS)
-	Spell(JUDGEMENT)
-	Spell(AVENGERSSHIELD)
-	Spell(HAMMEROFTHERIGHTEOUS)
 	if CheckBoxOn(aoe)
 	{
+		Spell(HAMMEROFTHERIGHTEOUS)
+		if HolyPower(more 0) and BuffExpires(INQUISITION) Spell(INQUISITION)
 		Spell(HOLYWRATH)
 		Spell(CONSECRATE)
 	}
+	if CheckBoxOff(aoe)
+	{
+		if HolyPower(more 2) Spell(SHIELDOFTHERIGHTEOUS)
+		Spell(CRUSADERSTRIKE)
+	}
+	Spell(JUDGEMENT)
+	Spell(HOLYWRATH)
+	Spell(AVENGERSSHIELD)
 }

 AddIcon help=cd mastery=2
@@ -71,16 +79,19 @@ AddIcon help=main mastery=3
 		if BuffExpires(SEALRIGHTEOUSNESS 400) and BuffExpires(SEALOFTRUTH 400) Spell(SEALOFTRUTH)
 	}

-	if HolyPower(more 2) Spell(ZEALOTRY)
+	if HolyPower(more 2) and TargetDeadIn(more 20) Spell(ZEALOTRY)
     if HolyPower(more 0) and BuffExpires(INQUISITION) Spell(INQUISITION)
-	if CheckBoxOff(aoe) and HolyPower(more 2) Spell(TEMPLARSVERDICT)
-	if CheckBoxOn(aoe) and HolyPower(more 2) Spell(DIVINESTORM)
-	if BuffPresent(THEARTOFWAR) Spell(EXORCISM)
-	if TargetLifePercent(less 20) or BuffPresent(AVENGINGWRATH) Spell(HAMMEROFWRATH)
-	Spell(JUDGEMENT)
-	Spell(CRUSADERSTRIKE)
-	if CheckBoxOn(aoe) Spell(CONSECRATE)
-	if CheckBoxOn(aoe) Spell(HOLYWRATH)
+    if CheckBoxOff(aoe) and HolyPower(more 2) Spell(TEMPLARSVERDICT)
+    if CheckBoxOn(aoe) and HolyPower(more 2) Spell(DIVINESTORM)
+    Spell(CRUSADERSTRIKE)
+    unless 0.5s before Spell(CRUSADERSTRIKE)
+	{
+   		if TargetLifePercent(less 20) or BuffPresent(AVENGINGWRATH) Spell(HAMMEROFWRATH)
+   		if BuffPresent(THEARTOFWAR) Spell(EXORCISM)
+   		Spell(JUDGEMENT)
+   		Spell(HOLYWRATH)
+	}
+    if CheckBoxOn(aoe) Spell(CONSECRATE)
 }

 AddIcon help=cd mastery=3