diff --git a/entity2/entitykeyvalues.cpp b/entity2/entitykeyvalues.cpp index 02776282..630d124c 100644 --- a/entity2/entitykeyvalues.cpp +++ b/entity2/entitykeyvalues.cpp @@ -169,7 +169,8 @@ void CEntityKeyValues::AddConnectionDesc( const char* pszInputName, const char* pszOverrideParam, float flDelay, - int32 nTimesToFire ) + int32 nTimesToFire, + const KeyValues3 *kv3value ) { if ( m_nQueuedForSpawnCount > 0 ) return; @@ -185,6 +186,7 @@ void CEntityKeyValues::AddConnectionDesc( desc->m_pszOverrideParam = m_pAllocator->AllocString( pszOverrideParam ? pszOverrideParam : "" ); desc->m_flDelay = flDelay; desc->m_nTimesToFire = nTimesToFire; + desc->m_KV3Value = *kv3value; } void CEntityKeyValues::RemoveConnectionDesc( int nDesc ) @@ -238,7 +240,9 @@ void CEntityKeyValues::CopyFrom( const CEntityKeyValues* pSrc, bool bRemoveAllKe pSrc->m_connectionDescs[ iter ].m_pszInputName, pSrc->m_connectionDescs[ iter ].m_pszOverrideParam, pSrc->m_connectionDescs[ iter ].m_flDelay, - pSrc->m_connectionDescs[ iter ].m_nTimesToFire ); + pSrc->m_connectionDescs[ iter ].m_nTimesToFire, + &pSrc->m_connectionDescs[ iter ].m_KV3Value + ); } } diff --git a/public/entity2/entitykeyvalues.h b/public/entity2/entitykeyvalues.h index 255f1d23..2ed84ae5 100644 --- a/public/entity2/entitykeyvalues.h +++ b/public/entity2/entitykeyvalues.h @@ -33,6 +33,8 @@ struct EntityIOConnectionDescFat_t const char* m_pszOverrideParam; float m_flDelay; int32 m_nTimesToFire; + + KeyValues3 m_KV3Value; }; abstract_class IEntityKeyComplex @@ -103,7 +105,8 @@ public: const char* pszInputName, const char* pszOverrideParam, float flDelay, - int32 nTimesToFire ); + int32 nTimesToFire, + const KeyValues3 *kv3value = nullptr ); void RemoveConnectionDesc( int nDesc );