diff --git a/src/zr/infect.inc b/src/zr/infect.inc index b4b97eb..8c53da5 100644 --- a/src/zr/infect.inc +++ b/src/zr/infect.inc @@ -278,6 +278,13 @@ InfectOnClientSpawn(client) // Disable zombie flag on client. g_bZombie[client] = false; + // Check if client is spawning on the terrorists team. + if (ZRIsClientOnTeam(client, CS_TEAM_T) && InfectHasZombieSpawned()) + { + CS_SwitchTeam(client, CS_TEAM_CT); + CS_RespawnPlayer(client); + } + InfectUnglitchKevlar(client); // Forward event to modules. diff --git a/src/zr/zspawn.inc b/src/zr/zspawn.inc index 8e5ac67..a38b67b 100644 --- a/src/zr/zspawn.inc +++ b/src/zr/zspawn.inc @@ -130,29 +130,10 @@ ZSpawnOnClientSpawn(client) switch(condition) { - case ZSpawn_Human, ZSpawn_Block: - { - // Disable zombie flag on client. - g_bZombie[client] = false; - - // Check if client is spawning on the terrorists team. - if (ZRIsClientOnTeam(client, CS_TEAM_T)) - { - CS_SwitchTeam(client, CS_TEAM_CT); - CS_RespawnPlayer(client); - } - } case ZSpawn_Zombie: { - // Enable zombie flag on client. - g_bZombie[client] = true; - - // Check if client is spawning on the counter-terrorists team. - if (ZRIsClientOnTeam(client, CS_TEAM_CT)) - { - CS_SwitchTeam(client, CS_TEAM_T); - CS_RespawnPlayer(client); - } + // Our client should be infected. + InfectHumanToZombie(client); } } } @@ -559,15 +540,15 @@ ZSpawnCondition:GetZSpawnCondition() new zspawntimelimitzombie = GetConVarInt(g_hCvarsList[CVAR_ZSPAWN_TIMELIMIT_ZOMBIE]); switch(zspawntimelimitzombie) { - case -1: + case ZSpawn_Block: { condition = ZSpawn_Block; } - case 0: + case ZSpawn_Human: { condition = ZSpawn_Human; } - case 1: + case ZSpawn_Zombie: { condition = ZSpawn_Zombie; }