[Starsector Mods][0.95a-RC15] Planetary Shield: Access Control (1.4)

  • Post category:Mods
  • Post comments:0 Comments

“…It also presents a formidable obstacle to any unscheduled transfer of goods or personnel, reducing the odds of Pather terrorists gaining a foothold on the ground… If the colony actually has customs inspectors in the first place, of course.”

This is a mini-mod that changes the mechanics of the planetary shield generator; I found that, with its vanilla implementation, I never actually wanted to use it – so I modified it to address the lack of alternative options for dealing with pather terrorists.

This mod is safe to add to an existing save!  And, yes, you’ll get the new behavior immediately, including on any shields you’ve already built.  (Starsector will display a mod compatibility warning; it is safe to ignore it.)
It is not safe to remove once you’ve added it, but there’s a settings file that lets you swap it back to vanilla behavior if you want to turn it off.  (In the mod folder, open the “wyv_ps_settings.json” file, and on the line with “revertToVanillaShieldBehavior”, edit false to true, and then re-start Starsector.)

The exact changes are:

Spoiler: click to expand
Spoiler
Flat Ground Defense Bonus
A planetary shield is an exceptional defensive benefit for a small colony, restricting the available avenues of attack and allowing existing planetary defenses to be far more effective.  This benefit tapers off for a large colony, however; it’s still useful, certainly, but when your ground batteries already have comprehensive coverage patterns, the addition of a shield is less dramatic.

  • Game Mechanics: Provides +100 ground defense strength, with an additional +50 for improvement or installing an alpha core, instead of the vanilla multipliers.  Note that the flat bonus is multiplied by the normal bonuses from, say, Heavy Batteries; if you want a high planetary defense strength, build both rather than relying solely on either.
  • Gameplay Justification: This change makes the shield generator actually useful for defense on even a size three colony, while being less overpowering for a size six colony.

Reduced Terrorist Risk For Non-Freeport Colonies
Restricting surface access to specific places and times makes it difficult to avoid cargo inspections – at least, if your colony bothers to employ customs officials in the first place.  The upshot is that – as long as your planet isn’t a free port – it is much more difficult for Pather terrorists to establish or maintain a presence on the ground.  …Of course, give them enough motivation, and they’ll find ways around even these restrictions.

  • Game Mechanics: The shield generator reduces “pather interest” values by -10 for the base installation, and an additional -10 for improvement or -30 from an alpha core.  The intent is that the shield generator offers some protection from Pather cells, but that it does not offer free reign to just build everything or install all the alpha cores ever.  Please also note that what level of pather interest triggers cell formation can vary with installed mods; there’s a limit to the number of active cells, and if you have a large number of faction mods you can get away with more than you could in vanilla.
  • Gameplay Justification: There is, in vanilla, no real recourse to dealing with Pathers other than to periodically go and smash their stations.  This adds an alternative option to do so – albeit at a price, as restricting the use of the free port toggle reduces profitability and colony growth.
  • Known Issues: Negative pather interest values won’t be displayed in the tooltips for pather cells. The shield generator’s effects still apply, however – and are shown in its own tooltip.

Reduced Hazard Rating For Colonies With Meteor Impacts
A planetary shield offers a near-total defense against incoming asteroids.  Of course, on a planet subjected to regular bombardment, it would be foolish to relax the building codes and rely solely on a shielding system that could fail… or be sabotaged.

  • Game mechanics: -25% hazard rating for worlds with the “meteor impacts” condition, offsetting exactly half of that condition’s +50% hazard rating penalty.
  • Gameplay justification: None.  This one’s purely here because it makes lore-sense to me.

Changelog:

  • 1.4
    • Fixed a bug where the combination of Nexerelin random mode and the Industrial Evolution mod caused PS:AC to crash with a null pointer exception.
  • 1.3
    • Updated mod for 0.95.
    • Removed accessibility and growth penalties.
  • 1.2
    • Fixed a bug where, on the initial install of the mod, any AI cores already installed in shield generators would be destroyed.
    • Fixed a bug where, on mod install in Starsector 0.9.1, all under-construction shield generators would be instantly completed; as a side-effect, this mod is no longer compatible with Starsector 0.9.
    • Fixed a bug where the shield generator would apply its penalty to colony growth even when disrupted, under construction, or toggled back to vanilla behavior.
    • Removed the x1.2 defense strength multiplier, leaving just the flat value boost.
  • 1.1
    • Fixed the planetary shield blueprint’s description.

Credits:

  • SafariJohn, Retry, & Mesotronik: provided the initial ideas for the mod’s secondary effects.
  • FutureMunk: asked for the mod to be updated to 0.95, without which prompting I probably wouldn’t have bothered.

Nice. Will download and try out. Thanks for the hard work.

This is kinda must have to me! Though with upcoming changes to the pather cells interest, there might be need of some adjustments. However, unless Alex changes the planetary shields – this mod is kinda a must.

It’s especially useful to quietly send people off from a tech-mining colony once it grew out it’s usefulness.


Thanks for the kind words!

Yeah, I expect I’ll need to rebalance a bit come 0.9.1, but I’ll worry about that when we get there.


Especially good job on balancing the shield. A result like this looks far better than vanilla’s 144k+ def strength I would have with x4,5 modificator 😡

