egg mine bracket
This commit is contained in:
parent
2c04bb2ef5
commit
b59a9272ea
3 changed files with 41 additions and 17 deletions
|
|
@ -182,6 +182,9 @@ typedef enum
|
|||
KRITEM_TRIPLEORBINAUT,
|
||||
KRITEM_QUADORBINAUT,
|
||||
KRITEM_DUALJAWZ,
|
||||
|
||||
// alt items implemented as separate things
|
||||
KAITEM_EGGMINE, // also landmine
|
||||
|
||||
NUMKARTRESULTS
|
||||
} kartitems_t;
|
||||
|
|
|
|||
|
|
@ -251,7 +251,7 @@ void K_RegisterKartStuff(void)
|
|||
|
||||
// Nu-ITEMS
|
||||
CV_RegisterVar(&cv_superring);
|
||||
CV_RegisterVar(&cv_landmine);
|
||||
// CV_RegisterVar(&cv_landmine);
|
||||
CV_RegisterVar(&cv_bubbleshield);
|
||||
CV_RegisterVar(&cv_flameshield);
|
||||
|
||||
|
|
|
|||
53
src/k_odds.c
53
src/k_odds.c
|
|
@ -56,7 +56,7 @@ consvar_t *KartItemCVars[NUMKARTRESULTS-1] =
|
|||
&cv_pogospring,
|
||||
&cv_kitchensink,
|
||||
&cv_superring,
|
||||
&cv_landmine,
|
||||
// &cv_landmine,
|
||||
&cv_bubbleshield,
|
||||
&cv_flameshield,
|
||||
&cv_dualsneaker,
|
||||
|
|
@ -108,7 +108,7 @@ static UINT8 K_KartItemOddsRace[NUMKARTRESULTS-1][MAXODDS] =
|
|||
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Pogo Spring
|
||||
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Kitchen Sink
|
||||
{ 7, 11, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Super Ring
|
||||
{ 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Land Mine / Egg Mine
|
||||
{ 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Land Mine
|
||||
{ 0, 0, 0, 12, 15, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Bubble Shield
|
||||
{ 0, 0, 0, 0, 0, 0, 2, 4, 12, 24, 27, 12, 7, 4, 0, 0}, // Flame Shield
|
||||
{ 0, 0, 0, 0, 0, 0, 8, 20, 40, 12, 0, 0, 0, 0, 0, 0}, // Sneaker x2
|
||||
|
|
@ -117,7 +117,8 @@ static UINT8 K_KartItemOddsRace[NUMKARTRESULTS-1][MAXODDS] =
|
|||
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Banana x10
|
||||
{ 0, 0, 0, 2, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Orbinaut x3
|
||||
{ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Orbinaut x4
|
||||
{ 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} // Jawz x2
|
||||
{ 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Jawz x2
|
||||
{ 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} // Egg Mine
|
||||
};
|
||||
|
||||
static UINT8 K_KartItemOddsBattle[NUMKARTRESULTS][2] =
|
||||
|
|
@ -140,7 +141,7 @@ static UINT8 K_KartItemOddsBattle[NUMKARTRESULTS][2] =
|
|||
{ 3, 0 }, // Pogo Spring
|
||||
{ 0, 0 }, // Kitchen Sink
|
||||
{ 0, 0 }, // Super Ring
|
||||
{ 2, 0 }, // Land Mine / Egg Mine
|
||||
{ 2, 0 }, // Land Mine
|
||||
{ 1, 0 }, // Bubble Shield
|
||||
{ 1, 0 }, // Flame Shield
|
||||
{ 0, 0 }, // Sneaker x2
|
||||
|
|
@ -149,7 +150,8 @@ static UINT8 K_KartItemOddsBattle[NUMKARTRESULTS][2] =
|
|||
{ 1, 1 }, // Banana x10
|
||||
{ 2, 0 }, // Orbinaut x3
|
||||
{ 1, 1 }, // Orbinaut x4
|
||||
{ 5, 1 } // Jawz x2
|
||||
{ 5, 1 }, // Jawz x2
|
||||
{ 2, 0 } // Egg Mine
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
@ -173,7 +175,7 @@ static UINT8 K_KartItemOddsSpecial[NUMKARTRESULTS-1][4] =
|
|||
{ 0, 0, 0, 0 }, // Pogo Spring
|
||||
{ 0, 0, 0, 0 }, // Kitchen Sink
|
||||
{ 0, 0, 0, 0 }, // Super Ring
|
||||
{ 0, 0, 0, 0 }, // Land Mine / Egg Mine
|
||||
{ 0, 0, 0, 0 }, // Land Mine
|
||||
{ 0, 0, 0, 0 }, // Bubble Shield
|
||||
{ 0, 0, 0, 0 }, // Flame Shield
|
||||
{ 0, 1, 1, 0 }, // Sneaker x2
|
||||
|
|
@ -182,7 +184,8 @@ static UINT8 K_KartItemOddsSpecial[NUMKARTRESULTS-1][4] =
|
|||
{ 0, 0, 0, 0 }, // Banana x10
|
||||
{ 0, 1, 1, 0 }, // Orbinaut x3
|
||||
{ 0, 0, 1, 1 }, // Orbinaut x4
|
||||
{ 0, 0, 1, 1 } // Jawz x2
|
||||
{ 0, 0, 1, 1 }, // Jawz x2
|
||||
{ 0, 0, 0, 0 } // Egg Mine
|
||||
};
|
||||
*/
|
||||
|
||||
|
|
@ -209,7 +212,7 @@ tic_t ItemBGone[NUMKARTRESULTS][2] =
|
|||
{ 0, 0 }, // Pogo Spring
|
||||
{ 0, 0 }, // Kitchen Sink
|
||||
{ 0, 0 }, // Super Ring
|
||||
{ 0, 0 }, // Land Mine / Egg Mine
|
||||
{ 0, 0 }, // Land Mine
|
||||
{ 5, 0 }, // Bubble Shield
|
||||
{ 8, 0 }, // Flame Shield
|
||||
{ 0, 0 }, // Sneaker x2
|
||||
|
|
@ -218,7 +221,8 @@ tic_t ItemBGone[NUMKARTRESULTS][2] =
|
|||
{ 30, 0 }, // Banana x10
|
||||
{ 10, 0 }, // Orbinaut x3
|
||||
{ 20, 0 }, // Orbinaut x4
|
||||
{ 10, 0 } // Jawz x2
|
||||
{ 10, 0 }, // Jawz x2
|
||||
{ 0, 0 } // Egg Mine
|
||||
};
|
||||
|
||||
// TODO: Vectorize all item tables and shove them into gamemode-uniqe pools (k_oddstable.cpp?).
|
||||
|
|
@ -718,12 +722,27 @@ INT32 K_KartGetItemOdds(
|
|||
notForBottom = true;
|
||||
break;
|
||||
case KITEM_EGGMAN:
|
||||
// It blows you up and is overall ridiculous. This was *overdue*.
|
||||
cooldownOnStart = true;
|
||||
powerItem = true;
|
||||
|
||||
notNearEnd = true;
|
||||
notForBottom = true;
|
||||
if (K_IsKartItemAlternate(KITEM_EGGMAN))
|
||||
{
|
||||
notForBottom = true;
|
||||
if (gametyperules & GTR_BATTLEODDS)
|
||||
{
|
||||
newodds = K_KartItemOddsBattle[KAITEM_EGGMINE-1][pos];
|
||||
}
|
||||
else if (gametyperules & GTR_RACEODDS)
|
||||
{
|
||||
newodds = K_KartItemOddsRace[KAITEM_EGGMINE-1][pos];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// It blows you up and is overall ridiculous. This was *overdue*.
|
||||
cooldownOnStart = true;
|
||||
powerItem = true;
|
||||
|
||||
notNearEnd = true;
|
||||
notForBottom = true;
|
||||
}
|
||||
break;
|
||||
case KITEM_SUPERRING:
|
||||
notNearEnd = true;
|
||||
|
|
@ -734,9 +753,11 @@ INT32 K_KartGetItemOdds(
|
|||
newodds = 0;
|
||||
}
|
||||
|
||||
break;
|
||||
case KITEM_LANDMINE: // au revoir
|
||||
newodds = 0;
|
||||
break;
|
||||
case KITEM_ROCKETSNEAKER:
|
||||
case KITEM_LANDMINE:
|
||||
case KRITEM_TRIPLESNEAKER:
|
||||
powerItem = true;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in a new issue