mirror of
https://asciireactor.com/factorio/adamo-nuclear.git
synced 2024-11-25 08:05:06 +00:00
1938 lines
46 KiB
Lua
1938 lines
46 KiB
Lua
require("factsheet")
|
|
|
|
local MOX_glow_color = {r = 1,g = 1,b = 1,a = 1}
|
|
local pg_base_color = data.raw.fluid["petroleum-gas"].base_color
|
|
local sulfuric_base_color = data.raw.fluid["sulfuric-acid"].base_color
|
|
local sulfuric_flow_color = data.raw.fluid["sulfuric-acid"].flow_color
|
|
local uranium_hex_base_color = {r = 0.5,g = 0.5,b = 0.5,a = 0.5}
|
|
local uranium_hex_flow_color = {r = 0.5,g = 0.5,b = 0.5,a = 0.1}
|
|
local plutonium_hex_base_color = {r= 100,g = 10,b = 10,a = 150}
|
|
local plutonium_hex_flow_color = {r= 100,g = 10,b = 10,a = 25}
|
|
local aqueous_raffinate_base_color = adamo.colors.midbrown
|
|
local aqueous_raffinate_flow_color = adamo.colors.highbrown
|
|
local raffinate_base_color = adamo.colors.darkbrown
|
|
local raffinate_flow_color = adamo.colors.midbrown
|
|
local oxide_color_table = {
|
|
NU = {r=139,g=69,b=19},
|
|
DU = {r = 32, g = 32, b = 32},
|
|
LEU = {r = 96, g = 96, b = 96},
|
|
HEU = {r = 160, g = 160, b = 160},
|
|
WGU = {r = 224, g = 224, b = 224},
|
|
RGPu = {r = 0, g = 153, b = 0},
|
|
WGPu = {r = 0, g = 255, b = 0},
|
|
}
|
|
|
|
-- Code uses "nuclear" as fast-reaction fuel category.
|
|
local bombardment_category = {
|
|
type = "recipe-category",
|
|
name = "neutron-bombardment"
|
|
}
|
|
local thermal_fuel_category = {
|
|
type = "fuel-category",
|
|
name = "adamo-nuclear-thermal-reaction"
|
|
}
|
|
data:extend({
|
|
bombardment_category,
|
|
thermal_fuel_category
|
|
})
|
|
|
|
local nuclear_group = {
|
|
type = "item-group",
|
|
name = "adamo-nuclear-group",
|
|
order = "n",
|
|
icon = "__adamo-nuclear__/graphics/icons/nuclear_group.png",
|
|
icon_size = 64
|
|
}
|
|
local prod_mach_group = {
|
|
type = "item-subgroup",
|
|
group = "adamo-nuclear-group",
|
|
name = "adamo-nuclear-production-machine",
|
|
order = "a"
|
|
}
|
|
local processing_subgroup = {
|
|
type = "item-subgroup",
|
|
group = "adamo-nuclear-group",
|
|
name = "adamo-nuclear-processing-group",
|
|
order = "c"
|
|
}
|
|
local enrichment_group = {
|
|
type = "item-subgroup",
|
|
group = "adamo-nuclear-group",
|
|
name = "adamo-nuclear-enrichment-group",
|
|
order = "h"
|
|
}
|
|
local oxide_subgroup = {
|
|
type = "item-subgroup",
|
|
group = "adamo-nuclear-group",
|
|
name = "adamo-nuclear-oxide-group",
|
|
order = "j"
|
|
}
|
|
local products_subgroup = {
|
|
type = "item-subgroup",
|
|
group = "adamo-nuclear-group",
|
|
name = "adamo-nuclear-products-group",
|
|
order = "l"
|
|
}
|
|
local spent_fuel_group = {
|
|
type = "item-subgroup",
|
|
group = "adamo-nuclear-group",
|
|
name = "adamo-nuclear-spent-fuel-group",
|
|
order = "n"
|
|
}
|
|
local hex_subgroup = {
|
|
type = "item-subgroup",
|
|
group = "fluids",
|
|
name = "adamo-nuclear-hex-group",
|
|
order = "n"
|
|
}
|
|
local raffinate_subgroup = {
|
|
type = "item-subgroup",
|
|
group = "fluids",
|
|
name = "adamo-nuclear-raffinate-group",
|
|
order = "o"
|
|
}
|
|
|
|
data:extend({
|
|
nuclear_group,
|
|
prod_mach_group,
|
|
products_subgroup,
|
|
oxide_subgroup,
|
|
enrichment_group,
|
|
processing_subgroup,
|
|
spent_fuel_group,
|
|
hex_subgroup,
|
|
raffinate_subgroup
|
|
})
|
|
|
|
local natural_hex_fluid = {
|
|
type = "fluid",
|
|
name = "adamo-nuclear-natural-uranium-hex",
|
|
subgroup = "adamo-nuclear-hex-group",
|
|
order = "n0",
|
|
icon = "__adamo-nuclear__/graphics/icons/hex.png",
|
|
icon_size = 32,
|
|
base_color = uranium_hex_base_color,
|
|
flow_color = uranium_hex_flow_color,
|
|
default_temperature = 25,
|
|
max_temperature = 100,
|
|
heat_capacity = "0.1KJ",
|
|
}
|
|
local Pu_hex_fluid = {
|
|
type = "fluid",
|
|
name = "adamo-nuclear-Pu-hex",
|
|
subgroup = "adamo-nuclear-hex-group",
|
|
order = "n1",
|
|
icon = "__adamo-nuclear__/graphics/icons/Pu-hex.png",
|
|
icon_size = 32,
|
|
base_color = plutonium_hex_base_color,
|
|
flow_color = plutonium_hex_flow_color,
|
|
default_temperature = 25,
|
|
max_temperature = 100,
|
|
heat_capacity = "0.1KJ",
|
|
}
|
|
local LEU_PUREX_hex_fluid = {
|
|
type = "fluid",
|
|
name = "adamo-nuclear-LEU-PUREX-hex",
|
|
subgroup = "adamo-nuclear-hex-group",
|
|
order = "n2",
|
|
icon = "__adamo-nuclear__/graphics/icons/LEU-PUREX-hex.png",
|
|
icon_size = 32,
|
|
base_color = uranium_hex_base_color,
|
|
flow_color = uranium_hex_flow_color,
|
|
default_temperature = 25,
|
|
max_temperature = 100,
|
|
heat_capacity = "0.1KJ",
|
|
}
|
|
local HEU_PUREX_hex_fluid = {
|
|
type = "fluid",
|
|
name = "adamo-nuclear-HEU-PUREX-hex",
|
|
subgroup = "adamo-nuclear-hex-group",
|
|
order = "n3",
|
|
icon = "__adamo-nuclear__/graphics/icons/HEU-PUREX-hex.png",
|
|
icon_size = 32,
|
|
base_color = uranium_hex_base_color,
|
|
flow_color = uranium_hex_flow_color,
|
|
default_temperature = 25,
|
|
max_temperature = 100,
|
|
heat_capacity = "0.1KJ",
|
|
}
|
|
local weak_fissile_fluid = {
|
|
type = "fluid",
|
|
name = "adamo-nuclear-aqueous-raffinate",
|
|
subgroup = "adamo-nuclear-raffinate-group",
|
|
order = "o1",
|
|
icon = "__adamo-nuclear__/graphics/icons/aqueous-raffinate.png",
|
|
icon_size = 32,
|
|
base_color = aqueous_raffinate_base_color,
|
|
flow_color = aqueous_raffinate_flow_color,
|
|
default_temperature = 25,
|
|
max_temperature = 100,
|
|
heat_capacity = "0.01KJ",
|
|
}
|
|
local strong_fissile_fluid = {
|
|
type = "fluid",
|
|
name = "adamo-nuclear-raffinate",
|
|
subgroup = "adamo-nuclear-raffinate-group",
|
|
order = "o2",
|
|
icon = "__adamo-nuclear__/graphics/icons/raffinate.png",
|
|
icon_size = 32,
|
|
base_color = raffinate_base_color,
|
|
flow_color = raffinate_flow_color,
|
|
default_temperature = 25,
|
|
max_temperature = 100,
|
|
heat_capacity = "0.1KJ",
|
|
}
|
|
data:extend({
|
|
natural_hex_fluid,
|
|
Pu_hex_fluid,
|
|
LEU_PUREX_hex_fluid,
|
|
HEU_PUREX_hex_fluid,
|
|
weak_fissile_fluid,
|
|
strong_fissile_fluid
|
|
})
|
|
|
|
local urania_item = {
|
|
type = "item",
|
|
name = "adamo-nuclear-urania",
|
|
subgroup = "adamo-nuclear-processing-group",
|
|
order = "n",
|
|
stack_size = 50,
|
|
icon = "__adamo-nuclear__/graphics/icons/urania.png",
|
|
icon_size = 32,
|
|
}
|
|
local LEU_fuel_item = {
|
|
type = "item",
|
|
name = "adamo-nuclear-LEU-fuel-cell",
|
|
subgroup = "adamo-nuclear-products-group",
|
|
order = "m",
|
|
stack_size = 50,
|
|
icon = "__adamo-nuclear__/graphics/icons/LEU-fuel-cell.png",
|
|
icon_size = 32,
|
|
fuel_category = "adamo-nuclear-thermal-reaction",
|
|
fuel_value = "82GJ",
|
|
burnt_result = "adamo-nuclear-used-up-LEU-fuel-cell",
|
|
}
|
|
local MOX_fuel_item = {
|
|
type = "item",
|
|
name = "adamo-nuclear-MOX-fuel-cell",
|
|
subgroup = "adamo-nuclear-products-group",
|
|
order = "o",
|
|
stack_size = 50,
|
|
icon = "__adamo-nuclear__/graphics/icons/MOX-fuel-cell.png",
|
|
icon_size = 32,
|
|
fuel_category = "nuclear",
|
|
fuel_value = "162GJ",
|
|
burnt_result = "adamo-nuclear-used-up-MOX-fuel-cell",
|
|
fuel_glow_color = MOX_glow_color
|
|
}
|
|
local used_LEU_item = {
|
|
type = "item",
|
|
name = "adamo-nuclear-used-up-LEU-fuel-cell",
|
|
subgroup = "adamo-nuclear-spent-fuel-group",
|
|
order = "m1",
|
|
stack_size = 50,
|
|
icon = "__adamo-nuclear__/graphics/icons/used-up-LEU-fuel-cell.png",
|
|
icon_size = 32,
|
|
}
|
|
local used_MOX_item = {
|
|
type = "item",
|
|
name = "adamo-nuclear-used-up-MOX-fuel-cell",
|
|
subgroup = "adamo-nuclear-spent-fuel-group",
|
|
order = "m3",
|
|
stack_size = 50,
|
|
icon = "__adamo-nuclear__/graphics/icons/used-up-MOX-fuel-cell.png",
|
|
icon_size = 32,
|
|
}
|
|
local actinides_item = {
|
|
type = "item",
|
|
name = "adamo-nuclear-actinides",
|
|
subgroup = "adamo-nuclear-products-group",
|
|
order = "p1",
|
|
stack_size = 50,
|
|
icon = "__adamo-nuclear__/graphics/icons/actinides.png",
|
|
icon_size = 32,
|
|
}
|
|
local waste_item = {
|
|
type = "item",
|
|
name = "adamo-nuclear-ceramic-waste",
|
|
subgroup = "adamo-nuclear-products-group",
|
|
order = "p2",
|
|
stack_size = 50,
|
|
icon = "__adamo-nuclear__/graphics/icons/ceramic-waste.png",
|
|
icon_size = 64,
|
|
}
|
|
local thermal_reactor_item = {
|
|
type = "item",
|
|
name = "adamo-nuclear-thermal-reactor",
|
|
icon = "__adamo-nuclear__/graphics/icons/thermal-reactor.png",
|
|
icon_size = 32,
|
|
subgroup = "energy",
|
|
order = "b[steam-power]-b[adamo-nuclear-thermal-reactor]",
|
|
place_result = "adamo-nuclear-thermal-reactor",
|
|
stack_size = 50
|
|
}
|
|
local prod_reactor_item = {
|
|
type = "item",
|
|
name = "adamo-nuclear-production-reactor",
|
|
icon = "__adamo-nuclear__/graphics/icons/production-reactor.png",
|
|
icon_size = 32,
|
|
subgroup = "adamo-nuclear-production-machine",
|
|
order = "n[production-reactor]",
|
|
place_result = "adamo-nuclear-production-reactor",
|
|
stack_size = 10
|
|
}
|
|
data:extend({
|
|
urania_item,
|
|
LEU_fuel_item,
|
|
MOX_fuel_item,
|
|
used_LEU_item,
|
|
used_MOX_item,
|
|
actinides_item,
|
|
waste_item,
|
|
thermal_reactor_item,
|
|
prod_reactor_item,
|
|
})
|
|
|
|
local urania_recipe_sulfuric = {
|
|
type = "recipe",
|
|
name = "adamo-nuclear-urania-by-H2SO4",
|
|
category = "chemistry",
|
|
enabled = false,
|
|
energy_required = 10, -- same as explosives
|
|
main_product = "adamo-nuclear-urania",
|
|
ingredients = {{
|
|
type = "item",
|
|
name = "uranium-ore",
|
|
amount = 50
|
|
},{
|
|
type = "fluid",
|
|
name = "sulfuric-acid",
|
|
amount = 160
|
|
},{
|
|
type = "fluid",
|
|
name = "water",
|
|
amount = 40
|
|
}},
|
|
results = {{
|
|
type = "item",
|
|
name = "adamo-nuclear-urania",
|
|
amount = 1
|
|
}},
|
|
show_amount_in_title = false,
|
|
always_show_products = false,
|
|
always_show_made_in = true,
|
|
crafting_machine_tint = {
|
|
primary = oxide_color_table.NU,
|
|
secondary = sulfuric_base_color,
|
|
tertiary = sulfuric_flow_color,
|
|
quaternary = data.raw.fluid.water.flow_color
|
|
},
|
|
}
|
|
local urania_recipe_hydrofluoric = {
|
|
type = "recipe",
|
|
name = "adamo-nuclear-urania-by-HF",
|
|
category = "chemistry",
|
|
enabled = false,
|
|
energy_required = 10,
|
|
ingredients = {{
|
|
type = "item",
|
|
name = "uranium-ore",
|
|
amount = 50
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-chemical-hydrofluoric-acid",
|
|
amount = 80
|
|
},{
|
|
type = "fluid",
|
|
name = "water",
|
|
amount = 120
|
|
}},
|
|
results = {{
|
|
type = "item",
|
|
name = "adamo-nuclear-urania",
|
|
amount = 1
|
|
}},
|
|
show_amount_in_title = false,
|
|
always_show_products = false,
|
|
always_show_made_in = true,
|
|
crafting_machine_tint = {
|
|
primary = oxide_color_table.NU,
|
|
secondary = adamo.colors.hf_base,
|
|
tertiary = adamo.colors.hf_flow,
|
|
quaternary = data.raw.fluid.water.flow_color
|
|
},
|
|
}
|
|
local urania_hex_recipe = {
|
|
type = "recipe",
|
|
name = "adamo-nuclear-natural-uranium-hex",
|
|
category = "chemistry",
|
|
enabled = false,
|
|
subgroup = "adamo-nuclear-processing-group",
|
|
main_product = "adamo-nuclear-natural-uranium-hex",
|
|
energy_required = 10,
|
|
ingredients = {{
|
|
type = "item",
|
|
name = "adamo-nuclear-urania",
|
|
amount = 1
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-chemical-hydrofluoric-acid",
|
|
amount = 60
|
|
},{
|
|
type = "fluid",
|
|
name = "water",
|
|
amount = 30
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-natural-uranium-hex",
|
|
amount = 10,
|
|
fluidbox_index = 1,
|
|
}},
|
|
always_show_made_in = true,
|
|
crafting_machine_tint = {
|
|
primary = uranium_hex_base_color,
|
|
secondary = adamo.colors.hf_base,
|
|
tertiary = adamo.colors.hf_flow,
|
|
quaternary = oxide_color_table.NU
|
|
},
|
|
}
|
|
local LEU_enrichment_recipe = {
|
|
type = "recipe",
|
|
category = "centrifuging",
|
|
name = "adamo-nuclear-LEU-enrichment",
|
|
energy_required = 10,
|
|
subgroup = "adamo-nuclear-enrichment-group",
|
|
order = "m1",
|
|
enabled = false,
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-natural-uranium-hex",
|
|
amount = 10
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-DU-hex",
|
|
amount = 10,
|
|
probability = 6.75/7.75
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-LEU-hex",
|
|
amount = 10,
|
|
probability = 1/7.75
|
|
}},
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/LEU-enrichment.png",
|
|
}
|
|
local HEU_enrichment_recipe = {
|
|
type = "recipe",
|
|
category = "centrifuging",
|
|
name = "adamo-nuclear-HEU-enrichment",
|
|
energy_required = 10,
|
|
subgroup = "adamo-nuclear-enrichment-group",
|
|
order = "m2",
|
|
enabled = false,
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-natural-uranium-hex",
|
|
amount = 10
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-DU-hex",
|
|
amount = 10,
|
|
probability = 36.5/37.5
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-HEU-hex",
|
|
amount = 10,
|
|
probability = 1/37.5
|
|
}},
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/HEU-enrichment.png",
|
|
}
|
|
local WGU_enrichment_recipe = {
|
|
type = "recipe",
|
|
category = "centrifuging",
|
|
name = "adamo-nuclear-WGU-enrichment",
|
|
energy_required = 10,
|
|
subgroup = "adamo-nuclear-enrichment-group",
|
|
order = "m3",
|
|
enabled = false,
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-natural-uranium-hex",
|
|
amount = 10
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-DU-hex",
|
|
amount = 10,
|
|
probability = 149/150
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-WGU-hex",
|
|
amount = 10,
|
|
probability = 1/150
|
|
}},
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/WGU-enrichment.png",
|
|
}
|
|
local Pu_enrichment_recipe = {
|
|
type = "recipe",
|
|
category = "centrifuging",
|
|
name = "adamo-nuclear-WGPu-enrichment",
|
|
energy_required = 20,
|
|
subgroup = "adamo-nuclear-enrichment-group",
|
|
order = "n1",
|
|
enabled = false,
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-Pu-hex",
|
|
amount = 20
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-RGPu-hex",
|
|
amount = 10,
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-WGPu-hex",
|
|
amount = 10,
|
|
}},
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/WGPu-enrichment.png",
|
|
}
|
|
local LEU_PUREX_enrichment_recipe = {
|
|
type = "recipe",
|
|
category = "centrifuging",
|
|
name = "adamo-nuclear-LEU-PUREX-enrichment",
|
|
energy_required = 10,
|
|
subgroup = "adamo-nuclear-enrichment-group",
|
|
order = "o1",
|
|
enabled = false,
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-LEU-PUREX-hex",
|
|
amount = 10
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-LEU-hex",
|
|
amount = 10,
|
|
probability = 135/150
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-Pu-hex",
|
|
amount = 10,
|
|
probability = 1/150
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-DU-hex",
|
|
amount = 10,
|
|
probability = 14/150
|
|
}},
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/LEU-PUREX-enrichment.png",
|
|
}
|
|
local HEU_PUREX_enrichment_recipe = {
|
|
type = "recipe",
|
|
category = "centrifuging",
|
|
name = "adamo-nuclear-HEU-PUREX-enrichment",
|
|
energy_required = 10,
|
|
subgroup = "adamo-nuclear-enrichment-group",
|
|
order = "o2",
|
|
enabled = false,
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-HEU-PUREX-hex",
|
|
amount = 10
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-HEU-hex",
|
|
amount = 10,
|
|
probability = 67/70
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-Pu-hex",
|
|
amount = 10,
|
|
probability = 1/70
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-DU-hex",
|
|
amount = 10,
|
|
probability = 2/70
|
|
}},
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/HEU-PUREX-enrichment.png",
|
|
}
|
|
local RGPu_recipe = {
|
|
type = "recipe",
|
|
category = "chemistry",
|
|
name = "adamo-nuclear-highgrade-RGPu-oxide",
|
|
main_product = "adamo-nuclear-RGPu-oxide",
|
|
enabled = false,
|
|
energy_required = 10,
|
|
always_show_made_in = true,
|
|
subgroup = "adamo-nuclear-processing-group",
|
|
order = "o1",
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-Pu-hex",
|
|
amount = 10
|
|
},{
|
|
type = "fluid",
|
|
name = "water",
|
|
amount = 30
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
name = "adamo-chemical-hydrofluoric-acid",
|
|
amount = 60,
|
|
},{
|
|
type = "item",
|
|
name = "adamo-nuclear-RGPu-oxide",
|
|
amount = 1
|
|
}},
|
|
crafting_machine_tint = {
|
|
primary = oxide_color_table.RGPu,
|
|
secondary = adamo.colors.hf_base,
|
|
tertiary = plutonium_hex_flow_color,
|
|
quaternary = data.raw.fluid.water.flow_color
|
|
},
|
|
}
|
|
local plutonia_238_recipe = {
|
|
type = "recipe",
|
|
category = "neutron-bombardment",
|
|
name = "adamo-nuclear-transmute-Pu238-oxide",
|
|
energy_required = 600,
|
|
enabled = false,
|
|
subgroup = "adamo-nuclear-products-group",
|
|
order = "p",
|
|
ingredients = {{
|
|
amount = 1,
|
|
name = "adamo-nuclear-actinides",
|
|
type = "item",
|
|
},{
|
|
amount = 1,
|
|
name = "adamo-nuclear-DU-oxide",
|
|
type = "item",
|
|
},{
|
|
amount = 600,
|
|
name = "water",
|
|
type = "fluid",
|
|
}},
|
|
result = "adamo-nuclear-Pu238-oxide",
|
|
}
|
|
local LEU_PUREX_stage_1 = {
|
|
type = "recipe",
|
|
category = "chemistry",
|
|
name = "adamo-nuclear-LEU-PUREX-stage-1",
|
|
subgroup = "adamo-nuclear-spent-fuel-group",
|
|
order = "m1",
|
|
energy_required = 10,
|
|
emissions_multiplier = 3,
|
|
enabled = false,
|
|
ingredients = {
|
|
{"adamo-nuclear-used-up-LEU-fuel-cell", 1},
|
|
{
|
|
type = "fluid",
|
|
name = "petroleum-gas",
|
|
amount = 10
|
|
},
|
|
{
|
|
type = "fluid",
|
|
name = "water",
|
|
amount = 10
|
|
},
|
|
},
|
|
results = {
|
|
{waste_item.name, 1},
|
|
{actinides_item.name, 1},
|
|
{
|
|
type = "fluid",
|
|
name = weak_fissile_fluid.name,
|
|
amount = 10
|
|
}
|
|
},
|
|
crafting_machine_tint = {
|
|
primary = weak_fissile_fluid.base_color,
|
|
secondary = aqueous_raffinate_base_color,
|
|
tertiary = sulfuric_flow_color,
|
|
quaternary = oxide_color_table.LEU
|
|
}
|
|
}
|
|
local LEU_PUREX_stage_2 = {
|
|
type = "recipe",
|
|
category = "chemistry",
|
|
name = "adamo-nuclear-LEU-PUREX-stage-2",
|
|
subgroup = "adamo-nuclear-spent-fuel-group",
|
|
order = "m2",
|
|
energy_required
|
|
}
|
|
local LEU_PUREX_recipe_sulfuric = {
|
|
type = "recipe",
|
|
category = "chemistry",
|
|
name = "adamo-nuclear-LEU-PUREX-by-H2SO4",
|
|
subgroup = "adamo-nuclear-spent-fuel-group",
|
|
order = "m1",
|
|
energy_required = 150,
|
|
emissions_multiplier = 3,
|
|
enabled = false,
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "sulfuric-acid",
|
|
amount = 150
|
|
},{
|
|
type = "fluid",
|
|
name = "petroleum-gas",
|
|
amount = 150
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-chemical-hydrofluoric-acid",
|
|
amount = 900
|
|
},{
|
|
type = "item",
|
|
name = "adamo-nuclear-used-up-LEU-fuel-cell",
|
|
amount = 15
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-LEU-PUREX-hex",
|
|
amount = 150
|
|
},{
|
|
type = "fluid",
|
|
-- name = "adamo-nuclear-aqueous-raffinate",
|
|
name = "adamo-nuclear-raffinate",
|
|
amount = 209
|
|
}},
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/LEU-PUREX.png",
|
|
crafting_machine_tint = {
|
|
primary = uranium_hex_base_color,
|
|
secondary = aqueous_raffinate_base_color,
|
|
tertiary = sulfuric_flow_color,
|
|
quaternary = oxide_color_table.LEU
|
|
},
|
|
}
|
|
local LEU_PUREX_recipe_hydrofluoric = {
|
|
type = "recipe",
|
|
category = "chemistry",
|
|
name = "adamo-nuclear-LEU-PUREX-by-HF",
|
|
subgroup = "adamo-nuclear-spent-fuel-group",
|
|
order = "m2",
|
|
energy_required = 150,
|
|
emissions_multiplier = 3,
|
|
enabled = false,
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "petroleum-gas",
|
|
amount = 150
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-chemical-hydrofluoric-acid",
|
|
amount = 1050
|
|
},{
|
|
type = "item",
|
|
name = "adamo-nuclear-used-up-LEU-fuel-cell",
|
|
amount = 15
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
-- name = "adamo-nuclear-aqueous-raffinate",
|
|
name = "adamo-nuclear-raffinate",
|
|
amount = 209
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-LEU-PUREX-hex",
|
|
amount = 150
|
|
}},
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/LEU-PUREX.png",
|
|
crafting_machine_tint = {
|
|
primary = uranium_hex_base_color,
|
|
secondary = aqueous_raffinate_base_color,
|
|
tertiary = adamo.colors.hf_flow,
|
|
quaternary = oxide_color_table.LEU
|
|
},
|
|
}
|
|
local HEU_PUREX_recipe_sulfuric = {
|
|
type = "recipe",
|
|
category = "chemistry",
|
|
name = "adamo-nuclear-HEU-PUREX-by-H2SO4",
|
|
subgroup = "adamo-nuclear-spent-fuel-group",
|
|
order = "m3",
|
|
energy_required = 70,
|
|
emissions_multiplier = 3,
|
|
enabled = false,
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "sulfuric-acid",
|
|
amount = 70
|
|
},{
|
|
type = "fluid",
|
|
name = "petroleum-gas",
|
|
amount = 70
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-chemical-hydrofluoric-acid",
|
|
amount = 420
|
|
},{
|
|
type = "item",
|
|
name = "used-up-uranium-fuel-cell",
|
|
amount = 7
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
-- name = "adamo-nuclear-aqueous-raffinate",
|
|
name = "adamo-nuclear-raffinate",
|
|
amount = 231
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-HEU-PUREX-hex",
|
|
amount = 70
|
|
}},
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/HEU-PUREX.png",
|
|
crafting_machine_tint = {
|
|
primary = uranium_hex_base_color,
|
|
secondary = aqueous_raffinate_base_color,
|
|
tertiary = sulfuric_flow_color,
|
|
quaternary = oxide_color_table.HEU
|
|
},
|
|
}
|
|
local HEU_PUREX_recipe_hydrofluoric = {
|
|
type = "recipe",
|
|
category = "chemistry",
|
|
name = "adamo-nuclear-HEU-PUREX-by-HF",
|
|
subgroup = "adamo-nuclear-spent-fuel-group",
|
|
order = "m4",
|
|
energy_required = 70,
|
|
emissions_multiplier = 3,
|
|
enabled = false,
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "petroleum-gas",
|
|
amount = 70
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-chemical-hydrofluoric-acid",
|
|
amount = 490
|
|
},{
|
|
type = "item",
|
|
name = "used-up-uranium-fuel-cell",
|
|
amount = 7
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
-- name = "adamo-nuclear-aqueous-raffinate",
|
|
name = "adamo-nuclear-raffinate",
|
|
amount = 231
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-HEU-PUREX-hex",
|
|
amount = 70
|
|
}},
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/HEU-PUREX.png",
|
|
crafting_machine_tint = {
|
|
primary = uranium_hex_base_color,
|
|
secondary = aqueous_raffinate_base_color,
|
|
tertiary = adamo.colors.hf_flow,
|
|
quaternary = oxide_color_table.HEU
|
|
},
|
|
}
|
|
local LEU_REMIX_recipe = {
|
|
type = "recipe",
|
|
category = "crafting-with-fluid",
|
|
name = "adamo-nuclear-LEU-REMIX",
|
|
subgroup = "adamo-nuclear-spent-fuel-group",
|
|
order = "n1",
|
|
energy_required = 270,
|
|
emissions_multiplier = 5,
|
|
enabled = false,
|
|
ingredients = {{
|
|
type = "item",
|
|
name = "adamo-nuclear-HEU-oxide",
|
|
amount = 1
|
|
},{
|
|
type = "item",
|
|
name = "adamo-nuclear-used-up-LEU-fuel-cell",
|
|
amount = 27
|
|
},{
|
|
type = "fluid",
|
|
name = "petroleum-gas",
|
|
amount = 270
|
|
},{
|
|
type = "item",
|
|
name = "iron-plate",
|
|
amount = 27
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-raffinate",
|
|
-- amount = 10
|
|
amount = 100
|
|
},{
|
|
type = "item",
|
|
name = "adamo-nuclear-LEU-fuel-cell",
|
|
amount = 27
|
|
}},
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/LEU-REMIX.png",
|
|
crafting_machine_tint = {
|
|
primary = raffinate_base_color,
|
|
secondary = adamo.colors.highgrey,
|
|
tertiary = pg_flow_color,
|
|
quaternary = oxide_color_table.LEU
|
|
},
|
|
}
|
|
local MOX_REMIX_recipe = {
|
|
type = "recipe",
|
|
category = "crafting-with-fluid",
|
|
name = "adamo-nuclear-MOX-REMIX",
|
|
subgroup = "adamo-nuclear-spent-fuel-group",
|
|
order = "n2",
|
|
energy_required = 340,
|
|
emissions_multiplier = 5,
|
|
enabled = false,
|
|
ingredients = {{
|
|
type = "item",
|
|
name = "adamo-nuclear-RGPu-oxide",
|
|
amount = 1
|
|
},{
|
|
type = "item",
|
|
name = "adamo-nuclear-used-up-MOX-fuel-cell",
|
|
amount = 34
|
|
},{
|
|
type = "fluid",
|
|
name = "petroleum-gas",
|
|
amount = 340
|
|
},{
|
|
type = "item",
|
|
name = "iron-plate",
|
|
amount = 33
|
|
}},
|
|
results = {{
|
|
type = "item",
|
|
name = "adamo-nuclear-MOX-fuel-cell",
|
|
amount = 33
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-raffinate",
|
|
-- amount = 20
|
|
amount = 200
|
|
}},
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/MOX-REMIX.png",
|
|
crafting_machine_tint = {
|
|
primary = raffinate_base_color,
|
|
secondary = adamo.colors.highgrey,
|
|
tertiary = pg_flow_color,
|
|
quaternary = oxide_color_table.RGPu
|
|
},
|
|
}
|
|
local LEU_fuel_recipe = {
|
|
type = "recipe",
|
|
name = "adamo-nuclear-LEU-fuel-cell",
|
|
energy_required = 10,
|
|
category = "advanced-crafting",
|
|
enabled = false,
|
|
ingredients = {{
|
|
"adamo-nuclear-LEU-oxide",1
|
|
},{
|
|
"iron-plate",1
|
|
}},
|
|
result = "adamo-nuclear-LEU-fuel-cell"
|
|
}
|
|
local MOX_fuel_recipe = {
|
|
type = "recipe",
|
|
name = "adamo-nuclear-MOX-fuel-cell",
|
|
subgroup = "adamo-nuclear-products-group",
|
|
order = "p",
|
|
energy_required = 100,
|
|
category = "advanced-crafting",
|
|
enabled = false,
|
|
ingredients = {
|
|
{type = "item", name = "adamo-nuclear-DU-oxide", amount = 93},
|
|
{type = "item", name = "adamo-nuclear-RGPu-oxide", amount = 7},
|
|
{type = "item", name = "iron-plate", amount = 100},
|
|
},
|
|
results = {{"adamo-nuclear-MOX-fuel-cell",100}},
|
|
}
|
|
-- local aqueous_raffinate_processing_recipe = {
|
|
-- type = "recipe",
|
|
-- category = "chemistry",
|
|
-- name = "adamo-nuclear-aqueous-raffinate-processing",
|
|
-- subgroup = "adamo-nuclear-processing-group",
|
|
-- order = "p1",
|
|
-- energy_required = 30,
|
|
-- category = "chemistry",
|
|
-- enabled = false,
|
|
-- ingredients = {{
|
|
-- type = "fluid",
|
|
-- name = "adamo-nuclear-aqueous-raffinate",
|
|
-- amount = 300
|
|
-- }},
|
|
-- results = {{
|
|
-- type = "fluid",
|
|
-- name = "adamo-nuclear-raffinate",
|
|
-- amount = 1,
|
|
-- }},
|
|
-- crafting_machine_tint = {
|
|
-- primary = raffinate_base_color,
|
|
-- secondary = aqueous_raffinate_base_color,
|
|
-- tertiary = aqueous_raffinate_flow_color,
|
|
-- quaternary = raffinate_flow_color
|
|
-- },
|
|
-- }
|
|
local raffinate_processing_recipe = {
|
|
type = "recipe",
|
|
name = "adamo-nuclear-raffinate-processing",
|
|
subgroup = "adamo-nuclear-processing-group",
|
|
order = "p2",
|
|
energy_required = 10,
|
|
category = "chemistry",
|
|
enabled = false,
|
|
icon_size = 64,
|
|
icon = "__adamo-nuclear__/graphics/icons/raffinate-processing.png",
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-raffinate",
|
|
amount = 300,
|
|
},{
|
|
type = "fluid",
|
|
name = "water",
|
|
amount = 300,
|
|
},{
|
|
type = "item",
|
|
name = "stone",
|
|
amount = 30,
|
|
}},
|
|
results = {{
|
|
type = "item",
|
|
name = "adamo-nuclear-actinides",
|
|
amount = 1
|
|
},{
|
|
type = "item",
|
|
name = "adamo-nuclear-ceramic-waste",
|
|
amount = 2
|
|
}},
|
|
crafting_machine_tint = {
|
|
primary = raffinate_base_color,
|
|
secondary = {r = 227, g = 124, b = 14},
|
|
tertiary = raffinate_flow_color,
|
|
quaternary = adamo.colors.highbrown
|
|
},
|
|
}
|
|
local plutonium_rocket_recipe = {
|
|
type = "recipe",
|
|
name = "adamo-nuclear-thermonuclear-rocket",
|
|
energy_required = 50,
|
|
order = "d[rocket-launcher]-n[adamo-nuclear-thermonuclear-rocket]",
|
|
enabled = false,
|
|
main_product = "adamo-nuclear-thermonuclear-rocket",
|
|
category = "crafting-with-fluid",
|
|
ingredients = {{
|
|
type = "item",
|
|
name = "rocket",
|
|
amount = 1
|
|
},{
|
|
type = "item",
|
|
name = "explosives",
|
|
amount = 1
|
|
},{
|
|
type = "item",
|
|
name = "rocket-control-unit",
|
|
amount = 1
|
|
},{
|
|
type = "item",
|
|
name = "adamo-nuclear-WGPu-oxide",
|
|
amount = 1
|
|
},{
|
|
type = "item",
|
|
name = "adamo-nuclear-DU-oxide",
|
|
amount = 1
|
|
},{
|
|
type = "fluid",
|
|
name = "water",
|
|
amount = 100
|
|
}},
|
|
result = "adamo-nuclear-thermonuclear-rocket",
|
|
}
|
|
local thermal_reactor_recipe = {
|
|
type = "recipe",
|
|
name = "adamo-nuclear-thermal-reactor",
|
|
energy_required = 2,
|
|
enabled = false,
|
|
ingredients = {
|
|
{"concrete", 40},
|
|
{"steel-plate", 20},
|
|
{"adamo-nuclear-DU-oxide",20},
|
|
{"advanced-circuit", 50},
|
|
{"pipe", 10}
|
|
},
|
|
result = "adamo-nuclear-thermal-reactor",
|
|
}
|
|
local prod_reactor_recipe = {
|
|
type = "recipe",
|
|
name = "adamo-nuclear-production-reactor",
|
|
energy_required = 4,
|
|
enabled = false,
|
|
ingredients = {
|
|
{"centrifuge", 1},
|
|
{"adamo-nuclear-DU-oxide", 100},
|
|
{"refined-concrete", 100},
|
|
{"filter-inserter",5},
|
|
{"steel-chest",5}
|
|
-- processing unit?
|
|
},
|
|
result = "adamo-nuclear-production-reactor",
|
|
}
|
|
data:extend({
|
|
urania_recipe_sulfuric,
|
|
urania_recipe_hydrofluoric,
|
|
urania_hex_recipe,
|
|
LEU_enrichment_recipe,
|
|
HEU_enrichment_recipe,
|
|
WGU_enrichment_recipe,
|
|
Pu_enrichment_recipe,
|
|
LEU_PUREX_enrichment_recipe,
|
|
HEU_PUREX_enrichment_recipe,
|
|
plutonia_238_recipe,
|
|
RGPu_recipe,
|
|
LEU_PUREX_recipe_sulfuric,
|
|
LEU_PUREX_recipe_hydrofluoric,
|
|
HEU_PUREX_recipe_sulfuric,
|
|
HEU_PUREX_recipe_hydrofluoric,
|
|
LEU_REMIX_recipe,
|
|
MOX_REMIX_recipe,
|
|
LEU_fuel_recipe,
|
|
MOX_fuel_recipe,
|
|
-- aqueous_raffinate_processing_recipe,
|
|
raffinate_processing_recipe,
|
|
plutonium_rocket_recipe,
|
|
thermal_reactor_recipe,
|
|
prod_reactor_recipe,
|
|
})
|
|
add_recipes_to_tech("uranium-processing", {
|
|
"adamo-nuclear-urania-by-H2SO4",
|
|
"adamo-nuclear-urania-by-HF",
|
|
"adamo-nuclear-natural-uranium-hex",
|
|
"adamo-nuclear-LEU-enrichment",
|
|
"adamo-nuclear-LEU-fuel-cell",
|
|
"adamo-nuclear-thermal-reactor"
|
|
})
|
|
add_recipes_to_tech("nuclear-power", {
|
|
"adamo-nuclear-HEU-enrichment",
|
|
"adamo-nuclear-WGU-enrichment"
|
|
})
|
|
move_recipe_to_tech("nuclear-power","atomic-bomb")
|
|
add_recipes_to_tech("nuclear-fuel-reprocessing", {
|
|
"adamo-nuclear-production-reactor",
|
|
"adamo-nuclear-LEU-PUREX-by-HF",
|
|
"adamo-nuclear-LEU-PUREX-by-H2SO4",
|
|
"adamo-nuclear-LEU-REMIX",
|
|
"adamo-nuclear-HEU-PUREX-by-HF",
|
|
"adamo-nuclear-HEU-PUREX-by-H2SO4",
|
|
"adamo-nuclear-LEU-PUREX-enrichment",
|
|
"adamo-nuclear-HEU-PUREX-enrichment",
|
|
"adamo-nuclear-transmute-Pu238-oxide",
|
|
"adamo-nuclear-highgrade-RGPu-oxide",
|
|
-- "adamo-nuclear-aqueous-raffinate-processing",
|
|
"adamo-nuclear-raffinate-processing"
|
|
})
|
|
add_recipes_to_tech("kovarex-enrichment-process", {
|
|
"adamo-nuclear-MOX-fuel-cell",
|
|
"adamo-nuclear-MOX-REMIX"
|
|
})
|
|
add_recipes_to_tech("atomic-bomb", {
|
|
"adamo-nuclear-WGPu-enrichment",
|
|
"adamo-nuclear-thermonuclear-rocket"
|
|
})
|
|
adamo.recipes.set.productivity({
|
|
"adamo-nuclear-urania-by-H2SO4",
|
|
"adamo-nuclear-urania-by-HF",
|
|
"adamo-nuclear-raffinate-processing",
|
|
"adamo-nuclear-transmute-Pu238-oxide",
|
|
"adamo-nuclear-natural-uranium-hex",
|
|
"adamo-nuclear-highgrade-RGPu-oxide"
|
|
})
|
|
|
|
-- Oxides and hexes.
|
|
local order_number = 1
|
|
data:extend({{
|
|
type = "item",
|
|
name = "adamo-nuclear-Pu238-oxide",
|
|
subgroup = "adamo-nuclear-products-group",
|
|
order = "p",
|
|
stack_size = 50,
|
|
icon = "__adamo-nuclear__/graphics/icons/Pu238.png",
|
|
icon_size = 32,
|
|
}})
|
|
for _,grade in pairs({
|
|
"DU","LEU","HEU","WGU","RGPu","WGPu"
|
|
}) do
|
|
local oxide_color = oxide_color_table[grade]
|
|
local hex_color = uranium_hex_base_color
|
|
local hex_flow_color = uranium_hex_flow_color
|
|
if grade:match "Pu" then
|
|
hex_color = plutonium_hex_base_color
|
|
hex_flow_color = plutonium_hex_flow_color
|
|
end
|
|
local hex_recipe = {
|
|
type = "recipe",
|
|
name = "adamo-nuclear-"..grade.."-hex",
|
|
category = "chemistry",
|
|
enabled = false,
|
|
energy_required = 30,
|
|
always_show_made_in = true,
|
|
main_product = "adamo-nuclear-"..grade.."-hex",
|
|
ingredients = {{
|
|
type = "item",
|
|
name = "adamo-nuclear-"..grade.."-oxide",
|
|
amount = 1
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-chemical-hydrofluoric-acid",
|
|
amount = 60
|
|
},{
|
|
type = "fluid",
|
|
name = "water",
|
|
amount = 30
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-"..grade.."-hex",
|
|
amount = 10
|
|
}},
|
|
hide_from_player_crafting = true,
|
|
crafting_machine_tint = {
|
|
primary = hex_color,
|
|
secondary = adamo.colors.hf_base,
|
|
tertiary = adamo.colors.hf_flow,
|
|
quaternary = oxide_color
|
|
},
|
|
}
|
|
local oxide_recipe = {
|
|
type = "recipe",
|
|
category = "chemistry",
|
|
name = "adamo-nuclear-"..grade.."-oxide",
|
|
main_product = "adamo-nuclear-"..grade.."-oxide",
|
|
enabled = false,
|
|
energy_required = 10,
|
|
always_show_made_in = true,
|
|
ingredients = {{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-"..grade.."-hex",
|
|
amount = 10
|
|
},{
|
|
type = "fluid",
|
|
name = "water",
|
|
amount = 30
|
|
}},
|
|
results = {{
|
|
type = "fluid",
|
|
name = "adamo-chemical-hydrofluoric-acid",
|
|
amount = 60,
|
|
},{
|
|
type = "item",
|
|
name = "adamo-nuclear-"..grade.."-oxide",
|
|
amount = 1
|
|
}},
|
|
crafting_machine_tint = {
|
|
primary = adamo.colors.hf_base,
|
|
secondary = oxide_color,
|
|
tertiary = hex_flow_color,
|
|
quaternary = data.raw.fluid.water.flow_color
|
|
},
|
|
}
|
|
local item = {
|
|
type = "item",
|
|
name = "adamo-nuclear-"..grade.."-oxide",
|
|
subgroup = "adamo-nuclear-oxide-group",
|
|
order = "nz"..order_number,
|
|
stack_size = 50,
|
|
icon = "__adamo-nuclear__/graphics/icons/"..grade..".png",
|
|
icon_size = 32,
|
|
}
|
|
local fluid = {
|
|
type = "fluid",
|
|
name = "adamo-nuclear-"..grade.."-hex",
|
|
group = "fluid",
|
|
subgroup = "adamo-nuclear-hex-group",
|
|
order = "nz"..order_number,
|
|
icon = "__adamo-nuclear__/graphics/icons/"..grade.."-hex.png",
|
|
icon_size = 32,
|
|
base_color = hex_color,
|
|
flow_color = hex_flow_color,
|
|
default_temperature = 25,
|
|
max_temperature = 100,
|
|
heat_capacity = "0.1KJ",
|
|
|
|
}
|
|
data:extend({hex_recipe,oxide_recipe,item,fluid})
|
|
if grade:match "Pu" then
|
|
add_recipe_to_tech("atomic-bomb",
|
|
"adamo-nuclear-"..grade.."-oxide"
|
|
)
|
|
add_recipe_to_tech("atomic-bomb",
|
|
"adamo-nuclear-"..grade.."-hex"
|
|
)
|
|
elseif grade:match "LEU" or grade:match "DU" then
|
|
add_recipe_to_tech("uranium-processing",
|
|
"adamo-nuclear-"..grade.."-oxide"
|
|
)
|
|
add_recipe_to_tech("uranium-processing",
|
|
"adamo-nuclear-"..grade.."-hex"
|
|
)
|
|
else
|
|
add_recipe_to_tech("nuclear-power",
|
|
"adamo-nuclear-"..grade.."-oxide"
|
|
)
|
|
add_recipe_to_tech("nuclear-power",
|
|
"adamo-nuclear-"..grade.."-hex"
|
|
)
|
|
end
|
|
order_number = order_number + 1
|
|
end
|
|
|
|
local grade = "DU"
|
|
data.raw.recipe["adamo-nuclear-"..grade.."-oxide"].ingredients = {{
|
|
type = "fluid",
|
|
name = "water",
|
|
amount = 30
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-"..grade.."-hex",
|
|
amount = 10
|
|
}}
|
|
|
|
local grade = "RGPu"
|
|
data.raw.recipe["adamo-nuclear-"..grade.."-oxide"].ingredients = {{
|
|
type = "fluid",
|
|
name = "water",
|
|
amount = 30
|
|
},{
|
|
type = "fluid",
|
|
name = "adamo-nuclear-"..grade.."-hex",
|
|
amount = 10
|
|
}}
|
|
|
|
local thermal_reactor_entity = {
|
|
type = "boiler",
|
|
name = "adamo-nuclear-thermal-reactor",
|
|
icon = "__adamo-nuclear__/graphics/icons/thermal-reactor.png",
|
|
icon_size = 32,
|
|
flags = {"placeable-neutral", "player-creation"},
|
|
minable = {
|
|
mining_time = 0.2,
|
|
result = "adamo-nuclear-thermal-reactor"
|
|
},
|
|
fast_replaceable_group = "boiler",
|
|
max_health = 200,
|
|
corpse = "boiler-remnants",
|
|
vehicle_impact_sound = {
|
|
filename = "__base__/sound/car-metal-impact.ogg",
|
|
volume = 0.65
|
|
},
|
|
mode = "output-to-separate-pipe",
|
|
resistances = {{
|
|
type = "fire",
|
|
percent = 90
|
|
},{
|
|
type = "explosion",
|
|
percent = 30
|
|
},{
|
|
type = "impact",
|
|
percent = 30
|
|
}},
|
|
collision_box = {{-1.29, -0.79}, {1.29, 0.79}},
|
|
selection_box = {{-1.5, -1}, {1.5, 1}},
|
|
target_temperature = 165,
|
|
fluid_box = {
|
|
base_area = 2,
|
|
height = 2,
|
|
base_level = -1,
|
|
pipe_covers = pipecoverspictures(),
|
|
pipe_connections = {{
|
|
type = "input-output",
|
|
position = {-2, 0.5}
|
|
},{
|
|
type = "input-output",
|
|
position = {2, 0.5}}
|
|
},
|
|
production_type = "input-output",
|
|
filter = "water"
|
|
},
|
|
output_fluid_box = {
|
|
base_area = 2,
|
|
height = 2,
|
|
base_level = 1,
|
|
pipe_covers = pipecoverspictures(),
|
|
pipe_connections = {{
|
|
type = "output",
|
|
position = {0, -1.5}
|
|
}},
|
|
production_type = "output",
|
|
filter = "steam"
|
|
},
|
|
energy_consumption = "3600kW",
|
|
energy_source = {
|
|
type = "burner",
|
|
fuel_category = "adamo-nuclear-thermal-reaction",
|
|
effectivity = 1,
|
|
fuel_inventory_size = 1,
|
|
burnt_inventory_size =1,
|
|
emissions_per_minute = 0,
|
|
smoke = nil,
|
|
light_flicker = {
|
|
color = {r = 0,g = 0,b = 1,a = 0.3},
|
|
minimum_intensity = 0.3,
|
|
maximum_intensity = 0.3,
|
|
minimum_light_size = 0.1,
|
|
light_intensity_to_size_coefficient = 1
|
|
}
|
|
},
|
|
working_sound = data.raw.boiler["boiler"].working_sound,
|
|
structure = data.raw.boiler["boiler"].structure,
|
|
patch = data.raw.boiler["boiler"].patch,
|
|
fire_flicker_enabled = false,
|
|
fire_glow_flicker_enabled = false,
|
|
fire = {
|
|
north = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."thermal-reactor-N-fire.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 12,
|
|
height = 13,
|
|
shift = util.by_pixel(0, -8.5),
|
|
hr_version = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."hr-thermal-reactor-N-fire.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 26,
|
|
height = 26,
|
|
shift = util.by_pixel(0, -8.5),
|
|
scale = 0.5
|
|
}
|
|
},
|
|
east = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."thermal-reactor-E-fire.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 14,
|
|
height = 14,
|
|
shift = util.by_pixel(-10, -22),
|
|
hr_version = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."hr-thermal-reactor-E-fire.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 28,
|
|
height = 28,
|
|
shift = util.by_pixel(-9.5, -22),
|
|
scale = 0.5
|
|
}
|
|
},
|
|
south = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."thermal-reactor-S-fire.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 12,
|
|
height = 9,
|
|
shift = util.by_pixel(-1, -26.5),
|
|
hr_version = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."hr-thermal-reactor-S-fire.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 26,
|
|
height = 16,
|
|
shift = util.by_pixel(-1, -26.5),
|
|
scale = 0.5
|
|
}
|
|
},
|
|
west = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."thermal-reactor-W-fire.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 14,
|
|
height = 14,
|
|
shift = util.by_pixel(13, -23),
|
|
hr_version = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."hr-thermal-reactor-W-fire.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 30,
|
|
height = 29,
|
|
shift = util.by_pixel(13, -23.25),
|
|
scale = 0.5
|
|
}
|
|
}
|
|
},
|
|
fire_glow = {
|
|
north = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."thermal-reactor-N-light.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 100,
|
|
height = 87,
|
|
shift = util.by_pixel(-1, -6.5),
|
|
blend_mode = "additive-soft",
|
|
hr_version = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."hr-thermal-reactor-N-light.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 200,
|
|
height = 173,
|
|
shift = util.by_pixel(-1, -6.75),
|
|
blend_mode = "additive-soft",
|
|
scale = 0.5
|
|
}
|
|
},
|
|
east = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."thermal-reactor-E-light.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 70,
|
|
height = 122,
|
|
shift = util.by_pixel(0, -13),
|
|
blend_mode = "additive-soft",
|
|
hr_version = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."hr-thermal-reactor-E-light.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 139,
|
|
height = 244,
|
|
shift = util.by_pixel(0.25, -13),
|
|
blend_mode = "additive-soft",
|
|
scale = 0.5
|
|
}
|
|
},
|
|
south = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."thermal-reactor-S-light.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 100,
|
|
height = 81,
|
|
shift = util.by_pixel(1, 5.5),
|
|
blend_mode = "additive-soft",
|
|
hr_version = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."hr-thermal-reactor-S-light.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 200,
|
|
height = 162,
|
|
shift = util.by_pixel(1, 5.5),
|
|
blend_mode = "additive-soft",
|
|
scale = 0.5
|
|
}
|
|
},
|
|
west = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."thermal-reactor-W-light.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 68,
|
|
height = 109,
|
|
shift = util.by_pixel(2, -6.5),
|
|
blend_mode = "additive-soft",
|
|
hr_version = {
|
|
filename = "__adamo-nuclear__/graphics/entity/"
|
|
.."hr-thermal-reactor-W-light.png",
|
|
priority = "extra-high",
|
|
frame_count = 1,
|
|
width = 136,
|
|
height = 217,
|
|
shift = util.by_pixel(2, -6.25),
|
|
blend_mode = "additive-soft",
|
|
scale = 0.5
|
|
}
|
|
}
|
|
},
|
|
burning_cooldown = 20
|
|
}
|
|
local prod_anim_speed = 0.5
|
|
local prod_reactor_corpse = adamo.centrifuge.remnants(5/3)
|
|
prod_reactor_corpse.name = "adamo-nuyclear-production-reactor-remnants"
|
|
local prod_reactor_explosion = adamo.centrifuge.explosion(5/3)
|
|
prod_reactor_explosion.name = "adamo-nuclear-production-reactor-explosion"
|
|
local prod_reactor_entity = {
|
|
type = "assembling-machine",
|
|
name = "adamo-nuclear-production-reactor",
|
|
icon =
|
|
"__adamo-nuclear__/graphics/icons/"
|
|
.."production-reactor.png",
|
|
icon_size = 32,
|
|
flags = {
|
|
"placeable-neutral",
|
|
"placeable-player",
|
|
"player-creation"
|
|
},
|
|
minable = {
|
|
mining_time = 1,
|
|
result = "adamo-nuclear-production-reactor"
|
|
},
|
|
max_health = 350,
|
|
crafting_speed = 1,
|
|
crafting_categories = {"neutron-bombardment"},
|
|
energy_source = {
|
|
type = "electric",
|
|
usage_priority = "secondary-input"
|
|
},
|
|
energy_usage = "750kW",
|
|
module_specification = {
|
|
module_slots = 4
|
|
},
|
|
allowed_effects = {
|
|
"consumption",
|
|
"speed",
|
|
"productivity",
|
|
"pollution"
|
|
},
|
|
corpse = "adamo-nuyclear-production-reactor-remnants",
|
|
dying_explosion = "adamo-nuclear-production-reactor-explosion",
|
|
resistances = {{
|
|
type = "fire",
|
|
percent = 70
|
|
}},
|
|
collision_box = adamo.centrifuge.collision_box(5/3),
|
|
selection_box = adamo.centrifuge.selection_box(5/3),
|
|
drawing_box = adamo.centrifuge.drawing_box(5/3),
|
|
always_draw_idle_animation = true,
|
|
idle_animation = {layers = adamo.centrifuge.idle_layers(3/2,prod_anim_speed)},
|
|
animation = {
|
|
layers = {{
|
|
filename = "__adamo-nuclear__/graphics/entity/production-reactor-C-light.png",
|
|
priority = "high",
|
|
blend_mode = "additive", -- centrifuge
|
|
line_length = 8,
|
|
width = 96,
|
|
height = 104,
|
|
frame_count = 64,
|
|
animation_speed = prod_anim_speed,
|
|
draw_as_glow = true,
|
|
shift = util.by_pixel(0*3/2, -27*3/2),
|
|
scale = 3/2,
|
|
hr_version = {
|
|
filename =
|
|
"__adamo-nuclear__/graphics/entity/"
|
|
.."hr-production-reactor-C-light.png",
|
|
priority = "high",
|
|
scale = 0.5*3/2,
|
|
blend_mode = "additive", -- centrifuge
|
|
line_length = 8,
|
|
width = 190,
|
|
height = 207,
|
|
frame_count = 64,
|
|
animation_speed = prod_anim_speed,
|
|
draw_as_glow = true,
|
|
shift = util.by_pixel(0*3/2, -27.25*3/2)
|
|
}
|
|
},{
|
|
filename =
|
|
"__adamo-nuclear__/graphics/entity/"
|
|
.."production-reactor-B-light.png",
|
|
priority = "high",
|
|
blend_mode = "additive", -- centrifuge
|
|
line_length = 8,
|
|
width = 65,
|
|
height = 103,
|
|
frame_count = 64,
|
|
animation_speed = prod_anim_speed,
|
|
draw_as_glow = true,
|
|
shift = util.by_pixel(16.5*3/2, 0.5*3/2),
|
|
scale = 3/2,
|
|
hr_version = {
|
|
filename =
|
|
"__adamo-nuclear__/graphics/entity/"
|
|
.."hr-production-reactor-B-light.png",
|
|
priority = "high",
|
|
scale = 0.5*3/2,
|
|
blend_mode = "additive", -- centrifuge
|
|
line_length = 8,
|
|
width = 131,
|
|
height = 206,
|
|
frame_count = 64,
|
|
animation_speed = prod_anim_speed,
|
|
draw_as_glow = true,
|
|
shift = util.by_pixel(16.75*3/2, 0.5*3/2)
|
|
}
|
|
},{
|
|
filename =
|
|
"__adamo-nuclear__/graphics/entity/"
|
|
.."production-reactor-A-light.png",
|
|
priority = "high",
|
|
blend_mode = "additive", -- centrifuge
|
|
line_length = 8,
|
|
width = 55,
|
|
height = 98,
|
|
frame_count = 64,
|
|
animation_speed = prod_anim_speed,
|
|
draw_as_glow = true,
|
|
shift = util.by_pixel(-23.5*3/2, -2*3/2),
|
|
scale = 3/2,
|
|
hr_version = {
|
|
filename =
|
|
"__adamo-nuclear__/graphics/entity/"
|
|
.."hr-production-reactor-A-light.png",
|
|
priority = "high",
|
|
scale = 0.5*3/2,
|
|
blend_mode = "additive", -- centrifuge
|
|
line_length = 8,
|
|
width = 108,
|
|
height = 197,
|
|
frame_count = 64,
|
|
animation_speed = prod_anim_speed,
|
|
draw_as_glow = true,
|
|
shift = util.by_pixel(-23.5*3/2, -1.75*3/2)
|
|
}
|
|
}}
|
|
},
|
|
working_visualisations = {{
|
|
effect = "uranium-glow",
|
|
fadeout = true,
|
|
light = {
|
|
intensity = 0.55,
|
|
size = 9.9*3/2,
|
|
shift = {0.0, 0.0},
|
|
color = {
|
|
r = 0.0,
|
|
g = 0.15,
|
|
b = 1.0
|
|
}
|
|
}
|
|
}},
|
|
open_sound = {
|
|
filename = "__base__/sound/machine-open.ogg",
|
|
volume = 0.85
|
|
},
|
|
close_sound = {
|
|
filename = "__base__/sound/machine-close.ogg",
|
|
volume = 0.75
|
|
},
|
|
vehicle_impact_sound = {
|
|
filename = "__base__/sound/car-metal-impact.ogg",
|
|
volume = 0.65
|
|
},
|
|
working_sound = {
|
|
sound = {{
|
|
filename = "__base__/sound/assembling-machine-t2-1.ogg",
|
|
volume = 0.8
|
|
},{
|
|
filename = "__base__/sound/assembling-machine-t2-2.ogg",
|
|
volume = 0.8
|
|
}},
|
|
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
|
|
apparent_volume = 1.5
|
|
},
|
|
fluid_boxes = adamo.centrifuge.fluid_boxes(5/3)
|
|
}
|
|
|
|
data:extend({
|
|
thermal_reactor_entity,
|
|
prod_reactor_entity,
|
|
prod_reactor_corpse,
|
|
prod_reactor_explosion,
|
|
})
|
|
|
|
local plutonium_explosion_wave = {
|
|
type = "projectile",
|
|
name = "adamo-nuclear-atomic-explosion-wave",
|
|
flags = {"not-on-map"},
|
|
acceleration = 0,
|
|
action =
|
|
{
|
|
{
|
|
type = "direct",
|
|
action_delivery =
|
|
{
|
|
type = "instant",
|
|
target_effects =
|
|
{
|
|
{
|
|
type = "create-entity",
|
|
entity_name = "explosion"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
type = "area",
|
|
radius = 3,
|
|
action_delivery =
|
|
{
|
|
type = "instant",
|
|
target_effects =
|
|
{
|
|
type = "damage",
|
|
damage = {amount = 1000, type = "explosion"}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
animation =
|
|
{
|
|
filename = "__core__/graphics/empty.png",
|
|
frame_count = 1,
|
|
width = 1,
|
|
height = 1,
|
|
priority = "high"
|
|
},
|
|
shadow =
|
|
{
|
|
filename = "__core__/graphics/empty.png",
|
|
frame_count = 1,
|
|
width = 1,
|
|
height = 1,
|
|
priority = "high"
|
|
}
|
|
}
|
|
local plutonium_rocket_projectile = {
|
|
type = "projectile",
|
|
name = "adamo-nuclear-thermonuclear-rocket-projectile",
|
|
flags = {"not-on-map"},
|
|
acceleration = 0.005,
|
|
action =
|
|
{
|
|
type = "direct",
|
|
action_delivery =
|
|
{
|
|
type = "instant",
|
|
target_effects =
|
|
{
|
|
{
|
|
repeat_count = 150,
|
|
type = "create-trivial-smoke",
|
|
smoke_name = "nuclear-smoke",
|
|
offset_deviation = {{-1, -1}, {1, 1}},
|
|
starting_frame = 3,
|
|
starting_frame_deviation = 5,
|
|
starting_frame_speed = 0,
|
|
starting_frame_speed_deviation = 5,
|
|
speed_from_center = 0.5
|
|
},
|
|
{
|
|
type = "create-entity",
|
|
entity_name = "explosion"
|
|
},
|
|
{
|
|
type = "damage",
|
|
damage = {amount = 1000, type = "explosion"}
|
|
},
|
|
{
|
|
type = "create-entity",
|
|
entity_name = "small-scorchmark",
|
|
check_buildability = true
|
|
},
|
|
{
|
|
type = "nested-result",
|
|
action =
|
|
{
|
|
type = "area",
|
|
target_entities = false,
|
|
trigger_from_target = true,
|
|
repeat_count = 2000,
|
|
radius = 35,
|
|
action_delivery =
|
|
{
|
|
type = "projectile",
|
|
projectile = "adamo-nuclear-atomic-explosion-wave",
|
|
starting_speed = 0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
light = {intensity = 0.8, size = 15},
|
|
animation =
|
|
{
|
|
filename =
|
|
"__base__/graphics/entity/"
|
|
.."rocket/rocket.png",
|
|
frame_count = 8,
|
|
line_length = 8,
|
|
width = 9,
|
|
height = 35,
|
|
shift = {0, 0},
|
|
priority = "high"
|
|
},
|
|
shadow =
|
|
{
|
|
filename =
|
|
"__base__/graphics/entity/"
|
|
.."rocket/rocket-shadow.png",
|
|
frame_count = 1,
|
|
width = 7,
|
|
height = 24,
|
|
priority = "high",
|
|
shift = {0, 0}
|
|
},
|
|
smoke =
|
|
{
|
|
{
|
|
name = "smoke-fast",
|
|
deviation = {0.15, 0.15},
|
|
frequency = 1,
|
|
position = {0, 1},
|
|
slow_down_factor = 1,
|
|
starting_frame = 3,
|
|
starting_frame_deviation = 5,
|
|
starting_frame_speed = 0,
|
|
starting_frame_speed_deviation = 5
|
|
}
|
|
}
|
|
}
|
|
local plutonium_rocket_ammo = {
|
|
type = "ammo",
|
|
name = "adamo-nuclear-thermonuclear-rocket",
|
|
subgroup = "ammo",
|
|
order = "d[rocket-launcher]-r[adamo-nuclear-thermonuclear-rocket]",
|
|
stack_size = 10,
|
|
icon = "__base__/graphics/icons/atomic-bomb.png",
|
|
icon_size = 64,
|
|
icon_mipmaps = 4,
|
|
ammo_type =
|
|
{
|
|
range_modifier = 3,
|
|
cooldown_modifier = 3,
|
|
target_type = "position",
|
|
category = "rocket",
|
|
action =
|
|
{
|
|
type = "direct",
|
|
action_delivery =
|
|
{
|
|
type = "projectile",
|
|
projectile = "adamo-nuclear-thermonuclear-rocket-projectile",
|
|
starting_speed = 0.05,
|
|
source_effects =
|
|
{
|
|
type = "create-entity",
|
|
entity_name = "explosion-hit"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
data:extend({
|
|
plutonium_explosion_wave,
|
|
plutonium_rocket_projectile,
|
|
plutonium_rocket_ammo
|
|
})
|