void CCharacter::HandleWeapons() { //ninja HandleNinja(); // check reload timer if(m_ReloadTimer) { m_ReloadTimer--; return; } // fire Weapon, if wanted FireWeapon(); // ammo regen int AmmoRegenTime = g_pData->m_Weapons.m_aId[m_ActiveWeapon].m_Ammoregentime; if(AmmoRegenTime) { // If equipped and not active, regen ammo? if (m_ReloadTimer <= 0) { if (m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart < 0) m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart = Server()->Tick(); 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_AmmoRegenStart = -1; } } else { m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart = -1; } } /* INFECTION MODIFICATION START ***************************************/ if(GetClass() == PLAYERCLASS_ZOMBIE) { if(m_Core.m_HookedPlayer >= 0) { CCharacter *VictimChar = GameServer()->GetPlayerChar(m_Core.m_HookedPlayer); if(VictimChar) { if(m_PoisonTick + Server()->TickSpeed()*0.5 < Server()->Tick()) { m_PoisonTick = Server()->Tick(); VictimChar->TakeDamage(vec2(0.0f,0.0f), 1, m_pPlayer->GetCID(), WEAPON_NINJA); } } } } /* INFECTION MODIFICATION END *****************************************/ return; }
void CCharacter::HandleWeapons() { //ninja HandleNinja(); // check reload timer if(m_ReloadTimer) { m_ReloadTimer--; return; } // fire Weapon, if wanted FireWeapon(); // ammo regen int AmmoRegenTime = g_pData->m_Weapons.m_aId[m_ActiveWeapon].m_Ammoregentime; if(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? if (m_ReloadTimer <= 0) { if (m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart < 0) m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart = Server()->Tick(); 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_AmmoRegenStart = -1; } } else { m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart = -1; } } return; }
void CCharacter::HandleWeapons() { //ninja HandleNinja(); vec2 Direction = normalize(vec2(m_LatestInput.m_TargetX, m_LatestInput.m_TargetY)); // check reload timer if(m_ReloadTimer) { m_ReloadTimer--; return; } // fire Weapon, if wanted FireWeapon(); // ammo regen int AmmoRegenTime = g_pData->m_Weapons.m_aId[m_ActiveWeapon].m_Ammoregentime; if(AmmoRegenTime) { // If equipped and not active, regen ammo? if (m_ReloadTimer <= 0) { if (m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart < 0) m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart = Server()->Tick(); 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_AmmoRegenStart = -1; } } else { m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart = -1; } } return; }
void CCharacter::HandleWeapons() { //ninja HandleNinja(); // check reload timer if(m_ReloadTimer) { m_ReloadTimer--; return; } // fire Weapon, if wanted FireWeapon(); // ammo regen int AmmoRegenTime = g_pData->m_Weapons.m_aId[m_ActiveWeapon].m_Ammoregentime; if(AmmoRegenTime && m_aWeapons[m_ActiveWeapon].m_Ammo >= 0) { // If equipped and not active, regen ammo? if (m_ReloadTimer <= 0) { if (m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart < 0) m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart = Server()->Tick(); 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, g_pData->m_Weapons.m_aId[m_ActiveWeapon].m_Maxammo); m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart = -1; } } else { m_aWeapons[m_ActiveWeapon].m_AmmoRegenStart = -1; } } return; }