Quantcast

updated simulationcraft scripts

Sidoine De Wispelaere [10-14-12 - 13:46]
updated simulationcraft scripts
better AOE support for shaman and warrior

git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@596 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Filename
OvaleCondition.lua
OvaleData.lua
defaut/Chaman.lua
defaut/Chasseur.lua
defaut/Chevalier.lua
defaut/Demoniste.lua
defaut/Druide.lua
defaut/Guerrier.lua
defaut/Mage.lua
defaut/Moine.lua
defaut/Voleur.lua
diff --git a/OvaleCondition.lua b/OvaleCondition.lua
index 4ef983c..fbdb35d 100644
--- a/OvaleCondition.lua
+++ b/OvaleCondition.lua
@@ -2419,6 +2419,16 @@ OvaleCondition.conditions=
 		return nil
 	end,

+--- Get the number of ticks that would be added if the dot is refreshed.
+-- Not implemented, always returns 0.
+-- @name TicksAdded
+-- @paramsig number
+-- @param id The aura spell ID
+-- @return The number of added ticks.
+	ticksadded = function(condition)
+		return 0, nil, 0, 0, 0
+	end,
+
 --- Get the remaining number of ticks of a damage-over-time (DoT) aura on a target.
 -- @name TicksRemain
 -- @paramsig number
diff --git a/OvaleData.lua b/OvaleData.lua
index 8398807..8bb62a1 100644
--- a/OvaleData.lua
+++ b/OvaleData.lua
@@ -235,7 +235,9 @@ OvaleData.buffSpellList =
 	},
 }
 OvaleData.buffSpellList.bloodlust_aura = OvaleData.buffSpellList.burst_haste
+OvaleData.buffSpellList.bloodlust = OvaleData.buffSpellList.burst_haste
 OvaleData.buffSpellList.heroism_aura = OvaleData.buffSpellList.burst_haste
+OvaleData.buffSpellList.heroism = OvaleData.buffSpellList.burst_haste
 --</public-static-properties>

 --<private-static-properties>
diff --git a/defaut/Chaman.lua b/defaut/Chaman.lua
index 62b2feb..03cf25f 100644
--- a/defaut/Chaman.lua
+++ b/defaut/Chaman.lua
@@ -60,6 +60,9 @@ Define(spiritwalkers_grace 79206)
 Define(stormblast 115356)
   SpellInfo(stormblast duration=15 sharedcd=strike cd=8 )
   SpellAddBuff(stormblast stormblast=1)
+Define(stormlash 120687)
+Define(stormlash_totem 120668)
+  SpellInfo(stormlash_totem duration=10 cd=300 )
 Define(stormstrike 17364)
   SpellInfo(stormstrike duration=15 sharedcd=strike cd=8 )
   SpellAddBuff(stormstrike stormstrike=1)
@@ -71,9 +74,6 @@ Define(unleash_elements 73680)
 Define(unleash_flame 73683)
   SpellInfo(unleash_flame duration=8 )
   SpellAddBuff(unleash_flame unleash_flame=1)
-Define(unleashed_fury_ft 118470)
-  SpellInfo(unleashed_fury_ft duration=10 )
-  SpellAddBuff(unleashed_fury_ft unleashed_fury_ft=1)
 Define(wind_shear 57994)
   SpellInfo(wind_shear duration=3 cd=12 )
 Define(windfury_weapon 8232)
@@ -81,11 +81,6 @@ Define(ancestral_swiftness_talent 11)
 Define(elemental_blast_talent 18)
 Define(elemental_mastery_talent 10)
 Define(unleashed_fury_talent 16)
-AddFunction Bloodlust
-{
-	Spell(bloodlust)
-	Spell(heroism)
-}
 AddIcon mastery=1 help=main
 {
 	if not InCombat()
@@ -94,64 +89,56 @@ AddIcon mastery=1 help=main
 		if not BuffPresent(lightning_shield) Spell(lightning_shield)
 	}

-	{
-		if TalentPoints(unleashed_fury_talent) and not BuffPresent(ascendance) Spell(unleash_elements)
-		if not BuffPresent(ascendance) and {not target.DebuffPresent(flame_shock) or target.TicksRemain(flame_shock) <2 or {{BuffPresent(burst_haste any=1) or BuffPresent(elemental_mastery) } and target.TicksRemain(flame_shock) <3 } } Spell(flame_shock)
-		if target.DebuffRemains(flame_shock) >CastTime(lava_burst) and {BuffPresent(ascendance) or SpellCooldown(lava_burst) } Spell(lava_burst)
-		if TalentPoints(elemental_blast_talent) and not BuffPresent(ascendance) Spell(elemental_blast)
-		if BuffStacks(lightning_shield) ==0 Spell(earth_shock)
-		if BuffStacks(lightning_shield) >3 and target.DebuffRemains(flame_shock) >SpellCooldown(earth_shock) and target.DebuffRemains(flame_shock) <SpellCooldown(earth_shock) +TickTime(flame_shock) Spell(earth_shock)
-		if not TotemPresent(fire) Spell(searing_totem)
-		Spell(lightning_bolt)
-	}
-	if Enemies() >1
-	{
-		Spell(lava_beam)
-		if not TotemPresent(fire) Spell(searing_totem)
-		if not target.DebuffPresent(flame_shock) Spell(flame_shock)
-		if target.DebuffRemains(flame_shock) >CastTime(lava_burst) and SpellCooldown(lava_burst) Spell(lava_burst)
-		if Enemies() >4 Spell(earthquake)
-		if ManaPercent() <80 Spell(thunderstorm)
-		if ManaPercent() >10 Spell(chain_lightning)
-		Spell(lightning_bolt)
-	}
+	if TalentPoints(unleashed_fury_talent) and not BuffPresent(ascendance) Spell(unleash_elements)
+	if not BuffPresent(ascendance) and {not target.DebuffPresent(flame_shock) or target.TicksRemain(flame_shock) <2 or {{BuffPresent(bloodlust any=1) or BuffPresent(elemental_mastery) } and target.TicksRemain(flame_shock) <3 } } Spell(flame_shock)
+	if target.DebuffRemains(flame_shock) >CastTime(lava_burst) and {BuffPresent(ascendance) or SpellCooldown(lava_burst) } Spell(lava_burst)
+	if TalentPoints(elemental_blast_talent) and not BuffPresent(ascendance) Spell(elemental_blast)
+	if BuffStacks(lightning_shield) ==0 Spell(earth_shock)
+	if BuffStacks(lightning_shield) >3 and target.DebuffRemains(flame_shock) >SpellCooldown(earth_shock) and target.DebuffRemains(flame_shock) <SpellCooldown(earth_shock) +TickTime(flame_shock) Spell(earth_shock)
+	if SpellCooldown(fire_elemental_totem) >15 and not TotemPresent(fire) Spell(searing_totem)
+	Spell(lightning_bolt)
+
 }
 AddIcon mastery=1 help=offgcd
 {
 	if target.IsInterruptible() Spell(wind_shear)

-	{
-		if TalentPoints(ancestral_swiftness_talent) and not BuffPresent(ascendance) Spell(ancestral_swiftness)
-	}
-	if Enemies() >1
-	{
-		if Enemies() >2 and not TotemPresent(fire) Spell(magma_totem)
-	}
+	if TalentPoints(ancestral_swiftness_talent) and not BuffPresent(ascendance) Spell(ancestral_swiftness)
+
 }
 AddIcon mastery=1 help=moving
 {

-	{
-		Spell(unleash_elements)
-	}
+	Spell(unleash_elements)
+
+}
+AddIcon mastery=1 help=aoe
+{
+
+	Spell(lava_beam)
+	if not TotemPresent(fire) Spell(magma_totem)
+	if Enemies() <=2 and not TotemPresent(fire) Spell(searing_totem)
+	if not target.DebuffPresent(flame_shock) and Enemies() <3 Spell(flame_shock)
+	if Enemies() <3 and target.DebuffRemains(flame_shock) >CastTime(lava_burst) and SpellCooldown(lava_burst) Spell(lava_burst)
+	Spell(earthquake)
+	if ManaPercent() <80 Spell(thunderstorm)
+	if ManaPercent() >10 Spell(chain_lightning)
+	Spell(lightning_bolt)
+
 }
 AddIcon mastery=1 help=cd
 {
-	if target.HealthPercent() <25 or TimeInCombat() >5 Bloodlust()
+	if target.HealthPercent() <25 or TimeInCombat() >5 { Spell(bloodlust) Spell(heroism) }
+	if not TotemPresent(air) and not BuffPresent(stormlash) and {BuffPresent(bloodlust any=1) or TimeInCombat() >=60 } Spell(stormlash_totem)

-	{
-		if {{SpellCooldown(ascendance) >10 or Level() <87 } and SpellCooldown(fire_elemental_totem) >10 } or BuffPresent(ascendance) or BuffPresent(burst_haste any=1) or TotemPresent(fire)  { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) }
-		if BuffPresent(burst_haste any=1) or BuffPresent(ascendance) or {{SpellCooldown(ascendance) >10 or Level() <87 } and SpellCooldown(fire_elemental_totem) >10 } Spell(blood_fury)
-		if TalentPoints(elemental_mastery_talent) and TimeInCombat() >15 and {{not BuffPresent(burst_haste any=1) and TimeInCombat() <120 } or {not BuffPresent(berserking) and not BuffPresent(burst_haste any=1) and BuffPresent(ascendance) } or {TimeInCombat() >=200 and {SpellCooldown(ascendance) >30 or Level() <87 } } } Spell(elemental_mastery)
-		if not TotemPresent(fire) Spell(fire_elemental_totem)
-		if target.DebuffRemains(flame_shock) >0 and {target.DeadIn() <20 or BuffPresent(burst_haste any=1) or TimeInCombat() >=180 } Spell(ascendance)
-		if not TotemPresent(earth) and SpellCooldown(fire_elemental_totem) >=50 Spell(earth_elemental_totem)
-		Spell(spiritwalkers_grace)
-	}
-	if Enemies() >1
-	{
-		Spell(ascendance)
-	}
+	if {{SpellCooldown(ascendance) >10 or Level() <87 } and SpellCooldown(fire_elemental_totem) >10 } or BuffPresent(ascendance) or BuffPresent(bloodlust any=1) or TotemPresent(fire)  { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) }
+	if BuffPresent(bloodlust any=1) or BuffPresent(ascendance) or {{SpellCooldown(ascendance) >10 or Level() <87 } and SpellCooldown(fire_elemental_totem) >10 } Spell(blood_fury)
+	if TalentPoints(elemental_mastery_talent) and TimeInCombat() >15 and {{not BuffPresent(bloodlust any=1) and TimeInCombat() <120 } or {not BuffPresent(berserking) and not BuffPresent(bloodlust any=1) and BuffPresent(ascendance) } or {TimeInCombat() >=200 and {SpellCooldown(ascendance) >30 or Level() <87 } } } Spell(elemental_mastery)
+	if not TotemPresent(fire) Spell(fire_elemental_totem)
+	if target.DebuffRemains(flame_shock) >0 and {target.DeadIn() <20 or BuffPresent(bloodlust any=1) or TimeInCombat() >=180 } and SpellCooldown(lava_burst) >0 Spell(ascendance)
+	if not TotemPresent(earth) and SpellCooldown(fire_elemental_totem) >=50 Spell(earth_elemental_totem)
+	Spell(spiritwalkers_grace)
+
 }
 AddIcon mastery=2 help=main
 {
@@ -162,69 +149,59 @@ AddIcon mastery=2 help=main
 		if not BuffPresent(lightning_shield) Spell(lightning_shield)
 	}

