|
From: Erik V. <ev...@us...> - 2012-05-09 12:16:51
|
rails/game/StockRound.java | 2
test/data/test/1835_SellDoubleShare.rails |binary
test/data/test/1835_SellDoubleShare.report | 1638 +++++++++++++++++++++++++++++
3 files changed, 1639 insertions(+), 1 deletion(-)
New commits:
commit a20803ce6fd4aadb3a8d0cb84c01b0338ed48d54
Author: Erik Vos <eri...@xs...>
Date: Wed May 9 14:16:10 2012 +0200
1835: prevent selling double non-president share in parts.
Follow-up fix to previous commit.
Test case added.
diff --git a/rails/game/StockRound.java b/rails/game/StockRound.java
index 91a4c6e..7f03de7 100644
--- a/rails/game/StockRound.java
+++ b/rails/game/StockRound.java
@@ -473,7 +473,7 @@ public class StockRound extends Round {
number = shareCountPerUnit[shareSize];
// If you can dump a presidency, you may sell additional single shares that you don't own
- if (shareSize == 1) number += extraSingleShares;
+ if (dumpThreshold > 0 && shareSize == 1) number += extraSingleShares;
if (number == 0) continue;
/* In some games (1856), a just bought share may not be sold */
diff --git a/test/data/test/1835_SellDoubleShare.rails b/test/data/test/1835_SellDoubleShare.rails
new file mode 100644
index 0000000..1070978
Binary files /dev/null and b/test/data/test/1835_SellDoubleShare.rails differ
diff --git a/test/data/test/1835_SellDoubleShare.report b/test/data/test/1835_SellDoubleShare.report
new file mode 100644
index 0000000..ac20c94
--- /dev/null
+++ b/test/data/test/1835_SellDoubleShare.report
@@ -0,0 +1,1638 @@
+GameIs,1835
+PlayerIs,1,m1
+PlayerIs,2,m2
+PlayerIs,3,m3
+PlayerIs,4,m4
+PlayerCash,475
+BankHas,10100
+StartOfPhase,2
+BankSizeIs,10100
+StartOfInitialRound
+HasPriority,m1
+BuysItemFor,m4,NF,100
+ALSO_GETS,m4,CERT_NAME,BY,10
+BuysItemFor,m3,HB,160
+BuysItemFor,m2,BB,130
+BuysItemFor,m1,OBB,120
+ALSO_GETS,m1,CERT_NAME,BY,10
+BuysItemFor,m1,PfB,150
+ALSO_GETS,m1,CERT_NAME,BY,10
+BuysItemFor,m2,LD,190
+ALSO_GETS,m2,PRES_CERT_NAME,SX,20
+BuysItemFor,m3,M2,170
+FloatsWithCash,M2,170
+BuysItemFor,m4,M3,80
+FloatsWithCash,M3,80
+BuysItemFor,m1,M4,160
+FloatsWithCash,M4,160
+BuysItemFor,m2,M5,80
+FloatsWithCash,M5,80
+BuysItemFor,m3,M1,80
+FloatsWithCash,M1,80
+BuysItemFor,m4,M6,80
+FloatsWithCash,M6,80
+CannotBuyAnything,m1
+CannotBuyAnything,m2
+CannotBuyAnything,m3
+BuysItemFor,m4,PRES_CERT_NAME,BY,20,184
+FloatsWithCash,BY,460
+Has,M1,80
+Has,M2,170
+Has,M3,80
+Has,M4,160
+Has,M5,80
+Has,M6,80
+Has,BY,460
+Has,m1,45
+Has,m2,75
+Has,m3,65
+Has,m4,31
+StartStockRound,1
+HasPriority,m1
+PASSES,m1
+PASSES,m2
+PASSES,m3
+PASSES,m4
+
+END_SR,1
+Has,M1,80
+Has,M2,170
+Has,M3,80
+Has,M4,160
+Has,M5,80
+Has,M6,80
+Has,BY,460
+Has,m1,45
+Has,m2,75
+Has,m3,65
+Has,m4,31
+START_OR,1.1
+ReceivesFor,m4,5,NF
+ReceivesFor,m1,10,OBB
+ReceivesFor,m1,15,PfB
+ReceivesFor,m2,20,LD
+ReceivesFor,m2,25,BB
+ReceivesFor,m3,30,HB
+
+CompanyOperates,M1,m3
+LaysTileAt,M1,201,H2,SW
+CompanyDoesNotPayDividend,M1
+BuysTrain,M1,2,IPO,80
+FirstTrainBought,2
+
+CompanyOperates,M2,m3
+LaysTileAt,M2,8,E17,E
+CompanyDoesNotPayDividend,M2
+BuysTrain,M2,2,IPO,80
+
+CompanyOperates,M3,m4
+LaysTileAt,M3,6,F14,SE
+CompanyDoesNotPayDividend,M3
+BuysTrain,M3,2,IPO,80
+
+CompanyOperates,M4,m1
+LaysTileAt,M4,5,G5,SE
+CompanyDoesNotPayDividend,M4
+BuysTrain,M4,2,IPO,80
+
+CompanyOperates,M5,m2
+LaysTileAt,M5,8,D18,NE
+CompanyDoesNotPayDividend,M5
+BuysTrain,M5,2,IPO,80
+
+CompanyOperates,M6,m4
+LaysTileAt,M6,9,B10,NW
+CompanyDoesNotPayDividend,M6
+BuysTrain,M6,2,IPO,80
+
+CompanyOperates,BY,m4
+LaysTileAt,BY,201,O15,NE
+LaysTileAt,BY,9,N14,NW
+LAYS_FREE_TOKEN_ON,BY,L14
+PrivateCloses,NF
+CompanyDoesNotPayDividend,BY
+PRICE_MOVES_LOG,BY,92,C3,86,B3
+BuysTrain,BY,2,IPO,80
+BuysTrain,BY,2,IPO,80
+
+EndOfOperatingRound,1.1
+ORWorthIncrease,m1,1.1,13
+ORWorthIncrease,m2,1.1,45
+ORWorthIncrease,m3,1.1,30
+ORWorthIncrease,m4,1.1,-113
+Has,M1,0
+Has,M2,90
+Has,M3,0
+Has,M4,80
+Has,M5,0
+Has,M6,0
+Has,BY,300
+Has,m1,70
+Has,m2,120
+Has,m3,95
+Has,m4,36
+StartStockRound,2
+HasPriority,m1
+PASSES,m1
+BUY_SHARE_LOG,m2,10,BY,IPO,92
+PriceIsPaidTo,92,BY
+BUY_SHARE_LOG,m3,10,BY,IPO,92
+PriceIsPaidTo,92,BY
+PASSES,m4
+PASSES,m1
+PASSES,m2
+PASSES,m3
+
+END_SR,2
+Has,M1,0
+Has,M2,90
+Has,M3,0
+Has,M4,80
+Has,M5,0
+Has,M6,0
+Has,BY,484
+Has,m1,70
+Has,m2,28
+Has,m3,3
+Has,m4,36
+START_OR,2.1
+ReceivesFor,m1,10,OBB
+ReceivesFor,m1,15,PfB
+ReceivesFor,m2,20,LD
+ReceivesFor,m2,25,BB
+ReceivesFor,m3,30,HB
+
+CompanyOperates,M1,m3
+LaysTileAt,M1,9,J2,NW
+CompanyRevenue,M1,40
+CompanySplits,M1,40
+M1 receives 20
+Payout,m3,20,1,100
+
+CompanyOperates,M2,m3
+LaysTileAt,M2,8,F16,W
+CompanyRevenue,M2,50
+CompanySplits,M2,50
+M2 receives 25
+Payout,m3,25,1,100
+
+CompanyOperates,M3,m4
+LaysTileAt,M3,8,E13,SE
+CompanyRevenue,M3,50
+CompanySplits,M3,50
+M3 receives 25
+Payout,m4,25,1,100
+
+CompanyOperates,M4,m1
+LaysTileAt,M4,3,F6,SW
+CompanyRevenue,M4,30
+CompanySplits,M4,30
+M4 receives 15
+Payout,m1,15,1,100
+
+CompanyOperates,M5,m2
+LaysTileAt,M5,8,C19,E
+CompanyRevenue,M5,50
+CompanySplits,M5,50
+M5 receives 25
+Payout,m2,25,1,100
+
+CompanyOperates,M6,m4
+LaysTileAt,M6,6,A11,NW
+CompanyRevenue,M6,60
+CompanySplits,M6,60
+M6 receives 30
+Payout,m4,30,1,100
+
+CompanyOperates,BY,m4
+LaysTileAtFor,BY,8,M13,NE,50
+LaysTileAt,BY,9,K13,NW
+CompanyRevenue,BY,60
+CompanyPaysOutFull,BY,60
+Payout,m2,6,1,10
+Payout,m1,12,2,10
+Payout,m4,18,3,10
+Payout,m3,6,1,10
+PRICE_MOVES_LOG,BY,86,B3,92,C3
+
+EndOfOperatingRound,2.1
+ORWorthIncrease,m1,2.1,64
+ORWorthIncrease,m2,2.1,82
+ORWorthIncrease,m3,2.1,87
+ORWorthIncrease,m4,2.1,91
+Has,M1,20
+Has,M2,115
+Has,M3,25
+Has,M4,95
+Has,M5,25
+Has,M6,30
+Has,BY,434
+Has,m1,122
+Has,m2,104
+Has,m3,84
+Has,m4,109
+StartStockRound,3
+HasPriority,m4
+BUY_SHARE_LOG,m4,10,BY,IPO,92
+PriceIsPaidTo,92,BY
+BUY_SHARE_LOG,m1,10,BY,IPO,92
+PriceIsPaidTo,92,BY
+BUY_SHARE_LOG,m2,10,BY,IPO,92
+PriceIsPaidTo,92,BY
+PASSES,m3
+PASSES,m4
+PASSES,m1
+PASSES,m2
+
+END_SR,3
+PRICE_MOVES_LOG,BY,92,C3,98,C2
+SoldOut,BY,92,C3,98,C2
+Has,M1,20
+Has,M2,115
+Has,M3,25
+Has,M4,95
+Has,M5,25
+Has,M6,30
+Has,BY,710
+Has,m1,30
+Has,m2,12
+Has,m3,84
+Has,m4,17
+START_OR,3.1
+ReceivesFor,m1,10,OBB
+ReceivesFor,m1,15,PfB
+ReceivesFor,m2,20,LD
+ReceivesFor,m2,25,BB
+ReceivesFor,m3,30,HB
+
+CompanyOperates,M1,m3
+LaysTileAt,M1,4,K3,NW
+CompanyRevenue,M1,40
+CompanySplits,M1,40
+M1 receives 20
+Payout,m3,20,1,100
+
+CompanyOperates,M2,m3
+LaysTileAt,M2,9,F20,NW
+CompanyRevenue,M2,50
+CompanySplits,M2,50
+M2 receives 25
+Payout,m3,25,1,100
+
+CompanyOperates,M3,m4
+LaysTileAt,M3,8,E11,NW
+CompanyRevenue,M3,50
+CompanySplits,M3,50
+M3 receives 25
+Payout,m4,25,1,100
+
+CompanyOperates,M4,m1
+LaysTileAt,M4,8,G7,W
+CompanyRevenue,M4,30
+CompanySplits,M4,30
+M4 receives 15
+Payout,m1,15,1,100
+
+CompanyOperates,M5,m2
+CompanyRevenue,M5,50
+CompanySplits,M5,50
+M5 receives 25
+Payout,m2,25,1,100
+
+CompanyOperates,M6,m4
+LaysTileAt,M6,58,B12,SW
+CompanyRevenue,M6,60
+CompanySplits,M6,60
+M6 receives 30
+Payout,m4,30,1,100
+
+CompanyOperates,BY,m4
+LaysTileAt,BY,8,J12,SE
+LaysTileAt,BY,9,J10,W
+CompanyRevenue,BY,130
+CompanyPaysOutFull,BY,130
+Payout,m2,26,2,10
+Payout,m1,39,3,10
+Payout,m4,52,4,10
+Payout,m3,13,1,10
+PRICE_MOVES_LOG,BY,98,C2,108,D2
+
+EndOfOperatingRound,3.1
+ORWorthIncrease,m1,3.1,109
+ORWorthIncrease,m2,3.1,116
+ORWorthIncrease,m3,3.1,98
+ORWorthIncrease,m4,3.1,147
+Has,M1,40
+Has,M2,140
+Has,M3,50
+Has,M4,110
+Has,M5,50
+Has,M6,60
+Has,BY,710
+Has,m1,109
+Has,m2,108
+Has,m3,172
+Has,m4,124
+StartStockRound,4
+HasPriority,m3
+BUY_SHARE_LOG,m3,10,SX,IPO,88
+BUY_SHARE_LOG,m4,10,SX,IPO,88
+BUY_SHARE_LOG,m1,10,SX,IPO,88
+FloatsWithCash,SX,440
+BUY_SHARE_LOG,m2,10,SX,IPO,88
+PriceIsPaidTo,88,SX
+PASSES,m3
+PASSES,m4
+PASSES,m1
+PASSES,m2
+
+END_SR,4
+SoldOutNoRaise,BY,108,D2
+Has,M1,40
+Has,M2,140
+Has,M3,50
+Has,M4,110
+Has,M5,50
+Has,M6,60
+Has,BY,710
+Has,SX,528
+Has,m1,21
+Has,m2,20
+Has,m3,84
+Has,m4,36
+START_OR,4.1
+ReceivesFor,m1,10,OBB
+ReceivesFor,m1,15,PfB
+ReceivesFor,m2,20,LD
+ReceivesFor,m2,25,BB
+ReceivesFor,m3,30,HB
+
+CompanyOperates,M1,m3
+LaysTileAt,M1,8,L4,NW
+CompanyRevenue,M1,40
+CompanySplits,M1,40
+M1 receives 20
+Payout,m3,20,1,100
+
+CompanyOperates,M2,m3
+LaysTileAt,M2,201,H20,E
+CompanyRevenue,M2,50
+CompanySplits,M2,50
+M2 receives 25
+Payout,m3,25,1,100
+
+CompanyOperates,M3,m4
+LaysTileAt,M3,8,D10,NE
+CompanyRevenue,M3,60
+CompanySplits,M3,60
+M3 receives 30
+Payout,m4,30,1,100
+BuysTrain,M3,2,IPO,80
+All 2-trains are sold out, 2+2-trains now available
+
+CompanyOperates,M4,m1
+LaysTileAt,M4,9,F8,SW
+CompanyRevenue,M4,30
+CompanySplits,M4,30
+M4 receives 15
+Payout,m1,15,1,100
+
+CompanyOperates,M5,m2
+LaysTileAt,M5,9,D20,NW
+CompanyRevenue,M5,50
+CompanySplits,M5,50
+M5 receives 25
+Payout,m2,25,1,100
+
+CompanyOperates,M6,m4
+LaysTileAt,M6,58,B14,E
+CompanyRevenue,M6,60
+CompanySplits,M6,60
+M6 receives 30
+Payout,m4,30,1,100
+
+CompanyOperates,BY,m4
+LaysTileAtFor,BY,9,K15,SW,70
+LaysTileAt,BY,69,I17,W
+CompanyRevenue,BY,130
+CompanyPaysOutFull,BY,130
+Payout,m2,26,2,10
+Payout,m1,39,3,10
+Payout,m4,52,4,10
+Payout,m3,13,1,10
+PRICE_MOVES_LOG,BY,108,D2,120,E2
+BuysTrain,BY,2+2,IPO,120
+FirstTrainBought,2+2
+
+CompanyOperates,SX,m2
+LaysTileAt,SX,5,H16,SW
+LaysTileAt,SX,9,H18,W
+CompanyDoesNotPayDividend,SX
+PRICE_MOVES_LOG,SX,88,C4,84,B4
+BuysTrain,SX,2+2,IPO,120
+PrivateCloses,LD
+BuysTrain,SX,2+2,IPO,120
+
+EndOfOperatingRound,4.1
+ORWorthIncrease,m1,4.1,111
+ORWorthIncrease,m2,4.1,-82
+ORWorthIncrease,m3,4.1,96
+ORWorthIncrease,m4,4.1,156
+Has,M1,60
+Has,M2,165
+Has,M3,0
+Has,M4,125
+Has,M5,75
+Has,M6,90
+Has,BY,520
+Has,SX,288
+Has,m1,100
+Has,m2,116
+Has,m3,172
+Has,m4,148
+StartStockRound,5
+HasPriority,m3
+BUY_SHARE_LOG,m3,10,SX,IPO,88
+PriceIsPaidTo,88,SX
+BUY_SHARE_LOG,m4,10,SX,IPO,88
+PriceIsPaidTo,88,SX
+BUY_SHARE_LOG,m1,10,SX,IPO,88
+PriceIsPaidTo,88,SX
+BUY_SHARE_LOG,m2,10,SX,IPO,88
+PriceIsPaidTo,88,SX
+SharesReleased,All,BA
+PASSES,m3
+PASSES,m4
+PASSES,m1
+PASSES,m2
+
+END_SR,5
+PRICE_MOVES_LOG,BY,120,E2,132,E1
+SoldOut,BY,120,E2,132,E1
+PRICE_MOVES_LOG,SX,84,B4,86,B3
+SoldOut,SX,84,B4,86,B3
+Has,M1,60
+Has,M2,165
+Has,M3,0
+Has,M4,125
+Has,M5,75
+Has,M6,90
+Has,BY,520
+Has,SX,640
+Has,m1,12
+Has,m2,28
+Has,m3,84
+Has,m4,60
+START_OR,5.1
+ReceivesFor,m1,10,OBB
+ReceivesFor,m1,15,PfB
+ReceivesFor,m2,25,BB
+ReceivesFor,m3,30,HB
+
+CompanyOperates,M1,m3
+LaysTileAtFor,M1,202,I3,NE,50
+CompanyRevenue,M1,60
+CompanySplits,M1,60
+M1 receives 30
+Payout,m3,30,1,100
+
+CompanyOperates,M2,m3
+LaysTileAt,M2,9,E9,SW
+CompanyRevenue,M2,50
+CompanySplits,M2,50
+M2 receives 25
+Payout,m3,25,1,100
+
+CompanyOperates,M3,m4
+LaysTileAt,M3,4,B16,W
+CompanyRevenue,M3,110
+CompanySplits,M3,110
+M3 receives 55
+Payout,m4,55,1,100
+
+CompanyOperates,M4,m1
+LaysTileAt,M4,58,F4,E
+CompanyRevenue,M4,30
+CompanySplits,M4,30
+M4 receives 15
+Payout,m1,15,1,100
+
+CompanyOperates,M5,m2
+LaysTileAt,M5,3,I15,NE
+CompanyRevenue,M5,50
+CompanySplits,M5,50
+M5 receives 25
+Payout,m2,25,1,100
+
+CompanyOperates,M6,m4
+LaysTileAt,M6,8,B18,SE
+CompanyRevenue,M6,60
+CompanySplits,M6,60
+M6 receives 30
+Payout,m4,30,1,100
+BuysTrain,M6,2+2,IPO,120
+All 2+2-trains are sold out, 3-trains now available
+
+CompanyOperates,BY,m4
+LaysTileAt,BY,7,N16,SW
+LaysTileAtFor,BY,9,K7,SW,50
+LAYS_TOKEN_ON,BY,H20,160
+CompanyRevenue,BY,190
+CompanyPaysOutFull,BY,190
+Payout,m1,57,3,10
+Payout,m4,76,4,10
+Payout,m2,38,2,10
+Payout,m3,19,1,10
+PRICE_MOVES_LOG,BY,132,E1,148,F1
+
+CompanyOperates,SX,m2
+LaysTileAtFor,SX,7,J14,E,70
+LaysTileAt,SX,57,F10,W
+CompanyRevenue,SX,60
+CompanyPaysOutFull,SX,60
+Payout,m1,12,2,10
+Payout,m4,12,2,10
+Payout,m2,24,4,10
+Payout,m3,12,2,10
+PRICE_MOVES_LOG,SX,86,B3,92,C3
+BuysTrain,SX,3,IPO,180
+FirstTrainBought,3
+StartOfPhase,3
+
+EndOfOperatingRound,5.1
+ORWorthIncrease,m1,5.1,169
+ORWorthIncrease,m2,5.1,168
+ORWorthIncrease,m3,5.1,144
+ORWorthIncrease,m4,5.1,249
+Has,M1,40
+Has,M2,190
+Has,M3,55
+Has,M4,140
+Has,M5,100
+Has,M6,0
+Has,BY,310
+Has,SX,390
+Has,m1,121
+Has,m2,140
+Has,m3,200
+Has,m4,233
+StartStockRound,6
+HasPriority,m3
+START_COMPANY_LOG,m3,BA,84,168,2,20,BANK
+SharesReleased,4 10%,PR
+BUY_SHARE_LOG,m4,10,BA,IPO,84
+BUY_SHARE_LOG,m1,10,BA,IPO,84
+BUY_SHARE_LOG,m2,10,BA,IPO,84
+FloatsWithCash,BA,420
+SharesReleased,All,WT
+PASSES,m3
+BUY_SHARE_LOG,m4,10,BA,IPO,84
+PriceIsPaidTo,84,BA
+PASSES,m1
+PASSES,m2
+PASSES,m3
+PASSES,m4
+
+END_SR,6
+PRICE_STAYS_LOG,BY,148,F1
+SoldOutNoRaise,BY,148,F1
+PRICE_MOVES_LOG,SX,92,C3,98,C2
+SoldOut,SX,92,C3,98,C2
+Has,M1,40
+Has,M2,190
+Has,M3,55
+Has,M4,140
+Has,M5,100
+Has,M6,0
+Has,BY,310
+Has,SX,390
+Has,BA,504
+Has,m1,37
+Has,m2,56
+Has,m3,32
+Has,m4,65
+START_OR,6.1
+ReceivesFor,m1,10,OBB
+ReceivesFor,m1,15,PfB
+ReceivesFor,m2,25,BB
+ReceivesFor,m3,30,HB
+
+CompanyOperates,M1,m3
+LaysTileAt,M1,208,H2,SW
+CompanyRevenue,M1,70
+CompanySplits,M1,70
+M1 receives 35
+Payout,m3,35,1,100
+
+CompanyOperates,M2,m3
+LaysTileAt,M2,209,E19,NE
+CompanyRevenue,M2,70
+CompanySplits,M2,70
+M2 receives 35
+Payout,m3,35,1,100
+BuysTrain,M2,3,IPO,180
+
+CompanyOperates,M3,m4
+LaysTileAt,M3,12,F14,E
+CompanyRevenue,M3,140
+CompanySplits,M3,140
+M3 receives 70
+Payout,m4,70,1,100
+
+CompanyOperates,M4,m1
+LaysTileAt,M4,24,D10,NE
+CompanyRevenue,M4,60
+CompanySplits,M4,60
+M4 receives 30
+Payout,m1,30,1,100
+
+CompanyOperates,M5,m2
+LaysTileAt,M5,207,H20,NW
+CompanyRevenue,M5,80
+CompanySplits,M5,80
+M5 receives 40
+Payout,m2,40,1,100
+
+CompanyOperates,M6,m4
+LaysTileAt,M6,12,A11,W
+CompanyRevenue,M6,80
+CompanySplits,M6,80
+M6 receives 40
+Payout,m4,40,1,100
+
+CompanyOperates,BY,m4
+LaysTileAt,BY,8,G19,NE
+CompanyRevenue,BY,230
+CompanyPaysOutFull,BY,230
+Payout,m4,92,4,10
+Payout,m1,69,3,10
+Payout,m2,46,2,10
+Payout,m3,23,1,10
+PRICE_MOVES_LOG,BY,148,F1,166,G1
+BuysTrain,BY,2,M3,55
+
+CompanyOperates,SX,m2
+LaysTileAt,SX,12,H16,SE
+CompanyRevenue,SX,180
+CompanyPaysOutFull,SX,180
+Payout,m4,36,2,10
+Payout,m1,36,2,10
+Payout,m2,72,4,10
+Payout,m3,36,2,10
+PRICE_MOVES_LOG,SX,98,C2,108,D2
+
+CompanyOperates,BA,m3
+LaysTileAt,BA,210,L6,E
+LAYS_TOKEN_ON,BA,I3,60
+CompanyDoesNotPayDividend,BA
+PRICE_MOVES_LOG,BA,84,B4,78,A4
+BuysTrain,BA,3,IPO,180
+
+EndOfOperatingRound,6.1
+ORWorthIncrease,m1,6.1,228
+ORWorthIncrease,m2,6.1,253
+ORWorthIncrease,m3,6.1,185
+ORWorthIncrease,m4,6.1,318
+Has,M1,75
+Has,M2,45
+Has,M3,180
+Has,M4,170
+Has,M5,140
+Has,M6,40
+Has,BY,255
+Has,SX,390
+Has,BA,264
+Has,m1,197
+Has,m2,239
+Has,m3,191
+Has,m4,303
+START_OR,6.2
+ReceivesFor,m1,10,OBB
+ReceivesFor,m1,15,PfB
+ReceivesFor,m2,25,BB
+ReceivesFor,m3,30,HB
+
+CompanyOperates,M1,m3
+LaysTileAt,M1,207,I3,W
+CompanyRevenue,M1,80
+CompanySplits,M1,80
+M1 receives 40
+Payout,m3,40,1,100
+
+CompanyOperates,M2,m3
+LaysTileAt,M2,9,F18,SW
+CompanyRevenue,M2,180
+CompanySplits,M2,180
+M2 receives 90
+Payout,m3,90,1,100
+
+CompanyOperates,M3,m4
+CompanyRevenue,M3,70
+CompanySplits,M3,70
+M3 receives 35
+Payout,m4,35,1,100
+BuysTrain,M3,3,IPO,180
+All 3-trains are sold out, 3+3-trains now available
+
+CompanyOperates,M4,m1
+LaysTileAt,M4,206,G5,SE
+CompanyRevenue,M4,70
+CompanySplits,M4,70
+M4 receives 35
+Payout,m1,35,1,100
+
+CompanyOperates,M5,m2
+LaysTileAt,M5,9,G17,SW
+CompanyRevenue,M5,80
+CompanySplits,M5,80
+M5 receives 40
+Payout,m2,40,1,100
+
+CompanyOperates,M6,m4
+LaysTileAt,M6,25,C19,SW
+CompanyRevenue,M6,80
+CompanySplits,M6,80
+M6 receives 40
+Payout,m4,40,1,100
+
+CompanyOperates,BY,m4
+LaysTileAt,BY,20,F20,NW
+CompanyRevenue,BY,320
+CompanyWithholds,BY,320
+PRICE_MOVES_LOG,BY,166,G1,148,F1
+
+CompanyOperates,SX,m2
+LaysTileAt,SX,23,D18,NW
+CompanyRevenue,SX,270
+CompanyPaysOutFull,SX,270
+Payout,m4,54,2,10
+Payout,m1,54,2,10
+Payout,m2,108,4,10
+Payout,m3,54,2,10
+PRICE_MOVES_LOG,SX,108,D2,120,E2
+
+CompanyOperates,BA,m3
+LaysTileAt,BA,23,J2,NW
+CompanyRevenue,BA,120
+CompanyPaysOutFull,BA,120
+Payout,m4,24,2,10
+Payout,m2,12,1,10
+Payout,m1,12,1,10
+Payout,m3,24,2,10
+PRICE_MOVES_LOG,BA,78,A4,84,B4
+
+EndOfOperatingRound,6.2
+ORWorthIncrease,m1,6.2,102
+ORWorthIncrease,m2,6.2,203
+ORWorthIncrease,m3,6.2,256
+ORWorthIncrease,m4,6.2,117
+Has,M1,115
+Has,M2,135
+Has,M3,35
+Has,M4,205
+Has,M5,180
+Has,M6,80
+Has,BY,575
+Has,SX,390
+Has,BA,264
+Has,m1,323
+Has,m2,424
+Has,m3,429
+Has,m4,456
+StartStockRound,7
+HasPriority,m1
+BUY_SHARE_LOG,m1,10,PR,IPO,154
+BUY_SHARE_LOG,m2,10,PR,IPO,154
+BUY_SHARE_LOG,m3,10,PR,IPO,154
+BUY_SHARE_LOG,m4,10,PR,IPO,154
+START_COMPANY_LOG,m1,WT,84,168,2,20,BANK
+BUY_SHARE_LOG,m2,10,WT,IPO,84
+BUY_SHARE_LOG,m3,10,BA,IPO,84
+PriceIsPaidTo,84,BA
+BUY_SHARE_LOG,m4,10,WT,IPO,84
+PASSES,m1
+BUY_SHARE_LOG,m2,10,WT,IPO,84
+FloatsWithCash,WT,420
+SharesReleased,All,HE
+BUY_SHARE_LOG,m3,10,BA,IPO,84
+PriceIsPaidTo,84,BA
+BUY_SHARE_LOG,m4,20,BA,IPO,168
+PriceIsPaidTo,168,BA
+PASSES,m1
+BUY_SHARE_LOG,m2,10,WT,IPO,84
+PriceIsPaidTo,84,WT
+IS_NOW_PRES_OF,m2,WT
+BUY_SHARE_LOG,m3,10,WT,IPO,84
+PriceIsPaidTo,84,WT
+PASSES,m4
+PASSES,m1
+PASSES,m2
+PASSES,m3
+
+END_SR,7
+PRICE_STAYS_LOG,BY,148,F1
+SoldOutNoRaise,BY,148,F1
+PRICE_MOVES_LOG,SX,120,E2,132,E1
+SoldOut,SX,120,E2,132,E1
+PRICE_MOVES_LOG,BA,84,B4,86,B3
+SoldOut,BA,84,B4,86,B3
+Has,M1,115
+Has,M2,135
+Has,M3,35
+Has,M4,205
+Has,M5,180
+Has,M6,80
+Has,BY,575
+Has,SX,390
+Has,BA,600
+Has,WT,588
+Has,m1,1
+Has,m2,18
+Has,m3,23
+Has,m4,50
+START_OR,7.1
+ReceivesFor,m1,10,OBB
+ReceivesFor,m1,15,PfB
+ReceivesFor,m2,25,BB
+ReceivesFor,m3,30,HB
+
+CompanyOperates,M1,m3
+LaysTileAt,M1,8,K5,NE
+CompanyRevenue,M1,80
+CompanySplits,M1,80
+M1 receives 40
+Payout,m3,40,1,100
+BuysTrain,M1,2+2,SX,155
+
+CompanyOperates,M2,m3
+LaysTileAt,M2,8,C17,SE
+CompanyRevenue,M2,180
+CompanySplits,M2,180
+M2 receives 90
+Payout,m3,90,1,100
+
+CompanyOperates,M3,m4
+LaysTileAt,M3,8,C15,NW
+CompanyRevenue,M3,180
+CompanySplits,M3,180
+M3 receives 90
+Payout,m4,90,1,100
+
+CompanyOperates,M4,m1
+LaysTileAt,M4,23,F8,NE
+CompanyRevenue,M4,70
+CompanySplits,M4,70
+M4 receives 35
+Payout,m1,35,1,100
+
+CompanyOperates,M5,m2
+LaysTileAt,M5,87,B14,SE
+CompanyRevenue,M5,80
+CompanySplits,M5,80
+M5 receives 40
+Payout,m2,40,1,100
+
+CompanyOperates,M6,m4
+LaysTileAt,M6,204,B12,SE
+CompanyRevenue,M6,90
+CompanySplits,M6,90
+M6 receives 45
+Payout,m4,45,1,100
+
+CompanyOperates,BY,m4
+LaysTileAt,BY,20,K15,NW
+CompanyRevenue,BY,320
+CompanyPaysOutFull,BY,320
+Payout,m4,128,4,10
+Payout,m2,64,2,10
+Payout,m1,96,3,10
+Payout,m3,32,1,10
+PRICE_MOVES_LOG,BY,148,F1,166,G1
+
+CompanyOperates,SX,m2
+LaysTileAt,SX,9,L16,NW
+CompanyRevenue,SX,200
+CompanyPaysOutFull,SX,200
+Payout,m4,40,2,10
+Payout,m2,80,4,10
+Payout,m1,40,2,10
+Payout,m3,40,2,10
+PRICE_MOVES_LOG,SX,132,E1,148,F1
+BuysTrain,SX,3+3,IPO,270
+FirstTrainBought,3+3
+
+CompanyOperates,BA,m3
+LaysTileAtFor,BA,214,G3,NW,50
+CompanyRevenue,BA,120
+CompanyWithholds,BA,120
+PRICE_MOVES_LOG,BA,86,B3,82,A3
+BuysTrain,BA,3+3,IPO,270
+
+CompanyOperates,WT,m2
+LaysTileAt,WT,5,M9,SE
+LAYS_TOKEN_ON,WT,G3,120
+CompanyDoesNotPayDividend,WT
+PRICE_MOVES_LOG,WT,84,B4,78,A4
+BuysTrain,WT,3+3,IPO,270
+All 3+3-trains are sold out, 4-trains now available
+
+EndOfOperatingRound,7.1
+ORWorthIncrease,m1,7.1,266
+ORWorthIncrease,m2,7.1,287
+ORWorthIncrease,m3,7.1,260
+ORWorthIncrease,m4,7.1,385
+Has,M1,0
+Has,M2,225
+Has,M3,125
+Has,M4,240
+Has,M5,220
+Has,M6,125
+Has,BY,575
+Has,SX,275
+Has,BA,400
+Has,WT,198
+Has,m1,197
+Has,m2,227
+Has,m3,255
+Has,m4,353
+START_OR,7.2
+ReceivesFor,m1,10,OBB
+ReceivesFor,m1,15,PfB
+ReceivesFor,m2,25,BB
+ReceivesFor,m3,30,HB
+
+CompanyOperates,M1,m3
+LaysTileAt,M1,56,H4,W
+CompanyRevenue,M1,180
+CompanySplits,M1,180
+M1 receives 90
+Payout,m3,90,1,100
+
+CompanyOperates,M2,m3
+LaysTileAt,M2,25,C15,E
+CompanyRevenue,M2,180
+CompanySplits,M2,180
+M2 receives 90
+Payout,m3,90,1,100
+
+CompanyOperates,M3,m4
+LaysTileAtFor,M3,8,E15,SW,50
+CompanyRevenue,M3,180
+CompanySplits,M3,180
+M3 receives 90
+Payout,m4,90,1,100
+
+CompanyOperates,M4,m1
+LaysTileAt,M4,205,F10,NW
+CompanyRevenue,M4,70
+CompanySplits,M4,70
+M4 receives 35
+Payout,m1,35,1,100
+
+CompanyOperates,M5,m2
+LaysTileAt,M5,23,L16,SE
+CompanyRevenue,M5,80
+CompanySplits,M5,80
+M5 receives 40
+Payout,m2,40,1,100
+BuysTrain,M5,2+2,SX,260
+
+CompanyOperates,M6,m4
+LaysTileAt,M6,26,B10,NW
+CompanyRevenue,M6,100
+CompanySplits,M6,100
+M6 receives 50
+Payout,m4,50,1,100
+
+CompanyOperates,BY,m4
+LaysTileAtFor,BY,7,D14,NW,50
+CompanyRevenue,BY,320
+CompanyWithholds,BY,320
+PRICE_MOVES_LOG,BY,166,G1,148,F1
+
+CompanyOperates,SX,m2
+LaysTileAtFor,SX,3,M15,NW,50
+CompanyRevenue,SX,250
+CompanyWithholds,SX,250
+PRICE_MOVES_LOG,SX,148,F1,132,E1
+
+CompanyOperates,BA,m3
+LaysTileAtFor,BA,214,J6,W,50
+CompanyRevenue,BA,260
+CompanyPaysOutFull,BA,260
+Payout,m4,104,4,10
+Payout,m2,26,1,10
+Payout,m1,26,1,10
+Payout,m3,104,4,10
+PRICE_MOVES_LOG,BA,82,A3,86,B3
+
+CompanyOperates,WT,m2
+LaysTileAt,WT,8,M11,SE
+CompanyRevenue,WT,140
+CompanyWithholds,WT,140
+PRICE_MOVES_LOG,WT,78,A4,72,A5
+
+EndOfOperatingRound,7.2
+ORWorthIncrease,m1,7.2,-8
+ORWorthIncrease,m2,7.2,-23
+ORWorthIncrease,m3,7.2,274
+ORWorthIncrease,m4,7.2,150
+Has,M1,90
+Has,M2,315
+Has,M3,165
+Has,M4,275
+Has,M5,0
+Has,M6,175
+Has,BY,845
+Has,SX,735
+Has,BA,350
+Has,WT,338
+Has,m1,283
+Has,m2,318
+Has,m3,569
+Has,m4,597
+StartStockRound,8
+HasPriority,m4
+SELL_SHARE_LOG,m4,10,WT,72
+PRICE_MOVES_LOG,WT,72,A5,64,A6
+START_COMPANY_LOG,m4,HE,84,168,2,20,BANK
+BUY_SHARE_LOG,m1,10,HE,IPO,84
+BUY_SHARE_LOG,m2,10,HE,IPO,84
+BUY_SHARE_LOG,m3,10,HE,IPO,84
+FloatsWithCash,HE,420
+BUY_SHARE_LOG,m4,10,HE,IPO,84
+PriceIsPaidTo,84,HE
+BUY_SHARE_LOG,m1,10,HE,IPO,84
+PriceIsPaidTo,84,HE
+BUY_SHARE_LOG,m2,10,HE,IPO,84
+PriceIsPaidTo,84,HE
+BUY_SHARE_LOG,m3,20,HE,IPO,168
+PriceIsPaidTo,168,HE
+PASSES,m4
+PASSES,m1
+PASSES,m2
+PASSES,m3
+
+END_SR,8
+PRICE_STAYS_LOG,BY,148,F1
+SoldOutNoRaise,BY,148,F1
+PRICE_STAYS_LOG,SX,132,E1
+SoldOutNoRaise,SX,132,E1
+SoldOutNoRaise,BA,86,B3
+PRICE_MOVES_LOG,HE,84,B4,86,B3
+SoldOut,HE,84,B4,86,B3
+Has,M1,90
+Has,M2,315
+Has,M3,165
+Has,M4,275
+Has,M5,0
+Has,M6,175
+Has,BY,845
+Has,SX,735
+Has,BA,350
+Has,WT,338
+Has,HE,840
+Has,m1,115
+Has,m2,150
+Has,m3,317
+Has,m4,417
+START_OR,8.1
+ReceivesFor,m1,10,OBB
+ReceivesFor,m1,15,PfB
+ReceivesFor,m2,25,BB
+ReceivesFor,m3,30,HB
+
+CompanyOperates,M1,m3
+LaysTileAt,M1,24,E9,NE
+CompanyRevenue,M1,180
+CompanySplits,M1,180
+M1 receives 90
+Payout,m3,90,1,100
+
+CompanyOperates,M2,m3
+LaysTileAt,M2,27,D14,NW
+CompanyRevenue,M2,190
+CompanySplits,M2,190
+M2 receives 95
+Payout,m3,95,1,100
+
+CompanyOperates,M3,m4
+LaysTileAtFor,M3,9,M17,NW,50
+CompanyRevenue,M3,180
+CompanySplits,M3,180
+M3 receives 90
+Payout,m4,90,1,100
+
+CompanyOperates,M4,m1
+LaysTileAt,M4,24,F18,NE
+CompanyRevenue,M4,70
+CompanySplits,M4,70
+M4 receives 35
+Payout,m1,35,1,100
+
+CompanyOperates,M5,m2
+LaysTileAt,M5,23,G19,NW
+CompanyRevenue,M5,180
+CompanySplits,M5,180
+M5 receives 90
+Payout,m2,90,1,100
+
+CompanyOperates,M6,m4
+CompanyRevenue,M6,100
+CompanySplits,M6,100
+M6 receives 50
+Payout,m4,50,1,100
+
+CompanyOperates,BY,m4
+LaysTileAt,BY,207,O15,NW
+CompanyRevenue,BY,320
+CompanyPaysOutFull,BY,320
+Payout,m4,128,4,10
+Payout,m3,32,1,10
+Payout,m2,64,2,10
+Payout,m1,96,3,10
+PRICE_MOVES_LOG,BY,148,F1,166,G1
+
+CompanyOperates,SX,m2
+LaysTileAt,SX,8,N18,SW
+LAYS_TOKEN_ON,SX,E19,60
+CompanyRevenue,SX,260
+CompanyWithholds,SX,260
+PRICE_MOVES_LOG,SX,132,E1,120,E2
+BuysTrain,SX,4,IPO,360
+FirstTrainBought,4
+StartOfPhase,4
+StartFormationRound,PR
+StartingPlayer,m3
+START_MERGED_COMPANY,PR,154,154
+FloatsWithCash,PR,616
+MERGE_MINOR_LOG,m3,M2,PR,410,1
+GetShareForMinor,m3,10,PR,IPO,M2
+ExchangesBaseToken,PR,M2,E19/1
+MERGE_MINOR_LOG,m3,HB,PR,no,no
+GetShareForMinor,m3,10,PR,IPO,HB
+PrivateCloses,HB
+MERGE_MINOR_LOG,m3,M1,PR,180,1
+GetShareForMinor,m3,5,PR,IPO,M1
+ExchangesBaseToken,PR,M1,H2/1
+MERGE_MINOR_LOG,m1,M4,PR,310,0
+GetShareForMinor,m1,10,PR,IPO,M4
+ExchangesBaseToken,PR,M4,G5/1
+MERGE_MINOR_LOG,m2,BB,PR,no,no
+GetShareForMinor,m2,10,PR,IPO,BB
+PrivateCloses,BB
+MERGE_MINOR_LOG,m2,M5,PR,90,1
+GetShareForMinor,m2,5,PR,IPO,M5
+
+EndOfFormationRound,PR,OperatingRound 8.1
+
+CompanyOperates,BA,m3
+LaysTileAt,BA,6,N12,SE
+CompanyRevenue,BA,260
+CompanyWithholds,BA,260
+PRICE_MOVES_LOG,BA,86,B3,82,A3
+BuysTrain,BA,4,IPO,360
+
+CompanyOperates,HE,m4
+LaysTileAtFor,HE,7,I7,SW,70
+CompanyDoesNotPayDividend,HE
+PRICE_MOVES_LOG,HE,86,B3,82,A3
+BuysTrain,HE,4,IPO,360
+All 4-trains are sold out, 4+4-trains now available
+
+CompanyOperates,WT,m2
+LaysTileAt,WT,29,L4,NW
+CompanyRevenue,WT,140
+CompanyWithholds,WT,140
+PRICE_MOVES_LOG,WT,64,A6,54,A7
+
+EndOfOperatingRound,8.1
+ORWorthIncrease,m1,8.1,308
+ORWorthIncrease,m2,8.1,226
+ORWorthIncrease,m3,8.1,428
+ORWorthIncrease,m4,8.1,288
+Has,M3,205
+Has,M6,225
+Has,BY,845
+Has,SX,575
+Has,BA,250
+Has,WT,478
+Has,HE,410
+Has,PR,1606
+Has,m1,271
+Has,m2,329
+Has,m3,564
+Has,m4,685
+StartFormationRound,PR
+
+EndOfFormationRoundNoInterrupt,PR
+START_OR,8.2
+ReceivesFor,m1,10,OBB
+ReceivesFor,m1,15,PfB
+
+CompanyOperates,M3,m4
+LaysTileAt,M3,20,N14,W
+CompanyRevenue,M3,110
+CompanySplits,M3,110
+M3 receives 55
+Payout,m4,55,1,100
+
+CompanyOperates,M6,m4
+LaysTileAt,M6,7,I5,E
+CompanyRevenue,M6,100
+CompanySplits,M6,100
+M6 receives 50
+Payout,m4,50,1,100
+
+CompanyOperates,BY,m4
+LaysTileAtFor,BY,8,I9,E,70
+CompanyRevenue,BY,100
+CompanyPaysOutFull,BY,100
+Payout,m4,40,4,10
+Payout,m3,10,1,10
+Payout,m1,30,3,10
+Payout,m2,20,2,10
+PRICE_MOVES_LOG,BY,166,G1,186,H1
+BuysTrain,BY,4+4,IPO,440
+All 4+4-trains are sold out, 5-trains now available
+FirstTrainBought,4+4
+StartOfPhase,4+4
+
+CompanyOperates,PR,m3
+LaysTileAt,PR,8,I11,W
+CompanyRevenue,PR,120
+CompanyPaysOutFull,PR,120
+NoIncomeForPreviousOperation,m4,10,PR
+Payout,m3,42,7,5
+Payout,m1,24,4,5
+Payout,m2,30,5,5
+PRICE_MOVES_LOG,PR,154,I4,172,J4
+BuysTrain,PR,5,IPO,500
+FirstTrainBought,5
+StartOfPhase,5
+PrivateCloses,OBB
+PrivateCloses,PfB
+CompanyDiscardsTrain,BA,3
+CompanyDiscardsTrain,SX,3
+StartFormationRound,PR
+MERGE_MINOR_LOG,m4,M3,PR,260,1
+GetShareForMinor,m4,5,PR,IPO,M3
+ExchangesBaseToken,PR,M3,F14/1
+MERGE_MINOR_LOG,m4,M6,PR,275,0
+GetShareForMinor,m4,5,PR,IPO,M6
+ExchangesBaseToken,PR,M6,C11/1
+
+EndOfFormationRound,PR,OperatingRound 8.2
+
+CompanyOperates,SX,m2
+LaysTileAt,SX,220,E19,SW
+CompanyRevenue,SX,340
+CompanyWithholds,SX,340
+PRICE_MOVES_LOG,SX,120,E2,108,D2
+
+CompanyOperates,BA,m3
+LaysTileAt,BA,216,I3,E
+CompanyRevenue,BA,280
+CompanyWithholds,BA,280
+PRICE_MOVES_LOG,BA,82,A3,78,A4
+
+CompanyOperates,HE,m4
+LaysTileAtFor,HE,216,J8,W,50
+CompanyRevenue,HE,140
+CompanyWithholds,HE,140
+PRICE_MOVES_LOG,HE,82,A3,78,A4
+BuysTrain,HE,5,IPO,500
+All 5-trains are sold out, 5+5-trains now available
+
+CompanyOperates,WT,m2
+LaysTileAt,WT,219,G3,SE
+CompanyRevenue,WT,160
+CompanyWithholds,WT,160
+PRICE_STAYS_LOG,WT,54,A7
+BuysTrain,WT,5+5,IPO,600
+All 5+5-trains are sold out, 6-trains now available
+FirstTrainBought,5+5
+
+EndOfOperatingRound,8.2
+ORWorthIncrease,m1,8.2,-131
+ORWorthIncrease,m2,8.2,75
+ORWorthIncrease,m3,8.2,83
+ORWorthIncrease,m4,8.2,363
+Has,BY,335
+Has,SX,915
+Has,BA,530
+Has,WT,38
+Has,HE,0
+Has,PR,1641
+Has,m1,350
+Has,m2,379
+Has,m3,616
+Has,m4,830
+StartStockRound,9
+HasPriority,m4
+BUY_SHARE_LOG,m4,10,WT,Pool,54
+BUY_SHARE_LOG,m1,10,WT,IPO,84
+PriceIsPaidTo,84,WT
+BUY_SHARE_LOG,m2,20,WT,IPO,168
+PriceIsPaidTo,168,WT
+SharesReleased,All,MS
+START_COMPANY_LOG,m3,MS,80,160,2,20,BANK
+BUY_SHARE_LOG,m4,20,MS,IPO,160
+BUY_SHARE_LOG,m1,20,MS,IPO,160
+FloatsWithCash,MS,480
+SharesReleased,All,OL
+BUY_SHARE_LOG,m2,10,MS,IPO,80
+PriceIsPaidTo,80,MS
+BUY_SHARE_LOG,m3,10,MS,IPO,80
+PriceIsPaidTo,80,MS
+PASSES,m4
+BUY_SHARE_LOG,m1,10,MS,IPO,80
+PriceIsPaidTo,80,MS
+PASSES,m2
+PASSES,m3
+PASSES,m4
+PASSES,m1
+
+END_SR,9
+PRICE_STAYS_LOG,BY,186,H1
+SoldOutNoRaise,BY,186,H1
+PRICE_MOVES_LOG,PR,172,J4,190,J3
+SoldOut,PR,172,J4,190,J3
+SoldOutNoRaise,SX,108,D2
+PRICE_MOVES_LOG,BA,78,A4,82,A3
+SoldOut,BA,78,A4,82,A3
+PRICE_MOVES_LOG,HE,78,A4,82,A3
+SoldOut,HE,78,A4,82,A3
+PRICE_MOVES_LOG,WT,54,A7,64,A6
+SoldOut,WT,54,A7,64,A6
+Has,BY,335
+Has,SX,915
+Has,BA,530
+Has,WT,290
+Has,HE,0
+Has,MS,720
+Has,PR,1641
+Has,m1,26
+Has,m2,131
+Has,m3,376
+Has,m4,616
+START_OR,9.1
+
+CompanyOperates,PR,m3
+LaysTileAtFor,PR,221,C11,SW,50
+CompanyRevenue,PR,520
+CompanyWithholds,PR,520
+PRICE_MOVES_LOG,PR,190,J3,170,I3
+
+CompanyOperates,BY,m4
+LaysTileAt,BY,216,H20,E
+CompanyRevenue,BY,250
+CompanyWithholds,BY,250
+PRICE_MOVES_LOG,BY,186,H1,166,G1
+
+CompanyOperates,SX,m2
+LaysTileAt,SX,63,H16,SW
+CompanyRevenue,SX,390
+CompanyPaysOutFull,SX,390
+Payout,m4,78,2,10
+Payout,m3,78,2,10
+Payout,m2,156,4,10
+Payout,m1,78,2,10
+PRICE_MOVES_LOG,SX,108,D2,120,E2
+
+CompanyOperates,BA,m3
+LaysTileAt,BA,216,H2,SW
+CompanyRevenue,BA,340
+CompanyWithholds,BA,340
+PRICE_MOVES_LOG,BA,82,A3,78,A4
+
+CompanyOperates,HE,m4
+LaysTileAt,HE,24,K5,NE
+CompanyRevenue,HE,280
+CompanyPaysOutFull,HE,280
+Payout,m4,84,3,10
+Payout,m3,84,3,10
+Payout,m2,56,2,10
+Payout,m1,56,2,10
+PRICE_MOVES_LOG,HE,82,A3,86,B3
+
+CompanyOperates,MS,m3
+LaysTileAt,MS,63,F14,SW
+LAYS_TOKEN_ON,MS,C11,20
+CompanyDoesNotPayDividend,MS
+PRICE_MOVES_LOG,MS,80,B5,72,A5
+BuysTrain,MS,6,IPO,600
+FirstTrainBought,6
+StartOfPhase,6
+
+CompanyOperates,WT,m2
+LaysTileAt,WT,27,I5,E
+CompanyRevenue,WT,410
+CompanyPaysOutFull,WT,410
+Payout,m4,41,1,10
+Payout,m3,41,1,10
+Payout,m2,205,5,10
+Payout,m1,123,3,10
+PRICE_MOVES_LOG,WT,64,A6,74,B6
+
+EndOfOperatingRound,9.1
+ORWorthIncrease,m1,9.1,191
+ORWorthIncrease,m2,9.1,421
+ORWorthIncrease,m3,9.1,119
+ORWorthIncrease,m4,9.1,97
+Has,BY,585
+Has,SX,915
+Has,BA,870
+Has,WT,290
+Has,HE,0
+Has,MS,100
+Has,PR,2111
+Has,m1,283
+Has,m2,548
+Has,m3,579
+Has,m4,819
+START_OR,9.2
+
+CompanyOperates,PR,m3
+LaysTileAtFor,PR,9,H12,SW,70
+CompanyRevenue,PR,250
+CompanyPaysOutFull,PR,250
+Payout,m4,50,4,5
+Payout,m2,63,5,5
+Payout,m3,88,7,5
+Payout,m1,50,4,5
+PRICE_MOVES_LOG,PR,170,I3,190,J3
+
+CompanyOperates,BY,m4
+LaysTileAt,BY,218,L14,SW
+CompanyRevenue,BY,250
+CompanyWithholds,BY,250
+PRICE_MOVES_LOG,BY,166,G1,148,F1
+BuysTrain,BY,6,IPO,600
+All 6-trains are sold out, 6+6-trains now available
+
+CompanyOperates,SX,m2
+LaysTileAt,SX,9,H14,W
+CompanyRevenue,SX,410
+CompanyPaysOutFull,SX,410
+Payout,m4,82,2,10
+Payout,m3,82,2,10
+Payout,m2,164,4,10
+Payout,m1,82,2,10
+PRICE_MOVES_LOG,SX,120,E2,134,F2
+
+CompanyOperates,HE,m4
+LaysTileAt,HE,47,N14,W
+CompanyRevenue,HE,380
+CompanyPaysOutFull,HE,380
+Payout,m4,114,3,10
+Payout,m2,76,2,10
+Payout,m3,114,3,10
+Payout,m1,76,2,10
+PRICE_MOVES_LOG,HE,86,B3,92,C3
+
+CompanyOperates,BA,m3
+LaysTileAt,BA,44,I5,W
+CompanyRevenue,BA,350
+CompanyPaysOutFull,BA,350
+Payout,m4,140,4,10
+Payout,m2,35,1,10
+Payout,m3,140,4,10
+Payout,m1,35,1,10
+PRICE_MOVES_LOG,BA,78,A4,84,B4
+
+CompanyOperates,WT,m2
+LaysTileAt,WT,8,O17,W
+CompanyRevenue,WT,420
+CompanyPaysOutFull,WT,420
+Payout,m4,42,1,10
+Payout,m3,42,1,10
+Payout,m2,210,5,10
+Payout,m1,126,3,10
+PRICE_MOVES_LOG,WT,74,B6,82,C6
+
+CompanyOperates,MS,m3
+LaysTileAtFor,MS,9,G13,SW,70
+CompanyRevenue,MS,290
+CompanyPaysOutFull,MS,290
+Payout,m4,58,2,10
+Payout,m2,29,1,10
+Payout,m3,87,3,10
+Payout,m1,87,3,10
+PRICE_MOVES_LOG,MS,72,A5,80,B5
+
+EndOfOperatingRound,9.2
+ORWorthIncrease,m1,9.2,536
+ORWorthIncrease,m2,9.2,713
+ORWorthIncrease,m3,9.2,707
+ORWorthIncrease,m4,9.2,548
+Has,BY,235
+Has,SX,915
+Has,BA,870
+Has,WT,290
+Has,HE,0
+Has,MS,30
+Has,PR,2041
+Has,m1,739
+Has,m2,1125
+Has,m3,1132
+Has,m4,1305
+START_OR,9.3
+
+CompanyOperates,PR,m3
+LaysTileAt,PR,216,O15,E
+CompanyRevenue,PR,250
+CompanyPaysOutFull,PR,250
+Payout,m4,50,4,5
+Payout,m2,63,5,5
+Payout,m3,88,7,5
+Payout,m1,50,4,5
+PRICE_MOVES_LOG,PR,190,J3,212,K3
+BuysTrain,PR,6+6,IPO,720
+FirstTrainBought,6+6
+StartOfPhase,6+6
+BuysTrain,PR,6+6,IPO,720
+
+CompanyOperates,BY,m4
+LaysTileAt,BY,63,G5,SW
+CompanyRevenue,BY,540
+CompanyPaysOutFull,BY,540
+Payout,m4,216,4,10
+Payout,m3,54,1,10
+Payout,m2,108,2,10
+Payout,m1,162,3,10
+PRICE_MOVES_LOG,BY,148,F1,166,G1
+
+CompanyOperates,SX,m2
+LaysTileAt,SX,219,J6,E
+CompanyRevenue,SX,210
+CompanyPaysOutFull,SX,210
+Payout,m4,42,2,10
+Payout,m2,84,4,10
+Payout,m3,42,2,10
+Payout,m1,42,2,10
+PRICE_MOVES_LOG,SX,134,F2,150,G2
+BuysTrain,SX,6+6,IPO,720
+
+CompanyOperates,HE,m4
+LaysTileAt,HE,23,H12,NE
+CompanyRevenue,HE,450
+CompanyPaysOutFull,HE,450
+Payout,m4,135,3,10
+Payout,m2,90,2,10
+Payout,m3,135,3,10
+Payout,m1,90,2,10
+PRICE_MOVES_LOG,HE,92,C3,100,D3
+
+CompanyOperates,BA,m3
+LaysTileAt,BA,217,L6,E
+CompanyRevenue,BA,190
+CompanyPaysOutFull,BA,190
+Payout,m4,76,4,10
+Payout,m2,19,1,10
+Payout,m3,76,4,10
+Payout,m1,19,1,10
+PRICE_MOVES_LOG,BA,84,B4,88,C4
+BuysTrain,BA,6+6,IPO,720
+
+CompanyOperates,WT,m2
+LaysTileAt,WT,23,K13,SE
+CompanyRevenue,WT,290
+CompanyPaysOutFull,WT,290
+Payout,m4,29,1,10
+Payout,m2,145,5,10
+Payout,m3,29,1,10
+Payout,m1,87,3,10
+PRICE_MOVES_LOG,WT,82,C6,88,D6
+
+CompanyOperates,MS,m3
+LaysTileAt,MS,63,F10,SW
+CompanyRevenue,MS,300
+CompanyPaysOutFull,MS,300
+Payout,m4,60,2,10
+Payout,m2,30,1,10
+Payout,m3,90,3,10
+Payout,m1,90,3,10
+PRICE_MOVES_LOG,MS,80,B5,86,C5
+
+EndOfOperatingRound,9.3
+ORWorthIncrease,m1,9.3,726
+ORWorthIncrease,m2,9.3,750
+ORWorthIncrease,m3,9.3,705
+ORWorthIncrease,m4,9.3,814
+Has,BY,235
+Has,SX,195
+Has,BA,150
+Has,WT,290
+Has,HE,0
+Has,MS,30
+Has,PR,601
+Has,m1,1279
+Has,m2,1664
+Has,m3,1646
+Has,m4,1913
+StartStockRound,10
+HasPriority,m2
+PASSES,m2
+SELL_SHARE_LOG,m3,20,HE,200
+PRICE_MOVES_LOG,HE,100,D3,94,D4
|