first, as a primer, I'm using this as an inspiration and baseline for this procedure:
http://www.ctmod.net/calculator.ct
Goal:
Using the calculator, and implementing it's functionality in a spreadsheet, I'm trying to remove the necessity of specifying both time spent under the FSR, and the length of the fight. The reasoning for this goal: the numbers aren't valid unless the the time spent in FSR is accurate.
An example:
http://tinyurl.com/r9lxs
this says, for the values I specified, that for a fight length of 50 seconds at
50% of the time under the FSR, I can chain-cast a talented Greater Heal rank 1, and not run out of mana.
That makes no sense, as chain casting means you'll be under the FSR the entire time.
There should be a way to specify the fight length, then use math to find the optimal FSR % for each spell/rank. Instead of giving the FSR a priori
Key Parameters:
Unknown Variables Based on Fight:
Time of fight
Time Spent of FSR
Known Variables Based on Gear:
Spirit
MP5
Percentage of Normal Regeneration under FSR
Mana Pool
Derived Values:
Mana Regenerated Per Second - Based on your In FSR regen, your out of FSR regen, and the percentage of each
Mana to Spend Per Second - Given a starting mana pool, accounts for the fact that you can cast more than you regen given a finite fight and sufficiently large mana pool
"Castable Every" - How often you can cast a given spell, based on the Mana to spend budget.
Formulas for Derived Values
Contribution of spirit to regen/tick (for priest, rounded 12.5 to match ctmod.net value): (13 + spirit/4)
NonFSRTotalpTick = ( 13 + spirit/4) + (.4)*(MP5)
FSRTotalpTick = (FSRRegenerationPct)*( 13 + spirit/4)/100 + (.4)*(MP5)
-
ManaRegennedPerSec = (FSRpct)*FSRTotalpTick/100 + (100-FSRpct)*NonFSRTotalpTick/100
-
-
ManaToSpendPerSec = (ManaRegennedPerSec * FightLength + ManaPool)/FightLength
-
-
If (HealMana/ManaToSpendPerSec)>HealCastTime:
CastableEvery=HealMana/ManaToSpendPerSec
Else:
CastableEvery=HealCastTime
-
(accounts for the fact you can't cast faster than the spell time, even if you have the mana for it)
Restatement of Goal
in terms of the formulas:
I want to be able to specify FightLength, and based on that, find the correct FSRpct to go out of mana at that time.
A helper value I've calculated using for this is TrueFSRpct:
If (CastableEvery - 5) > 0:
TimeNotInFSR = CastableEvery - 5
Else:
TimeNotInFSR = 0
-
TrueFSRpct = 100*5/(5+TimeNotInFSR)
-
I guess I want a mathemathical or Excel-capable procedural way* to make:
FSRpct = TrueFSRpct
* Toying with the goal seek function, but loathe to try it if there's a math solution.
So math wizards? where do I start?