Certain old ability designs I did three years ago, namely slave circuits, fighter tracking, and the passive turret upgrades, were stupid. Really, really stupid. Much grumbling at my stupidity has occurred. Ironclad kinda hosed the planetary shield ability, it's a passive that prioritizes new applications, so all of the passive upgrades I did starting with that file were the same. What they do is continually reapply, racking up hundreds of thousands of entity creates over the course of a game, and taking about as much processing power as a large fleet in the process. In the case if Ironclads oversight, it's a one per planet thing. The downside is minimal. In the case of the turret upgrades, it was catastrophic. The others were just a problem I thought my way around. A ship specific application was not in mind when the ability system was designed. The way I got around it was simple enough, but the method for controlling gain and loss properly was vastly inferior. Some of the more recent moments of brilliance I've had while thinking around more complicated problems for SOA2 yielded major performance gains over my previous stupidity. They keep files in residence, and use combinations of finish conditions to achieve the same results as the old method of short term repeated applications. You can't do OutOfRange as normal, because setting up the trigger to only apply to a specific subset requires a container file to make the target ship itself be last spawner. Once it's not the buff file being applied by the spawning file, OutOfRange no longer works. Once you're stacking multiple copies from multiple sources, you can't cancel it in two stages by using OutOfRange for the container either, because you'll have two ships in range and one of them leaves, but the second ship still holds the conditions true for both end products. Doing both spawner conditions never occured to me when I initially wrote them, so now they cancel out from FirstSpawnerNoLongerHasBuff as well and the problem of duplicates being held is solved. They both behave more accurately to design goals, and more efficiently resource wise.