diff options
Diffstat (limited to 'mp/src/game/server/scriptedtarget.h')
| -rw-r--r-- | mp/src/game/server/scriptedtarget.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/mp/src/game/server/scriptedtarget.h b/mp/src/game/server/scriptedtarget.h new file mode 100644 index 00000000..1a6a1be5 --- /dev/null +++ b/mp/src/game/server/scriptedtarget.h @@ -0,0 +1,64 @@ +//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef SCRIPTEDTARGET_H
+#define SCRIPTEDTARGET_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#ifndef SCRIPTEVENT_H
+#include "scriptevent.h"
+#endif
+
+#include "ai_basenpc.h"
+
+class CScriptedTarget : public CAI_BaseNPC
+{
+ DECLARE_CLASS( CScriptedTarget, CAI_BaseNPC );
+public:
+ DECLARE_DATADESC();
+
+ void Spawn( void );
+ virtual int ObjectCaps( void ) { return (BaseClass::ObjectCaps() & ~FCAP_ACROSS_TRANSITION); }
+
+
+ void ScriptThink( void );
+ CBaseEntity* FindEntity( void );
+
+ void TurnOn(void);
+ void TurnOff(void);
+
+ // Input handlers
+ void InputEnable( inputdata_t &inputdata );
+ void InputDisable( inputdata_t &inputdata );
+
+ CScriptedTarget* NextScriptedTarget(void);
+ float MoveSpeed(void) { return m_nMoveSpeed; };
+ float EffectDuration(void) { return m_flEffectDuration; };
+
+ int DrawDebugTextOverlays(void);
+ void DrawDebugGeometryOverlays(void);
+ float PercentComplete(void);
+
+ Vector m_vLastPosition; // Last position that's been reached
+
+private:
+ int m_iDisabled; // Initial state
+ string_t m_iszEntity; // entity that is wanted for this script
+ float m_flRadius; // range to search
+
+ int m_nMoveSpeed; // How fast do I burn from target to target
+ float m_flPauseDuration; // How long to pause at this target
+ float m_flPauseDoneTime; // When is pause over
+ float m_flEffectDuration; // How long should any associated effect last?
+
+ COutputEvent m_AtTarget; // Fired when scripted target has been reached
+ COutputEvent m_LeaveTarget; // Fired when scripted target is left
+};
+
+#endif // SCRIPTEDTARGET_H
|