View Issue Details

IDProjectCategoryView StatusLast Update
0001601FSSCPmultiplayerpublic2008-04-13 19:57
ReporterShade Assigned Tokarajorma  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionunable to reproduce 
Product Version3.6.9 
Summary0001601: Player in a disabled ship will get stuck in-mission on host warpout
DescriptionIf a player ship gets disabled and the host warps out, they will remain in-mission and never make it to the debriefing, forcing them to quit out.

To replicate: Have host warp out while another player is sitting around disabled.
TagsNo tags attached.

Activities

karajorma

2008-02-18 14:52

administrator   ~0008875

I think you're expected to self destruct on those occasions so that someone gets the kill for you.

But yeah it does look like a bug to me. Not entirely sure what to do about it though.

Shade

2008-02-18 23:10

developer   ~0008876

Yes, Self Destruct migitates it, but you don't always get a chance to destruct. We've had it happen a couple of times in our saturday games where one player gets disabled just as the last objective is completed, and didn't manage to destruct before the host jumped.

It doesn't seem to affect stats at least, so it's an annoyance more than anything.

karajorma

2008-02-20 01:32

administrator   ~0008881

Maybe we should just self destruct disabled ships.

Turey

2008-02-20 15:19

developer   ~0008883

If you're gonna do that, at least put a couple second delay on it so that you know you got disabled and not totally shot down.

karajorma

2008-02-20 16:49

administrator   ~0008884

IIRC the game checks every 7 seconds after warpout starts if there are any ships left behind and resends a new set of orders. We could simply add a check to see if the ship is disabled here and blow it up if it was. 7 seconds later the game would realise that the player is dead and would take him to the debrief.

That's all on memory, I'll check later today.

Shade

2008-02-20 22:46

developer   ~0008885

As long as it happens after the warpout, that'll work as a fix. I'd be apprehensive about an automatic destruct during normal play though, as a mission may someday be designed that uses disabling as a plot device.

karajorma

2008-02-21 01:38

administrator   ~0008886

Hmmm. I gave this one a try and I can't reproduce it. When the client is told to warp out they'll call the multi_warpout_all_players() function which contains this line

if((Net_player->flags & NETINFO_FLAG_OBSERVER) || (Net_player->flags & NETINFO_FLAG_RESPAWNING) || (Net_player->flags & NETINFO_FLAG_OBSERVER) || ((Player_obj->type == OBJ_SHIP) && (Player_ship->flags & SF_CANNOT_WARP)) ){

The last of those conditions should catch any ship which is currently disabled and the code immediately after sends it straight to the debrief without any warp out. I breakpointed the code immediately after that condition, disabled myself (as a client) and got the server to jump out. Hit the breakpoint every time.

karajorma

2008-04-08 22:59

administrator   ~0009205

I'm going to need more info on how to trigger this one or I'm going to have to close it.

karajorma

2008-04-13 19:57

administrator   ~0009221

Can't reproduce it and I reckon it's a symptom of one of the other warpout bugs instead.

Issue History

Date Modified Username Field Change
2008-02-18 11:06 Shade New Issue
2008-02-18 14:52 karajorma Note Added: 0008875
2008-02-18 23:10 Shade Note Added: 0008876
2008-02-20 01:32 karajorma Note Added: 0008881
2008-02-20 15:19 Turey Note Added: 0008883
2008-02-20 16:49 karajorma Note Added: 0008884
2008-02-20 16:49 karajorma Status new => assigned
2008-02-20 16:49 karajorma Assigned To => karajorma
2008-02-20 22:46 Shade Note Added: 0008885
2008-02-21 01:38 karajorma Note Added: 0008886
2008-04-08 22:59 karajorma Note Added: 0009205
2008-04-13 19:57 karajorma Status assigned => resolved
2008-04-13 19:57 karajorma Resolution open => unable to reproduce
2008-04-13 19:57 karajorma Note Added: 0009221