mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2025-04-27 15:39:37 +03:00
OnItemDrop output for NPCs
This commit is contained in:
parent
256cdfb7af
commit
5998158ac2
@ -11576,6 +11576,10 @@ CBaseEntity *CAI_BaseNPC::DropItem ( const char *pszItemName, Vector vecPos, QAn
|
|||||||
pItem->ApplyLocalAngularVelocityImpulse( AngularImpulse( 0, random->RandomFloat( 0, 100 ), 0 ) );
|
pItem->ApplyLocalAngularVelocityImpulse( AngularImpulse( 0, random->RandomFloat( 0, 100 ), 0 ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MAPBASE
|
||||||
|
m_OnItemDrop.Set( pItem, pItem, this );
|
||||||
|
#endif
|
||||||
|
|
||||||
return pItem;
|
return pItem;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -11943,6 +11947,7 @@ BEGIN_DATADESC( CAI_BaseNPC )
|
|||||||
DEFINE_OUTPUT( m_OnForcedInteractionFinished, "OnForcedInteractionFinished" ),
|
DEFINE_OUTPUT( m_OnForcedInteractionFinished, "OnForcedInteractionFinished" ),
|
||||||
#ifdef MAPBASE
|
#ifdef MAPBASE
|
||||||
DEFINE_OUTPUT( m_OnItemPickup, "OnItemPickup" ),
|
DEFINE_OUTPUT( m_OnItemPickup, "OnItemPickup" ),
|
||||||
|
DEFINE_OUTPUT( m_OnItemDrop, "OnItemDrop" ),
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Inputs
|
// Inputs
|
||||||
|
@ -2119,6 +2119,7 @@ public:
|
|||||||
COutputEHANDLE m_OnUnholsterWeapon;
|
COutputEHANDLE m_OnUnholsterWeapon;
|
||||||
|
|
||||||
COutputEHANDLE m_OnItemPickup;
|
COutputEHANDLE m_OnItemPickup;
|
||||||
|
COutputEHANDLE m_OnItemDrop;
|
||||||
|
|
||||||
COutputInt m_OnStateChange;
|
COutputInt m_OnStateChange;
|
||||||
#endif
|
#endif
|
||||||
|
@ -1788,7 +1788,14 @@ void CBaseCombatCharacter::Event_Killed( const CTakeDamageInfo &info )
|
|||||||
// if flagged to drop a health kit
|
// if flagged to drop a health kit
|
||||||
if (HasSpawnFlags(SF_NPC_DROP_HEALTHKIT))
|
if (HasSpawnFlags(SF_NPC_DROP_HEALTHKIT))
|
||||||
{
|
{
|
||||||
CBaseEntity::Create( "item_healthvial", GetAbsOrigin(), GetAbsAngles() );
|
CBaseEntity *pItem = CBaseEntity::Create( "item_healthvial", GetAbsOrigin(), GetAbsAngles() );
|
||||||
|
if (pItem)
|
||||||
|
{
|
||||||
|
#ifdef MAPBASE
|
||||||
|
if (MyNPCPointer())
|
||||||
|
MyNPCPointer()->m_OnItemDrop.Set( pItem, pItem, this );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// clear the deceased's sound channels.(may have been firing or reloading when killed)
|
// clear the deceased's sound channels.(may have been firing or reloading when killed)
|
||||||
EmitSound( "BaseCombatCharacter.StopWeaponSounds" );
|
EmitSound( "BaseCombatCharacter.StopWeaponSounds" );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user