diff options
author | x3Karma <juliuslimck@gmail.com> | 2021-12-30 01:33:50 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-30 01:33:50 +0800 |
commit | 20898278b760a775d1c375b6340fe244db9a385f (patch) | |
tree | fd908d32ae728c9739436dadd765153917cbb7c5 /_gamemode_tdm.nut | |
parent | ecba9deb83af9b867bb3034f0235420c8f22cd18 (diff) | |
download | NorthstarMods-20898278b760a775d1c375b6340fe244db9a385f.tar.gz NorthstarMods-20898278b760a775d1c375b6340fe244db9a385f.zip |
Add timeout checker for Skirmish, PvP and Titan Brawl
Diffstat (limited to '_gamemode_tdm.nut')
-rw-r--r-- | _gamemode_tdm.nut | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/_gamemode_tdm.nut b/_gamemode_tdm.nut new file mode 100644 index 00000000..ba180790 --- /dev/null +++ b/_gamemode_tdm.nut @@ -0,0 +1,31 @@ +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 |