Has anyone tried disabling respawns for a set of co-op campaign missions before? I'm hitting a weird problem with this and I'm not sure if it's a bug or not.
I have a multiplayer mission set up with "Max Respawns" set to 0 in the Mission Specs in FRED. If I host this mission in just single-mission mode, I can go into the Host Options and change the number of respawns as needed (or leave it at 0, which is the default as per my Mission Specs). In-game this works as expected - if a player dies, they can only observe and cannot respawn.
However, if I play the same mission as part of a multiplayer campaign, this doesn't work. When I start the campaign, the Host Options shows the Respawns value as "NA" and is uneditable. I guess that's understandable as the system may want to account for different missions in a campaign having different max respawn values, but the problem is that my per-mission max respawn value isn't respected in this mode. Dead players can respawn however many times they want to (I haven't figured out what 'default' upper limit it's imposing yet).
Am I misunderstanding how this is supposed to work? I've dug through the code associated with setting up multiplayer campaign sessions and found this:
multiui.cpp:
// create the respawn count input box
Multi_ho_respawns.create(&Multi_ho_window,Ho_rsp_coords[gr_screen.res][MULTI_HO_X_COORD],Ho_rsp_coords[gr_screen.res][MULTI_HO_Y_COORD],Ho_rsp_coords[gr_screen.res][MULTI_HO_W_COORD],6,"",UI_INPUTBOX_FLAG_ESC_FOC | UI_INPUTBOX_FLAG_INVIS | UI_INPUTBOX_FLAG_NO_LETTERS,-1,&Color_bright);
// if we're in campaign mode, disable it
if(Netgame.campaign_mode == MP_CAMPAIGN){
Multi_ho_respawns.set_text(XSTR("NA",795)); // [[ Not applicable ]]
Multi_ho_respawns.disable();
} else {
Multi_ho_respawns.set_valid_chars("0123456789");
}
And in multi_campaign.cpp (around line 101):
// maybe override the Netgame.respawn setting
Netgame.respawn = The_mission.num_respawns;
nprintf(("Network","MULTI CAMPAIGN : overriding respawn setting with mission max %d\n",The_mission.num_respawns));
So it looks to me like there's code that does expressly disable the respawn value if you're in MP Campaign mode (which again makes some sense I guess?) - but then another snippet expressly placed in the multiplayer campaign handling code that's supposed to override the current respawn settings based on the current mission that maybe isn't working right? I'm really not sure - figured I'd ask before filing a Mantis report.