Fix arity and return value mismatches

`assert` returns every argument it is given, so `return assert(x, msg)`
was leaking the message as a second return value.

`get_tile` is documented as taking x and y. The async function class
declared `@operator call` with no parameters, which made every async
call look over supplied.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
bbassie
2026-08-07 15:31:48 +00:00
co-authored by Claude Opus 5
parent 2fece14a45
commit f907007d14
10 changed files with 19 additions and 22 deletions
@@ -18,7 +18,7 @@ end
--- @param surface LuaSurface
--- @param position MapPosition.struct
local function degrade_tile(surface, position)
local tile = surface.get_tile(position)
local tile = surface.get_tile(position.x, position.y)
local tile_name = tile.name
local degrade_tile_name = config.degrade_order[tile_name]
if not degrade_tile_name then return end
@@ -61,7 +61,7 @@ end
--- @param position MapPosition.struct
--- @return number?
local function get_tile_strength(surface, position)
local tile = surface.get_tile(position)
local tile = surface.get_tile(position.x, position.y)
local tile_name = tile.name
local strength = config.strengths[tile_name]
if not strength then return end
+2 -2
View File
@@ -166,7 +166,7 @@ local function clear_spawn_area(surface, offset)
local get_tile = surface.get_tile
-- Make sure a non water tile is used for filling
local starting_tile = get_tile(offset)
local starting_tile = get_tile(offset.x, offset.y)
local fill_tile = starting_tile.collides_with("player") and "landfill" or starting_tile.name
local fill_radius = config.spawn_area.landfill_radius
local fill_radius_sqr = fill_radius ^ 2
@@ -186,7 +186,7 @@ local function clear_spawn_area(surface, offset)
if dst < tile_radius_sqr then
-- If it is inside the decon radius always set the tile
tiles_to_make[#tiles_to_make + 1] = { name = decon_tile, position = pos }
elseif dst < fill_radius_sqr and get_tile(pos).collides_with("player") then
elseif dst < fill_radius_sqr and get_tile(pos.x, pos.y).collides_with("player") then
-- If it is inside the fill radius only set the tile if it is water
tiles_to_make[#tiles_to_make + 1] = { name = fill_tile, position = pos }
end