diff options
author | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-12-05 16:03:50 +0000 |
---|---|---|
committer | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-12-05 16:03:50 +0000 |
commit | 51e16034230f4dd759900c7922b8db43941e0a70 (patch) | |
tree | 6492337f6855e2403db0376b8d1021196df80879 /Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_riff_floor_is_lava.nut | |
parent | b48fd143624f2b887699acd98d9a4c55b792ab0e (diff) | |
download | NorthstarMods-51e16034230f4dd759900c7922b8db43941e0a70.tar.gz NorthstarMods-51e16034230f4dd759900c7922b8db43941e0a70.zip |
big commit for playtesting
Diffstat (limited to 'Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_riff_floor_is_lava.nut')
-rw-r--r-- | Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_riff_floor_is_lava.nut | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_riff_floor_is_lava.nut b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_riff_floor_is_lava.nut index b660e89ff..f8aa77998 100644 --- a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_riff_floor_is_lava.nut +++ b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_riff_floor_is_lava.nut @@ -1,5 +1,10 @@ global function RiffFloorIsLava_Init +struct { + float pilotDamageMultiplier + float titanDamageMultiplier +} file + void function RiffFloorIsLava_Init() { AddCallback_OnPlayerRespawned( FloorIsLava_PlayerRespawned ) @@ -83,20 +88,28 @@ void function FloorIsLava_ThinkForPlayer( entity player ) player.EndSignal( "OnDestroy" ) player.EndSignal( "OnDeath" ) + float lastHeight + while ( true ) { WaitFrame() - - if ( player.GetOrigin().z < GetLethalFogTop() ) + + float height = player.GetOrigin().z + if ( height < GetLethalFogTop() ) { // do damage float damageMultiplier = 0.08 if ( player.IsTitan() ) - damageMultiplier *= 0.05 - + damageMultiplier = 0.04 + + // scale damage by time spent in fog and depth + damageMultiplier *= 1 - ( height / GetLethalFogTop() ) + player.TakeDamage( player.GetMaxHealth() * damageMultiplier, null, null, { damageSourceId = eDamageSourceId.floor_is_lava } ) wait 0.1 } + + lastHeight = height } }
\ No newline at end of file |