Auto-translated
No, I know animations for maps very well. In the hero's army. For example, according to the plot, the main hero, a Knight, before entering the lands of the Dwarves, where there is snow, orders all the horses to be released because there will be nothing for them to eat. And all the Knights of Isabel become zealots.
I don't know how correct this is; I'm not an expert in this, but as far as I'm concerned, there's an option using GerHeroCreatures.
if GetHeroCreatures("hero", Knights of Isabel); == 10 then
RemoveHeroCreatures("hero", Knights of Isabel, 10);
AddHeroCreatures("hero", Zealots, 10);
elseif GetHeroCreatures("hero", Knights of Isabel); == 9 then
RemoveHeroCreatures("hero", Knights of Isabel, 9);
AddHeroCreatures("hero", Zealots, 9);
And so on, from the starting number of Knights down to 1. I don't have any more ideas. It's better to wait for advice from more experienced script writers.