From 117af93ffc082558db393bf9cc14449eeaaa2509 Mon Sep 17 00:00:00 2001 From: zicodxx <> Date: Mon, 2 Oct 2006 13:16:09 +0000 Subject: [PATCH] fix crash when a robot's guided missile explodes (d2x-cvs takeover) --- main/laser.c | 3 ++- main/object.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/main/laser.c b/main/laser.c index 474573f79..7c45855f7 100755 --- a/main/laser.c +++ b/main/laser.c @@ -1536,7 +1536,8 @@ void Laser_do_weapon_sequence(object *obj) // For homing missiles, turn towards target. (unless it's the guided missile) - if (Weapon_info[obj->id].homing_flag && !(obj->id==GUIDEDMISS_ID && obj==Guided_missile[Objects[obj->ctype.laser_info.parent_num].id] && obj->signature==Guided_missile[Objects[obj->ctype.laser_info.parent_num].id]->signature)) { + if (Weapon_info[obj->id].homing_flag && !(obj->id==GUIDEDMISS_ID && obj->ctype.laser_info.parent_type==OBJ_PLAYER && obj==Guided_missile[Objects[obj->ctype.laser_info.parent_num].id] && obj->signature==Guided_missile[Objects[obj->ctype.laser_info.parent_num].id]->signature)) + { vms_vector vector_to_object, temp_vec; fix dot=F1_0; fix speed, max_speed; diff --git a/main/object.c b/main/object.c index af2197d81..c50dbf761 100755 --- a/main/object.c +++ b/main/object.c @@ -1416,7 +1416,8 @@ void obj_delete(int objnum) Assert(obj->type != OBJ_NONE); Assert(obj != ConsoleObject); - if (obj->type==OBJ_WEAPON && obj->id==GUIDEDMISS_ID) { + if (obj->type==OBJ_WEAPON && obj->id==GUIDEDMISS_ID && obj->ctype.laser_info.parent_type==OBJ_PLAYER) + { pnum=Objects[obj->ctype.laser_info.parent_num].id; mprintf ((0,"Deleting a guided missile! Player %d\n\n",pnum));