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:
|
# Gameplay differences from the original C version of TE 1.5:
|
||||||
# - multiple typos corrected in text strings
|
# - multiple typos corrected in text strings
|
||||||
# - the "cash" and "sneak" commands are only available to the REPL if running with -v CHEAT=1
|
# - 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
|
# - alien items are available by default, can be overridden with -v NO_ALIEN_ITEMS=1
|
||||||
# - economy names are no longer shortened
|
# - economy names are no longer shortened
|
||||||
# - the "politically correct" goods names are turned on with -v CENSORED=1
|
# - the "politically correct" goods names are turned on with -v CENSORED=1
|
||||||
@@ -406,6 +407,14 @@ function doinfo(s, dest, si) {
|
|||||||
|
|
||||||
# hold command implementation
|
# hold command implementation
|
||||||
function dohold(a, t, i) {
|
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
|
t = 0
|
||||||
a = int(a)
|
a = int(a)
|
||||||
for(i=0;i<=IDX_ALIEN_ITEMS;i++)
|
for(i=0;i<=IDX_ALIEN_ITEMS;i++)
|
||||||
@@ -491,24 +500,22 @@ function domkt() {
|
|||||||
|
|
||||||
# display help
|
# display help
|
||||||
function dohelp() {
|
function dohelp() {
|
||||||
printf("\nCommands are:");
|
printf("\nCommands are:")
|
||||||
printf("\nBuy tradegood amount");
|
printf("\nBuy product amount")
|
||||||
printf("\nSell tradegood amount");
|
printf("\nSell product amount")
|
||||||
printf("\nFuel amount (buy amount LY of fuel)");
|
printf("\nFuel amount (buy amount LY of fuel)")
|
||||||
printf("\nJump planetname (limited by fuel)");
|
printf("\nJump planetname (limited by fuel)")
|
||||||
if(CHEAT)
|
if(CHEAT) printf("\nSneak planetname (any distance - no fuel cost)")
|
||||||
printf("\nSneak planetname (any distance - no fuel cost)");
|
printf("\nGalhyp (jumps to next galaxy)")
|
||||||
printf("\nGalhyp (jumps to next galaxy)");
|
printf("\nInfo planetname (prints info on system)")
|
||||||
printf("\nInfo planetname (prints info on system)");
|
printf("\nMkt (shows market prices)")
|
||||||
printf("\nMkt (shows market prices)");
|
printf("\nLocal (lists systems within 7 light years)")
|
||||||
printf("\nLocal (lists systems within 7 light years)");
|
if(CHEAT) printf("\nCash number (alters cash - cheating!)")
|
||||||
if(CHEAT)
|
printf("\nHold (expand cargo bay to %dt)", game["cargoexpsize"])
|
||||||
printf("\nCash number (alters cash - cheating!)");
|
printf("\nQuit or ^D (exit)")
|
||||||
printf("\nHold number (change cargo bay)");
|
printf("\nHelp (display this text)")
|
||||||
printf("\nQuit or ^C (exit)");
|
printf("\nRand (toggle RNG)")
|
||||||
printf("\nHelp (display this text)");
|
printf("\n\nAbbreviations allowed eg. b fo 5 = Buy Food 5, m= Mkt")
|
||||||
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
|
# 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
|
split("",game) # overall game state is stored here
|
||||||
game["use_native_rand"] = 1
|
game["use_native_rand"] = 1
|
||||||
game["galhypcost"] = 50000 # 5000 CR
|
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["fuelcost"] = 2 # 0.2 CR/lightyear
|
||||||
game["maxfuel"] = 70 # 7.0 LY tank
|
game["maxfuel"] = 70 # 7.0 LY tank
|
||||||
|
|
||||||
split("",player) # current (saveable) player state is stored here
|
split("",player) # current (saveable) player state is stored here
|
||||||
player["currentplanet"] = numForLave # current planet (1 to 256)
|
player["currentplanet"] = numForLave # current planet (1 to 256)
|
||||||
player["galaxynum"] = 1 # current galaxy (1 to 8)
|
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["fuel"] = game["maxfuel"] # current fuel amount
|
||||||
player["holdspace"] = 20 # max cargo hold space
|
player["holdspace"] = 20 # max cargo hold space
|
||||||
split("",shipshold) # (saveable) contents of cargo bay, up to 16 items
|
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 == "s" || action == "sell") dosell(paramstr)
|
||||||
else if(action == "j" || action == "jump") dojump(paramstr)
|
else if(action == "j" || action == "jump") dojump(paramstr)
|
||||||
else if(action == "f" || action == "fuel") dofuel(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 == "cash") docash(paramstr)
|
||||||
else if(CHEAT && action == "sneak") dosneak(paramstr)
|
else if(CHEAT && action == "sneak") dosneak(paramstr)
|
||||||
else printf("Unknown command")
|
else printf("Unknown command")
|
||||||
|
|||||||
Reference in New Issue
Block a user