init
This commit is contained in:
commit
43086ea1eb
553 changed files with 20250 additions and 0 deletions
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,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue