Limited cargo bay upgrades
This commit is contained in:
+30
-21
@@ -10,7 +10,8 @@
|
||||
# Gameplay differences from the original C version of TE 1.5:
|
||||
# - multiple typos corrected in text strings
|
||||
# - the "cash" and "sneak" commands are only available to the REPL if running with -v CHEAT=1
|
||||
# - galaxy jumps are no longer free and cost 5000 credits each (like in OOlite)
|
||||
# - galaxy jumps are no longer free and cost 5000 credits each (like in classic Elite and Oolite)
|
||||
# - cargo hold expansion also is non-free (400 credits) and can only be done once from 20t to 35t
|
||||
# - alien items are available by default, can be overridden with -v NO_ALIEN_ITEMS=1
|
||||
# - economy names are no longer shortened
|
||||
# - the "politically correct" goods names are turned on with -v CENSORED=1
|
||||
@@ -406,6 +407,14 @@ function doinfo(s, dest, si) {
|
||||
|
||||
# hold command implementation
|
||||
function dohold(a, t, i) {
|
||||
if(player["holdspace"] >= game["cargoexpsize"]) {
|
||||
printf("\nExpansion not possible! The cargo bay already is at maximum capacity")
|
||||
return 0
|
||||
}
|
||||
if(player["cash"] < game["cargoexpcost"]) {
|
||||
printf("\nNot enough cash! Need %.1f CR for upgrading the cargo bay", game["cargoexpcost"]/10)
|
||||
return 0
|
||||
}
|
||||
t = 0
|
||||
a = int(a)
|
||||
for(i=0;i<=IDX_ALIEN_ITEMS;i++)
|
||||
@@ -491,24 +500,22 @@ function domkt() {
|
||||
|
||||
# display help
|
||||
function dohelp() {
|
||||
printf("\nCommands are:");
|
||||
printf("\nBuy tradegood amount");
|
||||
printf("\nSell tradegood amount");
|
||||
printf("\nFuel amount (buy amount LY of fuel)");
|
||||
printf("\nJump planetname (limited by fuel)");
|
||||
if(CHEAT)
|
||||
printf("\nSneak planetname (any distance - no fuel cost)");
|
||||
printf("\nGalhyp (jumps to next galaxy)");
|
||||
printf("\nInfo planetname (prints info on system)");
|
||||
printf("\nMkt (shows market prices)");
|
||||
printf("\nLocal (lists systems within 7 light years)");
|
||||
if(CHEAT)
|
||||
printf("\nCash number (alters cash - cheating!)");
|
||||
printf("\nHold number (change cargo bay)");
|
||||
printf("\nQuit or ^C (exit)");
|
||||
printf("\nHelp (display this text)");
|
||||
printf("\nRand (toggle RNG)");
|
||||
printf("\n\nAbbreviations allowed eg. b fo 5 = Buy Food 5, m= Mkt");
|
||||
printf("\nCommands are:")
|
||||
printf("\nBuy product amount")
|
||||
printf("\nSell product amount")
|
||||
printf("\nFuel amount (buy amount LY of fuel)")
|
||||
printf("\nJump planetname (limited by fuel)")
|
||||
if(CHEAT) printf("\nSneak planetname (any distance - no fuel cost)")
|
||||
printf("\nGalhyp (jumps to next galaxy)")
|
||||
printf("\nInfo planetname (prints info on system)")
|
||||
printf("\nMkt (shows market prices)")
|
||||
printf("\nLocal (lists systems within 7 light years)")
|
||||
if(CHEAT) printf("\nCash number (alters cash - cheating!)")
|
||||
printf("\nHold (expand cargo bay to %dt)", game["cargoexpsize"])
|
||||
printf("\nQuit or ^D (exit)")
|
||||
printf("\nHelp (display this text)")
|
||||
printf("\nRand (toggle RNG)")
|
||||
printf("\n\nAbbreviations allowed eg. b fo 5 = Buy Food 5, m= Mkt")
|
||||
}
|
||||
|
||||
# Game init procedure: first thing to call in the BEGIN block
|
||||
@@ -520,13 +527,15 @@ function gameinit() {
|
||||
split("",game) # overall game state is stored here
|
||||
game["use_native_rand"] = 1
|
||||
game["galhypcost"] = 50000 # 5000 CR
|
||||
game["cargoexpcost"] = 4000 # 400 CR for one-time upgrade
|
||||
game["cargoexpsize"] = 35 # 35t after the upgrade
|
||||
game["fuelcost"] = 2 # 0.2 CR/lightyear
|
||||
game["maxfuel"] = 70 # 7.0 LY tank
|
||||
|
||||
split("",player) # current (saveable) player state is stored here
|
||||
player["currentplanet"] = numForLave # current planet (1 to 256)
|
||||
player["galaxynum"] = 1 # current galaxy (1 to 8)
|
||||
player["cash"] = 1000 # current cash
|
||||
player["cash"] = 1000 # current cash (100 CR)
|
||||
player["fuel"] = game["maxfuel"] # current fuel amount
|
||||
player["holdspace"] = 20 # max cargo hold space
|
||||
split("",shipshold) # (saveable) contents of cargo bay, up to 16 items
|
||||
@@ -625,7 +634,7 @@ BEGIN {
|
||||
else if(action == "s" || action == "sell") dosell(paramstr)
|
||||
else if(action == "j" || action == "jump") dojump(paramstr)
|
||||
else if(action == "f" || action == "fuel") dofuel(paramstr)
|
||||
else if(action == "ho" || action == "hold") dohold(paramstr)
|
||||
else if(action == "ho" || action == "hold") dohold(game["cargoexpsize"])
|
||||
else if(CHEAT && action == "cash") docash(paramstr)
|
||||
else if(CHEAT && action == "sneak") dosneak(paramstr)
|
||||
else printf("Unknown command")
|
||||
|
||||
Reference in New Issue
Block a user