attickdoor / MOActionPlugin

Dalamud plugin to allow for macro-less use of mouseover actions.
GNU General Public License v3.0
51 stars 57 forks source link

Handling of Unlearned Abilities #9

Open n30na opened 4 years ago

n30na commented 4 years ago

I'm aware this isn't really the intended use case of this plugin, but it would help my narrow silly use case if unlearned abilities were handled differently. What I'm trying to do (and can do, clunkily, with a macro) is basically as levelling SCH put Ruin I and Ruin II on the same button, so that Ruin I is cast if I'm synced too low to use II. I am aware this is kind of silly, but my neurosis wants to save the bar space anyway.

As is, it seems like any stack with an ability that's currently "unlearned" due to being synced to a lower level just fails immediately upon hitting that ability in the stack, instead of just seing it as a normal . So Ruin II being uncastable blocks Ruin I from being tried.

I'd appreciate it if moaction would just skip over unlearned abilities in a stack, or something similar, if possible. I'm fine with the "base" ability needing to be learned, as I could see that being a technical limitation, this is just about stack behavior.

image

attickdoor commented 3 years ago

Do actual macros do this? I'm pretty okay with not supporting this feature, but if they do do it I suppose I can think about it. It's such a niche edge case that I'm leaning towards "deal with it".

chrismwhite commented 3 years ago

I would not say this is a niche edge case. I would say that as healers, we would want to be able to keep our gcd rolling whether coming off just healing someone without losing time changing targets. The game handles adjusting the in game ability automatically, but lose that when choosing to macro this. Since using a macro restricts it to that ability itself. What might help make this easier is a mapping of what levels abilities become available if you have character level data available. So when Ruin 2 is chosen, it will auto adjust to Ruin, and only when Ruin 2 is not available. This would also reduce macro to 2 lines.

DenL commented 3 years ago

Definitly not a niche edge case. Doing roulette syncs you down a lot of the time. The whole point of having a stack system is to be able to do things like this (e.g. mapping different ranks to one button) If we have stack entries fail when target is out of range, having it fail when action is unlearned shoudn't be out of the question.