Page 1 of 1
I thought I was being clever...
Posted: Thu Jul 18, 2019 9:43 pm
by gaerzi
Capture a mobile base from the Tinkers, retrofit it for habitation, load up colonists, move it to a system with uncolonizable planets but a free slot, deploy it into orbit to turn it into a colony, and build an artificial planet this way...
Last step isn't allowed.
You'll notice by the way that the interface tells me the "colony" could support three units of population, given by various techs... In fact no.
Re: I thought I was being clever...
Posted: Thu Jul 18, 2019 10:46 pm
by bjg
In a similar situation (not having any big plans though) I was wondering why the food making project isn't available on such planet/station.
Re: I thought I was being clever...
Posted: Sun Jul 21, 2019 7:54 am
by gaerzi
It took a while because I'm not used at all to Lua and its syntax is strange and alien to me, but I finally figured it out: the bit to change is in
GUI\~GalaxyMap\@ChooseProduction.lua
Code: Select all
function calc_production_candidates(limit)
local planet = selected_planet
local empire,star in planet
local no_colony in planet
local push, production_candidates = pusher {}
if limit~='projects' and not no_colony
working_refit_candidates(push)
end
if limit~='ships' and not no_colony
improvement_candidates(push)
end
local refit_candidates = refit_option(push)
if (limit~='ships') and not no_colony
terraforming(push)
colony_bases(push)
ground_unit_candidates(push)
end
if limit~='projects' and not no_colony
ship_candidates(push)
end
if limit~='ships'
activities (push)
end
Specifically, it's this:
Code: Select all
if (limit~='ships') and not no_colony
terraforming(push)
colony_bases(push)
ground_unit_candidates(push)
end
Artificial planet creation is part of colony_bases. So you can either remove the "and not no_colony" here (but it would allow you to build ground units, I'm not sure what side effects this could have if you do) or you can move colony_bases(push) to the bit that doesn't have that restriction:
Code: Select all
if (limit~='ships') and not no_colony
terraforming(push)
ground_unit_candidates(push)
end
if limit~='projects' and not no_colony
ship_candidates(push)
end
if limit~='ships'
colony_bases(push)
activities (push)
end
bjg wrote:In a similar situation (not having any big plans though) I was wondering why the food making project isn't available on such planet/station.
Presumably lack of room on the orbital station to scale up farming? To change that, it's in Orders\activities.lua:
Code: Select all
do
local allowed_hab_only_activities = set("Trade","Research")
function Planet.dont_show_activity(planet,activity)
if planet.no_colony and planet.productive
if not allowed_hab_only_activities[activity]
return 'hab_only'
end
end
end
end
You could add "Synthesize Food" to that set. "Mining" would work too. "City Planning" and "Manufacture Population" would probably be a bad idea, though.
Re: I thought I was being clever...
Posted: Sun Jul 21, 2019 9:41 am
by gaerzi
Scratch that, they can build the artificial planet, but they can't complete it. There's some other obstruction somewhere I have to find.
Edit: that's economy_update in Orders\economy.lua.
Code: Select all
if planet.inhabited
if(planet.skip_production)
planet.skip_production=nil
elseif not planet.no_colony
production_update(planet)
change_production_if_needed(planet)
planet:create_overflow_project()
end
end end
I modified it this way:
Code: Select all
if planet.inhabited or planet.productive
if(planet.skip_production)
planet.skip_production=nil
else -- if not planet.no_colony
production_update(planet)
change_production_if_needed(planet)
planet:create_overflow_project()
end
end end
The artificial planet was completed from the mobile base. It can now move to another uncolonizable system to do this again.