Jump to content


Photo

SimulationCraft for Priests (Cataclysm Edition)


  • This topic is locked This topic is locked
63 replies to this topic

#21 Twister

Twister

    Glass Joe

  • Members
  • 3 posts

Posted 22 July 2011 - 09:05 AM

Since Chardev has finaly been updated, i've been playing a around little with Simcraft.

By changing the reforging of the Items worn in the Priest_Shadow_T12H.simc Profile to i came up with this Profile (Chardev Link) wich simmed slightly better in singel target Patchwerk-Style fights (+18dps), and equally in 2dot fights.

By exchanging the Wand of the profile (Trail of Embers (H)) with Scorchvine Wand (H) and adjusting the reforging acordingly i created this Profile (Chardev Link) wich even simmed better in both singel target fights (+26dps) and 2dot fights (+5dps).

Both simulations used the Simcraft 420-2 comandline client and ran through 500.000 iterations using these aditional flags:
optimal_raid=1 calculate_scale_factors=1 iterations=500000 max_time=450
The results can be viewed here:
Results - Default Rotation
Results - 2Dot Rotation

#22 Szeretlek

Szeretlek

    Piston Honda

  • Members
  • 193 posts

Posted 22 July 2011 - 11:09 AM

Since Chardev has finaly been updated, i've been playing a around little with Simcraft.

By changing the reforging of the Items worn in the Priest_Shadow_T12H.simc Profile to i came up with this Profile (Chardev Link) wich simmed slightly better in singel target Patchwerk-Style fights (+18dps), and equally in 2dot fights.

By exchanging the Wand of the profile (Trail of Embers (H)) with Scorchvine Wand (H) and adjusting the reforging acordingly i created this Profile (Chardev Link) wich even simmed better in both singel target fights (+26dps) and 2dot fights (+5dps).

Both simulations used the Simcraft 420-2 comandline client and ran through 500.000 iterations using these aditional flags:

optimal_raid=1 calculate_scale_factors=1 iterations=500000 max_time=450
The results can be viewed here:
Results - Default Rotation
Results - 2Dot Rotation


You you look closely to your SimCraft output you will notice one strange number called >>ERROR<<. And if you know some basic mathematic you understand that your dps delta doesnt mean anything because your >>ERROR<< probably twice bigger.

Nothing personal.

#23 Caltiom

Caltiom

    Von Kaiser

  • Members
  • 96 posts

Posted 24 July 2011 - 01:54 PM

You you look closely to your SimCraft output you will notice one strange number called >>ERROR<<. And if you know some basic mathematic you understand that your dps delta doesnt mean anything because your >>ERROR<< probably twice bigger.

Nothing personal.