It’s a nice balance since it does make shields usable on small outposts (for a heavy price in growth) we want to protect without absolutely killing the need for anything more than one other defensive industry on a size 10 planet. So I think you’ve got this absolutely right.

And it indeed does help with pathers a little. Though they seem to be still active despite being 0.43% on a size 10 xD


Well, let’s see here – pather interest values for the planet you posted:

Spoiler: click to expand
Spoiler
4 alpha cores (excluding the one in the shield generator): +16
7 beta cores: +14
orbital works: +2
fuel production w/ synchrotron: +6
planetary shield generator w/ alpha core: -30

Total pather interest value: +8, which is quite enough to spark pather cells.

I’d suggest removing the beta cores from Farming, Waystation, Commerce, and Population & Infrastructure; that should be enough to make the pathers go away.


One thing I noticed is that the blueprint description is bugged, kinda.
Looks like you set the description for the shield via scripts (really neat btw), which seems to not want to work for the blueprint? Would be my guess.

Either way, like the idea. Looking forward to trying this out!


Oh, hm.  Yeah, I’ll take a look at that and see what I can do – I don’t think I even looked at the blueprint description while I was testing the mod.  Oops.

Version 1.1 released: fixed up the planetary shield blueprint description.

The delay was me trying to find a way to make the blueprint’s description vary the way the industry does – but I don’t have any good answers to that, and ended up just putting back in the vanilla description for the blueprint.  It’s not ideal, but it’ll do.

I’ve also been considering some balance adjustments; while I think the mod works well for vanilla or vanilla + faction mods, it doesn’t mesh well with Nexerelin.  For one thing, Nexerelin agents are a vastly cheaper way to remove pather cells.  For another, there’s no need to worry about keeping a colony at size three, since Nexerelin allows you to transfer colonies to other factions.  Maybe I should just have it detect if Nex is loaded, and if so, disable the accessibility and growth penalties?  Haven’t come to a decision on this yet; if anyone else has any ideas, please don’t hesitate to make a suggestion.


Nexerelin’s way of removing pather cells is sure nice, but not always works. Also, the spies deal with the problem once it’s already on the planet – established and possibly entrenched. Your mod however was making it harder for them to establish a cell in the first place. And in general I think your changes were well thought out across the board.

I’ll have to think about it, but if I could suggest (though we don’t know the release date yet) waiting for 0.9.1 to drop? I’d would wait to see what the changes are first and how the new colony dynamic flows before making any drastic overhauls like that?


I’m using this with Nexerelin and I like it just fine. This provides a passive way to prevent cell problems while agents you have to chase down and crush the cells over and over. I have to sacrifice lots of money but it saves me a lot of hassle in the end. Once you have a lot of colonies the access loss means less as you can control a lot more of the market.

Since the No Atmosphere condition mentions micrometeorites and a slow drizzle of radiation, I’d think a planetary shield would provide some hazard mitigation for the No Atmosphere and Thin Atmosphere modifiers; Perhaps 10 and 5% respectively. Also, you’d think a giant glowing shield might reduce the effect of the Low Light and No Light hazards.

An aside about hazards. One thing that always bothered me is that money that goes into hazards just disappears. There’s no increased demand for specific goods that, aside from hazard pay, would go into such endeavors. For instance: The High Gravity trait mentions powered exoskeletons for mundane tasks; Shouldn’t that be reflected in all the industries? Basically the High Gravity modifier should add bonus demand for heavy machinery to every job, even population and infrastructure.  This would make all heavy industry even heavier and even simple habitation have a demand for heavy machinery. Similar things like increased demand for organics on cold worlds to provide for heat (simple combustion), increased demand for consumer goods or cloned organs on planets with Inimical Biosphere (consumer goods meaning medicines, insecticides, disinfectants, and so on) and demand for volatiles on hot worlds to make coolants.


Changed the listed support level in the original post to 0.9.1 (rather than just 0.9) – while I’ve made no changes to the mod itself, it seems to function just fine in the latest version of Starsector.

So uhh, about “removing” mod. It seems that one of the downsides that comes from new version of the planetary shield just came here to stay – description of planetary reverted back to normal, accesability decrease dissapeared, but -10 growth rate is still present, and you can see that in “Growth rate” tooltip.

Whoops, you’re right.  I don’t have time to do a full release right now, but if you go into the mod, and open up PlanetaryShield.java (under data/scripts/wyv), and find the four lines towards the end that start with “//” – delete the slashes (leaving the rest of the lines alone), and it should then work properly.

Apparently I commented those lines out during testing to make sure the growth rate modifier worked, and, uh, never actually un-commented them.


Whoops, you’re right.  I don’t have time to do a full release right now, but if you go into the mod, and open up PlanetaryShield.java (under data/scripts/wyv), and find the four lines towards the end that start with “//” – delete the slashes (leaving the rest of the lines alone), and it should then work properly.

Apparently I commented those lines out during testing to make sure the growth rate modifier worked, and, uh, never actually un-commented them.

I understand. Just wanted to report something i found. Anyway, got it.
Also had some good time reading this :D

Code
return -9f + super.getPatherInterest(); // why you'd install a beta or gamma core in a planetary shield generator I don't know, but we should account for it anyway.

Leave a Reply