Open mason-bially opened 2 years ago
I think most of the *MacroData
interfaces could be moved into their relevant macro files. Most of them are never invoked outside of their prepare*Macro
/ roll*Macro
pairs, and when they are those pairs are being imported anyway.
Okay so NPCs don't have activation chips. They have tags that say "quick action" (and tags can be dragged, though we should probably reject putting them on the hot bar).
So currently the prepareItemMacro
leads to some weird behavior on the hot bar. Consider this scenario:
I think the last two cases are in need of massaging if the second is going to be an intended feature.
It's possible this is a scenario where automation settings might be useful in determining the outcome (re: automation feature off, always actor A, automation feature on, 4 different outcomes (of which 2 I imagine would be error messages)).
So where I am thinking is limiting the space of public macros to this:
prepareActivationMacro
for activation chips and calling specific actions on thingsprepareItemMacro
for item references directly
prepareDisplayMacro
prepareActionMacro
for more general triggering of action economy and flow
prepareStatMacro
should probably remain (oh hey, contested rolls at some point) with perhaps a generic prepareBasicAttackMacro
that can be clicked as well to perform attacks (melee/ranged/tech).
In theory these should be all the public facing macros that would be required (e.g. generated hot bar macros, custom user macros, and token action HUD), besides some for like "full repair" and "short rest".
From there letting users access various pieces of the internal macro functionality (stabilize, take structure, take stress) can be more "internal and subject to change".
Work left to do since PR #375 got merged:
This is a tracking issue for macro cleanup and de-duplication that can be done to improve macro code readability and understand-ability.
As an example of what this is aimed to fix:
prepareActivationMacro
dispatches from chipsprepareItemMacro
dispatches from the item sheetsrollSystemMacro
Related issues:
371 An issue for tracking macro renames and their depreciation.
370 what originally kicked this off, rearranging the macros into files for improved readability.
357 deals with activation chips for mechs.