//----------------------------------------------------------------------------- // Purpose: Creates a flame and attaches it to a target entity. // Input : pTarget - //----------------------------------------------------------------------------- CEntityFlame *CEntityFlame::Create( CBaseEntity *pTarget, bool useHitboxes ) { CEntityFlame *pFlame = (CEntityFlame *) CreateEntityByName( "entityflame" ); if ( pFlame == NULL ) return NULL; float xSize = pTarget->CollisionProp()->OBBMaxs().x - pTarget->CollisionProp()->OBBMins().x; float ySize = pTarget->CollisionProp()->OBBMaxs().y - pTarget->CollisionProp()->OBBMins().y; float size = ( xSize + ySize ) * 0.5f; if ( size < 16.0f ) { size = 16.0f; } UTIL_SetOrigin( pFlame, pTarget->GetAbsOrigin() ); pFlame->m_flSize = size; pFlame->SetThink( &CEntityFlame::FlameThink ); pFlame->SetNextThink( gpGlobals->curtime + 0.1f ); pFlame->AttachToEntity( pTarget ); pFlame->SetLifetime( 2.0f ); //Send to the client even though we don't have a model pFlame->AddEFlags( EFL_FORCE_CHECK_TRANSMIT ); pFlame->SetUseHitboxes( useHitboxes ); return pFlame; }
//----------------------------------------------------------------------------- // Purpose: Creates a flame and attaches it to a target entity. // Input : pTarget - //----------------------------------------------------------------------------- CEntityFlame *CEntityFlame::Create( CBaseEntity *pTarget ) { CEntityFlame *pFlame = (CEntityFlame *) CreateEntityByName( "entityflame" ); if ( pFlame == NULL ) return NULL; /*IPhysicsObject *pPhysicsObject = pTarget->VPhysicsGetObject(); if ( pPhysicsObject ) { pPhysicsObject-> }*/ float size = ( pTarget->WorldAlignMaxs().y - pTarget->WorldAlignMins().y ); if ( size < 8 ) size = 8; UTIL_SetOrigin( pFlame, pTarget->GetAbsOrigin() ); pFlame->m_flSize = size; pFlame->SetThink( &CEntityFlame::FlameThink ); pFlame->SetNextThink( gpGlobals->curtime + 0.1f ); pFlame->AttachToEntity( pTarget ); pFlame->SetLifetime( 2.0f ); //Send to the client even though we don't have a model pFlame->AddEFlags( EFL_FORCE_CHECK_TRANSMIT ); return pFlame; }