Hi snYpir. Good to hear from you again.
Just out of curiosity, what problems does a scripted EH have that a .cpp EH doesn't?
When I was testing .cpp EHs, "Killed" were still translating into "Fired" after a savegame. I assume this will be fixed in the next patch though.
Hmmm... you know through ECP, you could enable child class- and type-based EHs.
I assume that you have a master ECP init script somewhere (perhaps called by an init EH, if it isn't already running).
To that you could add a series of initialization lines:
if (format ["%1", ECPClassFiredHandlers] == "scalar bool array ... ") then {ECPClassFiredhandlers = []}
if (format ["%1", ECPTypeFiredHandlers] == "scalar bool array ... ") then {ECPTypeFiredhandlers = []}
...
Then in the one master EH for each type or class, you could have something like:
;FiredEH
_unit = _this select 0
_type = _typeof _unit
{if ([_unit] counttype (_x select 0)) then {_this call (_x select 1)}} ForEach ECPClassFiredHandlers
{if (_type == (_x select 0)) then {_this call (_x select 1)}} ForEach ECPTypeFiredHandlers
Then if I wanted to add some effect to all Air units, or to say all SoldierWBs, I could do it. Heck, you could even handle default effects this way.
But I'm sure you guys have your hands full