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] |