Xig wrote:Thanks for all the work you put into this, but I was asking about Zephyrus (Monks) and not Catus (Druid) for 5.4.

Oh, haha, I'm blind. I had updated Zephyrus with the new reforger a few weeks ago but never released it. RoR use seemed dead and there didn't seem to be enough interest. Possibly I'll update it in a few days so it's working correctly in 5.4, but it doesn't look like Zephyrus has a future.

I've added fon_damage(t), fon_power(t), fon_mdps(t), and fon_cdf(p) and I found a bug with my lookahead code for Ramp procs, like Ebon and Renataki. I was only fading the entire effect if you projected beyond it's fade edge, instead of the number of ticks experienced during the lookahead. This made anything that involved Ebon act really stupid, especially when Ebon and Rena are ramping up and down at the same time. This also applied to my Rip and Rake stuff. Luckily, none of this has been used yet in a Catus release.

Edit: I went through a few iterations of ideas with these FoN changes in mind.

First, I tried using the normal action list, with FoN as high priority, but I was having trouble triggering it properly while inside of gcd or pool_resource guard.

Next, I added a special off-gcd action list in my "simc" script which was kept separate and called far more frequently than the normal action list. This ended up slowing the simulator down by a good 3x, as the action list was being called every time the clock was advanced.

Ultimately, I ended up with this approach:

First, I scan the list of available procs to see if there are any Ramp Up mechanics (Renataki). I record the largest frequency of Ramp Up effects (eg. Rena = 1sec.)

Every time your stats change...- If a "Stats Changed" event is already scheduled, I do nothing.- If no event has been scheduled, I schedule a "Stats Changed" event reaction time into the future.- When the "Stats Changed" event fires, I consider using FoN("Stats Changed" is basically a bucketed event)

Using FoN: require Cat/Bear, 1+ charges, and non-stealthed:- If charges = 3, use immediately- If encounter time remaining is under 20sec, use immediately- If the damage performed by FoN Rake satisfies the automatically determined threshold... 1. I check FoN damage now 2. I check FoN damage in 500ms 3. If the damage doesn't decrease, I schedule a "Recheck FoN" event 500ms into the future 4. Otherwise, if a Ramp Up effect exists and it's frequency > 500ms, I check if FoN damage recovers by scanning up to 5sec into the future 5. If FoN damage does recover, I schedule a "Recheck FoN" event 500ms into the future 6. Otherwise, I burn all my FoN charges- Every time I consider using FoN, I kill any existing "Recheck" events.

This solves a bunch problems:1. Without any tweaks, FoN on the opener properly schedules itself reaction time after the first procs occur.2. All FoN casts are executable by a human, they're always reaction time after a change3. If you lose Dancing Steel (or a similarly weaker effect) during a Renataki ramp, it checks to see if it's worth waiting.4. Doesn't slow down the simulator at all5. Works optimally for all trinket types

Somehow, it won't recognise the latest gear and refuse to reforge it. If I try the reforging for Rune, I come out with wildly differing stats (over 1k more Mastery than Crit, although it does detect the Rune). I then downloaded the latest version, same problem.

*scratches head* Neither my cloak from the Timeless Isle, nor my new shoulders and tier chest are ever suggested to be reforged. Am I missing something?

-Sibylle

"Not a shred of evidence exists in favor of the idea that life is serious." (Brendan Gill)

Sibylle wrote:Somehow, it won't recognise the latest gear and refuse to reforge it. If I try the reforging for Rune, I come out with wildly differing stats (over 1k more Mastery than Crit, although it does detect the Rune). I then downloaded the latest version, same problem.

*scratches head* Neither my cloak from the Timeless Isle, nor my new shoulders and tier chest are ever suggested to be reforged. Am I missing something?

Sibylle wrote:Somehow, it won't recognise the latest gear and refuse to reforge it. If I try the reforging for Rune, I come out with wildly differing stats (over 1k more Mastery than Crit, although it does detect the Rune). I then downloaded the latest version, same problem.

*scratches head* Neither my cloak from the Timeless Isle, nor my new shoulders and tier chest are ever suggested to be reforged. Am I missing something?

Last week, when I added the 5.4 missing suffixes, I goofed a few of them. I thought I had applied a remote fix for this problem, but maybe it didn't work. Try quitting Catus, deleting your Cache folder (in the Catus directory) and restarting it. It sounds like some of your item data is out of date.

If you choose FoN, I'd recommend using "Internal Features > Retard FoN" which forces Treant/Rake from the front. Here is a combat log (with Debug Messages turned on) where you can see the FoN lookahead code at work:

Custom Stats directly effect your Cat Stats, but do not change your reforging settings (which work based on your Gear.) However, adding Haste/Crit will screw with your 1:1:1 Mastery reforge. Possibly this isn't the correct place to add the stats, and instead it should work like the Mastery buff, where it contributes to your overall, but doesn't influencing Rune or similar effects.

Right now I am using TF RoRo & N Haromm's Talisman (Both upgraded 2/2 though for some reason the armoury doesn't show Haromm's upgraded twice yet) and I am wondering, if AoC drops, which would be my best two choices?

Renataki's never dropped for me on Heroic, and the only other choice I have is the Timeless Xuen trinket (543) but I saw in that long list of 'best pairs' that Haromm's and Xuen are better together than Haromm's and TF RoRo? doesn't seem right :S

