the rest of the techtree changes + better migration scripts & messages

This commit is contained in:
Peter 2019-01-16 21:16:59 +08:00
parent 14e7485226
commit effba031d3
12 changed files with 496 additions and 67 deletions

View File

@ -179,74 +179,216 @@ end
script.on_configuration_changed(function() script.on_configuration_changed(function()
initialize() initialize()
if settings.startup["017-rocket-victory"].value and not settings.startup["017-techtree"].value then local old_science = settings.startup["017-old-science"].value
game.print("Configuration change detected for this save. Determining technology and recipe availablilty...")
if not settings.startup["017-techtree"].value then
for i, force in pairs(game.forces) do for i, force in pairs(game.forces) do
if force.technologies["rocket-silo"].researched == true then local f_recipes = force.recipes
force.recipes["satellite"].enabled = true local f_technologies = force.technologies
local f_print = force.print
f_print("0.17 techtree disabled.")
f_recipes["science-pack-2"].enabled = true
if f_technologies["rocket-silo"].researched == true then
f_recipes["satellite"].enabled = true
f_print("rocket-silo researched for this force: satellite recipe auto-unlocked")
else
f_print("rocket-silo not researched: satellite recipe not auto-unlocking")
end
if f_technologies["oil-processing"].researched == true then
f_recipes["lubricant"].enabled = true
f_print("oil-processing researched for this force: lubricant recipe auto-unlocked")
else
f_print("oil-processing not researched: lubricant recipe not auto-unlocking")
end
if f_technologies["advanced-electronics"].researched == true then
f_recipes["17-chemical-science-pack"].enabled = true
if old_science then
f_recipes["science-pack-3"].enabled = true
end
f_print("advanced-electronics researched for this force: chemical-science-pack recipe auto-unlocked")
else
f_print("advanced-electronics not researched: chemical-science-pack recipe not auto-unlocking")
end
if f_technologies["nuclear-power"].researched == true then
f_recipes["centrifuge"].enabled = true
f_recipes["uranium-processing"].enabled = true
f_print("nuclear-power researched for this force: centrifuge & uranium-processing recipes auto-unlocked")
else
f_print("nuclear-power not researched: recipes not auto-unlocking")
end
if f_technologies["advanced-electronics-2"].researched == true then
f_recipes["rocket-control-unit"].enabled = true
f_recipes["17-low-density-structure"].enabled = true
f_recipes["17-utility-science-pack"].enabled = true
if old_science then
f_recipes["low-density-structure"].enabled = true
f_recipes["high-tech-science-pack"].enabled = true
end
f_print("advanced-electronics-2 researched for this force: utility-science-pack & low-density-structure & rocket-control-unit recipes auto-unlocked")
else
f_print("advanced-electronics-2 not researched: recipes not auto-unlocking")
end
if f_technologies["advanced-material-processing-2"].researched == true then
f_recipes["rocket-fuel"].enabled = true
f_recipes["17-production-science-pack"].enabled = true
if old_science then
f_recipes["production-science-pack"].enabled = true
end
f_print("advanced-material-processing-2 researched for this force: rocket-fuel & production-science-pack recipes auto-unlocked")
else
f_print("advanced-material-processing-2 not researched: recipes not auto-unlocking")
end end
end end
end end
if settings.startup["017-rocket-victory"].value and settings.startup["017-techtree"].value then if settings.startup["017-rocket-victory"].value and settings.startup["017-techtree"].value then
for i, force in pairs(game.forces) do for i, force in pairs(game.forces) do
local get_input_count = force.item_production_statistics.get_input_count local get_input_count = force.item_production_statistics.get_input_count
if get_input_count("space-science-pack") > 0 then if not force.technologies["space-science-pack"].researched == true then
if (get_input_count("satellite") > 0) or (get_input_count("space-science-pack") > 0) then
force.recipes["satellite"].enabled = true force.recipes["satellite"].enabled = true
force.technologies["space-science-pack"].researched = true force.technologies["space-science-pack"].researched = true
force.print("force: " .. force.name .. " | space-science-pack tech unlocked | total produced for force: " .. get_input_count("space-science-pack")) force.print("force: " .. force.name .. " | satellite recipe unlocked | total produced for force: " .. get_input_count("satellite"))
else else
force.recipes["satellite"].enabled = false force.recipes["satellite"].enabled = false
force.technologies["space-science-pack"].researched = false force.technologies["space-science-pack"].researched = false
force.print("No space science produced by this force: keeping technology locked.") force.print("No space science OR satellites produced by this force: technology won't be auto-researched.")
end
end end
end end
end end
if settings.startup["017-techtree"].value then if settings.startup["017-techtree"].value then
for i, force in pairs(game.forces) do for i, force in pairs(game.forces) do
local f_recipes = force.recipes
local f_technologies = force.technologies
local f_print = force.print
local get_input_count = force.item_production_statistics.get_input_count local get_input_count = force.item_production_statistics.get_input_count
local get_fluid_input_count = force.fluid_production_statistics.get_input_count
f_print("0.17 techtree enabled.")
if not f_technologies["logistics-science-pack"].researched == true then
if get_input_count("science-pack-2") > 0 then if get_input_count("science-pack-2") > 0 then
force.recipes["science-pack-2"].enabled = true f_recipes["science-pack-2"].enabled = true
force.technologies["logistics-science-pack"].researched = true f_technologies["logistics-science-pack"].researched = true
force.print("force: " .. force.name .. " | logistics-science-pack tech unlocked | total produced for force: " .. get_input_count("science-pack-2")) f_print("force: " .. force.name .. " | logistics-science-pack recipe unlocked | total produced for force: " .. get_input_count("science-pack-2"))
else else
force.recipes["science-pack-2"].enabled = false f_recipes["science-pack-2"].enabled = false
force.technologies["logistics-science-pack"].researched = false f_technologies["logistics-science-pack"].researched = false
force.print("No logistics science produced by this force: keeping technology locked.") f_print("No logistics science produced by this force: technology won't be auto-researched.")
end
end end
if not f_technologies["chemical-science-pack"].researched == true then
if get_input_count("science-pack-3") > 0 then if get_input_count("science-pack-3") > 0 then
force.recipes["science-pack-3"].enabled = true f_recipes["science-pack-3"].enabled = true
force.recipes["17-chemical-science-pack"].enabled = true f_recipes["17-chemical-science-pack"].enabled = true
force.technologies["chemical-science-pack"].researched = true f_technologies["chemical-science-pack"].researched = true
force.print("force: " .. force.name .. " | chemical-science-pack tech unlocked | total produced for force: " .. get_input_count("science-pack-3")) f_print("force: " .. force.name .. " | chemical-science-pack recipe unlocked | total produced for force: " .. get_input_count("science-pack-3"))
else else
force.recipes["science-pack-3"].enabled = false f_recipes["science-pack-3"].enabled = false
force.recipes["17-chemical-science-pack"].enabled = false f_recipes["17-chemical-science-pack"].enabled = false
force.technologies["chemical-science-pack"].researched = false f_technologies["chemical-science-pack"].researched = false
force.print("No chemical science produced by this force: keeping technology locked.") f_print("No chemical science produced by this force: technology won't be auto-researched.")
end
end end
if not f_technologies["production-science-pack"].researched == true then
if get_input_count("production-science-pack") > 0 then if get_input_count("production-science-pack") > 0 then
force.recipes["production-science-pack"].enabled = true f_recipes["production-science-pack"].enabled = true
force.recipes["17-production-science-pack"].enabled = true f_recipes["17-production-science-pack"].enabled = true
force.technologies["production-science-pack"].researched = true f_technologies["production-science-pack"].researched = true
force.print("force: " .. force.name .. " | production-science-pack tech unlocked | total produced for force: " .. get_input_count("production-science-pack")) f_print("force: " .. force.name .. " | production-science-pack recipe unlocked | total produced for force: " .. get_input_count("production-science-pack"))
else else
force.recipes["production-science-pack"].enabled = false f_recipes["production-science-pack"].enabled = false
force.recipes["17-production-science-pack"].enabled = false f_recipes["17-production-science-pack"].enabled = false
force.technologies["production-science-pack"].researched = false f_technologies["production-science-pack"].researched = false
force.print("No production science produced by this force: keeping technology locked.") f_print("No production science produced by this force: technology won't be auto-researched.")
end
end end
if not f_technologies["utility-science-pack"].researched == true then
if get_input_count("high-tech-science-pack") > 0 then if get_input_count("high-tech-science-pack") > 0 then
force.recipes["high-tech-science-pack"].enabled = true f_recipes["high-tech-science-pack"].enabled = true
force.recipes["17-utility-science-pack"].enabled = true f_recipes["17-utility-science-pack"].enabled = true
force.technologies["utility-science-pack"].researched = true f_technologies["utility-science-pack"].researched = true
force.print("force: " .. force.name .. " | high-tech-science-pack tech unlocked | total produced for force: " .. get_input_count("high-tech-science-pack")) f_print("force: " .. force.name .. " | high-tech-science-pack recipe unlocked | total produced for force: " .. get_input_count("high-tech-science-pack"))
else else
force.recipes["high-tech-science-pack"].enabled = false f_recipes["high-tech-science-pack"].enabled = false
force.recipes["17-utility-science-pack"].enabled = false f_recipes["17-utility-science-pack"].enabled = false
force.technologies["utility-science-pack"].researched = false f_technologies["utility-science-pack"].researched = false
force.print("No utility science produced by this force: keeping technology locked.") f_print("No utility science produced by this force: technology won't be auto-researched.")
end
end
if not f_technologies["lubricant"].researched == true then
if get_fluid_input_count("lubricant") > 0 then
f_recipes["lubricant"].enabled = true
f_technologies["lubricant"].researched = true
f_print("force: " .. force.name .. " | lubricant recipe unlocked | total produced for force: " .. get_fluid_input_count("lubricant"))
else
f_recipes["lubricant"].enabled = false
f_technologies["lubricant"].researched = false
f_print("No lubricant produced by this force: technology won't be auto-researched.")
end
end
if not f_technologies["rocket-fuel"].researched == true then
if get_input_count("rocket-fuel") > 0 then
f_recipes["rocket-fuel"].enabled = true
f_technologies["rocket-fuel"].researched = true
f_print("force: " .. force.name .. " | rocket-fuel recipe unlocked | total produced for force: " .. get_input_count("rocket-fuel"))
else
f_recipes["rocket-fuel"].enabled = false
f_technologies["rocket-fuel"].researched = false
f_print("No rocket-fuel produced by this force: technology won't be auto-researched.")
end
end
if not f_technologies["low-density-structure"].researched == true then
if get_input_count("low-density-structure") > 0 then
f_recipes["low-density-structure"].enabled = true
f_recipes["17-low-density-structure"].enabled = true
f_technologies["low-density-structure"].researched = true
f_print("force: " .. force.name .. " | low-density-structure recipe unlocked | total produced for force: " .. get_input_count("low-density-structure"))
else
f_recipes["low-density-structure"].enabled = false
f_recipes["17-low-density-structure"].enabled = false
f_technologies["low-density-structure"].researched = false
f_print("No low-density-structure produced by this force: technology won't be auto-researched.")
end
end
if not f_technologies["rocket-control-unit"].researched == true then
if get_input_count("rocket-control-unit") > 0 then
f_recipes["rocket-control-unit"].enabled = true
f_technologies["rocket-control-unit"].researched = true
f_print("force: " .. force.name .. " | rocket-control-unit recipe unlocked | total produced for force: " .. get_input_count("rocket-control-unit"))
else
f_recipes["rocket-control-unit"].enabled = false
f_technologies["rocket-control-unit"].researched = false
f_print("No rocket-control-unit produced by this force: technology won't be auto-researched.")
end
end
if not f_technologies["uranium-enrichment"].researched == true then
if get_input_count("centrifuge") > 0 or f_technologies["nuclear-power"].researched == true then
f_recipes["centrifuge"].enabled = true
f_recipes["uranium-processing"].enabled = true
f_technologies["uranium-enrichment"].researched = true
f_print("force: " .. force.name .. " | uranium-enrichment recipe unlocked | total centrifuges produced by force: " .. get_input_count("centrifuge"))
else
f_recipes["centrifuge"].enabled = false
f_recipes["uranium-processing"].enabled = false
f_technologies["uranium-enrichment"].researched = false
f_print("No centrifuges produced by this force AND nuclear-power not researched: technology won't be auto-researched.")
end
end end
end end
end end

View File

@ -58,6 +58,7 @@ end
local r_effects = data.raw["technology"]["rocket-silo"].effects --remove the duplicate LDS effect in rocket-silo research local r_effects = data.raw["technology"]["rocket-silo"].effects --remove the duplicate LDS effect in rocket-silo research
for _=1, #r_effects do for _=1, #r_effects do
if r_effects[_] then
if r_effects[_].type == "unlock-recipe" and (r_effects[_].recipe == "low-density-structure" or r_effects[_].recipe == "rocket-fuel" or r_effects[_].recipe == "rocket-control-unit") then if r_effects[_].type == "unlock-recipe" and (r_effects[_].recipe == "low-density-structure" or r_effects[_].recipe == "rocket-fuel" or r_effects[_].recipe == "rocket-control-unit") then
r_effects[_] = nil r_effects[_] = nil
elseif settings.startup["017-techtree"].value and settings.startup["017-rocket-victory"].value then elseif settings.startup["017-techtree"].value and settings.startup["017-rocket-victory"].value then
@ -65,6 +66,7 @@ for _=1, #r_effects do
r_effects[_] = nil r_effects[_] = nil
end end
end end
end
end end
data.raw["technology"]["nuclear-fuel-reprocessing"].unit.count = (1500-settings.startup["017-nuclear-reprocessing-discount"].value) data.raw["technology"]["nuclear-fuel-reprocessing"].unit.count = (1500-settings.startup["017-nuclear-reprocessing-discount"].value)
@ -82,7 +84,45 @@ if settings.startup["017-pack-type-rebalancing"].value then
end end
if settings.startup["017-techtree"].value then if settings.startup["017-techtree"].value then
prerequisites(data.raw["technology"]["rocket-silo"].prerequisites, "rocket-speed-5", nil) local data_technology = data.raw["technology"]
local removing = {
{data_technology["oil-processing"].effects, "lubricant"},
{data_technology["nuclear-power"].effects, "centrifuge"},
{data_technology["nuclear-power"].effects, "uranium-processing"},
}
for j=1, #removing do
local effect_ = removing[j][1]
local recipe_ = removing[j][2]
for i=1, #effect_ do
if effect_[i] then
if effect_[i].type == "unlock-recipe" and effect_[i].recipe == recipe_ then
effect_[i] = nil
end
end
end
end
--misc. techtree changes
local engine = data_technology["electric-engine"].prerequisites
local rocket_silo = data_technology["rocket-silo"].prerequisites
local kovarex_process = data_technology["kovarex-enrichment-process"].prerequisites
local logistics = data_technology["logistics-3"].prerequisites
local fission = data_technology["nuclear-power"]
prerequisites(rocket_silo, "rocket-speed-5", nil)
prerequisites(engine, "advanced-electronics", nil)
engine[#engine+1] = "lubricant"
rocket_silo[#rocket_silo+1] = "rocket-fuel"
rocket_silo[#rocket_silo+1] = "rocket-control-unit"
rocket_silo[#rocket_silo+1] = "low-density-structure"
prerequisites(kovarex_process, "nuclear-power", nil)
kovarex_process[#kovarex_process+1] = "rocket-fuel"
kovarex_process[#kovarex_process+1] = "uranium-enrichment"
logistics[#logistics+1] = "lubricant"
fission.prerequisites = {"uranium-enrichment"}
fission.unit.time = settings.startup["017-nuclear-power-energy"].value
fission.unit.count = settings.startup["017-nuclear-power-cost"].value
data.raw["recipe"]["science-pack-2"].enabled = false data.raw["recipe"]["science-pack-2"].enabled = false
if settings.startup["017-old-science"].value and settings.startup["017-techtree"].value then if settings.startup["017-old-science"].value and settings.startup["017-techtree"].value then
@ -91,22 +131,25 @@ if settings.startup["017-techtree"].value then
{"advanced-material-processing-2", "production-science-pack"}, {"advanced-material-processing-2", "production-science-pack"},
{"advanced-electronics-2", "high-tech-science-pack"} {"advanced-electronics-2", "high-tech-science-pack"}
} }
data_technology["chemical-science-pack"].effects = {
data.raw["technology"]["chemical-science-pack"].effects = {
{type = "unlock-recipe", recipe = "science-pack-3"}, {type = "unlock-recipe", recipe = "science-pack-3"},
{type = "unlock-recipe", recipe = "17-chemical-science-pack"} {type = "unlock-recipe", recipe = "17-chemical-science-pack"}
} }
data.raw["technology"]["production-science-pack"].effects = { data_technology["production-science-pack"].effects = {
{type = "unlock-recipe", recipe = "production-science-pack"}, {type = "unlock-recipe", recipe = "production-science-pack"},
{type = "unlock-recipe", recipe = "17-production-science-pack"} {type = "unlock-recipe", recipe = "17-production-science-pack"}
} }
data.raw["technology"]["utility-science-pack"].effects = { data_technology["utility-science-pack"].effects = {
{type = "unlock-recipe", recipe = "high-tech-science-pack"}, {type = "unlock-recipe", recipe = "high-tech-science-pack"},
{type = "unlock-recipe", recipe = "17-utility-science-pack"} {type = "unlock-recipe", recipe = "17-utility-science-pack"}
} }
data_technology["low-density-structure"].effects = {
{type = "unlock-recipe", recipe = "low-density-structure"},
{type = "unlock-recipe", recipe = "17-low-density-structure"}
}
for i=1, #remove_effect_table do for i=1, #remove_effect_table do
local effects = data.raw["technology"][remove_effect_table[i][1]].effects local effects = data_technology[remove_effect_table[i][1]].effects
for _=1, #effects do for _=1, #effects do
if effects[_] then if effects[_] then
if effects[_].type == "unlock-recipe" and effects[_].recipe == remove_effect_table[i][2] then if effects[_].type == "unlock-recipe" and effects[_].recipe == remove_effect_table[i][2] then

View File

@ -2,17 +2,20 @@ require("recipe")
require("technology") require("technology")
table.insert(data.raw["technology"]["military-2"].effects, {type = "unlock-recipe",recipe = "17-military-science-pack"}) table.insert(data.raw["technology"]["military-2"].effects, {type = "unlock-recipe",recipe = "17-military-science-pack"})
if not settings.startup["017-techtree"].value then if not settings.startup["017-techtree"].value then
table.insert(data.raw["technology"]["advanced-electronics"].effects, {type = "unlock-recipe",recipe = "17-chemical-science-pack"}) table.insert(data.raw["technology"]["advanced-electronics"].effects, {type = "unlock-recipe",recipe = "17-chemical-science-pack"})
table.insert(data.raw["technology"]["advanced-material-processing-2"].effects, {type = "unlock-recipe",recipe = "17-production-science-pack"}) table.insert(data.raw["technology"]["advanced-material-processing-2"].effects, {type = "unlock-recipe",recipe = "17-production-science-pack"})
table.insert(data.raw["technology"]["advanced-electronics-2"].effects, {type = "unlock-recipe",recipe = "17-utility-science-pack"}) table.insert(data.raw["technology"]["advanced-electronics-2"].effects, {type = "unlock-recipe",recipe = "17-utility-science-pack"})
table.insert(data.raw["technology"]["advanced-electronics-2"].effects, {type = "unlock-recipe",recipe = "rocket-control-unit"})
table.insert(data.raw["technology"]["advanced-electronics-2"].effects, {type = "unlock-recipe",recipe = "17-low-density-structure"}) --LDS unlock for pre-rocket bases
table.insert(data.raw["technology"]["advanced-material-processing-2"].effects, {type = "unlock-recipe",recipe = "rocket-fuel"})
if settings.startup["017-old-science"].value then
table.insert(data.raw["technology"]["advanced-electronics-2"].effects, {type = "unlock-recipe",recipe = "low-density-structure"})
end
end end
table.insert(data.raw["technology"]["advanced-electronics-2"].effects, {type = "unlock-recipe",recipe = "rocket-control-unit"})
table.insert(data.raw["technology"]["advanced-electronics-2"].effects, {type = "unlock-recipe",recipe = "17-low-density-structure"}) --LDS unlock for pre-rocket bases
table.insert(data.raw["technology"]["advanced-material-processing-2"].effects, {type = "unlock-recipe",recipe = "rocket-fuel"})
if not settings.startup["017-old-science"].value then if not settings.startup["017-old-science"].value then
local function hide(name, technology) local function hide(name, technology)
@ -33,7 +36,6 @@ if not settings.startup["017-old-science"].value then
data.raw["recipe"]["low-density-structure"].normal.hidden = true data.raw["recipe"]["low-density-structure"].normal.hidden = true
data.raw["recipe"]["low-density-structure"].expensive.hidden = true data.raw["recipe"]["low-density-structure"].expensive.hidden = true
elseif settings.startup["017-old-science"].value then elseif settings.startup["017-old-science"].value then
table.insert(data.raw["technology"]["advanced-electronics-2"].effects, {type = "unlock-recipe",recipe = "low-density-structure"})
data.raw["recipe"]["science-pack-3"].hidden = false data.raw["recipe"]["science-pack-3"].hidden = false
data.raw["recipe"]["military-science-pack"].hidden = false data.raw["recipe"]["military-science-pack"].hidden = false
data.raw["recipe"]["production-science-pack"].hidden = false data.raw["recipe"]["production-science-pack"].hidden = false

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -1,6 +1,6 @@
{ {
"name": "017_science", "name": "017_science",
"version": "0.0.18", "version": "0.1.0",
"factorio_version": "0.16", "factorio_version": "0.16",
"title": "0.17 science conversion", "title": "0.17 science conversion",
"author": "npc_strider(morley376)", "author": "npc_strider(morley376)",

View File

@ -5,6 +5,11 @@ chemical-science-pack=Chemical science pack
production-science-pack=Production science pack production-science-pack=Production science pack
utility-science-pack=Utility science pack utility-science-pack=Utility science pack
space-science-pack=Space science pack space-science-pack=Space science pack
lubricant=Lubricant
uranium-enrichment=Uranium enrichment
rocket-fuel=Rocket fuel
low-density-structure=Low density structure
rocket-control-unit=Rocket control unit
[item-name] [item-name]
science-pack-1=Automation science pack science-pack-1=Automation science pack
@ -34,11 +39,23 @@ high-tech-science-pack=Utility science pack
017-purple-cost=Production science pack technology cost 017-purple-cost=Production science pack technology cost
017-gold-cost=Utility science pack technology cost 017-gold-cost=Utility science pack technology cost
017-nasa-cost=Space science pack technology cost 017-nasa-cost=Space science pack technology cost
017-lubricant-cost=Lubricant technology cost
017-rocket-fuel-cost=Rocket fuel technology cost
017-rocket-structure-cost=Low density structure technology cost
017-rocket-control-cost=Rocket control unit technology cost
017-uranium-enrichment-cost=Uranium enrichment technology cost
017-nuclear-power-cost=Nuclear power technology cost
017-green-energy=Logistics science pack technology time-per-unit 017-green-energy=Logistics science pack technology time-per-unit
017-chem-energy=Chemical science pack technology time-per-unit 017-chem-energy=Chemical science pack technology time-per-unit
017-purple-energy=Production science pack technology time-per-unit 017-purple-energy=Production science pack technology time-per-unit
017-gold-energy=Utility science pack technology time-per-unit 017-gold-energy=Utility science pack technology time-per-unit
017-nasa-energy=Space science pack technology time-per-unit 017-nasa-energy=Space science pack technology time-per-unit
017-lubricant-energy=Lubricant research time-per-unit
017-rocket-fuel-energy=Rocket fuel research time-per-unit
017-rocket-structure-energy=Low density structure research time-per-unit
017-rocket-control-energy=Rocket control unit research time-per-unit
017-uranium-enrichment-energy=Uranium enrichment research time-per-unit
017-nuclear-power-energy=Nuclear power research time-per-unit
[mod-setting-description] [mod-setting-description]
017-drill=(Default enabled) Toggle FFF-266 mining changes (removed hardness). This mod makes all vanilla ore hardness = 1 and makes the burner-mining-drill mining_power = 3, which may break modded ore gating. 017-drill=(Default enabled) Toggle FFF-266 mining changes (removed hardness). This mod makes all vanilla ore hardness = 1 and makes the burner-mining-drill mining_power = 3, which may break modded ore gating.
@ -61,8 +78,20 @@ high-tech-science-pack=Utility science pack
017-purple-cost=(Default 250, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Default based off advanced-material-processing-2 difficulty. 017-purple-cost=(Default 250, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Default based off advanced-material-processing-2 difficulty.
017-gold-cost=(Default 250, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Default based off advanced-electronics-2 difficulty. 017-gold-cost=(Default 250, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Default based off advanced-electronics-2 difficulty.
017-nasa-cost=(Default 5000, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Default based off atomic-bomb technology difficulty. 017-nasa-cost=(Default 5000, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Default based off atomic-bomb technology difficulty.
017-lubricant-cost=(Default 100, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Default based off electric-engine technology difficulty.
017-rocket-fuel-cost=(Default 100, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Default based off engine technology difficulty.
017-rocket-structure-cost=(Default 200, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Default based off plastics technology difficulty.
017-rocket-control-cost=(Default 250, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Default based off advanced-electronics-2 technology difficulty.
017-uranium-enrichment-cost=(Default 500, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Default based off nuclear-power cost (halved).
017-nuclear-power-cost=(Default 500, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Default based off nuclear-power cost (halved).
017-green-energy=(Default 5, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology. 017-green-energy=(Default 5, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology.
017-chem-energy=(Default 15, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology. 017-chem-energy=(Default 15, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology.
017-purple-energy=(Default 30, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology. 017-purple-energy=(Default 30, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology.
017-gold-energy=(Default 30, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology. 017-gold-energy=(Default 30, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology.
017-nasa-energy=(Default 60, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology. 017-nasa-energy=(Default 60, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology.
017-lubricant-energy=(Default 30, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology.
017-rocket-fuel-energy=(Default 30, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology.
017-rocket-structure-energy=(Default 30, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology.
017-rocket-control-energy=(Default 30, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology.
017-uranium-enrichment-energy=(Default 30, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology.
017-nuclear-power-energy=(Default 30, Min 0, Max INF.) This value is NOT official and is an estimate based on the difficulty of similar technologies. Amount of time to research one unit of this technology.

View File

@ -109,6 +109,7 @@ data:extend(
default_value = true, default_value = true,
order = "npc-mf" order = "npc-mf"
}, },
--costs
{ {
type = "int-setting", type = "int-setting",
name = "017-green-cost", name = "017-green-cost",
@ -149,6 +150,55 @@ data:extend(
default_value = 5000, default_value = 5000,
order = "npc-ne" order = "npc-ne"
}, },
{
type = "int-setting",
name = "017-lubricant-cost",
setting_type = "startup",
minimum_value = 0,
default_value = 100,
order = "npc-nf"
},
{
type = "int-setting",
name = "017-rocket-fuel-cost",
setting_type = "startup",
minimum_value = 0,
default_value = 100,
order = "npc-ng"
},
{
type = "int-setting",
name = "017-rocket-structure-cost",
setting_type = "startup",
minimum_value = 0,
default_value = 200,
order = "npc-nh"
},
{
type = "int-setting",
name = "017-rocket-control-cost",
setting_type = "startup",
minimum_value = 0,
default_value = 250,
order = "npc-ni"
},
{
type = "int-setting",
name = "017-uranium-enrichment-cost",
setting_type = "startup",
minimum_value = 0,
default_value = 500,
order = "npc-nj"
},
{
type = "int-setting",
name = "017-nuclear-power-cost",
setting_type = "startup",
minimum_value = 0,
default_value = 500,
order = "npc-nk"
},
--energies
{ {
type = "int-setting", type = "int-setting",
name = "017-green-energy", name = "017-green-energy",
@ -188,5 +238,53 @@ data:extend(
minimum_value = 0, minimum_value = 0,
default_value = 60, default_value = 60,
order = "npc-oe" order = "npc-oe"
},
{
type = "int-setting",
name = "017-lubricant-energy",
setting_type = "startup",
minimum_value = 0,
default_value = 30,
order = "npc-of"
},
{
type = "int-setting",
name = "017-rocket-fuel-energy",
setting_type = "startup",
minimum_value = 0,
default_value = 30,
order = "npc-og"
},
{
type = "int-setting",
name = "017-rocket-structure-energy",
setting_type = "startup",
minimum_value = 0,
default_value = 30,
order = "npc-oh"
},
{
type = "int-setting",
name = "017-rocket-control-energy",
setting_type = "startup",
minimum_value = 0,
default_value = 30,
order = "npc-oi"
},
{
type = "int-setting",
name = "017-uranium-enrichment-energy",
setting_type = "startup",
minimum_value = 0,
default_value = 30,
order = "npc-oj"
},
{
type = "int-setting",
name = "017-nuclear-power-energy",
setting_type = "startup",
minimum_value = 0,
default_value = 30,
order = "npc-ok"
} }
}) })

View File

@ -91,6 +91,121 @@ data:extend(
time = settings.startup["017-gold-energy"].value time = settings.startup["017-gold-energy"].value
}, },
order = "e-e-e" order = "e-e-e"
},
{
type = "technology",
name = "lubricant",
icon_size = 128,
icon = "__017_science__/graphics/technology/lubricant.png",
effects =
{
{type = "unlock-recipe", recipe = "lubricant"}
},
prerequisites = {"oil-processing"},
unit =
{
count = settings.startup["017-lubricant-cost"].value,
ingredients =
{
{"science-pack-1", 1},
{"science-pack-2", 1},
},
time = settings.startup["017-lubricant-energy"].value
},
order = "d-a-a"
},
{
type = "technology",
name = "rocket-fuel",
icon_size = 128,
icon = "__017_science__/graphics/technology/rocketfuel.png",
effects =
{
{type = "unlock-recipe", recipe = "rocket-fuel"}
},
prerequisites = {"engine", "flammables"},
unit =
{
count = settings.startup["017-rocket-fuel-cost"].value,
ingredients =
{
{"science-pack-1", 1},
{"science-pack-2", 1},
},
time = settings.startup["017-rocket-fuel-energy"].value
},
order = "d-a-b"
},
{
type = "technology",
name = "low-density-structure",
icon_size = 128,
icon = "__017_science__/graphics/technology/rocketstructure.png",
effects =
{
{type = "unlock-recipe", recipe = "17-low-density-structure"}
},
prerequisites = {"advanced-material-processing"},
unit =
{
count = settings.startup["017-rocket-structure-cost"].value,
ingredients =
{
{"science-pack-1", 1},
{"science-pack-2", 1},
{"science-pack-3", 1},
},
time = settings.startup["017-rocket-structure-energy"].value
},
order = "e-e-e"
},
{
type = "technology",
name = "rocket-control-unit",
icon_size = 128,
icon = "__017_science__/graphics/technology/rocketcontrols.png",
effects =
{
{type = "unlock-recipe", recipe = "rocket-control-unit"}
},
prerequisites = {"speed-module"},
unit =
{
count = settings.startup["017-rocket-control-cost"].value,
ingredients =
{
{"science-pack-1", 1},
{"science-pack-2", 1},
{"science-pack-3", 1},
{"high-tech-science-pack", 1},
},
time = settings.startup["017-rocket-control-energy"].value
},
order = "e-e-e"
},
{
type = "technology",
name = "uranium-enrichment",
icon_size = 128,
icon = "__017_science__/graphics/technology/uraniumenrichment.png",
effects =
{
{type = "unlock-recipe", recipe = "centrifuge"},
{type = "unlock-recipe", recipe = "uranium-processing"}
},
prerequisites = data.raw["technology"]["nuclear-power"].prerequisites,
unit =
{
count = settings.startup["017-uranium-enrichment-cost"].value,
ingredients =
{
{"science-pack-1", 1},
{"science-pack-2", 1},
{"science-pack-3", 1},
},
time = settings.startup["017-uranium-enrichment-energy"].value
},
order = "e-e-e"
} }
}) })
end end