about summary refs log tree commit diff
path: root/src/game/server/gs_common.h
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-02-02 18:05:16 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-02-02 18:05:16 +0000
commit5f32f5b36f5013deff20ba5144d6bec9077b6ea2 (patch)
treea94e734138edb960420aed65ebdc9a48b022713e /src/game/server/gs_common.h
parent1fe3202f0b7e2f52e50c430caa744b029fd5bcef (diff)
downloadzcatch-5f32f5b36f5013deff20ba5144d6bec9077b6ea2.tar.gz
zcatch-5f32f5b36f5013deff20ba5144d6bec9077b6ea2.zip
added laser weapon
Diffstat (limited to 'src/game/server/gs_common.h')
-rw-r--r--src/game/server/gs_common.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/game/server/gs_common.h b/src/game/server/gs_common.h
index 4519cf37..838b192f 100644
--- a/src/game/server/gs_common.h
+++ b/src/game/server/gs_common.h
@@ -213,6 +213,27 @@ public:
 	virtual void snap(int snapping_client);
 };
 
+class laser : public entity
+{
+	vec2 from;
+	vec2 dir;
+	float energy;
+	int bounces;
+	int eval_tick;
+	player *owner;
+	
+	bool hit_player(vec2 from, vec2 to);
+	void do_bounce();
+	
+public:
+	
+	laser(vec2 pos, vec2 direction, float start_energy, player *owner);
+	
+	virtual void reset();
+	virtual void tick();
+	virtual void snap(int snapping_client);
+};
+
 // player entity
 class player : public entity
 {