aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut
diff options
context:
space:
mode:
authorx3Karma <juliuslimck@gmail.com>2021-12-30 14:23:27 +0800
committerGitHub <noreply@github.com>2021-12-30 14:23:27 +0800
commit33b94edca707e71084b2742ad9f57265f39aac88 (patch)
tree6d04a9ecc8b793e529c63274e1c0987161d10f38 /Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut
parent9c828a8e24f3f9f48c2754cef9e81d9c79adc3f9 (diff)
downloadNorthstarMods-33b94edca707e71084b2742ad9f57265f39aac88.tar.gz
NorthstarMods-33b94edca707e71084b2742ad9f57265f39aac88.zip
adds time out check for all of these
Diffstat (limited to 'Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut')
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut51
1 files changed, 31 insertions, 20 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut
index fd5cbb146..ba1807900 100644
--- a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut
+++ b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut
@@ -1,20 +1,31 @@
-global function GamemodeTdm_Init
-global function RateSpawnpoints_Directional
-
-void function GamemodeTdm_Init()
-{
- AddCallback_OnPlayerKilled( GiveScoreForPlayerKill )
- ScoreEvent_SetupEarnMeterValuesForMixedModes()
-}
-
-void function GiveScoreForPlayerKill( entity victim, entity attacker, var damageInfo )
-{
- if ( victim != attacker && victim.IsPlayer() && attacker.IsPlayer() && GetGameState() != eGameState.Epilogue )
- AddTeamScore( attacker.GetTeam(), 1 )
-}
-
-void function RateSpawnpoints_Directional( int checkclass, array<entity> spawnpoints, int team, entity player )
-{
- // temp
- RateSpawnpoints_Generic( checkclass, spawnpoints, team, player )
-}
+global function GamemodeTdm_Init
+global function RateSpawnpoints_Directional
+
+void function GamemodeTdm_Init()
+{
+ AddCallback_OnPlayerKilled( GiveScoreForPlayerKill )
+ ScoreEvent_SetupEarnMeterValuesForMixedModes()
+ SetTimeoutWinnerDecisionFunc( CheckScoreForDraw )
+}
+
+void function GiveScoreForPlayerKill( entity victim, entity attacker, var damageInfo )
+{
+ if ( victim != attacker && victim.IsPlayer() && attacker.IsPlayer() || GetGameState() != eGameState.Playing )
+ AddTeamScore( attacker.GetTeam(), 1 )
+}
+
+void function RateSpawnpoints_Directional( int checkclass, array<entity> spawnpoints, int team, entity player )
+{
+ // temp
+ RateSpawnpoints_Generic( checkclass, spawnpoints, team, player )
+}
+
+int function CheckScoreForDraw()
+{
+ if (GameRules_GetTeamScore(TEAM_IMC) > GameRules_GetTeamScore(TEAM_MILITIA))
+ return TEAM_IMC
+ else if (GameRules_GetTeamScore(TEAM_MILITIA) > GameRules_GetTeamScore(TEAM_IMC))
+ return TEAM_MILITIA
+
+ return TEAM_UNASSIGNED
+} \ No newline at end of file