Skip to content

Commit 40fc19e

Browse files
fixed picking golden frag with overtime command, fixed sudden death logic to not return early on golden frag
1 parent 087ab0e commit 40fc19e

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

src/client.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2470,6 +2470,7 @@ void Check_SD(gedict_t *p)
24702470
}
24712471
return;
24722472
}
2473+
24732474
case SD_GOLDEN_FRAG: {
24742475
gedict_t *ed1 = get_ed_scores1(), *ed2 = get_ed_scores2();
24752476
int sc = get_scores1() - get_scores2();

src/commands.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1732,7 +1732,7 @@ void ChangeOvertime(void)
17321732
return;
17331733
}
17341734

1735-
f1 = bound(0, cvar("k_overtime"), 3);
1735+
f1 = bound(0, cvar("k_overtime"), 4);
17361736
f2 = bound(0, cvar("k_exttime"), 999);
17371737

17381738
if (!f1)
@@ -1759,13 +1759,13 @@ void ChangeOvertime(void)
17591759
}
17601760
else if (f1 == 3)
17611761
{
1762-
cvar_fset("k_overtime", 0);
1763-
G_bprint(2, "%s: off\n", redtext("Overtime"));
1762+
cvar_fset("k_overtime", SD_GOLDEN_FRAG);
1763+
G_bprint(2, "%s: golden frag\n", redtext("Overtime"));
17641764
}
17651765
else if (f1 == SD_GOLDEN_FRAG)
17661766
{
1767-
cvar_fset("k_overtime", SD_GOLDEN_FRAG);
1768-
G_bprint(2, "%s: golden frag\n", redtext("Overtime"));
1767+
cvar_fset("k_overtime", 0);
1768+
G_bprint(2, "%s: off\n", redtext("Overtime"));
17691769
}
17701770

17711771
}

src/match.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,7 @@ void CheckOvertime(void)
534534

535535
// If 0 no overtime, 1 overtime, 2 sudden death
536536
// And if its neither then well we exit
537-
if (!k_mb_overtime || ((k_mb_overtime != 1) && (k_mb_overtime != 2) && (k_mb_overtime != 3)))
537+
if (!k_mb_overtime || ((k_mb_overtime != 1) && (k_mb_overtime != 2) && (k_mb_overtime != 3) && (k_mb_overtime != SD_GOLDEN_FRAG)))
538538
{
539539
EndMatch(0);
540540

@@ -567,8 +567,8 @@ void CheckOvertime(void)
567567
|| ((isTeam() || isCTF()) && (teams == 2) && (players > 1))) // Handle a 2v2 or above team game or 1v1 CTF
568568
{
569569
if (((k_mb_overtime == 3) && abs(sc) > 1) // tie-break overtime allowed with one frag difference (c) ktpro
570-
|| ((k_mb_overtime != 3) && abs(sc) > 0) // time based or sudden death overtime allowed with zero frag difference
571-
|| k_mb_overtime == SD_GOLDEN_FRAG) // golden frag sudden death always allowed when enabled
570+
|| (k_mb_overtime != 3 && k_mb_overtime != SD_GOLDEN_FRAG && abs(sc) > 0)) // time based
571+
//or sudden death overtime not including golden frag allowed with zero frag difference
572572
{
573573
k_mb_overtime = 0;
574574
}
@@ -1710,6 +1710,10 @@ void PrintCountdown(int seconds)
17101710
ot = va("%s %s", dig3(tiecount()), redtext("tb"));
17111711
break;
17121712

1713+
case SD_GOLDEN_FRAG:
1714+
ot = va("gold");
1715+
break;
1716+
17131717
default:
17141718
ot = redtext("Unkn");
17151719
break;

0 commit comments

Comments
 (0)