diff --git a/xtrn/tw2/players.js b/xtrn/tw2/players.js index 747c31e1f97b7eac47932bd4d343977728b31883..548a1e2b80cd7d06a891019ce00e9d6f61dbf4fa 100644 --- a/xtrn/tw2/players.js +++ b/xtrn/tw2/players.js @@ -663,28 +663,30 @@ function DeletePlayer(player) function MoveTo(to) { - var sector,newsector,from=player.Sector; - + var sector,from=player.Sector; + if(player.TurnsLeft < 1) { console.writeln("I'm sorry but you don't have any turns left."); return(false); } if(to > 0) { db.lock(Settings.DB,'sectors.'+player.Sector,LOCK_WRITE); - sector=db.read(Settings.DB,'sectors.'+player.Sector); - for(i=0; i<sector.Warps.length; i++) { - if(sector.Warps[i]==to) { - db.lock(Settings.DB,'sectors.'+to,LOCK_WRITE); - newsector=db.read(Settings.DB,'sectors.'+to); - newsector.Ships.push(player.Record); - for(i=0; i<sector.Ships.length; i++) { - if(sector.Ships[i]==player.Record) { - sector.Ships.splice(i,1); + db.lock(Settings.DB,'sectors.'+to,LOCK_WRITE); + sector=db.readmulti([ + [Settings.DB,'sectors.'+player.Sector,undefined,'from'], + [Settings.DB,'sectors.'+to,undefined,'to'] + ]); + for(i=0; i<sector.from.Warps.length; i++) { + if(sector.from.Warps[i]==to) { + sector.to.Ships.push(player.Record); + for(i=0; i<sector.from.Ships.length; i++) { + if(sector.from.Ships[i]==player.Record) { + sector.from.Ships.splice(i,1); i--; } } - db.write(Settings.DB,'sectors.'+player.Sector,sector); - db.write(Settings.DB,'sectors.'+to,newsector); + db.write(Settings.DB,'sectors.'+player.Sector,sector.from); + db.write(Settings.DB,'sectors.'+to,sector.to); player.TurnsLeft--; player.LastIn=player.Sector; player.Sector=to; @@ -695,6 +697,7 @@ function MoveTo(to) } } db.unlock(Settings.DB,'sectors.'+player.Sector); + db.unlock(Settings.DB,'sectors.'+to); console.writeln("You can't get there from here."); } return(false); diff --git a/xtrn/tw2/teams.js b/xtrn/tw2/teams.js index 8fe16d795ddfc4ea7356ce5af43e152ea3cdc54d..5a3037a54bb5cd690e957b70724e21a54ea24f8a 100644 --- a/xtrn/tw2/teams.js +++ b/xtrn/tw2/teams.js @@ -16,12 +16,6 @@ var TeamProperties = [ ,type:"Array:4:Integer" ,def:[0,0,0,0] } - ,{ - prop:"Size" - ,name:"Number of members" - ,type:"Integer" - ,def:0 - } ]; function TeamMenu()