mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Some house-cleaning
This commit is contained in:
parent
2f95fdf412
commit
1512b08fde
1 changed files with 48 additions and 78 deletions
126
src/k_kart.c
126
src/k_kart.c
|
|
@ -603,6 +603,32 @@ static INT32 K_KartGetItemOdds(UINT8 pos, SINT8 item, fixed_t mashed)
|
||||||
UINT8 pingame = 0, pexiting = 0, pinvin = 0;
|
UINT8 pingame = 0, pexiting = 0, pinvin = 0;
|
||||||
SINT8 first = -1, second = -1;
|
SINT8 first = -1, second = -1;
|
||||||
INT32 secondist = 0;
|
INT32 secondist = 0;
|
||||||
|
boolean itemenabled[NUMKARTRESULTS] = {
|
||||||
|
cv_sneaker.value,
|
||||||
|
cv_rocketsneaker.value,
|
||||||
|
cv_invincibility.value,
|
||||||
|
cv_banana.value,
|
||||||
|
cv_eggmanmonitor.value,
|
||||||
|
cv_orbinaut.value,
|
||||||
|
cv_jawz.value,
|
||||||
|
cv_mine.value,
|
||||||
|
cv_ballhog.value,
|
||||||
|
cv_selfpropelledbomb.value,
|
||||||
|
cv_grow.value,
|
||||||
|
cv_shrink.value,
|
||||||
|
cv_thundershield.value,
|
||||||
|
cv_hyudoro.value,
|
||||||
|
cv_kitchensink.value,
|
||||||
|
cv_triplesneaker.value,
|
||||||
|
cv_triplebanana.value,
|
||||||
|
cv_decabanana.value,
|
||||||
|
cv_tripleorbinaut.value,
|
||||||
|
cv_quadorbinaut.value,
|
||||||
|
cv_dualjawz.value
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!itemenabled[item] && !modeattacking)
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (G_BattleGametype())
|
if (G_BattleGametype())
|
||||||
newodds = K_KartItemOddsBattle[item-1][pos];
|
newodds = K_KartItemOddsBattle[item-1][pos];
|
||||||
|
|
@ -634,14 +660,14 @@ static INT32 K_KartGetItemOdds(UINT8 pos, SINT8 item, fixed_t mashed)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (first != -1 && second != -1 && !G_BattleGametype()) // calculate 2nd's distance from 1st, for SPB
|
if (first != -1 && second != -1) // calculate 2nd's distance from 1st, for SPB
|
||||||
{
|
{
|
||||||
secondist = P_AproxDistance(P_AproxDistance(players[first].mo->x - players[second].mo->x,
|
secondist = P_AproxDistance(P_AproxDistance(players[first].mo->x - players[second].mo->x,
|
||||||
players[first].mo->y - players[second].mo->y),
|
players[first].mo->y - players[second].mo->y),
|
||||||
players[first].mo->z - players[second].mo->z) / mapheaderinfo[gamemap-1]->mobj_scale;
|
players[first].mo->z - players[second].mo->z) / mapheaderinfo[gamemap-1]->mobj_scale;
|
||||||
if (franticitems)
|
if (franticitems)
|
||||||
secondist = (15*secondist/14);
|
secondist = (15 * secondist) / 14;
|
||||||
secondist = ((28+(8-pingame))*secondist/28);
|
secondist = ((28 + (8-pingame)) * secondist) / 28;
|
||||||
}
|
}
|
||||||
|
|
||||||
// POWERITEMODDS handles all of the "frantic item" related functionality, for all of our powerful items.
|
// POWERITEMODDS handles all of the "frantic item" related functionality, for all of our powerful items.
|
||||||
|
|
@ -658,97 +684,41 @@ static INT32 K_KartGetItemOdds(UINT8 pos, SINT8 item, fixed_t mashed)
|
||||||
|
|
||||||
switch (item)
|
switch (item)
|
||||||
{
|
{
|
||||||
case KITEM_SNEAKER:
|
|
||||||
if ((!cv_sneaker.value) && (!modeattacking)) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KITEM_ROCKETSNEAKER:
|
|
||||||
POWERITEMODDS(newodds);
|
|
||||||
if (!cv_rocketsneaker.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KITEM_INVINCIBILITY:
|
case KITEM_INVINCIBILITY:
|
||||||
POWERITEMODDS(newodds);
|
case KITEM_GROW:
|
||||||
if ((!cv_invincibility.value) || (pinvin >= 2)) newodds = 0;
|
if (pinvin >= 2)
|
||||||
break;
|
newodds = 0;
|
||||||
case KITEM_BANANA:
|
else
|
||||||
if (!cv_banana.value) newodds = 0;
|
/* FALLTHRU */
|
||||||
break;
|
case KITEM_ROCKETSNEAKER:
|
||||||
case KITEM_EGGMAN:
|
|
||||||
if (!cv_eggmanmonitor.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KITEM_ORBINAUT:
|
|
||||||
if (!cv_orbinaut.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KITEM_JAWZ:
|
case KITEM_JAWZ:
|
||||||
POWERITEMODDS(newodds);
|
|
||||||
if (!cv_jawz.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KITEM_MINE:
|
case KITEM_MINE:
|
||||||
POWERITEMODDS(newodds);
|
|
||||||
if (!cv_mine.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KITEM_BALLHOG:
|
case KITEM_BALLHOG:
|
||||||
|
case KITEM_THUNDERSHIELD:
|
||||||
|
case KRITEM_TRIPLESNEAKER:
|
||||||
|
case KRITEM_TRIPLEBANANA:
|
||||||
|
case KRITEM_TENFOLDBANANA:
|
||||||
|
case KRITEM_TRIPLEORBINAUT:
|
||||||
|
case KRITEM_QUADORBINAUT:
|
||||||
|
case KRITEM_DUALJAWZ:
|
||||||
POWERITEMODDS(newodds);
|
POWERITEMODDS(newodds);
|
||||||
if (!cv_ballhog.value) newodds = 0;
|
|
||||||
break;
|
break;
|
||||||
case KITEM_SPB:
|
case KITEM_SPB:
|
||||||
//POWERITEMODDS(newodds);
|
//POWERITEMODDS(newodds);
|
||||||
if ((!cv_selfpropelledbomb.value)
|
if ((indirectitemcooldown > 0) || (pexiting > 0) || (secondist/distvar < 5))
|
||||||
|| (indirectitemcooldown > 0)
|
|
||||||
|| (pexiting > 0)
|
|
||||||
|| (secondist/distvar < (4+gamespeed)))
|
|
||||||
newodds = 0;
|
newodds = 0;
|
||||||
newodds *= min((secondist/distvar)-(3+gamespeed), 3);
|
else
|
||||||
break;
|
newodds *= min((secondist/distvar)-4, 3);
|
||||||
case KITEM_GROW:
|
|
||||||
POWERITEMODDS(newodds);
|
|
||||||
if ((!cv_grow.value) || (pinvin >= 2)) newodds = 0;
|
|
||||||
break;
|
break;
|
||||||
case KITEM_SHRINK:
|
case KITEM_SHRINK:
|
||||||
POWERITEMODDS(newodds);
|
POWERITEMODDS(newodds);
|
||||||
if ((!cv_shrink.value)
|
if ((indirectitemcooldown > 0) || (pingame-1 <= pexiting))
|
||||||
|| (indirectitemcooldown > 0)
|
newodds = 0;
|
||||||
|| (pingame-1 <= pexiting)) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KITEM_THUNDERSHIELD:
|
|
||||||
POWERITEMODDS(newodds);
|
|
||||||
if (!cv_thundershield.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KITEM_HYUDORO:
|
|
||||||
if (!cv_hyudoro.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KITEM_POGOSPRING:
|
|
||||||
if (!cv_pogospring.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KITEM_KITCHENSINK:
|
|
||||||
newodds = 0; // Not obtained via normal means.
|
|
||||||
break;
|
|
||||||
case KRITEM_TRIPLESNEAKER:
|
|
||||||
POWERITEMODDS(newodds);
|
|
||||||
if (!cv_triplesneaker.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KRITEM_TRIPLEBANANA:
|
|
||||||
POWERITEMODDS(newodds);
|
|
||||||
if (!cv_triplebanana.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KRITEM_TENFOLDBANANA:
|
|
||||||
POWERITEMODDS(newodds);
|
|
||||||
if (!cv_decabanana.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KRITEM_TRIPLEORBINAUT:
|
|
||||||
POWERITEMODDS(newodds);
|
|
||||||
if (!cv_tripleorbinaut.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KRITEM_QUADORBINAUT:
|
|
||||||
POWERITEMODDS(newodds);
|
|
||||||
if (!cv_quadorbinaut.value) newodds = 0;
|
|
||||||
break;
|
|
||||||
case KRITEM_DUALJAWZ:
|
|
||||||
POWERITEMODDS(newodds);
|
|
||||||
if (!cv_dualjawz.value) newodds = 0;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef POWERITEMODDS
|
#undef POWERITEMODDS
|
||||||
|
|
||||||
return newodds;
|
return newodds;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue