aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/scriptedtarget.h
diff options
context:
space:
mode:
authorJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
committerJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
commit39ed87570bdb2f86969d4be821c94b722dc71179 (patch)
treeabc53757f75f40c80278e87650ea92808274aa59 /mp/src/game/server/scriptedtarget.h
downloadsource-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz
source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip
First version of the SOurce SDK 2013
Diffstat (limited to 'mp/src/game/server/scriptedtarget.h')
-rw-r--r--mp/src/game/server/scriptedtarget.h64
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