Here's an idea! During a siege, if a hero's morale is negative or less than 3, their morale increases by three in any case, meaning if a hero has -5 morale, it becomes -2 during a siege. The same applies to units.
It's better this way - if a hero has negative morale, that negative morale is canceled out! :)
Нет невежества - есть Знание