[DXX 0.58.1] Some Powerups Fail To Drop In CoOp After Save Restore
#1
(I apologize if this is a duplicate -- I scanned the forum and didn't see anything similar, and couldn't think of a good term to feed into the search box.)

Summary: Weapons you bring into a level in a coop game typically do not drop, if you die relatively soon after restoring a save game early in a level.

Steps To Reproduce: Start a coop game in d1x (by yourself is fine).  Get the vulcan cannon, and then beat level 1.  Save the game at the start of level 2.  Quit, Rehost, and Restore the savegame.  Commit suicide right away (or have the robots in the first room kill you).  The vulcan cannon will not drop.

Why it happens: This is an interaction between the savegame mechanism and the powerup capping mechanism.  When a player dies, he does not drop any powerups beyond the maximum the mine should have -- where that maximum is calulated client side, based on what's in the level file and what he's carrying when the level starts.  The maximum is not raised for your own powerups when restoring a savegame, and can't be raised to account for other players' powerups when restoring, because you don't have that information.  So when you die, the powerup cap is not high enough, and some of your powerups do not drop.  (The first should be easy to fix, but the second is needed if multiple players die at once.)

How Extensively Did I Test It: This happens consistently in my live coop games in D1 0.58.1 Retro 1.1.1, and has been tested in D1 0.58.1 vanilla.  Code analysis suggests it should happen in D2 as well, but I have not tested this. 

Annoyingness Factor: 8/10 -- losing your weapons / missiles you were saving is a very big deal in a serious coop game!

What I Did For Now: Disable powerup capping in coop.  Wink
Reply
#2
Fixed by zico in unification commit Disable powerup capping for cooperative game mode as it potentially deletes weapons carried over from another level.
Reply
#3
Yep, sorry I should have left a note. This was reported by v66r when I was just writing host-authorative powerups (in which this issue is solved, too) but after I delayed this feature I pretty much forgot to fix it.

Now that I really wanna polish Multiplayer up as good as I can, I dug up all those tasks and got it done finally. Sorry it took so long and without a notice.
The greatest pleasure in life is to do what people say you cannot do.
Uhm... Honey, there's a head in the toilet!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)