SamSuka
hekili
hekili

patreon


Goals for Battle for Azeroth

Hey everybody!  I just wanted to get a brief post out to y'all that has some updates with regard to what my priorities are in preparation for Battle for Azeroth.  I want to have all the major feature changes locked in by July 17, as I am anticipating that the BfA pre-patch will hit around that time.  I'm pretty confident that everything that needs to get done will get done, but I also want to make sure that several shiny few features are available by that time.

First, the rag-tag display system is going to be pruned.  The addon will natively support up to four displays for specs that need them, and they will be shared between specs.  The four displays will be Primary, AOE, Defensives and Interrupts.  By baking them into the addon, it is easier to keep one profile for all of your characters that has the same style, with any per-specialization customization available within those settings.  My goal is to autoconvert old displays into style templates that you can choose to apply on a per-specialization basis if you want.

Unless you customize your display layout very differently for each spec that you play, you should find the above plan to be pretty helpful.  And if you do layout your specs differently, you'll still be able to do that, so that's fine, too.

Second, the individually-numbered action list system is going away.  Instead, action lists will be deployed in Packages that can be more easily shared.  A package will include all default action lists for a support specialization, but also have a little more room for descriptive information, date created, source (if received from someone who has written a custom package), etc.  This makes action lists more easily customized and more easily shareable.  You'll be able to see if the current package was built based off of SimulationCraft in April, but the SimulationCraft profile has been updated in May.  Then, you can say to yourself, "I should yell at Hekili or just import the newer profile for myself."

On that note, the third point is that some of the automatic conversion that takes place with imported action lists is going to be moved behind the scenes.  For instance, SimulationCraft APLs are able to reference your current mana simply as mana.  In WoW, because mana is a table of information related to your mana, I have autoconverted mana to mana.current in imported action lists.  Instead of converting this on the user side of things, I will make this conversion take place when your action lists are compiled for use in-game.  There are other examples of keywords that get autoconverted or are unsupported and pruned.  For instance, all raid_events are ignored because it would require building a bossmod for every encounter and creeps too close to automation for my comfort.  Instead of auto-pruning these, I'll have the addon's engine simply assume that there are no events coming up -- it's still your responsibility as a player to decide about holding cooldowns or using AOE, etc.

Why does any of that autoconversion stuff matter?  The less manual conversion that the addon tries to do for you (and sometimes fails, leaving you to clean it up), the easier it is to let you do your own importing from SimulationCraft when you want the latest cutting edge profiles and you want them now because gosh darn it, you heard it does 0.3% more damage vs. Patchwerk and this is what's going to get you your MOTHER kill in Uldir.  Or whatever.  I want to make it easier for you to do these things, if you want, and conveniently make it easier for me to maintain things as well, which I want.

Fourth, the options interface will have to change significantly to support some of these changes.  For instance, how to identify targets is really different based on specialization or even what ability you're using.  For a melee class, relying on nameplates to see what is actually close to you has worked well and is really reliable.  For ranged specs, keeping track of what you've hit recently works well, but then you have to deal with enemies you've hit scattering to different sides of a room and then they can no longer be hit at the same time.  The new options interface will have target detection and other key features configurable on a per-specialization basis, and are likely to have more elaborate options as well.

Fifth, I want to support all tank and DPS specs in BfA.  With artifacts being retired and azerite powers being more reasonable in number and effect, it becomes much, much easier to generate a basic framework for a specialization and then do all the scripting related to each ability.  While I can't simply automate the process -- I have to script each ability, teaching the addon what happens when you use Kill Command, for example, so it knows what your character's situation will look like afterward.

Sixth, each specialization will be separated out into its own file.  Right now, each supported class has its own file and sometimes specializations have to share abilities or buffs/debuffs, even if they are significantly different between specializations.  Right now, these abilities have to have extra conditions written in to make sure you get the right effects from the right specialization, and it's an area where it's been easy to make mistakes.  With that in mind, the addon will load information for each supported specialization for your current class, but the database will treat abilities and auras differently for each spec.

I know you're saying: "Wow, Hekili, I'm really excited that you're reorganizing files in your addon, that's something that is totally relevant to me as a player."  You're right, it is kinda silly.  But it also makes it easier for community volunteers to step up and help with maintaining some of the specialization profiles.  Wouldn't it be great if the module for Elemental were kept up to date by one of the top Elemental theorycrafters?  Yeah, I think so, too.  And by putting Elemental (or any spec) in its own sandbox, experts can step in and contribute without feeling like they're risking blowing up another specialization for the same class.

Last, I am working to make some of the addon engine features to be a little more robust, while also making it easier to turn them off and ignore them.  For instance, when you play Windwalker, you may want to build Mark of the Crane stacks on multiple high health enemies.  The addon, right now, can tell you that you should switch targets but it can't tell you which target you should go to.  Wouldn't it be better if it could mark the nameplate that you should swap to?  Or, if you hate that, wouldn't it be nice to tell the addon to not tell you to swap targets because you're a boss tunneling Enhancement Shaman and ain't nobody gonna tell you who to Stormstrike?  That's another goal.

So that's where things are, for now.  Since one of the major goals is to change how specializations are loaded into the addon, I'm not in a hurry to add specializations for the beta until that part is complete.  So that's the priority.  I'll do a better job of keeping y'all updated.

Thanks again for your support and patronage and rare violent threats!  More soon!

Comments

Playing on the beta recently has made me realize how much I rely on the addon and what a difference it makes in making some classes enjoyable or not. Can't wait to try out those new features and hope some of the specs will be somewhat integrated already by the time the pre-patch hits the live servers.

Alvi

This all sounds pretty fantastic

djthomp


More Creators