-	{
-		if not TotemPresent(fire) Spell(searing_totem)
-		if TalentPoints(unleashed_fury_talent) Spell(unleash_elements)
-		if TalentPoints(elemental_blast_talent) Spell(elemental_blast)
-		if BuffStacks(maelstrom_weapon) ==5 or {ArmorSetParts(T13 more 4) ==1 and BuffStacks(maelstrom_weapon) >=4 and False() } Spell(lightning_bolt)
-		Spell(stormblast)
-		if BuffPresent(unleash_flame) and not target.DebuffPresent(flame_shock) Spell(flame_shock)
-		Spell(stormstrike)
-		Spell(lava_lash)
-		Spell(unleash_elements)
-		if BuffStacks(maelstrom_weapon) >=3 and target.DebuffPresent(unleashed_fury_ft) and not BuffPresent(ascendance) Spell(lightning_bolt)
-		if BuffPresent(ancestral_swiftness) Spell(lightning_bolt)
-		if BuffPresent(unleash_flame) and target.DebuffRemains(flame_shock) <=3 Spell(flame_shock)
-		Spell(earth_shock)
-		if BuffStacks(maelstrom_weapon) >1 and not BuffPresent(ascendance) Spell(lightning_bolt)
-	}
-	if Enemies() >1
-	{
-		if not TotemPresent(fire) Spell(searing_totem)
-		if {DebuffCount(flame_shock) ==Enemies() } or DebuffCount(flame_shock) >=5 Spell(fire_nova)
-		if target.DebuffPresent(flame_shock) Spell(lava_lash)
-		if Enemies() >2 and BuffStacks(maelstrom_weapon) >=3 Spell(chain_lightning)
-		Spell(unleash_elements)
-		if not target.DebuffPresent(flame_shock) Spell(flame_shock)
-		Spell(stormblast)
-		Spell(stormstrike)
-		if BuffStacks(maelstrom_weapon) ==5 and SpellCooldown(chain_lightning) >=2 Spell(lightning_bolt)
-		if Enemies() >2 and BuffStacks(maelstrom_weapon) >1 Spell(chain_lightning)
-		if BuffStacks(maelstrom_weapon) >1 Spell(lightning_bolt)
-	}
+	if not TotemPresent(fire) Spell(searing_totem)
+	if TalentPoints(unleashed_fury_talent) Spell(unleash_elements)
+	if TalentPoints(elemental_blast_talent) Spell(elemental_blast)
+	if BuffStacks(maelstrom_weapon) ==5 Spell(lightning_bolt)
+	Spell(stormblast)
+	Spell(stormstrike)
+	if BuffPresent(unleash_flame) and not target.DebuffPresent(flame_shock) Spell(flame_shock)
+	Spell(lava_lash)
+	Spell(unleash_elements)
+	if BuffStacks(maelstrom_weapon) >=3 and not BuffPresent(ascendance) Spell(lightning_bolt)
+	if BuffPresent(ancestral_swiftness) Spell(lightning_bolt)
+	if BuffPresent(unleash_flame) and target.DebuffRemains(flame_shock) <=3 Spell(flame_shock)
+	Spell(earth_shock)
+	if BuffStacks(maelstrom_weapon) >1 and not BuffPresent(ascendance) Spell(lightning_bolt)
+
 }
 AddIcon mastery=2 help=offgcd
 {
 	if target.IsInterruptible() Spell(wind_shear)

-	{
-		if TalentPoints(ancestral_swiftness_talent) and BuffStacks(maelstrom_weapon) <2 Spell(ancestral_swiftness)
-	}
-	if Enemies() >1
-	{
-		if Enemies() >5 and not TotemPresent(fire) Spell(magma_totem)
-	}
+	if TalentPoints(ancestral_swiftness_talent) and BuffStacks(maelstrom_weapon) <2 Spell(ancestral_swiftness)
+
+}
+AddIcon mastery=2 help=aoe
+{
+
+	if not TotemPresent(fire) Spell(magma_totem)
+	if Enemies() <=5 and not TotemPresent(fire) Spell(searing_totem)
+	if {Enemies() <=5 and DebuffCount(flame_shock) ==Enemies() } or DebuffCount(flame_shock) >=5 Spell(fire_nova)
+	if target.DebuffPresent(flame_shock) Spell(lava_lash)
+	if BuffStacks(maelstrom_weapon) >=3 Spell(chain_lightning)
+	Spell(unleash_elements)
+	if not target.DebuffPresent(flame_shock) Spell(flame_shock)
+	Spell(stormblast)
+	Spell(stormstrike)
+	if BuffStacks(maelstrom_weapon) ==5 and SpellCooldown(chain_lightning) >=2 Spell(lightning_bolt)
+	if BuffStacks(maelstrom_weapon) >1 Spell(chain_lightning)
+	if BuffStacks(maelstrom_weapon) >1 Spell(lightning_bolt)
+
 }
 AddIcon mastery=2 help=cd
 {
-	if target.HealthPercent() <25 or TimeInCombat() >5 Bloodlust()
+	if target.HealthPercent() <25 or TimeInCombat() >5 { Spell(bloodlust) Spell(heroism) }
 	 { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) }
+	if not TotemPresent(air) and not BuffPresent(stormlash) and {BuffPresent(bloodlust any=1) or TimeInCombat() >=60 } Spell(stormlash_totem)

-	{
-		Spell(blood_fury)
-		if TalentPoints(elemental_mastery_talent) Spell(elemental_mastery)
-		if not TotemPresent(fire) and {BuffPresent(burst_haste any=1) or BuffPresent(elemental_mastery) or target.DeadIn() <=0 +10 or {TalentPoints(elemental_mastery_talent) and {SpellCooldown(elemental_mastery) ==0 or SpellCooldown(elemental_mastery) >80 } or TimeInCombat() >=60 } } Spell(fire_elemental_totem)
-		if SpellCooldown(strike) >=3 Spell(ascendance)
-		Spell(feral_spirit)
-		if not TotemPresent(earth) and SpellCooldown(fire_elemental_totem) >=50 Spell(earth_elemental_totem)
-		Spell(spiritwalkers_grace)
-	}
-	if Enemies() >1
-	{
-		Spell(blood_fury)
-		if SpellCooldown(strike) >=3 Spell(ascendance)
-		if not TotemPresent(fire) and {BuffPresent(burst_haste any=1) or BuffPresent(elemental_mastery) or target.DeadIn() <=0 +10 or {TalentPoints(elemental_mastery_talent) and {SpellCooldown(elemental_mastery) ==0 or SpellCooldown(elemental_mastery) >80 } or TimeInCombat() >=60 } } Spell(fire_elemental_totem)
-		Spell(feral_spirit)
-	}
+	Spell(blood_fury)
+	if TalentPoints(elemental_mastery_talent) Spell(elemental_mastery)
+	if not TotemPresent(fire) and {BuffPresent(bloodlust any=1) or BuffPresent(elemental_mastery) or target.DeadIn() <=0 +10 or {TalentPoints(elemental_mastery_talent) and {SpellCooldown(elemental_mastery) ==0 or SpellCooldown(elemental_mastery) >80 } or TimeInCombat() >=60 } } Spell(fire_elemental_totem)
+	if SpellCooldown(strike) >=3 Spell(ascendance)
+	Spell(feral_spirit)
+	if not TotemPresent(earth) and SpellCooldown(fire_elemental_totem) >=50 Spell(earth_elemental_totem)
+	Spell(spiritwalkers_grace)
+
 }
 ]]
\ No newline at end of file
diff --git a/defaut/Chasseur.lua b/defaut/Chasseur.lua
index 1ed1a0f..3d3f528 100644
--- a/defaut/Chasseur.lua
+++ b/defaut/Chasseur.lua
@@ -98,7 +98,6 @@ AddIcon mastery=1 help=main
 	if BuffStacks(pet_frenzy any=1)>4 Spell(focus_fire)
 	if not target.DebuffPresent(serpent_sting_aura) Spell(serpent_sting)
 	if SpellUsable(fervor) and not target.DebuffPresent(fervor) and Focus() <=65 Spell(fervor)
