Hard Light Productions Forums

Community Projects => The FreeSpace Upgrade Project => Topic started by: Yarn on May 21, 2012, 12:38:23 am

Title: Fix for Apocalypse's "no debriefing" scenario
Post by: Yarn on May 21, 2012, 12:38:23 am
As some of you may know, "Apocalypse" (the last mission in the FS2 campaign) allows you to warp out at the jump node before the supernova starts; doing so results in the "no debriefing" message appearing and the campaign ending, forcing the player to replay the entire FS2 campaign for a chance to see one of the real endings.

As I have brought up in the Mantis #2482 discussion (http://scp.indiegames.us/mantis/view.php?id=2482#c13545), all you need to do to fix this is change the "Allow warp outs" sexp to become true only after the "May Continue" event becomes true. This can be done by changing this:
Code: [Select]
$Formula: ( when
   ( <
      ( distance "Alpha 1" "Jump Node:1" )
      666
   )
   ( allow-warp "Alpha 1" )
)
+Name: Allow warp outs
+Repeat Count: 999
+Interval: 4

...to this:
Code: [Select]
$Formula: ( when
   ( and
      ( <
         ( distance "Alpha 1" "Jump Node:1" )
         666
      )
      ( is-event-true-delay
         "May continue"
         0
      )
   )
   ( allow-warp "Alpha 1" )
)
+Name: Allow warp outs
+Repeat Count: 999
+Interval: 4

This way, the player cannot warp out unless he is in the jump node and the supernova has started.
Title: Re: Fix for Apocalypse's "no debriefing" scenario
Post by: CommanderDJ on May 21, 2012, 01:39:23 am
Sounds good to me, personally. But someone more experienced should probably chime in.
Title: Re: Fix for Apocalypse's "no debriefing" scenario
Post by: Alex Heartnet on May 21, 2012, 02:26:41 am
Might I suggest adding a debriefing to the mission as well?  Make the debriefing say something along the lines of "If you are reading this debriefing, then the bugfix needs a bugfix and you should report this issue on the HLP Forums".

Just in case someone finds a way to trigger the no debriefing screen even with the bugfix, they will at least know what the problem is and what they should do.
Title: Re: Fix for Apocalypse's "no debriefing" scenario
Post by: Yarn on May 21, 2012, 06:34:31 pm
Might I suggest adding a debriefing to the mission as well?  Make the debriefing say something along the lines of "If you are reading this debriefing, then the bugfix needs a bugfix and you should report this issue on the HLP Forums".

Just in case someone finds a way to trigger the no debriefing screen even with the bugfix, they will at least know what the problem is and what they should do.

I like that idea, although instead of "bugfix needs a bugfix," it could say, "you have encountered a bug...."

I addition to that, it's probably a good idea to edit the campaign file to ensure that any instance of a debriefing in that mission results in a mission failure. Changing this:
Code: [Select]
$Mission: SM3-10.fs2
+Briefing Cutscene: bastion.mve
+Flags: 0
+Formula: ( cond
   ( ( true ) ( end-of-campaign ) )
)

+Level: 40
+Position: 2

...to this:
Code: [Select]
$Mission: SM3-10.fs2
+Briefing Cutscene: bastion.mve
+Flags: 0
+Formula: ( cond
   ( ( true ) ( next-mission "SM3-10.fs2" ) )
)

+Level: 40
+Position: 2

...should accomplish that.
Title: Re: Fix for Apocalypse's "no debriefing" scenario
Post by: redsniper on May 22, 2012, 11:11:10 am
Also need to include a debriefing for the case where the player saves Capella.
Title: Re: Fix for Apocalypse's "no debriefing" scenario
Post by: CommanderDJ on May 22, 2012, 06:18:52 pm
Also need to include a debriefing for the case where the player saves Capella.

Um. I think this possibility is exactly what we're trying to prevent here.
Title: Re: Fix for Apocalypse's "no debriefing" scenario
Post by: Dragon on May 22, 2012, 06:30:34 pm
Nope, that's a separate (and rather memetic) bug.
Title: Re: Fix for Apocalypse's "no debriefing" scenario
Post by: Goober5000 on May 23, 2012, 02:45:26 pm
Explain how it is different then.
Title: Re: Fix for Apocalypse's "no debriefing" scenario
Post by: redsniper on May 24, 2012, 11:48:38 am
There's a certain set of conditions that will keep the supernova from triggering. I think it mainly depends on a particular shivan cruiser not dying, in which case the mission just keeps going until the player jumps out. This is a more specific situation than the player just jumping out any time before the supernova. I think it would be fun to have a debriefing for this eventuality. There's even a thread about it in Classics. (http://www.hard-light.net/forums/index.php?topic=450.0)
Title: Re: Fix for Apocalypse's "no debriefing" scenario
Post by: Goober5000 on May 25, 2012, 12:14:58 am
Please carefully examine the events in the mission, and then carefully reread Yarn's proposal.
Title: Re: Fix for Apocalypse's "no debriefing" scenario
Post by: Droid803 on May 25, 2012, 01:05:20 am
The supernova never triggers, the player is never told to go to the jump node and depart, so they don't necessarily fail the mission, the mission itself gets stuck.
In fact, with the new change, they player is literally stuck unless they quit the mission, because they can't jump until the supernova triggers.

Unless this has already been fixed at some point, in which case, you should have just said so. I'm operating under the assumption that it hasn't, and thus, looking at Yarn's proposal, this is something that needs to be fixed before it can truly be a "bugfixed" mission. Of course, it has little to nothing to do with the "no debriefing" scenario, as that is triggered by the player warping out, and if they "save capella", they aren't exactly doing that.
Title: Re: Fix for Apocalypse's "no debriefing" scenario
Post by: Goober5000 on May 25, 2012, 01:42:43 am
Yarn's proposal is to only allow the player to jump out (i.e. only allow the mission to end) when the May Continue event fires.  And that is the event that triggers both the supernova and the end-campaign flag.  So that would fix the debriefing.

But if you are thinking specifically about "getting stuck" vs. "no debriefing", then yes, that would be a legitimate (albeit separate) issue.  In this case, the May Continue condition could be changed to rely only on the current mission time.