Use SetScript instead of HookScript

it seems Blizzard changed how HookScript functions
if now fails silently when no handler of the passed type exists