mirror of
https://github.com/celisej567/source-engine.git
synced 2026-01-05 22:09:59 +03:00
add source-sdk-2013
This commit is contained in:
@@ -1,83 +0,0 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: Base class for simple projectiles
|
||||
//
|
||||
// $Workfile: $
|
||||
// $Date: $
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#include "cbase.h"
|
||||
#include "cbaseanimatingprojectile.h"
|
||||
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
LINK_ENTITY_TO_CLASS( baseanimating_projectile, CBaseAnimatingProjectile );
|
||||
|
||||
//---------------------------------------------------------
|
||||
// Save/Restore
|
||||
//---------------------------------------------------------
|
||||
BEGIN_DATADESC( CBaseAnimatingProjectile )
|
||||
|
||||
DEFINE_FIELD( m_iDmg, FIELD_INTEGER ),
|
||||
DEFINE_FIELD( m_iDmgType, FIELD_INTEGER ),
|
||||
|
||||
END_DATADESC()
|
||||
|
||||
//---------------------------------------------------------
|
||||
//---------------------------------------------------------
|
||||
void CBaseAnimatingProjectile::Spawn( char *pszModel,
|
||||
const Vector &vecOrigin,
|
||||
const Vector &vecVelocity,
|
||||
edict_t *pOwner,
|
||||
MoveType_t iMovetype,
|
||||
MoveCollide_t nMoveCollide,
|
||||
int iDamage,
|
||||
int iDamageType )
|
||||
{
|
||||
Precache();
|
||||
|
||||
SetSolid( SOLID_BBOX );
|
||||
SetModel( pszModel );
|
||||
|
||||
UTIL_SetSize( this, vec3_origin, vec3_origin );
|
||||
|
||||
m_iDmg = iDamage;
|
||||
m_iDmgType = iDamageType;
|
||||
|
||||
SetMoveType( iMovetype, nMoveCollide );
|
||||
|
||||
UTIL_SetOrigin( this, vecOrigin );
|
||||
SetAbsVelocity( vecVelocity );
|
||||
|
||||
SetOwnerEntity( Instance( pOwner ) );
|
||||
|
||||
QAngle qAngles;
|
||||
VectorAngles( vecVelocity, qAngles );
|
||||
SetAbsAngles( qAngles );
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------
|
||||
//---------------------------------------------------------
|
||||
void CBaseAnimatingProjectile::Touch( CBaseEntity *pOther )
|
||||
{
|
||||
CBaseEntity *pOwner;
|
||||
|
||||
pOwner = GetOwnerEntity();
|
||||
|
||||
if( !pOwner )
|
||||
{
|
||||
pOwner = this;
|
||||
}
|
||||
|
||||
trace_t tr;
|
||||
tr = BaseClass::GetTouchTrace( );
|
||||
|
||||
CTakeDamageInfo info( this, pOwner, m_iDmg, m_iDmgType );
|
||||
GuessDamageForce( &info, (tr.endpos - tr.startpos), tr.endpos );
|
||||
pOther->TakeDamage( info );
|
||||
|
||||
UTIL_Remove( this );
|
||||
}
|
||||
Reference in New Issue
Block a user