aboutsummaryrefslogtreecommitdiff
path: root/Northstar.Custom/scripts/vscripts/gamemodes/_riff_instagib.gnut
diff options
context:
space:
mode:
Diffstat (limited to 'Northstar.Custom/scripts/vscripts/gamemodes/_riff_instagib.gnut')
-rw-r--r--Northstar.Custom/scripts/vscripts/gamemodes/_riff_instagib.gnut65
1 files changed, 0 insertions, 65 deletions
diff --git a/Northstar.Custom/scripts/vscripts/gamemodes/_riff_instagib.gnut b/Northstar.Custom/scripts/vscripts/gamemodes/_riff_instagib.gnut
deleted file mode 100644
index b3868359e..000000000
--- a/Northstar.Custom/scripts/vscripts/gamemodes/_riff_instagib.gnut
+++ /dev/null
@@ -1,65 +0,0 @@
-global function RiffInstagib_Init
-
-struct {
- table<entity, int> playerWeapons
- array<string> instagibWeapons
-} file
-
-void function RiffInstagib_Init()
-{
- if ( GetCurrentPlaylistVarInt( "riff_instagib", 0 ) == 0 )
- return
-
- SetLoadoutGracePeriodEnabled( false )
- SetWeaponDropsEnabled( false )
-
- file.instagibWeapons = [
- "mp_weapon_sniper",
- "mp_weapon_wingman",
- "mp_weapon_defender",
- "mp_weapon_arena3",
- "mp_weapon_wingman_n",
- "mp_weapon_doubletake",
- ]
- file.instagibWeapons.randomize()
-
- AddCallback_OnPlayerRespawned( InstagibSetWeapons )
- AddCallback_OnPlayerKilled( InstagibCycleWeaponsForKill )
- AddCallback_OnClientDisconnected( InstagibCleanupClient )
-}
-
-void function InstagibSetWeapons( entity player )
-{
- if ( !( player in file.playerWeapons ) )
- file.playerWeapons[ player ] <- 0
-
- player.SetMaxHealth( 1 )
- InstagibUpdateWeapons( player )
-}
-
-void function InstagibUpdateWeapons( entity player )
-{
- foreach( entity weapon in player.GetMainWeapons() )
- player.TakeWeaponNow( weapon.GetWeaponClassName() )
-
- player.TakeWeaponNow( player.GetOffhandWeapon( OFFHAND_RIGHT ).GetWeaponClassName() )
- if ( !HasOffhandWeapon( player, "mp_weapon_grenade_sonar" ) )
- player.GiveOffhandWeapon( "mp_weapon_grenade_sonar", OFFHAND_RIGHT )
-
- player.GiveWeapon( file.instagibWeapons[ file.playerWeapons[ player ] ] )
-}
-
-void function InstagibCycleWeaponsForKill( entity victim, entity attacker, var damageInfo )
-{
- if ( !victim.IsPlayer() || !attacker.IsPlayer() || victim == attacker )
- return
-
- file.playerWeapons[ attacker ] = ( file.playerWeapons[ attacker ] + 1 ) % file.instagibWeapons.len()
- InstagibUpdateWeapons( attacker )
-}
-
-void function InstagibCleanupClient( entity player )
-{
- if ( player in file.playerWeapons )
- delete file.playerWeapons[ player ]
-} \ No newline at end of file