init
This commit is contained in:
commit
43086ea1eb
553 changed files with 20250 additions and 0 deletions
22
prototypes/fission/fi_compound_material.lua
Normal file
22
prototypes/fission/fi_compound_material.lua
Normal file
|
@ -0,0 +1,22 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_compound_material_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_compound_material/fi_compound_material_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_compound_material_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_b',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
108
prototypes/fission/fi_crafter.lua
Normal file
108
prototypes/fission/fi_crafter.lua
Normal file
|
@ -0,0 +1,108 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_crafter_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_crafter/fi_crafter_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_crafter_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_crafter_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_c',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fi_crafter_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-1.4,-1.4},{1.4,1.4}},
|
||||
selection_box = {{-1.5,-1.5},{1.5,1.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fi_crafter_item',
|
||||
},
|
||||
crafting_categories = {'advanced-crafting','crafting','smelting','fi_crafting_category'},
|
||||
crafting_speed = 3.5,
|
||||
energy_source = {
|
||||
type = 'burner',
|
||||
fuel_inventory_size = 3,
|
||||
burnt_inventory_size = 3,
|
||||
effectivity = 0.35,
|
||||
emissions_per_minute = 20,
|
||||
fuel_category = 'fi_basic_fuel'
|
||||
},
|
||||
energy_usage = '200kW',
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
module_specification = {
|
||||
module_info_icon_shift = {
|
||||
0,
|
||||
0.8
|
||||
},
|
||||
module_slots = 2
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
|
||||
working_sound = {
|
||||
sound = { filename = '__base__/sound/nuclear-reactor-1.ogg'},
|
||||
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
|
||||
apparent_volume = 0.7,
|
||||
},
|
||||
},
|
||||
})
|
57
prototypes/fission/fi_crushed.lua
Normal file
57
prototypes/fission/fi_crushed.lua
Normal file
|
@ -0,0 +1,57 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_crushed_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_crushed/fi_crushed_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_crushed_lithium_item',
|
||||
type = 'item',
|
||||
icon = sprite('lithium_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-b',
|
||||
order = 'a-d',
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_iron_item',
|
||||
type = 'item',
|
||||
icon = sprite('iron_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-b',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_copper_item',
|
||||
type = 'item',
|
||||
icon = sprite('copper_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-b',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_aluminum_item',
|
||||
type = 'item',
|
||||
icon = sprite('aluminum_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-b',
|
||||
order = 'a-c',
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_coal_item',
|
||||
type = 'item',
|
||||
icon = sprite('coal_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-b',
|
||||
order = 'a-f',
|
||||
},
|
||||
})
|
103
prototypes/fission/fi_crusher.lua
Normal file
103
prototypes/fission/fi_crusher.lua
Normal file
|
@ -0,0 +1,103 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_crusher_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_crusher/fi_crusher_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_crusher_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_crusher_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_c',
|
||||
order = 'a-c',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fi_crusher_entity',
|
||||
type = 'assembling-machine',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-1.4,-1.4},{1.4,1.4}},
|
||||
selection_box = {{-1.5,-1.5},{1.5,1.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fi_crusher_item',
|
||||
},
|
||||
crafting_categories = {'fi_crushing'},
|
||||
crafting_speed = 1,
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'secondary-input',
|
||||
--input_flow_limit = '4MW',
|
||||
},
|
||||
energy_usage = '1MW',
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
module_specification = {
|
||||
module_info_icon_shift = {
|
||||
0,
|
||||
0.8
|
||||
},
|
||||
module_slots = 2
|
||||
},
|
||||
--animation
|
||||
animation = {
|
||||
north = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
size = {480,448},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/electric-mining-drill.ogg'},
|
||||
apparent_volume = 2.7,
|
||||
},
|
||||
},
|
||||
})
|
54
prototypes/fission/fi_energy_crystal.lua
Normal file
54
prototypes/fission/fi_energy_crystal.lua
Normal file
|
@ -0,0 +1,54 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_energy_crystal_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_energy_crystal/fi_energy_crystal_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_energy_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 500,
|
||||
subgroup = 'fi_item_subgroup_b',
|
||||
order = 'a-c',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
fuel_category = 'chemical',
|
||||
fuel_acceleration_multiplier = 1,
|
||||
fuel_emissions_multiplier = 1,
|
||||
fuel_top_speed_multiplier = 1,
|
||||
fuel_value = '300MJ',
|
||||
},
|
||||
{
|
||||
name = 'fi_crushed_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('crushed_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-b',
|
||||
order = 'a-e',
|
||||
},
|
||||
{
|
||||
name = 'fi_catalyst_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('catalyst_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_f',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_base_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('base_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_f',
|
||||
order = 'a-c',
|
||||
},
|
||||
})
|
117
prototypes/fission/fi_equipment.lua
Normal file
117
prototypes/fission/fi_equipment.lua
Normal file
|
@ -0,0 +1,117 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_equipment_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_equipment/fi_equipment_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_train_equipment_generator_item',
|
||||
type = 'item',
|
||||
icon = sprite('generator_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_e',
|
||||
placed_as_equipment_result = 'fi_train_equipment_generator_item',
|
||||
order = 'a-a',
|
||||
},
|
||||
{
|
||||
name = 'fi_equipment_player_reactor_item',
|
||||
type = 'item',
|
||||
icon = sprite('player_reactor_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_e',
|
||||
placed_as_equipment_result = 'fi_equipment_player_reactor_item',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_equipment_player_shield_item',
|
||||
type = 'item',
|
||||
icon = sprite('player_shield_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_e',
|
||||
placed_as_equipment_result = 'fi_equipment_player_shield_item',
|
||||
order = 'a-c',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--equipment
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_train_equipment_generator_item',
|
||||
type = 'generator-equipment',
|
||||
power = '2400kW',
|
||||
categories = {'fi_train_equipment'},
|
||||
sprite = {
|
||||
filename = sprite('generator_entity.png'),
|
||||
width = 256,
|
||||
height = 256,
|
||||
priority = 'medium',
|
||||
},
|
||||
shape = {
|
||||
width = 3,
|
||||
height = 3,
|
||||
type = "full",
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-output',
|
||||
},
|
||||
|
||||
},
|
||||
{
|
||||
name = 'fi_equipment_player_reactor_item',
|
||||
type = 'generator-equipment',
|
||||
power = '600kW',
|
||||
categories = {'armor'},
|
||||
sprite = {
|
||||
filename = sprite('player_reactor_entity.png'),
|
||||
width = 256,
|
||||
height = 256,
|
||||
priority = 'medium',
|
||||
},
|
||||
shape = {
|
||||
width = 3,
|
||||
height = 3,
|
||||
type = "full",
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-output',
|
||||
},
|
||||
|
||||
},
|
||||
{
|
||||
name = 'fi_equipment_player_shield_item',
|
||||
type = 'energy-shield-equipment',
|
||||
energy_per_shield = '20kJ',
|
||||
max_shield_value = 400,
|
||||
categories = {'armor'},
|
||||
sprite = {
|
||||
filename = sprite('player_shield_entity.png'),
|
||||
width = 256,
|
||||
height = 256,
|
||||
priority = 'medium',
|
||||
},
|
||||
shape = {
|
||||
width = 3,
|
||||
height = 3,
|
||||
type = "full",
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
usage_priority = 'primary-input',
|
||||
input_flow_limit = "600kW",
|
||||
buffer_capacity = "300kJ",
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
})
|
180
prototypes/fission/fi_fuel.lua
Normal file
180
prototypes/fission/fi_fuel.lua
Normal file
|
@ -0,0 +1,180 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_fuel_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_fuel/fi_fuel_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
--u 235 + u 238
|
||||
name = 'fi_basic_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('basic_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
fuel_category = 'fi_basic_fuel',
|
||||
fuel_value = '10GJ',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
order = 'a-a',
|
||||
burnt_result = 'fi_used_basic_fuel_item',
|
||||
},
|
||||
{
|
||||
--u 238 + th 232
|
||||
name = 'fi_basic_thorium_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('basic_thorium_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
fuel_category = 'fi_basic_fuel',
|
||||
fuel_value = '6GJ',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
order = 'a-b',
|
||||
burnt_result = 'fi_used_basic_thorium_fuel_item',
|
||||
},
|
||||
{
|
||||
--u 238 + pu 239
|
||||
name = 'fi_advanced_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('advanced_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
fuel_category = 'fi_advanced_fuel',
|
||||
fuel_value = '14GJ',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
order = 'b-a',
|
||||
burnt_result = 'fi_used_advanced_fuel_item',
|
||||
},
|
||||
{
|
||||
--u 233 + u 238
|
||||
name = 'fi_advanced_thorium_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('advanced_thorium_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
fuel_category = 'fi_advanced_fuel',
|
||||
fuel_value = '10GJ',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
order = 'b-b',
|
||||
burnt_result = 'fi_used_advanced_thorium_fuel_item',
|
||||
},
|
||||
{
|
||||
--u 235 + pu 239
|
||||
name = 'fi_pure_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('pure_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
fuel_category = 'fi_pure_fuel',
|
||||
fuel_value = '28GJ',
|
||||
fuel_glow_color = {r=0.1,g=0.74,b=0.39,a=0.5},
|
||||
order = 'c-a',
|
||||
burnt_result = 'fi_used_pure_fuel_item',
|
||||
},
|
||||
{
|
||||
--used_basic
|
||||
name = 'fi_used_basic_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('used_basic_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
--used_basic_thorium
|
||||
name = 'fi_used_basic_thorium_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('used_basic_thorium_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
--used_advanced
|
||||
name = 'fi_used_advanced_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('used_advanced_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
--used_advanced_thorium
|
||||
name = 'fi_used_advanced_thorium_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('used_advanced_thorium_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
--used_pure
|
||||
name = 'fi_used_pure_fuel_item',
|
||||
type = 'item',
|
||||
icon = sprite('used_pure_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
order = 'c-a',
|
||||
},
|
||||
{
|
||||
--u33
|
||||
name = 'fi_uranium233_item',
|
||||
type = 'item',
|
||||
icon = sprite('uranium233_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_a',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
--pu239
|
||||
name = 'fi_plutonium239_item',
|
||||
type = 'item',
|
||||
icon = sprite('plutonium239_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_a',
|
||||
order = 'a-c',
|
||||
},
|
||||
{
|
||||
--th232
|
||||
name = 'fi_thorium232_item',
|
||||
type = 'item',
|
||||
icon = sprite('thorium232_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_a',
|
||||
order = 'a-a',
|
||||
},
|
||||
--train crystal fuel
|
||||
{
|
||||
name = 'fi_fuel_train_crystal_item',
|
||||
type = 'item',
|
||||
icon = sprite('train_crystal_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_d',
|
||||
order = 'd-a',
|
||||
fuel_acceleration_multiplier = 0.6,
|
||||
fuel_top_speed_multiplier = 1.55,
|
||||
fuel_category = 'el_train_fuel',
|
||||
fuel_emissions_multiplier = 3.5,
|
||||
fuel_value = '350MJ',
|
||||
},
|
||||
|
||||
|
||||
|
||||
})
|
32
prototypes/fission/fi_materials.lua
Normal file
32
prototypes/fission/fi_materials.lua
Normal file
|
@ -0,0 +1,32 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_materials_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_materials/fi_materials_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_industrial_steel_item',
|
||||
type = 'item',
|
||||
icon = sprite('industrial_steel_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_b',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_industrial_steel_blend_item',
|
||||
type = 'item',
|
||||
icon = sprite('industrial_steel_blend_item.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_a-c',
|
||||
order = 'a-a',
|
||||
},
|
||||
|
||||
|
||||
})
|
114
prototypes/fission/fi_miner.lua
Normal file
114
prototypes/fission/fi_miner.lua
Normal file
|
@ -0,0 +1,114 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_miner_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_miner/fi_miner_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_miner_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_miner_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_c',
|
||||
order = 'a-b',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fi_miner_entity',
|
||||
type = 'mining-drill',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-2.7,-1.3},{2.7,1.3}},
|
||||
selection_box = {{-3,-1.5},{3,1.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fi_miner_item',
|
||||
},
|
||||
energy_source = {
|
||||
type = 'burner',
|
||||
fuel_inventory_size = 3,
|
||||
burnt_inventory_size = 3,
|
||||
effectivity = 0.35,
|
||||
emissions_per_minute = 75,
|
||||
fuel_category = 'fi_basic_fuel'
|
||||
},
|
||||
energy_usage = '4MW',
|
||||
mining_speed = 4.5,
|
||||
resource_categories = {'basic-solid'},
|
||||
resource_searching_radius = 6,
|
||||
vector_to_place_result = {3.25,0},
|
||||
radius_visualisation_picture =
|
||||
{
|
||||
filename = "__base__/graphics/entity/beacon/beacon-radius-visualization.png",
|
||||
width = 10,
|
||||
height = 10,
|
||||
},
|
||||
allowed_effects = {"speed", "productivity", "consumption", "pollution"},
|
||||
module_specification = {
|
||||
module_info_icon_shift = {
|
||||
0,
|
||||
0.8
|
||||
},
|
||||
module_slots = 2
|
||||
},
|
||||
--animation
|
||||
animations = {
|
||||
north = {
|
||||
filename = sprite('entity_animation_vertikal.png'),
|
||||
size = {448*2,550},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.3},
|
||||
},
|
||||
east = {
|
||||
filename = sprite('entity_animation_horizontal.png'),
|
||||
size = {480,448*2},
|
||||
scale = 0.2,
|
||||
line_length = 10,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename = sprite('entity_animation_vertikal.png'),
|
||||
size = {448*2,550},
|
||||
scale = 0.2,
|
||||
line_length = 3,
|
||||
lines_per_file = 3,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
shift = {0,-0.3},
|
||||
},
|
||||
west = {
|
||||
filename = sprite('entity_animation_horizontal.png'),
|
||||
size = {480,448*2},
|
||||
scale = 0.2,
|
||||
line_length = 10,
|
||||
frame_count = 4,
|
||||
animation_speed = 0.5,
|
||||
},
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/electric-mining-drill.ogg'},
|
||||
apparent_volume = 3.2,
|
||||
},
|
||||
},
|
||||
})
|
155
prototypes/fission/fi_modules.lua
Normal file
155
prototypes/fission/fi_modules.lua
Normal file
|
@ -0,0 +1,155 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_modules_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_modules/fi_modules_'..name
|
||||
end
|
||||
|
||||
local limitation_list = {
|
||||
'el_aluminum_ore_recipe',
|
||||
'el_aluminum_item_recipe',
|
||||
'el_lithium_ore_recipe',
|
||||
'el_lithium_item_recipe',
|
||||
'el_train_fuel_diesel_recipe',
|
||||
'el_energy_crystal_recipe',
|
||||
'fi_compound_material_recipe',
|
||||
'fi_materials_industrial_steel_recipe',
|
||||
'fu_lead_ore_recipe',
|
||||
'fi_base_crystal_recipe',
|
||||
'fi_catalyst_crystal_recipe',
|
||||
'fi_energy_crystal_recipe'
|
||||
}
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_modules_productivity_1_item',
|
||||
type = 'module',
|
||||
icon = sprite('productivity_1.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_j',
|
||||
category = '248k_productivity_category',
|
||||
tier = 1,
|
||||
order = 'a-a',
|
||||
effect = {
|
||||
consumption = {bonus = 0.9},
|
||||
speed = {bonus = -0.2},
|
||||
productivity = {bonus = 0.08},
|
||||
pollution = {bonus = 0.3}
|
||||
},
|
||||
limitation = limitation_list,
|
||||
limitation_message_key = 'limitation_message',
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_2_item',
|
||||
type = 'module',
|
||||
icon = sprite('productivity_2.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_j',
|
||||
category = '248k_productivity_category',
|
||||
tier = 2,
|
||||
order = 'a-a',
|
||||
effect = {
|
||||
consumption = {bonus = 1.4},
|
||||
speed = {bonus = -0.35},
|
||||
productivity = {bonus = 0.12},
|
||||
pollution = {bonus = 0.6}
|
||||
},
|
||||
limitation = limitation_list,
|
||||
limitation_message_key = 'limitation_message',
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_3_item',
|
||||
type = 'module',
|
||||
icon = sprite('productivity_3.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_j',
|
||||
category = '248k_productivity_category',
|
||||
tier = 3,
|
||||
order = 'a-a',
|
||||
effect = {
|
||||
consumption = {bonus = 2.6},
|
||||
speed = {bonus = -0.6},
|
||||
productivity = {bonus = 0.20},
|
||||
pollution = {bonus = 0.9}
|
||||
},
|
||||
limitation = limitation_list,
|
||||
limitation_message_key = 'limitation_message',
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_4_item',
|
||||
type = 'module',
|
||||
icon = sprite('productivity_4.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'gr_item_subgroup_d',
|
||||
category = '248k_productivity_category',
|
||||
tier = 4,
|
||||
order = 'a-a',
|
||||
effect = {
|
||||
consumption = {bonus = 2},
|
||||
speed = {bonus = -0.5},
|
||||
productivity = {bonus = 0.05},
|
||||
pollution = {bonus = 1}
|
||||
},
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_5_item',
|
||||
type = 'module',
|
||||
icon = sprite('productivity_5.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'gr_item_subgroup_d',
|
||||
category = '248k_productivity_category',
|
||||
tier = 5,
|
||||
order = 'a-b',
|
||||
effect = {
|
||||
consumption = {bonus = 3},
|
||||
speed = {bonus = -0.7},
|
||||
productivity = {bonus = 0.1},
|
||||
pollution = {bonus = 1}
|
||||
},
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_productivity_6_item',
|
||||
type = 'module',
|
||||
icon = sprite('productivity_6.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'gr_item_subgroup_d',
|
||||
category = '248k_productivity_category',
|
||||
tier = 6,
|
||||
order = 'a-c',
|
||||
effect = {
|
||||
consumption = {bonus = 6},
|
||||
speed = {bonus = -0.9},
|
||||
productivity = {bonus = 0.25},
|
||||
pollution = {bonus = 1}
|
||||
},
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_base_item',
|
||||
type = 'item',
|
||||
icon = sprite('base.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_e',
|
||||
order = 'b-k',
|
||||
},
|
||||
{
|
||||
name = 'fi_modules_core_item',
|
||||
type = 'item',
|
||||
icon = sprite('core.png'),
|
||||
icon_size = 64,
|
||||
stack_size = 100,
|
||||
subgroup = 'fi_item_subgroup_e',
|
||||
order = 'b-x',
|
||||
},
|
||||
|
||||
|
||||
})
|
219
prototypes/fission/fi_robo.lua
Normal file
219
prototypes/fission/fi_robo.lua
Normal file
|
@ -0,0 +1,219 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_robo_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_robo/fi_robo_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_robo_port_item',
|
||||
type = 'item',
|
||||
icon = sprite('port_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_robo_port_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_c',
|
||||
order = 'a-b',
|
||||
},
|
||||
{
|
||||
name = 'fi_robo_charger_item',
|
||||
type = 'item',
|
||||
icon = sprite('charger_item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_robo_charger_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_c',
|
||||
order = 'a-b',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype port
|
||||
{
|
||||
name = 'fi_robo_port_entity',
|
||||
type = 'roboport',
|
||||
icon = sprite('port_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-1.4,-1.4},{1.4,1.4}},
|
||||
selection_box = {{-1.5,-1.5},{1.5,1.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fi_robo_port_item',
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
buffer_capacity = '400MJ',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '160MW',
|
||||
},
|
||||
energy_usage = '4MW',
|
||||
charge_approach_distance = 2,
|
||||
charging_energy = '2MW',
|
||||
recharge_minimum = '1MW',
|
||||
charging_station_count = 4,
|
||||
construction_radius = 70,
|
||||
logistics_radius = 70,
|
||||
material_slots_count = 10,
|
||||
robot_slots_count = 10,
|
||||
request_to_open_door_timeout = 15,
|
||||
spawn_and_station_height = 1.2,
|
||||
robots_shrink_when_entering_and_exiting = true,
|
||||
|
||||
base = {
|
||||
filename = sprite('port_base.png'),
|
||||
width = 600,
|
||||
height = 600,
|
||||
scale = 0.2,
|
||||
shift = {0,-0.3},
|
||||
},
|
||||
base_patch = {
|
||||
filename = sprite('port_base.png'),
|
||||
width = 64,
|
||||
height = 64,
|
||||
},
|
||||
base_animation = {
|
||||
filename = sprite('port_base.png'),
|
||||
width = 64,
|
||||
height = 1,
|
||||
line_length = 1,
|
||||
--lines_per_file = 1,
|
||||
animation_speed = 0.5,
|
||||
frame_count = 6,
|
||||
scale = 1,
|
||||
},
|
||||
door_animation_up = {
|
||||
filename = sprite('port_door_animation.png'),
|
||||
width = 600,
|
||||
height = 600,
|
||||
scale = 0.2,
|
||||
shift = {0,-0.3},
|
||||
line_length = 4,
|
||||
--lines_per_file = 1,
|
||||
animation_speed = 0.5,
|
||||
frame_count = 4,
|
||||
},
|
||||
door_animation_down = {
|
||||
filename = sprite('port_door_animation.png'),
|
||||
width = 600,
|
||||
height = 600,
|
||||
scale = 0.2,
|
||||
shift = {0,-0.3},
|
||||
line_length = 4,
|
||||
--lines_per_file = 1,
|
||||
animation_speed = 0.5,
|
||||
frame_count = 4,
|
||||
},
|
||||
recharging_animation = {
|
||||
filename = "__base__/graphics/entity/roboport/roboport-recharging.png",
|
||||
priority = "high",
|
||||
width = 37,
|
||||
height = 35,
|
||||
frame_count = 16,
|
||||
scale = 1.5,
|
||||
animation_speed = 0.5
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
--charger
|
||||
{
|
||||
name = 'fi_robo_charger_entity',
|
||||
type = 'roboport',
|
||||
icon = sprite('charger_entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-1.4,-1.4},{1.4,1.4}},
|
||||
selection_box = {{-1.5,-1.5},{1.5,1.5}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fi_robo_charger_item',
|
||||
},
|
||||
energy_source = {
|
||||
type = 'electric',
|
||||
buffer_capacity = '400MJ',
|
||||
usage_priority = 'secondary-input',
|
||||
input_flow_limit = '40MW',
|
||||
},
|
||||
energy_usage = '4MW',
|
||||
charge_approach_distance = 2,
|
||||
charging_energy = '6MW',
|
||||
recharge_minimum = '1MW',
|
||||
charging_station_count = 6,
|
||||
construction_radius = 1,
|
||||
logistics_radius = 1,
|
||||
material_slots_count = 0,
|
||||
robot_slots_count = 0,
|
||||
request_to_open_door_timeout = 4,
|
||||
spawn_and_station_height = 2,
|
||||
|
||||
base = {
|
||||
filename = sprite('charger_base_2.png'),
|
||||
width = 600,
|
||||
height = 600,
|
||||
scale = 0.2,
|
||||
shift = {0,-0.3},
|
||||
},
|
||||
base_patch = {
|
||||
filename = sprite('charger_base.png'),
|
||||
width = 64,
|
||||
height = 64,
|
||||
},
|
||||
base_animation = {
|
||||
filename = sprite('charger_animation_2.png'),
|
||||
width = 600,
|
||||
height = 600,
|
||||
line_length = 5,
|
||||
lines_per_file = 1,
|
||||
scale = 0.2,
|
||||
animation_speed = 0.3,
|
||||
frame_count = 5,
|
||||
shift = {0,-0.3},
|
||||
},
|
||||
door_animation_up = {
|
||||
filename = sprite('charger_base.png'),
|
||||
width = 64,
|
||||
height = 1,
|
||||
line_length = 1,
|
||||
--lines_per_file = 1,
|
||||
animation_speed = 0.5,
|
||||
frame_count = 6,
|
||||
scale = 1,
|
||||
},
|
||||
door_animation_down = {
|
||||
filename = sprite('charger_base.png'),
|
||||
width = 64,
|
||||
height = 1,
|
||||
line_length = 1,
|
||||
--lines_per_file = 1,
|
||||
animation_speed = 0.5,
|
||||
frame_count = 6,
|
||||
scale = 1,
|
||||
},
|
||||
recharging_animation = {
|
||||
filename = "__base__/graphics/entity/roboport/roboport-recharging.png",
|
||||
priority = "high",
|
||||
width = 37,
|
||||
height = 35,
|
||||
frame_count = 16,
|
||||
scale = 1.5,
|
||||
animation_speed = 0.5
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
})
|
99
prototypes/fission/fi_solid_reactor.lua
Normal file
99
prototypes/fission/fi_solid_reactor.lua
Normal file
|
@ -0,0 +1,99 @@
|
|||
--local functions
|
||||
local function config(name)
|
||||
return settings.startup['fi_solid_reactor_'..name].value
|
||||
end
|
||||
|
||||
local function sprite(name)
|
||||
return '__248k__/ressources/fission/fi_solid_reactor/fi_solid_reactor_'..name
|
||||
end
|
||||
|
||||
--item
|
||||
data:extend({
|
||||
{
|
||||
name = 'fi_solid_reactor_item',
|
||||
type = 'item',
|
||||
icon = sprite('item.png'),
|
||||
icon_size = 64,
|
||||
place_result = 'fi_solid_reactor_entity',
|
||||
stack_size = 20,
|
||||
subgroup = 'fi_item_subgroup_c',
|
||||
order = 'b-a',
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--entity
|
||||
data:extend({
|
||||
--prototype
|
||||
{
|
||||
name = 'fi_solid_reactor_entity',
|
||||
type = 'reactor',
|
||||
icon = sprite('entity_icon.png'),
|
||||
icon_size = 64,
|
||||
flags = {"player-creation","placeable-neutral"},
|
||||
max_health = 300,
|
||||
corpse = 'big-remnants',
|
||||
collision_box = {{-2.7,-2.7},{2.7,2.7}},
|
||||
selection_box = {{-3.0,-3.0},{3.0,3.0}},
|
||||
map_color = {r=0, g=0, b=1, a=1},
|
||||
minable = {
|
||||
mining_time = 1,
|
||||
result = 'fi_solid_reactor_item',
|
||||
},
|
||||
consumption = '60MW',
|
||||
neighbour_bonus = 2,
|
||||
energy_source = {
|
||||
type = 'burner',
|
||||
fuel_inventory_size = 3,
|
||||
burnt_inventory_size = 3,
|
||||
effectivity = 0.9,
|
||||
fuel_categories = {
|
||||
'fi_basic_fuel',
|
||||
'fi_advanced_fuel',
|
||||
'fi_pure_fuel'
|
||||
}
|
||||
},
|
||||
heat_buffer = {
|
||||
max_temperature = 1000,
|
||||
specific_heat = '10MJ',
|
||||
max_transfer = '10GW',
|
||||
connections = {
|
||||
{position = {0.5,-3}, direction = defines.direction.north},
|
||||
{position = {-0.5,-3}, direction = defines.direction.north},
|
||||
|
||||
{position = {2.9,0.5}, direction = defines.direction.east},
|
||||
{position = {2.9,-0.5}, direction = defines.direction.east},
|
||||
|
||||
{position = {-3,0.5}, direction = defines.direction.west},
|
||||
{position = {-3,-0.5}, direction = defines.direction.west},
|
||||
|
||||
{position = {0.5,2.9}, direction = defines.direction.south},
|
||||
{position = {-0.5,2.9}, direction = defines.direction.south}
|
||||
}
|
||||
},
|
||||
picture = {
|
||||
filename = sprite('entity_animation.png'),
|
||||
width = 960,
|
||||
height = 960,
|
||||
shift = {0, 0},
|
||||
scale = 0.2,
|
||||
},
|
||||
working_light_picture ={
|
||||
filename = sprite('working_light.png'),
|
||||
width = 960,
|
||||
height = 960,
|
||||
shift = {0, 0},
|
||||
scale = 0.2,
|
||||
},
|
||||
light = {
|
||||
type = 'basic',
|
||||
intensity = 0.4,
|
||||
size = 14,
|
||||
color = {r=0.1,g=0.5,b=0.75}
|
||||
},
|
||||
working_sound = {
|
||||
sound = { filename ='__base__/sound/nuclear-reactor-1.ogg'},
|
||||
apparent_volume = 2.5,
|
||||
},
|
||||
},
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue