Quantcast

Add checkbox to show the icons for the current specialization.

Johnny C. Lam [07-13-14 - 11:32]
Add checkbox to show the icons for the current specialization.

This checkbox defaults to checked.  This allows for permanently setting
whether the icons for current specialization are displayed.

git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@1554 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Filename
scripts/ovale_deathknight.lua
scripts/ovale_druid.lua
scripts/ovale_hunter.lua
scripts/ovale_mage.lua
scripts/ovale_monk.lua
scripts/ovale_paladin.lua
scripts/ovale_priest.lua
scripts/ovale_rogue.lua
scripts/ovale_shaman.lua
scripts/ovale_warlock.lua
scripts/ovale_warrior.lua
diff --git a/scripts/ovale_deathknight.lua b/scripts/ovale_deathknight.lua
index 118ef27..00d782a 100644
--- a/scripts/ovale_deathknight.lua
+++ b/scripts/ovale_deathknight.lua
@@ -229,15 +229,16 @@ AddFunction BloodCdActions
 	}
 }

-# Blood icons.
+### Blood icons.
+AddCheckBox(opt_deathknight_blood "Show Blood icons" specialization=blood default)

-AddIcon specialization=blood size=small checkbox=opt_icons_left
+AddIcon specialization=blood size=small checkbox=opt_icons_left checkbox=opt_deathknight_blood
 {
 	Spell(antimagic_shell)
 	Spell(icebound_fortitude)
 }

-AddIcon specialization=blood size=small checkbox=opt_icons_left
+AddIcon specialization=blood size=small checkbox=opt_icons_left checkbox=opt_deathknight_blood
 {
 	if TalentPoints(death_pact_talent)
 	{
@@ -247,31 +248,31 @@ AddIcon specialization=blood size=small checkbox=opt_icons_left
 	if TalentPoints(death_siphon_talent) Spell(death_siphon)
 }

-AddIcon specialization=blood help=shortcd
+AddIcon specialization=blood help=shortcd checkbox=opt_deathknight_blood
 {
 	BloodShortCdActions()
 }

-AddIcon specialization=blood help=main
+AddIcon specialization=blood help=main checkbox=opt_deathknight_blood
 {
 	if InCombat(no) BloodPrecombatActions()
 	BloodSingleTargetActions()
 }

-AddIcon specialization=blood help=aoe checkbox=opt_aoe
+AddIcon specialization=blood help=aoe checkbox=opt_aoe checkbox=opt_deathknight_blood
 {
 	if InCombat(no) BloodPrecombatActions()
 	BloodAoeActions()
 }

-AddIcon specialization=blood help=cd
+AddIcon specialization=blood help=cd checkbox=opt_deathknight_blood
 {
 	Interrupt()
 	UseRacialInterruptActions()
 	BloodCdActions()
 }

-AddIcon specialization=blood size=small checkbox=opt_icons_right
+AddIcon specialization=blood size=small checkbox=opt_icons_right checkbox=opt_deathknight_blood
 {
 	#pestilence,if=dot.blood_plague.ticking&talent.plague_leech.enabled,line_cd=28
 	if target.DebuffPresent(blood_plague_debuff) and TalentPoints(plague_leech_talent) Spell(pestilence)
@@ -279,7 +280,7 @@ AddIcon specialization=blood size=small checkbox=opt_icons_right
 	if target.DebuffPresent(blood_plague_debuff) and TalentPoints(unholy_blight_talent) and SpellCooldown(unholy_blight) < 49 Spell(pestilence)
 }

-AddIcon specialization=blood size=small checkbox=opt_icons_right
+AddIcon specialization=blood size=small checkbox=opt_icons_right checkbox=opt_deathknight_blood
 {
 	UseItemActions()
 }
@@ -534,14 +535,15 @@ AddFunction FrostTwoHandSingleTargetShortCdActions
 }

 ### Frost icons.
+AddCheckBox(opt_deathknight_frost "Show Frost icons" specialization=frost default)

-AddIcon specialization=frost size=small checkbox=opt_icons_left
+AddIcon specialization=frost size=small checkbox=opt_icons_left checkbox=opt_deathknight_frost
 {
 	Spell(antimagic_shell)
 	Spell(icebound_fortitude)
 }

-AddIcon specialization=frost size=small checkbox=opt_icons_left
+AddIcon specialization=frost size=small checkbox=opt_icons_left checkbox=opt_deathknight_frost
 {
 	if TalentPoints(death_pact_talent)
 	{
@@ -551,7 +553,7 @@ AddIcon specialization=frost size=small checkbox=opt_icons_left
 	if TalentPoints(death_siphon_talent) Spell(death_siphon)
 }

-AddIcon specialization=frost help=shortcd
+AddIcon specialization=frost help=shortcd checkbox=opt_deathknight_frost
 {
 	if InCombat(no) FrostPrecombatShortCdActions()
 	FrostDefaultShortCdActions()
@@ -559,7 +561,7 @@ AddIcon specialization=frost help=shortcd
 	if HasWeapon(offhand no) FrostTwoHandSingleTargetShortCdActions()
 }

-AddIcon specialization=frost help=main
+AddIcon specialization=frost help=main checkbox=opt_deathknight_frost
 {
 	if InCombat(no) FrostPrecombatActions()
 	FrostDefaultActions()
@@ -567,7 +569,7 @@ AddIcon specialization=frost help=main
 	if HasWeapon(offhand no) FrostTwoHandSingleTargetActions()
 }

-AddIcon specialization=frost help=aoe checkbox=opt_aoe
+AddIcon specialization=frost help=aoe checkbox=opt_aoe checkbox=opt_deathknight_frost
 {
 	if InCombat(no) FrostPrecombatActions()
 	FrostDefaultActions()
@@ -575,7 +577,7 @@ AddIcon specialization=frost help=aoe checkbox=opt_aoe
 	if HasWeapon(offhand no) FrostTwoHandAoeActions()
 }

-AddIcon specialization=frost help=cd
+AddIcon specialization=frost help=cd checkbox=opt_deathknight_frost
 {
 	if InCombat(no) FrostPrecombatCdActions()
 	Interrupt()
@@ -583,7 +585,7 @@ AddIcon specialization=frost help=cd
 	FrostDefaultCdActions()
 }

-AddIcon specialization=frost size=small checkbox=opt_icons_right
+AddIcon specialization=frost size=small checkbox=opt_icons_right checkbox=opt_deathknight_frost
 {
 	#pestilence,if=dot.blood_plague.ticking&talent.plague_leech.enabled,line_cd=28
 	if target.DebuffPresent(blood_plague_debuff) and TalentPoints(plague_leech_talent) Spell(pestilence)
@@ -591,7 +593,7 @@ AddIcon specialization=frost size=small checkbox=opt_icons_right
 	if target.DebuffPresent(blood_plague_debuff) and TalentPoints(unholy_blight_talent) and SpellCooldown(unholy_blight) < 49 Spell(pestilence)
 }

-AddIcon specialization=frost size=small checkbox=opt_icons_right
+AddIcon specialization=frost size=small checkbox=opt_icons_right checkbox=opt_deathknight_frost
 {
 	UseItemActions()
 }
@@ -775,14 +777,15 @@ AddFunction UnholyPrecombatCdActions
 }

 ### Unholy icons.
+AddCheckBox(opt_deathknight_unholy "Show Unholy icons" specialization=unholy default)

-AddIcon specialization=unholy size=small checkbox=opt_icons_left
+AddIcon specialization=unholy size=small checkbox=opt_icons_left checkbox=opt_deathknight_unholy
 {
 	Spell(antimagic_shell)
 	Spell(icebound_fortitude)
 }

-AddIcon specialization=unholy size=small checkbox=opt_icons_left
+AddIcon specialization=unholy size=small checkbox=opt_icons_left checkbox=opt_deathknight_unholy
 {
 	if TalentPoints(death_pact_talent)
 	{
@@ -792,26 +795,26 @@ AddIcon specialization=unholy size=small checkbox=opt_icons_left
 	if TalentPoints(death_siphon_talent) Spell(death_siphon)
 }

-AddIcon specialization=unholy help=shortcd
+AddIcon specialization=unholy help=shortcd checkbox=opt_deathknight_unholy
 {
 	UnholySingleTargetShortCdActions()
 }

-AddIcon specialization=unholy help=main
+AddIcon specialization=unholy help=main checkbox=opt_deathknight_unholy
 {
 	if InCombat(no) UnholyPrecombatActions()
 	UnholyDefaultActions()
 	UnholySingleTargetActions()
 }

-AddIcon specialization=unholy help=aoe checkbox=opt_aoe
+AddIcon specialization=unholy help=aoe checkbox=opt_aoe checkbox=opt_deathknight_unholy
 {
 	if InCombat(no) UnholyPrecombatActions()
 	UnholyDefaultActions()
 	UnholyAoeActions()
 }

-AddIcon specialization=unholy help=cd
+AddIcon specialization=unholy help=cd checkbox=opt_deathknight_unholy
 {
 	if InCombat(no) UnholyPrecombatCdActions()
 	Interrupt()
@@ -820,7 +823,7 @@ AddIcon specialization=unholy help=cd
 	UnholySingleTargetCdActions()
 }

-AddIcon specialization=unholy size=small checkbox=opt_icons_right
+AddIcon specialization=unholy size=small checkbox=opt_icons_right checkbox=opt_deathknight_unholy
 {
 	#pestilence,if=dot.blood_plague.ticking&talent.plague_leech.enabled,line_cd=28
 	if target.DebuffPresent(blood_plague_debuff) and TalentPoints(plague_leech_talent) Spell(pestilence)
@@ -828,7 +831,7 @@ AddIcon specialization=unholy size=small checkbox=opt_icons_right
 	if target.DebuffPresent(blood_plague_debuff) and TalentPoints(unholy_blight_talent) and SpellCooldown(unholy_blight) < 49 Spell(pestilence)
 }

-AddIcon specialization=unholy size=small checkbox=opt_icons_right
+AddIcon specialization=unholy size=small checkbox=opt_icons_right checkbox=opt_deathknight_unholy
 {
 	UseItemActions()
 }
diff --git a/scripts/ovale_druid.lua b/scripts/ovale_druid.lua
index 14bffd2..3af9eac 100644
--- a/scripts/ovale_druid.lua
+++ b/scripts/ovale_druid.lua
@@ -275,8 +275,9 @@ AddFunction BalancePrecombatCdActions
 }

 ### Balance Icons
+AddCheckBox(opt_druid_balance "Show Balance icons" specialization=balance default)

-AddIcon specialization=balance size=small checkbox=opt_icons_left
+AddIcon specialization=balance size=small checkbox=opt_icons_left checkbox=opt_druid_balance
 {
 	Spell(barkskin)
 	Spell(survival_instincts)
@@ -286,13 +287,13 @@ AddIcon specialization=balance size=small checkbox=opt_icons_left
 	Spell(tranquility)
 }

-AddIcon specialization=balance size=small checkbox=opt_icons_left
+AddIcon specialization=balance size=small checkbox=opt_icons_left checkbox=opt_druid_balance
 {
 	#wild_mushroom_detonate,moving=0,if=buff.wild_mushroom.stack>0&buff.solar_eclipse.up
 	if WildMushroomCount() > 0 and BuffPresent(solar_eclipse_buff) Spell(wild_mushroom_detonate)
 }

