GSE: Sequences, Variables, Macros

GSE: Sequences, Variables, Macros

7M Downloads

Smart Versions Based on Talents?

Darkmanz opened this issue · 12 comments

commented

First I'd like to say I'm not a fan of the "Versions" description. To me they are not versions in the traditional coding sense. Instead they are more Alternate Models. To archive previous iterations with this method bloats the macro, and for me I find it cleaner to just manage my versions in Notepad. I'd love to see a better system for storing and naming versions, but that's not really the topic of this.
One of the things that I struggle with when I write a macro is how to handle Talent swaps and or Legendary swaps. Often times for Talent swaps I can write in conditionals to account for the swaps, but it gets very murky on some class/builds when the rotation becomes alltogether different (I'm looking at you BoS Deathknight vs Oblit). It would be cleaner if I could just write a new version for each build/legendary combination and then have front end conditionals that swaps versions much like you do with the "Default/Dungeon/Raid/PVP" conditionals.
Is this possible or something that you would be interested in considering?

commented

Hi TL- Sorry its been awhile since I have commented here. I'm wondering if this is still something that you are thinking about? I am growing increasingly frustrated in maintaining some of the macros that I have written. Especially (currently) my Feral setup. Much like Frost DK at the time of my original posting of this question, Feral has a ton of viable talent selections based on content, gear, or just personal preference. I am finding myself at a crossroads trying to map out the best way forward in my approach to writing the macro(s). My current effort includes something similar to the example of the frost DK that I mentioned above where I include/exclude /cast lines based on [conditionals] (talent choices), But there are certain hindrances in this approach that affect performance. I know that I can make a more efficient macro if I can just focus on a specific set of talents for that one instance but I don't want a bunch of single macros floating around for each setup, and I'm not sure how efficient it is to make different versions within the macro that the user has to change fight to fight.
I'm contemplating a complete re-write of my Feral macro yet again, but I'm struggling with what I want the foundation of it to look like. If this is still something that you are considering implementing I'll hold off and see what comes.

commented

Hi Dark

Due to the changes in BfA I'm not going to do this. Its complicated but its achievable within what is currently there.

commented

In GSE1 versions were like you described but people were not actively cleaning up and one case there were 184 iterative versions of the same macro. I wanted to simplify this but also allow for different configurable versions.

It is something that I have been thinking about. The move to swap the Help Line to a structured Talents line in 2.0 was a step towards this. I think in the future I need to move the talents or at least allow the MacroVersion to overwrite these. The issue isn't here. the issue is that swapping talents requires a consumable so should the macro initiate the talent swap or should it passively monitor talent changes and change the macro configuration version based on the talent set active.

If its the first case of using the consumable that can be costly but is easy to implement. The latter is a lot harder to implement but is a better experience for the player as they are still making the choice to change their talents but they need to know what they are changing their talents into first hence back to the first case.

In short it is something I ma considering but I want to make sure the user experience isnt more complicated than what we have now.

I have achieved this with a bar swap. On one bar i have the macros for Oblit (and the other spells for keys 3 to = ) and on the other bar I have BoS. When I swap talents I also just rotate the bottom bar and my macros are in the same places as their alternatives.

commented
commented

I am happy yo hear that you have already put thought into this. Your comments make alot of sense and seem very well thought out. For me personally I'd like to see it just monitor the talents and allow the user to manually choose. But I also understand the pit falls that you described. One of my factors for requesting such a feature is that I am running out of "in-game" available macro slots on my Druid. I have 4-5 (sometimes more) macros per spec and it starts becoming an issue along with my already existing in game macros that are not related to GSE. I am to the point where I need to Delete icons or disable them frequently to make room.

commented

I think perhaps you underestimate my love for creating macros! :P Between my own in game macros and other addons like Vuhdu needing macro slots I tend to run low. especially on classes like Druid with 4 specs. Really though I'd just really like to be able to write a new "model/version" based on a specifc talent selection without having to through the pain of needing to add conditions to nearly every other line in the macro to get the sequencing correct. as it stands now I generally go through and write a section for a specific spec and attach [talent:x/x] conditions and separate that section with a --comment this is for X Talent. and then write a new section again separated by --comment for a different talent selection. it gets messy sometimes. It would be really cool if you could put a check in that checks for a specific talent selection and then automatically paths the macro to the related version. again similar to the way you have it toggle to different versions based on group, nogroup, default and PVP.

I'm not exactly sure how to pull this off. The user/or author of the macro would need to map out the pathing somehow based on what Version they want it to go to depending on a specific talent.

I don't know if all of this is coming across the way I want it explained but maybe this example will help. If you take a Frost Death Knight there are basically 3 very distinct and very different builds. Oblit/Howling Blast, Oblit/Frost Scythe, and Breath of sindragosa. There are variations of each but those variations could easily be handled within one model but it would be nice to have 3 distinctly different models driven by specific talents selected or not selected i.e. [notalent:6/1, notalent:7/2]=Oblit/Howling Blast, [talent:6/1]=Oblit/Frost Scythe, and [talent:7/2]=Breath of Sindragosa

commented

Thinking through this a bit further this the idea is achievable. I can hook talent changes and rebuild the macro based on the change. I can add a talent override to a version but would that be enough? The question is how would the user configure this? How do we present this without overcomplicating and already massive GUI?

In the current set when you zone it looks at the configuration metadata and uses that to determine which version of the macro to execute. Could we extend this part of the screen to include multiple "Talent Patterns" i.e. ?,1/3,2,2,2,2,1=2 1,1,1,1,1,1,1=3

commented

lets plan this for 2.2 - the next release after the 7.3 release

commented

Other question is should the combination be also talents or PVP/Party/Raid? i.e. you can be talent based or location based?

SHould it be both talents and location?

Should it look for talents first then location or location then talents?

commented

I admit that this is a deep rabbit hole and the question is how deep should it go. Thinking through the pitfalls one of the problems that I see is as you said "how to present this without complicating it?". The driving Talent for each class and spec is wildly different and in some cases its not the talent chosen as much as the talent not chosen. Using my DK example all talents outside of Frost Scythe and Breath of Sindragosa are irrelevant to the basic way each build works (some talents make slight variants but not so much that I would say to have a separate version for those). in this example it all revolves around those 2 very specific talents. I don;t know exactly how to relay this information and make it simple to be honest but I will put some thought into it and let you know what I come up with.

commented

I'm going to post the Frost DK macro that I am currently using on the forums. Maybe you can take a look at it to come up with some ideas. you should be able to see how I am currently handling various talent selections and why I am asking for this.
Disclaimer though and I will deliver the same message in the thread is that none of the macro is mine, it is a mashup of other authors macros that I have assembled into one usable macro based on talents, the only part that is mine are the conditions added to the beginning lines and maybe a couple of personal preference changes. I've been reluctant to post it because I don;t generally like to republish other others work, but I think that it may open some eyes as to what is really possible.