add nuclear waste/neutron fluid

This commit is contained in:
Paul 2021-09-03 23:47:20 +02:00
parent a505d19060
commit 20879f7d46
28 changed files with 711 additions and 45 deletions

View file

@ -338,4 +338,19 @@ data:extend({
subgroup = 'fu_item_subgroup_f',
order = 'a-a',
},
{
name = 'fu_neutron_fluid',
type = 'fluid',
icon = sprite('fu_neutron_fluid.png'),
icon_size = 64,
default_temperature = 15,
max_temperature = 1500,
heat_capacity = '100kJ',
base_color = { r=0.92, g=0.29, b=0.22 },
flow_color = { r=0.92, g=0.29, b=0.22 },
pressure_to_speed_ratio = 0.400,
flow_to_energy_ratio = 0,
subgroup = 'fu_item_subgroup_f',
order = 'a-a',
},
})

View file

@ -435,6 +435,10 @@ data:extend({
name = 'fi_fiberer_category',
type = 'recipe-category',
},
{
name = 'fi_castor_category',
type = 'recipe-category',
},
{
name = 'fi_compound_machine_category',
type = 'recipe-category',

View file

@ -1192,6 +1192,32 @@ data:extend({
time = 30,
},
},
{
name = 'fi_castor_tech',
type = 'technology',
icon = sprite('fi_castor_tech.png'),
icon_size = 128,
prerequisites = {'fi_refining_tech'},
effects = {
{
type = 'unlock-recipe',
recipe = 'fi_castor_recipe',
},
{
type = 'unlock-recipe',
recipe = 'fi_decay_waste_recipe',
},
},
unit = {
count = '150',
ingredients = {
{'chemical-science-pack',1},
{'automation-science-pack',1},
{'logistic-science-pack',1,},
},
time = 30,
},
},
--fi_train
{
name = 'fi_train_tech',
@ -2127,12 +2153,44 @@ data:extend({
type = 'technology',
icon = sprite('fu_activator_tech.png'),
icon_size = 128,
prerequisites = {'fu_fusor_tech','fu_basic_elements_tech'},
prerequisites = {'fu_fusor_tech','fu_basic_elements_tech','fu_reactor_tech'},
effects = {
{
type = 'unlock-recipe',
recipe = 'fu_activator_recipe',
},
{
type = 'unlock-recipe',
recipe = 'fu_empty_container_recipe',
},
{
type = 'unlock-recipe',
recipe = 'fu_stelerator_2_neutron_recipe',
},
{
type = 'unlock-recipe',
recipe = 'fu_stelerator_3_neutron_recipe',
},
{
type = 'unlock-recipe',
recipe = 'fu_neutron_fluid_container_recipe',
},
{
type = 'unlock-recipe',
recipe = 'fu_neutron_fluid_235_recipe',
},
{
type = 'unlock-recipe',
recipe = 'fu_neutron_fluid_233_recipe',
},
{
type = 'unlock-recipe',
recipe = 'fu_neutron_fluid_232_recipe',
},
{
type = 'unlock-recipe',
recipe = 'fu_neutron_fluid_MOX_recipe',
},
{
type = 'unlock-recipe',
recipe = 'fu_activator_1_recipe',

View file

@ -248,7 +248,7 @@ data:extend({
{type="item", name="el_train_fuel_diesel_item", amount=1},
},
result_count = 1,
energy_required = 30,
energy_required = 10,
},
--el_generator_equip
{
@ -310,15 +310,15 @@ data:extend({
enabled = 'false',
category = 'crafting',
ingredients = {
{type="item", name="el_train_fuel_diesel_item", amount=2},
{type="item", name="el_energy_crystal_item", amount=2},
{type="item", name="el_lithium_item", amount=2},
{type="item", name="el_train_fuel_diesel_item", amount=3},
{type="item", name="el_energy_crystal_item", amount=3},
{type="item", name="el_lithium_item", amount=3},
},
results = {
{type="item", name="el_train_fuel_diesel_energized_item", amount=4},
},
result_count = 1,
energy_required = 30,
energy_required = 5,
},
--el_ki_beacon
{

View file

@ -25,7 +25,7 @@ data:extend({
icon_size = 64,
stack_size = 10000,
subgroup = 'fi_item_subgroup_k',
order = 'c-a',
order = 'f-a',
},
{
name = 'fu_ki_science',
@ -35,7 +35,7 @@ data:extend({
icon_size = 64,
stack_size = 10000,
subgroup = 'fu_item_subgroup_k',
order = 'c-a',
order = 'f-a',
},
{
name = "el_ki_selection_tool",

View file

@ -24,6 +24,19 @@ data:extend({
result_count = 1,
energy_required = 4,
},
{
name = 'fi_castor_recipe',
type = 'recipe',
enabled = 'false',
ingredients = {
{'concrete',100},
{'fi_materials_GFK',40},
{'el_tank_item',1}
},
result = 'fi_castor_item',
result_count = 1,
energy_required = 4,
},
--crusher
{
name = 'fi_crusher_recipe',
@ -64,7 +77,7 @@ data:extend({
ingredients = {
{'uranium-235',1},
{'uranium-238',19},
{'el_aluminum_item',10},
{'el_materials_ALK',10},
},
result = 'fi_basic_fuel_item',
result_count = 8,
@ -77,7 +90,7 @@ data:extend({
ingredients = {
{'fi_thorium232_item',10},
{'uranium-238',10},
{'el_aluminum_item',10},
{'el_materials_ALK',10},
},
result = 'fi_basic_thorium_fuel_item',
result_count = 8,
@ -90,7 +103,7 @@ data:extend({
ingredients = {
{'fi_plutonium239_item',1},
{'uranium-238',19},
{'el_aluminum_item',10},
{'el_materials_ALK',10},
},
result = 'fi_advanced_fuel_item',
result_count = 2,
@ -103,7 +116,7 @@ data:extend({
ingredients = {
{'fi_uranium233_item',4},
{'uranium-238',16},
{'el_aluminum_item',10},
{'el_materials_ALK',10},
},
result = 'fi_advanced_thorium_fuel_item',
result_count = 2,
@ -116,7 +129,7 @@ data:extend({
ingredients = {
{'uranium-235',1},
{'fi_plutonium239_item',1},
{'el_aluminum_item',10},
{'el_materials_ALK',10},
},
result = 'fi_pure_fuel_item',
result_count = 1,
@ -176,10 +189,14 @@ data:extend({
type = 'recipe',
enabled = 'false',
category = 'centrifuging',
main_product = 'fi_plutonium239_item',
ingredients = {
{'fi_used_basic_fuel_item',6},
},
result = 'fi_plutonium239_item',
results = {
{'fi_plutonium239_item',1},
{'fi_materials_waste',1}
},
result_count = 1,
energy_required = 20,
},
@ -206,10 +223,14 @@ data:extend({
type = 'recipe',
enabled = 'false',
category = 'centrifuging',
main_product = 'fi_uranium233_item',
ingredients = {
{'fi_used_basic_thorium_fuel_item',6},
},
result = 'fi_uranium233_item',
results = {
{'fi_uranium233_item',1},
{'fi_materials_waste',1}
},
result_count = 1,
energy_required = 20,
},
@ -231,11 +252,15 @@ data:extend({
name = 'fi_advanced_fuel_recycle_recipe',
type = 'recipe',
enabled = 'false',
main_product = 'uranium-238',
category = 'centrifuging',
ingredients = {
{'fi_used_advanced_fuel_item',4},
},
result = 'uranium-238',
results = {
{'uranium-238',1},
{'fi_materials_waste',1}
},
result_count = 3,
energy_required = 20,
subgroup = 'fi_item_subgroup_a',
@ -247,10 +272,14 @@ data:extend({
type = 'recipe',
enabled = 'false',
category = 'centrifuging',
main_product = 'uranium-238',
ingredients = {
{'fi_used_advanced_thorium_fuel_item',4},
},
result = 'uranium-238',
results = {
{'uranium-238',1},
{'fi_materials_waste',1}
},
result_count = 3,
energy_required = 20,
subgroup = 'fi_item_subgroup_a',
@ -262,10 +291,14 @@ data:extend({
type = 'recipe',
enabled = 'false',
category = 'centrifuging',
main_product = 'uranium-238',
ingredients = {
{'fi_used_pure_fuel_item',4},
},
result = 'uranium-238',
results = {
{'uranium-238',1},
{'fi_materials_waste',1}
},
result_count = 3,
energy_required = 20,
subgroup = 'fi_item_subgroup_a',
@ -394,7 +427,7 @@ data:extend({
},
result = 'fi_fuel_train_crystal_item',
result_count = 4,
energy_required = 30,
energy_required = 5,
},
--crushed
{
@ -1067,4 +1100,19 @@ data:extend({
energy_required = 0.2,
order = 'a-b',
},
{
name = 'fi_decay_waste_recipe',
type = 'recipe',
enabled = 'false',
category = 'fi_castor_category',
icon = sprite('fission/fi_materials/fi_materials_waste.png'),
icon_size = 64,
subgroup = 'fi_item_subgroup_a',
ingredients = {
{type="item", name="fi_materials_waste", amount=1},
},
results = {},
energy_required = 150,
order = 'a-b',
},
})

View file

@ -0,0 +1,94 @@
--local functions
local function config(name)
return settings.startup['fi_castor_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_castor/fi_castor_'..name
end
--item
data:extend({
{
name = 'fi_castor_item',
type = 'item',
icon = sprite('icon.png'),
icon_size = 64,
place_result = 'fi_castor_entity',
stack_size = 20,
subgroup = 'fi_item_subgroup_c',
order = 'a-a',
},
})
--entity
data:extend({
--prototype
{
name = 'fi_castor_entity',
type = 'assembling-machine',
icon = sprite('icon.png'),
icon_size = 64,
flags = {"player-creation","placeable-neutral"},
max_health = 300,
corpse = 'big-remnants',
collision_box = {{-1.4,-1.4},{1.4,1.4}},
selection_box = {{-1.5,-1.5},{1.5,1.5}},
map_color = {r=0, g=0, b=1, a=1},
minable = {
mining_time = 1,
result = 'fi_castor_item',
},
fixed_recipe = 'fi_decay_waste_recipe',
crafting_categories = {'fi_castor_category'},
crafting_speed = 1,
energy_source = {
type = 'electric',
usage_priority = 'secondary-input',
--input_flow_limit = '4MW',
},
energy_usage = '100kW',
--animation
animation = {
north = {
filename = sprite('entity_animation.png'),
size = {480,448},
scale = 0.2,
line_length = 1,
frame_count = 1,
animation_speed = 1,
},
east = {
filename = sprite('entity_animation.png'),
size = {480,448},
scale = 0.2,
line_length = 1,
frame_count = 1,
animation_speed = 1,
},
south = {
filename = sprite('entity_animation.png'),
size = {480,448},
scale = 0.2,
line_length = 1,
frame_count = 1,
animation_speed = 1,
},
west = {
filename = sprite('entity_animation.png'),
size = {480,448},
scale = 0.2,
line_length = 1,
frame_count = 1,
animation_speed = 1,
},
},
working_sound = {
sound = { filename = '__base__/sound/nuclear-reactor-1.ogg'},
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.3 },
apparent_volume = 0.2,
},
},
})

View file

@ -41,7 +41,7 @@ data:extend({
result = 'fi_fiberer_item',
},
crafting_categories = {'fi_fiberer_category'},
crafting_speed = 3.5,
crafting_speed = 1,
energy_source = {
type = 'electric',
usage_priority = 'secondary-input',

View file

@ -135,5 +135,14 @@ data:extend({
subgroup = 'fi_item_subgroup_b',
order = 'a-a',
},
{
name = 'fi_materials_waste',
type = 'item',
icon = sprite('waste.png'),
icon_size = 64,
stack_size = 1,
subgroup = 'fi_item_subgroup_a',
order = 'f-a',
},
})

View file

@ -26,7 +26,9 @@ local limitation_list = {
'fu_tech_sign_recipe',
'gr_pcb_recipe',
'gr_gold_wire_recipe',
'gr_circuit_recipe'
'gr_circuit_recipe',
'gr_materials_stack_up_item_recipe',
'gr_materials_stack_down_item_recipe'
}
--item

View file

@ -384,6 +384,51 @@ data:extend({
result_count = 1,
energy_required = 1,
},
{
name = 'fu_stelerator_2_neutron_recipe',
type = 'recipe',
category = 'fu_stelar_reactor_crafting_category',
main_product = 'fu_materials_charged_container',
enabled = 'false',
ingredients = {
{type="fluid", name="fu_lead_fluid", amount=300},
{type="fluid", name="fu_deuterium", amount=1},
{type="fluid", name="fu_tritium", amount=1},
{type="item", name="fu_materials_empty_container", amount=6},
},
results = {
{type="fluid", name="fu_lead_fluid", amount=300, temperature=1500},
{type="item", name="fu_materials_charged_container", amount=6},
},
result_count = 1,
energy_required = 1,
always_show_made_in = true,
subgroup = 'fu_item_subgroup_e',
order = 'f-a',
},
{
name = 'fu_stelerator_3_neutron_recipe',
type = 'recipe',
category = 'fu_stelar_reactor_crafting_category',
main_product = 'fu_materials_charged_container',
enabled = 'false',
ingredients = {
{type="fluid", name="fu_lead_fluid", amount=300},
{type="fluid", name="fu_protium", amount=15},
{type="fluid", name="fu_lithium_6", amount=15},
{type="item", name="fu_materials_empty_container", amount=6},
},
results = {
{type="fluid", name="fu_lead_fluid", amount=300, temperature=1500},
{type="item", name="fu_materials_charged_container", amount=6},
},
result_count = 1,
energy_required = 1,
always_show_made_in = true,
subgroup = 'fu_item_subgroup_e',
order = 'f-a',
},
--tokamak fusion
{
name = 'fu_tokamak_1_recipe',
@ -530,6 +575,7 @@ data:extend({
enabled = 'false',
ingredients = {
{type="fluid", name="fu_protium", amount=10},
{type="fluid", name="fu_neutron_fluid", amount=1},
},
results = {
{type="fluid", name="fu_protium", amount=9},
@ -547,6 +593,7 @@ data:extend({
enabled = 'false',
ingredients = {
{type="fluid", name="fu_deuterium", amount=10},
{type="fluid", name="fu_neutron_fluid", amount=1},
},
results = {
{type="fluid", name="fu_deuterium", amount=9},
@ -1372,6 +1419,102 @@ data:extend({
result_count = 1,
energy_required = 6,
},
{
name = 'fu_empty_container_recipe',
type = 'recipe',
enabled = 'false',
ingredients = {
{type="item", name="fu_materials_magnet", amount=2},
{type="item", name="fu_materials_KFK", amount=6},
{type="item", name="fu_materials_energy_crystal", amount=2},
{type="item", name="fu_tech_sign_item", amount=10},
},
results = {
{type="item", name="fu_materials_empty_container", amount=1},
},
result_count = 1,
energy_required = 6,
},
{
name = 'fu_neutron_fluid_container_recipe',
type = 'recipe',
category = 'crafting-with-fluid',
main_product = 'fu_neutron_fluid',
enabled = 'false',
ingredients = {
{type="item", name="fu_materials_charged_container", amount=1},
},
results = {
{type="item", name="fu_materials_empty_container", amount=1},
{type="fluid", name="fu_neutron_fluid", amount=1},
},
result_count = 1,
energy_required = 1,
},
{
name = 'fu_neutron_fluid_233_recipe',
type = 'recipe',
category = 'crafting-with-fluid',
main_product = 'fu_neutron_fluid',
enabled = 'false',
ingredients = {
{type="item", name="fi_advanced_thorium_fuel_item", amount=1},
},
results = {
{type="item", name="fi_used_advanced_thorium_fuel_item", amount=1},
{type="fluid", name="fu_neutron_fluid", amount=20},
},
result_count = 1,
energy_required = 4,
},
{
name = 'fu_neutron_fluid_235_recipe',
type = 'recipe',
category = 'crafting-with-fluid',
main_product = 'fu_neutron_fluid',
enabled = 'false',
ingredients = {
{type="item", name="fi_basic_fuel_item", amount=1},
},
results = {
{type="item", name="fi_used_basic_fuel_item", amount=1},
{type="fluid", name="fu_neutron_fluid", amount=20},
},
result_count = 1,
energy_required = 4,
},
{
name = 'fu_neutron_fluid_232_recipe',
type = 'recipe',
category = 'crafting-with-fluid',
main_product = 'fu_neutron_fluid',
enabled = 'false',
ingredients = {
{type="item", name="fi_basic_thorium_fuel_item", amount=1},
},
results = {
{type="item", name="fi_used_basic_thorium_fuel_item", amount=1},
{type="fluid", name="fu_neutron_fluid", amount=12},
},
result_count = 1,
energy_required = 4,
},
{
name = 'fu_neutron_fluid_MOX_recipe',
type = 'recipe',
category = 'crafting-with-fluid',
main_product = 'fu_neutron_fluid',
enabled = 'false',
ingredients = {
{type="item", name="fi_advanced_fuel_item", amount=1},
},
results = {
{type="item", name="fi_used_advanced_fuel_item", amount=1},
{type="fluid", name="fu_neutron_fluid", amount=28},
},
result_count = 1,
energy_required = 4,
},

View file

@ -43,14 +43,11 @@ data:extend({
crafting_categories = {'fu_activator_crafting_category'},
crafting_speed = 1,
energy_source = {
type = 'burner',
fuel_inventory_size = 3,
burnt_inventory_size = 3,
effectivity = 1,
emissions_per_minute = 40,
fuel_categories = {'fi_basic_fuel','fi_advanced_fuel'}
type = 'electric',
usage_priority = 'secondary-input',
--input_flow_limit = '4MW',
},
energy_usage = '50MW',
energy_usage = '2MW',
allowed_effects = {"speed", "consumption", "pollution"},
module_specification = {
module_info_icon_shift = {
@ -71,7 +68,18 @@ data:extend({
{type = "input", position = {-2, 0}}
},
production_type = "input"
},
{
base_area = 1,
height = 2,
base_level = -1,
pipe_covers = pipecoverspictures(),
pipe_connections =
{
{type = "input", position = {0, 2}}
},
production_type = "input"
},
{
base_area = 1,
height = 2,

View file

@ -108,4 +108,22 @@ data:extend({
subgroup = 'fu_item_subgroup_c',
order = 'c-a',
},
{
name = 'fu_materials_empty_container',
type = 'item',
icon = sprite('empty_container.png'),
icon_size = 64,
stack_size = 1,
subgroup = 'fu_item_subgroup_b',
order = 'f-a',
},
{
name = 'fu_materials_charged_container',
type = 'item',
icon = sprite('charged_container.png'),
icon_size = 64,
stack_size = 1,
subgroup = 'fu_item_subgroup_b',
order = 'f-a',
},
})

View file

@ -106,7 +106,7 @@ data:extend({
icon_size = 64,
stack_size = 10000,
subgroup = 'fu_item_subgroup_b',
order = 'd-a',
order = 'f-a',
},
{
name = 'fu_space_probe_science_item_1',
@ -116,7 +116,7 @@ data:extend({
icon_size = 64,
stack_size = 10000,
subgroup = 'fu_item_subgroup_b',
order = 'd-b',
order = 'f-b',
},
})

View file

@ -239,10 +239,10 @@ data:extend({
{'fu_tech_sign_item',10},
},
results = {
{type="item", name="gr_materials_stabilizer_item", amount=2}
{type="item", name="gr_materials_stabilizer_item", amount=4}
},
result_count = 1,
energy_required = 1,
energy_required = 4,
always_show_made_in = true
},
{

View file

@ -230,7 +230,7 @@ data:extend({
icon_size = 64,
stack_size = 10000,
subgroup = 'gr_item_subgroup_f',
order = 'a-a',
order = 'f-a',
},
{
name = 'gr_materials_green_pack_item',
@ -240,7 +240,7 @@ data:extend({
icon_size = 64,
stack_size = 10000,
subgroup = 'gr_item_subgroup_f',
order = 'a-b',
order = 'f-b',
},
{
name = 'gr_materials_blue_pack_item',
@ -250,7 +250,7 @@ data:extend({
icon_size = 64,
stack_size = 10000,
subgroup = 'gr_item_subgroup_f',
order = 'a-c',
order = 'f-c',
},
{
name = 'gr_materials_purple_pack_item',
@ -260,7 +260,7 @@ data:extend({
icon_size = 64,
stack_size = 10000,
subgroup = 'gr_item_subgroup_f',
order = 'a-d',
order = 'f-d',
},
{
name = 'gr_materials_yellow_pack_item',
@ -270,7 +270,7 @@ data:extend({
icon_size = 64,
stack_size = 10000,
subgroup = 'gr_item_subgroup_f',
order = 'a-e',
order = 'f-e',
},
{
name = 'gr_materials_grey_pack_item',
@ -280,7 +280,7 @@ data:extend({
icon_size = 64,
stack_size = 10000,
subgroup = 'gr_item_subgroup_f',
order = 'a-f',
order = 'f-f',
},
{
name = 'gr_materials_white_pack_item',
@ -290,7 +290,7 @@ data:extend({
icon_size = 64,
stack_size = 10000,
subgroup = 'gr_item_subgroup_f',
order = 'a-g',
order = 'f-g',
},
{