about summary refs log tree commit diff
path: root/src/game/server/entities/laser.cpp
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-10-20 23:00:46 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-10-20 23:00:46 +0000
commitac1aeab149f704ab1b297be9c7662c5705e5e40d (patch)
tree2c5fe9dcfe06c648ea2e1d8e87b638a76aeb1813 /src/game/server/entities/laser.cpp
parent9f7a6a04b0862737ca4566fb443140025505a522 (diff)
downloadzcatch-ac1aeab149f704ab1b297be9c7662c5705e5e40d.tar.gz
zcatch-ac1aeab149f704ab1b297be9c7662c5705e5e40d.zip
fixed incorrect handling of projectiel and laser owner
Diffstat (limited to 'src/game/server/entities/laser.cpp')
-rw-r--r--src/game/server/entities/laser.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/game/server/entities/laser.cpp b/src/game/server/entities/laser.cpp
index 8b512d82..20054ed4 100644
--- a/src/game/server/entities/laser.cpp
+++ b/src/game/server/entities/laser.cpp
@@ -7,7 +7,7 @@
 //////////////////////////////////////////////////
 // laser
 //////////////////////////////////////////////////
-LASER::LASER(vec2 pos, vec2 direction, float start_energy, CHARACTER *owner)
+LASER::LASER(vec2 pos, vec2 direction, float start_energy, int owner)
 : ENTITY(NETOBJTYPE_LASER)
 {
 	this->pos = pos;
@@ -24,14 +24,15 @@ LASER::LASER(vec2 pos, vec2 direction, float start_energy, CHARACTER *owner)
 bool LASER::hit_character(vec2 from, vec2 to)
 {
 	vec2 at;
-	CHARACTER *hit = game.world.intersect_character(pos, to, 0.0f, at, owner);
+	CHARACTER *owner_char = game.get_player_char(owner);
+	CHARACTER *hit = game.world.intersect_character(pos, to, 0.0f, at, owner_char);
 	if(!hit)
 		return false;
 
 	this->from = from;
 	pos = at;
 	energy = -1;		
-	hit->take_damage(vec2(0,0), tuning.laser_damage, owner->player->client_id, WEAPON_RIFLE);
+	hit->take_damage(vec2(0,0), tuning.laser_damage, owner, WEAPON_RIFLE);
 	return true;
 }