Closed dazer closed 13 years ago
Hungerer: I think ultimately this can (and should) be modeled properly as a proc; probably define it as a proc with a custom trigger type and I'll come up with logic as to how often your energy drops below the triggering threshhold at some point. In the meantime setting it up as 1/min on-use trinket is probably fine.
Ricket's: Probably is going to need a bit of custom coding, akin to rocket barrage.
Matrix Restabilizer: as we don't know the ICD yet anyway, I'm not going to worry about it; it will, however, need some fancy logic eventually, yes. I have some ideas as to how to tackle this, but it will take some doing to get absolutely right. If you want to put a rough approximation in for now, ignoring procs probably won't be too bad an estimate. It'll slightly overestimate the trinket, but not to an unreasonable extent.
2T12: Honestly, I think its pretty likely that it will work in accordance to the best-case scenario. I could be wrong, but it wouldn't surprise me at all - Ignite, which is fairly similar, stacks across crits. Regardlless, I suspect the best solution is to special case it into compute_damage, sort of like was originally done with Unheeded Warning (i.e., what appears in my branch - I realize that need to be updated, but for the moment it gives the right idea).
4T12: At the very least I'd include the + self.settings.response_time adjustment we use for tricks elsewhere - that is, 1 + .25 / 3 * 30 / * (30 + self.settings.response_time). You're right that ideally we should account for the delay in Tricks triggering, but, eh.
In terms of its interaction with other procs, I'm pretty sure that that can be totally ignored. The averaging is no worse here than it is in the first place for stat procs, so I'd just go with it and call it good.
Thanks for working on this - I've been meaning to get back to this but I just haven't had time. Hopefully I will within the next couple of weeks.
I included the response time in t12_4pc and updated the method a bit to have less nested 'if' logic.
The stat for matrix is set at the start of the cycle iteration in set_constants. I didn't test what happens when two of the stats have exactly the same value (I don't know what the game does in that case either). Ricket fireball is handled ala rocket barrage and included a method in stats to average it's damage value (I expect it to change somehow, based in AP damage or something).
As for Hungerer, I'm leaving it as is untill you write the logic behind the trigger. If the cycle is executed properly the trinket will proc eventually, but I suspected users would try to expend energy as soon as it comes off cd and that's why I modeled like so.
The approach I took for t12_2pc seems a bit naïve to me, but I couln't find anything better. I kind of reverse engineer the crit contribution directly from damage_breakdown. I thought at first to implement damage_breakdown as a dictionary of tuples (damage, crit component) but it kept breaking since each damage source is handled differently. Also, the outcome is a bit too low for what is expected reading the discussion thread in EJ.
Not much to change just yet, but there're some trinkets already datamined (and discussed in EJ). I'm pullin a request with the easiest ones and opening discussion on how to model the others.
-Hungerer: When using an ability causes your Energy or Focus to fall below 20% of your maximum, you will gain 1532/1730 haste rating for 15 sec. This cannot occur more often than once per minute. (Name of the buff is 'Devour')
-Ancient Petrified Seed: Increases your Agility by 1277/1441 for 15 sec. (1 Min Cooldown)
-Ricket's Magnetic Fireball: Calls down a meteor, burning all enemies within the area for 400 to 442 total Fire damage. (3 Min Cooldown)
-Matrix Restabilizer: Your melee and ranged attacks have a chance to grant 1532/1730 critical strike rating, haste rating, or mastery rating, whichever is currently highest. (The description doesn't say, but the uncategorized spell puts the duration at 30'').
-2T12: Your melee critical strikes deal 6% additional damage as Fire over 4 sec. (name of the damage proc is 'Burning Wounds')
-4T12: Your Tricks of the Trade ability also causes you to gain a 25% increase to one of your combat ratings at random for 30 sec. (Names of the buffs are: master of flames, future on fire, fiery devastation)