From: <ev...@us...> - 2010-10-08 19:25:12
|
Revision: 1437 http://rails.svn.sourceforge.net/rails/?rev=1437&view=rev Author: evos Date: 2010-10-08 19:25:05 +0000 (Fri, 08 Oct 2010) Log Message: ----------- Skip creating train actions if no cash and at least 1 train. Modified Paths: -------------- trunk/18xx/rails/game/OperatingRound.java trunk/18xx/rails/game/specific/_18EU/OperatingRound_18EU.java Modified: trunk/18xx/rails/game/OperatingRound.java =================================================================== --- trunk/18xx/rails/game/OperatingRound.java 2010-10-08 19:23:59 UTC (rev 1436) +++ trunk/18xx/rails/game/OperatingRound.java 2010-10-08 19:25:05 UTC (rev 1437) @@ -1040,6 +1040,8 @@ // Move the token company.withhold(amount); + if (!company.hasStockPrice()) return; + // Check if company has entered a closing area StockSpaceI newSpace = company.getCurrentSpace(); if (newSpace.closesCompany() && company.canClose()) { @@ -2491,18 +2493,22 @@ if (operatingCompany.get() == null) return; - TrainManager trainMgr = gameManager.getTrainManager(); + int cash = operatingCompany.get().getCash(); - int cash = operatingCompany.get().getCash(); int cost; List<TrainI> trains; boolean hasTrains = operatingCompany.get().getPortfolio().getNumberOfTrains() > 0; + + // Cannot buy a train without any cash, unless you have to + if (cash == 0 && hasTrains) return; + boolean canBuyTrainNow = canBuyTrainNow(); boolean presidentMayHelp = !hasTrains && operatingCompany.get().mustOwnATrain(); TrainI cheapestTrain = null; int costOfCheapestTrain = 0; + TrainManager trainMgr = gameManager.getTrainManager(); // First check if any more trains may be bought from the Bank // Postpone train limit checking, because an exchange might be possible Modified: trunk/18xx/rails/game/specific/_18EU/OperatingRound_18EU.java =================================================================== --- trunk/18xx/rails/game/specific/_18EU/OperatingRound_18EU.java 2010-10-08 19:23:59 UTC (rev 1436) +++ trunk/18xx/rails/game/specific/_18EU/OperatingRound_18EU.java 2010-10-08 19:25:05 UTC (rev 1437) @@ -40,22 +40,25 @@ if (operatingCompany.get() == null) return; - TrainManager trainMgr = gameManager.getTrainManager(); + int cash = operatingCompany.get().getCash(); - int cash = operatingCompany.get().getCash(); int cost; List<TrainI> trains; BuyTrain bt; boolean hasTrains = operatingCompany.get().getPortfolio().getNumberOfTrains() > 0; + + // Cannot buy a train without any cash, unless you have to + if (cash == 0 && hasTrains) return; + boolean canBuyTrainNow = canBuyTrainNow(); - if (!canBuyTrainNow) return; boolean presidentMayHelp = operatingCompany.get().mustOwnATrain(); TrainI cheapestTrain = null; int costOfCheapestTrain = 0; + TrainManager trainMgr = gameManager.getTrainManager(); String extraMessage = null; boolean mustExchangePullmann = !isBelowTrainLimit() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |