Quantcast

Slight changes in default scripts for 4.2

Sidoine De Wispelaere [07-10-11 - 11:13]
Slight changes in default scripts for 4.2

git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@416 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Filename
Ovale.toc
defaut/Chaman.lua
defaut/Chasseur.lua
defaut/Demoniste.lua
defaut/Druide.lua
defaut/Guerrier.lua
defaut/Mage.lua
defaut/Paladin.lua
defaut/Voleur.lua
diff --git a/Ovale.toc b/Ovale.toc
index 54fe19c..c968c96 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: 4.2.0
+## Version: 4.2.1
 ## OptionalDeps: Ace3, ButtonFacade, Recount, Skada, LibBabble-CreatureType-3.0, LibRangeCheck-2.0
 ## SavedVariables: OvaleDB
 ## SavedVariablesPerCharacter: OvaleDBPC
diff --git a/defaut/Chaman.lua b/defaut/Chaman.lua
index 1581e5c..db55dfa 100644
--- a/defaut/Chaman.lua
+++ b/defaut/Chaman.lua
@@ -65,6 +65,9 @@ Define(WINDFURYWEAPON 8232)
 Define(MAELSTROMWEAPON 53817)
 Define(UNLEASHWIND 73681)

+#Glyphs
+Define(GLYPHOFUNLEASHEDLIGHTNING 101052)
+
 #Fire
 Define(FIREELEMENTALTOTEM 2894)
 Define(MAGMATOTEM 8190)
@@ -88,6 +91,7 @@ Define(STONESKINTOTEM 8071)
 Define(STRENGTHOFEARTHTOTEM 8075)
 Define(TREMORTOTEM 8143)

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

@@ -105,7 +109,7 @@ AddIcon help=main mastery=1
 	if BuffExpires(LIGHTNINGSHIELD 2) Spell(LIGHTNINGSHIELD)

 	#/unleash_elements,moving=1
-	if Speed(more 0) Spell(UNLEASHELEMENTS)
+	if Speed(more 0) and Glyph(GLYPHOFUNLEASHEDLIGHTNING no) Spell(UNLEASHELEMENTS)

 	#/flame_shock,if=!ticking|ticks_remain<3
 	if TargetDebuffExpires(FLAMESHOCK 3 mine=1) Spell(FLAMESHOCK)
@@ -116,8 +120,8 @@ AddIcon help=main mastery=1
 		if TargetDebuffPresent(FLAMESHOCK mine=1) Spell(FIRENOVA)
 	}

-	#/lava_burst,if=(dot.flame_shock.remains-cast_time)>=0.05
-	if target.debuffExpires(FLAMESHOCK mine=1) - castTime(LAVABURST) > 0.05 Spell(LAVABURST)
+	#/lava_burst,if=dot.flame_shock.remains>(cast_time+travel_time)
+	if target.debuffExpires(FLAMESHOCK mine=1) > {castTime(LAVABURST) + 1 } Spell(LAVABURST)

 	#/earth_shock,if=buff.lightning_shield.stack=9
 	if BuffPresent(LIGHTNINGSHIELD stacks=9) Spell(EARTHSHOCK)
