From fd9d2084828292f88f569a4d02e75b30a7f6fdc2 Mon Sep 17 00:00:00 2001 From: Teetime Date: Sat, 18 Feb 2012 18:24:07 +0100 Subject: no endless ammo for grenade and all weapons, so player cannot shoot anymore all the time --- src/game/server/entities/character.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (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 c70e0850..47f5e9f4 100644 --- a/src/game/server/entities/character.cpp +++ b/src/game/server/entities/character.cpp @@ -472,6 +472,17 @@ void CCharacter::HandleWeapons() // ammo regen int AmmoRegenTime = g_pData->m_Weapons.m_aId[m_ActiveWeapon].m_Ammoregentime; + if(GameServer()->m_pController->IsZCatch() && m_aWeapons[m_ActiveWeapon].m_Ammo > -1) + { + switch(m_ActiveWeapon) + { + case WEAPON_GUN: AmmoRegenTime = 125*5; break; + case WEAPON_GRENADE: AmmoRegenTime = 1000; break; + case WEAPON_RIFLE: AmmoRegenTime = 1200; break; + case WEAPON_SHOTGUN: AmmoRegenTime = 1000; break; + } + } + if(AmmoRegenTime) { // If equipped and not active, regen ammo? @@ -483,7 +494,7 @@ void CCharacter::HandleWeapons() if ((Server()->Tick() - m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart) >= AmmoRegenTime * Server()->TickSpeed() / 1000) { // Add some ammo - m_aWeapons[m_ActiveWeapon].m_Ammo = min(m_aWeapons[m_ActiveWeapon].m_Ammo + 1, 10); + m_aWeapons[m_ActiveWeapon].m_Ammo = min(m_aWeapons[m_ActiveWeapon].m_Ammo + 1, (GameServer()->m_pController->IsZCatch()) ? 6 : 10); m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart = -1; } } -- cgit 1.4.1