diff options
Diffstat (limited to 'Northstar.Custom/scripts/vscripts/gamemodes/_gamemode_tt.gnut')
-rw-r--r-- | Northstar.Custom/scripts/vscripts/gamemodes/_gamemode_tt.gnut | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/Northstar.Custom/scripts/vscripts/gamemodes/_gamemode_tt.gnut b/Northstar.Custom/scripts/vscripts/gamemodes/_gamemode_tt.gnut deleted file mode 100644 index 6a53ef87b..000000000 --- a/Northstar.Custom/scripts/vscripts/gamemodes/_gamemode_tt.gnut +++ /dev/null @@ -1,71 +0,0 @@ -global function GamemodeTT_Init - -struct { - entity lastPlayerDropped -} file - -void function GamemodeTT_Init() -{ - SetSpawnpointGamemodeOverride( TEAM_DEATHMATCH ) - Riff_ForceTitanAvailability( eTitanAvailability.Never ) - - AddCallback_GameStateEnter( eGameState.Playing, OnEnterPlaying ) - - AddCallback_OnPlayerKilled( OnPlayerKilled ) - AddDeathCallback( "npc_titan", OnTitanKilled ) -} - -void function OnEnterPlaying() -{ - thread DropRandomTitan() -} - -void function DropRandomTitan() -{ - array<entity> players = GetPlayerArray() - - if ( players.len() == 1 ) - file.lastPlayerDropped = null // don't wanna loop forever if only 1 player - - entity titanPlayer - do { - titanPlayer = players[ RandomInt( players.len() ) ] - } while ( titanPlayer == file.lastPlayerDropped ) - - DropTitanForPlayer( titanPlayer, 5.0 ) -} - -void function DropTitanForPlayer( entity player, float delay ) -{ - wait delay - - file.lastPlayerDropped = player - CreateTitanForPlayerAndHotdrop( player, GetTitanReplacementPoint( player, false ) ) -} - -void function AttemptToDropTitanForKill( entity victim, entity attacker, var damageInfo ) -{ - if ( !victim.IsTitan() ) - return - - if ( !attacker.IsPlayer() || victim == attacker ) - thread DropRandomTitan() - else - thread DropTitanForPlayer( attacker, 2.0 ) -} - -void function OnPlayerKilled( entity victim, entity attacker, var damageInfo ) -{ - if ( victim.IsTitan() ) - AttemptToDropTitanForKill( victim, attacker, damageInfo ) - else if ( attacker.IsTitan() ) - { - AddTeamScore( attacker.GetTeam(), 1 ) - } -} - -void function OnTitanKilled( entity victim, var damageInfo ) -{ - if ( IsPetTitan( victim ) ) - AttemptToDropTitanForKill( victim, DamageInfo_GetAttacker( damageInfo ), damageInfo ) -}
\ No newline at end of file |