-AddIcon specialization=balance help=shortcd
+AddIcon specialization=balance help=shortcd checkbox=opt_druid_balance
 {
 	if not Stance(druid_moonkin_form) Spell(moonkin_form)

@@ -300,34 +301,34 @@ AddIcon specialization=balance help=shortcd
 	BalanceAoeActions()
 }

-AddIcon specialization=balance help=main
+AddIcon specialization=balance help=main checkbox=opt_druid_balance
 {
 	if InCombat(no) BalancePrecombatActions()
 	if CheckBoxOn(opt_elitist_jerks_balance_rotation) BalanceElitistJerksMainActions()
 	if CheckBoxOff(opt_elitist_jerks_balance_rotation) BalanceDefaultActions()
 }

-AddIcon specialization=balance help=moving
+AddIcon specialization=balance help=moving checkbox=opt_druid_balance
 {
 	if InCombat(no) BalancePrecombatMovingActions()
 	if CheckBoxOn(opt_elitist_jerks_balance_rotation) BalanceElitistJerksMovingActions()
 	if CheckBoxOff(opt_elitist_jerks_balance_rotation) BalanceDefaultMovingActions()
 }

-AddIcon specialization=balance help=cd
+AddIcon specialization=balance help=cd checkbox=opt_druid_balance
 {
 	BalanceInterrupt()
 	if CheckBoxOn(opt_elitist_jerks_balance_rotation) BalanceElitistJerksCdActions()
 	if CheckBoxOff(opt_elitist_jerks_balance_rotation) BalanceDefaultCdActions()
 }

-AddIcon specialization=balance size=small checkbox=opt_icons_right
+AddIcon specialization=balance size=small checkbox=opt_icons_right checkbox=opt_druid_balance
 {
 	if TalentPoints(heart_of_the_wild_talent) Spell(heart_of_the_wild_caster)
 	if TalentPoints(natures_vigil_talent) Spell(natures_vigil)
 }

-AddIcon specialization=balance size=small checkbox=opt_icons_right
+AddIcon specialization=balance size=small checkbox=opt_icons_right checkbox=opt_druid_balance
 {
 	UseItemActions()
 }
@@ -694,8 +695,9 @@ AddListItem(opt_feral_rotation basic "Use basic rotation" default specialization
 AddListItem(opt_feral_rotation advanced "Use advanced rotation" specialization=feral)

 ### Feral Icons
+AddCheckBox(opt_druid_feral "Show Feral icons" specialization=feral default)

-AddIcon specialization=feral size=small checkbox=opt_icons_left
+AddIcon specialization=feral size=small checkbox=opt_icons_left checkbox=opt_druid_feral
 {
 	Spell(barkskin)
 	Spell(survival_instincts)
@@ -705,7 +707,7 @@ AddIcon specialization=feral size=small checkbox=opt_icons_left
 	Spell(tranquility)
 }

-AddIcon specialization=feral size=small checkbox=opt_icons_left
+AddIcon specialization=feral size=small checkbox=opt_icons_left checkbox=opt_druid_feral
 {
 	if TalentPoints(displacer_beast_talent) Spell(displacer_beast)
 	if TalentPoints(wild_charge_talent)
@@ -717,7 +719,7 @@ AddIcon specialization=feral size=small checkbox=opt_icons_left
 	Spell(dash)
 }

-AddIcon specialization=feral help=main
+AddIcon specialization=feral help=main checkbox=opt_druid_feral
 {
 	if InCombat(no) FeralPrecombatActions()
 	if not target.InRange(mangle_cat) Texture(ability_druid_catformattack help=NotInMeleeRange)
@@ -725,7 +727,7 @@ AddIcon specialization=feral help=main
 	if List(opt_feral_rotation advanced) FeralAdvancedActions()
 }

-AddIcon specialization=feral help=main
+AddIcon specialization=feral help=main checkbox=opt_druid_feral
 {
 	if InCombat(no) FeralPrecombatActions()
 	if not target.InRange(mangle_cat) Texture(ability_druid_catformattack help=NotInMeleeRange)
@@ -733,25 +735,25 @@ AddIcon specialization=feral help=main
 	if List(opt_feral_rotation advanced) FeralAdvancedPredictiveActions()
 }

-AddIcon specialization=feral help=aoe checkbox=opt_aoe
+AddIcon specialization=feral help=aoe checkbox=opt_aoe checkbox=opt_druid_feral
 {
 	if InCombat(no) FeralPrecombatActions()
 	FeralAoeActions()
 }

-AddIcon specialization=feral help=cd
+AddIcon specialization=feral help=cd checkbox=opt_druid_feral
 {
 	if List(opt_feral_rotation basic) FeralBasicCdActions()
 	if List(opt_feral_rotation advanced) FeralAdvancedCdActions()
 }

-AddIcon specialization=feral size=small checkbox=opt_icons_right
+AddIcon specialization=feral size=small checkbox=opt_icons_right checkbox=opt_druid_feral
 {
 	if TalentPoints(heart_of_the_wild_talent) Spell(heart_of_the_wild_melee)
 	if TalentPoints(natures_vigil_talent) Spell(natures_vigil)
 }

-AddIcon specialization=feral size=small checkbox=opt_icons_right
+AddIcon specialization=feral size=small checkbox=opt_icons_right checkbox=opt_druid_feral
 {
 	UseItemActions()
 }
@@ -831,47 +833,48 @@ AddFunction GuardianPrecombatActions
 }

 ### Guardian icons.
+AddCheckBox(opt_druid_guardian "Show Guardian icons" specialization=guardian default)

-AddIcon specialization=guardian size=small checkbox=opt_icons_left
+AddIcon specialization=guardian size=small checkbox=opt_icons_left checkbox=opt_druid_guardian
 {
 	Spell(might_of_ursoc)
 }

-AddIcon specialization=guardian size=small checkbox=opt_icons_left
+AddIcon specialization=guardian size=small checkbox=opt_icons_left checkbox=opt_druid_guardian
 {
 	Spell(barkskin)
 	if TalentPoints(force_of_nature_talent) Spell(force_of_nature_tank)
 	Spell(survival_instincts)
 }

-AddIcon specialization=guardian help=shortcd
+AddIcon specialization=guardian help=shortcd checkbox=opt_druid_guardian
 {
 	GuardianShortCdActions()
 }

-AddIcon specialization=guardian help=main
+AddIcon specialization=guardian help=main checkbox=opt_druid_guardian
 {
 	if InCombat(no) GuardianPrecombatActions()
 	GuardianMainActions()
 }

-AddIcon specialization=guardian help=aoe checkbox=aoe
+AddIcon specialization=guardian help=aoe checkbox=aoe checkbox=opt_druid_guardian
 {
 	GuardianAoeActions()
 }

-AddIcon specialization=guardian help=cd
+AddIcon specialization=guardian help=cd checkbox=opt_druid_guardian
 {
 	GuardianCdActions()
 }

-AddIcon specialization=guardian size=small checkbox=opt_icons_right
+AddIcon specialization=guardian size=small checkbox=opt_icons_right checkbox=opt_druid_guardian
 {
 	#renewal,if=talent.renewal.enabled&incoming_damage_5>0.8*health.max
 	if TalentPoints(renewal_talent) and IncomingDamage(5) > 0.8 * MaxHealth() Spell(renewal)
 }

-AddIcon specialization=guardian size=small checkbox=opt_icons_right
+AddIcon specialization=guardian size=small checkbox=opt_icons_right checkbox=opt_druid_guardian
 {
 	UseItemActions()
 }
@@ -950,15 +953,16 @@ AddFunction RestorationPrecombatActions
 }

 ### Restoration icons.
+AddCheckBox(opt_druid_restoration "Show Restoration icons" specialization=restoration default)

-AddIcon specialization=restoration size=small checkbox=opt_icons_left
+AddIcon specialization=restoration size=small checkbox=opt_icons_left checkbox=opt_druid_restoration
 {
 	Spell(barkskin)
 	Spell(might_of_ursoc)
 	Spell(survival_instincts)
 }

-AddIcon specialization=restoration size=small checkbox=opt_icons_left
+AddIcon specialization=restoration size=small checkbox=opt_icons_left checkbox=opt_druid_restoration
 {
 	#innervate,if=mana.pct<90
 	if ManaPercent() < 90 Spell(innervate)
@@ -966,35 +970,35 @@ AddIcon specialization=restoration size=small checkbox=opt_icons_left
 	if TalentPoints(natures_vigil_talent) Spell(natures_vigil)
 }

-AddIcon specialization=restoration help=shortcd
+AddIcon specialization=restoration help=shortcd checkbox=opt_druid_restoration
 {
 	RestorationShortCdActions()
 }

-AddIcon specialization=restoration help=main
+AddIcon specialization=restoration help=main checkbox=opt_druid_restoration
 {
 	if InCombat(no) RestorationPrecombatActions()
 	RestorationMainActions()
 }

-AddIcon specialization=restoration help=aoe checkbox=opt_aoe
+AddIcon specialization=restoration help=aoe checkbox=opt_aoe checkbox=opt_druid_restoration
 {
 	RestorationAoeActions()
 }

-AddIcon specialization=restoration help=cd
+AddIcon specialization=restoration help=cd checkbox=opt_druid_restoration
 {
 	RestorationInterrupt()
 	RestorationCdActions()
 }

-AddIcon specialization=restoration size=small checkbox=opt_icons_right
+AddIcon specialization=restoration size=small checkbox=opt_icons_right checkbox=opt_druid_restoration
 {
 	Spell(ironbark)
 	Spell(natures_swiftness)
 }

-AddIcon specialization=restoration size=small checkbox=opt_icons_right
+AddIcon specialization=restoration size=small checkbox=opt_icons_right checkbox=opt_druid_restoration
 {
 	UseItemActions()
 }
diff --git a/scripts/ovale_hunter.lua b/scripts/ovale_hunter.lua
index 8e3055d..bc5cdd9 100644
--- a/scripts/ovale_hunter.lua
+++ b/scripts/ovale_hunter.lua
@@ -159,37 +159,38 @@ AddFunction BeastMasteryPrecombatCdActions
 }

 ### Beast Mastery icons
+AddCheckBox(opt_hunter_best_mastery "Show Beast Mastery icons" specialization=beast_mastery default)

-AddIcon specialization=beast_mastery size=small checkbox=opt_icons_left
+AddIcon specialization=beast_mastery size=small checkbox=opt_icons_left checkbox=opt_hunter_best_mastery
 {
 	Spell(misdirection)
 }

-AddIcon specialization=beast_mastery size=small checkbox=opt_icons_left
+AddIcon specialization=beast_mastery size=small checkbox=opt_icons_left checkbox=opt_hunter_best_mastery
 {
 	Spell(disengage)
 }

-AddIcon specialization=beast_mastery help=shortcd
+AddIcon specialization=beast_mastery help=shortcd checkbox=opt_hunter_best_mastery
 {
 	if InCombat(no) BeastMasteryPrecombatShortCdActions()
 	SummonPet()
 	BeastMasteryDefaultShortCdActions()
 }

-AddIcon specialization=beast_mastery help=main
+AddIcon specialization=beast_mastery help=main checkbox=opt_hunter_best_mastery
 {
 	if InCombat(no) BeastMasteryPrecombatActions()
 	BeastMasteryDefaultActions()
 }

-AddIcon specialization=beast_mastery help=aoe checkbox=opt_aoe
+AddIcon specialization=beast_mastery help=aoe checkbox=opt_aoe checkbox=opt_hunter_best_mastery
 {
 	if InCombat(no) BeastMasteryPrecombatActions()
 	BeastMasteryDefaultAoeActions()
 }

-AddIcon specialization=beast_mastery help=cd
+AddIcon specialization=beast_mastery help=cd checkbox=opt_hunter_best_mastery
 {
 	if InCombat(no) BeastMasteryPrecombatCdActions()
 	Interrupt()
@@ -197,12 +198,12 @@ AddIcon specialization=beast_mastery help=cd
 	BeastMasteryDefaultCdActions()
 }

-AddIcon specialization=beast_mastery size=small checkbox=opt_icons_right
+AddIcon specialization=beast_mastery size=small checkbox=opt_icons_right checkbox=opt_hunter_best_mastery
 {
 	Spell(explosive_trap)
 }

-AddIcon specialization=beast_mastery size=small checkbox=opt_icons_right
+AddIcon specialization=beast_mastery size=small checkbox=opt_icons_right checkbox=opt_hunter_best_mastery
 {
 	UseItemActions()
 }
@@ -362,37 +363,38 @@ AddFunction MarksmanshipPrecombatCdActions
 }

 ### Marksmanship icons
+AddCheckBox(opt_hunter_marksmanship "Show Marksmanship icons" specialization=marksmanship default)

-AddIcon specialization=marksmanship size=small checkbox=opt_icons_left
+AddIcon specialization=marksmanship size=small checkbox=opt_icons_left checkbox=opt_hunter_marksmanship
 {
 	Spell(misdirection)
 }

-AddIcon specialization=marksmanship size=small checkbox=opt_icons_left
+AddIcon specialization=marksmanship size=small checkbox=opt_icons_left checkbox=opt_hunter_marksmanship
 {
 	Spell(disengage)
 }

-AddIcon specialization=marksmanship help=shortcd
+AddIcon specialization=marksmanship help=shortcd checkbox=opt_hunter_marksmanship
 {
 	if InCombat(no) MarksmanshipPrecombatShortCdActions()
 	SummonPet()
 	MarksmanshipDefaultShortCdActions()
 }

-AddIcon specialization=marksmanship help=main
+AddIcon specialization=marksmanship help=main checkbox=opt_hunter_marksmanship
 {
 	if InCombat(no) MarksmanshipPrecombatActions()
 	MarksmanshipDefaultActions()
 }

-AddIcon specialization=marksmanship help=aoe checkbox=opt_aoe
+AddIcon specialization=marksmanship help=aoe checkbox=opt_aoe checkbox=opt_hunter_marksmanship
 {
 	if InCombat(no) MarksmanshipPrecombatActions()
 	MarksmanshipDefaultAoeActions()
 }

-AddIcon specialization=marksmanship help=cd
+AddIcon specialization=marksmanship help=cd checkbox=opt_hunter_marksmanship
 {
 	if InCombat(no) MarksmanshipPrecombatCdActions()
 	Interrupt()
@@ -400,12 +402,12 @@ AddIcon specialization=marksmanship help=cd
 	MarksmanshipDefaultCdActions()
 }

-AddIcon specialization=marksmanship size=small checkbox=opt_icons_right
+AddIcon specialization=marksmanship size=small checkbox=opt_icons_right checkbox=opt_hunter_marksmanship
 {
 	Spell(explosive_trap)
 }

-AddIcon specialization=marksmanship size=small checkbox=opt_icons_right
+AddIcon specialization=marksmanship size=small checkbox=opt_icons_right checkbox=opt_hunter_marksmanship
 {
 	UseItemActions()
 }
@@ -557,37 +559,38 @@ AddFunction SurvivalPrecombatCdActions
 }

 ### Survival icons
+AddCheckBox(opt_hunter_survival "Show Survival icons" specialization=survival default)

-AddIcon specialization=survival size=small checkbox=opt_icons_left
+AddIcon specialization=survival size=small checkbox=opt_icons_left checkbox=opt_hunter_survival
 {
 	Spell(misdirection)
 }

-AddIcon specialization=survival size=small checkbox=opt_icons_left
+AddIcon specialization=survival size=small checkbox=opt_icons_left checkbox=opt_hunter_survival
 {
 	Spell(disengage)
 }

-AddIcon specialization=survival help=shortcd
+AddIcon specialization=survival help=shortcd checkbox=opt_hunter_survival
 {
 	if InCombat(no) SurvivalPrecombatShortCdActions()
 	SummonPet()
 	SurvivalDefaultShortCdActions()
 }

-AddIcon specialization=survival help=main
+AddIcon specialization=survival help=main checkbox=opt_hunter_survival
 {
 	if InCombat(no) SurvivalPrecombatActions()
 	SurvivalDefaultActions()
 }

-AddIcon specialization=survival help=aoe checkbox=opt_aoe
+AddIcon specialization=survival help=aoe checkbox=opt_aoe checkbox=opt_hunter_survival
 {
 	if InCombat(no) SurvivalPrecombatActions()
 	SurvivalDefaultAoeActions()
 }

-AddIcon specialization=survival help=cd
+AddIcon specialization=survival help=cd checkbox=opt_hunter_survival
 {
 	if InCombat(no) SurvivalPrecombatCdActions()
 	Interrupt()
@@ -595,13 +598,13 @@ AddIcon specialization=survival help=cd
 	SurvivalDefaultCdActions()
 }

-AddIcon specialization=survival size=small checkbox=opt_icons_right
+AddIcon specialization=survival size=small checkbox=opt_icons_right checkbox=opt_hunter_survival
 {
 	Spell(explosive_trap)
 	Spell(ice_trap)
 }

-AddIcon specialization=survival size=small checkbox=opt_icons_right
+AddIcon specialization=survival size=small checkbox=opt_icons_right checkbox=opt_hunter_survival
 {
 	UseItemActions()
 }
diff --git a/scripts/ovale_mage.lua b/scripts/ovale_mage.lua
index ab1a58c..1e48181 100644
--- a/scripts/ovale_mage.lua
+++ b/scripts/ovale_mage.lua
@@ -184,49 +184,50 @@ AddFunction ArcanePrecombatCdActions
 }

 ### Arcane icons.
+AddCheckBox(opt_mage_arcane "Show Arcane icons" specialization=arcane default)

-AddIcon specialization=arcane size=small checkbox=opt_icons_left
+AddIcon specialization=arcane size=small checkbox=opt_icons_left checkbox=opt_mage_arcane
 {
 	if TalentPoints(cold_snap_talent) and HealthPercent() < 30 Spell(cold_snap)
 	Spell(blink)
 }

-AddIcon specialization=arcane help=moving size=small checkbox=opt_icons_left
+AddIcon specialization=arcane help=moving size=small checkbox=opt_icons_left checkbox=opt_mage_arcane
 {
 	ArcaneSingleTargetMovingActions()
 }

-AddIcon specialization=arcane help=shortcd
+AddIcon specialization=arcane help=shortcd checkbox=opt_mage_arcane
 {
 	if InCombat(no) ArcanePrecombatShortCdActions()
 	ArcaneDefaultShortCdActions()
 }

-AddIcon specialization=arcane help=main
+AddIcon specialization=arcane help=main checkbox=opt_mage_arcane
 {
 	if InCombat(no) ArcanePrecombatActions()
 	ArcaneDefaultActions()
 	ArcaneSingleTargetActions()
 }

-AddIcon specialization=arcane help=aoe checkbox=opt_aoe
+AddIcon specialization=arcane help=aoe checkbox=opt_aoe checkbox=opt_mage_arcane
 {
 	if InCombat(no) ArcanePrecombatActions()
 	ArcaneDefaultActions()
 	ArcaneAoeActions()
 }

-AddIcon specialization=arcane help=cd
+AddIcon specialization=arcane help=cd checkbox=opt_mage_arcane
 {
 	ArcaneDefaultCdActions()
 }

-AddIcon specialization=arcane size=small checkbox=opt_icons_right
+AddIcon specialization=arcane size=small checkbox=opt_icons_right checkbox=opt_mage_arcane
 {
 	if BuffExpires(burst_haste any=1) and DebuffExpires(burst_haste_debuff) Spell(time_warp)
 }

-AddIcon specialization=arcane size=small checkbox=opt_icons_right
+AddIcon specialization=arcane size=small checkbox=opt_icons_right checkbox=opt_mage_arcane
 {
 	UseItemActions()
 }
@@ -377,47 +378,48 @@ AddFunction FirePrecombatCdActions
 }

 ### Fire icons.
+AddCheckBox(opt_mage_fire "Show Fire icons" specialization=fire default)

-AddIcon specialization=fire size=small checkbox=opt_icons_left
+AddIcon specialization=fire size=small checkbox=opt_icons_left checkbox=opt_mage_fire
 {
 	if TalentPoints(cold_snap_talent) and HealthPercent() < 30 Spell(cold_snap)
 	Spell(blink)
 }

-AddIcon specialization=fire size=small checkbox=opt_icons_left
+AddIcon specialization=fire size=small checkbox=opt_icons_left checkbox=opt_mage_fire
 {
 	Spell(combustion)
 }

-AddIcon specialization=fire help=shortcd
+AddIcon specialization=fire help=shortcd checkbox=opt_mage_fire
 {
 	if InCombat(no) FirePrecombatShortCdActions()
 	FireDefaultShortCdActions()
 }

-AddIcon specialization=fire help=main
+AddIcon specialization=fire help=main checkbox=opt_mage_fire
 {
 	if InCombat(no) FirePrecombatActions()
 	FireDefaultActions()
 }

-AddIcon specialization=fire help=aoe checkbox=opt_aoe
+AddIcon specialization=fire help=aoe checkbox=opt_aoe checkbox=opt_mage_fire
 {
 	if InCombat(no) FirePrecombatActions()
 	FireDefaultAoeActions()
 }

-AddIcon specialization=fire help=cd
+AddIcon specialization=fire help=cd checkbox=opt_mage_fire
 {
 	FireDefaultCdActions()
 }

-AddIcon specialization=fire size=small checkbox=opt_icons_right
+AddIcon specialization=fire size=small checkbox=opt_icons_right checkbox=opt_mage_fire
 {
 	if BuffExpires(burst_haste any=1) and DebuffExpires(burst_haste_debuff) Spell(time_warp)
 }

-AddIcon specialization=fire size=small checkbox=opt_icons_right
+AddIcon specialization=fire size=small checkbox=opt_icons_right checkbox=opt_mage_fire
 {
 	UseItemActions()
 }
@@ -570,47 +572,48 @@ AddFunction FrostAoeActions
 }

 ### Frost icons.
+AddCheckBox(opt_mage_frost "Show Frost icons" specialization=frost default)

-AddIcon specialization=frost size=small checkbox=opt_icons_left
+AddIcon specialization=frost size=small checkbox=opt_icons_left checkbox=opt_mage_frost
 {
 	if TalentPoints(cold_snap_talent) and HealthPercent() < 30 Spell(cold_snap)
 	Spell(blink)
 }

-AddIcon specialization=frost size=small checkbox=opt_icons_left
+AddIcon specialization=frost size=small checkbox=opt_icons_left checkbox=opt_mage_frost
 {
 	if pet.Present() Spell(water_elemental_freeze)
 }

-AddIcon specialization=frost help=shortcd
+AddIcon specialization=frost help=shortcd checkbox=opt_mage_frost
 {
 	if InCombat(no) FrostPrecombatShortCdActions()
 	FrostDefaultShortCdActions()
 }

-AddIcon specialization=frost help=main
+AddIcon specialization=frost help=main checkbox=opt_mage_frost
 {
 	if InCombat(no) FrostPrecombatActions()
 	FrostDefaultActions()
 }

-AddIcon specialization=frost help=aoe checkbox=opt_aoe
+AddIcon specialization=frost help=aoe checkbox=opt_aoe checkbox=opt_mage_frost
 {
 	if InCombat(no) FrostPrecombatActions()
 	FrostAoeActions()
 }

-AddIcon specialization=frost help=cd
+AddIcon specialization=frost help=cd checkbox=opt_mage_frost
 {
 	FrostDefaultCdActions()
 }

-AddIcon specialization=frost size=small checkbox=opt_icons_right
+AddIcon specialization=frost size=small checkbox=opt_icons_right checkbox=opt_mage_frost
 {
 	if BuffExpires(burst_haste any=1) and DebuffExpires(burst_haste_debuff) Spell(time_warp)
 }

-AddIcon specialization=frost size=small checkbox=opt_icons_right
+AddIcon specialization=frost size=small checkbox=opt_icons_right checkbox=opt_mage_frost
 {
 	UseItemActions()
 }
diff --git a/scripts/ovale_monk.lua b/scripts/ovale_monk.lua
index fc4eef5..6a05c6b 100644
--- a/scripts/ovale_monk.lua
+++ b/scripts/ovale_monk.lua
@@ -150,26 +150,27 @@ AddFunction BrewmasterPrecombatActions
 }

 ### Brewmaster icons.
+AddCheckBox(opt_monk_brewmaster "Show Brewmaster icons" specialization=brewmaster default)

-AddIcon specialization=brewmaster size=small checkbox=opt_icons_left
+AddIcon specialization=brewmaster size=small checkbox=opt_icons_left checkbox=opt_monk_brewmaster
 {
 	if TalentPoints(dampen_harm_talent) Spell(dampen_harm)
 	if TalentPoints(diffuse_magic_talent) Spell(diffuse_magic)
 }

-AddIcon specialization=brewmaster size=small checkbox=opt_icons_left
+AddIcon specialization=brewmaster size=small checkbox=opt_icons_left checkbox=opt_monk_brewmaster
 {
 	Spell(fortifying_brew)
 	Spell(symbiosis_survival_instincts)
 	UseRacialSurvivalActions()
 }

-AddIcon specialization=brewmaster help=cd
+AddIcon specialization=brewmaster help=cd checkbox=opt_monk_brewmaster
 {
 	BrewmasterShortCdActions()
 }

-AddIcon specialization=brewmaster help=main
+AddIcon specialization=brewmaster help=main checkbox=opt_monk_brewmaster
 {
 	if InCombat(no) BrewmasterPrecombatActions()
 	BrewmasterDefaultActions()
@@ -177,7 +178,7 @@ AddIcon specialization=brewmaster help=main
 	BrewmasterFillerActions()
 }

-AddIcon specialization=brewmaster help=aoe checkbox=opt_aoe
+AddIcon specialization=brewmaster help=aoe checkbox=opt_aoe checkbox=opt_monk_brewmaster
 {
 	if InCombat(no) BrewmasterPrecombatActions()
 	BrewmasterDefaultActions()
@@ -185,7 +186,7 @@ AddIcon specialization=brewmaster help=aoe checkbox=opt_aoe
 	BrewmasterFillerActions()
 }

-AddIcon specialization=brewmaster help=cd
+AddIcon specialization=brewmaster help=cd checkbox=opt_monk_brewmaster
 {
 	if IsFeared() or IsRooted() or IsStunned() Spell(nimble_brew)
 	if target.Health() < Health() and BuffPresent(death_note_buff) Spell(touch_of_death)
@@ -194,12 +195,12 @@ AddIcon specialization=brewmaster help=cd
 	BrewmasterCdActions()
 }

-AddIcon specialization=brewmaster size=small checkbox=opt_icons_right
+AddIcon specialization=brewmaster size=small checkbox=opt_icons_right checkbox=opt_monk_brewmaster
 {
 	if TotemExpires(statue) or BuffExpires(sanctuary_of_the_ox_buff) Spell(summon_black_ox_statue)
 }

-AddIcon specialization=brewmaster size=small checkbox=opt_icons_right
+AddIcon specialization=brewmaster size=small checkbox=opt_icons_right checkbox=opt_monk_brewmaster
 {
 	UseItemActions()
 }
@@ -285,19 +286,20 @@ AddFunction MistweaverPrecombatActions
 }

 ### Mistweaver icons.
+AddCheckBox(opt_monk_mistweaver "Show Mistweaver icons" specialization=mistweaver default)

-AddIcon specialization=mistweaver size=small checkbox=opt_icons_right
+AddIcon specialization=mistweaver size=small checkbox=opt_icons_right checkbox=opt_monk_mistweaver
 {
 	if TotemExpires(statue) Spell(summon_jade_serpent_statue)
 }

-AddIcon specialization=mistweaver size=small checkbox=opt_icons_left
+AddIcon specialization=mistweaver size=small checkbox=opt_icons_left checkbox=opt_monk_mistweaver
 {
 	if BuffCountOnAny(renewing_mist_buff) > 5 Spell(thunder_focus_tea)
 	Spell(revival)
 }

-AddIcon specialization=mistweaver help=shortcd
+AddIcon specialization=mistweaver help=shortcd checkbox=opt_monk_mistweaver
 {
 	unless Stance(monk_stance_of_the_wise_serpent) Spell(stance_of_the_wise_serpent)

@@ -311,19 +313,19 @@ AddIcon specialization=mistweaver help=shortcd
 	if TalentPoints(zen_sphere_talent) and BuffCountOnAny(zen_sphere_buff) < 1 Spell(zen_sphere)
 }

-AddIcon specialization=mistweaver help=main
+AddIcon specialization=mistweaver help=main checkbox=opt_monk_mistweaver
 {
 	if InCombat(no) MistweaverPrecombatActions()
 	MistweaverSingleTargetActions()
 }

-AddIcon specialization=mistweaver help=aoe checkbox=opt_aoe
+AddIcon specialization=mistweaver help=aoe checkbox=opt_aoe checkbox=opt_monk_mistweaver
 {
 	if InCombat(no) MistweaverPrecombatActions()
 	MistweaverAoeActions()
 }

-AddIcon specialization=mistweaver help=cd
+AddIcon specialization=mistweaver help=cd checkbox=opt_monk_mistweaver
 {
 	if IsFeared() or IsRooted() or IsStunned() Spell(nimble_brew)
 	if target.Health() < Health() and BuffPresent(death_note) Spell(touch_of_death)
@@ -335,7 +337,7 @@ AddIcon specialization=mistweaver help=cd
 	MistweaverDefaultCdActions()
 }

-AddIcon specialization=mistweaver help=mana size=small checkbox=opt_icons_left
+AddIcon specialization=mistweaver help=mana size=small checkbox=opt_icons_left checkbox=opt_monk_mistweaver
 {
 	if ManaPercent() < 100
 	{
@@ -343,7 +345,7 @@ AddIcon specialization=mistweaver help=mana size=small checkbox=opt_icons_left
 	}
 }

-AddIcon specialization=mistweaver size=small checkbox=opt_icons_right
+AddIcon specialization=mistweaver size=small checkbox=opt_icons_right checkbox=opt_monk_mistweaver
 {
 	UseItemActions()
 }
@@ -469,41 +471,42 @@ AddFunction WindwalkerPrecombatCdActions
 }

 ### Windwalker icons.
+AddCheckBox(opt_monk_windwalker "Show Windwalker icons" specialization=windwalker default)

-AddIcon specialization=windwalker size=small checkbox=opt_icons_left
+AddIcon specialization=windwalker size=small checkbox=opt_icons_left checkbox=opt_monk_windwalker
 {
 	if TalentPoints(dampen_harm_talent) Spell(dampen_harm)
 	if TalentPoints(diffuse_magic_talent) Spell(diffuse_magic)
 }

-AddIcon specialization=windwalker size=small checkbox=opt_icons_left
+AddIcon specialization=windwalker size=small checkbox=opt_icons_left checkbox=opt_monk_windwalker
 {
 	if TalentPoints(chi_burst_talent) Spell(chi_burst)
 	if TalentPoints(chi_wave_talent) Spell(chi_wave)
 	if TalentPoints(zen_sphere_talent) and BuffExpires(zen_sphere_buff) Spell(zen_sphere)
 }

-AddIcon specialization=windwalker help=shortcd
+AddIcon specialization=windwalker help=shortcd checkbox=opt_monk_windwalker
 {
 	WindwalkerDefaultShortCdActions()
 	WindwalkerSingleTargetShortCdActions()
 }

-AddIcon specialization=windwalker help=main
+AddIcon specialization=windwalker help=main checkbox=opt_monk_windwalker
 {
 	if InCombat(no) WindwalkerPrecombatActions()
 	WindwalkerDefaultActions()
 	WindwalkerSingleTargetActions()
 }

-AddIcon specialization=windwalker help=aoe checkbox=opt_aoe
+AddIcon specialization=windwalker help=aoe checkbox=opt_aoe checkbox=opt_monk_windwalker
 {
 	if InCombat(no) WindwalkerPrecombatActions()
 	WindwalkerDefaultActions()
 	WindwalkerAoeActions()
 }

-AddIcon specialization=windwalker help=cd
+AddIcon specialization=windwalker help=cd checkbox=opt_monk_windwalker
 {
 	if InCombat(no) WindwalkerPrecombatCdActions()

@@ -515,12 +518,12 @@ AddIcon specialization=windwalker help=cd
 	WindwalkerDefaultCdActions()
 }

-AddIcon specialization=windwalker size=small checkbox=opt_icons_right
+AddIcon specialization=windwalker size=small checkbox=opt_icons_right checkbox=opt_monk_windwalker
 {
 	Spell(zen_meditation)
 }

-AddIcon specialization=windwalker size=small checkbox=opt_icons_right
+AddIcon specialization=windwalker size=small checkbox=opt_icons_right checkbox=opt_monk_windwalker
 {
 	UseItemActions()
 }
diff --git a/scripts/ovale_paladin.lua b/scripts/ovale_paladin.lua
index 1cc8b30..b463cc1 100644
--- a/scripts/ovale_paladin.lua
+++ b/scripts/ovale_paladin.lua
@@ -64,15 +64,16 @@ AddFunction HolyPrecombatActions
 }

 ### Holy Icons
+AddCheckBox(opt_paladin_holy "Show Holy icons" specialization=holy default)

-AddIcon specialization=holy size=small checkbox=opt_icons_left
+AddIcon specialization=holy size=small checkbox=opt_icons_left checkbox=opt_paladin_holy
 {
 	Spell(divine_protection)
 	Spell(devotion_aura)
 	UseRacialSurvivalActions()
 }

-AddIcon specialization=holy help=mana size=small checkbox=opt_icons_left
+AddIcon specialization=holy help=mana size=small checkbox=opt_icons_left checkbox=opt_paladin_holy
 {
 	if ManaPercent() <98 Spell(arcane_torrent_mana)
 	if ManaPercent() <88 Spell(divine_plea)
@@ -80,27 +81,27 @@ AddIcon specialization=holy help=mana size=small checkbox=opt_icons_left
 	if target.IsFriend(no) and not target.InRange(crusader_strike) Texture(ability_druid_dash help=NotInMeleeRange)
 }

-AddIcon specialization=holy help=shortcd
+AddIcon specialization=holy help=shortcd checkbox=opt_paladin_holy
 {
 	if TalentPoints(holy_prism_talent) Spell(holy_prism)
 	if TalentPoints(lights_hammer_talent) Spell(lights_hammer)
 	if TalentPoints(execution_sentence_talent) Spell(execution_sentence)
 }

-AddIcon specialization=holy help=main
+AddIcon specialization=holy help=main checkbox=opt_paladin_holy
 {
 	HolyPrecombatActions()
 	HolySingleTargetActions()
 }

-AddIcon specialization=holy help=aoe checkbox=opt_aoe
+AddIcon specialization=holy help=aoe checkbox=opt_aoe checkbox=opt_paladin_holy
 {
 	HolyPrecombatActions()
 	if TalentPoints(selfless_healer_talent) HolySelflessHealerAoeActions()
 	if not TalentPoints(selfless_healer_talent) HolyAoeActions()
 }

-AddIcon specialization=holy help=cd
+AddIcon specialization=holy help=cd checkbox=opt_paladin_holy
 {
 	Interrupt()
 	if IsRooted() Spell(hand_of_freedom)
@@ -110,12 +111,12 @@ AddIcon specialization=holy help=cd
 	Spell(guardian_of_ancient_kings_heal)
 }

-AddIcon specialization=holy size=small checkbox=opt_icons_right
+AddIcon specialization=holy size=small checkbox=opt_icons_right checkbox=opt_paladin_holy
 {
 	if BuffPresent(righteous_fury) Texture(spell_holy_sealoffury help=RighteousFuryIsActive)
 }

-AddIcon specialization=holy size=small checkbox=opt_icons_right
+AddIcon specialization=holy size=small checkbox=opt_icons_right checkbox=opt_paladin_holy
 {
 	UseItemActions()
 }
@@ -216,8 +217,9 @@ AddFunction ProtectionPrecombatActions
 }

 ### Protection Icons
+AddCheckBox(opt_paladin_protection "Show Protection icons" specialization=protection default)

-AddIcon specialization=protection size=small checkbox=opt_icons_left
+AddIcon specialization=protection size=small checkbox=opt_icons_left checkbox=opt_paladin_protection
 {
 	Spell(divine_protection)
 	Spell(ardent_defender)
@@ -226,7 +228,7 @@ AddIcon specialization=protection size=small checkbox=opt_icons_left
 	UseRacialSurvivalActions()
 }

-AddIcon specialization=protection size=small checkbox=opt_icons_left
+AddIcon specialization=protection size=small checkbox=opt_icons_left checkbox=opt_paladin_protection
 {
 	if DebuffExpires(forbearance_debuff)
 	{
@@ -236,19 +238,19 @@ AddIcon specialization=protection size=small checkbox=opt_icons_left
 	}
 }

-AddIcon specialization=protection help=shortcd
+AddIcon specialization=protection help=shortcd checkbox=opt_paladin_protection
 {
 	if BuffExpires(righteous_fury) Spell(righteous_fury)
 	ProtectionDefaultShortCdActions()
 }

-AddIcon specialization=protection help=main
+AddIcon specialization=protection help=main checkbox=opt_paladin_protection
 {
 	if InCombat(no) ProtectionPrecombatActions()
 	ProtectionDefaultActions()
 }

-AddIcon specialization=protection help=aoe checkbox=opt_aoe
+AddIcon specialization=protection help=aoe checkbox=opt_aoe checkbox=opt_paladin_protection
 {
 	if InCombat(no) ProtectionPrecombatActions()

@@ -262,19 +264,19 @@ AddIcon specialization=protection help=aoe checkbox=opt_aoe
 	Spell(holy_wrath)
 }

-AddIcon specialization=protection help=cd
+AddIcon specialization=protection help=cd checkbox=opt_paladin_protection
 {
 	Interrupt()
 	if IsRooted() Spell(hand_of_freedom)
 	ProtectionDefaultCdActions()
 }

-AddIcon specialization=protection size=small checkbox=opt_icons_right
+AddIcon specialization=protection size=small checkbox=opt_icons_right checkbox=opt_paladin_protection
 {
 	if BuffPresent(righteous_fury) Texture(spell_holy_sealoffury help=RighteousFuryIsActive)
 }

-AddIcon specialization=protection size=small checkbox=opt_icons_right
+AddIcon specialization=protection size=small checkbox=opt_icons_right checkbox=opt_paladin_protection
 {
 	UseItemActions()
 }
@@ -421,8 +423,9 @@ AddFunction RetributionPrecombatCdActions
 }

 ### Retribution Icons
+AddCheckBox(opt_paladin_retribution "Show Retribution icons" specialization=retribution default)

-AddIcon specialization=retribution size=small checkbox=opt_icons_left
+AddIcon specialization=retribution size=small checkbox=opt_icons_left checkbox=opt_paladin_retribution
 {
 	if IsRooted()
 	{
@@ -431,44 +434,44 @@ AddIcon specialization=retribution size=small checkbox=opt_icons_left
 	}
 }

-AddIcon specialization=retribution size=small checkbox=opt_icons_left
+AddIcon specialization=retribution size=small checkbox=opt_icons_left checkbox=opt_paladin_retribution
 {
 	Spell(lay_on_hands)
 	Spell(hand_of_protection)
 	if DebuffExpires(forbearance_debuff) Spell(divine_shield)
 }

-AddIcon specialization=retribution help=shortcd
+AddIcon specialization=retribution help=shortcd checkbox=opt_paladin_retribution
 {
 	RetributionDefaultShortCdActions()
 }

-AddIcon specialization=retribution help=main
+AddIcon specialization=retribution help=main checkbox=opt_paladin_retribution
 {
 	if InCombat(no) RetributionPrecombatActions()
 	RetributionDefaultActions()
 }

-AddIcon specialization=retribution help=aoe checkbox=opt_aoe
+AddIcon specialization=retribution help=aoe checkbox=opt_aoe checkbox=opt_paladin_retribution
 {
 	if InCombat(no) RetributionPrecombatActions()
 	RetributionDefaultAoeActions()
 }

-AddIcon specialization=retribution help=cd
+AddIcon specialization=retribution help=cd checkbox=opt_paladin_retribution
 {
 	if InCombat(no) RetributionPrecombatCdActions()
 	RetributionDefaultCdActions()
 }

-AddIcon specialization=retribution size=small checkbox=opt_icons_right
+AddIcon specialization=retribution size=small checkbox=opt_icons_right checkbox=opt_paladin_retribution
 {
 	#seal_of_righteousness,if=active_enemies>=4
 	if Enemies() >= 4 and not Stance(paladin_seal_of_righteousness) Spell(seal_of_righteousness)
 	if BuffPresent(righteous_fury) Texture(spell_holy_sealoffury help=RighteousFuryIsActive)
 }

-AddIcon specialization=retribution size=small checkbox=opt_icons_right
+AddIcon specialization=retribution size=small checkbox=opt_icons_right checkbox=opt_paladin_retribution
 {
 	UseItemActions()
 }
diff --git a/scripts/ovale_priest.lua b/scripts/ovale_priest.lua
index 02f552c..9fec508 100644
--- a/scripts/ovale_priest.lua
+++ b/scripts/ovale_priest.lua
@@ -168,37 +168,38 @@ AddFunction ShadowPrecombatCdActions
 }

 ### Shadow icons
+AddCheckBox(opt_priest_shadow "Show Shadow icons" specialization=shadow default)

-AddIcon specialization=shadow size=small checkbox=opt_icons_left
+AddIcon specialization=shadow size=small checkbox=opt_icons_left checkbox=opt_priest_shadow
 {
 	if TalentPoints(desperate_prayer_talent) Spell(desperate_prayer)
 	Spell(dispersion)
 }

-AddIcon specialization=shadow size=small checkbox=opt_icons_left
+AddIcon specialization=shadow size=small checkbox=opt_icons_left checkbox=opt_priest_shadow
 {
 	Spell(vampiric_embrace)
 	Spell(hymn_of_hope)
 }

-AddIcon specialization=shadow help=shortcd
+AddIcon specialization=shadow help=shortcd checkbox=opt_priest_shadow
 {
 	ShadowDefaultShortCdActions()
 }

-AddIcon specialization=shadow help=main
+AddIcon specialization=shadow help=main checkbox=opt_priest_shadow
 {
 	if InCombat(no) ShadowPrecombatActions()
 	ShadowDefaultActions()
 }

-AddIcon specialization=shadow help=moving
+AddIcon specialization=shadow help=moving checkbox=opt_priest_shadow
 {
 	if InCombat(no) ShadowPrecombatActions()
 	ShadowDefaultMovingActions()
 }

-AddIcon specialization=shadow help=cd
+AddIcon specialization=shadow help=cd checkbox=opt_priest_shadow
 {
 	if InCombat(no) ShadowPrecombatCdActions()
 	Interrupt()
@@ -206,12 +207,12 @@ AddIcon specialization=shadow help=cd
 	ShadowDefaultCdActions()
 }

-AddIcon specialization=shadow size=small checkbox=opt_icons_right
+AddIcon specialization=shadow size=small checkbox=opt_icons_right checkbox=opt_priest_shadow
 {
 	Spell(mass_dispel)
 }

-AddIcon specialization=shadow size=small checkbox=opt_icons_right
+AddIcon specialization=shadow size=small checkbox=opt_icons_right checkbox=opt_priest_shadow
 {
 	UseItemActions()
 }
diff --git a/scripts/ovale_rogue.lua b/scripts/ovale_rogue.lua
index 8b907b7..ca4ec02 100644
--- a/scripts/ovale_rogue.lua
+++ b/scripts/ovale_rogue.lua
@@ -139,47 +139,49 @@ AddFunction AssassinationPrecombatCdActions
 }

 ### Assassination icons.
