summaryrefslogtreecommitdiff
path: root/game/server/tf/player_vs_environment/archer_proxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/server/tf/player_vs_environment/archer_proxy.h')
-rw-r--r--game/server/tf/player_vs_environment/archer_proxy.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/game/server/tf/player_vs_environment/archer_proxy.h b/game/server/tf/player_vs_environment/archer_proxy.h
new file mode 100644
index 0000000..f947394
--- /dev/null
+++ b/game/server/tf/player_vs_environment/archer_proxy.h
@@ -0,0 +1,36 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+#ifndef ARCHER_PROXY_H
+#define ARCHER_PROXY_H
+
+class CTFPlayer;
+
+class CTFArcherProxy : public CBaseAnimating
+{
+public:
+ DECLARE_CLASS( CTFArcherProxy, CBaseAnimating );
+
+ virtual void Precache( void );
+ virtual void Spawn( void );
+
+ void Update( void );
+
+ void ShootArrowAt( CBaseEntity *target );
+ void ShootGrenadeAt( CBaseEntity *target );
+
+protected:
+ CTFPlayer *SelectTarget( void );
+
+ enum BehaviorStateType
+ {
+ HIDDEN,
+ EMERGE,
+ AIM_AND_FIRE,
+ HIDE,
+ }
+ m_state;
+
+ CountdownTimer m_timer;
+ Vector m_homePos;
+};
+
+#endif // ARCHER_PROXY_H