223 lines
7.8 KiB
Lua
223 lines
7.8 KiB
Lua
local resource_autoplace = require('resource-autoplace');
|
|
local futil = require("util");
|
|
|
|
local util = require("data-util");
|
|
|
|
if util.me.platinum() or util.me.palladium() then
|
|
if mods.Krastorio2 then
|
|
-- no rich copper
|
|
local rm = futil.table.deepcopy(data.raw.recipe["kr-rare-metals"])
|
|
rm.name = "rare-metals-1"
|
|
data:extend({rm})
|
|
util.add_unlock("platinum-processing", "rare-metals-1")
|
|
util.add_unlock("palladium-processing", "rare-metals-1")
|
|
util.add_icon("rare-metals-1", {icon = "__bzgold__/graphics/icons/platinum-powder.png",
|
|
icon_size = 64, scale = 0.25, shift = {-8,8}})
|
|
|
|
util.multiply_recipe("kr-rare-metals", 2)
|
|
util.multiply_recipe("rare-metals-1", 2)
|
|
util.multiply_recipe("rare-metals-2", 2)
|
|
|
|
util.set_main_product("kr-rare-metals", "kr-rare-metals")
|
|
util.set_product_amount("kr-rare-metals", "kr-rare-metals", 6)
|
|
util.set_main_product("rare-metals-1", "kr-rare-metals")
|
|
util.set_main_product("rare-metals-2", "kr-rare-metals")
|
|
|
|
|
|
if util.me.platinum() and util.me.palladium() then
|
|
util.replace_some_product("rare-metals-1", "kr-rare-metals", 2, "platinum-powder", 2, {force=true})
|
|
util.replace_some_product("rare-metals-1", "kr-rare-metals", 2, "palladium-powder", 2, {force=true})
|
|
util.replace_some_product("rare-metals-2", "kr-rare-metals", 3, "platinum-powder", 3, {force=true})
|
|
util.replace_some_product("rare-metals-2", "kr-rare-metals", 3, "palladium-powder", 3, {force=true})
|
|
elseif util.me.platinum() then
|
|
util.replace_some_product("rare-metals-1", "kr-rare-metals", 3, "platinum-powder", 4, {force=true})
|
|
util.replace_some_product("rare-metals-2", "kr-rare-metals", 6, "platinum-powder", 6, {force=true})
|
|
elseif util.me.palladium() then
|
|
util.replace_some_product("rare-metals-1", "kr-rare-metals", 3, "palladium-powder", 4, {force=true})
|
|
util.replace_some_product("rare-metals-2", "kr-rare-metals", 6, "palladium-powder", 6, {force=true})
|
|
end
|
|
else
|
|
|
|
local results = {}
|
|
if util.me.silver() and util.me.platinum() and util.me.palladium() then
|
|
results = {
|
|
{type="item", name="copper-plate", amount=1},
|
|
{type="item", name="silver-ore", amount=1, probability=0.5},
|
|
{type="item", name="platinum-powder", amount=1, probability=0.25},
|
|
{type="item", name="palladium-powder", amount=1, probability=0.25},
|
|
}
|
|
elseif util.me.silver() and util.me.platinum() then
|
|
results = {
|
|
{type="item", name="copper-plate", amount=1},
|
|
{type="item", name="silver-ore", amount=1, probability=0.67},
|
|
{type="item", name="platinum-powder", amount=1, probability=0.33},
|
|
}
|
|
elseif util.me.silver() and util.me.palladium() then
|
|
results = {
|
|
{type="item", name="copper-plate", amount=1},
|
|
{type="item", name="silver-ore", amount=1, probability=0.67},
|
|
{type="item", name="palladium-powder", amount=1, probability=0.33},
|
|
}
|
|
elseif util.me.platinum() and util.me.palladium() then
|
|
results = {
|
|
{type="item", name="copper-plate", amount=1},
|
|
{type="item", name="platinum-powder", amount=1, probability=0.5},
|
|
{type="item", name="palladium-powder", amount=1, probability=0.5},
|
|
}
|
|
elseif util.me.platinum() then
|
|
results = {
|
|
{type="item", name="copper-plate", amount=2, probability = 0.75},
|
|
{type="item", name="platinum-powder", amount=1, probability=0.5},
|
|
}
|
|
elseif util.me.palladium() then
|
|
results = {
|
|
{type="item", name="copper-plate", amount=2, probability = 0.75},
|
|
{type="item", name="palladium-powder", amount=1, probability=0.5},
|
|
}
|
|
else -- should never happen
|
|
results = {
|
|
{type="item", name="copper-plate", amount=2},
|
|
}
|
|
end
|
|
|
|
|
|
if data.raw.resource["copper-ore"] then
|
|
if mods["space-exploration"] then
|
|
-- decrease richness of copper a bit (ok if it stacks with aluminum)
|
|
data.raw.resource["copper-ore"].autoplace.richness_expression =
|
|
data.raw.resource["copper-ore"].autoplace.richness_expression .. "*(3/4)"
|
|
else
|
|
log("Replacing vanilla copper-ore autoplace")
|
|
local resource_autoplace = require('resource-autoplace');
|
|
data.raw.resource["copper-ore"].autoplace = resource_autoplace.resource_autoplace_settings{
|
|
name = "copper-ore",
|
|
order = "b",
|
|
base_density = mods.bzaluminum and 3 or 4,
|
|
has_starting_area_placement = true,
|
|
regular_rq_factor_multiplier = 1.1,
|
|
starting_rq_factor_multiplier = 1.1,
|
|
candidate_spot_count = 22,
|
|
}
|
|
end
|
|
end
|
|
|
|
if util.se6() then
|
|
data:extend({
|
|
{
|
|
type = "autoplace-control",
|
|
category = "resource",
|
|
name = "rich-copper-ore",
|
|
richness = true,
|
|
order = "zzzzzzzzzzz"
|
|
},
|
|
})
|
|
end
|
|
|
|
data:extend({
|
|
{
|
|
type = "resource",
|
|
name = "rich-copper-ore",
|
|
icon = "__bzgold__/graphics/icons/rich-copper-ore.png",
|
|
icon_size = 64, icon_mipmaps = 4,
|
|
flags = {"placeable-neutral"},
|
|
order="a-b-a",
|
|
map_color = {r=0.9, g=0.5, b=0.4},
|
|
tree_removal_probability = 0.7,
|
|
tree_removal_max_distance = 32 * 32,
|
|
minable =
|
|
{
|
|
hardness = 1,
|
|
mining_particle = "copper-ore-particle",
|
|
mining_time = 1,
|
|
fluid_amount = 1,
|
|
required_fluid = "water",
|
|
result = "rich-copper-ore"
|
|
},
|
|
collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
|
|
selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
|
|
|
|
autoplace = resource_autoplace.resource_autoplace_settings{
|
|
name = "rich-copper-ore",
|
|
autoplace_control_name = util.se6() and "rich-copper-ore" or "copper-ore",
|
|
order = "b-z",
|
|
base_density = 4,
|
|
base_spots_per_km2 = 1,
|
|
has_starting_area_placement = false,
|
|
regular_rq_factor_multiplier = 1,
|
|
starting_rq_factor_multiplier = 1,
|
|
},
|
|
|
|
stage_counts = {15000, 9500, 5500, 2900, 1300, 400, 150, 80},
|
|
stages =
|
|
{
|
|
sheet =
|
|
{
|
|
filename = "__bzgold__/graphics/entity/ores/rich-copper-ore.png",
|
|
priority = "extra-high",
|
|
size = 64,
|
|
frame_count = 8,
|
|
variation_count = 8,
|
|
hr_version =
|
|
{
|
|
filename = "__bzgold__/graphics/entity/ores/hr-rich-copper-ore.png",
|
|
priority = "extra-high",
|
|
size = 128,
|
|
frame_count = 8,
|
|
variation_count = 8,
|
|
scale = 0.5
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
type = "item",
|
|
name = "rich-copper-ore",
|
|
icon_size = 64, icon_mipmaps=4,
|
|
icon = "__bzgold__/graphics/icons/rich-copper-ore.png",
|
|
pictures = {
|
|
{filename="__bzgold__/graphics/icons/rich-copper-ore.png", size=64, scale=0.5},
|
|
{filename="__bzgold__/graphics/icons/rich-copper-ore-1.png", size=64, scale=0.5},
|
|
{filename="__bzgold__/graphics/icons/rich-copper-ore-2.png", size=64, scale=0.5},
|
|
{filename="__bzgold__/graphics/icons/rich-copper-ore-3.png", size=64, scale=0.5},
|
|
},
|
|
subgroup = "raw-resource",
|
|
order = "t-c-a",
|
|
stack_size = 50
|
|
},
|
|
})
|
|
|
|
|
|
data:extend({
|
|
{
|
|
type = "recipe",
|
|
name = "rich-copper",
|
|
localised_name = {"item-name.copper-plate"},
|
|
category = "smelting",
|
|
main_product = "copper-plate",
|
|
order = "d[copper-plate]",
|
|
enabled = false,
|
|
icons = {
|
|
{icon = "__base__/graphics/icons/copper-plate.png", icon_size = 64, icon_mipmaps=4},
|
|
{icon = "__bzgold__/graphics/icons/rich-copper-ore.png", icon_size = 64, scale=0.25, shift = {-8,8}},
|
|
-- {icon = "__bzgold__/graphics/icons/silver-ore.png", icon_size = 128, scale=0.125, shift = {8,8}},
|
|
-- {icon = "__bzgold__/graphics/icons/platinum-powder.png", icon_size = 64, scale=0.25, shift = {8,-8}},
|
|
-- {icon = "__bzgold__/graphics/icons/palladium-powder.png", icon_size = 64, scale=0.25, shift = {-8,-8}},
|
|
},
|
|
energy_required = 6.4,
|
|
ingredients = {{type="item", name="rich-copper-ore", amount=2}},
|
|
results = results,
|
|
},
|
|
})
|
|
util.add_unlock("platinum-processing", "rich-copper")
|
|
util.add_unlock("palladium-processing", "rich-copper")
|
|
|
|
if util.se6() then
|
|
se_resources["rich-copper-ore"] = {
|
|
order = "b-z-c",
|
|
has_starting_area_placement = false,
|
|
base_density = 4,
|
|
base_spots_per_km2 = 1,
|
|
}
|
|
end
|
|
end
|
|
end
|