Quantcast

added timeWithHaste function

Sidoine De Wispelaere [03-04-11 - 23:09]
added timeWithHaste function
fixes in shaman script
fixes in bm hunter script

git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@359 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Filename
Condition.lua
defaut/Chaman.lua
defaut/Chasseur.lua
diff --git a/Condition.lua b/Condition.lua
index f890154..85bbe09 100644
--- a/Condition.lua
+++ b/Condition.lua
@@ -865,7 +865,7 @@ Ovale.conditions=
 		local actionCooldownStart, actionCooldownDuration, actionEnable = Ovale:GetComputedSpellCD(condition[1])
 		return actionCooldownDuration, actionCooldownStart, -1
 	end,
--- Test if the player is in a given stance
+	-- Test if the player is in a given stance
 	-- 1 : the stance
 	Stance = function(condition)
 		if (GetShapeshiftForm(true) == condition[1]) then
@@ -909,6 +909,9 @@ Ovale.conditions=
 	timeToDie = function(condition)
 		return 0, getTargetDead(getTarget(condition.target)), -1
 	end,
+	timeWithHaste = function(condition)
+		return avecHate(condition[1], "spell")
+	end,
 	TotemExpires = function(condition)
 		local haveTotem, totemName, startTime, duration = GetTotemInfo(totemType[condition[1]])
 		if not startTime then
diff --git a/defaut/Chaman.lua b/defaut/Chaman.lua
index 1af4889..48c5a9f 100644
--- a/defaut/Chaman.lua
+++ b/defaut/Chaman.lua
@@ -34,6 +34,7 @@ Define(STORMSTRIKE 17364)
 	SpellInfo(STORMSTRIKE cd=8)
 Define(THUNDERSTORM 51490)
 Define(UNLEASHELEMENTS 73680)
+Define(UNLEASHFLAME 73683)
 Define(WATERSHIELD 52127)
 	SpellAddBuff(WATERSHIELD WATERSHIELD=600)
 Define(WINDSHEAR 57994)
@@ -66,7 +67,7 @@ Define(STRENGTHOFEARTHTOTEM 8075)
 Define(TREMORTOTEM 8143)

 ScoreSpells(LIGHTNINGSHIELD CHAINLIGHTNING FLAMESHOCK LAVABURST EARTHSHOCK LIGHTNINGBOLT
-			STORMSTRIKE LAVALASH)
+			STORMSTRIKE LAVALASH UNLEASHELEMENTS)

 AddCheckBox(aoe L(AOE))
 AddCheckBox(chain SpellName(CHAINLIGHTNING) default mastery=1)
@@ -75,25 +76,30 @@ AddIcon help=main mastery=1
 {
 	unless InCombat()
 	{
+		#/flametongue_weapon,weapon=main
 		if WeaponEnchantExpires(mainhand 400) Spell(FLAMETHONG)
 	}
+	#/lightning_shield
 	if BuffExpires(LIGHTNINGSHIELD 2) Spell(LIGHTNINGSHIELD)
-#	if CheckBoxOn(aoe)
-#	{
-#		if TotemExpires(fire) Spell(MAGMATOTEM)
-#		unless TotemExpires(fire) Spell(FIRENOVA)
-#		if ManaPercent(less 90) Spell(THUNDERSTORM)
-#	}
-	if TargetDebuffExpires(FLAMESHOCK 0 mine=1) Spell(FLAMESHOCK)
-	unless TargetDebuffExpires(FLAMESHOCK 1.6 haste=spell mine=1) Spell(LAVABURST)
+
+	#/unleash_elements,moving=1
+	if Speed(more 0) Spell(UNLEASHELEMENTS)
+
+	#/flame_shock,if=!ticking|ticks_remain<3
+	if TargetDebuffExpires(FLAMESHOCK 3 mine=1) Spell(FLAMESHOCK)
+	#/lava_burst,if=(dot.flame_shock.remains-cast_time)>=0.05
+	if target.debuffExpires(FLAMESHOCK mine=1) - castTime(LAVABURST) > 0.05 Spell(LAVABURST)
+	#/earth_shock,if=buff.lightning_shield.stack=9
 	if BuffPresent(LIGHTNINGSHIELD stacks=9) Spell(EARTHSHOCK)
+	#/earth_shock,if=buff.lightning_shield.stack>6&dot.flame_shock.remains>cooldown&dot.flame_shock.remains<cooldown+action.flame_shock.tick_time
+	if BuffPresent(LIGHTNINGSHIELD stacks=7) and { target.debuffExpires(FLAMESHOCK mine=1) > spell(LAVABURST) }
+			and { target.debuffExpires(FLAMESHOCK mine=1) < spell(LAVABURST) + timeWithHaste(3) } Spell(LAVABURST)
+
 	if TotemExpires(fire) Spell(SEARINGTOTEM)
+	#/spiritwalkers_grace,moving=1
+	#/chain_lightning,if=target.adds>2
 	if CheckBoxOn(aoe) Spell(CHAINLIGHTNING)
-#	Spell(UNLEASHELEMENTS)
-
-#	if CheckBoxOn(chain) and CastTime(LIGHTNINGBOLT more 1.5) and at least 0s from Spell(LAVABURST) until EndCastTime(CHAINLIGHTNING)
-#			Spell(CHAINLIGHTNING)
-
+	#/lightning_bolt
 	Spell(LIGHTNINGBOLT)
 }

