From c65da553dac2a00f5db57766125df9cc5d4de4b5 Mon Sep 17 00:00:00 2001 From: MewMew Date: Mon, 27 Apr 2020 18:23:35 +0200 Subject: [PATCH] tweaks --- control.lua | 14 ++++---- maps/railway_troopers_v2/main.lua | 54 +++++++++++++++++-------------- modules/dangerous_nights.lua | 2 +- 3 files changed, 37 insertions(+), 33 deletions(-) diff --git a/control.lua b/control.lua index 9c30f2fd..c6bf10f4 100644 --- a/control.lua +++ b/control.lua @@ -36,9 +36,7 @@ require "modules.autostash" --require "modules.biters_double_damage" --require "modules.burden" --require "modules.comfylatron" ---require "modules.spaghett_challenge" --require "modules.dangerous_goods" ---require "modules.dynamic_landfill" --require "modules.explosive_biters" --require "modules.explosive_player_respawn" --require "modules.explosives_are_explosive" @@ -56,13 +54,13 @@ require "modules.autostash" --require "modules.ores_are_mixed" --require "modules.team_teleport" --(REQUIRES "on_tick_schedule" !) --require "modules.surrounded_by_worms" ---require "modules.more_attacks" ---require "modules.evolution_extended" --require "modules.no_blueprint_library" --require "modules.explosives" --require "modules.biter_pets" --require "modules.no_solar" --require "modules.biter_reanimator" +--require "modules.force_health_booster" +--require "modules.immersive_cargo_wagons.main" --require "modules.wave_defense.main" --require "modules.fjei.main" ----------------------------- @@ -71,15 +69,12 @@ require "modules.autostash" --require "maps.chronosphere.main" --require "maps.fish_defender.main" --require "maps.biter_battles_v2.main" ---require "maps.native_war.main" --require "maps.mountain_fortress_v2.main" --require "maps.dungeons.main" --require "maps.island_troopers.main" --require "maps.biter_hatchery.main" --require "maps.junkyard_pvp.main" --require "maps.scrapyard.main" ---require "maps.tank_conquest.tank_conquest" ---require "maps.territorial_control" --require "maps.cave_choppy.cave_miner" --require "maps.wave_of_death.WoD" --require "maps.planet_prison" @@ -87,6 +82,7 @@ require "modules.autostash" --require "maps.choppy" --require "maps.overgrowth" --require "maps.quarters" +--require "maps.railway_troopers_v2.main" --require "maps.railway_troopers.main" --require "maps.tetris.main" --require "maps.maze_challenge" @@ -96,6 +92,10 @@ require "modules.autostash" --require "maps.hedge_maze" --require "maps.spooky_forest" --require "maps.mixed_railworld" +--require "maps.scrap_railworld" +--require "maps.tank_conquest.tank_conquest" +--require "maps.native_war.main" +--require "maps.territorial_control" --require "maps.biter_battles.biter_battles" --require "maps.fish_defender_v1.fish_defender" --require "maps.mountain_fortress" diff --git a/maps/railway_troopers_v2/main.lua b/maps/railway_troopers_v2/main.lua index c3ebf2c9..667f0011 100644 --- a/maps/railway_troopers_v2/main.lua +++ b/maps/railway_troopers_v2/main.lua @@ -1,13 +1,12 @@ -require "modules.dynamic_player_spawn" require "modules.biters_yield_ore" require "modules.difficulty_vote" local difficulties_votes = { - [1] = 16, - [2] = 8, - [3] = 6, - [4] = 4, - [5] = 3, + [1] = 32, + [2] = 16, + [3] = 8, + [4] = 6, + [5] = 4, [6] = 2, [7] = 1 } @@ -31,13 +30,14 @@ local function place_spawn_entities(surface) end local entity = surface.create_entity({name = "cargo-wagon", position = {-24, 1}, force = "player", direction = 2}) + entity.get_inventory(defines.inventory.cargo_wagon).insert({name = "submachine-gun", count = 3}) entity.get_inventory(defines.inventory.cargo_wagon).insert({name = "firearm-magazine", count = 600}) entity.get_inventory(defines.inventory.cargo_wagon).insert({name = "shotgun", count = 2}) - entity.get_inventory(defines.inventory.cargo_wagon).insert({name = "shotgun-shell", count = 64}) + entity.get_inventory(defines.inventory.cargo_wagon).insert({name = "shotgun-shell", count = 128}) entity.get_inventory(defines.inventory.cargo_wagon).insert({name = "light-armor", count = 5}) entity.get_inventory(defines.inventory.cargo_wagon).insert({name = "grenade", count = 32}) entity.get_inventory(defines.inventory.cargo_wagon).insert({name = "pistol", count = 10}) - entity.get_inventory(defines.inventory.cargo_wagon).insert({name = "rail", count = 100}) + entity.get_inventory(defines.inventory.cargo_wagon).insert({name = "rail", count = 200}) Immersive_cargo_wagons.register_wagon(entity) local entity = surface.create_entity({name = "locomotive", position = {-18, 0}, force = "player", direction = 2}) @@ -94,14 +94,15 @@ local function map_reset() global.collapse_tiles = {} reset_difficulty_poll() - global.difficulty_poll_closing_timeout = game.tick + 3600 + global.difficulty_poll_closing_timeout = game.tick + 7200 + game.difficulty_settings.technology_price_multiplier = 0.5 game.map_settings.enemy_evolution.destroy_factor = 0.001 game.map_settings.enemy_evolution.pollution_factor = 0 game.map_settings.enemy_evolution.time_factor = 0 game.map_settings.enemy_expansion.enabled = true - game.map_settings.enemy_expansion.max_expansion_cooldown = 900 - game.map_settings.enemy_expansion.min_expansion_cooldown = 900 + game.map_settings.enemy_expansion.max_expansion_cooldown = 3600 + game.map_settings.enemy_expansion.min_expansion_cooldown = 3600 game.map_settings.enemy_expansion.settler_group_max_size = 128 game.map_settings.enemy_expansion.settler_group_min_size = 32 game.map_settings.enemy_expansion.max_expansion_distance = 16 @@ -124,6 +125,7 @@ local function map_reset() force.set_spawn_position({-30, 0}, surface) force.technologies["railway"].researched = true force.technologies["engine"].researched = true + force.technologies["fluid-wagon"].researched = true local types_to_disable = { ["ammo"] = true, @@ -164,11 +166,6 @@ local function draw_east_side(surface, left_top) end end -local function on_player_died(event) - local player = game.players[event.player_index] - player.force.set_spawn_position({global.collapse_x + 32, 0}, game.surfaces.railway_troopers) -end - local function on_chunk_generated(event) local surface = event.surface if surface.name ~= "railway_troopers" then return end @@ -220,27 +217,35 @@ local function on_tick() end return end - if surface.count_entities_filtered({name = {"rail", "locomotive", "cargo-wagon"}, limit = 1}) == 0 then - game.print("All the rails have have been destroyed! Game Over!") + + local wagons = surface.find_entities_filtered({name = {"locomotive", "cargo-wagon", "fluid-wagon", "artillery-wagon"}, limit = 1}) + if not wagons[1] then + game.print("All the choos have have been destroyed! Game Over!") global.reset_railway_troopers = 1 return + else + game.forces.player.set_spawn_position(wagons[1].position, game.surfaces.railway_troopers) end end local speed = difficulties_votes[global.difficulty_vote_index] if tick % speed ~= 0 then return end if not global.collapse_tiles then - global.collapse_tiles = surface.find_tiles_filtered({area = {{global.collapse_x - 1, negative_map_height}, {global.collapse_x, map_height + 1}}}) + local area = {{global.collapse_x - 1, negative_map_height}, {global.collapse_x, map_height + 1}} + game.forces.player.chart(surface, area) + global.collapse_tiles = surface.find_tiles_filtered({area = area}) global.size_of_collapse_tiles = #global.collapse_tiles global.collapse_x = global.collapse_x + 1 if global.size_of_collapse_tiles == 0 then global.collapse_tiles = nil return end table.shuffle_table(global.collapse_tiles) end - local tile = global.collapse_tiles[global.size_of_collapse_tiles] - if not tile then global.collapse_tiles = nil return end - global.size_of_collapse_tiles = global.size_of_collapse_tiles - 1 - for _, e in pairs(surface.find_entities_filtered({position = {tile.position.x + 1.5, tile.position.y + 0.5}})) do e.die() end - surface.set_tiles({{name = "out-of-map", position = tile.position}}, true) + for _ = 1, 2, 1 do + local tile = global.collapse_tiles[global.size_of_collapse_tiles] + if not tile then global.collapse_tiles = nil return end + global.size_of_collapse_tiles = global.size_of_collapse_tiles - 1 + for _, e in pairs(surface.find_entities_filtered({position = {tile.position.x + 1.5, tile.position.y + 0.5}})) do e.die() end + surface.set_tiles({{name = "out-of-map", position = tile.position}}, true) + end end local function on_init() @@ -279,7 +284,6 @@ end local Event = require 'utils.event' Event.on_init(on_init) Event.add(defines.events.on_tick, on_tick) -Event.add(defines.events.on_player_died, on_player_died) Event.add(defines.events.on_research_finished, on_research_finished) Event.add(defines.events.on_entity_died, on_entity_died) Event.add(defines.events.on_entity_spawned, on_entity_spawned) diff --git a/modules/dangerous_nights.lua b/modules/dangerous_nights.lua index d3bf824a..cd813698 100644 --- a/modules/dangerous_nights.lua +++ b/modules/dangerous_nights.lua @@ -21,7 +21,7 @@ local function on_player_changed_position(event) if player.character.driving == true then return end if player.surface.daytime < 0.33 then return end if player.surface.daytime > 0.66 then return end - if math.random(1,32) ~= 1 then return end + if math.random(1,32) ~= 1 then return end for _, lamp in pairs(player.surface.find_entities_filtered({area={{player.position.x - 18, player.position.y - 18},{player.position.x + 18, player.position.y + 18}}, name="small-lamp"})) do local circuit = lamp.get_or_create_control_behavior()