I'd guess, from the name, that it allows us to use a custom DLL in place of the existing one, which is an obvious prelude to true DLL modding. But since we don't have the tools yet to MAKE a DLL, it doesn't do anything for us yet.
What if you make a promotion that makes mind worms, etc. weak to gunpower and other older units, and strong vs. energy units, etc.
I'd thought of that, but it's not the same. If the Psi unit has a strength of 40, and it's facing a unit of strength 30 and a unit of strength 50, both of which share the same combat class, I want it to shift to 30 when fighting the weak one and 50 when fighting the strong one. So you might think, okay, make a type-specific -25% penalty when fighting the 30 and a +25% when fighting the 50. But I also want it to adjust to equality when fighitng a 35 or a 45, AND I want it to cap at +/-25% when fighting something below 30 or above 50.
So that means making a really, really long list of modifiers for every single unit it can face, tying each of these to a promotion for that unit. Sure, I can leave it as -25% when facing anything of type Archer or Melee, since those'll be long gone, and I can put all Titans at +25% for the Mind Worm. But units in type Gunpowder, Energy, Armor, etc. will all need unit-by-unit adjustments if I want to maintain the full flexibility of the old system. There are three problems with this:
1> It means I need one custom promotion for each Psi unit, since the modifiers for the Mind Worm won't be the same as for the Nessus Worm. (There are five types of psi units, not counting the "Wild" variants the Barbarians use.) Since I'm already running right up against the promotion cap, adding another four promotions is not a good idea.
2> If someone mods one of the late-game mundane units (like the Modern Armor or Mechanized Infantry), or adds new units of their own (like in the DLC), I'll have problems. Okay, this really only applies to Modern-era units versus a Mind Worm or maybe a Chiron Locust, since the more powerful Psi units can stick with the combat class modifiers, but it's still an issue.
3> While this'd save the Psi units, it wouldn't help the corresponding ability for the Balance Focus in the Mythology mod. For those of you who only care about this particular content mod that might not seem like a big deal, but if I'm going to spend a lot of time fixing something, I'd prefer to fix it all the way.
If they'd even given us a promotion ability for "+x% when fighting a stronger unit", I could make do. But I can't see any combination of type-specific bonuses that'd work well for all Psi units. Now, I could probably find some combination of abilities that fills the same niche as Psi units (some mix of +X% in friendly territory, Hidden Nationality, +X% when attacking, Commando, and so on), but nothing that'd feel close to how Psi units worked in Alpha Centauri.
And is there a way to make an invisible "barbarian camp" spawn under spore towers?
Not really. Barbarian camps can't be placed inside controlled territory, or if they are, they'll be immediately captured; that behavior, as far as I can tell, is hard-coded inside the engine. By the time you get to my future eras, most of the planet should be under control of the players, so most Spore Tower locations would cause this issue. I'd have to place them right at the moment of capture, and as we've already discussed, the combat-trigger events are now not very useful, since with the spore tower dying its structure would be cleared and so I'd have no way to know where to place the camp. Also, the amount of gold you get from a Barbarian camp is fixed in GlobalDefines, while I want the amounts to be substantially higher than that AND scale with era.
I can get around all of this by storing spore tower locations in a soft data structure (like MapModData) and if a tower dies I just compare the remaining spore towers to this list and see which one's now missing. This'd be quite a bit of work, but it can be done. But adding a similar mechanism for all of the other on-death effects I mentioned just wouldn't be practical; I'd have to store location, owner, type, and a full list of promotions for every single unit in the game, on every turn, and scan through the full list to figure out which unit died in each combat. That's the workaround I've figured out, and frankly, the amount of overhead this implies is a bit frightening.