diff --git a/map_gen/Diggy/Feature/AlienSpawner.lua b/map_gen/Diggy/Feature/AlienSpawner.lua index 44fe0c80..148d66e4 100644 --- a/map_gen/Diggy/Feature/AlienSpawner.lua +++ b/map_gen/Diggy/Feature/AlienSpawner.lua @@ -43,7 +43,7 @@ function AlienSpawner.register(config) local x = event.old_tile.position.x local y = event.old_tile.position.y - if (x^2 + y^2 < alien_minimum_distance_square or config.alien_probability < random()) then + if (x * x + y * y < alien_minimum_distance_square or config.alien_probability < random()) then return end diff --git a/map_gen/Diggy/Feature/DiggyCaveCollapse.lua b/map_gen/Diggy/Feature/DiggyCaveCollapse.lua index 6ad109b7..fc757537 100644 --- a/map_gen/Diggy/Feature/DiggyCaveCollapse.lua +++ b/map_gen/Diggy/Feature/DiggyCaveCollapse.lua @@ -144,7 +144,7 @@ local function spawn_cracking_sound_text(surface, position) local color = { r = 1, - g = random(1, 100) / 100, + g = random(1, 100) * 0.01, b = 0 } @@ -157,7 +157,7 @@ local function spawn_cracking_sound_text(surface, position) name = 'flying-text', color = color, text = char, - position = {x = position.x + x_offset, y = position.y - ((i + 1) % 2) / 4} + position = {x = position.x + x_offset, y = position.y - ((i + 1) % 2) * 0.25} }.active = true end end @@ -416,8 +416,8 @@ end @return number sum of old fraction + new fraction ]] local function add_fraction(stress_map, x, y, fraction) - x = 2 * floor(x / 2) - y = 2 * floor(y / 2) + x = 2 * floor(x * 0.5) + y = 2 * floor(y * 0.5) local x_t = stress_map[x] if not x_t then @@ -519,7 +519,7 @@ function mask_init(config) disc_weight = config.mask_relative_ring_weights[2] center_weight = config.mask_relative_ring_weights[3] - radius = floor(n / 2) + radius = floor(n * 0.5) radius_sq = (radius + 0.2) * (radius + 0.2) center_radius_sq = radius_sq / 9 diff --git a/map_gen/Diggy/Feature/MarketExchange.lua b/map_gen/Diggy/Feature/MarketExchange.lua index d254d36a..246f1c95 100644 --- a/map_gen/Diggy/Feature/MarketExchange.lua +++ b/map_gen/Diggy/Feature/MarketExchange.lua @@ -167,7 +167,7 @@ end local function on_research_finished(event) local force = game.forces.player local current_modifier = mining_efficiency.research_modifier - local new_modifier = force.mining_drill_productivity_bonus * config.mining_speed_productivity_multiplier / 2 + local new_modifier = force.mining_drill_productivity_bonus * config.mining_speed_productivity_multiplier * 0.5 if (current_modifier == new_modifier) then -- something else was researched @@ -236,16 +236,10 @@ local function redraw_heading(data) local frame = data.market_list_heading Gui.clear(frame) - local heading_table = frame.add {type = 'table', column_count = 3} - - local label = heading_table.add {type = 'label', name = tag_label_stone, caption = 'Name'} - apply_heading_style(label.style, 90) - - local label = heading_table.add {type = 'label', name = tag_label_buff, caption = 'Buff'} - apply_heading_style(label.style, 200) - - local label = heading_table.add {type = 'label', name = tag_label_item, caption = 'Item'} - apply_heading_style(label.style, 200) + local heading_table = frame.add({type = 'table', column_count = 3}) + apply_heading_style(heading_table.add({type = 'label', name = tag_label_stone, caption = 'Name'}).style, 90) + apply_heading_style(heading_table.add({type = 'label', name = tag_label_buff, caption = 'Buff'}).style, 200) + apply_heading_style(heading_table.add({type = 'label', name = tag_label_item, caption = 'Item'}).style, 200) end local function redraw_progressbar(data) @@ -260,8 +254,7 @@ local function redraw_progressbar(data) -- calc % of stones sent local stone_sent = stone_tracker.stone_sent_to_surface / highest_amount - local overall_descr = flow.add({type = 'label', name = 'Diggy.MarketExchange.Frame.Progress.Overall', caption = 'Overall progress:'}) - apply_heading_style(overall_descr.style) + apply_heading_style(flow.add({type = 'label', name = 'Diggy.MarketExchange.Frame.Progress.Overall', caption = 'Overall progress:'}).style) local overall_progressbar = flow.add({type = 'progressbar', tooltip = stone_sent * 100 .. '% stone sent'}) overall_progressbar.style.width = 540 overall_progressbar.value = stone_sent @@ -276,15 +269,13 @@ local function redraw_progressbar(data) local sent = stone_tracker.stone_sent_to_surface - act_stone local percentage = sent / range - local level_descr = flow.add({type = 'label', name = 'Diggy.MarketExchange.Frame.Progress.Level', caption = 'Progress to next level:'}) - apply_heading_style(level_descr.style) + apply_heading_style(flow.add({type = 'label', name = 'Diggy.MarketExchange.Frame.Progress.Level', caption = 'Progress to next level:'}).style) local level_progressbar = flow.add({type = 'progressbar', tooltip = percentage * 100 .. '% stone to next level'}) level_progressbar.style.width = 540 level_progressbar.value = percentage end local function redraw_table(data) - local market_scroll_pane = data.market_scroll_pane Gui.clear(market_scroll_pane) @@ -302,7 +293,6 @@ local function redraw_table(data) -- create table for i = 1, #config.unlockables do - if config.unlockables[i].stone ~= last_stone then -- get items and buffs for each stone value @@ -370,7 +360,6 @@ local function redraw_table(data) -- print table for _, unlockable in pairs(row) do local is_unlocked = unlockable[1] <= stone_tracker.stone_sent_to_surface - local list = market_scroll_pane.add {type = 'table', column_count = 3 } list.style.horizontal_spacing = 16 @@ -447,7 +436,6 @@ local function toggle(event) frame = center.add({name = 'Diggy.MarketExchange.Frame', type = 'frame', direction = 'vertical'}) local market_progressbars = frame.add({type = 'flow', direction = 'vertical'}) - local market_list_heading = frame.add({type = 'flow', direction = 'horizontal'}) local market_scroll_pane = frame.add({type = 'scroll-pane'}) diff --git a/map_gen/Diggy/Feature/ScatteredResources.lua b/map_gen/Diggy/Feature/ScatteredResources.lua index 911dbf0a..5c793a0c 100644 --- a/map_gen/Diggy/Feature/ScatteredResources.lua +++ b/map_gen/Diggy/Feature/ScatteredResources.lua @@ -4,6 +4,7 @@ -- dependencies local Event = require 'utils.event' +local Global = require 'utils.global' local Debug = require 'map_gen.Diggy.Debug' local Template = require 'map_gen.Diggy.Template' local Perlin = require 'map_gen.shared.perlin_noise' @@ -15,6 +16,14 @@ local floor = math.floor -- this local ScatteredResources = {} +local seed + +Global.register({ + seed = seed, +}, function(tbl) + seed = tbl.seed +end) + local function get_name_by_random(collection) local pre_calculated = random() local current = 0 @@ -66,7 +75,7 @@ function ScatteredResources.register(config) end local function get_noise(surface, x, y) - local seed = surface.map_gen_settings.seed + surface.index + 100 + seed = seed or surface.map_gen_settings.seed + surface.index + 200 return Perlin.noise(x * config.noise_variance, y * config.noise_variance, seed) end diff --git a/map_gen/Diggy/Feature/SimpleRoomGenerator.lua b/map_gen/Diggy/Feature/SimpleRoomGenerator.lua index 7f99852f..89c5c1d0 100644 --- a/map_gen/Diggy/Feature/SimpleRoomGenerator.lua +++ b/map_gen/Diggy/Feature/SimpleRoomGenerator.lua @@ -6,6 +6,7 @@ local Template = require 'map_gen.Diggy.Template' local Perlin = require 'map_gen.shared.perlin_noise' local Event = require 'utils.event' +local Global = require 'utils.global' local Debug = require'map_gen.Diggy.Debug' local Task = require 'utils.Task' local Token = require 'utils.global_token' @@ -13,6 +14,14 @@ local Token = require 'utils.global_token' -- this local SimpleRoomGenerator = {} +local seed + +Global.register({ + seed = seed, +}, function(tbl) + seed = tbl.seed +end) + local do_spawn_tile = Token.register(function(params) Template.insert(params.surface, {params.tile}, {}) end) @@ -54,7 +63,7 @@ function SimpleRoomGenerator.register(config) local room_noise_minimum_distance_sq = config.room_noise_minimum_distance * config.room_noise_minimum_distance local function get_noise(surface, x, y) - local seed = surface.map_gen_settings.seed + surface.index + 200 + seed = seed or surface.map_gen_settings.seed + surface.index + 100 return Perlin.noise(x * config.noise_variance, y * config.noise_variance, seed) end @@ -63,7 +72,7 @@ function SimpleRoomGenerator.register(config) local x = position.x local y = position.y - local distance_sq = x^2 + y^2 + local distance_sq = x * x + y * y if (distance_sq <= room_noise_minimum_distance_sq) then return diff --git a/map_gen/Diggy/Feature/StartingZone.lua b/map_gen/Diggy/Feature/StartingZone.lua index e3a02f8b..dfafeabb 100644 --- a/map_gen/Diggy/Feature/StartingZone.lua +++ b/map_gen/Diggy/Feature/StartingZone.lua @@ -40,9 +40,9 @@ function StartingZone.register(config) local tiles = {} local rocks = {} - local dirt_range = floor(starting_zone_size / 2) + local dirt_range = floor(starting_zone_size * 0.5) local rock_range = starting_zone_size - 2 - local stress_hack = floor(starting_zone_size / 10) + local stress_hack = floor(starting_zone_size * 0.1) for x = -starting_zone_size, starting_zone_size do for y = -starting_zone_size, starting_zone_size do