aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/intermission.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/game/server/intermission.cpp')
-rw-r--r--mp/src/game/server/intermission.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/mp/src/game/server/intermission.cpp b/mp/src/game/server/intermission.cpp
new file mode 100644
index 00000000..6a585518
--- /dev/null
+++ b/mp/src/game/server/intermission.cpp
@@ -0,0 +1,52 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $Workfile: $
+// $Date: $
+// $NoKeywords: $
+//=============================================================================//
+#include "cbase.h"
+#include "entitylist.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+//=========================================================
+// Multiplayer intermission spots.
+//=========================================================
+class CInfoIntermission:public CPointEntity
+{
+public:
+ DECLARE_CLASS( CInfoIntermission, CPointEntity );
+
+ void Spawn( void );
+ void Think( void );
+};
+
+void CInfoIntermission::Spawn( void )
+{
+ SetSolid( SOLID_NONE );
+ AddEffects( EF_NODRAW );
+ SetLocalAngles( vec3_angle );
+ SetNextThink( gpGlobals->curtime + 2 );// let targets spawn !
+}
+
+void CInfoIntermission::Think ( void )
+{
+ CBaseEntity *pTarget;
+
+ // find my target
+ pTarget = gEntList.FindEntityByName( NULL, m_target );
+
+ if ( pTarget )
+ {
+ Vector dir = pTarget->GetLocalOrigin() - GetLocalOrigin();
+ VectorNormalize( dir );
+ QAngle angles;
+ VectorAngles( dir, angles );
+ SetLocalAngles( angles );
+ }
+}
+
+LINK_ENTITY_TO_CLASS( info_intermission, CInfoIntermission );