From eb47aa385bb02d977c9ee759c2b7987951c16953 Mon Sep 17 00:00:00 2001 From: Dominik Geyer Date: Fri, 17 Oct 2008 15:38:36 +0000 Subject: added delay before respawn when using the kill-command; provided and tested by scosu; ticket #463 --- src/game/server/hooks.cpp | 2 +- src/game/server/player.cpp | 3 ++- src/game/server/player.hpp | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/game/server/hooks.cpp b/src/game/server/hooks.cpp index d8e6c9bb..7fb79236 100644 --- a/src/game/server/hooks.cpp +++ b/src/game/server/hooks.cpp @@ -315,7 +315,7 @@ void mods_message(int msgtype, int client_id) return; p->last_kill = time_get(); - + p->respawn_tick = server_tick()+server_tickspeed()*3; p->kill_character(); //(client_id, -1); } } diff --git a/src/game/server/player.cpp b/src/game/server/player.cpp index 02e92c36..b31c4d2f 100644 --- a/src/game/server/player.cpp +++ b/src/game/server/player.cpp @@ -9,6 +9,7 @@ MACRO_ALLOC_POOL_ID_IMPL(PLAYER, MAX_CLIENTS) PLAYER::PLAYER(int client_id) { + respawn_tick = server_tick(); character = 0; this->client_id = client_id; } @@ -56,7 +57,7 @@ void PLAYER::tick() character = 0; } } - else if(spawning) + else if(spawning && respawn_tick <= server_tick()) try_respawn(); } diff --git a/src/game/server/player.hpp b/src/game/server/player.hpp index 24713c93..e88ce858 100644 --- a/src/game/server/player.hpp +++ b/src/game/server/player.hpp @@ -20,6 +20,7 @@ public: int color_body; int color_feet; + int respawn_tick; // bool spawning; int client_id; -- cgit 1.4.1