diff --git a/control.lua b/control.lua index 536bec39..18460789 100644 --- a/control.lua +++ b/control.lua @@ -25,7 +25,7 @@ require "comfy_panel.poll" require "comfy_panel.score" require "comfy_panel.config" -require "modules.autostash" +--require "modules.autostash" ---- enable modules here ---- --require "modules.the_floor_is_lava" @@ -60,17 +60,18 @@ require "modules.autostash" --require "modules.explosives" --require "modules.biter_pets" --require "modules.wave_defense.main" +--require "modules.fjei.main" ----------------------------- ---- enable maps here ---- --require "maps.fish_defender.main" --require "maps.fish_defender_v1.fish_defender" ---require "maps.biter_battles_v2.main" +require "maps.biter_battles_v2.main" --require "maps.mountain_fortress_v2.main" --require "maps.mountain_fortress" --require "maps.island_troopers.main" --require "maps.biter_hatchery.main" -require "maps.junkyard_pvp.main" +--require "maps.junkyard_pvp.main" --require "maps.scrapyard.main" --require "maps.tank_conquest.tank_conquest" --require "maps.territorial_control" diff --git a/maps/mountain_fortress_v2/collapse.lua b/maps/mountain_fortress_v2/collapse.lua index b8c0d448..f4336b06 100644 --- a/maps/mountain_fortress_v2/collapse.lua +++ b/maps/mountain_fortress_v2/collapse.lua @@ -19,7 +19,7 @@ local tile_conversion = { ["stone-path"] = "landfill", } -local size_of_vector_list = 128 +local size_of_vector_list = 64 local function get_collapse_vectors(radius, seed) local vectors = {} local i = 1 @@ -125,7 +125,7 @@ local function setup_next_collapse() if not map_collapse.vector_list then map_collapse.vector_list = {} for _ = 1, size_of_vector_list, 1 do - table_insert(global.map_collapse.vector_list, get_collapse_vectors(math_random(16, 32), math_random(1, 9999999))) + table_insert(global.map_collapse.vector_list, get_collapse_vectors(math_random(24, 48), math_random(1, 9999999))) end end @@ -204,7 +204,7 @@ function Public.init() ["size_of_processing"] = 0, ["processing"] = {}, ["last_position"] = {x = 0, y = 128}, - ["speed"] = 5, + ["speed"] = 2, } end diff --git a/maps/mountain_fortress_v2/main.lua b/maps/mountain_fortress_v2/main.lua index 4bcb2472..c78295c8 100644 --- a/maps/mountain_fortress_v2/main.lua +++ b/maps/mountain_fortress_v2/main.lua @@ -34,6 +34,21 @@ local treasure_chest_messages = { "We has found the precious!", } +local function set_difficulty() + local wave_defense_table = WD.get_table() + local player_count = #game.connected_players + + -- threat gain / wave + wave_defense_table.threat_gain_multiplier = 2 + player_count * 0.1 + + --1 additional map collapse tile / 8 players in game + global.map_collapse.speed = math.floor(player_count * 0.125) + 2 + + --20 Players for fastest wave_interval + wave_defense_table.wave_interval = 3600 - player_count * 90 + if wave_defense_table.wave_interval < 1800 then wave_defense_table.wave_interval = 1800 end +end + function Public.reset_map() local wave_defense_table = WD.get_table() global.chunk_queue = {} @@ -97,6 +112,8 @@ function Public.reset_map() Collapse.init() RPG.rpg_reset_all_players() + + set_difficulty() end local function protect_train(event) @@ -253,16 +270,6 @@ local function on_research_finished(event) event.research.force.manual_mining_speed_modifier = mining_speed_bonus end -local function set_difficulty() - local wave_defense_table = WD.get_table() - - - wave_defense_table.threat_gain_multiplier = 2 + #game.connected_players * 0.1 - --20 Players for fastest wave_interval - wave_defense_table.wave_interval = 3600 - #game.connected_players * 90 - if wave_defense_table.wave_interval < 1800 then wave_defense_table.wave_interval = 1800 end -end - local function on_player_joined_game(event) local player_modifiers = Modifier.get_table() local player = game.players[event.player_index] @@ -272,7 +279,7 @@ local function on_player_joined_game(event) local surface = game.surfaces[global.active_surface_index] if player.online_time == 0 then - player.teleport(surface.find_non_colliding_position("character", game.forces.player.get_spawn_position(surface), 3, 0.5), surface) + player.teleport(surface.find_non_colliding_position("character", game.forces.player.get_spawn_position(surface), 32, 0.5), surface) for item, amount in pairs(starting_items) do player.insert({name = item, count = amount}) end @@ -282,7 +289,7 @@ local function on_player_joined_game(event) player.character = nil player.set_controller({type=defines.controllers.god}) player.create_character() - player.teleport(surface.find_non_colliding_position("character", game.forces.player.get_spawn_position(surface), 3, 0.5), surface) + player.teleport(surface.find_non_colliding_position("character", game.forces.player.get_spawn_position(surface), 32, 0.5), surface) for item, amount in pairs(starting_items) do player.insert({name = item, count = amount}) end @@ -290,6 +297,13 @@ local function on_player_joined_game(event) player_modifiers[player.index].character_mining_speed_modifier["mountain_fortress"] = 0.5 Modifier.update_player_modifiers(player) + + local tile = surface.get_tile(player.position) + if tile.valid then + if tile.name == "out-of-map" then + player.teleport(surface.find_non_colliding_position("character", game.forces.player.get_spawn_position(surface), 32, 0.5), surface) + end + end end local function on_player_left_game(event)