From c8eee553cac622ecdeca560cf65edfb4f3d0a7d5 Mon Sep 17 00:00:00 2001 From: Gerkiz Date: Tue, 29 Dec 2020 13:46:53 +0100 Subject: [PATCH] mtn v3 - fixes --- maps/mountain_fortress_v3/biter_pets.lua | 2 +- maps/mountain_fortress_v3/functions.lua | 8 +++++--- maps/mountain_fortress_v3/highscore.lua | 18 +++++++++++++----- maps/mountain_fortress_v3/main.lua | 11 +++++------ 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/maps/mountain_fortress_v3/biter_pets.lua b/maps/mountain_fortress_v3/biter_pets.lua index 79378aaa..463b2c95 100644 --- a/maps/mountain_fortress_v3/biter_pets.lua +++ b/maps/mountain_fortress_v3/biter_pets.lua @@ -20,7 +20,7 @@ end local function floaty_hearts(entity, c) local position = {x = entity.position.x - 0.75, y = entity.position.y - 1} local b = 1.35 - for a = 1, c, 1 do + for _ = 1, c, 1 do local p = { (position.x + 0.4) + (b * -1 + random(0, b * 20) * 0.1), position.y + (b * -1 + random(0, b * 20) * 0.1) diff --git a/maps/mountain_fortress_v3/functions.lua b/maps/mountain_fortress_v3/functions.lua index 88035c9a..43b98d8e 100644 --- a/maps/mountain_fortress_v3/functions.lua +++ b/maps/mountain_fortress_v3/functions.lua @@ -827,11 +827,13 @@ function Public.set_difficulty() if collapse_speed then Collapse.set_speed(collapse_speed) else - if player_count >= 8 and player_count <= 12 then + if player_count >= 1 and player_count <= 8 then + Collapse.set_speed(9) + elseif player_count > 8 and player_count <= 20 then Collapse.set_speed(8) - elseif player_count >= 20 and player_count <= 24 then + elseif player_count > 20 and player_count <= 35 then Collapse.set_speed(6) - elseif player_count >= 35 then + elseif player_count > 35 then Collapse.set_speed(5) end end diff --git a/maps/mountain_fortress_v3/highscore.lua b/maps/mountain_fortress_v3/highscore.lua index 63bbd118..9afa9625 100644 --- a/maps/mountain_fortress_v3/highscore.lua +++ b/maps/mountain_fortress_v3/highscore.lua @@ -146,11 +146,16 @@ local function get_mvps() if not mvp[score_list[i].name] then mvp[score_list[i].name] = {} end + if killscore >= 50 and mined_ents > 10 and build_ents > 1 then + mvp[score_list[i].name].killscore = killscore + mvp[score_list[i].name].mined_entities = mined_ents + mvp[score_list[i].name].built_entities = build_ents + end - mvp[score_list[i].name].killscore = killscore - mvp[score_list[i].name].mined_entities = mined_ents - mvp[score_list[i].name].built_entities = build_ents mvp[score_list[i].name].deaths = deaths + if #mvp[score_list[i].name] <= 1 then + mvp[score_list[i].name] = nil + end end end @@ -189,6 +194,7 @@ local function write_additional_stats(key) local old_breached_zone = this.score_table['player'].breached_zone local old_rockets_launched = this.score_table['player'].rockets_launched local old_total_time = this.score_table['player'].total_time + local old_players = this.score_table['player'].players if new_wave_number > old_wave then t.wave_number = new_wave_number else @@ -218,6 +224,8 @@ local function write_additional_stats(key) local new_stats = get_mvps() if new_stats then t.players = new_stats + else + t.players = old_players end end @@ -363,7 +371,7 @@ local show_score = (function(player, frame) sFlow.horizontal_align = 'center' sFlow.vertical_align = 'center' - local stats = flow.add {type = 'label', caption = 'Previous game statistics!'} + local stats = flow.add {type = 'label', caption = 'Highest score so far:'} local s_stats = stats.style s_stats.font = 'heading-1' s_stats.font_color = {r = 0.98, g = 0.66, b = 0.22} @@ -549,7 +557,7 @@ Server.on_data_set_changed( end ) -comfy_panel_tabs['Last Run'] = {gui = show_score, admin = false, only_server_sided = true} +comfy_panel_tabs['Highscore'] = {gui = show_score, admin = false, only_server_sided = true} Event.on_init(on_init) Event.add(defines.events.on_player_left_game, on_player_left_game) diff --git a/maps/mountain_fortress_v3/main.lua b/maps/mountain_fortress_v3/main.lua index 48bc6135..edf843c9 100644 --- a/maps/mountain_fortress_v3/main.lua +++ b/maps/mountain_fortress_v3/main.lua @@ -103,6 +103,7 @@ function Public.reset_map() Autostash.insert_into_furnace(true) Autostash.insert_into_wagon(true) + Autostash.bottom_button(true) BuriedEnemies.reset() Commands.reset() @@ -343,7 +344,7 @@ local compare_collapse_and_train = function() local collapse_pos = Collapse.get_position() local locomotive = WPT.get('locomotive') local carriages = WPT.get('carriages') - if not locomotive or not locomotive.valid then + if not (locomotive and locomotive.valid) then return end @@ -358,12 +359,10 @@ local compare_collapse_and_train = function() if c_y - t_y <= gap_between_zones.gap then Functions.set_difficulty() - gap_between_zones.set = false - return + else + Collapse.set_speed(1) + Collapse.set_amount(4) end - - Collapse.set_speed(1) - Collapse.set_amount(4) end local collapse_after_wave_100 = function()