Update of /cvsroot/rails/18xx/rails/game/specific/_1856
In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv30375/rails/game/specific/_1856
Modified Files:
CGRFormationRound.java
Log Message:
Fixed bug where CGR would in case of excess trains discard all 4-trains, in stead
of discarding 4-trains until the limit was reached.
Index: CGRFormationRound.java
===================================================================
RCS file: /cvsroot/rails/18xx/rails/game/specific/_1856/CGRFormationRound.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -d -r1.27 -r1.28
*** CGRFormationRound.java 28 Dec 2009 13:21:12 -0000 1.27
--- CGRFormationRound.java 28 Dec 2009 15:27:18 -0000 1.28
***************
*** 82,93 ****
if (companiesToRepayLoans == null) {
finishRound();
return;
}
- ReportBuffer.add(LocalText.getText("StartFormationRound",
- cgrName,
- startingPlayer.getName()));
-
setStep(STEP_REPAY_LOANS);
--- 82,90 ----
if (companiesToRepayLoans == null) {
+ ReportBuffer.add(LocalText.getText("DoesNotForm", cgr.getName()));
finishRound();
return;
}
setStep(STEP_REPAY_LOANS);
***************
*** 640,654 ****
int trainLimit = cgr.getTrainLimit(gameManager.getCurrentPlayerIndex());
List<TrainI> trains = cgr.getPortfolio().getTrainList();
! if (cgr.getNumberOfTrains() > trainLimit) ReportBuffer.add("");
! outer: while (cgr.getNumberOfTrains() > trainLimit) {
for (TrainI train : trains) {
if (!train.getType().isPermanent()) {
! train.moveTo(pool);
! ReportBuffer.add(LocalText.getText("CompanyDiscardsTrain",
! cgrName, train.getName()));
! continue outer;
}
}
! break;
}
--- 637,655 ----
int trainLimit = cgr.getTrainLimit(gameManager.getCurrentPlayerIndex());
List<TrainI> trains = cgr.getPortfolio().getTrainList();
! if (cgr.getNumberOfTrains() > trainLimit) {
! ReportBuffer.add("");
! int numberToDiscard = cgr.getNumberOfTrains() - trainLimit;
! List<TrainI> trainsToDiscard = new ArrayList<TrainI>(4);
for (TrainI train : trains) {
if (!train.getType().isPermanent()) {
! trainsToDiscard.add(train);
! if (--numberToDiscard == 0) break;
}
}
! for (TrainI train : trainsToDiscard) {
! train.moveTo(pool);
! ReportBuffer.add(LocalText.getText("CompanyDiscardsTrain",
! cgrName, train.getName()));
! }
}
|