From 0357cb16fe1eb782a9ba359a70bcd3bdc34d2da7 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Wed, 1 Mar 2023 16:18:39 -0800 Subject: [PATCH] func_vip_safetyzone: make that work again as well. --- src/server/func_vip_safetyzone.qc | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/server/func_vip_safetyzone.qc b/src/server/func_vip_safetyzone.qc index 6b0d7bd..a500217 100644 --- a/src/server/func_vip_safetyzone.qc +++ b/src/server/func_vip_safetyzone.qc @@ -49,13 +49,20 @@ func_vip_safetyzone::Respawn(void) void func_vip_safetyzone::Touch(entity eToucher) { + CSMultiplayerRules rule = (CSMultiplayerRules)g_grMode; + player pl = (player)eToucher; - if (!(eToucher.flags & FL_CLIENT)) + if (pl.classname != "player") + return; + if (pl.team != TEAM_VIP) return; - if (pl.team == TEAM_VIP) { - Money_AddMoney(pl, 2500); - //RoundOver(TEAM_CT, 0, FALSE); - } + /* CTs win the round */ + rule.RoundOver(TEAM_CT, 3600, FALSE); + /* VIP receives money to spend */ + Money_AddMoney(pl, 2500); + + /* mark player as spectator for the end of this 'round' */ + pl.MakeTempSpectator(); }