about summary refs log tree commit diff
path: root/src/game/server/entities/projectile.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/server/entities/projectile.hpp')
-rw-r--r--src/game/server/entities/projectile.hpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/game/server/entities/projectile.hpp b/src/game/server/entities/projectile.hpp
new file mode 100644
index 00000000..c1370af1
--- /dev/null
+++ b/src/game/server/entities/projectile.hpp
@@ -0,0 +1,38 @@
+/* copyright (c) 2007 magnus auvinen, see licence.txt for more info */
+
+#ifndef GAME_SERVER_ENTITY_PROJECTILE_H
+#define GAME_SERVER_ENTITY_PROJECTILE_H
+
+class PROJECTILE : public ENTITY
+{
+public:
+	enum
+	{
+		PROJECTILE_FLAGS_EXPLODE = 1 << 0,
+	};
+	
+	vec2 direction;
+	ENTITY *powner; // this is nasty, could be removed when client quits
+	int lifespan;
+	int owner;
+	int type;
+	int flags;
+	int damage;
+	int sound_impact;
+	int weapon;
+	int bounce;
+	float force;
+	int start_tick;
+	
+	PROJECTILE(int type, int owner, vec2 pos, vec2 vel, int span, ENTITY* powner,
+		int damage, int flags, float force, int sound_impact, int weapon);
+
+	vec2 get_pos(float time);
+	void fill_info(NETOBJ_PROJECTILE *proj);
+
+	virtual void reset();
+	virtual void tick();
+	virtual void snap(int snapping_client);
+};
+
+#endif