-AddIcon specialization=assassination size=small checkbox=opt_icons_left
+AddCheckBox(opt_rogue_assassination "Show Assassination icons" specialization=assassination default)
+
+AddIcon specialization=assassination size=small checkbox=opt_icons_left checkbox=opt_rogue_assassination
 {
 	Spell(tricks_of_the_trade)
 }

-AddIcon specialization=assassination size=small checkbox=opt_icons_left
+AddIcon specialization=assassination size=small checkbox=opt_icons_left checkbox=opt_rogue_assassination
 {
 	Spell(redirect)
 }

-AddIcon specialization=assassination help=shortcd
+AddIcon specialization=assassination help=shortcd checkbox=opt_rogue_assassination
 {
 	if InCombat(no) AssassinationPrecombatShortCdActions()
 	AssassinationDefaultShortCdActions()
 }

-AddIcon specialization=assassination help=main
+AddIcon specialization=assassination help=main checkbox=opt_rogue_assassination
 {
 	if InCombat(no) AssassinationPrecombatActions()
 	AssassinationDefaultActions()
 }

-AddIcon specialization=assassination help=aoe checkbox=opt_aoe
+AddIcon specialization=assassination help=aoe checkbox=opt_aoe checkbox=opt_rogue_assassination
 {
 	if InCombat(no) AssassinationPrecombatActions()
 	AssassinationDefaultAoeActions()
 }

-AddIcon specialization=assassination help=cd
+AddIcon specialization=assassination help=cd checkbox=opt_rogue_assassination
 {
 	if InCombat(no) AssassinationPrecombatCdActions()
 	AssassinationDefaultCdActions()
 }

-AddIcon specialization=assassination size=small checkbox=opt_icons_right
+AddIcon specialization=assassination size=small checkbox=opt_icons_right checkbox=opt_rogue_assassination
 {
 	Spell(feint)
 	UseRacialSurvivalActions()
 }

-AddIcon specialization=assassination size=small checkbox=opt_icons_right
+AddIcon specialization=assassination size=small checkbox=opt_icons_right checkbox=opt_rogue_assassination
 {
 	Spell(cloak_of_shadows)
 }
@@ -341,48 +343,50 @@ AddFunction CombatPrecombatCdActions
 }

 ### Combat icons.
-AddIcon specialization=combat size=small checkbox=opt_icons_left
+AddCheckBox(opt_rogue_combat "Show Combat icons" specialization=combat default)
+
+AddIcon specialization=combat size=small checkbox=opt_icons_left checkbox=opt_rogue_combat
 {
 	Spell(tricks_of_the_trade)
 }

-AddIcon specialization=combat size=small checkbox=opt_icons_left
+AddIcon specialization=combat size=small checkbox=opt_icons_left checkbox=opt_rogue_combat
 {
 	if BuffPresent(blade_flurry_buff) Texture(ability_warrior_punishingblow help=BladeFlurryIsActive)
 	Spell(redirect)
 }

-AddIcon specialization=combat help=shortcd
+AddIcon specialization=combat help=shortcd checkbox=opt_rogue_combat
 {
 	if InCombat(no) CombatPrecombatShortCdActions()
 	CombatDefaultShortCdActions()
 }

-AddIcon specialization=combat help=main
+AddIcon specialization=combat help=main checkbox=opt_rogue_combat
 {
 	if InCombat(no) CombatPrecombatActions()
 	CombatDefaultActions()
 }

-AddIcon specialization=combat help=aoe checkbox=opt_aoe
+AddIcon specialization=combat help=aoe checkbox=opt_aoe checkbox=opt_rogue_combat
 {
 	if InCombat(no) CombatPrecombatActions()
 	CombatDefaultAoeActions()
 }

-AddIcon specialization=combat help=cd
+AddIcon specialization=combat help=cd checkbox=opt_rogue_combat
 {
 	if InCombat(no) CombatPrecombatCdActions()
 	CombatDefaultCdActions()
 }

-AddIcon specialization=combat size=small checkbox=opt_icons_right
+AddIcon specialization=combat size=small checkbox=opt_icons_right checkbox=opt_rogue_combat
 {
 	Spell(feint)
 	UseRacialSurvivalActions()
 }

-AddIcon specialization=combat size=small checkbox=opt_icons_right
+AddIcon specialization=combat size=small checkbox=opt_icons_right checkbox=opt_rogue_combat
 {
 	Spell(cloak_of_shadows)
 }
@@ -553,47 +557,49 @@ AddFunction SubtletyDefaultCdActions
 }

 ### Subtlety icons.
-AddIcon specialization=subtlety size=small checkbox=opt_icons_left
+AddCheckBox(opt_rogue_subtlety "Show Subtlety icons" specialization=subtlety default)
+
+AddIcon specialization=subtlety size=small checkbox=opt_icons_left checkbox=opt_rogue_subtlety
 {
 	Spell(tricks_of_the_trade)
 }

-AddIcon specialization=subtlety size=small checkbox=opt_icons_left
+AddIcon specialization=subtlety size=small checkbox=opt_icons_left checkbox=opt_rogue_subtlety
 {
 	Spell(redirect)
 }

-AddIcon specialization=subtlety help=shortcd
+AddIcon specialization=subtlety help=shortcd checkbox=opt_rogue_subtlety
 {
 	if InCombat(no) SubtletyPrecombatShortCdActions()
 	SubtletyDefaultShortCdActions()
 }

-AddIcon specialization=subtlety help=main
+AddIcon specialization=subtlety help=main checkbox=opt_rogue_subtlety
 {
 	if InCombat(no) SubtletyPrecombatActions()
 	SubtletyDefaultActions()
 }

-AddIcon specialization=subtlety help=aoe checkbox=opt_aoe
+AddIcon specialization=subtlety help=aoe checkbox=opt_aoe checkbox=opt_rogue_subtlety
 {
 	if InCombat(no) SubtletyPrecombatActions()
 	SubtletyDefaultAoeActions()
 }

-AddIcon specialization=subtlety help=cd
+AddIcon specialization=subtlety help=cd checkbox=opt_rogue_subtlety
 {
 	if InCombat(no) SubtletyPrecombatCdActions()
 	SubtletyDefaultCdActions()
 }

-AddIcon specialization=subtlety size=small checkbox=opt_icons_right
+AddIcon specialization=subtlety size=small checkbox=opt_icons_right checkbox=opt_rogue_subtlety
 {
 	Spell(feint)
 	UseRacialSurvivalActions()
 }

-AddIcon specialization=subtlety size=small checkbox=opt_icons_right
+AddIcon specialization=subtlety size=small checkbox=opt_icons_right checkbox=opt_rogue_subtlety
 {
 	Spell(cloak_of_shadows)
 }
diff --git a/scripts/ovale_shaman.lua b/scripts/ovale_shaman.lua
index caea3eb..5811d3e 100644
--- a/scripts/ovale_shaman.lua
+++ b/scripts/ovale_shaman.lua
@@ -138,8 +138,9 @@ AddFunction ElementalPrecombatCdActions
 }

 ### Elemental icons.
+AddCheckBox(opt_shaman_elemental "Show Elemental icons" specialization=elemental default)

-AddIcon specialization=elemental size=small checkbox=opt_icons_left
+AddIcon specialization=elemental size=small checkbox=opt_icons_left checkbox=opt_shaman_elemental
 {
 	if TalentPoints(stone_bulwark_totem_talent) Spell(stone_bulwark_totem)
 	if TalentPoints(astral_shift_talent) Spell(astral_shift)
@@ -147,7 +148,7 @@ AddIcon specialization=elemental size=small checkbox=opt_icons_left
 	Spell(earthbind_totem)
 }

-AddIcon specialization=elemental size=small checkbox=opt_icons_left
+AddIcon specialization=elemental size=small checkbox=opt_icons_left checkbox=opt_shaman_elemental
 {
 	if IsFeared() Spell(tremor_totem)
 	#if IsStunned() Spell(windwalk_totem)
@@ -160,7 +161,7 @@ AddIcon specialization=elemental size=small checkbox=opt_icons_left
 	if TalentPoints(ancestral_guidance_talent) Spell(ancestral_guidance)
 }

-AddIcon specialization=elemental help=main
+AddIcon specialization=elemental help=main checkbox=opt_shaman_elemental
 {
 	ElementalPrecombatActions()
 	ElementalDefaultActions()
@@ -169,27 +170,27 @@ AddIcon specialization=elemental help=main
 	Spell(lightning_bolt)
 }

-AddIcon specialization=elemental help=main
+AddIcon specialization=elemental help=main checkbox=opt_shaman_elemental
 {
 	ElementalPrecombatActions()
 	ElementalDefaultActions()
 	ElementalSingleActions()
 }

-AddIcon specialization=elemental help=aoe checkbox=aoe
+AddIcon specialization=elemental help=aoe checkbox=aoe checkbox=opt_shaman_elemental
 {
 	ElementalPrecombatActions()
 	ElementalDefaultActions()
 	ElementalAoeActions()
 }

-AddIcon specialization=elemental help=cd
+AddIcon specialization=elemental help=cd checkbox=opt_shaman_elemental
 {
 	ElementalDefaultCdActions()
 	ElementalSingleCdActions()
 }

-AddIcon specialization=elemental size=small checkbox=opt_icons_right
+AddIcon specialization=elemental size=small checkbox=opt_icons_right checkbox=opt_shaman_elemental
 {
 	#bloodlust,if=target.health.pct<25|time>5
 	if target.HealthPercent() < 25 or TimeInCombat() > 5 Bloodlust()
@@ -197,7 +198,7 @@ AddIcon specialization=elemental size=small checkbox=opt_icons_right
 	if not TotemPresent(air totem=stormlash_totem) and not BuffPresent(stormlash_buff) and { BuffPresent(burst_haste any=1) or TimeInCombat() >= 60 } Spell(stormlash_totem)
 }

-AddIcon specialization=elemental size=small checkbox=opt_icons_right
+AddIcon specialization=elemental size=small checkbox=opt_icons_right checkbox=opt_shaman_elemental
 {
 	UseItemActions()
 }
@@ -379,8 +380,9 @@ AddFunction EnhancementPrecombatCdActions
 }

 ### Enhancement icons.
+AddCheckBox(opt_shaman_enhancement "Show Enhancement icons" specialization=enhancement default)

-AddIcon specialization=enhancement size=small checkbox=opt_icons_left
+AddIcon specialization=enhancement size=small checkbox=opt_icons_left checkbox=opt_shaman_enhancement
 {
 	if TalentPoints(stone_bulwark_totem_talent) Spell(stone_bulwark_totem)
 	if TalentPoints(astral_shift_talent) Spell(astral_shift)
@@ -388,7 +390,7 @@ AddIcon specialization=enhancement size=small checkbox=opt_icons_left
 	Spell(earthbind_totem)
 }

-AddIcon specialization=enhancement size=small checkbox=opt_icons_left
+AddIcon specialization=enhancement size=small checkbox=opt_icons_left checkbox=opt_shaman_enhancement
 {
 	if IsFeared() Spell(tremor_totem)
 	#if IsStunned() Spell(windwalk_totem)
@@ -401,34 +403,34 @@ AddIcon specialization=enhancement size=small checkbox=opt_icons_left
 	if TalentPoints(ancestral_guidance_talent) Spell(ancestral_guidance)
 }

-AddIcon specialization=enhancement help=main
+AddIcon specialization=enhancement help=main checkbox=opt_shaman_enhancement
 {
 	EnhancementPrecombatActions()
 	EnhancementDefaultActions()
 	EnhancementSingleActions()
 }

-AddIcon specialization=enhancement help=main
+AddIcon specialization=enhancement help=main checkbox=opt_shaman_enhancement
 {
 	EnhancementPrecombatActions()
 	EnhancementDefaultActions()
 	EnhancementSingleActions()
 }

-AddIcon specialization=enhancement help=aoe checkbox=aoe
+AddIcon specialization=enhancement help=aoe checkbox=aoe checkbox=opt_shaman_enhancement
 {
 	EnhancementPrecombatActions()
 	EnhancementDefaultActions()
 	EnhancementAoeActions()
 }

-AddIcon specialization=enhancement help=cd
+AddIcon specialization=enhancement help=cd checkbox=opt_shaman_enhancement
 {
 	EnhancementDefaultCdActions()
 	EnhancementSingleCdActions()
 }

-AddIcon specialization=enhancement size=small checkbox=opt_icons_right
+AddIcon specialization=enhancement size=small checkbox=opt_icons_right checkbox=opt_shaman_enhancement
 {
 	#bloodlust,if=target.health.pct<25|time>5
 	if target.HealthPercent() < 25 or TimeInCombat() > 5 Spell(bloodlust)
@@ -436,7 +438,7 @@ AddIcon specialization=enhancement size=small checkbox=opt_icons_right
 	if not TotemPresent(air totem=stormlash_totem) and not BuffPresent(stormlash_buff) and { BuffPresent(burst_haste any=1) or TimeInCombat() >= 60 } Spell(stormlash_totem)
 }

-AddIcon specialization=enhancement size=small checkbox=opt_icons_right
+AddIcon specialization=enhancement size=small checkbox=opt_icons_right checkbox=opt_shaman_enhancement
 {
 	UseItemActions()
 }
@@ -489,8 +491,9 @@ AddFunction RestorationShortCdActions
 }

 ### Restoration icons.
+AddCheckBox(opt_shaman_restoration "Show Restoration icons" specialization=restoration default)

-AddIcon specialization=restoration size=small checkbox=opt_icons_left
+AddIcon specialization=restoration size=small checkbox=opt_icons_left checkbox=opt_shaman_restoration
 {
 	if TalentPoints(stone_bulwark_totem_talent) Spell(stone_bulwark_totem)
 	if TalentPoints(astral_shift_talent) Spell(astral_shift)
@@ -498,7 +501,7 @@ AddIcon specialization=restoration size=small checkbox=opt_icons_left
 	Spell(earthbind_totem)
 }

-AddIcon specialization=restoration size=small checkbox=opt_icons_left
+AddIcon specialization=restoration size=small checkbox=opt_icons_left checkbox=opt_shaman_restoration
 {
 	if IsFeared() Spell(tremor_totem)
 	#if IsStunned() Spell(windwalk_totem)
@@ -512,22 +515,22 @@ AddIcon specialization=restoration size=small checkbox=opt_icons_left
 	Spell(spirit_link_totem)
 }

-AddIcon specialization=restoration help=shortcd
+AddIcon specialization=restoration help=shortcd checkbox=opt_shaman_restoration
 {
 	RestorationShortCdActions()
 }

-AddIcon specialization=restoration help=main
+AddIcon specialization=restoration help=main checkbox=opt_shaman_restoration
 {
 	RestorationMainActions()
 }

-AddIcon specialization=restoration help=aoe checkbox=aoe
+AddIcon specialization=restoration help=aoe checkbox=aoe checkbox=opt_shaman_restoration
 {
 	RestorationAoeActions()
 }

-AddIcon specialization=restoration help=cd
+AddIcon specialization=restoration help=cd checkbox=opt_shaman_restoration
 {
 	Interrupt()
 	if Speed(more 0) Spell(spiritwalkers_grace)
@@ -536,13 +539,13 @@ AddIcon specialization=restoration help=cd
 	Spell(earth_elemental_totem)
 }

-AddIcon specialization=restoration size=small checkbox=opt_icons_right
+AddIcon specialization=restoration size=small checkbox=opt_icons_right checkbox=opt_shaman_restoration
 {
 	if BuffExpires(stormlash_totem_buff any=1) and {BuffPresent(burst_haste any=1) or TimeInCombat() >60} Spell(stormlash_totem)
 	if BuffExpires(burst_haste any=1) Bloodlust()
 }

-AddIcon specialization=restoration size=small checkbox=opt_icons_right
+AddIcon specialization=restoration size=small checkbox=opt_icons_right checkbox=opt_shaman_restoration
 {
 	UseItemActions()
 }
diff --git a/scripts/ovale_warlock.lua b/scripts/ovale_warlock.lua
index 2951f02..037fc4f 100644
--- a/scripts/ovale_warlock.lua
+++ b/scripts/ovale_warlock.lua
@@ -142,40 +142,41 @@ AddFunction AfflictionPrecombatCdActions
 }

 ### Affliction icons.
+AddCheckBox(opt_warlock_affliction "Show Affliction icons" specialization=affliction default)

-AddIcon specialization=affliction size=small checkbox=opt_icons_left
+AddIcon specialization=affliction size=small checkbox=opt_icons_left checkbox=opt_warlock_affliction
 {
 	if target.IsAggroed() Spell(soulshatter)
 	if TalentPoints(dark_regeneration_talent) Spell(dark_regeneration)
 }

-AddIcon specialization=affliction size=small checkbox=opt_icons_left
+AddIcon specialization=affliction size=small checkbox=opt_icons_left checkbox=opt_warlock_affliction
 {
 	if TalentPoints(sacrificial_pact_talent) Spell(sacrificial_pact)
 	if TalentPoints(dark_bargain_talent) Spell(dark_bargain)
 }

-AddIcon specialization=affliction help=shortcd
+AddIcon specialization=affliction help=shortcd checkbox=opt_warlock_affliction
 {
 	if InCombat(no) AfflictionPrecombatShortCdActions()
 	AfflictionDefaultShortCdActions()
 }

-AddIcon specialization=affliction help=main
+AddIcon specialization=affliction help=main checkbox=opt_warlock_affliction
 {
 	if InCombat(no) AfflictionPrecombatActions()
 	AfflictionDefaultActions()
 	AfflictionSingleTargetActions()
 }

-AddIcon specialization=affliction help=aoe checkbox=opt_aoe
+AddIcon specialization=affliction help=aoe checkbox=opt_aoe checkbox=opt_warlock_affliction
 {
 	if InCombat(no) AfflictionPrecombatActions()
 	AfflictionDefaultActions()
 	AfflictionAoeActions()
 }

-AddIcon specialization=affliction help=cd
+AddIcon specialization=affliction help=cd checkbox=opt_warlock_affliction
 {
 	if InCombat(no) AfflictionPrecombatCdActions()
 	AfflictionDefaultCdActions()
@@ -183,31 +184,32 @@ AddIcon specialization=affliction help=cd
 	if Enemies() <= 6 AfflictionSingleTargetCdActions()
 }

-AddIcon specialization=affliction size=small checkbox=opt_icons_right
+AddIcon specialization=affliction size=small checkbox=opt_icons_right checkbox=opt_warlock_affliction
 {
 	Spell(demonic_circle_teleport)
 }

-AddIcon specialization=affliction size=small checkbox=opt_icons_right
+AddIcon specialization=affliction size=small checkbox=opt_icons_right checkbox=opt_warlock_affliction
 {
 	UseItemActions()
 }

 ### Demonology icons.
+AddCheckBox(opt_warlock_demonology "Show Demonology icons" specialization=demonology default)

-AddIcon specialization=demonology size=small checkbox=opt_icons_left
+AddIcon specialization=demonology size=small checkbox=opt_icons_left checkbox=opt_warlock_demonology
 {
 	if target.IsAggroed() Spell(soulshatter)
 	if TalentPoints(dark_regeneration_talent) Spell(dark_regeneration)
 }

-AddIcon specialization=demonology size=small checkbox=opt_icons_left
+AddIcon specialization=demonology size=small checkbox=opt_icons_left checkbox=opt_warlock_demonology
 {
 	if TalentPoints(sacrificial_pact_talent) Spell(sacrificial_pact)
 	if TalentPoints(dark_bargain_talent) Spell(dark_bargain)
 }

-AddIcon specialization=demonology help=offgcd
+AddIcon specialization=demonology help=offgcd checkbox=opt_warlock_demonology
 {
 	if not InCombat()
 	{
@@ -219,7 +221,7 @@ AddIcon specialization=demonology help=offgcd
 	if {BuffPresent(dark_soul_knowledge) and DemonicFury() /32 >BuffRemains(dark_soul_knowledge) } or target.DebuffRemains(corruption_debuff) <5 or not target.DebuffPresent(doom) or DemonicFury() >=950 or DemonicFury() /32 >target.DeadIn() unless Stance(1) Spell(metamorphosis)
 }

-AddIcon specialization=demonology help=main
+AddIcon specialization=demonology help=main checkbox=opt_warlock_demonology
 {
 	if not InCombat()
 	{
@@ -243,7 +245,7 @@ AddIcon specialization=demonology help=main
 	Spell(life_tap)
 }

-AddIcon specialization=demonology help=aoe checkbox=opt_aoe
+AddIcon specialization=demonology help=aoe checkbox=opt_aoe checkbox=opt_warlock_demonology
 {
 	if BuffPresent(metamorphosis) and target.DebuffRemains(corruption_debuff) >10 and DemonicFury() <=650 and BuffExpires(dark_soul_knowledge) and not target.DebuffPresent(immolation_aura) if Stance(1) cancel.Texture(Spell_shadow_demonform)
 	if BuffPresent(metamorphosis) Spell(immolation_aura)
@@ -257,7 +259,7 @@ AddIcon specialization=demonology help=aoe checkbox=opt_aoe
 	Spell(life_tap)
 }

-AddIcon specialization=demonology help=cd
+AddIcon specialization=demonology help=cd checkbox=opt_warlock_demonology
 {
 	UseItemActions()
 	Spell(blood_fury)
@@ -265,12 +267,12 @@ AddIcon specialization=demonology help=cd
 	Spell(summon_doomguard)
 }

-AddIcon specialization=demonology size=small checkbox=opt_icons_right
+AddIcon specialization=demonology size=small checkbox=opt_icons_right checkbox=opt_warlock_demonology
 {
 	Spell(demonic_circle_teleport)
 }

-AddIcon specialization=demonology size=small checkbox=opt_icons_right
+AddIcon specialization=demonology size=small checkbox=opt_icons_right checkbox=opt_warlock_demonology
 {
 	UseItemActions()
 }
@@ -390,34 +392,35 @@ AddFunction DestructionPrecombatCdActions
 }

 ### Destruction icons.
+AddCheckBox(opt_warlock_destruction "Show Destruction icons" specialization=destruction default)

-AddIcon specialization=destruction size=small checkbox=opt_icons_left
+AddIcon specialization=destruction size=small checkbox=opt_icons_left checkbox=opt_warlock_destruction
 {
 	if target.IsAggroed() Spell(soulshatter)
 	if TalentPoints(dark_regeneration_talent) Spell(dark_regeneration)
 }

-AddIcon specialization=destruction size=small checkbox=opt_icons_left
+AddIcon specialization=destruction size=small checkbox=opt_icons_left checkbox=opt_warlock_destruction
 {
 	if TalentPoints(sacrificial_pact_talent) Spell(sacrificial_pact)
 	if TalentPoints(dark_bargain_talent) Spell(dark_bargain)
 }

-AddIcon specialization=destruction help=shortcd
+AddIcon specialization=destruction help=shortcd checkbox=opt_warlock_destruction
 {
 	if InCombat(no) DestructionPrecombatShortCdActions()
 	DestructionDefaultShortCdActions()
 	DestructionSingleTargetShortCdActions()
 }

-AddIcon specialization=destruction help=main
+AddIcon specialization=destruction help=main checkbox=opt_warlock_destruction
 {
 	if InCombat(no) DestructionPrecombatActions()
 	DestructionDefaultActions()
 	DestructionSingleTargetActions()
 }

-AddIcon specialization=destruction help=aoe checkbox=opt_aoe
+AddIcon specialization=destruction help=aoe checkbox=opt_aoe checkbox=opt_warlock_destruction
 {
 	if InCombat(no) DestructionPrecombatActions()
 	DestructionDefaultActions()
@@ -428,7 +431,7 @@ AddIcon specialization=destruction help=aoe checkbox=opt_aoe
 	DestructionAoeActions()
 }

-AddIcon specialization=destruction help=cd
+AddIcon specialization=destruction help=cd checkbox=opt_warlock_destruction
 {
 	if InCombat(no) DestructionPrecombatCdActions()
 	DestructionDefaultCdActions()
@@ -436,12 +439,12 @@ AddIcon specialization=destruction help=cd
 	if Enemies() <= 3 DestructionSingleTargetCdActions()
 }

-AddIcon specialization=destruction size=small checkbox=opt_icons_right
+AddIcon specialization=destruction size=small checkbox=opt_icons_right checkbox=opt_warlock_destruction
 {
 	Spell(demonic_circle_teleport)
 }

-AddIcon specialization=destruction size=small checkbox=opt_icons_right
+AddIcon specialization=destruction size=small checkbox=opt_icons_right checkbox=opt_warlock_destruction
 {
 	UseItemActions()
 }
diff --git a/scripts/ovale_warrior.lua b/scripts/ovale_warrior.lua
index d0dc340..12af720 100644
--- a/scripts/ovale_warrior.lua
+++ b/scripts/ovale_warrior.lua
@@ -161,42 +161,43 @@ AddFunction ArmsPrecombatCdActions
 }

 ### Arms icons.
+AddCheckBox(opt_warrior_arms "Show Arms icons" specialization=arms default)

-AddIcon specialization=arms size=small checkbox=opt_icons_left
+AddIcon specialization=arms size=small checkbox=opt_icons_left checkbox=opt_warrior_arms
 {
 	Spell(vigilance)
 	Spell(demoralizing_banner)
 	Spell(rallying_cry)
 }

-AddIcon specialization=arms size=small checkbox=opt_icons_left
+AddIcon specialization=arms size=small checkbox=opt_icons_left checkbox=opt_warrior_arms
 {
 	if TalentPoints(impending_victory_talent) and HealthPercent() < 80 Spell(impending_victory usable=1)
 	if not TalentPoints(impending_victory_talent) and HealthPercent() < 80 Spell(victory_rush usable=1)
 	if TalentPoints(enraged_regeneration_talent) Spell(enraged_regeneration)
 }

-AddIcon specialization=arms help=shortcd
+AddIcon specialization=arms help=shortcd checkbox=opt_warrior_arms
 {
 	ArmsDefaultShortCdActions()
 	ArmsSingleTargetShortCdActions()
 }

-AddIcon specialization=arms help=main
+AddIcon specialization=arms help=main checkbox=opt_warrior_arms
 {
 	if InCombat(no) ArmsPrecombatActions()
 	ArmsDefaultActions()
 	ArmsSingleTargetActions()
 }

-AddIcon specialization=arms help=aoe checkbox=opt_aoe
+AddIcon specialization=arms help=aoe checkbox=opt_aoe checkbox=opt_warrior_arms
 {
 	if InCombat(no) ArmsPrecombatActions()
 	ArmsDefaultActions()
 	ArmsAoeActions()
 }

-AddIcon specialization=arms help=cd
+AddIcon specialization=arms help=cd checkbox=opt_warrior_arms
 {
 	Interrupt()
 	UseRacialInterruptActions()
@@ -205,13 +206,13 @@ AddIcon specialization=arms help=cd
 	ArmsDefaultCdActions()
 }

-AddIcon specialization=arms size=small checkbox=opt_icons_right
+AddIcon specialization=arms size=small checkbox=opt_icons_right checkbox=opt_warrior_arms
 {
 	Spell(die_by_the_sword)
 	Spell(shield_wall)
 }

-AddIcon specialization=arms size=small checkbox=opt_icons_right
+AddIcon specialization=arms size=small checkbox=opt_icons_right checkbox=opt_warrior_arms
 {
 	#shattering_throw,if=cooldown.colossus_smash.remains>5
 	if target.DebuffExpires(shattering_throw_debuff) and SpellCooldown(colossus_smash) > 5 Spell(shattering_throw)
@@ -550,35 +551,36 @@ AddFunction FuryTwoHandSingleTargetShortCdActions
 }

 ### Fury icons.
+AddCheckBox(opt_warrior_fury "Show Fury icons" specialization=fury default)

-AddIcon specialization=fury size=small checkbox=opt_icons_left
+AddIcon specialization=fury size=small checkbox=opt_icons_left checkbox=opt_warrior_fury
 {
 	Spell(vigilance)
 	Spell(demoralizing_banner)
 	Spell(rallying_cry)
 }

-AddIcon specialization=fury size=small checkbox=opt_icons_left
+AddIcon specialization=fury size=small checkbox=opt_icons_left checkbox=opt_warrior_fury
 {
 	if TalentPoints(impending_victory_talent) and HealthPercent() < 80 Spell(impending_victory usable=1)
 	if not TalentPoints(impending_victory_talent) and HealthPercent() < 80 Spell(victory_rush usable=1)
 	if TalentPoints(enraged_regeneration_talent) Spell(enraged_regeneration)
 }

-AddIcon specialization=fury help=shortcd
+AddIcon specialization=fury help=shortcd checkbox=opt_warrior_fury
 {
 	if HasWeapon(main type=1h) FuryOneHandSingleTargetShortCdActions()
 	if HasWeapon(main type=2h) FuryTwoHandSingleTargetShortCdActions()
 }

-AddIcon specialization=fury help=main
+AddIcon specialization=fury help=main checkbox=opt_warrior_fury
 {
 	if InCombat(no) FuryPrecombatActions()
 	if HasWeapon(main type=1h) FuryOneHandSingleTargetActions()
 	if HasWeapon(main type=2h) FuryTwoHandSingleTargetActions()
 }

-AddIcon specialization=fury help=aoe checkbox=opt_aoe
+AddIcon specialization=fury help=aoe checkbox=opt_aoe checkbox=opt_warrior_fury
 {
 	if InCombat(no) FuryPrecombatActions()
 	#run_action_list,name=two_targets,if=active_enemies=2
@@ -589,7 +591,7 @@ AddIcon specialization=fury help=aoe checkbox=opt_aoe
 	if Enemies() > 3 FuryAoeActions()
 }

-AddIcon specialization=fury help=cd
+AddIcon specialization=fury help=cd checkbox=opt_warrior_fury
 {
 	Interrupt()
 	UseRacialInterruptActions()
@@ -598,13 +600,13 @@ AddIcon specialization=fury help=cd
 	FuryDefaultCdActions()
 }

-AddIcon specialization=fury size=small checkbox=opt_icons_right
+AddIcon specialization=fury size=small checkbox=opt_icons_right checkbox=opt_warrior_fury
 {
 	Spell(die_by_the_sword)
 	Spell(shield_wall)
 }

-AddIcon specialization=fury size=small checkbox=opt_icons_right
+AddIcon specialization=fury size=small checkbox=opt_icons_right checkbox=opt_warrior_fury
 {
 	#shattering_throw,if=cooldown.colossus_smash.remains>5
 	if target.DebuffExpires(shattering_throw_debuff) and SpellCooldown(colossus_smash) > 5 Spell(shattering_throw)
@@ -717,53 +719,54 @@ AddFunction ProtectionPrecombatActions
 }

 ### Protection icons.
+AddCheckBox(opt_warrior_protection "Show Protection icons" specialization=protection default)

-AddIcon specialization=protection size=small checkbox=opt_icons_left
+AddIcon specialization=protection size=small checkbox=opt_icons_left checkbox=opt_warrior_protection
 {
 	Spell(vigilance)
 	Spell(demoralizing_banner)
 	Spell(rallying_cry)
 }

-AddIcon specialization=protection size=small checkbox=opt_icons_left
+AddIcon specialization=protection size=small checkbox=opt_icons_left checkbox=opt_warrior_protection
 {
 	if TalentPoints(impending_victory_talent) and HealthPercent() < 80 Spell(impending_victory usable=1)
 	if not TalentPoints(impending_victory_talent) and HealthPercent() < 80 Spell(victory_rush usable=1)
 	if TalentPoints(enraged_regeneration_talent) Spell(enraged_regeneration)
 }

-AddIcon specialization=protection help=shortcd
+AddIcon specialization=protection help=shortcd checkbox=opt_warrior_protection
 {
 	ProtectionDefaultShortCdActions()
 }

-AddIcon specialization=protection help=main
+AddIcon specialization=protection help=main checkbox=opt_warrior_protection
 {
 	if InCombat(no) ProtectionPrecombatActions()
 	ProtectionDefaultActions()
 	ProtectionNormalRotationActions()
 }

-AddIcon specialization=protection help=aoe checkbox=opt_aoe
+AddIcon specialization=protection help=aoe checkbox=opt_aoe checkbox=opt_warrior_protection
 {
 	if InCombat(no) ProtectionPrecombatActions()
 	ProtectionAoeActions()
 }

-AddIcon specialization=protection help=cd
+AddIcon specialization=protection help=cd checkbox=opt_warrior_protection
 {
 	Interrupt()
 	UseRacialInterruptActions()
 	ProtectionDefaultCdActions()
 }

-AddIcon specialization=protection size=small checkbox=opt_icons_right
+AddIcon specialization=protection size=small checkbox=opt_icons_right checkbox=opt_warrior_protection
 {
 	Spell(die_by_the_sword)
 	Spell(shield_wall)
 }

-AddIcon specialization=protection size=small checkbox=opt_icons_right
+AddIcon specialization=protection size=small checkbox=opt_icons_right checkbox=opt_warrior_protection
 {
 	#shattering_throw
 	if target.DebuffExpires(shattering_throw_debuff) Spell(shattering_throw)