Star Wars: Jedi Starfighter/Mission-Specific Unused Content/Dragon's Den
This is a sub-page of Star Wars: Jedi Starfighter/Mission-Specific Unused Content.
Unfinished Fail Condition
At one point in the mission, a fourth Hex Bomber starts approaching the refinery, and a few of the characters comment about it. Destroying this bomber is the Bonus Objective. If you ignore their warnings and let it land, Jinkins will warn you that its pilot has made it into the refinery and is shutting it down, meaning you only have a few more seconds to complete the mission. Despite this, nothing bad ever happens past this point.
In the mission script can be found a very unfinished and broken fail condition designed to act as a mission failure, but lacks the programming to actually do anything, despite most of it having full voice acting. The event of the mirrors closing has no programming, instead printing a placeholder message to a developer console.
The part of the script that controls the actual interactions and events, as well as doing checks:
OnAndEvent { events [ OnWaypointReached { target "ssbomber01" executepercentage 100 delay 5 numplayervalidity 0 waypoint "ssbomberland" enabled TRUE executeinterval 1 name "SS ship landed" } OnNotEvent { events [ OnActorDestroyed { target "ssbomber01" executepercentage 100 numplayervalidity 0 enabled TRUE executeinterval 1 name "SS destroyed" } ] executepercentage 100 numplayervalidity 0 enabled TRUE executeinterval 1 name "and it is not destroyed" } ] executepercentage 100 numplayervalidity 0 enabled TRUE executeinterval 1 name "Start refinery shut down" } OnEventProxy { executepercentage 100 event "Start refinery shut down" delay 65 numplayervalidity 0 enabled TRUE executeinterval 1 name "Shut down refinery" actions [ ScriptAction { script "hmsg nym, ALL OF THE MIRRORS ARE CLOSING" } ] } OnEventProxy { executepercentage 100 event "Shut down refinery" delay 3 numplayervalidity 0 enabled TRUE executeinterval 1 name "Close the blast door on the reactor core" actions [ ScriptAction { script "set reactor.enabled=false" } ] }
The part of the script that controls the flow of voice lines, who says them, and when:
OnWaypointReached { target "ssbomber01" executepercentage 100 numplayervalidity 0 waypoint "ssbomberland" enabled TRUE executeinterval 1 name "SS ship has landed at the tower" actions [ ScriptAction { script "doitem M10_G345_SOL, sixxa" } ] } OnEventProxy { executepercentage 100 event "Start refinery shut down" numplayervalidity 0 enabled TRUE executeinterval 1 name "SS are in the tower" actions [ ScriptAction { script "dorandfrom jinkins, M10_G339_JINK, M10_G340_JINK" "doitem M10_G347_JINK, jinkins" "dorandfrom droidvoice, M10_G199_TFRD, M10_G204_TFRD" "doitem M10_G198_TFRD, droidvoice" } ] } OnItemEnd { executepercentage 100 delay 30 numplayervalidity 0 enabled TRUE executeinterval 1 name "Refinery shout down in 30 seconds" actions [ ScriptAction { script "doitem M10_G200_TFRD, droidvoice" } ] item "M10_G198_TFRD" } OnItemEnd { executepercentage 100 delay 40 numplayervalidity 0 enabled TRUE executeinterval 1 name "Refinery shout down in 20 seconds" actions [ ScriptAction { script "doitem M10_G201_TFRD, droidvoice" } ] item "M10_G198_TFRD" } OnItemEnd { executepercentage 100 delay 50 numplayervalidity 0 enabled TRUE executeinterval 1 name "Refinery shout down in 10 seconds" actions [ ScriptAction { script "doitem M10_G202_TFRD, droidvoice" } ] item "M10_G198_TFRD" } OnItemEnd { executepercentage 100 delay 55 numplayervalidity 0 enabled TRUE executeinterval 1 name "Refinery shout down in 5 seconds" actions [ ScriptAction { script "doitem M10_G203_TFRD, droidvoice" } ] item "M10_G198_TFRD" }
The reason for its inability to do anything is the highlighted parts of the following line, located in the second excerpt from the script:
script "dorandfrom jinkins, M10_G339_JINK, M10_G340_JINK" "doitem M10_G347_JINK, jinkins" "dorandfrom droidvoice, M10_G199_TFRD, M10_G204_TFRD" "doitem M10_G198_TFRD, droidvoice"
For whatever reason, the game engine is unable to handle two "dorandfrom" commands in the same step. It'll simply act as if the second pair and any commands after it don't exist, making nothing happen after Jinkins warns you about the supposed time limit. Removing one of the voice lines from the second "dorandfrom" command and making it a set voice line instead fixes this issue, and it's able to play a few voice lines, progressing a bit further.
This video shows what this fail condition would've most likely looked like had it been fully implemented.