TIMED SPELL EFFECT
IMPORT GUIDE :
[Patch 1.31+ is needed to access test map]
1. Copy the TimedSpellEffect folder in the test map
2. Configure the TSEConfig trigger
3. To utilize the system, refer to the test map Effect triggers for examples
SYSTEM INFORMATION :
This system is meant to ease the pain of working with special effects that are time tied because they are annoying to code in GUI. Sorry, super annoying to code.
With this system, users only have to provide the parameters and let the system handle the effects without any further issues down the line.
I'll be honest, I might not do my homework properly but as far as I am aware, no system in GUI or GUI-Friendly line that has handled Special Effect when we need it the most. I also tried the new time native, but it does not seem to function properly from my tests. This system can be easily replicated in any Warcraft 3 patch since it is written without the new natives.
Dynamic Indexing is used to allow multiple effects under one user. I have considered Unit Indexer and Hashtables approach, the first is difficult when working with the same unit multiple effects, while the latter is less on my taste and I feel the need to work with multiple data types, and casting them around is not a fun way to code. This comes with one disadvantage: it is difficult to retrieve the index of units affected by the spell effect easily, which is relevant for complex spells or spells that are not unit bound but position bound.
MEDIA SHOWCASE :
Patch 20: Added support for channeled spell effects by capturing the ability's orderID. More examples are provided in the test map.
Patch 11: Added scaling ability, removed the Jass variant since it's just bloat the code like crazy (and making it hard to maintain)
Patch 10: Added an extension to support location (I find this needed for an ability idea)
Patch 2: Switched to 1.31 to increase accessibility
Patch 1: Released
Bow Enhancement - @Mythic