@@ -165,23 +169,23 @@ AddIcon help=main mastery=2
 	{
 		#/searing_totem
 		if TotemExpires(fire) Spell(SEARINGTOTEM)
+		#/stormstrike
+		Spell(STORMSTRIKE)
 		#/lava_lash
 		Spell(LAVALASH)
-		#/lightning_bolt,if=buff.maelstrom_weapon.stack=5&buff.maelstrom_weapon.react
+		#/lightning_bolt,if=buff.maelstrom_weapon.react=5
 		if BuffPresent(MAELSTROMWEAPON stacks=5) Spell(LIGHTNINGBOLT)
 		#/unleash_elements
 		Spell(UNLEASHELEMENTS)
-		#/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)}
+		#/flame_shock,if=!ticking|buff.unleash_flame.up
+		if TargetDebuffExpires(FLAMESHOCK 0 mine=1) or BuffPresent(UNLEASHFLAME)
 			Spell(FLAMESHOCK)
 		#/earth_shock
 		Spell(EARTHSHOCK)
-		#/stormstrike
-		Spell(STORMSTRIKE)
-		#/fire_nova
-		if TargetDebuffPresent(FLAMESHOCK mine=1) Spell(FIRENOVA)
-		#/lightning_bolt,if=buff.maelstrom_weapon.stack=4&buff.maelstrom_weapon.react
-		if BuffPresent(MAELSTROMWEAPON stacks=4) Spell(LIGHTNINGBOLT)
+		#/fire_nova,if=target.adds>1
+		#if TargetDebuffPresent(FLAMESHOCK mine=1) Spell(FIRENOVA)
+		#/lightning_bolt,if=buff.maelstrom_weapon.react>1
+		if BuffPresent(MAELSTROMWEAPON stacks=2) Spell(LIGHTNINGBOLT)
 	}

 	Spell(SHAMANISTICRAGE priority=2)
diff --git a/defaut/Chasseur.lua b/defaut/Chasseur.lua
index c9856d6..1bf6f12 100644
--- a/defaut/Chasseur.lua
+++ b/defaut/Chasseur.lua
@@ -127,11 +127,11 @@ AddIcon help=main mastery=2
 		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 80)
+	#/serpent_sting,if=!ticking&target.health_pct<=90
+    if Mana(more 24) and TargetDebuffExpires(SERPENTSTING 0 mine=1) and TargetDeadIn(more 8) #and TargetLifePercent(less 90)
 			Spell(SERPENTSTING)
-	#/chimera_shot,if=target.health_pct<=80
-	if Mana(more 49) #and TargetLifePercent(less 80)
+	#/chimera_shot,if=target.health_pct<=90
+	if Mana(more 49) #and TargetLifePercent(less 90)
 		Spell(CHIMERASHOT)
 	#/steady_shot,if=buff.pre_improved_steady_shot.up&buff.improved_steady_shot.remains<3
 	if Mana(less 40) or Counter(ss equal 1) Spell(STEADYSHOT)
@@ -144,15 +144,15 @@ AddIcon help=main mastery=2
 		#/aimed_shot,if=target.health_pct>80|buff.rapid_fire.up|buff.bloodlust.up
 		if TargetLifePercent(more 80) or
 			BuffPresent(RAPIDFIRE) or BuffPresent(heroism) if Mana(more 49) Spell(AIMEDSHOT)
-        #/arcane_shot,if=(focus>=66|cooldown.chimera_shot.remains>=5)&(target.health_pct<80&!buff.rapid_fire.up&!buff.bloodlust.up)
-		if {Mana(more 65) or spell(CHIMERASHOT)>5} and {TargetLifePercent(less 80) and
+        #/arcane_shot,if=(focus>=66|cooldown.chimera_shot.remains>=5)&(target.health_pct<90&!buff.rapid_fire.up&!buff.bloodlust.up)
+		if {Mana(more 65) or spell(CHIMERASHOT)>5} and {TargetLifePercent(less 90) and
 					BuffExpires(RAPIDFIRE) and BuffExpires(heroism)}
 			if Mana(more 24) Spell(ARCANESHOT)
 	}
 	unless Glyph(GLYPHOFARCANESHOT)
 	{
-		#/aimed_shot,if=cooldown.chimera_shot.remains>5|focus>=80|buff.rapid_fire.up|buff.bloodlust.up|target.health_pct>80
-		if {spell(CHIMERASHOT)>5} or Mana(more 79) or BuffPresent(RAPIDFIRE) or BuffPresent(heroism) #or TargetLifePercent(more 80)
+		#/aimed_shot,if=cooldown.chimera_shot.remains>5|focus>=80|buff.rapid_fire.up|buff.bloodlust.up|target.health_pct>90
+		if {spell(CHIMERASHOT)>5} or Mana(more 79) or BuffPresent(RAPIDFIRE) or BuffPresent(heroism) #or TargetLifePercent(more 90)
 			if Mana(more 49) Spell(AIMEDSHOT)
 	}
 	#/steady_shot
