From: Jan Behrens Date: Fri, 10 May 2013 11:15:02 +0000 (+0200) Subject: Add "rounds" score field for CA X-Git-Tag: xonotic-v0.7.0~23^2~3 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2e5547e994d1f95217e2c547308d3028ca8487b0;p=xonotic%2Fxonotic-data.pk3dir.git Add "rounds" score field for CA --- diff --git a/qcsrc/server/cl_player.qc b/qcsrc/server/cl_player.qc index f00d42df2..2b7566298 100644 --- a/qcsrc/server/cl_player.qc +++ b/qcsrc/server/cl_player.qc @@ -497,7 +497,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht self.dmg_inflictor = inflictor; if(g_ca && self != attacker && IS_PLAYER(attacker)) - PlayerScore_Add(attacker, SP_SCORE, (damage - excess) * autocvar_g_ca_damage2score_multiplier); + PlayerTeamScore_Add(attacker, SP_SCORE, ST_SCORE, (damage - excess) * autocvar_g_ca_damage2score_multiplier); float abot, vbot, awep; abot = (IS_BOT_CLIENT(attacker)); diff --git a/qcsrc/server/mutators/gamemode_ca.qc b/qcsrc/server/mutators/gamemode_ca.qc index 32e7e98b6..7c8c1cb77 100644 --- a/qcsrc/server/mutators/gamemode_ca.qc +++ b/qcsrc/server/mutators/gamemode_ca.qc @@ -85,7 +85,7 @@ float CA_CheckWinner() { Send_Notification(NOTIF_ALL, world, MSG_CENTER, APP_TEAM_NUM_4(winner_team, CENTER_ROUND_TEAM_WIN_)); Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_NUM_4(winner_team, INFO_ROUND_TEAM_WIN_)); - TeamScore_AddToTeam(winner_team, ST_SCORE, +1); + TeamScore_AddToTeam(winner_team, ST_CA_ROUNDS, +1); } else if(winner_team == -1) { @@ -226,7 +226,7 @@ MUTATOR_HOOKFUNCTION(ca_SetStartItems) { start_health = cvar("g_lms_start_health"); start_armorvalue = cvar("g_lms_start_armor"); - + start_ammo_shells = cvar("g_lms_start_ammo_shells"); start_ammo_nails = cvar("g_lms_start_ammo_nails"); start_ammo_rockets = cvar("g_lms_start_ammo_rockets"); @@ -238,6 +238,19 @@ MUTATOR_HOOKFUNCTION(ca_SetStartItems) return 0; } +// scoreboard setup +void ca_ScoreRules() +{ + ScoreRules_basics(2, SFL_SORT_PRIO_PRIMARY, 0, TRUE); + ScoreInfo_SetLabel_TeamScore (ST_CA_ROUNDS, "rounds", SFL_SORT_PRIO_PRIMARY); + ScoreRules_basics_end(); +} + +void ca_DelayedInit() // Do this check with a delay so we can wait for teams to be set up. +{ + ca_ScoreRules(); +} + void ca_Initialize() { allowed_to_spawn = TRUE; @@ -249,6 +262,8 @@ void ca_Initialize() addstat(STAT_BLUEALIVE, AS_INT, bluealive_stat); addstat(STAT_YELLOWALIVE, AS_INT, yellowalive_stat); addstat(STAT_PINKALIVE, AS_INT, pinkalive_stat); + + InitializeEntity(world, ca_DelayedInit, INITPRIO_GAMETYPE); } MUTATOR_DEFINITION(gamemode_ca) diff --git a/qcsrc/server/mutators/gamemode_ca.qh b/qcsrc/server/mutators/gamemode_ca.qh index ab0a9d195..a33395254 100644 --- a/qcsrc/server/mutators/gamemode_ca.qh +++ b/qcsrc/server/mutators/gamemode_ca.qh @@ -1,3 +1,8 @@ // should be removed in the future, as other code should not have to care .float caplayer; // 0.5 if scheduled to join the next round +#ifdef SVQC + +#define ST_CA_ROUNDS 1 + +#endif