Ваш код выполняется только на старте карты. Соответственно, вам нужно вешать триггер не только на старте, но и по появлении героя:
function UpdateHeroSpecs(hero)
if hero == 'Isolda' then
Trigger(HERO_LEVELUP_TRIGGER, hero, 'IsoldaSpec')
elseif hero == 'AnotherHero' then
--...
else
--...
end
end
for pl = PLAYER_1, PLAYER_8 do
if GetPlayerState(pl) == PLAYER_ACTIVE then
Trigger(PLAYER_ADD_HERO_TRIGGER, pl, 'UpdateHeroSpecs')
end
end