-	if Enemies() >5 Spell(cobra_shot)
 	if target.HealthPercent(less 20) Spell(kill_shot)
 	Spell(kill_command)
 	if SpellUsable(dire_beast) and Focus() <=90 Spell(dire_beast)
@@ -118,16 +117,20 @@ AddIcon mastery=1 help=offgcd
 		Spell(trueshot_aura)
 	}
 	unless Stance(1) Spell(aspect_of_the_hawk)
-	unless Stance(2) Spell(aspect_of_the_fox)
 	if Focus() >60 and not BuffPresent(beast_within) Spell(bestial_wrath)
 	Spell(stampede)
 	if SpellUsable(a_murder_of_crows) and not target.DebuffPresent(a_murder_of_crows) Spell(a_murder_of_crows)
 	if SpellUsable(glaive_toss) Spell(glaive_toss)
 }
+AddIcon mastery=1 help=moving
+{
+	unless Stance(2) Spell(aspect_of_the_fox)
+}
 AddIcon mastery=1 help=aoe
 {
 	Spell(explosive_trap)
 	Spell(multi_shot)
+	Spell(cobra_shot)
 }
 AddIcon mastery=1 help=cd
 {
@@ -146,7 +149,6 @@ AddIcon mastery=2 help=main
 	if SpellUsable(powershot) Spell(powershot)
 	if SpellUsable(barrage) Spell(barrage)
 	if SpellUsable(blink_strike) Spell(blink_strike)
-	if Enemies() >5 Spell(steady_shot)
 	if not target.DebuffPresent(serpent_sting_aura) and target.HealthPercent() <=90 Spell(serpent_sting)
 	if target.HealthPercent() <=90 Spell(chimera_shot)
 	if SpellUsable(dire_beast) Spell(dire_beast)
@@ -154,8 +156,8 @@ AddIcon mastery=2 help=main
 	if target.HealthPercent(less 20) Spell(kill_shot)
 	if BuffStacks(master_marksman_fire) Spell(aimed_shot)
 	if BuffStacks(thrill_of_the_hunt) Spell(arcane_shot)
-	if target.HealthPercent() >90 or BuffPresent(rapid_fire) or BuffStacks(burst_haste any=1) Spell(aimed_shot)
-	if {Focus() >=66 or SpellCooldown(chimera_shot) >=5 } and {target.HealthPercent() <90 and not BuffPresent(rapid_fire) and not BuffStacks(burst_haste any=1) } Spell(arcane_shot)
+	if target.HealthPercent() >90 or BuffPresent(rapid_fire) or BuffStacks(bloodlust any=1) Spell(aimed_shot)
+	if {Focus() >=66 or SpellCooldown(chimera_shot) >=5 } and {target.HealthPercent() <90 and not BuffPresent(rapid_fire) and not BuffStacks(bloodlust any=1) } Spell(arcane_shot)
 	if SpellUsable(fervor) and Focus() <=50 Spell(fervor)
 	Spell(steady_shot)
 }
@@ -166,15 +168,19 @@ AddIcon mastery=2 help=offgcd
 		Spell(trueshot_aura)
 	}
 	unless Stance(1) Spell(aspect_of_the_hawk)
-	unless Stance(2) Spell(aspect_of_the_fox)
 	if SpellUsable(glaive_toss) Spell(glaive_toss)
 	Spell(stampede)
 	if SpellUsable(a_murder_of_crows) and not target.DebuffPresent(a_murder_of_crows) Spell(a_murder_of_crows)
 }
+AddIcon mastery=2 help=moving
+{
+	unless Stance(2) Spell(aspect_of_the_fox)
+}
 AddIcon mastery=2 help=aoe
 {
 	Spell(explosive_trap)
 	Spell(multi_shot)
+	Spell(steady_shot)
 }
 AddIcon mastery=2 help=cd
 {
@@ -194,11 +200,12 @@ AddIcon mastery=3 help=main
 	if BuffStacks(lock_and_load) Spell(explosive_shot)
 	if SpellUsable(powershot) Spell(powershot)
 	if SpellUsable(barrage) Spell(barrage)
-	if Enemies() >2 Spell(cobra_shot)
 	if not target.DebuffPresent(serpent_sting_aura) and target.DeadIn() >=10 Spell(serpent_sting)
 	if SpellCooldown(explosive_shot) Spell(explosive_shot)
 	if target.HealthPercent(less 20) Spell(kill_shot)
 	if not target.DebuffPresent(black_arrow) and target.DeadIn() >=8 Spell(black_arrow)
+	if BuffStacks(thrill_of_the_hunt) and target.DebuffRemains(serpent_sting_aura) <2 Spell(multi_shot)
+	if BuffStacks(thrill_of_the_hunt) Spell(arcane_shot)
 	if SpellUsable(dire_beast) Spell(dire_beast)
 	if SpellUsable(fervor) and Focus() <=50 Spell(fervor)
 	if target.DebuffRemains(serpent_sting_aura) <6 Spell(cobra_shot)
@@ -212,16 +219,19 @@ AddIcon mastery=3 help=offgcd
 		Spell(trueshot_aura)
 	}
 	unless Stance(1) Spell(aspect_of_the_hawk)
-	unless Stance(2) Spell(aspect_of_the_fox)
 	if SpellUsable(a_murder_of_crows) and not target.DebuffPresent(a_murder_of_crows) Spell(a_murder_of_crows)
 	if SpellUsable(glaive_toss) Spell(glaive_toss)
 	Spell(stampede)
 }
+AddIcon mastery=3 help=moving
+{
+	unless Stance(2) Spell(aspect_of_the_fox)
+}
 AddIcon mastery=3 help=aoe
 {
 	Spell(explosive_trap)
 	Spell(multi_shot)
-	if BuffStacks(thrill_of_the_hunt) Spell(multi_shot)
+	Spell(cobra_shot)
 }
 AddIcon mastery=3 help=cd
 {
diff --git a/defaut/Chevalier.lua b/defaut/Chevalier.lua
index f0b8785..ffc24ab 100644
--- a/defaut/Chevalier.lua
+++ b/defaut/Chevalier.lua
@@ -108,8 +108,8 @@ AddIcon mastery=2 help=cd
 		Spell(army_of_the_dead)
 	}
 	if TimeInCombat() >=10 Spell(blood_fury)
-	if {RuneCount(frost) >=1 or RuneCount(death) >=1 }  { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) }
 	Spell(raise_dead)
+	if {RuneCount(frost) >=1 or RuneCount(death) >=1 }  { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) }
 	if TalentPoints(unholy_blight_talent) and {target.DebuffRemains(frost_fever) <3 or target.DebuffRemains(blood_plague) <3 } Spell(unholy_blight)
 	if target.DeadIn() <=60 and BuffPresent(mogu_power_potion_aura) Spell(empower_rune_weapon)
 	Spell(empower_rune_weapon)
diff --git a/defaut/Demoniste.lua b/defaut/Demoniste.lua
index 05f02f8..52127b7 100644
--- a/defaut/Demoniste.lua
+++ b/defaut/Demoniste.lua
@@ -126,16 +126,8 @@ AddIcon mastery=1 help=main
 	if target.DebuffExpires(magic_vulnerability any=1) Spell(curse_of_the_elements)
 	if TalentPoints(grimoire_of_service_talent) Spell(service_felhunter)
 	if TalentPoints(grimoire_of_sacrifice_talent) and BuffExpires(grimoire_of_sacrifice) unless pet.CreatureFamily(Felhunter) Spell(summon_felhunter)
-	if Enemies() >3
-	{
-		if {BuffExpires(soulburn) and not InFlightToTarget(seed_of_corruption) and not target.DebuffPresent(seed_of_corruption) } or {BuffPresent(soulburn) and not target.DebuffPresent(soulburn_seed_of_corruption) and not InFlightToTarget(soulburn_seed_of_corruption) } Spell(seed_of_corruption)
-		if not InFlightToTarget(haunt) and target.DebuffRemains(haunt) <CastTime(haunt) +1 and SoulShards() Spell(haunt)
-		if ManaPercent() <70 Spell(life_tap)
-		if not InFlightToTarget(fel_flame) Spell(fel_flame)
-	}
 	if BuffPresent(soulburn) Spell(soul_swap)
 	if not InFlightToTarget(haunt) and target.DebuffRemains(haunt) <TickTime(haunt) +1 +CastTime(haunt) and SoulShards() Spell(haunt)
-	if Enemies() >1 and TimeInCombat() <10 and Glyph(56226) Spell(soul_swap)
 	if not InFlightToTarget(haunt) and target.DebuffRemains(haunt) <TickTime(haunt) +1 +CastTime(haunt) and SoulShards() >1 Spell(haunt)
 	if target.TicksRemain(agony) <Ticks(agony) /2 and target.DeadIn() >=8 Spell(agony)
 	if target.TicksRemain(corruption) <Ticks(corruption) /2 and target.DeadIn() >=6 Spell(corruption)
@@ -147,10 +139,6 @@ AddIcon mastery=1 help=main
 }
 AddIcon mastery=1 help=offgcd
 {
-	if Enemies() >3
-	{
-		if BuffExpires(soulburn) and not target.DebuffPresent(soulburn_seed_of_corruption) and not InFlightToTarget(soulburn_seed_of_corruption) and SoulShards() Spell(soulburn)
-	}
 	if BuffPresent(dark_soul) and SoulShards() Spell(soulburn)
 	if {target.TicksRemain(unstable_affliction) <Ticks(unstable_affliction) /2 or target.TicksRemain(corruption) <Ticks(corruption) /2 or target.TicksRemain(agony) <Ticks(agony) /2 } and target.HealthPercent() <=20 and SoulShards() Spell(soulburn)
 }
