-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
In-mission docking breaks the warpIn()
scripting function
#6445
Comments
BtA has a workaround (starting the ship docked to a cloaked container that is immediately jettisoned and vanished), so this isn't a high priority for us. |
The selection of dock leader is more of a heuristic than a rule; it's barely possible during parsing (since the leader is de facto the ship that does the arriving) and would not be reliable for in-mission docking.
I think you're almost 100% correct here. The one issue is that the handling of the warp effect is slightly different for dock leaders and dock followers. But the script function offers its own solution. The ship on which you call |
Yup, we're saying the same thing here: trying to manage the "The ship that you call |
Ok, cool. Should be quick and easy to fix. |
As described in scp-fs2open#6445, the `warpIn()` script function did not work correctly for docked ships because the dock leader flag was not set. So, set the flag, but make sure to set it only for the first ship for which `warpIn()` is called. Also remove an `Int3()` in `shipfx_warpin_start()`. (This Int3() was not actually in the original Volition source code release.) Fixes scp-fs2open#6445.
As described in scp-fs2open#6445, the `warpIn()` script function did not work correctly for docked ships because the dock leader flag was not set. So, set the flag, but make sure to set it only for the first ship for which `warpIn()` is called. And make sure the flag is removed after the ship finishes arriving. Also remove an `Int3()` in `shipfx_warpin_start()`. (This Int3() was not actually in the original Volition source code release.) Fixes scp-fs2open#6445.
Bit of a niche case here... If a ship is not initially docked, or is initially docked but isn't the dock leader, and becomes docked during gameplay, calling the
warpIn()
scripting function on that ship will do nothing until it becomes undocked. This is due to a combination of two factors:warpIn()
callsshipfx_warpin_start(object*)
, which short-circuits if it's called on a ship that's docked but not aDock_leader
; and theDock_leader
flag is only set at parse time, not as a result of docking during gameplay. Even ifDock_leader
were updated dynamically,warpIn()
would still mysteriously do nothing in some cases, so I feel like the right solution is to haveshipfx_warpin_start
skip that check when called bywarpIn()
.Additionally,
shipfx_warpin_start
fails with anInt3()
when called on a ship that's already arriving; it should just do nothing in this case.The text was updated successfully, but these errors were encountered: