Quantcast

- arm warrior: latest simulationcraft script

Sidoine De Wispelaere [01-14-12 - 13:16]
- arm warrior: latest simulationcraft script
- shaman: aoe in a separate icon
- retribution paladin: aoe in a separate icon
- holy paladin: healing script instead of dps script
- added "item" function
- added several T12 and T13 armor parts

git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@459 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Filename
Condition.lua
Ovale.toc
OvaleEquipement.lua
defaut/Chaman.lua
defaut/Guerrier.lua
defaut/Paladin.lua
defaut/Pretre.lua
diff --git a/Condition.lua b/Condition.lua
index 572abd0..f37fafd 100644
--- a/Condition.lua
+++ b/Condition.lua
@@ -674,6 +674,11 @@ Ovale.conditions=
 		local spellName = GetSpellInfo(condition[1])
 		return testbool(IsSpellInRange(spellName,getTarget(condition.target))==1,condition[2])
 	end,
+	item = function(condition)
+		local itemId = element.params[1]
+		local actionCooldownStart, actionCooldownDuration, actionEnable = GetItemCooldown(itemId)
+		return actionCooldownDuration, actionCooldownStart, -1
+	end,
 	ItemCount = function(condition)
 		if condition.charges == 1 then
 			return compare(GetItemCount(condition[1], false, true), condition[2], condition[3])
diff --git a/Ovale.toc b/Ovale.toc
index 22ea1b1..350079b 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.3.3
+## Version: 4.3.4
 ## OptionalDeps: Ace3, Masque, Recount, Skada, LibBabble-CreatureType-3.0, LibRangeCheck-2.0
 ## SavedVariables: OvaleDB
 ## SavedVariablesPerCharacter: OvaleDBPC
diff --git a/OvaleEquipement.lua b/OvaleEquipement.lua
index 2ae320a..5da7bed 100644
--- a/OvaleEquipement.lua
+++ b/OvaleEquipement.lua
@@ -58,6 +58,122 @@ local itemTier =
 	[65201] = "T11",
 	[65200] = "T11",
 	[65199] = "T11",
+	-- Hunter
+	[77028] = "T13",
+	[77029] = "T13",
+	[77030] = "T13",
+	[77031] = "T13",
+	[77032] = "T13",
+	[78661] = "T13",
+	[78674] = "T13",
+	[78698] = "T13",
+	[78709] = "T13",
+	[78737] = "T13",
+	[78756] = "T13",
+	[78769] = "T13",
+	[78793] = "T13",
+	[78804] = "T13",
+	[78832] = "T13",
+	-- Mage
+	[76212] = "T13",
+	[76213] = "T13",
+	[76214] = "T13",
+	[76215] = "T13",
+	[76216] = "T13",
+	[78671] = "T13",
+	[78701] = "T13",
+	[78720] = "T13",
+	[78729] = "T13",
+	[78748] = "T13",
+	[78766] = "T13",
+	[78796] = "T13",
+	[78815] = "T13",
+	[78824] = "T13",
+	[78843] = "T13",
+	-- Retribution paladin
+	[76874] = "T13",
+	[76875] = "T13",
+	[76876] = "T13",
+	[76877] = "T13",
+	[76878] = "T13",
+	[78675] = "T13",
+	[78693] = "T13",
+	[78712] = "T13",
+	[78727] = "T13",
+	[78742] = "T13",
+	[78770] = "T13",
+	[78788] = "T13",
+	[78807] = "T13",
+	[78822] = "T13",
+	[78837] = "T13",
+	-- Rogue
+	[71045] = "T12",
+	[71046] = "T12",
+	[71047] = "T12",
+	[71048] = "T12",
+	[71049] = "T12",
+	[71537] = "T12",
+	[71538] = "T12",
+	[71539] = "T12",
+	[71540] = "T12",
+	[71541] = "T12",
+	[77023] = "T13",
+	[77024] = "T13",
+	[77025] = "T13",
+	[77026] = "T13",
+	[77027] = "T13",
+	[78664] = "T13",
+	[78679] = "T13",
+	[78699] = "T13",
+	[78708] = "T13",
+	[78738] = "T13",
+	[78759] = "T13",
+	[78774] = "T13",
+	[78794] = "T13",
+	[78803] = "T13",
+	[78833] = "T13",
+	-- Elemental shaman
+	[71291] = "T12",
+	[71292] = "T12",
+	[71293] = "T12",
+	[71294] = "T12",
+	[71295] = "T12",
+	[71552] = "T12",
+	[71553] = "T12",
+	[71554] = "T12",
+	[71555] = "T12",
+	[71556] = "T12",
+	[77035] = "T13",
+	[77036] = "T13",
+	[77037] = "T13",
+	[77038] = "T13",
+	[77039] = "T13",
+	[78666] = "T13",
+	[78685] = "T13",
+	[78711] = "T13",
+	[78723] = "T13",
+	[78741] = "T13",
+	[78761] = "T13",
+	[78780] = "T13",
+	[78806] = "T13",
+	[78818] = "T13",
+	[78836] = "T13",
+	-- Enhancement shaman
+	[78819] = "T13",
+	[77040] = "T13",
+	[78724] = "T13",
+	[78762] = "T13",
+	[77041] = "T13",
+	[78667] = "T13",
+	[78781] = "T13",
+	[77042] = "T13",
+	[78686] = "T13",
+	[78799] = "T13",
+	[77043] = "T13",
+	[78704] = "T13",
+	[78828] = "T13",
+	[77044] = "T13",
+	[78733] = "T13",
 	--Fury/Arm warrior
 	[60323] = "T11",
 	[60324] = "T11",
@@ -69,6 +185,31 @@ local itemTier =
 	[65266] = "T11",
 	[65267] = "T11",
 	[65268] = "T11",
+	[71070] = "T12",
+	[71599] = "T12",
+	[71068] = "T12",
+	[71600] = "T12",
+	[71072] = "T12",
+	[71603] = "T12",
+	[71071] = "T12",
+	[71602] = "T12",
+	[71069] = "T12",
+	[71601] = "T12",
+	[76983] = "T13",
+	[76984] = "T13",
+	[76985] = "T13",
+	[76986] = "T13",
+	[76987] = "T13",
+	[78657] = "T13",
+	[78668] = "T13",
+	[78688] = "T13",
+	[78706] = "T13",
+	[78735] = "T13",
+	[78752] = "T13",
+	[78763] = "T13",
+	[78783] = "T13",
+	[78801] = "T13",
+	[78830] = "T13",
 	--Warlock
 	[65263] = "T11",
 	[65262] = "T11",
@@ -80,6 +221,21 @@ local itemTier =
 	[65250] = "T11",
 	[65249] = "T11",
 	[65248] = "T11",
+	[78776] = "T13",
+	[76343] = "T13",
+	[78681] = "T13",
+	[78797] = "T13",
+	[76342] = "T13",
+	[78702] = "T13",
+	[78816] = "T13",
+	[76341] = "T13",
+	[78721] = "T13",
+	[78825] = "T13",
+	[76340] = "T13",
+	[78730] = "T13",
+	[78844] = "T13",
+	[76339] = "T13",
+	[78749] = "T13",
 }

 local itemSlots = {"HeadSlot", "ShoulderSlot", "ChestSlot", "HandsSlot", "LegsSlot"}
diff --git a/defaut/Chaman.lua b/defaut/Chaman.lua
index 4601d3e..4678546 100644
--- a/defaut/Chaman.lua
+++ b/defaut/Chaman.lua
@@ -114,12 +114,6 @@ AddIcon help=main mastery=1
 	#/flame_shock,if=!ticking|ticks_remain<3
 	if TargetDebuffExpires(FLAMESHOCK 3 mine=1) Spell(FLAMESHOCK)

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

@@ -131,12 +125,18 @@ AddIcon help=main mastery=1

 	if TotemExpires(fire) Spell(SEARINGTOTEM)
 	#/spiritwalkers_grace,moving=1
-	#/chain_lightning,if=target.adds>2
-	if CheckBoxOn(aoe) Spell(CHAINLIGHTNING)
+	if Speed(more 0) Spell(SPIRITWALKERSGRACE)
 	#/lightning_bolt
 	Spell(LIGHTNINGBOLT)
 }

