From f1cf5c43e6e9b356c30a5d3b460af23390082513 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Fri, 21 Nov 2025 23:08:23 +0300 Subject: [PATCH] feat: throw exception in headless mode if player id is not passed to player.* functions --- src/logic/scripting/lua/libs/libplayer.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/logic/scripting/lua/libs/libplayer.cpp b/src/logic/scripting/lua/libs/libplayer.cpp index 45c396fe..14ec4845 100644 --- a/src/logic/scripting/lua/libs/libplayer.cpp +++ b/src/logic/scripting/lua/libs/libplayer.cpp @@ -10,10 +10,18 @@ #include "physics/Hitbox.hpp" #include "window/Camera.hpp" #include "world/Level.hpp" +#include "engine/Engine.hpp" using namespace scripting; inline Player* get_player(lua::State* L, int idx) { + if (!lua::isnumber(L, idx)) { + if (engine->isHeadless()) { + throw std::runtime_error( + "player id required as argument #" + std::to_string(idx) + ); + } + } return level->players->get(lua::tointeger(L, idx)); }