Closed DavidOStewart closed 3 weeks ago
This breaks the TTK distribution and violates the expected contract that getAttackSpeed returns an integer. We also need getAttackSpeed to continue returning integers, but that's not a primary concern here.
We have had some other discussions in the wiki discord around why this doesn't work in our particular case, but tl;dr we don't compute anything using means so these "just multiply by x" things don't work for this calculator.
I have a branch that will account for the blood moon set fully and its performance has been getting better; it will probably be merged soon. Gonna close this for now.
By the way I've ended up using this after all in https://github.com/weirdgloop/osrs-dps-calc/commit/48f8880c14bfefb741882793b50570b08f3a56ba, although I believe your procChance formula was missing the first hit term.
This still isn't merged to live or even staging, but it will be included once some other related things are ready as well.
Thanks!
The blood moon set effect can be calculated as a modifier of the players attack speed, based on the players hit chance. Calculations will be shown in expanded form here and then simplified at the end with code blocks supplied:
Chance first hit lands:
hitChance
Chance first hit and does proc:hitChance * 1/3
Chance first hit lands and does not proc:hitChance * 2/3
For the second hit, we can only trigger the set effect if the first attack hit + did not trigger the set effect.
Chance independent second hit lands:
hitChance
Chance independent second hit lands and procs:hitChance * 1/3
Chance second hit lands and does proc = chance first hit lands and does not proc chance independent second hit lands and procs = `(hitChance 2/3) (hitChance 1/3)=
hitChance^2 * 2 / 9`For the formulas below, I'll call this likelihood of triggering per attack as
procChance
to evaluate the effect of the proc on average ticks attack.Overall attack speed is
((1 - procChance) * normal aspd ) + (procChance * (aspd - 1))
, which simplifies down to justnormal aspd - procChance
.With perfect accuracy, this drops the average ticks/attack with dual macs from 4 down to 3.444..., as we have a 55.5...% chance of landing a proc every attack.