Simulator: Combat LogClick "Generate Log", after a few seconds, this will open your default text editor with a textual Catus combat log.1. Enable "Print Energy" to see energy updates2. Enable "Debug Messages" to see more information and action logic

Simulator: DistributionClick "Generate Distribution" to perform a repeated simulation. "Iterations" controls the number of simulations, a recommended number is 10K+. You can define a Maximum DPS Error, that if reached, will abort the simulation early. You can leave "Iterations" blank and just use this setting too. Desired DPS Error should be typically smaller than the difference you're trying to discern: 200 (or less) is probably appropriate for quick answers. After clicking "Generate Distribution", a separate window will pop up, with a progress bar, some buttons, and a text field. This text field lets you name the sim. There is a menu beside it, that lets you automatically choose a name for your sim from a list of suggestions. Once a sim is started, feel free to return to the main Catus window and start preparing another sim.

Steps to answer Shandu's question

Note: I use a standard starting Config, you can download it here; put it in your "Configs" folder inside Catus (you can do this while Catus is running), when you return to Catus, it should show up in the "Saved Configurations" menu in the "Configurations" pane.

It literally takes 2 minutes to do this. When you look for the trinket in the gear menu, you don't even have to get the item level correct, if you accidentally pick a Heroic or Warforged AoC, just click the difficulty label, and you'll get a little popup menu that lets you change to Normal.

Could you include perfect cut gems? Right now Catus is making them all "Lucent Serpent's Eye" with +160 agi +160 PvP resilience >.> I usually use these since I have a crap ton of them from being a jewelcrafter. I keep having to manually change them anytime I import from the armory.

Also, went ahead and did some work on the cleave rotation. I updated the "both" and "main" parts with the changes to the single target rotation (in addition to matching the formatting of the patchwerk file for readability). Then I made the following changes:

1) Rake if rune is up, expiring and enemies<=8 (9 is a smaller up bordering on neutral so I went with 8)2) Rake if enemies<=4 and expiring3) There's also a Rake+Rune cycle line at 6 enemies and a Rake cycle line at 3 enemies, but not sure these are necessarily worth including due to the increased complexity it brings and the fact that most aoe'd mobs don't last longer than 15 seconds, I'll leave em in and you can decide if you want to keep em4) Enabled Wrath to be cast if that setting is enabled (small gain in encounters which go back and forth between cleave and single target within a hotw duration). Also enabled only wrath (no hurricane) in case that's ever useful.5) Changed the feral fury line to not fire if rune is up (since the whole point is to get it to use swipe/mangle there and we're using thrash/rake with rune up anyway). Was a (very) small gain to do this for cleave and no change in non-cleave. Up to you if you want to keep that change or not.6) I'd also suggest default min cleave size be 3 instead of 4 as there's a clear benefit to the cleave rotation at 3 or more (20k DPS in my gear with or without set bonuses)

@ShmooDude: thanks for the sim work, and I'm sorry if you tried some simc commands that didn't work. There are still a bunch of missing commands. I've hacked a lot of them in there using a giant key-value map, so for example "buff.xyz.up" might exist but "buff.xyz.down" is unknown.

What encounter settings did you use, default: 8-add perma AoE?You can get more realistic stuff by doing something like: Spawn: 8, [ ] At Start, Freq: 50-70, Lifetime: 8-12, Facing Prob: 50"Summon 8 adds every 50-70secs, that exist for 8-12secs, and have 50% chance of facing you."You can use the combat log to see how these waves spawn and die.

Also, my cleave encounter has a primary target, so it's more like Tortos (Boss+Adds) which is why End of Combat: Boss Death exists. If you use a fixed AoE time, the Boss becomes Immortal.

ShmooDude wrote:Could you include perfect cut gems? Right now Catus is making them all "Lucent Serpent's Eye" with +160 agi +160 PvP resilience >.> I usually use these since I have a crap ton of them from being a jewelcrafter. I keep having to manually change them anytime I import from the armory.

I can add more gems (I haven't made this easily editable yet) but armory Import shouldn't coerce gem types, it will just add the missing type to gem menu temporarily (like if you import a Resto druid.) I'm not sure what you mean by "+160 Agi/160 PvP" gems, aren't you limited to 2? Are you talking about after a reforging? Minimize Cost will restore your existing gem types (relative to your armory).

You can add new gem to "CatusGems.txt" inside Catus/Cache/dl.dropbox/, but that file is updated every 24hrs.

--

One thing I want to play with is using the rip_damage(t), rip_power(t), rip_ratio(t), rake_damage(t), etc... functions to improve the Rake/Rip logic and remove the rest of the trinket specific stuff. I worry that having Rune-specific logic inflates the value of the Rune, and leaves people stuck using low-ilvl Runes when they could be using other trinkets.

Possibly, it needs another function, like rip_cdf(t) and rake_cdf(t), which can give you the probability of that amount of Rip/Rake damage occurring in the simulator, based on a large sampling of your procs. I use the same logic to trigger FoN automatically, and it works really well.

--

Another thing that needs work is the Faerie Fire refresh code, especially in the Patchwerk rotation. There's probably some low energy condition, low combo point or whatever condition that refreshes it early when it can.

I mostly did perma aoe but I did some testing of temporary aoe stuff too (like for wrath + hurricane I did frequency 20, lifetime 10 and it was better to just wrath spam vs going back to cat between aoes)

Also, it looks like you can circumvent my profession requirement code by equipping a JC gem, [x]'ing out the gear item, changing profession from something other than JC, and then restoring the gear item. I've fixed this for the next update.