released 0.3.0

This commit is contained in:
Adamo 2020-09-29 02:57:47 -04:00
parent 8246d6ee0c
commit a98422936a
5 changed files with 82 additions and 66 deletions

View File

@ -1,10 +1,14 @@
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 0.3.0 Version: 0.3.0
Date: 2020-09-12 Date: 2020-09-29
Recipes: Recipes:
- Upgraded geological calculations to a more robust system. - Upgraded geological calculations to a more robust system.
- Rederived all chemical ratios. - Rederived all chemical ratios.
- Massively rebalanced chemical outputs. Now uses a dependency
system to provide more-balanced output ratios.
- Moved blast furnace to Advanced material processing 2 tech.
- Finished recipe tint system and applied it to derived recipes.
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 0.2.1 Version: 0.2.1

View File

@ -1,7 +1,7 @@
require("factsheet") require("factsheet")
adamo.opts.debugging = true --adamo.opts.debugging = true
adamo.opts.logging = true --adamo.opts.logging = true
local binding_time_mult = 1 local binding_time_mult = 1
local binding_prod_mult = 5 local binding_prod_mult = 5
@ -261,14 +261,13 @@ local calcinate_recipe = function(recipe,mult)
local x,this_ore_count,x = local x,this_ore_count,x =
get_ingredient(flux_recipe,ore) get_ingredient(flux_recipe,ore)
ore_count = ore_count + (this_ore_count or 0) ore_count = ore_count + (this_ore_count or 0)
-- broken if this_ore_count > 0 then
--if this_ore_count > 0 then add_ingredient(
-- add_ingredient( flux_recipe,
-- flux_recipe, ore,
-- ore, ore_count/ore_mult
-- 1 )
-- ) end
--end
end end
if ore_count == 0 then if ore_count == 0 then
if uses_ingredient(flux_recipe,"stone") then if uses_ingredient(flux_recipe,"stone") then
@ -285,7 +284,6 @@ local calcinate_recipe = function(recipe,mult)
local clinker_count = flux_count local clinker_count = flux_count
local mineral_count = flux_count local mineral_count = flux_count
local clinker_prob = 1/adamo.chem.ratio.lime_per_clinker local clinker_prob = 1/adamo.chem.ratio.lime_per_clinker
local mineral_prob = 1 - clinker_prob
add_ingredient(flux_recipe,flux_name,flux_count) add_ingredient(flux_recipe,flux_name,flux_count)
add_result(flux_recipe,clinker_name,clinker_count,clinker_prob) add_result(flux_recipe,clinker_name,clinker_count,clinker_prob)
for chemical,abundance in pairs(adamo.geo.ore.mineral_results) do for chemical,abundance in pairs(adamo.geo.ore.mineral_results) do
@ -294,7 +292,7 @@ local calcinate_recipe = function(recipe,mult)
flux_recipe, flux_recipe,
chemical, chemical,
mineral_count, mineral_count,
abundance*mineral_prob abundance
) )
end end
end end

116
data.lua
View File

