A little side project I'm working on is extending SimulationCraft to Heals.
The Priest Heal Module is more or less finished, but it needs a bit more testing and auditing before we can make it public ( to a wider range of people outside this thread ).
Auditing the Code:
sc_priest.cpp - simulationcraft - Project Hosting on Google Code
( mostly priest_heal_t, priest_absorb_t and spells from archangel_t to lightwell_t )
and
sc_heal.cpp - simulationcraft - Project Hosting on Google Code
Responses are best sent via PM to me, or with a new Issue on the Simcraft website.
Everyone can have a look at the code even if you aren't familiar with any programming languages / C++.
Main error's will be that things got forgotten, and PTR changes may not be complete. I tried my best to include everything, but it is always better to have multiple people checking the code.
As with all modules in Simcraft, there won't be any numbers in the source code, they are automatically parsed from the database. The most important numbers used for the damage/heal calculation can be found directly in the html report.
Simulation & Testing:
- Download the latest Simcraft GUI.
- Import a Priest ( Discipline or Holy ) from the Armory or Chardev.
- Complete the Priority List, use your own imagination.
- Simulate!
Spells relevant to healing currently supported:
actions+=/power_infusion
actions+=/shadow_fiend
actions+=/archangel
actions+=/smite
actions+=/inner_focus
actions+=/hymn_of_hope
actions+=/chakra
actions+=/renew
actions+=/heal
actions+=/flash_heal
actions+=/binding_heal
actions+=/greater_heal
actions+=/prayer_of_healing
actions+=/circle_of_healing
actions+=/prayer_of_mending
actions+=/power_word_shield
actions+=/power_word_shield,if=buff.weakened_soul.down
actions+=/penance_heal
actions+=/holy_word
actions+=/lightwell
Interesting if= expression filters:
buff.chakra_pre.up
buff.chakra_serenity.remains / buff.chakra_serenity.up
buff.chakra_sanctuary.remains / buff.chakra_sanctuary.up
dot.renew.remains <= x
buff.surge_of_light.react
buff.serendipity.stack=n
mana_pct >= [0-100]
buff.holy_evangelism.stack >= 5
Important Information:
- Single heals heal the player "Fluffy_Tank", or otherwise the healer himself.
- Prayer of Healing heals players in the same group up to 5 people. So to max it out, you need to set up a simulation with multiple players.
- Same for PoM ( hits all 5 targets directly ) and CoH which chooses it's initial target smart, and adds 4-5 people.
- No Overheal or Actual Heal included, only Total Heal.
- Heals do change the Health Resource of their target, so you can play around with raid damage events.
- use queue_lag = [ 0.037 - 2.0 ] to add some "brain lag".
And just to be clear: Most things are still named by their damage counterpart, for example DPS instead of HPS. And that will remain this way, the great thing about Simulationcraft for Healers is that 90% of the functions can be reused (or misused ) for healing spells, and it is intended to use as much of it as possible instead of cloning it.