Closed flyxiv closed 1 month ago
Skills need a lot of data: GCD flag/Delay/Cooldown/Buff/Debuff/Resource Requirements..
1) Every Buff can be transferred to an expected damage increase
expected_damage(damage_buff(n%)) = n%
expected_damage(crit_buff(n%, player crit damage %)) = n% * (player crit dmg % - 100%)
expected_damage(dh_buff(n%) = 25% * n%
damage = raw_damage * a * b * c * d
ln(damage) = ln(raw_damage) + ln(a) + ln(b) + ln(c) + ln(d)
damage_contribution(a) = raw_damage * a = e^(ln(damage) - ln(b) - ln(c) - ln(d))
we do this for all a, b, c, d and we get damage contribution for each buff/debuff.
Skill buff implementations are complete. Closing issue.
Before implementing simulator, we need to map all the job skills into a Buff implementation