diff --git a/defaut/Demoniste.lua b/defaut/Demoniste.lua
index 65e2cbb..2d03b98 100644
--- a/defaut/Demoniste.lua
+++ b/defaut/Demoniste.lua
@@ -284,8 +284,7 @@ AddIcon help=main mastery=3
 	}
 	#/shadowburn
 	Spell(SHADOWBURN usable=1)
-    if TalentPoints(SHADOWANDFLAMETALENT more 0) and TargetDebuffExpires(magicalcrittaken) Spell(SHADOWBOLT)
-	Spell(INCINERATE)
+    Spell(INCINERATE)
 }

 AddIcon help=cd mastery=3
diff --git a/defaut/Druide.lua b/defaut/Druide.lua
index 56273d7..fc76978 100644
--- a/defaut/Druide.lua
+++ b/defaut/Druide.lua
@@ -127,8 +127,8 @@ AddIcon help=main mastery=1
 		Spell(MOONFIRE)
 	}

-	#/insect_swarm,if=ticks_remain<2|(dot.insect_swarm.remains<4&buff.solar_eclipse.up&eclipse<15)";
-	if TargetDebuffExpires(INSECTSWARM 2 mine=1) or {TargetDebuffExpires(INSECTSWARM 4 mine=1) and
+	#/insect_swarm,if=ticks_remain<2|(dot.insect_swarm.remains<10&buff.solar_eclipse.up&eclipse<15)";
+	if TargetDebuffExpires(INSECTSWARM 2 mine=1) or {TargetDebuffExpires(INSECTSWARM 10 mine=1) and
 			BuffPresent(ECLIPSESOLAR) and Eclipse(less 15)}
 			Spell(INSECTSWARM nored=1)

@@ -216,9 +216,12 @@ AddIcon help=main mastery=2

 	if Stance(3) # cat
 	{
-		#tigers_fury,if=energy<=26
-		if Mana(less 27) Spell(TIGERSFURY)
-
+		#tigers_fury,if=energy<=35
+		if Mana(less 36) Spell(TIGERSFURY)
+
+		#/berserk,if=buff.tigers_fury.up|(target.time_to_die<15&cooldown.tigers_fury.remains>6
+		if BuffPresent(TIGERSFURY) or {TargetDeadIn(less 15) and 6s before Spell(TIGERSFURY)} Spell(BERSERK)
+
 		#mangle_cat,if=set_bonus.tier11_4pc_melee&(buff.t11_4pc_melee.stack<3|buff.t11_4pc_melee.remains<3)
 		if ArmorSetParts(T11 more 3) and BuffExpires(STRENGTHOFTHEPANTHER 3 stacks=3) Spell(MANGLECAT)

@@ -233,9 +236,6 @@ AddIcon help=main mastery=2
 		#ravage,if=buff.stampede_cat.up&buff.stampede_cat.remains<=1
 		if BuffPresent(STAMPEDE) and BuffExpires(STAMPEDE 1) Spell(RAVAGE)

-		#berserk,if=time_to_max_energy>=2.0&!buff.tigers_fury.up&cooldown.tigers_fury.remains>15
-		if 2s before Mana(more 99) and BuffExpires(TIGERSFURY) and 15s before Spell(TIGERSFURY) Spell(BERSERK)
-
 		#ferocious_bite,if=buff.combo_points.stack>=1&dot.rip.ticking&dot.rip.remains<=1&target.health_pct<=25
 		if ComboPoints(more 0) and TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 1 mine=1) and TargetLifePercent(less 25)
 			Spell(FEROCIOUSBITE)
@@ -244,11 +244,17 @@ AddIcon help=main mastery=2
 		if ComboPoints(more 4) and TargetDebuffPresent(RIP mine=1) and TargetLifePercent(less 25)
 			Spell(FEROCIOUSBITE)

+		#/shred,extend_rip=1,if=dot.rip.ticking&dot.rip.remains<=4&target.health_pct>25  TODO: extend_rip=1?
+		if TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 4 mine=1) and TargetLifePercent(more 25) Spell(SHRED)
+
 		#rip,if=buff.combo_points.stack>=5&target.time_to_die>=6&dot.rip.remains<2.0&(buff.berserk.up|dot.rip.remains<=cooldown.tigers_fury.remains)
 		if ComboPoints(more 4) and TargetDeadIn(more 6) and TargetDebuffExpires(RIP 2 mine=1) and
 				{BuffPresent(BERSERK) or {target.debuffExpires(RIP mine=1)<spell(TIGERSFURY)}}
 			Spell(RIP)

