From af2f675a13c1e82fc4900bd61aadc88facd4775a Mon Sep 17 00:00:00 2001 From: Will Castro <39478251+VITALISED@users.noreply.github.com> Date: Mon, 10 Jan 2022 20:38:50 +1100 Subject: Add assist medals and scoring --- .../mod/scripts/vscripts/gamemodes/_gamemode_ps.nut | 11 +++++++++-- .../mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut | 7 +++++++ 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'Northstar.CustomServers/mod/scripts/vscripts/gamemodes') diff --git a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_ps.nut b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_ps.nut index 4f05d87a5..965557b6f 100644 --- a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_ps.nut +++ b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_ps.nut @@ -32,13 +32,20 @@ void function GiveScoreForPlayerKill( entity victim, entity attacker, var damage { if ( victim != attacker && victim.IsPlayer() && attacker.IsPlayer() || GetGameState() != eGameState.Playing ) AddTeamScore( attacker.GetTeam(), 1 ) + + var existingAttackers = [] + foreach(DamageHistoryStruct attackerInfo in victim.e.recentDamageHistory) + { + if( attackerInfo.attacker != attacker && !(attackerInfo.attacker in existingAttackers) ) + attackerInfo.attacker.AddToPlayerGameStat( PGS_ASSISTS, 1 ) + } } int function CheckScoreForDraw() { - if ( GameRules_GetTeamScore( TEAM_IMC ) > GameRules_GetTeamScore( TEAM_MILITIA ) ) + if (GameRules_GetTeamScore(TEAM_IMC) > GameRules_GetTeamScore(TEAM_MILITIA)) return TEAM_IMC - else if ( GameRules_GetTeamScore( TEAM_MILITIA ) > GameRules_GetTeamScore( TEAM_IMC ) ) + else if (GameRules_GetTeamScore(TEAM_MILITIA) > GameRules_GetTeamScore(TEAM_IMC)) return TEAM_MILITIA return TEAM_UNASSIGNED diff --git a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut index ba1807900..3248d72ef 100644 --- a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut +++ b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_tdm.nut @@ -12,6 +12,13 @@ void function GiveScoreForPlayerKill( entity victim, entity attacker, var damage { if ( victim != attacker && victim.IsPlayer() && attacker.IsPlayer() || GetGameState() != eGameState.Playing ) AddTeamScore( attacker.GetTeam(), 1 ) + + var existingAttackers = [] + foreach(DamageHistoryStruct attackerInfo in victim.e.recentDamageHistory) + { + if( attackerInfo.attacker != attacker && !(attackerInfo.attacker in existingAttackers) ) + attackerInfo.attacker.AddToPlayerGameStat( PGS_ASSISTS, 1 ) + } } void function RateSpawnpoints_Directional( int checkclass, array spawnpoints, int team, entity player ) -- cgit v1.2.3