Wizard DPS Web App

Discussion in 'Casters' started by kizant, Mar 17, 2017.

  1. Maelyce New Member

    If possible would you please add the 1-hand weapon Tooth and the Invested Tome of Obulous.
  2. Sancus Augur

    Tooth doesn't have a damage proc, so adding it wouldn't make a difference. Leaving it on "No Weapon Selected" will yield the same result. As far as the Invested Tome of Obulous, the proc is identical to the group version, so the Tome of Obulous option covers both.
    kizant likes this.
  3. Brohg Augur

    The results are sure interesting. Apparently, whether or not I remember to add in Hotpants' Sodkee range aug matters more than having Cloudburst on the end of her order
  4. kizant Augur

    Small Update

    1. Spent some time doing cleanup since I'm probably going to try working on a Mage version at some point. Updated spell levels for everything and tried to make all the ability/stacking type checks follow more of the real rules. Ideally, you won't notice a change in the app but there's always a decent chance I broke something when redoing all that stuff. So, if anyone wants to help test some that would be great.

    2. While I was making those changes I decided to implement a feature that came up during the Shocking Vortex thread. Now aug procs of the right resist type can trigger Evoker's Synergy. So, if you're wondering why Skyblaze starts showing a portion of Wiz Synergy being used after turning on like the belt of boromas, that's why.

    3. Updated the proc rates a bit. Weapon/aug procs are happening less but Arcane Fusion is back up a bit. For now I settled on the lesser of two methods I mentioned a few posts up. I'm still parsing though. Up to around 2500 casts and the proc rate between Ethereal Skyblaze/Rimeblast is at 44% with just the belt on and nothing else.

    I do plan on adding Dichotomic Reinforcement next it's just I want it to work a bit different anything I've implemented so far so it's going to take a little more time. I'm thinking it should display on the ADPS timeline but be repeating like all the abilities with the checkboxes. I might have a checkbox to turn it on, an input box for an time offset for when you it started. Then it'll run for 2 ticks every 60 seconds on the timeline. Maybe it's getting too complicated but I think I can do that unless anyone thinks it would be a bad idea.
  5. kizant Augur

    Double check that one again with the latest. Aug proc damage is a down a little bit although it might be fairly noticeable if you like had all the ADPS turned on. Granted, one thing I've noticed with changing spell orders is that it often doesn't work like you'd think.. And especially for cloudburst it has a much bigger impact early in a lineup. If it's at the end it may just not be getting cast much. Either way it's all pretty interesting!

    Wish I was spending more time playing with it than parsing stuff on dummies to make sure it's working right. :)
  6. Brohg Augur

    I'd like to request one more augment option, please. The Heart of Narikor. It's not highest damage, but includes a mana return that matches The Murderer's Heart so I like it for grinding.
  7. Maelyce New Member

    The way the Claw gem refresh proc is handled currently is causing me issues. As coded now the benefit is averaged out across all spells but this doesn't reflect actual game mechanics well in some cases.

    In game the actual effect is a complete reset on cooldowns. On a weave such as Vortex, Claw, Cloudburst, Skyblaze, Fuse the averaging system does a decent job as the cooldowns on those spells are all fairly short. The problem comes in on a weave such as Dicho, Fuse, Vort, Claw, Skyblaze. In this weave the app simply doesn't show the real benefit that Dicho and Fuse gain.

    If you look at the damage graph it is apparent that running any weave will generate a repeating wave form. Claw refresh simply speeds this wave form up as coded now. If we could see the wave form from in game what we would see is that when gem refresh procs the wave form would reset and start from the beginning. In weave one this would cause a minimal DPS changes from app to game. However, in weave two we should see a larger DPS increase as Dicho and Fuse are cast more frequently as time increases. To put a finer point on it, the differences in DPS are explained by the fact that in weave one on a proc the next two spells cast are Vortex and Claw. In weave two the next two spells are Dicho and Fuse.

    So, the question is, is it possible to code the app in such a way that it mimics the real action of the proc more accurately? (My brain says 'on claw cast if proc = gem refresh then reset cooldowns'.) Also, I do realize that running the second weave will likely drain you of mana quickly. But I think the benefits of accuracy will better replicate any weave particularly as the length of the parse is increased.

    Thank you again for the great app, it's a great new way to take a deeper look at what's happening with various weaves. Now if I could only get a proc to replace all the sleep I missed last night!
  8. kizant Augur

    Sure. Easy enough. It'll be there tonight or tomorrow the latest.
  9. Biltene Kingslayer

    Very nice, having a ball tinkering with it. Any chance you could add the Mana Charge clicky from the Sorcerer's Blade?
  10. kizant Augur

    I could have it do a full refresh every 16 or 17 casts instead of a partial refresh every time. Would that be helpful at all?

    There aren't too many choices without turning it into a real simulator. Which I do have plans for but not necessarily in this app. This was really just a tester I made that seemed pretty useful on its own. I'm not even sure if it's helpful to do a simulator honestly. It's just something I thought would be fun. And if Mages want one of these calculatorish apps I may put some other ideas on hold for a little while.

    I don't know. I could change if people think it would be better.
  11. Brohg Augur

    I feel like a refresh every X casts is even further from reality.
  12. Sancus Augur

    The syllable of refreshment proc is IMO the hardest part to model properly.

    For Wizards, the main benefit (other than refreshing gambit) is resetting the cast time on high damage, high recast spells, mainly Fuse/Dicho and to a lesser extent Vortex. This means you'll get more casts of those, on average, than you would in the absence of syllable of refreshment.

    If you set the app to a very long time frame, the 6% reduction in cast time per claw use would cause an overall increase in casts of those spells. I don't know if it would align exactly with the number of casts you'd see in game (would be interesting to test), but it at least would account for the existence of syllable of refreshment.

    On shorter fights of various time frames, I'm not sure that the 6% reduction actually makes material changes in damage as the app currently models it. To give an example, let's say you do an 80s fight. If you just chain Dicho/Fuse, you'll get three fuse casts and two dicho casts. Adding claw as your third spell keeps you at three fuse casts and two dicho casts, meaning you haven't gained anything from syllable of refreshment procs. If you could compare two identical rotations over that time period but one with and one without the syllable of refreshment proc, I don't think you'd see any change in DPS in the app.

    Having a hard refresh every 16 or 17 casts probably has the same issue in that it doesn't correctly model shorter fights, and it would probably take longer to average out to the DPS one would see in game. Additionally, you run the risk of aligning the syllable of refreshment proc with the cooldown of dicho/fuse in a way that doesn't happen in game.

    Barring running simulations, I don't know if there's a perfect answer. I think I prefer how the app handles syllable of refreshment atm to any alternatives I can think of, not sure if there is another way that may approximate it better for short fights.

    The refreshing every X casts probably works better for Magician Chaotic, since I'm pretty sure a 6% decrease wouldn't actually do anything for us because we don't have any super long reuse spells worth using. In other words, our sustained rotation (depending on your rotation) looks something like:

    RS->Storm->Chaotic->Spear->Chaotic

    One chaotic cast likely wouldn't reduce the recast on RS enough to cast again, and if it did it wouldn't realistically model how the weave actually behaves. Because of that, a 6% recast reduction per cast wouldn't model it properly. Having a refresh every 17 casts would probably work decently, though it has the same issue on shorter fights. C'est la vie.
    Maelyce and kizant like this.
  13. Brohg Augur

    Conjurer's Synergy 20s -6s AA hastening, -1s type3aug hastening
  14. kizant Augur

    Oops!

    Yeah. I don't think this will be a problem.
  15. Maelyce New Member

    I agree refreshment is the hardest proc to deal with. Yes again, more casts of the big spells is the goal. The problem I found with multiple parses is with the 6% reduction it causes more casts of fast cast spells that what actually happens in game. I agree that you don't see much change in DPS in the app, but when you combine the issue of making everything faster (which causes fast cast spells to increase in frequency) you don't see the benefit of a refresh or two on the long recast spells. The hard refresh at set times also won't model well I don't think. What I really feel the app does well is assists in determining number of casts over a time frame. The app models simply don't match what I get when I parse in game in terms of expected number of casts per spell. In game I get more refreshes for Dicho and Fuse to cast which increases DPS and less casts of fast cast spells, particularly CloudBurst. Maybe a possible solution would be to remove the syllable of refreshment proc from Claw and move it to the ADPS list and manually add it. Along with that, making it possible to add multiple instances of the ADPS items would be nice. (Bard epic is a perfect example.) Great app, great work.
  16. Brohg Augur

    lol, how many Syllable of Refreshment are you going to arbitrarily give yourself, and when in the order? You can make your fake dps look pretty super by choosing when that happens
  17. kizant Augur

    That actually sounds kinda odd. I'm only subtracting 6% of the spells normal lockout timer. So, for cloudburst it's only taking away like .09 seconds. I wouldn't think you'd get a lot more casts of fast casting spells compared to others. I'll see if there's a bug.
  18. Maelyce New Member

    It isn't about the DPS from the app for me (at least currently), it is the modeling of cast frequency. In all my work with it I have yet to introduce ADPS, augs, gear, etc. Another option that would work for what I am doing would be a toggle to disable the Syllable of Refreshment benefit completely. :)
  19. kizant Augur

    That actually sounds kinda odd. I'm only subtracting 6% of the spells normal lockout timer. So, for cloudburst it's only taking away like .09 seconds. I wouldn't think you'd get a lot more casts of fast casting spells compared to others. I'll see if there's a bug.

    I got an idea to try. This is 500 seconds and in order of the lineup I picked:
    Claw: 60,
    Dicho: 8,
    Cloudburst: 60
    Skyblaze: 51

    Then with refresh turned back on it does this:
    Claw: 60,
    Dicho: 12,
    Cloudburst: 60,
    Skyblaze: 47

    I think it working out OK, right? But then I ran into this one:

    Wildflash: 71
    Cloudburst: 71
    Claw: 69
    Dich: 1

    Which doesn't make a lot of sense. If I turn it off Dicho jumps to 8. I guess it's reducing the lockout times to the point where Dicho never needs to be cast ever. Maybe I can somehow freeze the casting order up front before calculating the decrease to lockout times and always use it. The effect would be all your spells get re-cast a little quicker but the order stays the same. Which is probably all we can expect from doing it this way anyway. I'll see what it looks like.
  20. Beimeith Lord of the Game

    I have no reason to believe the formula has changed.

    Sympathetic Force of Magic IX has a Base1 of 100.

    [24351] Sympathetic Force of Magic IX
    Target: Self
    Resist: Beneficial, Blockable: Yes
    Focusable: Yes
    Casting: 0s
    Duration: 3.3h (1950 ticks), Extendable: Yes, Dispelable: Yes
    1: SPA 383 Base1=100 Base2=23718 Max=0 Calc=100 --- Cast: Force of Magic IX on Spell Use (Base1=10) e.g. Cast Time 2s=2.5% 3s=3.3% 4s=5.0% 5s=6.7%
    2: SPA 138 Base1=0 Base2=0 Max=0 Calc=100 --- Limit Type: Detrimental
    3: SPA 348 Base1=10 Base2=0 Max=0 Calc=100 --- Limit Min Mana Cost: 10
    4: SPA 142 Base1=70 Base2=0 Max=0 Calc=100 --- Limit Min Level: 70
    5: SPA 311 Base1=0 Base2=0 Max=0 Calc=100 --- Limit Type: Exclude Combat Skills
    6: SPA 137 Base1=0 Base2=0 Max=0 Calc=100 --- Limit Effect: Current HP
    Has a chance to strike your opponent with a magic attack each time you cast a damaging spell.

    I am not entirely certain why Rumstil (aka Raidloot aka the one who codes the spell parser) has it display (Base1=10) instead of (Base1=100). It could either be a mistake in a coding of the parser, or it could be that he was trying to simply the calculation for you by removing the \10.

    Keep in mind that these are NOT final proc rates, they are only example values. The same exact spell can proc for for a much higher rate if it is attached to an item with a proc mod and there is no way to tell that via spell data.
    kizant likes this.