Browse Source

game: fixed npc_manhack not notifying npc_template_maker/npc_maker when thrown and destroyed with gravity gun. (ValveSoftware/source-sdk-2013#362)

pull/112/head
SanyaSho 2 years ago
parent
commit
148035ce31
  1. 6
      game/server/hl2/npc_manhack.cpp
  2. 1
      game/server/hl2/npc_manhack.h

6
game/server/hl2/npc_manhack.cpp

@ -3007,6 +3007,8 @@ void CNPC_Manhack::OnPhysGunPickup( CBasePlayer *pPhysGunUser, PhysGunPickup_t r @@ -3007,6 +3007,8 @@ void CNPC_Manhack::OnPhysGunPickup( CBasePlayer *pPhysGunUser, PhysGunPickup_t r
}
else
{
m_pPrevOwner.Set( GetOwnerEntity() );
// Suppress collisions between the manhack and the player; we're currently bumping
// almost certainly because it's not purely a physics object.
SetOwnerEntity( pPhysGunUser );
@ -3022,8 +3024,10 @@ void CNPC_Manhack::OnPhysGunPickup( CBasePlayer *pPhysGunUser, PhysGunPickup_t r @@ -3022,8 +3024,10 @@ void CNPC_Manhack::OnPhysGunPickup( CBasePlayer *pPhysGunUser, PhysGunPickup_t r
//-----------------------------------------------------------------------------
void CNPC_Manhack::OnPhysGunDrop( CBasePlayer *pPhysGunUser, PhysGunDrop_t Reason )
{
SetOwnerEntity( m_pPrevOwner.Get() );
// Stop suppressing collisions between the manhack and the player
SetOwnerEntity( NULL );
m_pPrevOwner.Set( NULL );
m_bHeld = false;

1
game/server/hl2/npc_manhack.h

@ -254,6 +254,7 @@ private: @@ -254,6 +254,7 @@ private:
CSprite *m_pLightGlow;
CHandle<SmokeTrail> m_hSmokeTrail;
CHandle<CBaseEntity> m_pPrevOwner;
int m_iPanel1;
int m_iPanel2;

Loading…
Cancel
Save