From bfca154ec14a964a3b8337fa5438d8c3af356a11 Mon Sep 17 00:00:00 2001 From: Zsolt Zitting Date: Wed, 17 Jan 2024 23:31:07 -0800 Subject: [PATCH] make players spawn at any available spawn if one doesn't exist for the mode. --- src/engine/world.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/engine/world.cpp b/src/engine/world.cpp index 4e8b31d4..8dec4473 100644 --- a/src/engine/world.cpp +++ b/src/engine/world.cpp @@ -1163,6 +1163,16 @@ float gatherspawninfos(dynent *d, int tag, vector &spawninfos) s.weight = game::ratespawn(d, e); total += s.weight; } + if (spawninfos.empty() && !ents.empty()) { + if (tag == 0) { // in FFA mode with team spawns + conoutf(CON_WARN, "\f3no spawns available for neutral players, spawning at team spawn!"); + return gatherspawninfos(d, 1, spawninfos) + gatherspawninfos(d, 2, spawninfos); + } + else { // in team mode with FFA spawns + conoutf(CON_WARN, "\f3no spawns available for team players, spawning at neutral spawn!"); + return gatherspawninfos(d, 0, spawninfos); + } + } return total; }