aboutsummaryrefslogtreecommitdiff
path: root/_gamemode_tdm.nut
diff options
context:
space:
mode:
authorBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-12-30 02:24:38 +0000
committerGitHub <noreply@github.com>2021-12-30 02:24:38 +0000
commit3e5fb06337812e4a6b2aff3eea203ce2b76cc46d (patch)
tree319f6265e47fc1eaf1601f78f12d85d58b171c26 /_gamemode_tdm.nut
parentf4a44a7859e60843792580cced586e4f74448849 (diff)
parent07ccd9d1ddfde5f6f06c4cf75e1b3690c34b1f3d (diff)
downloadNorthstarMods-3e5fb06337812e4a6b2aff3eea203ce2b76cc46d.tar.gz
NorthstarMods-3e5fb06337812e4a6b2aff3eea203ce2b76cc46d.zip
Merge pull request #22 from x3Karma/main
General Gamemodes Improvement
Diffstat (limited to '_gamemode_tdm.nut')
-rw-r--r--_gamemode_tdm.nut31
1 files changed, 31 insertions, 0 deletions
diff --git a/_gamemode_tdm.nut b/_gamemode_tdm.nut
new file mode 100644
index 000000000..ba1807900
--- /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