Fix incorrect scoring, default to 1000

This commit is contained in:
TehRealSalt 2019-01-17 00:55:25 -05:00
commit 63861540cb
4 changed files with 15 additions and 15 deletions

View file

@ -358,7 +358,7 @@ consvar_t cv_kartfrantic = {"kartfrantic", "Off", CV_NETVAR|CV_CHEAT|CV_CALL|CV_
consvar_t cv_kartcomeback = {"kartcomeback", "On", CV_NETVAR|CV_CHEAT|CV_CALL|CV_NOINIT, CV_OnOff, KartComeback_OnChange, 0, NULL, NULL, 0, 0, NULL};
consvar_t cv_kartencore = {"kartencore", "Off", CV_NETVAR|CV_CALL|CV_NOINIT, CV_OnOff, KartEncore_OnChange, 0, NULL, NULL, 0, 0, NULL};
static CV_PossibleValue_t kartvoterulechanges_cons_t[] = {{0, "Never"}, {1, "Sometimes"}, {2, "Frequent"}, {3, "Always"}, {0, NULL}};
consvar_t cv_kartvoterulechanges = {"kartvoterulechanges", "Sometimes", CV_NETVAR, kartvoterulechanges_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
consvar_t cv_kartvoterulechanges = {"kartvoterulechanges", "Frequent", CV_NETVAR, kartvoterulechanges_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
static CV_PossibleValue_t kartspeedometer_cons_t[] = {{0, "Off"}, {1, "Kilometers"}, {2, "Miles"}, {3, "Fracunits"}, {0, NULL}};
consvar_t cv_kartspeedometer = {"kartdisplayspeed", "Off", CV_SAVE, kartspeedometer_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; // use tics in display
static CV_PossibleValue_t kartvoices_cons_t[] = {{0, "Never"}, {1, "Tasteful"}, {2, "Meme"}, {0, NULL}};

View file

@ -3160,7 +3160,7 @@ INT16 G_SometimesGetDifferentGametype(void)
break;
case 1: // sometimes
default:
encorepossible = M_RandomChance(FRACUNIT>>3);
encorepossible = M_RandomChance(FRACUNIT>>2);
break;
}
if (encorepossible != (boolean)cv_kartencore.value)
@ -3175,12 +3175,12 @@ INT16 G_SometimesGetDifferentGametype(void)
randmapbuffer[NUMMAPS] = 1; // every other vote (or always if !encorepossible)
break;
case 1: // sometimes
randmapbuffer[NUMMAPS] = 10; // ...every two cups?
randmapbuffer[NUMMAPS] = 5; // per "cup"
break;
default:
// fallthrough - happens when clearing buffer, but needs a reasonable countdown if cvar is modified
case 2: // frequent
randmapbuffer[NUMMAPS] = 5; // per "cup"
randmapbuffer[NUMMAPS] = 3; // ...every 1/2th-ish cup?
break;
}
@ -3783,7 +3783,7 @@ void G_LoadGameData(void)
matchesplayed = 0; // SRB2Kart: matches played & finished
for (i = 0; i < 2; i++) // SRB2Kart: online rank system
vspowerlevel[i] = 5000;
vspowerlevel[i] = 1000;
if (M_CheckParm("-nodata"))
return; // Don't load.

View file

@ -8513,7 +8513,7 @@ static void M_EraseDataResponse(INT32 ch)
totalplaytime = 0;
matchesplayed = 0;
for (i = 0; i < 2; i++)
vspowerlevel[i] = 5000;
vspowerlevel[i] = 1000;
F_StartIntro();
}
if (erasecontext != 1)

View file

@ -323,7 +323,7 @@ static void Y_CalculateMatchData(UINT8 rankingsmode, void (*comparison)(INT32))
if (!rankingsmode && powertype != -1)
{
for (i = 0; i < data.match.numplayers; i++)
for (i = 0; i < numplayersingame; i++)
{
UINT16 yourpower = 5000;
UINT16 theirpower = 5000;
@ -334,21 +334,24 @@ static void Y_CalculateMatchData(UINT8 rankingsmode, void (*comparison)(INT32))
continue;
yourpower = clientpowerlevels[i][powertype];
for (j = 0; j < data.match.numplayers; j++)
for (j = 0; j < numplayersingame; j++)
{
if (i == j || data.match.pos[i] == data.match.pos[j]) // Tie -- neither get any points for this match up.
if (i == j) // Same person
continue;
if (data.match.pos[i] == data.match.pos[j]) // Tie -- neither get any points for this match up.
continue;
theirpower = 5000;
if (clientpowerlevels[j][powertype] != 0) // No power level acts as 5000 (used for splitscreen guests)
theirpower = clientpowerlevels[j][powertype];
if (data.match.pos[i] > data.match.pos[j]) // This player won!
if (data.match.pos[i] < data.match.pos[j]) // This player won!
{
diff = theirpower - yourpower;
inc += K_CalculatePowerLevelInc(diff);
}
else if (data.match.pos[i] < data.match.pos[j]) // This player lost...
else if (data.match.pos[i] > data.match.pos[j]) // This player lost...
{
diff = yourpower - theirpower;
inc -= K_CalculatePowerLevelInc(diff);
@ -584,10 +587,7 @@ void Y_IntermissionDrawer(void)
{
if (data.match.increase[data.match.num[i]] != INT16_MIN)
{
if (data.match.increase[data.match.num[i]] > 9)
snprintf(strtime, sizeof strtime, "(+%02d)", data.match.increase[data.match.num[i]]);
else
snprintf(strtime, sizeof strtime, "(+ %d)", data.match.increase[data.match.num[i]]);
snprintf(strtime, sizeof strtime, "(%d)", data.match.increase[data.match.num[i]]);
V_DrawRightAlignedString(x+118+gutter, y, 0, strtime);
}