@@ -162,9 +150,13 @@ AddIcon mastery=1 help=moving
 AddIcon mastery=1 help=aoe
 {

-	{
-		Spell(summon_infernal)
-	}
+	if BuffExpires(soulburn) and not target.DebuffPresent(soulburn_seed_of_corruption) and not InFlightToTarget(soulburn_seed_of_corruption) and SoulShards() Spell(soulburn)
+	if {BuffExpires(soulburn) and not InFlightToTarget(seed_of_corruption) and not target.DebuffPresent(seed_of_corruption) } or {BuffPresent(soulburn) and not target.DebuffPresent(soulburn_seed_of_corruption) and not InFlightToTarget(soulburn_seed_of_corruption) } Spell(seed_of_corruption)
+	if not InFlightToTarget(haunt) and target.DebuffRemains(haunt) <CastTime(haunt) +1 and SoulShards() Spell(haunt)
+	if ManaPercent() <70 Spell(life_tap)
+	if not InFlightToTarget(fel_flame) Spell(fel_flame)
+
+	if TimeInCombat() <10 and Glyph(56226) Spell(soul_swap)
 }
 AddIcon mastery=1 help=cd
 {
@@ -172,10 +164,6 @@ AddIcon mastery=1 help=cd
 	Spell(blood_fury)
 	Spell(dark_soul)
 	if TalentPoints(grimoire_of_sacrifice_talent) Spell(grimoire_of_sacrifice)
-
-	{
-		Spell(summon_doomguard)
-	}
 	Spell(summon_doomguard)
 }
 AddIcon mastery=2 help=main
@@ -188,14 +176,6 @@ AddIcon mastery=2 help=main
 	if target.DebuffExpires(magic_vulnerability any=1) Spell(curse_of_the_elements)
 	if TalentPoints(grimoire_of_service_talent) Spell(service_felguard)
 	if TalentPoints(grimoire_of_sacrifice_talent) and BuffExpires(grimoire_of_sacrifice) unless pet.CreatureFamily(Felguard) Spell(summon_felguard)
-	if Enemies() >3
-	{
-		if {not target.DebuffPresent(corruption) or target.DebuffRemains(corruption) <TickTime(corruption) } and target.DeadIn() >30 Spell(corruption)
-		Spell(hand_of_guldan)
-		if {not target.DebuffPresent(doom) or target.DebuffRemains(doom) <40 } and target.DeadIn() >30 Spell(doom)
-		if TalentPoints(harvest_life_talent) Spell(harvest_life)
-		Spell(life_tap)
-	}
 	if {not target.DebuffPresent(corruption) or target.DebuffRemains(corruption) <TickTime(corruption) } and target.DeadIn() >=6 Spell(corruption)
 	if {not target.DebuffPresent(doom) or target.DebuffRemains(doom) <TickTime(doom) or {target.TicksRemain(doom) +1 <{target.TicksRemain(doom) + Ticks(doom) } and BuffPresent(dark_soul) } } and target.DeadIn() >=30 Spell(doom)
 	if target.DebuffRemains(corruption) >20 and BuffExpires(dark_soul) and DemonicFury() <=750 and target.DeadIn() >30 if Stance(1) cancel.Texture(Spell_shadow_demonform)
@@ -212,10 +192,6 @@ AddIcon mastery=2 help=offgcd
 	Spell(melee)
 	Spell(felstorm)
 	Spell(wrathstorm)
-	if Enemies() >3
-	{
-		if DemonicFury() >=1000 or DemonicFury() >=31 *target.DeadIn() unless Stance(1) Spell(metamorphosis)
-	}
 	if BuffPresent(dark_soul) or target.DebuffRemains(corruption) <5 or DemonicFury() >=900 or DemonicFury() >=target.DeadIn() *30 unless Stance(1) Spell(metamorphosis)
 }
 AddIcon mastery=2 help=moving
@@ -225,13 +201,17 @@ AddIcon mastery=2 help=moving
 AddIcon mastery=2 help=aoe
 {

-	{
-		Spell(summon_infernal)
-		Spell(immolation_aura)
-		if target.DebuffRemains(corruption) <10 Spell(void_ray)
-		Spell(void_ray)
-		if not TalentPoints(harvest_life_talent) Spell(hellfire)
-	}
+	if {not target.DebuffPresent(corruption) or target.DebuffRemains(corruption) <TickTime(corruption) } and target.DeadIn() >30 Spell(corruption)
+	Spell(hand_of_guldan)
+	if DemonicFury() >=1000 or DemonicFury() >=31 *target.DeadIn() unless Stance(1) Spell(metamorphosis)
+	Spell(immolation_aura)
+	if target.DebuffRemains(corruption) <10 Spell(void_ray)
+	if {not target.DebuffPresent(doom) or target.DebuffRemains(doom) <40 } and target.DeadIn() >30 Spell(doom)
+	Spell(void_ray)
+	if TalentPoints(harvest_life_talent) Spell(harvest_life)
+	if not TalentPoints(harvest_life_talent) Spell(hellfire)
+	Spell(life_tap)
+
 }
 AddIcon mastery=2 help=cd
 {
@@ -239,10 +219,6 @@ AddIcon mastery=2 help=cd
 	Spell(blood_fury)
 	Spell(dark_soul)
 	if TalentPoints(grimoire_of_sacrifice_talent) Spell(grimoire_of_sacrifice)
-
-	{
-		Spell(summon_doomguard)
-	}
 	Spell(summon_doomguard)
 }
 AddIcon mastery=3 help=main
@@ -255,15 +231,6 @@ AddIcon mastery=3 help=main
 	if target.DebuffExpires(magic_vulnerability any=1) Spell(curse_of_the_elements)
 	if TalentPoints(grimoire_of_service_talent) Spell(service_felhunter)
 	if TalentPoints(grimoire_of_sacrifice_talent) and BuffExpires(grimoire_of_sacrifice) unless pet.CreatureFamily(Felhunter) Spell(summon_felhunter)
-	if Enemies() >2
-	{
-		if not target.DebuffPresent(rain_of_fire) and not InFlightToTarget(rain_of_fire) Spell(rain_of_fire)
-		if BuffPresent(fire_and_brimstone) and not target.DebuffPresent(immolate) Spell(immolate)
-		if BurningEmbers() and BuffPresent(fire_and_brimstone) Spell(conflagrate)
-		if BuffPresent(fire_and_brimstone) Spell(incinerate)
-		if not target.DebuffPresent(immolate) Spell(immolate)
-	}
-	if Enemies() >1 focus.Spell(havoc)
 	if BurningEmbers() if target.HealthPercent(less 20) Spell(shadowburn)
 	if target.TicksRemain(immolate) <Ticks(immolate) /2 and target.DeadIn() >=5 Spell(immolate)
 	if BurningEmbers() and {BuffStacks(backdraft) <3 or Level() <86 } and {BurningEmbers() >3.5 or BuffRemains(dark_soul) >CastTime(chaos_bolt) } and ManaPercent() <=80 Spell(chaos_bolt)
@@ -271,19 +238,17 @@ AddIcon mastery=3 help=main
 	Spell(incinerate)
 	if BurningEmbers() >2 and ManaPercent() <10 Spell(chaos_bolt)
 }
-AddIcon mastery=3 help=offgcd
-{
-	if Enemies() >2
-	{
-		if BurningEmbers() and BuffExpires(fire_and_brimstone) Spell(fire_and_brimstone)
-	}
-}
 AddIcon mastery=3 help=aoe
 {

-	{
-		Spell(summon_infernal)
-	}
+	if not target.DebuffPresent(rain_of_fire) and not InFlightToTarget(rain_of_fire) Spell(rain_of_fire)
+	if BurningEmbers() and BuffExpires(fire_and_brimstone) Spell(fire_and_brimstone)
+	if BuffPresent(fire_and_brimstone) and not target.DebuffPresent(immolate) Spell(immolate)
+	if BurningEmbers() and BuffPresent(fire_and_brimstone) Spell(conflagrate)
+	if BuffPresent(fire_and_brimstone) Spell(incinerate)
+	if not target.DebuffPresent(immolate) Spell(immolate)
+
+	focus.Spell(havoc)
 }
 AddIcon mastery=3 help=cd
 {
@@ -291,10 +256,6 @@ AddIcon mastery=3 help=cd
 	Spell(blood_fury)
 	Spell(dark_soul)
 	if TalentPoints(grimoire_of_sacrifice_talent) Spell(grimoire_of_sacrifice)
-
-	{
-		Spell(summon_doomguard)
-	}
 	Spell(summon_doomguard)
 }
 ]]
\ No newline at end of file
diff --git a/defaut/Druide.lua b/defaut/Druide.lua
index b2ec0d0..ca7e1ec 100644
--- a/defaut/Druide.lua
+++ b/defaut/Druide.lua
@@ -79,6 +79,9 @@ Define(tigers_fury 5217)
   SpellAddBuff(tigers_fury tigers_fury=1)
 Define(treants 106737)
   SpellInfo(treants duration=15 cd=60 )
+Define(virmens_bite 105697)
+  SpellInfo(virmens_bite duration=25 cd=1 )
+  SpellAddBuff(virmens_bite virmens_bite=1)
 Define(weakened_armor 113746)
   SpellInfo(weakened_armor duration=30 )
   SpellAddBuff(weakened_armor weakened_armor=1)
@@ -91,6 +94,7 @@ Define(force_of_nature_talent 12)
 Define(incarnation_talent 11)
 Define(natures_swiftness_talent 4)
 Define(natures_vigil_talent 18)
+Define(soul_of_the_forest_talent 10)
 AddIcon mastery=1 help=main
 {
 	if not InCombat()
@@ -145,50 +149,54 @@ AddIcon mastery=2 help=main
 		Spell(savage_roar)
 		if TalentPoints(force_of_nature_talent) Spell(treants)
 	}
-	if BuffRemains(savage_roar) <=1 or {BuffRemains(savage_roar) <=3 and ComboPoints() >0 and {BuffExpires(dream_of_cenarius_damage) or ComboPoints() <5 } } Spell(savage_roar)
+	if target.DebuffStacks(weakened_armor) <3 Spell(faerie_fire)
+	if BuffExpires(savage_roar) Spell(savage_roar)
 	if target.IsInterruptible() Spell(skull_bash_cat)
-	if BuffPresent(predatory_swiftness) and BuffRemains(predatory_swiftness) <=1 and TalentPoints(dream_of_cenarius_talent) and {BuffExpires(dream_of_cenarius_damage) or {BuffStacks(dream_of_cenarius_damage) ==1 and not BuffPresent(omen_of_clarity) } } Spell(healing_touch)
-	if PreviousSpell(natures_swiftness) Spell(healing_touch)
-	if target.DebuffStacks(weakened_armor any=1) <3 Spell(faerie_fire)
-	if BuffPresent(predatory_swiftness) and TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and {{{ComboPoints() >=5 and target.DebuffRemains(rip) >SpellCooldown(healing_touch) and target.HealthPercent() <=25 } } } Spell(healing_touch)
-	if ComboPoints() >=5 and target.DebuffPresent(rip) and target.HealthPercent() <=25 Spell(ferocious_bite)
+	if TalentPoints(dream_of_cenarius_talent) and BuffPresent(predatory_swiftness) and ComboPoints() >=4 and BuffStacks(dream_of_cenarius_damage) <2 Spell(healing_touch)
+	if TalentPoints(dream_of_cenarius_talent) and BuffPresent(predatory_swiftness) and BuffRemains(predatory_swiftness) <=1 and BuffExpires(dream_of_cenarius_damage) Spell(healing_touch)
+	if TalentPoints(dream_of_cenarius_talent) and PreviousSpell(natures_swiftness) Spell(healing_touch)
 	if ComboPoints() >=1 and target.DebuffPresent(rip) and target.DebuffRemains(rip) <=2 and target.HealthPercent() <=25 Spell(ferocious_bite)
+	if BuffRemains(savage_roar) <=1 or {BuffRemains(savage_roar) <=3 and ComboPoints() >0 } and target.HealthPercent() <25 Spell(savage_roar)
+	if ComboPoints() >=5 and BuffPresent(virmens_bite) and BuffPresent(dream_of_cenarius_damage) and LastSpellDamageMultiplier(rip) <DamageMultiplier(rip) and target.HealthPercent() <=25 and target.DeadIn() >30 Spell(rip)
+	if ComboPoints() >=5 and target.DebuffPresent(rip) and target.HealthPercent() <=25 Spell(ferocious_bite)
+	if ComboPoints() >=5 and target.DeadIn() >=6 and target.DebuffRemains(rip) <2.0 and BuffPresent(dream_of_cenarius_damage) Spell(rip)
+	if ComboPoints() >=5 and target.DeadIn() >=6 and target.DebuffRemains(rip) <6.0 and BuffPresent(dream_of_cenarius_damage) and LastSpellDamageMultiplier(rip) <=DamageMultiplier(rip) and target.HealthPercent() >25 Spell(rip)
+	if BuffRemains(savage_roar) <=1 or {BuffRemains(savage_roar) <=3 and ComboPoints() >0 } Spell(savage_roar)
+	if ComboPoints() >=5 and target.DeadIn() >=6 and target.DebuffRemains(rip) <2.0 and {BuffPresent(berserk) or target.DebuffRemains(rip) <=SpellCooldown(tigers_fury) } Spell(rip)
 	if target.DebuffPresent(rip) and target.DebuffRemains(rip) <=4 Spell(ravage usable=1)
 	if target.DebuffPresent(rip) and target.DebuffRemains(rip) <=4 Spell(shred)
-	if BuffPresent(predatory_swiftness) and TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and {{{ComboPoints() >=5 and target.DeadIn() >={6 +SpellCooldown(healing_touch) } and target.DebuffRemains(rip) <{2 +SpellCooldown(healing_touch) } and {BuffPresent(berserk) or target.DebuffRemains(rip) <=SpellCooldown(tigers_fury) } } } } Spell(healing_touch)
-	if ComboPoints() >=5 and target.DeadIn() >=6 and target.DebuffRemains(rip) <2.0 and {BuffPresent(berserk) or target.DebuffRemains(rip) <=SpellCooldown(tigers_fury) } Spell(rip)
-	if BuffPresent(predatory_swiftness) and TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and {{{ComboPoints() >=5 and target.DebuffRemains(rip) >{5 +SpellCooldown(healing_touch) } and BuffRemains(savage_roar) >={1 +SpellCooldown(healing_touch) } and BuffRemains(berserk) >SpellCooldown(healing_touch) } } } Spell(healing_touch)
-	if ComboPoints() >=5 and target.DebuffRemains(rip) >5.0 and BuffRemains(savage_roar) >=1.0 and BuffPresent(berserk) Spell(ferocious_bite)
-	if BuffPresent(predatory_swiftness) and TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and {target.HealthPercent() <=25 or target.DebuffRemains(rip) >4 } and {{{target.DeadIn() >={8.5 +SpellCooldown(healing_touch) } and {BuffRemains(tigers_fury) >=SpellCooldown(healing_touch) or {SpellCooldown(tigers_fury) >21 and target.DebuffRemains(rake) <{12.0 +SpellCooldown(healing_touch) } } } } } } Spell(healing_touch)
-	if BuffPresent(predatory_swiftness) and TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and {target.HealthPercent() <=25 or target.DebuffRemains(rip) >4 } and {{{target.DeadIn() >={8.5 +SpellCooldown(healing_touch) } and target.DebuffRemains(rake) <{3.0 +SpellCooldown(healing_touch) } and {BuffRemains(berserk) >SpellCooldown(healing_touch) or {SpellCooldown(tigers_fury) +0.8 } >=target.DebuffRemains(rake) } } } } Spell(healing_touch)
-	if target.DeadIn() >=8.5 and BuffPresent(dream_of_cenarius_damage) and {LastSpellDamageMultiplier(rake) <=DamageMultiplier(rake) } and not PreviousSpell(rake) Spell(rake)
-	if target.DeadIn() >=8.5 and target.DebuffRemains(rake) <9.0 and not TalentPoints(dream_of_cenarius_talent) and BuffPresent(tigers_fury) and {LastSpellDamageMultiplier(rake) <DamageMultiplier(rake) } Spell(rake)
+	if {target.DeadIn() <=4 and ComboPoints() >=5 } or target.DeadIn() <=1 Spell(ferocious_bite)
+	if BuffRemains(savage_roar) <=6 and ComboPoints() >=5 and {{{target.DebuffRemains(rip) +{8 -{target.TicksAdded(rip) *2 } } } >6 and {TalentPoints(soul_of_the_forest_talent) or BuffPresent(berserk) } } or {target.DebuffRemains(rip) +{8 -{target.TicksAdded(rip) *2 } } } >10 } and target.DebuffPresent(rip) Spell(savage_roar)
+	if ComboPoints() >=5 and {target.DebuffRemains(rip) +{8 -{target.TicksAdded(rip) *2 } } } >6 and target.DebuffPresent(rip) and {TalentPoints(soul_of_the_forest_talent) or BuffPresent(berserk) } Spell(ferocious_bite)
+	if ComboPoints() >=5 and {target.DebuffRemains(rip) +{8 -{target.TicksAdded(rip) *2 } } } >10 and target.DebuffPresent(rip) Spell(ferocious_bite)
+	if target.DeadIn() >=8.5 and BuffPresent(dream_of_cenarius_damage) and {LastSpellDamageMultiplier(rake) <DamageMultiplier(rake) } Spell(rake)
 	if target.DeadIn() >=8.5 and target.DebuffRemains(rake) <3.0 and {BuffPresent(berserk) or {SpellCooldown(tigers_fury) +0.8 } >=target.DebuffRemains(rake) } Spell(rake)
 	if BuffStacks(omen_of_clarity) Spell(ravage usable=1)
 	if BuffStacks(omen_of_clarity) Spell(shred)
-	if {target.DeadIn() <=4 and ComboPoints() >=5 } or target.DeadIn() <=1 Spell(ferocious_bite)
-	if BuffPresent(predatory_swiftness) and TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and {{{ComboPoints() >=5 and target.DebuffRemains(rip) >={8.0 +SpellCooldown(healing_touch) } and BuffRemains(savage_roar) >={SpellCooldown(healing_touch) } } } } Spell(healing_touch)
-	if ComboPoints() >=5 and target.DebuffRemains(rip) >=8.0 and BuffPresent(savage_roar) Spell(ferocious_bite)
-	if {BuffPresent(tigers_fury) or BuffPresent(berserk) } Spell(ravage usable=1)
+	if BuffRemains(predatory_swiftness) >1 and not {Energy() +{EnergyRegen() *{BuffRemains(predatory_swiftness) -1 } } <{4 -ComboPoints() } *20 } Spell(ravage usable=1)
 	if {{ComboPoints() <5 and target.DebuffRemains(rip) <3.0 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } } Spell(ravage usable=1)
-	if SpellCooldown(tigers_fury) <=3.0 Spell(ravage usable=1)
 	if target.DeadIn() <=8.5 Spell(ravage usable=1)
+	if BuffRemains(predatory_swiftness) >1 and not {Energy() +{EnergyRegen() *{BuffRemains(predatory_swiftness) -1 } } <{4 -ComboPoints() } *20 } Spell(shred)
+	if {{ComboPoints() <5 and target.DebuffRemains(rip) <3.0 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } } Spell(shred)
+	if target.DeadIn() <=8.5 Spell(shred)
+	if {BuffPresent(tigers_fury) or BuffPresent(berserk) } Spell(ravage usable=1)
+	if SpellCooldown(tigers_fury) <=3.0 Spell(ravage usable=1)
 	if TimeToMaxEnergy() <=1.0 Spell(ravage usable=1)
 	if {BuffPresent(tigers_fury) or BuffPresent(berserk) } Spell(shred)
-	if {{ComboPoints() <5 and target.DebuffRemains(rip) <3.0 } or {ComboPoints() ==0 and BuffRemains(savage_roar) <2 } } Spell(shred)
 	if SpellCooldown(tigers_fury) <=3.0 Spell(shred)
-	if target.DeadIn() <=8.5 Spell(shred)
 	if TimeToMaxEnergy() <=1.0 Spell(shred)
 	if TalentPoints(force_of_nature_talent) Spell(treants)
 }
 AddIcon mastery=2 help=offgcd
 {
 	if Energy() <=35 and not BuffStacks(omen_of_clarity) Spell(tigers_fury)
-	if not BuffPresent(predatory_swiftness) and TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and TalentPoints(natures_swiftness_talent) and {{{ComboPoints() >=5 and target.DebuffRemains(rip) >SpellCooldown(healing_touch) and target.HealthPercent() <=25 } } } Spell(natures_swiftness)
-	if not BuffPresent(predatory_swiftness) and TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and TalentPoints(natures_swiftness_talent) and target.HealthPercent() >25 and {{{ComboPoints() >=5 and target.DeadIn() >={6 +SpellCooldown(healing_touch) } and target.DebuffRemains(rip) <{2 +SpellCooldown(healing_touch) } and {BuffPresent(berserk) or target.DebuffRemains(rip) <=SpellCooldown(tigers_fury) } } } } Spell(natures_swiftness)
-	if not BuffPresent(predatory_swiftness) and TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and {target.HealthPercent() <=25 or {target.DebuffRemains(rip) >4 and ArmorSetParts(T14 more 4) } } and {{{target.DeadIn() >={8.5 +SpellCooldown(healing_touch) } and BuffPresent(tigers_fury) } } } Spell(natures_swiftness)
-	if not BuffPresent(predatory_swiftness) and TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and {target.HealthPercent() <=25 or {target.DebuffRemains(rip) >4 and ArmorSetParts(T14 more 4) } } and {{{target.DeadIn() >={8.5 +SpellCooldown(healing_touch) } and target.DebuffRemains(rake) <{3.0 +SpellCooldown(healing_touch) } and {BuffRemains(berserk) >SpellCooldown(healing_touch) or {SpellCooldown(tigers_fury) +0.8 } >=target.DebuffRemains(rake) } } } } Spell(natures_swiftness)
+	if BuffStacks(omen_of_clarity) and target.DebuffRemains(thrash) <3 and BuffExpires(dream_of_cenarius_damage) Spell(thrash)
+	if TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and BuffExpires(predatory_swiftness) and ComboPoints() >=5 and target.HealthPercent() <=25 Spell(natures_swiftness)
+	if TalentPoints(dream_of_cenarius_talent) and BuffExpires(dream_of_cenarius_damage) and BuffExpires(predatory_swiftness) and ComboPoints() >=5 and target.DebuffRemains(rip) <3 and {BuffPresent(berserk) or target.DebuffRemains(rip) <=SpellCooldown(tigers_fury) } and target.HealthPercent() >25 Spell(natures_swiftness)
 	if BuffStacks(omen_of_clarity) and target.DebuffRemains(thrash) <3 Spell(thrash)
+	if ComboPoints() >=5 and target.DebuffRemains(thrash) <6 and {BuffPresent(tigers_fury) or BuffPresent(berserk) } Spell(thrash)
+	if ComboPoints() >=5 and target.DebuffRemains(thrash) <6 and SpellCooldown(tigers_fury) <=3.0 Spell(thrash)
+	if ComboPoints() >=5 and target.DebuffRemains(thrash) <6 and TimeToMaxEnergy() <=1.0 Spell(thrash)
 }
 AddIcon mastery=2 help=cd
 {
diff --git a/defaut/Guerrier.lua b/defaut/Guerrier.lua
index 517bbe4..d98b8ad 100644
--- a/defaut/Guerrier.lua
+++ b/defaut/Guerrier.lua
@@ -18,6 +18,8 @@ Define(bloodbath 113344)
 Define(bloodsurge 46915)
 Define(bloodthirst 23881)
   SpellInfo(bloodthirst rage=-10 cd=4.5 )
+Define(cleave 845)
+  SpellInfo(cleave rage=30 cd=1.5 )
 Define(colossus_smash 86346)
   SpellInfo(colossus_smash duration=6.5 cd=20 )
   SpellAddTargetDebuff(colossus_smash colossus_smash=1)
@@ -36,21 +38,28 @@ Define(enrage 5229)
   SpellInfo(enrage duration=10 rage=-20 cd=60 )
   SpellAddBuff(enrage enrage=1)
 Define(execute 5308)
+  SpellInfo(execute rage=30 )
 Define(heroic_leap 6544)
   SpellInfo(heroic_leap duration=1 cd=45 )
   AddCheckBox(heroic_leap_check SpellName(heroic_leap))
 Define(heroic_strike 78)
-  SpellInfo(heroic_strike cd=1.5 )
+  SpellInfo(heroic_strike rage=30 cd=1.5 )
 Define(heroic_throw 57755)
   SpellInfo(heroic_throw cd=30 )
 Define(impending_victory 103840)
-  SpellInfo(impending_victory cd=30 )
+  SpellInfo(impending_victory rage=10 cd=30 )
+Define(last_stand 12975)
+  SpellInfo(last_stand duration=20 cd=180 )
+  SpellAddBuff(last_stand last_stand=1)
 Define(mortal_strike 12294)
   SpellInfo(mortal_strike duration=10 rage=-10 cd=6 )
   SpellAddTargetDebuff(mortal_strike mortal_wounds=1)
 Define(overpower 7384)
   SpellAddBuff(overpower taste_for_blood=-1)
+Define(pummel 6552)
+  SpellInfo(pummel duration=4 cd=15 )
 Define(raging_blow 85288)
+  SpellInfo(raging_blow rage=10 )
   SpellAddBuff(raging_blow raging_blow_aura=-1)
 Define(raging_blow_aura 131116)
   SpellInfo(raging_blow_aura duration=12 )
@@ -61,10 +70,10 @@ Define(recklessness 1719)
 Define(revenge 6572)
   SpellInfo(revenge rage=-15 cd=9 )
 Define(shield_barrier 112048)
-  SpellInfo(shield_barrier duration=6 cd=1.5 )
+  SpellInfo(shield_barrier duration=6 rage=20 cd=1.5 )
   SpellAddBuff(shield_barrier shield_barrier=1)
 Define(shield_block 2565)
-  SpellInfo(shield_block cd=1.5 )
+  SpellInfo(shield_block rage=60 cd=1.5 )
 Define(shield_slam 23922)
   SpellInfo(shield_slam rage=-20 cd=6 )
 Define(shield_wall 871)
@@ -74,18 +83,25 @@ Define(shockwave 46968)
   SpellInfo(shockwave cd=20 )
   SpellAddBuff(shockwave shockwave=1)
 Define(slam 1464)
+  SpellInfo(slam rage=30 )
 Define(storm_bolt 107570)
   SpellInfo(storm_bolt cd=30 )
   SpellAddBuff(storm_bolt storm_bolt=1)
+Define(sweeping_strikes 12328)
+  SpellInfo(sweeping_strikes duration=10 rage=30 cd=10 )
+  SpellAddBuff(sweeping_strikes sweeping_strikes=1)
 Define(taste_for_blood 56638)
 Define(thunder_clap 6343)
-  SpellInfo(thunder_clap cd=6 )
+  SpellInfo(thunder_clap rage=20 cd=6 )
   SpellAddTargetDebuff(thunder_clap weakened_blows=1)
 Define(ultimatum 122509)
 Define(weakened_blows 115798)
   SpellInfo(weakened_blows duration=30 )
   SpellAddBuff(weakened_blows weakened_blows=1)
+Define(whirlwind 1680)
+  SpellInfo(whirlwind rage=30 )
 Define(wild_strike 100130)
+  SpellInfo(wild_strike rage=30 )
   SpellAddBuff(wild_strike bloodsurge=-1)
   SpellAddTargetDebuff(wild_strike wild_strike=1)
 Define(avatar_talent 16)
@@ -107,6 +123,8 @@ AddIcon mastery=1 help=main
 	if target.HealthPercent(less 20) Spell(execute)
 	if TalentPoints(storm_bolt_talent) Spell(storm_bolt)
 	if BuffPresent(overpower) Spell(overpower usable=1)
+	if TalentPoints(shockwave_talent) Spell(shockwave)
+	if TalentPoints(dragon_roar_talent) Spell(dragon_roar)
 	if {Rage() >=70 or target.DebuffPresent(colossus_smash) } and target.HealthPercent() >=20 Spell(slam)
 	Spell(heroic_throw)
 	if Rage() <70 and not target.DebuffPresent(colossus_smash) Spell(battle_shout)
@@ -116,6 +134,7 @@ AddIcon mastery=1 help=main
 }
 AddIcon mastery=1 help=offgcd
 {
+	if target.IsInterruptible() Spell(pummel)
 	if TalentPoints(bloodbath_talent) and {{{SpellCooldown(recklessness) >=10 or BuffPresent(recklessness) } or {target.HealthPercent() >=20 and {target.DeadIn() <=165 or {target.DeadIn() <=315 and not ArmorSetParts(T14 more 4) } } and target.DeadIn() >75 } } or target.DeadIn() <=19 } Spell(bloodbath)
 	if not BuffPresent(enrage) Spell(berserker_rage)
 	if target.DebuffPresent(colossus_smash) if CheckBoxOn(heroic_leap_check) Spell(heroic_leap)
@@ -124,14 +143,20 @@ AddIcon mastery=1 help=offgcd
 }
 AddIcon mastery=1 help=aoe
 {
-	if TalentPoints(shockwave_talent) Spell(shockwave)
-	if TalentPoints(dragon_roar_talent) Spell(dragon_roar)
-	if TalentPoints(bladestorm_talent) and SpellCooldown(colossus_smash) >=5 and not target.DebuffPresent(colossus_smash) and SpellCooldown(bloodthirst) >=2 and target.HealthPercent() >=20 Spell(bladestorm)
+
+	Spell(dragon_roar)
+	Spell(shockwave)
+	Spell(whirlwind)
+	Spell(sweeping_strikes)
+	if Rage() >=90 Spell(cleave)
+	Spell(bloodthirst)
+
 }
 AddIcon mastery=1 help=cd
 {
 	if {{target.DebuffRemains(colossus_smash) >=5 or SpellCooldown(colossus_smash) <=4 } and {{not TalentPoints(avatar_talent) or not ArmorSetParts(T14 more 4) } and {{target.HealthPercent() <20 or target.DeadIn() >315 or {target.DeadIn() >165 and ArmorSetParts(T14 more 4) } } } or {TalentPoints(avatar_talent) and ArmorSetParts(T14 more 4) and BuffPresent(avatar) } } } or target.DeadIn() <=18 Spell(recklessness)
 	if TalentPoints(avatar_talent) and {{{SpellCooldown(recklessness) >=180 or BuffPresent(recklessness) } or {target.HealthPercent() >=20 and target.DeadIn() >195 } or {target.HealthPercent() <20 and ArmorSetParts(T14 more 4) } } or target.DeadIn() <=20 } Spell(avatar)
+	if TalentPoints(bladestorm_talent) and SpellCooldown(colossus_smash) >=5 and not target.DebuffPresent(colossus_smash) and SpellCooldown(bloodthirst) >=2 and target.HealthPercent() >=20 Spell(bladestorm)
 }
 AddIcon mastery=2 help=main
 {
@@ -147,6 +172,8 @@ AddIcon mastery=2 help=main
 	if TalentPoints(storm_bolt_talent) Spell(storm_bolt)
 	if BuffStacks(raging_blow_aura) Spell(raging_blow)
 	if BuffStacks(bloodsurge) and target.HealthPercent() >=20 Spell(wild_strike)
+	if TalentPoints(shockwave_talent) Spell(shockwave)
+	if TalentPoints(dragon_roar_talent) Spell(dragon_roar)
 	Spell(heroic_throw)
 	if Rage() <70 and not target.DebuffPresent(colossus_smash) Spell(battle_shout)
 	if target.DebuffPresent(colossus_smash) and target.HealthPercent() >=20 Spell(wild_strike)
@@ -156,6 +183,7 @@ AddIcon mastery=2 help=main
 }
 AddIcon mastery=2 help=offgcd
 {
+	if target.IsInterruptible() Spell(pummel)
 	if TalentPoints(bloodbath_talent) and {{{SpellCooldown(recklessness) >=10 or BuffPresent(recklessness) } or {target.HealthPercent() >=20 and {target.DeadIn() <=165 or {target.DeadIn() <=315 and not ArmorSetParts(T14 more 4) } } and target.DeadIn() >75 } } or target.DeadIn() <=19 } Spell(bloodbath)
 	if not {BuffStacks(enrage) or {BuffStacks(raging_blow_aura) ==2 and target.HealthPercent() >=20 } } Spell(berserker_rage)
 	if target.DebuffPresent(colossus_smash) if CheckBoxOn(heroic_leap_check) Spell(heroic_leap)
@@ -164,38 +192,58 @@ AddIcon mastery=2 help=offgcd
 }
 AddIcon mastery=2 help=aoe
 {
-	if TalentPoints(shockwave_talent) Spell(shockwave)
-	if TalentPoints(dragon_roar_talent) Spell(dragon_roar)
-	if TalentPoints(bladestorm_talent) and SpellCooldown(colossus_smash) >=5 and not target.DebuffPresent(colossus_smash) and SpellCooldown(bloodthirst) >=2 and target.HealthPercent() >=20 Spell(bladestorm)
+
+	Spell(dragon_roar)
+	Spell(shockwave)
+	Spell(whirlwind)
+	if Rage() >=90 Spell(cleave)
+	Spell(bloodthirst)
+
 }
 AddIcon mastery=2 help=cd
 {
 	if {{target.DebuffRemains(colossus_smash) >=5 or SpellCooldown(colossus_smash) <=4 } and {{not TalentPoints(avatar_talent) or not ArmorSetParts(T14 more 4) } and {{target.HealthPercent() <20 or target.DeadIn() >315 or {target.DeadIn() >165 and ArmorSetParts(T14 more 4) } } } or {TalentPoints(avatar_talent) and ArmorSetParts(T14 more 4) and BuffPresent(avatar) } } } or target.DeadIn() <=18 Spell(recklessness)
 	if TalentPoints(avatar_talent) and {{{SpellCooldown(recklessness) >=180 or BuffPresent(recklessness) } or {target.HealthPercent() >=20 and target.DeadIn() >195 } or {target.HealthPercent() <20 and ArmorSetParts(T14 more 4) } } or target.DeadIn() <=20 } Spell(avatar)
+	if TalentPoints(bladestorm_talent) and SpellCooldown(colossus_smash) >=5 and not target.DebuffPresent(colossus_smash) and SpellCooldown(bloodthirst) >=2 and target.HealthPercent() >=20 Spell(bladestorm)
 }
 AddIcon mastery=3 help=main
 {
 	if not InCombat()
 	{
-		unless Stance(3) Spell(defensive_stance)
+		unless Stance(2) Spell(defensive_stance)
 	}
-	if Rage() <85 Spell(shield_slam)
-	if Rage() <90 Spell(revenge)
-	if BuffExpires(weakened_blows any=1) Spell(thunder_clap)
-	if Rage() <70 Spell(battle_shout)
+	if Rage() <90 Spell(shield_slam)
+	if Rage() <100 Spell(revenge)
+	if Rage() <100 Spell(battle_shout)
+	if target.DebuffExpires(weakened_blows) Spell(thunder_clap)
+	if target.HealthPercent(less 20) Spell(execute)
 	Spell(devastate)
 }
 AddIcon mastery=3 help=offgcd
 {
+	if target.IsInterruptible() Spell(pummel)
 	Spell(berserker_rage)
+	if BuffPresent(ultimatum) Spell(heroic_strike)
 	Spell(shield_block)
 	if BuffExpires(shield_barrier) and Rage() >80 Spell(shield_barrier)
 	Spell(demoralizing_shout)
-	if BuffPresent(ultimatum) Spell(heroic_strike)
+}
+AddIcon mastery=3 help=aoe
+{
+
+	Spell(dragon_roar)
+	Spell(shockwave)
+	Spell(thunder_clap)
+	Spell(whirlwind)
+	if Rage() >=90 Spell(cleave)
+	Spell(shield_slam)
+
 }
 AddIcon mastery=3 help=cd
 {
+	if Health() <130000 Spell(last_stand)
 	if TalentPoints(avatar_talent) Spell(avatar)
+	Spell(recklessness)
 	if BuffExpires(shield_block) Spell(shield_wall)
 }
 ]]
\ No newline at end of file
diff --git a/defaut/Mage.lua b/defaut/Mage.lua
index d212387..69543e1 100644
--- a/defaut/Mage.lua
+++ b/defaut/Mage.lua
@@ -190,14 +190,14 @@ AddIcon mastery=3 help=main
 	}
 	if ItemCharges(36799) <3 and False() Spell(conjure_mana_gem)
 	if BuffPresent(alter_time) and BuffPresent(brain_freeze) Spell(frostfire_bolt)
-	if BuffPresent(alter_time) and BuffPresent(fingers_of_frost_aura) Spell(ice_lance)
+	if BuffPresent(alter_time) and BuffStacks(fingers_of_frost_aura) Spell(ice_lance)
 	if BuffPresent(alter_time) and BuffPresent(presence_of_mind) Spell(frostbolt)
-	if BuffPresent(fingers_of_frost_aura) and BuffRemains(fingers_of_frost_aura) <5 Spell(ice_lance)
+	if BuffStacks(fingers_of_frost_aura) and BuffRemains(fingers_of_frost_aura) <5 Spell(ice_lance)
 	if target.DeadIn() >=4 and BuffStacks(fingers_of_frost_aura) <2 and SpellCooldown(icy_veins) <GCD() and BuffRemains(invocation) >20 and BuffExpires(alter_time) Spell(frozen_orb)
-	if BuffPresent(fingers_of_frost_aura) and BuffRemains(fingers_of_frost_aura) <2 Spell(ice_lance)
+	if BuffStacks(fingers_of_frost_aura) and BuffRemains(fingers_of_frost_aura) <2 Spell(ice_lance)
 	if target.DebuffStacks(frostbolt) <3 Spell(frostbolt)
 	if BuffStacks(brain_freeze) and {BuffPresent(alter_time) or SpellCooldown(alter_time_activate) >4 } Spell(frostfire_bolt)
-	if BuffStacks(brain_freeze) and {BuffPresent(alter_time) or SpellCooldown(alter_time_activate) >4 } Spell(ice_lance)
+	if BuffStacks(fingers_of_frost_aura) and {BuffPresent(alter_time) or SpellCooldown(alter_time_activate) >4 } Spell(ice_lance)
 	if BuffStacks(fingers_of_frost_aura) Spell(ice_lance)
 	if target.DeadIn() >=4 and BuffStacks(fingers_of_frost_aura) <2 Spell(frozen_orb)
 	Spell(frostbolt)
diff --git a/defaut/Moine.lua b/defaut/Moine.lua
index feefce7..062d563 100644
--- a/defaut/Moine.lua
+++ b/defaut/Moine.lua
@@ -3,8 +3,8 @@ Ovale.defaut["MONK"] = [[Define(berserking 26297)
   SpellAddBuff(berserking berserking=1)
 Define(blackout_kick 100784)
   SpellInfo(blackout_kick chi=2 )
-Define(chi_burst 123986)
-  SpellInfo(chi_burst chi=2 )
+Define(chi_brew 115399)
+  SpellInfo(chi_brew chi=-4 cd=90 )
 Define(chi_sphere 121286)
   SpellInfo(chi_sphere duration=120 )
 Define(combo_breaker_bok 116768)
@@ -23,9 +23,6 @@ Define(invoke_xuen 123904)
   SpellInfo(invoke_xuen duration=45 cd=180 )
 Define(jab 100780)
   SpellInfo(jab energy=40 chi=-1 )
-  SpellInfo(jab chi=-2 if_stance=1 mastery=3)
-  SpellInfo(jab chi=-2 if_stance=2)
-Define(power_strikes 121817)
 Define(rising_sun_kick 107428)
   SpellInfo(rising_sun_kick chi=2 cd=8 )
 Define(rushing_jade_wind 116847)
@@ -45,6 +42,8 @@ Define(tigereye_brew 125195)
 Define(tigereye_brew_use 116740)
   SpellInfo(tigereye_brew_use duration=15 cd=1 )
   SpellAddBuff(tigereye_brew_use tigereye_brew_use=1)
+Define(ascension_talent 8)
+Define(chi_brew_talent 9)
 Define(invoke_xuen_the_white_tiger_talent 17)
 Define(power_strikes_talent 7)
 Define(rushing_jade_wind_talent 16)
@@ -55,47 +54,37 @@ AddIcon mastery=3 help=main
 		False()
 	}
 	if not target.DebuffRemains(rising_sun_kick) or target.DebuffRemains(rising_sun_kick) <=3 Spell(rising_sun_kick)
-	if Enemies() >5
-	{
-		if TalentPoints(rushing_jade_wind_talent) Spell(rushing_jade_wind)
-		if Chi() ==4 Spell(chi_burst)
-		Spell(spinning_crane_kick)
-	}
+	if BuffStacks(tiger_power) <3 or BuffRemains(tiger_power) <=3 Spell(tiger_palm)
+	if TalentPoints(rushing_jade_wind_talent) Spell(rushing_jade_wind)

-	{
-		if BuffStacks(tiger_power) <3 or BuffRemains(tiger_power) <=3 or {BuffRemains(tiger_power) <=6 and SpellCooldown(fists_of_fury) <=1 } Spell(tiger_palm)
-		Spell(rising_sun_kick)
-		if not BuffPresent(energizing_brew) and Energy() <=65 and BuffRemains(tiger_power) >=6.5 Spell(fists_of_fury)
-		if BuffStacks(combo_breaker_bok) Spell(blackout_kick)
-		if BuffStacks(combo_breaker_tp) and {Energy() <=90 or {BuffPresent(energizing_brew) and Energy() <=80 } or {BuffPresent(combo_breaker_tp) and BuffRemains(combo_breaker_tp) <=3 } } Spell(tiger_palm)
-		if {Chi() <=2 and SpellCooldown(power_strikes) } or {Chi() <=1 and not SpellCooldown(power_strikes) } Spell(jab)
-		if {BuffPresent(energizing_brew) and Energy() >=20 } or Energy() >=30 Spell(blackout_kick)
-	}
+	Spell(rising_sun_kick)
+	if not BuffPresent(energizing_brew) and TimeToMaxEnergy() >{CastTime(fists_of_fury) } and BuffRemains(tiger_power) >{CastTime(fists_of_fury) } and BuffStacks(tiger_power) ==3 Spell(fists_of_fury)
+	if BuffStacks(combo_breaker_bok) Spell(blackout_kick)
+	if {Chi() >=3 and TimeToMaxEnergy() <=2 and not TalentPoints(ascension_talent) } or {Chi() >=4 and TimeToMaxEnergy() <=2 and TalentPoints(ascension_talent) } Spell(blackout_kick)
+	if {BuffStacks(combo_breaker_tp) and TimeToMaxEnergy() >=2 } or {BuffRemains(combo_breaker_tp) <=2 and BuffStacks(combo_breaker_tp) } Spell(tiger_palm)
+	if TalentPoints(ascension_talent) and Chi() <=3 Spell(jab)
+	if not TalentPoints(ascension_talent) and Chi() <=2 Spell(jab)
+	if {{Energy() +{EnergyRegen() *{SpellCooldown(rising_sun_kick) } } } >=40 } or {Chi() ==4 and not TalentPoints(ascension_talent) } or {Chi() ==5 and TalentPoints(ascension_talent) } Spell(blackout_kick)
+
 }
 AddIcon mastery=3 help=offgcd
 {
 	if TalentPoints(power_strikes_talent) and BuffStacks(chi_sphere) and Chi() <4 Spell(chi_sphere)
-	if Enemies() >5
-	{
-		if not BuffPresent(tigereye_brew_use) and BuffStacks(tigereye_brew) ==10 Spell(tigereye_brew_use)
-		if not BuffPresent(tigereye_brew_use) and {BuffStacks(tigereye_brew) >=7 and {SpellCooldown(energizing_brew) <=2 or BuffPresent(energizing_brew) } } Spell(tigereye_brew_use)
-		if Energy() <=35 Spell(energizing_brew)
-	}
+	if not BuffPresent(tigereye_brew_use) and BuffStacks(tigereye_brew) ==10 Spell(tigereye_brew_use)
+	if TimeToMaxEnergy() >5 Spell(energizing_brew)
+}
+AddIcon mastery=3 help=aoe
+{

-	{
-		if not BuffPresent(tigereye_brew_use) and BuffStacks(tigereye_brew) ==10 Spell(tigereye_brew_use)
-		if not BuffPresent(tigereye_brew_use) and {BuffStacks(tigereye_brew) >=7 and {SpellCooldown(energizing_brew) <=2 or BuffPresent(energizing_brew) } } Spell(tigereye_brew_use)
-		if not BuffPresent(tigereye_brew_use) and SpellCooldown(energizing_brew) >=45 and SpellCooldown(energizing_brew) <=48 Spell(tigereye_brew_use)
-		if Energy() <=35 Spell(energizing_brew)
-	}
+	if Chi() ==4 Spell(rising_sun_kick)
+	Spell(spinning_crane_kick)
+
 }
 AddIcon mastery=3 help=cd
 {
-	Spell(berserking)
 	 { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) }
-
-	{
-		if TalentPoints(invoke_xuen_talent) Spell(invoke_xuen)
-	}
+	Spell(berserking)
+	if TalentPoints(chi_brew_talent) and Chi() ==0 Spell(chi_brew)
+	if TalentPoints(invoke_xuen_talent) Spell(invoke_xuen)
 }
 ]]
\ No newline at end of file
diff --git a/defaut/Voleur.lua b/defaut/Voleur.lua
index b7ff2f6..28d1a1e 100644
--- a/defaut/Voleur.lua
+++ b/defaut/Voleur.lua
@@ -80,7 +80,6 @@ AddIcon mastery=1 help=main
 	if target.TicksRemain(rupture) <2 and Energy() >90 Spell(dispatch usable=1)
 	if target.TicksRemain(rupture) <2 and Energy() >90 Spell(mutilate)
 	if target.TicksRemain(rupture) <2 or {ComboPoints() ==5 and target.TicksRemain(rupture) <3 } Spell(rupture)
-	if ComboPoints() >=4 and BuffRemains(envenom) <1 Spell(envenom)
 	if ComboPoints() >4 Spell(envenom)
 	if ComboPoints() >=2 and BuffRemains(slice_and_dice) <3 Spell(envenom)
 	if ComboPoints() <5 Spell(dispatch usable=1)
@@ -101,7 +100,7 @@ AddIcon mastery=1 help=cd
 	 { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) }
 	Spell(berserking)
 	if TimeInCombat() >10 and not BuffPresent(stealthed) and not BuffPresent(shadow_blades) Spell(vanish)
-	if {BuffStacks(burst_haste any=1) or TimeInCombat() >60 } and BuffRemains(slice_and_dice) >=12000 Spell(shadow_blades)
+	if {BuffStacks(bloodlust any=1) or TimeInCombat() >60 } Spell(shadow_blades)
 	Spell(vendetta)
 }
 AddIcon mastery=2 help=main
@@ -133,7 +132,7 @@ AddIcon mastery=2 help=cd
 	 { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) }
 	Spell(berserking)
 	if TimeInCombat() >10 and not BuffPresent(shadow_blades) and not BuffPresent(adrenaline_rush) and Energy() <20 and {{BuffPresent(deep_insight) and ComboPoints() <4 } or BuffStacks(anticipation) <4 } Spell(vanish)
-	if {BuffStacks(burst_haste any=1) or TimeInCombat() >60 } and BuffRemains(slice_and_dice) >=12000 Spell(shadow_blades)
+	if {BuffStacks(bloodlust any=1) or TimeInCombat() >60 } and BuffRemains(slice_and_dice) >=12000 Spell(shadow_blades)
 	if Energy() <35 and BuffRemains(slice_and_dice) >4 and BuffExpires(adrenaline_rush) Spell(killing_spree)
 	if Energy() <35 or BuffPresent(shadow_blades) Spell(adrenaline_rush)
 }