From 5bf6ba19e964856396fcd470cfd52c47f8b1a55b Mon Sep 17 00:00:00 2001 From: Teetime Date: Sat, 18 Feb 2012 16:55:57 +0100 Subject: added laserjumps and cleaned up some code --- src/game/server/entities/character.cpp | 35 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 21 deletions(-) (limited to 'src/game/server/entities/character.cpp') diff --git a/src/game/server/entities/character.cpp b/src/game/server/entities/character.cpp index 60b1d0f9..c70e0850 100644 --- a/src/game/server/entities/character.cpp +++ b/src/game/server/entities/character.cpp @@ -780,36 +780,29 @@ bool CCharacter::TakeDamage(vec2 Force, int Dmg, int From, int Weapon) return false; /* zCatch */ - bool Is_zCatch = GameServer()->m_pController->IsZCatch(); - - if(From == m_pPlayer->GetCID()) + if(GameServer()->m_pController->IsZCatch()) { - //No selfdamage - if(Is_zCatch) - Dmg = 0; - // m_pPlayer only inflicts half damage on self - else + if(From == m_pPlayer->GetCID() || Weapon == WEAPON_GAME) + return false; + + if(g_Config.m_SvMode == 4 && Weapon == WEAPON_GRENADE && Dmg < g_Config.m_SvGrenadeMinDamage) + return false; + + m_Health = 0; + m_Armor = 0; + } + else + { + if(From == m_pPlayer->GetCID()) Dmg = max(1, Dmg/2); } - - if(g_Config.m_SvMode == 4 && Weapon == WEAPON_GRENADE && Dmg < g_Config.m_SvGrenadeMinDamage) - Dmg = 0; /* end zCatch */ m_DamageTaken++; if(Dmg) { - /* zCatch*/ - //One-Shot-One-Kill - if(Is_zCatch) - { - m_Health = 0; - m_Armor = 0; - } - /* end zCatch*/ - - else if(m_Armor) + if(m_Armor) { if(Dmg > 1) { -- cgit 1.4.1