aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com>2022-08-07 18:54:35 +0200
committerGeckoEidechse <gecko.eidechse+git@pm.me>2022-08-07 23:18:02 +0200
commit3320160c57b02b080d18b6aa995ba264426da875 (patch)
treef3036b1e3ea57631e72bf36bf33446ea2ae3c633
parent9c1abd2b301d3e617195c0e34d40674eda416223 (diff)
downloadNorthstarMods-3320160c57b02b080d18b6aa995ba264426da875.tar.gz
NorthstarMods-3320160c57b02b080d18b6aa995ba264426da875.zip
Fix race condition crash when boarding dropship as it explodes (#438)
Co-authored-by: BobTheBob <32057864+BobTheBob9@users.noreply.github.com> Co-authored-by: BobTheBob <32057864+BobTheBob9@users.noreply.github.com>
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/evac/_evac.gnut8
1 files changed, 5 insertions, 3 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/evac/_evac.gnut b/Northstar.CustomServers/mod/scripts/vscripts/evac/_evac.gnut
index bce8b4c7f..4a21e6977 100644
--- a/Northstar.CustomServers/mod/scripts/vscripts/evac/_evac.gnut
+++ b/Northstar.CustomServers/mod/scripts/vscripts/evac/_evac.gnut
@@ -356,7 +356,6 @@ void function Evac( int evacTeam, float initialWait, float arrivalTime, float wa
foreach ( entity otherPlayer in GetPlayerArray() )
Remote_CallFunction_NonReplay( otherPlayer, "ServerCallback_EvacObit", player.GetEncodedEHandle() )
}
-
}
void function AddPlayerToEvacDropship( entity dropship, entity player )
@@ -376,7 +375,10 @@ void function AddPlayerToEvacDropship( entity dropship, entity player )
// no slots available
if ( !PlayerInDropship( player, dropship ) )
return
-
+
+ // need to cancel if the dropship dies
+ dropship.EndSignal( "OnDeath", "OnDestroy" )
+
player.SetInvulnerable()
player.UnforceCrouch()
player.ForceStand()
@@ -391,7 +393,7 @@ void function AddPlayerToEvacDropship( entity dropship, entity player )
EmitSoundOnEntityOnlyToPlayer( player, player, SHIFTER_START_SOUND_3P )
// should play SHIFTER_START_SOUND_1P when they actually arrive in the ship i think, unsure how this is supposed to be done
PlayPhaseShiftDisappearFX( player )
- waitthread FirstPersonSequence( fp, player, dropship )
+ FirstPersonSequence( fp, player, dropship )
FirstPersonSequenceStruct idleFp
idleFp.firstPersonAnimIdle = EVAC_IDLE_ANIMS_1P[ slot ]