|
From: Erik V. <ev...@us...> - 2011-07-30 20:49:52
|
data/1825/CompanyManager.xml | 4
data/1825/Game.xml | 21 -
data/1826/CompanyManager.xml | 2
data/1826/Game.xml | 26 +
data/1830/CompanyManager.xml | 2
data/1830/Game.xml | 49 ++-
data/1851/CompanyManager.xml | 2
data/1851/Game.xml | 28 +
data/1856/CompanyManager.xml | 2
data/1856/Game.xml | 25 -
data/1870/CompanyManager.xml | 2
data/1870/Game.xml | 57 ++-
data/1880/Game.xml | 304 ++++++++++---------
data/1889/CompanyManager.xml | 2
data/1889/Game.xml | 28 +
data/18AL/CompanyManager.xml | 2
data/18AL/Game.xml | 37 +-
data/18EU/CompanyManager.xml | 4
data/18EU/Game.xml | 245 ++++++++--------
data/18GA/CompanyManager.xml | 2
data/18GA/Game.xml | 224 +++++++-------
data/18JR/CompanyManager.xml | 2
data/18JR/Game.xml | 321 ++++++++++-----------
data/18Kaas/CompanyManager.xml | 2
data/18Kaas/Game.xml | 51 +--
data/18Scan/CompanyManager.xml | 6
data/18Scan/Game.xml | 198 ++++++------
data/18TN/CompanyManager.xml | 2
data/18TN/Game.xml | 18 -
data/18VA/CompanyManager.xml | 2
data/18VA/Game.xml | 233 +++++++--------
rails/game/GameManager.java | 2
rails/game/Phase.java | 17 -
rails/game/PhaseManager.java | 18 -
rails/game/PublicCompany.java | 10
rails/game/TrainCertificateType.java | 98 ------
rails/game/TrainManager.java | 2
rails/game/TrainType.java | 1
rails/game/specific/_1856/OperatingRound_1856.java | 6
39 files changed, 1005 insertions(+), 1052 deletions(-)
New commits:
commit db9eb87965fba93ef69c12247c4df97dd62e2782
Author: Erik Vos <eri...@xs...>
Date: Sat Jul 30 22:44:39 2011 +0200
Finished phase management steps 1-3
Converted all remaining games.
Reformatted several XML files.
Removed now redundant code.
diff --git a/data/1825/CompanyManager.xml b/data/1825/CompanyManager.xml
index 3fc9bea..3785510 100644
--- a/data/1825/CompanyManager.xml
+++ b/data/1825/CompanyManager.xml
@@ -14,9 +14,9 @@
</BaseTokens>
<Certificate type="President" shares="2"/>
<Certificate shares="1" number="8"/>
- <Trains limit="4,4,3"/>
+ <Trains limit="4,3"/>
<TileLays>
- <Number colour="yellow" number="2" phase="1,2,3,4,5"></Number></TileLays></CompanyType>
+ <Number colour="yellow" number="2" phase="1,2,3,4"></Number></TileLays></CompanyType>
<Company name="S&M" type="Private" basePrice="30" revenue="5" longname="Swansea and Mumbles">
</Company>
<Company name="CHP" type="Private" basePrice="75" revenue="12"
diff --git a/data/1825/Game.xml b/data/1825/Game.xml
index 6c4570d..608dad5 100644
--- a/data/1825/Game.xml
+++ b/data/1825/Game.xml
@@ -57,24 +57,16 @@
<Component name="TrainManager" class="rails.game.TrainManager">
<Defaults>
<Reach base="stops" countTowns="yes"/>
- <!-- Alternative values:
- base="hexes" for H-trains as in 1826, 1849 etc.
- countTowns="no" for all trains in 1841, 18EU, etc.,
- where towns score but do not count against the train length.
- Otherwise, towns are counted as minor or major stops,
- depending on the presence or absence of a "minorStops" value.
- -->
<Score towns="yes"/>
- <!-- Alternative values:
- towns="no" for trains that ignore towns (e.g. 1826 TGV).
- cities="double" if city-revenue is doubled (e.g. 1826 TGV).
- -->
</Defaults>
<TrainType name="2" majorStops="2" cost="180" quantity="6"/>
- <TrainType name="3" majorStops="3" cost="300" quantity="4" startPhase="2"/>
+ <TrainType name="3" majorStops="3" cost="300" quantity="4">
+ <NewPhase phaseName="2"/>
+ </TrainType>
<TrainType name="4" majorStops="4" cost="430" quantity="3"/>
- <TrainType name="5" majorStops="5" cost="550" quantity="4"
- startPhase="3" rustedTrain="2" />
+ <TrainType name="5" majorStops="5" cost="550" quantity="4">
+ <NewPhase phaseName="3"/>
+ </TrainType>
</Component>
<Component name="PhaseManager" class="rails.game.PhaseManager">
<!-- Note: released and rusted trains are now specified per TrainType
@@ -92,6 +84,7 @@
</Phase>
<Phase name="3">
<Tiles colour="yellow,green,brown"/>
+ <Trains rusted="2" limitStep="2"/>
<OperatingRounds number="3"/>
</Phase>
</Component>
diff --git a/data/1826/CompanyManager.xml b/data/1826/CompanyManager.xml
index 35e6731..9d06d08 100644
--- a/data/1826/CompanyManager.xml
+++ b/data/1826/CompanyManager.xml
@@ -18,7 +18,7 @@
<HomeBase lay="firstOR"/>
<LayCost method="sequence" cost="0,40,100"/>
</BaseTokens>
- <Trains number="4,4,3,2"/>
+ <Trains limit="4,3,2"/>
<CanBuyPrivates/>
<CanUseSpecialProperties/>
</CompanyType>
diff --git a/data/1826/Game.xml b/data/1826/Game.xml
index 9877cbc..692cb6f 100644
--- a/data/1826/Game.xml
+++ b/data/1826/Game.xml
@@ -70,14 +70,21 @@
-->
</Defaults>
<TrainType name="2H" majorStops="2" cost="100" quantity="8"/>
- <TrainType name="4H" majorStops="4" cost="200" quantity="7" startPhase="4H"/>
- <TrainType name="6H" majorStops="6" cost="300" quantity="6" startPhase="6H"
- rustedTrain="2H"/>
- <TrainType name="10H" majorStops="10" cost="600" quantity="5" startPhase="10H"
- rustedTrain="4H"/>
- <TrainType name="E" majorStops="6" cost="800" quantity="4" startPhase="E"
- rustedTrain="6H"/>
- <TrainType name="TGV" majorStops="4" cost="1000" quantity="10" startPhase="TGV"/>
+ <TrainType name="4H" majorStops="4" cost="200" quantity="7">
+ <NewPhase phaseName="4H"/>
+ </TrainType>
+ <TrainType name="6H" majorStops="6" cost="300" quantity="6">
+ <NewPhase phaseName="6H"/>
+ </TrainType>
+ <TrainType name="10H" majorStops="10" cost="600" quantity="5">
+ <NewPhase phaseName="10H"/>
+ </TrainType>
+ <TrainType name="E" majorStops="6" cost="800" quantity="4">
+ <NewPhase phaseName="E"/>
+ </TrainType>
+ <TrainType name="TGV" majorStops="4" cost="1000" quantity="10">
+ <NewPhase phaseName="TGV"/>
+ </TrainType>
</Component>
<Component name="PhaseManager" class="rails.game.PhaseManager">
<Phase name="2H" >
@@ -90,12 +97,15 @@
<OperatingRounds number="2"/>
</Phase>
<Phase name="6H" >
+ <Trains rusted="2H" limitStep="2"/>
</Phase>
<Phase name="10H" >
<Tiles colour="yellow,green,brown"/>
+ <Trains rusted="4H" limitStep="3"/>
<OperatingRounds number="3"/>
</Phase>
<Phase name="E" >
+ <Trains rusted="6H"/>
</Phase>
<Phase name="TGV" >
<Tiles colour="yellow,green,brown,gray"/>
diff --git a/data/1830/CompanyManager.xml b/data/1830/CompanyManager.xml
old mode 100755
new mode 100644
index a1b76eb..769e079
--- a/data/1830/CompanyManager.xml
+++ b/data/1830/CompanyManager.xml
@@ -20,7 +20,7 @@
</BaseTokens>
<Certificate type="President" shares="2"/>
<Certificate shares="1" number="8"/>
- <Trains limit="4,4,3,2"/>
+ <Trains limit="4,3,2"/>
<CanUseSpecialProperties/>
<IfOption name="Variant" value="Coalfields,Coalfields&Reading">
<CanUseSpecialProperties/>
diff --git a/data/1830/Game.xml b/data/1830/Game.xml
index ecdb701..6ef5513 100644
--- a/data/1830/Game.xml
+++ b/data/1830/Game.xml
@@ -143,16 +143,18 @@
(the '+' is optional) -->
</IfOption>
</TrainType>
- <TrainType name="3" majorStops="3" cost="180" quantity="5" startPhase="3">
- <IfOption name="Variant" value="Coalfields,Reading,Coalfields&Reading">
- <Attributes obsoleting="yes"/>
- </IfOption>
- <IfOption name="Variant" value="Wabash">
- <Attributes quantity="6"/>
- </IfOption>
+ <TrainType name="3" majorStops="3" cost="180" quantity="5">
+ <NewPhase phaseName="3"/>
+ <IfOption name="Variant"
+ value="Coalfields,Reading,Coalfields&Reading">
+ <Attributes obsoleting="yes"/>
+ </IfOption>
+ <IfOption name="Variant" value="Wabash">
+ <Attributes quantity="6"/>
+ </IfOption>
</TrainType>
- <TrainType name="4" majorStops="4" cost="300" quantity="4" startPhase="4"
- rustedTrain="2">
+ <TrainType name="4" majorStops="4" cost="300" quantity="4">
+ <NewPhase phaseName="4"/>
<IfOption name="Variant" value="Coalfields,Reading">
<Attributes obsoleting="yes" quantity="5"/>
</IfOption>
@@ -163,13 +165,14 @@
<Attributes quantity="5"/>
</IfOption>
</TrainType>
- <TrainType name="5" majorStops="5" cost="450" quantity="3" startPhase="5">
- <IfOption name="Variant" value="Wabash">
+ <TrainType name="5" majorStops="5" cost="450" quantity="3">
+ <NewPhase phaseName="5"/>
+ <IfOption name="Variant" value="Wabash">
<Attributes quantity="4"/>
</IfOption>
</TrainType>
- <TrainType name="6" majorStops="6" cost="630" startPhase="6"
- rustedTrain="3" releasedTrain="D">
+ <TrainType name="6" majorStops="6" cost="630">
+ <NewPhase phaseName="6"/>
<IfOption name="WithOptional6Train" value="yes">
<Attributes quantity="3"/>
</IfOption>
@@ -193,7 +196,8 @@
<TrainType name="7" majorStops="7" cost="830" quantity="-1"/>
</IfOption>
<IfOption name="Variant" value="Basegame,Pere Marquette,Reading,Coalfields,Coalfields&Reading,Simple">
- <TrainType name="D" majorStops="99" startPhase="D" rustedTrain="4">
+ <TrainType name="D" majorStops="99">
+ <NewPhase phaseName="D"/>
<IfOption name="Variant" value="Basegame,Pere Marquette,Simple">
<Attributes cost="1100"/>
<Exchange cost="800"/>
@@ -228,19 +232,28 @@
<OperatingRounds number="2"/>
</Phase>
<Phase name="4">
- <Tiles colour="yellow,green"/>
+ <Trains rusted="2" limitStep="2"/>
</Phase>
<Phase name="5">
<Tiles colour="yellow,green,brown"/>
+ <Trains limitStep="3"/>
<!--Privates close="yes"/-->
<OperatingRounds number="3"/>
<OffBoardRevenue step="2"/>
</Phase>
- <Phase name="6">
- <Tiles colour="yellow,green,brown"/>
+ <Phase name="6">
+ <Trains rusted="3">
+ <IfOption name="Variant" value="Basegame,Pere Marquette,Simple">
+ <Attributes released="D"/>
+ </IfOption>
+ <IfOption name="Variant"
+ value="Coalfields,Reading,Coalfields&Reading">
+ <Attributes released="7,D"/>
+ </IfOption>
+ </Trains>
</Phase>
<Phase name="D">
- <Tiles colour="yellow,green,brown"/>
+ <Trains rusted="4"/>
</Phase>
</Component>
<Component name="RevenueManager" class="rails.algorithms.RevenueManager">
diff --git a/data/1851/CompanyManager.xml b/data/1851/CompanyManager.xml
index fb3733b..5673c23 100644
--- a/data/1851/CompanyManager.xml
+++ b/data/1851/CompanyManager.xml
@@ -10,7 +10,7 @@
<ShareUnit percentage="10"/>
<Certificate type="President" shares="2"/>
<Certificate shares="1" number="8"/>
- <Trains limit="4,4,3,2"/>
+ <Trains limit="4,3,2"/>
<BaseTokens>
<BuyCost initialTokenCost="100"/>
<HomeBase lay="whenFloated"/>
diff --git a/data/1851/Game.xml b/data/1851/Game.xml
index 282329d..574f68f 100644
--- a/data/1851/Game.xml
+++ b/data/1851/Game.xml
@@ -58,14 +58,20 @@
-->
</Defaults>
<TrainType name="2" majorStops="2" cost="100" quantity="5"/>
- <TrainType name="3" majorStops="3" cost="200" quantity="4" startPhase="3"/>
- <TrainType name="4" majorStops="4" cost="300" quantity="3" startPhase="4"
- rustedTrain="2"/>
- <TrainType name="5" majorStops="5" cost="500" quantity="2" startPhase="5"/>
- <TrainType name="6" majorStops="6" cost="600" quantity="2" startPhase="6"
- rustedTrain="3"/>
- <TrainType name="8" majorStops="8" cost="800" startPhase="8"
- rustedTrain="4">
+ <TrainType name="3" majorStops="3" cost="200" quantity="4">
+ <NewPhase phaseName="3"/>
+ </TrainType>
+ <TrainType name="4" majorStops="4" cost="300" quantity="3">
+ <NewPhase phaseName="4"/>
+ </TrainType>
+ <TrainType name="5" majorStops="5" cost="500" quantity="2">
+ <NewPhase phaseName="5"/>
+ </TrainType>
+ <TrainType name="6" majorStops="6" cost="600" quantity="2">
+ <NewPhase phaseName="6"/>
+ </TrainType>
+ <TrainType name="8" majorStops="8" cost="800">
+ <NewPhase phaseName="8"/>
<IfOption name="UnlimitedTopTrains" value="yes">
<Attributes quantity="-1"/>
</IfOption>
@@ -92,20 +98,22 @@
<OperatingRounds number="2"/>
</Phase>
<Phase name="4">
- <Tiles colour="yellow,green"/>
+ <Trains rusted="2" limitStep="2"/>
<OffBoardRevenue step="2"/>
</Phase>
<Phase name="5">
<Tiles colour="yellow,green,brown"/>
+ <Trains limitStep="3"/>
<Privates close="yes"/>
<OperatingRounds number="3"/>
</Phase>
<Phase name="6">
- <Tiles colour="yellow,green,brown"/>
+ <Trains rusted="3"/>
<OffBoardRevenue step="3"/>
</Phase>
<Phase name="8">
<Tiles colour="yellow,green,brown,grey"/>
+ <Trains rusted="4"/>
</Phase>
</Component>
<Component name="RevenueManager" class="rails.algorithms.RevenueManager">
diff --git a/data/1856/CompanyManager.xml b/data/1856/CompanyManager.xml
index 34cff8b..8d35118 100644
--- a/data/1856/CompanyManager.xml
+++ b/data/1856/CompanyManager.xml
@@ -13,7 +13,7 @@
<BaseTokens>
<LayCost method="sequence" cost="0,40,100"/>
</BaseTokens>
- <Trains limit="4,4,3,2"/>
+ <Trains limit="4,3,2"/>
<Loans value="100" perRound="1" interest="10"/>
<!-- Number of loans is undefined and handled in the code -->
<CanUseSpecialProperties/>
diff --git a/data/1856/Game.xml b/data/1856/Game.xml
index 87706d8..4b00c6a 100644
--- a/data/1856/Game.xml
+++ b/data/1856/Game.xml
@@ -55,49 +55,50 @@
</Defaults>
<TrainType name="2" majorStops="2" cost="100" quantity="6"/>
<TrainType name="3" majorStops="3" cost="225" quantity="5">
- <NewPhase phaseName="2"/>
+ <NewPhase phaseName="3"/>
</TrainType>
<TrainType name="4" majorStops="4" cost="350" quantity="4">
- <NewPhase phaseName="3"/>
+ <NewPhase phaseName="4"/>
</TrainType>
<TrainType name="5" majorStops="5" cost="550" quantity="3">
- <NewPhase phaseName="4"/>
+ <NewPhase phaseName="5"/>
</TrainType>
<TrainType name="6" majorStops="6" cost="700" quantity="2">
- <NewPhase phaseName="5"/>
+ <NewPhase phaseName="6"/>
</TrainType>
<TrainType name="D" majorStops="99" cost="1100" quantity="-1">
- <NewPhase phaseName="6"/>
+ <NewPhase phaseName="D"/>
<Exchange cost="750"/>
</TrainType>
</Component>
<Component name="PhaseManager" class="rails.game.PhaseManager">
- <Phase name="1">
+ <Phase name="2" realName="1">
<Tiles colour="yellow"/>
<OperatingRounds number="1"/>
<Trains tradingAllowed="yes"/>
<Loans allowed="yes"/>
</Phase>
- <Phase name="2">
+ <Phase name="3" realName="2">
<Tiles colour="yellow,green"/>
<OperatingRounds number="2"/>
<Privates sellingAllowed="yes"/>
</Phase>
- <Phase name="3">
- <Trains rusted="2"/>
+ <Phase name="4" realName="3">
+ <Trains rusted="2" limitStep="2"/>
</Phase>
- <Phase name="4">
+ <Phase name="5" realName="4">
<Tiles colour="yellow,green,brown"/>
+ <Trains limitStep="3"/>
<OperatingRounds number="3"/>
<Privates close="yes"/>
<OffBoardRevenue step="2"/>
</Phase>
- <Phase name="5">
+ <Phase name="6" realName="5">
<Tiles colour="yellow,green,brown,grey"/>
<Trains rusted="3" released="D"/>
<Loans allowed="no"/>
</Phase>
- <Phase name="6">
+ <Phase name="D" realName="6">
<Trains rusted="4"/>
<OffBoardRevenue step="3"/>
</Phase>
diff --git a/data/1870/CompanyManager.xml b/data/1870/CompanyManager.xml
old mode 100755
new mode 100644
index a525a6d..18251c7
--- a/data/1870/CompanyManager.xml
+++ b/data/1870/CompanyManager.xml
@@ -21,7 +21,7 @@
<BaseTokens>
<LayCost method="sequence" cost="0,40,100"/>
</BaseTokens>
- <Trains limit="4,4,3,2"/>
+ <Trains limit="4,3,2"/>
<CanUseSpecialProperties/>
</CompanyType>
diff --git a/data/1870/Game.xml b/data/1870/Game.xml
index bd7a6dc..9f31b33 100644
--- a/data/1870/Game.xml
+++ b/data/1870/Game.xml
@@ -47,48 +47,59 @@
<Score towns="yes"/>
</Defaults>
<TrainType name="2" majorStops="2" cost="80" quantity="7"/>
- <TrainType name="3" majorStops="3" cost="180" quantity="6" startPhase="2"/>
- <TrainType name="4" majorStops="4" cost="300" quantity="5" startPhase="3"
- rustedTrain="2"/>
- <TrainType name="5" majorStops="5" cost="450" quantity="4" startPhase="4"/>
- <TrainType name="6" majorStops="6" cost="630" quantity="3" startPhase="5"
- rustedTrain="3"/>
- <TrainType name="8" majorStops="8" cost="800" quantity="3" startPhase="6"
- rustedTrain="4"/>
- <TrainType name="10" majorStops="10" cost="950" quantity="2" startPhase="7"/>
- <TrainType name="12" majorStops="12" cost="1100" quantity="-1" startPhase="8"
- rustedTrain="5"/>
+ <TrainType name="3" majorStops="3" cost="180" quantity="6">
+ <NewPhase phaseName="3"/>
+ </TrainType>
+ <TrainType name="4" majorStops="4" cost="300" quantity="5" startPhase="3">
+ <NewPhase phaseName="4"/>
+ </TrainType>
+ <TrainType name="5" majorStops="5" cost="450" quantity="4" startPhase="4">
+ <NewPhase phaseName="5"/>
+ </TrainType>
+ <TrainType name="6" majorStops="6" cost="630" quantity="3" startPhase="5">
+ <NewPhase phaseName="6"/>
+ </TrainType>
+ <TrainType name="8" majorStops="8" cost="800" quantity="3">
+ <NewPhase phaseName="8"/>
+ </TrainType>
+ <TrainType name="10" majorStops="10" cost="950" quantity="2">
+ <NewPhase phaseName="10"/>
+ </TrainType>
+ <TrainType name="12" majorStops="12" cost="1100" quantity="-1">
+ <NewPhase phaseName="12"/>
+ </TrainType>
</Component>
<Component name="PhaseManager" class="rails.game.PhaseManager">
- <Phase name="1">
+ <Phase name="2" realName="1">
<Tiles colour="yellow"/>
<OperatingRounds number="1"/>
<Trains tradingAllowed="yes"/>
</Phase>
- <Phase name="2">
+ <Phase name="3" realName="2">
<Tiles colour="yellow,green"/>
<OperatingRounds number="2"/>
</Phase>
- <Phase name="3">
- <Tiles colour="yellow,green"/>
+ <Phase name="4" realName="3">
+ <Trains rusted="2" limitStep="2"/>
</Phase>
- <Phase name="4">
+ <Phase name="5" realName="4">
<Tiles colour="yellow,green,brown"/>
+ <Trains limitStep="3"/>
<OperatingRounds number="3"/>
</Phase>
- <Phase name="5">
+ <Phase name="6" realName="5">
<Tiles colour="yellow,green,brown,grey"/>
+ <Trains rusted="3"/>
<Privates close="yes"/>
<OffBoardRevenue step="2"/>
</Phase>
- <Phase name="6">
- <Tiles colour="yellow,green,brown,grey"/>
+ <Phase name="8" realName="6">
+ <Trains rusted="4"/>
</Phase>
- <Phase name="7">
- <Tiles colour="yellow,green,brown,grey"/>
+ <Phase name="10" realName="7">
</Phase>
- <Phase name="8">
- <Tiles colour="yellow,green,brown,grey"/>
+ <Phase name="12" realName="8">
+ <Trains rusted="5"/>
<OffBoardRevenue step="3"/>
</Phase>
</Component>
diff --git a/data/1880/Game.xml b/data/1880/Game.xml
index d451ad6..8695192 100644
--- a/data/1880/Game.xml
+++ b/data/1880/Game.xml
@@ -1,151 +1,155 @@
-<?xml version="1.0"?>
-<ComponentManager>
- <Component name="GameManager" class="rails.game.GameManager">
- <Game name="1880"/>
- <GameOption name="RouteAwareness" values="Highlight,Deactivate" default="Deactivate" />
- <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate" />
- <GameOption name="UnlimitedTiles" type="toggle" default="no"/>
- <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/>
- <GameParameters>
- <PlayerShareLimit percentage="100" />
- <StockRound class="rails.game.specific._1880.StockRound_1880" sequence="SellBuy">
- <NoSaleInFirstSR/>
- </StockRound>
- <OperatingRound class="rails.game.specific._1880.OperatingRound_1880">
- <EmergencyTrainBuying mayBuyFromCompany="no"/>
- </OperatingRound>
- </GameParameters>
- <GuiClasses>
- <StatusWindow class="rails.ui.swing.StatusWindow"/>
- <StartRoundWindow class="rails.ui.swing.gamespecific._1880.StartRoundWindow_1880"/>
- </GuiClasses>
- <EndOfGame/>
- <!-- need to implement the 3 OR set limit after purchase of first 8 TrainType -->
- </Component>
- <Component name="PlayerManager" class="rails.game.PlayerManager">
- <Players number="3" cash="600" certLimit="20"/>
- <Players number="4" cash="480" certLimit="16"/>
- <Players number="5" cash="400" certLimit="14"/>
- <Players number="6" cash="340" certLimit="12"/>
- <Players number="7" cash="300" certLimit="11"/>
- </Component>
- <Component name="Bank" class="rails.game.Bank">
- <Bank amount="30000"/>
- </Component>
- <Component name="TileManager" class="rails.game.TileManager"
- file="TileSet.xml"/>
- <Component name="Map" class="rails.game.MapManager" file="Map.xml"/>
- <Component name="CompanyManager" class="rails.game.CompanyManager"
- file="CompanyManager.xml"/>
- <Component name="StockMarket" class="rails.game.specific._1880.StockMarket_1880"
- file="StockMarket.xml"/>
- <Component name="TrainManager" class="rails.game.TrainManager">
- <Defaults>
- <Reach base="stops" countTowns="major"/>
- <Score towns="yes"/>
- </Defaults>
- <TrainType name="2" majorStops="2" cost="100" quantity="10"/>
- <TrainType name="2+2" majorStops="2" minorStops="2" cost="180" quantity="5">
- <NewPhase phaseName="2+2"/>
- </TrainType>
- <TrainType name="3" majorStops="3" cost="180" quantity="6">
- <NewPhase phaseName="3"/>
- </TrainType>
- <TrainType name="3+3" majorStops="3" minorStops="3" cost="300" quantity="5">
- <NewPhase phaseName="3+3"/>
- </TrainType>
- <TrainType name="4" majorStops="4" cost="300" quantity="5">
- <NewPhase phaseName="4"/>
- </TrainType>
- <TrainType name="4+4" majorStops="4" minorStops="4" cost="450" quantity="5">
- <NewPhase phaseName="4+4"/>
- </TrainType>
- <TrainType name="6" majorStops="6" cost="600" quantity="5">
- <NewPhase phaseName="6"/>
- </TrainType>
- <TrainType name="6e" majorStops="-1" cost="700" quantity="5">
- <NewPhase phaseName="6e"/>
- </TrainType>
- <!-- majorStops="-1" indicates that this not a normally running train-->
- <!-- The e-type trains are express trains that can ignore towns/cities on their way for a maximum payout-->
- <TrainType name="8" majorStops="8" cost="800" quantity="2">
- <NewPhase phaseName="8"/>
- </TrainType>
- <TrainType name="8e" majorStops="-1" cost="900" quantity="2">
- <NewPhase phaseName="8e"/>
- </TrainType>
- <!-- majorStops="-1" indicates that this not a normally running train-->
- <!-- The e-type trains are express trains that can ignore towns/cities on their way for a maximum payout-->
- <TrainType name="10" majorStops="10" cost="1000" quantity="-1">
- <NewPhase phaseName="8e"/>
- </TrainType>
- </Component>
- <Component name="PhaseManager" class="rails.game.PhaseManager">
- <Phase name="2" realName="A1">
- <Tiles colour="yellow"/>
- <OperatingRounds number="-1"/>
- <Float percentage="20"/>
- <Trains tradingAllowed="yes"/>
- <Stocks avail="5"/>
- </Phase>
- <Phase name="2+2" realName="A2">
- <Tiles colour="yellow"/>
- </Phase>
- <Phase name="3" realName="B1">
- <Tiles colour="yellow,green"/>
- <Float percentage="30"/>
- <Stocks avail="10"/>
- <OffBoardRevenue step="2"/>
- </Phase>
- <Phase name="3+3" realName="B2">
- <Tiles colour="yellow,green"/>
- <OffBoardRevenue step="2"/>
- </Phase>
- <Phase name="4" realName="B3">
- <Tiles colour="yellow,green"/>
- <OffBoardRevenue step="2"/>
- <Privates close="yes"/>
- <Investors active="no"/>
- <Communists active="yes"/>
- <Float percentage="40"/>
- <Trains limitStep="2" rusted="2"/>
- </Phase>
- <Phase name="4+4" realName="C1">
- <Tiles colour="yellow,green,brown"/>
- <OffBoardRevenue step="3"/>
- <Trains rusted="2+2"/>
- </Phase>
- <Phase name="6" realName="C2">
- <Tiles colour="yellow,green,brown"/>
- <Comunists active="no"/>
- <Float percentage="60"/>
- <OffBoardRevenue step="3"/>
- <Trains limitStep="3" rusted="3"/>
- </Phase>
- <Phase name="6e" realName="C3">
- <Tiles colour="yellow,green,brown"/>
- <OffBoardRevenue step="3"/>
- <Trains limitStep="3" rusted="3+3"/>
- </Phase>
- <Phase name="8" realName="D1">
- <Tiles colour="yellow,green,brown,grey"/>
- <OffBoardRevenue step="4"/>
- <Trains limitStep="3" rusted="4"/>
- </Phase>
- <Phase name="8e" realName="D2">
- <Tiles colour="yellow,green,brown,grey"/>
- <OffBoardRevenue step="4"/>
- <Trains limitStep="3" rusted="4+4"/>
- </Phase>
- <Phase name="8e" realName="D3">
- </Phase>
- <Component name="RevenueManager" class="rails.algorithms.RevenueManager">
- <Modifier class="rails.game.specific._1880.OffBoardRevenueModifier" />
- <Modifier class="rails.game.specific._1880.ExpressTrainRevenueModifier" />
- </Component>
- </Component>
- <Component name="RevenueManager" class="rails.algorithms.RevenueManager">
- <Modifier class="rails.game.specific._1826.TGVModifier" />
- </Component>
-
+<?xml version="1.0"?>
+<ComponentManager>
+ <Component name="GameManager" class="rails.game.GameManager">
+ <Game name="1880"/>
+ <GameOption name="RouteAwareness" values="Highlight,Deactivate"
+ default="Deactivate"/>
+ <GameOption name="RevenueCalculation" values="Suggest,Deactivate"
+ default="Deactivate"/>
+ <GameOption name="UnlimitedTiles" type="toggle" default="no"/>
+ <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/>
+ <GameParameters>
+ <PlayerShareLimit percentage="100"/>
+ <StockRound class="rails.game.specific._1880.StockRound_1880"
+ sequence="SellBuy">
+ <NoSaleInFirstSR/>
+ </StockRound>
+ <OperatingRound
+ class="rails.game.specific._1880.OperatingRound_1880">
+ <EmergencyTrainBuying mayBuyFromCompany="no"/>
+ </OperatingRound>
+ </GameParameters>
+ <GuiClasses>
+ <StatusWindow class="rails.ui.swing.StatusWindow"/>
+ <StartRoundWindow
+ class="rails.ui.swing.gamespecific._1880.StartRoundWindow_1880"/>
+ </GuiClasses>
+ <EndOfGame/>
+
+ <!-- need to implement the 3 OR set limit after purchase of first 8 TrainType -->
+ </Component>
+ <Component name="PlayerManager" class="rails.game.PlayerManager">
+ <Players number="3" cash="600" certLimit="20"/>
+ <Players number="4" cash="480" certLimit="16"/>
+ <Players number="5" cash="400" certLimit="14"/>
+ <Players number="6" cash="340" certLimit="12"/>
+ <Players number="7" cash="300" certLimit="11"/>
+ </Component>
+ <Component name="Bank" class="rails.game.Bank">
+ <Bank amount="30000"/>
+ </Component>
+ <Component name="TileManager" class="rails.game.TileManager"
+ file="TileSet.xml"/>
+ <Component name="Map" class="rails.game.MapManager" file="Map.xml"/>
+ <Component name="CompanyManager" class="rails.game.CompanyManager"
+ file="CompanyManager.xml"/>
+ <Component name="StockMarket"
+ class="rails.game.specific._1880.StockMarket_1880"
+ file="StockMarket.xml"/>
+ <Component name="TrainManager" class="rails.game.TrainManager">
+ <Defaults>
+ <Reach base="stops" countTowns="major"/>
+ <Score towns="yes"/>
+ </Defaults>
+ <TrainType name="2" majorStops="2" cost="100" quantity="10"/>
+ <TrainType name="2+2" majorStops="2" minorStops="2" cost="180" quantity="5">
+ <NewPhase phaseName="2+2"/>
+ </TrainType>
+ <TrainType name="3" majorStops="3" cost="180" quantity="6">
+ <NewPhase phaseName="3"/>
+ </TrainType>
+ <TrainType name="3+3" majorStops="3" minorStops="3" cost="300" quantity="5">
+ <NewPhase phaseName="3+3"/>
+ </TrainType>
+ <TrainType name="4" majorStops="4" cost="300" quantity="5">
+ <NewPhase phaseName="4"/>
+ </TrainType>
+ <TrainType name="4+4" majorStops="4" minorStops="4" cost="450" quantity="5">
+ <NewPhase phaseName="4+4"/>
+ </TrainType>
+ <TrainType name="6" majorStops="6" cost="600" quantity="5">
+ <NewPhase phaseName="6"/>
+ </TrainType>
+ <TrainType name="6e" majorStops="-1" cost="700" quantity="5">
+ <NewPhase phaseName="6e"/>
+ </TrainType>
+ <!-- majorStops="-1" indicates that this not a normally running train-->
+
+ <!-- The e-type trains are express trains that can ignore towns/cities on their way for a maximum payout-->
+ <TrainType name="8" majorStops="8" cost="800" quantity="2">
+ <NewPhase phaseName="8"/>
+ </TrainType>
+ <TrainType name="8e" majorStops="-1" cost="900" quantity="2">
+ <NewPhase phaseName="8e"/>
+ </TrainType>
+ <!-- majorStops="-1" indicates that this not a normally running train-->
+
+ <!-- The e-type trains are express trains that can ignore towns/cities on their way for a maximum payout-->
+ <TrainType name="10" majorStops="10" cost="1000" quantity="-1">
+ <NewPhase phaseName="8e"/>
+ </TrainType>
+ </Component>
+ <Component name="PhaseManager" class="rails.game.PhaseManager">
+ <Phase name="2" realName="A1">
+ <Tiles colour="yellow"/>
+ <OperatingRounds number="-1"/>
+ <Float percentage="20"/>
+ <Trains tradingAllowed="yes"/>
+ <Stocks avail="5"/>
+ </Phase>
+ <Phase name="2+2" realName="A2">
+ </Phase>
+ <Phase name="3" realName="B1">
+ <Tiles colour="yellow,green"/>
+ <Float percentage="30"/>
+ <Stocks avail="10"/>
+ <OffBoardRevenue step="2"/>
+ </Phase>
+ <Phase name="3+3" realName="B2">
+ <OffBoardRevenue step="2"/>
+ </Phase>
+ <Phase name="4" realName="B3">
+ <OffBoardRevenue step="2"/>
+ <Privates close="yes"/>
+ <Investors active="no"/>
+ <Communists active="yes"/>
+ <Float percentage="40"/>
+ <Trains limitStep="2" rusted="2"/>
+ </Phase>
+ <Phase name="4+4" realName="C1">
+ <Tiles colour="yellow,green,brown"/>
+ <OffBoardRevenue step="3"/>
+ <Trains rusted="2+2"/>
+ </Phase>
+ <Phase name="6" realName="C2">
+ <Communists active="no"/>
+ <Float percentage="60"/>
+ <OffBoardRevenue step="3"/>
+ <Trains limitStep="3" rusted="3"/>
+ </Phase>
+ <Phase name="6e" realName="C3">
+ <OffBoardRevenue step="3"/>
+ <Trains limitStep="3" rusted="3+3"/>
+ </Phase>
+ <Phase name="8" realName="D1">
+ <Tiles colour="yellow,green,brown,grey"/>
+ <OffBoardRevenue step="4"/>
+ <Trains limitStep="3" rusted="4"/>
+ </Phase>
+ <Phase name="8e" realName="D2">
+ <OffBoardRevenue step="4"/>
+ <Trains limitStep="3" rusted="4+4"/>
+ </Phase>
+ <Phase name="8e" realName="D3">
+ </Phase>
+ <Component name="RevenueManager" class="rails.algorithms.RevenueManager">
+ <Modifier class="rails.game.specific._1880.OffBoardRevenueModifier"/>
+ <Modifier
+ class="rails.game.specific._1880.ExpressTrainRevenueModifier"/>
+ </Component>
+ </Component>
+ <Component name="RevenueManager" class="rails.algorithms.RevenueManager">
+ <Modifier class="rails.game.specific._1826.TGVModifier"/>
+ </Component>
+
</ComponentManager>
\ No newline at end of file
diff --git a/data/1889/CompanyManager.xml b/data/1889/CompanyManager.xml
index 72e3c08..83dd566 100644
--- a/data/1889/CompanyManager.xml
+++ b/data/1889/CompanyManager.xml
@@ -19,7 +19,7 @@
</BaseTokens>
<Certificate type="President" shares="2"/>
<Certificate shares="1" number="8"/>
- <Trains limit="4,4,3,2"/>
+ <Trains limit="4,3,2"/>
<CanUseSpecialProperties/>
</CompanyType>
<IfOption name="BeginnerGame" value="yes">
diff --git a/data/1889/Game.xml b/data/1889/Game.xml
index 71ed798..5fddf24 100644
--- a/data/1889/Game.xml
+++ b/data/1889/Game.xml
@@ -83,12 +83,17 @@
-->
</Defaults>
<TrainType name="2" majorStops="2" cost="80" quantity="6"/>
- <TrainType name="3" majorStops="3" cost="180" quantity="5" startPhase="3"/>
- <TrainType name="4" majorStops="4" cost="300" quantity="4" startPhase="4"
- rustedTrain="2"/>
- <TrainType name="5" majorStops="5" cost="450" quantity="3" startPhase="5"/>
- <TrainType name="6" majorStops="6" cost="630" startPhase="6"
- rustedTrain="3" releasedTrain="D">
+ <TrainType name="3" majorStops="3" cost="180" quantity="5">
+ <NewPhase phaseName="3"/>
+ </TrainType>
+ <TrainType name="4" majorStops="4" cost="300" quantity="4">
+ <NewPhase phaseName="4"/>
+ </TrainType>
+ <TrainType name="5" majorStops="5" cost="450" quantity="3">
+ <NewPhase phaseName="5"/>
+ </TrainType>
+ <TrainType name="6" majorStops="6" cost="630">
+ <NewPhase phaseName="6"/>
<IfOption name="WithOptional6Train" value="yes">
<Attributes quantity="3"/>
</IfOption>
@@ -96,8 +101,8 @@
<Attributes quantity="2"/>
</IfOption>
</TrainType>
- <TrainType name="D" majorStops="99" cost="1100" startPhase="D"
- rustedTrain="4">
+ <TrainType name="D" majorStops="99" cost="1100">
+ <NewPhase phaseName="D"/>
<IfOption name="UnlimitedTopTrains" value="yes">
<Attributes quantity="-1"/>
</IfOption>
@@ -123,19 +128,20 @@
<OperatingRounds number="2"/>
</Phase>
<Phase name="4">
- <Tiles colour="yellow,green"/>
+ <Trains rusted="2" limitStep="2"/>
</Phase>
<Phase name="5">
<Tiles colour="yellow,green,brown"/>
+ <Trains limitStep="3"/>
<Privates sellingAllowed="no" close="yes" revenueStep="2"/> <!--G increases revenue and does not close - if owned by player-->
<OperatingRounds number="3"/>
<OffBoardRevenue step="2"/>
</Phase>
<Phase name="6">
- <Tiles colour="yellow,green,brown"/>
+ <Trains rusted="3" released="D"/>
</Phase>
<Phase name="D">
- <Tiles colour="yellow,green,brown"/>
+ <Trains rusted="4"/>
</Phase>
</Component>
</ComponentManager>
diff --git a/data/18AL/CompanyManager.xml b/data/18AL/CompanyManager.xml
old mode 100755
new mode 100644
index 26cf9ce..741ce43
--- a/data/18AL/CompanyManager.xml
+++ b/data/18AL/CompanyManager.xml
@@ -13,7 +13,7 @@
<BaseTokens>
<LayCost method="sequence" cost="0,40,100"/>
</BaseTokens>
- <Trains limit="4,4,3,2"/>
+ <Trains limit="4,3,2"/>
<CanUseSpecialProperties/>
</CompanyType>
<Company name="Tusc" type="Private" basePrice="20" revenue="5" longname="Tuscumbia Railway"/>
diff --git a/data/18AL/Game.xml b/data/18AL/Game.xml
index fff9d7c..9c59f20 100644
--- a/data/18AL/Game.xml
+++ b/data/18AL/Game.xml
@@ -53,23 +53,30 @@
<Score towns="yes"/>
</Defaults>
<TrainType name="2" majorStops="2" cost="100" quantity="5"/>
- <TrainType name="3" majorStops="3" cost="180" quantity="4" startPhase="3"/>
- <TrainType name="4" majorStops="4" cost="300" quantity="3" startPhase="4"
- rustedTrain="2" >
- <IfOption name="Obsolete4Trains" value="yes">
+ <TrainType name="3" majorStops="3" cost="180" quantity="4">
+ <NewPhase phaseName="3"/>
+ </TrainType>
+ <TrainType name="4" majorStops="4" cost="300" quantity="3">
+ <NewPhase phaseName="4"/>
+ <IfOption name="Obsolete4Trains" value="yes">
<Attributes obsoleting="yes"/>
</IfOption>
<IfOption name="Obsolete4Trains" value="no">
<Attributes obsoleting="no"/>
</IfOption>
</TrainType>/>
- <TrainType name="5" majorStops="5" cost="450" quantity="2" startPhase="5"/>
- <TrainType name="6" majorStops="6" cost="630" quantity="1" startPhase="6"
- rustedTrain="3"/>
- <TrainType name="7" majorStops="7" cost="700" quantity="1" startPhase="7"
- rustedTrain="4"/>
- <TrainType name="4D" majorStops="4" cost="800" startPhase="4D">
- <IfOption name="UnlimitedTopTrains" value="yes">
+ <TrainType name="5" majorStops="5" cost="450" quantity="2">
+ <NewPhase phaseName="5"/>
+ </TrainType>
+ <TrainType name="6" majorStops="6" cost="630" quantity="1">
+ <NewPhase phaseName="6"/>
+ </TrainType>
+ <TrainType name="7" majorStops="7" cost="700" quantity="1">
+ <NewPhase phaseName="7"/>
+ </TrainType>
+ <TrainType name="4D" majorStops="4" cost="800">
+ <NewPhase phaseName="4D"/>
+ <IfOption name="UnlimitedTopTrains" value="yes">
<Attributes quantity="-1"/>
</IfOption>
<IfOption name="UnlimitedTopTrains" value="no">
@@ -92,20 +99,20 @@
<OperatingRounds number="2"/>
</Phase>
<Phase name="4">
- <Tiles colour="yellow,green"/>
- <Trains onePerTurn="no"/>
+ <Trains rusted="2" limitStep="2" onePerTurn="no"/>
</Phase>
<Phase name="5">
<Tiles colour="yellow,green,brown"/>
+ <Trains limitStep="3"/>
<OperatingRounds number="3"/>
<Privates close="yes"/>
<OffBoardRevenue step="2"/>
</Phase>
<Phase name="6">
- <Tiles colour="yellow,green,brown"/>
+ <Trains rusted="3"/>
</Phase>
<Phase name="7">
- <Tiles colour="yellow,green,brown"/>
+ <Trains rusted="4"/>
</Phase>
<Phase name="4D">
<Tiles colour="yellow,green,brown,grey"/>
diff --git a/data/18EU/CompanyManager.xml b/data/18EU/CompanyManager.xml
index 02dc6f5..34cfd3a 100644
--- a/data/18EU/CompanyManager.xml
+++ b/data/18EU/CompanyManager.xml
@@ -15,7 +15,7 @@
<BaseTokens>
<HomeBase lay="whenStarted"/>
</BaseTokens>
- <Trains limit="2,2,1" mandatory="no"/>
+ <Trains limit="2,1" mandatory="no"/>
<InitialTrain type="2" cost="0" tradeable="yes"/>
</CompanyType>
<CompanyType name="Major" class="rails.game.PublicCompany"
@@ -33,7 +33,7 @@
<HomeBase lay="whenStarted"/>
</BaseTokens>
<Payout split="allowed" mustExceedPriceToMove="yes"/>
- <Trains limit="4,4,3,2"/>
+ <Trains limit="4,3,2"/>
<TradeShares mustHaveOperated="yes"/>
</CompanyType>
diff --git a/data/18EU/Game.xml b/data/18EU/Game.xml
index 682d668..6a3af0f 100644
--- a/data/18EU/Game.xml
+++ b/data/18EU/Game.xml
@@ -1,115 +1,132 @@
-<?xml version="1.0"?>
-<ComponentManager>
- <Component name="GameManager" class="rails.game.specific._18EU.GameManager_18EU">
- <Game name="18EU"/>
- <GameOption name="RouteAwareness" values="Highlight,Deactivate" default="Deactivate" />
- <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate" />
- <GameOption name="Extra3Trains" values="0,1,2" default="0"/>
- <GameOption name="Extra4Trains" values="0,1" default="0"/>
- <GameOption name="NoMapMode" type="toggle" default="no" />
- <GameOption name="UnlimitedTiles" type="toggle" default="no"/>
- <GameOption name="SeparateSalesAtSamePrice" type="toggle" default="yes"/>
- <GameParameters>
- <StockRound class="rails.game.specific._18EU.StockRound_18EU"
- sequence="sellBuy"
- skipFirst="yes">
- <NoSaleInFirstSR/>
- <NoSaleIfNotOperated/>
- </StockRound>
- <OperatingRound class="rails.game.specific._18EU.OperatingRound_18EU">
- <EmergencyTrainBuying mustBuyCheapestTrain="no" mayBuyFromCompany="yes"/>
- </OperatingRound>
- <PlayerShareLimit percentage="60"/>
- <BankPoolLimit percentage="50"/>
- <TreasuryShareLimit percentage="80"/>
- </GameParameters>
- <GuiClasses>
- <GameStatus class="rails.ui.swing.gamespecific._18EU.GameStatus_18EU"/>
- <StatusWindow class="rails.ui.swing.gamespecific._18EU.StatusWindow_18EU"/>
- <GameUIManager class="rails.ui.swing.gamespecific._18EU.GameUIManager_18EU"/>
- </GuiClasses>
- <EndOfGame>
- <BankBreaks limit="0" finish="setOfORs"/>
- <!-- "Runs out"; when "broken", -1 is the limit -->
- <!-- Also when the share value reaches $300; this is configured in teh stock market XML -->
- </EndOfGame>
- </Component>
- <Component name="PlayerManager" class="rails.game.PlayerManager">
- <Players number="2" cash="750" certLimit="28"/>
- <Players number="3" cash="450" certLimit="20"/>
- <Players number="4" cash="350" certLimit="16"/>
- <Players number="5" cash="300" certLimit="13"/>
- <Players number="6" cash="250" certLimit="11"/>
- </Component>
- <Component name="Bank" class="rails.game.Bank">
- <Bank amount="12000"/>
- </Component>
- <Component name="TileManager" class="rails.game.TileManager"
- file="TileSet.xml"/>
- <Component name="Map" class="rails.game.MapManager" file="Map.xml"/>
- <Component name="CompanyManager" class="rails.game.CompanyManager"
- file="CompanyManager.xml"/>
- <Component name="StockMarket" class="rails.game.StockMarket"
- file="StockMarket.xml"/>
- <Component name="TrainManager" class="rails.game.TrainManager">
- <Defaults>
- <Reach base="stops" countTowns="no"/>
- <Score towns="yes"/>
- </Defaults>
- <TrainType name="2" majorStops="2" cost="100" quantity="15"/>
- <TrainType name="3" majorStops="3" cost="200" startPhase="3" releasedTrain="P">
- <IfOption name="Extra3Trains" value="0">
- <Attributes quantity="5"/>
- </IfOption>
- <IfOption name="Extra3Trains" value="1">
- <Attributes quantity="6"/>
- </IfOption>
- <IfOption name="Extra3Trains" value="2">
- <Attributes quantity="7"/>
- </IfOption>
- </TrainType>
- <TrainType name="4" majorStops="4" cost="300" startPhase="4"
- rustedTrain="2">
- <IfOption name="Extra4Trains" value="0">
- <Attributes quantity="4"/>
- </IfOption>
- <IfOption name="Extra4Trains" value="1">
- <Attributes quantity="5"/>
- </IfOption>
- </TrainType>
- <TrainType name="5" majorStops="5" cost="500" quantity="3" startPhase="5"/>
- <TrainType name="6" majorStops="6" cost="600" quantity="2" startPhase="6"
- rustedTrain="3"/>
- <TrainType name="8" majorStops="8" cost="800" quantity="-1" startPhase="8"
- rustedTrain="4"/>
- <!-- majorStops="-1" indicates that this not a normally running train-->
- <TrainType name="P" initialPortfolio="Pool" majorStops="-1" cost="100" quantity="5"/>
- </Component>
- <Component name="PhaseManager" class="rails.game.PhaseManager">
- <Phase name="2" >
- <Tiles colour="yellow"/>
- <OperatingRounds number="2"/>
- <Trains tradingAllowed="yes"/>
- </Phase>
- <Phase name="3">
- <Tiles colour="yellow,green"/>
- </Phase>
- <Phase name="4">
- <Tiles colour="yellow,green"/>
- </Phase>
- <Phase name="5">
- <Tiles colour="yellow,green,brown"/>
- <OffBoardRevenue step="2"/>
- </Phase>
- <Phase name="6">
- <Tiles colour="yellow,green,brown"/>
- </Phase>
- <Phase name="8">
- <Tiles colour="yellow,green,brown,grey"/>
- </Phase>
- </Component>
- <Component name="RevenueManager" class="rails.algorithms.RevenueManager">
- <Modifier class="rails.game.specific._18EU.OffBoardRevenueModifier" />
- <Modifier class="rails.game.specific._18EU.PullmanRevenueModifier" />
- </Component>
+<?xml version="1.0"?>
+<ComponentManager>
+ <Component name="GameManager"
+ class="rails.game.specific._18EU.GameManager_18EU">
+ <Game name="18EU"/>
+ <GameOption name="RouteAwareness" values="Highlight,Deactivate"
+ default="Deactivate"/>
+ <GameOption name="RevenueCalculation" values="Suggest,Deactivate"
+ default="Deactivate"/>
+ <GameOption name="Extra3Trains" values="0,1,2" default="0"/>
+ <GameOption name="Extra4Trains" values="0,1" default="0"/>
+ <GameOption name="NoMapMode" type="toggle" default="no"/>
+ <GameOption name="UnlimitedTiles" type="toggle" default="no"/>
+ <GameOption name="SeparateSalesAtSamePrice" type="toggle" default="yes"/>
+ <GameParameters>
+ <StockRound class="rails.game.specific._18EU.StockRound_18EU"
+ sequence="sellBuy" skipFirst="yes">
+ <NoSaleInFirstSR/>
+ <NoSaleIfNotOperated/>
+ </StockRound>
+ <OperatingRound
+ class="rails.game.specific._18EU.OperatingRound_18EU">
+ <EmergencyTrainBuying mustBuyCheapestTrain="no"
+ mayBuyFromCompany="yes"/>
+ </OperatingRound>
+ <PlayerShareLimit percentage="60"/>
+ <BankPoolLimit percentage="50"/>
+ <TreasuryShareLimit percentage="80"/>
+ </GameParameters>
+ <GuiClasses>
+ <GameStatus
+ class="rails.ui.swing.gamespecific._18EU.GameStatus_18EU"/>
+ <StatusWindow
+ class="rails.ui.swing.gamespecific._18EU.StatusWindow_18EU"/>
+ <GameUIManager
+ class="rails.ui.swing.gamespecific._18EU.GameUIManager_18EU"/>
+ </GuiClasses>
+ <EndOfGame>
+ <BankBreaks limit="0" finish="setOfORs"/>
+ <!-- "Runs out"; when "broken", -1 is the limit -->
+
+ <!-- Also when the share value reaches $300; this is configured in teh stock market XML -->
+ </EndOfGame>
+ </Component>
+ <Component name="PlayerManager" class="rails.game.PlayerManager">
+ <Players number="2" cash="750" certLimit="28"/>
+ <Players number="3" cash="450" certLimit="20"/>
+ <Players number="4" cash="350" certLimit="16"/>
+ <Players number="5" cash="300" certLimit="13"/>
+ <Players number="6" cash="250" certLimit="11"/>
+ </Component>
+ <Component name="Bank" class="rails.game.Bank">
+ <Bank amount="12000"/>
+ </Component>
+ <Component name="TileManager" class="rails.game.TileManager"
+ file="TileSet.xml"/>
+ <Component name="Map" class="rails.game.MapManager" file="Map.xml"/>
+ <Component name="CompanyManager" class="rails.game.CompanyManager"
+ file="CompanyManager.xml"/>
+ <Component name="StockMarket" class="rails.game.StockMarket"
+ file="StockMarket.xml"/>
+ <Component name="TrainManager" class="rails.game.TrainManager">
+ <Defaults>
+ <Reach base="stops" countTowns="no"/>
+ <Score towns="yes"/>
+ </Defaults>
+ <TrainType name="2" majorStops="2" cost="100" quantity="15"/>
+ <TrainType name="3" majorStops="3" cost="200">
+ <NewPhase phaseName="3"/>
+ <IfOption name="Extra3Trains" value="0">
+ <Attributes quantity="5"/>
+ </IfOption>
+ <IfOption name="Extra3Trains" value="1">
+ <Attributes quantity="6"/>
+ </IfOption>
+ <IfOption name="Extra3Trains" value="2">
+ <Attributes quantity="7"/>
+ </IfOption>
+ </TrainType>
+ <TrainType name="4" majorStops="4" cost="300">
+ <NewPhase phaseName="4"/>
+ <IfOption name="Extra4Trains" value="0">
+ <Attributes quantity="4"/>
+ </IfOption>
+ <IfOption name="Extra4Trains" value="1">
+ <Attributes quantity="5"/>
+ </IfOption>
+ </TrainType>
+ <TrainType name="5" majorStops="5" cost="500" quantity="3">
+ <NewPhase phaseName="5"/>
+ </TrainType>
+ <TrainType name="6" majorStops="6" cost="600" quantity="2">
+ <NewPhase phaseName="6"/>
+ </TrainType>
+ <TrainType name="8" majorStops="8" cost="800" quantity="-1">
+ <NewPhase phaseName="8"/>
+ </TrainType>
+ <!-- majorStops="-1" indicates that this not a normally running train-->
+ <TrainType name="P" initialPortfolio="Pool" majorStops="-1" cost="100"
+ quantity="5"/>
+ </Component>
+ <Component name="PhaseManager" class="rails.game.PhaseManager">
+ <Phase name="2">
+ <Tiles colour="yellow"/>
+ <OperatingRounds number="2"/>
+ <Trains tradingAllowed="yes"/>
+ </Phase>
+ <Phase name="3">
+ <Tiles colour="yellow,green"/>
+ <Trains released="P"/>
+ </Phase>
+ <Phase name="4">
+ <Trains rusted="2" limitStep="2"/>
+ </Phase>
+ <Phase name="5">
+ <Tiles colour="yellow,green,brown"/>
+ <Trains limitStep="2"/>
+ <OffBoardRevenue step="2"/>
+ </Phase>
+ <Phase name="6">
+ <Trains rusted="3"/>
+ </Phase>
+ <Phase name="8">
+ <Tiles colour="yellow,green,brown,grey"/>
+ <Trains rusted="4"/>
+ </Phase>
+ </Component>
+ <Component name="RevenueManager" class="rails.algorithms.RevenueManager">
+ <Modifier class="rails.game.specific._18EU.OffBoardRevenueModifier"/>
+ <Modifier class="rails.game.specific._18EU.PullmanRevenueModifier"/>
+ </Component>
</ComponentManager>
\ No newline at end of file
diff --git a/data/18GA/CompanyManager.xml b/data/18GA/CompanyManager.xml
index de54a0f..9f1126d 100644
--- a/data/18GA/CompanyManager.xml
+++ b/data/18GA/CompanyManager.xml
@@ -17,7 +17,7 @@
<HomeBase lay="firstOR"/>
<LayCost method="sequence" cost="0,40,100"/>
</BaseTokens>
- <Trains limit="4,4,3,2"/>
+ <Trains limit="4,3,2"/>
<CanBuyPrivates/>
<CanUseSpecialProperties/>
</CompanyType>
diff --git a/data/18GA/Game.xml b/data/18GA/Game.xml
index 2335f43..926f5f1 100644
--- a/data/18GA/Game.xml
+++ b/data/18GA/Game.xml
@@ -1,105 +1,121 @@
-<?xml version="1.0"?>
-<ComponentManager>
- <Component name="GameManager" class="rails.game.GameManager">
- <Game name="18GA"/>
- <GameOption name="Variant" values="Basegame,Cotton Port" default="Basegame" />
- <GameOption name="NoMapMode" type="toggle" default="no" />
- <GameOption name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" />
- <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" />
- <GameOption name="UnlimitedTopTrains" parm="8" type="toggle" default="no"/>
- <GameOption name="UnlimitedTiles" type="toggle" default="no"/>
- <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/>
- <GameOption name="TwoPlayersCertLimit70Percent" type="toggle" default="yes"/>
- <GameParameters>
- <OperatingRound class="rails.game.specific._18GA.OperatingRound_18GA"/>
- <PlayerShareLimit percentage="60">
- <IfOption name="NumberOfPlayers" value="2">
- <IfOption name="TwoPlayersCertLimit70Percent" value="yes">
- <Attributes percentage="70"/>
- </IfOption>
- </IfOption>
- </PlayerShareLimit>
- <BankPoolLimit percentage="50"/>
- <StockRound>
- <NoSaleInFirstSR/>
- </StockRound>
- <OperatingRound>
- <EmergencyTrainBuying mustBuyCheapestTrain="yes" mayBuyFromCompany="no"/>
- </OperatingRound>
- </GameParameters>
- <GuiClasses>
- </GuiClasses>
- <EndOfGame>
- <Bankruptcy/>
- <BankBreaks limit="0" finish="currentOR"/>
- <!-- "Runs out"; when "broken", -1 is the limit -->
- <!-- Also when the share value reaches $300; this is configured in the stock market XML,
- but uses the 'finish' attribute value defined above. -->
- </EndOfGame>
- </Component>
- <Component name="PlayerManager" class="rails.game.PlayerManager">
- <Players number="2" cash="810" certLimit="20"/>
- <Players number="3" cash="600" certLimit="15"/>
- <Players number="4" cash="450" certLimit="12"/>
- <Players number="5" cash="360" certLimit="10"/>
- </Component>
- <Component name="Bank" class="rails.game.Bank">
- <Bank amount="8000"/>
- </Component>
- <Component name="TileManager" class="rails.game.TileManager"
- file="TileSet.xml"/>
- <Component name="Map" class="rails.game.MapManager" file="Map.xml"/>
- <Component name="CompanyManager" class="rails.game.CompanyManager"
- file="CompanyManager.xml"/>
- <Component name="StockMarket" class="rails.game.StockMarket"
- file="StockMarket.xml"/>
- <Component name="TrainManager" class="rails.game.TrainManager">
- <Defaults>
- <Reach base="stops" countTowns="no"/>
- <Score towns="yes"/>
- </Defaults>
- <TrainType name="2" majorStops="2" cost="100" quantity="5"/>
- <TrainType name="3" majorStops="3" cost="180" quantity="4" startPhase="3"/>
- <TrainType name="4" majorStops="4" cost="300" quantity="3" startPhase="4"
- rustedTrain="2" />
- <TrainType name="5" majorStops="5" cost="450" quantity="2" startPhase="5"/>
- <TrainType name="6" majorStops="6" cost="630" quantity="2" startPhase="6"
- rustedTrain="3"/>
- <TrainType name="8" majorStops="8" cost="800" startPhase="8"
- rustedTrain="4">
- <IfOption name="UnlimitedTopTrains" value="yes">
- <Attributes quantity="-1"/>
- </IfOption>
- <IfOption name="UnlimitedTopTrains" value="no">
- <Attributes quantity="5"/>
- </IfOption>
- </TrainType>
- </Component>
- <Component name="PhaseManager" class="rails.game.PhaseManager">
- <Phase name="2" >
- <Tiles colour="yellow"/>
- <OperatingRounds number="1"/>
- <Trains onePerTurn="yes" tradingAllowed="yes"/>
- </Phase>
- <Phase name="3">
- <Tiles colour="yellow,green"/>
- <Privates sellingAllowed="yes"/>
- <OperatingRounds number="2"/>
- </Phase>
- <Phase name="4">
- <Trains onePerTurn="no"/>
- </Phase>
- <Phase name="5">
- <Tiles colour="yellow,green,brown"/>
- <OperatingRounds number="3"/>
- <Privates close="yes"/>
- <OffBoardRevenue step="2"/>
- </Phase>
- <Phase name="6" />
- <Phase name="8">
- <Tiles colour="yellow,green,brown,grey"/>
- </Phase>
- </Component>
- <Component name="RevenueManager" class="rails.algorithms.RevenueManager">
- </Component>
+<?xml version="1.0"?>
+<ComponentManager>
+ <Component name="GameManager" class="rails.game.GameManager">
+ <Game name="18GA"/>
+ <GameOption name="Variant" values="Basegame,Cotton Port"
+ default="Basegame"/>
+ <GameOption name="NoMapMode" type="toggle" default="no"/>
+ <GameOption name="RouteAwareness" values="Highlight,Deactivate"
+ default="Highlight"/>
+ <GameOption name="RevenueCalculation" values="Suggest,Deactivate"
+ default="Suggest"/>
+ <GameOption name="UnlimitedTopTrains" parm="8" type="toggle" default="no"/>
+ <GameOption name="UnlimitedTiles" type="toggle" default="no"/>
+ <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/>
+ <GameOption name="TwoPlayersCertLimit70Percent" type="toggle"
+ default="yes"/>
+ <GameParameters>
+ <OperatingRound
+ class="rails.game.specific._18GA.OperatingRound_18GA"/>
+ <PlayerShareLimit percentage="60">
+ <IfOption name="NumberOfPlayers" value="2">
+ <IfOption name="TwoPlayersCertLimit70Percent" value="yes">
+ <Attributes percentage="70"/>
+ </IfOption>
+ </IfOption>
+ </PlayerShareLimit>
+ <BankPoolLimit percentage="50"/>
+ <StockRound>
+ <NoSaleInFirstSR/>
+ </StockRound>
+ <OperatingRound>
+ <EmergencyTrainBuying mustBuyCheapestTrain="yes"
+ mayBuyFromCompany="no"/>
+ </OperatingRound>
+ </GameParameters>
+ <GuiClasses>
+ </GuiClasses>
+ <EndOfGame>
+ <Bankruptcy/>
+ <BankBreaks limit="0" finish="currentOR"/>
+ <!-- "Runs out"; when "broken", -1 is the limit -->
+ <!-- Also when the share value reaches $300; this is configured in the stock market XML,
+ but uses the 'finish' attribute value defined above. -->
+ </EndOfGame>
+ </Component>
+ <Component name="PlayerManager" class="rails.game.PlayerManager">
+ <Players number="2" cash="810" certLimit="20"/>
+ <Players number="3" cash="600" certLimit="15"/>
+ <Players number="4" cash="450" certLimit="12"/>
+ <Players number="5" cash="360" certLimit="10"/>
+ </Component>
+ <Component name="Bank" class="rails.game.Bank">
+ <Bank amount="8000"/>
+ </Component>
+ <Component name="TileManager" class="rails.game.TileManager"
+ file="TileSet.xml"/>
+ <Component name="Map" class="rails.game.MapManager" file="Map.xml"/>
+ <Component name="CompanyManager" class="rails.game.CompanyManager"
+ file="CompanyManager.xml"/>
+ <Component name="StockMarket" class="rails.game.StockMarket"
+ file="StockMarket.xml"/>
+ <Component name="TrainManager" class="rails.game.TrainManager">
+ <Defaults>
+ <Reach base="stops" countTowns="no"/>
+ <Score towns="yes"/>
+ </Defaults>
+ <TrainType name="2" majorStops="2" cost="100" quantity="5"/>
+ <TrainType name="3" majorStops="3" cost="180" quantity="4">
+ <NewPhase phaseName="3"/>
+ </TrainType>
+ <TrainType name="4" majorStops="4" cost="300" quantity="3">
+ <NewPhase phaseName="4"/>
+ </TrainType>
+ <TrainType name="5" majorStops="5" cost="450" quantity="2">
+ <NewPhase phaseName="5"/>
+ </TrainType>
+ <TrainType name="6" majorStops="6" cost="630" quantity="2">
+ <NewPhase phaseName="6"/>
+ </TrainType>
+ <TrainType name="8" majorStops="8" cost="800">
+ <NewPhase phaseName="8"/>
+ <IfOption name="UnlimitedTopTrains" value="yes">
+ <Attributes quantity="-1"/>
+ </IfOption>
+ <IfOption name="UnlimitedTopTrains" value="no">
+ <Attributes quantity="5"/>
+ </IfOption>
+ </TrainType>
+ </Component>
+ <Component name="PhaseManager" class="rails.game.PhaseManager">
+ <Phase name="2">
+ <Tiles colour="yellow"/>
+ <OperatingRounds number="1"/>
+ <Trains onePerTurn="yes" tradingAllowed="yes"/>
+ </Phase>
+ <Phase name="3">
+ <Tiles colour="yellow,green"/>
+ <Privates sellingAllowed="yes"/>
+ <OperatingRounds number="2"/>
+ </Phase>
+ <Phase name="4">
+ <Trains rusted="2" limitStep="2" onePerTurn="no"/>
+ </Phase>
+ <Phase name="5">
+ <Tiles colour="yellow,green,brown"/>
+ <Trains limitStep="3"/>
+ <OperatingRounds number="3"/>
+ <Privates close="yes"/>
+ <OffBoardRevenue step="2"/>
+ </Phase>
+ <Phase name="6">
+ <Trains rusted="3"/>
+ </Phase>
+ <Phase name="8">
+ <Tiles colour="yellow,green,brown,grey"/>
+ <Trains rusted="4"/>
+ </Phase>
+ </Component>
+ <Component name="RevenueManager" class="rails.algorithms.RevenueManager">
+ </Component>
</ComponentManager>
\ No newline at end of file
diff --git a/data/18JR/CompanyManager.xml b/data/18JR/CompanyManager.xml
index 8012694..cd1aaaa 100644
--- a/data/18JR/CompanyManager.xml
+++ b/data/18JR/CompanyManager.xml
@@ -18,7 +18,7 @@
</BaseTokens>
<Certificate type="President" shares="2"/>
<Certificate shares="1" number="8"/>
- <Trains limit="4,4,3,2"/>
+ <Trains limit="4,3,2"/>
<CanUseSpecialProperties/>
</CompanyType>
<Company name="SVNRR" type="Private" basePrice="20" revenue="5"
diff --git a/data/18JR/Game.xml b/data/18JR/Game.xml
index 172c17a..8e81c11 100644
--- a/data/18JR/Game.xml
+++ b/data/18JR/Game.xml
@@ -1,155 +1,168 @@
-<?xml version="1.0"?>
-<ComponentManager>
- <Component name="GameManager" class="rails.game.GameManager">
- <Game name="18JR"/>
- <!-- GAME OPTIONS must have:
- - a name, which must also exist as an entry in LocalText.properties,
- - optionally 'type="toggle"', which has the effect that the
- selection uses a checkbox instead of a dropdown list.
- In this case, 'values' must be absent
- (the allowed values are fixed to "yes,no").
- - optionally, 'values="a,b,c"' i,e, a list of allowed values.
- - optionally, a default value (only affects a toggle;
- in a dropdown the first item is always the default).
- -->
- <!-- The options in Game.xml are not currently used.
- See GamesList.xml for the real ones.
- -->
- <GameOption name="Variant" values="Basegame,Cotton Port" default="Basegame" />
- <GameOption name="NoMapMode" type="toggle" default="no" />
- <GameOption name="RouteAwareness" values="Highlight,Deactivate" default="Deactivate" />
- <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate" />
- <GameOption name="BeginnerGame" type="toggle" default="no" />
- <GameOption name="WithOptional6Train" type="toggle" default="no"/>
- <GameOption name="UnlimitedTopTrains" parm="D" type="toggle" default="no"/>
- <GameOption name="UnlimitedTiles" type="toggle" default="no"/>
- <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/>
- <GameOption name="TwoPlayersCertLimit70Percent" type="toggle" default="yes"/>
- <GameOption name="SeparateSalesAtSamePrice" type="toggle" default="yes"/>
- <GameParameters>
- <PlayerShareLimit percentage="60">
- <!-- Option "NumberOfPlayers" is automatically set
- by the game engine -->
- <IfOption name="NumberOfPlayers" value="2">
- <IfOption name="TwoPlayersCertLimit70Percent" value="yes">
- <Attributes percentage="70"/>
- </IfOption>
- </IfOption>
- </PlayerShareLimit>
- <BankPoolLimit percentage="50"/>
- <StockRound>
- <NoSaleInFirstSR/>
- </StockRound>
- </GameParameters>
- <EndOfGame>
- <Bankruptcy/>
- <BankBreaks limit="0" finish="setOfORs"/>
- <!-- "Runs out"; when "broken", -1 is the limit -->
- ...
[truncated message content] |