So, question about generating a potential Lua replacement for spellcast on Windower (lets call it GearSwap for the purposes of this post). How attached are people to the misuse of precast/midcast/aftercast delays?
What I'm thinking is:
Code:
1) Player Attempts a command
2) GearSwap catches/cancels it
3) If a precast set exists (precast or midcast set for abilities)
a) GearSwap swaps to the precast set - Outgoing Equip packets are sent
b) GearSwap confirms the gear change if one was expected - Incoming Equip packets are received
4) GearSwap inputs the command
5) Command is parroted back to the client - This would be the "casting" or "readies" message for spells/weapon skills/ranged attacks. Abilities would execute/fail now (Skip to 7). In the event of a WS or spell failure (not enough TP / you're silenced!), this would be the corresponding error message and you would also skip to 7.
6) If a midcast set exists (for spells, weapon skills, or ranged attacks)
a) GearSwap swaps to the midcast set (if one exists) - Outgoing Equip packets are sent
b) ---Unnecessary--- GearSwap confirms the gear change if one was expected - Incoming Equip packets are received
7) Action executes or fails and the corresponding action packet is received by the client
8) If an aftercast set exists:
a) Gearswap swaps to the aftercast set - Outgoing Equip packets are sent
b) ---Unnecessary--- GearSwap confirms the gear change if one was expected - Incoming Equip packets are received
This would be 100% accurate, sensitive to spell/ability failures, and (in my opinion) a vast improvement over what we currently have. It also eliminates the need for user defined precast/midcast/aftercast delays. However, people occasionally abuse these delays for reasons that are ultimately useful.
Is switching to this control scheme and ignoring pre/mid/aftercasts okay? Is there a reason to not use this scheme in preference to some other one?