And if you actually have a look at the error numbers ( 1.74 therefore delta dps error is 2.46 = 2 * sqrt ( (1.74 / 2 ) ^ 2 + ( 1.74 / 2 ) ^2 ), you could see that he can reject your hypothesis that dps delta = 0 with quite a high confidence ( 1-p = 0.00002 for delta dps = 5).

#24 Szeretlek

Szeretlek

    Piston Honda

  • Members
  • 193 posts

Posted 25 July 2011 - 12:18 AM

you could see that he can reject your hypothesis that dps delta = 0

I never said that lol. I dont have so English knowledge to explain my mathematical point view.

#25 Thanator94

Thanator94

    Glass Joe

  • Members
  • 15 posts

Posted 26 July 2011 - 03:58 PM

I am a research and data junkie. I loved using SimulationCraft for evaluating gear and secondary stats on my shadow priest. Since SimulationCraft now supports healing for priests I decided to dive in full throttle to see if SimulationCraft could help me better understand my new profession - discipline raid healing.

If there are other priests who heal and use SimulationCraft, you may want to give this a look see. I intentionally wrote the action code so that all spells would be used and i intentionally focused the Inner Focus and Berserking to use Greater Heal. The examples at the top of this thread seem to just spam Greater Heal to see the maximum healing numbers.

Works to show you the heal amounts and crit percentages for each healing spell. Remeber to put your specific information at the first part of the script and the gear setup for your specific equipment, gems, and reforges. I included a talent and rotation for Archangel / Atonement healing and one without. Personally I have used both and feel the one without better fits my needs and allows me to have a couple of PVP talents for my pvp and arena team. Hopefully cut and paste will work for you.

First SimulationCraft script for No Archangel or Atonement

priest=Thanpriest_noAA_Focused_Will
origin="http://us.battle.net/wow/en/character/baelgun/Thanpriest/advanced"
level=85
race=troll
role=heal
professions=Inscription=525/Tailoring=525
#
#==================================================================================
# TALENTS AND GLYPHS FOR NO ARCHANGEL / ATONEMENT healing technique
#
talents=http://www.wowhead.com/talent#priest-233001221013202311221033102000000000000000000000000000000000000
glyphs=/power_word_shield/penance/prayer_of_healing/fade/dispel_magic/prayer_of_mending
#==================================================================================
# PREFIGHT BUFFS AND ACTIONS
#
# Intellect Buffs (commented out)
#
# actions=flask,type=draconic_mind
# actions=food,type=seafood_magnifique_feast
#
# Spirit Buffs
#
actions=flask,type=flowing_water
actions=food,type=delicious_sagefish_tail
use_pre_potion=1
actions+=/volcanic_potion,if=!in_combat
actions+=/fortitude
actions+=/inner_fire
actions+=/snapshot_stats
#
#==================================================================================
# ACTION RULES TO SIMULATE DISCIPLINE HEALING WITH NO ARCHANGEL / ATONEMENT
#
# buffs on cooldown (order matters)
#
actions+=/berserking
actions+=/inner_focus,if=buff.berserking.down
actions+=/power_infusion,if=buff.berserking.down&buff.inner_focus.down
#
# remove this if Core of Ripeness is not equipped
#
actions+=/use_item,name=core_of_ripeness
#
# casting Devouring Plague if weakened soul and less than 2 seconds remaining on DoT
# (remove this if not using a trinket that procs on damage such as Darkmoon Card: Volcano or Theralion’s Mirror)
#
actions+=/devouring_plague,if=buff.weakened_soul.up&dot.devouring_plague.remains<2
#
# don’t believe Simulationcraft supports Power Word: Barrier at this time (commented out, but left in for reminder)
#
#actions+=/power_word_barrier
#
# mana regeneration actions (Power of Concentration potion not supported at this time and is commented out)
#
#actions+=/potion_of_concentration,if=mana_pct<=30
actions+=/mana_potion,if=mana_pct<=30
actions+=/shadow_fiend,if=mana_pct<=60
actions+=/hymn_of_hope,if=pet.shadow_fiend.active|mana_pct<60
#
# Greater Heal if Inner Focus or Power Infusion is available
#
actions+=/greater_heal,if=buff.inner_focus.up|buff.power_infusion.up
#
# Power Word: Shield and Penance when available and off cool down
#
actions+=/power_word_shield,if=buff.weakened_soul.down
actions+=/penance_heal
#
# healing spells that occur when Weakened Soul Debuff is active
# mana percentages are used to make sure each major spell is cast a few times during the course of the fight
#
actions+=/prayer_of_healing,if=buff.weakened_soul.up&mana_pct>=80
actions+=/prayer_of_mending,if=buff.weakened_soul.up&mana_pct<80&mana_pct>=20
actions+=/heal,if=buff.weakened_soul.up&mana_pct<20
#
# cast Renew if moving (primarily added for HelterSkelter simulations and to determine renew healing values)
#
actions+=/renew,moving=1
#
# Big Heals cast when not under weakened soul and other major heals are on cool down
# mana percentages are used to make sure each major spell is cast a few times during the course of the fight
#
actions+=/divine_hymn,if=mana_pct<50
actions+=/binding_heal,if=mana_pct<85&mana_pct>=55
actions+=/flash_heal,if=mana_pct<55&mana_pct>=25
actions+=/greater_heal,if=mana_pct<25&mana_pct>=15
actions+=/heal,if=mana_pct<15&mana_pct>=5
#
#==================================================================================
#
# gear setup
#
head=relentless_gladiators_mooncloth,type=cloth,ilevel=384,quality=epic,stats=1167armor_371int_646sta_227mastery,gems=burning_shadowspirit_40int,reforge=mastery_spi,enchant=60int_35crit
neck=nightweavers_amulet,ilevel=365,quality=epic,stats=201int_301sta_102haste_153mastery,reforge=mastery_spishoulders=mercurial_shoulderwraps,type=cloth,ilevel=359,quality=epic,stats=938armor_233int_380sta_169haste_149spi,gems=40int_10haste,enchant=130int_25haste,reforge=haste_crit
shirt=antisepticsoaked_dressing,ilevel=1
chest=robes_of_the_cleansing_flame,type=cloth,ilevel=3578quality=epic,stats=1391armor_368int_611sta_243mastery_261spi,,gems=20int_20spi_20int_20crit_20int,reforge=mastery_crit,enchant=20all
waist=x_tron_duct_tape,type=cloth,ilevel=359,quality=epic,stats=704armor_233int_380sta_169spi_149crit,gems=40int_20int_20crit_10int
legs=mercurial_legwraps,type=cloth,ilevel=359,quality=epic,stats=1094armor_301int_512sta_228spi_188mastery,gems=20int_20spi_40int_20spi,reforge=mastery_crit,enchant=95int_55spi
feet=einhorns_galoshes,type=cloth,ilevel=359,quality=epic,stats=860armor_233int_380sta_169haste_149mastery,reforge=haste_crit,gems=40int_10haste,enchant=35mastery
wrists=bracers_of_the_burningeye,type=cloth,ilevel=359,quality=epic,stats=547armor_190int_286sta_127spi_127haste,reforge=haste_crit,enchant=50int
hands=mercurial_handwraps,type=cloth,ilevel=359,quality=epic,stats=782armor_233int_380sta_169spi_149mastery,gems=20int_20spi_10int,reforge=mastery_crit,enchant=50mastery
finger1=twisted_band_of_flowers,ilevel=359,quality=epic,stats=190int_286sta_127spi_127mastery,reforge=mastery_crit
finger2=security_measure_alpha,ilevel=359,quality=epic,stats=190int_286sta_127spi_127crit
trinket1=core_of_ripeness,ilevel=359,quality=epic,stats=321int,use=1926spi_20dur_120cd
trinket2=darkmoon_card_volcano,ilevel=359,quality=epic,stats=321mastery,reforge=mastery_haste,equip=onspelldamage_1200+10fire_1600int_30%_12dur_45cd
#trinket2=theralions_mirror,ilevel=359,quality=epic,stats=321int,equip=onspellcast_1926mastery_10%_20dur_100cd
back=flowing_flamewrath_cape,ilevel=378,quality=epic,stats=695armor_227int_341sta_160spi_137mastery,reforge=mastery_crit,enchant=lightweave_embroidery
main_hand=chelleys_staff_of_dark_mending,ilevel=359,quality=epic,stats=341int_512sta_228spi_228mastery_1955sp,reforge=mastery_crit,enchant=heartsong,weapon=staff_2.40speed_1196min_1795max
ranged=theresas_booklight,ilevel=359,quality=epic,stats=107int_161sta_72mastery_72hit,reforge=hit_crit
#==================================================================================


SimulationCraft script for using Archangel and Atonement

priest=Thanpriest_Archangel_Atonement_Healing
origin="http://us.battle.net/wow/en/character/baelgun/Thanpriest/advanced"
level=85
race=troll
role=heal
professions=Inscription=525/Tailoring=525
#
#============================================================================================
# TALENTS AND GLYPHS FOR ARCHANGEL / ATONEMENT healing technique
#
talents=http://www.wowhead.com/talent#priest-230210221113202312021033102000000000000000000000000000000000000
glyphs=/power_word_shield/penance/prayer_of_healing/divine_accuracy/dispel_magic/prayer_of_mending
#==================================================================================
# PREFIGHT BUFFS AND ACTIONS
#
# Intellect Buffs (commented out)
#
# actions=flask,type=draconic_mind
# actions=food,type=seafood_magnifique_feast
#
# Spirit Buffs
#
actions=flask,type=flowing_water
actions=food,type=delicious_sagefish_tail
use_pre_potion=1
actions+=/volcanic_potion,if=!in_combat
actions+=/fortitude
actions+=/inner_fire
actions+=/snapshot_stats
#
#==================================================================================
# ACTION RULES TO SIMULATE DISCIPLINE HEALING WITH ARCHANGEL / ATONEMENT
#
# buffs on cooldown (order matters)
#
actions+=/berserking
actions+=/inner_focus,if=buff.berserking.down
actions+=/power_infusion,if=buff.berserking.down&buff.inner_focus.down
#
# remove this if Core of Ripeness is not equipped
#
actions+=/use_item,name=core_of_ripeness
#
# casting Devouring Plague if weakened soul and not in holy archangel and less than 2 seconds remaining on DoT
# (remove this if not using a trinket that procs on damage such as Darkmoon Card: Volcano or Theralion’s Mirror)
#
actions+=/devouring_plague,if=buff.weakened_soul.up&!buff.holy_archangel.up&dot.devouring_plague.remains<2
#
# don’t believe Simulationcraft supports Power Word: Barrier at this time (commented out, but left in for reminder)
#
#actions+=/power_word_barrier
#
# mana regeneration actions (Power of Concentration potion not supported at this time and is commented out)
#
#actions+=/potion_of_concentration,if=mana_pct<=30
actions+=/mana_potion,if=mana_pct<=30
actions+=/shadow_fiend,if=mana_pct<=60
actions+=/hymn_of_hope,if=pet.shadow_fiend.active|mana_pct<60
actions+=/archangel,if=buff.holy_evangelism.stack>=5
#
# Greater Heal if Inner Focus or Power Infusion is available
#
actions+=/greater_heal,if=buff.inner_focus.up|buff.power_infusion.up
#
# Power Word: Shield and Penance when available and off cool down
#
actions+=/power_word_shield,if=buff.weakened_soul.down
actions+=/penance_heal
#
# casting Smite if weakened soul and not in holy archangel for Evangelism stacks
#
actions+=/smite,if=buff.weakened_soul.up&!buff.holy_archangel.up&buff.holy_evangelism.stack<5
#
# healing spells that occur when Weakened Soul Debuff is active and not casting Smite
# mana percentages are used to make sure each major spell is cast a few times during the course of the fight
#
actions+=/prayer_of_healing,if=buff.weakened_soul.up&mana_pct>=80
actions+=/prayer_of_mending,if=buff.weakened_soul.up&mana_pct<80&mana_pct>=20
actions+=/heal,if=buff.weakened_soul.up&mana_pct<20
#
# cast Renew if moving (primarily added for HelterSkelter simulations and to determine renew healing values)
#
actions+=/renew,moving=1
#
# Big Heals cast when not under weakened soul and other major heals are on cool down
# mana percentages are used to make sure each major spell is cast a few times during the course of the fight
#
actions+=/divine_hymn,if=mana_pct<50
actions+=/binding_heal,if=mana_pct<85&mana_pct>=55
actions+=/flash_heal,if=mana_pct<55&mana_pct>=25
actions+=/greater_heal,if=mana_pct<25&mana_pct>=15
actions+=/heal,if=mana_pct<15&mana_pct>=5
#
#==================================================================================
#
# gear setup
#
head=crown_of_burning_waters,type=cloth,ilevel=359,quality=epic,stats=1016armor_281int_512sta_228spi_168mastery,gems=burning_shadowspirit_20int_20crit_30spi,reforge=mastery_crit,enchant=60int_35crit
neck=nightweavers_amulet,ilevel=365,quality=epic,stats=201int_301sta_102haste_153mastery,reforge=haste_crit
shoulders=mercurial_shoulderwraps,type=cloth,ilevel=359,quality=epic,stats=938armor_233int_380sta_169haste_149spi,gems=40int_10haste,enchant=130int_25haste,reforge=haste_crit
shirt=antisepticsoaked_dressing,ilevel=1
chest=robes_of_the_cleansing_flame,type=cloth,ilevel=3578quality=epic,stats=1391armor_368int_611sta_243mastery_261spi,,gems=20int_20spi_20int_20crit_20int,reforge=mastery_crit,enchant=20all
waist=x_tron_duct_tape,type=cloth,ilevel=359,quality=epic,stats=704armor_233int_380sta_169spi_149crit,gems=40int_20int_20crit_10int
legs=mercurial_legwraps,type=cloth,ilevel=359,quality=epic,stats=1094armor_301int_512sta_228spi_188mastery,gems=20int_20spi_40int_20spi,reforge=mastery_crit,enchant=95int_55spi
feet=einhorns_galoshes,type=cloth,ilevel=359,quality=epic,stats=860armor_233int_380sta_169haste_149mastery,reforge=haste_crit,gems=40int_10haste,enchant=35mastery
wrists=bracers_of_the_burningeye,type=cloth,ilevel=359,quality=epic,stats=547armor_190int_286sta_127spi_127haste,reforge=haste_crit,enchant=50int
hands=mercurial_handwraps,type=cloth,ilevel=359,quality=epic,stats=782armor_233int_380sta_169spi_149mastery,gems=20int_20spi_10int,reforge=mastery_crit,enchant=50mastery
finger1=twisted_band_of_flowers,ilevel=359,quality=epic,stats=190int_286sta_127spi_127mastery,reforge=mastery_crit
finger2=security_measure_alpha,ilevel=359,quality=epic,stats=190int_286sta_127spi_127crit
trinket1=core_of_ripeness,ilevel=359,quality=epic,stats=321int,use=1926spi_20dur_120cd
trinket2=darkmoon_card_volcano,ilevel=359,quality=epic,stats=321mastery,reforge=mastery_haste,equip=onspelldamage_1200+10fire_1600int_30%_12dur_45cd
#trinket2=theralions_mirror,ilevel=359,quality=epic,stats=321int,equip=onspellcast_1926mastery_10%_20dur_100cd
back=flowing_flamewrath_cape,ilevel=378,quality=epic,stats=695armor_227int_341sta_160spi_137mastery,reforge=mastery_crit,enchant=lightweave_embroidery
main_hand=chelleys_staff_of_dark_mending,ilevel=359,quality=epic,stats=341int_512sta_228spi_228mastery_1955sp,reforge=mastery_crit,enchant=heartsong,weapon=staff_2.40speed_1196min_1795max
ranged=theresas_booklight,ilevel=359,quality=epic,stats=107int_161sta_72mastery_72hit,reforge=hit_crit
#==================================================================================

#26 Thanator94

Thanator94

    Glass Joe

  • Members
  • 15 posts

Posted 26 July 2011 - 04:07 PM

As a follow up to the lengthy post with the SimulationCraft code...

Any of the real SimulationCraft experts know how to modify this code to simulate more friendly targets?

I would like to see the full benefit of spells such as Prayer of Mending and Prayer of Healing.

Also critique is welcome... this is an attempt to see the value of our heals and not necessarily an excercise to determine secondary stat factors... which would be nice to have also!

#27 CaseyTheRetard

CaseyTheRetard

    Von Kaiser

  • Members
  • 99 posts

Posted 27 July 2011 - 02:28 PM

You can add people to heal into your simulations by adding more players that do nothing:

warrior=dummy1 actions="" quiet=1
warrior=dummy2 actions="" quiet=1

and specifying who is healed with e.g. "target=dummy1" in the individual actions (non-smart heals target the player by default).

actions+=/greater_heal,target=dummy1

If you actually want to heal someone taking damage, stick a tank profile in there (with "role=tank") and the enemy will smack them in the face.

As an aside, you don't need "if=buff.weakened_soul.down" for PWS: since release 420-3 that is the default behavior. You can override that default with "ignore_debuff=1" for simulating PWS spam.

Take a look at the simc files in the profiles_heal folder in the distribution for more ideas. Disc support is reasonably solid now, Holy needs a lot of work.

#28 Thanator94

Thanator94

    Glass Joe

  • Members
  • 15 posts

Posted 27 July 2011 - 07:52 PM

While working with my SimulationCraft code and results I noticed that when i stopped casting any attacking spells the Power Torrent buff no longer showed up in the results. I then looked closely at the examples at the start of this thread and they too have the same results. For rotations that include Smite or other attacking spells the Power Torrent buff is present, but for those with only healing casts it is not showing under the buffs but it is applied to the main hand weapon in the gear section.

The description for Power Torrent says it adds 500 intellect for both damage or healing spells, but it looks like SimulationCraft is only activiating the buff for damage spells.

I don't have a Google account so i was not able to post this as an issue on SimulationCraft's website. Can others confirm this oversight and report it or am I missing something?

#29 Zimeron

Zimeron

    Cookies!

  • Members
  • 423 posts

Posted 28 July 2011 - 02:02 AM

While working with my SimulationCraft code and results I noticed that when i stopped casting any attacking spells the Power Torrent buff no longer showed up in the results.

I've fixed the callbacks so heals not trigger it like they should. Thanks for the report.

#30 CaseyTheRetard

CaseyTheRetard

    Von Kaiser

  • Members
  • 99 posts

Posted 28 July 2011 - 04:10 PM

Power Torrent/Hurricane/Lightweave are all fixed to proc from heals and will go live in the next release cycle.

#31 Thanator94

Thanator94

    Glass Joe

  • Members
  • 15 posts

Posted 28 July 2011 - 04:11 PM

I failed to check if Lightweave was procing on my non-AA script, but now I see that it was not! Wonderful catch to implement the change to all the buffs and not just Power Torrent.

I think this will greatly improve the simulation numbers for a non-AA build and will at least make me more comfortable with having the non-AA build for our progression raids.

Now the question is whether i just have two Discipline specs and replace my Shadow spec with the AA Discipline spec.

Thank you for the very quick responses.

#32 nightlily

nightlily

    Von Kaiser

  • Members
  • 76 posts

Posted 06 August 2011 - 05:07 AM

I am trying to experiment with a healing simulation on a tank target. I was wondering if the melee swings of the boss can be modified in any way to specify the amount of damage done or the swing timer.

#33 Caltiom

Caltiom

    Von Kaiser

  • Members
  • 96 posts

Posted 06 August 2011 - 08:53 AM

I am trying to experiment with a healing simulation on a tank target. I was wondering if the melee swings of the boss can be modified in any way to specify the amount of damage done or the swing timer.


Have a look at sc_target.cpp - simulationcraft - World of Warcraft DPS Simulator - Google Project Hosting for the actions currently available for enemys and the options which you can use. Line 128 to 243. It's a bit inconsistent, but for now this is experimental stuff anyway until nate implements multi target ( and actor re-encoding along with it ).

Ps. Keep in mind that our tank modules aren't really up to date or thoroughly tested. Warrior, Druid and Paladin should be more or less ok for 4.0.6 or higher, Deathknights need some love first.

#34 nightlily

nightlily

    Von Kaiser

  • Members
  • 76 posts

Posted 07 August 2011 - 08:37 AM

Have a look at sc_target.cpp - simulationcraft - World of Warcraft DPS Simulator - Google Project Hosting for the actions currently available for enemys and the options which you can use. Line 128 to 243. It's a bit inconsistent, but for now this is experimental stuff anyway until nate implements multi target ( and actor re-encoding along with it ).

Ps. Keep in mind that our tank modules aren't really up to date or thoroughly tested. Warrior, Druid and Paladin should be more or less ok for 4.0.6 or higher, Deathknights need some love first.


It's ok.. the people over at simulationcraft have been very helpful and respond quickly when I do encounter bugs, so I don't mind testing some of the more experimental stuff. In the long run that will help me and the healing community a great deal. Also, thank you kindly for pointing me in the right direction. For now, I was planning on working with a druid tank since that is the class I am most familiar with.

I know you guys are aware of the lack of support currently for overhealing. While I am here, I am curious if anyone is trying to implement tracking of overhealing or the option to ignore it on the output? It's been stated elsewhere that overhealing is one of the reasons Simulation undervalues Mastery right now, so a feature that gives that data as well is something I think a lot of priests would appreciate.

For anyone who may be curious, I have been importing a druid tank, using the default action list for the druid and this action list for healing:

actions+=/power_word_shield,target=Druid_Tank,if=(target.health_pct<50|!cooldown.rapture.remains)
actions+=/inner_focus
actions+=/flash_heal,target=Druid_Tank,if=target.health_pct<20
actions+=/penance_heal,target=Druid_Tank,if=target.health_pct<80
actions+=/greater_heal,target=Druid_Tank,if=target.health_pct<80

#35 Szeretlek

Szeretlek

    Piston Honda

  • Members
  • 193 posts

Posted 10 August 2011 - 08:39 AM

SimCraft shows ~100 DPS increase if you cast MB with high priority then dots and dont bother with shadow orbs.

At now sim algorithm looks like:
actions+=/ -=BUFFs=-
actions+=/mind_blast,if=buff.shadow_orb.react>=1&!set_bonus.tier12_4pc_caster
actions+=/ -=DOTs=-

Change it to
actions+=/ -=BUFFs=-
actions+=/mind_blast
actions+=/ -=DOTs=-

And you notice the difference. I think DPET priorty system is rather old. We should check DPCD (Damage per cooldown) system. It used in theorycraft for Retripals or Furywars for example. So MB shows higher DPCD then VT or DP (cooldown for dots - recast interval or duration).

P.S. Oh and by the way, we already use the DPCD system, because putting even an shadow orb`s empowered MB higher in priority then DoTs (which are still have waaaaay more DPET) point us at lack in theorycraft. We need fully proven mathematical priority system.

#36 Szeretlek

Szeretlek

    Piston Honda

  • Members
  • 193 posts

Posted 10 August 2011 - 10:12 AM

I qoute from Warrior: Fury Compendium:

The best way to look at this problem quantitatively is by making decisions based on minimizing potential damage loss between the three different abilities and not simply forgoing Bloodsurge procs or overusing them while performing an in-optimal rotation. One would use one ability over another based on what their cooldown is and where they are on that cooldown and if they have Slam! ready to use. It is not obviously clear what is best to hit over something else, so we turn to economics, math, and probability. A term that is thrown around constantly is opportunity cost.

Opportunity cost is the cost of passing up the next best choice when making a decision of any number of possibilities. If you have 5 possibilities, the opportunity cost is the amount that you don't get form the 2nd best choice, when choosing to do the first best choice. For example, the opportunity cost of using Bloodsurge ahead of BT is the damage you will lose to pushing back BT and WW. WW also gets pushed back because WW always follows the BT due to the GCD lockout from BT.

When deciding what to do, it is best to make the decision based on which option has the lowest opportunity cost. We use math then to calculate the opportunity cost of possible scenarios and then come up with a set of rules to follow, which will govern our rotation. To be able to use different abilities in a comparison, we need an average value of power to assign to each based on your stats and happenings with the hit table.


Author of this Compendium calculate "Loss" for all of abilities like that:
Loss = Delay * Power / Cooldown

For ShadowPriest mechanic it converts:
Loss = CastTime * DPE / Cooldown(or Duration)

MB0_Loss = GCD * 42399 / 5.5 = 7708 * GCD
VT_Loss = GCD * 95206 / 15 = 6347 * GCD
DP_Loss = GCD * 112091 / 24 = 4670 * GCD

I dont know how to calculate MF_Loss actually.
What does that mean? If you choose what to cast: MB0, VT or DP - and you choose cast DP you will loose MB0_Loss+VT_Loss = 14055 * GCD damage
If you choose VT you will loose 12378 * GCD damage
and if you choose cast MB0 with higher priority then VT or DP you will only loose 11017 * GCD damage

So MB0 has lowest opportunity cost and should cast always before DoTs recast.

#37 Althor

Althor

    Great Tiger

  • Members
  • 792 posts

Posted 10 August 2011 - 02:31 PM

MB0_Loss = GCD * 42399 / 5.5 = 7708 * GCD
VT_Loss = GCD * 95206 / 15 = 6347 * GCD
DP_Loss = GCD * 112091 / 24 = 4670 * GCD


Why are you using 5.5 as the cooldown for MB0? It has a 6.5 second cooldown with talents, it takes 1 GCD to cast and it does not benefit from spell queuing so it incurs a full 1 one-way trip latency on every one. Thus if you're GCD capped then it's 6.5+1.0+half latency. So say 7.5 to 8.0 seconds per MB, not 5.5.

Also VT and DP are not 15 seconds and 24 seconds. That's their average point but the actual amount depends upon haste.

#38 Szeretlek

Szeretlek

    Piston Honda

  • Members
  • 193 posts

Posted 10 August 2011 - 04:05 PM

Why are you using 5.5 as the cooldown for MB0? It has a 6.5 second cooldown with talents, it takes 1 GCD to cast and it does not benefit from spell queuing so it incurs a full 1 one-way trip latency on every one. Thus if you're GCD capped then it's 6.5+1.0+half latency. So say 7.5 to 8.0 seconds per MB, not 5.5.

Also VT and DP are not 15 seconds and 24 seconds. That's their average point but the actual amount depends upon haste.

Because this was a fast example in three lines. And Latency? No way with queuing system.

#39 Taradenha

Taradenha

    Glass Joe

  • Members
  • 10 posts

Posted 10 August 2011 - 05:48 PM

@Szeretlek
You can't queue spells on cooldown, that's why you should take latency into account when calculating the minimum MB interval. A 9 seconds interval would be more realistic anyway.

Also, can you post the changes you made to the action priority list to get the 100 dps increase?
I tried playing with the priority list and I got a dps increase but when I check the logs I see the old priority list is still there, so i'm probably doing something wrong.

#40 Szeretlek

Szeretlek

    Piston Honda

  • Members
  • 193 posts

Posted 10 August 2011 - 05:58 PM

Also, can you post the changes you made to the action priority list to get the 100 dps increase?


At now sim algorithm looks like:
actions+=/ -=BUFFs=-
actions+=/mind_blast,if=buff.shadow_orb.react>=1&!set_bonus.tier12_4pc_caster
actions+=/ -=DOTs=-

Change it to
actions+=/ -=BUFFs=-
actions+=/mind_blast
actions+=/ -=DOTs=-


I already did this =) Ok. actual algorythm

actions=flask,type=draconic_mind
actions+=/food,type=seafood_magnifique_feast
actions+=/fortitude
actions+=/inner_fire
actions+=/shadow_form
actions+=/vampiric_embrace
actions+=/snapshot_stats
actions+=/volcanic_potion,if=!in_combat
actions+=/volcanic_potion,if=buff.bloodlust.react|target.time_to_die<=40
actions+=/mind_blast
actions+=/berserking
actions+=/shadow_word_pain,if=(!ticking|dot.shadow_word_pain.remains<gcd+0.5)&miss_react
actions+=/devouring_plague,if=(!ticking|dot.devouring_plague.remains<gcd+1.0)&miss_react
actions+=/stop_moving,health_percentage<=25,if=cooldown.shadow_word_death.remains>=0.2|dot.vampiric_touch.remains<cast_time+2.5
actions+=/vampiric_touch,if=(!ticking|dot.vampiric_touch.remains<cast_time+2.5)&miss_react
actions+=/archangel,if=buff.dark_evangelism.stack>=5&dot.vampiric_touch.remains>5&dot.devouring_plague.remains>5
actions+=/start_moving,health_percentage<=25,if=cooldown.shadow_word_death.remains<=0.1
actions+=/shadow_word_death,health_percentage<=25
actions+=/shadow_fiend
actions+=/shadow_word_death,if=mana_pct<10
actions+=/mind_flay
actions+=/shadow_word_death,moving=1
actions+=/devouring_plague,moving=1,if=mana_pct>10
actions+=/dispersion




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users