Hard Light Productions Forums

Hosted Projects - FS2 Required => FreeSpace Conversion => Topic started by: FUBAR-BDHR on December 29, 2007, 09:07:44 pm

Title: Error in SM2-03a
Post by: FUBAR-BDHR on December 29, 2007, 09:07:44 pm
Something is wrong with the secondary objective in SM2-03a.  It fails when it shouldn't.  As soon as the Galatea warps out the secondary objective failed messages pops up followed by the primary objective archived.  Last time I tried it the Galatea had 88 hull left.  Looking at the mission in notepad it looks like the goal is based on the hull at player warp out which since the Galatea warps out doesn't exist. 
Title: Re: Error in SM2-03a
Post by: Dark Hunter on December 29, 2007, 09:35:50 pm
...followed by the primary objective archived.

Why would they archive their orders?
Title: Re: Error in SM2-03a
Post by: FUBAR-BDHR on December 29, 2007, 11:26:35 pm
Well I completed the mission so I archived it  :p

No seriously I couldn't remember what the term was so I tried to type achieved. 
Title: Re: Error in SM2-03a
Post by: Goober5000 on December 29, 2007, 11:59:11 pm
It looks like this can happen if Krishna is not destroyed at the time the Galatea warps out.
Title: Re: Error in SM2-03a
Post by: FUBAR-BDHR on December 30, 2007, 12:40:20 pm
Nope had a clean sweep done well before warp out.  Unless for some reason they didn't arrive.  I'll have to extract it and take a closer look.
Title: Re: Error in SM2-03a
Post by: FUBAR-BDHR on December 30, 2007, 02:27:01 pm
The Galatea can't warp out unless it's hull is below 20 or Krishna and 3 other wings are destroyed so that can't be it.  Looks like it's just a timing issue.  The Galatea is about to leave event happens 3 seconds after the ships are destroyed.  The Galatea departure happens 6 seconds after that event becomes true.    Thats 9 seconds.  The primary objective has a 20 second delay after the ships are destroyed before becoming true.  The secondary objective is based off the primary objective.  The Galatea therefore leaves 11 seconds before the secondary objective can ever become true.

Quick fix:  Replace the secondary objective with the same arguments as the primary objective with a delay less than 9 seconds instead of using is-goal-true.

Better fix: Add event for the secondary objective that fires immediately when the conditions are met.  Use is-event-true-delay for the secondary objective.

Note I haven't quite figured out using FRED for FSport so I haven't tried these.