@@ -101,10 +107,13 @@ AddIcon help=main mastery=2
 {
 	unless InCombat()
 	{
+		#/windfury_weapon,weapon=main
 		if WeaponEnchantExpires(mainhand 400) Spell(WINDFURYWEAPON)
+		#/flametongue_weapon,weapon=off
 		if WeaponEnchantExpires(offhand 400) Spell(FLAMETHONGWEAPON)
 	}

+	#/lightning_shield
 	if BuffExpires(LIGHTNINGSHIELD) Spell(LIGHTNINGSHIELD)

 	if CheckBoxOn(aoe)
@@ -125,17 +134,26 @@ AddIcon help=main mastery=2

 	if CheckBoxOff(aoe)
 	{
-		if BuffPresent(MAELSTROMWEAPON stacks=5) Spell(LIGHTNINGBOLT)
+		#/searing_totem
 		if TotemExpires(fire) Spell(SEARINGTOTEM)
+		#/lava_lash
 		Spell(LAVALASH)
-		if BuffPresent(MAELSTROMWEAPON stacks=4) Spell(LIGHTNINGBOLT)
+		#/lightning_bolt,if=buff.maelstrom_weapon.stack=5&buff.maelstrom_weapon.react
+		if BuffPresent(MAELSTROMWEAPON stacks=5) Spell(LIGHTNINGBOLT)
+		#/unleash_elements
 		Spell(UNLEASHELEMENTS)
-		if TargetDebuffExpires(FLAMESHOCK 0 mine=1) Spell(FLAMESHOCK)
+		#/flame_shock,if=!ticking|(buff.unleash_flame.up&ticks_remain<=2)
+		if TargetDebuffExpires(FLAMESHOCK 0 mine=1) or {BuffPresent(UNLEASHFLAME) and TargetDebuffExpires(FLAMESHOCK 2 mine=1)}
+			Spell(FLAMESHOCK)
+		#/earth_shock
 		Spell(EARTHSHOCK)
+		#/stormstrike
 		Spell(STORMSTRIKE)
-		Spell(FIRENOVA)
-		if BuffPresent(MAELSTROMWEAPON stacks=2) Spell(LIGHTNINGBOLT)
-		Spell(LAVABURST)
+		#/fire_nova
+		if TotemPresent(fire totem=MAGMATOTEM) or TotemPresent(fire totem=FIREELEMENTALTOTEM) or TotemPresent(fire totem=FLAMETHONGTOTEM)
+			Spell(FIRENOVA)
+		#/lightning_bolt,if=buff.maelstrom_weapon.stack=4&buff.maelstrom_weapon.react
+		if BuffPresent(MAELSTROMWEAPON stacks=4) Spell(LIGHTNINGBOLT)
 	}

 	Spell(SHAMANISTICRAGE priority=2)
diff --git a/defaut/Chasseur.lua b/defaut/Chasseur.lua
index de25303..2a0b77f 100644
--- a/defaut/Chasseur.lua
+++ b/defaut/Chasseur.lua
@@ -59,24 +59,59 @@ ScoreSpells(FOCUSFIRE KILLCOMMAND ARCANESHOT KILLSHOT STEADYSHOT SERPENTSTING

 AddIcon help=main mastery=1
 {
+	if CheckBoxOn(multi)
+	{
+		#/multi_shot,if=target.adds>5
+		if Mana(more 56) Spell(MULTISHOT)
+		#/cobra_shot,if=target.adds>5
+		Spell(COBRASHOT)
+		Spell(STEADYSHOT)
+	}
+	#/serpent_sting,if=!ticking
 	if Mana(more 24) and TargetDebuffExpires(SERPENTSTING 0 mine=1) and TargetDeadIn(more 8) Spell(SERPENTSTING)
+	#/kill_shot
 	if TargetLifePercent(less 20) Spell(KILLSHOT)
-	if Mana(less 20) Spell(FERVOR)
-	if pet.BuffPresent(FRENZYEFFECT stacks=5) and BuffExpires(BEASTWITHIN 0) Spell(FOCUSFIRE)
+	#/kill_command
 	if TargetInRange(GROWL) Spell(KILLCOMMAND)
-	if Mana(more 56)
-	{
-		if CheckBoxOn(multi) Spell(MULTISHOT)
-		Spell(ARCANESHOT)
-	}
+	#/fervor,if=focus<=20
+	if Mana(less 20) Spell(FERVOR)
+	#/arcane_shot,if=focus>=90|buff.beast_within.up
+	if Mana(more 90) or BuffPresent(BEASTWITHIN) Spell(ARCANESHOT)
+	#/cobra_shot
 	Spell(COBRASHOT)
 	Spell(STEADYSHOT)
 }

+AddIcon help=offgcd mastery=1
+{
+	#/focus_fire,five_stacks=1,if=!buff.beast_within.up
+	if pet.BuffPresent(FRENZYEFFECT stacks=5) and BuffExpires(BEASTWITHIN 0) Spell(FOCUSFIRE)
+}
+
+AddIcon help=cd mastery=1
+{
+	unless BuffPresent(ASPECTOFTHEHAWK) or BuffPresent(ASPECTOFTHEFOX) Spell(ASPECTOFTHEHAWK)
+	#/bestial_wrath,if=focus>60
+	if Mana(more 60) Spell(BESTIALWRATH usable=1)
+	#/rapid_fire,if=!buff.bloodlust.up&!buff.beast_within.up
+	if BuffExpires(heroism 0) and BuffExpires(BEASTWITHIN 0) Spell(RAPIDFIRE)
+	Item(Trinket0Slot usable=1)
+	Item(Trinket1Slot usable=1)
+}
+
 AddIcon help=main mastery=2
 {
-    if Mana(more 24) and TargetDebuffExpires(SERPENTSTING 0 mine=1) and TargetDeadIn(more 8) Spell(SERPENTSTING)
-    if TargetDebuffPresent(SERPENTSTING) and Mana(more 49) Spell(CHIMERASHOT)
+	if CheckBoxOn(multi)
+	{
+		#/multi_shot,if=target.adds>5
+		if Mana(more 56) Spell(MULTISHOT)
+		#/cobra_shot,if=target.adds>5
+		Spell(STEADYSHOT)
+	}
+
+	#/serpent_sting,if=!ticking&target.health_pct<=80
+    if Mana(more 24) and TargetDebuffExpires(SERPENTSTING 0 mine=1) and TargetDeadIn(more 8) and TargetLifePercent(less 90) Spell(SERPENTSTING)
+	if TargetDebuffPresent(SERPENTSTING) and Mana(more 49) Spell(CHIMERASHOT)
     if TargetLifePercent(less 20) Spell(KILLSHOT)
 	if BuffPresent(FIRE) Spell(AIMEDSHOT)
     if Mana(less 40) or Counter(ss equal 1) Spell(STEADYSHOT)
@@ -86,6 +121,15 @@ AddIcon help=main mastery=2
     unless 0.25s before Spell(CHIMERASHOT) Spell(STEADYSHOT)
 }

+AddIcon help=cd mastery=1
+{
+	unless BuffPresent(ASPECTOFTHEHAWK) or BuffPresent(ASPECTOFTHEFOX) Spell(ASPECTOFTHEHAWK)
+	#/rapid_fire
+	Spell(RAPIDFIRE)
+	Item(Trinket0Slot usable=1)
+	Item(Trinket1Slot usable=1)
+}
+
 AddIcon help=main mastery=3
 {
     if Mana(more 24) and TargetDebuffExpires(SERPENTSTING 0 mine=1) and TargetDeadIn(more 8) Spell(SERPENTSTING)
@@ -102,11 +146,10 @@ AddIcon help=main mastery=3
 }


-AddIcon help=cd
+AddIcon help=cd mastery=3
 {
 	unless BuffPresent(ASPECTOFTHEHAWK) or BuffPresent(ASPECTOFTHEFOX) Spell(ASPECTOFTHEHAWK)
 	if TargetDebuffExpires(HUNTERSMARK 2) and TargetDebuffExpires(MARKEDFORDEATH 0) and TargetDeadIn(more 20) Spell(HUNTERSMARK nored=1)
-	Spell(BESTIALWRATH usable=1)
 	Item(Trinket0Slot usable=1)
 	Item(Trinket1Slot usable=1)
 	Spell(CALLOFTHEWILD usable=1)