File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -655,7 +655,11 @@ void() PU_FreePerk =
655655
656656 while (players) {
657657
658- if (players. downed || players. perks >= 255 ) {
658+ // don't to anything if any of these conditions is true
659+ // 1. player is down
660+ // 2. player has already all perks
661+ // 3. player has all perks useful for Gun Game mode (all but mule kick)
662+ if (players. downed || players. perks >= P_ALL || (cvar("sv_gamemode" ) == GAMEMODE_GUNGAME && players. perks >= P_ALL_GUNGAME)) {
659663 players = find(players, classname, "player" );
660664 continue ;
661665 }
@@ -673,7 +677,7 @@ void() PU_FreePerk =
673677 else if (perk_rand < (5 / 8 ) && ! (players. perks & P_STAMIN)) { self. sequence = 5 ; perk_to_give = P_STAMIN; }
674678 else if (perk_rand < (6 / 8 ) && ! (players. perks & P_FLOP)) { self. sequence = 6 ; perk_to_give = P_FLOP; }
675679 else if (perk_rand < (7 / 8 ) && ! (players. perks & P_DEAD)) { self. sequence = 7 ; perk_to_give = P_DEAD; }
676- else if (! (players. perks & P_MULE) && cvar("sv_gamemode" ) != 2 ) { self. sequence = 8 ; perk_to_give = P_MULE; }
680+ else if (! (players. perks & P_MULE) && cvar("sv_gamemode" ) != GAMEMODE_GUNGAME ) { self. sequence = 8 ; perk_to_give = P_MULE; }
677681
678682 if (perk_to_give != 0 )
679683 found_perk_for_player = true;
Original file line number Diff line number Diff line change @@ -312,6 +312,11 @@ float map_compatibility_mode;
312312#define P_DEAD 64
313313#define P_MULE 128
314314
315+ // all perks
316+ #define P_ALL (P_JUG | P_DOUBLE | P_SPEED | P_REVIVE | P_FLOP | P_STAMIN | P_DEAD | P_MULE)
317+ // all perks useful in Gun Game (all but no mule kick)
318+ #define P_ALL_GUNGAME (P_JUG | P_DOUBLE | P_SPEED | P_REVIVE | P_FLOP | P_STAMIN | P_DEAD)
319+
315320#define STAT_VIEWZOOM 21
316321
317322#define STAT_CURRENTMAG 50
You can’t perform that action at this time.
0 commit comments