Okay, let's approach it from another angle: the creatures in a hero's army are automatically replaced with upgraded versions, and he constantly moves around with them. They only revert to their original forms when encountering their own hero for an exchange. Wouldn't it be much easier to intercept this process? :)
If you're using NCF, for example, you need to create a necromantic table (raising creatures through necromancy) and so on. Some files will overlap. There was also an idea to rebalance NCF and merge it into a single project - EV. But there isn't enough time for rebalancing. I would remove about 70% of the creatures from it. But then it wouldn't be compatible with the original NCF either.