diff options
author | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-12-11 17:12:25 +0000 |
---|---|---|
committer | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-12-11 17:12:25 +0000 |
commit | 8cd6924c1112213442b755866a5b6811efae236c (patch) | |
tree | 6c04cf94d86e5f7977105f4e8e5a1d64282a44b0 /Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_riff_floor_is_lava.nut | |
parent | b3f0e4598c5c573b0e79a8a9307966d2c07f5e4a (diff) | |
download | NorthstarMods-8cd6924c1112213442b755866a5b6811efae236c.tar.gz NorthstarMods-8cd6924c1112213442b755866a5b6811efae236c.zip |
fixes from playtests
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, 11 insertions, 10 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 f8aa77998..99f513967 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,16 +1,17 @@ global function RiffFloorIsLava_Init -struct { - float pilotDamageMultiplier - float titanDamageMultiplier -} file - void function RiffFloorIsLava_Init() { AddCallback_OnPlayerRespawned( FloorIsLava_PlayerRespawned ) AddSpawnCallback( "env_fog_controller", InitLavaFogController ) AddCallback_EntitiesDidLoad( CreateCustomSpawns ) + AddSpawnpointValidationRule( VerifyFloorIsLavaSpawnpoint ) +} + +bool function VerifyFloorIsLavaSpawnpoint( entity spawnpoint, int team ) +{ + return spawnpoint.GetOrigin().z > GetLethalFogTop() } void function InitLavaFogController( entity fogController ) @@ -98,14 +99,14 @@ void function FloorIsLava_ThinkForPlayer( entity player ) if ( height < GetLethalFogTop() ) { // do damage - float damageMultiplier = 0.08 + float damageMultiplier if ( player.IsTitan() ) - damageMultiplier = 0.04 + damageMultiplier = 0.0025 + else + damageMultiplier = 0.05 // 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 } ) + player.TakeDamage( player.GetMaxHealth() * GraphCapped( ( GetLethalFogTop() - height ) / ( GetLethalFogTop() - GetLethalFogBottom() ), 0.0, 1.0, 0.2, 1.0 ) * damageMultiplier, null, null, { damageSourceId = eDamageSourceId.floor_is_lava } ) wait 0.1 } |