mirror of
https://asciireactor.com/factorio/adamo-chemical.git
synced 2024-11-21 12:35:08 +00:00
279 lines
6.6 KiB
Lua
279 lines
6.6 KiB
Lua
require("animations")
|
|
local furnace_recipe = {
|
|
type = "recipe",
|
|
name = "adamo-blast-furnace",
|
|
energy_required = 3,
|
|
enabled = false,
|
|
ingredients = {
|
|
{"stone-furnace", 1},
|
|
{"steel-plate", 4},
|
|
{"pipe", 1},
|
|
},
|
|
results = {
|
|
{"adamo-blast-furnace", 1}
|
|
}
|
|
}
|
|
local furnace_item = {
|
|
type = "item",
|
|
name = "adamo-blast-furnace",
|
|
icon = "__adamo-chemical__/graphics/icons/blast-furnace.png",
|
|
icon_size = 32,
|
|
flags = {},
|
|
subgroup = "adamo-chemical-production-machine",
|
|
order = "c[adamo-blast-furnace]",
|
|
place_result = "adamo-blast-furnace",
|
|
stack_size = 50
|
|
}
|
|
local furnace_entity = {
|
|
type = "assembling-machine",
|
|
name = "adamo-blast-furnace",
|
|
gui_title_key = "adamo-blast-furnace",
|
|
has_backer_name = true,
|
|
icon = "__adamo-chemical__/graphics/icons/blast-furnace.png",
|
|
icon_size = 32,
|
|
flags = {"placeable-neutral", "player-creation"},
|
|
minable = {
|
|
hardness = 0.2,
|
|
mining_time = 0.2,
|
|
result = "adamo-blast-furnace"
|
|
},
|
|
fast_replaceable_group = "furnace",
|
|
module_specification = {
|
|
module_slots = 2
|
|
},
|
|
allowed_effects = {
|
|
"consumption",
|
|
"speed",
|
|
"productivity",
|
|
"pollution"
|
|
},
|
|
max_health = 250,
|
|
corpse = "medium-remnants",
|
|
vehicle_impact_sound = {
|
|
filename = "__base__/sound/car-metal-impact.ogg",
|
|
volume = 0.65
|
|
},
|
|
resistances = {
|
|
{ type = "fire", percent = 100 },
|
|
{ type = "explosion", percent = 30 },
|
|
{ type = "impact", percent = 50 }
|
|
},
|
|
selection_box = {{-1,-1}, {1,1}},
|
|
collision_box = {{-0.99, -0.99}, {0.99, 0.99}},
|
|
crafting_speed = data.raw.furnace["steel-furnace"].crafting_speed,
|
|
crafting_categories = {"smelting", "adamo-chemical-firing"},
|
|
energy_usage = data.raw.furnace["steel-furnace"].energy_usage,
|
|
energy_source = {
|
|
type = "burner",
|
|
fuel_category = "chemical",
|
|
fuel_inventory_size = 1,
|
|
emissions_per_minute = data.raw.furnace["steel-furnace"].energy_source.emissions_per_minute,
|
|
smoke = {{
|
|
name = "smoke",
|
|
position = {-0.725,-1.275},
|
|
frequency = 10,
|
|
starting_vertical_speed = 0.12,
|
|
deviation = {0.025,0.05}
|
|
}}
|
|
},
|
|
animation = {
|
|
layers = blast_furnace_layers()
|
|
},
|
|
working_visualisations = {{
|
|
animation = blast_furnace_fire()
|
|
}},
|
|
working_sound = {
|
|
sound = {
|
|
filename = "__base__/sound/furnace.ogg",
|
|
volume = 1.6
|
|
},
|
|
max_sounds_per_type = 3
|
|
}
|
|
}
|
|
data:extend({
|
|
furnace_recipe,
|
|
furnace_item,
|
|
furnace_entity
|
|
})
|
|
add_recipe_to_tech(
|
|
"advanced-material-processing",
|
|
"adamo-blast-furnace"
|
|
)
|
|
|
|
local process_vessel_recipe = {
|
|
type = "recipe",
|
|
name = "adamo-chemical-process-vessel",
|
|
energy_required = 8,
|
|
enabled = false,
|
|
ingredients = {
|
|
{"refined-concrete", 200},
|
|
{"steel-plate", 200},
|
|
{"advanced-circuit",100},
|
|
{"pipe", 100},
|
|
{"pump",10}
|
|
},
|
|
results = {{"adamo-chemical-process-vessel", 1}},
|
|
}
|
|
local process_vessel_item = {
|
|
type = "item",
|
|
name = "adamo-chemical-process-vessel",
|
|
icon = "__adamo-chemical__/graphics/icons/process-vessel.png",
|
|
icon_size = 32,
|
|
flags = {},
|
|
subgroup = "adamo-chemical-production-machine",
|
|
order = "g[adamo-chemical-process-vessel]",
|
|
place_result = "adamo-chemical-process-vessel",
|
|
stack_size = 10
|
|
}
|
|
local chemplant = data.raw["assembling-machine"]["chemical-plant"]
|
|
local process_vessel_entity = {
|
|
type = "assembling-machine",
|
|
name = "adamo-chemical-process-vessel",
|
|
gui_title_key = "adamo-chemical-process-vessel",
|
|
has_backer_name = true,
|
|
scale_entity_info_icon = true,
|
|
icon = "__adamo-chemical__/graphics/icons/process-vessel.png",
|
|
icon_size = 32,
|
|
flags = {"placeable-neutral", "player-creation"},
|
|
minable = {
|
|
mining_time = 0.5,
|
|
result = "adamo-chemical-process-vessel"
|
|
},
|
|
fast_replaceable_group = "process-vessel",
|
|
max_health = chemplant.max_health*2.5,
|
|
corpse = "big-scorchmark",
|
|
dying_explosion = "massive-explosion",
|
|
collision_box = {{-2.4, -2.4}, {2.4, 2.4}},
|
|
selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
|
|
module_specification = {module_slots = 5},
|
|
allowed_effects = {
|
|
"consumption",
|
|
"speed",
|
|
"productivity",
|
|
"pollution"
|
|
},
|
|
crafting_categories = {
|
|
"adamo-chemical-hydrolysis",
|
|
"adamo-chemical-displacement",
|
|
"adamo-chemical-heating",
|
|
"adamo-chemical-deposition",
|
|
"adamo-chemical-decomposition",
|
|
"adamo-chemical-recovery",
|
|
"adamo-chemical-activation",
|
|
"adamo-chemical-disassociation"
|
|
},
|
|
crafting_speed = chemplant.crafting_speed*3,
|
|
energy_source = {
|
|
type = "electric",
|
|
usage_priority = "secondary-input",
|
|
emissions_per_minute = chemplant.energy_source.emissions_per_minute*3,
|
|
},
|
|
energy_usage = energy_mult(chemplant.energy_usage,4),
|
|
ingredient_count = 4,
|
|
animation = {layers = vessel_layers()},
|
|
working_visualisations = {vessel_escaping_pressure_layer()},
|
|
fluid_boxes = {{
|
|
production_type = "input",
|
|
base_level = -1,
|
|
height = 1,
|
|
pipe_covers = vesselpipecovers(),
|
|
pipe_connections = {{
|
|
type = "input",
|
|
base_area = 10,
|
|
position = {-1.0,3.0}
|
|
}}
|
|
},{
|
|
production_type = "input",
|
|
base_level = -1,
|
|
height = 1,
|
|
pipe_covers = vesselpipecovers(),
|
|
pipe_connections = {{
|
|
type = "input",
|
|
base_area = 10,
|
|
position = {1.0,-3.0}
|
|
}}
|
|
},{
|
|
production_type = "input",
|
|
base_level = -1,
|
|
height = 1,
|
|
pipe_covers = vesselpipecovers(),
|
|
pipe_connections = {{
|
|
type = "input",
|
|
base_area = 10,
|
|
position = {3.0, 1.0}
|
|
}}
|
|
},{
|
|
production_type = "input",
|
|
base_level = -1,
|
|
height = 1,
|
|
pipe_covers = vesselpipecovers(),
|
|
pipe_connections = {{
|
|
type = "input",
|
|
base_area = 10,
|
|
position = {-3.0,-1.0}
|
|
}}
|
|
},{
|
|
production_type = "output",
|
|
base_level = 1,
|
|
pipe_covers = vesselpipecovers(),
|
|
pipe_connections = {
|
|
{position = {-3.0, 2.0}},
|
|
}
|
|
},{
|
|
production_type = "output",
|
|
base_level = 1,
|
|
pipe_covers = vesselpipecovers(),
|
|
pipe_connections = {
|
|
{position = {3.0, -2.0}},
|
|
}
|
|
},{
|
|
production_type = "output",
|
|
base_level = 1,
|
|
pipe_covers = vesselpipecovers(),
|
|
pipe_connections = {
|
|
{position = {2.0, 3.0}},
|
|
}
|
|
},{
|
|
production_type = "output",
|
|
base_level = 1,
|
|
pipe_covers = vesselpipecovers(),
|
|
pipe_connections = {
|
|
{position = {-2.0, -3.0}},
|
|
}
|
|
}
|
|
},
|
|
vehicle_impact_sound = {
|
|
filename = "__base__/sound/car-metal-impact.ogg",
|
|
volume = 0.65
|
|
},
|
|
working_sound = {
|
|
sound = {
|
|
filename =
|
|
"__adamo-chemical__/sounds/process-vessel.ogg",
|
|
volume = 0.6
|
|
},
|
|
idle_sound = {
|
|
filename =
|
|
"__adamo-chemical__/sounds/process-vessel.ogg",
|
|
volume = 0.1
|
|
},
|
|
apparent_volume = 2.5
|
|
}
|
|
}
|
|
data:extend({
|
|
process_vessel_recipe,
|
|
process_vessel_item,
|
|
process_vessel_entity
|
|
})
|
|
if data.raw.technology["advanced-material-processing-3"] then
|
|
add_recipe_to_tech(
|
|
"advanced-material-processing-3",
|
|
"adamo-chemical-process-vessel"
|
|
)
|
|
else
|
|
add_recipe_to_tech(
|
|
"automation-3",
|
|
"adamo-chemical-process-vessel"
|
|
)
|
|
end
|