Adjusted shop prices.

I noticed that in "original" difficulty, plasma upgrades are basically
prohibitively expensive, which is not at all like the original. To
fix this, I've given that difficulty the original prices for those.
I've also slightly reduced the normal cost of permanent upgrades.
This commit is contained in:
onpon4 2015-03-28 19:52:03 -04:00
parent 388ffcc9c5
commit 4a72111a46
2 changed files with 38 additions and 17 deletions

View File

@ -837,6 +837,9 @@ of the screen.
*/ */
void missionFinishedScreen() void missionFinishedScreen()
{ {
int shield_bonus;
char temp[100];
if (currentGame.area != MAX_MISSIONS - 1) if (currentGame.area != MAX_MISSIONS - 1)
{ {
clearScreen(black); clearScreen(black);
@ -848,8 +851,6 @@ void missionFinishedScreen()
clearScreen(black); clearScreen(black);
drawBriefScreen(); drawBriefScreen();
char temp[100];
for (int i = 0 ; i < 3 ; i++) for (int i = 0 ; i < 3 ; i++)
{ {
if (currentMission.primaryType[i] != NONE) if (currentMission.primaryType[i] != NONE)
@ -883,10 +884,11 @@ void missionFinishedScreen()
if (currentMission.remainingObjectives1 + currentMission.remainingObjectives2 == 0) if (currentMission.remainingObjectives1 + currentMission.remainingObjectives2 == 0)
{ {
sprintf(temp, "Shield Bonus: $%.3d", (player.shield * 10)); shield_bonus = player.shield * 10;
sprintf(temp, "Shield Bonus: $%.3d", shield_bonus);
drawString(temp, -1, 430, FONT_WHITE); drawString(temp, -1, 430, FONT_WHITE);
currentGame.cash += (player.shield * 10); currentGame.cash += shield_bonus;
currentGame.cashEarned += (player.shield * 10); currentGame.cashEarned += shield_bonus;
} }
currentGame.timeTaken += engine.timeTaken; currentGame.timeTaken += engine.timeTaken;

View File

@ -71,6 +71,24 @@ static void drawSecondaryWeaponSurface()
} }
static void adjustShopPrices() static void adjustShopPrices()
{
if (currentGame.difficulty == DIFFICULTY_ORIGINAL)
{
shopItems[SHOP_PLASMA_MAX_OUTPUT].price = (500 *
currentGame.maxPlasmaOutput);
shopItems[SHOP_PLASMA_MAX_DAMAGE].price = (500 *
currentGame.maxPlasmaDamage);
shopItems[SHOP_PLASMA_MAX_RATE].price = (500 *
(currentGame.maxPlasmaRate * 2 - 1));
shopItems[SHOP_PLASMA_MIN_OUTPUT].price = (2000 *
currentGame.minPlasmaOutput);
shopItems[SHOP_PLASMA_MIN_DAMAGE].price = (2000 *
currentGame.minPlasmaDamage);
shopItems[SHOP_PLASMA_MIN_RATE].price = (2000 *
(currentGame.minPlasmaRate * 2 - 1));
}
else
{ {
shopItems[SHOP_PLASMA_MAX_OUTPUT].price = (1000 * shopItems[SHOP_PLASMA_MAX_OUTPUT].price = (1000 *
(currentGame.maxPlasmaOutput + 1)); (currentGame.maxPlasmaOutput + 1));
@ -79,12 +97,13 @@ static void adjustShopPrices()
shopItems[SHOP_PLASMA_MAX_RATE].price = (1000 * shopItems[SHOP_PLASMA_MAX_RATE].price = (1000 *
(currentGame.maxPlasmaRate + 1)); (currentGame.maxPlasmaRate + 1));
shopItems[SHOP_PLASMA_MIN_OUTPUT].price = (2000 * shopItems[SHOP_PLASMA_MIN_OUTPUT].price = (1500 *
(currentGame.minPlasmaOutput + 1)); (currentGame.minPlasmaOutput + 1));
shopItems[SHOP_PLASMA_MIN_DAMAGE].price = (2000 * shopItems[SHOP_PLASMA_MIN_DAMAGE].price = (1500 *
(currentGame.minPlasmaDamage + 1)); (currentGame.minPlasmaDamage + 1));
shopItems[SHOP_PLASMA_MIN_RATE].price = (2000 * shopItems[SHOP_PLASMA_MIN_RATE].price = (1500 *
(currentGame.minPlasmaRate + 1)); (currentGame.minPlasmaRate + 1));
}
if (currentGame.maxPlasmaOutput <= currentGame.minPlasmaOutput) if (currentGame.maxPlasmaOutput <= currentGame.minPlasmaOutput)
shopItems[SHOP_PLASMA_MIN_OUTPUT].price += shopItems[SHOP_PLASMA_MAX_OUTPUT].price; shopItems[SHOP_PLASMA_MIN_OUTPUT].price += shopItems[SHOP_PLASMA_MAX_OUTPUT].price;