Theck's MATLAB thread - Cataclysm/4.x
Moderators: Fridmarr, Worldie, Aergis, theckhd
Theck's MATLAB thread - Cataclysm/4.x
This thread contains a variety of calculations relevant to paladin tanking, primarily focused on threat and damage output. The first 10 posts or so are summaries of the results of these calculations, which you can access via the table of contents below.
This thread is for discussion of the Cataclysm/4.x version of the code base. For information on the older version that modeled Wrath of the Lich King mechanics, please see the WotLK/3.x thread.
The code is hosted on Google Code, and is available for public review/consumption. If you're interested in contributing to the project, please see the Code section for more information.
Table of Contents
Mechanical Changes in 4.3
This thread is for discussion of the Cataclysm/4.x version of the code base. For information on the older version that modeled Wrath of the Lich King mechanics, please see the WotLK/3.x thread.
The code is hosted on Google Code, and is available for public review/consumption. If you're interested in contributing to the project, please see the Code section for more information.
Table of Contents
- Calculations
- Other Stuff
Mechanical Changes in 4.3
- Judgement of Truth damage increased by 20% per stack of censure, up from 10%/stack.
- Blessing of Might now grants 20% melee attack power, up from 10%.
- 2-piece T13: Judgement grants an absorption shield equal to 25% of the damage dealt.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Default Gear Set
I'm keeping an evolving list of gear sets this expansion. The first one will always be a "pre-raid" set comprised of gear obtainable without raiding. It will use a few crafted/rep epics, epic ilvl 353 items from ZA/ZG where possible, and justice point gear where it can.
I'll also have a "normal" and "heroic" gear set for each tier of content. I'll generally be using the "normal" gear set early in a patch cycle to model the gear you'd likely be wearing to progress through heroic modes. Near the end of the patch cycle (e.g. 4.1 in anticipation of 4.2), I'll update the sims to use the heroic tier set to account for gear inflation.
All of these sets will mastery-heavy survival sets, until we see gearing trends deviate from this strategy. Similarly, they will remain precariously low on hit and expertise until it's proven that we're better-off gearing otherwise.
Enchants are the same for all sets:
Head: [Arcanum of the Earthen Ring]
Shoulders: [Greater Inscription of Unbreakable Quartz]
Cloak: [Enchant Cloak - Protection]
Chest: [Enchant Chest - Greater Stamina]
Wrist: [Enchant Bracer - Dodge]
Hands: [Enchant Gloves - Greater Mastery]
Legs: [Charscale Leg Armor]
Boots: [Enchant Boots - Mastery]
Finger(s): [Enchant Ring - Greater Stamina]
Weapon: [Enchant Weapon - Windwalk]
Shield: [Enchant Shield - Blocking] (~36 Mastery)
I'm using two different gemming templates in the sets. All of the sets up to and including the T13 Raidfinder use a mastery-heavy gemming strategy. Prismatic sockets in this first template use yellow (Fractured) gems instead of Solid Ocean Sapphires.
Gem Template #1
Meta Gem: [Austere Shadowspirit Diamond]
Blue Socket: [Puissant Dream Emerald]
Yellow Socket: [Fractured Amberjewel]
Red Socket: [Fine Ember Topaz]
Prismatic Socket: [Fractured Amberjewel]
The second gem template is used for the T13 normal and heroic sets. These two sets cap out CTC (and thus waste a lot of mastery) if I use the first gem template, so I'm using a stam-heavy gem template instead and tweaking the reforging to get close to block-cap. Both of these sets can easily hit block cap with the change of one gem or reforge.
Gem Template #2
Meta Gem: [Austere Shadowspirit Diamond]
Blue Socket: [Solid Ocean Sapphire]
Yellow Socket: [Puissant Dream Emerald]
Red Socket: [Defender's Demonseye]
Prismatic Socket: [Solid Ocean Sapphire]
Pre-raid set:
(mastery-heavy gem template)
Head: [Annihilan Helm]
Neck: [Stoneheart Necklace]
Shoulder: [Pauldrons of the Dragonblight], reforged parry->mastery
Back: [Iceward Cloak]
Chest: [Breastplate of Tarnished Bronze]
Wrist: [Bracers of Regal Force], reforged dodge->mastery
Hands: [Immolation Handguards]
Waist: [Girdle of Lost Heroes]
Legs: [Immolation Legguards]
Feet: [Chrono Boots], reforged exp->mastery
Finger #1: [Queen's Boon], reforged dodge->mastery
Finger #2: [Deflecting Brimstone Band]
Trinket #1: [Veil of Lies]
Trinket #2: [Stay of Execution], reforged dodge->mastery
Weapon: Gavel of Peroth'arn
Shield: [Corrupted Carapace]
Libram: [Deathclutch Figurine], reforged dodge->mastery
T11 Normal:
(mastery-heavy gem template)
Head: [Reinforced Sapphirium Faceguard]
Neck: [Ironstar Amulet]
Shoulders: [Reinforced Sapphirium Shoulderguards]
Back: [Wrap of the Great Turtle]
Chest: [Reinforced Sapphirium Chestguard]
Wrists: [Bracers of Impossible Strength]
Hands: [Reinforced Sapphirium Handguards]
Waist: [Hardened Elementium Girdle]
Legs: [Reinforced Sapphirium Legguards]
Feet: [Boots of Sullen Rock] / [Gryphon Rider's Boots]
Finger: [Ring of the Battle Anthem]
Finger: [Bile-O-Tron Nut]
Trinket: [Vial of Stolen Memories]
Trinket: [Unsolvable Riddle]
Weapon: [Mace of Acrid Death]
Shield: [Blockade's Lost Shield]
Relic: [Relic of Khaz'goroth]
T11 Heroic:
(mastery-heavy gem template)
Head: [Reinforced Sapphirium Faceguard]
Neck: [Ironstar Amulet]
Shoulders: [Reinforced Sapphirium Shoulderguards]
Back: [Wrap of the Great Turtle]
Chest: [Reinforced Sapphirium Chestguard]
Wrists: [Bracers of Impossible Strength]
Hands: [Reinforced Sapphirium Handguards]
Waist: [Jumbotron Power Belt]
Legs: [Reinforced Sapphirium Legguards]
Feet: [Molten Tantrum Boots]
Finger: [Ring of the Battle Anthem]
Finger: [Bile-O-Tron Nut]
Trinket: [Vial of Stolen Memories]
Trinket: [Unsolvable Riddle]
Weapon: [Mace of Acrid Death]
Shield: [Akmin-Kurai]
Relic: [Relic of Khaz'goroth]
T12 Normal:
(mastery-heavy gem template)
Head: [Helm of Blazing Glory]
Neck: [Stoneheart Necklace]
Shoulder: [Immolation Shoulderguards], reforged hit->dodge
Back: [Durable Flamewrath Greatcloak], reforged hit->mast
Chest: [Immolation Chestguard], reforged dodge->mast
Wrist: [Bracers of The Fiery Path]
Gloves: [Immolation Handguards]
Waist: [Uncrushable Belt of Fury], reforged exp->dodge
Legs: [Immolation Legguards]
Feet: [Mirrored Boots]
Finger: [Theck's Emberseal], reforged hit->mast
Finger: [Deflecting Brimstone Band]
Trinket: [Scales of Life]
Trinket: [Spidersilk Spindle]
Weapon: [Mandible of Beth'tilac]
Shield: [Shard of Torment], reforged parry->mast
Relic: [Deathclutch Figurine], reforged dodge->mast
T12 Heroic:
(mastery-heavy gem template)
Head: [Helm of Blazing Glory]
Neck: [Stoneheart Necklace]
Shoulder: [Immolation Shoulderguards], reforged hit->dodge
Back: [Dreadfire Drape], reforged hit->dodge, dual mastery gems
Chest: [Immolation Chestguard], reforged dodge->mast
Wrist: [Bracers of The Fiery Path]
Gloves: [Immolation Handguards]
Waist: [Uncrushable Belt of Fury], reforged exp->dodge
Legs: [Immolation Legguards]
Feet: [Cracked Obsidian Stompers], reforged exp->mast
Finger: [Theck's Emberseal], reforged hit->mast
Finger: [Adamantite Signet of the Avenger], reforged hit->mast
Trinket: [Scales of Life]
Trinket: [Spidersilk Spindle]
Weapon: [Mandible of Beth'tilac]
Shield: [Shard of Torment], reforged parry->mast
Relic: [Deathclutch Figurine], reforged dodge->mast
T13 Raidfinder:
(mastery-heavy gem template)
Head: [Faceguard of Radiant Glory]
Neck: [Guardspike Choker]
Shoulder: [Brackenshell Shoulderplates], reforged dodge->mastery
Back: [Indefatigable Greatcloak], reforged exp->mast
Chest: [Chestguard of Radiant Glory]
Wrist: [Graveheart Bracers]
Gloves: [Handguards of Radiant Glory], reforged hit->mastery
Waist: [Goriona's Collar], reforged dodge->mastery
Legs: [Legguards of Radiant Glory], reforged parry->mastery
Feet: [Stillheart Warboots]
Finger: [Hardheart Ring]
Finger: [Signet of the Resolute], reforged parry->mast
Trinket: [Fire of the Deep]
Trinket: [Indomitable Pride]
Weapon: [Souldrinker]
Shield: [Blackhorn's Mighty Bulwark]
Relic: [Stoutheart Talisman]
T13 Normal:
(stamina-heavy gem template)
Head: [Faceguard of Radiant Glory]
Neck: [Guardspike Choker]
Shoulder: [Brackenshell Shoulderplates], reforged dodge->mastery
Back: [Indefatigable Greatcloak], reforged exp->mast
Chest: [Chestguard of Radiant Glory]
Wrist: [Graveheart Bracers]
Gloves: [Handguards of Radiant Glory], reforged hit->mastery
Waist: [Goriona's Collar], reforged dodge->mastery
Legs: [Legguards of Radiant Glory], reforged parry->mastery
Feet: [Stillheart Warboots]
Finger: [Hardheart Ring]
Finger: [Signet of the Resolute], reforged parry->mast
Trinket: [Fire of the Deep]
Trinket: [Indomitable Pride]
Weapon: [Souldrinker]
Shield: [Blackhorn's Mighty Bulwark]
Relic: [Stoutheart Talisman]
T13 Heroic:
(stamina-heavy gem template)
Head: [Faceguard of Radiant Glory]
Neck: [Guardspike Choker]
Shoulder: [Brackenshell Shoulderplates]
Back: [Indefatigable Greatcloak], reforged exp->dodge
Chest: [Chestguard of Radiant Glory]
Wrist: [Graveheart Bracers]
Gloves: [Handguards of Radiant Glory], reforged hit->mastery
Waist: [Goriona's Collar]
Legs: [Legguards of Radiant Glory]
Feet: [Stillheart Warboots]
Finger: [Hardheart Ring]
Finger: [Signet of the Resolute]
Trinket: [Fire of the Deep]
Trinket: [Indomitable Pride]
Weapon: [Souldrinker]
Shield: [Blackhorn's Mighty Bulwark]
Relic: [Stoutheart Talisman]
Net stats
Most of these are recognizable enough to be understandable, but until I get them into the glossary feel free to ask. We've used "ph" and "sp" as shorthands for physical and spell, "dr" for damage reduction. Note that the dodge, parry, block, and miss values given is adjusted for boss level, as is "ctc," so 100% ctc is block-capped.
Gear only
Total player stats
I'm keeping an evolving list of gear sets this expansion. The first one will always be a "pre-raid" set comprised of gear obtainable without raiding. It will use a few crafted/rep epics, epic ilvl 353 items from ZA/ZG where possible, and justice point gear where it can.
I'll also have a "normal" and "heroic" gear set for each tier of content. I'll generally be using the "normal" gear set early in a patch cycle to model the gear you'd likely be wearing to progress through heroic modes. Near the end of the patch cycle (e.g. 4.1 in anticipation of 4.2), I'll update the sims to use the heroic tier set to account for gear inflation.
All of these sets will mastery-heavy survival sets, until we see gearing trends deviate from this strategy. Similarly, they will remain precariously low on hit and expertise until it's proven that we're better-off gearing otherwise.
Enchants are the same for all sets:
Head: [Arcanum of the Earthen Ring]
Shoulders: [Greater Inscription of Unbreakable Quartz]
Cloak: [Enchant Cloak - Protection]
Chest: [Enchant Chest - Greater Stamina]
Wrist: [Enchant Bracer - Dodge]
Hands: [Enchant Gloves - Greater Mastery]
Legs: [Charscale Leg Armor]
Boots: [Enchant Boots - Mastery]
Finger(s): [Enchant Ring - Greater Stamina]
Weapon: [Enchant Weapon - Windwalk]
Shield: [Enchant Shield - Blocking] (~36 Mastery)
I'm using two different gemming templates in the sets. All of the sets up to and including the T13 Raidfinder use a mastery-heavy gemming strategy. Prismatic sockets in this first template use yellow (Fractured) gems instead of Solid Ocean Sapphires.
Gem Template #1
Meta Gem: [Austere Shadowspirit Diamond]
Blue Socket: [Puissant Dream Emerald]
Yellow Socket: [Fractured Amberjewel]
Red Socket: [Fine Ember Topaz]
Prismatic Socket: [Fractured Amberjewel]
The second gem template is used for the T13 normal and heroic sets. These two sets cap out CTC (and thus waste a lot of mastery) if I use the first gem template, so I'm using a stam-heavy gem template instead and tweaking the reforging to get close to block-cap. Both of these sets can easily hit block cap with the change of one gem or reforge.
Gem Template #2
Meta Gem: [Austere Shadowspirit Diamond]
Blue Socket: [Solid Ocean Sapphire]
Yellow Socket: [Puissant Dream Emerald]
Red Socket: [Defender's Demonseye]
Prismatic Socket: [Solid Ocean Sapphire]
Pre-raid set:
(mastery-heavy gem template)
Head: [Annihilan Helm]
Neck: [Stoneheart Necklace]
Shoulder: [Pauldrons of the Dragonblight], reforged parry->mastery
Back: [Iceward Cloak]
Chest: [Breastplate of Tarnished Bronze]
Wrist: [Bracers of Regal Force], reforged dodge->mastery
Hands: [Immolation Handguards]
Waist: [Girdle of Lost Heroes]
Legs: [Immolation Legguards]
Feet: [Chrono Boots], reforged exp->mastery
Finger #1: [Queen's Boon], reforged dodge->mastery
Finger #2: [Deflecting Brimstone Band]
Trinket #1: [Veil of Lies]
Trinket #2: [Stay of Execution], reforged dodge->mastery
Weapon: Gavel of Peroth'arn
Shield: [Corrupted Carapace]
Libram: [Deathclutch Figurine], reforged dodge->mastery
T11 Normal:
(mastery-heavy gem template)
Head: [Reinforced Sapphirium Faceguard]
Neck: [Ironstar Amulet]
Shoulders: [Reinforced Sapphirium Shoulderguards]
Back: [Wrap of the Great Turtle]
Chest: [Reinforced Sapphirium Chestguard]
Wrists: [Bracers of Impossible Strength]
Hands: [Reinforced Sapphirium Handguards]
Waist: [Hardened Elementium Girdle]
Legs: [Reinforced Sapphirium Legguards]
Feet: [Boots of Sullen Rock] / [Gryphon Rider's Boots]
Finger: [Ring of the Battle Anthem]
Finger: [Bile-O-Tron Nut]
Trinket: [Vial of Stolen Memories]
Trinket: [Unsolvable Riddle]
Weapon: [Mace of Acrid Death]
Shield: [Blockade's Lost Shield]
Relic: [Relic of Khaz'goroth]
T11 Heroic:
(mastery-heavy gem template)
Head: [Reinforced Sapphirium Faceguard]
Neck: [Ironstar Amulet]
Shoulders: [Reinforced Sapphirium Shoulderguards]
Back: [Wrap of the Great Turtle]
Chest: [Reinforced Sapphirium Chestguard]
Wrists: [Bracers of Impossible Strength]
Hands: [Reinforced Sapphirium Handguards]
Waist: [Jumbotron Power Belt]
Legs: [Reinforced Sapphirium Legguards]
Feet: [Molten Tantrum Boots]
Finger: [Ring of the Battle Anthem]
Finger: [Bile-O-Tron Nut]
Trinket: [Vial of Stolen Memories]
Trinket: [Unsolvable Riddle]
Weapon: [Mace of Acrid Death]
Shield: [Akmin-Kurai]
Relic: [Relic of Khaz'goroth]
T12 Normal:
(mastery-heavy gem template)
Head: [Helm of Blazing Glory]
Neck: [Stoneheart Necklace]
Shoulder: [Immolation Shoulderguards], reforged hit->dodge
Back: [Durable Flamewrath Greatcloak], reforged hit->mast
Chest: [Immolation Chestguard], reforged dodge->mast
Wrist: [Bracers of The Fiery Path]
Gloves: [Immolation Handguards]
Waist: [Uncrushable Belt of Fury], reforged exp->dodge
Legs: [Immolation Legguards]
Feet: [Mirrored Boots]
Finger: [Theck's Emberseal], reforged hit->mast
Finger: [Deflecting Brimstone Band]
Trinket: [Scales of Life]
Trinket: [Spidersilk Spindle]
Weapon: [Mandible of Beth'tilac]
Shield: [Shard of Torment], reforged parry->mast
Relic: [Deathclutch Figurine], reforged dodge->mast
T12 Heroic:
(mastery-heavy gem template)
Head: [Helm of Blazing Glory]
Neck: [Stoneheart Necklace]
Shoulder: [Immolation Shoulderguards], reforged hit->dodge
Back: [Dreadfire Drape], reforged hit->dodge, dual mastery gems
Chest: [Immolation Chestguard], reforged dodge->mast
Wrist: [Bracers of The Fiery Path]
Gloves: [Immolation Handguards]
Waist: [Uncrushable Belt of Fury], reforged exp->dodge
Legs: [Immolation Legguards]
Feet: [Cracked Obsidian Stompers], reforged exp->mast
Finger: [Theck's Emberseal], reforged hit->mast
Finger: [Adamantite Signet of the Avenger], reforged hit->mast
Trinket: [Scales of Life]
Trinket: [Spidersilk Spindle]
Weapon: [Mandible of Beth'tilac]
Shield: [Shard of Torment], reforged parry->mast
Relic: [Deathclutch Figurine], reforged dodge->mast
T13 Raidfinder:
(mastery-heavy gem template)
Head: [Faceguard of Radiant Glory]
Neck: [Guardspike Choker]
Shoulder: [Brackenshell Shoulderplates], reforged dodge->mastery
Back: [Indefatigable Greatcloak], reforged exp->mast
Chest: [Chestguard of Radiant Glory]
Wrist: [Graveheart Bracers]
Gloves: [Handguards of Radiant Glory], reforged hit->mastery
Waist: [Goriona's Collar], reforged dodge->mastery
Legs: [Legguards of Radiant Glory], reforged parry->mastery
Feet: [Stillheart Warboots]
Finger: [Hardheart Ring]
Finger: [Signet of the Resolute], reforged parry->mast
Trinket: [Fire of the Deep]
Trinket: [Indomitable Pride]
Weapon: [Souldrinker]
Shield: [Blackhorn's Mighty Bulwark]
Relic: [Stoutheart Talisman]
T13 Normal:
(stamina-heavy gem template)
Head: [Faceguard of Radiant Glory]
Neck: [Guardspike Choker]
Shoulder: [Brackenshell Shoulderplates], reforged dodge->mastery
Back: [Indefatigable Greatcloak], reforged exp->mast
Chest: [Chestguard of Radiant Glory]
Wrist: [Graveheart Bracers]
Gloves: [Handguards of Radiant Glory], reforged hit->mastery
Waist: [Goriona's Collar], reforged dodge->mastery
Legs: [Legguards of Radiant Glory], reforged parry->mastery
Feet: [Stillheart Warboots]
Finger: [Hardheart Ring]
Finger: [Signet of the Resolute], reforged parry->mast
Trinket: [Fire of the Deep]
Trinket: [Indomitable Pride]
Weapon: [Souldrinker]
Shield: [Blackhorn's Mighty Bulwark]
Relic: [Stoutheart Talisman]
T13 Heroic:
(stamina-heavy gem template)
Head: [Faceguard of Radiant Glory]
Neck: [Guardspike Choker]
Shoulder: [Brackenshell Shoulderplates]
Back: [Indefatigable Greatcloak], reforged exp->dodge
Chest: [Chestguard of Radiant Glory]
Wrist: [Graveheart Bracers]
Gloves: [Handguards of Radiant Glory], reforged hit->mastery
Waist: [Goriona's Collar]
Legs: [Legguards of Radiant Glory]
Feet: [Stillheart Warboots]
Finger: [Hardheart Ring]
Finger: [Signet of the Resolute]
Trinket: [Fire of the Deep]
Trinket: [Indomitable Pride]
Weapon: [Souldrinker]
Shield: [Blackhorn's Mighty Bulwark]
Relic: [Stoutheart Talisman]
Net stats
Most of these are recognizable enough to be understandable, but until I get them into the glossary feel free to ask. We've used "ph" and "sp" as shorthands for physical and spell, "dr" for damage reduction. Note that the dodge, parry, block, and miss values given is adjusted for boss level, as is "ctc," so 100% ctc is block-capped.
Gear only
- Code: Select all
Pre-raid T11N T11H T12N T12H T13R T13N T13H
str 3566 3127 3496 3511 3646 3691 4108 4579
sta 7239 6550 7179 7730 8637 8114 9468 10315
agi 0 0 0 0 241 0 0 0
int 0 0 0 0 0 0 0 0
hit 0 337 389 245 359 80 92 106
crit 0 0 0 0 0 0 0 0
exp 142 111 126 80 196 77 77 77
haste 0 0 0 0 0 0 0 0
mast 2668 2105 2234 3190 3423 3101 2912 2624
ap 0 0 0 0 0 0 0 0
sp 0 0 0 0 0 0 0 0
health 0 0 0 0 0 0 0 0
dodge 1740 1732 2055 1336 1966 2145 2356 2912
parry 1475 1092 1081 1708 1456 1666 1817 2195
barmor 33721 32221 33191 33721 34798 34265 35309 36393
earmor 250 250 250 250 250 250 250 250
avgdmg 1434.5 1202 1357 1434.5 1619.5 1604.5 1811 2044.5
swing 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6
Total player stats
- Code: Select all
Pre-raid T11N T11H T12N T12H T13R T13N T13H
str 4492 4031 4419 4435 4576 4624 5061 5556
sta 10800 9926 10724 11422 12572 11909 13626 14700
agi 677 677 677 677 930 677 677 677
int 111 111 111 111 111 111 111 111
armorystr 3730 3291 3660 3675 3810 3855 4272 4743
hitpoints 194225 181989 193161 202933 219033 209751 233789 248825
armor 42160 40477 41565.3 42160 43368.4 42770.3 43941.7 45157.9
resistance 0 0 0 0 0 0 0 0
resist_c 400 400 400 400 400 400 400 400
spdr 0 0 0 0 0 0 0 0
manapoints 25623 25623 25623 25623 25623 25623 25623 25623
phhit 0 2.80579 3.23873 2.03982 2.98896 0.666063 0.765972 0.882533
sphit 8 11.2895 11.7971 10.3915 11.5043 8.7809 8.89804 9.03469
exp 17.729 16.6966 17.1962 15.6643 19.5274 15.5643 15.5643 15.5643
phhaste 10 10 10 10 10 10 10 10
sphaste 5 5 5 5 5 5 5 5
spgcd 1.42857 1.42857 1.42857 1.42857 1.42857 1.42857 1.42857 1.42857
phcrit 4.18566 4.18566 4.18566 4.18566 5.43148 4.18566 4.18566 4.18566
spcrit 11.4066 11.4066 11.4066 11.4066 11.4066 11.4066 11.4066 11.4066
hcrit 8.50656 8.50656 8.50656 8.50656 8.50656 8.50656 8.50656 8.50656
aacrit 4.18566 4.18566 4.18566 4.18566 5.43148 4.18566 4.18566 4.18566
HWcrit 41.4066 41.4066 41.4066 41.4066 41.4066 41.4066 41.4066 41.4066
HoWcrit 34.1857 34.1857 34.1857 34.1857 35.4315 34.1857 34.1857 34.1857
CScrit 19.1857 19.1857 19.1857 19.1857 20.4315 19.1857 19.1857 19.1857
Jcrit 4.18566 4.18566 4.18566 4.18566 5.43148 4.18566 4.18566 4.18566
WoGcrit 23.5066 23.5066 23.5066 23.5066 23.5066 23.5066 23.5066 23.5066
HotRphcrit 19.1857 19.1857 19.1857 19.1857 20.4315 19.1857 19.1857 19.1857
HotRspcrit 26.4066 26.4066 26.4066 26.4066 26.4066 26.4066 26.4066 26.4066
sp 3075 2770 3027 3038 3130 3162 3450 3777
hsp 3075 2770 3027 3038 3130 3162 3450 3777
mast 23.3838 20.2434 20.963 26.2954 27.595 25.799 24.7448 23.1383
miss 4.4 4.4 4.4 4.4 4.4 4.4 4.4 4.4
dodge 13.3023 13.2669 14.6619 11.4576 14.2844 15.0385 15.9016 18.0513
parry 17.033 15.0011 15.3854 17.8613 17.0485 17.8949 18.8807 20.6542
block 57.0134 49.9477 51.5667 63.5646 64.2671 62.4477 60.0757 56.4612
size 0 0 0 0 0 0 0 0
avoid 34.7353 32.668 34.4473 33.7189 35.7329 37.3335 39.1823 43.1056
avoidpct 0.347353 0.32668 0.344473 0.337189 0.357329 0.373335 0.391823 0.431056
ctc 91.7488 82.6157 86.014 97.2836 100 99.7811 99.258 99.5668
acoeff 32572.5 32572.5 32572.5 32572.5 32572.5 32572.5 32572.5 32572.5
phdr 0.564145 0.554103 0.560649 0.564145 0.571081 0.567676 0.574295 0.580956
VengAP 15128.5 14254.5 15052.5 15750.5 16900.5 16237.5 17954.5 19028.5
ap 29217 27061 28950 29826 31545 30864 33973 36450
wdamage 6860.51 6227.61 6733.43 6973.61 7477.86 7336.39 8120.27 8813.79
ndamage 6443.13 5841.03 6319.86 6547.53 7027.21 6895.47 7634.94 8293.07
swing 2.36364 2.36364 2.36364 2.36364 2.36364 2.36364 2.36364 2.36364
phs 2.21987 2.23482 2.23195 2.21393 2.21976 2.21369 2.20674 2.19454
reck 0.364552 0.327442 0.336184 0.398186 0.402509 0.392405 0.379216 0.358638
wswing 1.62681 1.68356 1.67039 1.58343 1.58271 1.58983 1.6 1.61525
wdps 4217.15 3699.08 4031.04 4404.12 4724.73 4614.56 5075.18 5456.62
hopo 3 3 3 3 3 3 3 3
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Ability Damage
Setup:
Race: Human (hardly matters)
Talents: 0/32/9 with all prot damage talents + Crusade + Rule of Law
Glyphs: SoT only
Seal: Truth (for glyph), Insight
Gear: T13 Heroic raid set
Rotation: N/A
Buffs: Full raid, 100% Vengeance
Code: calc_abilitydmg.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
This sim just calculates the damage of each ability under certain circumstances. This is mostly for sanity-checking, as these are the numbers that end up going into the simulations that matter.
Raw is the damage (healing for WoG/SoI) one would expect on a regular hit without target damage reduction. Dmg incorporates damage redux, hit/miss, and crit factors. Net incorporates seal procs into each ability as appropriate. Glyph is the same as "Dmg," but with that ability's glyph active. Censure damage is for a 5-stack over 15 seconds, and Consecration is a full 10 ticks. "HaNova" is HotR's AoE "holy nova" component.
I've calculated this twice, once with Seal of Truth active and once with Seal of Insight active. The case with SoI active doesn't have the extra 10 expertise from the SoT glyph, though both data sets use the same 0/32/9 build.
Here's a plot of "Dmg" for each ability, which is basically the effective damage per cast (ignoring seal procs), to give you some feeling of the damage range we're talking about:

It's worth noting that Holy Wrath, which doesn't scale with AP at all, is absolutely terrible for us in Cataclysm. It's the weakest spell in our arsenal, and will turn out to be low priority even in AoE.
Crusader Strike, on the other hand, is now a formidable chunk of damage. It edges out HotR by a good margin, and should continue to outpace it as gear improves.
The buff to Judgement damage has brought it up to the level of AS and SotR. Remember, however, that this isn't accounting for rotational buffs (i.e. Sacred Duty), which will bring SotR's damage per cast up significantly.
A fairer comparison would include Seal of Truth damage in the abilities that proc seals (SotR, CS, HotR, J, HoW, AS, and Exor).

Now that almost everything procs seals, this plot is somewhat less informative than it has been in the past. It primarily shows that Cons and Holy Wrath take a backseat to just about anything else.
Finally, here's a data set where we've calculated net ability damage at two different Vengeance levels (100% and 30%) and two different hit/exp levels (2%/10 vs. 8%/26) with SoT active, as well as two cases with SoI active:

These are all glyphed damages plotted here, and we've included seal procs. I haven't plotted the SoI values simply because the graph gets too cluttered to read easily. There's not much to say here, the trends are pretty much predictable. High vengeance is better than low vengeance, high hit/exp is better than low hit/exp. The main thing to note is that SotR and Crusader Strike see larger increases due to their dependence on expertise. If we were to just vary hit, the difference wouldn't be as significant. Conversely, if we only varied expertise, the other abilities would see no change.
Setup:
Race: Human (hardly matters)
Talents: 0/32/9 with all prot damage talents + Crusade + Rule of Law
Glyphs: SoT only
Seal: Truth (for glyph), Insight
Gear: T13 Heroic raid set
Rotation: N/A
Buffs: Full raid, 100% Vengeance
Code: calc_abilitydmg.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
This sim just calculates the damage of each ability under certain circumstances. This is mostly for sanity-checking, as these are the numbers that end up going into the simulations that matter.
- Code: Select all
SoT, 2%/10 SoI, 2%/10
Damage/Healing Damage/Healing
Ability Raw Dmg Net Glyph Raw Dmg Glyph
SotR 28401 22784 24500 25062 28401 21305 23435
WoG 37644 46493 46493 51143 37644 46493 53467
CS 19680 18061 19408 18819 19680 16888 17597
HotR 2627 2411 3758 2596 2627 2254 2428
AS 21335 20894 22507 27162 21335 20894 27162
Cons 12987 12814 12814 15377 12987 12814 15377
Exor 16997 16771 18373 20125 16997 16771 20125
HoW 20771 25782 27395 25782 20771 25782 25782
HW 5236 5899 5899 5899 5236 5899 5899
Jud 26797 26244 27857 27556 15078 14767 15505
HaNova 10542 9368 9368 10089 10542 8771 9446
SoI 6780 4407 0 4407 6780 4407 4407
SoJ 713 703 0 703 713 703 703
SoR 1568 1634 0 1634 1568 1634 1634
SoT 1647 1716 0 1716 1647 1716 1716
Melee 6736 5065 6412 5065 6736 4728 4728
Cens 32300 33655 33655 33655 32300 33655 33655
Raw is the damage (healing for WoG/SoI) one would expect on a regular hit without target damage reduction. Dmg incorporates damage redux, hit/miss, and crit factors. Net incorporates seal procs into each ability as appropriate. Glyph is the same as "Dmg," but with that ability's glyph active. Censure damage is for a 5-stack over 15 seconds, and Consecration is a full 10 ticks. "HaNova" is HotR's AoE "holy nova" component.
I've calculated this twice, once with Seal of Truth active and once with Seal of Insight active. The case with SoI active doesn't have the extra 10 expertise from the SoT glyph, though both data sets use the same 0/32/9 build.
Here's a plot of "Dmg" for each ability, which is basically the effective damage per cast (ignoring seal procs), to give you some feeling of the damage range we're talking about:

It's worth noting that Holy Wrath, which doesn't scale with AP at all, is absolutely terrible for us in Cataclysm. It's the weakest spell in our arsenal, and will turn out to be low priority even in AoE.
Crusader Strike, on the other hand, is now a formidable chunk of damage. It edges out HotR by a good margin, and should continue to outpace it as gear improves.
The buff to Judgement damage has brought it up to the level of AS and SotR. Remember, however, that this isn't accounting for rotational buffs (i.e. Sacred Duty), which will bring SotR's damage per cast up significantly.
A fairer comparison would include Seal of Truth damage in the abilities that proc seals (SotR, CS, HotR, J, HoW, AS, and Exor).

Now that almost everything procs seals, this plot is somewhat less informative than it has been in the past. It primarily shows that Cons and Holy Wrath take a backseat to just about anything else.
Finally, here's a data set where we've calculated net ability damage at two different Vengeance levels (100% and 30%) and two different hit/exp levels (2%/10 vs. 8%/26) with SoT active, as well as two cases with SoI active:
- Code: Select all
Glyphed Damage
-----------SoT---------- ----SoI----
Veng: 100% 100% 30% 30% 100% 30%
Hit/Exp low high low high low low
SotR 26779 31335 16786 19631 23435 14632
WoG 51143 51143 35168 35168 53467 36766
CS 20166 23828 13494 15945 17597 11783
HotR 3944 4656 2615 3088 2428 1610
AS 28775 30612 18747 19944 27162 17677
Cons 15377 16473 9692 10384 15377 9692
Exor 21727 23276 13945 14940 20125 12883
HoW 27395 29170 18244 19427 25782 17174
HW 5899 6320 5899 6320 5899 5899
Jud 29169 31031 18233 19397 15505 9654
HaNova 10089 11888 6107 7196 9446 5718
Melee 6412 7595 4252 5037 4728 3135
Cens 33655 33655 19650 19650 33655 19650

These are all glyphed damages plotted here, and we've included seal procs. I haven't plotted the SoI values simply because the graph gets too cluttered to read easily. There's not much to say here, the trends are pretty much predictable. High vengeance is better than low vengeance, high hit/exp is better than low hit/exp. The main thing to note is that SotR and Crusader Strike see larger increases due to their dependence on expertise. If we were to just vary hit, the difference wouldn't be as significant. Conversely, if we only varied expertise, the other abilities would see no change.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Single-Target Rotation Simulations
Setup:
Race: Human (hardly matters)
Talents: 0/32/9
Glyphs: Two sets, #1 is SoT/SotR/HotR/CS for Prime (yes, 4 primes), AS/Cons for Major, #2 is SoI/WoG/HotR/CS for Prime, AS/Cons for Major.
Seal: SoT, SoI
Gear: T13 Heroic raid set
Rotation: N/A
Buffs: Full raid, 100%/30% Vengeance
Code: calc_rot_st.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
The old priority simulation code has been retired in favor of a new Finite-State Machine formalism. For more details about how the FSM code works, see this post. The short short version is that the FSM sim is much faster and far more accurate - where the old priority code could take hours and still show variations of 100 DPS from run to run, the FSM code takes seconds and is accurate down to a couple DPS.
We've had to change some of the abbreviations used when transitioning to the new code structure. Here's an overview of the new nomenclature:
The simulation has extremely tight error tolerances, giving us accuracy down to ~1 DPS. So any difference in the output of two queues can be considered statistically significant from a purely mathematical point of view. However, keep in mind that the results are only as good as the model, and the model is Patchwerk with no latency. So talking about differences smaller than 10-25 DPS is probably still meaningless, even if our numerical accuracy is better than that.
Damage, self-healing, DPS, and TPS are calculated in post-processing. The tables below show two columns for DPS, and two columns for Self-Healing Per Second (SHPS); the first in each case is for 100% Vengeance and the second is for 30% Vengeance. I've removed the TPS columns since they're basically irrelevant now.
I've also included some informational fields. "E%" is the percentage of empty GCDs in a queue, while "I%" is Inquisition uptime. In addition, I've added a "mps" field that tracks mana consumption. It's calculated as (JotW+BoMight+Sanctuary+Replenishment)-(mana cost of spells), so a positive number means that the rotation is stable (and we actually gain mana), while a negative number means the rotation isn't sustainable long-term.
To make sifting through the queues easier, I've put a short list of the most relevant queues first. Complete queue lists for each Seal/talent/hit/expertise combination are given afterward.
Abbreviated list using SoT, 2% hit, 10 expertise
#1) SoT active, 2% hit, 10 expertise
#2) SoI active, 2% hit, 10 expertise
#3) SoT active, 8% hit, 26 expertise
There's lots of data to parse here, so I'm going to try and focus on the highlights.
TLDR Summary
Setup:
Race: Human (hardly matters)
Talents: 0/32/9
Glyphs: Two sets, #1 is SoT/SotR/HotR/CS for Prime (yes, 4 primes), AS/Cons for Major, #2 is SoI/WoG/HotR/CS for Prime, AS/Cons for Major.
Seal: SoT, SoI
Gear: T13 Heroic raid set
Rotation: N/A
Buffs: Full raid, 100%/30% Vengeance
Code: calc_rot_st.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
The old priority simulation code has been retired in favor of a new Finite-State Machine formalism. For more details about how the FSM code works, see this post. The short short version is that the FSM sim is much faster and far more accurate - where the old priority code could take hours and still show variations of 100 DPS from run to run, the FSM code takes seconds and is accurate down to a couple DPS.
We've had to change some of the abbreviations used when transitioning to the new code structure. Here's an overview of the new nomenclature:
- SD and sd are prefixes that stand for the conditionals "iff Sacred Duty active" and "iff Sacred Duty not active," respectively. In other words, "sdJ" means that in a case where you have 3 Holy Power, no Sacred Duty buff, and Judgement is off of cooldown, you prioritize Judgement (instead of just casting SotR) to "fish" for a Sacred Duty proc. "SDSotR", on the other hand, would mean that you only cast SotR if Sacred Duty is active.
- The I and i prefixes represent Inquisition conditionals in the same fashion. So "ISotR" means "cast SotR only when Inq is active," while "iInq" would be "cast Inq only if it's not already active." This takes the place of the old asterisk suffix from previous sims.
- The + suffix represents "only if this will grant Holy Power." For the moment, it's only relevant to AS. "AS+" thus means "AS if it will grant holy power" (i.e. Grand Crusader is active).
- Inq is now coded like every other spell, so a flat "Inq" entry will cast it regardless of the buff status.
- SotR# stands for an #-point SotR. If the number is omitted, it's assumed to be a 3-pointer.
- We can add more complicated conditionals for each spell in brackets. The formalism is [<property><ability><relation><value>]. As an example, if we want to only use an ability if the cooldown on WoG is 10 seconds or longer we'd write the conditional [cdWog>10], and if we want to use something only if Inquisition is still active we'd write [buffInq>0].
- The absorb bubbles from the T13 2-piece bonus are included in the self-healing statistics.
The simulation has extremely tight error tolerances, giving us accuracy down to ~1 DPS. So any difference in the output of two queues can be considered statistically significant from a purely mathematical point of view. However, keep in mind that the results are only as good as the model, and the model is Patchwerk with no latency. So talking about differences smaller than 10-25 DPS is probably still meaningless, even if our numerical accuracy is better than that.
Damage, self-healing, DPS, and TPS are calculated in post-processing. The tables below show two columns for DPS, and two columns for Self-Healing Per Second (SHPS); the first in each case is for 100% Vengeance and the second is for 30% Vengeance. I've removed the TPS columns since they're basically irrelevant now.
I've also included some informational fields. "E%" is the percentage of empty GCDs in a queue, while "I%" is Inquisition uptime. In addition, I've added a "mps" field that tracks mana consumption. It's calculated as (JotW+BoMight+Sanctuary+Replenishment)-(mana cost of spells), so a positive number means that the rotation is stable (and we actually gain mana), while a negative number means the rotation isn't sustainable long-term.
To make sifting through the queues easier, I've put a short list of the most relevant queues first. Complete queue lists for each Seal/talent/hit/expertise combination are given afterward.
Abbreviated list using SoT, 2% hit, 10 expertise
- Code: Select all
DPS SHPS E I mps
Q# Priority V=100% V=30% V=100% V=30% % %
1 SotR>CS>J>AS 22616 14752 2054 1806 7.4 0.0 224
2 SotR>CS>AS>J 22613 14768 1945 1749 7.3 0.0 95
7 SotR>CS>AS+>J>AS 22633 14774 1982 1769 7.2 0.0 138
19 SotR>CS>AS+>J>AS>Cons>HW 23160 15182 1973 1764 1.6 0.0 -315
32 SDSotR>ISotR>Inq>CS>AS+>J>AS 22980 14988 2007 1768 7.3 40.0 130
40 SDSotR>ISotR>Inq>CS>AS+>J>AS>Cons>HW 23548 15430 1995 1761 1.6 40.3 -327
44 WoG>CS>AS+>J>AS 18602 12258 4132 3208 11.0 0.0 120
48 WoG>SotR>CS>AS+>J>AS 20887 13678 3773 2983 7.4 0.0 128
50 WoG>SotR>CS>AS+>J>AS>Cons>HW 21427 14096 3757 2974 1.6 0.0 -330
59 SotR>CS>AS>HoW>J 24375 15981 1748 1628 0.3 0.0 -347
69 SotR>CS>J>AS>HoW>Cons>HW 24454 15979 2039 1798 0.0 0.0 -87
75 ISotR>SDSotR>Inq>CS>AS>HoW>J>Cons>HW 24975 16368 1737 1603 0.0 43.0 -396
#1) SoT active, 2% hit, 10 expertise
- Code: Select all
DPS SHPS E I mps
Q# Priority V=100% V=30% V=100% V=30% % %
1 SotR>CS>J>AS 22616 14752 2054 1806 7.4 0.0 224
2 SotR>CS>AS>J 22613 14768 1945 1749 7.3 0.0 95
3 SotR>HotR>AS>J 20702 13281 1945 1749 7.3 0.0 95
4 SotR>CS>J[cdCS>0.5]>AS 22615 14751 2054 1805 7.4 0.0 224
5 SotR>AS>CS>J 22450 14649 1977 1761 8.4 0.0 170
6 SotR>J>CS>AS 22271 14519 2064 1803 8.8 0.0 306
7 SotR>CS>AS+>J>AS 22633 14774 1982 1769 7.2 0.0 138
8 SotR>CS>AS+>J[cdCS>0.5]>AS 22631 14773 1981 1768 7.2 0.0 137
9 SotR>AS+>CS>AS>J 22640 14776 1977 1765 7.6 0.0 146
10 SotR>AS[buffGC<2][buffGC>0]>CS>AS+>J>AS 22638 14777 1982 1769 7.2 0.0 138
11 SotR>CS>AS>J>HW 22862 15025 1934 1743 2.8 0.0 -124
12 SotR>CS>J>AS>HW 22849 14996 2043 1799 3.0 0.0 16
13 SotR>CS>AS>J>Cons 22943 14976 1939 1746 5.1 0.0 -197
14 SotR>CS>J>AS>Cons 22944 14959 2048 1802 5.2 0.0 -72
15 SotR>CS>AS>J>HW>Cons 23108 15180 1933 1743 1.2 0.0 -332
16 SotR>CS>J>AS>HW>Cons 23113 15162 2041 1798 1.3 0.0 -207
17 SotR>CS>AS>J>Cons>HW 23142 15179 1933 1743 1.6 0.0 -363
18 SotR>CS>J>AS>Cons>HW 23143 15162 2041 1798 1.7 0.0 -234
19 SotR>CS>AS+>J>AS>Cons>HW 23160 15182 1973 1764 1.6 0.0 -315
20 SotR>AS+>CS>AS>J>Cons>HW 23140 15174 1954 1752 1.8 0.0 -332
21 sdAS>sdJ>SotR>CS>AS>J>Cons>HW 22685 14862 2016 1765 4.3 0.0 -214
22 Inq>CS>AS>J 20391 13371 1977 1719 7.7 94.1 73
23 Inq>HotR>J>AS 19512 12484 2123 1801 7.8 93.3 201
24 Inq>CS>J>AS 20570 13463 2123 1801 7.8 93.3 201
25 Inq>CS>AS+>J>AS 20398 13369 2018 1741 7.6 94.1 113
26 Inq>AS+>CS>AS>J 20508 13435 2026 1746 8.0 93.9 127
27 Inq[buffInq<2]>SotR>CS>J>AS 22074 14406 2121 1816 7.7 74.0 211
28 ISotR>Inq>CS>J>AS 22243 14512 2116 1815 7.6 70.1 212
29 SDSotR>Inq>CS>J>AS 22874 14909 2089 1809 7.5 41.0 216
30 SDSotR>ISotR>Inq>CS>J>AS 22945 14954 2087 1811 7.5 36.1 218
31 SDSotR>ISotR>Inq>CS>AS>J 22960 14981 1969 1747 7.4 40.1 88
32 SDSotR>ISotR>Inq>CS>AS+>J>AS 22980 14988 2007 1768 7.3 40.0 130
33 ISDSotR>Inq>CS>AS>J 22178 14490 1984 1738 7.6 78.1 80
34 Inq>CS>AS>J>Cons>HW 21076 13906 1963 1710 1.8 94.2 -398
35 Inq>HotR>AS>J>Cons>HW 20006 12914 1963 1710 1.8 94.2 -398
36 ISotR>Inq>CS>AS>J>Cons>HW 22909 15043 1971 1736 1.7 72.6 -383
37 SDSotR>Inq>CS>AS>J>Cons>HW 23410 15354 1953 1733 1.7 46.5 -377
38 SDSotR>ISotR>Inq>CS>AS>J>Cons>HW 23532 15428 1954 1739 1.7 40.5 -373
39 SDSotR>ISotR>Inq>CS>J>AS>Cons>HW 23496 15388 2068 1800 1.7 36.5 -245
40 SDSotR>ISotR>Inq>CS>AS+>J>AS>Cons>HW 23548 15430 1995 1761 1.6 40.3 -327
41 ISDSotR>Inq>CS>AS>J>Cons>HW 22803 14979 1968 1728 1.7 78.4 -387
42 WoG>CS>J>AS 18387 12115 4128 3201 11.7 0.0 146
43 WoG>SotR>CS>J>AS 20841 13637 3838 3015 7.6 0.0 216
44 WoG>CS>AS+>J>AS 18602 12258 4132 3208 11.0 0.0 120
45 WoG>SotR[cdWoG>10]>CS>J>AS 19489 12800 4151 3223 9.5 0.0 174
46 WoG>Inq>CS>J>AS 19701 12918 3879 3012 7.8 61.2 201
47 WoG>CS>J>AS>Cons>HW 19018 12611 4128 3201 4.8 0.0 -371
48 WoG>SotR>CS>AS+>J>AS 20887 13678 3773 2983 7.4 0.0 128
49 WoG>SotR>CS>J>AS>Cons>HW 21386 14061 3809 2997 1.7 0.0 -249
50 WoG>SotR>CS>AS+>J>AS>Cons>HW 21427 14096 3757 2974 1.6 0.0 -330
51 WoG>SotR2>CS>J>AS>Cons>HW 20927 13739 2046 1818 0.4 0.0 -121
52 WoG>Inq>CS>J>AS>Cons>HW 20326 13409 3840 2988 1.9 62.3 -273
53 WoG>Inq>AS+>CS>J>AS>Cons>HW 20323 13414 3789 2958 2.0 64.6 -323
54 WoG>ISotR>Inq>CS>J>AS>Cons>HW 20979 13814 3840 2996 1.8 48.3 -265
55 WoG>SDSotR>ISotR>Inq>CS>J>AS>Cons>HW 21506 14139 3823 2996 1.8 23.1 -256
56 SotR>CS>J>AS>HoW 24294 15873 2039 1798 1.2 0.0 45
57 SotR>CS>AS>J>HoW 24163 15802 1933 1742 1.6 0.0 -73
58 SotR>CS>J>HoW>AS 24037 15725 2000 1754 0.8 0.0 -22
59 SotR>CS>AS>HoW>J 24375 15981 1748 1628 0.3 0.0 -347
60 SotR>CS>HoW>AS>J 24170 15871 1657 1557 0.3 0.0 -466
61 SotR>HoW>CS>AS>J 24013 15766 1649 1536 1.1 0.0 -438
62 HoW>SotR>CS>AS>J 23849 15660 1644 1523 1.6 0.0 -420
63 SotR>CS>AS+>J>AS>HoW 24204 15823 1972 1763 1.4 0.0 -30
64 SotR>CS>AS+>J>HoW>AS 24139 15785 1951 1743 1.3 0.0 -53
65 SotR>CS>AS+>HoW>J>AS 24304 15927 1795 1643 0.2 0.0 -279
66 SotR>CS>AS+>HoW>AS>J 24317 15952 1707 1598 0.2 0.0 -400
67 SotR>CS>HoW>AS+>J>AS 24152 15835 1787 1624 0.3 0.0 -284
68 SotR>CS>AS>HoW>J>Cons>HW 24417 16008 1748 1628 0.0 0.0 -382
69 SotR>CS>J>AS>HoW>Cons>HW 24454 15979 2039 1798 0.0 0.0 -87
70 SotR>CS>AS>J>HoW>Cons>HW 24364 15939 1933 1742 0.0 0.0 -241
71 SotR>CS>J>HoW>AS>Cons>HW 24147 15797 2000 1754 0.0 0.0 -114
72 SotR>CS>HoW>AS>J>Cons>HW 24217 15901 1657 1557 0.0 0.0 -505
73 SotR>HoW>CS>AS>J>Cons>HW 24101 15829 1629 1524 0.0 0.0 -602
74 HoW>SotR>CS>AS>J>Cons>HW 23988 15761 1618 1507 0.0 0.0 -637
75 ISotR>SDSotR>Inq>CS>AS>HoW>J>Cons>HW 24975 16368 1737 1603 0.0 43.0 -396
76 ISotR>SDSotR>Inq>CS>AS>J>HoW>Cons>HW 24891 16274 1953 1738 0.0 40.5 -252
77 ISotR>SDSotR>Inq>CS>J>AS>HoW>Cons>HW 24954 16296 2064 1798 0.0 36.6 -98
78 ISotR>SDSotR>Inq>CS>J>HoW>AS>Cons>HW 24592 16081 2028 1755 0.0 37.9 -126
79 ISotR>SDSotR>Inq>CS>HoW>J>AS>Cons>HW 24516 16060 1921 1678 0.0 41.6 -183
80 ISotR>SDSotR>Inq>CS>HoW>AS>J>Cons>HW 24778 16268 1637 1525 0.0 43.9 -521
#2) SoI active, 2% hit, 10 expertise
- Code: Select all
DPS SHPS E I mps
Q# Priority V=100% V=30% V=100% V=30% % %
1 SotR>CS>J>AS 16036 10634 5741 3988 7.7 0.0 665
2 SotR>CS>AS>J 16229 10770 5689 3965 7.7 0.0 544
3 SotR>HotR>AS>J 14460 9393 5689 3965 7.7 0.0 544
4 SotR>CS>J[cdCS>0.5]>AS 16036 10634 5741 3987 7.7 0.0 664
5 SotR>AS>CS>J 16019 10624 5672 3948 8.8 0.0 608
6 SotR>J>CS>AS 15700 10408 5701 3955 9.1 0.0 741
7 SotR>CS>AS+>J>AS 16176 10731 5712 3976 7.6 0.0 590
8 SotR>CS>AS+>J[cdCS>0.5]>AS 16177 10731 5711 3976 7.6 0.0 589
9 SotR>AS+>CS>AS>J 16190 10738 5696 3966 8.0 0.0 587
10 SotR>AS[buffGC<2][buffGC>0]>CS>AS+>J>AS 16182 10734 5712 3976 7.6 0.0 590
11 SotR>CS>AS>J>HW 16503 11044 5681 3961 3.2 0.0 322
12 SotR>CS>J>AS>HW 16288 10891 5732 3982 3.4 0.0 455
13 SotR>CS>AS>J>Cons 16574 10988 5684 3963 5.5 0.0 250
14 SotR>CS>J>AS>Cons 16377 10849 5735 3984 5.5 0.0 367
15 SotR>CS>AS>J>HW>Cons 16767 11210 5680 3961 1.5 0.0 101
16 SotR>CS>J>AS>HW>Cons 16566 11065 5731 3982 1.6 0.0 222
17 SotR>CS>AS>J>Cons>HW 16793 11206 5680 3961 1.9 0.0 77
18 SotR>CS>J>AS>Cons>HW 16591 11064 5731 3982 1.9 0.0 199
19 SotR>CS>AS+>J>AS>Cons>HW 16731 11158 5705 3972 1.8 0.0 128
20 SotR>AS+>CS>AS>J>Cons>HW 16752 11177 5679 3957 2.1 0.0 102
21 sdAS>sdJ>SotR>CS>AS>J>Cons>HW 16253 10843 5604 3889 4.5 0.0 202
22 Inq>CS>AS>J 13525 9091 5344 3712 8.2 91.2 450
23 Inq>HotR>J>AS 12402 8074 5432 3758 8.3 90.2 573
24 Inq>CS>J>AS 13419 9008 5432 3758 8.3 90.2 573
25 Inq>CS>AS+>J>AS 13453 9040 5369 3724 8.1 91.2 493
26 Inq>AS+>CS>AS>J 13540 9094 5365 3722 8.6 91.0 498
27 Inq[buffInq<2]>SotR>CS>J>AS 14685 9797 5536 3834 8.1 73.6 603
28 ISotR>Inq>CS>J>AS 14900 9931 5552 3846 8.1 69.4 607
29 SDSotR>Inq>CS>J>AS 15820 10503 5626 3902 7.9 39.2 630
30 SDSotR>ISotR>Inq>CS>J>AS 15916 10563 5646 3916 7.9 35.1 636
31 SDSotR>ISotR>Inq>CS>AS>J 16106 10697 5578 3883 7.9 38.5 513
32 SDSotR>ISotR>Inq>CS>AS+>J>AS 16053 10658 5603 3895 7.8 38.3 558
33 ISDSotR>Inq>CS>AS>J 15012 10019 5445 3785 8.1 76.6 476
34 Inq>CS>AS>J>Cons>HW 14253 9658 5332 3705 2.1 91.3 -34
35 Inq>HotR>AS>J>Cons>HW 13230 8716 5332 3705 2.1 91.3 -34
36 ISotR>Inq>CS>AS>J>Cons>HW 15813 10617 5473 3808 2.0 71.4 10
37 SDSotR>Inq>CS>AS>J>Cons>HW 16583 11091 5537 3855 2.0 43.9 32
38 SDSotR>ISotR>Inq>CS>AS>J>Cons>HW 16716 11171 5568 3877 2.0 38.9 41
39 SDSotR>ISotR>Inq>CS>J>AS>Cons>HW 16511 11026 5632 3908 2.0 35.3 164
40 SDSotR>ISotR>Inq>CS>AS+>J>AS>Cons>HW 16654 11124 5594 3890 1.9 38.6 90
41 ISDSotR>Inq>CS>AS>J>Cons>HW 15684 10541 5433 3778 2.1 76.9 -2
42 WoG>CS>J>AS 12694 8557 7883 5456 11.8 0.0 525
43 WoG>SotR>CS>J>AS 14545 9701 7640 5288 8.0 0.0 626
44 WoG>CS>AS+>J>AS 12901 8694 7921 5483 11.2 0.0 508
45 WoG>SotR[cdWoG>10]>CS>J>AS 13472 9038 7944 5497 9.9 0.0 565
46 WoG>Inq>CS>J>AS 13035 8762 7456 5152 8.3 56.6 573
47 WoG>CS>J>AS>Cons>HW 13327 9055 7883 5456 4.9 0.0 7
48 WoG>SotR>CS>AS+>J>AS 14712 9815 7616 5281 7.8 0.0 550
49 WoG>SotR>CS>J>AS>Cons>HW 15117 10143 7615 5273 2.0 0.0 153
50 WoG>SotR>CS>AS+>J>AS>Cons>HW 15279 10252 7603 5273 1.9 0.0 82
51 WoG>SotR2>CS>J>AS>Cons>HW 14794 9906 5574 3902 0.6 0.0 271
52 WoG>Inq>CS>J>AS>Cons>HW 13694 9277 7418 5127 2.2 57.4 87
53 WoG>Inq>AS+>CS>J>AS>Cons>HW 13778 9336 7379 5106 2.4 59.7 39
54 WoG>ISotR>Inq>CS>J>AS>Cons>HW 14242 9614 7478 5171 2.1 46.8 105
55 WoG>SDSotR>ISotR>Inq>CS>J>AS>Cons>HW 14987 10070 7550 5225 2.1 21.5 131
56 SotR>CS>J>AS>HoW 17678 11730 5995 4141 1.4 0.0 538
57 SotR>CS>AS>J>HoW 17750 11785 5923 4107 1.9 0.0 422
58 SotR>CS>J>HoW>AS 17497 11629 5974 4110 1.0 0.0 477
59 SotR>CS>AS>HoW>J 18325 12190 5879 4079 0.4 0.0 158
60 SotR>CS>HoW>AS>J 18278 12179 5823 4031 0.4 0.0 40
61 SotR>HoW>CS>AS>J 18123 12076 5800 4002 1.2 0.0 73
62 HoW>SotR>CS>AS>J 17988 11991 5788 3986 1.6 0.0 82
63 SotR>CS>AS+>J>AS>HoW 17722 11762 5953 4122 1.6 0.0 469
64 SotR>CS>AS+>J>HoW>AS 17676 11736 5940 4106 1.5 0.0 448
65 SotR>CS>AS+>HoW>J>AS 18157 12077 5895 4075 0.2 0.0 217
66 SotR>CS>AS+>HoW>AS>J 18341 12207 5855 4059 0.3 0.0 102
67 SotR>CS>HoW>AS+>J>AS 18011 11990 5881 4054 0.3 0.0 209
68 SotR>CS>AS>HoW>J>Cons>HW 18387 12230 5879 4079 0.0 0.0 106
69 SotR>CS>J>AS>HoW>Cons>HW 17863 11853 5995 4141 0.0 0.0 384
70 SotR>CS>AS>J>HoW>Cons>HW 17979 11942 5923 4107 0.0 0.0 232
71 SotR>CS>J>HoW>AS>Cons>HW 17633 11718 5974 4110 0.0 0.0 363
72 SotR>CS>HoW>AS>J>Cons>HW 18341 12219 5823 4031 0.0 0.0 -12
73 SotR>HoW>CS>AS>J>Cons>HW 18268 12176 5778 3989 0.0 0.0 -108
74 HoW>SotR>CS>AS>J>Cons>HW 18187 12129 5761 3970 0.0 0.0 -140
75 ISotR>SDSotR>Inq>CS>AS>HoW>J>Cons>HW 18510 12326 5750 3984 0.0 41.1 66
76 ISotR>SDSotR>Inq>CS>AS>J>HoW>Cons>HW 18041 11994 5816 4027 0.0 38.9 196
77 ISotR>SDSotR>Inq>CS>J>AS>HoW>Cons>HW 17931 11908 5901 4070 0.0 35.4 350
78 ISotR>SDSotR>Inq>CS>J>HoW>AS>Cons>HW 17638 11735 5877 4037 0.0 36.6 327
79 ISotR>SDSotR>Inq>CS>HoW>J>AS>Cons>HW 17753 11837 5824 3994 0.0 40.1 265
80 ISotR>SDSotR>Inq>CS>HoW>AS>J>Cons>HW 18476 12328 5682 3928 0.0 42.4 -58
#3) SoT active, 8% hit, 26 expertise
- Code: Select all
DPS SHPS E I mps
Q# Priority V=100% V=30% V=100% V=30% % %
1 SotR>CS>J>AS 28048 18343 2547 2256 5.2 0.0 248
2 SotR>CS>AS>J 28082 18399 2375 2169 5.0 0.0 47
3 SotR>HotR>AS>J 25526 16413 2375 2169 5.0 0.0 47
4 SotR>CS>J[cdCS>0.5]>AS 28048 18343 2547 2256 5.2 0.0 248
5 SotR>AS>CS>J 27773 18174 2426 2185 6.4 0.0 159
6 SotR>J>CS>AS 27862 18219 2540 2247 5.9 0.0 260
7 SotR>CS>AS+>J>AS 28104 18406 2410 2188 4.9 0.0 72
8 SotR>CS>AS+>J[cdCS>0.5]>AS 28104 18406 2410 2188 4.9 0.0 72
9 SotR>AS+>CS>AS>J 28092 18386 2441 2201 5.3 0.0 139
10 SotR>AS[buffGC<2][buffGC>0]>CS>AS+>J>AS 28104 18406 2410 2188 4.9 0.0 72
11 SotR>CS>AS>J>HW 28285 18637 2348 2154 0.6 0.0 -184
12 SotR>CS>J>AS>HW 28280 18599 2510 2238 0.9 0.0 6
13 SotR>CS>AS>J>Cons 28379 18587 2359 2160 3.0 0.0 -239
14 SotR>CS>J>AS>Cons 28335 18531 2514 2238 3.0 0.0 -52
15 SotR>CS>AS>J>HW>Cons 28367 18689 2347 2154 0.1 0.0 -252
16 SotR>CS>J>AS>HW>Cons 28418 18683 2499 2232 0.1 0.0 -119
17 SotR>CS>AS>J>Cons>HW 28519 18742 2348 2154 0.3 0.0 -374
18 SotR>CS>J>AS>Cons>HW 28521 18713 2500 2233 0.4 0.0 -201
19 SotR>CS>AS+>J>AS>Cons>HW 28537 18743 2389 2176 0.3 0.0 -334
20 SotR>AS+>CS>AS>J>Cons>HW 28435 18678 2386 2169 0.6 0.0 -320
21 sdAS>sdJ>SotR>CS>AS>J>Cons>HW 27541 18083 2416 2152 3.4 0.0 -216
22 Inq>CS>AS>J 24197 15943 2335 2068 5.0 100.0 47
23 Inq>HotR>J>AS 23351 14983 2592 2213 5.2 100.0 248
24 Inq>CS>J>AS 24608 16166 2592 2213 5.2 100.0 248
25 Inq>CS>AS+>J>AS 24234 15959 2384 2095 4.9 100.0 72
26 Inq>AS+>CS>AS>J 24383 16042 2435 2123 5.3 100.0 139
27 Inq[buffInq<2]>SotR>CS>J>AS 27742 18137 2607 2257 5.2 70.7 248
28 ISotR>Inq>CS>J>AS 27742 18137 2607 2257 5.2 70.7 248
29 SDSotR>Inq>CS>J>AS 28408 18558 2583 2253 5.2 45.6 248
30 SDSotR>ISotR>Inq>CS>J>AS 28505 18621 2580 2257 5.2 38.0 248
31 SDSotR>ISotR>Inq>CS>AS>J 28527 18669 2389 2155 5.0 46.3 47
32 SDSotR>ISotR>Inq>CS>AS+>J>AS 28550 18676 2428 2176 4.9 45.8 72
33 ISDSotR>Inq>CS>AS>J 27709 18149 2384 2128 5.0 82.3 47
34 Inq>CS>AS>J>Cons>HW 24766 16389 2299 2046 0.3 100.0 -374
35 Inq>HotR>AS>J>Cons>HW 23453 15153 2299 2046 0.3 100.0 -374
36 ISotR>Inq>CS>AS>J>Cons>HW 28355 18637 2360 2123 0.3 77.1 -374
37 SDSotR>Inq>CS>AS>J>Cons>HW 28712 18858 2343 2117 0.3 56.7 -374
38 SDSotR>ISotR>Inq>CS>AS>J>Cons>HW 28983 19029 2355 2135 0.3 47.1 -374
39 SDSotR>ISotR>Inq>CS>J>AS>Cons>HW 28942 18974 2519 2224 0.4 41.4 -201
40 SDSotR>ISotR>Inq>CS>AS+>J>AS>Cons>HW 28993 19025 2399 2158 0.3 46.8 -334
41 ISDSotR>Inq>CS>AS>J>Cons>HW 28202 18539 2345 2104 0.3 82.7 -374
42 WoG>CS>J>AS 22038 14589 4509 3567 11.1 0.0 136
43 WoG>SotR>CS>J>AS 25976 17036 4308 3447 5.2 0.0 248
44 WoG>CS>AS+>J>AS 22295 14761 4509 3573 10.3 0.0 102
45 WoG>SotR[cdWoG>10]>CS>J>AS 24168 15910 4604 3646 7.9 0.0 174
46 WoG>Inq>CS>J>AS 23944 15747 4362 3434 5.2 80.4 248
47 WoG>CS>J>AS>Cons>HW 22704 15111 4509 3567 4.3 0.0 -373
48 WoG>SotR>CS>AS+>J>AS 26032 17099 4272 3448 4.9 0.0 72
49 WoG>SotR>CS>J>AS>Cons>HW 26463 17415 4305 3454 0.4 0.0 -201
50 WoG>SotR>CS>AS+>J>AS>Cons>HW 26480 17445 4262 3443 0.3 0.0 -334
51 WoG>SotR2>CS>J>AS>Cons>HW 25275 16645 2460 2230 0.0 0.0 -80
52 WoG>Inq>CS>J>AS>Cons>HW 24388 16111 4333 3423 0.4 81.7 -201
53 WoG>Inq>AS+>CS>J>AS>Cons>HW 24319 16082 4280 3394 0.5 83.2 -280
54 WoG>ISotR>Inq>CS>J>AS>Cons>HW 26221 17261 4327 3443 0.4 48.8 -201
55 WoG>SDSotR>ISotR>Inq>CS>J>AS>Cons>HW 26601 17499 4319 3448 0.4 29.8 -201
56 SotR>CS>J>AS>HoW 29470 19306 2498 2232 0.0 0.0 54
57 SotR>CS>AS>J>HoW 29504 19352 2347 2154 0.0 0.0 -115
58 SotR>CS>J>HoW>AS 28719 18845 2456 2163 0.0 0.0 -12
59 SotR>CS>AS>HoW>J 29280 19246 2147 2029 0.0 0.0 -359
60 SotR>CS>HoW>AS>J 29047 19110 2081 1966 0.0 0.0 -424
61 SotR>HoW>CS>AS>J 28913 19030 2028 1911 0.0 0.0 -462
62 HoW>SotR>CS>AS>J 28621 18823 2038 1897 1.3 0.0 -387
63 SotR>CS>AS+>J>AS>HoW 29499 19341 2387 2175 0.0 0.0 -76
64 SotR>CS>AS+>J>HoW>AS 29300 19219 2354 2141 0.0 0.0 -105
65 SotR>CS>AS+>HoW>J>AS 29200 19172 2265 2086 0.0 0.0 -216
66 SotR>CS>AS+>HoW>AS>J 29238 19221 2140 2022 0.0 0.0 -365
67 SotR>CS>HoW>AS+>J>AS 28993 19042 2253 2054 0.0 0.0 -216
68 SotR>CS>AS>HoW>J>Cons>HW 29280 19246 2147 2029 0.0 0.0 -359
69 SotR>CS>J>AS>HoW>Cons>HW 29470 19306 2498 2232 0.0 0.0 54
70 SotR>CS>AS>J>HoW>Cons>HW 29504 19352 2347 2154 0.0 0.0 -115
71 SotR>CS>J>HoW>AS>Cons>HW 28719 18845 2456 2163 0.0 0.0 -12
72 SotR>CS>HoW>AS>J>Cons>HW 29047 19110 2081 1966 0.0 0.0 -424
73 SotR>HoW>CS>AS>J>Cons>HW 28913 19030 2028 1911 0.0 0.0 -462
74 HoW>SotR>CS>AS>J>Cons>HW 28678 18873 1996 1872 0.0 0.0 -599
75 ISotR>SDSotR>Inq>CS>AS>HoW>J>Cons>HW 29852 19609 2111 1981 0.0 50.8 -359
76 ISotR>SDSotR>Inq>CS>AS>J>HoW>Cons>HW 30060 19697 2354 2134 0.0 47.1 -115
77 ISotR>SDSotR>Inq>CS>J>AS>HoW>Cons>HW 29985 19625 2515 2222 0.0 41.6 54
78 ISotR>SDSotR>Inq>CS>J>HoW>AS>Cons>HW 29167 19122 2475 2153 0.0 44.4 -12
79 ISotR>SDSotR>Inq>CS>HoW>J>AS>Cons>HW 29167 19122 2475 2153 0.0 44.4 -12
80 ISotR>SDSotR>Inq>CS>HoW>AS>J>Cons>HW 29647 19494 2049 1922 0.0 47.3 -424
There's lots of data to parse here, so I'm going to try and focus on the highlights.
- CS>HotR (#2 vs #3), as expected. You lose about 1700 DPS by using HotR.
- Adding HW to the end of a queue is an increase of ~250 DPS, and Cons>HW at the end of the queue is a ~500 DPS increase (#1 vs #10), if we can afford the mana. So Cons only really buys you about 250 DPS over Holy Wrath. Note that this sim does not include Hallowed Ground, so if you spec that you'll see a small additional increase (~50 DPS).
- The buff to Judgement shifted filler priorities around, but the addition of the Souldrinker proc (which triggers from AS but not J) has basically offset that advantage. AS+>J>AS is still ahead by 10-15 DPS, but J>AS and AS>J are within a few DPS of each other. In general, the order of these two fillers won't make much difference. You do get a slight increase in absorb bubble effectiveness by prioritizing J though.
- "Fishing" for Sacred Duty procs is still not advantageous (#15 vs #21).
- The conditional Inq/SotR rotation is still ahead by about 400 DPS (#19 vs. #38). This rotation uses SotR if and only if SD or Inquisition is active. It also boosts Judgement bubbles by around 180 absorption per second.
- Hammer of Wrath hits about as hard as J and AS, well ahead of HW/Cons. The most efficent rotation seems to be #67, which slips it in between the two blocks (J>AS>HoW>Cons>HW). This also kills off most of the benefit of HW/Cons (compare to #54, HW+Cons now only add 150 DPS).
- In terms of mana efficiency, it looks like queues with strict HW/Cons usage aren't quite sustainable. This seems to match what I've seen in-game while raiding. YMMV, I haven't had time to thoroughly check the accuracy of these estimates.
- A few notes on WoG queues
- WoG still generates 0 threat.
- This sim assumes 0 overheal for both WoG and SoI. As such, take these numbers with a grain of salt. Real-world overheal is probably a significant factor (30%?).
- The T13 2-piece bonus provides between 450-600 absorption per second, mostly passively.
TLDR Summary
- SotR>CS>AS+>J>AS(>Cons>HW mana permitting) (aka 939) is our "default" rotation.
- There's a slight gain to be had for the attentive tankadin by conditionally choosing SotR or Inq: (SotR if Sacred Duty or Inquisition active)>Inq>CS>AS+>J>AS is a gain of around 400 DPS at low hit.
- The priority order of J and AS/AS+ causes only minor variations, and isn't likely to make much difference in practice.
- Below 20%, slip hammer into filler spots ahead of Cons/HW. In other words, SotR>CS>J>AS>HoW>Cons>HW.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
AoE Rotation Simulations
Setup:
Race: Human (hardly matters)
Talents: 0/32/9
Glyphs: SoT/SotR/HotR/CS for Prime, Cons/(AS) for Major
Seal: SoT
Gear: T13 Heroic raid set
Rotation: N/A
Buffs: Full Raid, Full Vengeance
Code: calc_rot_aoe.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
These are very similar to the single-target rotation simulations. The primary difference is the damage metrics we calculate.
For AoE, we care about two things: the damage to our primary target (in case we're burning things down one by one) and the "guaranteed" damage to all secondary targets. Guaranteed damage thus only includes HammerNova, Holy Wrath, Consecration, and unglyphed Avenger's Shield. I've provided data for glyphed and unglyphed AS since it's a fairly quick sim.
Any abbreviations or shorthand used here is identical to that used in the single-target sims, so ISotR is "SotR if and only if Inq is active" and so on.
Focused Shield glyphed
Focused Shield unglyphed
Observations:
TLDR Summary:
Setup:
Race: Human (hardly matters)
Talents: 0/32/9
Glyphs: SoT/SotR/HotR/CS for Prime, Cons/(AS) for Major
Seal: SoT
Gear: T13 Heroic raid set
Rotation: N/A
Buffs: Full Raid, Full Vengeance
Code: calc_rot_aoe.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
These are very similar to the single-target rotation simulations. The primary difference is the damage metrics we calculate.
For AoE, we care about two things: the damage to our primary target (in case we're burning things down one by one) and the "guaranteed" damage to all secondary targets. Guaranteed damage thus only includes HammerNova, Holy Wrath, Consecration, and unglyphed Avenger's Shield. I've provided data for glyphed and unglyphed AS since it's a fairly quick sim.
Any abbreviations or shorthand used here is identical to that used in the single-target sims, so ISotR is "SotR if and only if Inq is active" and so on.
Focused Shield glyphed
- Code: Select all
Primary E I mps mps
Q# Priority DPS 2 3 4 5 6 % % @6
1 SotR>CS>AS>J 24918 0 0 0 0 0 7.3 0.0 1240 3150
2 SotR>HotR>AS>J 23007 3144 3144 3144 3144 3144 7.3 0.0 1240 3150
3 SotR>HotR>AS>J>Cons 23333 3494 3494 3494 3494 3494 5.1 0.0 949 2858
4 SotR>HotR>AS>J>Cons>HW 23372 3552 3524 3514 3509 3506 1.6 0.0 783 2692
5 SDSotR>ISotR>Inq>HotR>AS>J>Cons>HW 24157 4017 3986 3975 3969 3967 1.7 40.5 772 2681
6 Inq>HotR>AS>J>Cons>HW 22229 4739 4700 4687 4681 4677 1.8 94.2 747 2657
7 Inq>HotR>AS>Cons>J>HW 22029 4795 4754 4739 4732 4729 2.0 94.2 661 2570
8 Inq>HotR>AS>Cons>HW>J 21445 4815 4760 4740 4731 4727 2.4 94.1 505 2414
9 Inq>HotR>Cons>AS>HW>J 21325 4832 4777 4757 4748 4743 2.8 94.0 489 2398
10 iInq>SotR>HotR>AS>Cons>HW>J 22968 4476 4426 4408 4400 4396 2.3 72.6 517 2426
11 iInq>HotR>AS>Cons>HW>J 21875 4944 4887 4867 4858 4853 3.1 95.4 482 2392
12 iInq>HotR>Cons>AS>HW>J 21738 4964 4906 4885 4876 4871 3.2 95.3 464 2373
13 HotR>Inq>AS>Cons>HW>J 21551 4914 4860 4840 4832 4827 1.9 94.2 475 2384
14 HotR>Inq>Cons>AS>HW>J 21451 4946 4891 4871 4862 4857 2.2 94.1 455 2364
Focused Shield unglyphed
- Code: Select all
Primary E I mps mps
Q# Priority DPS 2 3 4 5 6 % % @6
1 SotR>CS>AS>J 24396 1663 1663 1108 831 665 7.3 0.0 1240 3150
2 SotR>HotR>AS>J 22485 4806 4806 4252 3975 3809 7.3 0.0 1240 3150
3 SotR>HotR>AS>J>Cons 22812 5155 5155 4602 4325 4159 5.1 0.0 949 2858
4 SotR>HotR>AS>J>Cons>HW 22851 5213 5184 4621 4339 4171 1.6 0.0 783 2692
5 SDSotR>ISotR>Inq>HotR>AS>J>Cons>HW 23559 5884 5852 5219 4903 4713 1.7 40.5 772 2681
6 Inq>HotR>AS>J>Cons>HW 21514 6922 6883 6142 5772 5550 1.8 94.2 747 2657
7 Inq>HotR>AS>Cons>J>HW 21314 6978 6936 6194 5824 5602 2.0 94.2 661 2570
8 Inq>HotR>AS>Cons>HW>J 20730 6997 6942 6195 5823 5600 2.4 94.1 505 2414
9 Inq>HotR>Cons>AS>HW>J 20639 6929 6873 6155 5796 5582 2.8 94.0 489 2398
10 iInq>SotR>HotR>AS>Cons>HW>J 22310 6504 6454 5760 5414 5207 2.3 72.6 517 2426
11 iInq>HotR>AS>Cons>HW>J 21125 7233 7176 6393 6002 5769 3.1 95.4 482 2392
12 iInq>HotR>Cons>AS>HW>J 21017 7163 7105 6351 5975 5750 3.2 95.3 464 2373
13 HotR>Inq>AS>Cons>HW>J 20828 7122 7068 6312 5936 5710 1.9 94.2 475 2384
14 HotR>Inq>Cons>AS>HW>J 20757 7067 7012 6285 5923 5706 2.2 94.1 455 2364
Observations:
- There's a pretty clear trade-off between Primary and Secondary DPS. If we just replace CS with HotR in the standard 939, we get our maximum DPS on the primary target, but a near-minimum on secondary targets. By shifting the queue around to favor AoE abilities, we lose Primary DPS but gain Secondary DPS.
- The differences we're talking about here aren't very large. Inq and HotR are the bread-and-butter of our AoE dps. Prioritize both of those ahead of everything else in any fashion and you're pretty close to as good as you can get.
- AS and Cons are roughly equal for larger numbers of targets, AS is stronger for 2-3 without Focused Shield.
- HW and Judgement are lowest priority. In this sim, Sanctuary takes care of all your mana problems because there are 4 mobs beating on the tank; modulate your Judgement usage as appropriate for situations with casters or any other case where mana regen is a problem.
- You can eke out minor increases by refreshing Inq only when it's about to fall off (so do it every 4th HotR and just waste the excess HP, basically).
- For general purpose AoE, iInq>HotR>AS>Cons>HW>J seems to be the optimal queue.
TLDR Summary:
- Your best pure AoE queue is generally iInq>HotR>AS>Cons>HW>J. Bump J up if you have mana troubles.
- For cleave tanking, move ShoR back up to the top of the queue for extra single-target threat.
- Mixing the rotation up doesn't make a huge difference in threat. As long as you're casting something every GCD, you're going to be pretty close to optimal.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Talent Comparison
Setup:
Race: Human (hardly matters)
Talents: 5/38/10 with all relevant damage talents (see analysis)
Glyphs: Two setups, #1:WoG/SoI/HotR for Prime, Cons/AS for Major, #2:SoT/ShoR/HotR + Cons/AS
Seal: SoT, SoI
Gear: T13 Heroic raid set, hit/exp artificially fixed
Rotation: 939, W39
Buffs: Full raid, 100%/30% Vengeance
Code: calc_talents.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
To do this analysis, we use a reduction strategy. We start with an unpossible spec that contains every relevant damage talent we have access to in all 3 trees, and record the simulated and modeled DPS output.
We then set each talent to 0 points spent one at a time and repeat the sim/model. The difference was the effect of that talent, and the difference per point is simply that value divided by the number of points we dropped.
I've done this in two configurations. The first model covers the "W39", or WoG>SotR>CS>AS+>J>AS>Cons>HW, with SoI/WoG/HotR+AS/Cons glyphs (#1). The second is a "standard" 939, or SotR>CS>AS+>J>AS>Cons>HW, with SoT/SotR/HotR+AS/Cons glyphs (set #2), and has been calculated for both low-hit (2%/10exp) and hit-capped (8%/26exp) gear sets (artificially enforced). I've repeated the calculations at 100% and 30% Vengeance.
In this round, I've added HPS calculations, since people have been asking about the effect of talents on the T13 2-piece bonus. There's some interesting results in there; several talents actually negatively impact your self-healing because they cause Judgement to be cast less often (Grand Crusader, for example).

I haven't plotted the 30% data, as there's no significant difference in the ordering.
Good threat talents
WotL is still our strongest talent, and works about as well for W39 as it does for 939. Previous results from the old analytical model showed that it's about half as effective in HotR rotations, which will be the case for AoE. With the T13 2-piece, WotL is also provides a significant amount of damage absorption.
Sacred Duty is still our second-best DPS talent for any variant of 939. There's really no good reason to skip this talent anymore.
Average threat talents
The next big talent is Reckoning, which provides strong single-target threat. Note that previous sims have shown that it gets better in an AoE rotation because the incoming attack rate goes up, but the damage output gained is only against your primary target. Despite being stronger than Grand Crusader point-for-point, the latter is probably a stronger choice overall because of the extra utility it affords. Also note that Reckoning only provides the full benefit while you're tanking, so on a tank-swap fight it may be roughly half as effective.
Grand Crusader has finally come into its own in 4.1 thanks to the change to Sacred Duty, and to a lesser extent the addition of Holy Power to the effect. It's finally a strong threat talent rather than an also-ran. It's right on par with Crusade and Rule of Law for single-target threat, though the exact ordering of the three talents depends on hit and expertise. Also note that if you haven't glyphed Focused Shield, this talent should be approximately 30% weaker.
Continuing down the line, we have Crusade and Rule of Law clocking in at almost identical levels in 939. If there were any question about which sub-spec (Holy or Ret) was going to be predominant in Cataclysm, Crusade and Rule of Law put the issue to rest. Both are solid talents, and should lead to a default spec of (0/31/8)+2. As a reminder, in previous sims we've seen that Crusade is many times more effective in AoE rotations against multiple mobs as it buffs HotR, and that Rule of Law also sees a significant increase in the AoE rotation.
Seals of the Pure is now almost as good as Rule of Law after the Censure buff. It's basically a gimme though, since Eternal Glory isn't compelling.
Weak threat talents
Arbiter of the Light and Judgements of the Pure are both fairly weak threat talents. It still lags SotP by a good bit though. Neither are particularly spectacular, but sitting in the first tier they're easy to pick off with extra points. Unfortunately, you'd be foolish to pass up the Crusade+RoL juggernaut, which means you'll have at most 2 points to place in these two talents (provided you don't want Pursuit of Justice). Arbiter of the Light's bonus to the Judgement absorb bubbles is also weak (~30 absorb/sec per point), so it's not a very compelling choice for survivability.
Hallowed Ground is a weak DPS increase against single targets, but a more substantial increase to AoE tanking. Many people would argue that the real attraction of the talent is the mana reduction, especially now that Judgement casts are slightly less frequent. That said, most tanks I've talked to have been AoE tanking just fine without Hallowed Ground. Use Consecration in moderation (or not at all in the single-target rotation) and you'll be OK without it.
Eternal Glory was once a survivability talent, but WoG gaining a cooldown has turned it into a threat talent, occasionally allowing you to follow a WoG with a SotR or Inq. The usefulness of this is pretty marginal - generally if you can spare the HoPo for WoG, you don't need the threat, and when you need the threat WoG isn't your go-to HP dump.
TLDR Summary:
Setup:
Race: Human (hardly matters)
Talents: 5/38/10 with all relevant damage talents (see analysis)
Glyphs: Two setups, #1:WoG/SoI/HotR for Prime, Cons/AS for Major, #2:SoT/ShoR/HotR + Cons/AS
Seal: SoT, SoI
Gear: T13 Heroic raid set, hit/exp artificially fixed
Rotation: 939, W39
Buffs: Full raid, 100%/30% Vengeance
Code: calc_talents.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
To do this analysis, we use a reduction strategy. We start with an unpossible spec that contains every relevant damage talent we have access to in all 3 trees, and record the simulated and modeled DPS output.
We then set each talent to 0 points spent one at a time and repeat the sim/model. The difference was the effect of that talent, and the difference per point is simply that value divided by the number of points we dropped.
I've done this in two configurations. The first model covers the "W39", or WoG>SotR>CS>AS+>J>AS>Cons>HW, with SoI/WoG/HotR+AS/Cons glyphs (#1). The second is a "standard" 939, or SotR>CS>AS+>J>AS>Cons>HW, with SoT/SotR/HotR+AS/Cons glyphs (set #2), and has been calculated for both low-hit (2%/10exp) and hit-capped (8%/26exp) gear sets (artificially enforced). I've repeated the calculations at 100% and 30% Vengeance.
In this round, I've added HPS calculations, since people have been asking about the effect of talents on the T13 2-piece bonus. There's some interesting results in there; several talents actually negatively impact your self-healing because they cause Judgement to be cast less often (Grand Crusader, for example).
- Code: Select all
DPS per point
Vengeance --------100%------ --------30%-------
hit%/exp --2%/10--- 8%/26 --2%/10--- 8%/26
Talent W39 939 939 W39 939 939
SotP 0 222 237 0 137 146
Hallowed Ground 72 72 77 46 45 48
WotL 1545 1931 2241 1021 1266 1471
Reck (1st point) 352 467 553 245 322 381
Reck (2nd point) 315 419 496 220 289 342
Arbiter of the Light 78 139 149 49 87 93
JotP 65 156 172 45 100 111
Crusade 230 249 301 154 167 201
RoL 222 240 290 149 161 194
Grand Crusader (1st point) 283 229 176 176 144 118
Grand Crusader (2nd point) 303 261 234 188 163 150
Sacred Duty 426 767 968 266 479 605
Eternal Glory 98 0 0 57 0 0
HPS per point
Vengeance --------100%------ --------30%-------
hit%/exp --2%/10--- 8%/26 --2%/10--- 8%/26
Talent W39 939 939 W39 939 939
SotP 0 0 0 0 0 0
Hallowed Ground 0 0 0 0 0 0
WotL 95 168 181 59 105 113
Reck (1st point) 295 83 98 209 83 98
Reck (2nd point) 265 75 88 187 75 88
Arbiter of the Light 20 35 37 12 22 23
JotP 54 15 18 38 15 18
Crusade 0 0 0 0 0 0
RoL 83 0 0 57 0 0
Grand Crusader (1st point) 19 -36 -64 19 -16 -31
Grand Crusader (2nd point) 34 -34 -61 29 -13 -28
Sacred Duty 0 -0 0 0 -0 0
Eternal Glory -2 0 0 -1 0 0

I haven't plotted the 30% data, as there's no significant difference in the ordering.
Good threat talents
WotL is still our strongest talent, and works about as well for W39 as it does for 939. Previous results from the old analytical model showed that it's about half as effective in HotR rotations, which will be the case for AoE. With the T13 2-piece, WotL is also provides a significant amount of damage absorption.
Sacred Duty is still our second-best DPS talent for any variant of 939. There's really no good reason to skip this talent anymore.
Average threat talents
The next big talent is Reckoning, which provides strong single-target threat. Note that previous sims have shown that it gets better in an AoE rotation because the incoming attack rate goes up, but the damage output gained is only against your primary target. Despite being stronger than Grand Crusader point-for-point, the latter is probably a stronger choice overall because of the extra utility it affords. Also note that Reckoning only provides the full benefit while you're tanking, so on a tank-swap fight it may be roughly half as effective.
Grand Crusader has finally come into its own in 4.1 thanks to the change to Sacred Duty, and to a lesser extent the addition of Holy Power to the effect. It's finally a strong threat talent rather than an also-ran. It's right on par with Crusade and Rule of Law for single-target threat, though the exact ordering of the three talents depends on hit and expertise. Also note that if you haven't glyphed Focused Shield, this talent should be approximately 30% weaker.
Continuing down the line, we have Crusade and Rule of Law clocking in at almost identical levels in 939. If there were any question about which sub-spec (Holy or Ret) was going to be predominant in Cataclysm, Crusade and Rule of Law put the issue to rest. Both are solid talents, and should lead to a default spec of (0/31/8)+2. As a reminder, in previous sims we've seen that Crusade is many times more effective in AoE rotations against multiple mobs as it buffs HotR, and that Rule of Law also sees a significant increase in the AoE rotation.
Seals of the Pure is now almost as good as Rule of Law after the Censure buff. It's basically a gimme though, since Eternal Glory isn't compelling.
Weak threat talents
Arbiter of the Light and Judgements of the Pure are both fairly weak threat talents. It still lags SotP by a good bit though. Neither are particularly spectacular, but sitting in the first tier they're easy to pick off with extra points. Unfortunately, you'd be foolish to pass up the Crusade+RoL juggernaut, which means you'll have at most 2 points to place in these two talents (provided you don't want Pursuit of Justice). Arbiter of the Light's bonus to the Judgement absorb bubbles is also weak (~30 absorb/sec per point), so it's not a very compelling choice for survivability.
Hallowed Ground is a weak DPS increase against single targets, but a more substantial increase to AoE tanking. Many people would argue that the real attraction of the talent is the mana reduction, especially now that Judgement casts are slightly less frequent. That said, most tanks I've talked to have been AoE tanking just fine without Hallowed Ground. Use Consecration in moderation (or not at all in the single-target rotation) and you'll be OK without it.
Eternal Glory was once a survivability talent, but WoG gaining a cooldown has turned it into a threat talent, occasionally allowing you to follow a WoG with a SotR or Inq. The usefulness of this is pretty marginal - generally if you can spare the HoPo for WoG, you don't need the threat, and when you need the threat WoG isn't your go-to HP dump.
TLDR Summary:
- Wrath of the Lightbringer and Sacred Duty are excellent threat talents for single-target DPS.
- Reckoning is solidly in third place for single-target DPS
- Grand Crusader, Crusade, and Rule of Law are about equal and very strong choices for both single-target and AoE.
- SotP trails Crusade/RoL by a little bit.
- JotP, AotL, and Hallowed Ground are all "optional" from a single-target perspective.
- Eternal Glory sucks.
- For general talent advice, see my Talent Spec & Glyph Guide
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Glyph Comparison
Setup:
Race: Human (hardly matters)
Talents: 0/32/9
Glyphs: All in various configurations, see description
Seal: SoT, SoI
Gear: T13 Heroic raid set
Rotation: 939, W39
Buffs: Full raid, 100%/30% Vengeance
Code: calc_glyphs.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
This is very similar to the talent comparison, but with glyphs. We start with all glyphs active - again, an unpossible situation - and take a baseline measurement. We then disable each glyph one by one and take new measurements. The difference is the DPS contribution of the glyph, which is displayed below.
I've calculated the value with 2 different rotations: 939 and W39 (see the talent sim or glossary for definitions). For HotR's 939 value I've used a 9H9 instead of a 9C9. I haven't run an AoE simulation, because it should be pretty obvious which glyphs you'd choose to optimize that. In addition, I've performed one run at 30% Vengeance to see how things scale.
Hit/expertise are artificially capped at 2%/10 in these sims, though I've included one 939 data set for 8%/26. For reference, here's how the SoT glyph behaves at different values of expertise:
Now, on with the values:

SoT still reigns supreme as our highest-damage Prime glyph for single targets. SotR and AS are just a little under half as effective under normal circumstances. It's even our highest glyph in a WoG rotation, provided we're using SoT. In most practical scenarios, you won't have 26+ expertise without the glyph active, so it's safe to say that SoT will be one of our single target glyphs.
Avenger's Shield is a Major glyph (not Prime) but it's incredibly potent, especially now that we prioritize it over other fillers. Also note that this is only a damage increase on single-targets, on multiple targets it's actually a loss provided your Shield regularly hits 2+ mobs. And it has the drawback of removing the extremely strong multi-target utility of AS. In all likelihood, we'll be swapping between AS for single target fights and an AoE-friendly glyph for multi-target fights.
SotR is our second-best Prime glyph for DPS, though it obviously suffers a bit if you're heavily WoGging.
HotR is a pretty good single-target and AoE glyph, and probably worth using in place of CS or Judgement just for utility.
CS is considerably stronger than it was in Wrath. It's now powerful enough that you would probably run SoT/SotR/CS for a pure single-target fight.
Judgement is weak enough that it probably won't see much use outside of an extremely gimmicky fight. With T13 2-piece, it only provides a very minor survivability benefit (~25 absorb/sec).
Consecration's glyph is a minor DPS increase on single targets, but being a Major glyph it's essentially a freebie. That said, there are quite a few other attractive Major glyphs for utility/survivability, so you may simply not find room for it. It's obviously going to be an increase in AoE as well, provided you get the full duration out of the spell (arguable).
TLDR Summary:
Setup:
Race: Human (hardly matters)
Talents: 0/32/9
Glyphs: All in various configurations, see description
Seal: SoT, SoI
Gear: T13 Heroic raid set
Rotation: 939, W39
Buffs: Full raid, 100%/30% Vengeance
Code: calc_glyphs.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
This is very similar to the talent comparison, but with glyphs. We start with all glyphs active - again, an unpossible situation - and take a baseline measurement. We then disable each glyph one by one and take new measurements. The difference is the DPS contribution of the glyph, which is displayed below.
I've calculated the value with 2 different rotations: 939 and W39 (see the talent sim or glossary for definitions). For HotR's 939 value I've used a 9H9 instead of a 9C9. I haven't run an AoE simulation, because it should be pretty obvious which glyphs you'd choose to optimize that. In addition, I've performed one run at 30% Vengeance to see how things scale.
Hit/expertise are artificially capped at 2%/10 in these sims, though I've included one 939 data set for 8%/26. For reference, here's how the SoT glyph behaves at different values of expertise:
The value of the SoT glyph will change if your expertise is higher than 16 without SoT active. At 16 expertise, it will have its full value, and it will linearly decrease to half of it's value between 16 and 26. Above 26 it will be at full value until you reach 46 expertise, at which point it will again linearly decrease to 0 at 56 expertise. If you want a piecewise function for that, it's:
- Code: Select all
Expertise SoT Value (relative)
0-16 1
16-26 1-(exp-16)/20
26-46 1/2
46-56 1/2-(exp-46)/20
where "exp" is your expertise without SoT active.
Now, on with the values:
- Code: Select all
----------------DPS----------------
seal SoI SoT SoT SoT SoT
rotation W39 939 939 W39 939
hit/exp 2%/10 2%/10 8%/26 2%/10 2%/10
Veng 100% 100% 100% 100% 30%
CS 241.0 254.7 296.1 257.7 170.5
HotR 288.2 304.3 353.2 307.8 187.8
J 63.2 109.3 113.3 110.3 68.1
SoT 0.0 1099.8 576.7 1022.4 730.4
SotR 264.8 460.3 539.4 292.3 287.4
Cons 23.1 24.8 31.1 24.6 18.9
AS 463.3 587.2 663.2 593.3 383.7
----------------HPS----------------
seal SoI SoT SoT SoT SoT
rotation W39 939 939 W39 939
hit/exp 2%/10 2%/10 8%/26 2%/10 2%/10
Veng 100% 100% 100% 100% 30%
J 15.8 27.3 28.3 27.6 17.0
SoT 0.0 79.4 43.2 101.0 82.7
WoG 183.0 0.0 0.0 185.4 0.0
SoI 91.5 0.0 0.0 0.0 0.0
Cons 0.2 0.2 0.6 0.4 0.1
AS 306.2 0.0 0.0 0.0 0.0

SoT still reigns supreme as our highest-damage Prime glyph for single targets. SotR and AS are just a little under half as effective under normal circumstances. It's even our highest glyph in a WoG rotation, provided we're using SoT. In most practical scenarios, you won't have 26+ expertise without the glyph active, so it's safe to say that SoT will be one of our single target glyphs.
Avenger's Shield is a Major glyph (not Prime) but it's incredibly potent, especially now that we prioritize it over other fillers. Also note that this is only a damage increase on single-targets, on multiple targets it's actually a loss provided your Shield regularly hits 2+ mobs. And it has the drawback of removing the extremely strong multi-target utility of AS. In all likelihood, we'll be swapping between AS for single target fights and an AoE-friendly glyph for multi-target fights.
SotR is our second-best Prime glyph for DPS, though it obviously suffers a bit if you're heavily WoGging.
HotR is a pretty good single-target and AoE glyph, and probably worth using in place of CS or Judgement just for utility.
CS is considerably stronger than it was in Wrath. It's now powerful enough that you would probably run SoT/SotR/CS for a pure single-target fight.
Judgement is weak enough that it probably won't see much use outside of an extremely gimmicky fight. With T13 2-piece, it only provides a very minor survivability benefit (~25 absorb/sec).
Consecration's glyph is a minor DPS increase on single targets, but being a Major glyph it's essentially a freebie. That said, there are quite a few other attractive Major glyphs for utility/survivability, so you may simply not find room for it. It's obviously going to be an increase in AoE as well, provided you get the full duration out of the spell (arguable).
TLDR Summary:
- SoT and SotR are our highest-DPS single-target Prime glyphs. CS is a distant third for single-targets.
- HotR is a strong AoE Prime glyph, and worth considering for versatility.
- AS is a beastly single-target major, while Consecration is a weak single-target major. Cons is moderately useful in AoE as well.
- For max single-target DPS:
- Your Prime glyphs should be SoT>SotR>>CS>J
- Your Major glyphs should be AS>>Cons.
- For advice on general glyphing strategy, see my Talent Spec & Glyph Guide
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Stat Comparison
Setup:
Race: Human (hardly matters)
Talents: 0/32/9
Glyphs: SoT/ShoR/HotR + AS/Cons for 939
Seal: SoT, SoI
Gear: T13 Heroic raid set
Rotation: Standard 939
Buffs: Full raid, 100%
Code: calc_statscaling.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
This sim calculates DPS for a range of STR values (we'll call this the "independent" stat). It then adds the equivalent of 10 itemization points of one "dependent" stat (i.e. 10 STR/AGI/INT, 15 STA, 20 AP, 23 SP, etc.), and recalculates DPS. The difference between the two values is the improvement that those 10 itemization points granted us. By doing this for all of the relevant stats on our gear, we can construct a plot of how each of those stats scales with the independent stat. It then repeats this calculation using Hit and Expertise as the independent stats. This gives us a fairly broad overview of how our DPS scales with different stats.
For this simulation, I have enforced certain caps on particular stats. I've ensured that we're below melee hit, expertise, and mastery caps for the nominal value on the STR plots, so that when we try and add 10 points worth of those stats we don't get a result of zero. For the hit plot, the expertise is fixed at 10, while for the expertise plot I've set hit to 2%.
You might notice that I'm no longer posting separate plots for 939 and W39. The two plots look nearly identical now that WoG is cooldown-restricted, so there really isn't much point in posting and commentating on both. The code still calculates them if you really care, but unless something significant changes I won't be bothering with them from now on. I've also tested the conditional inquisition rotation, and it too looks like the 939 plot.
First, let's look at the STR plot. For reference, the "Armory Strength" (i.e. unbuffed) of the gear set is 4743.

Not much has changed here. Expertise and hit are obviously excellent threat stats, especially now that they impact Holy Power generation. Strength comes in at a distant third.
The Vengeance->AP conversion and the proc from Souldrinker bring Stamina up into fifth place, tied with AP. Note that this is true only at 100% vengeance, and Stamina's value as a DPS stat scales down linearly at lower vengeance levels.
Crit and Agility hang out somewhere in between STA/AP and the "bad" stats.
The rest of our threat stats (Haste, Spellpower, Intellect, and Mastery) fall into a clump at the bottom of the plot. None of these are worthwhile threat stats for us at 85. Haste gained a slight edge on the other stats with the Censure buff in 4.2.2, but it's still a weak threat stat.
Before we go on, I want to dump some more data here. I've calculated the self-healing per second granted by 10 itemization points of each stat at the armory strength level, just so people can see how the T13 set bonus is affected. In addition, I'm now generating the type of stat weights you might want to plug into wowhead if you were trying to rate gear based on DPS. Those are both contained in the tables below:
Next, let's look at Hit Rating as a primary stat:

The only interesting feature on this plot is the hit rating curve, which nose-dives right at the 8% melee hit cap. There's also a tiny depression right near the cliff that represents hitting the spell hit cap. While in Wrath, we still saw a moderate benefit from hit above the melee cap, the 8% spell hit we get from talents caps our spell hit before that point, making the benefit of hit rating over melee cap exactly zero. So like many DPS classes, hit rating below the cap will be one of our best threat stats, while anything above the cap is wasted.
Finally, let's look at the Expertise graph:

This plot clearly shows the 26-expertise soft cap. After that point hit surpasses expertise, but interestingly Strength doesn't. Expertise stays ahead of Strength all the way up to the hard-cap at 56.
TLDR Summary:
Setup:
Race: Human (hardly matters)
Talents: 0/32/9
Glyphs: SoT/ShoR/HotR + AS/Cons for 939
Seal: SoT, SoI
Gear: T13 Heroic raid set
Rotation: Standard 939
Buffs: Full raid, 100%
Code: calc_statscaling.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
This sim calculates DPS for a range of STR values (we'll call this the "independent" stat). It then adds the equivalent of 10 itemization points of one "dependent" stat (i.e. 10 STR/AGI/INT, 15 STA, 20 AP, 23 SP, etc.), and recalculates DPS. The difference between the two values is the improvement that those 10 itemization points granted us. By doing this for all of the relevant stats on our gear, we can construct a plot of how each of those stats scales with the independent stat. It then repeats this calculation using Hit and Expertise as the independent stats. This gives us a fairly broad overview of how our DPS scales with different stats.
For this simulation, I have enforced certain caps on particular stats. I've ensured that we're below melee hit, expertise, and mastery caps for the nominal value on the STR plots, so that when we try and add 10 points worth of those stats we don't get a result of zero. For the hit plot, the expertise is fixed at 10, while for the expertise plot I've set hit to 2%.
You might notice that I'm no longer posting separate plots for 939 and W39. The two plots look nearly identical now that WoG is cooldown-restricted, so there really isn't much point in posting and commentating on both. The code still calculates them if you really care, but unless something significant changes I won't be bothering with them from now on. I've also tested the conditional inquisition rotation, and it too looks like the 939 plot.
First, let's look at the STR plot. For reference, the "Armory Strength" (i.e. unbuffed) of the gear set is 4743.

Not much has changed here. Expertise and hit are obviously excellent threat stats, especially now that they impact Holy Power generation. Strength comes in at a distant third.
The Vengeance->AP conversion and the proc from Souldrinker bring Stamina up into fifth place, tied with AP. Note that this is true only at 100% vengeance, and Stamina's value as a DPS stat scales down linearly at lower vengeance levels.
Crit and Agility hang out somewhere in between STA/AP and the "bad" stats.
The rest of our threat stats (Haste, Spellpower, Intellect, and Mastery) fall into a clump at the bottom of the plot. None of these are worthwhile threat stats for us at 85. Haste gained a slight edge on the other stats with the Censure buff in 4.2.2, but it's still a weak threat stat.
Before we go on, I want to dump some more data here. I've calculated the self-healing per second granted by 10 itemization points of each stat at the armory strength level, just so people can see how the T13 set bonus is affected. In addition, I'm now generating the type of stat weights you might want to plug into wowhead if you were trying to rate gear based on DPS. Those are both contained in the tables below:
- Code: Select all
SHPS and stat weights
SHPS/10 DPS Stat Weights
ipoints (per point of stat, not itemization-normalized)
exp 2.7267 3.6512
hit 1.9506 2.4005
str 0.47397 1.3988
ap 0.31415 0.59324
sta 1.7862 0.79123
crit 0.29693 1.0236
agi 0.26213 0.89147
haste 0.42936 0.40626
sp 0.26399 0.18709
int 0.22586 0.19055
mas 0 0
Next, let's look at Hit Rating as a primary stat:

The only interesting feature on this plot is the hit rating curve, which nose-dives right at the 8% melee hit cap. There's also a tiny depression right near the cliff that represents hitting the spell hit cap. While in Wrath, we still saw a moderate benefit from hit above the melee cap, the 8% spell hit we get from talents caps our spell hit before that point, making the benefit of hit rating over melee cap exactly zero. So like many DPS classes, hit rating below the cap will be one of our best threat stats, while anything above the cap is wasted.
Finally, let's look at the Expertise graph:

This plot clearly shows the 26-expertise soft cap. After that point hit surpasses expertise, but interestingly Strength doesn't. Expertise stays ahead of Strength all the way up to the hard-cap at 56.
TLDR Summary:
- Expertise and Hit are our best DPS stats below their respective caps (8% for hit, 26 for expertise soft cap). When gearing for DPS/threat, you should be aiming for 8% hit and around 26 expertise. From that point on, stack more expertise or Strength (expertise is slightly better until the hard-cap).
- AP, Stamina, Crit, and Agility are all second-tier threat stats.
- Haste/Mastery/SP/Intellect are all weak threat stats. Don't stack any of them for threat.
- Note that these are just calculations for maximizing DPS/threat, which is generally not a good gearing strategy in the current environment. This thread is not a "how-to" guide on gearing for progression raiding, it's a dps analysis for better understanding of our mechanics. In other words, use your brain when choosing gear, don't just mindlessly hit-cap and expertise-cap because "Theck said so," because I didn't.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Weapon Comparison
Setup:
Race: Blood Elf (no weapon racial)
Talents: 0/32/9
Glyphs: Sot/SotR/HotR+AS/Cons for 939, WoG/SoI/HotR+AS/Cons for W39
Seal: SoT, SoI
Gear: T13 Heroic raid set
Rotation: Standard 939
Buffs: Full raid, 100% Vengeance
Code: calc_weapons.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
The logic behind this simulation is fairly simple. Swap a weapon into the gear set, calculate DPS. Lather, rinse, repeat. There are a few subtleties involved though.
Since weapons often have hit or expertise, we want to enforce limits on the gear set's hit and expertise, so that a weapon with either stat gets credit for those stats. On the other hand... some people hit- and expertise-cap without their weapon. So I've run the simulation twice.
I've included WoG and SoI self-healing for the W39 rotation to help scrutinize caster weapons. Since there's an interesting feature here, I've given data for W39/SoI and W39/SoT separately.
Since the caster weapons were uniformly weaker than dps or tank options, I've excluded them from the graph. They'll still be on the tables if you're interested in the details, but I see little point in cluttering up the graphs with them anymore.
I've also removed all of the 346 weapons from the simulations in r373, since at this point they're basically irrelevant.
On to the data:
First, let's look at just the traditional tanking weapons:

Notes for 4.3:
Souldrinker is the new tanking addition this tier. The proc is properly modeled now, which gives it an edge over other tanking weapons in the DPS department. It also provides about 1k healing per second.
Notes for 4.2.2:
There are no significant changes to report.
Notes for 4.2:
There are 4 new tanking weapons this patch. The first two are from the Firelands raid, Mandible of Beth'tilac and Obsidium Cleaver. The Cleaver is a hit/mastery itemization and thus has a slight edge on threat, but most of us will probably want to use the Mandible for the slight survivability and CTC edge. There are also two new crafted items, Elementium-Edged Scalper and Unbreakable Guardian. Again, we have a hit/mastery and an avoid/mastery option, so choose accordingly.
General Notes
Weapon DPS still matters, but it's far less important than it used to be now that we've lost the old implementation of HotR. In 3.x we saw very large jumps in DPS from one item tier to the next, but in 4.0.x it's a more continuous progression. Tanking weapons from one tier with hit or expertise fall just short of the weaker items in the tier above, but the gap is very small (usually <100 DPS). In general higher ilvl (and thus higher weapon DPS) tank weapons will outperform lower ilvl ones, regardless of what stats come on the weapon.
Weapon speed is still relatively important. Cookie's Tenderizer, the only 2.8-speed tanking weapon available, performs as well as normal-mode T11 epic drops. However, we don't have any other slow weapons to choose from for the moment, making the Tenderizer a bit of an anomaly.
Secondary stats and STR/AGI govern where an item falls in relation to its equal-ilvl peers. A weapon with hit or expertise on it will tend to perform better than a pure avoidance/mastery weapon, but the differences won't be all that large. Agility weapons always seem to trail Strength weapons slightly, though still out-DPS lower-ilvl STR items.
--------------------------------------
Now let's add DPS weapons to see how they fare:

Notes for 4.3:
Hand of Morchok is the only new Strength DPS addition in this tier of raids. It's a pretty strong performer, and since it's packing a socket and mastery it's got a good bit of survivability potential. However, the lack of proc means that even an LFR Souldrinker will match or beat its dps. No'kaled, whose proc also vaults it above most other weapons this tier despite being an Agility item, takes the top spot for DPS by a little under 100 DPS. Note that you won't be able to get the LFR version of No'kaled due to class restrictions.
Notes for 4.2.2:
There are no significant changes to report.
Notes for 4.2
There were 3 DPS additions this patch, Shatterskull Bonecrusher, Gatecrasher, and the PVP weapon Ruthless Gladiator's Bonecracker. The Gatecrasher's expertise makes it the highest-DPS weapon this tier, slightly ahead of the Cleaver and significantly ahead of its peers; the 378 version is on par with some of the 391 weapons.
General Notes
As we've consistently seen since 4.0, DPS weapons are not universally stronger than tank weapons anymore. Now that they share the slow 2.6 speed of DPS weapons, tank weapons perform very favorably. A DPS weapon and tanking weapon of equal ilvl will perform almost identically for threat, with small variations depending on secondary stats and AGI/STR.
Spellpower weapons perform "OK," but they're all relatively fast (2.3 speed or faster) and spellpower is just a weak threat stat for us. Both of those factors hurt their DPS potential. Even the best spellpower weapons only manage to perform as well as the lowest-tier tank or DPS weapons, 26 ilvls lower. So for threat, a spellpower weapon isn't going to be an upgrade unless it's 30+ ilvls better than your current weapon.
I haven't plotted self-healing, but you can see from the chart that spellpower weapons tend to boost WoG self-healing by less than 100 HPS, at the cost of 200-500 DPS. I'm not sure that this alone would be significant enough to offset the loss of survivability stats you suffer taking a spellpower weapon over a traditional tanking weapon. Certainly not enough to take them over casters, and probably not enough to worry about at all. The power of WoG isn't in its raw HPS output, but in its timing and availability.
Even worse, if you include SoI healing the raw HPS goes down with most spellpower weapons. Compare Mace of Acrid Death to Andoros or Twilight's Hammer for W39/SoI and you'll see a net HPS loss of around 300. This is a result of PPM proc mechanics - most of these caster weapons are fast, which means a lower chance to proc per attack. Thus, the number of procs from auto-attacks is unchanged, but you get fewer procs from specials. Bizzare, but that's how the numbers work out.
TLDR Summary:
Setup:
Race: Blood Elf (no weapon racial)
Talents: 0/32/9
Glyphs: Sot/SotR/HotR+AS/Cons for 939, WoG/SoI/HotR+AS/Cons for W39
Seal: SoT, SoI
Gear: T13 Heroic raid set
Rotation: Standard 939
Buffs: Full raid, 100% Vengeance
Code: calc_weapons.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
The logic behind this simulation is fairly simple. Swap a weapon into the gear set, calculate DPS. Lather, rinse, repeat. There are a few subtleties involved though.
Since weapons often have hit or expertise, we want to enforce limits on the gear set's hit and expertise, so that a weapon with either stat gets credit for those stats. On the other hand... some people hit- and expertise-cap without their weapon. So I've run the simulation twice.
- For the first data set, I've altered the stats on the helm in the code so that we have exactly 2% melee hit and 10 expertise without weapon contributions. I've also set mastery to 16.5 mastery on the character sheet, just to make sure we don't hit mastery cap.
- For the second data set, I've altered the stats on the helm so that we have exactly 8% melee hit and 26 expertise without weapon contributions (mastery is still fixed at 16.5). This means that a weapon with hit and expertise will be at a slight disadvantage in this data set - hit is essentially worthless and expertise is half it's maximum effectiveness. Note that since hit and expertise both go up in this test, the net DPS results will be noticeably higher.
I've included WoG and SoI self-healing for the W39 rotation to help scrutinize caster weapons. Since there's an interesting feature here, I've given data for W39/SoI and W39/SoT separately.
Since the caster weapons were uniformly weaker than dps or tank options, I've excluded them from the graph. They'll still be on the tables if you're interested in the details, but I see little point in cluttering up the graphs with them anymore.
I've also removed all of the 346 weapons from the simulations in r373, since at this point they're basically irrelevant.
On to the data:
- Code: Select all
-W39/SoI-- --W39/SoT-- --939/SoT---
SHPS DPS SHPS DPS DPS DPS
Weapon ilvl 2%/10 2%/10 2%/10 8%/26
Bloodlord's Protector 353 6113 13265 2521 17884 20685 23819
Renataki's Soul Slicer 353 6200 13522 2528 18162 21001 23995
Fang of Twilight 359 6072 13372 2513 18017 20814 23963
Mace of Acrid Death 359 6130 13354 2524 17993 20802 23959
Soul Blade 359 6177 13518 2532 18176 21009 23956
Unbreakable Guardian 365 6137 13435 2526 18090 20908 24084
Elementium-Edged Scalper 365 6188 13610 2535 18286 21129 24081
Fang of Twilight (Heroic) 372 6082 13558 2518 18242 21055 24248
Mace of Acrid Death (Heroic) 372 6147 13535 2529 18211 21039 24240
Mandible of Beth'tilac 378 6151 13620 2532 18314 21150 24372
Gavel of Peroth'arn 378 6152 13621 2532 18315 21151 24373
Obsidium Cleaver 378 6207 13806 2541 18524 21386 24378
Souldrinker (Raid Finder) 390 7099 14219 3481 18951 21850 25203
Mandible of Beth'tilac (Heroic) 391 6170 13833 2539 18573 21430 24704
Obsidium Cleaver (Heroic) 391 6234 14048 2549 18814 21701 24711
Souldrinker 403 7267 14521 3636 19303 22233 25657
Souldrinker (Heroic) 416 7439 14856 3794 19694 22659 26162
Amani Scepter of Rites 353 5392 12814 2636 17209 19904 22840
Maldo's Sword Cane 359 5421 12932 2656 17366 20070 23026
Andoros, Fist of the Dragon King 359 5619 13008 2645 17491 20207 23196
Twilight's Hammer 359 5529 13006 2657 17495 20209 23187
Lightforged Elementium Hammer 365 5742 13142 2655 17680 20409 23433
Andoros, Fist of the Dragon King (Heroic) 372 5665 13167 2667 17696 20423 23444
Twilight's Hammer (Heroic) 372 5576 13169 2681 17711 20436 23446
Eye of Purification 378 6290 13637 2677 18396 21175 24335
Volcanospike 378 5524 13282 2687 17806 20547 23323
Firethorn Mindslicer 378 5626 13329 2686 17889 20634 23467
Crescent Moon 378 5478 13104 2677 17586 20301 23295
Scepter of Azshara 378 5479 13148 2689 17648 20367 23366
Ko'gun, Hammer of the Firelord 384 6018 13537 2689 18239 21002 24121
Maw of the Dragonlord (Raid Finder) 390 6134 13689 2701 18430 21206 24362
Eye of Purification (Heroic) 391 6351 13859 2703 18678 21473 24679
Volcanospike (Heroic) 391 5584 13488 2714 18073 20829 23610
Firethorn Mindslicer (Heroic) 391 5688 13612 2731 18236 21003 23854
Vagaries of Time 397 6201 13925 2732 18766 21561 24763
Ko'gun, Hammer of the Firelord (Heroic) 397 6078 13754 2715 18520 21297 24461
Maw of the Dragonlord 403 6199 13923 2729 18730 21521 24727
Vagaries of Time (Heroic) 410 6275 14192 2765 19114 21927 25184
Maw of the Dragonlord (Heroic) 416 6271 14188 2761 19068 21877 25138
Mace of the Sacrificed 353 6101 13382 2508 18022 20828 23769
Gurubashi Punisher 353 6161 13408 2528 18064 20885 23857
Zulian Slasher 353 6169 13480 2540 18140 20968 23903
Crul'korak, the Lightning's Arc 359 6072 13372 2513 18034 20831 23980
Krol Decapitator 359 6105 13458 2509 18116 20929 23885
Lava Spine 359 6139 13414 2535 18093 20908 24073
Scimitar of the Sirocco 359 6138 13420 2537 18098 20912 24078
Pyrium Spellward 365 6117 13566 2512 18225 21049 23986
Crul'korak, the Lightning's Arc (Heroic) 372 6082 13558 2518 18262 21075 24268
Lava Spine (Heroic) 372 6157 13604 2542 18327 21160 24371
Shatterskull Bonecrusher 378 6086 13654 2521 18378 21200 24416
Ruthless Gladiator's Bonecracker 378 6153 13681 2546 18401 21242 24471
Gatecrasher 378 6166 13932 2528 18656 21520 24559
Dragonshrine Scepter 378 6165 13696 2545 18419 21261 24494
Treachery's Bite 378 6211 13823 2542 18564 21429 24396
Shatterskull Bonecrusher (Heroic) 391 6097 13876 2526 18651 21492 24760
Ruthless Gladiator's Bonecracker 391 6173 13904 2554 18672 21535 24817
Gatecrasher (Heroic) 391 6187 14195 2534 18969 21858 24923
Cataclysmic Gladiator's Bonecracker 397 6182 14016 2559 18809 21683 24992
Morningstar of Heroic Will 397 6208 14282 2523 19075 21976 25033
Hand of Morchok 397 6197 14040 2559 18839 21716 25031
Spine of the Thousand Cuts 397 6209 14296 2522 19091 21993 25035
No'Kaled, the Elements of Death 403 6077 14597 2513 19355 22274 25702
Cataclysmic Gladiator's Bonecracker (Elite) 410 6206 14284 2569 19135 22035 25409
Hand of Morchok (Heroic) 410 6223 14311 2569 19170 22073 25454
Morningstar of Heroic Will (Heroic) 410 6235 14595 2528 19449 22381 25462
No'Kaled, the Elements of Death (Heroic) 416 6087 14940 2517 19752 22703 26211
First, let's look at just the traditional tanking weapons:

Notes for 4.3:
Souldrinker is the new tanking addition this tier. The proc is properly modeled now, which gives it an edge over other tanking weapons in the DPS department. It also provides about 1k healing per second.
Notes for 4.2.2:
There are no significant changes to report.
Notes for 4.2:
There are 4 new tanking weapons this patch. The first two are from the Firelands raid, Mandible of Beth'tilac and Obsidium Cleaver. The Cleaver is a hit/mastery itemization and thus has a slight edge on threat, but most of us will probably want to use the Mandible for the slight survivability and CTC edge. There are also two new crafted items, Elementium-Edged Scalper and Unbreakable Guardian. Again, we have a hit/mastery and an avoid/mastery option, so choose accordingly.
General Notes
Weapon DPS still matters, but it's far less important than it used to be now that we've lost the old implementation of HotR. In 3.x we saw very large jumps in DPS from one item tier to the next, but in 4.0.x it's a more continuous progression. Tanking weapons from one tier with hit or expertise fall just short of the weaker items in the tier above, but the gap is very small (usually <100 DPS). In general higher ilvl (and thus higher weapon DPS) tank weapons will outperform lower ilvl ones, regardless of what stats come on the weapon.
Weapon speed is still relatively important. Cookie's Tenderizer, the only 2.8-speed tanking weapon available, performs as well as normal-mode T11 epic drops. However, we don't have any other slow weapons to choose from for the moment, making the Tenderizer a bit of an anomaly.
Secondary stats and STR/AGI govern where an item falls in relation to its equal-ilvl peers. A weapon with hit or expertise on it will tend to perform better than a pure avoidance/mastery weapon, but the differences won't be all that large. Agility weapons always seem to trail Strength weapons slightly, though still out-DPS lower-ilvl STR items.
--------------------------------------
Now let's add DPS weapons to see how they fare:

Notes for 4.3:
Hand of Morchok is the only new Strength DPS addition in this tier of raids. It's a pretty strong performer, and since it's packing a socket and mastery it's got a good bit of survivability potential. However, the lack of proc means that even an LFR Souldrinker will match or beat its dps. No'kaled, whose proc also vaults it above most other weapons this tier despite being an Agility item, takes the top spot for DPS by a little under 100 DPS. Note that you won't be able to get the LFR version of No'kaled due to class restrictions.
Notes for 4.2.2:
There are no significant changes to report.
Notes for 4.2
There were 3 DPS additions this patch, Shatterskull Bonecrusher, Gatecrasher, and the PVP weapon Ruthless Gladiator's Bonecracker. The Gatecrasher's expertise makes it the highest-DPS weapon this tier, slightly ahead of the Cleaver and significantly ahead of its peers; the 378 version is on par with some of the 391 weapons.
General Notes
As we've consistently seen since 4.0, DPS weapons are not universally stronger than tank weapons anymore. Now that they share the slow 2.6 speed of DPS weapons, tank weapons perform very favorably. A DPS weapon and tanking weapon of equal ilvl will perform almost identically for threat, with small variations depending on secondary stats and AGI/STR.
Spellpower weapons perform "OK," but they're all relatively fast (2.3 speed or faster) and spellpower is just a weak threat stat for us. Both of those factors hurt their DPS potential. Even the best spellpower weapons only manage to perform as well as the lowest-tier tank or DPS weapons, 26 ilvls lower. So for threat, a spellpower weapon isn't going to be an upgrade unless it's 30+ ilvls better than your current weapon.
I haven't plotted self-healing, but you can see from the chart that spellpower weapons tend to boost WoG self-healing by less than 100 HPS, at the cost of 200-500 DPS. I'm not sure that this alone would be significant enough to offset the loss of survivability stats you suffer taking a spellpower weapon over a traditional tanking weapon. Certainly not enough to take them over casters, and probably not enough to worry about at all. The power of WoG isn't in its raw HPS output, but in its timing and availability.
Even worse, if you include SoI healing the raw HPS goes down with most spellpower weapons. Compare Mace of Acrid Death to Andoros or Twilight's Hammer for W39/SoI and you'll see a net HPS loss of around 300. This is a result of PPM proc mechanics - most of these caster weapons are fast, which means a lower chance to proc per attack. Thus, the number of procs from auto-attacks is unchanged, but you get fewer procs from specials. Bizzare, but that's how the numbers work out.
TLDR Summary:
- Weapon performance can roughly be determined by sorting in this order:
- ilvl and speed (+0.2 speed is worth ~ 13 ilvls)
- Primary and Secondary stats (STR>AGI, Hit/Exp>Crit/Haste)
- DPS weapons aren't anything special anymore, they're no better or worse than an equal-ilvl tank weapon with similar primary/secondary stats.
- Slow spellpower weapons lag tanking weapons by about 26 ilvls at best, fast spellpower weapons are far worse. They don't provide an appreciable survivability/SHPS benefit.
- Rule of Thumb: Within an ilvl category, pick items based on the secondary stats you like. For upgrades, slower and higher ilvl is almost always better.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Enchant/Food Comparison
Setup:
Race: Blood Elf (hardly matters)
Talents: 0/32/9
Glyphs: SoT/ShoR/HotR+AS/Cons for 939, WoG/SoI/HotR+AS/Cons for W39
Seal: SoT, SoI
Gear: T13 heroic raid set
Rotation: Standard 939
Buffs: Full raid, 100% Vengeance
Code: calc_enchant.m, dynamic_model.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
This is very similar to the Weapon analysis. For the passive enchants and foods, we just apply the effect and calculate DPS. Again, we've done this a couple of times: once with a W39 rotation at low hit and expertise, once with 939 and low hit/exp, and once with 939 at hit cap and expertise soft-cap.
Dynamic enchants are handled by dynamic_model.m, which accurately models their individual DPS contributions, uptime, and avoidance.
I have excluded Berserking, Mongoose, and other Wrath proc-based enchants because they reportedly have lower proc chances at 85, making them far inferior to the Cataclysm options. Since there are no passive Cataclysm weapon enchants, I have included a few of the passive Wrath enchants of interest.
New in this round, I've added avoidance data to the simulation. This isn't all that interesting yet, but once we get Blade Ward back in here it will be interesting to see how it fares as a low-budget alternative to Windwalk.

Two of the three proc-based Cataclysm enchants (Landslide and Avalanche) hold a commanding lead over the other options. Hurricane got a slight boost in 4.2.2 thanks to the Censure buff, propelling it ahead of the Titanium Weapon Chain when using SoT. However, the Pyrium weapon chain still out-performs Hurricane, and is likely to be a lot cheaper on most servers, making it the go-to budget option. Of the Wrath-era enchants, Accuracy performs the best but still can't keep up with the new weapon chain. In general we can write off all of the Wrath-era DPS enchants, because even the budget Cata option surpasses them.
Unsurprisingly, the food benefits match our stat scaling. Crocolisk Au Gratin (expertise), Grilled Dragon (hit), and Beer-Basted Crocolisk (STR) lead the pack by a significant margin. At the hit cap, Grilled Dragon drops to last place, providing only the STA benefit of around 70 DPS. Crocolisk Au Gratin still surpasses all but the strength food above expertise cap.
Next let's look at the avoidance results:
With the loss of Agi->Dodge, this analysis becomes pretty boring. Windwalk is still the only game in town. Blade Ward or Mending would be the "cheap" alternatives for the budget-conscious. Note that Windwalk's speed boost does stack with Pursuit of Justice, unlike the boot enchants.
TLDR Summary:
Setup:
Race: Blood Elf (hardly matters)
Talents: 0/32/9
Glyphs: SoT/ShoR/HotR+AS/Cons for 939, WoG/SoI/HotR+AS/Cons for W39
Seal: SoT, SoI
Gear: T13 heroic raid set
Rotation: Standard 939
Buffs: Full raid, 100% Vengeance
Code: calc_enchant.m, dynamic_model.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
This is very similar to the Weapon analysis. For the passive enchants and foods, we just apply the effect and calculate DPS. Again, we've done this a couple of times: once with a W39 rotation at low hit and expertise, once with 939 and low hit/exp, and once with 939 at hit cap and expertise soft-cap.
Dynamic enchants are handled by dynamic_model.m, which accurately models their individual DPS contributions, uptime, and avoidance.
I have excluded Berserking, Mongoose, and other Wrath proc-based enchants because they reportedly have lower proc chances at 85, making them far inferior to the Cataclysm options. Since there are no passive Cataclysm weapon enchants, I have included a few of the passive Wrath enchants of interest.
New in this round, I've added avoidance data to the simulation. This isn't all that interesting yet, but once we get Blade Ward back in here it will be interesting to see how it fares as a low-budget alternative to Windwalk.
- Code: Select all
DPS (@ Hit/Exp)
W39 ---939---
Weapon Enchant --2/10-- 8/26
Enchant Weapon - Exceptional Agility 16 24 26
Enchant Weapon - Potency 17 27 31
Enchant Weapon - Greater Potency 19 30 34
Titanium Weapon Chain 53 67 0
Enchant Weapon - Accuracy 65 85 28
Pyrium Weapon Chain 76 96 0
Enchant Weapon - Hurricane 47 99 116
Enchant Weapon - Avalanche 139 149 166
Enchant Weapon - Landslide 139 239 300
Food
Mushroom Sauce Mudfish 42 66 82
Blackbelly Sushi 45 70 86
Lavascale Minestrone 46 72 107
Basilisk Liverdog 62 110 123
Skewered Eel 104 156 173
Baked Rockfish 110 164 181
Beer-Basted Crocolisk 122 194 221
Grilled Dragon 218 288 82
Crocolisk Au Gratin 317 401 251

Two of the three proc-based Cataclysm enchants (Landslide and Avalanche) hold a commanding lead over the other options. Hurricane got a slight boost in 4.2.2 thanks to the Censure buff, propelling it ahead of the Titanium Weapon Chain when using SoT. However, the Pyrium weapon chain still out-performs Hurricane, and is likely to be a lot cheaper on most servers, making it the go-to budget option. Of the Wrath-era enchants, Accuracy performs the best but still can't keep up with the new weapon chain. In general we can write off all of the Wrath-era DPS enchants, because even the budget Cata option surpasses them.
Unsurprisingly, the food benefits match our stat scaling. Crocolisk Au Gratin (expertise), Grilled Dragon (hit), and Beer-Basted Crocolisk (STR) lead the pack by a significant margin. At the hit cap, Grilled Dragon drops to last place, providing only the STA benefit of around 70 DPS. Crocolisk Au Gratin still surpasses all but the strength food above expertise cap.
Next let's look at the avoidance results:
- Code: Select all
Average Avoidance % (@ Hit/Exp)
W39 ----939----
Weapon Enchant ---2/10---- 8/26
Enchant Weapon - Potency 0.02 0.02 0.02
Enchant Weapon - Windwalk 0.69 0.74 0.83
Food
Beer-Basted Crocolisk 0.09 0.09 0.09
Blackbelly Sushi 0.30 0.30 0.30
Mushroom Sauce Mudfish 0.33 0.33 0.33
With the loss of Agi->Dodge, this analysis becomes pretty boring. Windwalk is still the only game in town. Blade Ward or Mending would be the "cheap" alternatives for the budget-conscious. Note that Windwalk's speed boost does stack with Pursuit of Justice, unlike the boot enchants.
TLDR Summary:
- Landslide and Avalanche are our high-DPS enchants.
- Windwalk gives about 0.75% dodge after DR (uptime-averaged).
- Crocolisk Au Gratin is our highest-DPS food, followed by Grilled Dragon and Beer-Basted Crocolisk.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
T13 2-piece Ret rotations
Retribution T13 2-piece Rotation Simulations
Setup:
Race: Human (hardly matters)
Talents: 0/32/9
Glyphs: Two sets, #1 is SoT/SotR/HotR/CS for Prime (yes, 4 primes), AS/Cons for Major, #2 is SoI/WoG/HotR/CS for Prime, AS/Cons for Major.
Seal: SoT, SoI
Gear: T13 heroic raid set
Rotation: N/A
Buffs: Full raid, 100%/30% Vengeance
Code: calc_rot_st.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
This simulation is identical to the single-target rotation sims; in fact, it's exactly the same code. However, I've artificially toggled on the T13 ret 2-piece bonus to see what effect it has on the rotation. Everything else is the same.
#1) SoT active, 2% hit, 10 expertise
#2) SoI active, 2% hit, 10 expertise
#3) SoT active, 8% hit, 26 expertise
The 2-piece is worth approximately 600-1000 DPS at low hit, depending on Cons/HW usage, but only around 400 DPS at high hit. The explanation is in the "E%" column; at high hit, the rotation is already pretty tight and we're not seeing much of a change in the number of empty GCDs. However, in the low-hit case, we've gone from ~7% empties (w/o 2-piece) to ~5%.
In addition, we see that J>AS prioritization tend to gain a bit of ground on the AS>J priorities, pulling far enough ahead that AS+ prioritization becomes a DPS loss. The same seems to be true in the sub-20% queues.
TLDR Summary
Setup:
Race: Human (hardly matters)
Talents: 0/32/9
Glyphs: Two sets, #1 is SoT/SotR/HotR/CS for Prime (yes, 4 primes), AS/Cons for Major, #2 is SoI/WoG/HotR/CS for Prime, AS/Cons for Major.
Seal: SoT, SoI
Gear: T13 heroic raid set
Rotation: N/A
Buffs: Full raid, 100%/30% Vengeance
Code: calc_rot_st.m
Revision: r383
Patch: 4.3.2
Date: 25 Feb 2012
This simulation is identical to the single-target rotation sims; in fact, it's exactly the same code. However, I've artificially toggled on the T13 ret 2-piece bonus to see what effect it has on the rotation. Everything else is the same.
#1) SoT active, 2% hit, 10 expertise
- Code: Select all
DPS SHPS E I mps
Q# Priority V=100% V=30% V=100% V=30% % %
1 SotR>CS>J>AS 23650 15386 2099 1842 5.3 0.0 273
2 SotR>CS>AS>J 23464 15281 2008 1791 5.9 0.0 176
3 SotR>HotR>AS>J 21682 13895 2008 1791 5.9 0.0 176
4 SotR>CS>J[cdCS>0.5]>AS 23648 15386 2098 1841 5.3 0.0 272
5 SotR>AS>CS>J 23339 15185 2034 1799 7.0 0.0 248
6 SotR>J>CS>AS 23412 15218 2114 1842 6.6 0.0 350
7 SotR>CS>AS+>J>AS 23557 15335 2041 1810 5.5 0.0 209
8 SotR>CS>AS+>J[cdCS>0.5]>AS 23554 15334 2039 1809 5.5 0.0 207
9 SotR>AS+>CS>AS>J 23478 15278 2039 1805 6.3 0.0 231
10 SotR>AS[buffGC<2][buffGC>0]>CS>AS+>J>AS 23556 15334 2041 1810 5.6 0.0 209
11 SotR>CS>AS>J>HW 23576 15445 1984 1776 2.0 0.0 -35
12 SotR>CS>J>AS>HW 23786 15560 2085 1833 1.5 0.0 82
13 SotR>CS>AS>J>Cons 23707 15436 1992 1781 3.9 0.0 -114
14 SotR>CS>J>AS>Cons 23890 15538 2086 1834 3.3 0.0 -4
15 SotR>CS>AS>J>HW>Cons 23670 15506 1959 1762 0.8 0.0 -246
16 SotR>CS>J>AS>HW>Cons 23838 15592 2060 1818 0.6 0.0 -102
17 SotR>CS>AS>J>Cons>HW 23726 15521 1962 1763 1.1 0.0 -282
18 SotR>CS>J>AS>Cons>HW 23906 15613 2063 1820 0.8 0.0 -146
19 SotR>CS>AS+>J>AS>Cons>HW 23827 15574 2002 1786 0.9 0.0 -228
20 SotR>AS+>CS>AS>J>Cons>HW 23707 15506 1978 1768 1.2 0.0 -263
21 sdAS>sdJ>SotR>CS>AS>J>Cons>HW 23542 15380 2047 1790 3.0 0.0 -154
22 Inq>CS>AS>J 20354 13324 2032 1743 6.7 98.7 149
23 Inq>HotR>J>AS 19568 12515 2154 1812 6.1 98.8 276
24 Inq>CS>J>AS 20521 13414 2154 1812 6.1 98.8 276
25 Inq>CS>AS+>J>AS 20386 13337 2076 1767 6.3 98.8 183
26 Inq>AS+>CS>AS>J 20391 13333 2081 1768 7.2 98.6 208
27 Inq[buffInq<2]>SotR>CS>J>AS 23537 15307 2152 1841 5.7 80.0 258
28 ISotR>Inq>CS>J>AS 23615 15356 2151 1841 5.7 78.1 259
29 SDSotR>Inq>CS>J>AS 23973 15581 2133 1836 5.6 54.7 261
30 SDSotR>ISotR>Inq>CS>J>AS 24187 15717 2130 1842 5.5 46.5 264
31 SDSotR>ISotR>Inq>CS>AS>J 23975 15597 2029 1785 6.1 46.8 168
32 SDSotR>ISotR>Inq>CS>AS+>J>AS 24086 15661 2066 1806 5.8 47.7 201
33 ISDSotR>Inq>CS>AS>J 23280 15157 2041 1772 6.3 82.7 159
34 Inq>CS>AS>J>Cons>HW 20873 13755 1975 1709 1.4 98.8 -332
35 Inq>HotR>AS>J>Cons>HW 19903 12841 1975 1709 1.4 98.8 -332
36 ISotR>Inq>CS>AS>J>Cons>HW 23772 15562 1989 1748 1.2 77.1 -309
37 SDSotR>Inq>CS>AS>J>Cons>HW 24079 15749 1977 1745 1.2 56.6 -304
38 SDSotR>ISotR>Inq>CS>AS>J>Cons>HW 24296 15884 1979 1754 1.2 47.8 -298
39 SDSotR>ISotR>Inq>CS>J>AS>Cons>HW 24488 15982 2089 1816 0.9 47.5 -164
40 SDSotR>ISotR>Inq>CS>AS+>J>AS>Cons>HW 24409 15944 2022 1778 1.0 48.8 -247
41 ISDSotR>Inq>CS>AS>J>Cons>HW 23639 15479 1986 1738 1.2 82.8 -314
42 WoG>CS>J>AS 18382 12112 4129 3202 11.7 0.0 145
43 WoG>SotR>CS>J>AS 21861 14262 3986 3121 5.5 0.0 263
44 WoG>CS>AS+>J>AS 18599 12256 4133 3209 11.0 0.0 120
45 WoG>SotR[cdWoG>10]>CS>J>AS 20118 13195 4195 3261 7.8 0.0 176
46 WoG>Inq>CS>J>AS 19998 13087 4029 3105 6.1 81.6 276
47 WoG>CS>J>AS>Cons>HW 19013 12608 4129 3202 4.8 0.0 -372
48 WoG>SotR>CS>AS+>J>AS 21778 14218 3929 3090 5.8 0.0 200
49 WoG>SotR>CS>J>AS>Cons>HW 22148 14511 3932 3087 0.9 0.0 -167
50 WoG>SotR>CS>AS+>J>AS>Cons>HW 22081 14480 3874 3056 1.0 0.0 -248
51 WoG>SotR2>CS>J>AS>Cons>HW 20715 13576 2044 1815 0.4 0.0 -44
52 WoG>Inq>CS>J>AS>Cons>HW 20461 13469 3964 3065 1.1 81.3 -206
53 WoG>Inq>AS+>CS>J>AS>Cons>HW 20362 13421 3906 3029 1.4 81.2 -275
54 WoG>ISotR>Inq>CS>J>AS>Cons>HW 21989 14420 3957 3078 1.0 57.7 -189
55 WoG>SDSotR>ISotR>Inq>CS>J>AS>Cons>HW 22414 14682 3949 3084 0.9 34.2 -180
56 SotR>CS>J>AS>HoW 24844 16192 2065 1821 0.6 0.0 114
57 SotR>CS>AS>J>HoW 24783 16171 1969 1768 0.8 0.0 -6
58 SotR>CS>J>HoW>AS 24580 16042 2003 1759 0.3 0.0 37
59 SotR>CS>AS>HoW>J 24676 16151 1776 1643 0.2 0.0 -277
60 SotR>CS>HoW>AS>J 24494 16057 1690 1578 0.2 0.0 -395
61 SotR>HoW>CS>AS>J 24324 15946 1665 1547 1.0 0.0 -387
62 HoW>SotR>CS>AS>J 24225 15884 1647 1526 1.4 0.0 -390
63 SotR>CS>AS+>J>AS>HoW 24806 16178 2005 1789 0.7 0.0 40
64 SotR>CS>AS+>J>HoW>AS 24690 16110 1975 1762 0.5 0.0 9
65 SotR>CS>AS+>HoW>J>AS 24620 16111 1790 1643 0.1 0.0 -253
66 SotR>CS>AS+>HoW>AS>J 24587 16105 1731 1612 0.2 0.0 -340
67 SotR>CS>HoW>AS+>J>AS 24555 16074 1777 1624 0.1 0.0 -263
68 SotR>CS>AS>HoW>J>Cons>HW 24587 16101 1743 1623 0.0 0.0 -380
69 SotR>CS>J>AS>HoW>Cons>HW 24752 16139 2043 1808 0.0 0.0 -18
70 SotR>CS>AS>J>HoW>Cons>HW 24654 16101 1929 1744 0.0 0.0 -187
71 SotR>CS>J>HoW>AS>Cons>HW 24549 16023 1993 1753 0.0 0.0 -34
72 SotR>CS>HoW>AS>J>Cons>HW 24437 16024 1669 1565 0.0 0.0 -461
73 SotR>HoW>CS>AS>J>Cons>HW 24363 15980 1638 1531 0.0 0.0 -556
74 HoW>SotR>CS>AS>J>Cons>HW 24316 15954 1619 1508 0.0 0.0 -597
75 ISotR>SDSotR>Inq>CS>AS>HoW>J>Cons>HW 25283 16549 1727 1593 0.0 46.9 -397
76 ISotR>SDSotR>Inq>CS>AS>J>HoW>Cons>HW 25388 16566 1942 1732 0.0 48.8 -207
77 ISotR>SDSotR>Inq>CS>J>AS>HoW>Cons>HW 25470 16593 2065 1802 0.0 48.3 -38
78 ISotR>SDSotR>Inq>CS>J>HoW>AS>Cons>HW 25270 16483 2012 1746 0.0 48.5 -58
79 ISotR>SDSotR>Inq>CS>HoW>J>AS>Cons>HW 25169 16464 1825 1626 0.0 47.5 -243
80 ISotR>SDSotR>Inq>CS>HoW>AS>J>Cons>HW 25111 16462 1648 1532 0.0 47.0 -479
#2) SoI active, 2% hit, 10 expertise
- Code: Select all
DPS SHPS E I mps
Q# Priority V=100% V=30% V=100% V=30% % %
1 SotR>CS>J>AS 16908 11166 5851 4062 5.5 0.0 732
2 SotR>CS>AS>J 16918 11182 5785 4027 6.1 0.0 639
3 SotR>HotR>AS>J 15274 9902 5785 4027 6.1 0.0 639
4 SotR>CS>J[cdCS>0.5]>AS 16907 11166 5850 4062 5.5 0.0 731
5 SotR>AS>CS>J 16755 11066 5764 4007 7.3 0.0 699
6 SotR>J>CS>AS 16625 10971 5808 4028 7.0 0.0 804
7 SotR>CS>AS+>J>AS 16931 11187 5812 4042 5.8 0.0 671
8 SotR>CS>AS+>J[cdCS>0.5]>AS 16930 11187 5811 4042 5.8 0.0 669
9 SotR>AS+>CS>AS>J 16886 11153 5790 4026 6.5 0.0 684
10 SotR>AS[buffGC<2][buffGC>0]>CS>AS+>J>AS 16932 11187 5811 4042 5.8 0.0 672
11 SotR>CS>AS>J>HW 17092 11387 5760 4012 2.2 0.0 424
12 SotR>CS>J>AS>HW 17076 11361 5831 4050 1.7 0.0 539
13 SotR>CS>AS>J>Cons 17202 11363 5768 4017 4.1 0.0 346
14 SotR>CS>J>AS>Cons 17181 11339 5835 4053 3.6 0.0 452
15 SotR>CS>AS>J>HW>Cons 17255 11490 5736 3998 0.9 0.0 207
16 SotR>CS>J>AS>HW>Cons 17207 11442 5810 4038 0.7 0.0 349
17 SotR>CS>AS>J>Cons>HW 17301 11499 5739 3999 1.2 0.0 173
18 SotR>CS>J>AS>Cons>HW 17263 11456 5812 4039 0.9 0.0 307
19 SotR>CS>AS+>J>AS>Cons>HW 17305 11491 5772 4018 1.0 0.0 229
20 SotR>AS+>CS>AS>J>Cons>HW 17266 11475 5732 3992 1.4 0.0 189
21 sdAS>sdJ>SotR>CS>AS>J>Cons>HW 16960 11266 5676 3938 3.2 0.0 277
22 Inq>CS>AS>J 13356 8965 5331 3694 7.1 97.7 519
23 Inq>HotR>J>AS 12390 8064 5408 3736 6.5 98.0 638
24 Inq>CS>J>AS 13286 8909 5408 3736 6.5 98.0 638
25 Inq>CS>AS+>J>AS 13303 8926 5354 3706 6.8 98.0 549
26 Inq>AS+>CS>AS>J 13314 8929 5343 3698 7.6 97.7 568
27 Inq[buffInq<2]>SotR>CS>J>AS 15865 10521 5618 3889 6.0 79.2 664
28 ISotR>Inq>CS>J>AS 15982 10594 5628 3897 6.0 76.7 667
29 SDSotR>Inq>CS>J>AS 16647 11007 5670 3929 5.9 52.2 680
30 SDSotR>ISotR>Inq>CS>J>AS 16884 11155 5723 3967 5.8 44.6 695
31 SDSotR>ISotR>Inq>CS>AS>J 16890 11169 5652 3929 6.4 44.7 602
32 SDSotR>ISotR>Inq>CS>AS+>J>AS 16901 11172 5677 3942 6.1 45.6 634
33 ISDSotR>Inq>CS>AS>J 15878 10540 5502 3819 6.7 81.3 562
34 Inq>CS>AS>J>Cons>HW 14001 9480 5283 3666 1.6 97.9 23
35 Inq>HotR>AS>J>Cons>HW 13092 8624 5283 3666 1.6 97.9 23
36 ISotR>Inq>CS>AS>J>Cons>HW 16519 11038 5507 3829 1.4 75.7 93
37 SDSotR>Inq>CS>AS>J>Cons>HW 17095 11390 5544 3856 1.4 53.7 109
38 SDSotR>ISotR>Inq>CS>AS>J>Cons>HW 17325 11530 5600 3897 1.3 45.6 126
39 SDSotR>ISotR>Inq>CS>J>AS>Cons>HW 17286 11484 5678 3940 1.0 45.4 257
40 SDSotR>ISotR>Inq>CS>AS+>J>AS>Cons>HW 17325 11520 5631 3914 1.1 46.6 178
41 ISDSotR>Inq>CS>AS>J>Cons>HW 16377 10953 5449 3787 1.4 81.5 76
42 WoG>CS>J>AS 12687 8552 7887 5458 11.9 0.0 524
43 WoG>SotR>CS>J>AS 15383 10211 7869 5446 5.8 0.0 690
44 WoG>CS>AS+>J>AS 12897 8691 7924 5486 11.2 0.0 507
45 WoG>SotR[cdWoG>10]>CS>J>AS 14040 9392 8064 5582 8.1 0.0 584
46 WoG>Inq>CS>J>AS 13043 8755 7575 5229 6.5 78.3 638
47 WoG>CS>J>AS>Cons>HW 13320 9050 7887 5458 5.0 0.0 5
48 WoG>SotR>CS>AS+>J>AS 15413 10236 7831 5426 6.1 0.0 630
49 WoG>SotR>CS>J>AS>Cons>HW 15769 10523 7811 5409 1.0 0.0 251
50 WoG>SotR>CS>AS+>J>AS>Cons>HW 15818 10564 7773 5389 1.1 0.0 173
51 WoG>SotR2>CS>J>AS>Cons>HW 14595 9752 5539 3881 0.4 0.0 348
52 WoG>Inq>CS>J>AS>Cons>HW 13614 9207 7512 5190 1.3 78.0 143
53 WoG>Inq>AS+>CS>J>AS>Cons>HW 13640 9237 7452 5153 1.7 78.0 77
54 WoG>ISotR>Inq>CS>J>AS>Cons>HW 15022 10076 7637 5281 1.2 55.9 188
55 WoG>SDSotR>ISotR>Inq>CS>J>AS>Cons>HW 15660 10467 7713 5336 1.1 32.4 215
56 SotR>CS>J>AS>HoW 18130 11987 6031 4171 0.7 0.0 615
57 SotR>CS>AS>J>HoW 18266 12087 5980 4145 0.9 0.0 503
58 SotR>CS>J>HoW>AS 17923 11871 5993 4124 0.4 0.0 547
59 SotR>CS>AS>HoW>J 18546 12309 5903 4093 0.3 0.0 238
60 SotR>CS>HoW>AS>J 18509 12307 5851 4049 0.2 0.0 115
61 SotR>HoW>CS>AS>J 18370 12216 5811 4010 1.2 0.0 124
62 HoW>SotR>CS>AS>J 18298 12172 5794 3990 1.5 0.0 120
63 SotR>CS>AS+>J>AS>HoW 18204 12041 5999 4155 0.8 0.0 548
64 SotR>CS>AS+>J>HoW>AS 18114 11990 5978 4133 0.7 0.0 517
65 SotR>CS>AS+>HoW>J>AS 18409 12218 5905 4084 0.2 0.0 269
66 SotR>CS>AS+>HoW>AS>J 18537 12313 5874 4071 0.2 0.0 168
67 SotR>CS>HoW>AS+>J>AS 18340 12178 5896 4068 0.2 0.0 259
68 SotR>CS>AS>HoW>J>Cons>HW 18540 12311 5864 4070 0.0 0.0 113
69 SotR>CS>J>AS>HoW>Cons>HW 18124 11988 5996 4149 0.0 0.0 474
70 SotR>CS>AS>J>HoW>Cons>HW 18260 12095 5929 4114 0.0 0.0 309
71 SotR>CS>J>HoW>AS>Cons>HW 17929 11877 5975 4114 0.0 0.0 467
72 SotR>CS>HoW>AS>J>Cons>HW 18502 12306 5826 4034 0.0 0.0 27
73 SotR>HoW>CS>AS>J>Cons>HW 18487 12300 5783 3993 0.0 0.0 -65
74 HoW>SotR>CS>AS>J>Cons>HW 18463 12291 5763 3972 0.0 0.0 -102
75 ISotR>SDSotR>Inq>CS>AS>HoW>J>Cons>HW 18750 12464 5719 3963 0.0 44.9 66
76 ISotR>SDSotR>Inq>CS>AS>J>HoW>Cons>HW 18441 12224 5792 4013 0.0 46.5 256
77 ISotR>SDSotR>Inq>CS>J>AS>HoW>Cons>HW 18284 12102 5866 4052 0.0 46.1 421
78 ISotR>SDSotR>Inq>CS>J>HoW>AS>Cons>HW 18090 11995 5842 4015 0.0 46.9 410
79 ISotR>SDSotR>Inq>CS>HoW>J>AS>Cons>HW 18348 12198 5768 3965 0.0 46.3 239
80 ISotR>SDSotR>Inq>CS>HoW>AS>J>Cons>HW 18699 12454 5673 3922 0.0 45.7 -23
#3) SoT active, 8% hit, 26 expertise
- Code: Select all
DPS SHPS E I mps
Q# Priority V=100% V=30% V=100% V=30% % %
1 SotR>CS>J>AS 28418 18554 2514 2239 5.2 0.0 261
2 SotR>CS>AS>J 28533 18688 2319 2148 4.1 0.0 -17
3 SotR>HotR>AS>J 25981 16706 2319 2148 4.1 0.0 -17
4 SotR>CS>J[cdCS>0.5]>AS 28418 18554 2514 2239 5.2 0.0 261
5 SotR>AS>CS>J 28035 18317 2406 2174 6.5 0.0 178
6 SotR>J>CS>AS 28228 18413 2542 2246 6.1 0.0 330
7 SotR>CS>AS+>J>AS 28377 18541 2443 2202 5.2 0.0 172
8 SotR>CS>AS+>J[cdCS>0.5]>AS 28377 18541 2443 2202 5.2 0.0 172
9 SotR>AS+>CS>AS>J 28215 18434 2421 2186 5.9 0.0 172
10 SotR>AS[buffGC<2][buffGC>0]>CS>AS+>J>AS 28377 18541 2443 2202 5.2 0.0 172
11 SotR>CS>AS>J>HW 28770 18924 2309 2144 0.4 0.0 -197
12 SotR>CS>J>AS>HW 28662 18796 2511 2238 1.4 0.0 82
13 SotR>CS>AS>J>Cons 28855 18894 2313 2145 2.1 0.0 -272
14 SotR>CS>J>AS>Cons 28762 18776 2503 2235 3.0 0.0 -12
15 SotR>CS>AS>J>HW>Cons 28830 18962 2306 2142 0.0 0.0 -249
16 SotR>CS>J>AS>HW>Cons 28775 18868 2468 2219 0.4 0.0 -117
17 SotR>CS>AS>J>Cons>HW 28974 19014 2309 2144 0.2 0.0 -364
18 SotR>CS>J>AS>Cons>HW 28846 18901 2469 2220 0.3 0.0 -163
19 SotR>CS>AS+>J>AS>Cons>HW 28894 18947 2380 2175 0.3 0.0 -282
20 SotR>AS+>CS>AS>J>Cons>HW 28578 18755 2341 2145 0.7 0.0 -334
21 sdAS>sdJ>SotR>CS>AS>J>Cons>HW 28159 18451 2454 2177 2.5 0.0 -137
22 Inq>CS>AS>J 23742 15660 2219 1996 4.1 100.0 -17
23 Inq>HotR>J>AS 22628 14528 2502 2145 5.2 100.0 261
24 Inq>CS>J>AS 23803 15634 2502 2145 5.2 100.0 261
25 Inq>CS>AS+>J>AS 23687 15575 2401 2088 5.2 100.0 172
26 Inq>AS+>CS>AS>J 23663 15557 2380 2074 5.9 100.0 172
27 Inq[buffInq<2]>SotR>CS>J>AS 28636 18676 2551 2219 5.2 87.2 261
28 ISotR>Inq>CS>J>AS 28636 18676 2551 2219 5.2 87.2 261
29 SDSotR>Inq>CS>J>AS 28574 18637 2530 2210 5.2 62.3 261
30 SDSotR>ISotR>Inq>CS>J>AS 28984 18899 2537 2227 5.2 53.9 261
31 SDSotR>ISotR>Inq>CS>AS>J 28977 18955 2313 2115 4.1 59.1 -17
32 SDSotR>ISotR>Inq>CS>AS+>J>AS 28928 18877 2454 2182 5.2 55.5 172
33 ISDSotR>Inq>CS>AS>J 28197 18458 2292 2076 4.1 92.3 -17
34 Inq>CS>AS>J>Cons>HW 24300 16072 2203 1988 0.2 100.0 -364
35 Inq>HotR>AS>J>Cons>HW 22982 14833 2203 1988 0.2 100.0 -364
36 ISotR>Inq>CS>AS>J>Cons>HW 29169 19134 2298 2092 0.2 89.7 -364
37 SDSotR>Inq>CS>AS>J>Cons>HW 28927 18978 2277 2079 0.2 69.4 -364
38 SDSotR>ISotR>Inq>CS>AS>J>Cons>HW 29495 19338 2301 2109 0.2 59.5 -364
39 SDSotR>ISotR>Inq>CS>J>AS>Cons>HW 29455 19279 2485 2201 0.3 57.3 -163
40 SDSotR>ISotR>Inq>CS>AS+>J>AS>Cons>HW 29492 19320 2383 2147 0.3 58.5 -282
41 ISDSotR>Inq>CS>AS>J>Cons>HW 28729 18854 2278 2069 0.2 92.6 -364
42 WoG>CS>J>AS 22038 14589 4509 3567 11.1 0.0 136
43 WoG>SotR>CS>J>AS 26489 17336 4404 3518 5.2 0.0 261
44 WoG>CS>AS+>J>AS 22295 14761 4509 3573 10.3 0.0 102
45 WoG>SotR[cdWoG>10]>CS>J>AS 24235 15969 4574 3632 7.0 0.0 146
46 WoG>Inq>CS>J>AS 23506 15448 4417 3464 5.2 91.8 261
47 WoG>CS>J>AS>Cons>HW 22704 15111 4509 3567 4.3 0.0 -373
48 WoG>SotR>CS>AS+>J>AS 26462 17332 4336 3483 5.2 0.0 172
49 WoG>SotR>CS>J>AS>Cons>HW 26932 17692 4344 3488 0.3 0.0 -163
50 WoG>SotR>CS>AS+>J>AS>Cons>HW 26982 17739 4258 3445 0.3 0.0 -282
51 WoG>SotR2>CS>J>AS>Cons>HW 25078 16475 2516 2251 0.0 0.0 44
52 WoG>Inq>CS>J>AS>Cons>HW 24061 15888 4339 3422 0.3 92.3 -163
53 WoG>Inq>AS+>CS>J>AS>Cons>HW 23926 15823 4271 3382 0.6 91.6 -279
54 WoG>ISotR>Inq>CS>J>AS>Cons>HW 26491 17416 4363 3462 0.3 76.1 -163
55 WoG>SDSotR>ISotR>Inq>CS>J>AS>Cons>HW 27189 17851 4355 3475 0.3 41.5 -163
56 SotR>CS>J>AS>HoW 29722 19441 2473 2224 0.3 0.0 83
57 SotR>CS>AS>J>HoW 29684 19459 2305 2142 0.0 0.0 -146
58 SotR>CS>J>HoW>AS 29402 19261 2380 2140 0.0 0.0 -24
59 SotR>CS>AS>HoW>J 29443 19334 2134 2010 0.0 0.0 -332
60 SotR>CS>HoW>AS>J 29292 19247 2084 1961 0.0 0.0 -378
61 SotR>HoW>CS>AS>J 29151 19159 2051 1926 0.2 0.0 -404
62 HoW>SotR>CS>AS>J 29056 19096 2038 1904 0.3 0.0 -403
63 SotR>CS>AS+>J>AS>HoW 29743 19476 2374 2173 0.1 0.0 -49
64 SotR>CS>AS+>J>HoW>AS 29683 19443 2354 2157 0.0 0.0 -71
65 SotR>CS>AS+>HoW>J>AS 29443 19334 2134 2010 0.0 0.0 -332
66 SotR>CS>AS+>HoW>AS>J 29443 19334 2134 2010 0.0 0.0 -332
67 SotR>CS>HoW>AS+>J>AS 29303 19249 2099 1968 0.0 0.0 -354
68 SotR>CS>AS>HoW>J>Cons>HW 29443 19334 2134 2010 0.0 0.0 -332
69 SotR>CS>J>AS>HoW>Cons>HW 29492 19301 2452 2211 0.0 0.0 -25
70 SotR>CS>AS>J>HoW>Cons>HW 29668 19450 2302 2140 0.0 0.0 -155
71 SotR>CS>J>HoW>AS>Cons>HW 29402 19261 2380 2140 0.0 0.0 -24
72 SotR>CS>HoW>AS>J>Cons>HW 29292 19247 2084 1961 0.0 0.0 -378
73 SotR>HoW>CS>AS>J>Cons>HW 29018 19081 2018 1906 0.0 0.0 -495
74 HoW>SotR>CS>AS>J>Cons>HW 28983 19055 1991 1876 0.0 0.0 -543
75 ISotR>SDSotR>Inq>CS>AS>HoW>J>Cons>HW 30182 19807 2096 1959 0.0 53.9 -332
76 ISotR>SDSotR>Inq>CS>AS>J>HoW>Cons>HW 30325 19860 2294 2105 0.0 59.8 -155
77 ISotR>SDSotR>Inq>CS>J>AS>HoW>Cons>HW 30192 19736 2468 2191 0.0 59.0 -25
78 ISotR>SDSotR>Inq>CS>J>HoW>AS>Cons>HW 30127 19720 2382 2114 0.0 54.6 -24
79 ISotR>SDSotR>Inq>CS>HoW>J>AS>Cons>HW 29975 19670 2149 1968 0.0 50.1 -259
80 ISotR>SDSotR>Inq>CS>HoW>AS>J>Cons>HW 30063 19742 2050 1914 0.0 50.6 -378
The 2-piece is worth approximately 600-1000 DPS at low hit, depending on Cons/HW usage, but only around 400 DPS at high hit. The explanation is in the "E%" column; at high hit, the rotation is already pretty tight and we're not seeing much of a change in the number of empty GCDs. However, in the low-hit case, we've gone from ~7% empties (w/o 2-piece) to ~5%.
In addition, we see that J>AS prioritization tend to gain a bit of ground on the AS>J priorities, pulling far enough ahead that AS+ prioritization becomes a DPS loss. The same seems to be true in the sub-20% queues.
TLDR Summary
- The ret 2-piece is worth somewhere in the vicinity of 600-1k DPS, less as you stack more hit and expertise.
- SotR>CS>J>AS(>Cons>HW mana permitting) is the best non-Inq rotation.
- (SotR if Sacred Duty or Inquisition active)>Inq>CS>AS+>J>AS is the best conditional Inq rotation.
- Below 20%, slip hammer into filler spots ahead of Cons/HW. In other words, SotR>CS>J>AS>HoW>Cons>HW.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
FSM Simulation Details
The code now uses a "Finite-State Machine" or "FSM" implementation to calculate ability weight values. This is a pretty drastic change from our previous simulation methods, and a significant improvement in many areas.
For reference, the old analytical modeling, priority simulation, and numerical modeling methods are detailed in the appendix.
The basic idea behind a Finite-State Machine is to catalog every possible "state" of the system, along with the possible transitions between states. From that information, the code tries to determine the state distribution of the system in equilibrium. In many senses, it's very similar to a Markov chain.
There are pros and cons to each of the methods we've used, but the FSM implementation has the most pros and fewest cons by far:
Analytical Model
As a simple example of how the FSM code works, let's look at a limited system of a Paladin with two spells, Crusader Strike and SotR, and a priority queue of SotR>CS. There are only two things to track in this system - the cooldown of Crusader Strike and the amount of Holy Power the Paladin has. We can represent that with two digits, one for the cooldown and one for the amount of Holy Power.
For our initial state, let's just start with no holy power and no cooldown on CS. We represent this state as:
So far so good. To determine the transitions between states, we consider the priority queue. In this state, we can't cast a 3-HP SotR, so the only transition is to use CS, which takes us to one of two state:
Since the GCD is active we can't cast anything, so the transitions out of these states are all "do nothing and wait 1.5 seconds." If we do that, we knock 1.5s off of the CS cooldown, leading to the states [1.5 1] and [1.5 0]. In both of those states, we'd again "do nothing" for another 1.5s, leading to states [0 1] and [0 0]. At that point, we again consult the queue and see that in both of those states, we'd choose to cast CS again, leading to the following new transitions (we already know what happens in [0 0]):
We could draw this out, with each state as a node and each transition between states being an arrow pointing from the beginning state to the end state. If we did that, it would look a lot like a graph or a flow chart (see any of the figures in the Wikipedia article).
If we continued this process, we'd eventually reach a point where we've cataloged all possible states and transitions, at which point we'd have a complete graph of the "state space." For our simple system, we have a very small state space - it's even simpler than I've shown, because we can skip all of the possible states where the GCD blocks transitions. That narrows it down to:
In other words, 8 different states. In practice, we'd be tracking more things - the cooldowns of 5-8 different spells, the duration of several buffs (Inq, Grand Crusader, Sacred Duty), internal cooldowns (Eternal Glory), and so forth. An actual state space in one of our sims can be as large as 20k-30k states. And we need to store the transitions between states, as well as the probability of each transition.
Creating the graph is just the first step, we also need to solve the system to find its equilibrium. You can think of this as figuring out what the average process flow through the graph is.
A simple process flow for our graph would look something like this, assuming every CS was successful:
That's just one way a sequence could go - you could also imagine an endless string of CS misses that just bounces you back and forth between [0 0] and [1.5 0], or any other combination. What we want is the weighted average of every possible process.
The old priority simulation code effectively did this by starting at one point on the graph and traveling through it many, many times. It just kept track of the current state and rolled the dice to see what the next transition was. That's pretty good, but it takes a long time and is always susceptible to statistical noise. The even older, analytical code could only do this for very limited systems in which there were very few states with well-defined transitions.
FSM implementations can be solved in a variety of ways. One can construct a transition matrix M that contains all of the transition probabilities and solve the linear system associated with it using standard linear algebra techniques. Unfortunately, when you're dealing with matrices of this size (20,000 x 20,000 elements) many of those techniques take an incredibly long time unless the matrix is particularly well-behaved. Instead, we've used an iterative technique that starts in a given state (usually one where each state has a probability of 1/N, where N is the number of states) and then calculates the change in each state from one step (essentially matrix multiplication of state vector v, v_out=M*v). It then repeats that process until the change in any state is smaller than a predefined tolerance threshold.
It turns out that the state generation and iterative solving process is quite a bit faster to do in C# than Matlab, so our implementation calls an executable file to do the state generation and crunching. We then import the results into Matlab and do our post-processing on the stat weights like we've always done.
The C# code that handles the FSM logic can be found in the RotationCalculator\Matlabadin\ folder within the trunk. You should be able to use any C# development environment to fool with it, including the free Microsoft Visual C# express 2010. If you want to compile it, you'll need a C# compiler or the Microsoft .Net framework.
Finally, to give credit where credit is due, the FSM implementation we're using wouldn't exist without all the hard work put in by Iminmmnni, who suggested we try this route. He has written and maintained the vast majority of the C# code, and been absolutely essential in getting it working and implemented.
The code now uses a "Finite-State Machine" or "FSM" implementation to calculate ability weight values. This is a pretty drastic change from our previous simulation methods, and a significant improvement in many areas.
For reference, the old analytical modeling, priority simulation, and numerical modeling methods are detailed in the appendix.
The basic idea behind a Finite-State Machine is to catalog every possible "state" of the system, along with the possible transitions between states. From that information, the code tries to determine the state distribution of the system in equilibrium. In many senses, it's very similar to a Markov chain.
There are pros and cons to each of the methods we've used, but the FSM implementation has the most pros and fewest cons by far:
Analytical Model
- Pros
- very fast in MATLAB
- simple to debug
- gives exact DPS values
- Cons
- limited to very simple queues
- not very flexible
- needs to be re-written every time game mechanics change
- Pros
- very flexible
- easy to update as game mechanics change
- fast once database is generated and modeled
- Cons
- simulation is slow
- noisy even for long sim times
- generating the database takes ~days
- did I mention slow?
- Pros
- very fast compared to priority sims
- results can be easily cached and stored for re-use
- gives exact DPS values
- very flexible
- easily updated when game mechanics change
- Cons
- a little more complicated to code
- limited Matlab support for graphs (overcome by using C#)
As a simple example of how the FSM code works, let's look at a limited system of a Paladin with two spells, Crusader Strike and SotR, and a priority queue of SotR>CS. There are only two things to track in this system - the cooldown of Crusader Strike and the amount of Holy Power the Paladin has. We can represent that with two digits, one for the cooldown and one for the amount of Holy Power.
For our initial state, let's just start with no holy power and no cooldown on CS. We represent this state as:
- Code: Select all
state0=[0 0] (cooldown=0, holypower=0)
So far so good. To determine the transitions between states, we consider the priority queue. In this state, we can't cast a 3-HP SotR, so the only transition is to use CS, which takes us to one of two state:
- Code: Select all
state1=[3 1] (cooldown=3, holypower=1) (if CS hits)
state2=[3 0] (cooldown=3, holypower=0) (if CS misses)
Since the GCD is active we can't cast anything, so the transitions out of these states are all "do nothing and wait 1.5 seconds." If we do that, we knock 1.5s off of the CS cooldown, leading to the states [1.5 1] and [1.5 0]. In both of those states, we'd again "do nothing" for another 1.5s, leading to states [0 1] and [0 0]. At that point, we again consult the queue and see that in both of those states, we'd choose to cast CS again, leading to the following new transitions (we already know what happens in [0 0]):
- Code: Select all
[0 1] -> [3 2] (if CS hits)
[0 1] -> [3 1] (if CS misses)
We could draw this out, with each state as a node and each transition between states being an arrow pointing from the beginning state to the end state. If we did that, it would look a lot like a graph or a flow chart (see any of the figures in the Wikipedia article).
If we continued this process, we'd eventually reach a point where we've cataloged all possible states and transitions, at which point we'd have a complete graph of the "state space." For our simple system, we have a very small state space - it's even simpler than I've shown, because we can skip all of the possible states where the GCD blocks transitions. That narrows it down to:
- Code: Select all
[0 0] [1.5 0]
[0 1] [1.5 1]
[0 2] [1.5 2]
[0 3] [1.5 3]
In other words, 8 different states. In practice, we'd be tracking more things - the cooldowns of 5-8 different spells, the duration of several buffs (Inq, Grand Crusader, Sacred Duty), internal cooldowns (Eternal Glory), and so forth. An actual state space in one of our sims can be as large as 20k-30k states. And we need to store the transitions between states, as well as the probability of each transition.
Creating the graph is just the first step, we also need to solve the system to find its equilibrium. You can think of this as figuring out what the average process flow through the graph is.
A simple process flow for our graph would look something like this, assuming every CS was successful:
- Code: Select all
[0 0]->[1.5 1]->[0 1]->[1.5 2]->[0 2]->[1.5 3]->[0 0]
CS - (empty)- CS - (empty)- CS - SotR -
That's just one way a sequence could go - you could also imagine an endless string of CS misses that just bounces you back and forth between [0 0] and [1.5 0], or any other combination. What we want is the weighted average of every possible process.
The old priority simulation code effectively did this by starting at one point on the graph and traveling through it many, many times. It just kept track of the current state and rolled the dice to see what the next transition was. That's pretty good, but it takes a long time and is always susceptible to statistical noise. The even older, analytical code could only do this for very limited systems in which there were very few states with well-defined transitions.
FSM implementations can be solved in a variety of ways. One can construct a transition matrix M that contains all of the transition probabilities and solve the linear system associated with it using standard linear algebra techniques. Unfortunately, when you're dealing with matrices of this size (20,000 x 20,000 elements) many of those techniques take an incredibly long time unless the matrix is particularly well-behaved. Instead, we've used an iterative technique that starts in a given state (usually one where each state has a probability of 1/N, where N is the number of states) and then calculates the change in each state from one step (essentially matrix multiplication of state vector v, v_out=M*v). It then repeats that process until the change in any state is smaller than a predefined tolerance threshold.
It turns out that the state generation and iterative solving process is quite a bit faster to do in C# than Matlab, so our implementation calls an executable file to do the state generation and crunching. We then import the results into Matlab and do our post-processing on the stat weights like we've always done.
The C# code that handles the FSM logic can be found in the RotationCalculator\Matlabadin\ folder within the trunk. You should be able to use any C# development environment to fool with it, including the free Microsoft Visual C# express 2010. If you want to compile it, you'll need a C# compiler or the Microsoft .Net framework.
Finally, to give credit where credit is due, the FSM implementation we're using wouldn't exist without all the hard work put in by Iminmmnni, who suggested we try this route. He has written and maintained the vast majority of the C# code, and been absolutely essential in getting it working and implemented.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Topic #12
Retired as of 4.0.6
Appendix I: Analytical Model of 939
While the priority code is very nice, simming things out whenever you need it is pretty time intensive. As a shortcut, I've been saving a few useful outputs so that I can just load them up rather than re-run the sim.
However, the 939 rotation is very static, and easily dealt with analytically, which solves a lot of headaches. In this post, I'm going to work out the math I'm using to model the rotation so that others can double-check my work. The code can be found in the trunk if you want to take a look.
The Basics
939 can be modeled as a quasi-static rotation that looks like this:
CS-J-CS-X-CS-ShoR-
This is a 9-second rotation, but it's actually a little longer thanks to the possibility of ShoR misses. We'll deal with that later, first we want to document how many casts we get of each spell in those 9 seconds:
3 CS
1 J
? ShoR*
? AS
? HW
? Cons
CS/J are easy. ShoR is complicated by SD procs and the fact that we'll recast it immediately if it misses. AS/HW/Cons are complicated by Grand Crusader procs. We'll address both of these issues in turn.
ShoR handling
There are two components to getting an accurate value for the effective number of ShoR casts. First is dealing with Sacred Duty crits, second is figuring out the average number of GCDs it takes to cast ShoR.
Using the following notation, it's fairly simple to derive both of these:
At three holy power, we cast ShoR. It could hit or miss, so we start with the form:
On the first cast, there's an s chance of a crit for CR damage, and a (1-s) chance of a regular ShoR, which could be a crit or a hit, with average damage cR:
If the first ShoR misses, we lose Sacred Duty, so we no longer have to worry about that. In that case, we cast another ShoR, which has the usual chance p of hitting for cR or q for missing:
You can already see where this is going - recursion. "other stuff" is always p*cR+q*(other stuff). If we start multiplying out that term, we get:
The terms of the form q^n form a geometric series that converges to q/(1-q):
We can pull out c*R and do some algebra to get
or, written another way,
In other words, we get (c + p*s*(C-c)) "casts" of ShoR out, multiplied by the raw damage (or 1+p*s*(C/c-1) casts multiplied by the "net" damage c*R).
The GCD cost of re-casting ShoR is much easier to calculate. There is a probability p that we succeed on the first cast and only require 1 GCD, a probability of q*p that we succeed on the second cast, q^2*p on the third, and so forth. Multiplying each of those probabilities by the number of GCDs looks like this:
This is a form of arithmetic power series, and has the solution p/(1-q)^2 = 1/p (proof).
Avenger's Shield, Holy Wrath, and Consecration
Grand Crusader makes dealing with the "X" in the rotation a bit complicated. It's not as simple as just saying "we cast AS every other cycle, and Holy Wrath in the alternate ones if we don't get a GC proc." This is because if you do get a GC proc, you've put AS on cooldown and the next cycle becomes the "HW if no GC" portion.
Instead, you have to ask the question, "for any given cycle, what's the chance that AS will be off of cooldown when X occurs." It's fairly easy to figure this out, starting from an initial cycle where AS is not on cooldown.
Let p be the probability that GC procs at least once in three Crusader Strikes or Hammers of the Righteous. Note that Grand Crusader only procs if the attack connects. For HotR this is easy; since it automatically connects, q is just 0.8^3 (the chance of all three generating no procs), and p is just p.HotR = 1-q.HotR = 1-0.8^3, or conceptually, (chance of at least one proc in 3 HotRs) = 1-(chance of no GC procs in 3 HotRs).
For Crusader Strike it's more complicated, because we need to consider CS misses as well. Again, we consider q first:
In this expression, m is the chance your CS will hit the boss (i.e. your net melee success chance).
The first line is the probability that all three CS's miss. The second is the probability of one successful CS multiplied by the probability of that success not causing a proc. The third is the probability of two CS hits times the probability that neither generate a proc, and so on. p.CS is just 1-q.CS like usual.
We could then write a table like this:
While it may not be immediately obvious from the table because I've simplified expressions, there's actually a pattern here. The element in the p(AS) column of row N is always p times the p(AS) element in row N-1 plus the element in q(AS) of row N-1. In other words, it's
p(AS,N)=p*(probability that AS was cast on previous X) + (probability AS was not cast on previous X)
p(AS,N)=p*p(AS,N-1)+q(AS,N-1)
This might converge, but it's ugly enough that I'd rather do it numerically. I just use this rule to generate the table down through 50 iterations and define P=p(AS,50) as the probability we cast AS in X. Actually, I'm defining mean(p(AS,49:50)) as the probability, because if you don't spec Grand Crusader, the method "screws up" a bit and alternates between 0 and 1. Taking the mean short-circuits this to give us the proper value of 0.5.
Consecration can only be cast every 36 seconds in this scheme, which means that it only gets cast once every 4 cycles regardless of glyph.
Holy Wrath is then 1-P if we ignore Consecration, or 1-P-0.25 if we use Consecration.
I've ignored seal casts up until now, but those are easy - 3 chances from CS, one from SotR, one from Judgement. If we use m for melee hit and r for ranged hit, that's 4m+r.
Finally, once we're in Execute range we drop AS, Cons, and HW in favor of Hammer of Wrath. This is trivially accounted for by multiplying AS, Cons, and HW by 0.81 (% of time above execute range) and adding one cast of Holy Wrath to the list multiplied by 0.19 (% of time spent in execute range).
So our ability usage looks like this (evaluated using the T11 gear set, modified to be at hit- and expertise-caps:
All of that occurs in just over 9 seconds due to ShoR misses. The exact length of the cycle should be:
9+1.5*(G-1)
Running the code we get the following output:
"acdps" is the DPS from the stuff we've modeled here, "padps" is the passive DPS from censure, melee, and SoT procs.
"totdps" is just the sum of these two, which is our total dps. For comparison, prio_sim gave us values of 18513 and 18997 above and below execute range, respectively, which gives us a weighted average of 18610. That's in excellent agreement given the inherent statistical error due to discretization of ShoR misses and GC procs.
For most of the rest of the simulations, I'm going to be using the analytical model simply because it's a little faster to work with, and 99% as accurate.
Appendix I: Analytical Model of 939
While the priority code is very nice, simming things out whenever you need it is pretty time intensive. As a shortcut, I've been saving a few useful outputs so that I can just load them up rather than re-run the sim.
However, the 939 rotation is very static, and easily dealt with analytically, which solves a lot of headaches. In this post, I'm going to work out the math I'm using to model the rotation so that others can double-check my work. The code can be found in the trunk if you want to take a look.
The Basics
939 can be modeled as a quasi-static rotation that looks like this:
CS-J-CS-X-CS-ShoR-
This is a 9-second rotation, but it's actually a little longer thanks to the possibility of ShoR misses. We'll deal with that later, first we want to document how many casts we get of each spell in those 9 seconds:
3 CS
1 J
? ShoR*
? AS
? HW
? Cons
CS/J are easy. ShoR is complicated by SD procs and the fact that we'll recast it immediately if it misses. AS/HW/Cons are complicated by Grand Crusader procs. We'll address both of these issues in turn.
ShoR handling
There are two components to getting an accurate value for the effective number of ShoR casts. First is dealing with Sacred Duty crits, second is figuring out the average number of GCDs it takes to cast ShoR.
Using the following notation, it's fairly simple to derive both of these:
- Code: Select all
p = chance of melee success (1-%miss-%dodge-%parry)
q = 1-p (%miss+%dodge+%parry)
s = chance of sacred duty proc
R = raw damage of ShoR before crits
C = ShoR crit multiplier (i.e. 2)
c = ShoR crit chance factor (i.e. 1+%crit)
At three holy power, we cast ShoR. It could hit or miss, so we start with the form:
- Code: Select all
dmg = p*(average damage of a hit on the first cast)+q*(other stuff)
On the first cast, there's an s chance of a crit for CR damage, and a (1-s) chance of a regular ShoR, which could be a crit or a hit, with average damage cR:
- Code: Select all
dmg = p*( sCR + (1-s)*cR) + q*(other stuff)
If the first ShoR misses, we lose Sacred Duty, so we no longer have to worry about that. In that case, we cast another ShoR, which has the usual chance p of hitting for cR or q for missing:
- Code: Select all
dmg = p*( s*CR + (1-s)*cR) + q*( p*cR + q*(other stuff))
You can already see where this is going - recursion. "other stuff" is always p*cR+q*(other stuff). If we start multiplying out that term, we get:
- Code: Select all
dmg = p*( s*CR + (1-s)*cR) + p*cR*(q + q^2 + q^3 + ....)
The terms of the form q^n form a geometric series that converges to q/(1-q):
- Code: Select all
dmg = p*( s*CR + (1-s)*cR) + p*cR*q/(1-q)
We can pull out c*R and do some algebra to get
- Code: Select all
dmg = p*cR*(1 + s*(C/c-1) + q/(1-q)) = p*cR*(s(C/c-1)+1/(1-q)) = p*cR*(s(C/c-1)+1/p) = cR*(p*s*(C/c-1)+1)
or, written another way,
- Code: Select all
dmg = R*(c + p*s*(C-c))
In other words, we get (c + p*s*(C-c)) "casts" of ShoR out, multiplied by the raw damage (or 1+p*s*(C/c-1) casts multiplied by the "net" damage c*R).
The GCD cost of re-casting ShoR is much easier to calculate. There is a probability p that we succeed on the first cast and only require 1 GCD, a probability of q*p that we succeed on the second cast, q^2*p on the third, and so forth. Multiplying each of those probabilities by the number of GCDs looks like this:
- Code: Select all
G= 1*p + 2*qp + 3*pq^2 + 4*pq^3 + 5*pq^4 + ... = p*(1+2q+3q^2+4q^3+5q^4+...) = p*sum((n+1)*q^n, 1, infinity)
This is a form of arithmetic power series, and has the solution p/(1-q)^2 = 1/p (proof).
Avenger's Shield, Holy Wrath, and Consecration
Grand Crusader makes dealing with the "X" in the rotation a bit complicated. It's not as simple as just saying "we cast AS every other cycle, and Holy Wrath in the alternate ones if we don't get a GC proc." This is because if you do get a GC proc, you've put AS on cooldown and the next cycle becomes the "HW if no GC" portion.
Instead, you have to ask the question, "for any given cycle, what's the chance that AS will be off of cooldown when X occurs." It's fairly easy to figure this out, starting from an initial cycle where AS is not on cooldown.
Let p be the probability that GC procs at least once in three Crusader Strikes or Hammers of the Righteous. Note that Grand Crusader only procs if the attack connects. For HotR this is easy; since it automatically connects, q is just 0.8^3 (the chance of all three generating no procs), and p is just p.HotR = 1-q.HotR = 1-0.8^3, or conceptually, (chance of at least one proc in 3 HotRs) = 1-(chance of no GC procs in 3 HotRs).
For Crusader Strike it's more complicated, because we need to consider CS misses as well. Again, we consider q first:
- Code: Select all
q.CS=binopdf(0,3,m) ... %no connects
+binopdf(1,3,m).*(0.8) ... %one connects, no proc
+binopdf(2,3,m).*(0.8).^2 ... %two connects, no procs
+binopdf(3,3,m).*(0.8).^3; %three connects, no procs
In this expression, m is the chance your CS will hit the boss (i.e. your net melee success chance).
The first line is the probability that all three CS's miss. The second is the probability of one successful CS multiplied by the probability of that success not causing a proc. The third is the probability of two CS hits times the probability that neither generate a proc, and so on. p.CS is just 1-q.CS like usual.
We could then write a table like this:
- Code: Select all
Iteration p(AS) q(AS)
1 1 0
2 p q
3 q+p^2 1-q-p^2
4 1-q^2-qp^2 q^2+qp^2
5 q^3+q^2*p^2+p q-q^2*p^2-q^3
While it may not be immediately obvious from the table because I've simplified expressions, there's actually a pattern here. The element in the p(AS) column of row N is always p times the p(AS) element in row N-1 plus the element in q(AS) of row N-1. In other words, it's
p(AS,N)=p*(probability that AS was cast on previous X) + (probability AS was not cast on previous X)
p(AS,N)=p*p(AS,N-1)+q(AS,N-1)
This might converge, but it's ugly enough that I'd rather do it numerically. I just use this rule to generate the table down through 50 iterations and define P=p(AS,50) as the probability we cast AS in X. Actually, I'm defining mean(p(AS,49:50)) as the probability, because if you don't spec Grand Crusader, the method "screws up" a bit and alternates between 0 and 1. Taking the mean short-circuits this to give us the proper value of 0.5.
Consecration can only be cast every 36 seconds in this scheme, which means that it only gets cast once every 4 cycles regardless of glyph.
Holy Wrath is then 1-P if we ignore Consecration, or 1-P-0.25 if we use Consecration.
I've ignored seal casts up until now, but those are easy - 3 chances from CS, one from SotR, one from Judgement. If we use m for melee hit and r for ranged hit, that's 4m+r.
Finally, once we're in Execute range we drop AS, Cons, and HW in favor of Hammer of Wrath. This is trivially accounted for by multiplying AS, Cons, and HW by 0.81 (% of time above execute range) and adding one cast of Holy Wrath to the list multiplied by 0.19 (% of time spent in execute range).
So our ability usage looks like this (evaluated using the T11 gear set, modified to be at hit- and expertise-caps:
- Code: Select all
Skill #casts evaluated
CS: 3 3
J: 1 1
ShoR: c+p*s*(C-c) 1.4865*
AS: P*0.81 0.5255
HW: (1-P-0.25)*0.81 0.0820
Cons: 0.25*0.81 0.2025
HoW 1*0.19 0.19
Seal 4*m+r 4.7
All of that occurs in just over 9 seconds due to ShoR misses. The exact length of the cycle should be:
9+1.5*(G-1)
Running the code we get the following output:
- Code: Select all
xtragcd: 0.0811
acdps: 13941
padps: 4682
totdps: 18623
"acdps" is the DPS from the stuff we've modeled here, "padps" is the passive DPS from censure, melee, and SoT procs.
"totdps" is just the sum of these two, which is our total dps. For comparison, prio_sim gave us values of 18513 and 18997 above and below execute range, respectively, which gives us a weighted average of 18610. That's in excellent agreement given the inherent statistical error due to discretization of ShoR misses and GC procs.
For most of the rest of the simulations, I'm going to be using the analytical model simply because it's a little faster to work with, and 99% as accurate.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Retired as of 4.1
Appendix IIa:Priority Simulations
The (now deprecated) rotation simulation code is available on the matlabadin project page, as are the priority models used.
The simulation works by simulating a limited combat environment. It keeps track of ability cooldowns, holy power, and the GCD, iterating in user-definable time steps. At each time step, it checks the priority queue in order and casts the first thing for which the conditionals are true.
While it's capable of incorporating haste effects (by working in time steps of 0.1s or less), that leads to some weird situations. For example, since Holy Wrath is a spell it has a shorter GCD than a melee attack like Crusader Strike. Thus, you can end up in a situation that looks like this:
CS-HW-????
If your Holy Wrath GCD is shorter than 1.5 seconds by at least one full timestep, CS still won't be off of cooldown. However, if something else is (Judgement perhaps, or Consecration) it'll try and cast that instead. That pushes CS back by almost a full GCD, inevitably causing a massive drop in DPS.
Because of this, I've simulated in time steps of 0.5 seconds, which is essentially throwing out haste as far as our spellcast choices are concerned. Since we are unlikely to want to deviate from casting CS on every alternate cooldown, this shouldn't be an issue.
If you're looking at old queues, there are some non-standard abbreviations and things to note:
The simulation is run for 30k GCDs, or roughly 12 and a half hours of combat. That's a long time, but random procs are random, and it's still entirely possible to get variations of 30-50 DPS or more from sim to sim. That's around 0.4% or less of variation, but I'd say that a more reasonable threshold for significance is around 0.5% (or around 75 DPS). In other words, if the difference between two sims is less than around 75 DPS, they're roughly the same as far as we're concerned.
I've also included some information that helps us interpret the simulations. "Empty" is the number of empty GCDs, and "E%" is simply the percentage of empties (Empty/30k). "SotR miss" is the number of missed SotRs in the parse, while "AS cast" is the number of Avenger's Shields cast. SotR miss and AS cast give you some idea whether those factors were a significant source of variation in a given sim. If rotation A had 1500 SotR misses, and rotation B had only 1000, we might expect B to perform better even if A is better (or equal) on paper. Similarly, if B had many more AS casts, it might've had more favorable luck with Grand Crusader procs, which could give it an "unfair" advantage.
Appendix IIb: Numerical Rotation Model
The old analytical model we've been using for 4.0.3a no longer works for the new Holy Power generation mechanics, so I've archived it in the appendix. Before proceeding with the new method, I want to briefly discuss the reasons we had to abandon the analytical approach.
Out with the old...
The primary issue is that there are factors that affect the cast sequences and damage values in the rotation. The primary one is hit and expertise, but talents like Sacred Duty, Grand Crusader, and Eternal Glory also cause problems. With guaranteed Holy Power generation, we were able to ignore a lot of these effects, and simply wrap them into the average damage done by each ability. We then needed small correction terms for the talented effects as described in the Appendix. We also needed to correct for the one hit/exp effect that did affect the cast sequence (SotR misses), which is also described in the Appendix.
However, the change to Holy Power generation in 4.0.6 threw a wrench into this. Now the result of a CS attack does affect the rest of the rotation in a very significant and hard to model way. It may delay SotR, which then causes cooldown clashes with Judgement or AS. That means that the cast probabilities of J and AS change, which then collaterally affects the other fillers. It also makes all of those probabilities harder to calculate, because the availability of J and AS suddenly depends on what happened in the previous cycle. This makes everything much more sensitively dependent on hit and expertise, because you're not just missing abilities, you're also changing the entire cast composition of the rotation.
I tried to work out the analytical problem for a single "block" of CS-X- to determine the probability of each filler spell being in slot X at an arbitrary spot in the rotation, taking into account all of these effects. In the end though, I failed - the problem became too complex too quickly, and none of my attempts gave me anything that I felt was consistent enough to be an accurate model.
One alternative concept that we considered (and tlitp worked very hard on, at least as hard as I did on the analytical approach) was breaking things down into independent "macroblocks" that represent the casts between one SotR and the next. In other words, if you start with 0 Holy Power and succeed on all three CS casts, your macroblock would be CS-X-CS-X-CS-SotR. If we represent that in a shorthand that just represents CS successes as 1 and CS failures as 0, that macroblock is 111. The macroblocks with 1 unsuccessful CS cast and 3 successful ones are 1011, 1101, and 0111.
This method has some advantages - for one thing, we can explicitly and easily calculate the probability of each CS macroblock. The fillers are still difficult though, but we may have been able to be calculated recursively. However, the big disadvantage is that, if we limit ourselves to considering macroblocks of length 7 or less (since we would want to refresh Holy Shield by that point), there are 63 different macroblocks for CS alone, all of which needed to be coded by hand. And we still didn't have a reliable way to handle fillers!
I even suggested a method where we generate a string of N random numbers to represent the CS casts, which would then quickly be broken down into a string of macroblocks. We'd then fill in the empty spots with SotR, then J, then AS. This might be faster than the priority sim code, but is fundamentally no different, and has most of the same disadvantages.
Despite all the hard work, none of these seemed to be reasonable approaches. I punted on the analytical approach, and after further scrutiny it made little sense to go with the macroblock approach, which was half-numerical and half-analytical. If we're going to go numerical, why go half-hog and make the entire thing very rigid and complicated? Why not go whole-hog numerical, and take advantage of all the work we had put into the priority simulations? So that's exactly what we did.
... and in with the new
We could continue with a brute-force method, namely to run the priority simulation code every time we wanted to calculate DPS. This has several disadvantages, the biggest being that it's very slow. Running the simulation long enough to get ~1% or better accuracy in the results takes time, and doing that many times for a single calculation ends up being prohibitive. In addition, we'll still have variations on the order of ~1% that make exact values hard to come by, since 1% is around 100 DPS or more. In many cases, this would mean that the noise threshold is larger than the results of our calculations.
Instead, we've taken a slightly more intelligent approach. Rather than run the simulation code every time we want a value, we run the code a number of times under certain configurations and generate curve fits for the results. We can store the coefficients of these curve fits in a database, and then when we want the results of a calculation we can access the appropriate portion of the database to extract the fit coefficients. From that data, we can accurately reproduce the results of any given simulation in under a second.
This has a lot of pros and very few cons.
The code is more or less finished, and can be seen here:
rotation_db_gen.m
rotation_db_data.m
rotation_db_fit.m
rotation_db.m
and of course, the updated rotation_model.m, which turns the database entries into CPS/DPS/HPS/TPS values.
Since I value transparency and community scrutiny in this code, I want to briefly describe the process flow so that people can check my work.
rotation_db_gen.m is the master script that creates the "rotation database." It does so by calling rotation_db_data.m to generate data sets at different hit/exp values with the prio_sim() function. It then calls rotation_db_fit.m to take the output of the simulations and fits them with 5th-order polynomials (i.e. a*x^5+b*x^4+c*x^3+d*x^2+e*x+f), where x is your chance to hit with SotR (mdf.mehit in the code). It then stores the constants a-f and generates output code in a text file, which we copy/paste into rotation_db.m. The output code is written such that when rotation_db is run, it creates structures containing the constants a-f.
There's an additional complication to all of this, which is that talents like Grand Crusader, Sacred Duty, and Eternal Glory have a significant effect. Thus, we can't just generate function of hit/expertise, we also need those functions to depend on these talents. In other words, y=F(x) won't cut it, we need y=F(x,GC,SD,EG). In practice, we do this by calculating F(x) for every ability and every possible configuration of GC, SD, and EG, so that we have a 5-dimensional matrix that gives us a-f for any choice of the four parameters (ability,GC,SD,EG).
To illustrate how this works, here's an example graph from a test run that shows how this works. This is a very short run for demonstration purposes (3 runs of N=100 for each hit value), so the accuracy is very low, but it does a good job of illustrating the idea. For the actual database, we run 30 runs of N=1000, or 30k GCDs for each value of mdf.mehit.

The blue and red traces are data generated by prio_sim for the "coefficient weight" and "casts per second" of SotR, respectively. The black line with circles represents the fit to the data, which is what we extract the coefficients a-f from. The line at 0 is for inquisition uptime modeling - in this rotation, we don't use Inq at all, and the fit reflects that by giving us 0 for a-f.
There are a few subtleties left to discuss. GC, SD, and EG are not the only three external factors that affect the rotation. An obvious one is the Consecration glyph, which would affect the availability of Cons as a filler. However, the variation due to that is very small, and not worth the additional computation time of extending the code to incorporate a fourth external parameter. I've run everything with the Cons glyph enabled just in case, but it's unlikely that disabling it would result in a significant DPS increase. And in the current environment, we may not have mana to cast Consecration frequently enough for it to matter anyway.
A less obvious one is the double-latency penalty on CS. Since CS has a cooldown, you can't use the ability queue system to queue it up ahead of time. Thus, you're limited to mashing the button so that it fires as soon as the cooldown is up. What this means in practice is that the effective cooldown on CS is not 1.5s+latency like other spells, but 1.5s+2*latency. The code doesn't attempt to model this at all (and never did). If we decide to include it, the more convenient way to do so is to simply treat the GCD as 1.5+2*latency seconds rather than add complexity to the database generation.
Appendix IIa:Priority Simulations
The (now deprecated) rotation simulation code is available on the matlabadin project page, as are the priority models used.
The simulation works by simulating a limited combat environment. It keeps track of ability cooldowns, holy power, and the GCD, iterating in user-definable time steps. At each time step, it checks the priority queue in order and casts the first thing for which the conditionals are true.
While it's capable of incorporating haste effects (by working in time steps of 0.1s or less), that leads to some weird situations. For example, since Holy Wrath is a spell it has a shorter GCD than a melee attack like Crusader Strike. Thus, you can end up in a situation that looks like this:
CS-HW-????
If your Holy Wrath GCD is shorter than 1.5 seconds by at least one full timestep, CS still won't be off of cooldown. However, if something else is (Judgement perhaps, or Consecration) it'll try and cast that instead. That pushes CS back by almost a full GCD, inevitably causing a massive drop in DPS.
Because of this, I've simulated in time steps of 0.5 seconds, which is essentially throwing out haste as far as our spellcast choices are concerned. Since we are unlikely to want to deviate from casting CS on every alternate cooldown, this shouldn't be an issue.
If you're looking at old queues, there are some non-standard abbreviations and things to note:
- SD stands for Sacred Duty, and means that in a case where you have 3 Holy Power, no Sacred Duty buff, and Judgement is off of cooldown, you prioritize Judgement (instead of just casting SotR) to "fish" for a Sacred Duty proc.
- J2 stands for Judgement in the 2nd "filler" slot before a finisher. It's probably irrelevant, but it was something I was toying with as a way to eke out more SD/SotR damage. It's only a weak theoretical increase though.
- SotR# stands for an #-point SotR. If the number is omitted, it's assumed to be a 3-pointer.
- SDSotR# stands for an #-point SotR if and only if Sacred Duty is up. If # is omitted, it's assumed to be 3.
- Inq is coded in such a way that it will only refresh if the duration is <1 second. This means that Inq overlap time is essentially 0, because this condition forces a refresh at 8 GCDs instead of 6 GCDs. Just like SotR#, Inq# would stand for an #-point Inq.
- An asterisk after any damage-dealing ability (i.e. SotR*) indicates the conditional "if and only if Inquisition is Active."
- Inq* is the exception to its own rule. Inq* stands for forcing an Inq cast at 3 HP, regardless of remaining duration. For casts at lower HoPo, I'll use Inq#* just like SotR.
- CS+ means "CS if HoPo<3," and is a way to put CS at the top of the queue without allowing the sim to be stupid.
The simulation is run for 30k GCDs, or roughly 12 and a half hours of combat. That's a long time, but random procs are random, and it's still entirely possible to get variations of 30-50 DPS or more from sim to sim. That's around 0.4% or less of variation, but I'd say that a more reasonable threshold for significance is around 0.5% (or around 75 DPS). In other words, if the difference between two sims is less than around 75 DPS, they're roughly the same as far as we're concerned.
I've also included some information that helps us interpret the simulations. "Empty" is the number of empty GCDs, and "E%" is simply the percentage of empties (Empty/30k). "SotR miss" is the number of missed SotRs in the parse, while "AS cast" is the number of Avenger's Shields cast. SotR miss and AS cast give you some idea whether those factors were a significant source of variation in a given sim. If rotation A had 1500 SotR misses, and rotation B had only 1000, we might expect B to perform better even if A is better (or equal) on paper. Similarly, if B had many more AS casts, it might've had more favorable luck with Grand Crusader procs, which could give it an "unfair" advantage.
Appendix IIb: Numerical Rotation Model
The old analytical model we've been using for 4.0.3a no longer works for the new Holy Power generation mechanics, so I've archived it in the appendix. Before proceeding with the new method, I want to briefly discuss the reasons we had to abandon the analytical approach.
Out with the old...
The primary issue is that there are factors that affect the cast sequences and damage values in the rotation. The primary one is hit and expertise, but talents like Sacred Duty, Grand Crusader, and Eternal Glory also cause problems. With guaranteed Holy Power generation, we were able to ignore a lot of these effects, and simply wrap them into the average damage done by each ability. We then needed small correction terms for the talented effects as described in the Appendix. We also needed to correct for the one hit/exp effect that did affect the cast sequence (SotR misses), which is also described in the Appendix.
However, the change to Holy Power generation in 4.0.6 threw a wrench into this. Now the result of a CS attack does affect the rest of the rotation in a very significant and hard to model way. It may delay SotR, which then causes cooldown clashes with Judgement or AS. That means that the cast probabilities of J and AS change, which then collaterally affects the other fillers. It also makes all of those probabilities harder to calculate, because the availability of J and AS suddenly depends on what happened in the previous cycle. This makes everything much more sensitively dependent on hit and expertise, because you're not just missing abilities, you're also changing the entire cast composition of the rotation.
I tried to work out the analytical problem for a single "block" of CS-X- to determine the probability of each filler spell being in slot X at an arbitrary spot in the rotation, taking into account all of these effects. In the end though, I failed - the problem became too complex too quickly, and none of my attempts gave me anything that I felt was consistent enough to be an accurate model.
One alternative concept that we considered (and tlitp worked very hard on, at least as hard as I did on the analytical approach) was breaking things down into independent "macroblocks" that represent the casts between one SotR and the next. In other words, if you start with 0 Holy Power and succeed on all three CS casts, your macroblock would be CS-X-CS-X-CS-SotR. If we represent that in a shorthand that just represents CS successes as 1 and CS failures as 0, that macroblock is 111. The macroblocks with 1 unsuccessful CS cast and 3 successful ones are 1011, 1101, and 0111.
This method has some advantages - for one thing, we can explicitly and easily calculate the probability of each CS macroblock. The fillers are still difficult though, but we may have been able to be calculated recursively. However, the big disadvantage is that, if we limit ourselves to considering macroblocks of length 7 or less (since we would want to refresh Holy Shield by that point), there are 63 different macroblocks for CS alone, all of which needed to be coded by hand. And we still didn't have a reliable way to handle fillers!
I even suggested a method where we generate a string of N random numbers to represent the CS casts, which would then quickly be broken down into a string of macroblocks. We'd then fill in the empty spots with SotR, then J, then AS. This might be faster than the priority sim code, but is fundamentally no different, and has most of the same disadvantages.
Despite all the hard work, none of these seemed to be reasonable approaches. I punted on the analytical approach, and after further scrutiny it made little sense to go with the macroblock approach, which was half-numerical and half-analytical. If we're going to go numerical, why go half-hog and make the entire thing very rigid and complicated? Why not go whole-hog numerical, and take advantage of all the work we had put into the priority simulations? So that's exactly what we did.
... and in with the new
We could continue with a brute-force method, namely to run the priority simulation code every time we wanted to calculate DPS. This has several disadvantages, the biggest being that it's very slow. Running the simulation long enough to get ~1% or better accuracy in the results takes time, and doing that many times for a single calculation ends up being prohibitive. In addition, we'll still have variations on the order of ~1% that make exact values hard to come by, since 1% is around 100 DPS or more. In many cases, this would mean that the noise threshold is larger than the results of our calculations.
Instead, we've taken a slightly more intelligent approach. Rather than run the simulation code every time we want a value, we run the code a number of times under certain configurations and generate curve fits for the results. We can store the coefficients of these curve fits in a database, and then when we want the results of a calculation we can access the appropriate portion of the database to extract the fit coefficients. From that data, we can accurately reproduce the results of any given simulation in under a second.
This has a lot of pros and very few cons.
- The biggest pro is speed - accessing the database and generating results is as quick or quicker than the analytical model was. It takes several hours (up to 6 or so on my i7-2600K running at 4GHz) to generate the database, which is a con, but we only have to do that once, or at least once every time we make significant changes, and it's all done automatically in the code so it can be performed unattended.
- Another pro is consistency - with the numerical model, we're essentially evaluating a function F for certain inputs F(x,y,z). Since the function doesn't change, we will always get the same outputs for the same inputs. This means that we won't see 50-100 DPS variations between runs.
- We also get consistency in interpolation. For example, if we know that the function increases monotonically with x, then we know that if we feed the function F(x+a,y,z), it will always give a larger result than F(x,y,z). In the priority sim, variations could lead to one sim erroneously suggesting F(x+a,y,z) is lower than F(x,y,z).
- Generality - One problem with analytical models is that they tend to be very specific. This means that one little change (like, oh, say, only granting Holy Power on successful CS, or a chance to get Holy Power from AS) disrupts the entire model, and requires reformulation. Despite spending weeks working on a new analytical model for 4.0.6, we still couldn't iron out enough of the bugs to make it work right.
In contrast, this method is very general, and can accommodate anything the priority sim can handle (which is more or less everything). Blizz could completely overhaul the rotation next week and it wouldn't matter. We'd just have to make minor adjustments to the priority code, regenerate the database, and we'd be ready to go. From a time-saving point of view, I'd rather let the computer spend 6 hours overnight regenerating the database than spend 10-20 hours or more trying to model the new mechanics analytically. - Since the priority code already handles Inquisition, seal procs, and talents like Grand Crusader or Sacred Duty properly, we no longer have to use adjustment factors to approximate their effects.
The code is more or less finished, and can be seen here:
rotation_db_gen.m
rotation_db_data.m
rotation_db_fit.m
rotation_db.m
and of course, the updated rotation_model.m, which turns the database entries into CPS/DPS/HPS/TPS values.
Since I value transparency and community scrutiny in this code, I want to briefly describe the process flow so that people can check my work.
rotation_db_gen.m is the master script that creates the "rotation database." It does so by calling rotation_db_data.m to generate data sets at different hit/exp values with the prio_sim() function. It then calls rotation_db_fit.m to take the output of the simulations and fits them with 5th-order polynomials (i.e. a*x^5+b*x^4+c*x^3+d*x^2+e*x+f), where x is your chance to hit with SotR (mdf.mehit in the code). It then stores the constants a-f and generates output code in a text file, which we copy/paste into rotation_db.m. The output code is written such that when rotation_db is run, it creates structures containing the constants a-f.
There's an additional complication to all of this, which is that talents like Grand Crusader, Sacred Duty, and Eternal Glory have a significant effect. Thus, we can't just generate function of hit/expertise, we also need those functions to depend on these talents. In other words, y=F(x) won't cut it, we need y=F(x,GC,SD,EG). In practice, we do this by calculating F(x) for every ability and every possible configuration of GC, SD, and EG, so that we have a 5-dimensional matrix that gives us a-f for any choice of the four parameters (ability,GC,SD,EG).
To illustrate how this works, here's an example graph from a test run that shows how this works. This is a very short run for demonstration purposes (3 runs of N=100 for each hit value), so the accuracy is very low, but it does a good job of illustrating the idea. For the actual database, we run 30 runs of N=1000, or 30k GCDs for each value of mdf.mehit.

The blue and red traces are data generated by prio_sim for the "coefficient weight" and "casts per second" of SotR, respectively. The black line with circles represents the fit to the data, which is what we extract the coefficients a-f from. The line at 0 is for inquisition uptime modeling - in this rotation, we don't use Inq at all, and the fit reflects that by giving us 0 for a-f.
There are a few subtleties left to discuss. GC, SD, and EG are not the only three external factors that affect the rotation. An obvious one is the Consecration glyph, which would affect the availability of Cons as a filler. However, the variation due to that is very small, and not worth the additional computation time of extending the code to incorporate a fourth external parameter. I've run everything with the Cons glyph enabled just in case, but it's unlikely that disabling it would result in a significant DPS increase. And in the current environment, we may not have mana to cast Consecration frequently enough for it to matter anyway.
A less obvious one is the double-latency penalty on CS. Since CS has a cooldown, you can't use the ability queue system to queue it up ahead of time. Thus, you're limited to mashing the button so that it fires as soon as the cooldown is up. What this means in practice is that the effective cooldown on CS is not 1.5s+latency like other spells, but 1.5s+2*latency. The code doesn't attempt to model this at all (and never did). If we decide to include it, the more convenient way to do so is to simply treat the GCD as 1.5+2*latency seconds rather than add complexity to the database generation.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Glossary
This section will define acronyms that appear over and over again in calculations. I have tried to be good about defining these clearly in newer calculations as well, but this master list should contain everything you need just in case.
Current Terminology (See the 3.0 thread if you want discontinued Wrath acronyms)
Current Terminology (See the 3.0 thread if you want discontinued Wrath acronyms)
- 939 - "default" rotation which alternates between a holy power generator ("3", CS/HotR) and fillers ("9", SotR/J/AS/Cons/HW).
- 9C9 - 939 in which the holy power generator is specifically CS.
- 9H9 - 939 in which the holy power generator is specifically HotR.
- AotL - Arbiter of the Light.
- AS - Avenger's Shield. Can also be used to represent Glyph of Avenger's Shield when referring to glyphs.
- CS - Crusader Strike. Can also mean Glyph of Crusader Strike when referring to glyphs.
- Cons - Consecration, or Glyph of Consecration when referring to glyphs.
- Crus - Crusade.
- Exor - Exorcism.
- EG - Eternal Glory
- GbtL - Guarded by the Light.
- GC or GrCr - Grand Crusader.
- GoSoI - Glyph of Seal of Insight.
- GoSoT - Glyph of Seal of Truth.
- HG - Hallowed Ground
- HotR - Hammer of the Righteous or Glyph of Hammer of the Righteous depending on context.
- HoPo - Holy Power.
- HoW - Hammer of Wrath
- HP - Holy Power, or on rare occasions Hit Points. This should be clear enough by the context.
- HS - Holy Shield.
- HW - Holy Wrath.
- ISH9 - 939-esque Rotation where Inq and SotR are alternated as finishers, and CS/HotR are used as fillers based on Inquisition uptime.
- J or Jud- Judgement, or Glyph of Judgement when referring to glyphs.
- JotJ - Judgements of the Just.
- JotP - Judgements of the Pure.
- JotW - Judgements of the Wise.
- Reck - Reckoning.
- RoL - Rule of Law
- SotP - Seals of the Pure.
- SD - Sacred Duty
- ShoR Shield of Righteousness the Righteous, deprecated in favor of SotR.
- SoI - Seal of Insight. Can also refer to Glyph of Seal of Insight when discussing glyphs.
- SoR - Seal of Righteousness
- SoT - Seal of Truth. Can also refer to Glyph of Seal of Truth when discussing glyphs.
- SotP - Seals of the Pure
- SotR - Shield of the Righteous, or Glyph of Shield of the Righteous when discussing glyphs. In rotation simulations, SotR# refers to a #-holy-power ShoR, SDSotR refers to a SotR only when Sacred Duty is active, and SotR* indicates SotR only when Inquisition is active. SDSotR2* would thus be a 2-point SotR with SD and Inq both active simultaneously.
- SotT - Shield of the Templar
- TbtL - Touched by the Light.
- Veng - Vengeance.
- W39 - Rotation that mimics 939 but replaces SotR with WoG.
- WC9 - W39 where the "3" is always Crusader Strike.
- WH9 - W39 where the "3" is always HotR.
- WoG - Word of Glory
- WotL - Wrath of the Lightbringer
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 8058
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Return to Advanced Theorycraft and Calculations
Who is online
Users browsing this forum: Google [Bot] and 1 guest