You've already forked ComfyFactorio
mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-11-25 22:32:18 +02:00
Mtn: fix various bugs
This commit is contained in:
@@ -255,6 +255,7 @@ local function on_player_created(event)
|
|||||||
local player = game.players[event.player_index]
|
local player = game.players[event.player_index]
|
||||||
player.gui.top.style = 'packed_horizontal_flow'
|
player.gui.top.style = 'packed_horizontal_flow'
|
||||||
player.gui.left.style = 'vertical_flow'
|
player.gui.left.style = 'vertical_flow'
|
||||||
|
player.show_on_map = false -- hide selection on minimap
|
||||||
end
|
end
|
||||||
|
|
||||||
local Event = require 'utils.event'
|
local Event = require 'utils.event'
|
||||||
|
|||||||
@@ -46,6 +46,12 @@ local chests = {
|
|||||||
'crash-site-spaceship-wreck-medium-3'
|
'crash-site-spaceship-wreck-medium-3'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local valid_forces = {
|
||||||
|
[2] = true,
|
||||||
|
[4] = true,
|
||||||
|
[5] = true
|
||||||
|
}
|
||||||
|
|
||||||
local size_chests = #chests
|
local size_chests = #chests
|
||||||
|
|
||||||
local treasure_chest_messages = {
|
local treasure_chest_messages = {
|
||||||
@@ -368,7 +374,7 @@ local function biters_chew_rocks_faster(data)
|
|||||||
if not cause.valid then
|
if not cause.valid then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if cause.force.index ~= 2 then
|
if not valid_forces[cause.force.index] then
|
||||||
return
|
return
|
||||||
end --Enemy Force
|
end --Enemy Force
|
||||||
|
|
||||||
|
|||||||
@@ -2349,6 +2349,17 @@ function Public.on_player_changed_position(event)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if player.controller_type == defines.controllers.remote then
|
if player.controller_type == defines.controllers.remote then
|
||||||
|
local loco_surface = Public.get('loco_surface')
|
||||||
|
if not loco_surface or not loco_surface.valid then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
if player.surface.index == loco_surface.index then
|
||||||
|
local map_gen = loco_surface.map_gen_settings
|
||||||
|
if player.position.y > map_gen.height then player.set_controller { type = 1, character = player.character } end
|
||||||
|
if player.position.y < (-map_gen.height / 2) then player.set_controller { type = 1, character = player.character } end
|
||||||
|
if player.position.x > map_gen.width then player.set_controller { type = 1, character = player.character } end
|
||||||
|
if player.position.x < -map_gen.width then player.set_controller { type = 1, character = player.character } end
|
||||||
|
end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -110,6 +110,35 @@ function Public.add_player_to_permission_group(player, group, forced)
|
|||||||
not_trusted.set_allows_action(defines.input_action.set_trains_limit, false)
|
not_trusted.set_allows_action(defines.input_action.set_trains_limit, false)
|
||||||
not_trusted.set_allows_action(defines.input_action.set_train_stopped, false)
|
not_trusted.set_allows_action(defines.input_action.set_train_stopped, false)
|
||||||
not_trusted.set_allows_action(defines.input_action.deconstruct, false)
|
not_trusted.set_allows_action(defines.input_action.deconstruct, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.upgrade_opened_blueprint_by_record, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.upgrade_opened_blueprint_by_item, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.setup_single_blueprint_record, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.select_blueprint_entities, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.setup_blueprint, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.reassign_blueprint, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.parametrise_blueprint, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.open_blueprint_record, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.open_blueprint_library_gui, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.import_blueprints_filtered, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.import_blueprint_string, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.import_blueprint, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.grab_blueprint_record, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.export_blueprint, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.edit_blueprint_tool_preview, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.drop_blueprint_record, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.delete_blueprint_record, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.delete_blueprint_library, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.cycle_blueprint_book_forwards, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.cycle_blueprint_book_forwards, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.cycle_blueprint_book_backwards, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.copy_opened_blueprint, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.cycle_blueprint_book_forwards, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.copy_large_opened_blueprint, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.alt_select_blueprint_entities, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.alt_select_blueprint_entities, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.cancel_new_blueprint, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.alt_select_blueprint_entities, false)
|
||||||
|
not_trusted.set_allows_action(defines.input_action.adjust_blueprint_snapping, false)
|
||||||
|
|
||||||
if not AG.enabled then
|
if not AG.enabled then
|
||||||
default_group.add_player(player)
|
default_group.add_player(player)
|
||||||
|
|||||||
@@ -93,11 +93,19 @@ local function remove_trees(entity)
|
|||||||
local radius = 10
|
local radius = 10
|
||||||
local pos = entity.position
|
local pos = entity.position
|
||||||
local area = { { pos.x - radius, pos.y - radius }, { pos.x + radius, pos.y + radius } }
|
local area = { { pos.x - radius, pos.y - radius }, { pos.x + radius, pos.y + radius } }
|
||||||
|
|
||||||
|
-- Find all trees within the bounding rectangle
|
||||||
local trees = surface.find_entities_filtered { area = area, type = 'tree' }
|
local trees = surface.find_entities_filtered { area = area, type = 'tree' }
|
||||||
if #trees > 0 then
|
if #trees > 0 then
|
||||||
for _, tree in pairs(trees) do
|
for _, tree in pairs(trees) do
|
||||||
if tree and tree.valid then
|
if tree and tree.valid then
|
||||||
tree.destroy()
|
local dx = tree.position.x - pos.x
|
||||||
|
local dy = tree.position.y - pos.y
|
||||||
|
local distance_squared = dx * dx + dy * dy
|
||||||
|
|
||||||
|
if distance_squared <= radius * radius then
|
||||||
|
tree.destroy()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -115,7 +123,13 @@ local function remove_rocks(entity)
|
|||||||
if #rocks > 0 then
|
if #rocks > 0 then
|
||||||
for _, rock in pairs(rocks) do
|
for _, rock in pairs(rocks) do
|
||||||
if rock and rock.valid then
|
if rock and rock.valid then
|
||||||
rock.destroy()
|
local dx = rock.position.x - pos.x
|
||||||
|
local dy = rock.position.y - pos.y
|
||||||
|
local distance_squared = dx * dx + dy * dy
|
||||||
|
|
||||||
|
if distance_squared <= radius * radius then
|
||||||
|
rock.destroy()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -140,7 +154,13 @@ local function fill_tiles(entity, size)
|
|||||||
local tiles = surface.find_tiles_filtered { area = area, name = t }
|
local tiles = surface.find_tiles_filtered { area = area, name = t }
|
||||||
if #tiles > 0 then
|
if #tiles > 0 then
|
||||||
for _, tile in pairs(tiles) do
|
for _, tile in pairs(tiles) do
|
||||||
surface.set_tiles({ { name = 'sand-1', position = tile.position } }, true)
|
local dx = tile.position.x - pos.x
|
||||||
|
local dy = tile.position.y - pos.y
|
||||||
|
local distance_squared = dx * dx + dy * dy
|
||||||
|
|
||||||
|
if distance_squared <= radius * radius then
|
||||||
|
surface.set_tiles({ { name = 'sand-1', position = tile.position } }, true)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
Public.debug_print('fill_tiles - filled tiles cause we found non-placable tiles.')
|
Public.debug_print('fill_tiles - filled tiles cause we found non-placable tiles.')
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ local Global = require 'utils.global'
|
|||||||
local Core = require 'utils.core'
|
local Core = require 'utils.core'
|
||||||
local Gui = require 'utils.gui'
|
local Gui = require 'utils.gui'
|
||||||
local Event = require 'utils.event'
|
local Event = require 'utils.event'
|
||||||
|
local Server = require 'utils.server'
|
||||||
|
local log = Server.output_data
|
||||||
|
|
||||||
local this = {
|
local this = {
|
||||||
pause_waves_custom_callback = nil,
|
pause_waves_custom_callback = nil,
|
||||||
@@ -284,7 +286,7 @@ function Public.set_spawn_position(tbl)
|
|||||||
if type(tbl) == 'table' then
|
if type(tbl) == 'table' then
|
||||||
this.spawn_position = tbl
|
this.spawn_position = tbl
|
||||||
else
|
else
|
||||||
error('Tbl must be of type table.')
|
error('Tbl must be of type table.', 2)
|
||||||
end
|
end
|
||||||
return this.spawn_position
|
return this.spawn_position
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -682,8 +682,6 @@ Event.add(
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
print('Player joined game.')
|
|
||||||
|
|
||||||
local player = game.players[event.player_index]
|
local player = game.players[event.player_index]
|
||||||
on_player_joined_game(player)
|
on_player_joined_game(player)
|
||||||
create_clear_corpse_frame(player)
|
create_clear_corpse_frame(player)
|
||||||
|
|||||||
Reference in New Issue
Block a user