Send the object rather than the frame, woopsie. it passed every test i threw at it though. Fixed non mythic timers for hammer and scythe on painsmith, they were nerfed at some point and wasn't reported til now. no functionality change, just tidyness one Bail out of executeMarking on expired scans ( #16). Fixed some bugs that were found when doing above such as impoper use of self in BossUnitTargetScannerAbort method that have probably been broken for quite some time. Moved all target scaning functions out of core and did tons of code tidying and optimizing. Moved local group sort function into more efficient placement.
Decided to mod naming after all for unified structure between modules, since that is effectively what bossModPrototype is. these tables can now be local in each module and auto cleaned up when this cleanup function is called. Added a function to perform cleanup on EndCombat that allows sub modules to store more tables locally and avoid fillingg private up with a bunch of tables that are literally temp storage. fixed bugs in unit target scanner, other ones not tested yet. Seems even non scheduled functions inhert mod automatically from mystery location. Split dev tools into their own module, moving 2 more event registers out of core that don't need to be registered all the time. Work on fixing some load error problems. Module RegisterEvents supports unitID's. Update icons and target scanning to work with last commit. Optimise use cases of sub calling :len(). Fix wrong spell ID on Touch of Slime ( #687).
Fix a tiny bug that has apparently been there a while, where custom onmodupdate scheduler could still start scheduler even if it failed to provide a function, since no mods obviously do that (it'd have to be broken), this bug was never caught. This got reverted by mistake, fix lua error. Optiimze the custom onupdate handler for sub mods to better cache zone Id by inteligently letting core change it only when it actually changes.