Night Owl 7 years ago
parent
commit
9ef79aee9e
  1. 8
      dlls/rpg.cpp
  2. 2
      dlls/weapons.cpp
  3. 2
      dlls/weapons.h

8
dlls/rpg.cpp

@ -109,8 +109,8 @@ CRpgRocket *CRpgRocket::CreateRpgRocket( Vector vecOrigin, Vector vecAngles, CBa @@ -109,8 +109,8 @@ CRpgRocket *CRpgRocket::CreateRpgRocket( Vector vecOrigin, Vector vecAngles, CBa
pRocket->pev->angles = vecAngles;
pRocket->Spawn();
pRocket->SetTouch( &CRpgRocket::RocketTouch );
pRocket->m_pLauncher = pLauncher;// remember what RPG fired me.
pRocket->m_pLauncher->m_cActiveRockets++;// register this missile as active for the launcher
pRocket->m_hLauncher = pLauncher;// remember what RPG fired me.
pLauncher->m_cActiveRockets++;// register this missile as active for the launcher
pRocket->pev->owner = pOwner->edict();
return pRocket;
@ -150,10 +150,10 @@ void CRpgRocket::Spawn( void ) @@ -150,10 +150,10 @@ void CRpgRocket::Spawn( void )
//=========================================================
void CRpgRocket::RocketTouch( CBaseEntity *pOther )
{
if( m_pLauncher )
if( CRpg* pLauncher = (CRpg*)( (CBaseEntity*)( m_hLauncher ) ) )
{
// my launcher is still around, tell it I'm dead.
m_pLauncher->m_cActiveRockets--;
pLauncher->m_cActiveRockets--;
}
STOP_SOUND( edict(), CHAN_VOICE, "weapons/rocket1.wav" );

2
dlls/weapons.cpp

@ -1518,7 +1518,7 @@ IMPLEMENT_SAVERESTORE( CRpg, CBasePlayerWeapon ) @@ -1518,7 +1518,7 @@ IMPLEMENT_SAVERESTORE( CRpg, CBasePlayerWeapon )
TYPEDESCRIPTION CRpgRocket::m_SaveData[] =
{
DEFINE_FIELD( CRpgRocket, m_flIgniteTime, FIELD_TIME ),
DEFINE_FIELD( CRpgRocket, m_pLauncher, FIELD_CLASSPTR ),
DEFINE_FIELD( CRpgRocket, m_hLauncher, FIELD_EHANDLE ),
};
IMPLEMENT_SAVERESTORE( CRpgRocket, CGrenade )

2
dlls/weapons.h

@ -725,7 +725,7 @@ public: @@ -725,7 +725,7 @@ public:
int m_iTrail;
float m_flIgniteTime;
CRpg *m_pLauncher;// pointer back to the launcher that fired me.
EHANDLE m_hLauncher; // handle back to the launcher that fired me.
};
class CGauss : public CBasePlayerWeapon

Loading…
Cancel
Save