mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'master' into spindash
This commit is contained in:
commit
f61f9a010c
7 changed files with 31 additions and 10 deletions
|
|
@ -395,6 +395,7 @@ consvar_t cv_hyudoro = {"hyudoro", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NU
|
|||
consvar_t cv_pogospring = {"pogospring", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_kitchensink = {"kitchensink", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
consvar_t cv_dualsneaker = {"dualsneaker", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_triplesneaker = {"triplesneaker", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_triplebanana = {"triplebanana", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_decabanana = {"decabanana", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ extern consvar_t cv_ballhog, cv_selfpropelledbomb, cv_grow, cv_shrink;
|
|||
extern consvar_t cv_thundershield, cv_bubbleshield, cv_flameshield;
|
||||
extern consvar_t cv_hyudoro, cv_pogospring, cv_kitchensink;
|
||||
|
||||
extern consvar_t cv_triplesneaker, cv_triplebanana, cv_decabanana;
|
||||
extern consvar_t cv_dualsneaker, cv_triplesneaker, cv_triplebanana, cv_decabanana;
|
||||
extern consvar_t cv_tripleorbinaut, cv_quadorbinaut, cv_dualjawz;
|
||||
|
||||
extern consvar_t cv_kartminimap;
|
||||
|
|
|
|||
|
|
@ -237,7 +237,8 @@ typedef enum
|
|||
NUMKARTITEMS,
|
||||
|
||||
// Additional roulette numbers, only used for K_KartGetItemResult
|
||||
KRITEM_TRIPLESNEAKER = NUMKARTITEMS,
|
||||
KRITEM_DUALSNEAKER = NUMKARTITEMS,
|
||||
KRITEM_TRIPLESNEAKER,
|
||||
KRITEM_TRIPLEBANANA,
|
||||
KRITEM_TENFOLDBANANA,
|
||||
KRITEM_TRIPLEORBINAUT,
|
||||
|
|
|
|||
|
|
@ -9412,7 +9412,8 @@ struct {
|
|||
KART_ITEM_ITERATOR, // Actual items (can be set for k_itemtype)
|
||||
#undef FOREACH
|
||||
{"NUMKARTITEMS",NUMKARTITEMS},
|
||||
{"KRITEM_TRIPLESNEAKER",KRITEM_TRIPLESNEAKER}, // Additional roulette IDs (not usable for much in Lua besides K_GetItemPatch)
|
||||
{"KRITEM_DUALSNEAKER",KRITEM_DUALSNEAKER}, // Additional roulette IDs (not usable for much in Lua besides K_GetItemPatch)
|
||||
{"KRITEM_TRIPLESNEAKER",KRITEM_TRIPLESNEAKER},
|
||||
{"KRITEM_TRIPLEBANANA",KRITEM_TRIPLEBANANA},
|
||||
{"KRITEM_TENFOLDBANANA",KRITEM_TENFOLDBANANA},
|
||||
{"KRITEM_TRIPLEORBINAUT",KRITEM_TRIPLEORBINAUT},
|
||||
|
|
|
|||
22
src/k_kart.c
22
src/k_kart.c
|
|
@ -161,6 +161,7 @@ void K_RegisterKartStuff(void)
|
|||
CV_RegisterVar(&cv_superring);
|
||||
CV_RegisterVar(&cv_kitchensink);
|
||||
|
||||
CV_RegisterVar(&cv_dualsneaker);
|
||||
CV_RegisterVar(&cv_triplesneaker);
|
||||
CV_RegisterVar(&cv_triplebanana);
|
||||
CV_RegisterVar(&cv_decabanana);
|
||||
|
|
@ -260,6 +261,7 @@ consvar_t *KartItemCVars[NUMKARTRESULTS-1] =
|
|||
&cv_pogospring,
|
||||
&cv_superring,
|
||||
&cv_kitchensink,
|
||||
&cv_dualsneaker,
|
||||
&cv_triplesneaker,
|
||||
&cv_triplebanana,
|
||||
&cv_decabanana,
|
||||
|
|
@ -276,23 +278,24 @@ static INT32 K_KartItemOddsRace[NUMKARTRESULTS-1][8] =
|
|||
//P-Odds 0 1 2 3 4 5 6 7
|
||||
/*Sneaker*/ { 0, 0, 2, 4, 6, 0, 0, 0 }, // Sneaker
|
||||
/*Rocket Sneaker*/ { 0, 0, 0, 0, 0, 2, 4, 6 }, // Rocket Sneaker
|
||||
/*Invincibility*/ { 0, 0, 0, 0, 1, 4, 7, 9 }, // Invincibility
|
||||
/*Banana*/ { 7, 3, 2, 0, 0, 0, 0, 0 }, // Banana
|
||||
/*Invincibility*/ { 0, 0, 0, 0, 2, 4, 6, 9 }, // Invincibility
|
||||
/*Banana*/ { 7, 3, 1, 0, 0, 0, 0, 0 }, // Banana
|
||||
/*Eggman Monitor*/ { 3, 2, 0, 0, 0, 0, 0, 0 }, // Eggman Monitor
|
||||
/*Orbinaut*/ { 7, 4, 3, 2, 0, 0, 0, 0 }, // Orbinaut
|
||||
/*Orbinaut*/ { 7, 4, 2, 2, 0, 0, 0, 0 }, // Orbinaut
|
||||
/*Jawz*/ { 0, 3, 2, 1, 1, 0, 0, 0 }, // Jawz
|
||||
/*Mine*/ { 0, 2, 2, 1, 0, 0, 0, 0 }, // Mine
|
||||
/*Mine*/ { 0, 2, 3, 1, 0, 0, 0, 0 }, // Mine
|
||||
/*Ballhog*/ { 0, 0, 2, 1, 0, 0, 0, 0 }, // Ballhog
|
||||
/*Self-Propelled Bomb*/ { 0, 1, 2, 3, 4, 2, 2, 0 }, // Self-Propelled Bomb
|
||||
/*Grow*/ { 0, 0, 0, 1, 2, 3, 0, 0 }, // Grow
|
||||
/*Shrink*/ { 0, 0, 0, 0, 0, 0, 2, 0 }, // Shrink
|
||||
/*Thunder Shield*/ { 1, 2, 0, 0, 0, 0, 0, 0 }, // Thunder Shield
|
||||
/*Bubble Shield*/ { 0, 2, 3, 3, 1, 0, 0, 0 }, // Bubble Shield
|
||||
/*Bubble Shield*/ { 0, 1, 2, 1, 0, 0, 0, 0 }, // Bubble Shield
|
||||
/*Flame Shield*/ { 0, 0, 0, 0, 0, 1, 3, 5 }, // Flame Shield
|
||||
/*Hyudoro*/ { 0, 0, 0, 1, 2, 0, 0, 0 }, // Hyudoro
|
||||
/*Hyudoro*/ { 0, 0, 0, 1, 1, 0, 0, 0 }, // Hyudoro
|
||||
/*Pogo Spring*/ { 0, 0, 0, 0, 0, 0, 0, 0 }, // Pogo Spring
|
||||
/*Super Ring*/ { 2, 1, 1, 0, 0, 0, 0, 0 }, // Super Ring
|
||||
/*Kitchen Sink*/ { 0, 0, 0, 0, 0, 0, 0, 0 }, // Kitchen Sink
|
||||
/*Sneaker x2*/ { 0, 0, 2, 2, 1, 0, 0, 0 }, // Sneaker x2
|
||||
/*Sneaker x3*/ { 0, 0, 0, 2, 6,10, 5, 0 }, // Sneaker x3
|
||||
/*Banana x3*/ { 0, 1, 1, 0, 0, 0, 0, 0 }, // Banana x3
|
||||
/*Banana x10*/ { 0, 0, 0, 1, 0, 0, 0, 0 }, // Banana x10
|
||||
|
|
@ -323,6 +326,7 @@ static INT32 K_KartItemOddsBattle[NUMKARTRESULTS-1][6] =
|
|||
/*Pogo Spring*/ { 1, 1, 0, 0, 0, 0 }, // Pogo Spring
|
||||
/*Super Ring*/ { 0, 0, 0, 0, 0, 0 }, // Super Ring
|
||||
/*Kitchen Sink*/ { 0, 0, 0, 0, 0, 0 }, // Kitchen Sink
|
||||
/*Sneaker x2*/ { 0, 0, 0, 0, 0, 0 }, // Sneaker x2
|
||||
/*Sneaker x3*/ { 0, 0, 0, 2, 4, 2 }, // Sneaker x3
|
||||
/*Banana x3*/ { 1, 2, 1, 0, 0, 0 }, // Banana x3
|
||||
/*Banana x10*/ { 0, 0, 1, 1, 0, 2 }, // Banana x10
|
||||
|
|
@ -365,6 +369,10 @@ static void K_KartGetItemResult(player_t *player, SINT8 getitem)
|
|||
switch (getitem)
|
||||
{
|
||||
// Special roulettes first, then the generic ones are handled by default
|
||||
case KRITEM_DUALSNEAKER: // Sneaker x2
|
||||
player->kartstuff[k_itemtype] = KITEM_SNEAKER;
|
||||
player->kartstuff[k_itemamount] = 2;
|
||||
break;
|
||||
case KRITEM_TRIPLESNEAKER: // Sneaker x3
|
||||
player->kartstuff[k_itemtype] = KITEM_SNEAKER;
|
||||
player->kartstuff[k_itemamount] = 3;
|
||||
|
|
@ -524,6 +532,7 @@ static INT32 K_KartGetItemOdds(UINT8 pos, SINT8 item, fixed_t mashed, boolean sp
|
|||
case KITEM_THUNDERSHIELD:
|
||||
case KITEM_BUBBLESHIELD:
|
||||
case KITEM_FLAMESHIELD:
|
||||
case KRITEM_DUALSNEAKER:
|
||||
case KRITEM_TRIPLESNEAKER:
|
||||
case KRITEM_TRIPLEBANANA:
|
||||
case KRITEM_TENFOLDBANANA:
|
||||
|
|
@ -8336,6 +8345,7 @@ const char *K_GetItemPatch(UINT8 item, boolean tiny)
|
|||
switch (item)
|
||||
{
|
||||
case KITEM_SNEAKER:
|
||||
case KRITEM_DUALSNEAKER:
|
||||
case KRITEM_TRIPLESNEAKER:
|
||||
return (tiny ? "K_ISSHOE" : "K_ITSHOE");
|
||||
case KITEM_ROCKETSNEAKER:
|
||||
|
|
|
|||
|
|
@ -11103,6 +11103,7 @@ static void M_DrawMonitorToggles(void)
|
|||
|
||||
switch (currentMenu->menuitems[thisitem].alphaKey)
|
||||
{
|
||||
case KRITEM_DUALSNEAKER:
|
||||
case KRITEM_DUALJAWZ:
|
||||
drawnum = 2;
|
||||
break;
|
||||
|
|
@ -11172,6 +11173,7 @@ static void M_DrawMonitorToggles(void)
|
|||
|
||||
switch (currentMenu->menuitems[itemOn].alphaKey)
|
||||
{
|
||||
case KRITEM_DUALSNEAKER:
|
||||
case KRITEM_DUALJAWZ:
|
||||
drawnum = 2;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -11710,13 +11710,19 @@ void P_RespawnSpecials(void)
|
|||
return;
|
||||
else if (pcount > 1)
|
||||
{
|
||||
time = (180 - (pcount * 10))*TICRATE;
|
||||
time = (120 - ((pcount-2) * 10))*TICRATE;
|
||||
|
||||
// If the map is longer or shorter than 3 laps, then adjust ring respawn to account for this.
|
||||
// 5 lap courses would have more retreaded ground, while 2 lap courses would have less.
|
||||
if ((mapheaderinfo[gamemap-1]->numlaps != 3)
|
||||
&& !(mapheaderinfo[gamemap-1]->levelflags & LF_SECTIONRACE))
|
||||
time = (time * 3) / max(1, mapheaderinfo[gamemap-1]->numlaps);
|
||||
|
||||
if (time < 10*TICRATE)
|
||||
{
|
||||
// Ensure it doesn't go into absurdly low values
|
||||
time = 10*TICRATE;
|
||||
}
|
||||
}
|
||||
|
||||
// nothing left to respawn?
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue