aboutsummaryrefslogtreecommitdiff
path: root/Northstar.Custom/mod/scripts/vscripts/sh_bleedout_damage.gnut
diff options
context:
space:
mode:
Diffstat (limited to 'Northstar.Custom/mod/scripts/vscripts/sh_bleedout_damage.gnut')
-rw-r--r--Northstar.Custom/mod/scripts/vscripts/sh_bleedout_damage.gnut18
1 files changed, 18 insertions, 0 deletions
diff --git a/Northstar.Custom/mod/scripts/vscripts/sh_bleedout_damage.gnut b/Northstar.Custom/mod/scripts/vscripts/sh_bleedout_damage.gnut
index 8b21184ad..2fd36e45a 100644
--- a/Northstar.Custom/mod/scripts/vscripts/sh_bleedout_damage.gnut
+++ b/Northstar.Custom/mod/scripts/vscripts/sh_bleedout_damage.gnut
@@ -114,11 +114,29 @@ void function HandleDamageForBleedout( entity player, var damageInfo )
void function OnPlayerBleedoutBegin( entity player )
{
file.bleedingPlayers.append( player )
+ EmitSoundOnEntity( player, "Player_Death_Begin" )
+
+ thread PlayerBleedoutGracePeriod( player )
// would prefer to use Bleedout_SetCallback_OnPlayerGiveFirstAid for this, but it doesn't expose the player that's receiving first aid for some reason
thread TrackPlayerBleedout( player )
}
+void function PlayerBleedoutGracePeriod( entity player )
+{
+ player.EndSignal( "OnDeath" )
+ player.EndSignal( "OnDestroy" )
+
+ OnThreadEnd( function() : ( player )
+ {
+ player.ClearInvulnerable()
+ StopSoundOnEntity( player, "Player_Death_Begin" )
+ })
+
+ player.SetInvulnerable()
+ wait 2.5
+}
+
void function TrackPlayerBleedout( entity player )
{
player.EndSignal( "OnDeath" )