Stable Foundations

by Dummiez

Buildings and other structures now have improved damage resistance, productivity, speed and efficiency when built over stone and concrete tiles. Can also be used to reinforce vehicles, robots and players as well as adjusting the additional foundation stats to your liking. Highly configurable/mod compatible.

Tweaks
1 year, 2 months ago
1.1 - 2.0
6.57K
Combat Armor Manufacturing Cheats

g For those wanting to use this with Space Exploration in 2.0

a month ago

Go into Space Exploration's rar file, then "scripts", then "beacon.lua". Find the line

local beacon_prototypes = prototypes.get_entity_filtered{{filter="type", type="beacon"}}

And change "beacon" to "bacon"

And then you can have beacons and Stable Foundations all you want.

4 days ago
(updated 4 days ago)

Do note - this fully disables the beacon overload mechanic, and also still actually doesn't work since SE also makes all beacons have 0% effect (using the base game potency scaling) if there is more than one beacon affecting a machine. To keep beacon overload but make it so having a beacon and a foundation on a machine doesn't just nullify both, you can do the following instead:

For that same beacon.lua file in Space Exploration Dragonchampion mentioned, instead of changing the filter line, find the following for loop 3 or 4 lines below that filter one:

for name, prototype in pairs(beacon_prototypes) do
  mapping[name] = prototype.get_supply_area_distance()
end

Then, just put the mapping[name] line in the following if statement:

for name, prototype in pairs(beacon_prototypes) do
  if prototype.get_supply_area_distance() ~= 0 then
    mapping[name] = prototype.get_supply_area_distance()
  end
end

That will make beacon overload ignore any beacon that has 0 distribution range (so would only affect entities it physically overlaps), but still work for normal beacons. The hidden beacon this mod adds has 0 distribution range.

To disable two beacons nullifying each other effects, go to entity.lua in SE's protoypes\phase-3\ folder, and at the very bottom find the line

beacon.profile = {1, 0}

and change it to

beacon.profile = {1, 1}

Since we left beacon overload on via scripts, it doesn't matter that technically would make 2 beacons hit a thing for double effect, since that would overload the machine and shut it down. Will mean placing a beacon in range of a machine on foundation won't shut the foundation bonus off though.

Lastly, for SE in particular, it will add a collision layer to the hidden beacons, meaning you won't be able to upgrade buildings in place with foundation, without ripping that foundation out first. You can fix that by opening Stable Foundations, and adding the following lines to the list of attributes it adds when defining the beacon:

se_allow_in_space = true,
se_allow_productivity_in_space = true

Don't forget to add a comma to the line before, all but the last line between the {} brackets needs to end in a comma (its a table). That will make SE leave the beacons alone when it decides to either make space variants of buildings, or just make everything else not be able to be placed in space (and so collide with every other thing that cannot be placed in space).

New response