3 MUTATOR_HOOKFUNCTION(duel, GetPlayerLimit)
5 M_ARGV(0, int) = 2; // duel is always 1v1!
8 MUTATOR_HOOKFUNCTION(duel, Scores_CountFragsRemaining)
10 // announce remaining frags?
14 MUTATOR_HOOKFUNCTION(duel, Scores_AnnounceLeads)
16 // enable leads announcer
20 MUTATOR_HOOKFUNCTION(duel, FilterItemDefinition)
22 entity definition = M_ARGV(0, entity);
24 if(definition.instanceOfPowerup)
26 return !autocvar_g_duel_with_powerups;
30 MUTATOR_HOOKFUNCTION(duel, FragCenterMessage)
32 // Use normal notifications in warmup
33 if(warmup_stage) return false;
35 entity attacker = M_ARGV(0, entity);
36 entity targ = M_ARGV(1, entity);
38 int kill_count_to_attacker = M_ARGV(3, int);
39 int kill_count_to_target = M_ARGV(4, int);
41 WinningConditionHelper(NULL);
43 if(WinningConditionHelper_equality)
45 else if(attacker == WinningConditionHelper_winner)
54 CENTER_DEATH_MURDER_DUEL,
57 kill_count_to_attacker,
58 GameRules_scoring_add(attacker, SCORE, 0)
67 GetResource(attacker, RES_HEALTH),
68 GetResource(attacker, RES_ARMOR),
69 (IS_BOT_CLIENT(attacker) ? -1 : CS(attacker).ping)