+		#/ferocious_bite,if=buff.combo_points.stack>=5&dot.rip.remains>5.0&buff.savage_roar.remains>=3.0
+		if ComboPoints(more 4) and TargetDebuffPresent(RIP 5 mine=1) and BuffPresent(SAVAGEROAR 3) Spell(FEROCIOUSBITE)
+
 		#rake,if=target.time_to_die>=8.5&buff.tigers_fury.up&dot.rake.remains<9.0&(!dot.rake.ticking|dot.rake.multiplier<multiplier)
 		#not sure what this multiplier is
 		if TargetDeadIn(more 8.5) and BuffPresent(TIGERSFURY) and TargetDebuffExpires(RAKE 0 mine=1)
@@ -264,21 +270,22 @@ AddIcon help=main mastery=2
 		#savage_roar,if=buff.combo_points.stack>=1&buff.savage_roar.remains<=1
 		if ComboPoints(more 0) and BuffExpires(SAVAGEROAR 1) Spell(SAVAGEROAR)

-		#savage_roar,if=target.time_to_die>=9&buff.combo_points.stack>=5&dot.rip.ticking&dot.rip.remains<=12&@(dot.rip.remains-buff.savage_roar.remains)<=3
-		if TargetDeadIn(more 9) and ComboPoints(more 4) and TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 12 mine=1)
-				and {{target.debuffExpires(RIP mine=1) - buffExpires(SAVAGEROAR)}<3}
-			Spell(SAVAGEROAR)
-
 		#ferocious_bite,if=(target.time_to_die<=4&buff.combo_points.stack>=5)|target.time_to_die<=1
 		if {TargetDeadIn(less 4) and ComboPoints(more 4)} or {TargetDeadIn(less 1) and ComboPoints(more 0)} Spell(FEROCIOUSBITE)
 		#/ferocious_bite,if=buff.combo_points.stack>=5&dot.rip.remains>=14.0&buff.savage_roar.remains>=10.0
 		if ComboPoints(more 4) and TargetDebuffPresent(RIP 14 mine=1) and BuffPresent(SAVAGEROAR 10) Spell(FEROCIOUSBITE)
-		#shred,extend_rip=1,if=dot.rip.ticking&dot.rip.remains<=4&target.health_pct>25
-		if Glyph(GLYPHOFSHRED) and Counter(ripshreds less 3) and TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 4 mine=1) and TargetLifePercent(more 25) Spell(SHRED)
-
 		#ravage,if=buff.stampede_cat.up&!buff.omen_of_clarity.react&buff.tigers_fury.up
 		if BuffPresent(STAMPEDE) and BuffExpires(CLEARCASTING) and BuffPresent(TIGERSFURY) Spell(RAVAGE)
-		Spell(SHRED)
+		#/shred,if=buff.tigers_fury.up|buff.berserk.up
+		if BuffPresent(TIGERSFURY) or BuffPresent(BERSERK) Spell(SHRED)
+        #/shred,if=(buff.combo_points.stack<5&dot.rip.remains<3.0)|(buff.combo_points.stack=0&buff.savage_roar.remains<2
+		if {ComboPoints(less 5) and TargetDebuffExpires(RIP 3 mine=1)} or {ComboPoints(less 1) and BuffExpires(SAVAGEROAR 2)} Spell(SHRED)
+        #/shred,if=cooldown.tigers_fury.remains<=3.0
+		if spell(TIGERSFURY) < 3 Spell(SHRED)
+        #/shred,if=target.time_to_die<=8.5
+		if TargetDeadIn(less 8.5) Spell(SHRED)
+        #/shred,if=time_to_max_energy<=1.0
+		if 1s before Mana(more 99) Spell(SHRED)
 	}
 }

diff --git a/defaut/Guerrier.lua b/defaut/Guerrier.lua
index 6162fff..1e687c6 100644
--- a/defaut/Guerrier.lua
+++ b/defaut/Guerrier.lua
@@ -196,9 +196,9 @@ AddIcon help=offgcd mastery=1
 	if target.IsInterruptible() Spell(PUMMEL)

 	if CheckBoxOn(multi) Spell(CLEAVE)
-	#/heroic_strike,if=((rage>=85&target.health_pct>=20)|buff.battle_trance.up|((buff.incite.up|buff.colossus_smash.up)&((rage>=50&target.health_pct>=20)|(rage>=75&target.health_pct<20))))
+	#/heroic_strike,if=((rage>=85&target.health_pct>=20)|buff.deadly_calm.up|buff.battle_trance.up|((buff.incite.up|buff.colossus_smash.up)&((rage>=50&target.health_pct>=20)|(rage>=75&target.health_pct<20))))
 	if {Mana(more 85) and TargetLifePercent(more 20)}
-		or BuffPresent(BATTLETRANCE)
+		or BuffPresent(DEADLYCALM) or BuffPresent(BATTLETRANCE)
 		or {{BuffPresent(INCITE) or TargetDebuffPresent(COLOSSUSSMASH mine=1)} and {{Mana(more 49) and TargetLifePercent(more 20)} or {Mana(more 74) and TargetLifePercent(less 20)}}}
 		Spell(HEROICSTRIKE)
 }
diff --git a/defaut/Mage.lua b/defaut/Mage.lua
index c205123..d384463 100644
--- a/defaut/Mage.lua
+++ b/defaut/Mage.lua
@@ -191,12 +191,14 @@ AddIcon help=cd mastery=2
 AddIcon help=main mastery=3
 {
     unless InCombat() if BuffExpires(MAGEARMOR 400) and BuffExpires(MOLTENARMOR 400) and BuffExpires(ICEARMOR 400) Spell(MOLTENARMOR)
+	if BuffPresent(MAGEARMOR) and ManaPercent(more 45) Spell(MOLTENARMOR)
+
     if PetPresent(no) Spell(SUMMONWATERELEMENTAL)

 	#/deep_freeze
     Spell(DEEPFREEZE usable=1)
-	#/frostfire_bolt,if=buff.brain_freeze.react&buff.fingers_of_frost.react
-    if BuffPresent(BRAINFREEZE) and BuffPresent(FINGERSOFFROST) {Spell(FROSTFIREBOLT) Spell(FIREBALL)}
+	#/frostfire_bolt,if=buff.brain_freeze.react
+    if BuffPresent(BRAINFREEZE) {Spell(FROSTFIREBOLT) Spell(FIREBALL)}
 	#/ice_lance,if=buff.fingers_of_frost.stack>1
     if BuffPresent(FINGERSOFFROST stacks=2) Spell(ICELANCE)
 	#/ice_lance,if=buff.fingers_of_frost.react&pet.water_elemental.cooldown.freeze.remains<gcd
diff --git a/defaut/Paladin.lua b/defaut/Paladin.lua
index 49e57a4..d02900a 100644
--- a/defaut/Paladin.lua
+++ b/defaut/Paladin.lua
@@ -139,8 +139,8 @@ AddIcon help=main mastery=3
 	if BuffPresent(THEARTOFWAR) Spell(EXORCISM)
 	#judgement,if=buff.judgements_of_the_pure.remains<2
 	if BuffExpires(JUDGEMENTSOFTHEPURE 2) Spell(JUDGEMENT)
-	#wait,sec=0.1,if=cooldown.crusader_strike.remains<0.75
-	unless 0.75 before Spell(CRUSADERSTRIKE)
+	#wait,sec=0.1,if=cooldown.crusader_strike.remains<0.5
+	unless 0.5 before Spell(CRUSADERSTRIKE)
 	{
 		#judgement
 		Spell(JUDGEMENT)
@@ -155,15 +155,14 @@ AddIcon help=main mastery=3

 AddIcon help=cd mastery=3
 {
-	#/guardian_of_ancient_kings
-	Spell(GUARDIANOFANCIENTKINGS)
-	#/avenging_wrath,if=buff.zealotry.down
-	if BuffExpires(ZEALOTRY)
+	#/zealotry
+	Spell(ZEALOTRY)
+    #/guardian_of_ancient_kings,if=buff.zealotry.remains<31|cooldown.zealotry.remains>60
+	if BuffExpires(ZEALOTRY 31) or {spell(ZEALOTRY)>60}	Spell(GUARDIANOFANCIENTKINGS)
+	#/avenging_wrath,if=buff.zealotry.remains<21
+	if BuffExpires(ZEALOTRY 21)
 		Spell(AVENGINGWRATH)
-	#/zealotry,if=buff.avenging_wrath.down
-	if BuffExpires(AVENGINGWRATH)
-		Spell(ZEALOTRY)
-    Item(Trinket0Slot usable=1)
+	Item(Trinket0Slot usable=1)
     Item(Trinket1Slot usable=1)
 }
 ]]
diff --git a/defaut/Voleur.lua b/defaut/Voleur.lua
index 2ab2b4b..55a8b8f 100644
--- a/defaut/Voleur.lua
+++ b/defaut/Voleur.lua
@@ -36,6 +36,9 @@ Define(PREMEDITATION 14183)
 	SpellInfo(PREMEDITATION cd=20 combo=2)
 Define(PREPARATION 14185)
 	SpellInfo(PREPARATION cd=300)
+Define(RECUPERATE 73651)
+	SpellInfo(RECUPERATE combo=-5 mana=30)
+	SpellAddBuff(RECUPERATE RECUPERATE=30)
 Define(REVEALINGSTRIKE 84617)
 	SpellInfo(REVEALINGSTRIKE combo=1 mana=40)
 	SpellAddTargetDebuff(REVEALINGSTRIKE REVEALINGSTRIKE=15)
@@ -70,6 +73,8 @@ Define(SHALLOWINSIGHT 84745)
 Define(MODERATEINSIGHT 84746)
 Define(DEEPINSIGHT 84747)
 Define(OVERKILL 58426)
+Define(MASTEROFSUBTLETY 31223)
+Define(FINDWEAKNESS 91023)

 #Items
 Define(INSTANTPOISON 6947)
@@ -77,6 +82,7 @@ Define(DEADLYPOISON 2892)

 #Talents
 Define(TALENTCUTTOTHECHASE 2070)
+Define(TALENTENERGETICRECOVERY 11665)

 SpellList(insight 84745 84746 84747)

@@ -96,31 +102,28 @@ AddIcon help=main mastery=1
 	#actions+=/slice_and_dice,if=buff.slice_and_dice.down
 	unless BuffPresent(SLICEANDDICE) if ComboPoints(more 0)	Spell(SLICEANDDICE)

-	#actions+=/vendetta
+	#/rupture,if=!ticking&time<6
+	if TargetDebuffExpires(RUPTURE mine=1) and TimeInCombat(less 6) and ComboPoints(more 0) Spell(RUPTURE)
+	#/vendetta
 	if TargetDebuffExpires(VENDETTA) and TargetDeadIn(more 20) Spell(VENDETTA)
+
+	#actions+=/rupture,if=!ticking&buff.slice_and_dice.remains>6
+	if TargetDebuffExpires(RUPTURE 0 mine=1) and BuffPresent(SLICEANDDICE 6) and ComboPoints(more 0)
+		Spell(RUPTURE)

-	if ComboPoints(more 3)
-	{
-		#actions+=/rupture,if=!ticking&time<6
-		#actions+=/rupture,if=!ticking&buff.slice_and_dice.remains>6
-		if TargetDebuffExpires(RUPTURE 0 mine=1) and BuffPresent(SLICEANDDICE 6)
-			Spell(RUPTURE)
-		#actions+=/envenom,if=combo_points>=4&buff.envenom.down
-		#actions+=/envenom,if=combo_points>=4&energy>90
-		if BuffExpires(ENVENOM 0) or Mana(more 89) Spell(ENVENOM)
-	}
-
-	#actions+=/cold_blood,sync=envenom
+	#actions+=/cold_blood,sync=envenom ??
 	#if ComboPoints(more 4) and BuffPresent(SLICEANDDICE 6) and TargedDebuffPresent(RUPTURE 5)
 	#	Spell(COLDBLOOD)

-	#actions+=/envenom,if=combo_points>=2&buff.slice_and_dice.remains<3
-	if TalentPoints(TALENTCUTTOTHECHASE more 0) and ComboPoints(more 1) and BuffExpires(SLICEANDDICE 3)
-		Spell(ENVENOM)
-
-	#actions+=/backstab,if=combo_points<5&target.health_pct<35
+	#/envenom,if=combo_points>=4&buff.envenom.down
+	#/envenom,if=combo_points>=4&energy>90
+	if ComboPoints(more 3) and {BuffExpires(ENVENOM) or Mana(more 89)} Spell(ENVENOM)
+	#/envenom,if=combo_points>=2&buff.slice_and_dice.remains<3
+	if TalentPoints(TALENTCUTTOTHECHASE more 0) and ComboPoints(more 1) and BuffExpires(SLICEANDDICE 3) Spell(ENVENOM)
+
+	#/backstab,if=combo_points<5&target.health_pct<35
 	if ComboPoints(less 5) and TargetLifePercent(less 35) Spell(BACKSTAB)
-	#actions+=/mutilate,if=combo_points<4&target.health_pct>=35
+	#/mutilate,if=combo_points<4&target.health_pct>=35
 	if ComboPoints(less 4) and TargetLifePercent(more 35) Spell(MUTILATE)

 }
@@ -157,10 +160,10 @@ AddIcon help=main mastery=2

 	#actions+=/eviscerate,if=combo_points=5&buff.bandits_guile.stack>=12
 	if ComboPoints(more 4) and BuffPresent(SLICEANDDICE 4) and BuffPresent(insight)
-		{
-			if TargetDebuffPresent(bleed) and TargetDebuffExpires(RUPTURE 0 mine=1) Spell(RUPTURE)
-			Spell(EVISCERATE)
-		}
+	{
+		if TargetDebuffPresent(bleed) and TargetDebuffExpires(RUPTURE 0 mine=1) Spell(RUPTURE)
+		Spell(EVISCERATE)
+	}

 	#actions+=/rupture,if=!ticking&combo_points=5&target.time_to_die>10
 	if ComboPoints(more 4) and TargetDebuffExpires(RUPTURE 0 mine=1) and TargetDeadIn(more 10) Spell(RUPTURE)
@@ -207,39 +210,44 @@ AddIcon help=main mastery=3

 	if BuffPresent(STEALTH) or BuffPresent(VANISHBUFF)
 	{
-		Spell(PREMEDITATION)
-		Spell(GARROTE)
-		#ambush,if=combo_points<=2
-		if ComboPoints(less 3) Spell(AMBUSH)
+		#/premeditation,if=(combo_points<=3&cooldown.honor_among_thieves.remains>1.75)|combo_points<=2
+		if ComboPoints(less 3) Spell(PREMEDITATION)
+		#Spell(GARROTE)
+		#/ambush,if=combo_points<=4
+		if ComboPoints(less 5) Spell(AMBUSH)
 	}

-	#slice_and_dice,if=buff.slice_and_dice.remains<2
-	if BuffExpires(SLICEANDDICE 2) and ComboPoints(more 0) Spell(SLICEANDDICE)
-	#rupture,if=combo_points=5&!ticking
+	#/slice_and_dice,if=buff.slice_and_dice.remains<3&combo_points=5
+	if BuffExpires(SLICEANDDICE 3) and ComboPoints(more 4) Spell(SLICEANDDICE)
+	#/rupture,if=combo_points=5&!ticking
 	if ComboPoints(more 4) and TargetDebuffExpires(RUPTURE 0 mine=1) Spell(RUPTURE)
