aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com>2022-08-07 18:54:35 +0200
committerGitHub <noreply@github.com>2022-08-07 17:54:35 +0100
commit853429f771adac08ebfc07fd2665d865fce46e86 (patch)
tree4927b52ad94c9037e4355e4c4cf37d1c78eea591
parenteeb653546c25282a4c40799d6e4a5da466fc919c (diff)
downloadNorthstarMods-853429f771adac08ebfc07fd2665d865fce46e86.tar.gz
NorthstarMods-853429f771adac08ebfc07fd2665d865fce46e86.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 bce8b4c7..4a21e697 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 ]