diff --git a/xtrn/tw2/computer.js b/xtrn/tw2/computer.js index 3020d8ffec99a929e048b5e92e8c8ce4fdacae48..8aba6b24aa879b406770692fdcfb3526ec9dbcce 100644 --- a/xtrn/tw2/computer.js +++ b/xtrn/tw2/computer.js @@ -25,7 +25,7 @@ function ComputerMenu() case '2': /* 33780 */ console.write("What sector number is the port in? "); - var sec=console.getnum(sectors.length-1); + var sec=InputFunc([{min:0,max:sectors.length-1}]); if(sec > 0 && sec < sectors.length) { var sector=sectors.Get(sec); if(sector.Port==0 || (sector.Fighters>0 && sector.Fighters!=player.Record)) { @@ -44,7 +44,7 @@ function ComputerMenu() case '3': /* 33830 */ console.write("What sector do you want to get to? "); - var sec=console.getnum(sectors.length-1); + var sec=InputFunc([{min:0,max:sectors.length-1}]); if(sec > 0 && sec < sectors.length) { if(sec==player.Sector) { console.writeln("You are in that sector."); diff --git a/xtrn/tw2/input.js b/xtrn/tw2/input.js index c0da611607f1595d3d72bef16a71b867270ebe40..0c38da55235d1b4ff28509f9c1d1cedf192d2489 100644 --- a/xtrn/tw2/input.js +++ b/xtrn/tw2/input.js @@ -6,6 +6,36 @@ try { } catch (e) {} +function CheckNode() +{ + /* Node status check */ + var newmisc=system.node_list[bbs.node_num-1].misc; + var newstatus=system.node_list[bbs.node_num-1].status; + if(newmisc != lastmisc || newstatus != laststatus) { + console.saveline(); + bbs.nodesync(); + console.write("\r"); + if(console.line_counter!=0) { + console.crlf(); + console.line_counter=0; + } + console.restoreline(); + lastmisc=system.node_list[bbs.node_num-1].misc; + laststatus=system.node_list[bbs.node_num-1].status; + } +} + +function CheckTime() +{ + /* Time Check */ + if((player.TimedUsed + (time()-on_at)) > (Settings.MaxTime*60)) { + console.crlf() + console.crlf() + console.writeln("You are out of time for today"); + exit(0); + } +} + function InputFunc(values) { var str=''; @@ -19,28 +49,8 @@ function InputFunc(values) console.attributes="N"; InputFuncMainLoop: for(;;) { - /* Node status check */ - var newmisc=system.node_list[bbs.node_num-1].misc; - var newstatus=system.node_list[bbs.node_num-1].status; - if(newmisc != lastmisc || newstatus != laststatus) { - console.saveline(); - bbs.nodesync(); - console.write("\r"); - if(console.line_counter!=0) { - console.crlf(); - console.line_counter=0; - } - console.restoreline(); - lastmisc=system.node_list[bbs.node_num-1].misc; - laststatus=system.node_list[bbs.node_num-1].status; - } - /* Time Check */ - if((player.TimedUsed + (time()-on_at)) > (Settings.MaxTime*60)) { - console.crlf() - console.crlf() - console.writeln("You are out of time for today"); - exit(0); - } + CheckNode(); + CheckTime(); key=console.inkey(100); if(key == '') { diff --git a/xtrn/tw2/planets.js b/xtrn/tw2/planets.js index 0d6685fcd9f49a49fa1f01450770b445e70f1fb4..2803b7dd1cb8a3ee1b9d5e38af77ee226b30e474 100644 --- a/xtrn/tw2/planets.js +++ b/xtrn/tw2/planets.js @@ -288,7 +288,7 @@ function PlanetIncreaseProd(planet) if(planet.Production[keynum]+max > 19) max=20-planet.Production[keynum]; console.write(Commodities[keynum].name+": Increase by how many units? "); - var incr=console.getnum(max); + var incr=InputFunc([{min:0,max:max}]); if(incr > 0 && incr <= max) { player.Credits -= incr*Commodities[keynum].price*20; planet.Production[keynum]+=incr; @@ -306,7 +306,7 @@ function PlanetTakeCommodity(planet, commodity, freeholds) max=parseInt(planet.Commodities[commodity]); console.writeln("<Take "+Commodities[commodity].name.toLowerCase()+">"); console.write("How much [" + max + "]? "); - var take=console.getnum(max); + var take=InputFunc([{min:0,max:max}]); if(take > max) { console.writeln("They don't have that many."); return(freeholds); diff --git a/xtrn/tw2/players.js b/xtrn/tw2/players.js index 792337dfd929bde6dedefe31eb886b5bbb9e6a80..3b5f89d00bbf4f2435de8f2228f7b048b4084820 100644 --- a/xtrn/tw2/players.js +++ b/xtrn/tw2/players.js @@ -230,7 +230,7 @@ function PlayerGamble() console.writeln("You have "+player.Credits+" credits."); console.writeln("How much do you want to gamble at double or nothing (50-50 odds)"); console.write("[0]? "); - var gamble=console.getnum(player.Credits > 99999?99999:player.Credits); + var gamble=InputFunc([{min:0,max:(player.Credits > 99999?99999:player.Credits)}]); if(gamble > 0 && gamble <=player.Credits) { console.write("Flipping the coin..."); mswait(250); @@ -329,8 +329,10 @@ function RankPlayers() var robj=new Object(); robj.Record=p.Record; robj.Score=p.Fighters*100 + p.Holds*500 + p.Credits; - for(i=0; i<Commodities.length; i++) - robj.Score += Commodities[i].price*p.Commodities[i]; + + var j; + for(j=0; j<Commodities.length; j++) + robj.Score += Commodities[j].price*p.Commodities[j]; if(fighters[i]!=undefined) robj.Score += fighters[i]*100; rank.push(robj); @@ -347,7 +349,7 @@ function RankPlayers() function TWRank() { var rf=new File(fname(Settings.TopTenFile)); - rf.open("w"); + rf.open("w", true); rf.writeln(); rf.writeln(" T R A D E W A R S I I - 500T S C O R E B O A R D "); rf.writeln(); @@ -404,7 +406,7 @@ function DoBattle(opp, otherteam) } else { console.write("How many fighters do you wish to use? "); - var use=console.getnum(player.Fighters); + var use=InputFunc([{min:0,max:player.Fighters}]); if(use > 0 && use <= player.Fighters) { var lost=0; @@ -703,7 +705,7 @@ function Dropfighters() var newf=player.Fighters+sector.Fighters; if(newf > 9999) newf=9999; - var newf=console.getnum(newf); + var newf=InputFunc([{min:0,max:newf}]); if(newf >= 0 && newf <=player.Fighters+sector.Fighters) { if((player.Fighters+sector.Fighters)-newf > 9999) { console.writeln("Too many ships in your fleet! You are limited to 9999"); diff --git a/xtrn/tw2/ports.js b/xtrn/tw2/ports.js index 6d09a477cb74fff1233e6dfacc88944f46bcd4b7..2a2475a5fc643fe824a2ef0f34646d45d413388e 100644 --- a/xtrn/tw2/ports.js +++ b/xtrn/tw2/ports.js @@ -86,7 +86,7 @@ function DockAtSol() maxbuy=50-player.Holds; if(maxbuy > 0) { console.write("How many holds do you want to buy [0]? "); - var buy=console.getnum(maxbuy); + var buy=InputFunc([{min:0,max:maxbuy}]); if(buy>0) { player.Holds+=buy; player.Credits -= buy*prices[0]; @@ -100,7 +100,7 @@ function DockAtSol() maxbuy=9999-player.Fighters; if(maxbuy > 0) { console.write("How many fighters do you want to buy [0]? "); - var buy=console.getnum(maxbuy); + var buy=InputFunc([{min:0,max:maxbuy}]); if(buy>0) { player.Fighters+=buy; player.Credits -= buy*prices[1]; @@ -112,7 +112,7 @@ function DockAtSol() var maxbuy=parseInt(player.Credits/prices[2]); if(maxbuy > 0) { console.write("How many turns do you want to buy [0]? "); - var buy=console.getnum(maxbuy); + var buy=InputFunc([{min:0,max:maxbuy}]); if(buy>0) { player.TurnsLeft+=buy; player.Credits -= buy*prices[2]; @@ -260,7 +260,7 @@ function Transact(type, price, vary, avail) console.writeln("We are "+weare+"ing up to "+avail+". You have "+player.Commodities[type]+" in your holds."); console.write("How many holds of "+Commodities[type].name.toLowerCase()+" do you want to "+youare+" ["+max+"]? "); - var amount=console.getnum(max,max); + var amount=InputFunc([{min:0,max:max,def:max}]); if(amount>0 && amount<=max) { var done=false; @@ -276,7 +276,7 @@ function Transact(type, price, vary, avail) offer=0; while(offer==0) { console.write("Your offer? "); - offer=console.getnum(buy?player.Credits:(price*amount*10)); + offer=InputFunc([{min:0,max:(buy?player.Credits:(price*amount*10))}]); if(offer==0) break; if(offer < price*amount/10 || offer > price*amount*10) { diff --git a/xtrn/tw2/teams.js b/xtrn/tw2/teams.js index 015839ea6c41ab74a05a023c15f0761b34d7c17f..189f1e95e6755e59c134ab5109035171d229f871 100644 --- a/xtrn/tw2/teams.js +++ b/xtrn/tw2/teams.js @@ -147,7 +147,7 @@ function JoinTeam() } console.write("What Team number do you wish to join (0=quit)? "); - var tnum=console.getnum(teams.length-1); + var tnum=InputFunc([{min:0,max:(teams.length-1)}]); if(!(tnum > 0 && tnum < teams.length)) return(false); @@ -250,7 +250,7 @@ function TeamTransfer(type) console.writeln("You have" + player[type] + " "+type.toLowercase()+"."); console.writeln(otherplayer.Alias + " has" + otherplayer[type] + " "+type.toLowercase()+"."); console.write("How many "+type+" do you wish to Transfer? "); - var transfer=console.getnum(player[type]); + var transfer=InputFunc([{min:0,max:player[type]}]); if(transfer<1 || transfer > player[type]) return(false); if(type=="Credits") {