Major changes to machines and some recipe updates.

This commit is contained in:
Adamo 2023-12-19 23:38:13 -05:00
parent 0e1559db90
commit 7600d54c16
Signed by: Otho
GPG Key ID: 41B5569B22EAAA7A
4 changed files with 65 additions and 195 deletions

View File

@ -66,8 +66,10 @@ catalyst_names = {
} }
function manufacturing_needed_for(ingredient) function manufacturing_needed_for(ingredient)
if type(ingredient) ~= "table" then return false end local itemname = ingredient
local itemname = ingredient.name or ingredient[1] if type(itemname) == "table" then
itemname = ingredient.name or ingredient[1]
end
for _,matchname in pairs(manufacturing_names) do for _,matchname in pairs(manufacturing_names) do
if itemname:match(matchname) if itemname:match(matchname)
or itemname == matchname then or itemname == matchname then
@ -320,8 +322,9 @@ fluoride_battery_recipe.name =
"adamo-chemical-fluoride-battery" "adamo-chemical-fluoride-battery"
fluoride_battery_recipe.normal.result_count = 1 fluoride_battery_recipe.normal.result_count = 1
fluoride_battery_recipe.normal.ingredients = {{ fluoride_battery_recipe.normal.ingredients = {{
name = "copper-plate", type = "item", "copper-plate",1
amount = 1, catalyst_amount = 0 },{
"iron-plate", 1
},{ },{
"adamo-chemical-calcite",1 "adamo-chemical-calcite",1
},{ },{
@ -333,8 +336,9 @@ fluoride_battery_recipe.normal.ingredients = {{
}} }}
fluoride_battery_recipe.expensive.result_count = 1 fluoride_battery_recipe.expensive.result_count = 1
fluoride_battery_recipe.expensive.ingredients = {{ fluoride_battery_recipe.expensive.ingredients = {{
name = "copper-plate", type = "item", "copper-plate",2
amount = 2, catalyst_amount = 0 },{
"iron-plate", 2
},{ },{
"adamo-chemical-calcite",2 "adamo-chemical-calcite",2
},{ },{
@ -374,11 +378,11 @@ data:extend({
fluoride_battery_recipe, fluoride_battery_recipe,
fluorite_science_pack fluorite_science_pack
}) })
add_recipe_to_tech( adamo.tech.add.recipe(
"advanced-electronics-2", "advanced-electronics-2",
processing_unit_from_hf_recipe.name processing_unit_from_hf_recipe.name
) )
add_recipes_to_tech( adamo.tech.add.recipes(
"adamo-chemical-fluorine-processing", "adamo-chemical-fluorine-processing",
{ {
fluoride_battery_recipe.name, fluoride_battery_recipe.name,
@ -386,7 +390,7 @@ add_recipes_to_tech(
} }
) )
set_productivity_recipes({ adamo.recipes.set.productivity({
fluoride_battery_recipe.name, fluoride_battery_recipe.name,
processing_unit_from_hf_recipe.name, processing_unit_from_hf_recipe.name,
fluorite_science_pack.name fluorite_science_pack.name
@ -412,18 +416,16 @@ for _,recipe in pairs(data.raw.recipe) do
and has_ingredients(recipe) and has_results(recipe) then and has_ingredients(recipe) and has_results(recipe) then
local calcined_recipe = calcinate_recipe(recipe) local calcined_recipe = calcinate_recipe(recipe)
if calcined_recipe then if calcined_recipe then
mirror_recipe_in_techs( adamo.recipe.mirror.techs(recipe,calcined_recipe)
recipe, if adamo.recipe.test.productivity(recipe) then
calcined_recipe adamo.recipe.set.productivity(calcined_recipe)
)
if is_productivity_recipe(recipe) then
set_productivity_recipe(calcined_recipe)
end end
data:extend({calcined_recipe}) data:extend({calcined_recipe})
end end
end end
if is_chem_category(category) if is_chem_category(category)
and has_ingredients(recipe) and has_results(recipe) then and has_ingredients(recipe) and has_results(recipe) then
local plate_count = 0
for k,ingredient for k,ingredient
in pairs( in pairs(
recipe.ingredients recipe.ingredients
@ -435,7 +437,7 @@ for _,recipe in pairs(data.raw.recipe) do
uses_manufacturing = true uses_manufacturing = true
end end
if is_plate(ingredient) then if is_plate(ingredient) then
uses_plates = true plate_count = plate_count + 1
end end
if is_catalyst(ingredient) then if is_catalyst(ingredient) then
catalyst_inputs = catalyst_inputs + 1 catalyst_inputs = catalyst_inputs + 1
@ -452,6 +454,7 @@ for _,recipe in pairs(data.raw.recipe) do
fluid_input_count = fluid_input_count + 1 fluid_input_count = fluid_input_count + 1
end end
end end
if plate_count > 1 then uses_manufacturing = true end
if type(recipe.results) == "table" if type(recipe.results) == "table"
or ( or (
recipe.expensive recipe.expensive
@ -546,10 +549,10 @@ for _,recipe in pairs(data.raw.recipe) do
end end
new_recipe.localised_name = string.gsub(new_category,"adamo%-chemical%-","Chemical ") new_recipe.localised_name = string.gsub(new_category,"adamo%-chemical%-","Chemical ")
data:extend({new_recipe}) data:extend({new_recipe})
if is_productivity_recipe(recipe) then if adamo.recipe.test.productivity(recipe) then
set_productivity_recipe(new_recipe) adamo.recipe.set.productivity(new_recipe)
end end
mirror_recipe_in_techs(recipe,new_recipe) adamo.recipe.mirror.techs(recipe,new_recipe)
end end
end end
end end
@ -587,9 +590,9 @@ if data.raw["recipe-category"]["screening"] then
end end
end end
data:extend({screen_recipe}) data:extend({screen_recipe})
mirror_recipe_in_techs(recipe,screen_recipe) adamo.recipe.mirror.techs(recipe,screen_recipe)
if is_productivity_recipe(recipe) then if adamo.recipe.test.productivity(recipe) then
set_productivity_recipe(screen_recipe) adamo.recipe.set.productivity(screen_recipe)
end end
end end
end end

View File

@ -33,7 +33,7 @@ table.insert(
"adamo-chemical-manufacturing" "adamo-chemical-manufacturing"
) )
data.raw["assembling-machine"].centrifuge.fluid_boxes = centrifuge_fluid_boxes() adamo.apply.centrifuge()
add_string_to_table( add_string_to_table(
data.raw["assembling-machine"].centrifuge.crafting_categories, data.raw["assembling-machine"].centrifuge.crafting_categories,
"adamo-chemical-separation" "adamo-chemical-separation"
@ -95,5 +95,5 @@ if data.raw["assembling-machine"][kiln_name] then
) )
end end
move_recipe_to_tech("advanced-material-processing-2","centrifuge") adamo.tech.add.recipe("advanced-material-processing-2","centrifuge")
add_prereq_to_tech("uranium-processing","advanced-material-processing-2") adamo.tech.add.prereq("uranium-processing","advanced-material-processing-2")

View File

@ -143,6 +143,8 @@ data:extend({
fluorine_processing_tech, fluorine_processing_tech,
}) })
adamo.tech.add.prereq("advanced-material-processing-2","adamo-chemical-fluorine-processing")
local calcite_item = { local calcite_item = {
type = "item", type = "item",
name = "adamo-chemical-calcite", name = "adamo-chemical-calcite",
@ -234,8 +236,8 @@ local hydrofluoric_acid_fluid = {
order = "a[fluid]-g1[adamo-chemical-hydrofluoric-acid]", order = "a[fluid]-g1[adamo-chemical-hydrofluoric-acid]",
icon = "__adamo-chemical__/graphics/icons/hydrofluoride.png", icon = "__adamo-chemical__/graphics/icons/hydrofluoride.png",
icon_size = 32, icon_size = 32,
base_color = colors.hf_base, base_color = adamo.colors.hf_base,
flow_color = colors.hf_flow, flow_color = adamo.colors.hf_flow,
default_temperature = 25, default_temperature = 25,
max_temperature = 100, max_temperature = 100,
heat_capacity = "0.1KJ", heat_capacity = "0.1KJ",
@ -276,9 +278,9 @@ local calcite_recipe = {
}}, }},
--crafting_machine_tint = { --crafting_machine_tint = {
-- primary = data.raw.fluid["sulfuric-acid"].base_color, -- primary = data.raw.fluid["sulfuric-acid"].base_color,
-- secondary = colors.highgrey, -- secondary = adamo.colors.highgrey,
-- tertiary = data.raw.fluid.water.flow_color, -- tertiary = data.raw.fluid.water.flow_color,
-- quaternary = colors.midgrey -- quaternary = adamo.colors.midgrey
--}, --},
} }
adamo.recipe.tint.apply(calcite_recipe) adamo.recipe.tint.apply(calcite_recipe)
@ -309,7 +311,7 @@ local gypsum_recipe = {
amount = 5 amount = 5
}}, }},
--crafting_machine_tint = { --crafting_machine_tint = {
-- primary = colors.midgrey, -- primary = adamo.colors.midgrey,
-- secondary = data.raw.fluid["sulfuric-acid"].base_color, -- secondary = data.raw.fluid["sulfuric-acid"].base_color,
-- tertiary = data.raw.fluid["sulfuric-acid"].flow_color, -- tertiary = data.raw.fluid["sulfuric-acid"].flow_color,
-- quaternary = data.raw.fluid.water.flow_color -- quaternary = data.raw.fluid.water.flow_color
@ -350,8 +352,8 @@ local hydrofluoric_acid_recipe = {
main_product = "adamo-chemical-hydrofluoric-acid", main_product = "adamo-chemical-hydrofluoric-acid",
requester_paste_multiplier = 4, requester_paste_multiplier = 4,
--crafting_machine_tint = { --crafting_machine_tint = {
-- primary = colors.hf_base, -- primary = adamo.colors.hf_base,
-- secondary = colors.midgrey, -- secondary = adamo.colors.midgrey,
-- tertiary = data.raw.fluid["sulfuric-acid"].flow_color, -- tertiary = data.raw.fluid["sulfuric-acid"].flow_color,
-- quaternary = data.raw.fluid.water.flow_color, -- quaternary = data.raw.fluid.water.flow_color,
--}, --},
@ -513,10 +515,10 @@ local basic_froth_flotation_recipe = {
amount = water_input_count amount = water_input_count
}}, }},
crafting_machine_tint = { crafting_machine_tint = {
primary = colors.softgreen, primary = adamo.colors.softgreen,
secondary = data.raw.fluid.water.base_color, secondary = data.raw.fluid.water.base_color,
tertiary = data.raw.fluid.water.flow_color, tertiary = data.raw.fluid.water.flow_color,
quaternary = colors.highbrown, quaternary = adamo.colors.highbrown,
}, },
} }
local advanced_froth_flotation_recipe = { local advanced_froth_flotation_recipe = {
@ -542,10 +544,10 @@ local advanced_froth_flotation_recipe = {
amount = water_input_count amount = water_input_count
}}, }},
crafting_machine_tint = { crafting_machine_tint = {
primary = colors.softgreen, primary = adamo.colors.softgreen,
secondary = data.raw.fluid.water.base_color, secondary = data.raw.fluid.water.base_color,
tertiary = data.raw.fluid.water.flow_color, tertiary = data.raw.fluid.water.flow_color,
quaternary = colors.highbrown, quaternary = adamo.colors.highbrown,
}, },
} }
if found_sisiquartz then if found_sisiquartz then
@ -732,7 +734,7 @@ add_recipes_to_tech(
} }
) )
set_productivity_recipes({ adamo.recipes.set.productivity({
"adamo-chemical-clinker", "adamo-chemical-clinker",
"adamo-chemical-clinker-with-fluorite", "adamo-chemical-clinker-with-fluorite",
"adamo-chemical-limestone-brick", "adamo-chemical-limestone-brick",

View File

@ -1,140 +1,12 @@
local vesselpipecovers = function() require("animations")
return {
east = {
filename = "__adamo-chemical__/graphics/connections/pipe-cover-east-medium.png",
priority = "extra-high",
width = 128,
height = 128,
scale = 0.5
},
west = {
filename = "__adamo-chemical__/graphics/connections/pipe-cover-west-medium.png",
priority = "extra-high",
width = 128,
height = 128,
scale = 0.5
},
north = {
filename = "__adamo-chemical__/graphics/connections/pipe-cover-north-medium.png",
priority = "extra-high",
width = 128,
height = 128,
scale = 0.5,
},
south = {
filename = "__adamo-chemical__/graphics/connections/pipe-cover-south-medium.png",
priority = "extra-high",
width = 128,
height = 128,
scale = 0.5,
},
}
end
local vessel_layers = function()
return {{
filename = "__adamo-chemical__/graphics/entity/process-vessel.png",
width = 160,
height = 220,
frame_count = 1,
shift = util.by_pixel(0, -23)
},{
filename = "__adamo-chemical__/graphics/entity/process-vessel-shadow.png",
width = 274,
height = 220,
frame_count = 1,
draw_as_shadow = true,
shift = util.by_pixel(58, -26)
}}
end
local vessel_escaping_pressure_layer = function ()
return {
north_position = util.by_pixel(16, 11),
west_position = util.by_pixel(16, 11),
south_position = util.by_pixel(16, 11),
east_position = util.by_pixel(16, 11),
constant_speed = true,
animation = {
filename = "__adamo-chemical__/graphics/entity/process-vessel-anim.png",
frame_count = 40,
line_length = 10,
width = 128,
height = 96,
animation_speed = 0.8
}
}
end
local blast_furnace_layers = function(size,speed)
local size = number_or_one(size)
local speed = number_or_one(speed)
return {{
filename = "__adamo-chemical__/graphics/entity/hr-blast-furnace.png",
priority = "extra-high",
width = 200,
height = 221,
scale = 0.5*size,
shift = util.by_pixel(
size*0,
size*0
),
},{
filename = "__base__/graphics/entity/stone-furnace/hr-stone-furnace-shadow.png",
priority = "extra-high",
line_length = 8,
width = 164,
height = 74,
scale = 0.5*size,
frame_count = 1,
shift = util.by_pixel(
size*42,
size*16
),
draw_as_shadow = true,
},{
filename = "__base__/graphics/entity/boiler/hr-boiler-N-shadow.png",
priority = "extra-high",
width = 274,
height = 164,
scale = 0.3*size,
shift = util.by_pixel(
size*26,
size*6
),
draw_as_shadow = true
}}
end
local blast_furnace_fire = function(size,speed)
local size = number_or_one(size)
local speed = number_or_one(speed)
local depth_scale = 0.85
return {
filename = "__base__/graphics/entity/stone-furnace/hr-stone-furnace-fire.png",
priority = "extra-high",
animation_speed = speed,
scale = 0.5*depth_scale*size,
line_length = 8,
width = 41,
height = 100,
frame_count = 48,
axially_symmetrical = false,
direction_count = 1,
shift = util.by_pixel(
0/size,
-10/size
),
}
end
local furnace_recipe = { local furnace_recipe = {
type = "recipe", type = "recipe",
name = "adamo-blast-furnace", name = "adamo-blast-furnace",
energy_required = 2, energy_required = 3,
enabled = false, enabled = false,
ingredients = { ingredients = {
{"stone-furnace", 1}, {"stone-furnace", 1},
{"steel-plate", 3}, {"steel-plate", 4},
{"pipe", 1}, {"pipe", 1},
}, },
results = { results = {
@ -162,11 +34,12 @@ local furnace_entity = {
flags = {"placeable-neutral", "player-creation"}, flags = {"placeable-neutral", "player-creation"},
minable = { minable = {
hardness = 0.2, hardness = 0.2,
mining_time = 1, mining_time = 0.2,
result = "adamo-blast-furnace" result = "adamo-blast-furnace"
}, },
fast_replaceable_group = "furnace",
module_specification = { module_specification = {
module_slots = 3 module_slots = 2
}, },
allowed_effects = { allowed_effects = {
"consumption", "consumption",
@ -230,15 +103,14 @@ add_recipe_to_tech(
local process_vessel_recipe = { local process_vessel_recipe = {
type = "recipe", type = "recipe",
name = "adamo-chemical-process-vessel", name = "adamo-chemical-process-vessel",
energy_required = 5, energy_required = 8,
enabled = false, enabled = false,
ingredients = { ingredients = {
{"concrete", 50}, {"refined-concrete", 200},
{"pump",10}, {"steel-plate", 200},
{"electronic-circuit",20}, {"advanced-circuit",100},
{"advanced-circuit",20}, {"pipe", 100},
{"pipe", 20}, {"pump",10}
{"steel-plate", 50}
}, },
results = {{"adamo-chemical-process-vessel", 1}}, results = {{"adamo-chemical-process-vessel", 1}},
} }
@ -264,18 +136,16 @@ local process_vessel_entity = {
icon_size = 32, icon_size = 32,
flags = {"placeable-neutral", "player-creation"}, flags = {"placeable-neutral", "player-creation"},
minable = { minable = {
mining_time = 3, mining_time = 0.5,
result = "adamo-chemical-process-vessel" result = "adamo-chemical-process-vessel"
}, },
fast_replaceable_group = "assembling-machine", fast_replaceable_group = "process-vessel",
max_health = chemplant.max_health*2.5, max_health = chemplant.max_health*2.5,
corpse = "medium-remnants", corpse = "big-scorchmark",
dying_explosion = "big-explosion", dying_explosion = "massive-explosion",
collision_box = {{-2.4, -2.4}, {2.4, 2.4}}, collision_box = {{-2.4, -2.4}, {2.4, 2.4}},
selection_box = {{-2.5, -2.5}, {2.5, 2.5}}, selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
module_specification = { module_specification = {module_slots = 5},
module_slots = 5
},
allowed_effects = { allowed_effects = {
"consumption", "consumption",
"speed", "speed",
@ -292,21 +162,16 @@ local process_vessel_entity = {
"adamo-chemical-activation", "adamo-chemical-activation",
"adamo-chemical-disassociation" "adamo-chemical-disassociation"
}, },
result_inventory_size = 0,
crafting_speed = chemplant.crafting_speed*3, crafting_speed = chemplant.crafting_speed*3,
energy_source = { energy_source = {
type = "electric", type = "electric",
usage_priority = "secondary-input", usage_priority = "secondary-input",
emissions_per_minute = chemplant.energy_source.emissions_per_minute*2, emissions_per_minute = chemplant.energy_source.emissions_per_minute*3,
}, },
energy_usage = energy_mult(chemplant.energy_usage,3.5), energy_usage = energy_mult(chemplant.energy_usage,4),
ingredient_count = 4, ingredient_count = 4,
animation = { animation = {layers = vessel_layers()},
layers = vessel_layers() working_visualisations = {vessel_escaping_pressure_layer()},
},
working_visualisations = {
vessel_escaping_pressure_layer()
},
fluid_boxes = {{ fluid_boxes = {{
production_type = "input", production_type = "input",
base_level = -1, base_level = -1,
@ -407,7 +272,7 @@ if data.raw.technology["advanced-material-processing-3"] then
) )
else else
add_recipe_to_tech( add_recipe_to_tech(
"logistics-3", "automation-3",
"adamo-chemical-process-vessel" "adamo-chemical-process-vessel"
) )
end end