diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 4f42a6bef..ce9bcbf3a 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -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}}; diff --git a/src/g_game.c b/src/g_game.c index ec085914d..0c9f7c911 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -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. diff --git a/src/m_menu.c b/src/m_menu.c index bcbc6cb78..900ff4f56 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -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) diff --git a/src/y_inter.c b/src/y_inter.c index 3cca4f7fc..53be9893c 100644 --- a/src/y_inter.c +++ b/src/y_inter.c @@ -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); }