+AddIcon help=aoe mastery=1 checkboxon=aoe
+{
+	Spell(EARTHQUAKE)
+	if TargetDebuffPresent(FLAMESHOCK mine=1) Spell(FIRENOVA)
+	Spell(CHAINLIGHTNING)
+}
+
 AddIcon help=main mastery=2
 {
 	unless InCombat()
@@ -150,48 +150,45 @@ AddIcon help=main mastery=2
 	#/lightning_shield
 	if BuffExpires(LIGHTNINGSHIELD) Spell(LIGHTNINGSHIELD)

-	if CheckBoxOn(aoe)
-	{
-		if BuffPresent(MAELSTROMWEAPON stacks=5) Spell(CHAINLIGHTNING)
-		if TotemExpires(fire) Spell(MAGMATOTEM)
-		if TotemPresent(fire) Spell(FIRENOVA)
-		Spell(LAVALASH)
-		if BuffPresent(MAELSTROMWEAPON stacks=4) Spell(CHAINLIGHTNING)
-		Spell(UNLEASHELEMENTS)
-		if TargetDebuffExpires(FLAMESHOCK 0 mine=1) Spell(FLAMESHOCK)
-		Spell(EARTHSHOCK)
-		Spell(STORMSTRIKE)
-		if BuffPresent(MAELSTROMWEAPON stacks=2) Spell(CHAINLIGHTNING)
-		Spell(LAVABURST)
-	}
-
-	if CheckBoxOff(aoe)
-	{
-		#/searing_totem
-		if TotemExpires(fire) Spell(SEARINGTOTEM)
-		#/stormstrike
-		Spell(STORMSTRIKE)
-		#/lava_lash
-		Spell(LAVALASH)
-		#/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
-		if TargetDebuffExpires(FLAMESHOCK 0 mine=1) or BuffPresent(UNLEASHFLAME)
-			Spell(FLAMESHOCK)
-		#/earth_shock
-		Spell(EARTHSHOCK)
-		#/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)
-	}
+	#/searing_totem
+	if TotemExpires(fire) Spell(SEARINGTOTEM)
+	#/stormstrike
+	Spell(STORMSTRIKE)
+	#/lava_lash
+	Spell(LAVALASH)
+	#/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
+	if TargetDebuffExpires(FLAMESHOCK 0 mine=1) or BuffPresent(UNLEASHFLAME)
+		Spell(FLAMESHOCK)
+	#/earth_shock
+	Spell(EARTHSHOCK)
+	#/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)
 	Spell(FERALSPIRIT priority=2)
 }

+AddIcon help=aoe mastery=2 checkboxon=aoe
+{
+	if BuffPresent(MAELSTROMWEAPON stacks=5) Spell(CHAINLIGHTNING)
+	if TotemExpires(fire) Spell(MAGMATOTEM)
+	if TotemPresent(fire) Spell(FIRENOVA)
+	Spell(LAVALASH)
+	if BuffPresent(MAELSTROMWEAPON stacks=4) Spell(CHAINLIGHTNING)
+	Spell(UNLEASHELEMENTS)
+	if TargetDebuffExpires(FLAMESHOCK 0 mine=1) Spell(FLAMESHOCK)
+	Spell(EARTHSHOCK)
+	Spell(STORMSTRIKE)
+	if BuffPresent(MAELSTROMWEAPON stacks=2) Spell(CHAINLIGHTNING)
+	Spell(LAVABURST)
+}
+
 AddIcon help=cd
 {
 	Spell(ELEMENTALMASTERY)
diff --git a/defaut/Guerrier.lua b/defaut/Guerrier.lua
index 018898d..c88b16c 100644
--- a/defaut/Guerrier.lua
+++ b/defaut/Guerrier.lua
@@ -114,6 +114,7 @@ Define(BATTLETRANCE 12964)
 Define(SLAUGHTER 84584)
 Define(THUNDERSTRUCK 87096)
 Define(VICTORIOUS 32216)
+Define(ENRAGEWRECKINGCREW 57519)

 #Talents
 Define(SLAMTALENT 2233)
@@ -143,54 +144,91 @@ AddIcon help=main mastery=1

 	if CheckBoxOn(dancing)
 	{
-		#/stance,choose=berserker,if=(buff.taste_for_blood.down&rage<75)
-		if Stance(1) and TargetDebuffPresent(RENDDEBUFF mine=1) and BuffExpires(TASTEFORBLOOD 0) and Mana(less 75) Spell(BERSERKERSTANCE)
-		#/stance,choose=battle,if=(dot.rend.remains=0|((buff.overpower.up|buff.taste_for_blood.up)&cooldown.mortal_strike.remains>1)&rage<=75)
-		if Stance(3) and {TargetDebuffExpires(RENDDEBUFF 0 mine=1) or {BuffPresent(TASTEFORBLOOD) and {spell(MORTALSTRIKE)>1}}}
-			and Mana(less 75) Spell(BATTLESTANCE)
+		#/stance,choose=berserker,if=buff.taste_for_blood.down&dot.rend.remains>0&rage<=75,use_off_gcd=1
+		if Stance(1) and BuffExpires(TASTEFORBLOOD 0) and {TargetDebuffPresent(RENDDEBUFF mine=1) or TargetDeadIn(less 15)} and Mana(less 76)
+			Spell(BERSERKERSTANCE)
+		#/stance,choose=battle,if=dot.rend.remains=0,use_off_gcd=1
+		if Stance(3) and TargetDebuffExpires(RENDDEBUFF 0 mine=1) and TargetDeadIn(more 15)
+			Spell(BATTLESTANCE)
 	}

-	#/berserker_rage,if=!buff.deadly_calm.up&rage<70
-	if Glyph(GLYPHOFBERSERKERRAGE) and BuffExpires(DEADLYCALM) and Mana(less 71) Spell(BERSERKERRAGE)
-	#/deadly_calm,if=rage<30&((target.health_pct>20&target.time_to_die>130)|(target.health_pct<=20&buff.recklessness.up))
-	if Mana(less 30) and {{TargetLifePercent(more 20) and TargetDeadIn(more 130)} or {TargetLifePercent(less 20) and BuffPresent(RECKLESSNESS)}} Spell(DEADLYCALM)
-
-	#/inner_rage,if=!buff.deadly_calm.up&rage>80&cooldown.deadly_calm.remains>15
-	if BuffExpires(DEADLYCALM) and Mana(more 80) and {spell(DEADLYCALM)>15} Spell(INNERRAGE)
-	#/overpower,if=buff.taste_for_blood.remains<=1.5
-	if BuffExpires(TASTEFORBLOOD 1.5) and BuffPresent(TASTEFORBLOOD) Spell(OVERPOWER)
-	#/mortal_strike,if=target.health_pct>20|rage>=30
-	if TargetLifePercent(more 20) or Mana(more 29) Spell(MORTALSTRIKE)
-	#/execute,if=buff.battle_trance.up
-	if BuffPresent(BATTLETRANCE) and TargetLifePercent(less 20) Spell(EXECUTE)
 	#/rend,if=!ticking
-	if Stance(1) and TargetDebuffExpires(RENDDEBUFF) Spell(REND)
-	#/colossus_smash,if=buff.colossus_smash.remains<0.5
-	if TargetDebuffExpires(COLOSSUSSMASH 0.5 mine=1) Spell(COLOSSUSSMASH)
-	#/execute,if=(buff.deadly_calm.up|buff.recklessness.up)
-	if BuffPresent(DEADLYCALM) or BuffPresent(RECKLESSNESS) if TargetLifePercent(less 20) Spell(EXECUTE)
-	#/mortal_strike
-	Spell(MORTALSTRIKE)
+	if TargetDebuffExpires(RENDDEBUFF mine=1) and TargetDeadIn(more 15) Spell(REND)
+	#/mortal_strike,if=target.health_pct>20
+	if TargetLifePercent(more 20) Spell(MORTALSTRIKE)
+	#/colossus_smash,if=buff.colossus_smash.down
+	if TargetDebuffExpires(COLOSSUSSMASH mine=1) Spell(COLOSSUSSMASH)
+	#/mortal_strike,if=target.health_pct<=20&(buff.colossus_smash.down|dot.rend.remains<3|buff.wrecking_crew.down|rage<30)
+	if TargetLifePercent(less 20) and {TargetDebuffExpires(COLOSSUSSMASH mine=1) or
+		TargetDebuffExpires(REND 3 mine=1) or BuffExpires(ENRAGEWRECKINGCREW) or Mana(less 30)}
+		Spell(MORTALSTRIKE)
+	if CheckBoxOn(dancing)
+	{
+		#/stance,choose=battle,if=target.health_pct>20&(buff.taste_for_blood.up|buff.overpower.up)&rage<=75&cooldown.mortal_strike.remains>=1.5,use_off_gcd=1
+		if TargetLifePercent(more 20) and BuffPresent(TASTEFORBLOOD) and Mana(less 76) and {spell(MORTALSTRIKE) > 1.5}
+			Spell(BATTLESTANCE)
+	}
+	#/overpower,if=buff.taste_for_blood.up|buff.overpower.up
+	if BuffPresent(TASTEFORBLOOD) Spell(OVERPOWER)
 	#/overpower
 	Spell(OVERPOWER usable=1)
-	#/execute
-	if TargetLifePercent(less 20) Spell(EXECUTE)
-	#/slam,if=(cooldown.mortal_strike.remains>=1.5&(rage>=35|buff.deadly_calm.up|buff.colossus_smash.up))|(cooldown.mortal_strike.remains>=1.2&buff.colossus_smash.remains>0.5&rage>=35)
-	if {{spell(MORTALSTRIKE)>1.5} and {Mana(more 34) or BuffPresent(DEADLYCALM) or TargetDebuffPresent(COLOSSUSSMASH mine=1)}} or {spell(MORTALSTRIKE)>1.2 and TargetDebuffPresent(COLOSSUSSMASH 0.5) and Mana(more 34)}
-		Spell(SLAM)
-	#/battle_shout,if=rage<20
-	if Mana(less 20) Spell(BATTLESHOUT priority=2)
+	#/execute,if=buff.battle_trance.up
+	if BuffPresent(BATTLETRANCE) and TargetLifePercent(less 20) Spell(EXECUTE)
+	#/colossus_smash,if=buff.colossus_smash.remains<=1.5&buff.inner_rage.down
+	if TargetDebuffExpires(COLOSSUSSMASH 1.5 mine=1) and BuffExpires(INNERRAGE)
+		Spell(COLOSSUSSMASH)
+	#/slam,if=rage>=35|buff.battle_trance.up&buff.inner_rage.down
+	if Mana(more 34) or {BuffPresent(BATTLETRANCE) and BuffExpires(INNERRAGE)} Spell(SLAM)
+	#/battle_shout,if=rage<60
+	if Mana(less 60) Spell(BATTLESHOUT)
 }

 AddIcon help=offgcd mastery=1
 {
 	if target.IsInterruptible() Spell(PUMMEL)

-	#/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(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)
+	#/berserker_rage,if=rage<=95,use_off_gcd=1
+	if Glyph(GLYPHOFBERSERKERRAGE) and Mana(less 96) Spell(BERSERKERRAGE)
+	#/deadly_calm,use_off_gcd=1
+	Spell(DEADLYCALM)
+	#/inner_rage,if=buff.deadly_calm.down&cooldown.deadly_calm.remains>15,use_off_gcd=1
+	if BuffExpires(DEADLYCALM) and {spell(DEADLYCALM)>15} Spell(INNERRAGE)
+
+	#/heroic_strike,if=buff.deadly_calm.up,use_off_gcd=1
+	if BuffPresent(DEADLYCALM) Spell(HEROICSTRIKE)
+
+	if ArmorSetParts(T13 more 1)
+	{
+		#/heroic_strike,if=target.health_pct>20&rage>85,use_off_gcd=1";
+		if TargetLifePercent(more 20) and Mana(more 85) Spell(HEROICSTRIKE)
+		#/heroic_strike,if=rage>75&buff.inner_rage.up,use_off_gcd=1
+        if Mana(more 75) and BuffPresent(INNERRAGE) Spell(HEROICSTRIKE)
+		#/heroic_strike,if=buff.incite.up&(target.health_pct>20|(target.health_pct<=20&buff.battle_trance.up)),use_off_gcd=1";
+		if BuffPresent(INCITE) and {TargetLifePercent(more 20) or {TargetLifePercent(less 20) and BuffPresent(BATTLETRANCE)}}
+			Spell(HEROICSTRIKE)
+		#/heroic_strike,if=buff.inner_rage.up&target.health_pct>20&(rage>40|buff.battle_trance.up),use_off_gcd=1
+		if BuffPresent(INNERRAGE) and TargetLifePercent(more 20) and {Mana(more 40) or BuffPresent(BATTLETRANCE)}
+			Spell(HEROICSTRIKE)
+		#/heroic_strike,if=buff.inner_rage.up&target.health_pct<=20&(rage>=50|buff.battle_trance.up),use_off_gcd=1
+		if BuffPresent(INNERRAGE) and TargetLifePercent(less 20) and {Mana(more 49) or BuffPresent(BATTLETRANCE)}
+			Spell(HEROICSTRIKE)
+	}
+	if ArmorSetParts(T13 equal 0)
+	{
+		#/heroic_strike,if=target.health_pct>20&rage>95,use_off_gcd=1";
+		if TargetLifePercent(more 20) and Mana(more 95) Spell(HEROICSTRIKE)
+        #/heroic_strike,if=rage>85&buff.inner_rage.up,use_off_gcd=1";
+		if Mana(more 85) and BuffPresent(INNERRAGE) Spell(HEROICSTRIKE)
+        #/heroic_strike,if=buff.incite.up&(target.health_pct>20|(target.health_pct<=20&buff.battle_trance.up)),use_off_gcd=1";
+		if BuffPresent(INCITE) and {TargetLifePercent(more 20) or {TargetLifePercent(less 20) and BuffPresent(BATTLETRANCE)}}
+			Spell(HEROICSTRIKE)
+        #/heroic_strike,if=buff.inner_rage.up&target.health_pct>20&(rage>50|buff.battle_trance.up),use_off_gcd=1";
+		if BuffPresent(INNERRAGE) and TargetLifePercent(more 20) and {Mana(more 50) or BuffPresent(BATTLETRANCE)}
+			Spell(HEROICSTRIKE)
+        #/heroic_strike,if=buff.inner_rage.up&target.health_pct<=20&(rage>=60|buff.battle_trance.up),use_off_gcd=1";
+		if BuffPresent(INNERRAGE) and TargetLifePercent(less 20) and {Mana(more 59) or BuffPresent(BATTLETRANCE)}
+			Spell(HEROICSTRIKE)
+	}
 }

 AddIcon help=aoe mastery=1 checkboxon=aoe
@@ -201,14 +239,16 @@ AddIcon help=aoe mastery=1 checkboxon=aoe
 	if BuffExpires(SWEEPINGSTRIKES) and BuffExpires(DEADLYCALM) Spell(BLADESTORM)
 	if Stance(3) Spell(WHIRLWIND)
 	Spell(CLEAVE)
+	if Stance(1) Spell(THUNDERCLAP)
 }

 AddIcon help=cd mastery=1
 {
+	#/recklessness,if=target.health_pct>90|target.health_pct<=20,use_off_gcd=1
 	if {TargetLifePercent(more 20) and TargetDeadIn(more 320)} or TargetLifePercent(less 20)
 	{
 		#/recklessness,if=((target.health_pct>20&target.time_to_die>320)|target.health_pct<=20)
-		if Stance(3) Spell(RECKLESSNESS)
+		Spell(RECKLESSNESS)
 	}
     Item(Trinket0Slot usable=1)
 	Item(Trinket1Slot usable=1)
diff --git a/defaut/Paladin.lua b/defaut/Paladin.lua
index 8cc4927..87a7855 100644
--- a/defaut/Paladin.lua
+++ b/defaut/Paladin.lua
@@ -22,12 +22,16 @@ Define(DIVINESTORM 53385)
 	SpellInfo(DIVINESTORM cd=4.5)
 Define(EXORCISM 879)
 	SpellAddBuff(EXORCISM THEARTOFWAR=0)
+Define(FLASHOFLIGHT 19750)
 Define(GUARDIANOFANCIENTKINGS 86150)
 	SpellInfo(GUARDIANOFANCIENTKINGS cd=300)
 Define(HAMMEROFWRATH 24275)
 	SpellInfo(HAMMEROFWRATH cd=6)
 Define(HAMMEROFTHERIGHTEOUS 53595)
 	SpellInfo(HAMMEROFTHERIGHTEOUS cd=4.5 holy=1)
+Define(HOLYLIGHT 635)
+Define(HOLYRADIANCE 82327)
+	SpellInfo(HOLYRADIANCE holy=1)
 Define(HOLYSHIELD 20925)
 	SpellInfo(HOLYSHIELD  cd=30)
 	SpellAddBuff(HOLYSHIELD HOLYSHIELD=10)
@@ -40,7 +44,13 @@ Define(INQUISITION 84963)
 	SpellAddBuff(INQUISITION INQUISITION=12 DIVINEPURPOSE=0)
 Define(JUDGEMENT 20271)
 	SpellInfo(JUDGEMENT cd=8)
+Define(LIGHTOFDAWN 85222)
+	SpellInfo(LIGHTOFDAWN holy=-3)
+Define(REBUKE 96231)
+	SpellInfo(REBUKE cd=10)
 Define(RIGHTEOUSFURY 25780)
+Define(SEALOFINSIGHT 20165)
+	SpellAddBuff(SEALOFINSIGHT SEALOFINSIGHT=1800)
 Define(SEALRIGHTEOUSNESS 20154)
 	SpellAddBuff(SEALRIGHTEOUSNESS SEALRIGHTEOUSNESS=1800)
 Define(SEALOFTRUTH 31801)
@@ -61,6 +71,7 @@ Define(ZEALOTRY 85696)
 Define(THEARTOFWAR 59578)
 Define(JUDGEMENTSOFTHEPURE 53655)
 Define(DIVINEPURPOSE 90174)
+Define(INFUSIONOFLIGHT 54149)

 ScoreSpells(SHIELDOFTHERIGHTEOUS JUDGEMENT AVENGERSSHIELD HAMMEROFTHERIGHTEOUS CONSECRATE HOLYWRATH
 	ZEALOTRY  INQUISITION TEMPLARSVERDICT DIVINESTORM EXORCISM HAMMEROFWRATH JUDGEMENT CRUSADERSTRIKE)
@@ -69,20 +80,37 @@ AddCheckBox(aoe L(AOE))

 AddIcon help=main mastery=1
 {
-	if HolyPower(more 0) and BuffExpires(INQUISITION) Spell(INQUISITION)
-	if ManaPercent(less 90) Spell(DIVINEPLEA)
-	if BuffExpires(JUDGEMENTSOFTHEPURE 2) Spell(JUDGEMENT)
+	unless InCombat()
+	{
+		if BuffExpires(SEALOFINSIGHT 400) Spell(SEALOFINSIGHT)
+	}
+
+	if HolyPower(more 2) Spell(WORDOFGLORY)
 	Spell(HOLYSHOCK)
-	Spell(EXORCISM)
+	Spell(JUDGEMENT)
+	if TargetInRange(CRUSADERSTRIKE) Spell(CRUSADERSTRIKE)
+	if BuffPresent(INFUSIONOFLIGHT) Spell(FLASHOFLIGHT)
+	Spell(HOLYLIGHT priority=2)
+}
+
+AddIcon help=aoe mastery=1
+{
+	if HolyPower(more 2) Spell(LIGHTOFDAWN)
+	Spell(HOLYRADIANCE)
 }

 AddIcon help=cd mastery=1
 {
-	Spell(GUARDIANOFANCIENTKINGS)
 	Spell(AVENGINGWRATH)
 	Spell(DIVINEFAVOR)
 	Item(Trinket0Slot usable=1)
     Item(Trinket1Slot usable=1)
+	Spell(GUARDIANOFANCIENTKINGS)
+}
+
+AddIcon help=mana size=small mastery=1
+{
+	if ManaPercent(less 88) Spell(DIVINEPLEA priority=2)
 }

 AddIcon help=main mastery=2
@@ -90,18 +118,9 @@ AddIcon help=main mastery=2
 	if BuffExpires(RIGHTEOUSFURY) Spell(RIGHTEOUSFURY)
 	unless InCombat() if BuffExpires(SEALRIGHTEOUSNESS 400) and BuffExpires(SEALOFTRUTH 400) Spell(SEALOFTRUTH)

-	if CheckBoxOn(aoe)
-	{
-		if HolyPower(more 0) and BuffExpires(INQUISITION 0) Spell(INQUISITION)
-		Spell(HAMMEROFTHERIGHTEOUS)
-		Spell(CONSECRATE)
-		Spell(HOLYWRATH)
-	}
-	if CheckBoxOff(aoe)
-	{
-		if HolyPower(more 2) Spell(SHIELDOFTHERIGHTEOUS)
-		Spell(CRUSADERSTRIKE)
-	}
+	if HolyPower(more 2) Spell(SHIELDOFTHERIGHTEOUS)
+	Spell(CRUSADERSTRIKE)
+
 	Spell(JUDGEMENT)
 	Spell(AVENGERSSHIELD)
 	Spell(HOLYWRATH)
@@ -109,6 +128,19 @@ AddIcon help=main mastery=2
 	Spell(DIVINEPLEA priority=2)
 }

