Updated item weights

Fix attempt for thrown items
This commit is contained in:
ZTsukei 2017-10-10 21:09:35 -04:00
parent b59246f413
commit b95f1d568a
3 changed files with 35 additions and 33 deletions

View File

@ -143,16 +143,16 @@ extern FILE *logstream;
#define DEVELOP // Disable this for release builds to remove excessive cheat commands and enable MD5 checking and stuff, all in one go. :3
#ifdef DEVELOP
#define VERSION 104 // Game version
#define SUBVERSION 2 // more precise version number
#define SUBVERSION 3 // more precise version number
#define VERSIONSTRING "Development EXE"
#define VERSIONSTRINGW "v1.4.2"
#define VERSIONSTRINGW "v1.4.3"
// most interface strings are ignored in development mode.
// we use comprevision and compbranch instead.
#else
#define VERSION 104 // Game version
#define SUBVERSION 2 // more precise version number
#define VERSIONSTRING "DevEXE v1.4.2"
#define VERSIONSTRINGW L"v1.4.2"
#define SUBVERSION 3 // more precise version number
#define VERSIONSTRING "DevEXE v1.4.3"
#define VERSIONSTRINGW L"v1.4.3"
// Hey! If you change this, add 1 to the MODVERSION below!
// Otherwise we can't force updates!
#endif

View File

@ -2022,17 +2022,19 @@ void G_Ticker(boolean run)
cmd = &players[i].cmd;
if (playeringame[i])
{
G_CopyTiccmd(cmd, &netcmds[buf][i], 1);
// SRB2kart
// Save the dir the player is holding
// to allow items to be thrown forward or backward.
if (cmd->buttons & BT_FORWARD)
players[i].kartstuff[k_throwdir] = 1;
else if (cmd->buttons & BT_BACKWARD)
players[i].kartstuff[k_throwdir] = -1;
else
players[i].kartstuff[k_throwdir] = 0;
// SRB2kart
// Save the dir the player is holding
// to allow items to be thrown forward or backward.
if (cmd->buttons & BT_FORWARD)
players[i].kartstuff[k_throwdir] = 1;
else if (cmd->buttons & BT_BACKWARD)
players[i].kartstuff[k_throwdir] = -1;
else
players[i].kartstuff[k_throwdir] = 0;
}
}
// do main actions

View File

@ -671,22 +671,22 @@ static INT32 K_KartItemOddsDistance_Retro[NUMKARTITEMS][9] =
//P-Odds 0 1 2 3 4 5 6 7 8
/*Magnet*/ { 0, 1, 2, 0, 0, 0, 0, 0, 0 }, // Magnet
/*Boo*/ { 0, 0, 2, 2, 1, 0, 0, 0, 0 }, // Boo
/*Mushroom*/ { 1, 0, 0, 3, 5, 5, 0, 0, 0 }, // Mushroom
/*Triple Mushroom*/ { 0, 0, 0, 1, 3, 7, 6, 4, 0 }, // Triple Mushroom
/*Mushroom*/ { 1, 0, 0, 3, 7, 6, 0, 0, 0 }, // Mushroom
/*Triple Mushroom*/ { 0, 0, 0, 0, 3, 8, 6, 4, 0 }, // Triple Mushroom
/*Mega Mushroom*/ { 0, 0, 0, 0, 1, 2, 1, 0, 0 }, // Mega Mushroom
/*Gold Mushroom*/ { 0, 0, 0, 0, 0, 1, 6, 8,12 }, // Gold Mushroom
/*Star*/ { 0, 0, 0, 0, 0, 0, 4, 6, 8 }, // Star
/*Triple Banana*/ { 0, 0, 1, 1, 0, 0, 0, 0, 0 }, // Triple Banana
/*Fake Item*/ { 0, 4, 3, 2, 0, 0, 0, 0, 0 }, // Fake Item
/*Banana*/ { 0, 9, 6, 2, 1, 0, 0, 0, 0 }, // Banana
/*Green Shell*/ { 0, 6, 5, 3, 2, 0, 0, 0, 0 }, // Green Shell
/*Red Shell*/ { 0, 0, 1, 4, 3, 1, 0, 0, 0 }, // Red Shell
/*Fake Item*/ { 0, 4, 2, 1, 0, 0, 0, 0, 0 }, // Fake Item
/*Banana*/ { 0, 9, 4, 2, 1, 0, 0, 0, 0 }, // Banana
/*Green Shell*/ { 0, 6, 4, 3, 2, 0, 0, 0, 0 }, // Green Shell
/*Red Shell*/ { 0, 0, 3, 2, 1, 0, 0, 0, 0 }, // Red Shell
/*Triple Green Shell*/ { 0, 0, 0, 1, 1, 1, 0, 0, 0 }, // Triple Green Shell
/*Bob-omb*/ { 0, 0, 0, 1, 1, 0, 0, 0, 0 }, // Bob-omb
/*Blue Shell*/ { 0, 0, 0, 0, 0, 1, 1, 0, 0 }, // Blue Shell
/*Fire Flower*/ { 0, 0, 0, 0, 1, 1, 1, 0, 0 }, // Fire Flower
/*Triple Red Shell*/ { 0, 0, 0, 0, 1, 1, 0, 0, 0 }, // Triple Red Shell
/*Bob-omb*/ { 0, 0, 1, 2, 2, 0, 0, 0, 0 }, // Bob-omb
/*Blue Shell*/ { 0, 0, 0, 0, 0, 2, 2, 0, 0 }, // Blue Shell
/*Fire Flower*/ { 0, 0, 1, 2, 1, 0, 0, 0, 0 }, // Fire Flower
/*Triple Red Shell*/ { 0, 0, 0, 1, 0, 0, 0, 0, 0 }, // Triple Red Shell
/*Lightning*/ { 0, 0, 0, 0, 0, 0, 1, 2, 0 } // Lightning
};
@ -920,7 +920,7 @@ static void K_KartItemRouletteByDistance(player_t *player, ticcmd_t *cmd)
INT32 pdis = 0, useodds = 0;
INT32 spawnchance[NUMKARTITEMS * NUMKARTODDS];
INT32 chance = 0, numchoices = 0;
INT32 distvar = (64*15);
// This makes the roulette cycle through items - if this is 0, you shouldn't be here.
if (player->kartstuff[k_itemroulette])
@ -968,14 +968,14 @@ static void K_KartItemRouletteByDistance(player_t *player, ticcmd_t *cmd)
player->kartstuff[k_itemclose] = 0; // Reset the item window closer.
if (pingame == 1) useodds = 0;
else if (pdis <= 0) useodds = 1;
else if (pdis <= 1000) useodds = 2;
else if (pdis <= 2000) useodds = 3;
else if (pdis <= 3500) useodds = 4;
else if (pdis <= 5500) useodds = 5;
else if (pdis <= 8000) useodds = 6;
else if (pdis <= 11000) useodds = 7;
if (pingame == 1) useodds = 0;
else if (pdis <= distvar * 0) useodds = 1;
else if (pdis <= distvar * 1) useodds = 2;
else if (pdis <= distvar * 2) useodds = 3;
else if (pdis <= distvar * 4) useodds = 4;
else if (pdis <= distvar * 6) useodds = 5;
else if (pdis <= distvar * 9) useodds = 6;
else if (pdis <= distvar * 12) useodds = 7;
else useodds = 8;
#define SETITEMRESULT(pos, itemnum) \