Aleksei-bird 7c9c708c92 Первый фикс
Пачки некоторых позиций увеличены
2024-03-01 20:54:33 +03:00

84 lines
3.2 KiB
Lua

local noise = require("noise")
local tne = noise.to_noise_expression
local util = require("util")
local tileMetaData=require("tileMetaData")
return function()
for name, tileData in pairs(data.raw.tile) do
local biome = ""
local tileName = name
for unaliased, alias in pairs(tileMetaData.tile_alias) do
if name == unaliased then
tileName = alias
break
end
end
for setting, prefix in pairs(tileMetaData.biome_settings) do
if util.startsWith(tileName, prefix) then
biome = setting
break
end
end
if tileData.autoplace then
if tileData.autoplace.probability_expression ~= nil then
if biome ~= "" then
tileMetaData.biomes_used[biome] = biome
local expr = tileData.autoplace.probability_expression
local a = noise.var("settings-a-" .. biome)
local b = noise.var("settings-b-" .. biome)
local c = noise.var("settings-c-" .. biome)
local d = tileMetaData.get_dynamic_scale(name)
if d~=1 then
a=a*tne(d)
c=c*tne(d)
end
local disabled = noise.var("settings-disabled-" .. biome)
tileData.autoplace.probability_expression = noise.if_else_chain(disabled, -1e309, ((expr + a) / b) + c)
elseif __DebugAdapter then
log(tileName .. " No biome")
end
elseif __DebugAdapter then
log(tileName .. " No expression")
end
end
end
for biome, value in pairs(tileMetaData.biomes_used) do
data:extend { {
type = "autoplace-control",
name = "settings-" .. biome,
order = "zzz-" .. biome .. "-zzz",
richness = true,
category = "resource"
} }
data:extend {
{
type = "noise-expression",
name = "settings-disabled-" .. biome,
expression = noise.equals(noise.var("control-setting:settings-" .. biome .. ":size:multiplier"), tne(0)) --disable button size/coverage==0
},
{
type = "noise-expression",
name = "settings-a-" .. biome,
expression = noise.log2(noise.var("control-setting:settings-" .. biome .. ":frequency:multiplier")) ^ tne(5) --frequency / scale 0.16 to 6 / 6 to 0.16
},
{
type = "noise-expression",
name = "settings-b-" .. biome,
expression = noise.var("control-setting:settings-" .. biome .. ":size:multiplier") ^ tne(3) --size/coverage disable==0 and 0.16 to 6 / 0.16 to 6
},
{
type = "noise-expression",
name = "settings-c-" .. biome,
expression = (noise.log2(noise.var("control-setting:settings-" .. biome .. ":richness:multiplier")) ^ tne(9)) * tne(60) --richness 0.16 to 6
},
}
end
end