This commit is contained in:
Paul 2021-07-25 17:33:55 +02:00
commit 43086ea1eb
553 changed files with 20250 additions and 0 deletions

View 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',
},
})

View 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',
},
})

View 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,
},
},
},
})

View 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
},
},
})

View 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',
},
})

View 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,
}
})

View 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,
}
})

View 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,
},
},
})

View 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"}
}
})

View 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,
},
},
})

View 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,
},
},
})

View 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,
},
},
})

View 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',
},
})

View 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

View 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},
},
})

View 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},
},
})

View 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',
},
},
})

View 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',
},
})

View 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,
},
},
})