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,22 @@
--local functions
local function config(name)
return settings.startup['fi_compound_material_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_compound_material/fi_compound_material_'..name
end
--item
data:extend({
{
name = 'fi_compound_material_item',
type = 'item',
icon = sprite('item.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_b',
order = 'a-a',
},
})

View file

@ -0,0 +1,108 @@
--local functions
local function config(name)
return settings.startup['fi_crafter_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_crafter/fi_crafter_'..name
end
--item
data:extend({
{
name = 'fi_crafter_item',
type = 'item',
icon = sprite('item.png'),
icon_size = 64,
place_result = 'fi_crafter_entity',
stack_size = 20,
subgroup = 'fi_item_subgroup_c',
order = 'a-a',
},
})
--entity
data:extend({
--prototype
{
name = 'fi_crafter_entity',
type = 'assembling-machine',
icon = sprite('entity_icon.png'),
icon_size = 64,
flags = {"player-creation","placeable-neutral"},
max_health = 300,
corpse = 'big-remnants',
collision_box = {{-1.4,-1.4},{1.4,1.4}},
selection_box = {{-1.5,-1.5},{1.5,1.5}},
map_color = {r=0, g=0, b=1, a=1},
minable = {
mining_time = 1,
result = 'fi_crafter_item',
},
crafting_categories = {'advanced-crafting','crafting','smelting','fi_crafting_category'},
crafting_speed = 3.5,
energy_source = {
type = 'burner',
fuel_inventory_size = 3,
burnt_inventory_size = 3,
effectivity = 0.35,
emissions_per_minute = 20,
fuel_category = 'fi_basic_fuel'
},
energy_usage = '200kW',
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
module_specification = {
module_info_icon_shift = {
0,
0.8
},
module_slots = 2
},
--animation
animation = {
north = {
filename = sprite('entity_animation.png'),
size = {480,448},
scale = 0.2,
line_length = 3,
lines_per_file = 3,
frame_count = 4,
animation_speed = 0.5,
},
east = {
filename = sprite('entity_animation.png'),
size = {480,448},
scale = 0.2,
line_length = 3,
lines_per_file = 3,
frame_count = 4,
animation_speed = 0.5,
},
south = {
filename = sprite('entity_animation.png'),
size = {480,448},
scale = 0.2,
line_length = 3,
lines_per_file = 3,
frame_count = 4,
animation_speed = 0.5,
},
west = {
filename = sprite('entity_animation.png'),
size = {480,448},
scale = 0.2,
line_length = 3,
lines_per_file = 3,
frame_count = 4,
animation_speed = 0.5,
},
},
working_sound = {
sound = { filename = '__base__/sound/nuclear-reactor-1.ogg'},
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
apparent_volume = 0.7,
},
},
})

View file

@ -0,0 +1,57 @@
--local functions
local function config(name)
return settings.startup['fi_crushed_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_crushed/fi_crushed_'..name
end
--item
data:extend({
{
name = 'fi_crushed_lithium_item',
type = 'item',
icon = sprite('lithium_item.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_a-b',
order = 'a-d',
},
{
name = 'fi_crushed_iron_item',
type = 'item',
icon = sprite('iron_item.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_a-b',
order = 'a-a',
},
{
name = 'fi_crushed_copper_item',
type = 'item',
icon = sprite('copper_item.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_a-b',
order = 'a-b',
},
{
name = 'fi_crushed_aluminum_item',
type = 'item',
icon = sprite('aluminum_item.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_a-b',
order = 'a-c',
},
{
name = 'fi_crushed_coal_item',
type = 'item',
icon = sprite('coal_item.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_a-b',
order = 'a-f',
},
})

View file

@ -0,0 +1,103 @@
--local functions
local function config(name)
return settings.startup['fi_crusher_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_crusher/fi_crusher_'..name
end
--item
data:extend({
{
name = 'fi_crusher_item',
type = 'item',
icon = sprite('item.png'),
icon_size = 64,
place_result = 'fi_crusher_entity',
stack_size = 20,
subgroup = 'fi_item_subgroup_c',
order = 'a-c',
},
})
--entity
data:extend({
--prototype
{
name = 'fi_crusher_entity',
type = 'assembling-machine',
icon = sprite('entity_icon.png'),
icon_size = 64,
flags = {"player-creation","placeable-neutral"},
max_health = 300,
corpse = 'big-remnants',
collision_box = {{-1.4,-1.4},{1.4,1.4}},
selection_box = {{-1.5,-1.5},{1.5,1.5}},
map_color = {r=0, g=0, b=1, a=1},
minable = {
mining_time = 1,
result = 'fi_crusher_item',
},
crafting_categories = {'fi_crushing'},
crafting_speed = 1,
energy_source = {
type = 'electric',
usage_priority = 'secondary-input',
--input_flow_limit = '4MW',
},
energy_usage = '1MW',
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
module_specification = {
module_info_icon_shift = {
0,
0.8
},
module_slots = 2
},
--animation
animation = {
north = {
filename = sprite('entity_animation.png'),
size = {480,448},
scale = 0.2,
line_length = 3,
lines_per_file = 3,
frame_count = 4,
animation_speed = 0.5,
},
east = {
filename = sprite('entity_animation.png'),
size = {480,448},
scale = 0.2,
line_length = 3,
lines_per_file = 3,
frame_count = 4,
animation_speed = 0.5,
},
south = {
filename = sprite('entity_animation.png'),
size = {480,448},
scale = 0.2,
line_length = 3,
lines_per_file = 3,
frame_count = 4,
animation_speed = 0.5,
},
west = {
filename = sprite('entity_animation.png'),
size = {480,448},
scale = 0.2,
line_length = 3,
lines_per_file = 3,
frame_count = 4,
animation_speed = 0.5,
},
},
working_sound = {
sound = { filename ='__base__/sound/electric-mining-drill.ogg'},
apparent_volume = 2.7,
},
},
})

View file

@ -0,0 +1,54 @@
--local functions
local function config(name)
return settings.startup['fi_energy_crystal_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_energy_crystal/fi_energy_crystal_'..name
end
--item
data:extend({
{
name = 'fi_energy_crystal_item',
type = 'item',
icon = sprite('item.png'),
icon_size = 64,
stack_size = 500,
subgroup = 'fi_item_subgroup_b',
order = 'a-c',
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
fuel_category = 'chemical',
fuel_acceleration_multiplier = 1,
fuel_emissions_multiplier = 1,
fuel_top_speed_multiplier = 1,
fuel_value = '300MJ',
},
{
name = 'fi_crushed_crystal_item',
type = 'item',
icon = sprite('crushed_item.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_a-b',
order = 'a-e',
},
{
name = 'fi_catalyst_crystal_item',
type = 'item',
icon = sprite('catalyst_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_f',
order = 'a-b',
},
{
name = 'fi_base_crystal_item',
type = 'item',
icon = sprite('base_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_f',
order = 'a-c',
},
})

View file

@ -0,0 +1,117 @@
--local functions
local function config(name)
return settings.startup['fi_equipment_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_equipment/fi_equipment_'..name
end
--item
data:extend({
{
name = 'fi_train_equipment_generator_item',
type = 'item',
icon = sprite('generator_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_e',
placed_as_equipment_result = 'fi_train_equipment_generator_item',
order = 'a-a',
},
{
name = 'fi_equipment_player_reactor_item',
type = 'item',
icon = sprite('player_reactor_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_e',
placed_as_equipment_result = 'fi_equipment_player_reactor_item',
order = 'a-b',
},
{
name = 'fi_equipment_player_shield_item',
type = 'item',
icon = sprite('player_shield_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_e',
placed_as_equipment_result = 'fi_equipment_player_shield_item',
order = 'a-c',
},
})
--equipment
data:extend({
{
name = 'fi_train_equipment_generator_item',
type = 'generator-equipment',
power = '2400kW',
categories = {'fi_train_equipment'},
sprite = {
filename = sprite('generator_entity.png'),
width = 256,
height = 256,
priority = 'medium',
},
shape = {
width = 3,
height = 3,
type = "full",
},
energy_source = {
type = 'electric',
usage_priority = 'primary-output',
},
},
{
name = 'fi_equipment_player_reactor_item',
type = 'generator-equipment',
power = '600kW',
categories = {'armor'},
sprite = {
filename = sprite('player_reactor_entity.png'),
width = 256,
height = 256,
priority = 'medium',
},
shape = {
width = 3,
height = 3,
type = "full",
},
energy_source = {
type = 'electric',
usage_priority = 'primary-output',
},
},
{
name = 'fi_equipment_player_shield_item',
type = 'energy-shield-equipment',
energy_per_shield = '20kJ',
max_shield_value = 400,
categories = {'armor'},
sprite = {
filename = sprite('player_shield_entity.png'),
width = 256,
height = 256,
priority = 'medium',
},
shape = {
width = 3,
height = 3,
type = "full",
},
energy_source = {
type = 'electric',
usage_priority = 'primary-input',
input_flow_limit = "600kW",
buffer_capacity = "300kJ",
},
},
})

View file

@ -0,0 +1,180 @@
--local functions
local function config(name)
return settings.startup['fi_fuel_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_fuel/fi_fuel_'..name
end
--item
data:extend({
{
--u 235 + u 238
name = 'fi_basic_fuel_item',
type = 'item',
icon = sprite('basic_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_d',
fuel_category = 'fi_basic_fuel',
fuel_value = '10GJ',
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
order = 'a-a',
burnt_result = 'fi_used_basic_fuel_item',
},
{
--u 238 + th 232
name = 'fi_basic_thorium_fuel_item',
type = 'item',
icon = sprite('basic_thorium_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_d',
fuel_category = 'fi_basic_fuel',
fuel_value = '6GJ',
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
order = 'a-b',
burnt_result = 'fi_used_basic_thorium_fuel_item',
},
{
--u 238 + pu 239
name = 'fi_advanced_fuel_item',
type = 'item',
icon = sprite('advanced_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_d',
fuel_category = 'fi_advanced_fuel',
fuel_value = '14GJ',
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
order = 'b-a',
burnt_result = 'fi_used_advanced_fuel_item',
},
{
--u 233 + u 238
name = 'fi_advanced_thorium_fuel_item',
type = 'item',
icon = sprite('advanced_thorium_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_d',
fuel_category = 'fi_advanced_fuel',
fuel_value = '10GJ',
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
order = 'b-b',
burnt_result = 'fi_used_advanced_thorium_fuel_item',
},
{
--u 235 + pu 239
name = 'fi_pure_fuel_item',
type = 'item',
icon = sprite('pure_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_d',
fuel_category = 'fi_pure_fuel',
fuel_value = '28GJ',
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
order = 'c-a',
burnt_result = 'fi_used_pure_fuel_item',
},
{
--used_basic
name = 'fi_used_basic_fuel_item',
type = 'item',
icon = sprite('used_basic_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_d',
order = 'c-a',
},
{
--used_basic_thorium
name = 'fi_used_basic_thorium_fuel_item',
type = 'item',
icon = sprite('used_basic_thorium_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_d',
order = 'c-a',
},
{
--used_advanced
name = 'fi_used_advanced_fuel_item',
type = 'item',
icon = sprite('used_advanced_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_d',
order = 'c-a',
},
{
--used_advanced_thorium
name = 'fi_used_advanced_thorium_fuel_item',
type = 'item',
icon = sprite('used_advanced_thorium_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_d',
order = 'c-a',
},
{
--used_pure
name = 'fi_used_pure_fuel_item',
type = 'item',
icon = sprite('used_pure_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_d',
order = 'c-a',
},
{
--u33
name = 'fi_uranium233_item',
type = 'item',
icon = sprite('uranium233_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_a',
order = 'a-b',
},
{
--pu239
name = 'fi_plutonium239_item',
type = 'item',
icon = sprite('plutonium239_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_a',
order = 'a-c',
},
{
--th232
name = 'fi_thorium232_item',
type = 'item',
icon = sprite('thorium232_item.png'),
icon_size = 64,
stack_size = 20,
subgroup = 'fi_item_subgroup_a',
order = 'a-a',
},
--train crystal fuel
{
name = 'fi_fuel_train_crystal_item',
type = 'item',
icon = sprite('train_crystal_item.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_d',
order = 'd-a',
fuel_acceleration_multiplier = 0.6,
fuel_top_speed_multiplier = 1.55,
fuel_category = 'el_train_fuel',
fuel_emissions_multiplier = 3.5,
fuel_value = '350MJ',
},
})

View file

@ -0,0 +1,32 @@
--local functions
local function config(name)
return settings.startup['fi_materials_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_materials/fi_materials_'..name
end
--item
data:extend({
{
name = 'fi_industrial_steel_item',
type = 'item',
icon = sprite('industrial_steel_item.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_b',
order = 'a-b',
},
{
name = 'fi_industrial_steel_blend_item',
type = 'item',
icon = sprite('industrial_steel_blend_item.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_a-c',
order = 'a-a',
},
})

View file

@ -0,0 +1,114 @@
--local functions
local function config(name)
return settings.startup['fi_miner_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_miner/fi_miner_'..name
end
--item
data:extend({
{
name = 'fi_miner_item',
type = 'item',
icon = sprite('item.png'),
icon_size = 64,
place_result = 'fi_miner_entity',
stack_size = 20,
subgroup = 'fi_item_subgroup_c',
order = 'a-b',
},
})
--entity
data:extend({
--prototype
{
name = 'fi_miner_entity',
type = 'mining-drill',
icon = sprite('entity_icon.png'),
icon_size = 64,
flags = {"player-creation","placeable-neutral"},
max_health = 300,
corpse = 'big-remnants',
collision_box = {{-2.7,-1.3},{2.7,1.3}},
selection_box = {{-3,-1.5},{3,1.5}},
map_color = {r=0, g=0, b=1, a=1},
minable = {
mining_time = 1,
result = 'fi_miner_item',
},
energy_source = {
type = 'burner',
fuel_inventory_size = 3,
burnt_inventory_size = 3,
effectivity = 0.35,
emissions_per_minute = 75,
fuel_category = 'fi_basic_fuel'
},
energy_usage = '4MW',
mining_speed = 4.5,
resource_categories = {'basic-solid'},
resource_searching_radius = 6,
vector_to_place_result = {3.25,0},
radius_visualisation_picture =
{
filename = "__base__/graphics/entity/beacon/beacon-radius-visualization.png",
width = 10,
height = 10,
},
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
module_specification = {
module_info_icon_shift = {
0,
0.8
},
module_slots = 2
},
--animation
animations = {
north = {
filename = sprite('entity_animation_vertikal.png'),
size = {448*2,550},
scale = 0.2,
line_length = 3,
lines_per_file = 3,
frame_count = 4,
animation_speed = 0.5,
shift = {0,-0.3},
},
east = {
filename = sprite('entity_animation_horizontal.png'),
size = {480,448*2},
scale = 0.2,
line_length = 10,
frame_count = 4,
animation_speed = 0.5,
},
south = {
filename = sprite('entity_animation_vertikal.png'),
size = {448*2,550},
scale = 0.2,
line_length = 3,
lines_per_file = 3,
frame_count = 4,
animation_speed = 0.5,
shift = {0,-0.3},
},
west = {
filename = sprite('entity_animation_horizontal.png'),
size = {480,448*2},
scale = 0.2,
line_length = 10,
frame_count = 4,
animation_speed = 0.5,
},
},
working_sound = {
sound = { filename ='__base__/sound/electric-mining-drill.ogg'},
apparent_volume = 3.2,
},
},
})

View file

@ -0,0 +1,155 @@
--local functions
local function config(name)
return settings.startup['fi_modules_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_modules/fi_modules_'..name
end
local limitation_list = {
'el_aluminum_ore_recipe',
'el_aluminum_item_recipe',
'el_lithium_ore_recipe',
'el_lithium_item_recipe',
'el_train_fuel_diesel_recipe',
'el_energy_crystal_recipe',
'fi_compound_material_recipe',
'fi_materials_industrial_steel_recipe',
'fu_lead_ore_recipe',
'fi_base_crystal_recipe',
'fi_catalyst_crystal_recipe',
'fi_energy_crystal_recipe'
}
--item
data:extend({
{
name = 'fi_modules_productivity_1_item',
type = 'module',
icon = sprite('productivity_1.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_j',
category = '248k_productivity_category',
tier = 1,
order = 'a-a',
effect = {
consumption = {bonus = 0.9},
speed = {bonus = -0.2},
productivity = {bonus = 0.08},
pollution = {bonus = 0.3}
},
limitation = limitation_list,
limitation_message_key = 'limitation_message',
},
{
name = 'fi_modules_productivity_2_item',
type = 'module',
icon = sprite('productivity_2.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_j',
category = '248k_productivity_category',
tier = 2,
order = 'a-a',
effect = {
consumption = {bonus = 1.4},
speed = {bonus = -0.35},
productivity = {bonus = 0.12},
pollution = {bonus = 0.6}
},
limitation = limitation_list,
limitation_message_key = 'limitation_message',
},
{
name = 'fi_modules_productivity_3_item',
type = 'module',
icon = sprite('productivity_3.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_j',
category = '248k_productivity_category',
tier = 3,
order = 'a-a',
effect = {
consumption = {bonus = 2.6},
speed = {bonus = -0.6},
productivity = {bonus = 0.20},
pollution = {bonus = 0.9}
},
limitation = limitation_list,
limitation_message_key = 'limitation_message',
},
{
name = 'fi_modules_productivity_4_item',
type = 'module',
icon = sprite('productivity_4.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'gr_item_subgroup_d',
category = '248k_productivity_category',
tier = 4,
order = 'a-a',
effect = {
consumption = {bonus = 2},
speed = {bonus = -0.5},
productivity = {bonus = 0.05},
pollution = {bonus = 1}
},
},
{
name = 'fi_modules_productivity_5_item',
type = 'module',
icon = sprite('productivity_5.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'gr_item_subgroup_d',
category = '248k_productivity_category',
tier = 5,
order = 'a-b',
effect = {
consumption = {bonus = 3},
speed = {bonus = -0.7},
productivity = {bonus = 0.1},
pollution = {bonus = 1}
},
},
{
name = 'fi_modules_productivity_6_item',
type = 'module',
icon = sprite('productivity_6.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'gr_item_subgroup_d',
category = '248k_productivity_category',
tier = 6,
order = 'a-c',
effect = {
consumption = {bonus = 6},
speed = {bonus = -0.9},
productivity = {bonus = 0.25},
pollution = {bonus = 1}
},
},
{
name = 'fi_modules_base_item',
type = 'item',
icon = sprite('base.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_e',
order = 'b-k',
},
{
name = 'fi_modules_core_item',
type = 'item',
icon = sprite('core.png'),
icon_size = 64,
stack_size = 100,
subgroup = 'fi_item_subgroup_e',
order = 'b-x',
},
})

View file

@ -0,0 +1,219 @@
--local functions
local function config(name)
return settings.startup['fi_robo_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_robo/fi_robo_'..name
end
--item
data:extend({
{
name = 'fi_robo_port_item',
type = 'item',
icon = sprite('port_item.png'),
icon_size = 64,
place_result = 'fi_robo_port_entity',
stack_size = 20,
subgroup = 'fi_item_subgroup_c',
order = 'a-b',
},
{
name = 'fi_robo_charger_item',
type = 'item',
icon = sprite('charger_item.png'),
icon_size = 64,
place_result = 'fi_robo_charger_entity',
stack_size = 20,
subgroup = 'fi_item_subgroup_c',
order = 'a-b',
},
})
--entity
data:extend({
--prototype port
{
name = 'fi_robo_port_entity',
type = 'roboport',
icon = sprite('port_entity_icon.png'),
icon_size = 64,
flags = {"player-creation","placeable-neutral"},
max_health = 300,
corpse = 'big-remnants',
collision_box = {{-1.4,-1.4},{1.4,1.4}},
selection_box = {{-1.5,-1.5},{1.5,1.5}},
map_color = {r=0, g=0, b=1, a=1},
minable = {
mining_time = 1,
result = 'fi_robo_port_item',
},
energy_source = {
type = 'electric',
buffer_capacity = '400MJ',
usage_priority = 'secondary-input',
input_flow_limit = '160MW',
},
energy_usage = '4MW',
charge_approach_distance = 2,
charging_energy = '2MW',
recharge_minimum = '1MW',
charging_station_count = 4,
construction_radius = 70,
logistics_radius = 70,
material_slots_count = 10,
robot_slots_count = 10,
request_to_open_door_timeout = 15,
spawn_and_station_height = 1.2,
robots_shrink_when_entering_and_exiting = true,
base = {
filename = sprite('port_base.png'),
width = 600,
height = 600,
scale = 0.2,
shift = {0,-0.3},
},
base_patch = {
filename = sprite('port_base.png'),
width = 64,
height = 64,
},
base_animation = {
filename = sprite('port_base.png'),
width = 64,
height = 1,
line_length = 1,
--lines_per_file = 1,
animation_speed = 0.5,
frame_count = 6,
scale = 1,
},
door_animation_up = {
filename = sprite('port_door_animation.png'),
width = 600,
height = 600,
scale = 0.2,
shift = {0,-0.3},
line_length = 4,
--lines_per_file = 1,
animation_speed = 0.5,
frame_count = 4,
},
door_animation_down = {
filename = sprite('port_door_animation.png'),
width = 600,
height = 600,
scale = 0.2,
shift = {0,-0.3},
line_length = 4,
--lines_per_file = 1,
animation_speed = 0.5,
frame_count = 4,
},
recharging_animation = {
filename = "__base__/graphics/entity/roboport/roboport-recharging.png",
priority = "high",
width = 37,
height = 35,
frame_count = 16,
scale = 1.5,
animation_speed = 0.5
},
},
--charger
{
name = 'fi_robo_charger_entity',
type = 'roboport',
icon = sprite('charger_entity_icon.png'),
icon_size = 64,
flags = {"player-creation","placeable-neutral"},
max_health = 300,
corpse = 'big-remnants',
collision_box = {{-1.4,-1.4},{1.4,1.4}},
selection_box = {{-1.5,-1.5},{1.5,1.5}},
map_color = {r=0, g=0, b=1, a=1},
minable = {
mining_time = 1,
result = 'fi_robo_charger_item',
},
energy_source = {
type = 'electric',
buffer_capacity = '400MJ',
usage_priority = 'secondary-input',
input_flow_limit = '40MW',
},
energy_usage = '4MW',
charge_approach_distance = 2,
charging_energy = '6MW',
recharge_minimum = '1MW',
charging_station_count = 6,
construction_radius = 1,
logistics_radius = 1,
material_slots_count = 0,
robot_slots_count = 0,
request_to_open_door_timeout = 4,
spawn_and_station_height = 2,
base = {
filename = sprite('charger_base_2.png'),
width = 600,
height = 600,
scale = 0.2,
shift = {0,-0.3},
},
base_patch = {
filename = sprite('charger_base.png'),
width = 64,
height = 64,
},
base_animation = {
filename = sprite('charger_animation_2.png'),
width = 600,
height = 600,
line_length = 5,
lines_per_file = 1,
scale = 0.2,
animation_speed = 0.3,
frame_count = 5,
shift = {0,-0.3},
},
door_animation_up = {
filename = sprite('charger_base.png'),
width = 64,
height = 1,
line_length = 1,
--lines_per_file = 1,
animation_speed = 0.5,
frame_count = 6,
scale = 1,
},
door_animation_down = {
filename = sprite('charger_base.png'),
width = 64,
height = 1,
line_length = 1,
--lines_per_file = 1,
animation_speed = 0.5,
frame_count = 6,
scale = 1,
},
recharging_animation = {
filename = "__base__/graphics/entity/roboport/roboport-recharging.png",
priority = "high",
width = 37,
height = 35,
frame_count = 16,
scale = 1.5,
animation_speed = 0.5
}
},
})

View file

@ -0,0 +1,99 @@
--local functions
local function config(name)
return settings.startup['fi_solid_reactor_'..name].value
end
local function sprite(name)
return '__248k__/ressources/fission/fi_solid_reactor/fi_solid_reactor_'..name
end
--item
data:extend({
{
name = 'fi_solid_reactor_item',
type = 'item',
icon = sprite('item.png'),
icon_size = 64,
place_result = 'fi_solid_reactor_entity',
stack_size = 20,
subgroup = 'fi_item_subgroup_c',
order = 'b-a',
},
})
--entity
data:extend({
--prototype
{
name = 'fi_solid_reactor_entity',
type = 'reactor',
icon = sprite('entity_icon.png'),
icon_size = 64,
flags = {"player-creation","placeable-neutral"},
max_health = 300,
corpse = 'big-remnants',
collision_box = {{-2.7,-2.7},{2.7,2.7}},
selection_box = {{-3.0,-3.0},{3.0,3.0}},
map_color = {r=0, g=0, b=1, a=1},
minable = {
mining_time = 1,
result = 'fi_solid_reactor_item',
},
consumption = '60MW',
neighbour_bonus = 2,
energy_source = {
type = 'burner',
fuel_inventory_size = 3,
burnt_inventory_size = 3,
effectivity = 0.9,
fuel_categories = {
'fi_basic_fuel',
'fi_advanced_fuel',
'fi_pure_fuel'
}
},
heat_buffer = {
max_temperature = 1000,
specific_heat = '10MJ',
max_transfer = '10GW',
connections = {
{position = {0.5,-3}, direction = defines.direction.north},
{position = {-0.5,-3}, direction = defines.direction.north},
{position = {2.9,0.5}, direction = defines.direction.east},
{position = {2.9,-0.5}, direction = defines.direction.east},
{position = {-3,0.5}, direction = defines.direction.west},
{position = {-3,-0.5}, direction = defines.direction.west},
{position = {0.5,2.9}, direction = defines.direction.south},
{position = {-0.5,2.9}, direction = defines.direction.south}
}
},
picture = {
filename = sprite('entity_animation.png'),
width = 960,
height = 960,
shift = {0, 0},
scale = 0.2,
},
working_light_picture ={
filename = sprite('working_light.png'),
width = 960,
height = 960,
shift = {0, 0},
scale = 0.2,
},
light = {
type = 'basic',
intensity = 0.4,
size = 14,
color = {r=0.1,g=0.5,b=0.75}
},
working_sound = {
sound = { filename ='__base__/sound/nuclear-reactor-1.ogg'},
apparent_volume = 2.5,
},
},
})