Firstly, thank you for this!
From the above, I can see the following restrictions.
(Please correct me if I'm wrong)
Cannot terraform anything which:
- Is not a planet
- Has no atmosphere
- Has thin atmosphere
- Is in total darkness
- Is not a vanilla entity
Is this correct?
One of the confusing things I've encountered is this:
By the rules this world should qualify to build a mirror.
It has a "normal" atmosphere.
It isn't dark.
I think the problem here is that it's a Cryo world. And those are not defined in the code.
(lava and lava_minor are also not defined.)
Planets which are typically considered good targets for terraforming (frozen, tundra, jungle, desert, etc.) are not subject to the atmosphere restriction. Only barren, toxic, etc. are. As far as vanilla planets go, only planets that already have 3+ stellar reflectors in orbit are blocked from building reflectors. Eochu Bres and Eventide are the only vanilla planets that meet that criteria, but faction mods might add more, and they would be blocked too.
Cryovolcanic and volcanic worlds cannot build mirrors because my understanding is that their climate is largely dictated by volcanism rather than amount of sunlight.
I'm not super knowledgeable about the real world science behind stellar reflectors and what effects they can have on different types of planets. If Nick XR or someone with more science knowledge wants to explain which planet types can be affected and how, I would defer to them.
I'm not sure if the player distance thing is working properly.
This is the third attempt I've made at terraforming a planet with mirrors, and it never does anything but count the number of cycles remaining up. It started at < 3 cycles.
I made sure to leave the system entirely, and still nothing.
I found a bug regarding frozen worlds in particular where the trigger to terraform them wasn't being set properly. It should be fixed with the latest 1.0 release.
I wonder if there's a way to call planet categories rather than individual id types?
This would make the code a lot simpler, and support procgen mods (like Unknown Skies).
I'll look into changing the logic to use categories. I didn't see that being used in the other terraforming mod I copied my code from, but I will see if I can get it working for mine.
I'd say just get rid of the planet-type checks.
What's the worst that'll happen, you can put mirrors around a space station?
I don't want the player to spend a lot of time and money building reflectors around a planet that can't benefit (or a station). This would be frustrating and confusing.
Interestingly, when frozen planets get terraformed, they become vastly better. eg: a 100% hazard from 175% because it removes the usual "Extreme Cold" but also a "Poor Light" condition. This is better than an originally-water world (which was also at 175%) which had other negatives like storms etc. Clearly we should shade the water world so it freezes and then warm it back up so there's no storms.
Also, Organics shows up (standard quality) which is handy since food (water world) and organics deposits are a bit rarer than say volatiles and the two ores.
Do all water worlds spawn with organics in them?
In this case, I think upkeep cost would work better than initial cost as a balancing mechanism. At 3 cycles, 10m credits, and 1 structure slot, terraforming is something people won't bother considering until they're just looking for an excuse to spend money. I have nothing against money sinks, but 10m would seem out of place, and I think such high initial costs would make terraforming non-viable for practical purposes, especially with such a long delay before seeing any benefit.
Agree, compared to vanilla structures, the time on these at 1080 days is much longer so that a "full up-front" seems less of a match to the "it's a long process" feel of it.
Take 10,000,000. Say 1 mil is your upfront (like the battle station -> star fortress) then your upkeep would be 9mil over 36 months or 250,000 a month. Now, might have to adjust though, since you have 1. hazard, 2. upkeep bonus from faction-supplies and 3. cores.
Then again a lower hazard world would be easier to make stellar shades in the orbit of... maybe? And I can see how using in-faction supplies and cores would work. Also, borrowing from the Waystation, perhaps making the structure demand various goods, with a steep upkeep penalty for shortages would also work. Like a lot of metals, transplutonics, (building) crew, heavy machinery and ship hulls (building in space) etc
Perhaps not make the goods requirements change with size (would be odd) but high so that you need likely player production or very high accessibility (though if the AI factions suddenly can't send enough, it will hurt) which again makes sense.
When you terraform a frozen world to a water world, organics are always added. My understanding is that organics are things like plants, animals, etc. which will always be abundant on a water world. I think procgen always spawns organics on water worlds; I could be wrong though.
If a planet spawns as a water world but has extreme weather, my understanding is that the extreme weather is being caused by something other than the amount of sunlight, such as the rotation speed of the planet, geological features and/or orbital characteristics. This appears to be the case on Chalcedon. Should reflectors remove extreme weather on Chalcedon?
Two things about having demand for the reflectors: (1) Vanilla industries with demand consume the demanded goods to produce a final product. Reflectors don't do that. The planetary shield has no demand, despite possibly needing heavy machinery or crew for maintenance. (2) My understanding of the economy in this game is that adding demand to structures will actually generate money for the player because the demand will be increasing the size of the global export market, which increases the player revenue if they have a share of that export market. Is this correct? If so, I would probably have to increase the upkeep of the reflectors to compensate for the increase in export revenue.