@ -247,10 +247,6 @@ local calcite_recipe = {
show_amount_in_title = true, show_amount_in_title = true,
main_product = "adamo-chemical-calcite", main_product = "adamo-chemical-calcite",
ingredients = {{ ingredients = {{
type = "item",
name = "solid-fuel",
amount = 1
},{
type = "fluid", type = "fluid",
name = "water", name = "water",
amount = 100 amount = 100
@ -258,6 +254,10 @@ local calcite_recipe = {
type = "item", type = "item",
name = "adamo-chemical-gypsum", name = "adamo-chemical-gypsum",
amount = 5 amount = 5
},{
type = "item",
name = "solid-fuel",
amount = 1
}}, }},
results = {{ results = {{
type = "item", type = "item",
@ -268,13 +268,14 @@ local calcite_recipe = {
name = "sulfuric-acid", name = "sulfuric-acid",
amount = 50 amount = 50
}}, }},
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 = colors.highgrey,
tertiary = data.raw.fluid.water.flow_color, -- tertiary = data.raw.fluid.water.flow_color,
quaternary = colors.midgrey -- quaternary = colors.midgrey
}, --},
} }
adamo.recipe.tint.apply(calcite_recipe)
local gypsum_recipe = { local gypsum_recipe = {
type = "recipe", type = "recipe",
name = "adamo-chemical-gypsum", name = "adamo-chemical-gypsum",
@ -284,10 +285,6 @@ local gypsum_recipe = {
show_amount_in_title = true, show_amount_in_title = true,
main_product = "adamo-chemical-gypsum", main_product = "adamo-chemical-gypsum",
ingredients = {{ ingredients = {{
type = "item",
name = "adamo-chemical-calcite",
amount = 5,
},{
type = "fluid", type = "fluid",
name = "sulfuric-acid", name = "sulfuric-acid",
amount = 50 amount = 50
@ -295,19 +292,24 @@ local gypsum_recipe = {
type = "fluid", type = "fluid",
name = "water", name = "water",
amount = 50 amount = 50
},{
type = "item",
name = "adamo-chemical-calcite",
amount = 5,
}}, }},
results = {{ results = {{
type = "item", type = "item",
name = "adamo-chemical-gypsum", name = "adamo-chemical-gypsum",
amount = 5 amount = 5
}}, }},
crafting_machine_tint = { --crafting_machine_tint = {
primary = colors.midgrey, -- primary = 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
}, --},
} }
adamo.recipe.tint.apply(gypsum_recipe)
local hydrofluoric_acid_recipe = { local hydrofluoric_acid_recipe = {
type = "recipe", type = "recipe",
name = "adamo-chemical-hydrofluoric-acid", name = "adamo-chemical-hydrofluoric-acid",
@ -316,10 +318,6 @@ local hydrofluoric_acid_recipe = {
enabled = false, enabled = false,
energy_required = 1, -- same as sulfuric-acid energy_required = 1, -- same as sulfuric-acid
ingredients = {{ ingredients = {{
type = "item",
name = "adamo-chemical-fluorite",
amount = 5
},{
type = "fluid", type = "fluid",
name = "sulfuric-acid", name = "sulfuric-acid",
amount = 50 amount = 50
@ -327,6 +325,10 @@ local hydrofluoric_acid_recipe = {
type = "fluid", type = "fluid",
name = "water", name = "water",
amount = 100 amount = 100
},{
type = "item",
name = "adamo-chemical-fluorite",
amount = 5
}}, }},
results = {{ results = {{
type='fluid', type='fluid',
@ -341,13 +343,14 @@ 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 = colors.hf_base,
secondary = colors.midgrey, -- secondary = 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,
}, --},
} }
adamo.recipe.tint.apply(hydrofluoric_acid_recipe)
local water_recipe = { local water_recipe = {
type = "recipe", type = "recipe",
name = "adamo-chemical-water-condensation", name = "adamo-chemical-water-condensation",
@ -472,12 +475,13 @@ local refined_concrete_recipe = {
{"refined-concrete",50} {"refined-concrete",50}
} }
} }
local stone_input_count = 50 local stone_input_count = data.raw.item["stone"].stack_size
local water_input_count = stone_input_count*10 local water_input_count = stone_input_count*adamo.chem.mult.fluid
local landfill_output_count = math.ceil(stone_input_count/50) local landfill_output_count = math.ceil(stone_input_count/50)
local mineral_output_count = stone_input_count local mineral_output_count = stone_input_count
- 20*landfill_output_count - 20*landfill_output_count
local basic_loss = 4/5 local recover_ratio = 2/3
local adv_recover_ratio = recover_ratio
local basic_froth_flotation_recipe = { local basic_froth_flotation_recipe = {
type = "recipe", type = "recipe",
name = "adamo-chemical-basic-mineral-processing", name = "adamo-chemical-basic-mineral-processing",
@ -541,22 +545,22 @@ if found_sisiquartz then
type = "item", type = "item",
name = "SiSi-quartz", name = "SiSi-quartz",
probability = adamo.geo.abundance.quartz, probability = adamo.geo.abundance.quartz,
amount = mineral_output_count*basic_loss amount = mineral_output_count*recover_ratio
},{ },{
type = "item", type = "item",
name = "adamo-chemical-calcite", name = "adamo-chemical-calcite",
probability = adamo.geo.abundance.calcite, probability = adamo.geo.abundance.calcite,
amount = mineral_output_count*basic_loss amount = mineral_output_count*recover_ratio
},{ },{
type = "item", type = "item",
name = "adamo-chemical-gypsum", name = "adamo-chemical-gypsum",
probability = adamo.geo.abundance.gypsum, probability = adamo.geo.abundance.gypsum,
amount = mineral_output_count*basic_loss amount = mineral_output_count*recover_ratio
},{ },{
type = "item", type = "item",
name = "sulfur", name = "sulfur",
probability = adamo.geo.abundance.sulfur, probability = adamo.geo.abundance.sulfur,
amount = mineral_output_count*basic_loss amount = mineral_output_count*recover_ratio
},{ },{
type = "item", type = "item",
name = "landfill", name = "landfill",
@ -566,27 +570,32 @@ if found_sisiquartz then
type = "item", type = "item",
name = "SiSi-quartz", name = "SiSi-quartz",
probability = adamo.geo.abundance.quartz, probability = adamo.geo.abundance.quartz,
amount = mineral_output_count amount = mineral_output_count*adv_recover_ratio
},{ },{
type = "item", type = "item",
name = "adamo-chemical-fluorite", name = "adamo-chemical-fluorite",
probability = adamo.geo.abundance.fluorite, probability = adamo.geo.abundance.fluorite,
amount = mineral_output_count amount = mineral_output_count*adv_recover_ratio
},{ },{
type = "item", type = "item",
name = "adamo-chemical-calcite", name = "adamo-chemical-calcite",
probability = adamo.geo.abundance.calcite, probability = adamo.geo.abundance.calcite,
amount = mineral_output_count amount = mineral_output_count*adv_recover_ratio
},{ },{
type = "item", type = "item",
name = "adamo-chemical-gypsum", name = "adamo-chemical-gypsum",
probability = adamo.geo.abundance.gypsum, probability = adamo.geo.abundance.gypsum,
amount = mineral_output_count amount = mineral_output_count*adv_recover_ratio
},{ },{
type = "item", type = "item",
name = "sulfur", name = "sulfur",
probability = adamo.geo.abundance.sulfur, probability = adamo.geo.abundance.sulfur,
amount = mineral_output_count amount = mineral_output_count*adv_recover_ratio
},{
type = "item",
name = "coal",
probability = adamo.geo.abundance.coal,
amount = mineral_output_count*adv_recover_ratio
},{ },{
type = "item", type = "item",
name = "landfill", name = "landfill",
@ -597,22 +606,22 @@ else
type = "item", type = "item",
name = "adamo-chemical-quartz", name = "adamo-chemical-quartz",
probability = adamo.geo.abundance.quartz, probability = adamo.geo.abundance.quartz,
amount = mineral_output_count*basic_loss amount = mineral_output_count*recover_ratio
},{ },{
type = "item", type = "item",
name = "adamo-chemical-calcite", name = "adamo-chemical-calcite",
probability = adamo.geo.abundance.calcite, probability = adamo.geo.abundance.calcite,
amount = mineral_output_count*basic_loss amount = mineral_output_count*recover_ratio
},{ },{
type = "item", type = "item",
name = "adamo-chemical-gypsum", name = "adamo-chemical-gypsum",
probability = adamo.geo.abundance.gypsum, probability = adamo.geo.abundance.gypsum,
amount = mineral_output_count*basic_loss amount = mineral_output_count*recover_ratio
},{ },{
type = "item", type = "item",
name = "sulfur", name = "sulfur",
probability = adamo.geo.abundance.sulfur, probability = adamo.geo.abundance.sulfur,
amount = mineral_output_count*basic_loss amount = mineral_output_count*recover_ratio
},{ },{
type = "item", type = "item",
name = "landfill", name = "landfill",
@ -622,27 +631,32 @@ else
type = "item", type = "item",
name = "adamo-chemical-quartz", name = "adamo-chemical-quartz",
probability = adamo.geo.abundance.quartz, probability = adamo.geo.abundance.quartz,
amount = mineral_output_count amount = mineral_output_count*adv_recover_ratio
},{ },{
type = "item", type = "item",
name = "adamo-chemical-fluorite", name = "adamo-chemical-fluorite",
probability = adamo.geo.abundance.fluorite, probability = adamo.geo.abundance.fluorite,
amount = mineral_output_count amount = mineral_output_count*adv_recover_ratio
},{ },{
type = "item", type = "item",
name = "adamo-chemical-calcite", name = "adamo-chemical-calcite",
probability = adamo.geo.abundance.calcite, probability = adamo.geo.abundance.calcite,
amount = mineral_output_count amount = mineral_output_count*adv_recover_ratio
},{ },{
type = "item", type = "item",
name = "adamo-chemical-gypsum", name = "adamo-chemical-gypsum",
probability = adamo.geo.abundance.gypsum, probability = adamo.geo.abundance.gypsum,
amount = mineral_output_count amount = mineral_output_count*adv_recover_ratio
},{ },{
type = "item", type = "item",
name = "sulfur", name = "sulfur",
probability = adamo.geo.abundance.sulfur, probability = adamo.geo.abundance.sulfur,
amount = mineral_output_count amount = mineral_output_count*adv_recover_ratio
},{
type = "item",
name = "coal",
probability = adamo.geo.abundance.coal,
amount = mineral_output_count*adv_recover_ratio
},{ },{
type = "item", type = "item",
name = "landfill", name = "landfill",

View File

@ -249,7 +249,7 @@ data:extend({
furnace_entity furnace_entity
}) })
add_recipe_to_tech( add_recipe_to_tech(
"advanced-material-processing", "advanced-material-processing-2",
"adamo-blast-furnace" "adamo-blast-furnace"
) )

View File

@ -8,5 +8,5 @@
"SimpleSilicon" "SimpleSilicon"
], ],
"description": "Chemical reverse engineering.", "description": "Chemical reverse engineering.",
"factorio_version": "0.18" "factorio_version": "1.0"
} }