This commit is contained in:
FlaminSarge 2025-04-04 00:44:36 -07:00 committed by GitHub
commit ab9c1008f3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 5 deletions

View file

@ -193,13 +193,14 @@ void CObjectSapper::FinishedBuilding( void )
CBaseObject *pObject = dynamic_cast<CBaseObject *>( m_hBuiltOnEntity.Get() );
if ( pObject )
{
if ( GetBuilder() && pObject->GetBuilder() )
if ( GetBuilder() )
{
IGameEvent * event = gameeventmanager->CreateEvent( "player_sapped_object" );
if ( event )
{
CTFPlayer *pObjectBuilder = pObject->GetBuilder();
event->SetInt( "userid", GetBuilder()->GetUserID() );
event->SetInt( "ownerid", pObject->GetBuilder()->GetUserID() );
event->SetInt( "ownerid", pObjectBuilder ? pObjectBuilder->GetUserID() : -1 );
event->SetInt( "object", pObject->ObjectType() );
event->SetInt( "sapperid", entindex() );

View file

@ -1324,10 +1324,13 @@ class CAchievementTFSpy_SpyBackstabEngySapBuilding : public CBaseTFAchievement
{
CBasePlayer *pEngy = UTIL_PlayerByIndex( engine->GetPlayerForUserID( event->GetInt( "ownerid" ) ) );
int iIndex = FindEngyInList( pEngy );
if ( iIndex != -1 )
if ( pEngy )
{
SetObjectSapped( iIndex, event->GetInt( "object" ) );
int iIndex = FindEngyInList( pEngy );
if ( iIndex != -1 )
{
SetObjectSapped( iIndex, event->GetInt( "object" ) );
}
}
CheckAchievementEarned(); // checks the achievement list, but also cleans out old entries (based on flTimeToBeat)