Yeah I tested on training dummies, which meant always 100ms.
I forgot back in 2014 when they delayed spell_cast_success to happen at the same time as spell_aura_applied, which was in fact to prevent scripters (but you could still [harm]). There might still be a delay on spell_cast_success(the combat log event), idk why they keep changing **** like this, 150ms on all spells/abilities(casted on other players) would be fine imo.
And I keep getting mixed results now with blind and sap in arena, 100-200ms, might have been because of server instability though.
also it's the event UNIT_SPELLCAST_SUCCEEDED for cast-time spells, it's not hidden to prevent scripts.
Code:
local function HandleSpellCastSucceeded()
if event == "UNIT_SPELLCAST_SUCCEEDED" then
print(GetTime(), arg2)
elseif arg2 == "SPELL_CAST_SUCCESS" then
print(GetTime(), arg2, arg4, arg10)
elseif arg2 == "SPELL_AURA_APPLIED" then
print(GetTime(), arg2, arg7, arg10)
end
end
if not f then
local f=CreateFrame("Frame","f")
end
f:UnregisterAllEvents()
f:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
f:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
f:SetScript("OnEvent", function() HandleSpellCastSucceeded() end)