init
This commit is contained in:
commit
43086ea1eb
553 changed files with 20250 additions and 0 deletions
327
prototypes/248k_elements.lua
Normal file
327
prototypes/248k_elements.lua
Normal file
|
@ -0,0 +1,327 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup[name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/elements/'..name
|
||||
end
|
||||
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_hydrogen',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_hydrogen.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_e',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_oxygen',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_oxygen.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '10kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_e',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fu_protium',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_protium.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_deuterium',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_deuterium.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_tritium',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_tritium.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_lithium_6',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_lithium_6.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_helium_3',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_helium_3.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_helium_4',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_helium_4.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
--heated plasma
|
||||
{
|
||||
name = 'fu_protium_heated',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_protium_heated.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_iron_heated',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_iron_heated.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_iron',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_iron.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_copper',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_copper.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_copper_heated',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_copper_heated.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_lithium_7',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_lithium_7.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_lithium_7_heated',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_lithium_7_heated.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_sulfur',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_sulfur.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_sulfur_heated',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_sulfur_heated.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_uranium_238',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_uranium_238.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_uranium_238_heated',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_uranium_238_heated.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_uranium_235',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_uranium_235.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_uranium_235_heated',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_uranium_235_heated.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0.290,
|
||||
subgroup = 'fu_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
})
|
161
prototypes/248k_fluids.lua
Normal file
161
prototypes/248k_fluids.lua
Normal file
|
@ -0,0 +1,161 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup[name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fluids/'..name
|
||||
end
|
||||
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_pressurized_water',
|
||||
type = 'fluid',
|
||||
icon = sprite('el_pressurized_water.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 100,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.0, g=0.3, b=0.4 },
|
||||
flow_color = { r=0.0, g=0.3, b=0.4 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0,
|
||||
subgroup = 'el_item_subgroup_e',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'el_kerosene',
|
||||
type = 'fluid',
|
||||
icon = sprite('el_kerosene.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '10kJ',
|
||||
base_color = { r=0.76, g=0.45, b=0.3 },
|
||||
flow_color = { r=0.76, g=0.45, b=0.3 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0,
|
||||
subgroup = 'el_item_subgroup_e',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'el_acidic_water',
|
||||
type = 'fluid',
|
||||
icon = sprite('el_acidic_water.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.55, g=0.82, b=0.51 },
|
||||
flow_color = { r=0.55, g=0.82, b=0.51 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0,
|
||||
subgroup = 'el_item_subgroup_e',
|
||||
order = 'a-c',
|
||||
},
|
||||
{
|
||||
name = 'el_desulfurized_kerosene',
|
||||
type = 'fluid',
|
||||
icon = sprite('el_desulfurized_kerosene.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '2kJ',
|
||||
base_color = { r=0.9, g=0.77, b=0.6 },
|
||||
flow_color = { r=0.9, g=0.77, b=0.6 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0,
|
||||
subgroup = 'el_item_subgroup_e',
|
||||
order = 'a-d',
|
||||
},
|
||||
{
|
||||
name = 'el_ki_memory_fluid',
|
||||
type = 'fluid',
|
||||
icon = sprite('el_ki_memory_fluid.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.9, g=0.77, b=0.6 },
|
||||
flow_color = { r=0.9, g=0.77, b=0.6 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0,
|
||||
subgroup = 'el_item_subgroup_e',
|
||||
order = 'a-e',
|
||||
},
|
||||
{
|
||||
name = 'el_ki_cpu_fluid',
|
||||
type = 'fluid',
|
||||
icon = sprite('el_ki_cpu_fluid.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.9, g=0.77, b=0.6 },
|
||||
flow_color = { r=0.9, g=0.77, b=0.6 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0,
|
||||
subgroup = 'el_item_subgroup_e',
|
||||
order = 'a-e',
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_circuit_fluid',
|
||||
type = 'fluid',
|
||||
icon = sprite('fi_ki_circuit_fluid.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.9, g=0.77, b=0.6 },
|
||||
flow_color = { r=0.9, g=0.77, b=0.6 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0,
|
||||
subgroup = 'el_item_subgroup_e',
|
||||
order = 'a-e',
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_circuit_fluid',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_ki_circuit_fluid.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.9, g=0.77, b=0.6 },
|
||||
flow_color = { r=0.9, g=0.77, b=0.6 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0,
|
||||
subgroup = 'el_item_subgroup_e',
|
||||
order = 'a-e',
|
||||
},
|
||||
{
|
||||
name = 'fi_crystal_fluid',
|
||||
type = 'fluid',
|
||||
icon = sprite('fi_crystal_fluid.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1000,
|
||||
heat_capacity = '1kJ',
|
||||
base_color = { r=0.9, g=0.77, b=0.6 },
|
||||
flow_color = { r=0.9, g=0.77, b=0.6 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0,
|
||||
subgroup = 'fi_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_lead_fluid',
|
||||
type = 'fluid',
|
||||
icon = sprite('fu_lead_fluid.png'),
|
||||
icon_size = 64,
|
||||
default_temperature = 15,
|
||||
max_temperature = 1500,
|
||||
heat_capacity = '100kJ',
|
||||
base_color = { r=0.9, g=0.77, b=0.6 },
|
||||
flow_color = { r=0.9, g=0.77, b=0.6 },
|
||||
pressure_to_speed_ratio = 0.400,
|
||||
flow_to_energy_ratio = 0,
|
||||
subgroup = 'fu_item_subgroup_e',
|
||||
order = 'a-a',
|
||||
},
|
||||
})
|
442
prototypes/248k_subgroups.lua
Normal file
442
prototypes/248k_subgroups.lua
Normal file
|
@ -0,0 +1,442 @@
|
|||
local function sprite(name)
|
||||
return '__248k__/ressources/groups/'..name
|
||||
end
|
||||
|
||||
data:extend({
|
||||
--============================================================================================================================================================
|
||||
--inventory subgroups
|
||||
{
|
||||
name = 'el_item_group',
|
||||
type = 'item-group',
|
||||
icon = sprite('el_group_icon.png'),
|
||||
icon_size = 64,
|
||||
inventory_order = "f",
|
||||
order = "e",
|
||||
},
|
||||
{
|
||||
name = 'fi_item_group',
|
||||
type = 'item-group',
|
||||
icon = sprite('fi_group_icon.png'),
|
||||
icon_size = 64,
|
||||
inventory_order = "g",
|
||||
order = "e",
|
||||
},
|
||||
{
|
||||
name = 'fu_item_group',
|
||||
type = 'item-group',
|
||||
icon = sprite('fu_group_icon.png'),
|
||||
icon_size = 64,
|
||||
inventory_order = "h",
|
||||
order = "e",
|
||||
},
|
||||
{
|
||||
name = 'fu_star_engine_group',
|
||||
type = 'item-group',
|
||||
icon = sprite('fu_group_icon.png'),
|
||||
icon_size = 64,
|
||||
inventory_order = "k",
|
||||
order = "e",
|
||||
},
|
||||
{
|
||||
name = 'gr_item_group',
|
||||
type = 'item-group',
|
||||
icon = sprite('gr_group_icon.png'),
|
||||
icon_size = 64,
|
||||
inventory_order = "j",
|
||||
order = "e",
|
||||
},
|
||||
--ores+materials
|
||||
{
|
||||
name = 'el_item_subgroup_a',
|
||||
type = 'item-subgroup',
|
||||
group = 'el_item_group',
|
||||
order = 'a',
|
||||
},
|
||||
{
|
||||
name = 'fi_item_subgroup_a',
|
||||
type = 'item-subgroup',
|
||||
group = 'fi_item_group',
|
||||
order = 'a',
|
||||
},
|
||||
{
|
||||
name = 'fi_item_subgroup_a-b',
|
||||
type = 'item-subgroup',
|
||||
group = 'fi_item_group',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_item_subgroup_a-c',
|
||||
type = 'item-subgroup',
|
||||
group = 'fi_item_group',
|
||||
order = 'a-c',
|
||||
},
|
||||
{
|
||||
name = 'fu_item_subgroup_a',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_item_group',
|
||||
order = 'a',
|
||||
},
|
||||
{
|
||||
name = 'gr_item_subgroup_a',
|
||||
type = 'item-subgroup',
|
||||
group = 'gr_item_group',
|
||||
order = 'a',
|
||||
},
|
||||
{
|
||||
name = 'fu_item_subgroup_a-b',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_item_group',
|
||||
order = 'a-b',
|
||||
},
|
||||
--items
|
||||
{
|
||||
name = 'el_item_subgroup_b',
|
||||
type = 'item-subgroup',
|
||||
group = 'el_item_group',
|
||||
order = 'b',
|
||||
},
|
||||
{
|
||||
name = 'fi_item_subgroup_b',
|
||||
type = 'item-subgroup',
|
||||
group = 'fi_item_group',
|
||||
order = 'b',
|
||||
},
|
||||
{
|
||||
name = 'fu_item_subgroup_b',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_item_group',
|
||||
order = 'b',
|
||||
},
|
||||
{
|
||||
name = 'gr_item_subgroup_b',
|
||||
type = 'item-subgroup',
|
||||
group = 'gr_item_group',
|
||||
order = 'b',
|
||||
},
|
||||
--placeable
|
||||
{
|
||||
name = 'el_item_subgroup_c',
|
||||
type = 'item-subgroup',
|
||||
group = 'el_item_group',
|
||||
order = 'c',
|
||||
},
|
||||
{
|
||||
name = 'fi_item_subgroup_c',
|
||||
type = 'item-subgroup',
|
||||
group = 'fi_item_group',
|
||||
order = 'c',
|
||||
},
|
||||
{
|
||||
name = 'fu_item_subgroup_c',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_item_group',
|
||||
order = 'c',
|
||||
},
|
||||
{
|
||||
name = 'gr_item_subgroup_c',
|
||||
type = 'item-subgroup',
|
||||
group = 'gr_item_group',
|
||||
order = 'c',
|
||||
},
|
||||
--train and stuff
|
||||
{
|
||||
name = 'el_item_subgroup_d',
|
||||
type = 'item-subgroup',
|
||||
group = 'el_item_group',
|
||||
order = 'd',
|
||||
},
|
||||
{
|
||||
name = 'fi_item_subgroup_d',
|
||||
type = 'item-subgroup',
|
||||
group = 'fi_item_group',
|
||||
order = 'd',
|
||||
},
|
||||
{
|
||||
name = 'fu_item_subgroup_d',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_item_group',
|
||||
order = 'd-a',
|
||||
},
|
||||
{
|
||||
name = 'gr_item_subgroup_d',
|
||||
type = 'item-subgroup',
|
||||
group = 'gr_item_group',
|
||||
order = 'd-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_item_subgroup_d-b',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_item_group',
|
||||
order = 'd-b',
|
||||
},
|
||||
--fluids
|
||||
{
|
||||
name = 'el_item_subgroup_e',
|
||||
type = 'item-subgroup',
|
||||
group = 'el_item_group',
|
||||
order = 'e',
|
||||
},
|
||||
{
|
||||
name = 'fi_item_subgroup_e',
|
||||
type = 'item-subgroup',
|
||||
group = 'fi_item_group',
|
||||
order = 'e',
|
||||
},
|
||||
{
|
||||
name = 'fu_item_subgroup_e',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_item_group',
|
||||
order = 'e',
|
||||
},
|
||||
{
|
||||
name = 'gr_item_subgroup_e',
|
||||
type = 'item-subgroup',
|
||||
group = 'gr_item_group',
|
||||
order = 'e',
|
||||
},
|
||||
--ki stuff
|
||||
{
|
||||
name = 'el_item_subgroup_f',
|
||||
type = 'item-subgroup',
|
||||
group = 'el_item_group',
|
||||
order = 'f',
|
||||
},
|
||||
{
|
||||
name = 'fi_item_subgroup_f',
|
||||
type = 'item-subgroup',
|
||||
group = 'fi_item_group',
|
||||
order = 'f',
|
||||
},
|
||||
{
|
||||
name = 'fu_item_subgroup_f',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_item_group',
|
||||
order = 'f',
|
||||
},
|
||||
{
|
||||
name = 'gr_item_subgroup_f',
|
||||
type = 'item-subgroup',
|
||||
group = 'gr_item_group',
|
||||
order = 'f',
|
||||
},
|
||||
--j
|
||||
{
|
||||
name = 'fi_item_subgroup_j',
|
||||
type = 'item-subgroup',
|
||||
group = 'fi_item_group',
|
||||
order = 'j',
|
||||
},
|
||||
--k
|
||||
{
|
||||
name = 'el_item_subgroup_k',
|
||||
type = 'item-subgroup',
|
||||
group = 'el_item_group',
|
||||
order = 'k',
|
||||
},
|
||||
{
|
||||
name = 'fi_item_subgroup_k',
|
||||
type = 'item-subgroup',
|
||||
group = 'fi_item_group',
|
||||
order = 'k',
|
||||
},
|
||||
{
|
||||
name = 'fu_item_subgroup_k',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_item_group',
|
||||
order = 'k',
|
||||
},
|
||||
--star engine
|
||||
{
|
||||
name = 'fu_star_engine_subgroup_a',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_star_engine_group',
|
||||
order = 'a',
|
||||
},
|
||||
{
|
||||
name = 'fu_star_engine_subgroup_b',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_star_engine_group',
|
||||
order = 'b',
|
||||
},
|
||||
{
|
||||
name = 'fu_star_engine_subgroup_c',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_star_engine_group',
|
||||
order = 'c',
|
||||
},
|
||||
{
|
||||
name = 'fu_star_engine_subgroup_d',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_star_engine_group',
|
||||
order = 'd',
|
||||
},
|
||||
{
|
||||
name = 'fu_star_engine_subgroup_e',
|
||||
type = 'item-subgroup',
|
||||
group = 'fu_star_engine_group',
|
||||
order = 'e',
|
||||
},
|
||||
--============================================================================================================================================================
|
||||
|
||||
--ki_crafting
|
||||
{
|
||||
name = 'el_ki_crafting_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
--el_ki_memory
|
||||
{
|
||||
name = 'el_ki_memory_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
--el_ki_cpu
|
||||
{
|
||||
name = 'el_ki_cpu_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
--el_ki_core
|
||||
{
|
||||
name = 'el_ki_core_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_core_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_core_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_circuit_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_circuit_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
|
||||
--============================================================================================================================================================
|
||||
--fi_nuclear assembling
|
||||
{
|
||||
name = 'fi_crafting_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
--fi_crushing
|
||||
{
|
||||
name = 'fi_crushing',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
--fi_modules
|
||||
--producticity
|
||||
{
|
||||
name = '248k_productivity_category',
|
||||
type = 'module-category',
|
||||
},
|
||||
|
||||
--============================================================================================================================================================
|
||||
--fu fusor
|
||||
{
|
||||
name = 'fu_fusor_crafting_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
--fu boiler
|
||||
{
|
||||
name = 'fu_boiler_crafting_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
--fu_reactors
|
||||
{
|
||||
name = 'fu_stelar_reactor_crafting_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
{
|
||||
name = 'fu_tokamak_reactor_crafting_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
--fu_exchanger
|
||||
{
|
||||
name = 'fu_exchanger_crafting_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
--fu_activator
|
||||
{
|
||||
name = 'fu_activator_crafting_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
--star engine
|
||||
{
|
||||
name = 'fu_star_engine_core_crafting_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
{
|
||||
name = 'fu_star_engine_cooler_crafting_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
{
|
||||
name = 'fu_star_engine_heater_crafting_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
{
|
||||
name = 'fu_star_engine_caster_crafting_category',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
--============================================================================================================================================================
|
||||
|
||||
|
||||
--fuel_category
|
||||
{
|
||||
name = 'el_train_fuel',
|
||||
type = 'fuel-category',
|
||||
},
|
||||
{
|
||||
name = 'fi_basic_fuel',
|
||||
type = 'fuel-category',
|
||||
},
|
||||
{
|
||||
name = 'fi_advanced_fuel',
|
||||
type = 'fuel-category',
|
||||
},
|
||||
{
|
||||
name = 'fi_pure_fuel',
|
||||
type = 'fuel-category',
|
||||
},
|
||||
--train_equip
|
||||
{
|
||||
name = 'el_train_equipment',
|
||||
type = 'equipment-category',
|
||||
},
|
||||
{
|
||||
name = 'fi_train_equipment',
|
||||
type = 'equipment-category',
|
||||
},
|
||||
|
||||
--recipe
|
||||
{
|
||||
name = 'el_special_fluid',
|
||||
type = 'recipe-category',
|
||||
},
|
||||
{
|
||||
name = "gr_cooker_fluid",
|
||||
type = "recipe-category"
|
||||
},
|
||||
{
|
||||
name = "gr_charger_category",
|
||||
type = "recipe-category"
|
||||
},
|
||||
{
|
||||
name = "gr_white_hole_category",
|
||||
type = "recipe-category"
|
||||
},
|
||||
|
||||
--grids
|
||||
{
|
||||
name = 'el_train_equipment_grid',
|
||||
type = 'equipment-grid',
|
||||
width = 6,
|
||||
height = 6,
|
||||
equipment_categories = {
|
||||
'el_train_equipment',
|
||||
'fi_train_equipment',
|
||||
},
|
||||
},
|
||||
})
|
2798
prototypes/248k_techs.lua
Normal file
2798
prototypes/248k_techs.lua
Normal file
File diff suppressed because it is too large
Load diff
888
prototypes/el_recipes.lua
Normal file
888
prototypes/el_recipes.lua
Normal file
|
@ -0,0 +1,888 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_solar_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/'..name
|
||||
end
|
||||
|
||||
--settings check
|
||||
--if config('recipe_enabled') then
|
||||
--end
|
||||
|
||||
--recipe
|
||||
data:extend({
|
||||
--el_solar
|
||||
{
|
||||
name = 'el_solar_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'el_aluminum_item',30},
|
||||
{'concrete',20},
|
||||
{'electronic-circuit',40},
|
||||
{'copper-plate',20},
|
||||
},
|
||||
result = 'el_solar_item',
|
||||
result_count = 2,
|
||||
energy_required = 4,
|
||||
order = 'a-a-2',
|
||||
},
|
||||
--el_aluminum_ore
|
||||
{
|
||||
name = 'el_aluminum_ore_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting-with-fluid',
|
||||
ingredients = {
|
||||
{'stone',2},
|
||||
{type="fluid", name="sulfuric-acid", amount=20},
|
||||
},
|
||||
result = 'el_aluminum_ore_item',
|
||||
result_count = 4,
|
||||
energy_required = 2,
|
||||
always_show_made_in = true,
|
||||
order = 'a-a',
|
||||
},
|
||||
--el_aluminum_item
|
||||
{
|
||||
name = 'el_aluminum_item_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'smelting',
|
||||
ingredients = {
|
||||
{'el_aluminum_ore_item',2},
|
||||
},
|
||||
result = 'el_aluminum_item',
|
||||
result_count = 4,
|
||||
energy_required = 2,
|
||||
always_show_made_in = true,
|
||||
order = 'a-c',
|
||||
},
|
||||
--el_lithium_ore
|
||||
{
|
||||
name = 'el_lithium_ore_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting-with-fluid',
|
||||
ingredients = {
|
||||
{'stone',2},
|
||||
{type="fluid", name="sulfuric-acid", amount=20},
|
||||
},
|
||||
result = 'el_lithium_ore_item',
|
||||
result_count = 4,
|
||||
energy_required = 2,
|
||||
always_show_made_in = true,
|
||||
order = 'a-b',
|
||||
},
|
||||
--el_lithium_item
|
||||
{
|
||||
name = 'el_lithium_item_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'smelting',
|
||||
ingredients = {
|
||||
{'el_lithium_ore_item',2},
|
||||
},
|
||||
result = 'el_lithium_item',
|
||||
result_count = 4,
|
||||
energy_required = 2,
|
||||
always_show_made_in = true,
|
||||
order = 'a-d',
|
||||
},
|
||||
--el_lithium_basic_battery
|
||||
{
|
||||
name = 'el_lithium_basic_battery_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
subgroup = 'el_item_subgroup_b',
|
||||
ingredients = {
|
||||
{'el_lithium_item',4},
|
||||
{'iron-plate',4},
|
||||
{'copper-plate',4},
|
||||
},
|
||||
result = 'battery',
|
||||
result_count = 12,
|
||||
energy_required = 20,
|
||||
order = 'b-a',
|
||||
},
|
||||
--el_lithium_battery
|
||||
{
|
||||
name = 'el_lithium_battery_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{'el_lithium_item',4},
|
||||
{'iron-plate',4},
|
||||
{'steel-plate',4},
|
||||
},
|
||||
result = 'el_lithium_battery',
|
||||
result_count = 2,
|
||||
energy_required = 10,
|
||||
},
|
||||
--el_burner
|
||||
{
|
||||
name = 'el_burner_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{'iron-gear-wheel',40},
|
||||
{'steel-plate',15},
|
||||
{'el_aluminum_item',15},
|
||||
{'electronic-circuit',10}
|
||||
},
|
||||
result = 'el_burner_item',
|
||||
result_count = 1,
|
||||
energy_required = 4,
|
||||
},
|
||||
{
|
||||
name = 'el_burner_kerosene_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{'el_burner_item',1},
|
||||
{'pipe',20},
|
||||
{'electronic-circuit',20},
|
||||
},
|
||||
result = 'el_burner_kerosene_item',
|
||||
result_count = 1,
|
||||
energy_required = 4,
|
||||
},
|
||||
--el_water_generator
|
||||
{
|
||||
name = 'el_water_generator_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{'iron-gear-wheel',60},
|
||||
{'engine-unit',15},
|
||||
{'el_aluminum_item',30},
|
||||
{'electronic-circuit',20},
|
||||
{'pipe',30},
|
||||
{'copper-cable',20},
|
||||
},
|
||||
result = 'el_water_generator_item',
|
||||
result_count = 2,
|
||||
energy_required = 4,
|
||||
},
|
||||
--el_pressurizer
|
||||
{
|
||||
name = 'el_pressurizer_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{'iron-gear-wheel',40},
|
||||
{'pipe',40},
|
||||
{'el_aluminum_item',15},
|
||||
{'electronic-circuit',15}
|
||||
},
|
||||
result = 'el_pressurizer_item',
|
||||
result_count = 1,
|
||||
energy_required = 4,
|
||||
},
|
||||
--el_water_pressure
|
||||
{
|
||||
name = 'el_water_pressure_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'el_special_fluid',
|
||||
icon = sprite('fluids/el_pressurized_water.png'),
|
||||
icon_size = 64,
|
||||
main_product = 'el_pressurized_water',
|
||||
ingredients = {
|
||||
{type="fluid", name="water", amount=480},
|
||||
{type="fluid", name="steam", amount=240, temperature=165},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="el_pressurized_water", amount=240, temperature = '500'},
|
||||
{type="fluid", name="water", amount=240},
|
||||
},
|
||||
energy_required = 2,
|
||||
},
|
||||
--el_diesel_train
|
||||
{
|
||||
name = 'el_diesel_train_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{'locomotive',1},
|
||||
{'engine-unit',15},
|
||||
{'iron-gear-wheel',40},
|
||||
{'advanced-circuit',25},
|
||||
{'el_aluminum_item',25},
|
||||
},
|
||||
result = 'el_diesel_train_item',
|
||||
result_count = 1,
|
||||
energy_required = 20,
|
||||
},
|
||||
--el_kerosene
|
||||
{
|
||||
name = 'el_kerosene_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'oil-processing',
|
||||
main_product = 'el_kerosene',
|
||||
ingredients = {
|
||||
{type="fluid", name="crude-oil", amount=160},
|
||||
{type="fluid", name="steam", amount=100},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="el_kerosene", amount=120},
|
||||
{type="fluid", name="light-oil", amount=90},
|
||||
{type="fluid", name="water", amount=90},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 5,
|
||||
},
|
||||
{
|
||||
name = 'el_tank_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{'pipe',100},
|
||||
{'electronic-circuit',60},
|
||||
{'steel-plate', 200},
|
||||
{'el_aluminum_item',400},
|
||||
},
|
||||
result = 'el_tank_item',
|
||||
result_count = 1,
|
||||
energy_required = 4,
|
||||
},
|
||||
--el_desulfurized_kerosene
|
||||
{
|
||||
name = 'el_desulfurized_kerosene_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'chemistry',
|
||||
main_product = 'el_desulfurized_kerosene',
|
||||
ingredients = {
|
||||
{type="fluid", name="el_kerosene", amount=200},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="el_desulfurized_kerosene", amount=80,temperature=40},
|
||||
{type="fluid", name="el_acidic_water", amount=120},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 4,
|
||||
},
|
||||
--el_usage_acidic_water
|
||||
{
|
||||
name = 'el_usage_acidic_water_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'chemistry',
|
||||
subgroup = 'el_item_subgroup_e',
|
||||
main_product = 'sulfuric-acid',
|
||||
ingredients = {
|
||||
{type="fluid", name="el_acidic_water", amount=150},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="water", amount=50},
|
||||
{type="fluid", name="sulfuric-acid", amount=100},
|
||||
--{type="item", name="sulfur", amount=6},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 4,
|
||||
},
|
||||
--el_train_fuel_diesel
|
||||
{
|
||||
name = 'el_train_fuel_diesel_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting-with-fluid',
|
||||
subgroup = 'el_item_subgroup_d',
|
||||
main_product = 'el_train_fuel_diesel_item',
|
||||
ingredients = {
|
||||
{type="fluid", name="el_desulfurized_kerosene", amount=70},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="el_train_fuel_diesel_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 30,
|
||||
},
|
||||
--el_generator_equip
|
||||
{
|
||||
name = 'el_train_equipment_generator_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
subgroup = 'el_item_subgroup_d',
|
||||
ingredients = {
|
||||
{type="item", name="el_lithium_battery", amount=10},
|
||||
{type="item", name="engine-unit", amount=15},
|
||||
{type="item", name="el_aluminum_item", amount=15},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="el_train_equipment_generator_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 25,
|
||||
},
|
||||
--el_accelerator_equip
|
||||
{
|
||||
name = 'el_train_equipment_accelerator_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
subgroup = 'el_item_subgroup_d',
|
||||
ingredients = {
|
||||
{type="item", name="pump", amount=5},
|
||||
{type="item", name="steel-plate", amount=15},
|
||||
{type="item", name="el_aluminum_item", amount=15},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="el_train_equipment_accelerator_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 25,
|
||||
},
|
||||
--el_energy_crystal
|
||||
{
|
||||
name = 'el_energy_crystal_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting-with-fluid',
|
||||
ingredients = {
|
||||
{type="item", name="stone", amount=10},
|
||||
{type="fluid", name="el_acidic_water", amount=30},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="el_energy_crystal_item", amount=3},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
},
|
||||
--el_energy_crystal_fuel
|
||||
{
|
||||
name = 'el_train_fuel_diesel_energized_recipe',
|
||||
type = 'recipe',
|
||||
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},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="el_train_fuel_diesel_energized_item", amount=4},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 30,
|
||||
},
|
||||
--el_ki_beacon
|
||||
{
|
||||
name = 'el_ki_beacon_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{type="item", name="steel-plate", amount=20},
|
||||
{type="item", name="el_aluminum_item", amount=10},
|
||||
{type="item", name="electronic-circuit", amount=20},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="el_ki_beacon_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_beacon_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{type="item", name="steel-plate", amount=20},
|
||||
{type="item", name="low-density-structure", amount=10},
|
||||
{type="item", name="advanced-circuit", amount=20},
|
||||
{type="item", name="el_ki_beacon_item", amount=1},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="fi_ki_beacon_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_beacon_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{type="item", name="steel-plate", amount=20},
|
||||
{type="item", name="fu_tech_sign_item", amount=100},
|
||||
{type="item", name="processing-unit", amount=20},
|
||||
{type="item", name="fi_ki_beacon_item", amount=1},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="fu_ki_beacon_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
--el_ki_core
|
||||
{
|
||||
name = 'el_ki_core_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{type="item", name="steel-plate", amount=100},
|
||||
{type="item", name="concrete", amount=500},
|
||||
{type="item", name="electronic-circuit", amount=100},
|
||||
{type="item", name="advanced-circuit", amount=100},
|
||||
{type="item", name="el_aluminum_item", amount=140},
|
||||
{type="item", name="el_energy_crystal_item", amount=40},
|
||||
{type="item", name="el_solar_item", amount=10},
|
||||
{type="item", name="el_lithium_battery", amount=40},
|
||||
{type="item", name="el_water_generator_item", amount=10},
|
||||
{type="item", name="el_burner_item", amount=10},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="el_ki_core_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 60,
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_core_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{type="item", name="fi_crafter_item", amount=10},
|
||||
{type="item", name="fi_miner_item", amount=10},
|
||||
{type="item", name="fi_crusher_item", amount=10},
|
||||
{type="item", name="fi_modules_core_item", amount=20},
|
||||
{type="item", name="low-density-structure", amount=100},
|
||||
{type="item", name="concrete", amount=500},
|
||||
{type="item", name="electronic-circuit", amount=100},
|
||||
{type="item", name="advanced-circuit", amount=100},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="fi_ki_core_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 60,
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_core_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{type="item", name="steel-plate", amount=100},
|
||||
{type="item", name="concrete", amount=500},
|
||||
{type="item", name="electronic-circuit", amount=100},
|
||||
{type="item", name="advanced-circuit", amount=100},
|
||||
{type="item", name="processing-unit", amount=100},
|
||||
{type="item", name="fu_space_probe_down_matter_item", amount=10},
|
||||
{type="item", name="fu_space_probe_up_matter_item", amount=10},
|
||||
{type="item", name="fu_exchanger_item", amount=10},
|
||||
{type="item", name="fu_tech_sign_item", amount=100},
|
||||
{type="item", name="fu_boiler_item", amount=10},
|
||||
{type="item", name="fu_burner_item", amount=10},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="fu_ki_core_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 60,
|
||||
},
|
||||
--el_ki_memory_entity
|
||||
{
|
||||
name = 'el_ki_memory_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{type="item", name="steel-plate", amount=40},
|
||||
{type="item", name="concrete", amount=60},
|
||||
{type="item", name="advanced-circuit", amount=100},
|
||||
{type="item", name="el_aluminum_item", amount=100},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="el_ki_memory_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 30,
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_circuit_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{type="item", name="fi_industrial_steel_item", amount=80},
|
||||
{type="item", name="concrete", amount=120},
|
||||
{type="item", name="advanced-circuit", amount=100},
|
||||
{type="item", name="low-density-structure", amount=100},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="fi_ki_circuit_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 30,
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_circuit_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{type="item", name="fi_industrial_steel_item", amount=80},
|
||||
{type="item", name="concrete", amount=120},
|
||||
{type="item", name="advanced-circuit", amount=100},
|
||||
{type="item", name="processing-unit", amount=100},
|
||||
{type="item", name="fu_tech_sign_item", amount=100},
|
||||
{type="item", name="low-density-structure", amount=100},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="fu_ki_circuit_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 30,
|
||||
},
|
||||
--el_ki_memory_fluid
|
||||
{
|
||||
name = 'el_ki_memory_fluid_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'el_ki_memory_category',
|
||||
main_product = 'el_ki_memory_fluid',
|
||||
ingredients = {
|
||||
--{type="fluid", name="water", amount=480},
|
||||
--{type="fluid", name="steam", amount=240, temperature=165},
|
||||
{type="item", name="red-wire", amount=10},
|
||||
{type="item", name="el_energy_crystal_item", amount=2},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="el_ki_memory_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'el_ki_memory_fluid_recipe_1',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'el_ki_memory_category',
|
||||
main_product = 'el_ki_memory_fluid',
|
||||
ingredients = {
|
||||
--{type="fluid", name="water", amount=480},
|
||||
--{type="fluid", name="steam", amount=240, temperature=165},
|
||||
{type="item", name="red-wire", amount=8},
|
||||
{type="item", name="el_energy_crystal_item", amount=2},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="el_ki_memory_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'el_ki_memory_fluid_recipe_2',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'el_ki_memory_category',
|
||||
main_product = 'el_ki_memory_fluid',
|
||||
ingredients = {
|
||||
--{type="fluid", name="water", amount=480},
|
||||
--{type="fluid", name="steam", amount=240, temperature=165},
|
||||
{type="item", name="red-wire", amount=8},
|
||||
{type="item", name="el_energy_crystal_item", amount=1},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="el_ki_memory_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'el_ki_memory_fluid_recipe_3',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'el_ki_memory_category',
|
||||
main_product = 'el_ki_memory_fluid',
|
||||
ingredients = {
|
||||
--{type="fluid", name="water", amount=480},
|
||||
--{type="fluid", name="steam", amount=240, temperature=165},
|
||||
{type="item", name="red-wire", amount=8},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="el_ki_memory_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_circuit_fluid_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_ki_circuit_category',
|
||||
main_product = 'fu_ki_circuit_fluid',
|
||||
ingredients = {
|
||||
{type="item", name="fu_tech_sign_item", amount=20},
|
||||
{type="item", name="advanced-circuit", amount=20},
|
||||
{type="item", name="fu_space_probe_science_item", amount=4},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="fu_ki_circuit_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_circuit_fluid_recipe_1',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_ki_circuit_category',
|
||||
main_product = 'fu_ki_circuit_fluid',
|
||||
ingredients = {
|
||||
{type="item", name="fu_tech_sign_item", amount=16},
|
||||
{type="item", name="advanced-circuit", amount=16},
|
||||
{type="item", name="fu_space_probe_science_item", amount=2},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="fu_ki_circuit_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_circuit_fluid_recipe_2',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_ki_circuit_category',
|
||||
main_product = 'fu_ki_circuit_fluid',
|
||||
ingredients = {
|
||||
{type="item", name="fu_tech_sign_item", amount=16},
|
||||
{type="item", name="advanced-circuit", amount=16},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="fu_ki_circuit_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_circuit_fluid_recipe_3',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_ki_circuit_category',
|
||||
main_product = 'fu_ki_circuit_fluid',
|
||||
ingredients = {
|
||||
{type="item", name="fu_tech_sign_item", amount=12},
|
||||
{type="item", name="advanced-circuit", amount=12},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="fu_ki_circuit_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_circuit_fluid_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_ki_circuit_category',
|
||||
main_product = 'fi_ki_circuit_fluid',
|
||||
ingredients = {
|
||||
{type="item", name="uranium-238", amount=20},
|
||||
{type="item", name="uranium-235", amount=1},
|
||||
{type="item", name="battery", amount=10},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="fi_ki_circuit_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_circuit_fluid_recipe_1',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_ki_circuit_category',
|
||||
main_product = 'fi_ki_circuit_fluid',
|
||||
ingredients = {
|
||||
{type="item", name="uranium-238", amount=10},
|
||||
{type="item", name="uranium-235", amount=1},
|
||||
{type="item", name="battery", amount=8},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="fi_ki_circuit_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_circuit_fluid_recipe_2',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_ki_circuit_category',
|
||||
main_product = 'fi_ki_circuit_fluid',
|
||||
ingredients = {
|
||||
{type="item", name="uranium-238", amount=10},
|
||||
{type="item", name="battery", amount=8},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="fi_ki_circuit_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_circuit_fluid_recipe_3',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_ki_circuit_category',
|
||||
main_product = 'fi_ki_circuit_fluid',
|
||||
ingredients = {
|
||||
{type="item", name="uranium-ore", amount=10},
|
||||
{type="item", name="battery", amount=4},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="fi_ki_circuit_fluid", amount=200, temperature = '500'},
|
||||
{type="item", name="uranium-235", amount=1},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
--el_ki_cpu_entity
|
||||
{
|
||||
name = 'el_ki_cpu_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting',
|
||||
ingredients = {
|
||||
{type="item", name="steel-plate", amount=40},
|
||||
{type="item", name="concrete", amount=60},
|
||||
{type="item", name="advanced-circuit", amount=100},
|
||||
{type="item", name="el_aluminum_item", amount=100},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="el_ki_cpu_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 30,
|
||||
},
|
||||
--el_ki_cpu_fluid
|
||||
{
|
||||
name = 'el_ki_cpu_fluid_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'el_ki_cpu_category',
|
||||
main_product = 'el_ki_cpu_fluid',
|
||||
ingredients = {
|
||||
--{type="fluid", name="water", amount=480},
|
||||
--{type="fluid", name="steam", amount=240, temperature=165},
|
||||
{type="item", name="green-wire", amount=10},
|
||||
{type="item", name="el_energy_crystal_item", amount=2},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="el_ki_cpu_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'el_ki_cpu_fluid_recipe_1',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'el_ki_cpu_category',
|
||||
main_product = 'el_ki_cpu_fluid',
|
||||
ingredients = {
|
||||
--{type="fluid", name="water", amount=480},
|
||||
--{type="fluid", name="steam", amount=240, temperature=165},
|
||||
{type="item", name="green-wire", amount=8},
|
||||
{type="item", name="el_energy_crystal_item", amount=2},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="el_ki_cpu_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'el_ki_cpu_fluid_recipe_2',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'el_ki_cpu_category',
|
||||
main_product = 'el_ki_cpu_fluid',
|
||||
ingredients = {
|
||||
--{type="fluid", name="water", amount=480},
|
||||
--{type="fluid", name="steam", amount=240, temperature=165},
|
||||
{type="item", name="green-wire", amount=8},
|
||||
{type="item", name="el_energy_crystal_item", amount=1},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="el_ki_cpu_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'el_ki_cpu_fluid_recipe_3',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'el_ki_cpu_category',
|
||||
main_product = 'el_ki_cpu_fluid',
|
||||
ingredients = {
|
||||
--{type="fluid", name="water", amount=480},
|
||||
--{type="fluid", name="steam", amount=240, temperature=165},
|
||||
{type="item", name="green-wire", amount=8},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="el_ki_cpu_fluid", amount=200, temperature = '500'},
|
||||
},
|
||||
energy_required = 20,
|
||||
},
|
||||
|
||||
--el_ki_core_cpu_memory
|
||||
{
|
||||
name = 'el_ki_cpu_memory_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'el_ki_core_category',
|
||||
icon = sprite('fluids/el_pressurized_water.png'),
|
||||
icon_size = 64,
|
||||
subgroup = 'el_item_subgroup_f',
|
||||
ingredients = {
|
||||
{type="fluid", name="el_ki_cpu_fluid", amount=550},
|
||||
{type="fluid", name="el_ki_memory_fluid", amount=550},
|
||||
},
|
||||
results = {},
|
||||
energy_required = 15,
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_cpu_memory_circuit_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_ki_core_category',
|
||||
icon = sprite('fluids/el_pressurized_water.png'),
|
||||
icon_size = 64,
|
||||
subgroup = 'el_item_subgroup_f',
|
||||
ingredients = {
|
||||
{type="fluid", name="el_ki_cpu_fluid", amount=550},
|
||||
{type="fluid", name="el_ki_memory_fluid", amount=550},
|
||||
{type="fluid", name="fi_ki_circuit_fluid", amount=550}
|
||||
},
|
||||
results = {},
|
||||
energy_required = 15,
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_cpu_memory_circuit_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_ki_core_category',
|
||||
icon = sprite('fluids/el_pressurized_water.png'),
|
||||
icon_size = 64,
|
||||
subgroup = 'el_item_subgroup_f',
|
||||
ingredients = {
|
||||
{type="fluid", name="el_ki_cpu_fluid", amount=550},
|
||||
{type="fluid", name="el_ki_memory_fluid", amount=550},
|
||||
{type="fluid", name="fi_ki_circuit_fluid", amount=550},
|
||||
{type="fluid", name="fu_ki_circuit_fluid", amount=550}
|
||||
},
|
||||
results = {},
|
||||
energy_required = 15,
|
||||
},
|
||||
|
||||
|
||||
|
||||
})
|
34
prototypes/electronic/el_aluminum.lua
Normal file
34
prototypes/electronic/el_aluminum.lua
Normal file
|
@ -0,0 +1,34 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_aluminum_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_aluminum/el_aluminum_'..name
|
||||
end
|
||||
--ore
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_aluminum_ore_item',
|
||||
type = 'item',
|
||||
icon = sprite('ore_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'el_item_subgroup_a',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_aluminum_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'el_item_subgroup_a',
|
||||
order = 'b-a',
|
||||
},
|
||||
|
||||
})
|
21
prototypes/electronic/el_ammo.lua
Normal file
21
prototypes/electronic/el_ammo.lua
Normal file
|
@ -0,0 +1,21 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_ammo_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_ammo/el_ammo_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_ammo_item',
|
||||
type = 'ammo',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_b',
|
||||
order = 'c-a',
|
||||
},
|
||||
})
|
180
prototypes/electronic/el_burner.lua
Normal file
180
prototypes/electronic/el_burner.lua
Normal file
|
@ -0,0 +1,180 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_burner_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_burner/el_burner_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_burner_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'el_burner_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_c',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'el_burner_kerosene_item',
|
||||
type = 'item',
|
||||
icon = sprite('kerosene_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'el_burner_kerosene_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_c',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'el_burner_entity',
|
||||
type = 'burner-generator',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral", "not-rotatable"},
|
||||
--minable
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'el_burner_item',
|
||||
},
|
||||
max_health = 150,
|
||||
corpse = 'small-remnants',
|
||||
collision_box = {{-1.4,-1.4},{1.4,1.4}},
|
||||
selection_box = {{-1.5,-1.5},{1.5,1.5}},
|
||||
--energy
|
||||
burner = {
|
||||
type = 'burner',
|
||||
fuel_inventory_size = 3,
|
||||
effectivity = 1.2,
|
||||
emissions_per_minute = 20,
|
||||
smoke = {
|
||||
{
|
||||
name = 'smoke',
|
||||
tape = 'trival-smoke',
|
||||
frequency = 20,
|
||||
position = {-0.6,-1.6},
|
||||
--deviation = {x = -2, y = -2},
|
||||
duration = 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-output',
|
||||
input_flow_limit = '0W',
|
||||
output_flow_limit = tostring(config('power_output'))..'W',
|
||||
},
|
||||
max_power_output = tostring(config('power_output'))..'W',
|
||||
--animation
|
||||
animation = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {386,448},
|
||||
scale = 0.26,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.2}
|
||||
},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
working_sound =
|
||||
{
|
||||
sound = { filename = "__base__/sound/furnace.ogg" },
|
||||
apparent_volume = 1.5,
|
||||
},
|
||||
},
|
||||
--kerosene
|
||||
{
|
||||
name = 'el_burner_kerosene_entity',
|
||||
type = 'generator',
|
||||
icon = sprite('kerosene_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral", "not-rotatable"},
|
||||
--minable
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'el_burner_kerosene_item',
|
||||
},
|
||||
max_health = 150,
|
||||
corpse = 'small-remnants',
|
||||
collision_box = {{-1.4,-1.4},{1.4,1.4}},
|
||||
selection_box = {{-1.5,-1.5},{1.5,1.5}},
|
||||
--energy
|
||||
effectivity = 1,
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-output',
|
||||
input_flow_limit = '0W',
|
||||
output_flow_limit = tostring(config('kerosene_power_output'))..'W',
|
||||
emissions_per_minute = 20,
|
||||
},
|
||||
max_power_output = tostring(config('kerosene_power_output'))..'W',
|
||||
maximum_temperature = 40,
|
||||
fluid_usage_per_tick = 1,
|
||||
fluid_box = {
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
filter = 'el_desulfurized_kerosene',
|
||||
minimum_temperature = 0,
|
||||
maximum_temperature = 40,
|
||||
production_type = 'input-output',
|
||||
pipe_connections = {
|
||||
{type = "input-output", position = {2, 0}},
|
||||
{type = "input-output", position = {-2, 0}},
|
||||
},
|
||||
},
|
||||
fluid_input = {
|
||||
name = 'el_desulfurized_kerosene',
|
||||
minimum_temperature = 0,
|
||||
},
|
||||
--animation
|
||||
vertical_animation = {
|
||||
filename = sprite('kerosene_entity_animation.png'),
|
||||
size = {420,448},
|
||||
--filename = sprite('test.png'),
|
||||
--size = {512,512},
|
||||
scale = 0.25,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.2}
|
||||
},
|
||||
horizontal_animation = {
|
||||
filename = sprite('kerosene_entity_animation.png'),
|
||||
size = {420,448},
|
||||
--filename = sprite('test.png'),
|
||||
--size = {512,512},
|
||||
scale = 0.25,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.2}
|
||||
},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
working_sound =
|
||||
{
|
||||
sound = { filename = "__base__/sound/furnace.ogg" },
|
||||
apparent_volume = 1.5,
|
||||
},
|
||||
smoke = {
|
||||
{
|
||||
name = 'smoke',
|
||||
tape = 'trival-smoke',
|
||||
frequency = 0.5,
|
||||
position = {-0.6,-1.8},
|
||||
--deviation = {x = -2, y = -2},
|
||||
duration = 0.5,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
185
prototypes/electronic/el_diesel_train.lua
Normal file
185
prototypes/electronic/el_diesel_train.lua
Normal file
|
@ -0,0 +1,185 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_diesel_train_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_diesel_train/el_diesel_train_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_diesel_train_item',
|
||||
type = 'item-with-entity-data',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'el_diesel_train_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_d',
|
||||
order = 'a-a',
|
||||
},
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_diesel_train_entity',
|
||||
type = 'locomotive',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","placeable-off-grid"},
|
||||
max_health = 1200,
|
||||
corpse = "medium-remnants",
|
||||
dying_explosion = "medium-explosion",
|
||||
collision_box = {{-0.6, -2.6}, {0.6, 2.6}},
|
||||
selection_box = {{-1, -3}, {1, 3}},
|
||||
drawing_box = {{-1, -4}, {1, 3}},
|
||||
connection_distance = 3,
|
||||
joint_distance = 4,
|
||||
wheels = standard_train_wheels,
|
||||
rail_category = "regular",
|
||||
open_sound = {filename = "__base__/sound/car-door-open.ogg", volume = 0.7},
|
||||
close_sound = {filename = "__base__/sound/car-door-close.ogg", volume = 0.7},
|
||||
sound_minimum_speed = 0.2,
|
||||
allow_manual_color = false,
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'el_diesel_train_item',
|
||||
},
|
||||
--stats
|
||||
max_speed = 1.20,
|
||||
max_power = '1800kW',
|
||||
braking_force = 40,
|
||||
friction_force = 0.00825,
|
||||
air_resistance = 0.00225,
|
||||
vertical_selection_shift = -0.5,
|
||||
energy_per_hit_point = 8,
|
||||
reversing_power_modifier = 0.5,
|
||||
weight = 3200,
|
||||
--grid
|
||||
equipment_grid = 'el_train_equipment_grid',
|
||||
--burner
|
||||
burner = {
|
||||
fuel_category = 'el_train_fuel',
|
||||
fuel_inventory_size = 3,
|
||||
effectitvity = 1,
|
||||
emissions_per_minute = 40,
|
||||
smoke = {
|
||||
{
|
||||
name = "train-smoke",
|
||||
deviation = {0.3, 0.3},
|
||||
frequency = 300,
|
||||
position = {0, 0},
|
||||
starting_frame = 0,
|
||||
starting_frame_deviation = 60,
|
||||
height = 2,
|
||||
height_deviation = 0.5,
|
||||
starting_vertical_speed = 0.2,
|
||||
starting_vertical_speed_deviation = 0.1,
|
||||
},
|
||||
},
|
||||
},
|
||||
--light
|
||||
front_light = {
|
||||
{
|
||||
type = "oriented",
|
||||
minimum_darkness = 0.3,
|
||||
picture = {
|
||||
filename = "__core__/graphics/light-cone.png",
|
||||
priority = "medium",
|
||||
scale = 2,
|
||||
width = 200,
|
||||
height = 200,
|
||||
},
|
||||
shift = {-0.3, -10},
|
||||
size = 1,
|
||||
intensity = 1.5,
|
||||
},
|
||||
{
|
||||
type = "oriented",
|
||||
minimum_darkness = 0.3,
|
||||
picture = {
|
||||
filename = "__core__/graphics/light-cone.png",
|
||||
priority = "medium",
|
||||
scale = 2,
|
||||
width = 200,
|
||||
height = 200,
|
||||
},
|
||||
shift = {0.3, -10},
|
||||
size = 1,
|
||||
intensity = 1.5,
|
||||
},
|
||||
},
|
||||
--animation
|
||||
pictures = {
|
||||
priority = "low",
|
||||
width = 512,
|
||||
height = 512,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('animation_1.png'),sprite('animation_2.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
--minimap
|
||||
minimap_representation = {
|
||||
filename = "__base__/graphics/entity/diesel-locomotive/diesel-locomotive-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
selected_minimap_representation = {
|
||||
filename = "__base__/graphics/entity/diesel-locomotive/diesel-locomotive-selected-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
--stop trigger
|
||||
stop_trigger = {
|
||||
-- left side
|
||||
{
|
||||
type = "create-trivial-smoke",
|
||||
repeat_count = 75,
|
||||
smoke_name = "smoke-train-stop",
|
||||
initial_height = 0,
|
||||
-- smoke goes to the left
|
||||
speed = {-0.03, 0},
|
||||
speed_multiplier = 0.75,
|
||||
speed_multiplier_deviation = 1.1,
|
||||
offset_deviation = {{-0.75, -2.7}, {-0.3, 2.7}},
|
||||
},
|
||||
-- right side
|
||||
{
|
||||
type = "create-trivial-smoke",
|
||||
repeat_count = 75,
|
||||
smoke_name = "smoke-train-stop",
|
||||
initial_height = 0,
|
||||
-- smoke goes to the right
|
||||
speed = {0.03, 0},
|
||||
speed_multiplier = 0.75,
|
||||
speed_multiplier_deviation = 1.1,
|
||||
offset_deviation = {{0.3, -2.7}, {0.75, 2.7}},
|
||||
},
|
||||
{
|
||||
type = "play-sound",
|
||||
sound = {
|
||||
{
|
||||
filename = "__base__/sound/train-breaks.ogg",
|
||||
volume = 0.6,
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/train-engine.ogg'},
|
||||
apparent_volume = 0.5,
|
||||
},
|
||||
vehicle_impact_sound = {
|
||||
filename = "__base__/sound/car-metal-impact-6.ogg",
|
||||
volume = 0.8
|
||||
},
|
||||
|
||||
},
|
||||
})
|
27
prototypes/electronic/el_energy_crystal.lua
Normal file
27
prototypes/electronic/el_energy_crystal.lua
Normal file
|
@ -0,0 +1,27 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_energy_crystal_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_energy_crystal/el_energy_crystal_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_energy_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 500,
|
||||
subgroup = 'el_item_subgroup_a',
|
||||
order = 'a-c',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
fuel_category = 'chemical',
|
||||
fuel_acceleration_multiplier = 1,
|
||||
fuel_emissions_multiplier = 1,
|
||||
fuel_top_speed_multiplier = 1,
|
||||
fuel_value = '35MJ',
|
||||
},
|
||||
})
|
258
prototypes/electronic/el_ki/el_ki_beacon.lua
Normal file
258
prototypes/electronic/el_ki/el_ki_beacon.lua
Normal file
|
@ -0,0 +1,258 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_ki_beacon_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_ki/el_ki_beacon/el_ki_beacon_'..name
|
||||
end
|
||||
|
||||
local function config_blueprintable(name,int)
|
||||
if not config('blueprintable') then
|
||||
if int == 1 then
|
||||
return 'no-copy-paste'
|
||||
end
|
||||
if int == 2 then
|
||||
return 'not-blueprintable'
|
||||
end
|
||||
end
|
||||
return "player-creation"
|
||||
end
|
||||
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_ki_beacon_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'el_ki_beacon_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_f',
|
||||
order = 'b-a',
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_beacon_item',
|
||||
type = 'item',
|
||||
icon = sprite('fi.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_ki_beacon_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_k',
|
||||
order = 'b-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_beacon_item',
|
||||
type = 'item',
|
||||
icon = sprite('fu.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_ki_beacon_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fu_item_subgroup_k',
|
||||
order = 'b-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_ki_beacon_entity',
|
||||
type = 'beacon',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","no-automated-item-insertion","no-automated-item-removal","not-upgradable","hide-alt-info",config_blueprintable('el_ki_beacon',1),config_blueprintable('el_ki_beacon',2)},
|
||||
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-0.8, -0.8}, {0.8, 0.8}},
|
||||
selection_box = {{-1, -1}, {1, 1}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'el_ki_beacon_item',
|
||||
},
|
||||
distribution_effectivity = config('effectivity'),
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '400MW',
|
||||
},
|
||||
energy_usage = '0.4MW',
|
||||
module_specification = {
|
||||
module_slots = 2,
|
||||
module_info_icon_shift = {0, 0.5},
|
||||
module_info_multi_row_initial_height_modifier = -0.3,
|
||||
},
|
||||
supply_area_distance = config('supply_area'),
|
||||
radius_visualisation_picture =
|
||||
{
|
||||
filename = "__base__/graphics/entity/beacon/beacon-radius-visualization.png",
|
||||
width = 10,
|
||||
height = 10,
|
||||
},
|
||||
animation = {
|
||||
|
||||
filename = sprite('entity_animation.png'),
|
||||
width = 480,
|
||||
height = 480,
|
||||
line_length = 4,
|
||||
lines_per_file = 1,
|
||||
animation_speed = 0.1,
|
||||
frame_count = 4,
|
||||
scale = 0.13,
|
||||
shift = { 0, 0},
|
||||
},
|
||||
},
|
||||
--slave
|
||||
{
|
||||
name = 'el_ki_beacon_slave_entity',
|
||||
type = 'container',
|
||||
icon = sprite('slave_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
selection_box = {{-0.5, -0.5}, {0.5, 0.5}},
|
||||
selection_priority = 60,
|
||||
picture = {
|
||||
filename = sprite('slave_entity_animation.png'),
|
||||
width = 64,
|
||||
height = 64
|
||||
},
|
||||
inventory_size = 1,
|
||||
},
|
||||
|
||||
{
|
||||
name = 'fi_ki_beacon_entity',
|
||||
type = 'beacon',
|
||||
icon = sprite('fi.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","no-automated-item-insertion","no-automated-item-removal","not-upgradable","hide-alt-info",config_blueprintable('el_ki_beacon',1),config_blueprintable('el_ki_beacon',2)},
|
||||
|
||||
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},
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fi_ki_beacon_item',
|
||||
},
|
||||
distribution_effectivity = config('effectivity_2'),
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '400MW',
|
||||
},
|
||||
energy_usage = '4MW',
|
||||
module_specification = {
|
||||
module_slots = 6,
|
||||
module_info_icon_shift = {0, 0.5},
|
||||
module_info_multi_row_initial_height_modifier = -0.3,
|
||||
},
|
||||
supply_area_distance = config('supply_area_2'),
|
||||
radius_visualisation_picture =
|
||||
{
|
||||
filename = "__base__/graphics/entity/beacon/beacon-radius-visualization.png",
|
||||
width = 10,
|
||||
height = 10,
|
||||
},
|
||||
animation = {
|
||||
|
||||
filename = sprite('entity_animation_2.png'),
|
||||
width = 480,
|
||||
height = 480,
|
||||
line_length = 4,
|
||||
lines_per_file = 1,
|
||||
animation_speed = 0.1,
|
||||
frame_count = 4,
|
||||
scale = 0.2,
|
||||
shift = { 0, 0},
|
||||
},
|
||||
},
|
||||
--slave
|
||||
{
|
||||
name = 'fi_ki_beacon_slave_entity',
|
||||
type = 'container',
|
||||
icon = sprite('slave_entity_icon.png'),
|
||||
flags = {"placeable-off-grid"},
|
||||
icon_size = 64,
|
||||
selection_box = {{-0.5, -0.5}, {0.5, 0.5}},
|
||||
selection_priority = 60,
|
||||
picture = {
|
||||
filename = sprite('slave_entity_animation.png'),
|
||||
width = 64,
|
||||
height = 64
|
||||
},
|
||||
inventory_size = 1,
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_beacon_entity',
|
||||
type = 'beacon',
|
||||
icon = sprite('fu.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","no-automated-item-insertion","no-automated-item-removal","not-upgradable","hide-alt-info",config_blueprintable('el_ki_beacon',1),config_blueprintable('el_ki_beacon',2)},
|
||||
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-1.8,-1.8},{1.8,1.8}},
|
||||
selection_box = {{-2,-2},{2,2}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_ki_beacon_item',
|
||||
},
|
||||
distribution_effectivity = config('effectivity_3'),
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '400MW',
|
||||
},
|
||||
energy_usage = '40MW',
|
||||
module_specification = {
|
||||
module_slots = 20,
|
||||
module_info_icon_shift = {0, 0.5},
|
||||
module_info_multi_row_initial_height_modifier = -0.3,
|
||||
},
|
||||
supply_area_distance = config('supply_area_3'),
|
||||
radius_visualisation_picture =
|
||||
{
|
||||
filename = "__base__/graphics/entity/beacon/beacon-radius-visualization.png",
|
||||
width = 10,
|
||||
height = 10,
|
||||
},
|
||||
animation = {
|
||||
|
||||
filename = sprite('entity_animation_3.png'),
|
||||
width = 480,
|
||||
height = 480,
|
||||
line_length = 4,
|
||||
lines_per_file = 1,
|
||||
animation_speed = 0.1,
|
||||
frame_count = 4,
|
||||
scale = 0.27,
|
||||
shift = { 0, 0},
|
||||
},
|
||||
},
|
||||
--slave
|
||||
{
|
||||
name = 'fu_ki_beacon_slave_entity',
|
||||
type = 'container',
|
||||
icon = sprite('slave_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
selection_box = {{-0.5, -0.5}, {0.5, 0.5}},
|
||||
selection_priority = 60,
|
||||
picture = {
|
||||
filename = sprite('slave_entity_animation.png'),
|
||||
width = 64,
|
||||
height = 64
|
||||
},
|
||||
inventory_size = 1,
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
410
prototypes/electronic/el_ki/el_ki_core.lua
Normal file
410
prototypes/electronic/el_ki/el_ki_core.lua
Normal file
|
@ -0,0 +1,410 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_ki_core_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_ki/el_ki_core/el_ki_core_'..name
|
||||
end
|
||||
|
||||
local allowed_modules = {}
|
||||
if config("productivity") then
|
||||
allowed_modules = {"speed", "productivity", "consumption", "pollution"}
|
||||
else
|
||||
allowed_modules = {"speed", "consumption", "pollution"}
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_ki_core_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'el_ki_core_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_f',
|
||||
order = 'b-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_core_item',
|
||||
type = 'item',
|
||||
icon = sprite('fi.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_ki_core_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_k',
|
||||
order = 'b-b',
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_core_item',
|
||||
type = 'item',
|
||||
icon = sprite('fu.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_ki_core_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fu_item_subgroup_k',
|
||||
order = 'b-b',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_ki_core_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
crafting_categories = {'el_ki_core_category'},
|
||||
crafting_speed = 1,
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-2.8, -2.8}, {2.8, 2.8}},
|
||||
selection_box = {{-3.0, -3.0}, {3.0, 3.0}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'el_ki_core_item',
|
||||
},
|
||||
fixed_recipe = 'el_ki_cpu_memory_recipe',
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-input',
|
||||
input_flow_limit = config('energy_usage_input')..'W',
|
||||
},
|
||||
energy_usage = config('energy_usage')..'W',
|
||||
fluid_boxes = {
|
||||
{
|
||||
filter = 'el_ki_cpu_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {0.5, -3.2}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
filter = 'el_ki_memory_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {0.5, 3.2}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
},
|
||||
animation = {
|
||||
|
||||
filename = sprite('entity_animation.png'),
|
||||
width = 960,
|
||||
height = 930,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
animation_speed = 0.3,
|
||||
frame_count = 9,
|
||||
scale = 0.2,
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/nuclear-reactor-1.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
--slave
|
||||
{
|
||||
name = 'el_ki_core_slave_entity',
|
||||
type = 'beacon',
|
||||
icon = sprite('slave_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
selection_box = {{-1, -1}, {1, 1}},
|
||||
selection_priority = 60,
|
||||
base_picture = {
|
||||
filename = sprite('slave_entity_animation.png'),
|
||||
width = 64,
|
||||
height = 64
|
||||
},
|
||||
distribution_effectivity = 0,
|
||||
energy_source = {type = "void"},
|
||||
energy_usage = '1W',
|
||||
supply_area_distance = 0,
|
||||
allowed_effects = allowed_modules,
|
||||
module_specification =
|
||||
{
|
||||
module_slots = 2,
|
||||
module_info_icon_shift = {0, 0.5},
|
||||
module_info_multi_row_initial_height_modifier = -0.3
|
||||
},
|
||||
},
|
||||
--slave container
|
||||
{
|
||||
name = 'el_ki_core_slave_container_entity',
|
||||
type = 'container',
|
||||
icon = sprite('slave_container_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
selection_box = {{-1, -1}, {1, 1}},
|
||||
selection_priority = 60,
|
||||
picture = {
|
||||
filename = sprite('slave_container_entity_animation.png'),
|
||||
width = 64,
|
||||
height = 64
|
||||
},
|
||||
inventory_size = 20,
|
||||
},
|
||||
--===============================================================
|
||||
{
|
||||
name = 'fi_ki_core_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('fi.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
crafting_categories = {'fi_ki_core_category'},
|
||||
crafting_speed = 1,
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-2.8, -2.8}, {2.8, 2.8}},
|
||||
selection_box = {{-3.0, -3.0}, {3.0, 3.0}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fi_ki_core_item',
|
||||
},
|
||||
fixed_recipe = 'fi_ki_cpu_memory_circuit_recipe',
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-input',
|
||||
input_flow_limit = config('energy_usage_input_2')..'W',
|
||||
},
|
||||
energy_usage = config('energy_usage_2')..'W',
|
||||
fluid_boxes = {
|
||||
{
|
||||
filter = 'el_ki_cpu_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {0.5, -3.2}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
filter = 'el_ki_memory_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {0.5, 3.2}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
filter = 'fi_ki_circuit_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {3.2, 0.5}},
|
||||
},
|
||||
production_type = "input"
|
||||
}
|
||||
},
|
||||
animation = {
|
||||
|
||||
filename = sprite('entity_animation_2.png'),
|
||||
width = 960,
|
||||
height = 930,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
animation_speed = 0.3,
|
||||
frame_count = 9,
|
||||
scale = 0.2,
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/nuclear-reactor-1.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
--slave
|
||||
{
|
||||
name = 'fi_ki_core_slave_entity',
|
||||
type = 'beacon',
|
||||
icon = sprite('slave_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
selection_box = {{-1, -1}, {1, 1}},
|
||||
selection_priority = 60,
|
||||
base_picture = {
|
||||
filename = sprite('slave_entity_animation.png'),
|
||||
width = 64,
|
||||
height = 64
|
||||
},
|
||||
distribution_effectivity = 0,
|
||||
energy_source = {type = "void"},
|
||||
energy_usage = '1W',
|
||||
supply_area_distance = 0,
|
||||
allowed_effects = allowed_modules,
|
||||
module_specification =
|
||||
{
|
||||
module_slots = 2,
|
||||
module_info_icon_shift = {0, 0.5},
|
||||
module_info_multi_row_initial_height_modifier = -0.3
|
||||
},
|
||||
},
|
||||
--slave container
|
||||
{
|
||||
name = 'fi_ki_core_slave_container_entity',
|
||||
type = 'container',
|
||||
icon = sprite('slave_container_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
selection_box = {{-1, -1}, {1, 1}},
|
||||
selection_priority = 60,
|
||||
picture = {
|
||||
filename = sprite('slave_container_entity_animation.png'),
|
||||
width = 64,
|
||||
height = 64
|
||||
},
|
||||
inventory_size = 1,
|
||||
},
|
||||
--===============================================================
|
||||
{
|
||||
name = 'fu_ki_core_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('fu.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
crafting_categories = {'fu_ki_core_category'},
|
||||
crafting_speed = 1,
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-2.8, -2.8}, {2.8, 2.8}},
|
||||
selection_box = {{-3.0, -3.0}, {3.0, 3.0}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_ki_core_item',
|
||||
},
|
||||
fixed_recipe = 'fu_ki_cpu_memory_circuit_recipe',
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-input',
|
||||
input_flow_limit = config('energy_usage_input_3')..'W',
|
||||
},
|
||||
energy_usage = config('energy_usage_3')..'W',
|
||||
fluid_boxes = {
|
||||
{
|
||||
filter = 'el_ki_cpu_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {0.5, -3.2}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
filter = 'el_ki_memory_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {0.5, 3.2}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
filter = 'fi_ki_circuit_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {3.2, 0.5}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
filter = 'fu_ki_circuit_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-3.2, 0.5}},
|
||||
},
|
||||
production_type = "input"
|
||||
}
|
||||
},
|
||||
animation = {
|
||||
|
||||
filename = sprite('entity_animation_3.png'),
|
||||
width = 960,
|
||||
height = 930,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
animation_speed = 0.3,
|
||||
frame_count = 9,
|
||||
scale = 0.2,
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/nuclear-reactor-1.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
--slave
|
||||
{
|
||||
name = 'fu_ki_core_slave_entity',
|
||||
type = 'beacon',
|
||||
icon = sprite('slave_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
selection_box = {{-1, -1}, {1, 1}},
|
||||
selection_priority = 60,
|
||||
base_picture = {
|
||||
filename = sprite('slave_entity_animation.png'),
|
||||
width = 64,
|
||||
height = 64
|
||||
},
|
||||
distribution_effectivity = 0,
|
||||
energy_source = {type = "void"},
|
||||
energy_usage = '1W',
|
||||
supply_area_distance = 0,
|
||||
allowed_effects = allowed_modules,
|
||||
module_specification =
|
||||
{
|
||||
module_slots = 2,
|
||||
module_info_icon_shift = {0, 0.5},
|
||||
module_info_multi_row_initial_height_modifier = -0.3
|
||||
},
|
||||
},
|
||||
--slave container
|
||||
{
|
||||
name = 'fu_ki_core_slave_container_entity',
|
||||
type = 'container',
|
||||
icon = sprite('slave_container_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
selection_box = {{-1, -1}, {1, 1}},
|
||||
selection_priority = 60,
|
||||
picture = {
|
||||
filename = sprite('slave_container_entity_animation.png'),
|
||||
width = 64,
|
||||
height = 64
|
||||
},
|
||||
inventory_size = 1,
|
||||
}
|
||||
})
|
108
prototypes/electronic/el_ki/el_ki_cpu.lua
Normal file
108
prototypes/electronic/el_ki/el_ki_cpu.lua
Normal file
|
@ -0,0 +1,108 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_ki_cpu_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_ki/el_ki_cpu/el_ki_cpu_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_ki_cpu_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'el_ki_cpu_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'el_ki_cpu_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_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 = 'el_ki_cpu_item',
|
||||
},
|
||||
crafting_categories = {'el_ki_cpu_category'},
|
||||
crafting_speed = 1,
|
||||
ingredient_count = 2,
|
||||
--fixed_recipe = 'el_ki_cpu_fluid_recipe',
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '5000kW',
|
||||
},
|
||||
energy_usage = '4000kW',
|
||||
fluid_boxes = {
|
||||
{
|
||||
filter = 'el_ki_cpu_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {0, 2}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 5,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 5,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 5,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 5,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/accumulator-idle.ogg'},
|
||||
apparent_volume = 1.5,
|
||||
},
|
||||
},
|
||||
})
|
56
prototypes/electronic/el_ki/el_ki_linker.lua
Normal file
56
prototypes/electronic/el_ki/el_ki_linker.lua
Normal file
|
@ -0,0 +1,56 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_ki_linker_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_ki/el_ki_linker/el_ki_'..name
|
||||
end
|
||||
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_ki_linker',
|
||||
type = 'item-with-tags',
|
||||
icon = sprite('linker_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 1,
|
||||
subgroup = 'el_item_subgroup_b',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_ki_science',
|
||||
type = 'tool',
|
||||
icon = sprite('science_blue_data.png'),
|
||||
durability = 1,
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'el_item_subgroup_b',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fu_ki_science',
|
||||
type = 'tool',
|
||||
icon = sprite('science_red_data.png'),
|
||||
durability = 1,
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'el_item_subgroup_b',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = "el_ki_selection_tool",
|
||||
type = "selection-tool",
|
||||
stack_size = 1,
|
||||
icon_size = 64,
|
||||
icon = sprite('selection_tool.png'),
|
||||
flags = {"hidden","mod-openable","only-in-cursor"},
|
||||
selection_color = {r=0.79, g=0.4, b=0, a=0.5 },
|
||||
selection_mode = {"any-entity"},
|
||||
selection_cursor_box_type = "entity",
|
||||
alt_selection_color = {r=1, g=0, b=0, a=0.5 },
|
||||
alt_selection_cursor_box_type = "entity",
|
||||
alt_selection_mode = {"any-entity"},
|
||||
entity_filters = {"el_ki_beacon_entity","fi_ki_beacon_entity","fu_ki_beacon_entity"},
|
||||
alt_entity_filters = {"el_ki_beacon_entity","fi_ki_beacon_entity","fu_ki_beacon_entity"}
|
||||
}
|
||||
})
|
108
prototypes/electronic/el_ki/el_ki_memory.lua
Normal file
108
prototypes/electronic/el_ki/el_ki_memory.lua
Normal file
|
@ -0,0 +1,108 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_ki_memory_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_ki/el_ki_memory/el_ki_memory_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_ki_memory_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'el_ki_memory_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_f',
|
||||
order = 'a-b',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'el_ki_memory_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_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 = 'el_ki_memory_item',
|
||||
},
|
||||
crafting_categories = {'el_ki_memory_category'},
|
||||
crafting_speed = 1,
|
||||
ingredient_count = 2,
|
||||
--fixed_recipe = 'el_ki_memory_fluid_recipe',
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '5000kW',
|
||||
},
|
||||
energy_usage = '4000kW',
|
||||
fluid_boxes = {
|
||||
{
|
||||
filter = 'el_ki_memory_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {0, 2}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 8,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 8,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 8,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 8,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/accumulator-idle.ogg'},
|
||||
apparent_volume = 1.5,
|
||||
},
|
||||
},
|
||||
})
|
108
prototypes/electronic/el_ki/fi_ki_circuit.lua
Normal file
108
prototypes/electronic/el_ki/fi_ki_circuit.lua
Normal file
|
@ -0,0 +1,108 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_ki_circuit_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_ki/fi_ki_circuit/fi_ki_circuit_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_ki_circuit_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_ki_circuit_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_k',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fi_ki_circuit_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_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_ki_circuit_item',
|
||||
},
|
||||
crafting_categories = {'fi_ki_circuit_category'},
|
||||
crafting_speed = 1,
|
||||
ingredient_count = 3,
|
||||
--fixed_recipe = 'fi_ki_circuit_fluid_recipe',
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '50000kW',
|
||||
},
|
||||
energy_usage = '40000kW',
|
||||
fluid_boxes = {
|
||||
{
|
||||
filter = 'fi_ki_circuit_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {0, 2}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 5,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 5,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 5,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 5,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/accumulator-idle.ogg'},
|
||||
apparent_volume = 1.5,
|
||||
},
|
||||
},
|
||||
})
|
108
prototypes/electronic/el_ki/fu_ki_circuit.lua
Normal file
108
prototypes/electronic/el_ki/fu_ki_circuit.lua
Normal file
|
@ -0,0 +1,108 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_ki_circuit_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_ki/fu_ki_circuit/fu_ki_circuit_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_ki_circuit_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_ki_circuit_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fu_item_subgroup_k',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fu_ki_circuit_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_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 = 'fu_ki_circuit_item',
|
||||
},
|
||||
crafting_categories = {'fu_ki_circuit_category'},
|
||||
crafting_speed = 1,
|
||||
ingredient_count = 3,
|
||||
--fixed_recipe = 'fu_ki_circuit_fluid_recipe',
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '150000kW',
|
||||
},
|
||||
energy_usage = '80000kW',
|
||||
fluid_boxes = {
|
||||
{
|
||||
filter = 'fu_ki_circuit_fluid',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {0, 2}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 5,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 5,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 5,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,484},
|
||||
scale = 0.22,
|
||||
line_length = 5,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/accumulator-idle.ogg'},
|
||||
apparent_volume = 1.5,
|
||||
},
|
||||
},
|
||||
})
|
47
prototypes/electronic/el_lithium.lua
Normal file
47
prototypes/electronic/el_lithium.lua
Normal file
|
@ -0,0 +1,47 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_lithium_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_lithium/el_lithium_'..name
|
||||
end
|
||||
--ore
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_lithium_ore_item',
|
||||
type = 'item',
|
||||
icon = sprite('ore_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'el_item_subgroup_a',
|
||||
order = 'a-b',
|
||||
},
|
||||
|
||||
})
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_lithium_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'el_item_subgroup_a',
|
||||
order = 'b-b',
|
||||
},
|
||||
|
||||
})
|
||||
--battery
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_lithium_battery',
|
||||
type = 'item',
|
||||
icon = sprite('battery.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'el_item_subgroup_b',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
166
prototypes/electronic/el_pressurizer.lua
Normal file
166
prototypes/electronic/el_pressurizer.lua
Normal file
|
@ -0,0 +1,166 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_pressurizer_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_pressurizer/el_pressurizer_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_pressurizer_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'el_pressurizer_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_c',
|
||||
order = 'a-b',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'el_pressurizer_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_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 = 'el_pressurizer_item',
|
||||
},
|
||||
crafting_categories = {'el_special_fluid'},
|
||||
crafting_speed = 1,
|
||||
ingredient_count = 2,
|
||||
--fixed_recipe = 'el_water_pressure_recipe',
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '60kW',
|
||||
},
|
||||
energy_usage = '40kW',
|
||||
fluid_boxes = {
|
||||
{
|
||||
filter = 'water',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {0, -2}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
filter = 'steam',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-2, 0}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
filter = 'el_pressurized_water',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {2, 0}},
|
||||
--{type = "output", position = {2, -2.5}}
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
filter = 'water',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {0, 2}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.22,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.22,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.22,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.22,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
working_sound =
|
||||
{
|
||||
sound = {filename = "__base__/sound/chemical-plant-3.ogg" },
|
||||
apparent_volume = 0.3,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
--{
|
||||
-- production_type = "input",
|
||||
--pipe_picture = assembler2pipepictures(),
|
||||
--pipe_covers = pipecoverspictures(),
|
||||
-- base_area = 10,
|
||||
-- base_level = -1,
|
||||
-- pipe_connections = {
|
||||
-- { type="input", position = {-2, -2,5} },
|
||||
-- { type="input", position = {2, -2.5} },
|
||||
-- },
|
||||
-- },
|
||||
-- {
|
||||
-- production_type = "output",
|
||||
--pipe_picture = assembler2pipepictures(),
|
||||
--pipe_covers = pipecoverspictures(),
|
||||
-- base_area = 10,
|
||||
-- base_level = 1,
|
||||
-- pipe_connections = {{ type="output", position = {2, 2.5} }},
|
||||
-- },
|
||||
-- off_when_no_fluid_recipe = true
|
60
prototypes/electronic/el_solar.lua
Normal file
60
prototypes/electronic/el_solar.lua
Normal file
|
@ -0,0 +1,60 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_solar_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_solar/el_solar_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_solar_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'el_solar_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_c',
|
||||
order = 'a-c',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'el_solar_entity',
|
||||
type = 'solar-panel',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
--minable
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'el_solar_item',
|
||||
},
|
||||
max_health = 150,
|
||||
corpse = 'small-remnants',
|
||||
collision_box = {{-1.4,-1.4},{1.4,1.4}},
|
||||
selection_box = {{-1.5,-1.5},{1.5,1.5}},
|
||||
--energy
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'solar',
|
||||
input_flow_limit = '0W',
|
||||
output_flow_limit = tostring(config('power_output'))..'W',
|
||||
},
|
||||
production = tostring(config('power_output'))..'W',
|
||||
--picture
|
||||
picture = {
|
||||
filename = sprite('entity_picture_1.png'),
|
||||
width = 386,
|
||||
height = 448,
|
||||
scale = 0.25,
|
||||
},
|
||||
map_color = {r=1.7,g=1.7,b=1.7},
|
||||
},
|
||||
})
|
104
prototypes/electronic/el_tank.lua
Normal file
104
prototypes/electronic/el_tank.lua
Normal file
|
@ -0,0 +1,104 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_tank_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_tank/el_tank_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_tank_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'el_tank_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_c',
|
||||
order = 'a-c',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'el_tank_entity',
|
||||
type = 'storage-tank',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
--minable
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'el_tank_item',
|
||||
},
|
||||
max_health = 300,
|
||||
corpse = 'small-remnants',
|
||||
collision_box = {{-3.2,-3.2},{3.2,3.2}},
|
||||
selection_box = {{-3.5,-3.5},{3.5,3.5}},
|
||||
pictures = {
|
||||
picture = {
|
||||
filename = sprite('entity_picture.png'),
|
||||
width = 512,
|
||||
height = 512,
|
||||
scale = 1.11/2,
|
||||
shift = {0,-0.96},
|
||||
},
|
||||
window_background = {
|
||||
filename = sprite('blank.png'),
|
||||
width = 64,
|
||||
height = 64,
|
||||
scale = 0.5,
|
||||
},
|
||||
fluid_background = {
|
||||
filename = sprite('blank.png'),
|
||||
width = 64,
|
||||
height = 64,
|
||||
scale = 0.5,
|
||||
},
|
||||
flow_sprite = {
|
||||
filename = sprite('blank.png'),
|
||||
width = 64,
|
||||
height = 64,
|
||||
scale = 0.5,
|
||||
},
|
||||
gas_flow = {
|
||||
filename = sprite('blank.png'),
|
||||
width = 64,
|
||||
height = 64,
|
||||
scale = 0.5,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 1,
|
||||
}
|
||||
},
|
||||
flow_length_in_ticks = 1,
|
||||
fluid_box = {
|
||||
base_area = 5000,
|
||||
height = 1,
|
||||
base_level = 0,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input-output", position = {-3.8, 1}},
|
||||
{type = "input-output", position = {-3.8, -1}},
|
||||
|
||||
{type = "input-output", position = {3.8, 1}},
|
||||
{type = "input-output", position = {3.8, -1}},
|
||||
|
||||
{type = "input-output", position = {1, 3.8}},
|
||||
{type = "input-output", position = {1, -3.8}},
|
||||
|
||||
{type = "input-output", position = {-1, 3.8}},
|
||||
{type = "input-output", position = {-1, -3.8}}
|
||||
},
|
||||
production_type = "input-output"
|
||||
},
|
||||
window_bounding_box = {{0,0},{1,1}},
|
||||
map_color = {r=1.7,g=1.7,b=1.7},
|
||||
},
|
||||
})
|
85
prototypes/electronic/el_train_equipment.lua
Normal file
85
prototypes/electronic/el_train_equipment.lua
Normal file
|
@ -0,0 +1,85 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_train_equipment_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_train_equipment/el_train_equipment_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_train_equipment_generator_item',
|
||||
type = 'item',
|
||||
icon = sprite('generator_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_d',
|
||||
placed_as_equipment_result = 'el_train_equipment_generator_item',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
name = 'el_train_equipment_accelerator_item',
|
||||
type = 'item',
|
||||
icon = sprite('accelerator_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_d',
|
||||
placed_as_equipment_result = 'el_train_equipment_accelerator_item',
|
||||
order = 'c-b',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--equipment
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_train_equipment_generator_item',
|
||||
type = 'generator-equipment',
|
||||
power = '600kW',
|
||||
categories = {'el_train_equipment'},
|
||||
sprite = {
|
||||
filename = sprite('generator_entity.png'),
|
||||
width = 256,
|
||||
height = 256,
|
||||
priority = 'medium',
|
||||
},
|
||||
shape = {
|
||||
width = 3,
|
||||
height = 3,
|
||||
type = "full",
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-output',
|
||||
},
|
||||
|
||||
},
|
||||
{
|
||||
name = 'el_train_equipment_accelerator_item',
|
||||
type = 'movement-bonus-equipment',
|
||||
categories = {'el_train_equipment'},
|
||||
energy_consumption = "600kW",
|
||||
movement_bonus = 0.35,
|
||||
sprite = {
|
||||
filename = sprite('accelerator_entity.png'),
|
||||
width = 256,
|
||||
height = 256,
|
||||
priority = 'medium',
|
||||
},
|
||||
shape = {
|
||||
width = 3,
|
||||
height = 3,
|
||||
type = "full",
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-input',
|
||||
buffer_capacity = '8MJ',
|
||||
drain = '40kW',
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
})
|
41
prototypes/electronic/el_train_fuel.lua
Normal file
41
prototypes/electronic/el_train_fuel.lua
Normal file
|
@ -0,0 +1,41 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_train_fuel_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_train_fuel/el_train_fuel_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_train_fuel_diesel_item',
|
||||
type = 'item',
|
||||
icon = sprite('diesel_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'el_item_subgroup_d',
|
||||
order = 'b-a',
|
||||
fuel_acceleration_multiplier = 1,
|
||||
fuel_category = 'el_train_fuel',
|
||||
fuel_emissions_multiplier = 1,
|
||||
fuel_top_speed_multiplier = 1,
|
||||
fuel_value = '100MJ',
|
||||
},
|
||||
{
|
||||
name = 'el_train_fuel_diesel_energized_item',
|
||||
type = 'item',
|
||||
icon = sprite('diesel_energized_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'el_item_subgroup_d',
|
||||
order = 'b-b',
|
||||
fuel_acceleration_multiplier = 0.55,
|
||||
fuel_top_speed_multiplier = 1.3,
|
||||
fuel_category = 'el_train_fuel',
|
||||
fuel_emissions_multiplier = 1,
|
||||
fuel_value = '135MJ',
|
||||
},
|
||||
|
||||
})
|
95
prototypes/electronic/el_water_generator.lua
Normal file
95
prototypes/electronic/el_water_generator.lua
Normal file
|
@ -0,0 +1,95 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_water_generator_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/electronic/el_water_generator/el_water_generator_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'el_water_generator_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'el_water_generator_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'el_item_subgroup_c',
|
||||
order = 'a-d',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'el_water_generator_entity',
|
||||
type = 'generator',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-1.3, -3.3}, {1.3, 3.3}},
|
||||
selection_box = {{-1.5, -3.5}, {1.5, 3.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'el_water_generator_item',
|
||||
},
|
||||
--energy
|
||||
maximum_temperature = 500,
|
||||
fluid_usage_per_tick = 1,
|
||||
max_power_output = tostring(config('power_output'))..'W',
|
||||
effectivity = 0.9,
|
||||
fluid_box = {
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
filter = 'el_pressurized_water',
|
||||
minimum_temperature = 0,
|
||||
maximum_temperature = 500,
|
||||
production_type = 'input-output',
|
||||
pipe_connections = {
|
||||
{type = "input-output", position = {2, 0}},
|
||||
{type = "input-output", position = {-2, 0}},
|
||||
},
|
||||
},
|
||||
fluid_input = {
|
||||
name = 'el_pressurized_water',
|
||||
amout = 0.0,
|
||||
minimum_temperature = 0,
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-output',
|
||||
input_flow_limit = '0W',
|
||||
output_flow_limit = tostring(config('power_output'))..'W',
|
||||
},
|
||||
--animation
|
||||
vertical_animation = {
|
||||
filename = sprite('entity_animation_vertikal_1.png'),
|
||||
size = {480,896},
|
||||
scale = 0.22,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
horizontal_animation = {
|
||||
filename = sprite('entity_animation_horizontal_1.png'),
|
||||
size = {896,480},
|
||||
scale = 0.22,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/pipe.ogg'},
|
||||
apparent_volume = 0.7,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
640
prototypes/fi_recipes.lua
Normal file
640
prototypes/fi_recipes.lua
Normal file
|
@ -0,0 +1,640 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_solar_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/'..name
|
||||
end
|
||||
|
||||
data:extend({
|
||||
--crafter
|
||||
{
|
||||
name = 'fi_crafter_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'concrete',30},
|
||||
{'fi_compound_material_item',10},
|
||||
{'iron-gear-wheel',20},
|
||||
{'electronic-circuit',15},
|
||||
{'el_energy_crystal_item',4},
|
||||
},
|
||||
result = 'fi_crafter_item',
|
||||
result_count = 1,
|
||||
energy_required = 4,
|
||||
},
|
||||
--crusher
|
||||
{
|
||||
name = 'fi_crusher_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'concrete',60},
|
||||
{'fi_compound_material_item',20},
|
||||
{'iron-gear-wheel',40},
|
||||
{'electric-engine-unit',15},
|
||||
{'el_energy_crystal_item',2},
|
||||
},
|
||||
result = 'fi_crusher_item',
|
||||
result_count = 1,
|
||||
energy_required = 4,
|
||||
},
|
||||
--miner
|
||||
{
|
||||
name = 'fi_miner_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'concrete',100},
|
||||
{'fi_compound_material_item',60},
|
||||
{'iron-gear-wheel',40},
|
||||
{'electric-mining-drill',8},
|
||||
{'electric-engine-unit',10},
|
||||
},
|
||||
result = 'fi_miner_item',
|
||||
result_count = 1,
|
||||
energy_required = 4,
|
||||
},
|
||||
--fuels
|
||||
{
|
||||
name = 'fi_basic_fuel_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'uranium-235',1},
|
||||
{'uranium-238',19},
|
||||
{'el_aluminum_item',10},
|
||||
},
|
||||
result = 'fi_basic_fuel_item',
|
||||
result_count = 8,
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fi_basic_thorium_fuel_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_thorium232_item',10},
|
||||
{'uranium-238',10},
|
||||
{'el_aluminum_item',10},
|
||||
},
|
||||
result = 'fi_basic_thorium_fuel_item',
|
||||
result_count = 8,
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fi_advanced_fuel_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_plutonium239_item',1},
|
||||
{'uranium-238',19},
|
||||
{'el_aluminum_item',10},
|
||||
},
|
||||
result = 'fi_advanced_fuel_item',
|
||||
result_count = 2,
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fi_advanced_thorium_fuel_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_uranium233_item',4},
|
||||
{'uranium-238',16},
|
||||
{'el_aluminum_item',10},
|
||||
},
|
||||
result = 'fi_advanced_thorium_fuel_item',
|
||||
result_count = 2,
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fi_pure_fuel_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'uranium-235',1},
|
||||
{'fi_plutonium239_item',1},
|
||||
{'el_aluminum_item',10},
|
||||
},
|
||||
result = 'fi_pure_fuel_item',
|
||||
result_count = 1,
|
||||
energy_required = 20,
|
||||
},
|
||||
--reactor
|
||||
{
|
||||
name = 'fi_solid_reactor_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'steel-plate',450},
|
||||
{'concrete',800},
|
||||
{'fi_compound_material_item',600},
|
||||
{'copper-plate',200},
|
||||
{'el_energy_crystal_item',40},
|
||||
{'advanced-circuit',700},
|
||||
},
|
||||
result = 'fi_solid_reactor_item',
|
||||
result_count = 1,
|
||||
energy_required = 20,
|
||||
},
|
||||
--material
|
||||
{
|
||||
name = 'fi_compound_material_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'el_aluminum_item',15},
|
||||
{'steel-plate',10},
|
||||
{'iron-plate',20},
|
||||
},
|
||||
result = 'fi_compound_material_item',
|
||||
result_count = 2,
|
||||
energy_required = 4,
|
||||
},
|
||||
{
|
||||
name = 'fi_low-density-structure_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_crafting_category',
|
||||
subgroup = 'fi_item_subgroup_b',
|
||||
ingredients = {
|
||||
{'el_aluminum_item',8},
|
||||
{'steel-plate',4},
|
||||
{'copper-plate',30},
|
||||
},
|
||||
result = 'low-density-structure',
|
||||
result_count = 4,
|
||||
energy_required = 20,
|
||||
order = 'b-b',
|
||||
},
|
||||
|
||||
--uran etc
|
||||
{
|
||||
name = 'fi_plutonium239_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'centrifuging',
|
||||
ingredients = {
|
||||
{'fi_used_basic_fuel_item',6},
|
||||
},
|
||||
result = 'fi_plutonium239_item',
|
||||
result_count = 1,
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fi_thorium232_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting-with-fluid',
|
||||
main_product = 'fi_thorium232_item',
|
||||
ingredients = {
|
||||
{'stone',80},
|
||||
{'el_energy_crystal_item',2},
|
||||
{type="fluid", name="sulfuric-acid", amount=140},
|
||||
},
|
||||
results = {
|
||||
{'fi_thorium232_item',2},
|
||||
{'uranium-238',3}
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 40,
|
||||
},
|
||||
{
|
||||
name = 'fi_uranium233_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'centrifuging',
|
||||
ingredients = {
|
||||
{'fi_used_basic_thorium_fuel_item',6},
|
||||
},
|
||||
result = 'fi_uranium233_item',
|
||||
result_count = 1,
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fi_atomic_bomb_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'explosive-rocket',10},
|
||||
{'fi_plutonium239_item',10},
|
||||
{'rocket-control-unit',10}
|
||||
},
|
||||
result = 'atomic-bomb',
|
||||
result_count = 1,
|
||||
energy_required = 20,
|
||||
},
|
||||
--wideraufbereitung
|
||||
{
|
||||
name = 'fi_advanced_fuel_recycle_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'centrifuging',
|
||||
ingredients = {
|
||||
{'fi_used_advanced_fuel_item',4},
|
||||
},
|
||||
result = 'uranium-238',
|
||||
result_count = 3,
|
||||
energy_required = 20,
|
||||
subgroup = 'fi_item_subgroup_a',
|
||||
order = 'a-d',
|
||||
always_show_made_in = true,
|
||||
},
|
||||
{
|
||||
name = 'fi_advanced_thorium_fuel_recycle_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'centrifuging',
|
||||
ingredients = {
|
||||
{'fi_used_advanced_thorium_fuel_item',4},
|
||||
},
|
||||
result = 'uranium-238',
|
||||
result_count = 3,
|
||||
energy_required = 20,
|
||||
subgroup = 'fi_item_subgroup_a',
|
||||
order = 'a-e',
|
||||
always_show_made_in = true,
|
||||
},
|
||||
{
|
||||
name = 'fi_pure_fuel_recycle_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'centrifuging',
|
||||
ingredients = {
|
||||
{'fi_used_pure_fuel_item',4},
|
||||
},
|
||||
result = 'uranium-238',
|
||||
result_count = 3,
|
||||
energy_required = 20,
|
||||
subgroup = 'fi_item_subgroup_a',
|
||||
order = 'a-f',
|
||||
always_show_made_in = true,
|
||||
},
|
||||
--equip
|
||||
{
|
||||
name = 'fi_equipment_player_reactor_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_solid_reactor_item',1},
|
||||
{'fi_pure_fuel_item',1},
|
||||
},
|
||||
result = 'fi_equipment_player_reactor_item',
|
||||
result_count = 2,
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fi_equipment_player_shield_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_energy_crystal_item',100},
|
||||
{'low-density-structure',20},
|
||||
{'processing-unit',40},
|
||||
{'energy-shield-mk2-equipment',5}
|
||||
},
|
||||
result = 'fi_equipment_player_shield_item',
|
||||
result_count = 1,
|
||||
energy_required = 20,
|
||||
},
|
||||
{
|
||||
name = 'fi_train_equipment_generator_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_solid_reactor_item',1},
|
||||
{'low-density-structure',20},
|
||||
{'iron-gear-wheel',40},
|
||||
{'fi_pure_fuel_item',1},
|
||||
},
|
||||
result = 'fi_train_equipment_generator_item',
|
||||
result_count = 2,
|
||||
energy_required = 20,
|
||||
},
|
||||
--crystals
|
||||
{
|
||||
name = 'fi_energy_crystal_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'smelting',
|
||||
ingredients = {
|
||||
{'fi_base_crystal_item',2},
|
||||
},
|
||||
result = 'fi_energy_crystal_item',
|
||||
result_count = 1,
|
||||
energy_required = 4,
|
||||
always_show_made_in = true,
|
||||
},
|
||||
{
|
||||
name = 'fi_catalyst_crystal_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'centrifuging',
|
||||
ingredients = {
|
||||
{'el_train_fuel_diesel_energized_item',1},
|
||||
},
|
||||
result = 'fi_catalyst_crystal_item',
|
||||
result_count = 2,
|
||||
energy_required = 2,
|
||||
always_show_made_in = true,
|
||||
},
|
||||
{
|
||||
name = 'fi_base_crystal_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'crafting-with-fluid',
|
||||
ingredients = {
|
||||
{type="fluid", name="fi_crystal_fluid", amount=100},
|
||||
{type="item", name="fi_catalyst_crystal_item", amount=1},
|
||||
},
|
||||
result = 'fi_base_crystal_item',
|
||||
result_count = 2,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_crystal_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_crushing',
|
||||
ingredients = {
|
||||
{'el_energy_crystal_item',4},
|
||||
},
|
||||
result = 'fi_crushed_crystal_item',
|
||||
result_count = 1,
|
||||
energy_required = 2,
|
||||
always_show_made_in = true,
|
||||
},
|
||||
{
|
||||
name = 'fi_crystal_fluid_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'chemistry',
|
||||
main_product = 'fi_crystal_fluid',
|
||||
ingredients = {
|
||||
{type="item", name="fi_crushed_crystal_item", amount=2},
|
||||
{type="item", name="fi_crushed_lithium_item", amount=1},
|
||||
},
|
||||
results = {
|
||||
{type="fluid", name="fi_crystal_fluid", amount=100},
|
||||
},
|
||||
energy_required = 4,
|
||||
always_show_made_in = true,
|
||||
},
|
||||
{
|
||||
name = 'fi_fuel_train_crystal_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_energy_crystal_item',6},
|
||||
{'el_lithium_item',6},
|
||||
{'el_train_fuel_diesel_item',6},
|
||||
},
|
||||
result = 'fi_fuel_train_crystal_item',
|
||||
result_count = 4,
|
||||
energy_required = 30,
|
||||
},
|
||||
--crushed
|
||||
{
|
||||
name = 'fi_crushed_lithium_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_crushing',
|
||||
ingredients = {
|
||||
{'el_lithium_item',4},
|
||||
},
|
||||
result = 'fi_crushed_lithium_item',
|
||||
result_count = 1,
|
||||
energy_required = 2,
|
||||
always_show_made_in = true,
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_iron_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_crushing',
|
||||
ingredients = {
|
||||
{'iron-plate',4},
|
||||
},
|
||||
result = 'fi_crushed_iron_item',
|
||||
result_count = 1,
|
||||
energy_required = 2,
|
||||
always_show_made_in = true,
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_copper_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_crushing',
|
||||
ingredients = {
|
||||
{'copper-plate',4},
|
||||
},
|
||||
result = 'fi_crushed_copper_item',
|
||||
result_count = 1,
|
||||
energy_required = 2,
|
||||
always_show_made_in = true,
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_aluminum_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_crushing',
|
||||
ingredients = {
|
||||
{'el_aluminum_item',4},
|
||||
},
|
||||
result = 'fi_crushed_aluminum_item',
|
||||
result_count = 1,
|
||||
energy_required = 2,
|
||||
always_show_made_in = true,
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_coal_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_crushing',
|
||||
ingredients = {
|
||||
{'coal',4},
|
||||
},
|
||||
result = 'fi_crushed_coal_item',
|
||||
result_count = 1,
|
||||
energy_required = 2,
|
||||
always_show_made_in = true,
|
||||
},
|
||||
--matierals
|
||||
{
|
||||
name = 'fi_materials_industrial_steel_blend_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_crushed_coal_item',3},
|
||||
{'fi_crushed_iron_item',4},
|
||||
{'fi_crushed_aluminum_item',1},
|
||||
},
|
||||
result = 'fi_industrial_steel_blend_item',
|
||||
result_count = 2,
|
||||
energy_required = 4,
|
||||
},
|
||||
{
|
||||
name = 'fi_materials_industrial_steel_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'smelting',
|
||||
ingredients = {
|
||||
{'fi_industrial_steel_blend_item',4},
|
||||
},
|
||||
result = 'fi_industrial_steel_item',
|
||||
result_count = 2,
|
||||
energy_required = 2,
|
||||
always_show_made_in = true,
|
||||
},
|
||||
{
|
||||
name = 'fi_materials_steel_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'smelting',
|
||||
ingredients = {
|
||||
{'fi_industrial_steel_blend_item',1},
|
||||
},
|
||||
result = 'steel-plate',
|
||||
result_count = 4,
|
||||
energy_required = 6,
|
||||
subgroup = 'fi_item_subgroup_b',
|
||||
order = 'b-a',
|
||||
always_show_made_in = true,
|
||||
},
|
||||
--robo
|
||||
{
|
||||
name = 'fi_robo_port_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_robo_charger_item',1},
|
||||
{'fi_industrial_steel_item',80},
|
||||
{'fi_energy_crystal_item',25},
|
||||
{'fi_compound_material_item',80},
|
||||
},
|
||||
result = 'fi_robo_port_item',
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'fi_robo_charger_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'roboport',1},
|
||||
{'fi_industrial_steel_item',60},
|
||||
{'fi_energy_crystal_item',25},
|
||||
{'el_energy_crystal_item',25},
|
||||
},
|
||||
result = 'fi_robo_charger_item',
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
--modules
|
||||
{
|
||||
name = 'fi_modules_base_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'low-density-structure',2},
|
||||
{'advanced-circuit',6},
|
||||
},
|
||||
result = 'fi_modules_base_item',
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_core_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_modules_base_item',1},
|
||||
{'fi_base_crystal_item',2},
|
||||
},
|
||||
result = 'fi_modules_core_item',
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_1_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_modules_core_item',1},
|
||||
{'productivity-module',2},
|
||||
{'advanced-circuit',6},
|
||||
},
|
||||
result = 'fi_modules_productivity_1_item',
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_2_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_modules_productivity_1_item',4},
|
||||
{'fi_modules_core_item',1},
|
||||
{'productivity-module-2',2},
|
||||
{'processing-unit',6},
|
||||
},
|
||||
result = 'fi_modules_productivity_2_item',
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_3_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_modules_productivity_2_item',4},
|
||||
{'fi_modules_core_item',1},
|
||||
{'productivity-module-3',2},
|
||||
{'fu_tech_sign_item',40},
|
||||
},
|
||||
result = 'fi_modules_productivity_3_item',
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_4_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_modules_productivity_3_item',6},
|
||||
{'fi_modules_core_item',1},
|
||||
{'gr_materials_stack_up_item',4},
|
||||
},
|
||||
result = 'fi_modules_productivity_4_item',
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_5_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_modules_productivity_4_item',6},
|
||||
{'fi_modules_core_item',1},
|
||||
{'gr_materials_stack_down_item',4},
|
||||
},
|
||||
result = 'fi_modules_productivity_5_item',
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_6_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_modules_productivity_5_item',6},
|
||||
{'fi_modules_core_item',1},
|
||||
{'gr_materials_fusion_cell_item',4},
|
||||
},
|
||||
result = 'fi_modules_productivity_6_item',
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
})
|
22
prototypes/fission/fi_compound_material.lua
Normal file
22
prototypes/fission/fi_compound_material.lua
Normal file
|
@ -0,0 +1,22 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_compound_material_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_compound_material/fi_compound_material_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_compound_material_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_b',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
108
prototypes/fission/fi_crafter.lua
Normal file
108
prototypes/fission/fi_crafter.lua
Normal file
|
@ -0,0 +1,108 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_crafter_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_crafter/fi_crafter_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_crafter_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_crafter_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_c',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fi_crafter_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_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_crafter_item',
|
||||
},
|
||||
crafting_categories = {'advanced-crafting','crafting','smelting','fi_crafting_category'},
|
||||
crafting_speed = 3.5,
|
||||
energy_source = {
|
||||
type = 'burner',
|
||||
fuel_inventory_size = 3,
|
||||
burnt_inventory_size = 3,
|
||||
effectivity = 0.35,
|
||||
emissions_per_minute = 20,
|
||||
fuel_category = 'fi_basic_fuel'
|
||||
},
|
||||
energy_usage = '200kW',
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
module_specification = {
|
||||
module_info_icon_shift = {
|
||||
0,
|
||||
0.8
|
||||
},
|
||||
module_slots = 2
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/nuclear-reactor-1.ogg'},
|
||||
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
|
||||
apparent_volume = 0.7,
|
||||
},
|
||||
},
|
||||
})
|
57
prototypes/fission/fi_crushed.lua
Normal file
57
prototypes/fission/fi_crushed.lua
Normal file
|
@ -0,0 +1,57 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_crushed_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_crushed/fi_crushed_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_crushed_lithium_item',
|
||||
type = 'item',
|
||||
icon = sprite('lithium_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-b',
|
||||
order = 'a-d',
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_iron_item',
|
||||
type = 'item',
|
||||
icon = sprite('iron_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-b',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_copper_item',
|
||||
type = 'item',
|
||||
icon = sprite('copper_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-b',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_aluminum_item',
|
||||
type = 'item',
|
||||
icon = sprite('aluminum_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-b',
|
||||
order = 'a-c',
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_coal_item',
|
||||
type = 'item',
|
||||
icon = sprite('coal_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-b',
|
||||
order = 'a-f',
|
||||
},
|
||||
})
|
103
prototypes/fission/fi_crusher.lua
Normal file
103
prototypes/fission/fi_crusher.lua
Normal file
|
@ -0,0 +1,103 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_crusher_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_crusher/fi_crusher_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_crusher_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_crusher_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_c',
|
||||
order = 'a-c',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fi_crusher_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_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_crusher_item',
|
||||
},
|
||||
crafting_categories = {'fi_crushing'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
--input_flow_limit = '4MW',
|
||||
},
|
||||
energy_usage = '1MW',
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
module_specification = {
|
||||
module_info_icon_shift = {
|
||||
0,
|
||||
0.8
|
||||
},
|
||||
module_slots = 2
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/electric-mining-drill.ogg'},
|
||||
apparent_volume = 2.7,
|
||||
},
|
||||
},
|
||||
})
|
54
prototypes/fission/fi_energy_crystal.lua
Normal file
54
prototypes/fission/fi_energy_crystal.lua
Normal file
|
@ -0,0 +1,54 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_energy_crystal_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_energy_crystal/fi_energy_crystal_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_energy_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 500,
|
||||
subgroup = 'fi_item_subgroup_b',
|
||||
order = 'a-c',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
fuel_category = 'chemical',
|
||||
fuel_acceleration_multiplier = 1,
|
||||
fuel_emissions_multiplier = 1,
|
||||
fuel_top_speed_multiplier = 1,
|
||||
fuel_value = '300MJ',
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('crushed_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-b',
|
||||
order = 'a-e',
|
||||
},
|
||||
{
|
||||
name = 'fi_catalyst_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('catalyst_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_f',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_base_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('base_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_f',
|
||||
order = 'a-c',
|
||||
},
|
||||
})
|
117
prototypes/fission/fi_equipment.lua
Normal file
117
prototypes/fission/fi_equipment.lua
Normal file
|
@ -0,0 +1,117 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_equipment_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_equipment/fi_equipment_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_train_equipment_generator_item',
|
||||
type = 'item',
|
||||
icon = sprite('generator_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_e',
|
||||
placed_as_equipment_result = 'fi_train_equipment_generator_item',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fi_equipment_player_reactor_item',
|
||||
type = 'item',
|
||||
icon = sprite('player_reactor_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_e',
|
||||
placed_as_equipment_result = 'fi_equipment_player_reactor_item',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_equipment_player_shield_item',
|
||||
type = 'item',
|
||||
icon = sprite('player_shield_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_e',
|
||||
placed_as_equipment_result = 'fi_equipment_player_shield_item',
|
||||
order = 'a-c',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--equipment
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_train_equipment_generator_item',
|
||||
type = 'generator-equipment',
|
||||
power = '2400kW',
|
||||
categories = {'fi_train_equipment'},
|
||||
sprite = {
|
||||
filename = sprite('generator_entity.png'),
|
||||
width = 256,
|
||||
height = 256,
|
||||
priority = 'medium',
|
||||
},
|
||||
shape = {
|
||||
width = 3,
|
||||
height = 3,
|
||||
type = "full",
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-output',
|
||||
},
|
||||
|
||||
},
|
||||
{
|
||||
name = 'fi_equipment_player_reactor_item',
|
||||
type = 'generator-equipment',
|
||||
power = '600kW',
|
||||
categories = {'armor'},
|
||||
sprite = {
|
||||
filename = sprite('player_reactor_entity.png'),
|
||||
width = 256,
|
||||
height = 256,
|
||||
priority = 'medium',
|
||||
},
|
||||
shape = {
|
||||
width = 3,
|
||||
height = 3,
|
||||
type = "full",
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-output',
|
||||
},
|
||||
|
||||
},
|
||||
{
|
||||
name = 'fi_equipment_player_shield_item',
|
||||
type = 'energy-shield-equipment',
|
||||
energy_per_shield = '20kJ',
|
||||
max_shield_value = 400,
|
||||
categories = {'armor'},
|
||||
sprite = {
|
||||
filename = sprite('player_shield_entity.png'),
|
||||
width = 256,
|
||||
height = 256,
|
||||
priority = 'medium',
|
||||
},
|
||||
shape = {
|
||||
width = 3,
|
||||
height = 3,
|
||||
type = "full",
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-input',
|
||||
input_flow_limit = "600kW",
|
||||
buffer_capacity = "300kJ",
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
})
|
180
prototypes/fission/fi_fuel.lua
Normal file
180
prototypes/fission/fi_fuel.lua
Normal file
|
@ -0,0 +1,180 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_fuel_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_fuel/fi_fuel_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
--u 235 + u 238
|
||||
name = 'fi_basic_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('basic_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
fuel_category = 'fi_basic_fuel',
|
||||
fuel_value = '10GJ',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
order = 'a-a',
|
||||
burnt_result = 'fi_used_basic_fuel_item',
|
||||
},
|
||||
{
|
||||
--u 238 + th 232
|
||||
name = 'fi_basic_thorium_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('basic_thorium_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
fuel_category = 'fi_basic_fuel',
|
||||
fuel_value = '6GJ',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
order = 'a-b',
|
||||
burnt_result = 'fi_used_basic_thorium_fuel_item',
|
||||
},
|
||||
{
|
||||
--u 238 + pu 239
|
||||
name = 'fi_advanced_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('advanced_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
fuel_category = 'fi_advanced_fuel',
|
||||
fuel_value = '14GJ',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
order = 'b-a',
|
||||
burnt_result = 'fi_used_advanced_fuel_item',
|
||||
},
|
||||
{
|
||||
--u 233 + u 238
|
||||
name = 'fi_advanced_thorium_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('advanced_thorium_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
fuel_category = 'fi_advanced_fuel',
|
||||
fuel_value = '10GJ',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
order = 'b-b',
|
||||
burnt_result = 'fi_used_advanced_thorium_fuel_item',
|
||||
},
|
||||
{
|
||||
--u 235 + pu 239
|
||||
name = 'fi_pure_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('pure_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
fuel_category = 'fi_pure_fuel',
|
||||
fuel_value = '28GJ',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
order = 'c-a',
|
||||
burnt_result = 'fi_used_pure_fuel_item',
|
||||
},
|
||||
{
|
||||
--used_basic
|
||||
name = 'fi_used_basic_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('used_basic_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
--used_basic_thorium
|
||||
name = 'fi_used_basic_thorium_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('used_basic_thorium_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
--used_advanced
|
||||
name = 'fi_used_advanced_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('used_advanced_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
--used_advanced_thorium
|
||||
name = 'fi_used_advanced_thorium_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('used_advanced_thorium_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
--used_pure
|
||||
name = 'fi_used_pure_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('used_pure_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
--u33
|
||||
name = 'fi_uranium233_item',
|
||||
type = 'item',
|
||||
icon = sprite('uranium233_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_a',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
--pu239
|
||||
name = 'fi_plutonium239_item',
|
||||
type = 'item',
|
||||
icon = sprite('plutonium239_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_a',
|
||||
order = 'a-c',
|
||||
},
|
||||
{
|
||||
--th232
|
||||
name = 'fi_thorium232_item',
|
||||
type = 'item',
|
||||
icon = sprite('thorium232_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_a',
|
||||
order = 'a-a',
|
||||
},
|
||||
--train crystal fuel
|
||||
{
|
||||
name = 'fi_fuel_train_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('train_crystal_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
order = 'd-a',
|
||||
fuel_acceleration_multiplier = 0.6,
|
||||
fuel_top_speed_multiplier = 1.55,
|
||||
fuel_category = 'el_train_fuel',
|
||||
fuel_emissions_multiplier = 3.5,
|
||||
fuel_value = '350MJ',
|
||||
},
|
||||
|
||||
|
||||
|
||||
})
|
32
prototypes/fission/fi_materials.lua
Normal file
32
prototypes/fission/fi_materials.lua
Normal file
|
@ -0,0 +1,32 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_materials_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_materials/fi_materials_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_industrial_steel_item',
|
||||
type = 'item',
|
||||
icon = sprite('industrial_steel_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_b',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_industrial_steel_blend_item',
|
||||
type = 'item',
|
||||
icon = sprite('industrial_steel_blend_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-c',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
|
||||
})
|
114
prototypes/fission/fi_miner.lua
Normal file
114
prototypes/fission/fi_miner.lua
Normal file
|
@ -0,0 +1,114 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_miner_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_miner/fi_miner_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_miner_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_miner_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_c',
|
||||
order = 'a-b',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fi_miner_entity',
|
||||
type = 'mining-drill',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-2.7,-1.3},{2.7,1.3}},
|
||||
selection_box = {{-3,-1.5},{3,1.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fi_miner_item',
|
||||
},
|
||||
energy_source = {
|
||||
type = 'burner',
|
||||
fuel_inventory_size = 3,
|
||||
burnt_inventory_size = 3,
|
||||
effectivity = 0.35,
|
||||
emissions_per_minute = 75,
|
||||
fuel_category = 'fi_basic_fuel'
|
||||
},
|
||||
energy_usage = '4MW',
|
||||
mining_speed = 4.5,
|
||||
resource_categories = {'basic-solid'},
|
||||
resource_searching_radius = 6,
|
||||
vector_to_place_result = {3.25,0},
|
||||
radius_visualisation_picture =
|
||||
{
|
||||
filename = "__base__/graphics/entity/beacon/beacon-radius-visualization.png",
|
||||
width = 10,
|
||||
height = 10,
|
||||
},
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
module_specification = {
|
||||
module_info_icon_shift = {
|
||||
0,
|
||||
0.8
|
||||
},
|
||||
module_slots = 2
|
||||
},
|
||||
--animation
|
||||
animations = {
|
||||
north = {
|
||||
filename = sprite('entity_animation_vertikal.png'),
|
||||
size = {448*2,550},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.3},
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation_horizontal.png'),
|
||||
size = {480,448*2},
|
||||
scale = 0.2,
|
||||
line_length = 10,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation_vertikal.png'),
|
||||
size = {448*2,550},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.3},
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation_horizontal.png'),
|
||||
size = {480,448*2},
|
||||
scale = 0.2,
|
||||
line_length = 10,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/electric-mining-drill.ogg'},
|
||||
apparent_volume = 3.2,
|
||||
},
|
||||
},
|
||||
})
|
155
prototypes/fission/fi_modules.lua
Normal file
155
prototypes/fission/fi_modules.lua
Normal file
|
@ -0,0 +1,155 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_modules_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_modules/fi_modules_'..name
|
||||
end
|
||||
|
||||
local limitation_list = {
|
||||
'el_aluminum_ore_recipe',
|
||||
'el_aluminum_item_recipe',
|
||||
'el_lithium_ore_recipe',
|
||||
'el_lithium_item_recipe',
|
||||
'el_train_fuel_diesel_recipe',
|
||||
'el_energy_crystal_recipe',
|
||||
'fi_compound_material_recipe',
|
||||
'fi_materials_industrial_steel_recipe',
|
||||
'fu_lead_ore_recipe',
|
||||
'fi_base_crystal_recipe',
|
||||
'fi_catalyst_crystal_recipe',
|
||||
'fi_energy_crystal_recipe'
|
||||
}
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_modules_productivity_1_item',
|
||||
type = 'module',
|
||||
icon = sprite('productivity_1.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_j',
|
||||
category = '248k_productivity_category',
|
||||
tier = 1,
|
||||
order = 'a-a',
|
||||
effect = {
|
||||
consumption = {bonus = 0.9},
|
||||
speed = {bonus = -0.2},
|
||||
productivity = {bonus = 0.08},
|
||||
pollution = {bonus = 0.3}
|
||||
},
|
||||
limitation = limitation_list,
|
||||
limitation_message_key = 'limitation_message',
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_2_item',
|
||||
type = 'module',
|
||||
icon = sprite('productivity_2.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_j',
|
||||
category = '248k_productivity_category',
|
||||
tier = 2,
|
||||
order = 'a-a',
|
||||
effect = {
|
||||
consumption = {bonus = 1.4},
|
||||
speed = {bonus = -0.35},
|
||||
productivity = {bonus = 0.12},
|
||||
pollution = {bonus = 0.6}
|
||||
},
|
||||
limitation = limitation_list,
|
||||
limitation_message_key = 'limitation_message',
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_3_item',
|
||||
type = 'module',
|
||||
icon = sprite('productivity_3.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_j',
|
||||
category = '248k_productivity_category',
|
||||
tier = 3,
|
||||
order = 'a-a',
|
||||
effect = {
|
||||
consumption = {bonus = 2.6},
|
||||
speed = {bonus = -0.6},
|
||||
productivity = {bonus = 0.20},
|
||||
pollution = {bonus = 0.9}
|
||||
},
|
||||
limitation = limitation_list,
|
||||
limitation_message_key = 'limitation_message',
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_4_item',
|
||||
type = 'module',
|
||||
icon = sprite('productivity_4.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'gr_item_subgroup_d',
|
||||
category = '248k_productivity_category',
|
||||
tier = 4,
|
||||
order = 'a-a',
|
||||
effect = {
|
||||
consumption = {bonus = 2},
|
||||
speed = {bonus = -0.5},
|
||||
productivity = {bonus = 0.05},
|
||||
pollution = {bonus = 1}
|
||||
},
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_5_item',
|
||||
type = 'module',
|
||||
icon = sprite('productivity_5.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'gr_item_subgroup_d',
|
||||
category = '248k_productivity_category',
|
||||
tier = 5,
|
||||
order = 'a-b',
|
||||
effect = {
|
||||
consumption = {bonus = 3},
|
||||
speed = {bonus = -0.7},
|
||||
productivity = {bonus = 0.1},
|
||||
pollution = {bonus = 1}
|
||||
},
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_6_item',
|
||||
type = 'module',
|
||||
icon = sprite('productivity_6.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'gr_item_subgroup_d',
|
||||
category = '248k_productivity_category',
|
||||
tier = 6,
|
||||
order = 'a-c',
|
||||
effect = {
|
||||
consumption = {bonus = 6},
|
||||
speed = {bonus = -0.9},
|
||||
productivity = {bonus = 0.25},
|
||||
pollution = {bonus = 1}
|
||||
},
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_base_item',
|
||||
type = 'item',
|
||||
icon = sprite('base.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_e',
|
||||
order = 'b-k',
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_core_item',
|
||||
type = 'item',
|
||||
icon = sprite('core.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_e',
|
||||
order = 'b-x',
|
||||
},
|
||||
|
||||
|
||||
})
|
219
prototypes/fission/fi_robo.lua
Normal file
219
prototypes/fission/fi_robo.lua
Normal file
|
@ -0,0 +1,219 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_robo_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_robo/fi_robo_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_robo_port_item',
|
||||
type = 'item',
|
||||
icon = sprite('port_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_robo_port_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_c',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_robo_charger_item',
|
||||
type = 'item',
|
||||
icon = sprite('charger_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_robo_charger_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_c',
|
||||
order = 'a-b',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype port
|
||||
{
|
||||
name = 'fi_robo_port_entity',
|
||||
type = 'roboport',
|
||||
icon = sprite('port_entity_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_robo_port_item',
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
buffer_capacity = '400MJ',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '160MW',
|
||||
},
|
||||
energy_usage = '4MW',
|
||||
charge_approach_distance = 2,
|
||||
charging_energy = '2MW',
|
||||
recharge_minimum = '1MW',
|
||||
charging_station_count = 4,
|
||||
construction_radius = 70,
|
||||
logistics_radius = 70,
|
||||
material_slots_count = 10,
|
||||
robot_slots_count = 10,
|
||||
request_to_open_door_timeout = 15,
|
||||
spawn_and_station_height = 1.2,
|
||||
robots_shrink_when_entering_and_exiting = true,
|
||||
|
||||
base = {
|
||||
filename = sprite('port_base.png'),
|
||||
width = 600,
|
||||
height = 600,
|
||||
scale = 0.2,
|
||||
shift = {0,-0.3},
|
||||
},
|
||||
base_patch = {
|
||||
filename = sprite('port_base.png'),
|
||||
width = 64,
|
||||
height = 64,
|
||||
},
|
||||
base_animation = {
|
||||
filename = sprite('port_base.png'),
|
||||
width = 64,
|
||||
height = 1,
|
||||
line_length = 1,
|
||||
--lines_per_file = 1,
|
||||
animation_speed = 0.5,
|
||||
frame_count = 6,
|
||||
scale = 1,
|
||||
},
|
||||
door_animation_up = {
|
||||
filename = sprite('port_door_animation.png'),
|
||||
width = 600,
|
||||
height = 600,
|
||||
scale = 0.2,
|
||||
shift = {0,-0.3},
|
||||
line_length = 4,
|
||||
--lines_per_file = 1,
|
||||
animation_speed = 0.5,
|
||||
frame_count = 4,
|
||||
},
|
||||
door_animation_down = {
|
||||
filename = sprite('port_door_animation.png'),
|
||||
width = 600,
|
||||
height = 600,
|
||||
scale = 0.2,
|
||||
shift = {0,-0.3},
|
||||
line_length = 4,
|
||||
--lines_per_file = 1,
|
||||
animation_speed = 0.5,
|
||||
frame_count = 4,
|
||||
},
|
||||
recharging_animation = {
|
||||
filename = "__base__/graphics/entity/roboport/roboport-recharging.png",
|
||||
priority = "high",
|
||||
width = 37,
|
||||
height = 35,
|
||||
frame_count = 16,
|
||||
scale = 1.5,
|
||||
animation_speed = 0.5
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
--charger
|
||||
{
|
||||
name = 'fi_robo_charger_entity',
|
||||
type = 'roboport',
|
||||
icon = sprite('charger_entity_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_robo_charger_item',
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
buffer_capacity = '400MJ',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '40MW',
|
||||
},
|
||||
energy_usage = '4MW',
|
||||
charge_approach_distance = 2,
|
||||
charging_energy = '6MW',
|
||||
recharge_minimum = '1MW',
|
||||
charging_station_count = 6,
|
||||
construction_radius = 1,
|
||||
logistics_radius = 1,
|
||||
material_slots_count = 0,
|
||||
robot_slots_count = 0,
|
||||
request_to_open_door_timeout = 4,
|
||||
spawn_and_station_height = 2,
|
||||
|
||||
base = {
|
||||
filename = sprite('charger_base_2.png'),
|
||||
width = 600,
|
||||
height = 600,
|
||||
scale = 0.2,
|
||||
shift = {0,-0.3},
|
||||
},
|
||||
base_patch = {
|
||||
filename = sprite('charger_base.png'),
|
||||
width = 64,
|
||||
height = 64,
|
||||
},
|
||||
base_animation = {
|
||||
filename = sprite('charger_animation_2.png'),
|
||||
width = 600,
|
||||
height = 600,
|
||||
line_length = 5,
|
||||
lines_per_file = 1,
|
||||
scale = 0.2,
|
||||
animation_speed = 0.3,
|
||||
frame_count = 5,
|
||||
shift = {0,-0.3},
|
||||
},
|
||||
door_animation_up = {
|
||||
filename = sprite('charger_base.png'),
|
||||
width = 64,
|
||||
height = 1,
|
||||
line_length = 1,
|
||||
--lines_per_file = 1,
|
||||
animation_speed = 0.5,
|
||||
frame_count = 6,
|
||||
scale = 1,
|
||||
},
|
||||
door_animation_down = {
|
||||
filename = sprite('charger_base.png'),
|
||||
width = 64,
|
||||
height = 1,
|
||||
line_length = 1,
|
||||
--lines_per_file = 1,
|
||||
animation_speed = 0.5,
|
||||
frame_count = 6,
|
||||
scale = 1,
|
||||
},
|
||||
recharging_animation = {
|
||||
filename = "__base__/graphics/entity/roboport/roboport-recharging.png",
|
||||
priority = "high",
|
||||
width = 37,
|
||||
height = 35,
|
||||
frame_count = 16,
|
||||
scale = 1.5,
|
||||
animation_speed = 0.5
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
})
|
99
prototypes/fission/fi_solid_reactor.lua
Normal file
99
prototypes/fission/fi_solid_reactor.lua
Normal file
|
@ -0,0 +1,99 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_solid_reactor_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_solid_reactor/fi_solid_reactor_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_solid_reactor_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_solid_reactor_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_c',
|
||||
order = 'b-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fi_solid_reactor_entity',
|
||||
type = 'reactor',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-2.7,-2.7},{2.7,2.7}},
|
||||
selection_box = {{-3.0,-3.0},{3.0,3.0}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fi_solid_reactor_item',
|
||||
},
|
||||
consumption = '60MW',
|
||||
neighbour_bonus = 2,
|
||||
energy_source = {
|
||||
type = 'burner',
|
||||
fuel_inventory_size = 3,
|
||||
burnt_inventory_size = 3,
|
||||
effectivity = 0.9,
|
||||
fuel_categories = {
|
||||
'fi_basic_fuel',
|
||||
'fi_advanced_fuel',
|
||||
'fi_pure_fuel'
|
||||
}
|
||||
},
|
||||
heat_buffer = {
|
||||
max_temperature = 1000,
|
||||
specific_heat = '10MJ',
|
||||
max_transfer = '10GW',
|
||||
connections = {
|
||||
{position = {0.5,-3}, direction = defines.direction.north},
|
||||
{position = {-0.5,-3}, direction = defines.direction.north},
|
||||
|
||||
{position = {2.9,0.5}, direction = defines.direction.east},
|
||||
{position = {2.9,-0.5}, direction = defines.direction.east},
|
||||
|
||||
{position = {-3,0.5}, direction = defines.direction.west},
|
||||
{position = {-3,-0.5}, direction = defines.direction.west},
|
||||
|
||||
{position = {0.5,2.9}, direction = defines.direction.south},
|
||||
{position = {-0.5,2.9}, direction = defines.direction.south}
|
||||
}
|
||||
},
|
||||
picture = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
width = 960,
|
||||
height = 960,
|
||||
shift = {0, 0},
|
||||
scale = 0.2,
|
||||
},
|
||||
working_light_picture ={
|
||||
filename = sprite('working_light.png'),
|
||||
width = 960,
|
||||
height = 960,
|
||||
shift = {0, 0},
|
||||
scale = 0.2,
|
||||
},
|
||||
light = {
|
||||
type = 'basic',
|
||||
intensity = 0.4,
|
||||
size = 14,
|
||||
color = {r=0.1,g=0.5,b=0.75}
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/nuclear-reactor-1.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
1088
prototypes/fu_recipes.lua
Normal file
1088
prototypes/fu_recipes.lua
Normal file
File diff suppressed because it is too large
Load diff
143
prototypes/fusion/fu_activator.lua
Normal file
143
prototypes/fusion/fu_activator.lua
Normal file
|
@ -0,0 +1,143 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_activator_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_activator/fu_activator_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_activator_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_activator_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fu_item_subgroup_c',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fu_activator_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_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 = 'fu_activator_item',
|
||||
},
|
||||
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'}
|
||||
},
|
||||
energy_usage = '50MW',
|
||||
allowed_effects = {"speed", "consumption", "pollution"},
|
||||
module_specification = {
|
||||
module_info_icon_shift = {
|
||||
0,
|
||||
0.8
|
||||
},
|
||||
module_slots = 2
|
||||
},
|
||||
--fluids
|
||||
fluid_boxes = {
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-2, 0}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {2, 0}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {0, -2}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {420,448},
|
||||
scale = 0.26,
|
||||
line_length = 2,
|
||||
frame_count = 2,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.2}
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {420,448},
|
||||
scale = 0.26,
|
||||
line_length = 2,
|
||||
frame_count = 2,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.2}
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {420,448},
|
||||
scale = 0.26,
|
||||
line_length = 2,
|
||||
frame_count = 2,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.2}
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {420,448},
|
||||
scale = 0.26,
|
||||
line_length = 2,
|
||||
frame_count = 2,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.2},
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/nuclear-reactor-1.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
144
prototypes/fusion/fu_boiler.lua
Normal file
144
prototypes/fusion/fu_boiler.lua
Normal file
|
@ -0,0 +1,144 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_boiler_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_boiler/fu_boiler_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_boiler_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_boiler_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fu_item_subgroup_c',
|
||||
order = 'a-c',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fu_boiler_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-1.8,-1.8},{1.8,1.8}},
|
||||
selection_box = {{-2,-2},{2,2}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_boiler_item',
|
||||
},
|
||||
crafting_categories = {'fu_boiler_crafting_category'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'heat',
|
||||
max_temperature = 1000,
|
||||
specific_heat = '100MJ',
|
||||
max_transfer = '10GW',
|
||||
connections = {
|
||||
{position = {0.5,-1.8}, direction = defines.direction.north},
|
||||
{position = {-0.5,-1.8}, direction = defines.direction.north},
|
||||
}
|
||||
},
|
||||
energy_usage = '150MW',
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
module_specification = {
|
||||
module_info_icon_shift = {
|
||||
0,
|
||||
0.8
|
||||
},
|
||||
module_slots = 2
|
||||
},
|
||||
--fluids
|
||||
fluid_boxes = {
|
||||
{
|
||||
filter = 'water',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-2.5, -0.5}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
filter = 'fu_hydrogen',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {2.5, -0.5}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
filter = 'fu_oxygen',
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {0.5, 2.5}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {512,512},
|
||||
scale = 0.255,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {512,512},
|
||||
scale = 0.255,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {512,512},
|
||||
scale = 0.255,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {512,512},
|
||||
scale = 0.255,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/nuclear-reactor-1.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
105
prototypes/fusion/fu_burner.lua
Normal file
105
prototypes/fusion/fu_burner.lua
Normal file
|
@ -0,0 +1,105 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_burner_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_burner/fu_burner_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_burner_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_burner_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fu_item_subgroup_c',
|
||||
order = 'a-b',
|
||||
},
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_burner_entity',
|
||||
type = 'generator',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral", "not-rotatable"},
|
||||
--minable
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_burner_item',
|
||||
},
|
||||
max_health = 150,
|
||||
corpse = 'small-remnants',
|
||||
collision_box = {{-1.4,-1.4},{1.4,1.4}},
|
||||
selection_box = {{-1.5,-1.5},{1.5,1.5}},
|
||||
--energy
|
||||
effectivity = 1,
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-output',
|
||||
input_flow_limit = '0W',
|
||||
output_flow_limit = tostring(config('power_output'))..'W',
|
||||
},
|
||||
max_power_output = tostring(config('power_output'))..'W',
|
||||
maximum_temperature = 40,
|
||||
fluid_usage_per_tick = 1,
|
||||
fluid_box = {
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
filter = 'fu_oxygen',
|
||||
minimum_temperature = 0,
|
||||
maximum_temperature = 40,
|
||||
production_type = 'input-output',
|
||||
pipe_connections = {
|
||||
{type = "input-output", position = {2, 0}},
|
||||
{type = "input-output", position = {-2, 0}},
|
||||
},
|
||||
},
|
||||
fluid_input = {
|
||||
name = 'fu_oxygen',
|
||||
minimum_temperature = 0,
|
||||
},
|
||||
--animation
|
||||
vertical_animation = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {420,448},
|
||||
scale = 0.26,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.2}
|
||||
},
|
||||
horizontal_animation = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {420,448},
|
||||
scale = 0.26,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.2}
|
||||
},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
working_sound =
|
||||
{
|
||||
sound = { filename = "__base__/sound/furnace.ogg" },
|
||||
apparent_volume = 1.5,
|
||||
},
|
||||
smoke = {
|
||||
{
|
||||
name = 'smoke',
|
||||
tape = 'trival-smoke',
|
||||
frequency = 0.5,
|
||||
position = {-0.6,-1.8},
|
||||
--deviation = {x = -2, y = -2},
|
||||
duration = 0.5,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
145
prototypes/fusion/fu_exchanger.lua
Normal file
145
prototypes/fusion/fu_exchanger.lua
Normal file
|
@ -0,0 +1,145 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_exchanger_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_exchanger/fu_exchanger_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_exchanger_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_exchanger_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fu_item_subgroup_c',
|
||||
order = 'a-c',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fu_exchanger_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-1.8,-1.8},{1.8,1.8}},
|
||||
selection_box = {{-2,-2},{2,2}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_exchanger_item',
|
||||
},
|
||||
crafting_categories = {'fu_exchanger_crafting_category'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'void',
|
||||
},
|
||||
energy_usage = '20MW',
|
||||
allowed_effects = {"speed", "consumption", "pollution"},
|
||||
module_specification = {
|
||||
module_info_icon_shift = {
|
||||
0,
|
||||
0.8
|
||||
},
|
||||
module_slots = 2
|
||||
},
|
||||
--fluids
|
||||
fluid_boxes = {
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-2.5, -0.5}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-2.5, 1.5}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {2.5, -0.5}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {2.5, 1.5}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/heat-exchanger.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
139
prototypes/fusion/fu_fusor.lua
Normal file
139
prototypes/fusion/fu_fusor.lua
Normal file
|
@ -0,0 +1,139 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_fusor_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_fusor/fu_fusor_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_fusor_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_fusor_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fu_item_subgroup_d',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_tech_sign_item',
|
||||
type = 'item',
|
||||
icon = sprite('tech_sign_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'fu_item_subgroup_b',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fu_fusor_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","not-rotatable"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-2.8,-2.3},{2.8,2.3}},
|
||||
selection_box = {{-3,-2.5},{3,2.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_fusor_item',
|
||||
},
|
||||
crafting_categories = {'fu_fusor_crafting_category'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
buffer_capacity = '400MJ',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '600MW',
|
||||
},
|
||||
energy_usage = '400MW',
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
module_specification = {
|
||||
module_info_icon_shift = {
|
||||
0,
|
||||
0.8
|
||||
},
|
||||
module_slots = 2
|
||||
},
|
||||
--fluid
|
||||
fluid_boxes = {
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-1.5, -3}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {1.5, -3}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {512*2,512*2},
|
||||
scale = 0.2,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-1},
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {512*2,512*2},
|
||||
scale = 0.2,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-1},
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {512*2,512*2},
|
||||
scale = 0.2,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-1},
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {512*2,512*2},
|
||||
scale = 0.2,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-1},
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/nuclear-reactor-1.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
43
prototypes/fusion/fu_lead.lua
Normal file
43
prototypes/fusion/fu_lead.lua
Normal file
|
@ -0,0 +1,43 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['el_lead_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_lead/fu_lead_'..name
|
||||
end
|
||||
--ore
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_lead_ore_item',
|
||||
type = 'item',
|
||||
icon = sprite('ore_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fu_item_subgroup_a',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_lead_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fu_item_subgroup_a',
|
||||
order = 'b-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_crushed_lead_item',
|
||||
type = 'item',
|
||||
icon = sprite('crushed_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fu_item_subgroup_a-b',
|
||||
order = 'c-a',
|
||||
},
|
||||
|
||||
})
|
277
prototypes/fusion/fu_reactor.lua
Normal file
277
prototypes/fusion/fu_reactor.lua
Normal file
|
@ -0,0 +1,277 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_stelar_reactor_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_reactor/fu_reactor_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_stelar_reactor_item',
|
||||
type = 'item',
|
||||
icon = sprite('stelar_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_stelar_reactor_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fu_item_subgroup_d',
|
||||
order = 'a-c',
|
||||
},
|
||||
{
|
||||
name = 'fu_tokamak_reactor_item',
|
||||
type = 'item',
|
||||
icon = sprite('tokamak_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_tokamak_reactor_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fu_item_subgroup_d',
|
||||
order = 'a-b',
|
||||
},
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fu_stelar_reactor_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('stelar_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","not-rotatable"},
|
||||
max_health = 1500,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-5.8,-3.8},{5.8,5.8}},
|
||||
selection_box = {{-6,-4},{6,6}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_stelar_reactor_item',
|
||||
},
|
||||
crafting_categories = {'fu_stelar_reactor_crafting_category'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
buffer_capacity = '400MJ',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '600MW',
|
||||
},
|
||||
energy_usage = '400MW',
|
||||
--fluid
|
||||
fluid_boxes = {
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-1.5, -4.5}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {1.5, -4.5}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {0.5, -4.5}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {-0.5, -4.5}}
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('stelar_entity_animation.png'),
|
||||
size = {512*2,512*2},
|
||||
scale = 0.4,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,0.4},
|
||||
},
|
||||
east = {
|
||||
filename = sprite('stelar_entity_animation.png'),
|
||||
size = {512*2,512*2},
|
||||
scale = 0.4,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,0.4},
|
||||
},
|
||||
south = {
|
||||
filename = sprite('stelar_entity_animation.png'),
|
||||
size = {512*2,512*2},
|
||||
scale = 0.4,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,0.4},
|
||||
},
|
||||
west = {
|
||||
filename = sprite('stelar_entity_animation.png'),
|
||||
size = {512*2,512*2},
|
||||
scale = 0.4,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,0.4},
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/nuclear-reactor-1.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = 'fu_tokamak_reactor_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('tokamak_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","not-rotatable"},
|
||||
max_health = 1500,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-5.8,-3.8},{5.8,5.8}},
|
||||
selection_box = {{-6,-4},{6,6}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_tokamak_reactor_item',
|
||||
},
|
||||
crafting_categories = {'fu_tokamak_reactor_crafting_category'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
buffer_capacity = '400MJ',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '600MW',
|
||||
},
|
||||
energy_usage = '400MW',
|
||||
--fluid
|
||||
fluid_boxes = {
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-1.5, -4.5}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {1.5, -4.5}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {0.5, -4.5}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {-0.5, -4.5}}
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('tokamak_entity_animation_vertikal.png'),
|
||||
size = {512*3,512*2},
|
||||
scale = 0.37,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.5,
|
||||
shift = {2.34,0.3},
|
||||
},
|
||||
east = {
|
||||
filename = sprite('tokamak_entity_animation_horizontal.png'),
|
||||
size = {512*3,512*2},
|
||||
scale = 0.37,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.5,
|
||||
shift = {2.34,0.3},
|
||||
},
|
||||
south = {
|
||||
filename = sprite('tokamak_entity_animation_vertikal.png'),
|
||||
size = {512*3,512*2},
|
||||
scale = 0.37,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.5,
|
||||
shift = {2.34,0.3},
|
||||
},
|
||||
west = {
|
||||
filename = sprite('tokamak_entity_animation_horizontal.png'),
|
||||
size = {512*3,512*2},
|
||||
scale = 0.37,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.5,
|
||||
shift = {2.34,0.3},
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/nuclear-reactor-1.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
259
prototypes/fusion/fu_robo.lua
Normal file
259
prototypes/fusion/fu_robo.lua
Normal file
|
@ -0,0 +1,259 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_robo_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_robo/fu_robo_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_robo_logistic_item',
|
||||
type = 'item',
|
||||
icon = sprite('logistic_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_robo_logistic_entity',
|
||||
stack_size = 50,
|
||||
subgroup = 'fu_item_subgroup_d',
|
||||
order = 'b-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_robo_construction_item',
|
||||
type = 'item',
|
||||
icon = sprite('construction_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_robo_construction_entity',
|
||||
stack_size = 50,
|
||||
subgroup = 'fu_item_subgroup_d',
|
||||
order = 'b-b',
|
||||
},
|
||||
})
|
||||
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_robo_logistic_entity',
|
||||
type = 'logistic-robot',
|
||||
icon = sprite('logistic_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"placeable-player", "player-creation", "placeable-off-grid", "not-on-map"},
|
||||
max_health = 800,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{0, 0}, {0, 0}},
|
||||
selection_box = {{-0.5, -1.5}, {0.5, -0.5}},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_robo_logistic_item',
|
||||
},
|
||||
max_payload_size = 5,
|
||||
speed = 0.24,
|
||||
transfer_distance = 0.5,
|
||||
max_energy = "20MJ",
|
||||
energy_per_tick = "0.14kJ",
|
||||
speed_multiplier_when_out_of_energy = 0.2,
|
||||
energy_per_move = "10kJ",
|
||||
min_to_charge = 0.2,
|
||||
max_to_charge = 0.9,
|
||||
cargo_centered = {0.0, 0.2},
|
||||
idle =
|
||||
{
|
||||
filename = sprite('logistic_entity_animation.png'),
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 128,
|
||||
height = 128,
|
||||
scale = 0.5,
|
||||
frame_count = 1,
|
||||
shift = {0,0},
|
||||
direction_count = 16,
|
||||
},
|
||||
idle_with_cargo =
|
||||
{
|
||||
filename = sprite('logistic_entity_animation.png'),
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 128,
|
||||
height = 128,
|
||||
scale = 0.5,
|
||||
frame_count = 1,
|
||||
shift = {0,0},
|
||||
direction_count = 16,
|
||||
},
|
||||
in_motion =
|
||||
{
|
||||
filename = sprite('logistic_entity_animation.png'),
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 128,
|
||||
height = 128,
|
||||
scale = 0.5,
|
||||
frame_count = 1,
|
||||
shift = {0,0},
|
||||
direction_count = 16,
|
||||
},
|
||||
in_motion_with_cargo =
|
||||
{
|
||||
filename = sprite('logistic_entity_animation.png'),
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 128,
|
||||
height = 128,
|
||||
scale = 0.5,
|
||||
frame_count = 1,
|
||||
shift = {0,0},
|
||||
direction_count = 16,
|
||||
},
|
||||
shadow_idle =
|
||||
{
|
||||
filename = "__base__/graphics/entity/logistic-robot/logistic-robot-shadow.png",
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 58,
|
||||
height = 29,
|
||||
frame_count = 1,
|
||||
direction_count = 16,
|
||||
y = 29,
|
||||
draw_as_shadow = true,
|
||||
},
|
||||
shadow_in_motion =
|
||||
{
|
||||
filename = "__base__/graphics/entity/logistic-robot/logistic-robot-shadow.png",
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 58,
|
||||
height = 29,
|
||||
frame_count = 1,
|
||||
direction_count = 16,
|
||||
draw_as_shadow = true,
|
||||
},
|
||||
shadow_idle_with_cargo =
|
||||
{
|
||||
filename = "__base__/graphics/entity/logistic-robot/logistic-robot-shadow.png",
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 58,
|
||||
height = 29,
|
||||
frame_count = 1,
|
||||
direction_count = 16,
|
||||
draw_as_shadow = true,
|
||||
},
|
||||
shadow_in_motion_with_cargo =
|
||||
{
|
||||
filename = "__base__/graphics/entity/logistic-robot/logistic-robot-shadow.png",
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 58,
|
||||
height = 29,
|
||||
frame_count = 1,
|
||||
direction_count = 16,
|
||||
draw_as_shadow = true,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = 'fu_robo_construction_entity',
|
||||
type = 'construction-robot',
|
||||
icon = sprite('construction_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"placeable-player", "player-creation", "placeable-off-grid", "not-on-map"},
|
||||
max_health = 800,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{0, 0}, {0, 0}},
|
||||
selection_box = {{-0.5, -1.5}, {0.5, -0.5}},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_robo_construction_item',
|
||||
},
|
||||
working_light = {intensity = 0.8, size = 3},
|
||||
max_payload_size = 5,
|
||||
speed = 0.24,
|
||||
transfer_distance = 0.5,
|
||||
max_energy = "20MJ",
|
||||
energy_per_tick = "0.14kJ",
|
||||
speed_multiplier_when_out_of_energy = 0.2,
|
||||
energy_per_move = "10kJ",
|
||||
min_to_charge = 0.2,
|
||||
max_to_charge = 0.9,
|
||||
cargo_centered = {0.0, 0.2},
|
||||
construction_vector = {0.30, 0.22},
|
||||
idle =
|
||||
{
|
||||
filename = sprite('construction_entity_animation.png'),
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 128,
|
||||
height = 128,
|
||||
scale = 0.5,
|
||||
frame_count = 1,
|
||||
shift = {0,0},
|
||||
direction_count = 16,
|
||||
},
|
||||
in_motion =
|
||||
{
|
||||
filename = sprite('construction_entity_animation.png'),
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 128,
|
||||
height = 128,
|
||||
scale = 0.5,
|
||||
frame_count = 1,
|
||||
shift = {0,0},
|
||||
direction_count = 16,
|
||||
},
|
||||
shadow_idle =
|
||||
{
|
||||
filename = "__base__/graphics/entity/logistic-robot/logistic-robot-shadow.png",
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 58,
|
||||
height = 29,
|
||||
frame_count = 1,
|
||||
direction_count = 16,
|
||||
y = 29,
|
||||
draw_as_shadow = true,
|
||||
},
|
||||
shadow_in_motion =
|
||||
{
|
||||
filename = "__base__/graphics/entity/logistic-robot/logistic-robot-shadow.png",
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 58,
|
||||
height = 29,
|
||||
frame_count = 1,
|
||||
direction_count = 16,
|
||||
draw_as_shadow = true,
|
||||
},
|
||||
working =
|
||||
{
|
||||
filename = "__base__/graphics/entity/logistic-robot/logistic-robot-shadow.png",
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 58,
|
||||
height = 29,
|
||||
frame_count = 1,
|
||||
direction_count = 16,
|
||||
draw_as_shadow = true,
|
||||
},
|
||||
shadow_working =
|
||||
{
|
||||
filename = "__base__/graphics/entity/logistic-robot/logistic-robot-shadow.png",
|
||||
priority = "high",
|
||||
line_length = 16,
|
||||
width = 58,
|
||||
height = 29,
|
||||
frame_count = 1,
|
||||
direction_count = 16,
|
||||
draw_as_shadow = true,
|
||||
},
|
||||
smoke =
|
||||
{
|
||||
filename = "__base__/graphics/entity/smoke-construction/smoke-01.png",
|
||||
width = 39,
|
||||
height = 32,
|
||||
frame_count = 19,
|
||||
line_length = 19,
|
||||
shift = {0.078125, -0.15625},
|
||||
animation_speed = 0.3,
|
||||
},
|
||||
},
|
||||
})
|
122
prototypes/fusion/fu_space_probe.lua
Normal file
122
prototypes/fusion/fu_space_probe.lua
Normal file
|
@ -0,0 +1,122 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_space_probe_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_space_probe/fu_space_probe_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
--space probes
|
||||
{
|
||||
name = 'fu_space_probe_sputnik_item',
|
||||
type = 'item',
|
||||
icon = sprite('sputnik_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 1,
|
||||
subgroup = 'fu_item_subgroup_d',
|
||||
rocket_launch_product = {'fu_space_probe_data_card_1_item',10},
|
||||
order = 'd-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_space_probe_probe_item',
|
||||
type = 'item',
|
||||
icon = sprite('probe_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 1,
|
||||
subgroup = 'fu_item_subgroup_d',
|
||||
rocket_launch_product = {'fu_space_probe_data_card_3_item',10},
|
||||
order = 'd-b',
|
||||
},
|
||||
{
|
||||
name = 'fu_space_probe_deep_probe_item',
|
||||
type = 'item',
|
||||
icon = sprite('deep_probe_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 1,
|
||||
subgroup = 'fu_item_subgroup_d',
|
||||
rocket_launch_product = {'fu_space_probe_ore_item',100},
|
||||
order = 'd-c',
|
||||
},
|
||||
--data cards
|
||||
{
|
||||
name = 'fu_space_probe_data_card_1_item',
|
||||
type = 'item',
|
||||
icon = sprite('data_card_1_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fu_item_subgroup_a',
|
||||
order = 'd-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_space_probe_data_card_2_item',
|
||||
type = 'item',
|
||||
icon = sprite('data_card_2_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fu_item_subgroup_a',
|
||||
order = 'd-b',
|
||||
},
|
||||
{
|
||||
name = 'fu_space_probe_data_card_3_item',
|
||||
type = 'item',
|
||||
icon = sprite('data_card_3_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fu_item_subgroup_a',
|
||||
order = 'd-c',
|
||||
},
|
||||
-- matter
|
||||
--ore
|
||||
{
|
||||
name = 'fu_space_probe_ore_item',
|
||||
type = 'item',
|
||||
icon = sprite('ore_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fu_item_subgroup_d',
|
||||
order = 'd-d',
|
||||
},
|
||||
{
|
||||
name = 'fu_space_probe_down_matter_item',
|
||||
type = 'item',
|
||||
icon = sprite('down_matter_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fu_item_subgroup_a',
|
||||
order = 'd-d',
|
||||
},
|
||||
{
|
||||
name = 'fu_space_probe_up_matter_item',
|
||||
type = 'item',
|
||||
icon = sprite('up_matter_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fu_item_subgroup_a',
|
||||
order = 'd-e',
|
||||
},
|
||||
--science
|
||||
{
|
||||
name = 'fu_space_probe_science_item',
|
||||
type = 'tool',
|
||||
icon = sprite('science_item.png'),
|
||||
durability = 1,
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'fu_item_subgroup_b',
|
||||
order = 'd-a',
|
||||
},
|
||||
{
|
||||
name = 'fu_space_probe_science_item_1',
|
||||
type = 'item',
|
||||
icon = sprite('science_item_1.png'),
|
||||
durability = 1,
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'fu_item_subgroup_b',
|
||||
order = 'd-b',
|
||||
},
|
||||
|
||||
})
|
145
prototypes/fusion/fu_star_engine/fu_star_engine_caster.lua
Normal file
145
prototypes/fusion/fu_star_engine/fu_star_engine_caster.lua
Normal file
|
@ -0,0 +1,145 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_star_engine_caster_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_star_engine/fu_star_engine_caster/fu_star_engine_caster_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_star_engine_caster_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_star_engine_caster_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fu_item_subgroup_d-b',
|
||||
order = 'a-c',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fu_star_engine_caster_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","not-rotatable"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-1.8,-1.8},{1.8,1.8}},
|
||||
selection_box = {{-2,-2},{2,2}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_star_engine_caster_item',
|
||||
},
|
||||
crafting_categories = {'fu_star_engine_caster_crafting_category'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'void',
|
||||
},
|
||||
energy_usage = '20MW',
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
module_specification = {
|
||||
module_info_icon_shift = {
|
||||
0,
|
||||
0.8
|
||||
},
|
||||
module_slots = 2
|
||||
},
|
||||
--fluids
|
||||
fluid_boxes = {
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-2.5, -0.5}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-2.5, 1.5}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {2.5, -0.5}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {2.5, 1.5}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/heat-exchanger.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
174
prototypes/fusion/fu_star_engine/fu_star_engine_cooler.lua
Normal file
174
prototypes/fusion/fu_star_engine/fu_star_engine_cooler.lua
Normal file
|
@ -0,0 +1,174 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_star_engine_cooler_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_star_engine/fu_star_engine_cooler/fu_star_engine_cooler_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_star_engine_cooler_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_star_engine_cooler_entity',
|
||||
stack_size = 1,
|
||||
subgroup = 'fu_item_subgroup_d-b',
|
||||
order = 'b-b',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fu_star_engine_cooler_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","not-rotatable"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-6.5,-10.5},{6.5,10.5}},
|
||||
selection_box = {{-6.5,-10.5},{6.5,10.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_star_engine_cooler_item',
|
||||
},
|
||||
crafting_categories = {'fu_star_engine_cooler_crafting_category'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '4GW',
|
||||
},
|
||||
energy_usage = '0.5GW',
|
||||
--fluids
|
||||
fluid_boxes = {
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-4, -11}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {4, -11}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {0, 11}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {-2, 11}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {2, 11}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {-4, 11}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {4, 11}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation_1.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.8,
|
||||
shift = {5.5,0.5},
|
||||
line_length = 1,
|
||||
lines_per_file = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.3,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/heat-exchanger.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
176
prototypes/fusion/fu_star_engine/fu_star_engine_cooler_up.lua
Normal file
176
prototypes/fusion/fu_star_engine/fu_star_engine_cooler_up.lua
Normal file
|
@ -0,0 +1,176 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_star_engine_cooler_up_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_star_engine/fu_star_engine_cooler_up/fu_star_engine_cooler_up_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_star_engine_cooler_up_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_star_engine_cooler_up_entity',
|
||||
stack_size = 1,
|
||||
subgroup = 'fu_item_subgroup_d-b',
|
||||
order = 'b-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fu_star_engine_cooler_up_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","not-rotatable"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-6.5,-10.5},{6.5,10.5}},
|
||||
selection_box = {{-6.5,-10.5},{6.5,10.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_star_engine_cooler_up_item',
|
||||
},
|
||||
crafting_categories = {'fu_star_engine_cooler_crafting_category'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '4GW',
|
||||
},
|
||||
energy_usage = '0.5GW',
|
||||
--fluids
|
||||
fluid_boxes = {
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-4, 11}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {4, 11}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {0, -11}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {-2, -11}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {2, -11}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {-4, -11}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {4, -11}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
--{-4, -11}{4, -11}
|
||||
--{-2, 11}{2, 11}{0, 11}{-4, 11}{4, 11}
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation_1.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.8,
|
||||
shift = {5.5,-0.5},
|
||||
line_length = 1,
|
||||
lines_per_file = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.3,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,500},
|
||||
scale = 0.27,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/heat-exchanger.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
186
prototypes/fusion/fu_star_engine/fu_star_engine_core.lua
Normal file
186
prototypes/fusion/fu_star_engine/fu_star_engine_core.lua
Normal file
|
@ -0,0 +1,186 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_star_engine_core_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_star_engine/fu_star_engine_core/fu_star_engine_core_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_star_engine_core_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_star_engine_core_entity',
|
||||
stack_size = 1,
|
||||
subgroup = 'fu_item_subgroup_d-b',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fu_star_engine_core_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","not-rotatable"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-8.5,-4.5},{8.5,8.5}},
|
||||
selection_box = {{-8.5,-4.5},{8.5,8.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_star_engine_core_item',
|
||||
},
|
||||
crafting_categories = {'fu_star_engine_core_crafting_category'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '4GW',
|
||||
},
|
||||
energy_usage = '1GW',
|
||||
--fluids
|
||||
fluid_boxes = {
|
||||
--in
|
||||
--right
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-9, -1}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-9, 4}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
--left
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {9, -1}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {9, 4}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
--out
|
||||
--up
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {-4, -5}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {4, -5}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
--down
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {-4, 9}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {4, 9}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.6,
|
||||
shift = {2,0},
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.3,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.5,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.5,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.5,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/heat-exchanger.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
157
prototypes/fusion/fu_star_engine/fu_star_engine_heater.lua
Normal file
157
prototypes/fusion/fu_star_engine/fu_star_engine_heater.lua
Normal file
|
@ -0,0 +1,157 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_star_engine_heater_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_star_engine/fu_star_engine_heater/fu_star_engine_heater_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_star_engine_heater_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_star_engine_heater_entity',
|
||||
stack_size = 1,
|
||||
subgroup = 'fu_item_subgroup_d-b',
|
||||
order = 'c-b',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fu_star_engine_heater_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","not-rotatable"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-15,-6.5},{11,6.5}},
|
||||
selection_box = {{-15,-6.5},{11,6.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_star_engine_heater_item',
|
||||
},
|
||||
crafting_categories = {'fu_star_engine_heater_crafting_category'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '4GW',
|
||||
},
|
||||
energy_usage = '0.7GW',
|
||||
--fluids
|
||||
fluid_boxes = {
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {11.5, 0}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {11.5, 3}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {11.5, -3}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {-15.5, -2}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {-15.5, 3}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
--{-15, -3.5}}{-15, 3.5}}
|
||||
--{11, 0}},{11, 3.5}},{11, -3.5}},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.8,
|
||||
shift = {0.3,-0.2},
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.3,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.1,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.3,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.1,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.3,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.1,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.3,
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/heat-exchanger.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
157
prototypes/fusion/fu_star_engine/fu_star_engine_heater_left.lua
Normal file
157
prototypes/fusion/fu_star_engine/fu_star_engine_heater_left.lua
Normal file
|
@ -0,0 +1,157 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fu_star_engine_heater_left_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fusion/fu_star_engine/fu_star_engine_heater_left/fu_star_engine_heater_left_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fu_star_engine_heater_left_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fu_star_engine_heater_left_entity',
|
||||
stack_size = 1,
|
||||
subgroup = 'fu_item_subgroup_d-b',
|
||||
order = 'c-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fu_star_engine_heater_left_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","not-rotatable"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-15,-6.5},{11,6.5}},
|
||||
selection_box = {{-15,-6.5},{11,6.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fu_star_engine_heater_left_item',
|
||||
},
|
||||
crafting_categories = {'fu_star_engine_heater_crafting_category'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '4GW',
|
||||
},
|
||||
energy_usage = '0.7GW',
|
||||
--fluids
|
||||
fluid_boxes = {
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-15.5, 0}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-15.5, 3}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-15.5, -3}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {11.5, -2}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = 1,
|
||||
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "output", position = {11.5, 3}},
|
||||
},
|
||||
production_type = "output"
|
||||
},
|
||||
--{-15, -3.5}}{-15, 3.5}}
|
||||
--{11, 0}},{11, 3.5}},{11, -3.5}},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.8,
|
||||
shift = {0.3-5+0.1,-0.2},
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.3,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.1,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.3,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.1,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.3,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {600*2,512*2},
|
||||
scale = 0.1,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 9,
|
||||
animation_speed = 0.3,
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/heat-exchanger.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
752
prototypes/gr_recipes.lua
Normal file
752
prototypes/gr_recipes.lua
Normal file
|
@ -0,0 +1,752 @@
|
|||
data:extend({
|
||||
--crafter
|
||||
{
|
||||
name = 'gr_crafter_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fi_crafter_item',2},
|
||||
{'fi_industrial_steel_item',100},
|
||||
{'fi_compound_material_item',100},
|
||||
{'gr_materials_fusion_cell_item',1},
|
||||
{'processing-unit',50}
|
||||
},
|
||||
result = 'gr_crafter_item',
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_fusion_cell_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_crafting_category',
|
||||
ingredients = {
|
||||
{'fu_space_probe_up_matter_item',1},
|
||||
{'fu_tech_sign_item',40},
|
||||
{'fusion-reactor-equipment',1}
|
||||
},
|
||||
result = 'gr_materials_fusion_cell_item',
|
||||
result_count = 1,
|
||||
energy_required = 35,
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_stack_down_item_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fu_space_probe_down_matter_item',3},
|
||||
{'low-density-structure',10},
|
||||
{'fu_space_probe_data_card_3_item',2},
|
||||
},
|
||||
result = 'gr_materials_stack_down_item',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_stack_up_item_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fu_space_probe_up_matter_item',3},
|
||||
{'low-density-structure',10},
|
||||
{'fu_space_probe_data_card_3_item',2},
|
||||
},
|
||||
result = 'gr_materials_stack_up_item',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
},
|
||||
{
|
||||
name = 'gr_wheel_recipe',
|
||||
type = 'recipe',
|
||||
category = 'crafting-with-fluid',
|
||||
enabled = 'false',
|
||||
subgroup = 'fu_star_engine_subgroup_e',
|
||||
ingredients = {
|
||||
{type="fluid", name="fu_iron", amount=500},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="iron-gear-wheel", amount=500},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'gr_steel_recipe',
|
||||
type = 'recipe',
|
||||
category = 'crafting-with-fluid',
|
||||
enabled = 'false',
|
||||
subgroup = 'fu_star_engine_subgroup_e',
|
||||
ingredients = {
|
||||
{type="fluid", name="fu_iron", amount=500},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="steel-plate", amount=500},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
--train
|
||||
{
|
||||
name = 'gr_magnet_train_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{type="item", name="gr_materials_fusion_cell_item", amount=4},
|
||||
{type="item", name="low-density-structure", amount=100},
|
||||
{type="item", name="gr_materials_stack_up_item", amount=4},
|
||||
{type="item", name="copper-cable", amount=1000},
|
||||
{type="item", name="gr_magnet_train_pre_item", amount=1},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="gr_magnet_train_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_wagon_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{type="item", name="gr_materials_fusion_cell_item", amount=2},
|
||||
{type="item", name="low-density-structure", amount=100},
|
||||
{type="item", name="gr_materials_stack_down_item", amount=2},
|
||||
{type="item", name="copper-cable", amount=1000},
|
||||
{type="item", name="gr_magnet_wagon_pre_item", amount=1},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="gr_magnet_wagon_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_tanker_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{type="item", name="gr_materials_fusion_cell_item", amount=2},
|
||||
{type="item", name="low-density-structure", amount=100},
|
||||
{type="item", name="gr_materials_stack_down_item", amount=2},
|
||||
{type="item", name="copper-cable", amount=1000},
|
||||
{type="item", name="gr_magnet_tanker_pre_item", amount=1},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="gr_magnet_tanker_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_train_pre_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{type="item", name="gr_materials_fusion_cell_item", amount=4},
|
||||
{type="item", name="low-density-structure", amount=100},
|
||||
{type="item", name="iron-plate", amount=100},
|
||||
{type="item", name="copper-cable", amount=1000},
|
||||
{type="item", name="el_diesel_train_item", amount=1},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="gr_magnet_train_pre_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_wagon_pre_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{type="item", name="gr_materials_fusion_cell_item", amount=2},
|
||||
{type="item", name="low-density-structure", amount=100},
|
||||
{type="item", name="iron-plate", amount=100},
|
||||
{type="item", name="copper-cable", amount=1000},
|
||||
{type="item", name="cargo-wagon", amount=1},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="gr_magnet_wagon_pre_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_tanker_pre_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{type="item", name="gr_materials_fusion_cell_item", amount=2},
|
||||
{type="item", name="low-density-structure", amount=100},
|
||||
{type="item", name="iron-plate", amount=100},
|
||||
{type="item", name="copper-cable", amount=1000},
|
||||
{type="item", name="fluid-wagon", amount=1},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="gr_magnet_tanker_pre_item", amount=1},
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 6,
|
||||
},
|
||||
--kovarex for matter
|
||||
{
|
||||
name = 'gr_kovarex_recipe',
|
||||
type = 'recipe',
|
||||
category = 'centrifuging',
|
||||
enabled = 'false',
|
||||
main_product = 'fu_space_probe_up_matter_item',
|
||||
ingredients = {
|
||||
{type="item", name="fu_space_probe_down_matter_item", amount=10}
|
||||
},
|
||||
results = {
|
||||
{type="item", name="fu_space_probe_down_matter_item", amount=9},
|
||||
{type="item", name="fu_space_probe_up_matter_item", amount=1}
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 100,
|
||||
always_show_made_in = true
|
||||
},
|
||||
--cooker
|
||||
{
|
||||
name = 'gr_cooker_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
main_product = 'gr_cooker_item',
|
||||
ingredients = {
|
||||
{'fi_industrial_steel_item',200},
|
||||
{'fi_compound_material_item',200},
|
||||
{'processing-unit',100},
|
||||
{'pipe',60}
|
||||
},
|
||||
results = {
|
||||
{type="item", name="gr_cooker_item", amount=1}
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 5
|
||||
},
|
||||
{
|
||||
name = 'gr_cooker_fluid_recipe',
|
||||
type = 'recipe',
|
||||
category = 'gr_cooker_fluid',
|
||||
enabled = 'false',
|
||||
main_product = 'gr_materials_cooked_crystal_item',
|
||||
ingredients = {
|
||||
{type="fluid", name="water", amount=1000},
|
||||
{type="item", name="fi_crushed_crystal_item", amount=1}
|
||||
},
|
||||
results = {
|
||||
{type="item", name="gr_materials_cooked_crystal_item", amount=1}
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 60,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_cooked_crystal_recipe',
|
||||
type = 'recipe',
|
||||
category = 'chemistry',
|
||||
enabled = 'false',
|
||||
main_product = 'gr_materials_refined_crystal_item',
|
||||
ingredients = {
|
||||
{type="item", name="gr_materials_cooked_crystal_item", amount=1},
|
||||
{type="fluid", name="petroleum-gas", amount=100}
|
||||
},
|
||||
results = {
|
||||
{type="item", name="gr_materials_refined_crystal_item", amount=1}
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 30,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_refined_crystal_recipe',
|
||||
type = 'recipe',
|
||||
category = 'centrifuging',
|
||||
enabled = 'false',
|
||||
main_product = 'fi_energy_crystal_item',
|
||||
subgroup = 'gr_item_subgroup_a',
|
||||
ingredients = {
|
||||
{type="item", name="gr_materials_refined_crystal_item", amount=1}
|
||||
},
|
||||
results = {
|
||||
{type="item", name="fi_energy_crystal_item", amount=1},
|
||||
{type="item", name="el_energy_crystal_item", amount=4}
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
--charger
|
||||
{
|
||||
name = 'gr_charger_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
main_product = 'gr_charger_item',
|
||||
ingredients = {
|
||||
{'low-density-structure',100},
|
||||
{'fi_industrial_steel_item',400},
|
||||
{'fi_compound_material_item',400},
|
||||
{'fu_tech_sign_item',1000},
|
||||
{'concrete',500},
|
||||
{'lab',10},
|
||||
{'processing-unit',500}
|
||||
},
|
||||
results = {
|
||||
{type="item", name="gr_charger_item", amount=1}
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 5
|
||||
},
|
||||
{
|
||||
name = 'gr_stabilizer_recipe',
|
||||
type = 'recipe',
|
||||
category = 'gr_charger_category',
|
||||
enabled = 'false',
|
||||
main_product = 'gr_materials_stabilizer_item',
|
||||
ingredients = {
|
||||
{'gr_materials_crushed_exotic_item',1},
|
||||
{'fi_energy_crystal_item',20},
|
||||
{'fu_tech_sign_item',100},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="gr_materials_stabilizer_item", amount=2}
|
||||
},
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_crushed_exotic_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fi_crushing',
|
||||
ingredients = {
|
||||
{'fu_space_probe_ore_item',1},
|
||||
},
|
||||
result = 'gr_materials_crushed_exotic_item',
|
||||
result_count = 1,
|
||||
energy_required = 20,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_black_hole_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fu_star_engine_core_item',1},
|
||||
{'fu_star_engine_heater_left_item',1},
|
||||
{'fu_star_engine_heater_item',1},
|
||||
{'fu_star_engine_cooler_up_item',1},
|
||||
{'fu_star_engine_cooler_item',1},
|
||||
{'gr_materials_stack_up_item',40},
|
||||
{'gr_materials_stack_down_item',40},
|
||||
},
|
||||
result = 'gr_black_hole_item',
|
||||
result_count = 1,
|
||||
energy_required = 200,
|
||||
},
|
||||
{
|
||||
name = 'gr_white_hole_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fu_star_engine_core_item',1},
|
||||
{'fu_star_engine_heater_left_item',1},
|
||||
{'fu_star_engine_heater_item',1},
|
||||
{'fu_star_engine_cooler_up_item',1},
|
||||
{'fu_star_engine_cooler_item',1},
|
||||
{'gr_materials_stack_up_item',40},
|
||||
{'gr_materials_stack_down_item',40},
|
||||
},
|
||||
result = 'gr_white_hole_item',
|
||||
result_count = 1,
|
||||
energy_required = 200,
|
||||
},
|
||||
{
|
||||
name = 'gr_lab_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'gr_materials_stack_up_item',10},
|
||||
{'gr_materials_stack_down_item',10},
|
||||
{'lab',40},
|
||||
{'fi_industrial_steel_item',100},
|
||||
{'fi_compound_material_item',100},
|
||||
},
|
||||
result = 'gr_lab_item',
|
||||
result_count = 1,
|
||||
energy_required = 200,
|
||||
},
|
||||
--endgame
|
||||
|
||||
{
|
||||
name = 'gr_red_data_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'automation-science-pack',100},
|
||||
{'gr_materials_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_red_data_item',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_red_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'gr_materials_red_data_item',36},
|
||||
},
|
||||
result = 'gr_materials_red_item',
|
||||
result_count = 1,
|
||||
energy_required = 100,
|
||||
always_show_made_in = true
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
name = 'gr_green_data_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'logistic-science-pack',100},
|
||||
{'gr_materials_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_green_data_item',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_green_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'gr_materials_green_data_item',72},
|
||||
{'gr_materials_red_item',2}
|
||||
},
|
||||
result = 'gr_materials_green_item',
|
||||
result_count = 1,
|
||||
energy_required = 100,
|
||||
always_show_made_in = true
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
name = 'gr_blue_data_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'chemical-science-pack',100},
|
||||
{'gr_materials_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_blue_data_item',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_blue_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'gr_materials_blue_data_item',155},
|
||||
{'gr_materials_green_item',2}
|
||||
},
|
||||
result = 'gr_materials_blue_item',
|
||||
result_count = 1,
|
||||
energy_required = 100,
|
||||
always_show_made_in = true
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
name = 'gr_purple_data_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'production-science-pack',100},
|
||||
{'gr_materials_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_purple_data_item',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_purple_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'gr_materials_purple_data_item',310},
|
||||
{'gr_materials_blue_item',2}
|
||||
},
|
||||
result = 'gr_materials_purple_item',
|
||||
result_count = 1,
|
||||
energy_required = 100,
|
||||
always_show_made_in = true
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
name = 'gr_yellow_data_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'utility-science-pack',100},
|
||||
{'gr_materials_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_yellow_data_item',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_yellow_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'gr_materials_yellow_data_item',620},
|
||||
{'gr_materials_purple_item',2}
|
||||
},
|
||||
result = 'gr_materials_yellow_item',
|
||||
result_count = 1,
|
||||
energy_required = 100,
|
||||
always_show_made_in = true
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
name = 'gr_grey_data_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'space-science-pack',100},
|
||||
{'gr_materials_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_grey_data_item',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_grey_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'gr_materials_grey_data_item',1240},
|
||||
{'gr_materials_yellow_item',2}
|
||||
},
|
||||
result = 'gr_materials_grey_item',
|
||||
result_count = 1,
|
||||
energy_required = 100,
|
||||
always_show_made_in = true
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
name = 'gr_white_data_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'fu_space_probe_science_item',100},
|
||||
{'gr_materials_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_white_data_item',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_white_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'gr_materials_white_data_item',2480},
|
||||
{'gr_materials_grey_item',2}
|
||||
},
|
||||
result = 'gr_materials_white_item',
|
||||
result_count = 1,
|
||||
energy_required = 100,
|
||||
always_show_made_in = true
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
name = 'gr_data_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'gr_materials_crushed_exotic_item',1},
|
||||
{'gr_materials_stabilizer_item',1},
|
||||
{'processing-unit',100},
|
||||
{'fi_modules_base_item',10}
|
||||
},
|
||||
result = 'gr_materials_data_item',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_stacked_data_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'fu_fusor_crafting_category',
|
||||
ingredients = {
|
||||
{'gr_materials_data_item',3},
|
||||
{'gr_materials_stack_up_item',1},
|
||||
{'gr_materials_stack_down_item',1}
|
||||
},
|
||||
result = 'gr_materials_stacked_data_item',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
|
||||
{
|
||||
name = 'gr_red_pack_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'gr_charger_category',
|
||||
ingredients = {
|
||||
{'automation-science-pack',100},
|
||||
{'gr_materials_stacked_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_red_pack_item',
|
||||
result_count = 100,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_green_pack_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'gr_charger_category',
|
||||
ingredients = {
|
||||
{'logistic-science-pack',100},
|
||||
{'gr_materials_stacked_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_green_pack_item',
|
||||
result_count = 100,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_blue_pack_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'gr_charger_category',
|
||||
ingredients = {
|
||||
{'chemical-science-pack',100},
|
||||
{'gr_materials_stacked_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_blue_pack_item',
|
||||
result_count = 100,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_purple_pack_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'gr_charger_category',
|
||||
ingredients = {
|
||||
{'production-science-pack',100},
|
||||
{'gr_materials_stacked_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_purple_pack_item',
|
||||
result_count = 100,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_yellow_pack_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'gr_charger_category',
|
||||
ingredients = {
|
||||
{'utility-science-pack',100},
|
||||
{'gr_materials_stacked_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_yellow_pack_item',
|
||||
result_count = 100,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_grey_pack_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'gr_charger_category',
|
||||
ingredients = {
|
||||
{'space-science-pack',100},
|
||||
{'gr_materials_stacked_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_grey_pack_item',
|
||||
result_count = 100,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_white_pack_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
category = 'gr_charger_category',
|
||||
ingredients = {
|
||||
{'fu_space_probe_science_item',100},
|
||||
{'gr_materials_stacked_data_item',1}
|
||||
},
|
||||
result = 'gr_materials_white_pack_item',
|
||||
result_count = 100,
|
||||
energy_required = 10,
|
||||
always_show_made_in = true
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_charge_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'fu_space_probe_science_item',100},
|
||||
{'low-density-structure',40},
|
||||
{'gr_materials_fusion_cell_item',10},
|
||||
{'discharge-defense-equipment',10}
|
||||
},
|
||||
result = 'gr_materials_charge_item',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_charge_remote_recipe',
|
||||
type = 'recipe',
|
||||
enabled = 'false',
|
||||
ingredients = {
|
||||
{'gr_materials_fusion_cell_item',1}
|
||||
},
|
||||
result = 'gr_materials_charge_remote',
|
||||
result_count = 1,
|
||||
energy_required = 10,
|
||||
},
|
||||
})
|
77
prototypes/gravitation/gr_black_hole.lua
Normal file
77
prototypes/gravitation/gr_black_hole.lua
Normal file
|
@ -0,0 +1,77 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['gr_black_hole_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/gravitation/gr_black_hole/gr_black_hole_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'gr_black_hole_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'gr_black_hole_base_entity',
|
||||
stack_size = 1,
|
||||
subgroup = 'gr_item_subgroup_c',
|
||||
order = 'e-a',
|
||||
},
|
||||
{
|
||||
name = 'gr_black_hole_base_entity',
|
||||
type = 'container',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
collision_box = {{-5.8,-3.8},{5.8,5.8}},
|
||||
selection_box = {{-6,-4},{6,6}},
|
||||
selection_priority = 60,
|
||||
picture = {
|
||||
filename = sprite('base_animation.png'),
|
||||
width = 512*2,
|
||||
height = 512*2,
|
||||
scale = 0.4,
|
||||
},
|
||||
inventory_size = 80,
|
||||
flags = {"player-creation","placeable-neutral","not-rotatable"},
|
||||
max_health = 1500,
|
||||
corpse = 'big-remnants',
|
||||
map_color = {r=1, g=0, b=0, a=0.5},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'gr_black_hole_item',
|
||||
},
|
||||
integration_patch_render_layer = "higher-object-under"
|
||||
},
|
||||
{
|
||||
name = "gr_black_hole_energy_entity",
|
||||
type = "electric-energy-interface",
|
||||
energy_source = {
|
||||
type = "electric",
|
||||
render_no_power_icon = false,
|
||||
buffer_capacity = "10YJ",
|
||||
usage_priority = "primary-output",
|
||||
max_input_flow = "0W",
|
||||
--drain = "1GW"
|
||||
},
|
||||
light = {
|
||||
type = 'basic',
|
||||
intensity = 10,
|
||||
size = 20,
|
||||
color = {r=0,g=0,b=0.75}
|
||||
},
|
||||
render_layer = "higher-object-above",
|
||||
animation = {
|
||||
filename = sprite('working_animation.png'),
|
||||
size = {512*2,512*2},
|
||||
scale = 0.4,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5
|
||||
},
|
||||
continuous_animation = true
|
||||
}
|
||||
})
|
||||
|
||||
|
99
prototypes/gravitation/gr_charger.lua
Normal file
99
prototypes/gravitation/gr_charger.lua
Normal file
|
@ -0,0 +1,99 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['gr_charger_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/gravitation/gr_charger/gr_charger_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'gr_charger_item',
|
||||
type = 'item',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'gr_charger_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'gr_item_subgroup_c',
|
||||
order = 'a-a',
|
||||
}
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'gr_charger_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_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 = 'gr_charger_item',
|
||||
},
|
||||
crafting_categories = {"gr_charger_category"},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'heat',
|
||||
max_temperature = 1000,
|
||||
specific_heat = '100MJ',
|
||||
max_transfer = '10GW',
|
||||
connections = {
|
||||
{position = {0,-1.5}, direction = defines.direction.north},
|
||||
{position = {0,1.4}, direction = defines.direction.south},
|
||||
{position = {1.4,0}, direction = defines.direction.east},
|
||||
{position = {-1.5,0}, direction = defines.direction.west}
|
||||
}
|
||||
},
|
||||
energy_usage = '150MW',
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/assembling-machine-t3-1.ogg'},
|
||||
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
|
||||
apparent_volume = 0.7,
|
||||
},
|
||||
},
|
||||
})
|
145
prototypes/gravitation/gr_cooker.lua
Normal file
145
prototypes/gravitation/gr_cooker.lua
Normal file
|
@ -0,0 +1,145 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['gr_cooker_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/gravitation/gr_cooker/gr_cooker_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'gr_cooker_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'gr_cooker_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'gr_item_subgroup_c',
|
||||
order = 'a-b',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'gr_cooker_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-2.4,-2.4},{2.4,2.4}},
|
||||
selection_box = {{-2.5,-2.5},{2.5,2.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'gr_cooker_item',
|
||||
},
|
||||
crafting_categories = {'gr_cooker_fluid'},
|
||||
crafting_speed = 1,
|
||||
ingredient_count = 2,
|
||||
--fixed_recipe = 'el_water_pressure_recipe',
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '400MW',
|
||||
},
|
||||
energy_usage = '4MW',
|
||||
fluid_boxes = {
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {0, -3}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {-3, 0}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {3, 0}},
|
||||
--{type = "output", position = {2, -2.5}}
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
{
|
||||
base_area = 1,
|
||||
height = 2,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_connections =
|
||||
{
|
||||
{type = "input", position = {0, 3}},
|
||||
},
|
||||
production_type = "input"
|
||||
},
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {512,512},
|
||||
scale = 0.32,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.2,
|
||||
shift = {0, -0.2}
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {512,512},
|
||||
scale = 0.32,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.2,
|
||||
shift = {0, -0.2}
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {512,512},
|
||||
scale = 0.32,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.2,
|
||||
shift = {0, -0.2}
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {512,512},
|
||||
scale = 0.32,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.2,
|
||||
shift = {0, -0.2}
|
||||
},
|
||||
},
|
||||
working_sound =
|
||||
{
|
||||
sound = {filename = "__base__/sound/chemical-plant-3.ogg" },
|
||||
apparent_volume = 0.3,
|
||||
},
|
||||
},
|
||||
})
|
103
prototypes/gravitation/gr_crafter.lua
Normal file
103
prototypes/gravitation/gr_crafter.lua
Normal file
|
@ -0,0 +1,103 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['gr_crafter_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/gravitation/gr_crafter/gr_crafter_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'gr_crafter_item',
|
||||
type = 'item',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'gr_crafter_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'gr_item_subgroup_c',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'gr_crafter_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_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 = 'gr_crafter_item',
|
||||
},
|
||||
crafting_categories = {'advanced-crafting','crafting','smelting','fi_crafting_category'},
|
||||
crafting_speed = 10,
|
||||
energy_source = {
|
||||
type = 'void',
|
||||
},
|
||||
energy_usage = '1W',
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
module_specification = {
|
||||
module_info_icon_shift = {
|
||||
0,
|
||||
0.8
|
||||
},
|
||||
module_slots = 4
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/assembling-machine-t3-1.ogg'},
|
||||
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
|
||||
apparent_volume = 0.7,
|
||||
},
|
||||
},
|
||||
})
|
84
prototypes/gravitation/gr_lab.lua
Normal file
84
prototypes/gravitation/gr_lab.lua
Normal file
|
@ -0,0 +1,84 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['gr_lab_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/gravitation/gr_lab/gr_lab_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'gr_lab_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'gr_lab_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'gr_item_subgroup_c',
|
||||
order = 'a-a',
|
||||
}
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'gr_lab_entity',
|
||||
type = 'lab',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-4,-4},{4,4}},
|
||||
selection_box = {{-4,-4},{4,4}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'gr_lab_item',
|
||||
},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = "electric",
|
||||
usage_priority = "secondary-input",
|
||||
drain = "20MW"
|
||||
},
|
||||
energy_usage = "500MW",
|
||||
--animation
|
||||
|
||||
inputs = {
|
||||
"gr_materials_red_pack_item",
|
||||
"gr_materials_green_pack_item",
|
||||
"gr_materials_blue_pack_item",
|
||||
"gr_materials_purple_pack_item",
|
||||
"gr_materials_yellow_pack_item",
|
||||
"gr_materials_grey_pack_item",
|
||||
"gr_materials_white_pack_item"
|
||||
},
|
||||
|
||||
off_animation = {
|
||||
filename = sprite('off_animation.png'),
|
||||
size = {512,512},
|
||||
scale = 0.6,
|
||||
line_length = 1,
|
||||
frame_count = 1,
|
||||
animation_speed = 0.1
|
||||
},
|
||||
on_animation = {
|
||||
filename = sprite('animation.png'),
|
||||
size = {512,512},
|
||||
scale = 0.6,
|
||||
line_length = 5,
|
||||
frame_count = 5,
|
||||
animation_speed = 0.1
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/assembling-machine-t3-1.ogg'},
|
||||
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
|
||||
apparent_volume = 0.7,
|
||||
},
|
||||
},
|
||||
})
|
406
prototypes/gravitation/gr_materials.lua
Normal file
406
prototypes/gravitation/gr_materials.lua
Normal file
|
@ -0,0 +1,406 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['gr_materials_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/gravitation/gr_materials/gr_materials_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'gr_materials_fusion_cell_item',
|
||||
type = 'item',
|
||||
icon = sprite('fusion_cell_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10,
|
||||
subgroup = 'gr_item_subgroup_a',
|
||||
order = 'a-c',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_stack_down_item',
|
||||
type = 'item',
|
||||
icon = sprite('stack_down_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'gr_item_subgroup_a',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_stack_up_item',
|
||||
type = 'item',
|
||||
icon = sprite('stack_up_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'gr_item_subgroup_a',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_cooked_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('cooked_crystal_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10,
|
||||
subgroup = 'gr_item_subgroup_a',
|
||||
order = 'a-d',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_refined_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('refined_crystal_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10,
|
||||
subgroup = 'gr_item_subgroup_a',
|
||||
order = 'a-e',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_crushed_exotic_item',
|
||||
type = 'item',
|
||||
icon = sprite('crushed_exotic_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'gr_item_subgroup_a',
|
||||
order = 'a-f',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_stabilizer_item',
|
||||
type = 'item',
|
||||
icon = sprite('stabilizer_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'gr_item_subgroup_a',
|
||||
order = 'a-g',
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
name = 'gr_materials_red_item',
|
||||
type = 'item',
|
||||
icon = sprite('red_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 2,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_red_data_item',
|
||||
type = 'item',
|
||||
icon = sprite('red_data_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'b-a',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_green_item',
|
||||
type = 'item',
|
||||
icon = sprite('green_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 2,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'c-b',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_green_data_item',
|
||||
type = 'item',
|
||||
icon = sprite('green_data_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'b-b',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_blue_item',
|
||||
type = 'item',
|
||||
icon = sprite('blue_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 2,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'c-c',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_blue_data_item',
|
||||
type = 'item',
|
||||
icon = sprite('blue_data_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'b-c',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_purple_item',
|
||||
type = 'item',
|
||||
icon = sprite('purple_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 2,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'c-d',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_purple_data_item',
|
||||
type = 'item',
|
||||
icon = sprite('purple_data_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'b-d',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_yellow_item',
|
||||
type = 'item',
|
||||
icon = sprite('yellow_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 2,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'c-e',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_yellow_data_item',
|
||||
type = 'item',
|
||||
icon = sprite('yellow_data_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'b-e',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_grey_item',
|
||||
type = 'item',
|
||||
icon = sprite('grey_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 2,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'c-f',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_grey_data_item',
|
||||
type = 'item',
|
||||
icon = sprite('grey_data_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'b-f',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_white_item',
|
||||
type = 'item',
|
||||
icon = sprite('white_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 1,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'c-g',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_white_data_item',
|
||||
type = 'item',
|
||||
icon = sprite('white_data_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'b-g',
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
name = 'gr_materials_data_item',
|
||||
type = 'item',
|
||||
icon = sprite('data_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 500,
|
||||
subgroup = 'gr_item_subgroup_a',
|
||||
order = 'f-a',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_stacked_data_item',
|
||||
type = 'item',
|
||||
icon = sprite('data_stacked_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'gr_item_subgroup_a',
|
||||
order = 'f-b',
|
||||
},
|
||||
|
||||
{
|
||||
name = 'gr_materials_red_pack_item',
|
||||
type = 'tool',
|
||||
durability = 1,
|
||||
icon = sprite('red_pack_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_green_pack_item',
|
||||
type = 'tool',
|
||||
durability = 1,
|
||||
icon = sprite('green_pack_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_blue_pack_item',
|
||||
type = 'tool',
|
||||
durability = 1,
|
||||
icon = sprite('blue_pack_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'a-c',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_purple_pack_item',
|
||||
type = 'tool',
|
||||
durability = 1,
|
||||
icon = sprite('purple_pack_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'a-d',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_yellow_pack_item',
|
||||
type = 'tool',
|
||||
durability = 1,
|
||||
icon = sprite('yellow_pack_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'a-e',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_grey_pack_item',
|
||||
type = 'tool',
|
||||
durability = 1,
|
||||
icon = sprite('grey_pack_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'a-f',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_white_pack_item',
|
||||
type = 'tool',
|
||||
durability = 1,
|
||||
icon = sprite('white_pack_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 10000,
|
||||
subgroup = 'gr_item_subgroup_f',
|
||||
order = 'a-g',
|
||||
},
|
||||
|
||||
{
|
||||
name = 'gr_materials_charge_item',
|
||||
type = 'item',
|
||||
icon = sprite('charge_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'gr_item_subgroup_b',
|
||||
placed_as_equipment_result = 'gr_materials_charge_item',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
name = 'gr_materials_charge_item',
|
||||
type = 'active-defense-equipment',
|
||||
attack_parameters =
|
||||
{
|
||||
type = "projectile",
|
||||
ammo_category = "electric",
|
||||
damage_modifier = 100,
|
||||
cooldown = 100,
|
||||
projectile_center = {0, 0},
|
||||
projectile_creation_distance = 0.6,
|
||||
range = 500,
|
||||
sound =
|
||||
{
|
||||
filename = "__base__/sound/fight/pulse.ogg",
|
||||
volume = 0.7
|
||||
},
|
||||
ammo_type =
|
||||
{
|
||||
type = "projectile",
|
||||
category = "electric",
|
||||
energy_consumption = "20MJ",
|
||||
action =
|
||||
{
|
||||
{
|
||||
type = "area",
|
||||
radius = 250,
|
||||
force = "enemy",
|
||||
action_delivery =
|
||||
{
|
||||
{
|
||||
type = "instant",
|
||||
target_effects =
|
||||
{
|
||||
{
|
||||
type = "create-sticker",
|
||||
sticker = "stun-sticker"
|
||||
},
|
||||
{
|
||||
type = "push-back",
|
||||
distance = 4
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type = "beam",
|
||||
beam = "electric-beam-no-sound",
|
||||
max_length = 500,
|
||||
duration = 60,
|
||||
source_offset = {0, -0.5},
|
||||
add_to_shooter = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
automatic = false,
|
||||
ability_icon =
|
||||
{
|
||||
filename = "__base__/graphics/icons/discharge-defense-equipment-controller.png",
|
||||
flags = { "icon" },
|
||||
mipmap_count = 4,
|
||||
size = 64,
|
||||
priority = "extra-high-no-scale"
|
||||
},
|
||||
categories = {'armor'},
|
||||
sprite = {
|
||||
filename = sprite('charge_entity.png'),
|
||||
width = 256,
|
||||
height = 256,
|
||||
priority = 'medium',
|
||||
},
|
||||
shape = {
|
||||
width = 3,
|
||||
height = 3,
|
||||
type = "full",
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-input',
|
||||
buffer_capacity = "40MJ"
|
||||
},
|
||||
|
||||
},
|
||||
{
|
||||
type = "capsule",
|
||||
name = "gr_materials_charge_remote",
|
||||
icon = "__base__/graphics/icons/discharge-defense-equipment-controller.png",
|
||||
icon_size = 64, icon_mipmaps = 4,
|
||||
capsule_action =
|
||||
{
|
||||
type = "equipment-remote",
|
||||
equipment = "gr_materials_charge_item"
|
||||
},
|
||||
subgroup = 'gr_item_subgroup_b',
|
||||
order = "c-b",
|
||||
stack_size = 1
|
||||
},
|
||||
|
||||
})
|
675
prototypes/gravitation/gr_train.lua
Normal file
675
prototypes/gravitation/gr_train.lua
Normal file
|
@ -0,0 +1,675 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['gr_magnet_train_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/gravitation/gr_magnet_train/gr_magnet_train_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'gr_magnet_train_item',
|
||||
type = 'item-with-entity-data',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'gr_magnet_train_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'gr_item_subgroup_b',
|
||||
order = 'b-a',
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_wagon_item',
|
||||
type = 'item-with-entity-data',
|
||||
icon = sprite('wagon_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'gr_magnet_wagon_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'gr_item_subgroup_b',
|
||||
order = 'b-b',
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_tanker_item',
|
||||
type = 'item-with-entity-data',
|
||||
icon = sprite('wagon_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'gr_magnet_tanker_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'gr_item_subgroup_b',
|
||||
order = 'b-c',
|
||||
},
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
{
|
||||
name = 'gr_magnet_train_entity',
|
||||
type = 'locomotive',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","placeable-off-grid"},
|
||||
max_health = 1200,
|
||||
corpse = "medium-remnants",
|
||||
dying_explosion = "medium-explosion",
|
||||
collision_box = {{-0.6, -2.6}, {0.6, 2.6}},
|
||||
selection_box = {{-1, -3}, {1, 3}},
|
||||
drawing_box = {{-1, -4}, {1, 3}},
|
||||
connection_distance = 3,
|
||||
joint_distance = 4,
|
||||
wheels = standard_train_wheels,
|
||||
rail_category = "regular",
|
||||
open_sound = {filename = "__base__/sound/car-door-open.ogg", volume = 0.7},
|
||||
close_sound = {filename = "__base__/sound/car-door-close.ogg", volume = 0.7},
|
||||
sound_minimum_speed = 0.2,
|
||||
allow_manual_color = false,
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'gr_magnet_train_item',
|
||||
},
|
||||
--stats
|
||||
max_speed = 4.0,
|
||||
max_power = '40kW',
|
||||
braking_force = 1,
|
||||
friction_force = 0.00025,
|
||||
air_resistance = 0.0001,
|
||||
vertical_selection_shift = -0.5,
|
||||
energy_per_hit_point = 8,
|
||||
reversing_power_modifier = 0.5,
|
||||
weight = 10,
|
||||
--burner
|
||||
energy_source = {type = "void"},
|
||||
--light
|
||||
front_light = {
|
||||
{
|
||||
type = "oriented",
|
||||
minimum_darkness = 0.3,
|
||||
picture = {
|
||||
filename = "__core__/graphics/light-cone.png",
|
||||
priority = "medium",
|
||||
scale = 2,
|
||||
width = 200,
|
||||
height = 200,
|
||||
},
|
||||
shift = {-0.3, -10},
|
||||
size = 1,
|
||||
intensity = 1.5,
|
||||
},
|
||||
{
|
||||
type = "oriented",
|
||||
minimum_darkness = 0.3,
|
||||
picture = {
|
||||
filename = "__core__/graphics/light-cone.png",
|
||||
priority = "medium",
|
||||
scale = 2,
|
||||
width = 200,
|
||||
height = 200,
|
||||
},
|
||||
shift = {0.3, -10},
|
||||
size = 1,
|
||||
intensity = 1.5,
|
||||
},
|
||||
},
|
||||
--animation
|
||||
pictures = {
|
||||
priority = "low",
|
||||
width = 512,
|
||||
height = 512,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('animation_1.png'),sprite('animation_2.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
wheels = {
|
||||
priority = "low",
|
||||
width = 512/2,
|
||||
height = 512/2,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('wheels_animation.png'),sprite('wheels_animation.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
--minimap
|
||||
minimap_representation = {
|
||||
filename = "__base__/graphics/entity/diesel-locomotive/diesel-locomotive-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
selected_minimap_representation = {
|
||||
filename = "__base__/graphics/entity/diesel-locomotive/diesel-locomotive-selected-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
--stop trigger
|
||||
stop_trigger = {
|
||||
-- left side
|
||||
{
|
||||
type = "create-trivial-smoke",
|
||||
repeat_count = 75,
|
||||
smoke_name = "smoke-train-stop",
|
||||
initial_height = 0,
|
||||
-- smoke goes to the left
|
||||
speed = {-0.03, 0},
|
||||
speed_multiplier = 0.75,
|
||||
speed_multiplier_deviation = 1.1,
|
||||
offset_deviation = {{-0.75, -2.7}, {-0.3, 2.7}},
|
||||
},
|
||||
-- right side
|
||||
{
|
||||
type = "create-trivial-smoke",
|
||||
repeat_count = 75,
|
||||
smoke_name = "smoke-train-stop",
|
||||
initial_height = 0,
|
||||
-- smoke goes to the right
|
||||
speed = {0.03, 0},
|
||||
speed_multiplier = 0.75,
|
||||
speed_multiplier_deviation = 1.1,
|
||||
offset_deviation = {{0.3, -2.7}, {0.75, 2.7}},
|
||||
},
|
||||
{
|
||||
type = "play-sound",
|
||||
sound = {
|
||||
{
|
||||
filename = "__base__/sound/train-breaks.ogg",
|
||||
volume = 0.6,
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/train-engine.ogg'},
|
||||
apparent_volume = 0.5,
|
||||
},
|
||||
vehicle_impact_sound = {
|
||||
filename = "__base__/sound/car-metal-impact-6.ogg",
|
||||
volume = 0.8
|
||||
},
|
||||
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_wagon_entity',
|
||||
type = 'cargo-wagon',
|
||||
icon = sprite('wagon_item.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","placeable-off-grid"},
|
||||
max_health = 1200,
|
||||
corpse = "medium-remnants",
|
||||
dying_explosion = "medium-explosion",
|
||||
collision_box = {{-0.6, -2.6}, {0.6, 2.6}},
|
||||
selection_box = {{-1, -3}, {1, 3}},
|
||||
drawing_box = {{-1, -4}, {1, 3}},
|
||||
connection_distance = 3,
|
||||
joint_distance = 4,
|
||||
wheels = standard_train_wheels,
|
||||
rail_category = "regular",
|
||||
open_sound = {filename = "__base__/sound/car-door-open.ogg", volume = 0.7},
|
||||
close_sound = {filename = "__base__/sound/car-door-close.ogg", volume = 0.7},
|
||||
sound_minimum_speed = 0.2,
|
||||
allow_manual_color = false,
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'gr_magnet_wagon_item',
|
||||
},
|
||||
--stats
|
||||
max_speed = 4.0,
|
||||
friction_force = 0.00125,
|
||||
air_resistance = 0.00125,
|
||||
braking_force = 1,
|
||||
vertical_selection_shift = -0.5,
|
||||
energy_per_hit_point = 8,
|
||||
weight = 10,
|
||||
inventory_size = 80,
|
||||
--animation
|
||||
pictures = {
|
||||
priority = "low",
|
||||
width = 512,
|
||||
height = 512,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('wagon_animation.png'),sprite('wagon_animation.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
wheels = {
|
||||
priority = "low",
|
||||
width = 512/2,
|
||||
height = 512/2,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('wheels_animation.png'),sprite('wheels_animation.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
--minimap
|
||||
minimap_representation = {
|
||||
filename = "__base__/graphics/entity/cargo-wagon/cargo-wagon-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
selected_minimap_representation = {
|
||||
filename = "__base__/graphics/entity/cargo-wagon/cargo-wagon-selected-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
vehicle_impact_sound = {
|
||||
filename = "__base__/sound/car-metal-impact-6.ogg",
|
||||
volume = 0.8
|
||||
},
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_tanker_entity',
|
||||
type = 'fluid-wagon',
|
||||
icon = sprite('wagon_item.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","placeable-off-grid"},
|
||||
max_health = 1200,
|
||||
corpse = "medium-remnants",
|
||||
dying_explosion = "medium-explosion",
|
||||
collision_box = {{-0.6, -2.6}, {0.6, 2.6}},
|
||||
selection_box = {{-1, -3}, {1, 3}},
|
||||
drawing_box = {{-1, -4}, {1, 3}},
|
||||
connection_distance = 3,
|
||||
joint_distance = 4,
|
||||
wheels = standard_train_wheels,
|
||||
rail_category = "regular",
|
||||
open_sound = {filename = "__base__/sound/car-door-open.ogg", volume = 0.7},
|
||||
close_sound = {filename = "__base__/sound/car-door-close.ogg", volume = 0.7},
|
||||
sound_minimum_speed = 0.2,
|
||||
allow_manual_color = false,
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'gr_magnet_tanker_item',
|
||||
},
|
||||
--stats
|
||||
max_speed = 4.0,
|
||||
friction_force = 0.00125,
|
||||
air_resistance = 0.00125,
|
||||
braking_force = 1,
|
||||
vertical_selection_shift = -0.5,
|
||||
energy_per_hit_point = 8,
|
||||
weight = 10,
|
||||
capacity = 200000,
|
||||
tank_count = 3,
|
||||
--animation
|
||||
pictures = {
|
||||
priority = "low",
|
||||
width = 512,
|
||||
height = 512,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('wagon_animation.png'),sprite('wagon_animation.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
wheels = {
|
||||
priority = "low",
|
||||
width = 512/2,
|
||||
height = 512/2,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('wheels_animation.png'),sprite('wheels_animation.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
--minimap
|
||||
minimap_representation = {
|
||||
filename = "__base__/graphics/entity/cargo-wagon/cargo-wagon-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
selected_minimap_representation = {
|
||||
filename = "__base__/graphics/entity/cargo-wagon/cargo-wagon-selected-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
vehicle_impact_sound = {
|
||||
filename = "__base__/sound/car-metal-impact-6.ogg",
|
||||
volume = 0.8
|
||||
},
|
||||
},
|
||||
--===================================================
|
||||
--pre
|
||||
--===================================================
|
||||
{
|
||||
name = 'gr_magnet_train_pre_item',
|
||||
type = 'item-with-entity-data',
|
||||
icon = sprite('pre_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'gr_magnet_train_pre_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'gr_item_subgroup_b',
|
||||
order = 'b-a',
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_wagon_pre_item',
|
||||
type = 'item-with-entity-data',
|
||||
icon = sprite('wagon_pre_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'gr_magnet_wagon_pre_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'gr_item_subgroup_b',
|
||||
order = 'b-b',
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_tanker_pre_item',
|
||||
type = 'item-with-entity-data',
|
||||
icon = sprite('wagon_pre_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'gr_magnet_tanker_pre_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'gr_item_subgroup_b',
|
||||
order = 'b-c',
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_train_pre_entity',
|
||||
type = 'locomotive',
|
||||
icon = sprite('pre_item.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","placeable-off-grid"},
|
||||
max_health = 1200,
|
||||
corpse = "medium-remnants",
|
||||
dying_explosion = "medium-explosion",
|
||||
collision_box = {{-0.6, -2.6}, {0.6, 2.6}},
|
||||
selection_box = {{-1, -3}, {1, 3}},
|
||||
drawing_box = {{-1, -4}, {1, 3}},
|
||||
connection_distance = 3,
|
||||
joint_distance = 4,
|
||||
wheels = standard_train_wheels,
|
||||
rail_category = "regular",
|
||||
open_sound = {filename = "__base__/sound/car-door-open.ogg", volume = 0.7},
|
||||
close_sound = {filename = "__base__/sound/car-door-close.ogg", volume = 0.7},
|
||||
sound_minimum_speed = 0.2,
|
||||
allow_manual_color = false,
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'gr_magnet_train_pre_item',
|
||||
},
|
||||
--stats
|
||||
max_speed = 2,
|
||||
max_power = '40kW',
|
||||
braking_force = 1,
|
||||
friction_force = 0.00025,
|
||||
air_resistance = 0.0001,
|
||||
vertical_selection_shift = -0.5,
|
||||
energy_per_hit_point = 8,
|
||||
reversing_power_modifier = 0.5,
|
||||
weight = 10,
|
||||
--burner
|
||||
energy_source = {type = "void"},
|
||||
--light
|
||||
front_light = {
|
||||
{
|
||||
type = "oriented",
|
||||
minimum_darkness = 0.3,
|
||||
picture = {
|
||||
filename = "__core__/graphics/light-cone.png",
|
||||
priority = "medium",
|
||||
scale = 2,
|
||||
width = 200,
|
||||
height = 200,
|
||||
},
|
||||
shift = {-0.3, -10},
|
||||
size = 1,
|
||||
intensity = 1.5,
|
||||
},
|
||||
{
|
||||
type = "oriented",
|
||||
minimum_darkness = 0.3,
|
||||
picture = {
|
||||
filename = "__core__/graphics/light-cone.png",
|
||||
priority = "medium",
|
||||
scale = 2,
|
||||
width = 200,
|
||||
height = 200,
|
||||
},
|
||||
shift = {0.3, -10},
|
||||
size = 1,
|
||||
intensity = 1.5,
|
||||
},
|
||||
},
|
||||
--animation
|
||||
pictures = {
|
||||
priority = "low",
|
||||
width = 512,
|
||||
height = 512,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('pre_animation_1.png'),sprite('pre_animation_2.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
wheels = {
|
||||
priority = "low",
|
||||
width = 512/2,
|
||||
height = 512/2,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('wheels_animation.png'),sprite('wheels_animation.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
--minimap
|
||||
minimap_representation = {
|
||||
filename = "__base__/graphics/entity/diesel-locomotive/diesel-locomotive-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
selected_minimap_representation = {
|
||||
filename = "__base__/graphics/entity/diesel-locomotive/diesel-locomotive-selected-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
--stop trigger
|
||||
stop_trigger = {
|
||||
-- left side
|
||||
{
|
||||
type = "create-trivial-smoke",
|
||||
repeat_count = 75,
|
||||
smoke_name = "smoke-train-stop",
|
||||
initial_height = 0,
|
||||
-- smoke goes to the left
|
||||
speed = {-0.03, 0},
|
||||
speed_multiplier = 0.75,
|
||||
speed_multiplier_deviation = 1.1,
|
||||
offset_deviation = {{-0.75, -2.7}, {-0.3, 2.7}},
|
||||
},
|
||||
-- right side
|
||||
{
|
||||
type = "create-trivial-smoke",
|
||||
repeat_count = 75,
|
||||
smoke_name = "smoke-train-stop",
|
||||
initial_height = 0,
|
||||
-- smoke goes to the right
|
||||
speed = {0.03, 0},
|
||||
speed_multiplier = 0.75,
|
||||
speed_multiplier_deviation = 1.1,
|
||||
offset_deviation = {{0.3, -2.7}, {0.75, 2.7}},
|
||||
},
|
||||
{
|
||||
type = "play-sound",
|
||||
sound = {
|
||||
{
|
||||
filename = "__base__/sound/train-breaks.ogg",
|
||||
volume = 0.6,
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/train-engine.ogg'},
|
||||
apparent_volume = 0.5,
|
||||
},
|
||||
vehicle_impact_sound = {
|
||||
filename = "__base__/sound/car-metal-impact-6.ogg",
|
||||
volume = 0.8
|
||||
},
|
||||
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_wagon_pre_entity',
|
||||
type = 'cargo-wagon',
|
||||
icon = sprite('wagon_pre_item.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","placeable-off-grid"},
|
||||
max_health = 1200,
|
||||
corpse = "medium-remnants",
|
||||
dying_explosion = "medium-explosion",
|
||||
collision_box = {{-0.6, -2.6}, {0.6, 2.6}},
|
||||
selection_box = {{-1, -3}, {1, 3}},
|
||||
drawing_box = {{-1, -4}, {1, 3}},
|
||||
connection_distance = 3,
|
||||
joint_distance = 4,
|
||||
wheels = standard_train_wheels,
|
||||
rail_category = "regular",
|
||||
open_sound = {filename = "__base__/sound/car-door-open.ogg", volume = 0.7},
|
||||
close_sound = {filename = "__base__/sound/car-door-close.ogg", volume = 0.7},
|
||||
sound_minimum_speed = 0.2,
|
||||
allow_manual_color = false,
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'gr_magnet_wagon_pre_item',
|
||||
},
|
||||
--stats
|
||||
max_speed = 1.5,
|
||||
friction_force = 0.00125,
|
||||
air_resistance = 0.00125,
|
||||
braking_force = 1,
|
||||
vertical_selection_shift = -0.5,
|
||||
energy_per_hit_point = 8,
|
||||
weight = 10,
|
||||
inventory_size = 40,
|
||||
--animation
|
||||
pictures = {
|
||||
priority = "low",
|
||||
width = 512,
|
||||
height = 512,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('wagon_pre_animation.png'),sprite('wagon_pre_animation.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
wheels = {
|
||||
priority = "low",
|
||||
width = 512/2,
|
||||
height = 512/2,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('wheels_animation.png'),sprite('wheels_animation.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
--minimap
|
||||
minimap_representation = {
|
||||
filename = "__base__/graphics/entity/cargo-wagon/cargo-wagon-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
selected_minimap_representation = {
|
||||
filename = "__base__/graphics/entity/cargo-wagon/cargo-wagon-selected-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
vehicle_impact_sound = {
|
||||
filename = "__base__/sound/car-metal-impact-6.ogg",
|
||||
volume = 0.8
|
||||
},
|
||||
},
|
||||
{
|
||||
name = 'gr_magnet_tanker_pre_entity',
|
||||
type = 'fluid-wagon',
|
||||
icon = sprite('wagon_pre_item.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral","placeable-off-grid"},
|
||||
max_health = 1200,
|
||||
corpse = "medium-remnants",
|
||||
dying_explosion = "medium-explosion",
|
||||
collision_box = {{-0.6, -2.6}, {0.6, 2.6}},
|
||||
selection_box = {{-1, -3}, {1, 3}},
|
||||
drawing_box = {{-1, -4}, {1, 3}},
|
||||
connection_distance = 3,
|
||||
joint_distance = 4,
|
||||
wheels = standard_train_wheels,
|
||||
rail_category = "regular",
|
||||
open_sound = {filename = "__base__/sound/car-door-open.ogg", volume = 0.7},
|
||||
close_sound = {filename = "__base__/sound/car-door-close.ogg", volume = 0.7},
|
||||
sound_minimum_speed = 0.2,
|
||||
allow_manual_color = false,
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'gr_magnet_tanker_pre_item',
|
||||
},
|
||||
--stats
|
||||
max_speed = 1.5,
|
||||
friction_force = 0.00125,
|
||||
air_resistance = 0.00125,
|
||||
braking_force = 1,
|
||||
vertical_selection_shift = -0.5,
|
||||
energy_per_hit_point = 8,
|
||||
weight = 10,
|
||||
capacity = 100000,
|
||||
tank_count = 3,
|
||||
--animation
|
||||
pictures = {
|
||||
priority = "low",
|
||||
width = 512,
|
||||
height = 512,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('wagon_pre_animation.png'),sprite('wagon_pre_animation.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
wheels = {
|
||||
priority = "low",
|
||||
width = 512/2,
|
||||
height = 512/2,
|
||||
direction_count = 128,
|
||||
filenames = {sprite('wheels_animation.png'),sprite('wheels_animation.png')},
|
||||
line_length = 8,
|
||||
lines_per_file = 8,
|
||||
shift = {0.2, -0.6},
|
||||
scale = 0.5,
|
||||
},
|
||||
--minimap
|
||||
minimap_representation = {
|
||||
filename = "__base__/graphics/entity/cargo-wagon/cargo-wagon-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
selected_minimap_representation = {
|
||||
filename = "__base__/graphics/entity/cargo-wagon/cargo-wagon-selected-minimap-representation.png",
|
||||
flags = {"icon"},
|
||||
size = {20, 40},
|
||||
scale = 0.5,
|
||||
},
|
||||
vehicle_impact_sound = {
|
||||
filename = "__base__/sound/car-metal-impact-6.ogg",
|
||||
volume = 0.8
|
||||
},
|
||||
},
|
||||
})
|
57
prototypes/gravitation/gr_white_hole.lua
Normal file
57
prototypes/gravitation/gr_white_hole.lua
Normal file
|
@ -0,0 +1,57 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['gr_white_hole_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/gravitation/gr_white_hole/gr_white_hole_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'gr_white_hole_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'gr_white_hole_entity',
|
||||
stack_size = 1,
|
||||
subgroup = 'gr_item_subgroup_c',
|
||||
order = 'e-a',
|
||||
},
|
||||
{
|
||||
name = "gr_white_hole_entity",
|
||||
type = "furnace",
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
collision_box = {{-5.8,-5.8},{5.8,5.8}},
|
||||
selection_box = {{-6,-6},{6,6}},
|
||||
max_health = 1500,
|
||||
corpse = 'big-remnants',
|
||||
map_color = {r=1, g=0, b=0, a=0.5},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'gr_white_hole_item',
|
||||
},
|
||||
result_inventory_size = 1,
|
||||
source_inventory_size = 1,
|
||||
crafting_categories = {"gr_white_hole_category"},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = "electric",
|
||||
usage_priority = "secondary-input",
|
||||
drain = "1TW"
|
||||
},
|
||||
energy_usage = "1TW",
|
||||
animation = {
|
||||
filename = sprite('animation.png'),
|
||||
size = {512*2,512*2},
|
||||
scale = 0.4,
|
||||
line_length = 4,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.1
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue