If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Star Wars: Jedi Starfighter/Mission-Specific Unused Content/Dragon's Den

From The Cutting Room Floor
Jump to navigation Jump to search

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.