Из хэлпа по изменениям в Эре 1.8. А так верно идёшь, находишь триггер !?HE ZVS, там он генерит событие в зависимости от нового героя. Ищешь, в каких регистрах герой-источник, герой-приёмник и пишешь свою реализацию. Код из Эры:
Code:
PROCEDURE Hook_HeroesMeet_Call; ASSEMBLER; {$FRAME-}
ASM
// Если триггер - !?OB, то возвращаемся
CMP DWORD [EBP+$1C], 34
JNE @@Exit
// Получаем номер героя-инициатора
MOV EAX, [$69CCFC]
MOV EAX, [EAX+4]
MOV DWORD [General.EventParams], EAX
// Получаем номер цели
LEA ECX, [ECX-30100]
MOV DWORD [General.EventParams+4], ECX
// Генерируем ЕРМ-событие
PUSHAD
PUSH General.C_ERA_EVENT_HEROMEET
CALL General.GenerateCustomErmEvent
POPAD
// Возвращаем управление ZVS
@@Exit:
PUSH $74D760
PUSH $74C816
END; // .procedure Hook_HeroesMeet_Call