+AddIcon help=offgcd mastery=2
+{
+	if target.IsInterruptible() Spell(REBUKE)
+}
+
+AddIcon help=aoe mastery=2
+{
+	if HolyPower(more 0) and BuffExpires(INQUISITION 0) Spell(INQUISITION)
+	Spell(HAMMEROFTHERIGHTEOUS)
+	Spell(CONSECRATE)
+	Spell(HOLYWRATH)
+}
+
 AddIcon help=cd mastery=2
 {
 	if HolyPower(more 2) Spell(WORDOFGLORY)
@@ -138,7 +170,6 @@ AddIcon help=main mastery=3
 	#templars_verdict,if=buff.hand_of_light.react
 	if BuffPresent(DIVINEPURPOSE) Spell(TEMPLARSVERDICT)
 	#crusader_strike
-	if CheckBoxOn(aoe) Spell(DIVINESTORM)
 	Spell(CRUSADERSTRIKE)
 	#hammer_of_wrath
 	if TargetLifePercent(less 20) or BuffPresent(AVENGINGWRATH) Spell(HAMMEROFWRATH)
@@ -153,13 +184,23 @@ AddIcon help=main mastery=3
 		Spell(JUDGEMENT)
 		#holy_wrath
 		Spell(HOLYWRATH)
-		#consecration
-		if CheckBoxOn(aoe) Spell(CONSECRATE)
 		#divine_plea
 		Spell(DIVINEPLEA)
 	}
 }

+AddIcon help=offgcd mastery=3
+{
+	if target.IsInterruptible() Spell(REBUKE)
+}
+
+AddIcon help=aoe mastery=3 checkboxon=aoe
+{
+	Spell(DIVINESTORM)
+	#consecration
+	Spell(CONSECRATE)
+}
+
 AddIcon help=cd mastery=3
 {
 	#/zealotry
diff --git a/defaut/Pretre.lua b/defaut/Pretre.lua
index 3f77192..4355fe0 100644
--- a/defaut/Pretre.lua
+++ b/defaut/Pretre.lua
@@ -140,7 +140,7 @@ AddIcon help=mana mastery=3
 }

 #    Add Focus Target Monitor for Multi Dotting
-AddIcon mastery =3
+AddIcon mastery=3
 {
         if TargetDebuffExpires(SHADOWWORDPAIN 1.5 mine=1 target=focus ) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN target=focus)
         if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell target=focus) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH target=focus)