This commit is contained in:
Simon Brodtmann 2024-12-29 00:17:04 +01:00
parent bd2f6c8802
commit 2d392f309b

View file

@ -5,16 +5,62 @@ local tile_trigger_effects = require("__base__.prototypes.tile.tile-trigger-effe
local semi_wet_sound = sound_variations("__space-age__/sound/walking/semi-wet-rock", 10, 0.7)
local tile_sounds = require("__space-age__/prototypes/tile/tile-sounds")
local resource_autoplace = require("resource-autoplace")
local meld = require("meld")
resource_autoplace.initialize_patch_set("gold-patch", true)
--* control:lignumis_gold:size
--local function gold_autoplace(settings)
-- settings = settings or {}
-- return resource_autoplace.resource_autoplace_settings({
-- name = "gold-patch",
-- order = "b",
-- base_density = 1,
-- richness_multiplier = 1,
-- richness_multiplier_distance_bonus = 1.5,
-- base_spots_per_km2 = 20,
-- has_starting_area_placement = true,
-- random_spot_size_minimum = 0.01,
-- random_spot_size_maximum = 0.1,
-- regular_blob_amplitude_multiplier = 1,
-- richness_post_multiplier = 1.0,
-- additional_richness = 350000,
-- regular_rq_factor_multiplier = 0.1,
-- candidate_spot_count = 22,
-- tile_restriction = settings.tile_restriction,
-- })
--end
local function gold_autoplace(settings)
settings = settings or {}
return {
probability_expression = "lignumis_gold / 2000 * control:lignumis_gold:frequency",
richness_expression = "lignumis_gold * control:lignumis_gold:richness * 2000000",
tile_restriction = settings.tile_restriction
}
end
data:extend({
{
type = "noise-expression",
name = "lignumis_gold",
expression =
"clamp(1 - 2 * abs(multioctave_noise{x = x, y = y, persistence = 0.75, seed0 = map_seed, seed1 = 1000000, octaves = 4, input_scale = 1/45}), 0, 1)\z
* (1 + (gold_mask_noise - 1) / 10)",
local_expressions = {
gold_mask_noise =
"abs(multioctave_noise{x = x, y = y, persistence = 0.7, seed0 = map_seed, seed1 = 1000000, octaves = 3, input_scale = 1/75})"
}
}
})
local gold_stromatolite = util.copy(data.raw["simple-entity"]["copper-stromatolite"])
gold_stromatolite.name = "gold-stromatolite"
gold_stromatolite.icon = "__lignumis__/graphics/icons/gold-stromatolite.png"
gold_stromatolite.autoplace = {
probability_expression = "min(0.2, 0.3 * (1 - gleba_plants_noise) * control:gleba_plants:size)",
gold_stromatolite.autoplace = gold_autoplace({
tile_restriction = { "natural-gold-soil" }
}
})
gold_stromatolite.collision_mask = util.copy(data.raw["plant"]["tree-plant"].collision_mask)
gold_stromatolite.minable.results = {
{ type = "item", name = "gold-ore", amount_min = 13, amount_max = 17 },
@ -163,10 +209,9 @@ gold_stromatolite_plant.collision_box = { { -0.5, -0.5 }, { 0.5, 0.5 } }
gold_stromatolite_plant.selection_box = { { -0.7, -0.7 }, { 0.7, 0.7 } }
gold_stromatolite_plant.remains_when_mined = nil
gold_stromatolite_plant.pictures = util.copy(gold_stromatolite.pictures)
gold_stromatolite_plant.autoplace = {
probability_expression = "min(0.2, 0.3 * (1 - gleba_plants_noise) * control:gleba_plants:size)",
gold_stromatolite_plant.autoplace = gold_autoplace({
tile_restriction = { "natural-gold-soil" }
}
})
data:extend({
gold_stromatolite,
@ -255,12 +300,15 @@ data:extend({
[4] = { probability = 0.1, weights = { 0.018, 0.020, 0.015, 0.025, 0.015, 0.020, 0.025, 0.015, 0.025, 0.025, 0.010, 0.025, 0.020, 0.025, 0.025, 0.010 }, },
}
),
walking_sound = semi_wet_sound,
landing_steps_sound = tile_sounds.landing.semi_wet,
build_sound = data.raw["tile"]["landfill"].build_sound,
map_color = { 185, 166, 5 },
scorch_mark_color = { r = 0.329, g = 0.242 * 2, b = 0.177, a = 1.000 }
scorch_mark_color = { r = 0.329, g = 0.242 * 2, b = 0.177, a = 1.000 },
autoplace = {
probability_expression = "lignumis_gold / 2000 * control:lignumis_gold:frequency",
richness_expression = "lignumis_gold * control:lignumis_gold:richness"
},
},
{
type = "item-subgroup",
@ -274,13 +322,10 @@ data:extend({
icon = "__lignumis__/graphics/icons/gold-patch.png",
icon_size = 64,
flags = { "placeable-neutral" },
category = "drilling",
category = "deep-mining",
order = "a-b-a",
infinite = false,
highlight = true,
minimum = 600000,
normal = 1200000,
--infinite_depletion_amount = 10,
resource_patch_search_radius = 12,
tree_removal_probability = 1,
tree_removal_max_distance = 32 * 32,
@ -292,13 +337,9 @@ data:extend({
--collision_mask = {"item-layer", "water-tile"},
selection_box = { { -3.5, -3.5 }, { 3.5, 3.5 } },
autoplace = {
base_density = 2,
base_spots_per_km2 = 5,
has_starting_area_placement = true,
regular_rq_factor_multiplier = 1,
starting_rq_factor_multiplier = 1,
candidate_spot_count = 21,
probability_expression = "min(0.2, 0.3 * (1 - gleba_plants_noise) * control:gleba_plants:size)",
probability_expression = "lignumis_gold / 2000 * control:lignumis_gold:frequency",
richness_expression = "lignumis_gold * 2000000 * control:lignumis_gold:richness",
tile_restriction = { "natural-gold-soil" }
},
stage_counts = { 0 },
stages = {
@ -316,7 +357,7 @@ data:extend({
map_grid = false
},
{
name = "drilling",
name = "deep-mining",
type = "resource-category",
},
{