This brings back some memories for me and I am not sure I fully resolved it, but … I also found this line in my spells.2da with entry: Althea_Activate_Instant_Cast that suggests I may have … but …
All entries are then either **** or 0 except Usertype = 3 and the script fired is this: alb_S3_ActItem01
object oMod = GetModule();
object oItem = GetSpellCastItem();
object oTarget = GetSpellTargetObject();
location lLocal = GetSpellTargetLocation();
object oPC = GetItemPossessor(oItem);
// THIS ACTIVATES THE ITEM, WHICH FIRES THE ASSOCIATED SCRIPT FOR ACTIVATION
SignalEvent(oMod, EventActivateItem(oItem, lLocal, oTarget));
// SO THIS IS NOT REQUIRED.
//AssignCommand(oPC, ExecuteScript("alb_scr_cryreson", oPC));
The item that uses this property has item hook script. i.e. The item tag is/fires the script required.
So, whether I did resolve it and if this is similar to what you need, I don’t know, but it may be worth a try. I will also try to find the object this was meant for and see what happens when I use it.
UPDATE: OK, I tested one of my own items and it appears to be “instant” enough to me. I am just checking to see if I had to edit some other 2das to get this in the lists. Checked:There is also an entry in my iprp_spells.2da. In testing, the first usage appears relatively instant, but further usage can have the animation kick in. So, there may be a way to improve this if you intend to use the item more than once within quick succession. If a few seconds passes between usage, then it appears fairly “instant”. However, if it is a single use item (or one that will have a few seconds pass between usage) then it seems pretty reliable. 0.5-1.0 sec approx.
EDIT: It is as if the item usage is “instant”, but has a six second cooldown after usage. So, trying to instantly use it again before the six second cooldown and you will see the timer for the previous usage.
In toolset …