diff --git a/modules/scrap_towny_ffa/nauvis.lua b/modules/scrap_towny_ffa/nauvis.lua index 79f912b6..c4905d4f 100644 --- a/modules/scrap_towny_ffa/nauvis.lua +++ b/modules/scrap_towny_ffa/nauvis.lua @@ -1,7 +1,6 @@ local Public = {} --local Server = require 'utils.server' -local Table = require 'modules.scrap_towny_ffa.table' local function create_limbo() game.create_surface('limbo') @@ -9,7 +8,6 @@ end local function initialize_nauvis() local surface = game.surfaces['nauvis'] - local map_seed = Table.get('map_seed') -- this overrides what is in the map_gen_settings.json file local mgs = surface.map_gen_settings @@ -119,7 +117,7 @@ local function initialize_nauvis() -- this will make and average base radius around 12 tiles ['enemy-base-radius'] = 12 } - mgs.seed = map_seed + mgs.seed = game.surfaces[1].map_gen_settings.seed surface.map_gen_settings = mgs surface.peaceful_mode = false surface.always_day = false diff --git a/modules/scrap_towny_ffa/table.lua b/modules/scrap_towny_ffa/table.lua index d7967741..2d453d2e 100644 --- a/modules/scrap_towny_ffa/table.lua +++ b/modules/scrap_towny_ffa/table.lua @@ -2,9 +2,7 @@ local Public = {} -- one table to rule them all! local Global = require 'utils.global' -local ffatable = { - map_seed = 3747269588 -} +local ffatable = {} Global.register( ffatable, function(tbl) diff --git a/modules/scrap_towny_ffa/team.lua b/modules/scrap_towny_ffa/team.lua index accad2b5..ab03589d 100644 --- a/modules/scrap_towny_ffa/team.lua +++ b/modules/scrap_towny_ffa/team.lua @@ -92,31 +92,31 @@ local function is_towny(force) return true end -function Public.has_key(player_index) +function Public.has_key(index) local ffatable = Table.get_table() if ffatable.key == nil then ffatable.key = {} end - if ffatable.key[player_index] ~= nil then - return ffatable.key[player_index] + if ffatable.key[index] ~= nil then + return ffatable.key[index] end return false end -function Public.give_key(player_index) +function Public.give_key(index) local ffatable = Table.get_table() if ffatable.key == nil then ffatable.key = {} end - ffatable.key[player_index] = true + ffatable.key[index] = true end -function Public.remove_key(player_index) +function Public.remove_key(index) local ffatable = Table.get_table() if ffatable.key == nil then ffatable.key = {} end - ffatable.key[player_index] = false + ffatable.key[index] = false end function Public.set_player_color(player) @@ -206,7 +206,7 @@ function Public.set_player_to_outlander(player) player.tag = '[Outlander]' Map.disable_world_map(player) Public.set_player_color(player) - Public.give_key(player) + Public.give_key(player.index) end local function set_player_to_rogue(player) diff --git a/modules/scrap_towny_ffa/town_center.lua b/modules/scrap_towny_ffa/town_center.lua index fdd8b2e6..4b12657e 100644 --- a/modules/scrap_towny_ffa/town_center.lua +++ b/modules/scrap_towny_ffa/town_center.lua @@ -15,7 +15,7 @@ local Color = require 'utils.color_presets' local town_radius = 27 local radius_between_towns = 64 -local ore_amount = 1000 * (200/168.5) +local ore_amount = 1000 * (200 / 168.5) local colors = {} local c1 = 250 @@ -136,7 +136,9 @@ local starter_supplies = { local function count_nearby_ore(surface, position, ore_name) local count = 0 local r = town_radius + 8 - for _, e in pairs(surface.find_entities_filtered({area = {{position.x - r, position.y - r}, {position.x + r, position.y + r}}, force = 'neutral', name = ore_name})) do + for _, e in pairs( + surface.find_entities_filtered({area = {{position.x - r, position.y - r}, {position.x + r, position.y + r}}, force = 'neutral', name = ore_name}) + ) do count = count + e.amount end return count @@ -277,12 +279,12 @@ local function is_valid_location(force_name, surface, position) local ffatable = Table.get_table() if not surface.can_place_entity({name = 'market', position = position}) then surface.create_entity( - { - name = 'flying-text', - position = position, - text = 'Position is obstructed - no room for market!', - color = {r = 0.77, g = 0.0, b = 0.0} - } + { + name = 'flying-text', + position = position, + text = 'Position is obstructed - no room for market!', + color = {r = 0.77, g = 0.0, b = 0.0} + } ) return false end @@ -370,13 +372,17 @@ end local function found_town(event) local entity = event.created_entity -- is a valid entity placed? - if entity == nil or not entity.valid then return end + if entity == nil or not entity.valid then + return + end local player = game.players[event.player_index] -- is player not a character? local character = player.character - if character == nil then return end + if character == nil then + return + end -- is it a stone-furnace? if entity.name ~= 'stone-furnace' then @@ -421,12 +427,12 @@ local function found_town(event) if ffatable.cooldowns_town_placement[player.index] then if game.tick < ffatable.cooldowns_town_placement[player.index] then surface.create_entity( - { - name = 'flying-text', - position = position, - text = 'Town founding is on cooldown for ' .. math.ceil((ffatable.cooldowns_town_placement[player.index] - game.tick) / 3600) .. ' minutes.', - color = {r = 0.77, g = 0.0, b = 0.0} - } + { + name = 'flying-text', + position = position, + text = 'Town founding is on cooldown for ' .. math.ceil((ffatable.cooldowns_town_placement[player.index] - game.tick) / 3600) .. ' minutes.', + color = {r = 0.77, g = 0.0, b = 0.0} + } ) player.insert({name = 'stone-furnace', count = 1}) return @@ -446,7 +452,7 @@ local function found_town(event) player.insert({name = 'stone-furnace', count = 1}) return else - inventory.remove({name='coin',count=100}) + inventory.remove({name = 'coin', count = 100}) end local force = Team.add_new_force(force_name) @@ -478,7 +484,7 @@ local function found_town(event) town_center.creation_tick = game.tick town_center.town_caption = - rendering.draw_text { + rendering.draw_text { text = town_center.town_name, surface = surface, forces = {force_name}, @@ -492,7 +498,7 @@ local function found_town(event) } town_center.health_text = - rendering.draw_text { + rendering.draw_text { text = 'HP: ' .. town_center.health .. ' / ' .. town_center.max_health, surface = surface, forces = {force_name}, @@ -506,7 +512,7 @@ local function found_town(event) } town_center.coins_text = - rendering.draw_text { + rendering.draw_text { text = 'Coins: ' .. town_center.coin_balance, surface = surface, forces = {force_name}, @@ -530,7 +536,7 @@ local function found_town(event) force.set_spawn_position(pos, surface) Team.add_player_to_town(player, town_center) - Team.remove_key(player) + Team.remove_key(player.index) Team.add_chart_tag(town_center) game.print('>> ' .. player.name .. ' has founded a new town!', {255, 255, 0}) @@ -603,16 +609,16 @@ local function rename_town(cmd) Team.set_player_color(p) end - game.print('>> ' .. old_name .. " is now known as " .. '"' .. name .. '"', {255, 255, 0}) + game.print('>> ' .. old_name .. ' is now known as ' .. '"' .. name .. '"', {255, 255, 0}) Server.to_discord_embed(old_name .. ' is now known as ' .. '"' .. name .. '"') end commands.add_command( - 'rename-town', - 'Renames your town..', - function(cmd) - rename_town(cmd) - end + 'rename-town', + 'Renames your town..', + function(cmd) + rename_town(cmd) + end ) local Event = require 'utils.event' diff --git a/terrain_layouts/scrap_towny_ffa.lua b/terrain_layouts/scrap_towny_ffa.lua index 7e258a4f..70bedd36 100644 --- a/terrain_layouts/scrap_towny_ffa.lua +++ b/terrain_layouts/scrap_towny_ffa.lua @@ -188,7 +188,9 @@ local size_of_scrap_raffle = #scrap_raffle local function place_scrap(surface, position) local ffatable = Table.get_table() - if ffatable.spaceships == nil then ffatable.spaceships = {} end + if ffatable.spaceships == nil then + ffatable.spaceships = {} + end -- place turrets if math_random(1, 700) == 1 then if position.x ^ 2 + position.x ^ 2 > 4096 then @@ -203,13 +205,17 @@ local function place_scrap(surface, position) -- place market spaceship if math_random(1, 4096) == 1 then local spaceship = {} - spaceship.market = surface.create_entity({name = 'crash-site-spaceship-market', position = position, force = 'neutral'}) - spaceship.market.minable = false - spaceship.max_health = 300 - spaceship.health = spaceship.max_health - if spaceship.market ~= nil then - if ffatable.spaceships[position.x] == nil then ffatable.spaceships[position.x] = {} end - ffatable.spaceships[position.x][position.y] = spaceship + if surface.can_place_entity({name = 'crash-site-spaceship-market', position = position, force = 'neutral'}) then + spaceship.market = surface.create_entity({name = 'crash-site-spaceship-market', position = position, force = 'neutral'}) + spaceship.market.minable = false + spaceship.max_health = 300 + spaceship.health = spaceship.max_health + if spaceship.market and spaceship.market.valid then + if ffatable.spaceships[position.x] == nil then + ffatable.spaceships[position.x] = {} + end + ffatable.spaceships[position.x][position.y] = spaceship + end end return end @@ -311,7 +317,7 @@ local function on_chunk_generated(event) --log('chunk_position = {' .. chunk_position.x .. ',' .. chunk_position.y .. '}') if chunk_position.x >= -33 and chunk_position.x <= 32 and chunk_position.y >= -33 and chunk_position.y <= 32 then if chunk_position.x == -33 or chunk_position.x == 32 or chunk_position.y == -33 or chunk_position.y == 32 then - local area = {{x = left_top_x, y = left_top_y},{x = left_top_x + 31, y = left_top_y + 31}} + local area = {{x = left_top_x, y = left_top_y}, {x = left_top_x + 31, y = left_top_y + 31}} local entities = surface.find_entities(area) for _, e in pairs(entities) do e.destroy() @@ -328,7 +334,7 @@ local function on_chunk_generated(event) end end if chunk_position.x < -33 or chunk_position.x > 32 or chunk_position.y < -33 or chunk_position.y > 32 then - local area = {{x = left_top_x, y = left_top_y},{x = left_top_x + 31, y = left_top_y + 31}} + local area = {{x = left_top_x, y = left_top_y}, {x = left_top_x + 31, y = left_top_y + 31}} local entities = surface.find_entities(area) for _, e in pairs(entities) do e.destroy()