ToME: the Tales of Maj'Eyal

[v1.0.5+] Restart Sustains
Page 1 of 2

Author:  Zizzo [ Thu Dec 11, 2014 2:42 am ]
Post subject:  [v1.0.5+] Restart Sustains

So after one time too many having my sustained talents clobbered by an orc mage-hunter or the Weirdling Beast or an inconvenient round-trip through Eidolon, I'm working on an addon to streamline the process of getting all of them restarted. I've got the behind-the-scenes mechanics more or less working (I'm basically hijacking the resting mechanism to restart one non-instant-use talent per turn), but I'm stuck on the user interface. So, questions to you the potential users of this addon:

  • Does order matter? My Mindslayer, for instance, would obviously want to restart Charged Aura and Thermal Aura before Conduit --- but then, my Mindslayer is a few versions behind current, and those talents appear to have changed or been removed since then. I don't yet have any characters in the current version, so I don't know if there are any similar ordering issues I'd need to take into account.
  • Any other more complex interactions? To continue the above example, my slightly-out-of-date Mindslayer would need to make sure that Kinetic Aura was not active when trying to restart Charged Aura and Thermal Aura, for obvious reasons. That could potentially get complicated, and I'm not really sure how to do a UI for that.
  • How to trigger it? My working mockup has a dialog bound to a keystroke to configure which sustains should be restarted, and a button on the dialog to actually initiate the restart. Would it be better to have another keybinding to initiate the restart, or a dummy talent that could be bound to a hotkey?

And of course, the most important questions:
  • Is there some other way I should be doing this?
  • Has someone else already done this and I just missed it? :oops:

Author:  64legos [ Thu Dec 11, 2014 4:03 am ]
Post subject:  Re: [RFC] Restart Sustains

I've always had just set all of my sustains to "auto-use when no enemies are visibly" and I've never had a problem with sustains since. For Mindslayer shields, I just activate the shield I don't want, and auto-use takes care of the rest.

To be honest, I don't really see any reason for this add-on.

Author:  Red [ Thu Dec 11, 2014 4:15 am ]
Post subject:  Re: [RFC] Restart Sustains

I do the exact same thing as Legoes. One of the things that an addon might be needed for is letting rest work until all sustains are on-by default, rest will not wait until auro-use abilities are off CD, so just hitting r twice won't guarantee they're all back on. The other thing that might be nice is selecting the order to activate auto use abilities with. Maybe not for sustains, but for juggling active utility talents it might be really nice.

Author:  Doctornull [ Thu Dec 11, 2014 5:24 am ]
Post subject:  Re: [RFC] Restart Sustains

In terms of interactions, yeah, some kind of priority could be specified. This won't vary between characters -- you'll always want Willing Tormentor active before other Vim sustains, for example -- but may vary by circumstance, if the sustains cost a turn to activate and you're in combat.

The things you'd need to be careful about are:
- Takes a turn
- Affects a resource (Willing Tormentor)
- Affects other sustains (Conduit)

Author:  Red [ Thu Dec 11, 2014 5:30 am ]
Post subject:  Re: [RFC] Restart Sustains

I wasn't talking about an automated priority system, though that wouldn't be bad. I mean a manual priority system for autocasts.

There'd probably be two, actually-one for instant casts, since those are all handled basically between turns, and one for abilities that take a turn. Letting you set it manually would be good for various abilities that aren't as clear-cut as Willful Tormentor. Take Retribution and Second Life-let's say you get them both knocked down by a Combination Kick, but you're an Adventurer with Metaflow and reset them the next turn. There's no set answer for which should go on first, so it'd be nice for any given player to be able to say which they want first.

Author:  Zizzo [ Tue Dec 30, 2014 3:14 am ]
Post subject:  Re: [RFC] Restart Sustains

64legos wrote:
I've always had just set all of my sustains to "auto-use when no enemies are visibly" and I've never had a problem with sustains since.

Meh, I'm leery of auto-use, particularly with non-instant-use talents. I don't trust it not to gank a turn out from under me at a critical moment.

Red wrote:
One of the things that an addon might be needed for is letting rest work until all sustains are on-by default [...]

[slaps forehead] Now, that was an oversight on my part. My initial work-up only restarted sustains that were off cooldown at the time you pushed the "restart-stuff" button; having the button wait for the sustains to come off cooldown is obviously what it should be doing instead. Of course, that potentially makes the ordering issues slightly more complicated...

Author:  Red [ Tue Dec 30, 2014 6:38 pm ]
Post subject:  Re: [RFC] Restart Sustains

Don't worry, Zizzo. I have faith you'll be able to work this out. (And I can assure you, it is most definitely not just because I really want this addon. :P)

I'd offer help with figuring the issues out, except for the part where I can't code for shit. So, here's the most I can help.

Author:  Zizzo [ Tue Jan 13, 2015 3:50 am ]
Post subject:  Re: [RFC] Restart Sustains

Well, that was slightly more complicated that I was expecting; the whole Conduit/auras interaction took a bit of special-case hacking. It all seems to be functional, though, so I'm going to go ahead and release it.

For ordering, I've decided to go with a tree structure. You can drag and drop sustainable talents in the Restart Sustains dialog (bound to <Alt-Shift-S> by default) into your desired arrangement; "child" sustains won't be activated until their "parent" sustain is active. You can also right-click a sustain to set it for confirmation; if that talent is already active when you try to begin a restart, you'll get a confirmation dialog.

Oh, and one more feature I added, after one time too many glancing over at my status bar and saying, "Hey! when did all my sustains get knocked out?": I've added a warning log message and a nice obvious particle effect that fires when any of your marked sustains is forcibly deactivated.

As always, let me know if anything breaks. This one may be a bit complicated to be merged into ZOmnibus, unless there are strong opinions one way or the other.

Author:  Zizzo [ Tue Jan 26, 2016 12:17 am ]
Post subject:  Re: [v1.0.5+] Restart Sustains

So with some use experience, I've concluded that the particle effect we use to signal that one of your marked sustains just got knocked out is apparently not as noticeable as I was going for, as I'm still occasionally looking over at my statuses and saying, "Hey, when did I lose that sustain?" I've switched to a hopefully more prominent effect in v1a, just pushed out — the same one used in a handful of places like the Slumber and Kinetic Leech talents, just with slightly different coloration.

Author:  Zizzo [ Sun Mar 20, 2016 3:21 am ]
Post subject:  Re: [v1.0.5+] Restart Sustains

Just released v1b with another small quality-of-life tweak, born of the second or third time I hit the following scenario:
  • In the middle of a tough fight: "Ah, crap, one of my sustains got knocked out. Gotta remember to turn that back on when the fight is over. Now, die, you sonuva—!"
  • Some time later: "…Oh, I forgot to turn that sustain back on." :oops:
As an extra level of reminder, this release adds the otherwise harmless Sustain Loss detrimental effect, added when any of your marked sustains gets knocked out and removed when you've reactivated them all.

Author:  Zizzo [ Wed Aug 03, 2016 1:38 am ]
Post subject:  Re: [v1.0.5+] Restart Sustains

v1b.1 is a compatibility release with ZOmnibus v15, mostly to avoid having the definition files collide with other copies of themselves. If you have any characters using this addon together with ZOmnibus, you should upgrade both together, and future characters should only use one or the other (if you forget, the character creation dialog will warn you).

Author:  Zizzo [ Sun Jan 29, 2017 1:59 am ]
Post subject:  Re: [v1.0.5+] Restart Sustains

So, remember that "Sustain Loss" marker effect we added back in v1b, as a reminder that you've had some of your marked sustains disabled? Well, that effect is not supposed to prevent you from going to the worldmap, but as I recently discovered (to the alarm of one of my characters), it does — because it turns out that the flag on an effect that tells the game that it's okay to go the worldmap with that effect active is not in fact 'no_stop_enter_worldmap', but rather 'no_stop_enter_worlmap' (note the missing 'd'). At first I assumed this was a bug, but there are several dozen other effects in the game using this misspelled flag as is, so (shrug) when in Rme… :wink: That's pushed out as v1b.2. We Apologize for the Inconvenience.™

Author:  Zizzo [ Fri Feb 03, 2017 2:28 am ]
Post subject:  Re: [v1.0.5+] Restart Sustains

Just had a random thought while working on stuff for the 1.5.0 release: Currently the only way to restart marked sustains is by going to the Restart Sustains dialog and pressing the "Restart Sustains" button. Since we're already hijacking the resting infrastructure anyway, though, it occurs to me that we could conceivably just restart marked sustains whenever you're resting. What do people think? I'll probably control it via a game option if I go that route (though now that I think of it, is there ever really a circumstance in which you're resting and you wouldn't want to restart deactivated sustains in the process?).

Author:  Zizzo [ Fri Mar 10, 2017 12:17 am ]
Post subject:  Re: [v1.0.5+] Restart Sustains

It always bugged me that my Brawler couldn't mark Striking Stance as a sustain to restart via this addon, and I finally figured out why. See, the 'hide' flag in a talent definition is apparently used to tell the level-up dialog not to show the talent; I, alas, was assigning more import to the flag than that, and was needlessly disallowing a talent as a markable sustain if it was so flagged. That's fixed in v2, just pushed out. The affected sustained talents are Striking Stance, Grappling Stance and Stoning Poison. We Apologize for the Inconvenience.™ :wink:

The other new features in this release, which I consider big enough to justify the major-version-number bump, are the auto-restart-on-rest mode I mentioned above (controlled by the new game option "Restart marked sustains while resting") and a nice bit made possible by the new UseTalents:generate and UseTalents:use hooks added by DarkGod (thanks again!): you can now mark a talent for restart from its right-click menu. NOTE: If you're using this addon (directly or via ZOmnibus) together with either Arcane Combat Tweaks or Use Alchemist Gems From Inventory, you should upgrade those addons at the same time you upgrade this one.

And I think I'll take the opportunity to add a few Frequently Asked Questions below.

Author:  Zizzo [ Fri Mar 10, 2017 12:18 am ]
Post subject:  Re: [v1.0.5+] Restart Sustains

Frequently Asked Questions:

How do I use this addon?

The Restart Sustains dialog is bound to <Alt-Shift-S> by default. From there, you can mark or unmark sustains for restart by clicking or dragging them between the "Sustains to restart" and "Other sustains" list. The "Restart Sustains" button will begin a restart of marked sustains, waiting for them to come off cooldown if necessary.

You can also mark or unmark talents from their right-click binding menu as a convenience. In addition, if the "Restart marked sustains while resting" game option is enabled, marked sustains will be restarted while you rest, without needing to use the "Restart Sustains" button.

What's the difference between the "Restart Sustains" button and resting to restart sustains?

[For notational convenience, we will refer below to using the "Restart Sustains" button from the Restart Sustains dialog to restart marked sustains as "manual mode", and to restarting marked sustains while resting as "auto mode".]

  • Well, first and most obviously, if you don't have the "Restart marked sustains while resting" game option enabled, auto mode won't restart marked sustains. :wink: In addition, auto mode will not restart marked sustains if you have any active sustains with the confirm-restart-on-active flag; you will get a log message in this case notifying you of this. Manual mode in this case will present a confirmation dialog before beginning the restart.
  • In manual mode, you will stop resting as soon as all your marked sustains have been reactivated, even if your life and resources are not fully restored. In auto mode, you will continue to rest for the normal duration, plus any extra time needed to restart marked sustains.
  • In manual mode, if you have been resting for more than 50 turns and some of your marked sustains are still inactive, the addon will assume something is wrong and abort resting. In auto mode, this will not happen until the game has also exhausted its other reasons to continue resting (usually life/resources not yet restored).
  • Both modes will stop for all the usual things that interrupt resting, like hostiles becoming visible. And although digging does use the resting infrastructure internally, it does not count as resting for purposes of auto mode; We Apologize for the Inconvenience.™

Page 1 of 2 All times are UTC
Powered by phpBB® Forum Software © phpBB Group