-	#recuperate,if=combo_points=5&dot.rupture.remains>8&buff.slice_and_dice.remains>8
-	#eviscerate,if=combo_points=5&dot.rupture.remains>1
-	if ComboPoints(more 4) and TargetDebuffPresent(RUPTURE 1 main=1) Spell(EVISCERATE)
-	#eviscerate,if=combo_points>=4&buff.shadow_dance.up
-	if ComboPoints(more 3) and BuffPresent(SHADOWDANCE) Spell(EVISCERATE)
-	#backstab,if=combo_points<4
-	if ComboPoints(less 4) Spell(BACKSTAB)
-	#backstab,if=cooldown.honor_among_thieves.remains>1.75
-	#TODO: need a rogue to test how to know when the last combo point was gained
-	Spell(BACKSTAB)
+	#/recuperate,if=combo_points=5&remains<3
+	if TalentPoints(TALENTENERGETICRECOVERY more 2) and ComboPoints(more 4) and BuffExpires(RECUPERATE 3) Spell(RECUPERATE)
+	#/eviscerate,if=combo_points=5&dot.rupture.remains>1
+	if ComboPoints(more 4) and TargetDebuffPresent(RUPTURE 1 mine=1) Spell(EVISCERATE)
+
+	#/backstab,if=combo_points<3&energy>60";
+	if ComboPoints(less 3) and Mana(more 60) Spell(BACKSTAB)
+	#/backstab,if=combo_points<4&energy>40&energy<80";
+	if ComboPoints(less 4) and Mana(more 40) and Mana(less 80) Spell(BACKSTAB)
+	#/backstab,if=combo_points<5&energy>80
+	if ComboPoints(less 5) and Mana(more 80) Spell(BACKSTAB)
 }

 AddIcon help=cd mastery=3
 {
 	#actions+=/kick
 	if TargetIsInterruptible(yes) and TargetInRange(KICK) Spell(KICK)
-	#shadow_dance,if=time>10&energy>75&combo_points<=1&cooldown.shadowstep.remains<=0
-	if Mana(more 75) and ComboPoints(less 2) and Spell(SHADOWSTEP) Spell(SHADOWDANCE)
-	#vanish,if=time>10&energy>60&combo_points<=1&cooldown.shadowstep.remains<=0&!buff.shadow_dance.up
-	if Mana(more 60) and ComboPoints(less 2) and Spell(SHADOWSTEP) and BuffExpires(SHADOWDANCE 0) Spell(VANISH)
-	#actions+=/shadowstep,if=buff.stealthed.up|buff.shadow_dance.up
+
+	#/shadow_dance,if=energy>85&combo_points<5&buff.stealthed.down
+	if Mana(more 84) and ComboPoints(less 5) and BuffExpires(STEALTH) Spell(SHADOWDANCE)
+	#/vanish,if=time>10&energy>60&combo_points<=1&cooldown.shadowstep.remains<=0&!buff.shadow_dance.up
+	#/vanish,if=time>10&energy>60&combo_points<=1&cooldown.shadowstep.remains<=0&!buff.shadow_dance.up&!buff.master_of_subtlety.up&!buff.find_weakness.up
+	if TimeInCombat(more 10) and Mana(more 60) and ComboPoints(less 2) and Spell(SHADOWSTEP) and BuffExpires(SHADOWDANCE) and BuffExpires(MASTEROFSUBTLETY) and TargetDebuffExpires(FINDWEAKNESS mine=1)
+			Spell(VANISH)
+	#/shadowstep,if=buff.stealthed.up|buff.shadow_dance.up
 	if BuffPresent(STEALTH) or BuffPresent(SHADOWDANCE) or BuffPresent(VANISHBUFF) Spell(SHADOWSTEP)
-	#preparation,if=cooldown.vanish.remains>60
+	#/preparation,if=cooldown.vanish.remains>60
 	unless 60s before Spell(VANISH) Spell(PREPARATION)
 	Item(Trinket0Slot usable=1)
 	Item(Trinket1Slot usable=1)