You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(46) |
Dec
(57) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(51) |
Feb
(10) |
Mar
|
Apr
|
May
(14) |
Jun
|
Jul
(13) |
Aug
(30) |
Sep
(83) |
Oct
(56) |
Nov
(148) |
Dec
(107) |
2010 |
Jan
(260) |
Feb
(164) |
Mar
(183) |
Apr
(99) |
May
(160) |
Jun
(40) |
Jul
(33) |
Aug
(48) |
Sep
(22) |
Oct
(24) |
Nov
(1) |
Dec
(12) |
2011 |
Jan
(6) |
Feb
(15) |
Mar
(13) |
Apr
(37) |
May
(27) |
Jun
(29) |
Jul
(33) |
Aug
(20) |
Sep
(17) |
Oct
(20) |
Nov
(33) |
Dec
(17) |
2012 |
Jan
(39) |
Feb
(38) |
Mar
(20) |
Apr
(21) |
May
(17) |
Jun
(22) |
Jul
(16) |
Aug
(3) |
Sep
(9) |
Oct
(10) |
Nov
|
Dec
|
From: Erik V. <ev...@us...> - 2011-11-20 19:39:58
|
LocalisedText.properties | 3 rails/game/Portfolio.java | 62 ++++++++++---- rails/game/PublicCompany.java | 6 - rails/game/ShareSellingRound.java | 51 +++++------- rails/game/StockRound.java | 97 +++++++++++++---------- rails/game/TreasuryShareRound.java | 77 ++++++++---------- rails/game/action/SellShares.java | 72 ++++++++++------- rails/game/specific/_1856/CGRFormationRound.java | 64 +++++++-------- rails/ui/swing/GameStatus.java | 20 +++- 9 files changed, 260 insertions(+), 192 deletions(-) New commits: commit 554e75af4992262c38260eb28fc0a4ed8071d174 Merge: eaa0aa5 605008e Author: Erik Vos <eri...@xs...> Date: Sun Nov 20 19:41:35 2011 +0100 Merge branch 'master' of ssh://rails.git.sourceforge.net/gitroot/rails/rails commit eaa0aa5957c29448c317bcdec0edb0fc28bebdc8 Author: Erik Vos <eri...@xs...> Date: Sun Nov 20 17:37:39 2011 +0100 1835 fix: allow dumped president's share to be exchanged against a 20% share. diff --git a/LocalisedText.properties b/LocalisedText.properties index 6516a23..d957c20 100644 --- a/LocalisedText.properties +++ b/LocalisedText.properties @@ -560,7 +560,8 @@ SELL=Sell SELL_SHARE_LOG={0} sells a {1}% share of {2} to Pool for {3}. SELL_SHARES_LOG={0} sells {1} {2}% shares ({3}%) of {4} to Pool for {5}. SellHowManyShares=Sell how many shares? -SellShares=Sell {0} {1}% share(s) ({2}%) of {3} for {4} +SellShares=Sell {0} {1}% certificates(s) ({2}%) of {3} for {4} +SellSharesWithSwap=Sell {0} {1}% certificates(s) ({2}%) of {3} for {4}, swapping president for {5} {6}% certificate(s). SeparateSalesAtSamePrice=Allow separate sales at same price SET_REVENUE=Set Revenue SET_SCALE=Set Scale diff --git a/rails/game/Portfolio.java b/rails/game/Portfolio.java index 5630a8e..d2c7b23 100644 --- a/rails/game/Portfolio.java +++ b/rails/game/Portfolio.java @@ -75,7 +75,7 @@ public class Portfolio implements TokenHolder, MoveableHolder { protected String name; /** Unique name (including owner class name) */ protected String uniqueName; - + GameManagerI gameManager; /** Specific portfolio names */ @@ -199,8 +199,8 @@ public class Portfolio implements TokenHolder, MoveableHolder { ((Player)owner).updateWorth(); } } - - public ShareModel getShareModel(PublicCompanyI company) { + + public ShareModel getShareModel(PublicCompanyI company) { if (!shareModelPerCompany.containsKey(company)) { shareModelPerCompany.put(company, new ShareModel(this, company)); @@ -246,6 +246,26 @@ public class Portfolio implements TokenHolder, MoveableHolder { } } + /** Return an array of length 5 that contains:<br> + * - in element [0]: 1 if there is a presidency, 0 if not (but see below);<br> + * - in element [1]: number of non-president certificates of size 1 (number of share units);<br> + * - in element [2]: number of non-president certificates of size 2;<br> + * - etc. + * @param compName Company name + * @param includePresident True if the president certificate must also be included in the other counts. + * @return integer array + */ + public int[] getCertificateTypeCountsPerCompany (String compName, boolean includePresident) { + int[] uniqueCertCounts = new int[5]; + for (PublicCertificateI cert : getCertificatesPerCompany(compName)) { + if (!cert.isPresidentShare() || includePresident) { + ++uniqueCertCounts[cert.getShares()]; + } + if (cert.isPresidentShare()) uniqueCertCounts[0] = 1; + } + return uniqueCertCounts; + } + /** * Find a certificate for a given company. * @@ -371,17 +391,27 @@ public class Portfolio implements TokenHolder, MoveableHolder { */ public List<PublicCertificateI> swapPresidentCertificate( PublicCompanyI company, Portfolio other) { + return swapPresidentCertificate (company, other, 0); + } + + public List<PublicCertificateI> swapPresidentCertificate( + PublicCompanyI company, Portfolio other, int swapShareSize) { List<PublicCertificateI> swapped = new ArrayList<PublicCertificateI>(); PublicCertificateI swapCert; // Find the President's certificate - PublicCertificateI cert = this.findCertificate(company, true); - if (cert == null) return null; - int shares = cert.getShares(); + PublicCertificateI presCert = this.findCertificate(company, true); + if (presCert == null) return null; + int shares = presCert.getShares(); - // Check if counterparty has enough single certificates - if (other.ownsCertificates(company, 1, false) >= shares) { + // If a double cert is requested, try that first + if (swapShareSize > 1 && other.ownsCertificates(company, swapShareSize, false)*swapShareSize >= shares) { + swapCert = other.findCertificate(company, swapShareSize, false); + swapCert.moveTo(this); + swapped.add(swapCert); + } else if (other.ownsCertificates(company, 1, false) >= shares) { + // Check if counterparty has enough single certificates for (int i = 0; i < shares; i++) { swapCert = other.findCertificate(company, 1, false); swapCert.moveTo(this); @@ -395,7 +425,7 @@ public class Portfolio implements TokenHolder, MoveableHolder { } else { return null; } - cert.moveTo(other); + presCert.moveTo(other); // Make sure the old President is no longer marked as such getShareModel(company).setShare(); @@ -412,19 +442,19 @@ public class Portfolio implements TokenHolder, MoveableHolder { private void addTrain(TrainI train, int[] position) { Util.addToList(trains, train, position[0]); - + TrainType type = train.getType(); if (!trainsPerType.containsKey(type)) { trainsPerType.put(type, new ArrayList<TrainI>()); } Util.addToList(trainsPerType.get(type), train, position[1]); - + TrainCertificateType certType = train.getCertType(); if (!trainsPerCertType.containsKey(certType)) { trainsPerCertType.put(certType, new ArrayList<TrainI>()); } Util.addToList(trainsPerCertType.get(certType), train, position[2]); - + train.setHolder(this); trainsModel.update(); } @@ -674,9 +704,9 @@ public class Portfolio implements TokenHolder, MoveableHolder { if (object instanceof PublicCertificateI) { PublicCertificateI cert = (PublicCertificateI) object; return new int[] { - certificates.indexOf(object), - certPerCompany.get(cert.getCompany().getName()).indexOf(cert), - certsPerType.get(cert.getTypeId()).indexOf(cert) + certificates.indexOf(object), + certPerCompany.get(cert.getCompany().getName()).indexOf(cert), + certsPerType.get(cert.getTypeId()).indexOf(cert) }; } else if (object instanceof PrivateCompanyI) { return new int[] {privateCompanies.indexOf(object)}; @@ -685,7 +715,7 @@ public class Portfolio implements TokenHolder, MoveableHolder { return new int[] { trains.indexOf(train), train.getPreviousType() != null ? trainsPerType.get(train.getPreviousType()).indexOf(train) : -1, - trainsPerCertType.get(train.getCertType()).indexOf(train) + trainsPerCertType.get(train.getCertType()).indexOf(train) }; } else if (object instanceof SpecialPropertyI) { return new int[] {specialProperties.indexOf(object)}; diff --git a/rails/game/PublicCompany.java b/rails/game/PublicCompany.java index f4ff236..16c25ee 100644 --- a/rails/game/PublicCompany.java +++ b/rails/game/PublicCompany.java @@ -1507,7 +1507,7 @@ public class PublicCompany extends Company implements PublicCompanyI { int buyerShare = buyer.getPortfolio().getShare(this); if (buyerShare > presShare) { pres.getPortfolio().swapPresidentCertificate(this, - buyer.getPortfolio()); + buyer.getPortfolio(), 0); ReportBuffer.add(LocalText.getText("IS_NOW_PRES_OF", buyer.getName(), name )); @@ -1534,7 +1534,7 @@ public class PublicCompany extends Company implements PublicCompanyI { if (share > presShare) { // Presidency must be transferred seller.getPortfolio().swapPresidentCertificate(this, - player.getPortfolio()); + player.getPortfolio(), 0); ReportBuffer.add(LocalText.getText("IS_NOW_PRES_OF", player.getName(), name )); @@ -1560,7 +1560,7 @@ public class PublicCompany extends Company implements PublicCompanyI { if (share > presShare) { // Hand presidency to the first player with a higher share president.getPortfolio().swapPresidentCertificate(this, - player.getPortfolio()); + player.getPortfolio(), 0); ReportBuffer.add(LocalText.getText("IS_NOW_PRES_OF", player.getName(), name )); diff --git a/rails/game/ShareSellingRound.java b/rails/game/ShareSellingRound.java index 394a2e7..d8a015d 100644 --- a/rails/game/ShareSellingRound.java +++ b/rails/game/ShareSellingRound.java @@ -7,9 +7,7 @@ package rails.game; import java.util.*; -import rails.common.DisplayBuffer; -import rails.common.GuiDef; -import rails.common.LocalText; +import rails.common.*; import rails.common.parser.GameOption; import rails.game.action.PossibleAction; import rails.game.action.SellShares; @@ -120,9 +118,9 @@ public class ShareSellingRound extends StockRound { /* May not sell more than the Pool can accept */ maxShareToSell = - Math.min(maxShareToSell, - getGameParameterAsInt(GameDef.Parm.POOL_SHARE_LIMIT) - - pool.getShare(company)); + Math.min(maxShareToSell, + getGameParameterAsInt(GameDef.Parm.POOL_SHARE_LIMIT) + - pool.getShare(company)); if (maxShareToSell == 0) continue; /* @@ -212,22 +210,23 @@ public class ShareSellingRound extends StockRound { price = company.getMarketPrice(); } - for (int i = 1; i <= 4; i++) { - number = shareCountPerUnit[i]; + for (int shareSize = 1; shareSize <= 4; shareSize++) { + number = shareCountPerUnit[shareSize]; if (number == 0) continue; number = - Math.min(number, maxShareToSell - / (i * company.getShareUnit())); + Math.min(number, maxShareToSell + / (shareSize * company.getShareUnit())); if (number == 0) continue; // May not sell more than is needed to buy the train while (number > 0 - && ((number - 1) * price) > cashToRaise.intValue()) + && ((number - 1) * price) > cashToRaise.intValue()) number--; if (number > 0) { - sellableShares.add(new SellShares(compName, i, number, - price)); + for (int i=1; i<=number; i++) { + sellableShares.add(new SellShares(compName, shareSize, i, price)); + } } } } @@ -241,14 +240,14 @@ public class ShareSellingRound extends StockRound { String errMsg = null; String companyName = action.getCompanyName(); PublicCompanyI company = - companyManager.getPublicCompany(action.getCompanyName()); + companyManager.getPublicCompany(action.getCompanyName()); PublicCertificateI cert = null; PublicCertificateI presCert = null; List<PublicCertificateI> certsToSell = - new ArrayList<PublicCertificateI>(); + new ArrayList<PublicCertificateI>(); Player dumpedPlayer = null; int presSharesToSell = 0; - int numberToSell = action.getNumberSold(); + int numberToSell = action.getNumber(); int shareUnits = action.getShareUnits(); int currentIndex = getCurrentPlayerIndex(); @@ -269,8 +268,8 @@ public class ShareSellingRound extends StockRound { // May player sell this company if (!mayPlayerSellShareOfCompany(company)) { - errMsg = LocalText.getText("SaleNotAllowed", companyName); - break; + errMsg = LocalText.getText("SaleNotAllowed", companyName); + break; } // The player must have the share(s) @@ -288,7 +287,7 @@ public class ShareSellingRound extends StockRound { // Find the certificates to sell Iterator<PublicCertificateI> it = - portfolio.getCertificatesPerCompany(companyName).iterator(); + portfolio.getCertificatesPerCompany(companyName).iterator(); while (numberToSell > 0 && it.hasNext()) { cert = it.next(); if (cert.isPresidentShare()) { @@ -306,23 +305,23 @@ public class ShareSellingRound extends StockRound { if (numberToSell == 0) presCert = null; if (numberToSell > 0 && presCert != null - && numberToSell <= presCert.getShares()) { + && numberToSell <= presCert.getShares()) { // Not allowed to dump the company that needs the train if (company == cashNeedingCompany || !dumpOtherCompaniesAllowed) { errMsg = - LocalText.getText("CannotDumpTrainBuyingPresidency"); + LocalText.getText("CannotDumpTrainBuyingPresidency"); break; } // More to sell and we are President: see if we can dump it. Player otherPlayer; for (int i = currentIndex + 1; i < currentIndex - + numberOfPlayers; i++) { + + numberOfPlayers; i++) { otherPlayer = gameManager.getPlayerByIndex(i); if (otherPlayer.getPortfolio().getShare(company) >= presCert.getShare()) { // Check if he has the right kind of share if (numberToSell > 1 - || otherPlayer.getPortfolio().ownsCertificates( - company, 1, false) >= 1) { + || otherPlayer.getPortfolio().ownsCertificates( + company, 1, false) >= 1) { // The poor sod. dumpedPlayer = otherPlayer; presSharesToSell = numberToSell; @@ -345,7 +344,7 @@ public class ShareSellingRound extends StockRound { break; } - int numberSold = action.getNumberSold(); + int numberSold = action.getNumber(); if (errMsg != null) { DisplayBuffer.add(LocalText.getText("CantSell", playerName, @@ -388,7 +387,7 @@ public class ShareSellingRound extends StockRound { if (!company.isClosed()) { executeShareTransfer (company, certsToSell, - dumpedPlayer, presSharesToSell); + dumpedPlayer, presSharesToSell, action.getPresidentExchange()); } cashToRaise.add(-numberSold * price); diff --git a/rails/game/StockRound.java b/rails/game/StockRound.java index cafb86b..4ee9c7b 100644 --- a/rails/game/StockRound.java +++ b/rails/game/StockRound.java @@ -353,8 +353,9 @@ public class StockRound extends Round { String compName; int price; int number; - int share, maxShareToSell; - boolean dumpAllowed; + int share, shareUnit, maxShareToSell; + int dumpThreshold = 0; + boolean choiceOfPresidentExchangeCerts = false; Portfolio playerPortfolio = currentPlayer.getPortfolio(); /* @@ -367,6 +368,7 @@ public class StockRound extends Round { if (!mayPlayerSellShareOfCompany(company)) continue; share = maxShareToSell = playerPortfolio.getShare(company); + shareUnit = company.getShareUnit(); if (maxShareToSell == 0) continue; /* May not sell more than the Pool can accept */ @@ -378,23 +380,46 @@ public class StockRound extends Round { /* * If the current Player is president, check if he can dump the - * presidency onto someone else + * presidency onto someone else. */ if (company.getPresident() == currentPlayer) { int presidentShare = company.getCertificates().get(0).getShare(); if (maxShareToSell > share - presidentShare) { - dumpAllowed = false; int playerShare; - for (Player player : gameManager.getPlayers()) { - if (player == currentPlayer) continue; + // Check in correct player sequence, because we must also check + // whether we must offer a choice for the Pres.cert exchange + // (as may occur in 1835). + int currentPlayerIndex = getCurrentPlayerIndex(); + int playerIndex = currentPlayerIndex; + List<Player> players = gameManager.getPlayers(); + Player player; + int dumpedPlayerShare = 0; + dumpThreshold = 0; + + for (playerIndex = (currentPlayerIndex+1)%numberOfPlayers; + playerIndex != currentPlayerIndex; + playerIndex = (playerIndex+1)%numberOfPlayers) { + player = players.get(playerIndex); playerShare = player.getPortfolio().getShare(company); - if (playerShare >= presidentShare) { - dumpAllowed = true; - break; - } + if (playerShare <= dumpedPlayerShare) continue; + + if (playerShare < presidentShare) continue; // Cannot dump on him + + dumpedPlayerShare = playerShare; + // From what share sold are we dumping? + dumpThreshold = share - playerShare + shareUnit; + // Check if the potential dumpee has a choice of return certs + int[] uniqueCertsCount = + player.getPortfolio().getCertificateTypeCountsPerCompany(company.getName(), false); + // Let's keep it simple and only check for single + // and double shares for now. + choiceOfPresidentExchangeCerts = + uniqueCertsCount[1] > 1 && uniqueCertsCount[2] > 0; + } - if (!dumpAllowed) maxShareToSell = share - presidentShare; + // What number of shares can we sell if we cannot dump? + if (dumpThreshold == 0) maxShareToSell = share - presidentShare; } } @@ -405,30 +430,14 @@ public class StockRound extends Round { * of the smallest ordinary share unit type. */ // Take care for max. 4 share units per share - int[] shareCountPerUnit = new int[5]; compName = company.getName(); - for (PublicCertificateI c : playerPortfolio.getCertificatesPerCompany(compName)) { - if (c.isPresidentShare()) { - shareCountPerUnit[1] += c.getShares(); - } else { - ++shareCountPerUnit[c.getShares()]; - } - } - // TODO The above ignores that a dumped player must be - // able to exchange the president's share. - - /* - * Check the price. If a cert was sold before this turn, the - * original price is still valid - */ + int[] shareCountPerUnit = playerPortfolio.getCertificateTypeCountsPerCompany(compName, true); + // Check the price. If a cert was sold before this turn, the original price is still valid. price = getCurrentSellPrice(company); - // removed as this is done in getCurrentSellPrice - // price /= company.getShareUnitsForSharePrice(); - /* Allow for different share units (as in 1835) */ - for (int i = 1; i <= 4; i++) { - number = shareCountPerUnit[i]; + for (int shareSize = 1; shareSize <= 4; shareSize++) { + number = shareCountPerUnit[shareSize]; if (number == 0) continue; /* In some games (1856), a just bought share may not be sold */ @@ -442,11 +451,19 @@ public class StockRound extends Round { // Check against the share% already in the pool number = Math.min(number, maxShareToSell - / (i * company.getShareUnit())); + / (shareSize * company.getShareUnit())); if (number <= 0) continue; - possibleActions.add(new SellShares(compName, i, number, price)); - + for (int i=1; i<=number; i++) { + if (dumpThreshold > 0 && i*shareSize*shareUnit >= dumpThreshold + && choiceOfPresidentExchangeCerts) { + // Also offer the alternative president exchange for a double share + possibleActions.add(new SellShares(compName, shareSize, i, price, 1)); + possibleActions.add(new SellShares(compName, shareSize, i, price, 2)); + } else { + possibleActions.add(new SellShares(compName, shareSize, i, price, 0)); + } + } } } } @@ -934,7 +951,7 @@ public class StockRound extends Round { new ArrayList<PublicCertificateI>(); Player dumpedPlayer = null; int presSharesToSell = 0; - int numberToSell = action.getNumberSold(); + int numberToSell = action.getNumber(); int shareUnits = action.getShareUnits(); int currentIndex = getCurrentPlayerIndex(); @@ -1039,7 +1056,7 @@ public class StockRound extends Round { break; } - int numberSold = action.getNumberSold(); + int numberSold = action.getNumber(); if (errMsg != null) { DisplayBuffer.add(LocalText.getText("CantSell", playerName, @@ -1085,7 +1102,7 @@ public class StockRound extends Round { if (!company.isClosed()) { executeShareTransfer (company, certsToSell, - dumpedPlayer, presSharesToSell); + dumpedPlayer, presSharesToSell, action.getPresidentExchange()); } // Remember that the player has sold this company this round. @@ -1101,7 +1118,7 @@ public class StockRound extends Round { protected void executeShareTransfer (PublicCompanyI company, List<PublicCertificateI> certsToSell, - Player dumpedPlayer, int presSharesToSell) { + Player dumpedPlayer, int presSharesToSell, int swapShareSize) { Portfolio portfolio = currentPlayer.getPortfolio(); @@ -1113,7 +1130,7 @@ public class StockRound extends Round { // First swap the certificates Portfolio dumpedPortfolio = dumpedPlayer.getPortfolio(); List<PublicCertificateI> swapped = - portfolio.swapPresidentCertificate(company, dumpedPortfolio); + portfolio.swapPresidentCertificate(company, dumpedPortfolio, swapShareSize); for (int i = 0; i < presSharesToSell; i++) { certsToSell.add(swapped.get(i)); } @@ -1129,7 +1146,7 @@ public class StockRound extends Round { otherPlayer = gameManager.getPlayerByIndex(i); if (otherPlayer.getPortfolio().getShare(company) > portfolio.getShare(company)) { portfolio.swapPresidentCertificate(company, - otherPlayer.getPortfolio()); + otherPlayer.getPortfolio(), swapShareSize); ReportBuffer.add(LocalText.getText("IS_NOW_PRES_OF", otherPlayer.getName(), company.getName() )); diff --git a/rails/game/TreasuryShareRound.java b/rails/game/TreasuryShareRound.java index 5a08c14..030822e 100644 --- a/rails/game/TreasuryShareRound.java +++ b/rails/game/TreasuryShareRound.java @@ -7,9 +7,7 @@ package rails.game; import java.util.*; -import rails.common.DisplayBuffer; -import rails.common.GuiDef; -import rails.common.LocalText; +import rails.common.*; import rails.game.action.*; import rails.game.state.BooleanState; @@ -32,18 +30,18 @@ public class TreasuryShareRound extends StockRound { * */ public TreasuryShareRound(GameManagerI aGameManager, - RoundI parentRound) { + RoundI parentRound) { super (aGameManager); operatingCompany = ((OperatingRound)parentRound).getOperatingCompany(); sellingPlayer = operatingCompany.getPresident(); log.debug("Creating TreasuryShareRound"); hasBought = - new BooleanState(operatingCompany.getName() + "_boughtShares", - false); + new BooleanState(operatingCompany.getName() + "_boughtShares", + false); hasSold = - new BooleanState(operatingCompany.getName() + "_soldShares", - false); + new BooleanState(operatingCompany.getName() + "_soldShares", + false); setCurrentPlayerIndex(sellingPlayer.getIndex()); @@ -111,7 +109,7 @@ public class TreasuryShareRound extends StockRound { /* Get the unique Pool certificates and check which ones can be bought */ from = pool; Map<String, List<PublicCertificateI>> map = - from.getCertsPerCompanyMap(); + from.getCertsPerCompanyMap(); for (String compName : map.keySet()) { certs = map.get(compName); @@ -126,12 +124,12 @@ public class TreasuryShareRound extends StockRound { // Shares already owned int ownedShare = - operatingCompany.getPortfolio().getShare(operatingCompany); + operatingCompany.getPortfolio().getShare(operatingCompany); // Max share that may be owned int maxShare = getGameParameterAsInt(GameDef.Parm.TREASURY_SHARE_LIMIT); // Max number of shares to add int maxBuyable = - (maxShare - ownedShare) / operatingCompany.getShareUnit(); + (maxShare - ownedShare) / operatingCompany.getShareUnit(); // Max number of shares to buy number = Math.min(certs.size(), maxBuyable); if (number == 0) continue; @@ -180,12 +178,12 @@ public class TreasuryShareRound extends StockRound { /* May not sell more than the Pool can accept */ maxShareToSell = - Math.min(maxShareToSell, - getGameParameterAsInt(GameDef.Parm.POOL_SHARE_LIMIT) - - pool.getShare(company)); + Math.min(maxShareToSell, + getGameParameterAsInt(GameDef.Parm.POOL_SHARE_LIMIT) + - pool.getShare(company)); if (maxShareToSell == 0) continue; - /* + /* * Check what share units the player actually owns. In some games * (e.g. 1835) companies may have different ordinary shares: 5% and * 10%, or 10% and 20%. The president's share counts as a multiple @@ -214,17 +212,16 @@ public class TreasuryShareRound extends StockRound { price = company.getMarketPrice(); } - for (int i = 1; i <= 4; i++) { - number = shareCountPerUnit[i]; + for (int shareSize = 1; shareSize <= 4; shareSize++) { + number = shareCountPerUnit[shareSize]; if (number == 0) continue; number = - Math.min(number, maxShareToSell - / (i * company.getShareUnit())); + Math.min(number, maxShareToSell + / (shareSize * company.getShareUnit())); if (number == 0) continue; - if (number > 0) { - possibleActions.add(new SellShares(compName, i, number, - price)); + for (int i=1; i<=number; i++) { + possibleActions.add(new SellShares(compName, shareSize, i, price)); } } } @@ -275,9 +272,9 @@ public class TreasuryShareRound extends StockRound { } if (company != operatingCompany) { errMsg = - LocalText.getText("WrongCompany", - companyName, - operatingCompany.getName() ); + LocalText.getText("WrongCompany", + companyName, + operatingCompany.getName() ); } @@ -287,7 +284,7 @@ public class TreasuryShareRound extends StockRound { break; } if (company.mustHaveOperatedToTradeShares() - && !company.hasOperated()) { + && !company.hasOperated()) { errMsg = LocalText.getText("NotYetOperated", companyName); break; } @@ -301,9 +298,9 @@ public class TreasuryShareRound extends StockRound { // Check if that many shares are available if (share > from.getShare(company)) { errMsg = - LocalText.getText("NotAvailable", - companyName, - from.getName() ); + LocalText.getText("NotAvailable", + companyName, + from.getName() ); break; } @@ -313,8 +310,8 @@ public class TreasuryShareRound extends StockRound { int treasuryShareLimit = getGameParameterAsInt(GameDef.Parm.TREASURY_SHARE_LIMIT); if (portfolio.getShare(company) + share > treasuryShareLimit) { errMsg = - LocalText.getText("TreasuryOverHoldLimit", - String.valueOf(treasuryShareLimit)); + LocalText.getText("TreasuryOverHoldLimit", + String.valueOf(treasuryShareLimit)); break; } @@ -382,8 +379,8 @@ public class TreasuryShareRound extends StockRound { PublicCompanyI company = companyManager.getPublicCompany(companyName); PublicCertificateI cert = null; List<PublicCertificateI> certsToSell = - new ArrayList<PublicCertificateI>(); - int numberToSell = action.getNumberSold(); + new ArrayList<PublicCertificateI>(); + int numberToSell = action.getNumber(); int shareUnits = action.getShareUnits(); // Dummy loop to allow a quick jump out @@ -402,9 +399,9 @@ public class TreasuryShareRound extends StockRound { } if (company != operatingCompany) { errMsg = - LocalText.getText("WrongCompany", - companyName, - operatingCompany.getName() ); + LocalText.getText("WrongCompany", + companyName, + operatingCompany.getName() ); break; } @@ -414,7 +411,7 @@ public class TreasuryShareRound extends StockRound { break; } if (company.mustHaveOperatedToTradeShares() - && !company.hasOperated()) { + && !company.hasOperated()) { errMsg = LocalText.getText("NotYetOperated", companyName); break; } @@ -440,7 +437,7 @@ public class TreasuryShareRound extends StockRound { // Find the certificates to sell Iterator<PublicCertificateI> it = - portfolio.getCertificatesPerCompany(companyName).iterator(); + portfolio.getCertificatesPerCompany(companyName).iterator(); while (numberToSell > 0 && it.hasNext()) { cert = it.next(); if (shareUnits != cert.getShares()) { @@ -461,7 +458,7 @@ public class TreasuryShareRound extends StockRound { break; } - int numberSold = action.getNumberSold(); + int numberSold = action.getNumber(); if (errMsg != null) { DisplayBuffer.add(LocalText.getText("CantSell", companyName, @@ -504,7 +501,7 @@ public class TreasuryShareRound extends StockRound { transferCertificate (cert2, pool, cert2.getShares() * price); } } - */ + */ stockMarket.sell(company, numberSold); hasSold.set(true); diff --git a/rails/game/action/SellShares.java b/rails/game/action/SellShares.java index 00e552a..e266a7a 100644 --- a/rails/game/action/SellShares.java +++ b/rails/game/action/SellShares.java @@ -23,22 +23,29 @@ public class SellShares extends PossibleAction { private int shareUnits; private int share; private int price; - private int maximumNumber; - - // Client-side settings - private int numberSold = 0; + private int number; + /** Dump flag, indicates to which type of certificates the president's share must be exchanged.<br> + * 0 = no dump, or dump that does not require any choice of exchange certificates;<br> + * 1 = exchange against 1-share certificates (usually 10%);<br> + * 2 = exchange against a 2-share certificate (as can occur in 1835);<br> + * etc. + */ + private int presidentExchange = 0; public static final long serialVersionUID = 1L; - /** - * - */ - public SellShares(String companyName, int shareUnits, int maximumNumber, + public SellShares(String companyName, int shareUnits, int number, int price) { + this (companyName, shareUnits, number, price, 0); + } + + public SellShares(String companyName, int shareUnits, int number, + int price, int presidentExchange) { this.companyName = companyName; this.shareUnits = shareUnits; this.price = price; - this.maximumNumber = maximumNumber; + this.number = number; + this.presidentExchange = presidentExchange; company = getCompanyManager().getPublicCompany(companyName); shareUnit = company.getShareUnit(); @@ -48,8 +55,8 @@ public class SellShares extends PossibleAction { /** * @return Returns the maximumNumber. */ - public int getMaximumNumber() { - return maximumNumber; + public int getNumber() { + return number; } /** @@ -82,12 +89,8 @@ public class SellShares extends PossibleAction { return share; } - public int getNumberSold() { - return numberSold; - } - - public void setNumberSold(int numberSold) { - this.numberSold = numberSold; + public int getPresidentExchange() { + return presidentExchange; } @Override @@ -95,9 +98,9 @@ public class SellShares extends PossibleAction { if (!(action instanceof SellShares)) return false; SellShares a = (SellShares) action; return a.getCompanyName().equals(companyName) - && a.getShareUnits() == shareUnits - && a.getMaximumNumber() == maximumNumber - && a.getPrice() == price; + && a.getShareUnits() == shareUnits + && a.getNumber() == number + && a.getPrice() == price; } @Override @@ -105,28 +108,39 @@ public class SellShares extends PossibleAction { if (!(action instanceof SellShares)) return false; SellShares a = (SellShares) action; return a.companyName.equals(companyName) - && a.shareUnits == shareUnits - && a.numberSold == numberSold - && a.price == price; + && a.shareUnits == shareUnits + && a.number == number + && a.price == price; } @Override public String toString() { return "SellShares: " - + (numberSold > 0 ? numberSold : "max " + maximumNumber) - + " of " + share + "% " + companyName + " at " - + Bank.format(shareUnits * price) + " apiece"; + + number + " of " + share + "% " + companyName + + " at " + Bank.format(shareUnits * price) + " apiece" + + (presidentExchange > 0 ? " (pres.exch. for "+presidentExchange*shareUnit+"% share(s))" : ""); } /** Deserialize */ private void readObject(ObjectInputStream in) throws IOException, - ClassNotFoundException { + ClassNotFoundException { + + //in.defaultReadObject(); + // Custom reading for backwards compatibility + ObjectInputStream.GetField fields = in.readFields(); - in.defaultReadObject(); + companyName = (String) fields.get("companyName", null); + shareUnit = fields.get("shareUnit", shareUnit); + shareUnits = fields.get("shareUnits", shareUnits); + share = fields.get("share", share); + price = fields.get("price", price); + int numberSold = fields.get("numberSold", 0); // For backwards compatibility + number = fields.get("number", numberSold); + presidentExchange = fields.get("presidentExchange", 0); CompanyManagerI companyManager = getCompanyManager(); if (Util.hasValue(companyName)) companyName = companyManager.checkAlias(companyName); - company = companyManager.getPublicCompany(companyName); + company = companyManager.getPublicCompany(companyName); } } diff --git a/rails/game/specific/_1856/CGRFormationRound.java b/rails/game/specific/_1856/CGRFormationRound.java index 8ce4689..f7066e7 100644 --- a/rails/game/specific/_1856/CGRFormationRound.java +++ b/rails/game/specific/_1856/CGRFormationRound.java @@ -2,9 +2,7 @@ package rails.game.specific._1856; import java.util.*; -import rails.common.DisplayBuffer; -import rails.common.GuiDef; -import rails.common.LocalText; +import rails.common.*; import rails.game.*; import rails.game.action.*; import rails.game.move.CashMove; @@ -18,7 +16,7 @@ public class CGRFormationRound extends SwitchableUIRound { private Player startingPlayer; private int maxLoansToRepayByPresident = 0; private Map<Player, List<PublicCompanyI>> companiesToRepayLoans = null; - + private PublicCompanyI currentCompany = null; private List<PublicCompanyI> mergingCompanies = new ArrayList<PublicCompanyI>(); @@ -27,9 +25,9 @@ public class CGRFormationRound extends SwitchableUIRound { */ private String cgrName = PublicCompany_CGR.NAME; private PublicCompany_CGR cgr - = (PublicCompany_CGR)gameManager.getCompanyManager().getPublicCompany(cgrName); - - /* + = (PublicCompany_CGR)gameManager.getCompanyManager().getPublicCompany(cgrName); + + /* * effects from the merger, processed at the end * thus no need for state variables */ @@ -86,7 +84,7 @@ public class CGRFormationRound extends SwitchableUIRound { if (company.getCurrentNumberOfLoans() > 0) { if (companiesToRepayLoans == null) { companiesToRepayLoans - = new HashMap<Player, List<PublicCompanyI>>(); + = new HashMap<Player, List<PublicCompanyI>>(); } president = company.getPresident(); if (!companiesToRepayLoans.containsKey(president)) { @@ -192,22 +190,22 @@ public class CGRFormationRound extends SwitchableUIRound { player.getName(), maxNumber, currentCompany.getName()), - false); + false); } else { DisplayBuffer.add(LocalText.getText("YouCannotRepayAllLoans", player.getName(), maxNumber, numberOfLoans, currentCompany.getName()), - false); -// currentCompany.getLoanValueModel().setText(LocalText.getText("MERGE")); + false); + // currentCompany.getLoanValueModel().setText(LocalText.getText("MERGE")); } maxLoansToRepayByPresident = maxNumber; break; } else { // President cannot help, this company will merge into CGR anyway mergingCompanies.add(currentCompany); -// currentCompany.getLoanValueModel().setText(LocalText.getText("MERGE")); + // currentCompany.getLoanValueModel().setText(LocalText.getText("MERGE")); message = LocalText.getText("WillMergeInto", currentCompany.getName(), PublicCompany_CGR.NAME); @@ -241,7 +239,7 @@ public class CGRFormationRound extends SwitchableUIRound { trainsToDiscardFrom, forcedTrainDiscard); possibleActions.add(action); guiHints.setActivePanel(GuiDef.Panel.STATUS); - } + } return true; } @@ -266,10 +264,10 @@ public class CGRFormationRound extends SwitchableUIRound { new CashMove (company, bank, repaymentByCompany); ReportBuffer.add (LocalText.getText("CompanyRepaysLoans", company.getName(), - Bank.format(repaymentByCompany), - Bank.format(repayment), - numberRepaid, - Bank.format(company.getValuePerLoan()))); + Bank.format(repaymentByCompany), + Bank.format(repayment), + numberRepaid, + Bank.format(company.getValuePerLoan()))); } if (repaymentByPresident > 0) { Player president = company.getPresident(); @@ -282,11 +280,11 @@ public class CGRFormationRound extends SwitchableUIRound { Bank.format(company.getValuePerLoan()), president.getName())); } - } + } - if (action.getCompany().getCurrentNumberOfLoans() > 0) { + if (action.getCompany().getCurrentNumberOfLoans() > 0) { mergingCompanies.add(currentCompany); -// currentCompany.getLoanValueModel().setText(LocalText.getText("MERGE")); + // currentCompany.getLoanValueModel().setText(LocalText.getText("MERGE")); String message = LocalText.getText("WillMergeInto", currentCompany.getName(), PublicCompany_CGR.NAME); @@ -438,7 +436,7 @@ public class CGRFormationRound extends SwitchableUIRound { // Move the remaining CGR shares to the ipo. // Clone the shares list first certs = new ArrayList<PublicCertificateI> - (unavailable.getCertificatesPerCompany(PublicCompany_CGR.NAME)); + (unavailable.getCertificatesPerCompany(PublicCompany_CGR.NAME)); for (PublicCertificateI cert : certs) { cert.moveTo(ipo); } @@ -452,8 +450,8 @@ public class CGRFormationRound extends SwitchableUIRound { } else if (temporaryPresident != null && temporaryPresident != newPresident) { log.debug("Moving pres.share from "+temporaryPresident.getName() +" to "+newPresident.getName()); - temporaryPresident.getPortfolio().swapPresidentCertificate(cgr, - newPresident.getPortfolio()); + temporaryPresident.getPortfolio().swapPresidentCertificate(cgr, + newPresident.getPortfolio(), 1); } newPresident.getPortfolio().getShareModel(cgr).setShare(); @@ -522,7 +520,7 @@ public class CGRFormationRound extends SwitchableUIRound { DisplayBuffer.add(message); ReportBuffer.add(message); - // Collect the old token spots, and move cash and trains + // Collect the old token spots, and move cash and trains List<BaseToken> homeTokens = new ArrayList<BaseToken>(); nonHomeTokens = new ArrayList<BaseToken>(); BaseToken bt; @@ -561,7 +559,7 @@ public class CGRFormationRound extends SwitchableUIRound { // Move any still valid bonuses if (comp.getBonuses() != null) { List<Bonus> bonuses = new ArrayList<Bonus> (comp.getBonuses()); -bonuses: for (Bonus bonus : bonuses) { + bonuses: for (Bonus bonus : bonuses) { comp.removeBonus(bonus); // Only add if the CGR does not already have the same bonus if (cgr.getBonuses() != null) { @@ -645,7 +643,7 @@ bonuses: for (Bonus bonus : bonuses) { // Then create list of exchange spots. Sort it on hexname/city number tokensToExchangeFrom = new ArrayList<ExchangeableToken>(); for (String key : new TreeSet<String> (oldTokens.keySet())) { - tokensToExchangeFrom.add(new ExchangeableToken( + tokensToExchangeFrom.add(new ExchangeableToken( key, oldTokens.get(key))); } } else { @@ -658,7 +656,7 @@ bonuses: for (Bonus bonus : bonuses) { } // Check the trains, autodiscard any excess non-permanent trains -// int trainLimit = cgr.getTrainLimit(gameManager.getCurrentPlayerIndex()); + // int trainLimit = cgr.getTrainLimit(gameManager.getCurrentPlayerIndex()); int trainLimit = cgr.getCurrentTrainLimit(); List<TrainI> trains = cgr.getPortfolio().getTrainList(); if (cgr.getNumberOfTrains() > trainLimit) { @@ -680,7 +678,7 @@ bonuses: for (Bonus bonus : bonuses) { } - private void executeExchangeTokens (List<BaseToken> exchangedTokens) { + private void executeExchangeTokens (List<BaseToken> exchangedTokens) { Stop city; MapHex hex; ReportBuffer.add(""); @@ -765,7 +763,7 @@ bonuses: for (Bonus bonus : bonuses) { for (TrainI train : cgr.getPortfolio().getTrainList()) { if (!train.isPermanent()) { trainsToDiscardFrom.add(train); - } + } } if (!trainsToDiscardFrom.isEmpty()) { if (getStep() != STEP_DISCARD_TRAINS) { @@ -811,9 +809,9 @@ bonuses: for (Bonus bonus : bonuses) { if (train != null && !company.getPortfolio().getTrainList().contains(train)) { errMsg = - LocalText.getText("CompanyDoesNotOwnTrain", - company.getName(), - train.getName() ); + LocalText.getText("CompanyDoesNotOwnTrain", + company.getName(), + train.getName() ); break; } @@ -833,7 +831,7 @@ bonuses: for (Bonus bonus : bonuses) { if (train != null) { -// if (action.isForced()) moveStack.linkToPreviousMoveSet(); + // if (action.isForced()) moveStack.linkToPreviousMoveSet(); train.moveTo(pool); ReportBuffer.add(LocalText.getText("CompanyDiscardsTrain", companyName, diff --git a/rails/ui/swing/GameStatus.java b/rails/ui/swing/GameStatus.java index a41d730..6a3d460 100644 --- a/rails/ui/swing/GameStatus.java +++ b/rails/ui/swing/GameStatus.java @@ -587,7 +587,9 @@ public class GameStatus extends GridPanel implements ActionListener { for (PossibleAction action : actions) { sale = (SellShares) action; - for (int i = 1; i <= sale.getMaximumNumber(); i++) { + //for (int i = 1; i <= sale.getMaximumNumber(); i++) { + int i = sale.getNumber(); + if (sale.getPresidentExchange() == 0) { options.add(LocalText.getText("SellShares", i, sale.getShare(), @@ -595,9 +597,19 @@ public class GameStatus extends GridPanel implements ActionListener { sale.getCompanyName(), Bank.format(i * sale.getShareUnits() * sale.getPrice()) )); - sellActions.add(sale); - sellAmounts.add(i); + } else { + options.add(LocalText.getText("SellSharesWithSwap", + i, + sale.getShare(), + i * sale.getShare(), + sale.getCompanyName(), + Bank.format(i * sale.getShareUnits() * sale.getPrice()), + // disregard other than double pres.certs. This is for 1835 only. + 3 - sale.getPresidentExchange(), + sale.getPresidentExchange() * sale.getShareUnit())); } + sellActions.add(sale); + sellAmounts.add(i); } int index = 0; if (options.size() > 1) { @@ -620,7 +632,7 @@ public class GameStatus extends GridPanel implements ActionListener { // cancelled } else { chosenAction = sellActions.get(index); - ((SellShares) chosenAction).setNumberSold(sellAmounts.get(index)); + //((SellShares) chosenAction).setNumberSold(sellAmounts.get(index)); } } else if (actions.get(0) instanceof BuyCertificate) { boolean startCompany = false; commit 9f97d651984b68e5c9dd68ddfb7361a7151a083f Author: Erik Vos <eri...@xs...> Date: Sat Nov 19 09:35:58 2011 +0100 Fixes for 1835: Rewrote nationalisation to make it able to handle both 10% and 20% shares. The nationalisation code has also been refactored into setBuyableCerts(). Suppressed empty share field tooltips. Moved the SHARES update key from ShareModel to ViewUpdate, joining with the other keys. diff --git a/rails/game/model/ShareModel.java b/rails/game/model/ShareModel.java index 2dd9993..2c7f913 100644 --- a/rails/game/model/ShareModel.java +++ b/rails/game/model/ShareModel.java @@ -11,8 +11,6 @@ public class ShareModel extends ModelObject { private Portfolio portfolio; private PublicCompanyI company; - public static final String SHARES = "SHARES"; - public ShareModel(Portfolio portfolio, PublicCompanyI company) { this.portfolio = portfolio; this.company = company; @@ -55,7 +53,7 @@ public class ShareModel extends ModelObject { if (b.length() > 0) b.append(","); b.append(type).append(":").append(numberPerCertType.get(type)); } - u.addObject(SHARES, b.toString()); + u.addObject(ViewUpdate.SHARES, b.toString()); } return u; } diff --git a/rails/game/model/ViewUpdate.java b/rails/game/model/ViewUpdate.java index 3a99661..bc1b57d 100644 --- a/rails/game/model/ViewUpdate.java +++ b/rails/game/model/ViewUpdate.java @@ -9,7 +9,6 @@ import java.util.*; * <p> The current version has text, background colour and foreground colour. * Receiving view objects must be prepared to handle extensions. * @author VosE - * */ public class ViewUpdate implements Serializable { @@ -18,6 +17,7 @@ public class ViewUpdate implements Serializable { public static final String TEXT = "TEXT"; public static final String BGCOLOUR = "BGCOLOUR"; + public static final String SHARES = "SHARES"; public static final long serialVersionUID = 1L; diff --git a/rails/game/specific/_1835/StockRound_1835.java b/rails/game/specific/_1835/StockRound_1835.java index 8d27f76..ff8eea3 100644 --- a/rails/game/specific/_1835/StockRound_1835.java +++ b/rails/game/specific/_1835/StockRound_1835.java @@ -4,7 +4,6 @@ */ package rails.game.specific._1835; -import java.util.ArrayList; import java.util.List; import rails.common.LocalText; @@ -25,45 +24,68 @@ public class StockRound_1835 extends StockRound { /** Add nationalisations */ @Override - protected void setGameSpecificActions() { - if (!mayCurrentPlayerBuyAnything()) return; + public void setBuyableCerts() { + + super.setBuyableCerts(); if (companyBoughtThisTurnWrapper.get() != null) return; - List<Player> otherPlayers = new ArrayList<Player>(); - Portfolio holder; - CashHolder owner; - Player otherPlayer; int price; int cash = currentPlayer.getCash(); + List<PublicCertificateI> certs; + StockSpaceI stockSpace; + Portfolio from; + int unitsForPrice; - // Nationalization + // Nationalisation for (PublicCompanyI company : companyManager.getAllPublicCompanies()) { if (!company.getTypeName().equalsIgnoreCase("Major")) continue; if (!company.hasFloated()) continue; if (company.getPresident() != currentPlayer) continue; - if (currentPlayer.getPortfolio().getShare(company) >= 55) { - otherPlayers.clear(); - for (PublicCertificateI cert : company.getCertificates()) { - holder = (Portfolio)cert.getHolder(); - owner = holder.getOwner(); + if (currentPlayer.getPortfolio().getShare(company) < 55) continue; + if (isSaleRecorded(currentPlayer, company)) continue; + + for (Player otherPlayer : this.getPlayers()) { + if (otherPlayer == currentPlayer) continue; + + /* Get the unique player certificates and check which ones can be bought */ + from = otherPlayer.getPortfolio(); + certs = from.getCertificatesPerCompany(company.getName()); + if (certs == null || certs.isEmpty()) continue; + + /* Allow for multiple share unit certificates (e.g. 1835) */ + PublicCertificateI[] uniqueCerts; + int shares; + + stockSpace = company.getCurrentSpace(); + unitsForPrice = company.getShareUnitsForSharePrice(); + price = (int)(1.5 * stockSpace.getPrice() / unitsForPrice); + + /* Check what share multiples are available + * Normally only 1, but 1 and 2 in 1835. Allow up to 4. + */ + uniqueCerts = new PublicCertificateI[5]; + for (PublicCertificateI cert2 : certs) { + shares = cert2.getShares(); + if (uniqueCerts[shares] != null) continue; + uniqueCerts[shares] = cert2; + } + + /* Create a BuyCertificate action per share size */ + for (shares = 1; shares < 5; shares++) { + if (uniqueCerts[shares] == null) continue; + /* Would the player exceed the total certificate limit? */ - StockSpaceI stockSpace = company.getCurrentSpace(); - if ((stockSpace == null || !stockSpace.isNoCertLimit()) && !mayPlayerBuyCertificate( - currentPlayer, company, cert.getCertificateCount())) continue; - // only nationalize other players - if (owner instanceof Player && owner != currentPlayer) { - otherPlayer = (Player) owner; - if (!otherPlayers.contains(otherPlayer)) { - price = (int)(1.5 * company.getCurrentPriceModel().getPrice().getPrice()); - if (price <= cash) { - possibleActions.add(new BuyCertificate (company, cert.getShare(), - holder, - (int)(1.5 * company.getCurrentPriceModel().getPrice().getPrice()), - 1)); - } - otherPlayers.add(otherPlayer); - } - } + if (!stockSpace.isNoCertLimit() + && !mayPlayerBuyCertificate(currentPlayer, company, + uniqueCerts[shares].getCertificateCount())) + continue; + + // Does the player have enough cash? + if (cash < price * shares) continue; + + possibleActions.add(new BuyCertificate(company, + uniqueCerts[shares].getShare(), + from, price, 1)); } } } @@ -97,7 +119,7 @@ public class StockRound_1835 extends StockRound { } // stored price is the previous unadjusted price price = price / company.getShareUnitsForSharePrice(); - return price; + return price; } @@ -133,9 +155,9 @@ public class StockRound_1835 extends StockRound { // Check for group releases if (sharesInIPO == 0) { if (name.equals(GameManager_1835.SX_ID) && - ipo.getShare(companyManager.getPublicCompany(GameManager_1835.BY_ID)) == 0 - || name.equals(GameManager_1835.BY_ID) && - ipo.getShare(companyManager.getPublicCompany(GameManager_1835.SX_ID)) == 0) { + ipo.getShare(companyManager.getPublicCompany(GameManager_1835.BY_ID)) == 0 + || name.equals(GameManager_1835.BY_ID) && + ipo.getShare(companyManager.getPublicCompany(GameManager_1835.SX_ID)) == 0) { // Group 1 sold out: release Badische releaseCompanyShares (companyManager.getPublicCompany(GameManager_1835.BA_ID)); ReportBuffer.add (LocalText.getText("SharesReleased", @@ -163,7 +185,7 @@ public class StockRound_1835 extends StockRound { ... [truncated message content] |
From: Erik V. <ev...@us...> - 2011-11-19 09:35:56
|
rails/game/model/ShareModel.java | 4 - rails/game/model/ViewUpdate.java | 2 rails/game/specific/_1835/StockRound_1835.java | 92 +++++++++++++++---------- rails/ui/swing/GameStatus.java | 2 rails/ui/swing/elements/Field.java | 9 +- 5 files changed, 65 insertions(+), 44 deletions(-) New commits: commit 605008e5a969b1f3fe46a584a5ab86a32176e639 Author: Erik Vos <eri...@xs...> Date: Sat Nov 19 10:35:35 2011 +0100 Fixes for 1835: Nationalisation rewritten to handle mixed shares. Rewrote nationalisation to make it able to handle both 10% and 20% shares. The nationalisation code has also been refactored into setBuyableCerts(). Suppressed empty share field tooltips. Moved the SHARES update key from ShareModel to ViewUpdate, where the other keys are. diff --git a/rails/game/model/ShareModel.java b/rails/game/model/ShareModel.java index 2dd9993..2c7f913 100644 --- a/rails/game/model/ShareModel.java +++ b/rails/game/model/ShareModel.java @@ -11,8 +11,6 @@ public class ShareModel extends ModelObject { private Portfolio portfolio; private PublicCompanyI company; - public static final String SHARES = "SHARES"; - public ShareModel(Portfolio portfolio, PublicCompanyI company) { this.portfolio = portfolio; this.company = company; @@ -55,7 +53,7 @@ public class ShareModel extends ModelObject { if (b.length() > 0) b.append(","); b.append(type).append(":").append(numberPerCertType.get(type)); } - u.addObject(SHARES, b.toString()); + u.addObject(ViewUpdate.SHARES, b.toString()); } return u; } diff --git a/rails/game/model/ViewUpdate.java b/rails/game/model/ViewUpdate.java index 3a99661..bc1b57d 100644 --- a/rails/game/model/ViewUpdate.java +++ b/rails/game/model/ViewUpdate.java @@ -9,7 +9,6 @@ import java.util.*; * <p> The current version has text, background colour and foreground colour. * Receiving view objects must be prepared to handle extensions. * @author VosE - * */ public class ViewUpdate implements Serializable { @@ -18,6 +17,7 @@ public class ViewUpdate implements Serializable { public static final String TEXT = "TEXT"; public static final String BGCOLOUR = "BGCOLOUR"; + public static final String SHARES = "SHARES"; public static final long serialVersionUID = 1L; diff --git a/rails/game/specific/_1835/StockRound_1835.java b/rails/game/specific/_1835/StockRound_1835.java index 8d27f76..ff8eea3 100644 --- a/rails/game/specific/_1835/StockRound_1835.java +++ b/rails/game/specific/_1835/StockRound_1835.java @@ -4,7 +4,6 @@ */ package rails.game.specific._1835; -import java.util.ArrayList; import java.util.List; import rails.common.LocalText; @@ -25,45 +24,68 @@ public class StockRound_1835 extends StockRound { /** Add nationalisations */ @Override - protected void setGameSpecificActions() { - if (!mayCurrentPlayerBuyAnything()) return; + public void setBuyableCerts() { + + super.setBuyableCerts(); if (companyBoughtThisTurnWrapper.get() != null) return; - List<Player> otherPlayers = new ArrayList<Player>(); - Portfolio holder; - CashHolder owner; - Player otherPlayer; int price; int cash = currentPlayer.getCash(); + List<PublicCertificateI> certs; + StockSpaceI stockSpace; + Portfolio from; + int unitsForPrice; - // Nationalization + // Nationalisation for (PublicCompanyI company : companyManager.getAllPublicCompanies()) { if (!company.getTypeName().equalsIgnoreCase("Major")) continue; if (!company.hasFloated()) continue; if (company.getPresident() != currentPlayer) continue; - if (currentPlayer.getPortfolio().getShare(company) >= 55) { - otherPlayers.clear(); - for (PublicCertificateI cert : company.getCertificates()) { - holder = (Portfolio)cert.getHolder(); - owner = holder.getOwner(); + if (currentPlayer.getPortfolio().getShare(company) < 55) continue; + if (isSaleRecorded(currentPlayer, company)) continue; + + for (Player otherPlayer : this.getPlayers()) { + if (otherPlayer == currentPlayer) continue; + + /* Get the unique player certificates and check which ones can be bought */ + from = otherPlayer.getPortfolio(); + certs = from.getCertificatesPerCompany(company.getName()); + if (certs == null || certs.isEmpty()) continue; + + /* Allow for multiple share unit certificates (e.g. 1835) */ + PublicCertificateI[] uniqueCerts; + int shares; + + stockSpace = company.getCurrentSpace(); + unitsForPrice = company.getShareUnitsForSharePrice(); + price = (int)(1.5 * stockSpace.getPrice() / unitsForPrice); + + /* Check what share multiples are available + * Normally only 1, but 1 and 2 in 1835. Allow up to 4. + */ + uniqueCerts = new PublicCertificateI[5]; + for (PublicCertificateI cert2 : certs) { + shares = cert2.getShares(); + if (uniqueCerts[shares] != null) continue; + uniqueCerts[shares] = cert2; + } + + /* Create a BuyCertificate action per share size */ + for (shares = 1; shares < 5; shares++) { + if (uniqueCerts[shares] == null) continue; + /* Would the player exceed the total certificate limit? */ - StockSpaceI stockSpace = company.getCurrentSpace(); - if ((stockSpace == null || !stockSpace.isNoCertLimit()) && !mayPlayerBuyCertificate( - currentPlayer, company, cert.getCertificateCount())) continue; - // only nationalize other players - if (owner instanceof Player && owner != currentPlayer) { - otherPlayer = (Player) owner; - if (!otherPlayers.contains(otherPlayer)) { - price = (int)(1.5 * company.getCurrentPriceModel().getPrice().getPrice()); - if (price <= cash) { - possibleActions.add(new BuyCertificate (company, cert.getShare(), - holder, - (int)(1.5 * company.getCurrentPriceModel().getPrice().getPrice()), - 1)); - } - otherPlayers.add(otherPlayer); - } - } + if (!stockSpace.isNoCertLimit() + && !mayPlayerBuyCertificate(currentPlayer, company, + uniqueCerts[shares].getCertificateCount())) + continue; + + // Does the player have enough cash? + if (cash < price * shares) continue; + + possibleActions.add(new BuyCertificate(company, + uniqueCerts[shares].getShare(), + from, price, 1)); } } } @@ -97,7 +119,7 @@ public class StockRound_1835 extends StockRound { } // stored price is the previous unadjusted price price = price / company.getShareUnitsForSharePrice(); - return price; + return price; } @@ -133,9 +155,9 @@ public class StockRound_1835 extends StockRound { // Check for group releases if (sharesInIPO == 0) { if (name.equals(GameManager_1835.SX_ID) && - ipo.getShare(companyManager.getPublicCompany(GameManager_1835.BY_ID)) == 0 - || name.equals(GameManager_1835.BY_ID) && - ipo.getShare(companyManager.getPublicCompany(GameManager_1835.SX_ID)) == 0) { + ipo.getShare(companyManager.getPublicCompany(GameManager_1835.BY_ID)) == 0 + || name.equals(GameManager_1835.BY_ID) && + ipo.getShare(companyManager.getPublicCompany(GameManager_1835.SX_ID)) == 0) { // Group 1 sold out: release Badische releaseCompanyShares (companyManager.getPublicCompany(GameManager_1835.BA_ID)); ReportBuffer.add (LocalText.getText("SharesReleased", @@ -163,7 +185,7 @@ public class StockRound_1835 extends StockRound { "All", GameManager_1835.WT_ID)); } else if (sharesInIPO == 80) { // President sold: release four 10% Prussian shares - gameManager.getCompanyManager().getPublicCompany(GameManager_1835.PR_ID).setBuyable(true); + gameManager.getCompanyManager().getPublicCompany(GameManager_1835.PR_ID).setBuyable(true); for (int i=0; i<4; i++) { unavailable.getCertOfType(GameManager_1835.PR_ID+"_10%").moveTo(ipo); } diff --git a/rails/ui/swing/GameStatus.java b/rails/ui/swing/GameStatus.java index 29f55ea..a41d730 100644 --- a/rails/ui/swing/GameStatus.java +++ b/rails/ui/swing/GameStatus.java @@ -1066,7 +1066,7 @@ public class GameStatus extends GridPanel implements ActionListener { protected void syncToolTipText (Field field, ClickField clickField) { String baseText = field.getToolTipText(); - clickField.setToolTipText(Util.hasValue(baseText) ? baseText : ""); + clickField.setToolTipText(Util.hasValue(baseText) ? baseText : null); } protected void addToolTipText (ClickField clickField, String addText) { diff --git a/rails/ui/swing/elements/Field.java b/rails/ui/swing/elements/Field.java index 1c7816f..eee384b 100644 --- a/rails/ui/swing/elements/Field.java +++ b/rails/ui/swing/elements/Field.java @@ -8,7 +8,8 @@ import java.util.*; import javax.swing.*; import javax.swing.border.Border; -import rails.game.model.*; +import rails.game.model.ModelObject; +import rails.game.model.ViewUpdate; import rails.util.Util; public class Field extends JLabel implements ViewObject { @@ -122,13 +123,13 @@ public class Field extends JLabel implements ViewObject { setBackground((Color)vu.getValue(key)); normalBgColour = getBackground(); setForeground (Util.isDark(normalBgColour) ? Color.WHITE : Color.BLACK); - } else if (ShareModel.SHARES.equalsIgnoreCase(key)) { + } else if (ViewUpdate.SHARES.equalsIgnoreCase(key)) { int count; String type; String[] items; StringBuilder b = new StringBuilder(); for (String typeAndCount : ((String)vu.getValue(key)).split(",")) { - Util.getLogger().debug(">>> "+typeAndCount+" <<<"); + //Util.getLogger().debug(">>> "+typeAndCount+" <<<"); if (!Util.hasValue(typeAndCount)) continue; items = typeAndCount.split(":"); count = Integer.parseInt(items[1]); @@ -138,7 +139,7 @@ public class Field extends JLabel implements ViewObject { b.append(count).append(" x ").append(type); } baseToolTipInfo = b.toString(); - setToolTipText ("<html>" + baseToolTipInfo); + setToolTipText (b.length()>0 ? "<html>" + baseToolTipInfo : null); } } } |
From: Erik V. <ev...@us...> - 2011-11-16 22:07:23
|
rails/game/model/ShareModel.java | 33 +++++++++++++++++++++++++++++++-- rails/ui/swing/GameStatus.java | 25 +++++++++++++++++++++++-- rails/ui/swing/elements/Field.java | 29 +++++++++++++++++++++++++++-- 3 files changed, 81 insertions(+), 6 deletions(-) New commits: commit 902cac06c959dc53ef89aec36cdedb9db2cce2ac Author: Erik Vos <eri...@xs...> Date: Wed Nov 16 23:05:48 2011 +0100 Added tooltips to Game Status share fields to display portfolio composition. diff --git a/rails/game/model/ShareModel.java b/rails/game/model/ShareModel.java index d38691b..2dd9993 100644 --- a/rails/game/model/ShareModel.java +++ b/rails/game/model/ShareModel.java @@ -1,6 +1,8 @@ /* $Header: /Users/blentz/rails_rcs/cvs/18xx/rails/game/model/ShareModel.java,v 1.8 2009/10/06 18:34:04 evos Exp $*/ package rails.game.model; +import java.util.*; + import rails.game.*; public class ShareModel extends ModelObject { @@ -9,6 +11,8 @@ public class ShareModel extends ModelObject { private Portfolio portfolio; private PublicCompanyI company; + public static final String SHARES = "SHARES"; + public ShareModel(Portfolio portfolio, PublicCompanyI company) { this.portfolio = portfolio; this.company = company; @@ -32,12 +36,37 @@ public class ShareModel extends ModelObject { } @Override + public Object getUpdate() { + ViewUpdate u = new ViewUpdate (getText()); + List<PublicCertificateI> certs = portfolio.getCertificatesPerCompany(company.getName()); + if (certs != null) { + Map<String, Integer> numberPerCertType = new HashMap<String, Integer>(); + String certType; + for (PublicCertificateI cert : certs) { + certType = cert.getTypeId(); + if (!numberPerCertType.containsKey(certType)) { + numberPerCertType.put(certType, 1); + } else { + numberPerCertType.put(certType, numberPerCertType.get(certType)+1); + } + } + StringBuilder b = new StringBuilder(); + for (String type : numberPerCertType.keySet()) { + if (b.length() > 0) b.append(","); + b.append(type).append(":").append(numberPerCertType.get(type)); + } + u.addObject(SHARES, b.toString()); + } + return u; + } + + @Override public String getText() { if (share == 0) return ""; - StringBuffer b = new StringBuffer(); + StringBuilder b = new StringBuilder(); b.append(share).append("%"); if (portfolio.getOwner() instanceof Player - && company.getPresident() == portfolio.getOwner()) { + && company.getPresident() == portfolio.getOwner()) { b.append("P"); if (!company.hasFloated()) b.append("U"); b.append(company.getExtraShareMarks()); diff --git a/rails/ui/swing/GameStatus.java b/rails/ui/swing/GameStatus.java index da0f965..29f55ea 100644 --- a/rails/ui/swing/GameStatus.java +++ b/rails/ui/swing/GameStatus.java @@ -16,6 +16,7 @@ import rails.game.*; import rails.game.action.*; import rails.game.correct.CashCorrectionAction; import rails.ui.swing.elements.*; +import rails.util.Util; /** * This class is incorporated into StatusWindow and displays the bulk of @@ -942,13 +943,14 @@ public class GameStatus extends GridPanel implements ActionListener { if (j < 0) return; setPlayerCertButton(i, j, clickable); + if (clickable) syncToolTipText (certPerPlayer[i][j], certPerPlayerButton[i][j]); if (clickable && o != null) { if (o instanceof PossibleAction) { certPerPlayerButton[i][j].addPossibleAction((PossibleAction) o); if (o instanceof SellShares) { - certPerPlayerButton[i][j].setToolTipText(LocalText.getText("ClickForSell")); + addToolTipText (certPerPlayerButton[i][j], LocalText.getText("ClickForSell")); } else if (o instanceof BuyCertificate) { - certPerPlayerButton[i][j].setToolTipText(LocalText.getText("ClickToSelectForBuying")); + addToolTipText (certPerPlayerButton[i][j], LocalText.getText("ClickToSelectForBuying")); } } } @@ -960,6 +962,7 @@ public class GameStatus extends GridPanel implements ActionListener { if (clickable) { certPerPlayerButton[i][j].setText(certPerPlayer[i][j].getText()); + syncToolTipText (certPerPlayer[i][j], certPerPlayerButton[i][j]); } else { certPerPlayerButton[i][j].clearPossibleActions(); } @@ -970,6 +973,7 @@ public class GameStatus extends GridPanel implements ActionListener { protected void setIPOCertButton(int i, boolean clickable, Object o) { setIPOCertButton(i, clickable); + if (clickable) syncToolTipText (certInIPO[i], certInIPOButton[i]); if (clickable && o != null) { if (o instanceof PossibleAction) certInIPOButton[i].addPossibleAction((PossibleAction) o); @@ -980,6 +984,7 @@ public class GameStatus extends GridPanel implements ActionListener { boolean visible = rowVisibilityObservers[i].lastValue(); if (clickable) { certInIPOButton[i].setText(certInIPO[i].getText()); + syncToolTipText (certInIPO[i], certInIPOButton[i]); } else { certInIPOButton[i].clearPossibleActions(); } @@ -990,6 +995,7 @@ public class GameStatus extends GridPanel implements ActionListener { protected void setPoolCertButton(int i, boolean clickable, Object o) { setPoolCertButton(i, clickable); + if (clickable) syncToolTipText (certInPool[i], certInPoolButton[i]); if (clickable && o != null) { if (o instanceof PossibleAction) certInPoolButton[i].addPossibleAction((PossibleAction) o); @@ -1000,6 +1006,7 @@ public class GameStatus extends GridPanel implements ActionListener { boolean visible = rowVisibilityObservers[i].lastValue(); if (clickable) { certInPoolButton[i].setText(certInPool[i].getText()); + syncToolTipText (certInIPO[i], certInIPOButton[i]); } else { certInPoolButton[i].clearPossibleActions(); } @@ -1011,6 +1018,7 @@ public class GameStatus extends GridPanel implements ActionListener { setTreasuryCertButton(i, clickable); if (clickable && o != null) { + if (clickable) syncToolTipText (certInTreasury[i], certInTreasuryButton[i]); if (o instanceof PossibleAction) certInTreasuryButton[i].addPossibleAction((PossibleAction) o); } @@ -1020,6 +1028,7 @@ public class GameStatus extends GridPanel implements ActionListener { boolean visible = rowVisibilityObservers[i].lastValue(); if (clickable) { certInTreasuryButton[i].setText(certInTreasury[i].getText()); + syncToolTipText (certInTreasury[i], certInTreasuryButton[i]); } else { certInTreasuryButton[i].clearPossibleActions(); } @@ -1054,4 +1063,16 @@ public class GameStatus extends GridPanel implements ActionListener { if (action != null) playerCashButton[i].addPossibleAction(action); } + + protected void syncToolTipText (Field field, ClickField clickField) { + String baseText = field.getToolTipText(); + clickField.setToolTipText(Util.hasValue(baseText) ? baseText : ""); + } + + protected void addToolTipText (ClickField clickField, String addText) { + if (!Util.hasValue(addText)) return; + String baseText = clickField.getToolTipText(); + clickField.setToolTipText(Util.hasValue(baseText) ? baseText+"<br>"+addText : addText); + } + } diff --git a/rails/ui/swing/elements/Field.java b/rails/ui/swing/elements/Field.java index 76b674f..1c7816f 100644 --- a/rails/ui/swing/elements/Field.java +++ b/rails/ui/swing/elements/Field.java @@ -8,8 +8,7 @@ import java.util.*; import javax.swing.*; import javax.swing.border.Border; -import rails.game.model.ModelObject; -import rails.game.model.ViewUpdate; +import rails.game.model.*; import rails.util.Util; public class Field extends JLabel implements ViewObject { @@ -31,6 +30,9 @@ public class Field extends JLabel implements ViewObject { private boolean html = false; + /** Intended for (possibly varying) tooltip text that must be held across player actions */ + private String baseToolTipInfo = null; + public Field(String text) { super(text.equals("0%") ? "" : text); this.setBackground(NORMAL_BG_COLOUR); @@ -120,6 +122,23 @@ public class Field extends JLabel implements ViewObject { setBackground((Color)vu.getValue(key)); normalBgColour = getBackground(); setForeground (Util.isDark(normalBgColour) ? Color.WHITE : Color.BLACK); + } else if (ShareModel.SHARES.equalsIgnoreCase(key)) { + int count; + String type; + String[] items; + StringBuilder b = new StringBuilder(); + for (String typeAndCount : ((String)vu.getValue(key)).split(",")) { + Util.getLogger().debug(">>> "+typeAndCount+" <<<"); + if (!Util.hasValue(typeAndCount)) continue; + items = typeAndCount.split(":"); + count = Integer.parseInt(items[1]); + items = items[0].split("_"); + type = items[1] + (items.length > 2 && items[2].contains("P") ? "P" : ""); + if (b.length() > 0) b.append("<br>"); + b.append(count).append(" x ").append(type); + } + baseToolTipInfo = b.toString(); + setToolTipText ("<html>" + baseToolTipInfo); } } } @@ -142,4 +161,10 @@ public class Field extends JLabel implements ViewObject { public void setHtml() { html = true; } + + public String getBaseToolTipInfo() { + return baseToolTipInfo; + } + + } |
From: Stefan F. <ste...@us...> - 2011-11-16 11:23:07
|
data/18AL/18AL_Map_gamekit.svg | 1435 +++++++++++++++++++++++++++++++++++++++++ data/18AL/Map.xml | 1 2 files changed, 1436 insertions(+) New commits: commit 73f7d400b1be00a4b9fe9574f9fb25e180f5f8b1 Author: Stefan Frey <ste...@we...> Date: Wed Nov 16 12:25:21 2011 +0100 added 18AL map converted from 18AL gamekit by John David Galt (used with his permission) diff --git a/data/18AL/18AL_Map_gamekit.svg b/data/18AL/18AL_Map_gamekit.svg new file mode 100644 index 0000000..f4fcf7f --- /dev/null +++ b/data/18AL/18AL_Map_gamekit.svg @@ -0,0 +1,1435 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + version="1.1" + width="1131.25" + height="1440" + id="svg2" + xml:space="preserve"><defs + id="defs6" /><g + transform="matrix(1.25,0,0,-1.25,0,1440)" + id="g12"><text + transform="matrix(1,0,0,-1,885.3148,92.7162)" + id="text14"><tspan + x="0" + y="0" + id="tspan16" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">Q</tspan></text> +<text + transform="matrix(1,0,0,-1,886.477,149.4258)" + id="text18"><tspan + x="0" + y="0" + id="tspan20" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">P</tspan></text> +<text + transform="matrix(1,0,0,-1,885.3148,206.1351)" + id="text22"><tspan + x="0" + y="0" + id="tspan24" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">O</tspan></text> +<text + transform="matrix(1,0,0,-1,885.3148,262.8448)" + id="text26"><tspan + x="0" + y="0" + id="tspan28" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">N</tspan></text> +<text + transform="matrix(1,0,0,-1,884.1458,319.5541)" + id="text30"><tspan + x="0" + y="0" + id="tspan32" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">M</tspan></text> +<text + transform="matrix(1,0,0,-1,886.0944,376.2635)" + id="text34"><tspan + x="0" + y="0" + id="tspan36" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">L</tspan></text> +<text + transform="matrix(1,0,0,-1,885.3148,432.9731)" + id="text38"><tspan + x="0" + y="0" + id="tspan40" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">K</tspan></text> +<text + transform="matrix(1,0,0,-1,887.646,489.6825)" + id="text42"><tspan + x="0" + y="0" + id="tspan44" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">J</tspan></text> +<text + transform="matrix(1,0,0,-1,888.0389,546.3918)" + id="text46"><tspan + x="0" + y="0" + id="tspan48" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">I</tspan></text> +<text + transform="matrix(1,0,0,-1,885.3148,603.1012)" + id="text50"><tspan + x="0" + y="0" + id="tspan52" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">H</tspan></text> +<text + transform="matrix(1,0,0,-1,885.3148,659.8106)" + id="text54"><tspan + x="0" + y="0" + id="tspan56" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">G</tspan></text> +<text + transform="matrix(1,0,0,-1,886.477,716.5199)" + id="text58"><tspan + x="0" + y="0" + id="tspan60" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">F</tspan></text> +<text + transform="matrix(1,0,0,-1,886.0944,773.2295)" + id="text62"><tspan + x="0" + y="0" + id="tspan64" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">E</tspan></text> +<text + transform="matrix(1,0,0,-1,885.3148,829.9389)" + id="text66"><tspan + x="0" + y="0" + id="tspan68" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">D</tspan></text> +<text + transform="matrix(1,0,0,-1,885.7015,886.6485)" + id="text70"><tspan + x="0" + y="0" + id="tspan72" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">C</tspan></text> +<text + transform="matrix(1,0,0,-1,885.7015,943.3579)" + id="text74"><tspan + x="0" + y="0" + id="tspan76" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">B</tspan></text> +<text + transform="matrix(1,0,0,-1,885.3148,1000.0672)" + id="text78"><tspan + x="0" + y="0" + id="tspan80" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">A</tspan></text> +<text + transform="matrix(1,0,0,-1,9.3487,92.7162)" + id="text82"><tspan + x="0" + y="0" + id="tspan84" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">Q</tspan></text> +<text + transform="matrix(1,0,0,-1,10.5106,149.4258)" + id="text86"><tspan + x="0" + y="0" + id="tspan88" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">P</tspan></text> +<text + transform="matrix(1,0,0,-1,9.3487,206.1351)" + id="text90"><tspan + x="0" + y="0" + id="tspan92" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">O</tspan></text> +<text + transform="matrix(1,0,0,-1,9.3487,262.8448)" + id="text94"><tspan + x="0" + y="0" + id="tspan96" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">N</tspan></text> +<text + transform="matrix(1,0,0,-1,8.1797,319.5541)" + id="text98"><tspan + x="0" + y="0" + id="tspan100" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">M</tspan></text> +<text + transform="matrix(1,0,0,-1,10.1282,376.2635)" + id="text102"><tspan + x="0" + y="0" + id="tspan104" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">L</tspan></text> +<text + transform="matrix(1,0,0,-1,9.3487,432.9731)" + id="text106"><tspan + x="0" + y="0" + id="tspan108" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">K</tspan></text> +<text + transform="matrix(1,0,0,-1,11.6796,489.6825)" + id="text110"><tspan + x="0" + y="0" + id="tspan112" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">J</tspan></text> +<text + transform="matrix(1,0,0,-1,12.0728,546.3918)" + id="text114"><tspan + x="0" + y="0" + id="tspan116" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">I</tspan></text> +<text + transform="matrix(1,0,0,-1,9.3487,603.1012)" + id="text118"><tspan + x="0" + y="0" + id="tspan120" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">H</tspan></text> +<text + transform="matrix(1,0,0,-1,9.3487,659.8106)" + id="text122"><tspan + x="0" + y="0" + id="tspan124" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">G</tspan></text> +<text + transform="matrix(1,0,0,-1,10.5106,716.5199)" + id="text126"><tspan + x="0" + y="0" + id="tspan128" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">F</tspan></text> +<text + transform="matrix(1,0,0,-1,10.1282,773.2295)" + id="text130"><tspan + x="0" + y="0" + id="tspan132" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">E</tspan></text> +<text + transform="matrix(1,0,0,-1,9.3487,829.9389)" + id="text134"><tspan + x="0" + y="0" + id="tspan136" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">D</tspan></text> +<text + transform="matrix(1,0,0,-1,9.735,886.6485)" + id="text138"><tspan + x="0" + y="0" + id="tspan140" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">C</tspan></text> +<text + transform="matrix(1,0,0,-1,9.735,943.3579)" + id="text142"><tspan + x="0" + y="0" + id="tspan144" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">B</tspan></text> +<text + transform="matrix(1,0,0,-1,9.3487,1000.0672)" + id="text146"><tspan + x="0" + y="0" + id="tspan148" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">A</tspan></text> +<text + transform="matrix(1,0,0,-1,796.9272,5.9508)" + id="text150"><tspan + x="0" + y="0" + id="tspan152" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">8</tspan></text> +<text + transform="matrix(1,0,0,-1,697.477,5.9508)" + id="text154"><tspan + x="0" + y="0" + id="tspan156" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">7</tspan></text> +<text + transform="matrix(1,0,0,-1,598.0496,5.9508)" + id="text158"><tspan + x="0" + y="0" + id="tspan160" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">6</tspan></text> +<text + transform="matrix(1,0,0,-1,498.6,5.9508)" + id="text162"><tspan + x="0" + y="0" + id="tspan164" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">5</tspan></text> +<text + transform="matrix(1,0,0,-1,399.1731,5.9508)" + id="text166"><tspan + x="0" + y="0" + id="tspan168" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">4</tspan></text> +<text + transform="matrix(1,0,0,-1,299.7232,5.9508)" + id="text170"><tspan + x="0" + y="0" + id="tspan172" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">3</tspan></text> +<text + transform="matrix(1,0,0,-1,200.2961,5.9508)" + id="text174"><tspan + x="0" + y="0" + id="tspan176" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">2</tspan></text> +<text + transform="matrix(1,0,0,-1,100.8462,5.9508)" + id="text178"><tspan + x="0" + y="0" + id="tspan180" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">1</tspan></text> +<text + transform="matrix(1,0,0,-1,796.9272,1128.6561)" + id="text182"><tspan + x="0" + y="0" + id="tspan184" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">8</tspan></text> +<text + transform="matrix(1,0,0,-1,697.477,1128.6561)" + id="text186"><tspan + x="0" + y="0" + id="tspan188" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">7</tspan></text> +<text + transform="matrix(1,0,0,-1,598.0496,1128.6561)" + id="text190"><tspan + x="0" + y="0" + id="tspan192" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">6</tspan></text> +<text + transform="matrix(1,0,0,-1,498.6,1128.6561)" + id="text194"><tspan + x="0" + y="0" + id="tspan196" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">5</tspan></text> +<text + transform="matrix(1,0,0,-1,399.1731,1128.6561)" + id="text198"><tspan + x="0" + y="0" + id="tspan200" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">4</tspan></text> +<text + transform="matrix(1,0,0,-1,299.7232,1128.6561)" + id="text202"><tspan + x="0" + y="0" + id="tspan204" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">3</tspan></text> +<text + transform="matrix(1,0,0,-1,200.2961,1128.6561)" + id="text206"><tspan + x="0" + y="0" + id="tspan208" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">2</tspan></text> +<text + transform="matrix(1,0,0,-1,100.8462,1128.6561)" + id="text210"><tspan + x="0" + y="0" + id="tspan212" + style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">1</tspan></text> +<path + d="m 35.2346,1111.4646 834.0548,0 0,-1082.1263 -834.0548,0" + id="path214" + style="fill:#bfbfbf;fill-opacity:1;fill-rule:evenodd;stroke:none" /><path + d="m 35.2346,1111.4646 834.0548,0 0,-1082.1263 -834.0548,0 0,1082.1263 z" + id="path216" + style="fill:none;stroke:#1f1917;stroke-width:5.66930008;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" /><path + d="m 770.0769,1111.4649 99.2125,0 0,-1082.1263 -99.2125,0 0,1082.1263 z" + id="path218" + style="fill:#dedede;fill-opacity:1;fill-rule:evenodd;stroke:#1f1917;stroke-width:5.66930008;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" /><text + transform="matrix(1,0,0,-1,792.6729,45.3526)" + id="text220"><tspan + x="0 3.9973321 13.336444 19.338444 24.668221 29.337776 34.007332 39.337109 45.339108 48.67622" + y="0" + id="tspan222" + style="font-size:12.00399971px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">Impassable</tspan></text> +<path + d="m 789.9194,77.0655 59.5275,0" + id="path224" + style="fill:none;stroke:#1f1917;stroke-width:7.49989986;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:15, 7.5;stroke-dashoffset:0" /><text + transform="matrix(1,0,0,-1,801.6667,110.5472)" + id="text226"><tspan + x="0 6.6742239 15.341112 20.670889 30.01" + y="0" + id="tspan228" + style="font-size:12.00399971px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#1f1917;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:TimesNewRoman;-inkscape-font-specification:TimesNewRoman">Swamp</tspan></text> +<g + transform="matrix(61.49225,0,0,38.24532,788.9372,138.6227)" + id="g230"><image + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQEAAACgCAYAAAAM29kCAAAABHNCSVQICAgIfAhkiAAAIABJREFUeJzsvVuTHMlx7/lzj8zqbgCDoajLsb287dN+rF2zPVpbSqSoOweYGaABDHXEpXQOKZLnkNr9ZjI97JrJ1mgi5wKguysz3PfBI/JWWY0GuoYNDNrNxjCdVZWXyAgP97//3V3+9V//xblBcU+IZEQNsx40TT7LiAiCAQbeoGxwS4DhZJA0OZuBWPmxAjoeH2RxTDIg4M3kuI7f9fL/eg76EpEXgCJ+D+/v4jI995tIA/Rx3/VaUP5uxnuRLZDLPaXyu+mzGU6PaIeI4NaCt+X3BtLF1zxNjuXy9w2KdEBajD+svztW3u91x/+bIJN5M8zrybi4Lr43+Y7rMJNuTFQNd8i9ktIJ1iuqCTMjqeIWN+wOKSl9fkmTcvzYFZ8t2jg2DsDis1WR+eIbflc/LgpIOh49/gHwHFUld3d48vjHuG3e9NHn9zhVxbP7n4rG/QKj4tjE/wMqR7gdk81ISXB8cg5hV9aO/a5FV8Yfbhf368jKWM3WweVy40oAMSw7KdVdC8xAtcE9Fru7otJg1pFSwtgy7pBWFtBkZ/AVzbjv75nFMN7T/LsZ5AKRs7AIRNBGcHkJHEIJ1PuvlowzX6A2vlSfPDdeFKEPloObkrTBfTs/986keEt2UV9YcnulPLdP/35LnuFtldXNTXc+v3El4CZocpxznI7UCiJOzh2aFHcvy0FxV0SOgU1RFAqe1xUB7JrYr39343kwVCHTA4Joxtle49xFdkzyuntfYg77ZPeUHpWGcAcu0LbD6cETbi1CfDYqgN1JcLOy5zlhYfrvkWu7Y98w2dnUbLEOdsfrxpWASItzDvqCx4/+Gm22YOf0eTv4ie1GyBjCfT598FMsf4hqInNOWjX5L1EEy4k1UyC2mFQS/rUruHB2doG2xRXJPQ2bYohfRwyY+OmTa+/I7J7Ly5YOtxPcFU9f8OTZ93C2eP8Bp5/+BM8rz7y0Pm5U9tzDKxf3FRTE+yDDOC2tx8W4ztbB/LMbVwJWsT1xNGVcXqJpi3iPm4clkEDo8D7Fzqdg1kEqQNkb+7bTwVhzE8DMEVVUG1Qb8CYUQw7L5PqyXJjCfqCs3q8N1omwReQYQ0iNYn6GaI/oEe49SDN5nomie9uAtaWi2nFf1u7zKpjPN1yc17SGdsfrxpWAaAX5WtyOwR33Hu8z+AaRntydQQOqG8K/DR9Y6YH28LvBRGOqCm7bctlwTcQymg6Eqg+uwBL1XjPfdnc/UcF5GePUn6F2DxEl54pV5EmUYLjoYe79IFKU2j7Z926v4iq8F6JzRfA6LvDbEh0QzZg56sc8+vj/LCE7Q11xFySd8/CT79LnHvGMWMK9RUng/WLHXIb3Vi54lQGaDGSEKePfzaZBNXZqcSFCdteUvS+tPsty9yee2Rsg4d7x6PTPIX0JCI8++Uc8nxTzal9oVCb/f9OyDOtO5DI3bvr791qqpcclUSUunfc3rgTcHRHFHfATxAP1NgAx3DMmEi5AHw+npOKnJ5wAD1UFM0NkoQj2TpKJ2fnK71apyH35/0OBUjs4Rb/z0pwewQFFREJxqsR96AtIn4MfgyfE7wNhIczvvZ5s/3V+53LpGM6tocBnyvH6GsTK+495UL8Xc+H13MSYi1f/zfL7cX+XW1lv8pup7HzfNKLcZQ2Mn62N6/q7vnElMJ+EOm7eZTELCnaEWUY1oXKO83kg4m5YWQh1cOPfFUUw84Or7PE5F/ckYjtGhfsav+ANxBt2XtgEwFNtyDncD3cffGVpXuJygYrjZMSPwU6CfKVOzj2qab477Fgdb4NbUACtHaLU+Le7o5IKRiSAo1rHI+waj12jfB+E9FqPFwvTEa6+KKXefrlHROASfGrtGvGPrCqDtWPu5fkmiqTOfctxLlXBvB8V4yvm6c0rAWCX/Vbj2j3uRzx9/PNwE+SMh598D/eM2j2e |
From: Erik V. <ev...@us...> - 2011-11-13 19:38:15
|
data/GamesList.xml | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) New commits: commit 280f9cca14585646c93a981d7e2426d93f419f41 Author: Erik Vos <eri...@xs...> Date: Sun Nov 13 20:37:38 2011 +0100 1835 declared "fully playable" diff --git a/data/GamesList.xml b/data/GamesList.xml index e7be028..0e0c25e 100644 --- a/data/GamesList.xml +++ b/data/GamesList.xml @@ -42,6 +42,32 @@ Limitations: <Players minimum="2" maximum="6"/> </Game> + <Game name="1835"> + <Note>Fully playable</Note> + <Description>1835 (Germany) +Designed by Michael Meier-Bachl +Published 1990 by Hans im Glück Verlag + +Three variants have been implemented: + - Standard + - Clemens + - Snake + +Known limitations: + - OBB and PfB do not always close when required. + Workaround: close minor via the Special menu. + </Description> + <Option name="Variant" values="Standard,Clemens,Snake"/> + <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> + <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> + <Option name="NoMapMode" type="toggle" default="no" /> + <Option name="BYFloatsAt" values="50%,20%" default="50%"/> + <Option name="LDIncome" values="20M,30M" default="20M"/> + <Option name="MinorsRequireFloatedBY" type="toggle" default="no"/> + <Players minimum="3" maximum="7"/> + </Game> + <Game name="1851"> <Note>Fully playable</Note> <Description>1851 - The Railroads come to Kentucky & Tennessee @@ -192,32 +218,6 @@ Should work, but has not been extensively tested. Limitations as with 1830. <Option name="TwoPlayersCertLimit70Percent" type="toggle" default="no"/> <Players minimum="2" maximum="5"/> </Game> - - <Game name="1835"> - <Note>Almost playable</Note> - <Description>1835 (Germany) -Designed by Michael Meier-Bachl -Published 1990 by Hans im Glück Verlag - -Three variants have been implemented: - - Standard - - Clemens - - Snake - -Known bugs: - - OBB and PfB do not always close when required. - Workaround: close minor via the Special menu. - </Description> - <Option name="Variant" values="Standard,Clemens,Snake"/> - <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> - <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> - <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> - <Option name="NoMapMode" type="toggle" default="no" /> - <Option name="BYFloatsAt" values="50%,20%" default="50%"/> - <Option name="LDIncome" values="20M,30M" default="20M"/> - <Option name="MinorsRequireFloatedBY" type="toggle" default="no"/> - <Players minimum="3" maximum="7"/> - </Game> <Game name="1870"> <Note>Not yet playable</Note> |
From: Erik V. <ev...@us...> - 2011-11-13 13:41:31
|
data/1870/TileSet.xml | 2 +- data/18AL/TileSet.xml | 2 +- data/18Kaas/TileSet.xml | 2 +- rails/game/OperatingRound.java | 4 +++- 4 files changed, 6 insertions(+), 4 deletions(-) New commits: commit e9fbe53c5ef3c0b6f047771d478dbd919a7ad1db Author: Erik Vos <eri...@xs...> Date: Sun Nov 13 14:35:29 2011 +0100 Fixed two 18AL bugs. 1. (reported by Thomas Wall Hannaford): Green tile #25 was not upgradeable to #45 and #46. This fix also applies to 1870 and 18Kaas. 2. (reported by Hildebrand Tigelaar): The registration of buying one train to prevent any further buys was not undoable. This fix probably also applies to other games where similar buying restrictions exist. diff --git a/data/1870/TileSet.xml b/data/1870/TileSet.xml index 3a1b9d1..9fc9fd2 100644 --- a/data/1870/TileSet.xml +++ b/data/1870/TileSet.xml @@ -80,7 +80,7 @@ <Upgrade id="42,43,46,47" /> </Tile> <Tile id="25" quantity="3"> - <Upgrade id="40" /> + <Upgrade id="40,45,46" /> </Tile> <Tile id="26" quantity="2"> <Upgrade id="42,44,45" /> diff --git a/data/18AL/TileSet.xml b/data/18AL/TileSet.xml index 9afa970..9247c8c 100644 --- a/data/18AL/TileSet.xml +++ b/data/18AL/TileSet.xml @@ -82,7 +82,7 @@ <Upgrade id="42,43,46,47" /> </Tile> <Tile id="25" quantity="1"> - <Upgrade id="40" /> + <Upgrade id="40,45,46" /> </Tile> <Tile id="26" quantity="1"> <Upgrade id="42,44,45" /> diff --git a/data/18Kaas/TileSet.xml b/data/18Kaas/TileSet.xml index fe8ff75..87cc7f0 100644 --- a/data/18Kaas/TileSet.xml +++ b/data/18Kaas/TileSet.xml @@ -77,7 +77,7 @@ <Upgrade id="42,43,46,47" /> </Tile> <Tile id="25" quantity="1"> - <Upgrade id="40" /> + <Upgrade id="40,45,46" /> </Tile> <Tile id="26" quantity="1"> <Upgrade id="42,44,45" /> diff --git a/rails/game/OperatingRound.java b/rails/game/OperatingRound.java index 458a6a7..604caeb 100644 --- a/rails/game/OperatingRound.java +++ b/rails/game/OperatingRound.java @@ -2749,7 +2749,9 @@ public class OperatingRound extends Round implements Observer { } if (oldHolder.getOwner() instanceof Bank) { - trainsBoughtThisTurn.add(train.getCertType()); + //trainsBoughtThisTurn.add(train.getCertType()); + new AddToList<TrainCertificateType>(trainsBoughtThisTurn, train.getCertType(), + operatingCompany.get().getName()+"_TrainsBoughtThisTurn"); } if (stb != null) { |
From: Erik V. <ev...@us...> - 2011-11-11 21:41:01
|
data/1825/Map.xml | 79 ++++++++++++++++++++++++++++++++++++++++++++++-- data/1825/TileSet.xml | 3 + data/1825/Tiles.xml | 3 + tiles/HandmadeTiles.xml | 3 + tiles/svg/tile-4000.svg | 6 +++ tiles/svg/tile-4004.svg | 6 +++ tiles/svg/tile-4005.svg | 6 +++ 7 files changed, 104 insertions(+), 2 deletions(-) New commits: commit 8f9b2d141ab02bfb31b78c4f4063116fc88fd7eb Author: Erik Vos <eri...@xs...> Date: Fri Nov 11 22:39:34 2011 +0100 Added blue water tile -4000 and half tiles -4004 and -4005. Applied to 1825 (all units and regional kits). The tiles have type "fixed", so that no track can be laid towards any of them. diff --git a/data/1825/Map.xml b/data/1825/Map.xml index 9143a6b..ee91879 100644 --- a/data/1825/Map.xml +++ b/data/1825/Map.xml @@ -10,39 +10,52 @@ <Hex name="C7" tile="-1" cost="100" city="Pitlochry" open="1,2"/> <Hex name="C9" tile="0" cost="100" open="3"/> <Hex name="C11" tile="0" open="2"/> + <Hex name="C13" tile="-4004" orientation="4"/> + <Hex name="D0" tile="-4004" orientation="1"/> <Hex name="D2" tile="0" cost="100"/> <Hex name="D4" tile="0" cost="100"/> <Hex name="D6" tile="0" cost="100"/> <Hex name="D8" tile="0" cost="100"/> <Hex name="D10" tile="-1" city="Montrose"/> + <Hex name="D12" tile="-4000"/> <Hex name="E1" tile="-5" orientation="5" cost="40" city="Oban"/> <Hex name="E3" tile="0" cost="100"/> <Hex name="E5" tile="0" cost="100"/> <Hex name="E7" tile="-25005" orientation="1" city="Perth"/> <Hex name="E9" tile="-10" cost="80" city="Dundee"/> + <Hex name="E11" tile="-4000"/> <Hex name="F2" tile="-25012" city="Helensburgh, Gourock"/> <Hex name="F4" tile="-1" cost="40" city="Dumbarton"/> <Hex name="F6" tile="-1" city="Stirling"/> <Hex name="F8" tile="-2" orientation="3" cost="120" city="Dumfermline, Kirkaldy"/> <Hex name="F10" tile="-25013" city="Anstruther"/> + <Hex name="F12" tile="-4000"/> + <Hex name="G1" tile="-4004" orientation="1"/> <Hex name="G3" tile="-10" city="Greenock"/> <Hex name="G5" tile="-25002" city="Glasgow"/> <Hex name="G7" tile="-2" city="Coatbridge, Airdrie"/> <Hex name="G9" tile="-20" city="Edinburgh, Leith"/> <Hex name="G11" tile="0"/> + <Hex name="G13" tile="-4000"/> + <Hex name="G15" tile="-4000"/> + <Hex name="H2" tile="-4000"/> <Hex name="H4" tile="-2" city="Ayr, Kilmarnock" reserved="GSWR"/> <Hex name="H6" tile="-10" city="Motherwell"/> <Hex name="H8" tile="0" cost="100"/> <Hex name="H10" tile="0" cost="100"/> <Hex name="H12" tile="0"/> <Hex name="H14" tile="0"/> + <Hex name="H16" tile="-4004" orientation="4"/> + <Hex name="I1" tile="-4000"/> <Hex name="I3" tile="0" cost="100"/> <Hex name="I5" tile="0"/> <Hex name="I7" tile="0" cost="100"/> <Hex name="I9" tile="0" cost="100"/> <Hex name="I11" tile="0" cost="100"/> <Hex name="I13" tile="-2"/> + <Hex name="I15" tile="-4000"/> + <Hex name="J0" tile="-4004" orientation="1"/> <Hex name="J2" tile="-10" city="Stranraer"/> <Hex name="J4" tile="0" cost="100"/> <Hex name="J6" tile="-10" city="Dumfries"/> @@ -50,11 +63,16 @@ <Hex name="J10" tile="-10" ciry="Carlisle"/> <Hex name="J12" tile="0" cost="100"/> <Hex name="J14" tile="-20" cost="40" city="Newcastle u/T, Sunderland"/> - <Hex name="K7" tile="-25014" orientation="2" city="Maryport"/> + <Hex name="J16" tile="-4000"/> + <Hex name="K1" tile="-4005" orientation="1"/> + <Hex name="K3" tile="-4005" orientation="1"/> + <Hex name="K5" tile="-4005" orientation="1"/> + <Hex name="K7" tile="-25014" city="Maryport"/> <Hex name="K9" tile="0" cost="100"/> <Hex name="K11" tile="0" cost="100"/> <Hex name="K13" tile="-1" city="Durham"/> <Hex name="K15" tile="-2" city="Stockton, Middlesbro"/> + <Hex name="K17" tile="-4000"/> <IfOption name="Include" parm="Unit2" value="no"> <Hex name="L8" tile="-25017" orientation="1"/> <Hex name="L10" tile="-25017" orientation="1"/> @@ -73,29 +91,39 @@ <Hex name="K13" tile="-25017" orientation="4"/> <Hex name="K15" tile="-25017" orientation="4"/> </IfOption> + <Hex name="K17" tile="-4000"/> + <Hex name="K19" tile="-4005" orientation="4"/> + <Hex name="L6" tile="-4000"/> <Hex name="L8" tile="0"/> <Hex name="L10" tile="0"/> <Hex name="L12" tile="0" cost="100"/> <Hex name="L14" tile="-10" city="Darlington" reserved="NER"/> <Hex name="L16" tile="0" open="2"/> <Hex name="L18" tile="-1" city="Scarborough"/> + <Hex name="L20" tile="-4000"/> + <Hex name="M7" tile="-4000"/> <Hex name="M9" tile="-25008" city="Barrow"/> <Hex name="M11" tile="0" cost="100"/> <Hex name="M13" tile="0" cost="100"/> <Hex name="M15" tile="-2" city="Harrogate, York"/> <Hex name="M17" tile="0"/> <Hex name="M19" tile="0"/> + <Hex name="M21" tile="-4004" orientation="4"/> + <Hex name="N8" tile="-4000"/> <Hex name="N10" tile="-10" city="Preston" reserved="L&Y"/> <Hex name="N12" tile="-2" city="Burnley, Halifax"/> <Hex name="N14" tile="-20" city="Bradford, Leeds"/> <Hex name="N16" tile="0"/> <Hex name="N18" tile="-10" cost="40" city="Hull"/> + <Hex name="N20" tile="-4000"/> + <Hex name="O7" tile="-4004" orientation="1"/> <Hex name="O9" tile="-25009" cost="40" city="Liverpool"/> <Hex name="O11" tile="-25002" orientation="1" city="Manchester"/> <Hex name="O13" tile="0" cost="100"/> <Hex name="O15" tile="-25010" city="Barnsley, Doncaster"/> <Hex name="O17" tile="0" cost="40"/> <Hex name="O19" tile="0"/> + <Hex name="O21" tile="-4000"/> <Hex name="P8" tile="-41" orientation="4"/> <Hex name="P10" tile="0" cost="40"/> <Hex name="P12" tile="0" cost="100"/> @@ -103,12 +131,14 @@ <Hex name="P16" tile="-20" city="Sheffield, Rotherham"/> <Hex name="P18" tile="-1" city="Lincoln"/> <Hex name="P20" tile="0"/> + <Hex name="P22" tile="-4004" orientation="4"/> <Hex name="Q9" tile="0" open="0,5"/> <Hex name="Q11" tile="-25004" city="Crewe"/> <Hex name="Q13" tile="-2" city="Newcastle u/L, Hanley" open="0,5"/> <Hex name="Q15" tile="-10" city="Derby" open="0,5" reserved="MR"/> <Hex name="Q17" tile="-10" city="Nottingham" open="0,5"/> <Hex name="Q19" tile="0" open="0,5"/> + <Hex name="Q21" tile="-4000"/> <IfOption name="Include" parm="Unit1" value="no"> <IfOption name="Include" parm="R1" value="no"> <Hex name="Q7" tile="-25018" orientation="1"/> @@ -141,10 +171,12 @@ <Hex name="Q17" tile="-25017" orientation="4"/> <Hex name="Q19" tile="-25017" orientation="4"/> </IfOption> + <Hex name="Q21" tile="-4000"/> <IfOption name="Include" parm="R3" value="no"> <Hex name="Q23" tile="-25017" orientation="4"/> <Hex name="Q25" tile="-25017" orientation="4"/> </IfOption> + <Hex name="Q27" tile="-4000"/> <IfOption name="Include" parm="R1" value="no"> <Hex name="R6" tile="-25018" orientation="1"/> <Hex name="S7" tile="-25000" orientation="1"/> @@ -155,8 +187,9 @@ <IfOption name="Include" parm="R2" value="no"> <Hex name="X6" tile="-25018" orientation="1"/> <Hex name="Y7" tile="-25000" orientation="1"/> + <Hex name="Z8" tile="-4005" orientation="1"/> </IfOption> - <Hex name="R8" tile="0" open="0,1,2,3"/> + <Hex name="R8" tile="0"/> <Hex name="R10" tile="-1" city="Shrewsbury" orientation="3"/> <Hex name="R12" tile="-20" orientation="1" city="Wolverhampton, Walsall" open="2,3"/> @@ -171,6 +204,7 @@ <Hex name="R22" tile="0" open="3"/> <Hex name="R24" tile="-10" city="Norwich" orientation="4"/> <Hex name="R26" tile="-1" city="Great Yarmouth" orientation="1"/> + <Hex name="R28" tile="-4004" orientation="4"/> <Hex name="S9" tile="0" open="1"/> <Hex name="S11" tile="0"/> <Hex name="S13" tile="-25002" city="Birmingham"/> @@ -180,6 +214,7 @@ <Hex name="S21" tile="0"/> <Hex name="S23" tile="0"/> <Hex name="S25" tile="0"/> + <Hex name="S27" tile="-4000"/> <Hex name="T8" tile="0" cost="100"/> <Hex name="T10" tile="0"/> <Hex name="T12" tile="0"/> @@ -189,6 +224,7 @@ <Hex name="T20" tile="-1" city="Cambridge"/> <Hex name="T22" tile="0"/> <Hex name="T24" tile="-1" city="Ipswich" orientation="1"/> + <Hex name="T26" tile="-4000"/> <Hex name="U9" tile="0" open="1"/> <Hex name="U11" tile="-1" cost="40" city="Gloucester" orientation="1"></Hex> <Hex name="U13" tile="0"/> @@ -198,6 +234,7 @@ <Hex name="U21" tile="0"/> <Hex name="U23" tile="-1" city="Colchester" reserved="GER"/> <Hex name="U25" tile="-104" orientation="2" city="Harwich"/> + <Hex name="U27" tile="-4004" orientation="4"/> <Hex name="V8" tile="-20" city="Cardiff, Newport"/> <Hex name="V10" tile="-25003" city="Bristol"/> <Hex name="V12" tile="0"/> @@ -206,6 +243,9 @@ <Hex name="V18" tile="0" reserved="GWR"/> <Hex name="V20" tile="-25001" city="London"/> <Hex name="V22" tile="-25006" value="20" city="Southend"/> + <Hex name="V24" tile="-4000"/> + <Hex name="V26" tile="-4000"/> + <Hex name="W7" tile="-4000"/> <IfOption name="Include" parm="R2" value="no"> <Hex name="W9" tile="-41" orientation="3"/> </IfOption> @@ -221,6 +261,7 @@ <Hex name="W21" tile="0"/> <Hex name="W23" tile="-10" city="Ashford" orientation="5"/> <Hex name="W25" tile="-5" orientation="2" city="Dover"/> + <Hex name="W27" tile="-4004" orientation="4"/> <Hex name="X8" tile="0" open="0,1"/> <Hex name="X10" tile="0"/> <Hex name="X12" tile="0"/> @@ -230,45 +271,79 @@ <Hex name="X20" tile="-10" city="Brighton" orientation="5" reserved="LBSC"/> <Hex name="X22" tile="-1" city="Hastings" orientation="2"/> <Hex name="X24" tile="0"/> + <Hex name="X26" tile="-4000"/> <Hex name="Y9" tile="0" open="1"/> <Hex name="Y11" tile="-1" city="Weymouth" orientation="3"/> <Hex name="Y13" tile="-25007" city="Bournemouth"/> + <Hex name="Y15" tile="-4000"/> <Hex name="Y17" tile="-7" orientation="4"/> <Hex name="Y19" tile="-7" orientation="4"/> + <Hex name="Y21" tile="-4000"/> + <Hex name="Y23" tile="-4000"/> + <Hex name="Y25" tile="-4000"/> + <Hex name="Z10" tile="-4005" orientation="1"/> + <Hex name="Z12" tile="-4005" orientation="1"/> <IfOption name="Include" parm="R1" value="yes"> + <Hex name="O3" tile="-4005" orientation="4"/> + <Hex name="O5" tile="-4005" orientation="4"/> + <Hex name="O7" tile="-4005" orientation="4"/> + <Hex name="P2" tile="-4004" orientation="1"/> <Hex name="P4" tile="-5" city="Holyhead"/> <Hex name="P6" tile="0" cost="40"/> <IfOption name="Include" parm="Unit2" value="no"> <Hex name="P8" tile="-25018" orientation="4"/> <Hex name="Q9" tile="-25017" orientation="4"/> </IfOption> + <Hex name="Q3" tile="-4000"/> <Hex name="Q5" tile="-1" city="Portmadoc"/> <Hex name="Q7" tile="0" cost="100"/> + <Hex name="R4" tile="-4000"/> <Hex name="R6" tile="0"/> + <Hex name="S1" tile="-4000"/> + <Hex name="S3" tile="-4000"/> <Hex name="S5" tile="-1" city="Aberystwyth"/> <Hex name="S7" tile="0" cost="100"/> + <Hex name="T0" tile="-4000"/> <Hex name="T2" tile="-10" city="Fishguard"/> <Hex name="T4" tile="0"/> <Hex name="T6" tile="0" cost="100"/> + <Hex name="U99" tile="-4004" orientation="1"/> <Hex name="U1" tile="-25015" city="Milford Haven"/> <Hex name="U3" tile="0"/> <Hex name="U5" tile="0"/> <Hex name="U7" tile="-2"/> + <Hex name="V0" tile="-4000"/> + <Hex name="V2" tile="-4000"/> + <Hex name="V4" tile="-4000"/> <Hex name="V6" tile="-25007" orientation="1" city="Swansea"/> </IfOption> <IfOption name="Include" parm="R2" value="yes"> + <Hex name="W3" tile="-4000"/> + <Hex name="W5" tile="-4000"/> + <Hex name="X0" tile="-4000"/> + <Hex name="X2" tile="-4000"/> <Hex name="X4" tile="-1" city="Barnstaple"/> <Hex name="X6" tile="0" cost="100"/> + <Hex name="Y99" tile="-4000"/> <Hex name="Y1" tile="0"/> <Hex name="Y3" tile="0"/> <Hex name="Y5" tile="0" cost="100"/> <Hex name="Y7" tile="-10" city="Exeter"/> + <Hex name="Z98" tile="-4000"/> <Hex name="Z0" tile="0"/> <Hex name="Z2" tile="-1" city="Fowey"/> <Hex name="Z4" tile="-20" city="Devenport, Plymouth"/> <Hex name="Z6" tile="-1" city="Torquay"/> + <Hex name="Z8" tile="-4000"/> + <Hex name="AA97" tile="-4004" orientation="1"/> <Hex name="AA99" tile="-1" city="Penzance"/> <Hex name="AA1" tile="-10" city="Falmouth"/> + <Hex name="AA3" tile="-4000"/> + <Hex name="AA5" tile="-4005" orientation="1"/> + <Hex name="AA7" tile="-4005" orientation="1"/> + <Hex name="AB98" tile="-4005" orientation="1"/> + <Hex name="AB0" tile="-4005" orientation="1"/> + <Hex name="AB2" tile="-4005" orientation="1"/> </IfOption> <IfOption name="Include" parm="R3" value="yes"> <Hex name="Q23" tile="-25014" orientation="1" city="Melton Constable"/> diff --git a/data/1825/TileSet.xml b/data/1825/TileSet.xml index 4ab3605..c4441ef 100644 --- a/data/1825/TileSet.xml +++ b/data/1825/TileSet.xml @@ -39,6 +39,9 @@ <Tile id="-25016"/> <Tile id="-25017"/> <Tile id="-25018"/> + <Tile id="-4000"/> + <Tile id="-4004"/> + <Tile id="-4005"/> <!-- Yellow tiles --> <Tile id="1" quantity="1" > <Upgrade id="14"></Upgrade></Tile> diff --git a/data/1825/Tiles.xml b/data/1825/Tiles.xml index bbd1dc6..cdc0d7f 100644 --- a/data/1825/Tiles.xml +++ b/data/1825/Tiles.xml @@ -146,6 +146,9 @@ </Tile> <Tile colour="white" id="-25017" name="empty half-tile (W)"/> <Tile colour="white" id="-25018" name="empty half-tile (N)"/> + <Tile colour="fixed" id="-4000" name="water"/> + <Tile colour="fixed" id="-4004" name="water half-tile (W)"/> + <Tile colour="fixed" id="-4005" name="water half-tile (N)"/> <Tile colour="yellow" id="1" name="1"> <Station id="city1" position="408" type="Town" value="10"/> <Station id="city2" position="108" type="Town" value="10"/> diff --git a/tiles/HandmadeTiles.xml b/tiles/HandmadeTiles.xml index 7da6aae..4282909 100644 --- a/tiles/HandmadeTiles.xml +++ b/tiles/HandmadeTiles.xml @@ -51,6 +51,9 @@ <Track from="city2" gauge="normal" to="side3"/> <Track from="city2" gauge="normal" to="side2"/> </Tile> + <Tile colour="fixed" id="-4000" name="water"/> + <Tile colour="fixed" id="-4004" name="water half-tile (W)"/> + <Tile colour="fixed" id="-4005" name="water half-tile (N)"/> <Tile colour="white" id="-25000" name="empty tile, unlayable"/> <Tile colour="white" id="-25017" name="empty half-tile (W)"/> <Tile colour="white" id="-25018" name="empty half-tile (N)"/> diff --git a/tiles/svg/tile-4000.svg b/tiles/svg/tile-4000.svg new file mode 100644 index 0000000..1abecac --- /dev/null +++ b/tiles/svg/tile-4000.svg @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> + <path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" + fill="#60A0FF" stroke="black" stroke-width="1" + stroke-linejoin="round"/> +</svg> \ No newline at end of file diff --git a/tiles/svg/tile-4004.svg b/tiles/svg/tile-4004.svg new file mode 100644 index 0000000..4bb210d --- /dev/null +++ b/tiles/svg/tile-4004.svg @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> + <path d=" M 98,0 L 294,0 L 392,170 L 0,170 Z" + fill="#60A0FF" stroke="black" stroke-width="1" + stroke-linejoin="round"/> +</svg> \ No newline at end of file diff --git a/tiles/svg/tile-4005.svg b/tiles/svg/tile-4005.svg new file mode 100644 index 0000000..050af8b --- /dev/null +++ b/tiles/svg/tile-4005.svg @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> + <path d=" M 98,0 L 196,0 L 196,340 L 98,340 L 0,170 Z" + fill="#60A0FF" stroke="black" stroke-width="1" + stroke-linejoin="round"/> +</svg> \ No newline at end of file |
From: Stefan F. <ste...@us...> - 2011-11-11 17:59:59
|
rails.bat | 2 +- rails.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) New commits: commit 0bd000bb2094eb42820330ae06258253933cc753 Author: Stefan Frey <ste...@we...> Date: Fri Nov 11 17:58:34 2011 +0100 fixed missing version number changes in rails.bat and rails.sh diff --git a/rails.bat b/rails.bat index 6a02b52..a314500 100644 --- a/rails.bat +++ b/rails.bat @@ -1,2 +1,2 @@ -java -jar rails-1.5.2.jar %1 \ No newline at end of file +java -jar rails-1.5.3.jar %1 \ No newline at end of file diff --git a/rails.sh b/rails.sh index f636704..ec6c136 100644 --- a/rails.sh +++ b/rails.sh @@ -1,3 +1,3 @@ #!/bin/bash -java -jar ./rails-1.5.2.jar $1 \ No newline at end of file +java -jar ./rails-1.5.3.jar $1 \ No newline at end of file |
From: Stefan F. <ste...@us...> - 2011-11-11 16:40:40
|
Tag 'v1.5.3' created by Stefan Frey <ste...@we...> at 2011-11-11 16:38 +0000 Bug fix release 1.5.3 containing - Critical bug fixed: Game stops in auction phase after a player can only pass (18EU and other games) - Fixed zooming bug allows usage of background maps (18EU and 18GA only) - Added background map for 18GA supplied by Peter Mumford (thanks!) Note: To show a background map, the option has to be switched on in Configuration => Map/Report => Display background map. Background maps are only available for 18EU and 18GA so far. Changes since v1.5.2-3: --- 0 files changed --- |
From: Stefan F. <ste...@us...> - 2011-11-11 16:39:58
|
.settings/org.eclipse.core.resources.prefs | 3 .settings/org.eclipse.core.runtime.prefs | 3 LocalisedText.properties | 4 build.xml | 2 data/1825/CompanyManager.xml | 4 data/1825/Game.xml | 4 data/1835/CompanyManager.xml | 2 data/1835/Game.xml | 8 data/1835/Tiles.xml | 2 data/1851/CompanyManager.xml | 4 data/1851/Game.xml | 4 data/1880/CompanyManager.xml | 4 data/1880/Game.xml | 4 data/18EU/CompanyManager.xml | 8 data/18EU/Game.xml | 9 data/18EU/Map.xml | 2 data/18GA/Map.xml | 3 data/18GA/MapImage.svg |18617 ++++++++++++++++++ data/18GA/StockMarket.xml | 2 data/18TN/CompanyManager.xml | 4 data/18TN/Game.xml | 5 data/18TN/TileSet.xml | 2 data/GamesList.xml | 6 make_rails_pkg.sh | 4 rails.bat | 2 rails.sh | 2 rails/game/CompanyManager.java | 2 rails/game/CompanyManagerI.java | 3 rails/game/Game.java | 2 rails/game/GameManager.java | 10 rails/game/MapManager.java | 14 rails/game/OperatingRound.java | 38 rails/game/Phase.java | 105 rails/game/PhaseI.java | 11 rails/game/PublicCompany.java | 107 rails/game/PublicCompanyI.java | 5 rails/game/StartRound_1835.java | 273 rails/game/Stop.java | 6 rails/game/action/PossibleActions.java | 8 rails/game/specific/_1835/GameManager_1835.java | 49 rails/game/specific/_1835/OperatingRound_1835.java | 36 rails/game/specific/_1835/PrussianFormationRound.java | 63 rails/game/specific/_1835/StartRound_1835.java | 275 rails/ui/swing/GameStatus.java | 14 rails/ui/swing/MapPanel.java | 10 rails/ui/swing/ORPanel.java | 43 rails/ui/swing/UpgradesPanel.java | 4 rails/ui/swing/elements/Caption.java | 11 rails/ui/swing/elements/Field.java | 33 rails/ui/swing/hexmap/GUIHex.java | 4 rails/ui/swing/hexmap/HexMap.java | 8 rails/ui/swing/hexmap/HexMapImage.java | 87 test/data/bugs/1889_presidentContribution.rails |binary test/data/bugs/1889_presidentContribution.report | 1045 + test/data/real/18GA_A.rails |binary test/data/real/18GA_A.report | 1117 + tiles/TileDictionary.18t | 2 tiles/TileDictionary.xml | 2 tiles/Tiles.xml | 2 59 files changed, 21540 insertions(+), 563 deletions(-) New commits: commit df5c2b8afd501759451c03311bc9e361df6bab40 Author: Stefan Frey <ste...@we...> Date: Fri Nov 11 17:29:06 2011 +0100 prepared for rails 1.5.3 release diff --git a/build.xml b/build.xml index d346fc0..3900603 100644 --- a/build.xml +++ b/build.xml @@ -9,7 +9,7 @@ <property name="debuglevel" value="source,lines,vars"/> <property name="target" value="1.5"/> <property name="source" value="1.5"/> - <property name="version" value="1.5.2"/> + <property name="version" value="1.5.3"/> <taskdef name="jarbundler" classpath="tools/lib/jarbundler-2.1.0.jar" classname="net.sourceforge.jarbundler.JarBundler" /> diff --git a/rails/game/Game.java b/rails/game/Game.java index c5eb820..2ca9752 100644 --- a/rails/game/Game.java +++ b/rails/game/Game.java @@ -14,7 +14,7 @@ import rails.game.action.PossibleAction; import rails.util.GameFileIO; public class Game { - public static final String version = "1.5.2"; + public static final String version = "1.5.3"; /** The component Manager */ protected GameManager gameManager; commit 7fe9f743e304ceb5f6445bd3a7dd0e6d966464e9 Author: Stefan Frey <ste...@we...> Date: Fri Nov 11 16:34:58 2011 +0100 reverted commenting-out automated pass execution code (see commit 1893c3) (cherry picked from commit 2fef5fe020452f1c1901f3ce1e1ee7ab1e49aa50) diff --git a/rails/game/GameManager.java b/rails/game/GameManager.java index 818263e..bff57fe 100644 --- a/rails/game/GameManager.java +++ b/rails/game/GameManager.java @@ -882,11 +882,9 @@ public class GameManager implements ConfigurableComponentI, GameManagerI { getCurrentRound().setPossibleActions(); // only pass available => execute automatically - /* if (!isGameOver() && possibleActions.containsOnlyPass()) { result = process(possibleActions.getList().get(0)); } - */ // moveStack closing is done here to allow state changes to occur // when setting possible actions diff --git a/rails/game/action/PossibleActions.java b/rails/game/action/PossibleActions.java index 8eabf5d..42d5fbe 100644 --- a/rails/game/action/PossibleActions.java +++ b/rails/game/action/PossibleActions.java @@ -83,7 +83,6 @@ public class PossibleActions { return possibleActions.isEmpty(); } - /* OBSOLETE public boolean containsOnlyPass() { if (possibleActions.size() != 1) return false; PossibleAction action = possibleActions.get(0); @@ -92,7 +91,7 @@ public class PossibleActions { } else { return false; } - }*/ + } /** Check if a given action exists in the current list of possible actions */ public boolean validate(PossibleAction checkedAction) { commit 6eadae61bb755ad82082a357f0ea84ffd5107b0c Author: Erik Vos <eri...@xs...> Date: Wed Nov 9 16:29:17 2011 +0100 18EU: entities in company names changed to Unicode characters. Actually, entities are safer, as these are encoding-independent. Characters (like Ã) require file encoding to be understood as UTF-8. To ensure this, added Eclipse preference to encode/decode fiels as UTF-8 (this affects reading/writing non-java and non-XML files). Also set line delimiter to newline only. (cherry picked from commit 6ca045795458ba9c3a9d8e14451bde3dbfaad23e) diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index e69de29..a01e845 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Fri Nov 04 17:49:10 CET 2011 +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/.settings/org.eclipse.core.runtime.prefs b/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 0000000..9b99bf0 --- /dev/null +++ b/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,3 @@ +#Fri Oct 28 23:03:32 CEST 2011 +eclipse.preferences.version=1 +line.separator=\n diff --git a/data/18EU/CompanyManager.xml b/data/18EU/CompanyManager.xml index c5f5791..9ae0d19 100644 --- a/data/18EU/CompanyManager.xml +++ b/data/18EU/CompanyManager.xml @@ -67,7 +67,7 @@ <Company name="10" longname="Strade Ferrate Alta Italia" type="Minor"> <Home hex="R5"/> </Company> - <Company name="11" longname="Südbahn" type="Minor"> + <Company name="11" longname="Südbahn" type="Minor"> <Home hex="N11" city="2"/> </Company> <Company name="12" longname="Hollandsche Maatschappij" type="Minor"> @@ -95,7 +95,7 @@ <Company name="KPEV" longname="Königlich-Preussische Eisenbahn-Verwaltung" type="Major" tokens="5" fgColour="000000" bgColour="2255FF"> </Company> - <Company name="KKÖB" + <Company name="KKÃB" longname="Kaiserlich-Königliche Ãsterreichische Staatsbahn" type="Major" tokens="5" fgColour="000000" bgColour="FFFF00"> </Company> commit d4781d88eec8410054a1e5ba196af218f5fdd466 Author: Stefan Frey <ste...@we...> Date: Tue Nov 8 23:51:01 2011 +0100 Fixed issues with displaying SVG background maps. Added Peter Mumford 18GA redesigned map. (cherry picked from commit 7cf64e84042d36e1f0c1d902e767efc987f797be) diff --git a/data/18EU/Map.xml b/data/18EU/Map.xml index 4a56fe2..30e6b19 100644 --- a/data/18EU/Map.xml +++ b/data/18EU/Map.xml @@ -1,5 +1,5 @@ <Map tileOrientation="NS" letterOrientation="vertical" even="A"> - <Image file="18EU/MapImage.svg" x="18" y="15" scale="0.952"/> + <Image file="18EU/MapImage.svg" x="16" y="15" scale="0.955"/> <!-- Hex name="" tile="" orientation="" value="" impassable="" label="" cost="" value="" port="yes/no" --> <Hex name="A4" port="yes" value="10" tile="-800" orientation="0"/> <Hex name="B7" value="30,50" tile="-939" orientation="1" city="Hamburg"> diff --git a/data/18GA/Map.xml b/data/18GA/Map.xml index fb4927c..4ec96f8 100644 --- a/data/18GA/Map.xml +++ b/data/18GA/Map.xml @@ -1,4 +1,5 @@ <Map tileOrientation="EW" letterOrientation="vertical" even="B"> + <Image file="18GA/MapImage.svg" x="5" y="-2" scale="1.000"/> <Hex name="A3" tile="-902" orientation="1" value="30,60" city="Chattanooga"/> <Hex name="B2" tile="0" cost="60"> diff --git a/data/18GA/MapImage.svg b/data/18GA/MapImage.svg new file mode 100644 index 0000000..ead7aeb --- /dev/null +++ b/data/18GA/MapImage.svg @@ -0,0 +1,18617 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + x="0px" + y="0px" + width="864px" + height="1080px" + viewBox="0 0 864 1080" + enable-background="new 0 0 864 1080" + xml:space="preserve" + id="svg2" + inkscape:version="0.47 r22583" + sodipodi:docname="18GA_photocurio_final_fixed.svg"><metadata + id="metadata8512"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs8510"><inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 540 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="864 : 540 : 1" + inkscape:persp3d-origin="432 : 360 : 1" + id="perspective8514" /></defs><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1366" + inkscape:window-height="720" + id="namedview8508" + showgrid="false" + inkscape:zoom="1" + inkscape:cx="432" + inkscape:cy="1165.7874" + inkscape:window-x="-4" + inkscape:window-y="-3" + inkscape:window-maximized="1" + inkscape:current-layer="red_cities_copy" /> +<font + horiz-adv-x="2048" + id="font4"> +<!-- Monotype Baskervilleª is a trademark of Agfa Monotype Corporation. --> +<!-- Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. --> +<font-face + font-family="Baskerville-SemiBoldItalic" + units-per-em="2048" + underline-position="-205" + underline-thickness="102" + id="font-face6" /> +<missing-glyph + horiz-adv-x="1024" + d="M51,0l0,1536l922,0l0,-1536M179,128l666,0l0,1280l-666,0z" + id="missing-glyph8" /> +<glyph + unicode=" " + horiz-adv-x="512" + id="glyph10" /> +<glyph + unicode="3" + horiz-adv-x="1024" + d="M1020,1120C1020,1059 994,1004 942,953C890,902 834,860 774,828C714,796 655,767 596,741C658,739 716,720 769,684C822,647 848,575 848,467C848,392 832,324 801,263C770,202 727,149 674,106C621,62 560,28 493,5C426,-19 356,-31 285,-31C228,-31 176,-22 130,-3C84,16 49,40 24,71C-1,101 -14,132 -14,164C-14,193 -5,218 13,238C31,258 55,268 84,268C119,268 146,258 163,239C180,219 194,193 205,160C216,131 229,106 246,87C263,67 287,57 319,57C368,57 413,77 452,116C491,155 524,205 551,264C578,323 598,382 612,439C626,496 633,540 633,571C633,594 626,618 613,645C599,671 576,684 545,684C522,684 489,669 446,639C436,631 426,623 415,615C404,606 395,602 387,602C380,602 371,606 362,614C353,621 348,634 348,651C348,664 355,677 370,689C384,700 413,718 457,743C589,820 683,884 739,935C795,986 823,1046 823,1116C823,1151 810,1183 783,1213C756,1242 719,1257 672,1257C625,1257 586,1242 555,1213C524,1184 508,1147 508,1104C508,1093 510,1081 513,1068C516,1055 518,1047 518,1042C518,1035 501,1020 466,997C431,973 411,961 406,961C397,961 385,975 370,1004C355,1032 348,1061 348,1092C348,1160 377,1219 435,1270C493,1321 578,1346 690,1346C793,1346 873,1324 932,1281C991,1238 1020,1184 1020,1120z" + id="glyph12" /> +<glyph + unicode="4" + horiz-adv-x="1024" + d="M995,608l-61,-213l-236,0l-45,-151C640,193 633,162 633,152C633,128 646,111 671,102C696,93 730,88 775,88l20,0l-25,-88l-596,0l25,88l43,0C281,88 310,91 328,96C345,101 361,115 374,136C387,157 401,195 416,248l43,147l-412,0l19,129l739,822l186,0l-252,-822l45,0C823,524 850,528 864,537C877,545 892,569 907,608M670,1067l-492,-543l322,0z" + id="glyph14" /> +<glyph + unicode="5" + horiz-adv-x="1024" + d="M1067,1315l-23,-60C1022,1195 999,1158 976,1145C953,1131 915,1124 862,1124l-362,0l-94,-272C461,899 521,922 586,922C632,922 678,908 725,879C771,850 809,808 840,751C870,694 885,626 885,547C885,468 869,393 838,322C807,251 763,188 706,135C649,81 585,40 516,12C446,-17 374,-31 301,-31C226,-31 158,-12 97,25C36,62 6,105 6,156C6,185 16,208 36,227C55,245 78,254 104,254C155,254 196,219 225,150C240,118 255,95 270,80C285,65 307,57 336,57C403,57 464,97 518,178C571,259 613,352 642,458C671,564 686,646 686,705C686,748 674,780 650,802C625,823 596,834 561,834C482,834 409,778 342,666l-90,0l219,649z" + id="glyph16" /> +<glyph + unicode="A" + horiz-adv-x="1260" + d="M1223,92l-27,-92l-616,0l28,92C659,92 699,98 727,110C755,122 775,144 787,176C799,207 805,253 805,313l0,170l-426,0l-146,-213C198,217 180,179 180,156C180,113 221,92 303,92l57,0l-28,-92l-486,0l29,92C-79,95 -33,118 13,161C58,203 108,262 162,338l735,1042l174,0l-14,-1130C1057,205 1062,172 1072,151C1082,129 1099,114 1122,105C1145,96 1179,92 1223,92M815,1106l-369,-531l359,0z" + id="glyph18" /> +<glyph + unicode="P" + horiz-adv-x="1323" + d="M1384,1012C1384,969 1377,928 1362,887C1347,846 1324,808 1291,772C1258,736 1215,705 1161,678C1106,651 1036,634 952,625C868,616 789,612 715,612l-131,0l-103,-336C469,234 463,205 463,188C463,152 477,127 505,113C533,99 561,92 590,92l28,0l-28,-92l-578,0l29,92C84,92 116,104 139,127C162,150 181,189 197,244l258,848C467,1131 473,1157 473,1171C473,1212 459,1237 430,1248C401,1259 368,1264 330,1264l26,92l555,0C978,1356 1033,1352 1078,1345C1122,1337 1166,1320 1210,1294C1326,1225 1384,1131 1384,1012M1104,1063C1104,1146 1081,1200 1036,1223C990,1246 938,1257 879,1257l-97,0l-168,-546l121,0C842,711 920,731 969,772C992,792 1014,817 1035,848C1056,878 1072,912 1085,949C1098,986 1104,1024 1104,1063z" + id="glyph20" /> +<glyph + unicode="a" + horiz-adv-x="1087" + d="M1055,240C1036,201 1014,165 990,132C966,99 939,71 910,46C881,21 851,3 822,-10C792,-23 761,-29 729,-29C659,-29 614,-8 595,35C575,77 565,127 565,186C512,123 459,71 407,31C355,-9 296,-29 229,-29C190,-29 157,-18 131,4C105,25 86,54 74,91C61,128 55,167 55,209C55,299 78,394 124,494C170,594 233,678 312,746C391,814 476,848 567,848C609,848 642,840 666,823C690,806 707,788 716,767C725,746 732,723 739,698l37,125l221,0l-186,-610C798,169 791,142 791,133C791,124 794,117 800,111C805,105 812,102 819,102C862,102 909,148 958,240M682,639C682,672 676,700 664,723C651,746 629,758 596,758C546,758 498,729 451,672C404,614 366,544 337,463C308,381 293,312 293,256C293,175 318,135 369,135C404,135 441,151 478,184C515,216 549,259 580,313C613,369 638,426 656,483C673,540 682,592 682,639z" + id="glyph22" /> +<glyph + unicode="e" + horiz-adv-x="961" + d="M928,682C928,655 920,623 903,588C886,552 856,514 812,474C767,434 704,399 622,368C539,337 436,316 311,305l-24,-2C282,276 279,252 279,229C279,180 291,144 315,123C338,101 373,90 418,90C518,90 614,144 705,252l106,0C770,189 707,126 623,64C539,2 439,-29 324,-29C244,-29 176,-7 119,36C62,79 33,142 33,225C33,327 61,426 118,523C175,619 252,697 350,758C448,818 555,848 670,848C763,848 829,832 869,801C908,770 928,730 928,682M717,686C717,708 709,728 694,747C679,765 658,774 631,774C584,774 542,758 503,726C464,693 431,655 404,611C377,567 356,522 339,477C322,432 311,404 307,393C442,416 545,454 614,508C683,562 717,621 717,686z" + id="glyph24" /> +<glyph + unicode="l" + horiz-adv-x="641" + d="M674,1380l-350,-1147C306,176 297,141 297,127C297,116 300,107 305,100C310,93 317,90 326,90C343,90 367,106 398,137C429,168 453,204 471,244l94,0C532,182 489,121 434,61C379,1 311,-29 229,-29C179,-29 139,-15 109,13C78,40 63,74 63,113C63,144 73,194 94,264l256,834C367,1153 375,1189 375,1207C375,1230 366,1246 347,1253C328,1260 292,1264 240,1264l24,92l107,0C417,1356 459,1358 497,1361C535,1364 571,1371 606,1380z" + id="glyph26" /> +<glyph + unicode="n" + horiz-adv-x="1194" + d="M1165,262C1146,227 1121,188 1088,146C1055,104 1013,67 964,35C915,2 862,-14 805,-14C756,-14 717,-2 688,22C659,46 645,78 645,117C645,148 653,189 670,242l73,241C764,548 774,593 774,618C774,633 770,646 761,658C752,670 739,676 723,676C687,676 643,646 591,585C539,524 486,442 433,339C379,236 332,123 293,0l-238,0l181,586C252,645 260,679 260,688C260,696 258,704 254,713C250,721 242,725 231,725C205,725 180,709 157,676C133,643 113,608 96,569l-84,0C37,640 76,705 129,762C182,819 249,848 330,848C382,848 421,834 447,806C472,778 485,748 485,717C485,700 481,673 474,638C467,603 458,570 449,539l-35,-103C497,563 574,664 647,738C720,811 800,848 889,848C940,848 978,833 1001,804C1024,774 1036,742 1036,707C1036,686 1028,645 1012,586l-105,-348C895,195 889,164 889,147C889,140 891,134 896,128C900,122 906,119 913,119C932,119 956,132 985,159C1014,185 1040,219 1065,262z" + id="glyph28" /> +<glyph + unicode="r" + horiz-adv-x="897" + d="M928,717C928,675 916,638 893,606C870,573 840,557 805,557C775,557 746,575 717,610C701,631 685,641 670,641C652,641 627,624 596,591C565,557 533,512 500,456C467,400 434,336 402,264C370,191 342,117 319,41l-12,-41l-235,0l157,561C246,615 254,653 254,674C254,682 252,690 247,698C242,705 235,709 225,709C199,709 173,691 146,655C119,618 99,585 86,555l-92,0C33,632 72,692 113,735C153,777 192,806 230,823C267,840 301,848 332,848C385,848 420,831 436,798C451,765 459,732 459,700C459,642 440,551 403,426C441,491 472,544 497,583C521,622 550,663 584,705C617,747 653,781 691,808C728,835 765,848 801,848C852,848 886,834 903,805C920,776 928,746 928,717z" + id="glyph30" /> +<glyph + unicode="s" + horiz-adv-x="938" + d="M905,678C905,651 896,627 878,606C859,585 834,575 803,575C779,575 760,580 747,589C733,598 722,611 715,628C707,645 697,669 686,702C679,725 669,742 655,755C640,768 614,774 575,774C540,774 509,765 482,747C454,729 440,705 440,676C440,656 446,637 457,619C468,601 482,584 499,568C515,552 540,529 575,500C640,447 688,402 718,365C747,328 762,283 762,229C762,185 749,143 724,104C699,65 657,33 598,8C539,-17 464,-29 373,-29C242,-29 149,-5 96,44C43,92 16,139 16,184C16,214 26,240 47,263C68,286 95,297 129,297C197,297 236,253 246,166C251,129 261,99 278,78C294,56 328,45 379,45C424,45 460,56 489,79C518,102 532,131 532,166C532,185 527,203 518,221C508,239 488,261 457,287C403,332 359,372 324,407C289,442 262,475 244,507C226,539 217,573 217,608C217,639 227,673 248,710C269,747 308,779 365,807C422,834 500,848 598,848C658,848 709,843 750,832C791,821 823,807 846,790C868,773 883,755 892,736C901,717 905,697 905,678z" + id="glyph32" /> +<glyph + unicode="t" + horiz-adv-x="682" + d="M700,819l-28,-92l-199,0l-151,-494C311,198 305,172 305,156C305,142 310,129 319,118C328,106 340,100 354,100C393,100 427,119 456,157C485,194 512,235 535,279l94,0C592,196 550,132 503,86C456,39 412,9 371,-6C330,-21 292,-29 258,-29C201,-29 156,-12 124,21C92,54 76,99 76,154C76,192 86,244 106,309l130,418l-187,0l29,92l186,0l92,305l238,0l-92,-305z" + id="glyph34" /> +<glyph + unicode="y" + horiz-adv-x="1087" + d="M981,659C981,543 942,417 864,282C785,147 685,19 562,-100C439,-220 311,-317 178,-391C45,-465 -71,-502 -170,-502C-215,-502 -254,-492 -286,-473C-318,-454 -334,-427 -334,-391C-334,-362 -322,-339 -299,-320C-276,-302 -249,-293 -219,-293C-195,-293 -175,-295 -158,-299C-141,-304 -120,-311 -94,-322C-38,-341 4,-350 31,-350C76,-350 117,-336 153,-308C188,-281 217,-248 240,-209C295,-113 322,22 322,197C322,240 321,285 318,332C315,379 311,427 306,476C301,525 293,571 283,612C278,633 269,653 256,670C243,687 228,696 211,696C159,696 127,637 115,520l-82,0C48,653 83,741 137,784C191,827 243,848 293,848C394,848 463,794 500,685C537,576 555,446 555,295C555,170 548,68 535,-12C654,127 718,203 727,217C758,262 783,307 802,350C821,393 831,435 831,477C831,510 820,555 797,612C774,670 762,712 762,739C762,771 771,797 788,818C805,838 825,848 848,848C871,848 892,841 913,826C933,811 949,790 962,762C975,733 981,699 981,659z" + id="glyph36" /> +</font> + + <font + horiz-adv-x="2048" + id="font38"> +<!-- Monotype Baskervilleª is a trademark of Monotype Typography, Ltd which may be registered in certain jurisdictions. --> +<!-- Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. --> +<font-face + font-family="Baskerville-Italic" + units-per-em="2048" + underline-position="-205" + underline-thickness="102" + id="font-face40" /> +<missing-glyph + horiz-adv-x="1536" + d="M256,0l0,1280l1024,0l0,-1280M288,32l960,0l0,1216l-960,0z" + id="missing-glyph42" /> +<glyph + unicode=" " + horiz-adv-x="512" + id="glyph44" /> +<glyph + unicode=" " + horiz-adv-x="512" + id="glyph46" /> +<glyph + unicode="$" + horiz-adv-x="1024" + d="M276,-9C219,14 175,42 142,75C109,108 93,137 93,164C93,179 98,192 108,203C117,214 129,219 144,219C180,219 217,186 255,120C271,92 285,72 297,61l186,627C388,773 341,868 341,974C341,1061 372,1139 434,1206C496,1273 575,1312 672,1323l16,54l47,0l-15,-51C784,1326 839,1317 886,1298l24,79l47,0l-29,-98C1020,1229 1066,1174 1066,1114C1066,1081 1049,1065 1014,1065C995,1065 978,1073 963,1088C948,1103 927,1133 898,1179l-160,-540C846,537 900,432 900,325C900,238 868,161 804,94C740,27 651,-16 537,-33l-55,-185l-47,0l53,180C473,-39 459,-39 445,-39C400,-39 358,-33 318,-22l-58,-196l-46,0M708,1288l-144,-486C569,797 577,790 586,781C645,728 684,693 701,675l164,551C827,1267 775,1288 708,1288M528,839l132,444C588,1268 534,1235 499,1184C464,1133 446,1081 446,1028C446,967 473,904 528,839M520,655l-186,-625C367,11 410,1 464,1C476,1 488,2 501,3l156,524C632,553 587,596 520,655M693,488l-143,-479C631,25 692,58 733,107C774,156 794,207 794,262C794,336 760,411 693,488z" + id="glyph48" /> +<glyph + unicode="&" + horiz-adv-x="1749" + d="M476,841C446,906 431,966 431,1022C431,1085 450,1144 487,1199C524,1253 572,1297 630,1330C687,1363 747,1380 809,1380C878,1380 936,1361 983,1323C1029,1284 1052,1238 1052,1185C1052,1145 1041,1108 1019,1074C996,1040 973,1023 948,1023C936,1023 930,1029 930,1042C930,1047 933,1057 940,1073C951,1099 956,1125 956,1152C956,1192 940,1225 907,1250C874,1275 835,1287 789,1287C715,1287 646,1257 582,1196C517,1135 485,1065 485,986C485,951 490,921 499,897C508,872 517,856 525,849C532,842 543,838 557,838C649,838 695,811 695,758C695,745 690,732 681,720C671,708 657,702 638,702C617,702 591,716 559,743C525,772 492,787 459,787C417,787 377,766 340,725C302,683 283,633 283,576C283,465 338,360 449,261C560,162 697,112 862,112C1018,112 1152,151 1263,229C1374,306 1429,399 1429,507C1429,579 1402,642 1347,695C1292,748 1218,774 1125,774C1050,774 983,753 924,712C865,671 835,619 835,557C835,520 846,489 867,465C888,441 910,429 933,429C959,429 972,443 972,471l-1,12C970,492 970,498 970,501C970,530 978,555 994,574C1010,593 1030,602 1055,602C1078,602 1099,594 1116,578C1133,561 1142,538 1142,509C1142,467 1128,432 1099,404C1070,376 1032,362 987,362C933,362 887,381 848,420C809,458 789,505 789,561C789,643 823,718 892,785C961,852 1085,886 1266,886C1428,886 1546,908 1619,953C1692,997 1729,1064 1729,1154C1729,1207 1713,1251 1680,1286C1647,1320 1606,1337 1556,1337C1531,1337 1513,1334 1501,1327C1488,1320 1482,1309 1482,1294C1482,1285 1488,1271 1500,1254C1515,1232 1523,1211 1523,1190C1523,1165 1514,1144 1495,1125C1476,1106 1452,1097 1424,1097C1391,1097 1365,1108 1348,1129C1331,1150 1322,1175 1322,1204C1322,1249 1344,1290 1389,1326C1433,1362 1489,1380 1558,1380C1629,1380 1688,1354 1735,1303C1782,1251 1805,1189 1805,1116C1805,1047 1785,985 1745,928C1704,871 1653,831 1592,808C1530,785 1443,771 1332,767C1439,692 1492,595 1492,477C1492,388 1459,303 1394,220C1329,137 1250,76 1157,36C1064,-4 950,-24 816,-24C707,-24 619,-12 552,12C485,35 421,70 360,115C299,160 251,216 216,282C181,347 163,418 163,493C163,585 189,662 242,725C295,788 373,826 476,841z" + id="glyph50" /> +<glyph + unicode="," + horiz-adv-x="491" + d="M-113,-358l0,40C-2,-303 79,-266 128,-207C177,-148 202,-99 202,-59C202,-29 189,-14 163,-14C158,-14 153,-14 148,-15C135,-16 126,-17 121,-17C97,-17 75,-8 56,9C36,26 26,50 26,82C26,117 37,144 58,163C79,182 103,192 132,192C173,192 207,175 232,141C257,106 269,62 269,8C269,-79 235,-159 167,-234C99,-309 6,-350 -113,-358z" + id="glyph52" /> +<glyph + unicode="." + horiz-adv-x="491" + d="M42,77C42,106 52,130 73,151C94,172 119,182 148,182C177,182 201,172 222,151C243,130 253,106 253,77C253,48 243,23 222,2C201,-19 177,-29 148,-29C118,-29 93,-18 73,3C52,24 42,48 42,77z" + id="glyph54" /> +<glyph + unicode="0" + horiz-adv-x="1024" + d="M176,369C176,510 206,662 265,825C324,988 403,1115 502,1208C601,1301 692,1347 777,1347C846,1347 903,1310 946,1236C989,1162 1010,1069 1010,958C1010,817 983,667 928,507C873,347 793,217 688,118C583,19 492,-31 416,-31C343,-31 284,7 241,84C198,161 176,256 176,369M291,211C291,143 301,92 321,58C341,24 371,7 410,7C509,7 615,138 727,400C839,661 895,900 895,1116C895,1180 885,1228 866,1260C847,1292 818,1308 779,1308C670,1308 561,1174 453,906C345,637 291,406 291,211z" + id="glyph56" /> +<glyph + unicode="1" + horiz-adv-x="1024" + d="M808,1346l56,0l-356,-1172C493,127 486,98 486,87C486,70 493,59 507,54C521,49 547,46 586,46l69,0l-14,-46l-497,0l14,46l56,0C273,46 308,51 321,62C333,72 350,112 371,182l254,836C643,1077 652,1114 652,1127C652,1169 610,1192 525,1195l-59,2l13,43C640,1243 750,1278 808,1346z" + id="glyph58" /> +<glyph + unicode="2" + horiz-adv-x="1024" + d="M775,117l-57,-188l-31,0l0,11C687,-33 681,-17 669,-10C657,-3 621,0 562,0l-502,0C60,35 64,59 73,74C81,88 106,114 149,153C464,441 658,644 733,761C807,878 844,983 844,1078C844,1138 824,1190 785,1233C745,1276 692,1297 627,1297C565,1297 512,1279 469,1242C425,1205 403,1160 403,1108C403,1051 422,1007 460,976C467,970 470,965 470,960C470,952 456,937 429,916C401,894 380,883 366,883C349,883 332,898 316,929C299,960 291,996 291,1038C291,1117 325,1189 394,1252C462,1315 551,1347 662,1347C769,1347 850,1320 905,1265C959,1210 986,1142 986,1061C986,966 955,877 893,793C831,708 711,590 534,437C407,328 287,221 174,117z" + id="glyph60" /> +<glyph + unicode="3" + horiz-adv-x="1024" + d="M570,748C645,748 708,723 757,673C806,623 831,557 831,474C831,343 779,226 674,123C569,20 448,-32 311,-32C234,-32 166,-16 107,15C47,46 17,84 17,127C17,174 38,197 80,197C114,197 144,171 171,118C206,47 256,11 320,11C382,11 442,34 500,81C558,127 605,198 641,293C677,388 695,469 695,534C695,585 682,628 656,661C630,694 596,710 553,710C512,710 462,686 401,637C374,616 355,606 344,606C324,606 314,615 314,633C314,646 327,660 353,677C379,693 442,728 543,782C739,887 837,1004 837,1133C837,1194 817,1237 777,1264C736,1291 687,1304 629,1304C560,1304 508,1284 473,1245C438,1205 420,1162 420,1115C420,1089 428,1062 444,1034C449,1026 451,1020 451,1017C451,1009 440,997 418,980C396,963 380,954 370,954C357,954 343,967 329,992C314,1017 307,1046 307,1080C307,1157 340,1221 407,1271C473,1321 559,1346 665,1346C761,1346 837,1326 892,1287C947,1247 975,1196 975,1134C975,1079 954,1025 912,973C870,921 782,860 649,791C614,774 588,759 570,748z" + id="glyph62" /> +<glyph + unicode="4" + horiz-adv-x="1024" + d="M595,453l-441,0l20,64l767,829l66,0l-252,-829l65,0C851,517 873,521 884,528C895,535 912,557 933,592l41,0l-42,-139l-197,0l-85,-280C635,126 628,96 628,85C628,74 633,64 643,57C653,49 681,45 728,45l38,0l-13,-45l-431,0l13,45l21,0C415,45 450,50 463,61C475,71 492,111 513,181M615,517l186,612l-565,-612z" + id="glyph64" /> +<glyph + unicode="5" + horiz-adv-x="1024" + d="M351,682l-45,0l225,633l527,0C1040,1274 1024,1244 1011,1225C997,1206 986,1196 978,1194C970,1191 951,1190 920,1190l-388,0l-134,-385C464,865 536,895 614,895C687,895 753,864 812,803C871,742 900,658 900,551C900,472 880,386 839,294C798,202 733,125 642,63C551,0 452,-31 345,-31C259,-31 192,-11 143,28C94,67 70,107 70,150C70,166 76,181 87,194C98,207 113,213 133,213C174,213 207,181 232,118C248,79 265,51 284,35C302,19 330,11 368,11C421,11 480,39 543,95C606,150 659,232 702,339C745,446 766,545 766,634C766,697 752,749 723,790C694,831 652,851 598,851C507,851 424,795 351,682z" + id="glyph66" /> +<glyph + unicode="6" + horiz-adv-x="1024" + d="M407,740C476,814 555,851 644,851C733,851 808,817 868,749C928,681 958,591 958,478C958,387 936,300 892,219C848,137 790,75 719,33C648,-10 579,-31 512,-31C453,-31 397,-14 345,20C293,54 253,104 224,170C195,235 181,314 181,405C181,502 198,601 232,700C265,799 305,889 351,968C396,1047 455,1117 526,1179C597,1241 662,1285 720,1310C777,1335 837,1347 900,1347C983,1347 1047,1329 1091,1294C1134,1259 1156,1226 1156,1197C1156,1182 1150,1168 1139,1155C1128,1142 1113,1136 1094,1136C1064,1136 1039,1156 1018,1195C980,1268 933,1304 878,1304C782,1304 689,1239 598,1108C507,977 443,855 407,740M289,263C289,183 310,121 352,78C394,35 443,13 498,13C600,13 682,85 743,230C804,374 834,500 834,609C834,674 816,723 781,756C745,789 699,805 643,805C534,805 448,746 385,628C321,510 289,388 289,263z" + id="glyph68" /> +<glyph + unicode="A" + horiz-adv-x="1173" + d="M760,513l-388,0l-124,-190C207,260 183,220 174,203C165,186 161,168 161,149C161,84 209,50 304,47l33,-1l-14,-46l-475,0l14,46C-73,51 -18,73 25,111C68,148 130,228 211,349l690,1031l70,0l-47,-1099l-6,-122C918,115 931,86 957,71C982,56 1024,48 1082,46l-14,-46l-532,0l14,46C621,47 669,58 694,77C719,96 733,118 738,145C743,171 747,221 750,294M762,559l26,579l-386,-579z" + id="glyph70" /> +<glyph + unicode="B" + horiz-adv-x="1216" + d="M833,715C926,697 1001,660 1058,604C1115,548 1143,481 1143,402C1143,337 1126,276 1091,219C1056,161 1006,114 942,79C877,43 808,21 735,13C662,4 557,0 420,0l-466,0l14,46l37,0C46,46 81,54 110,69C138,84 157,101 168,121C179,141 194,184 214,250l262,863C496,1180 506,1222 506,1239C506,1286 463,1310 377,1310l-28,0l14,46l435,0C874,1356 934,1353 978,1346C1021,1339 1066,1322 1111,1295C1156,1268 1191,1234 1215,1193C1238,1152 1250,1109 1250,1063C1250,982 1215,909 1146,844C1076,779 972,736 833,715M541,738l104,0C744,738 823,751 882,778C941,804 987,845 1021,902C1054,959 1071,1024 1071,1099C1071,1151 1058,1195 1031,1230C1004,1265 975,1288 943,1297C910,1306 860,1310 791,1310l-75,0M527,692l-144,-473C370,178 364,150 364,135C364,74 429,44 559,44C690,44 790,85 859,167C927,249 961,348 961,464C961,522 947,570 918,607C889,644 855,667 817,677C778,687 717,692 634,692z" + id="glyph72" /> +<glyph + unicode="C" + horiz-adv-x="1237" + d="M1117,423l45,0l-136,-440l-42,0C984,25 981,70 974,118C877,23 765,-24 639,-24C494,-24 378,29 293,134C208,239 165,358 165,492C165,706 242,908 396,1097C550,1286 724,1380 919,1380C1000,1380 1069,1362 1125,1327C1180,1292 1223,1239 1253,1168C1283,1219 1306,1271 1321,1324l44,0l-90,-395l-42,0C1235,947 1236,964 1236,980C1236,1095 1209,1183 1155,1245C1101,1307 1030,1338 941,1338C844,1338 753,1303 669,1232C585,1161 511,1041 446,870C381,699 348,547 348,416C348,301 376,206 431,132C486,58 561,21 656,21C843,21 996,155 1117,423z" + id="glyph74" /> +<glyph + unicode="F" + horiz-adv-x="1109" + d="M1305,1356l7,-306l-44,0C1254,1126 1231,1185 1198,1226C1165,1267 1133,1292 1103,1299C1072,1306 1014,1310 928,1310l-219,0l-168,-586l107,0C762,724 844,744 894,784C943,824 980,879 1003,948l47,0l-157,-548l-48,0C856,441 862,481 862,520C862,566 853,601 835,626C817,650 794,665 767,670C740,675 694,678 630,678l-102,0l-120,-418C390,197 381,157 381,142C381,109 395,84 424,69C453,54 485,46 522,46l33,0l-13,-46l-563,0l14,46l27,0C61,46 96,54 125,69C153,84 172,101 183,121C193,140 207,183 226,250l247,863C492,1178 501,1220 501,1237C501,1286 458,1310 371,1310l-29,0l13,46z" + id="glyph76" /> +<glyph + unicode="G" + horiz-adv-x="1301" + d="M1343,564l-14,-43C1288,521 1260,517 1243,509C1226,500 1213,488 1205,473C1196,458 1184,422 1167,365l-92,-303C1028,104 998,125 984,125C977,125 969,121 960,114C846,22 726,-24 600,-24C465,-24 355,24 270,119C184,214 141,340 141,497C141,715 216,917 367,1102C517,1287 699,1380 912,1380C1070,1380 1187,1321 1262,1203l66,125l42,0l-83,-407l-41,0C1249,952 1250,979 1250,1003C1250,1077 1239,1137 1216,1182C1193,1227 1157,1264 1106,1295C1055,1325 998,1340 933,1340C856,1340 782,1318 712,1274C641,1229 579,1167 525,1086C471,1005 422,896 379,760C335,623 313,502 313,395C313,263 344,167 406,108C468,49 543,19 630,19C795,19 907,112 964,298l14,46C993,394 1001,428 1001,445C1001,494 958,518 872,518l-38,0l14,46z" + id="glyph78" /> +<glyph + unicode="J" + horiz-adv-x="960" + d="M774,672l-94,-397C646,132 609,12 568,-86C527,-185 481,-263 429,-321C377,-379 320,-421 258,-448C195,-475 125,-489 48,-489C-56,-489 -134,-465 -186,-417C-238,-369 -264,-321 -264,-272C-264,-241 -256,-217 -240,-199C-225,-181 -206,-172 -184,-172C-162,-172 -143,-181 -127,-198C-112,-215 -104,-238 -104,-266C-104,-275 -105,-286 -106,-299C-108,-314 -109,-324 -109,-329C-109,-361 -94,-388 -64,-410C-35,-433 3,-444 49,-444C109,-444 165,-422 217,-378C269,-334 314,-263 353,-165C391,-67 436,71 487,249C526,382 572,523 627,672l-248,0l14,46l251,0C737,965 818,1135 889,1227C798,1192 694,1175 578,1175C536,1175 483,1179 419,1186C384,1191 358,1193 343,1193C257,1193 198,1160 167,1093l-46,0C137,1162 171,1226 224,1283C277,1340 340,1368 414,1368C465,1368 526,1346 597,1302C664,1261 719,1240 760,1240C821,1240 879,1266 932,1319C965,1351 990,1367 1007,1367C1031,1367 1043,1356 1043,1333C1043,1310 1021,1280 978,1242C947,1215 924,1189 911,1166C897,1142 880,1094 860,1021C840,948 815,847 785,718l171,0l-14,-46z" + id="glyph80" /> +<glyph + unicode="L" + horiz-adv-x="1109" + d="M1106,340l43,0l-111,-340l-1075,0l14,46l32,0C50,46 85,54 114,69C143,84 162,101 173,121C183,140 198,183 218,250l262,863C501,1180 511,1222 511,1239C511,1286 468,1310 381,1310l-27,0l14,46l554,0l-14,-46l-36,0C827,1310 791,1304 766,1293C741,1282 722,1266 710,1246C697,1225 678,1172 652,1086l-252,-830C381,192 371,153 371,138C371,107 384,83 409,67C434,50 489,42 575,42l68,0C782,42 887,76 958,144C1029,211 1078,277 1106,340z" + id="glyph82" /> +<glyph + unicode="M" + horiz-adv-x="1792" + d="M829,209l783,1147l339,0l-14,-46C1869,1310 1824,1304 1802,1293C1779,1282 1763,1266 1753,1245C1743,1224 1730,1177 1713,1104l-209,-844C1489,199 1481,161 1481,146C1481,111 1496,86 1525,70C1554,54 1588,46 1626,46l31,0l-14,-46l-567,0l14,46l24,0C1156,46 1192,53 1221,68C1250,82 1270,100 1281,121C1292,142 1306,187 1324,258l237,947l-828,-1205l-48,0l-134,1104l-269,-704C235,278 212,202 212,172C212,125 225,93 252,75C279,57 323,47 384,46l-14,-46l-456,0l14,46C-23,47 20,59 55,82C90,105 119,137 141,179C163,221 196,299 239,412l257,665C525,1154 540,1204 540,1226C540,1253 532,1274 516,1289C500,1303 466,1310 415,1310l-58,0l13,46l316,0z" + id="glyph84" /> +<glyph + unicode="N" + horiz-adv-x="1323" + d="M1011,-13l-47,0l-377,1149l-120,-492C421,452 380,303 344,197C307,90 264,15 215,-30C166,-75 115,-97 64,-97C15,-97 -26,-83 -59,-55C-92,-28 -108,8 -108,51C-108,119 -82,153 -31,153C-11,153 6,146 21,132C35,118 42,100 42,77C42,60 36,41 24,18C17,5 14,-6 14,-14C14,-27 19,-36 28,-43C37,-50 51,-53 69,-53C130,-53 186,-14 236,65C286,144 350,347 429,675l102,427C550,1177 559,1219 559,1226C559,1248 548,1267 527,1284C506,1300 452,1309 367,1310l11,46l313,0l348,-1057l83,345C1207,999 1273,1209 1319,1275C1364,1340 1417,1373 1476,1373C1511,1373 1539,1365 1559,1348C1579,1331 1589,1309 1589,1284C1589,1261 1581,1243 1566,1229C1550,1215 1532,1208 1512,1208C1487,1208 1464,1224 1443,1256C1432,1275 1418,1284 1403,1284C1376,1284 1347,1247 1316,1172C1285,1097 1234,913 1163,619z" + id="glyph86" /> +<glyph + unicode="O" + horiz-adv-x="1344" + d="M181,519C181,646 219,782 295,929C370,1075 465,1187 578,1264C691,1341 801,1380 907,1380C962,1380 1024,1365 1091,1336C1158,1307 1216,1249 1266,1162C1315,1075 1340,970 1340,846C1340,630 1266,431 1119,249C972,67 811,-24 636,-24C506,-24 398,23 311,118C224,213 181,346 181,519M360,418C360,323 369,250 387,199C405,148 435,105 478,71C521,37 572,20 632,20C726,20 814,66 895,159C976,252 1042,381 1094,547C1146,713 1172,855 1172,972C1172,1092 1147,1182 1097,1243C1046,1303 982,1333 903,1333C811,1333 724,1289 642,1200C560,1111 493,988 440,829C387,670 360,533 360,418z" + id="glyph88" /> +<glyph + unicode="R" + horiz-adv-x="1280" + d="M1235,112l22,-47C1183,9 1107,-19 1030,-19C952,-19 894,4 855,51C816,98 797,172 797,275l1,82C798,450 790,515 774,554C758,593 736,619 707,632C678,645 632,652 569,652l-50,0l-120,-392C379,195 369,155 369,142C369,107 384,82 413,68C442,53 473,46 508,46l28,0l-14,-46l-549,0l14,46l22,0C50,46 85,54 114,69C143,84 162,101 173,121C183,140 198,183 218,250l262,863C500,1180 510,1222 510,1239C510,1262 500,1280 480,1292C460,1304 421,1310 363,1310l14,46l355,0C831,1356 905,1354 954,1349C1003,1344 1053,1327 1104,1300C1155,1272 1195,1236 1223,1191C1250,1146 1264,1096 1264,1041C1264,937 1222,850 1137,781C1052,712 916,674 731,669C828,634 896,585 934,524C972,463 993,377 998,268C1001,185 1010,129 1024,100C1038,71 1065,57 1104,57C1138,57 1182,75 1235,112M533,695l40,0C744,695 871,728 956,793C1041,858 1083,950 1083,1067C1083,1150 1057,1212 1006,1253C954,1294 876,1314 773,1314C757,1314 740,1313 721,1312z" + id="glyph90" /> +<glyph + unicode="S" + horiz-adv-x="960" + d="M109,454l41,0C157,303 192,194 257,128C321,61 395,28 479,28C550,28 612,52 665,100C717,147 743,207 743,278C743,330 731,377 708,419C685,460 643,509 583,565C486,656 421,730 387,786C352,842 335,907 335,982C335,1086 372,1178 447,1259C522,1340 607,1380 704,1380C817,1380 902,1323 958,1208C985,1251 1006,1301 1020,1356l41,0l-53,-398l-45,0C962,1053 950,1126 925,1178C900,1229 868,1269 829,1296C790,1323 746,1336 699,1336C629,1336 573,1309 531,1256C489,1202 468,1141 468,1072C468,1016 482,967 511,926C540,884 595,826 676,751C771,664 830,592 854,536C878,480 890,423 890,366C890,253 849,159 767,86C685,13 593,-24 491,-24C368,-24 264,35 177,154C146,113 124,67 110,16l-50,0z" + id="glyph92" /> +<glyph + unicode="T" + horiz-adv-x="1344" + d="M1059,1270l-307,-1010C733,197 723,157 723,141C723,108 738,84 767,69C796,54 828,46 864,46l36,0l-14,-46l-581,0l14,46l30,0C391,46 427,53 457,68C486,82 507,100 520,121C532,142 549,187 571,258l312,1024C772,1292 678,1297 601,1297C517,1297 454,1290 412,1276C370,1262 349,1241 349,1213C349,1202 353,1187 360,1168C367,1149 370,1135 370,1126C370,1108 364,1093 351,1080C338,1067 321,1060 300,1060C274,1060 254,1070 240,1090C225,1110 218,1132 218,1157C218,1210 248,1257 309,1297C369,1336 475,1356 627,1356C705,1356 853,1347 1071,1329C1227,1316 1344,1309 1422,1309C1497,1309 1538,1329 1546,1368C1551,1396 1565,1410 1588,1410C1620,1410 1636,1393 1636,1359C1636,1286 1559,1250 1405,1250C1332,1250 1216,1257 1059,1270z" + id="glyph94" /> +<glyph + unicode="V" + horiz-adv-x="1216" + d="M482,-33l-80,0l68,1171l4,65C474,1244 463,1273 441,1288C418,1303 370,1310 295,1310l6,46l544,0l-6,-46C784,1310 743,1304 714,1292C685,1279 666,1263 657,1244C648,1224 642,1186 639,1131l-49,-920l572,852C1211,1136 1235,1185 1235,1212C1235,1241 1224,1264 1201,1281C1178,1298 1133,1307 1066,1310l12,46l441,0l-14,-46C1454,1307 1409,1289 1370,1255C1330,1221 1274,1150 1202,1043z" + id="glyph96" /> +<glyph + unicode="W" + horiz-adv-x="1899" + d="M1192,-33l-63,0l28,1118l-742,-1118l-60,0l59,1169l4,67C418,1243 407,1271 386,1286C365,1301 326,1309 269,1310l13,46l484,0l-13,-46C680,1308 635,1297 618,1276C601,1255 590,1205 586,1124l-44,-894l746,1126l44,0l-28,-1126l524,817C1877,1124 1902,1176 1902,1204C1902,1265 1854,1300 1758,1310l13,46l409,0l-14,-46C2112,1307 2066,1287 2028,1252C1990,1216 1936,1141 1865,1026z" + id="glyph98" /> +<glyph + unicode="a" + horiz-adv-x="853" + d="M695,832l120,0l-178,-586C611,161 598,110 598,92C598,79 601,69 607,62C613,55 622,51 634,51C680,51 733,104 793,209l42,0C809,149 772,95 724,46C675,-3 631,-28 590,-28C559,-28 535,-16 518,7C501,30 493,59 493,93C493,120 500,156 513,200C483,149 440,98 383,48C326,-3 272,-28 222,-28C175,-28 135,-8 102,32C68,71 51,125 51,192C51,283 77,380 129,484C181,587 249,674 333,743C416,812 488,847 547,847C582,847 609,839 630,822C650,805 663,780 670,747M172,162C172,118 179,85 192,63C205,40 225,29 252,29C296,29 349,61 411,126C472,191 526,290 571,423C616,556 639,647 639,695C639,723 632,747 618,767C603,786 583,796 556,796C475,796 390,716 303,555C216,394 172,263 172,162z" + id="glyph100" /> +<glyph + unicode="b" + horiz-adv-x="853" + d="M340,650C428,781 514,847 597,847C656,847 701,823 732,775C763,727 778,673 778,614C778,535 757,443 714,339C671,234 605,147 517,77C429,7 347,-28 271,-28C218,-28 174,-12 139,21C103,53 85,96 85,151C85,186 99,251 128,346l243,801C390,1208 399,1243 399,1254C399,1269 395,1280 386,1287C377,1294 355,1297 320,1297l-32,0l12,42C406,1342 484,1354 535,1375l25,0M191,110C191,79 198,56 213,41C227,25 248,17 276,17C372,17 461,99 542,263C623,427 664,560 664,661C664,701 656,733 641,757C625,781 604,793 577,793C534,793 484,762 427,701C370,639 316,537 266,394C216,251 191,157 191,110z" + id="glyph102" /> +<glyph + unicode="c" + horiz-adv-x="661" + d="M516,284l40,0C523,189 478,113 419,57C360,0 299,-28 236,-28C183,-28 140,-8 107,33C74,73 57,130 57,203C57,289 79,383 124,485C168,586 230,672 311,742C391,812 462,847 523,847C558,847 588,836 613,813C638,790 650,763 650,731C650,684 631,660 593,660C554,660 534,686 532,739C531,778 516,798 487,798C450,798 406,764 357,695C308,626 265,534 230,419C195,304 177,216 177,156C177,118 187,88 206,65C225,42 249,31 276,31C315,31 358,54 405,100C451,145 488,207 516,284z" + id="glyph104" /> +<glyph + unicode="d" + horiz-adv-x="853" + d="M767,182l49,0C786,127 748,79 703,36C657,-7 615,-28 577,-28C542,-28 515,-17 497,4C479,25 470,57 470,99C470,118 472,136 475,152C380,32 293,-28 212,-28C167,-28 128,-10 96,27C64,64 48,117 48,186C48,283 75,387 128,498C181,609 247,695 326,756C405,817 473,847 531,847C561,847 587,840 608,826C629,812 645,791 658,763l122,403C795,1214 802,1243 802,1253C802,1269 798,1280 789,1287C780,1294 757,1297 722,1297l-28,0l13,42C804,1339 881,1351 938,1375l25,0l-320,-1053C604,192 584,115 584,92C584,75 587,63 594,55C600,46 609,42 621,42C641,42 663,54 688,77C712,100 738,135 767,182M163,140C163,103 170,75 183,56C196,37 215,27 240,27C285,27 336,58 395,121C454,183 508,286 557,429C606,572 631,662 631,700C631,725 623,747 606,767C589,787 567,797 540,797C497,797 451,772 404,721C356,670 304,581 248,456C191,330 163,225 163,140z" + id="glyph106" /> +<glyph + unicode="e" + horiz-adv-x="619" + d="M504,255l48,0C467,66 359,-28 226,-28C171,-28 127,-9 93,30C58,68 41,120 41,185C41,268 63,361 108,465C152,569 215,659 297,734C378,809 449,847 510,847C547,847 576,835 595,812C614,788 624,758 624,723C624,651 588,582 516,516C444,449 336,385 192,324C173,266 164,211 164,159C164,116 172,84 189,63C206,42 230,31 263,31C354,31 435,106 504,255M207,375C293,414 370,467 439,535C508,603 542,665 542,720C542,745 537,764 527,777C516,789 501,795 480,795C440,795 393,756 339,679C284,601 240,500 207,375z" + id="glyph108" /> +<glyph + unicode="f" + horiz-adv-x="512" + d="M611,819l-13,-44l-175,0l-155,-585C197,-75 120,-252 36,-343C-48,-434 -140,-479 -241,-479C-297,-479 -347,-466 -392,-440C-437,-414 -460,-382 -460,-343C-460,-321 -453,-303 -439,-289C-425,-275 -409,-268 -390,-268C-368,-268 -350,-276 -337,-291C-324,-307 -317,-324 -317,-342C-317,-347 -318,-355 -320,-367l-2,-17C-322,-397 -314,-408 -298,-419C-282,-430 -263,-435 -240,-435C-160,-435 -93,-392 -38,-307C17,-222 79,-51 148,206l153,569l-197,0l13,44l198,0C317,827 322,846 331,877C421,1209 567,1375 768,1375C825,1375 869,1362 900,1337C930,1312 945,1287 945,1262C945,1227 928,1209 895,1209C868,1209 840,1232 810,1278C789,1311 763,1328 733,1328C688,1328 644,1307 603,1266C562,1224 516,1111 466,926l-29,-107z" + id="glyph110" /> +<glyph + unicode="g" + horiz-adv-x="725" + d="M244,240C201,264 168,295 147,334C125,372 114,418 114,471C114,568 149,655 218,732C287,808 366,846 453,846C480,846 506,842 530,833C553,824 575,811 594,793C639,830 676,848 705,848C729,848 749,841 764,828C779,814 787,797 787,776C787,744 772,728 741,728C724,728 707,739 690,762C679,777 669,784 658,784C647,784 635,776 623,759C650,715 663,663 663,602C663,487 629,396 562,329C494,262 411,223 314,210C169,191 97,153 97,94C97,75 105,60 122,48C139,36 174,24 227,13C320,-8 395,-26 454,-43C513,-60 556,-84 585,-116C613,-149 627,-187 627,-231C627,-299 592,-359 523,-410C454,-461 355,-487 227,-487C106,-487 12,-467 -55,-428C-122,-389 -156,-340 -156,-281C-156,-238 -140,-201 -107,-171C-74,-142 -46,-127 -23,-127C0,-127 12,-136 12,-153C12,-162 4,-175 -12,-192C-39,-221 -53,-250 -53,-278C-53,-321 -31,-360 13,-393C57,-426 124,-443 215,-443C312,-443 386,-426 437,-393C487,-360 512,-321 512,-276C512,-241 494,-212 459,-190C424,-168 347,-143 229,-116C126,-92 63,-67 38,-41C13,-16 0,12 0,42C0,84 21,124 64,162C107,199 167,225 244,240M223,381C223,344 234,314 255,291C276,268 302,257 333,257C370,257 403,272 432,301C461,330 489,385 517,464C544,543 558,611 558,667C558,713 550,748 534,771C517,794 493,805 460,805C401,805 347,757 298,660C248,563 223,470 223,381z" + id="glyph112" /> +<glyph + unicode="h" + horiz-adv-x="853" + d="M121,-15l-119,0l351,1155C373,1205 383,1243 383,1254C383,1269 379,1280 370,1287C361,1294 338,1297 303,1297l-32,0l12,42C389,1342 468,1354 519,1375l25,0l-227,-746C437,774 546,847 645,847C690,847 723,838 745,819C767,800 778,772 778,734C778,704 758,633 719,520l-88,-251C597,171 580,114 580,99C580,82 583,70 590,61C597,52 607,48 620,48C644,48 671,62 701,91C731,120 757,155 778,198l49,0C793,130 753,75 706,34C659,-7 615,-28 573,-28C542,-28 516,-17 494,6C472,29 461,59 461,96C461,136 480,207 517,309l85,231C641,646 661,713 661,740C661,757 657,769 648,778C639,786 625,790 606,790C576,790 541,778 500,754C459,729 417,689 373,632C329,575 297,521 277,471C256,421 230,341 197,232z" + id="glyph114" /> +<glyph + unicode="i" + horiz-adv-x="491" + d="M353,1288C353,1312 362,1333 379,1350C396,1367 416,1375 440,1375C464,1375 485,1367 502,1350C519,1333 527,1312 527,1288C527,1264 519,1243 502,1226C485,1209 464,1200 440,1200C415,1200 395,1209 378,1227C361,1244 353,1265 353,1288M427,219l48,0C444,154 403,97 353,47C302,-3 254,-28 207,-28C176,-28 148,-17 125,6C101,28 89,61 89,104C89,139 108,207 145,307l115,305C287,683 300,727 300,742C300,755 297,765 291,772C284,779 275,782 262,782C236,782 205,762 170,722C134,681 109,645 94,612l-48,0C83,685 125,742 172,784C219,826 262,847 303,847C334,847 360,836 380,815C400,794 410,766 410,731C410,696 392,631 357,537l-96,-260C226,183 208,124 208,100C208,81 212,66 220,57C227,47 238,42 253,42C302,42 360,101 427,219z" + id="glyph116" /> +<glyph + unicode="k" + horiz-adv-x="789" + d="M734,228l42,0C754,137 722,71 681,32C640,-8 597,-28 554,-28C469,-28 426,26 426,135C426,149 428,182 433,234C440,318 443,366 443,377C443,441 418,473 367,473C342,473 319,465 296,448C273,431 256,411 246,386C235,361 219,313 197,242l-78,-257l-119,0l354,1164C372,1208 381,1243 381,1253C381,1269 377,1280 368,1287C359,1294 337,1297 302,1297l-36,0l13,42C387,1341 466,1353 517,1376l25,0l-274,-902C425,645 532,750 591,789C649,828 699,847 741,847C800,847 830,825 830,782C830,765 824,751 813,740C801,729 787,723 772,723C759,723 741,730 718,744C703,753 688,758 672,758C608,758 502,673 355,504C368,507 378,509 385,509C491,509 548,401 557,185C560,128 565,91 572,76C579,61 591,53 610,53C633,53 657,70 681,105C705,139 723,180 734,228z" + id="glyph118" /> +<glyph + unicode="l" + horiz-adv-x="491" + d="M429,240l44,0C405,61 318,-28 211,-28C174,-28 145,-16 123,9C101,33 90,63 90,100C90,136 112,225 155,367l234,772C409,1204 419,1242 419,1253C419,1269 415,1280 406,1287C397,1294 374,1297 338,1297l-39,0l13,42C422,1341 503,1353 555,1375l25,0l-322,-1060C253,298 244,268 229,224C210,166 200,122 200,92C200,72 204,57 212,47C219,37 231,32 246,32C269,32 297,48 331,79C365,110 398,164 429,240z" + id="glyph120" /> +<glyph + unicode="m" + horiz-adv-x="1301" + d="M1226,189l43,0C1240,127 1203,75 1158,34C1112,-7 1067,-28 1024,-28C995,-28 970,-18 948,3C925,24 914,53 914,91C914,125 930,190 963,285l94,272C1085,638 1099,689 1099,710C1099,732 1095,749 1086,760C1077,771 1063,776 1045,776C988,776 920,728 843,633C765,538 684,351 600,73l-27,-87l-119,0l163,536C645,615 659,678 659,711C659,731 655,746 648,756C640,766 628,771 612,771C565,771 502,722 423,624C344,525 265,345 186,84l-30,-98l-120,0l183,600C244,668 256,716 256,731C256,742 254,750 251,755C247,760 241,763 233,763C216,763 193,749 164,721C135,693 106,653 77,601l-45,0C64,668 103,724 150,768C197,811 238,833 274,833C300,833 321,824 336,807C351,790 358,766 358,737C358,688 338,606 297,490C342,584 397,665 464,733C531,801 591,835 645,835C684,835 713,824 732,802C751,779 760,746 760,701C760,646 746,580 719,503C776,619 836,703 899,756C962,809 1020,835 1071,835C1110,835 1142,822 1168,797C1194,771 1207,736 1207,692C1207,665 1205,642 1201,625C1196,607 1180,556 1152,472l-78,-225C1042,156 1026,99 1026,78C1026,63 1029,52 1036,45C1042,37 1051,33 1063,33C1086,33 1112,46 1139,72C1166,98 1195,137 1226,189z" + id="glyph122" /> +<glyph + unicode="n" + horiz-adv-x="875" + d="M788,188l51,0C799,116 758,62 717,26C675,-10 632,-28 589,-28C559,-28 533,-19 512,0C490,18 479,45 479,81C479,111 494,170 525,259l107,305C661,647 675,701 675,726C675,748 670,764 661,775C651,786 636,791 616,791C565,791 499,732 418,613C336,494 266,338 207,145l-49,-160l-122,0l176,568C244,658 260,718 260,733C260,744 258,753 254,758C250,763 244,766 235,766C196,766 149,717 95,620l-46,0C132,771 211,847 286,847C312,847 332,839 345,824C358,808 364,784 364,752C364,695 342,606 297,486C418,727 535,847 649,847C686,847 718,835 745,811C772,786 786,751 786,704C786,674 772,618 745,536l-107,-319C609,131 595,83 595,73C595,60 598,51 605,45C611,38 620,35 632,35C655,35 679,48 705,74C731,99 759,137 788,188z" + id="glyph124" /> +<glyph + unicode="o" + horiz-adv-x="747" + d="M63,263C63,343 82,430 119,525C156,619 210,695 279,754C348,813 416,842 481,842C540,842 589,817 628,767C666,716 685,648 685,562C685,458 664,359 621,266C578,173 525,101 461,52C396,2 333,-23 271,-23C216,-23 167,-2 126,41C84,84 63,158 63,263M170,148C170,112 179,81 198,56C217,31 242,18 275,18C364,18 438,103 496,272C553,441 582,571 582,660C582,706 573,741 556,764C538,787 511,798 476,798C393,798 321,720 261,563C200,406 170,267 170,148z" + id="glyph126" /> +<glyph + unicode="p" + horiz-adv-x="853" + d="M74,412l-46,0l189,303C272,803 309,865 326,902C343,939 363,994 386,1068l14,48l120,0l-68,-224l-84,-236C459,783 545,847 626,847C675,847 717,824 752,779C787,733 804,676 804,607C804,526 783,434 742,330C701,226 642,140 567,73C491,6 415,-28 340,-28C268,-28 222,6 203,74l-117,-387C71,-361 64,-390 64,-401C64,-412 69,-422 79,-430C88,-438 116,-442 163,-442l45,0l-14,-44l-418,0l14,44l22,0C-129,-442 -94,-438 -83,-430C-72,-422 -54,-380 -31,-305l208,687C221,525 272,672 329,821C322,812 305,782 276,731C273,726 262,709 244,680M259,259C241,200 232,157 232,131C232,98 241,71 259,48C277,25 302,14 335,14C384,14 434,42 485,98C536,153 582,246 625,376C667,505 688,603 688,668C688,711 681,743 668,764C655,785 635,796 608,796C572,796 524,770 465,717C405,664 350,555 299,390z" + id="glyph128" /> +<glyph + unicode="r" + horiz-adv-x="597" + d="M89,577l-44,0C73,652 108,715 151,768C193,821 235,847 276,847C305,847 326,836 340,813C354,790 361,755 361,708C361,650 346,567 316,460C320,467 331,491 349,532C398,643 442,724 479,773C516,822 554,847 591,847C614,847 633,840 647,825C661,810 668,793 668,772C668,752 662,736 651,723C639,710 625,704 609,704C591,704 573,715 554,737C547,746 539,750 532,750C499,750 447,670 378,510C309,349 253,198 210,57l-22,-72l-120,0l159,530C257,616 272,685 272,721C272,740 270,755 265,764C260,773 252,778 242,778C220,778 193,754 160,707C127,660 103,616 89,577z" + id="glyph130" /> +<glyph + unicode="s" + horiz-adv-x="640" + d="M498,220C498,158 474,101 427,50C379,-2 309,-28 216,-28C147,-28 96,-13 62,18C27,48 10,80 10,115C10,134 15,150 26,163C36,176 49,183 65,183C101,183 119,164 119,126C119,117 117,105 113,89C110,82 109,76 109,72C109,56 119,42 140,31C161,19 185,13 214,13C259,13 299,27 336,56C373,84 391,123 391,173C391,216 365,285 314,378C254,486 224,565 224,615C224,679 249,733 300,777C351,821 408,843 473,843C520,843 561,831 595,807C628,783 645,757 645,730C645,695 630,677 601,677C579,677 563,697 553,736C542,779 513,801 466,801C428,801 395,791 367,770C339,749 325,722 325,689C325,644 347,581 392,502C434,430 462,375 477,337C491,299 498,260 498,220z" + id="glyph132" /> +<glyph + unicode="t" + horiz-adv-x="491" + d="M558,819l-14,-44l-150,0l-132,-437C218,195 196,111 196,88C196,72 200,60 207,52C214,43 224,39 237,39C261,39 292,62 331,107C370,152 404,209 435,278l44,0C438,179 392,103 340,51C287,-2 239,-28 196,-28C162,-28 135,-16 115,8C94,32 84,62 84,99C84,130 105,214 146,349l129,426l-138,0l14,44l137,0l92,303l120,0l-92,-303z" + id="glyph134" /> +<glyph + unicode="u" + horiz-adv-x="875" + d="M795,206l42,0C780,50 704,-28 607,-28C574,-28 550,-19 534,-1C517,17 509,44 509,80C509,131 527,212 563,323C446,89 331,-28 217,-28C175,-28 142,-15 118,11C94,37 82,69 82,108C82,146 97,209 127,297l123,359C268,709 277,741 277,752C277,769 268,778 251,778C209,778 163,722 113,609l-48,0C92,679 127,736 170,781C213,825 256,847 298,847C324,847 346,839 365,823C383,806 392,782 392,749C392,726 380,679 357,609l-126,-370C207,167 195,120 195,97C195,76 200,61 209,50C218,39 232,34 250,34C309,34 378,96 459,221C540,346 617,531 691,777l17,57l120,0l-175,-574C625,167 611,110 611,91C611,74 614,62 621,54C628,45 638,41 651,41C702,41 750,96 795,206z" + id="glyph136" /> +<glyph + unicode="v" + horiz-adv-x="725" + d="M90,692l-41,0C80,795 123,847 178,847C207,847 236,823 265,774C276,755 289,746 304,746C320,746 332,760 341,787C354,827 370,847 390,847C405,847 413,840 413,825C413,811 403,785 382,746C302,597 247,481 217,400C186,318 171,245 171,180C171,133 181,97 201,72C221,46 244,33 270,33C348,33 424,94 498,216C571,337 608,455 608,570C608,615 598,661 579,706C567,734 561,758 561,779C561,824 578,847 612,847C632,847 648,835 661,812C674,789 680,757 680,717C680,628 661,520 622,391C583,262 528,160 455,85C382,10 306,-28 227,-28C174,-28 132,-12 101,21C69,54 53,99 53,157C53,217 69,284 102,357C135,430 190,523 267,636C279,653 290,671 300,689C309,704 315,713 318,718C291,701 267,693 246,693C224,693 205,701 189,717C172,734 156,742 142,742C120,742 103,725 90,692z" + id="glyph138" /> +<glyph + unicode="w" + horiz-adv-x="1280" + d="M113,693l-43,0C96,792 131,842 175,842C202,842 229,825 258,792C286,760 310,744 329,744C348,744 361,759 369,789C380,828 395,847 416,847C437,847 447,838 447,819C447,810 429,774 392,711C307,567 252,448 227,353C201,258 188,193 188,158C188,124 196,95 213,72C229,48 252,36 282,36C326,36 377,57 435,99C493,141 539,183 574,225C572,242 571,259 571,278C571,415 599,545 654,666C709,787 768,847 829,847C854,847 873,838 886,820C898,802 904,775 904,739C904,678 887,610 853,537C818,464 766,384 697,299C703,214 720,149 748,102C775,55 810,32 851,32C890,32 936,55 988,102C1040,148 1087,218 1128,312C1169,405 1189,484 1189,549C1189,588 1178,630 1157,676C1138,717 1128,752 1128,780C1128,801 1134,817 1145,829C1156,841 1167,847 1180,847C1199,847 1216,834 1232,808C1248,782 1256,739 1256,678C1256,590 1235,483 1193,357C1150,230 1091,135 1016,70C940,5 867,-28 798,-28C739,-28 692,-6 656,37C619,80 596,124 587,170C523,104 461,54 402,21C343,-12 286,-29 231,-29C176,-29 134,-12 106,22C77,56 63,98 63,149C63,260 135,418 278,621C313,670 334,700 340,711C311,695 284,687 259,687C236,687 211,699 185,724C174,735 164,741 155,741C139,741 126,728 116,702M689,360C746,436 788,506 817,570C845,633 859,690 859,741C859,762 856,777 851,788C845,798 836,803 824,803C797,803 768,770 736,703C703,636 687,539 687,412C687,397 688,380 689,360z" + id="glyph140" /> +<glyph + unicode="y" + horiz-adv-x="747" + d="M102,576l-42,0C68,671 89,740 123,783C156,826 192,847 231,847C280,847 320,817 350,757C379,696 394,604 394,481C394,320 376,173 339,40C404,111 468,202 531,312C593,422 624,516 624,593C624,630 613,666 592,702C571,737 560,764 560,782C560,799 565,815 576,828C586,841 598,847 613,847C637,847 657,833 672,806C687,779 695,738 695,685C695,605 671,508 622,393C573,278 501,164 406,51C311,-62 217,-164 124,-255C30,-346 -50,-410 -117,-445C-184,-481 -251,-499 -317,-499C-402,-499 -444,-475 -444,-426C-444,-406 -435,-390 -417,-378C-399,-367 -380,-361 -360,-361C-345,-361 -321,-365 -288,-374C-245,-386 -210,-392 -183,-392C-143,-392 -104,-381 -65,-358C-27,-336 20,-297 77,-242C133,-187 172,-139 195,-96C218,-54 238,20 256,127C273,234 282,348 282,471C282,564 273,636 256,687C239,738 217,763 192,763C143,763 113,701 102,576z" + id="glyph142" /> +</font> + + <font + horiz-adv-x="2048" + id="font144"> +<!-- Monotype Baskervilleª is a trademark of Monotype Typography, Ltd which may be registered in certain jurisdictions. --> +<!-- Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. --> +<font-face + font-family="Baskerville-Bold" + units-per-em="2048" + underline-position="-205" + underline-thickness="102" + id="font-face146" /> +<missing-glyph + horiz-adv-x="1536" + d="M256,0l0,1280l1024,0l0,-1280M288,32l960,0l0,1216l-960,0z" + id="missing-glyph148" /> +<glyph + unicode="&" + horiz-adv-x="1579" + d="M885,123C750,22 620,-29 494,-29C385,-29 290,7 211,79C132,150 92,235 92,334C92,488 197,623 406,740C339,847 305,941 305,1024C305,1120 336,1195 397,1249C458,1303 540,1330 643,1330C735,1330 810,1308 867,1264C924,1220 952,1160 952,1083C952,962 880,864 736,789l276,-361C1085,531 1121,604 1121,649C1121,694 1092,717 1033,719l0,109l408,0l0,-109C1392,709 1353,691 1326,665C1298,638 1263,591 1221,523C1175,448 1131,383 1089,330C1140,263 1181,217 1210,192C1239,167 1270,155 1301,155C1368,155 1406,202 1415,295l111,0C1524,184 1492,103 1431,51C1370,-1 1295,-27 1207,-27C1089,-27 982,23 885,123M657,892C738,948 779,1008 779,1071C779,1115 767,1150 742,1176C717,1202 686,1215 650,1215C623,1215 598,1207 577,1191C556,1174 545,1148 545,1113C545,1055 582,981 657,892M798,213l-322,421C410,593 377,540 377,475C377,404 404,333 459,262C514,191 577,155 650,155C704,155 753,174 798,213z" + id="glyph150" /> +<glyph + unicode="A" + horiz-adv-x="1301" + d="M319,366l-26,-67C274,252 265,218 265,199C265,166 276,144 298,131C320,118 356,111 406,111l0,-111l-448,0l0,111C43,111 115,184 173,329l417,1051l117,0l425,-1050C1174,226 1212,164 1246,143C1280,122 1313,111 1344,111l0,-111l-673,0l0,111C732,111 769,117 784,129C799,140 806,155 806,173C806,189 800,210 788,236l-13,31l-39,99M362,481l329,0l-169,405z" + id="glyph152" /> +<glyph + unicode="C" + horiz-adv-x="1536" + d="M1402,521l0,-509l-111,0C1278,66 1259,109 1234,142C1121,29 973,-28 788,-28C578,-28 410,41 284,178C158,315 95,478 95,667C95,853 157,1018 282,1163C407,1308 579,1380 799,1380C964,1380 1103,1326 1218,1217C1233,1251 1247,1291 1260,1338l110,0l14,-501l-110,0C1241,973 1188,1076 1114,1146C1039,1215 951,1250 849,1250C732,1250 643,1204 584,1112C525,1020 495,876 495,681C495,544 506,435 527,355C548,274 591,212 654,169C717... [truncated message content] |
From: Stefan F. <ste...@us...> - 2011-11-11 15:34:44
|
build.xml | 2 +- rails/game/Game.java | 2 +- rails/game/GameManager.java | 2 -- rails/game/action/PossibleActions.java | 3 +-- 4 files changed, 3 insertions(+), 6 deletions(-) New commits: commit e161ea2c8e3da97064fc12a127ebaacf88fca30d Author: Stefan Frey <ste...@we...> Date: Fri Nov 11 16:36:27 2011 +0100 updated version number to rails 1.5.3 (this corresponds to release 1.5.3 in branch 1.5.x) diff --git a/build.xml b/build.xml index d346fc0..3900603 100644 --- a/build.xml +++ b/build.xml @@ -9,7 +9,7 @@ <property name="debuglevel" value="source,lines,vars"/> <property name="target" value="1.5"/> <property name="source" value="1.5"/> - <property name="version" value="1.5.2"/> + <property name="version" value="1.5.3"/> <taskdef name="jarbundler" classpath="tools/lib/jarbundler-2.1.0.jar" classname="net.sourceforge.jarbundler.JarBundler" /> diff --git a/rails/game/Game.java b/rails/game/Game.java index d0a87dc..c9d1054 100644 --- a/rails/game/Game.java +++ b/rails/game/Game.java @@ -14,7 +14,7 @@ import rails.game.action.PossibleAction; import rails.util.GameFileIO; public class Game { - public static final String version = "1.5.2+"; + public static final String version = "1.5.3+"; /** The component Manager */ protected GameManager gameManager; commit 2fef5fe020452f1c1901f3ce1e1ee7ab1e49aa50 Author: Stefan Frey <ste...@we...> Date: Fri Nov 11 16:34:58 2011 +0100 reverted commenting-out automated pass execution code (see commit 1893c3) diff --git a/rails/game/GameManager.java b/rails/game/GameManager.java index b7f9859..8507931 100644 --- a/rails/game/GameManager.java +++ b/rails/game/GameManager.java @@ -893,11 +893,9 @@ public class GameManager implements ConfigurableComponentI, GameManagerI { getCurrentRound().setPossibleActions(); // only pass available => execute automatically - /* if (!isGameOver() && possibleActions.containsOnlyPass()) { result = process(possibleActions.getList().get(0)); } - */ // moveStack closing is done here to allow state changes to occur // when setting possible actions diff --git a/rails/game/action/PossibleActions.java b/rails/game/action/PossibleActions.java index 8eabf5d..42d5fbe 100644 --- a/rails/game/action/PossibleActions.java +++ b/rails/game/action/PossibleActions.java @@ -83,7 +83,6 @@ public class PossibleActions { return possibleActions.isEmpty(); } - /* OBSOLETE public boolean containsOnlyPass() { if (possibleActions.size() != 1) return false; PossibleAction action = possibleActions.get(0); @@ -92,7 +91,7 @@ public class PossibleActions { } else { return false; } - }*/ + } /** Check if a given action exists in the current list of possible actions */ public boolean validate(PossibleAction checkedAction) { |
From: Erik V. <ev...@us...> - 2011-11-11 15:29:14
|
data/1825/CompanyManager.xml | 74 +++++++++++++++++++++++++++++++++++++++++++ data/1825/Map.xml | 15 +++++--- 2 files changed, 83 insertions(+), 6 deletions(-) New commits: commit 415ee8339e845cd3c7a306118d7be83539cab712 Author: Erik Vos <eri...@xs...> Date: Fri Nov 11 16:27:44 2011 +0100 Applied half-hexes etc. to 1825 Units 2 & 3. Also added the Unit 2 & 3 companies, so that these are at least *somewhat* playable. diff --git a/data/1825/CompanyManager.xml b/data/1825/CompanyManager.xml index 65c5a10..2ae65c9 100644 --- a/data/1825/CompanyManager.xml +++ b/data/1825/CompanyManager.xml @@ -20,6 +20,21 @@ <Number colour="yellow" number="2" phase="1,2,3,4"></Number></TileLays--> </CompanyType> + <CompanyType name="Minor" class="rails.game.specific._1825.PublicCompany_1825"> + <Float percentage="40"/> + <StockPrice par="no"/> + <ShareUnit percentage="20"/> + <BaseTokens> + <!-- HomeBase lay options: "whenStarted", "whenFloated", "firstOR" (default) --> + <HomeBase lay="firstOR"/> + <LayCost method="sequence" cost="0"/> + </BaseTokens> + <Certificate type="President" shares="2"/> + <Certificate shares="1" number="3"/> + <Trains limit="4,3"/> + <!--TileLays> + <Number colour="yellow" number="2" phase="1,2,3,4"></Number></TileLays--> + </CompanyType> <IfOption name="Include" parm="Unit1" value="yes"> <!-- Private companies --> @@ -129,7 +144,57 @@ </IfOption> + <!-- UNIT 3 COMPANIES --> + <IfOption name="Include" parm="Unit3" value="yes"> + + <!-- Private companies --> + <Company name="A&F" type="Private" basePrice="30" revenue="5" longname="Arbroath&Forfar"> + </Company> + <Company name="TWW" type="Private" basePrice="60" revenue="10" + longname="Tanfield Wagon Way"> + </Company> + <IfOption name="Include" parm="Unit2" value="no"> + <Company name="S&D" type="Private" basePrice="160" revenue="25" + longname="Stockton&Darlington Railway"> + </Company> + </IfOption> + + <!-- Public companies --> + <Company name="CR" type="Public" tokens="5" fgColour="FFFFFF" + bgColour="000088" longname="Caledonian Railway" available="no" + startspace="M1"> + <Home hex="G5" city="3"/> + </Company> + <Company name="NBR" type="Public" tokens="5" fgColour="FFFFFF" + bgColour="CC8800" longname="North British Railway" + available="no" startspace="M1"> + <Home hex="G5" city="2"/> + </Company> + <Company name="GSWR" type="Public" tokens="4" fgColour="FFFFFF" + bgColour="004400" longname="Glasgow&South Western Railway" available="no" + startspace="K1"> + <Home hex="G5" city="1"/> + </Company> + <Company name="GNSR" type="Minor" tokens="1" fgColour="00CC00" + bgColour="FFFFFF" longname="Great North of Scotland Railway" + available="no"> + <Home hex="B12"/> + </Company> + <Company name="HR" type="Minor" tokens="1" fgColour="000000" + bgColour="FFFF00" + longname="Highland Railway" available="no"> + <Home hex="B8"/> + </Company> + <Company name="M&C" type="Minor" tokens="1" fgColour="000000" + bgColour="CCCCFF" + longname="Maryport&Carlisle Railway" available="no"> + <Home hex="K7"/> + </Company> + + </IfOption> + <StartPacket roundClass="rails.game.specific._1825.StartRound_1825"> + <!-- Unit 1 --> <IfOption name="Include" parm="Unit1" value="yes"> <Item name="S&M" type="Private" basePrice="30"/> <Item name="CHP" type="Private" basePrice="75"/> @@ -141,6 +206,7 @@ </Item> </IfOption> </IfOption> + <!-- Unit 2 --> <IfOption name="Include" parm="Unit2" value="yes"> <Item name="Lds&M" type="Private" basePrice="30"/> <IfOption name="Include" parm="Unit1" value="no"> @@ -156,6 +222,14 @@ </IfOption> </IfOption> </IfOption> + <!-- Unit 3 --> + <IfOption name="Include" parm="Unit3" value="yes"> + <Item name="A&F" type="Private" basePrice="30"/> + <Item name="TWW" type="Private" basePrice="60"/> + <IfOption name="Include" parm="Unit2" value="no"> + <Item name="S&D" type="Private" basePrice="160"/> + </IfOption> + </IfOption> </StartPacket> <StockRoundRules> <!-- Will probably move later to a GameManager XML--> diff --git a/data/1825/Map.xml b/data/1825/Map.xml index 553ce04..9143a6b 100644 --- a/data/1825/Map.xml +++ b/data/1825/Map.xml @@ -2,6 +2,9 @@ <!-- UNIT 3 --> <IfOption name="Include" parm="Unit3" value="yes"> + <Hex name="C1" tile="-25017" orientation="4"/> + <Hex name="C3" tile="-25017" orientation="4"/> + <Hex name="C5" tile="-25017" orientation="4"/> <Hex name="B8" tile="-5" orientation="1" city="Inverness"/> <Hex name="B12" tile="-25011" city="Aberdeen"/> <Hex name="C7" tile="-1" cost="100" city="Pitlochry" open="1,2"/> @@ -52,12 +55,12 @@ <Hex name="K11" tile="0" cost="100"/> <Hex name="K13" tile="-1" city="Durham"/> <Hex name="K15" tile="-2" city="Stockton, Middlesbro"/> - <IfOption name="Include" parm="Unit2" value="yes"> - <Hex name="L8" tile="-25017" orientation="4"/> - <Hex name="L10" tile="-25017" orientation="4"/> - <Hex name="L12" tile="-25017" orientation="4"/> - <Hex name="L14" tile="-25017" orientation="4"/> - <Hex name="L16" tile="-25017" orientation="4"/> + <IfOption name="Include" parm="Unit2" value="no"> + <Hex name="L8" tile="-25017" orientation="1"/> + <Hex name="L10" tile="-25017" orientation="1"/> + <Hex name="L12" tile="-25017" orientation="1"/> + <Hex name="L14" tile="-25017" orientation="1"/> + <Hex name="L16" tile="-25017" orientation="1"/> </IfOption> </IfOption> |
From: Erik V. <ev...@us...> - 2011-11-11 13:20:51
|
data/1825/CompanyManager.xml | 198 ++++++++++++++++++++++++++++++------------- data/1825/Map.xml | 64 +++++++++++-- data/1825/TileSet.xml | 1 data/1825/Tiles.xml | 5 - tiles/HandmadeTiles.xml | 1 tiles/svg/tile-25000.svg | 19 ++++ tiles/svg/tile-25017.svg | 12 ++ tiles/svg/tile-25018.svg | 10 ++ 8 files changed, 238 insertions(+), 72 deletions(-) New commits: commit bf8e71df4227accdc78650e141340596aa499005 Author: Erik Vos <eri...@xs...> Date: Fri Nov 11 14:20:07 2011 +0100 Applied non-upgradable but approachable empty hexes to all 1825 units and regional kits. Using Stefan's new shaded tile and half-tiles. diff --git a/data/1825/CompanyManager.xml b/data/1825/CompanyManager.xml index 1493f2e..65c5a10 100644 --- a/data/1825/CompanyManager.xml +++ b/data/1825/CompanyManager.xml @@ -5,74 +5,158 @@ <CompanyType name="Public" class="rails.game.specific._1825.PublicCompany_1825"> <Float percentage="60"/> - <StockPrice par="yes"></StockPrice><ShareUnit percentage="10"/> - <BaseTokens> + <StockPrice par="yes"/> + <ShareUnit percentage="10"/> + <BaseTokens> <!-- HomeBase lay options: "whenStarted", "whenFloated", "firstOR" (default) --> -` <HomeBase lay="firstOR"/> + <HomeBase lay="firstOR"/> <!-- LayCost methods: only "sequence" (1830 style) implemented so far (default) --> - <LayCost method="sequence" cost="0,40,100"/> - </BaseTokens> + <LayCost method="sequence" cost="0,40,100"/> + </BaseTokens> <Certificate type="President" shares="2"/> <Certificate shares="1" number="8"/> <Trains limit="4,3"/> <!--TileLays> - <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" - longname="Cromford and High Peak"> - </Company> - <Company name="C&W" type="Private" basePrice="130" revenue="20" - longname="Canterbury and Whitstable"> - </Company> - <Company name="L&M" type="Private" basePrice="210" revenue="30" - longname="Liverpool and Manchester"> - </Company> + <Number colour="yellow" number="2" phase="1,2,3,4"></Number></TileLays--> + </CompanyType> + + <IfOption name="Include" parm="Unit1" value="yes"> - <!-- Note two supported colour specification formats: - RGB decimal with commas and RGB hexadecimal without commas --> - <Company name="LNWR" type="Public" tokens="6" fgColour="FFFFFF" - bgColour="000000" longname="London & North Western Railway" startspace="P1"> - <Home hex="T16" /> - </Company> - <Company name="GWR" type="Public" tokens="6" fgColour="FFFFFF" - bgColour="006600" longname="Great Western Railway" available="no" - startspace="O1"> - <Home hex="V14" /> - </Company> + <!-- Private companies --> + <Company name="S&M" type="Private" basePrice="30" revenue="5" longname="Swansea and Mumbles"> + </Company> + <Company name="CHP" type="Private" basePrice="75" revenue="12" + longname="Cromford and High Peak"> + </Company> + <Company name="C&W" type="Private" basePrice="130" revenue="20" + longname="Canterbury and Whitstable"> + </Company> + <Company name="L&M" type="Private" basePrice="210" revenue="30" + longname="Liverpool and Manchester"> + </Company> + + <!-- Public companies --> + <Company name="LNWR" type="Public" tokens="6" fgColour="FFFFFF" + bgColour="000000" longname="London & North Western Railway" startspace="P1"> + <IfOption name="Include" parm="Unit2" value="yes"> + <Home hex="T16,Q11" /> + </IfOption> + <IfOption name="Include" parm="Unit2" value="no"> + <Home hex="T16" /> + </IfOption> + </Company> + <Company name="GWR" type="Public" tokens="6" fgColour="FFFFFF" + bgColour="006600" longname="Great Western Railway" available="no" + startspace="O1"> + <Home hex="V14" /> + </Company> + <Company name="LSWR" type="Public" tokens="5" fgColour="000000" + bgColour="99FF66" longname="London & South Western Railway" + available="no" startspace="M1"> + <Home hex="V20" city="6" /> + </Company> + <Company name="GER" type="Public" tokens="5" fgColour="FFFFFF" + bgColour="000066" longname="Great Eastern" available="no" + startspace="M1"> + <Home hex="V20" city="4" /> + </Company> + <Company name="SECR" type="Public" tokens="5" fgColour="000000" + bgColour="FFFF00" longname="South Eastern & Chatham Railway" + available="no" startspace="L1"> + <Home hex="W23"></Home> + </Company> + <Company name="LBSC" type="Public" tokens="4" fgColour="000000" + bgColour="FF9900" + longname="London, Brighton & South Coast Railway" available="no" + startspace="K1"> + <Home hex="X20"></Home> + </Company> + </IfOption> + <!-- UNIT 2 COMPANIES --> + <IfOption name="Include" parm="Unit2" value="yes"> - <Company name="LSWR" type="Public" tokens="5" fgColour="000000" - bgColour="99FF66" longname="London & South Western Railway" - available="no" startspace="M1"> - <Home hex="V20" city="6" /> - </Company> - <Company name="GER" type="Public" tokens="5" fgColour="FFFFFF" - bgColour="000066" longname="Great Eastern" available="no" - startspace="M1"> - <Home hex="V20" city="4" /> - </Company> - <Company name="SECR" type="Public" tokens="5" fgColour="000000" - bgColour="FFFF00" longname="South Eastern & Chatham Railway" - available="no" startspace="L1"> - <Home hex="W23"></Home> - </Company> - <Company name="LBSC" type="Public" tokens="4" fgColour="000000" - bgColour="FF9900" - longname="London, Brighton & South Coast Railway" available="no" - startspace="K1"> - <Home hex="X20"></Home> - </Company> + <!-- Private companies --> + <Company name="Lds&M" type="Private" basePrice="30" revenue="5" longname="Leeds and Middleton"> + </Company> + <IfOption name="Include" parm="Unit1" value="no"> + <Company name="CHP" type="Private" basePrice="75" revenue="12" + longname="Cromford and High Peak"> + </Company> + </IfOption> + <Company name="S&D" type="Private" basePrice="160" revenue="25" + longname="Stockton&Darlington"> + </Company> + <IfOption name="Include" parm="Unit1" value="no"> + <Company name="L&M" type="Private" basePrice="210" revenue="30" + longname="Liverpool and Manchester"> + </Company> + </IfOption> + <!-- Public companies --> + <IfOption name="Include" parm="Unit1" value="no"> + <Company name="LNWR" type="Public" tokens="6" fgColour="FFFFFF" + bgColour="000000" longname="London & North Western Railway" startspace="P1"> + <Home hex="Q11" /> + </Company> + </IfOption> + <Company name="MR" type="Public" tokens="5" fgColour="FFFFFF" + bgColour="FF0000" longname="Midland Railway" available="no" + startspace="N1"> + <Home hex="Q15" /> + </Company> + <Company name="NER" type="Public" tokens="5" fgColour="FFFFFF" + bgColour="00BB00" longname="North Eastern Railway" + available="no" startspace="N1"> + <Home hex="L14"/> + </Company> + <Company name="GCR" type="Public" tokens="4" fgColour="000000" + bgColour="8888FF" longname="Great Central Railway" available="no" + startspace="L1"> + <Home hex="O15" city="1"/> + </Company> + <Company name="GNR" type="Public" tokens="4" fgColour="008800" + bgColour="FFFFFF" longname="Great Eastern Railway" + available="no" startspace="L1"> + <Home hex="O15" city="2"/> + </Company> + <Company name="L&Y" type="Public" tokens="4" fgColour="FFFFFF" + bgColour="880088" + longname="Lancashire and Yorkshire Railway" available="no" + startspace="L1"> + <Home hex="O11" city="1"></Home> + </Company> + + </IfOption> + <StartPacket roundClass="rails.game.specific._1825.StartRound_1825"> - <Item name="S&M" type="Private" basePrice="30"/> - <Item name="CHP" type="Private" basePrice="75"/> - <Item name="C&W" type="Private" basePrice="130"/> - <Item name="L&M" type="Private" basePrice="210"/> - <IfOption name="NumberOfPlayers" value="5"> - <Item name="LNWR" type="Public" president="yes" - basePrice="200"> - </Item></IfOption></StartPacket> + <IfOption name="Include" parm="Unit1" value="yes"> + <Item name="S&M" type="Private" basePrice="30"/> + <Item name="CHP" type="Private" basePrice="75"/> + <Item name="C&W" type="Private" basePrice="130"/> + <Item name="L&M" type="Private" basePrice="210"/> + <IfOption name="NumberOfPlayers" value="5"> + <Item name="LNWR" type="Public" president="yes" + basePrice="200"> + </Item> + </IfOption> + </IfOption> + <IfOption name="Include" parm="Unit2" value="yes"> + <Item name="Lds&M" type="Private" basePrice="30"/> + <IfOption name="Include" parm="Unit1" value="no"> + <Item name="CHP" type="Private" basePrice="75"/> + </IfOption> + <Item name="S&D" type="Private" basePrice="130"/> + <IfOption name="Include" parm="Unit1" value="no"> + <Item name="L&M" type="Private" basePrice="210"/> + <IfOption name="NumberOfPlayers" value="5"> + <Item name="LNWR" type="Public" president="yes" + basePrice="200"> + </Item> + </IfOption> + </IfOption> + </IfOption> + </StartPacket> <StockRoundRules> <!-- Will probably move later to a GameManager XML--> <NoSaleInFirstSR/> diff --git a/data/1825/Map.xml b/data/1825/Map.xml index eff4b92..553ce04 100644 --- a/data/1825/Map.xml +++ b/data/1825/Map.xml @@ -1,4 +1,6 @@ <Map tileOrientation="EW" letterOrientation="vertical" even="R"> + + <!-- UNIT 3 --> <IfOption name="Include" parm="Unit3" value="yes"> <Hex name="B8" tile="-5" orientation="1" city="Inverness"/> <Hex name="B12" tile="-25011" city="Aberdeen"/> @@ -46,16 +48,32 @@ <Hex name="J12" tile="0" cost="100"/> <Hex name="J14" tile="-20" cost="40" city="Newcastle u/T, Sunderland"/> <Hex name="K7" tile="-25014" orientation="2" city="Maryport"/> - <Hex name="K9" tile="0" cost="100" open="0,5"/> - <Hex name="K11" tile="0" cost="100" open="0,5"/> - <Hex name="K13" tile="-1" city="Durham" open="0,5"/> - <Hex name="K15" tile="-2" city="Stockton, Middlesbro" open="0,5"/> + <Hex name="K9" tile="0" cost="100"/> + <Hex name="K11" tile="0" cost="100"/> + <Hex name="K13" tile="-1" city="Durham"/> + <Hex name="K15" tile="-2" city="Stockton, Middlesbro"/> + <IfOption name="Include" parm="Unit2" value="yes"> + <Hex name="L8" tile="-25017" orientation="4"/> + <Hex name="L10" tile="-25017" orientation="4"/> + <Hex name="L12" tile="-25017" orientation="4"/> + <Hex name="L14" tile="-25017" orientation="4"/> + <Hex name="L16" tile="-25017" orientation="4"/> + </IfOption> </IfOption> + + <!-- UNIT 2 --> <IfOption name="Include" parm="Unit2" value="yes"> - <Hex name="L8" tile="0" open="2,3"/> - <Hex name="L10" tile="0" open="2,3"/> - <Hex name="L12" tile="0" cost="100" open="2,3"/> - <Hex name="L14" tile="-10" city="Darlington" open="2,3" reserved="NER"/> + <IfOption name="Include" parm="Unit3" value="no"> + <Hex name="K7" tile="-25017" orientation="4"/> + <Hex name="K9" tile="-25017" orientation="4"/> + <Hex name="K11" tile="-25017" orientation="4"/> + <Hex name="K13" tile="-25017" orientation="4"/> + <Hex name="K15" tile="-25017" orientation="4"/> + </IfOption> + <Hex name="L8" tile="0"/> + <Hex name="L10" tile="0"/> + <Hex name="L12" tile="0" cost="100"/> + <Hex name="L14" tile="-10" city="Darlington" reserved="NER"/> <Hex name="L16" tile="0" open="2"/> <Hex name="L18" tile="-1" city="Scarborough"/> <Hex name="M9" tile="-25008" city="Barrow"/> @@ -88,11 +106,30 @@ <Hex name="Q15" tile="-10" city="Derby" open="0,5" reserved="MR"/> <Hex name="Q17" tile="-10" city="Nottingham" open="0,5"/> <Hex name="Q19" tile="0" open="0,5"/> + <IfOption name="Include" parm="Unit1" value="no"> + <IfOption name="Include" parm="R1" value="no"> + <Hex name="Q7" tile="-25018" orientation="1"/> + </IfOption> + <Hex name="R8" tile="-25017" orientation="1"/> + <Hex name="R10" tile="-25017" orientation="1"/> + <Hex name="R12" tile="-25017" orientation="1"/> + <Hex name="R14" tile="-25017" orientation="1"/> + <Hex name="R16" tile="-25017" orientation="1"/> + <Hex name="R18" tile="-25017" orientation="1"/> + <Hex name="R20" tile="-25017" orientation="1"/> + </IfOption> </IfOption> + + <!-- UNIT 1 --> <IfOption name="Include" parm="Unit1" value="yes"> <IfOption name="Include" parm="R1" value="no"> - <Hex name="Q7" tile="-25017" orientation="4"/> - <Hex name="Q9" tile="-25017" orientation="4"/> + <IfOption name="Include" parm="Unit2" value="no"> + <Hex name="Q7" tile="-25017" orientation="4"/> + <Hex name="Q9" tile="-25017" orientation="4"/> + </IfOption> + <IfOption name="Include" parm="Unit2" value="yes"> + <Hex name="Q7" tile="-25000"/> + </IfOption> </IfOption> <IfOption name="Include" parm="Unit2" value="no"> <Hex name="Q11" tile="-25017" orientation="4" impassable="R10"/> @@ -107,14 +144,14 @@ </IfOption> <IfOption name="Include" parm="R1" value="no"> <Hex name="R6" tile="-25018" orientation="1"/> - <Hex name="S7" tile="-25018" orientation="1"/> + <Hex name="S7" tile="-25000" orientation="1"/> <Hex name="T6" tile="-25018" orientation="1"/> - <Hex name="U7" tile="-25018" orientation="1"/> + <Hex name="U7" tile="-25000" orientation="1"/> <Hex name="V6" tile="-25018" orientation="1"/> </IfOption> <IfOption name="Include" parm="R2" value="no"> <Hex name="X6" tile="-25018" orientation="1"/> - <Hex name="Y7" tile="-25018" orientation="1"/> + <Hex name="Y7" tile="-25000" orientation="1"/> </IfOption> <Hex name="R8" tile="0" open="0,1,2,3"/> <Hex name="R10" tile="-1" city="Shrewsbury" orientation="3"/> @@ -200,6 +237,7 @@ <Hex name="P6" tile="0" cost="40"/> <IfOption name="Include" parm="Unit2" value="no"> <Hex name="P8" tile="-25018" orientation="4"/> + <Hex name="Q9" tile="-25017" orientation="4"/> </IfOption> <Hex name="Q5" tile="-1" city="Portmadoc"/> <Hex name="Q7" tile="0" cost="100"/> diff --git a/data/1825/TileSet.xml b/data/1825/TileSet.xml index 70cbdb0..4ab3605 100644 --- a/data/1825/TileSet.xml +++ b/data/1825/TileSet.xml @@ -20,6 +20,7 @@ <Tile id="-7"><!--Preprinted tight bend--></Tile> <Tile id="-41"/> <Tile id="-104"><!--Harwich--></Tile> + <Tile id="-25000"/> <Tile id="-25001"><!--London--><Upgrade id="32" relayBaseTokens="yes"></Upgrade></Tile> <Tile id="-25002"><!--Birmingham--><Upgrade id="34" relayBaseTokens="yes"></Upgrade></Tile> <Tile id="-25003"><!--Bristol--><Upgrade id="38" relayBaseTokens="yes"/></Tile> diff --git a/data/1825/Tiles.xml b/data/1825/Tiles.xml index aae97f9..bbd1dc6 100644 --- a/data/1825/Tiles.xml +++ b/data/1825/Tiles.xml @@ -32,6 +32,7 @@ <Station id="city1" position="0" slots="1" type="City" value="20"/> <Track from="city1" gauge="normal" to="side2"/> </Tile> + <Tile colour="white" id="-25000" name="empty tile, unlayable"/> <Tile colour="green" id="-25001" name="London"> <Station id="city1" position="403" slots="1" type="City" value="50"/> <Station id="city2" position="503" slots="1" type="City" value="50"/> @@ -143,8 +144,8 @@ <Track from="city1" gauge="normal" to="side1"/> <Track from="city1" gauge="normal" to="side2"/> </Tile> - <Tile colour="white" id="-25017" name="empty half-tile (W)"/> - <Tile colour="white" id="-25018" name="empty half-tile (N)"/> + <Tile colour="white" id="-25017" name="empty half-tile (W)"/> + <Tile colour="white" id="-25018" name="empty half-tile (N)"/> <Tile colour="yellow" id="1" name="1"> <Station id="city1" position="408" type="Town" value="10"/> <Station id="city2" position="108" type="Town" value="10"/> diff --git a/tiles/HandmadeTiles.xml b/tiles/HandmadeTiles.xml index 7de8ff0..7da6aae 100644 --- a/tiles/HandmadeTiles.xml +++ b/tiles/HandmadeTiles.xml @@ -51,6 +51,7 @@ <Track from="city2" gauge="normal" to="side3"/> <Track from="city2" gauge="normal" to="side2"/> </Tile> + <Tile colour="white" id="-25000" name="empty tile, unlayable"/> <Tile colour="white" id="-25017" name="empty half-tile (W)"/> <Tile colour="white" id="-25018" name="empty half-tile (N)"/> </Tiles> diff --git a/tiles/svg/tile-25000.svg b/tiles/svg/tile-25000.svg new file mode 100644 index 0000000..e66abb6 --- /dev/null +++ b/tiles/svg/tile-25000.svg @@ -0,0 +1,19 @@ +<?xml version="1.0"?> +<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> + + + <defs> + <pattern id="hatch" patternUnits="userSpaceOnUse" x="0" y="0" width="25" height="25"> + <g style="fill:none; stroke:black; stroke-width:1"> + <path d="M0,0 l25,25"/> + <path d="M25,0 l-25,25"/> + </g> + </pattern> + </defs> + + <path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" + fill="#C0DCC0" stroke="black" stroke-width="1" + stroke-linejoin="round"/> + <path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" + fill="url(#hatch)" /> +</svg> \ No newline at end of file diff --git a/tiles/svg/tile-25017.svg b/tiles/svg/tile-25017.svg index 2ec1ed9..fc90bac 100644 --- a/tiles/svg/tile-25017.svg +++ b/tiles/svg/tile-25017.svg @@ -1,6 +1,18 @@ <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"> + + <defs> + <pattern id="hatch" patternUnits="userSpaceOnUse" x="0" y="0" width="25" height="25"> + <g style="fill:none; stroke:black; stroke-width:1"> + <path d="M0,0 l25,25"/> + <path d="M25,0 l-25,25"/> + </g> + </pattern> + </defs> + <path d=" M 98,0 L 196,0 L 196,340 L 98,340 L 0,170 Z" fill="#C0DCC0" stroke="black" stroke-width="1" stroke-linejoin="round"/> + <path d=" M 98,0 L 196,0 L 196,340 L 98,340 L 0,170 Z" + fill="url(#hatch)" /> </svg> \ No newline at end of file diff --git a/tiles/svg/tile-25018.svg b/tiles/svg/tile-25018.svg index 2975772..d155d42 100644 --- a/tiles/svg/tile-25018.svg +++ b/tiles/svg/tile-25018.svg @@ -1,6 +1,16 @@ <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"> + <defs> + <pattern id="hatch" patternUnits="userSpaceOnUse" x="0" y="0" width="25" height="25"> + <g style="fill:none; stroke:black; stroke-width:1"> + <path d="M0,0 l25,25"/> + <path d="M25,0 l-25,25"/> + </g> + </pattern> + </defs> <path d=" M 98,0 L 294,0 L 392,170 L 0,170 Z" fill="#C0DCC0" stroke="black" stroke-width="1" stroke-linejoin="round"/> + <path d=" M 98,0 L 294,0 L 392,170 L 0,170 Z" + fill="url(#hatch)" /> </svg> \ No newline at end of file |
From: Erik V. <ev...@us...> - 2011-11-09 20:57:48
|
.settings/org.eclipse.core.resources.prefs | 2 data/1825/Map.xml | 439 +++++++++++++++-------------- data/1825/TileSet.xml | 2 data/1825/Tiles.xml | 2 tiles/HandmadeTiles.xml | 2 tiles/svg/tile-25017.svg | 6 tiles/svg/tile-25018.svg | 6 7 files changed, 253 insertions(+), 206 deletions(-) New commits: commit f5e251419ca78926162c0183be12fc8fb8abf5ed Author: Erik Vos <eri...@xs...> Date: Wed Nov 9 21:54:40 2011 +0100 Added new empty half-hex preprinted tiles. Co-authored by Stefan Frey <ste...@we...>. Thanks to Stefan for the half-hex pictures. For 1825, to help recognising allowed track laying on some board edges. Applied to Unit 1 only, at the borders with Unit 2 and kits R1-3. All Unit 1 'open' attributes have been removed. Q11 (Crewe) SW is now impassable. diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index a01e845..a1fda75 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,3 @@ -#Fri Nov 04 17:49:10 CET 2011 +#Fri Oct 28 23:03:32 CEST 2011 eclipse.preferences.version=1 encoding/<project>=UTF-8 diff --git a/data/1825/Map.xml b/data/1825/Map.xml index 5a813b3..eff4b92 100644 --- a/data/1825/Map.xml +++ b/data/1825/Map.xml @@ -1,208 +1,237 @@ <Map tileOrientation="EW" letterOrientation="vertical" even="R"> - <IfOption name="Include" parm="Unit3" value="yes"> - <Hex name="B8" tile="-5" orientation="1" city="Inverness"/> - <Hex name="B12" tile="-25011" city="Aberdeen"/> - <Hex name="C7" tile="-1" cost="100" city="Pitlochry" open="1,2"/> - <Hex name="C9" tile="0" cost="100" open="3"/> - <Hex name="C11" tile="0" open="2"/> - <Hex name="D2" tile="0" cost="100"/> - <Hex name="D4" tile="0" cost="100"/> - <Hex name="D6" tile="0" cost="100"/> - <Hex name="D8" tile="0" cost="100"/> - <Hex name="D10" tile="-1" city="Montrose"/> - <Hex name="E1" tile="-5" orientation="5" cost="40" city="Oban"/> - <Hex name="E3" tile="0" cost="100"/> - <Hex name="E5" tile="0" cost="100"/> - <Hex name="E7" tile="-25005" orientation="1" city="Perth"/> - <Hex name="E9" tile="-10" cost="80" city="Dundee"/> - <Hex name="F2" tile="-25012" city="Helensburgh, Gourock"/> - <Hex name="F4" tile="-1" cost="40" city="Dumbarton"/> - <Hex name="F6" tile="-1" city="Stirling"/> - <Hex name="F8" tile="-2" orientation="3" cost="120" city="Dumfermline, Kirkaldy"/> - <Hex name="F10" tile="-25013" city="Anstruther"/> - <Hex name="G3" tile="-10" city="Greenock"/> - <Hex name="G5" tile="-25002" city="Glasgow"/> - <Hex name="G7" tile="-2" city="Coatbridge, Airdrie"/> - <Hex name="G9" tile="-20" city="Edinburgh, Leith"/> - <Hex name="G11" tile="0"/> - <Hex name="H4" tile="-2" city="Ayr, Kilmarnock" reserved="GSWR"/> - <Hex name="H6" tile="-10" city="Motherwell"/> - <Hex name="H8" tile="0" cost="100"/> - <Hex name="H10" tile="0" cost="100"/> - <Hex name="H12" tile="0"/> - <Hex name="H14" tile="0"/> - <Hex name="I3" tile="0" cost="100"/> - <Hex name="I5" tile="0"/> - <Hex name="I7" tile="0" cost="100"/> - <Hex name="I9" tile="0" cost="100"/> - <Hex name="I11" tile="0" cost="100"/> - <Hex name="I13" tile="-2"/> - <Hex name="J2" tile="-10" city="Stranraer"/> - <Hex name="J4" tile="0" cost="100"/> - <Hex name="J6" tile="-10" city="Dumfries"/> - <Hex name="J8" tile="0"/> - <Hex name="J10" tile="-10" ciry="Carlisle"/> - <Hex name="J12" tile="0" cost="100"/> - <Hex name="J14" tile="-20" cost="40" city="Newcastle u/T, Sunderland"/> - <Hex name="K7" tile="-25014" orientation="2" city="Maryport"/> - <Hex name="K9" tile="0" cost="100" open="0,5"/> - <Hex name="K11" tile="0" cost="100" open="0,5"/> - <Hex name="K13" tile="-1" city="Durham" open="0,5"/> - <Hex name="K15" tile="-2" city="Stockton, Middlesbro" open="0,5"/> - </IfOption> - <IfOption name="Include" parm="Unit2" value="yes"> - <Hex name="L8" tile="0" open="2,3"/> - <Hex name="L10" tile="0" open="2,3"/> - <Hex name="L12" tile="0" cost="100" open="2,3"/> - <Hex name="L14" tile="-10" city="Darlington" open="2,3" reserved="NER"/> - <Hex name="L16" tile="0" open="2"/> - <Hex name="L18" tile="-1" city="Scarborough"/> - <Hex name="M9" tile="-25008" city="Barrow"/> - <Hex name="M11" tile="0" cost="100"/> - <Hex name="M13" tile="0" cost="100"/> - <Hex name="M15" tile="-2" city="Harrogate, York"/> - <Hex name="M17" tile="0"/> - <Hex name="M19" tile="0"/> - <Hex name="N10" tile="-10" city="Preston" reserved="L&Y"/> - <Hex name="N12" tile="-2" city="Burnley, Halifax"/> - <Hex name="N14" tile="-20" city="Bradford, Leeds"/> - <Hex name="N16" tile="0"/> - <Hex name="N18" tile="-10" cost="40" city="Hull"/> - <Hex name="O9" tile="-25009" cost="40" city="Liverpool"/> - <Hex name="O11" tile="-25002" orientation="1" city="Manchester"/> - <Hex name="O13" tile="0" cost="100"/> - <Hex name="O15" tile="-25010" city="Barnsley, Doncaster"/> - <Hex name="O17" tile="0" cost="40"/> - <Hex name="O19" tile="0"/> - <Hex name="P8" tile="-41" orientation="4"/> - <Hex name="P10" tile="0" cost="40"/> - <Hex name="P12" tile="0" cost="100"/> - <Hex name="P14" tile="0" cost="100"/> - <Hex name="P16" tile="-20" city="Sheffield, Rotherham"/> - <Hex name="P18" tile="-1" city="Lincoln"/> - <Hex name="P20" tile="0"/> - <Hex name="Q9" tile="0" open="0,5"/> - <Hex name="Q11" tile="-25004" city="Wolverton"/> - <Hex name="Q13" tile="-2" city="Newcastle u/L, Hanley" open="0,5"/> - <Hex name="Q15" tile="-10" city="Derby" open="0,5" reserved="MR"/> - <Hex name="Q17" tile="-10" city="Nottingham" open="0,5"/> - <Hex name="Q19" tile="0" open="0,5"/> - </IfOption> - <IfOption name="Include" parm="Unit1" value="yes"> - <Hex name="R8" tile="0" open="0,1,2,3"/> - <Hex name="R10" tile="-1" city="Shrewsbury" orientation="3" open="2"/> - <Hex name="R12" tile="-20" orientation="1" city="Wolverhampton, Walsall" open="2,3"/> - <Hex name="R14" tile="0" open="2,3"> - <IfOption name="Include" parm="Unit1" value="yes"> - <Attributes reserved="MR"/> - </IfOption> - </Hex> - <Hex name="R16" tile="-10" city="Leicester" open="2,3"/> - <Hex name="R18" tile="0" open="2,3"/> - <Hex name="R20" tile="-1" city="Peterborough" orientation="3" open="2"/> - <Hex name="R22" tile="0" open="3"/> - <Hex name="R24" tile="-10" city="Norwich" orientation="4" open="2,3"/> - <Hex name="R26" tile="-1" city="Great Yarmouth" orientation="1" open="2"/> - <Hex name="S9" tile="0" open="1"/> - <Hex name="S11" tile="0"/> - <Hex name="S13" tile="-25002" city="Birmingham" /> - <Hex name="S15" tile="-1" city="Northampton" orientation="2" /> - <Hex name="S17" tile="0"/> - <Hex name="S19" tile="0"/> - <Hex name="S21" tile="0"/> - <Hex name="S23" tile="0"/> - <Hex name="S25" tile="0"/> - <Hex name="T8" tile="0" cost="100" open="0,1,2"></Hex> - <Hex name="T10" tile="0"/> - <Hex name="T12" tile="0"/> - <Hex name="T14" tile="0"/> - <Hex name="T16" tile="-25004" city="Wolverton"/> - <Hex name="T18" tile="0"/> - <Hex name="T20" tile="-1" city="Cambridge" /> - <Hex name="T22" tile="0"/> - <Hex name="T24" tile="-1" city="Ipswich" orientation="1" /> - <Hex name="U9" tile="0" open="1"/> - <Hex name="U11" tile="-1" cost="40" city="Gloucester" - orientation="1" ></Hex> - <Hex name="U13" tile="0"/> - <Hex name="U15" tile="0"/> - <Hex name="U17" tile="0" reserved="LNWR"/> - <Hex name="U19" tile="0"/> - <Hex name="U21" tile="0"/> - <Hex name="U23" tile="-1" city="Colchester" reserved="GER"/> - <Hex name="U25" tile="-104" orientation="2" city="Harwich"/> - <Hex name="V8" tile="-20" city="Cardiff, Newport" open="1,2"/> - <Hex name="V10" tile="-25003" city="Bristol"/> - <Hex name="V12" tile="0"/> - <Hex name="V14" tile="-25005" city="Swindon"/> - <Hex name="V16" tile="-1" city="Reading" orientation="1"/> - <Hex name="V18" tile="0" reserved="GWR"/> - <Hex name="V20" tile="-25001" city="London"/> - <Hex name="V22" tile="-25006" value="20" city="Southend"/> - <IfOption name="Include" parm="R2" value="no"> - <Hex name="W9" tile="-41" orientation="3" /> + <IfOption name="Include" parm="Unit3" value="yes"> + <Hex name="B8" tile="-5" orientation="1" city="Inverness"/> + <Hex name="B12" tile="-25011" city="Aberdeen"/> + <Hex name="C7" tile="-1" cost="100" city="Pitlochry" open="1,2"/> + <Hex name="C9" tile="0" cost="100" open="3"/> + <Hex name="C11" tile="0" open="2"/> + <Hex name="D2" tile="0" cost="100"/> + <Hex name="D4" tile="0" cost="100"/> + <Hex name="D6" tile="0" cost="100"/> + <Hex name="D8" tile="0" cost="100"/> + <Hex name="D10" tile="-1" city="Montrose"/> + <Hex name="E1" tile="-5" orientation="5" cost="40" city="Oban"/> + <Hex name="E3" tile="0" cost="100"/> + <Hex name="E5" tile="0" cost="100"/> + <Hex name="E7" tile="-25005" orientation="1" city="Perth"/> + <Hex name="E9" tile="-10" cost="80" city="Dundee"/> + <Hex name="F2" tile="-25012" city="Helensburgh, Gourock"/> + <Hex name="F4" tile="-1" cost="40" city="Dumbarton"/> + <Hex name="F6" tile="-1" city="Stirling"/> + <Hex name="F8" tile="-2" orientation="3" cost="120" + city="Dumfermline, Kirkaldy"/> + <Hex name="F10" tile="-25013" city="Anstruther"/> + <Hex name="G3" tile="-10" city="Greenock"/> + <Hex name="G5" tile="-25002" city="Glasgow"/> + <Hex name="G7" tile="-2" city="Coatbridge, Airdrie"/> + <Hex name="G9" tile="-20" city="Edinburgh, Leith"/> + <Hex name="G11" tile="0"/> + <Hex name="H4" tile="-2" city="Ayr, Kilmarnock" reserved="GSWR"/> + <Hex name="H6" tile="-10" city="Motherwell"/> + <Hex name="H8" tile="0" cost="100"/> + <Hex name="H10" tile="0" cost="100"/> + <Hex name="H12" tile="0"/> + <Hex name="H14" tile="0"/> + <Hex name="I3" tile="0" cost="100"/> + <Hex name="I5" tile="0"/> + <Hex name="I7" tile="0" cost="100"/> + <Hex name="I9" tile="0" cost="100"/> + <Hex name="I11" tile="0" cost="100"/> + <Hex name="I13" tile="-2"/> + <Hex name="J2" tile="-10" city="Stranraer"/> + <Hex name="J4" tile="0" cost="100"/> + <Hex name="J6" tile="-10" city="Dumfries"/> + <Hex name="J8" tile="0"/> + <Hex name="J10" tile="-10" ciry="Carlisle"/> + <Hex name="J12" tile="0" cost="100"/> + <Hex name="J14" tile="-20" cost="40" city="Newcastle u/T, Sunderland"/> + <Hex name="K7" tile="-25014" orientation="2" city="Maryport"/> + <Hex name="K9" tile="0" cost="100" open="0,5"/> + <Hex name="K11" tile="0" cost="100" open="0,5"/> + <Hex name="K13" tile="-1" city="Durham" open="0,5"/> + <Hex name="K15" tile="-2" city="Stockton, Middlesbro" open="0,5"/> </IfOption> - <IfOption name="Include" parm="R2" value="yes"> - <Hex name="W9" tile="-25016"/> - </IfOption> - <Hex name="W11" tile="-2" city="Bath,Trowbridge" orientation="4" /> - <Hex name="W13" tile="0"/> - <Hex name="W15" tile="0"/> - <Hex name="W17" tile="0"/> - <Hex name="W19" tile="-2" city="Kingston on Thames, Reigate" - orientation="4" reserved="LSWR"/> - <Hex name="W21" tile="0"/> - <Hex name="W23" tile="-10" city="Ashford" orientation="5" /> - <Hex name="W25" tile="-5" orientation="2" city="Dover"/> - <Hex name="X8" tile="0" open="0,1"/> - <Hex name="X10" tile="0"/> - <Hex name="X12" tile="0"/> - <Hex name="X14" tile="-10" city="Southampton" orientation="5" /> - <Hex name="X16" tile="-20" city="Gosport, Portsmouth" - orientation="1" /> - <Hex name="X18" tile="0"/> - <Hex name="X20" tile="-10" city="Brighton" orientation="5" reserved="LBSC"/> - <Hex name="X22" tile="-1" city="Hastings" orientation="2" /> - <Hex name="X24" tile="0"/> - <Hex name="Y9" tile="0" open="1"/> - <Hex name="Y11" tile="-1" city="Weymouth" orientation="3" /> - <Hex name="Y13" tile="-25007" city="Bournemouth"/> - <Hex name="Y17" tile="-7" orientation="4" /> - <Hex name="Y19" tile="-7" orientation="4" /> - <IfOption name="Include" parm="R1" value="yes"> - <Hex name="P4" tile="-5" city="Holyhead"/> - <Hex name="P6" tile="0" cost="40"/> - <Hex name="Q5" tile="-1" city="Portmadoc"/> - <Hex name="Q7" tile="0" cost="100"/> - <Hex name="R6" tile="0"/> - <Hex name="S5" tile="-1" city="Aberystwyth"/> - <Hex name="S7" tile="0" cost="100"/> - <Hex name="T2" tile="-10" city="Fishguard"/> - <Hex name="T4" tile="0"/> - <Hex name="T6" tile="0" cost="100"/> - <Hex name="U1" tile="-25015" city="Milford Haven"/> - <Hex name="U3" tile="0"/> - <Hex name="U5" tile="0"/> - <Hex name="U7" tile="-2"/> - <Hex name="V6" tile="-25007" orientation="1" city="Swansea"/> - </IfOption> - <IfOption name="Include" parm="R2" value="yes"> - <Hex name="X4" tile="-1" city="Barnstaple"/> - <Hex name="X6" tile="0" cost="100"/> - <Hex name="Y1" tile="0"/> - <Hex name="Y3" tile="0"/> - <Hex name="Y5" tile="0" cost="100"/> - <Hex name="Y7" tile="-10" city="Exeter"/> - <Hex name="Z0" tile="0"/> - <Hex name="Z2" tile="-1" city="Fowey"/> - <Hex name="Z4" tile="-20" city="Devenport, Plymouth"/> - <Hex name="Z6" tile="-1" city="Torquay"/> - <Hex name="AA99" tile="-1" city="Penzance"/> - <Hex name="AA1" tile="-10" city="Falmouth"/> - </IfOption> - <IfOption name="Include" parm="R3" value="yes"> - <Hex name="Q23" tile="-25014" orientation="1" city="Melton Constable"/> - <Hex name="Q25" tile="0"/> + <IfOption name="Include" parm="Unit2" value="yes"> + <Hex name="L8" tile="0" open="2,3"/> + <Hex name="L10" tile="0" open="2,3"/> + <Hex name="L12" tile="0" cost="100" open="2,3"/> + <Hex name="L14" tile="-10" city="Darlington" open="2,3" reserved="NER"/> + <Hex name="L16" tile="0" open="2"/> + <Hex name="L18" tile="-1" city="Scarborough"/> + <Hex name="M9" tile="-25008" city="Barrow"/> + <Hex name="M11" tile="0" cost="100"/> + <Hex name="M13" tile="0" cost="100"/> + <Hex name="M15" tile="-2" city="Harrogate, York"/> + <Hex name="M17" tile="0"/> + <Hex name="M19" tile="0"/> + <Hex name="N10" tile="-10" city="Preston" reserved="L&Y"/> + <Hex name="N12" tile="-2" city="Burnley, Halifax"/> + <Hex name="N14" tile="-20" city="Bradford, Leeds"/> + <Hex name="N16" tile="0"/> + <Hex name="N18" tile="-10" cost="40" city="Hull"/> + <Hex name="O9" tile="-25009" cost="40" city="Liverpool"/> + <Hex name="O11" tile="-25002" orientation="1" city="Manchester"/> + <Hex name="O13" tile="0" cost="100"/> + <Hex name="O15" tile="-25010" city="Barnsley, Doncaster"/> + <Hex name="O17" tile="0" cost="40"/> + <Hex name="O19" tile="0"/> + <Hex name="P8" tile="-41" orientation="4"/> + <Hex name="P10" tile="0" cost="40"/> + <Hex name="P12" tile="0" cost="100"/> + <Hex name="P14" tile="0" cost="100"/> + <Hex name="P16" tile="-20" city="Sheffield, Rotherham"/> + <Hex name="P18" tile="-1" city="Lincoln"/> + <Hex name="P20" tile="0"/> + <Hex name="Q9" tile="0" open="0,5"/> + <Hex name="Q11" tile="-25004" city="Crewe"/> + <Hex name="Q13" tile="-2" city="Newcastle u/L, Hanley" open="0,5"/> + <Hex name="Q15" tile="-10" city="Derby" open="0,5" reserved="MR"/> + <Hex name="Q17" tile="-10" city="Nottingham" open="0,5"/> + <Hex name="Q19" tile="0" open="0,5"/> </IfOption> - </IfOption> -</Map> + <IfOption name="Include" parm="Unit1" value="yes"> + <IfOption name="Include" parm="R1" value="no"> + <Hex name="Q7" tile="-25017" orientation="4"/> + <Hex name="Q9" tile="-25017" orientation="4"/> + </IfOption> + <IfOption name="Include" parm="Unit2" value="no"> + <Hex name="Q11" tile="-25017" orientation="4" impassable="R10"/> + <Hex name="Q13" tile="-25017" orientation="4"/> + <Hex name="Q15" tile="-25017" orientation="4"/> + <Hex name="Q17" tile="-25017" orientation="4"/> + <Hex name="Q19" tile="-25017" orientation="4"/> + </IfOption> + <IfOption name="Include" parm="R3" value="no"> + <Hex name="Q23" tile="-25017" orientation="4"/> + <Hex name="Q25" tile="-25017" orientation="4"/> + </IfOption> + <IfOption name="Include" parm="R1" value="no"> + <Hex name="R6" tile="-25018" orientation="1"/> + <Hex name="S7" tile="-25018" orientation="1"/> + <Hex name="T6" tile="-25018" orientation="1"/> + <Hex name="U7" tile="-25018" orientation="1"/> + <Hex name="V6" tile="-25018" orientation="1"/> + </IfOption> + <IfOption name="Include" parm="R2" value="no"> + <Hex name="X6" tile="-25018" orientation="1"/> + <Hex name="Y7" tile="-25018" orientation="1"/> + </IfOption> + <Hex name="R8" tile="0" open="0,1,2,3"/> + <Hex name="R10" tile="-1" city="Shrewsbury" orientation="3"/> + <Hex name="R12" tile="-20" orientation="1" city="Wolverhampton, Walsall" + open="2,3"/> + <Hex name="R14" tile="0"> + <IfOption name="Include" parm="Unit2" value="yes"> + <Attributes reserved="MR"/> + </IfOption> + </Hex> + <Hex name="R16" tile="-10" city="Leicester"/> + <Hex name="R18" tile="0" open="2,3"/> + <Hex name="R20" tile="-1" city="Peterborough" orientation="3"/> + <Hex name="R22" tile="0" open="3"/> + <Hex name="R24" tile="-10" city="Norwich" orientation="4"/> + <Hex name="R26" tile="-1" city="Great Yarmouth" orientation="1"/> + <Hex name="S9" tile="0" open="1"/> + <Hex name="S11" tile="0"/> + <Hex name="S13" tile="-25002" city="Birmingham"/> + <Hex name="S15" tile="-1" city="Northampton" orientation="2"/> + <Hex name="S17" tile="0"/> + <Hex name="S19" tile="0"/> + <Hex name="S21" tile="0"/> + <Hex name="S23" tile="0"/> + <Hex name="S25" tile="0"/> + <Hex name="T8" tile="0" cost="100"/> + <Hex name="T10" tile="0"/> + <Hex name="T12" tile="0"/> + <Hex name="T14" tile="0"/> + <Hex name="T16" tile="-25004" city="Wolverton"/> + <Hex name="T18" tile="0"/> + <Hex name="T20" tile="-1" city="Cambridge"/> + <Hex name="T22" tile="0"/> + <Hex name="T24" tile="-1" city="Ipswich" orientation="1"/> + <Hex name="U9" tile="0" open="1"/> + <Hex name="U11" tile="-1" cost="40" city="Gloucester" orientation="1"></Hex> + <Hex name="U13" tile="0"/> + <Hex name="U15" tile="0"/> + <Hex name="U17" tile="0" reserved="LNWR"/> + <Hex name="U19" tile="0"/> + <Hex name="U21" tile="0"/> + <Hex name="U23" tile="-1" city="Colchester" reserved="GER"/> + <Hex name="U25" tile="-104" orientation="2" city="Harwich"/> + <Hex name="V8" tile="-20" city="Cardiff, Newport"/> + <Hex name="V10" tile="-25003" city="Bristol"/> + <Hex name="V12" tile="0"/> + <Hex name="V14" tile="-25005" city="Swindon"/> + <Hex name="V16" tile="-1" city="Reading" orientation="1"/> + <Hex name="V18" tile="0" reserved="GWR"/> + <Hex name="V20" tile="-25001" city="London"/> + <Hex name="V22" tile="-25006" value="20" city="Southend"/> + <IfOption name="Include" parm="R2" value="no"> + <Hex name="W9" tile="-41" orientation="3"/> + </IfOption> + <IfOption name="Include" parm="R2" value="yes"> + <Hex name="W9" tile="-25016"/> + </IfOption> + <Hex name="W11" tile="-2" city="Bath,Trowbridge" orientation="4"/> + <Hex name="W13" tile="0"/> + <Hex name="W15" tile="0"/> + <Hex name="W17" tile="0"/> + <Hex name="W19" tile="-2" city="Kingston on Thames, Reigate" orientation="4" + reserved="LSWR"/> + <Hex name="W21" tile="0"/> + <Hex name="W23" tile="-10" city="Ashford" orientation="5"/> + <Hex name="W25" tile="-5" orientation="2" city="Dover"/> + <Hex name="X8" tile="0" open="0,1"/> + <Hex name="X10" tile="0"/> + <Hex name="X12" tile="0"/> + <Hex name="X14" tile="-10" city="Southampton" orientation="5"/> + <Hex name="X16" tile="-20" city="Gosport, Portsmouth" orientation="1"/> + <Hex name="X18" tile="0"/> + <Hex name="X20" tile="-10" city="Brighton" orientation="5" reserved="LBSC"/> + <Hex name="X22" tile="-1" city="Hastings" orientation="2"/> + <Hex name="X24" tile="0"/> + <Hex name="Y9" tile="0" open="1"/> + <Hex name="Y11" tile="-1" city="Weymouth" orientation="3"/> + <Hex name="Y13" tile="-25007" city="Bournemouth"/> + <Hex name="Y17" tile="-7" orientation="4"/> + <Hex name="Y19" tile="-7" orientation="4"/> + <IfOption name="Include" parm="R1" value="yes"> + <Hex name="P4" tile="-5" city="Holyhead"/> + <Hex name="P6" tile="0" cost="40"/> + <IfOption name="Include" parm="Unit2" value="no"> + <Hex name="P8" tile="-25018" orientation="4"/> + </IfOption> + <Hex name="Q5" tile="-1" city="Portmadoc"/> + <Hex name="Q7" tile="0" cost="100"/> + <Hex name="R6" tile="0"/> + <Hex name="S5" tile="-1" city="Aberystwyth"/> + <Hex name="S7" tile="0" cost="100"/> + <Hex name="T2" tile="-10" city="Fishguard"/> + <Hex name="T4" tile="0"/> + <Hex name="T6" tile="0" cost="100"/> + <Hex name="U1" tile="-25015" city="Milford Haven"/> + <Hex name="U3" tile="0"/> + <Hex name="U5" tile="0"/> + <Hex name="U7" tile="-2"/> + <Hex name="V6" tile="-25007" orientation="1" city="Swansea"/> + </IfOption> + <IfOption name="Include" parm="R2" value="yes"> + <Hex name="X4" tile="-1" city="Barnstaple"/> + <Hex name="X6" tile="0" cost="100"/> + <Hex name="Y1" tile="0"/> + <Hex name="Y3" tile="0"/> + <Hex name="Y5" tile="0" cost="100"/> + <Hex name="Y7" tile="-10" city="Exeter"/> + <Hex name="Z0" tile="0"/> + <Hex name="Z2" tile="-1" city="Fowey"/> + <Hex name="Z4" tile="-20" city="Devenport, Plymouth"/> + <Hex name="Z6" tile="-1" city="Torquay"/> + <Hex name="AA99" tile="-1" city="Penzance"/> + <Hex name="AA1" tile="-10" city="Falmouth"/> + </IfOption> + <IfOption name="Include" parm="R3" value="yes"> + <Hex name="Q23" tile="-25014" orientation="1" city="Melton Constable"/> + <Hex name="Q25" tile="0"/> + </IfOption> + </IfOption> +</Map> \ No newline at end of file diff --git a/data/1825/TileSet.xml b/data/1825/TileSet.xml index 649a06a..70cbdb0 100644 --- a/data/1825/TileSet.xml +++ b/data/1825/TileSet.xml @@ -36,6 +36,8 @@ <Tile id="-25014"/> <Tile id="-25015"/> <Tile id="-25016"/> + <Tile id="-25017"/> + <Tile id="-25018"/> <!-- Yellow tiles --> <Tile id="1" quantity="1" > <Upgrade id="14"></Upgrade></Tile> diff --git a/data/1825/Tiles.xml b/data/1825/Tiles.xml index dcb52ce..aae97f9 100644 --- a/data/1825/Tiles.xml +++ b/data/1825/Tiles.xml @@ -143,6 +143,8 @@ <Track from="city1" gauge="normal" to="side1"/> <Track from="city1" gauge="normal" to="side2"/> </Tile> + <Tile colour="white" id="-25017" name="empty half-tile (W)"/> + <Tile colour="white" id="-25018" name="empty half-tile (N)"/> <Tile colour="yellow" id="1" name="1"> <Station id="city1" position="408" type="Town" value="10"/> <Station id="city2" position="108" type="Town" value="10"/> diff --git a/tiles/HandmadeTiles.xml b/tiles/HandmadeTiles.xml index 40d64ef..7de8ff0 100644 --- a/tiles/HandmadeTiles.xml +++ b/tiles/HandmadeTiles.xml @@ -51,4 +51,6 @@ <Track from="city2" gauge="normal" to="side3"/> <Track from="city2" gauge="normal" to="side2"/> </Tile> + <Tile colour="white" id="-25017" name="empty half-tile (W)"/> + <Tile colour="white" id="-25018" name="empty half-tile (N)"/> </Tiles> diff --git a/tiles/svg/tile-25017.svg b/tiles/svg/tile-25017.svg new file mode 100644 index 0000000..2ec1ed9 --- /dev/null +++ b/tiles/svg/tile-25017.svg @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> + <path d=" M 98,0 L 196,0 L 196,340 L 98,340 L 0,170 Z" + fill="#C0DCC0" stroke="black" stroke-width="1" + stroke-linejoin="round"/> +</svg> \ No newline at end of file diff --git a/tiles/svg/tile-25018.svg b/tiles/svg/tile-25018.svg new file mode 100644 index 0000000..2975772 --- /dev/null +++ b/tiles/svg/tile-25018.svg @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> + <path d=" M 98,0 L 294,0 L 392,170 L 0,170 Z" + fill="#C0DCC0" stroke="black" stroke-width="1" + stroke-linejoin="round"/> +</svg> \ No newline at end of file |
From: Erik V. <ev...@us...> - 2011-11-09 15:30:18
|
.settings/org.eclipse.core.resources.prefs | 3 +++ .settings/org.eclipse.core.runtime.prefs | 3 +++ data/18EU/CompanyManager.xml | 4 ++-- 3 files changed, 8 insertions(+), 2 deletions(-) New commits: commit 6ca045795458ba9c3a9d8e14451bde3dbfaad23e Author: Erik Vos <eri...@xs...> Date: Wed Nov 9 16:29:17 2011 +0100 18EU: entities in company names changed to Unicode characters. Actually, entities are safer, as these are encoding-independent. Characters (like Ã) require file encoding to be understood as UTF-8. To ensure this, added Eclipse preference to encode/decode fiels as UTF-8 (this affects reading/writing non-java and non-XML files). Also set line delimiter to newline only. diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index e69de29..a01e845 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Fri Nov 04 17:49:10 CET 2011 +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/.settings/org.eclipse.core.runtime.prefs b/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 0000000..9b99bf0 --- /dev/null +++ b/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,3 @@ +#Fri Oct 28 23:03:32 CEST 2011 +eclipse.preferences.version=1 +line.separator=\n diff --git a/data/18EU/CompanyManager.xml b/data/18EU/CompanyManager.xml index c5f5791..9ae0d19 100644 --- a/data/18EU/CompanyManager.xml +++ b/data/18EU/CompanyManager.xml @@ -67,7 +67,7 @@ <Company name="10" longname="Strade Ferrate Alta Italia" type="Minor"> <Home hex="R5"/> </Company> - <Company name="11" longname="Südbahn" type="Minor"> + <Company name="11" longname="Südbahn" type="Minor"> <Home hex="N11" city="2"/> </Company> <Company name="12" longname="Hollandsche Maatschappij" type="Minor"> @@ -95,7 +95,7 @@ <Company name="KPEV" longname="Königlich-Preussische Eisenbahn-Verwaltung" type="Major" tokens="5" fgColour="000000" bgColour="2255FF"> </Company> - <Company name="KKÖB" + <Company name="KKÃB" longname="Kaiserlich-Königliche Ãsterreichische Staatsbahn" type="Major" tokens="5" fgColour="000000" bgColour="FFFF00"> </Company> |
From: Stefan F. <ste...@us...> - 2011-11-08 22:50:10
|
data/18EU/Map.xml | 2 data/18GA/Map.xml | 1 data/18GA/MapImage.svg |18617 +++++++++++++++++++++++++++++++++ rails/game/MapManager.java | 14 rails/ui/swing/MapPanel.java | 10 rails/ui/swing/ORPanel.java | 22 rails/ui/swing/hexmap/GUIHex.java | 4 rails/ui/swing/hexmap/HexMap.java | 8 rails/ui/swing/hexmap/HexMapImage.java | 87 9 files changed, 18698 insertions(+), 67 deletions(-) New commits: commit 7cf64e84042d36e1f0c1d902e767efc987f797be Author: Stefan Frey <ste...@we...> Date: Tue Nov 8 23:51:01 2011 +0100 Fixed issues with displaying SVG background maps. Added Peter Mumford 18GA redesigned map. diff --git a/data/18EU/Map.xml b/data/18EU/Map.xml index 4a56fe2..30e6b19 100644 --- a/data/18EU/Map.xml +++ b/data/18EU/Map.xml @@ -1,5 +1,5 @@ <Map tileOrientation="NS" letterOrientation="vertical" even="A"> - <Image file="18EU/MapImage.svg" x="18" y="15" scale="0.952"/> + <Image file="18EU/MapImage.svg" x="16" y="15" scale="0.955"/> <!-- Hex name="" tile="" orientation="" value="" impassable="" label="" cost="" value="" port="yes/no" --> <Hex name="A4" port="yes" value="10" tile="-800" orientation="0"/> <Hex name="B7" value="30,50" tile="-939" orientation="1" city="Hamburg"> diff --git a/data/18GA/Map.xml b/data/18GA/Map.xml index fb4927c..4ec96f8 100644 --- a/data/18GA/Map.xml +++ b/data/18GA/Map.xml @@ -1,4 +1,5 @@ <Map tileOrientation="EW" letterOrientation="vertical" even="B"> + <Image file="18GA/MapImage.svg" x="5" y="-2" scale="1.000"/> <Hex name="A3" tile="-902" orientation="1" value="30,60" city="Chattanooga"/> <Hex name="B2" tile="0" cost="60"> diff --git a/data/18GA/MapImage.svg b/data/18GA/MapImage.svg new file mode 100644 index 0000000..ead7aeb --- /dev/null +++ b/data/18GA/MapImage.svg @@ -0,0 +1,18617 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + x="0px" + y="0px" + width="864px" + height="1080px" + viewBox="0 0 864 1080" + enable-background="new 0 0 864 1080" + xml:space="preserve" + id="svg2" + inkscape:version="0.47 r22583" + sodipodi:docname="18GA_photocurio_final_fixed.svg"><metadata + id="metadata8512"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs8510"><inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 540 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="864 : 540 : 1" + inkscape:persp3d-origin="432 : 360 : 1" + id="perspective8514" /></defs><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1366" + inkscape:window-height="720" + id="namedview8508" + showgrid="false" + inkscape:zoom="1" + inkscape:cx="432" + inkscape:cy="1165.7874" + inkscape:window-x="-4" + inkscape:window-y="-3" + inkscape:window-maximized="1" + inkscape:current-layer="red_cities_copy" /> +<font + horiz-adv-x="2048" + id="font4"> +<!-- Monotype Baskervilleª is a trademark of Agfa Monotype Corporation. --> +<!-- Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. --> +<font-face + font-family="Baskerville-SemiBoldItalic" + units-per-em="2048" + underline-position="-205" + underline-thickness="102" + id="font-face6" /> +<missing-glyph + horiz-adv-x="1024" + d="M51,0l0,1536l922,0l0,-1536M179,128l666,0l0,1280l-666,0z" + id="missing-glyph8" /> +<glyph + unicode=" " + horiz-adv-x="512" + id="glyph10" /> +<glyph + unicode="3" + horiz-adv-x="1024" + d="M1020,1120C1020,1059 994,1004 942,953C890,902 834,860 774,828C714,796 655,767 596,741C658,739 716,720 769,684C822,647 848,575 848,467C848,392 832,324 801,263C770,202 727,149 674,106C621,62 560,28 493,5C426,-19 356,-31 285,-31C228,-31 176,-22 130,-3C84,16 49,40 24,71C-1,101 -14,132 -14,164C-14,193 -5,218 13,238C31,258 55,268 84,268C119,268 146,258 163,239C180,219 194,193 205,160C216,131 229,106 246,87C263,67 287,57 319,57C368,57 413,77 452,116C491,155 524,205 551,264C578,323 598,382 612,439C626,496 633,540 633,571C633,594 626,618 613,645C599,671 576,684 545,684C522,684 489,669 446,639C436,631 426,623 415,615C404,606 395,602 387,602C380,602 371,606 362,614C353,621 348,634 348,651C348,664 355,677 370,689C384,700 413,718 457,743C589,820 683,884 739,935C795,986 823,1046 823,1116C823,1151 810,1183 783,1213C756,1242 719,1257 672,1257C625,1257 586,1242 555,1213C524,1184 508,1147 508,1104C508,1093 510,1081 513,1068C516,1055 518,1047 518,1042C518,1035 501,1020 466,997C431,973 411,961 406,961C397,961 385,975 370,1004C355,1032 348,1061 348,1092C348,1160 377,1219 435,1270C493,1321 578,1346 690,1346C793,1346 873,1324 932,1281C991,1238 1020,1184 1020,1120z" + id="glyph12" /> +<glyph + unicode="4" + horiz-adv-x="1024" + d="M995,608l-61,-213l-236,0l-45,-151C640,193 633,162 633,152C633,128 646,111 671,102C696,93 730,88 775,88l20,0l-25,-88l-596,0l25,88l43,0C281,88 310,91 328,96C345,101 361,115 374,136C387,157 401,195 416,248l43,147l-412,0l19,129l739,822l186,0l-252,-822l45,0C823,524 850,528 864,537C877,545 892,569 907,608M670,1067l-492,-543l322,0z" + id="glyph14" /> +<glyph + unicode="5" + horiz-adv-x="1024" + d="M1067,1315l-23,-60C1022,1195 999,1158 976,1145C953,1131 915,1124 862,1124l-362,0l-94,-272C461,899 521,922 586,922C632,922 678,908 725,879C771,850 809,808 840,751C870,694 885,626 885,547C885,468 869,393 838,322C807,251 763,188 706,135C649,81 585,40 516,12C446,-17 374,-31 301,-31C226,-31 158,-12 97,25C36,62 6,105 6,156C6,185 16,208 36,227C55,245 78,254 104,254C155,254 196,219 225,150C240,118 255,95 270,80C285,65 307,57 336,57C403,57 464,97 518,178C571,259 613,352 642,458C671,564 686,646 686,705C686,748 674,780 650,802C625,823 596,834 561,834C482,834 409,778 342,666l-90,0l219,649z" + id="glyph16" /> +<glyph + unicode="A" + horiz-adv-x="1260" + d="M1223,92l-27,-92l-616,0l28,92C659,92 699,98 727,110C755,122 775,144 787,176C799,207 805,253 805,313l0,170l-426,0l-146,-213C198,217 180,179 180,156C180,113 221,92 303,92l57,0l-28,-92l-486,0l29,92C-79,95 -33,118 13,161C58,203 108,262 162,338l735,1042l174,0l-14,-1130C1057,205 1062,172 1072,151C1082,129 1099,114 1122,105C1145,96 1179,92 1223,92M815,1106l-369,-531l359,0z" + id="glyph18" /> +<glyph + unicode="P" + horiz-adv-x="1323" + d="M1384,1012C1384,969 1377,928 1362,887C1347,846 1324,808 1291,772C1258,736 1215,705 1161,678C1106,651 1036,634 952,625C868,616 789,612 715,612l-131,0l-103,-336C469,234 463,205 463,188C463,152 477,127 505,113C533,99 561,92 590,92l28,0l-28,-92l-578,0l29,92C84,92 116,104 139,127C162,150 181,189 197,244l258,848C467,1131 473,1157 473,1171C473,1212 459,1237 430,1248C401,1259 368,1264 330,1264l26,92l555,0C978,1356 1033,1352 1078,1345C1122,1337 1166,1320 1210,1294C1326,1225 1384,1131 1384,1012M1104,1063C1104,1146 1081,1200 1036,1223C990,1246 938,1257 879,1257l-97,0l-168,-546l121,0C842,711 920,731 969,772C992,792 1014,817 1035,848C1056,878 1072,912 1085,949C1098,986 1104,1024 1104,1063z" + id="glyph20" /> +<glyph + unicode="a" + horiz-adv-x="1087" + d="M1055,240C1036,201 1014,165 990,132C966,99 939,71 910,46C881,21 851,3 822,-10C792,-23 761,-29 729,-29C659,-29 614,-8 595,35C575,77 565,127 565,186C512,123 459,71 407,31C355,-9 296,-29 229,-29C190,-29 157,-18 131,4C105,25 86,54 74,91C61,128 55,167 55,209C55,299 78,394 124,494C170,594 233,678 312,746C391,814 476,848 567,848C609,848 642,840 666,823C690,806 707,788 716,767C725,746 732,723 739,698l37,125l221,0l-186,-610C798,169 791,142 791,133C791,124 794,117 800,111C805,105 812,102 819,102C862,102 909,148 958,240M682,639C682,672 676,700 664,723C651,746 629,758 596,758C546,758 498,729 451,672C404,614 366,544 337,463C308,381 293,312 293,256C293,175 318,135 369,135C404,135 441,151 478,184C515,216 549,259 580,313C613,369 638,426 656,483C673,540 682,592 682,639z" + id="glyph22" /> +<glyph + unicode="e" + horiz-adv-x="961" + d="M928,682C928,655 920,623 903,588C886,552 856,514 812,474C767,434 704,399 622,368C539,337 436,316 311,305l-24,-2C282,276 279,252 279,229C279,180 291,144 315,123C338,101 373,90 418,90C518,90 614,144 705,252l106,0C770,189 707,126 623,64C539,2 439,-29 324,-29C244,-29 176,-7 119,36C62,79 33,142 33,225C33,327 61,426 118,523C175,619 252,697 350,758C448,818 555,848 670,848C763,848 829,832 869,801C908,770 928,730 928,682M717,686C717,708 709,728 694,747C679,765 658,774 631,774C584,774 542,758 503,726C464,693 431,655 404,611C377,567 356,522 339,477C322,432 311,404 307,393C442,416 545,454 614,508C683,562 717,621 717,686z" + id="glyph24" /> +<glyph + unicode="l" + horiz-adv-x="641" + d="M674,1380l-350,-1147C306,176 297,141 297,127C297,116 300,107 305,100C310,93 317,90 326,90C343,90 367,106 398,137C429,168 453,204 471,244l94,0C532,182 489,121 434,61C379,1 311,-29 229,-29C179,-29 139,-15 109,13C78,40 63,74 63,113C63,144 73,194 94,264l256,834C367,1153 375,1189 375,1207C375,1230 366,1246 347,1253C328,1260 292,1264 240,1264l24,92l107,0C417,1356 459,1358 497,1361C535,1364 571,1371 606,1380z" + id="glyph26" /> +<glyph + unicode="n" + horiz-adv-x="1194" + d="M1165,262C1146,227 1121,188 1088,146C1055,104 1013,67 964,35C915,2 862,-14 805,-14C756,-14 717,-2 688,22C659,46 645,78 645,117C645,148 653,189 670,242l73,241C764,548 774,593 774,618C774,633 770,646 761,658C752,670 739,676 723,676C687,676 643,646 591,585C539,524 486,442 433,339C379,236 332,123 293,0l-238,0l181,586C252,645 260,679 260,688C260,696 258,704 254,713C250,721 242,725 231,725C205,725 180,709 157,676C133,643 113,608 96,569l-84,0C37,640 76,705 129,762C182,819 249,848 330,848C382,848 421,834 447,806C472,778 485,748 485,717C485,700 481,673 474,638C467,603 458,570 449,539l-35,-103C497,563 574,664 647,738C720,811 800,848 889,848C940,848 978,833 1001,804C1024,774 1036,742 1036,707C1036,686 1028,645 1012,586l-105,-348C895,195 889,164 889,147C889,140 891,134 896,128C900,122 906,119 913,119C932,119 956,132 985,159C1014,185 1040,219 1065,262z" + id="glyph28" /> +<glyph + unicode="r" + horiz-adv-x="897" + d="M928,717C928,675 916,638 893,606C870,573 840,557 805,557C775,557 746,575 717,610C701,631 685,641 670,641C652,641 627,624 596,591C565,557 533,512 500,456C467,400 434,336 402,264C370,191 342,117 319,41l-12,-41l-235,0l157,561C246,615 254,653 254,674C254,682 252,690 247,698C242,705 235,709 225,709C199,709 173,691 146,655C119,618 99,585 86,555l-92,0C33,632 72,692 113,735C153,777 192,806 230,823C267,840 301,848 332,848C385,848 420,831 436,798C451,765 459,732 459,700C459,642 440,551 403,426C441,491 472,544 497,583C521,622 550,663 584,705C617,747 653,781 691,808C728,835 765,848 801,848C852,848 886,834 903,805C920,776 928,746 928,717z" + id="glyph30" /> +<glyph + unicode="s" + horiz-adv-x="938" + d="M905,678C905,651 896,627 878,606C859,585 834,575 803,575C779,575 760,580 747,589C733,598 722,611 715,628C707,645 697,669 686,702C679,725 669,742 655,755C640,768 614,774 575,774C540,774 509,765 482,747C454,729 440,705 440,676C440,656 446,637 457,619C468,601 482,584 499,568C515,552 540,529 575,500C640,447 688,402 718,365C747,328 762,283 762,229C762,185 749,143 724,104C699,65 657,33 598,8C539,-17 464,-29 373,-29C242,-29 149,-5 96,44C43,92 16,139 16,184C16,214 26,240 47,263C68,286 95,297 129,297C197,297 236,253 246,166C251,129 261,99 278,78C294,56 328,45 379,45C424,45 460,56 489,79C518,102 532,131 532,166C532,185 527,203 518,221C508,239 488,261 457,287C403,332 359,372 324,407C289,442 262,475 244,507C226,539 217,573 217,608C217,639 227,673 248,710C269,747 308,779 365,807C422,834 500,848 598,848C658,848 709,843 750,832C791,821 823,807 846,790C868,773 883,755 892,736C901,717 905,697 905,678z" + id="glyph32" /> +<glyph + unicode="t" + horiz-adv-x="682" + d="M700,819l-28,-92l-199,0l-151,-494C311,198 305,172 305,156C305,142 310,129 319,118C328,106 340,100 354,100C393,100 427,119 456,157C485,194 512,235 535,279l94,0C592,196 550,132 503,86C456,39 412,9 371,-6C330,-21 292,-29 258,-29C201,-29 156,-12 124,21C92,54 76,99 76,154C76,192 86,244 106,309l130,418l-187,0l29,92l186,0l92,305l238,0l-92,-305z" + id="glyph34" /> +<glyph + unicode="y" + horiz-adv-x="1087" + d="M981,659C981,543 942,417 864,282C785,147 685,19 562,-100C439,-220 311,-317 178,-391C45,-465 -71,-502 -170,-502C-215,-502 -254,-492 -286,-473C-318,-454 -334,-427 -334,-391C-334,-362 -322,-339 -299,-320C-276,-302 -249,-293 -219,-293C-195,-293 -175,-295 -158,-299C-141,-304 -120,-311 -94,-322C-38,-341 4,-350 31,-350C76,-350 117,-336 153,-308C188,-281 217,-248 240,-209C295,-113 322,22 322,197C322,240 321,285 318,332C315,379 311,427 306,476C301,525 293,571 283,612C278,633 269,653 256,670C243,687 228,696 211,696C159,696 127,637 115,520l-82,0C48,653 83,741 137,784C191,827 243,848 293,848C394,848 463,794 500,685C537,576 555,446 555,295C555,170 548,68 535,-12C654,127 718,203 727,217C758,262 783,307 802,350C821,393 831,435 831,477C831,510 820,555 797,612C774,670 762,712 762,739C762,771 771,797 788,818C805,838 825,848 848,848C871,848 892,841 913,826C933,811 949,790 962,762C975,733 981,699 981,659z" + id="glyph36" /> +</font> + + <font + horiz-adv-x="2048" + id="font38"> +<!-- Monotype Baskervilleª is a trademark of Monotype Typography, Ltd which may be registered in certain jurisdictions. --> +<!-- Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. --> +<font-face + font-family="Baskerville-Italic" + units-per-em="2048" + underline-position="-205" + underline-thickness="102" + id="font-face40" /> +<missing-glyph + horiz-adv-x="1536" + d="M256,0l0,1280l1024,0l0,-1280M288,32l960,0l0,1216l-960,0z" + id="missing-glyph42" /> +<glyph + unicode=" " + horiz-adv-x="512" + id="glyph44" /> +<glyph + unicode=" " + horiz-adv-x="512" + id="glyph46" /> +<glyph + unicode="$" + horiz-adv-x="1024" + d="M276,-9C219,14 175,42 142,75C109,108 93,137 93,164C93,179 98,192 108,203C117,214 129,219 144,219C180,219 217,186 255,120C271,92 285,72 297,61l186,627C388,773 341,868 341,974C341,1061 372,1139 434,1206C496,1273 575,1312 672,1323l16,54l47,0l-15,-51C784,1326 839,1317 886,1298l24,79l47,0l-29,-98C1020,1229 1066,1174 1066,1114C1066,1081 1049,1065 1014,1065C995,1065 978,1073 963,1088C948,1103 927,1133 898,1179l-160,-540C846,537 900,432 900,325C900,238 868,161 804,94C740,27 651,-16 537,-33l-55,-185l-47,0l53,180C473,-39 459,-39 445,-39C400,-39 358,-33 318,-22l-58,-196l-46,0M708,1288l-144,-486C569,797 577,790 586,781C645,728 684,693 701,675l164,551C827,1267 775,1288 708,1288M528,839l132,444C588,1268 534,1235 499,1184C464,1133 446,1081 446,1028C446,967 473,904 528,839M520,655l-186,-625C367,11 410,1 464,1C476,1 488,2 501,3l156,524C632,553 587,596 520,655M693,488l-143,-479C631,25 692,58 733,107C774,156 794,207 794,262C794,336 760,411 693,488z" + id="glyph48" /> +<glyph + unicode="&" + horiz-adv-x="1749" + d="M476,841C446,906 431,966 431,1022C431,1085 450,1144 487,1199C524,1253 572,1297 630,1330C687,1363 747,1380 809,1380C878,1380 936,1361 983,1323C1029,1284 1052,1238 1052,1185C1052,1145 1041,1108 1019,1074C996,1040 973,1023 948,1023C936,1023 930,1029 930,1042C930,1047 933,1057 940,1073C951,1099 956,1125 956,1152C956,1192 940,1225 907,1250C874,1275 835,1287 789,1287C715,1287 646,1257 582,1196C517,1135 485,1065 485,986C485,951 490,921 499,897C508,872 517,856 525,849C532,842 543,838 557,838C649,838 695,811 695,758C695,745 690,732 681,720C671,708 657,702 638,702C617,702 591,716 559,743C525,772 492,787 459,787C417,787 377,766 340,725C302,683 283,633 283,576C283,465 338,360 449,261C560,162 697,112 862,112C1018,112 1152,151 1263,229C1374,306 1429,399 1429,507C1429,579 1402,642 1347,695C1292,748 1218,774 1125,774C1050,774 983,753 924,712C865,671 835,619 835,557C835,520 846,489 867,465C888,441 910,429 933,429C959,429 972,443 972,471l-1,12C970,492 970,498 970,501C970,530 978,555 994,574C1010,593 1030,602 1055,602C1078,602 1099,594 1116,578C1133,561 1142,538 1142,509C1142,467 1128,432 1099,404C1070,376 1032,362 987,362C933,362 887,381 848,420C809,458 789,505 789,561C789,643 823,718 892,785C961,852 1085,886 1266,886C1428,886 1546,908 1619,953C1692,997 1729,1064 1729,1154C1729,1207 1713,1251 1680,1286C1647,1320 1606,1337 1556,1337C1531,1337 1513,1334 1501,1327C1488,1320 1482,1309 1482,1294C1482,1285 1488,1271 1500,1254C1515,1232 1523,1211 1523,1190C1523,1165 1514,1144 1495,1125C1476,1106 1452,1097 1424,1097C1391,1097 1365,1108 1348,1129C1331,1150 1322,1175 1322,1204C1322,1249 1344,1290 1389,1326C1433,1362 1489,1380 1558,1380C1629,1380 1688,1354 1735,1303C1782,1251 1805,1189 1805,1116C1805,1047 1785,985 1745,928C1704,871 1653,831 1592,808C1530,785 1443,771 1332,767C1439,692 1492,595 1492,477C1492,388 1459,303 1394,220C1329,137 1250,76 1157,36C1064,-4 950,-24 816,-24C707,-24 619,-12 552,12C485,35 421,70 360,115C299,160 251,216 216,282C181,347 163,418 163,493C163,585 189,662 242,725C295,788 373,826 476,841z" + id="glyph50" /> +<glyph + unicode="," + horiz-adv-x="491" + d="M-113,-358l0,40C-2,-303 79,-266 128,-207C177,-148 202,-99 202,-59C202,-29 189,-14 163,-14C158,-14 153,-14 148,-15C135,-16 126,-17 121,-17C97,-17 75,-8 56,9C36,26 26,50 26,82C26,117 37,144 58,163C79,182 103,192 132,192C173,192 207,175 232,141C257,106 269,62 269,8C269,-79 235,-159 167,-234C99,-309 6,-350 -113,-358z" + id="glyph52" /> +<glyph + unicode="." + horiz-adv-x="491" + d="M42,77C42,106 52,130 73,151C94,172 119,182 148,182C177,182 201,172 222,151C243,130 253,106 253,77C253,48 243,23 222,2C201,-19 177,-29 148,-29C118,-29 93,-18 73,3C52,24 42,48 42,77z" + id="glyph54" /> +<glyph + unicode="0" + horiz-adv-x="1024" + d="M176,369C176,510 206,662 265,825C324,988 403,1115 502,1208C601,1301 692,1347 777,1347C846,1347 903,1310 946,1236C989,1162 1010,1069 1010,958C1010,817 983,667 928,507C873,347 793,217 688,118C583,19 492,-31 416,-31C343,-31 284,7 241,84C198,161 176,256 176,369M291,211C291,143 301,92 321,58C341,24 371,7 410,7C509,7 615,138 727,400C839,661 895,900 895,1116C895,1180 885,1228 866,1260C847,1292 818,1308 779,1308C670,1308 561,1174 453,906C345,637 291,406 291,211z" + id="glyph56" /> +<glyph + unicode="1" + horiz-adv-x="1024" + d="M808,1346l56,0l-356,-1172C493,127 486,98 486,87C486,70 493,59 507,54C521,49 547,46 586,46l69,0l-14,-46l-497,0l14,46l56,0C273,46 308,51 321,62C333,72 350,112 371,182l254,836C643,1077 652,1114 652,1127C652,1169 610,1192 525,1195l-59,2l13,43C640,1243 750,1278 808,1346z" + id="glyph58" /> +<glyph + unicode="2" + horiz-adv-x="1024" + d="M775,117l-57,-188l-31,0l0,11C687,-33 681,-17 669,-10C657,-3 621,0 562,0l-502,0C60,35 64,59 73,74C81,88 106,114 149,153C464,441 658,644 733,761C807,878 844,983 844,1078C844,1138 824,1190 785,1233C745,1276 692,1297 627,1297C565,1297 512,1279 469,1242C425,1205 403,1160 403,1108C403,1051 422,1007 460,976C467,970 470,965 470,960C470,952 456,937 429,916C401,894 380,883 366,883C349,883 332,898 316,929C299,960 291,996 291,1038C291,1117 325,1189 394,1252C462,1315 551,1347 662,1347C769,1347 850,1320 905,1265C959,1210 986,1142 986,1061C986,966 955,877 893,793C831,708 711,590 534,437C407,328 287,221 174,117z" + id="glyph60" /> +<glyph + unicode="3" + horiz-adv-x="1024" + d="M570,748C645,748 708,723 757,673C806,623 831,557 831,474C831,343 779,226 674,123C569,20 448,-32 311,-32C234,-32 166,-16 107,15C47,46 17,84 17,127C17,174 38,197 80,197C114,197 144,171 171,118C206,47 256,11 320,11C382,11 442,34 500,81C558,127 605,198 641,293C677,388 695,469 695,534C695,585 682,628 656,661C630,694 596,710 553,710C512,710 462,686 401,637C374,616 355,606 344,606C324,606 314,615 314,633C314,646 327,660 353,677C379,693 442,728 543,782C739,887 837,1004 837,1133C837,1194 817,1237 777,1264C736,1291 687,1304 629,1304C560,1304 508,1284 473,1245C438,1205 420,1162 420,1115C420,1089 428,1062 444,1034C449,1026 451,1020 451,1017C451,1009 440,997 418,980C396,963 380,954 370,954C357,954 343,967 329,992C314,1017 307,1046 307,1080C307,1157 340,1221 407,1271C473,1321 559,1346 665,1346C761,1346 837,1326 892,1287C947,1247 975,1196 975,1134C975,1079 954,1025 912,973C870,921 782,860 649,791C614,774 588,759 570,748z" + id="glyph62" /> +<glyph + unicode="4" + horiz-adv-x="1024" + d="M595,453l-441,0l20,64l767,829l66,0l-252,-829l65,0C851,517 873,521 884,528C895,535 912,557 933,592l41,0l-42,-139l-197,0l-85,-280C635,126 628,96 628,85C628,74 633,64 643,57C653,49 681,45 728,45l38,0l-13,-45l-431,0l13,45l21,0C415,45 450,50 463,61C475,71 492,111 513,181M615,517l186,612l-565,-612z" + id="glyph64" /> +<glyph + unicode="5" + horiz-adv-x="1024" + d="M351,682l-45,0l225,633l527,0C1040,1274 1024,1244 1011,1225C997,1206 986,1196 978,1194C970,1191 951,1190 920,1190l-388,0l-134,-385C464,865 536,895 614,895C687,895 753,864 812,803C871,742 900,658 900,551C900,472 880,386 839,294C798,202 733,125 642,63C551,0 452,-31 345,-31C259,-31 192,-11 143,28C94,67 70,107 70,150C70,166 76,181 87,194C98,207 113,213 133,213C174,213 207,181 232,118C248,79 265,51 284,35C302,19 330,11 368,11C421,11 480,39 543,95C606,150 659,232 702,339C745,446 766,545 766,634C766,697 752,749 723,790C694,831 652,851 598,851C507,851 424,795 351,682z" + id="glyph66" /> +<glyph + unicode="6" + horiz-adv-x="1024" + d="M407,740C476,814 555,851 644,851C733,851 808,817 868,749C928,681 958,591 958,478C958,387 936,300 892,219C848,137 790,75 719,33C648,-10 579,-31 512,-31C453,-31 397,-14 345,20C293,54 253,104 224,170C195,235 181,314 181,405C181,502 198,601 232,700C265,799 305,889 351,968C396,1047 455,1117 526,1179C597,1241 662,1285 720,1310C777,1335 837,1347 900,1347C983,1347 1047,1329 1091,1294C1134,1259 1156,1226 1156,1197C1156,1182 1150,1168 1139,1155C1128,1142 1113,1136 1094,1136C1064,1136 1039,1156 1018,1195C980,1268 933,1304 878,1304C782,1304 689,1239 598,1108C507,977 443,855 407,740M289,263C289,183 310,121 352,78C394,35 443,13 498,13C600,13 682,85 743,230C804,374 834,500 834,609C834,674 816,723 781,756C745,789 699,805 643,805C534,805 448,746 385,628C321,510 289,388 289,263z" + id="glyph68" /> +<glyph + unicode="A" + horiz-adv-x="1173" + d="M760,513l-388,0l-124,-190C207,260 183,220 174,203C165,186 161,168 161,149C161,84 209,50 304,47l33,-1l-14,-46l-475,0l14,46C-73,51 -18,73 25,111C68,148 130,228 211,349l690,1031l70,0l-47,-1099l-6,-122C918,115 931,86 957,71C982,56 1024,48 1082,46l-14,-46l-532,0l14,46C621,47 669,58 694,77C719,96 733,118 738,145C743,171 747,221 750,294M762,559l26,579l-386,-579z" + id="glyph70" /> +<glyph + unicode="B" + horiz-adv-x="1216" + d="M833,715C926,697 1001,660 1058,604C1115,548 1143,481 1143,402C1143,337 1126,276 1091,219C1056,161 1006,114 942,79C877,43 808,21 735,13C662,4 557,0 420,0l-466,0l14,46l37,0C46,46 81,54 110,69C138,84 157,101 168,121C179,141 194,184 214,250l262,863C496,1180 506,1222 506,1239C506,1286 463,1310 377,1310l-28,0l14,46l435,0C874,1356 934,1353 978,1346C1021,1339 1066,1322 1111,1295C1156,1268 1191,1234 1215,1193C1238,1152 1250,1109 1250,1063C1250,982 1215,909 1146,844C1076,779 972,736 833,715M541,738l104,0C744,738 823,751 882,778C941,804 987,845 1021,902C1054,959 1071,1024 1071,1099C1071,1151 1058,1195 1031,1230C1004,1265 975,1288 943,1297C910,1306 860,1310 791,1310l-75,0M527,692l-144,-473C370,178 364,150 364,135C364,74 429,44 559,44C690,44 790,85 859,167C927,249 961,348 961,464C961,522 947,570 918,607C889,644 855,667 817,677C778,687 717,692 634,692z" + id="glyph72" /> +<glyph + unicode="C" + horiz-adv-x="1237" + d="M1117,423l45,0l-136,-440l-42,0C984,25 981,70 974,118C877,23 765,-24 639,-24C494,-24 378,29 293,134C208,239 165,358 165,492C165,706 242,908 396,1097C550,1286 724,1380 919,1380C1000,1380 1069,1362 1125,1327C1180,1292 1223,1239 1253,1168C1283,1219 1306,1271 1321,1324l44,0l-90,-395l-42,0C1235,947 1236,964 1236,980C1236,1095 1209,1183 1155,1245C1101,1307 1030,1338 941,1338C844,1338 753,1303 669,1232C585,1161 511,1041 446,870C381,699 348,547 348,416C348,301 376,206 431,132C486,58 561,21 656,21C843,21 996,155 1117,423z" + id="glyph74" /> +<glyph + unicode="F" + horiz-adv-x="1109" + d="M1305,1356l7,-306l-44,0C1254,1126 1231,1185 1198,1226C1165,1267 1133,1292 1103,1299C1072,1306 1014,1310 928,1310l-219,0l-168,-586l107,0C762,724 844,744 894,784C943,824 980,879 1003,948l47,0l-157,-548l-48,0C856,441 862,481 862,520C862,566 853,601 835,626C817,650 794,665 767,670C740,675 694,678 630,678l-102,0l-120,-418C390,197 381,157 381,142C381,109 395,84 424,69C453,54 485,46 522,46l33,0l-13,-46l-563,0l14,46l27,0C61,46 96,54 125,69C153,84 172,101 183,121C193,140 207,183 226,250l247,863C492,1178 501,1220 501,1237C501,1286 458,1310 371,1310l-29,0l13,46z" + id="glyph76" /> +<glyph + unicode="G" + horiz-adv-x="1301" + d="M1343,564l-14,-43C1288,521 1260,517 1243,509C1226,500 1213,488 1205,473C1196,458 1184,422 1167,365l-92,-303C1028,104 998,125 984,125C977,125 969,121 960,114C846,22 726,-24 600,-24C465,-24 355,24 270,119C184,214 141,340 141,497C141,715 216,917 367,1102C517,1287 699,1380 912,1380C1070,1380 1187,1321 1262,1203l66,125l42,0l-83,-407l-41,0C1249,952 1250,979 1250,1003C1250,1077 1239,1137 1216,1182C1193,1227 1157,1264 1106,1295C1055,1325 998,1340 933,1340C856,1340 782,1318 712,1274C641,1229 579,1167 525,1086C471,1005 422,896 379,760C335,623 313,502 313,395C313,263 344,167 406,108C468,49 543,19 630,19C795,19 907,112 964,298l14,46C993,394 1001,428 1001,445C1001,494 958,518 872,518l-38,0l14,46z" + id="glyph78" /> +<glyph + unicode="J" + horiz-adv-x="960" + d="M774,672l-94,-397C646,132 609,12 568,-86C527,-185 481,-263 429,-321C377,-379 320,-421 258,-448C195,-475 125,-489 48,-489C-56,-489 -134,-465 -186,-417C-238,-369 -264,-321 -264,-272C-264,-241 -256,-217 -240,-199C-225,-181 -206,-172 -184,-172C-162,-172 -143,-181 -127,-198C-112,-215 -104,-238 -104,-266C-104,-275 -105,-286 -106,-299C-108,-314 -109,-324 -109,-329C-109,-361 -94,-388 -64,-410C-35,-433 3,-444 49,-444C109,-444 165,-422 217,-378C269,-334 314,-263 353,-165C391,-67 436,71 487,249C526,382 572,523 627,672l-248,0l14,46l251,0C737,965 818,1135 889,1227C798,1192 694,1175 578,1175C536,1175 483,1179 419,1186C384,1191 358,1193 343,1193C257,1193 198,1160 167,1093l-46,0C137,1162 171,1226 224,1283C277,1340 340,1368 414,1368C465,1368 526,1346 597,1302C664,1261 719,1240 760,1240C821,1240 879,1266 932,1319C965,1351 990,1367 1007,1367C1031,1367 1043,1356 1043,1333C1043,1310 1021,1280 978,1242C947,1215 924,1189 911,1166C897,1142 880,1094 860,1021C840,948 815,847 785,718l171,0l-14,-46z" + id="glyph80" /> +<glyph + unicode="L" + horiz-adv-x="1109" + d="M1106,340l43,0l-111,-340l-1075,0l14,46l32,0C50,46 85,54 114,69C143,84 162,101 173,121C183,140 198,183 218,250l262,863C501,1180 511,1222 511,1239C511,1286 468,1310 381,1310l-27,0l14,46l554,0l-14,-46l-36,0C827,1310 791,1304 766,1293C741,1282 722,1266 710,1246C697,1225 678,1172 652,1086l-252,-830C381,192 371,153 371,138C371,107 384,83 409,67C434,50 489,42 575,42l68,0C782,42 887,76 958,144C1029,211 1078,277 1106,340z" + id="glyph82" /> +<glyph + unicode="M" + horiz-adv-x="1792" + d="M829,209l783,1147l339,0l-14,-46C1869,1310 1824,1304 1802,1293C1779,1282 1763,1266 1753,1245C1743,1224 1730,1177 1713,1104l-209,-844C1489,199 1481,161 1481,146C1481,111 1496,86 1525,70C1554,54 1588,46 1626,46l31,0l-14,-46l-567,0l14,46l24,0C1156,46 1192,53 1221,68C1250,82 1270,100 1281,121C1292,142 1306,187 1324,258l237,947l-828,-1205l-48,0l-134,1104l-269,-704C235,278 212,202 212,172C212,125 225,93 252,75C279,57 323,47 384,46l-14,-46l-456,0l14,46C-23,47 20,59 55,82C90,105 119,137 141,179C163,221 196,299 239,412l257,665C525,1154 540,1204 540,1226C540,1253 532,1274 516,1289C500,1303 466,1310 415,1310l-58,0l13,46l316,0z" + id="glyph84" /> +<glyph + unicode="N" + horiz-adv-x="1323" + d="M1011,-13l-47,0l-377,1149l-120,-492C421,452 380,303 344,197C307,90 264,15 215,-30C166,-75 115,-97 64,-97C15,-97 -26,-83 -59,-55C-92,-28 -108,8 -108,51C-108,119 -82,153 -31,153C-11,153 6,146 21,132C35,118 42,100 42,77C42,60 36,41 24,18C17,5 14,-6 14,-14C14,-27 19,-36 28,-43C37,-50 51,-53 69,-53C130,-53 186,-14 236,65C286,144 350,347 429,675l102,427C550,1177 559,1219 559,1226C559,1248 548,1267 527,1284C506,1300 452,1309 367,1310l11,46l313,0l348,-1057l83,345C1207,999 1273,1209 1319,1275C1364,1340 1417,1373 1476,1373C1511,1373 1539,1365 1559,1348C1579,1331 1589,1309 1589,1284C1589,1261 1581,1243 1566,1229C1550,1215 1532,1208 1512,1208C1487,1208 1464,1224 1443,1256C1432,1275 1418,1284 1403,1284C1376,1284 1347,1247 1316,1172C1285,1097 1234,913 1163,619z" + id="glyph86" /> +<glyph + unicode="O" + horiz-adv-x="1344" + d="M181,519C181,646 219,782 295,929C370,1075 465,1187 578,1264C691,1341 801,1380 907,1380C962,1380 1024,1365 1091,1336C1158,1307 1216,1249 1266,1162C1315,1075 1340,970 1340,846C1340,630 1266,431 1119,249C972,67 811,-24 636,-24C506,-24 398,23 311,118C224,213 181,346 181,519M360,418C360,323 369,250 387,199C405,148 435,105 478,71C521,37 572,20 632,20C726,20 814,66 895,159C976,252 1042,381 1094,547C1146,713 1172,855 1172,972C1172,1092 1147,1182 1097,1243C1046,1303 982,1333 903,1333C811,1333 724,1289 642,1200C560,1111 493,988 440,829C387,670 360,533 360,418z" + id="glyph88" /> +<glyph + unicode="R" + horiz-adv-x="1280" + d="M1235,112l22,-47C1183,9 1107,-19 1030,-19C952,-19 894,4 855,51C816,98 797,172 797,275l1,82C798,450 790,515 774,554C758,593 736,619 707,632C678,645 632,652 569,652l-50,0l-120,-392C379,195 369,155 369,142C369,107 384,82 413,68C442,53 473,46 508,46l28,0l-14,-46l-549,0l14,46l22,0C50,46 85,54 114,69C143,84 162,101 173,121C183,140 198,183 218,250l262,863C500,1180 510,1222 510,1239C510,1262 500,1280 480,1292C460,1304 421,1310 363,1310l14,46l355,0C831,1356 905,1354 954,1349C1003,1344 1053,1327 1104,1300C1155,1272 1195,1236 1223,1191C1250,1146 1264,1096 1264,1041C1264,937 1222,850 1137,781C1052,712 916,674 731,669C828,634 896,585 934,524C972,463 993,377 998,268C1001,185 1010,129 1024,100C1038,71 1065,57 1104,57C1138,57 1182,75 1235,112M533,695l40,0C744,695 871,728 956,793C1041,858 1083,950 1083,1067C1083,1150 1057,1212 1006,1253C954,1294 876,1314 773,1314C757,1314 740,1313 721,1312z" + id="glyph90" /> +<glyph + unicode="S" + horiz-adv-x="960" + d="M109,454l41,0C157,303 192,194 257,128C321,61 395,28 479,28C550,28 612,52 665,100C717,147 743,207 743,278C743,330 731,377 708,419C685,460 643,509 583,565C486,656 421,730 387,786C352,842 335,907 335,982C335,1086 372,1178 447,1259C522,1340 607,1380 704,1380C817,1380 902,1323 958,1208C985,1251 1006,1301 1020,1356l41,0l-53,-398l-45,0C962,1053 950,1126 925,1178C900,1229 868,1269 829,1296C790,1323 746,1336 699,1336C629,1336 573,1309 531,1256C489,1202 468,1141 468,1072C468,1016 482,967 511,926C540,884 595,826 676,751C771,664 830,592 854,536C878,480 890,423 890,366C890,253 849,159 767,86C685,13 593,-24 491,-24C368,-24 264,35 177,154C146,113 124,67 110,16l-50,0z" + id="glyph92" /> +<glyph + unicode="T" + horiz-adv-x="1344" + d="M1059,1270l-307,-1010C733,197 723,157 723,141C723,108 738,84 767,69C796,54 828,46 864,46l36,0l-14,-46l-581,0l14,46l30,0C391,46 427,53 457,68C486,82 507,100 520,121C532,142 549,187 571,258l312,1024C772,1292 678,1297 601,1297C517,1297 454,1290 412,1276C370,1262 349,1241 349,1213C349,1202 353,1187 360,1168C367,1149 370,1135 370,1126C370,1108 364,1093 351,1080C338,1067 321,1060 300,1060C274,1060 254,1070 240,1090C225,1110 218,1132 218,1157C218,1210 248,1257 309,1297C369,1336 475,1356 627,1356C705,1356 853,1347 1071,1329C1227,1316 1344,1309 1422,1309C1497,1309 1538,1329 1546,1368C1551,1396 1565,1410 1588,1410C1620,1410 1636,1393 1636,1359C1636,1286 1559,1250 1405,1250C1332,1250 1216,1257 1059,1270z" + id="glyph94" /> +<glyph + unicode="V" + horiz-adv-x="1216" + d="M482,-33l-80,0l68,1171l4,65C474,1244 463,1273 441,1288C418,1303 370,1310 295,1310l6,46l544,0l-6,-46C784,1310 743,1304 714,1292C685,1279 666,1263 657,1244C648,1224 642,1186 639,1131l-49,-920l572,852C1211,1136 1235,1185 1235,1212C1235,1241 1224,1264 1201,1281C1178,1298 1133,1307 1066,1310l12,46l441,0l-14,-46C1454,1307 1409,1289 1370,1255C1330,1221 1274,1150 1202,1043z" + id="glyph96" /> +<glyph + unicode="W" + horiz-adv-x="1899" + d="M1192,-33l-63,0l28,1118l-742,-1118l-60,0l59,1169l4,67C418,1243 407,1271 386,1286C365,1301 326,1309 269,1310l13,46l484,0l-13,-46C680,1308 635,1297 618,1276C601,1255 590,1205 586,1124l-44,-894l746,1126l44,0l-28,-1126l524,817C1877,1124 1902,1176 1902,1204C1902,1265 1854,1300 1758,1310l13,46l409,0l-14,-46C2112,1307 2066,1287 2028,1252C1990,1216 1936,1141 1865,1026z" + id="glyph98" /> +<glyph + unicode="a" + horiz-adv-x="853" + d="M695,832l120,0l-178,-586C611,161 598,110 598,92C598,79 601,69 607,62C613,55 622,51 634,51C680,51 733,104 793,209l42,0C809,149 772,95 724,46C675,-3 631,-28 590,-28C559,-28 535,-16 518,7C501,30 493,59 493,93C493,120 500,156 513,200C483,149 440,98 383,48C326,-3 272,-28 222,-28C175,-28 135,-8 102,32C68,71 51,125 51,192C51,283 77,380 129,484C181,587 249,674 333,743C416,812 488,847 547,847C582,847 609,839 630,822C650,805 663,780 670,747M172,162C172,118 179,85 192,63C205,40 225,29 252,29C296,29 349,61 411,126C472,191 526,290 571,423C616,556 639,647 639,695C639,723 632,747 618,767C603,786 583,796 556,796C475,796 390,716 303,555C216,394 172,263 172,162z" + id="glyph100" /> +<glyph + unicode="b" + horiz-adv-x="853" + d="M340,650C428,781 514,847 597,847C656,847 701,823 732,775C763,727 778,673 778,614C778,535 757,443 714,339C671,234 605,147 517,77C429,7 347,-28 271,-28C218,-28 174,-12 139,21C103,53 85,96 85,151C85,186 99,251 128,346l243,801C390,1208 399,1243 399,1254C399,1269 395,1280 386,1287C377,1294 355,1297 320,1297l-32,0l12,42C406,1342 484,1354 535,1375l25,0M191,110C191,79 198,56 213,41C227,25 248,17 276,17C372,17 461,99 542,263C623,427 664,560 664,661C664,701 656,733 641,757C625,781 604,793 577,793C534,793 484,762 427,701C370,639 316,537 266,394C216,251 191,157 191,110z" + id="glyph102" /> +<glyph + unicode="c" + horiz-adv-x="661" + d="M516,284l40,0C523,189 478,113 419,57C360,0 299,-28 236,-28C183,-28 140,-8 107,33C74,73 57,130 57,203C57,289 79,383 124,485C168,586 230,672 311,742C391,812 462,847 523,847C558,847 588,836 613,813C638,790 650,763 650,731C650,684 631,660 593,660C554,660 534,686 532,739C531,778 516,798 487,798C450,798 406,764 357,695C308,626 265,534 230,419C195,304 177,216 177,156C177,118 187,88 206,65C225,42 249,31 276,31C315,31 358,54 405,100C451,145 488,207 516,284z" + id="glyph104" /> +<glyph + unicode="d" + horiz-adv-x="853" + d="M767,182l49,0C786,127 748,79 703,36C657,-7 615,-28 577,-28C542,-28 515,-17 497,4C479,25 470,57 470,99C470,118 472,136 475,152C380,32 293,-28 212,-28C167,-28 128,-10 96,27C64,64 48,117 48,186C48,283 75,387 128,498C181,609 247,695 326,756C405,817 473,847 531,847C561,847 587,840 608,826C629,812 645,791 658,763l122,403C795,1214 802,1243 802,1253C802,1269 798,1280 789,1287C780,1294 757,1297 722,1297l-28,0l13,42C804,1339 881,1351 938,1375l25,0l-320,-1053C604,192 584,115 584,92C584,75 587,63 594,55C600,46 609,42 621,42C641,42 663,54 688,77C712,100 738,135 767,182M163,140C163,103 170,75 183,56C196,37 215,27 240,27C285,27 336,58 395,121C454,183 508,286 557,429C606,572 631,662 631,700C631,725 623,747 606,767C589,787 567,797 540,797C497,797 451,772 404,721C356,670 304,581 248,456C191,330 163,225 163,140z" + id="glyph106" /> +<glyph + unicode="e" + horiz-adv-x="619" + d="M504,255l48,0C467,66 359,-28 226,-28C171,-28 127,-9 93,30C58,68 41,120 41,185C41,268 63,361 108,465C152,569 215,659 297,734C378,809 449,847 510,847C547,847 576,835 595,812C614,788 624,758 624,723C624,651 588,582 516,516C444,449 336,385 192,324C173,266 164,211 164,159C164,116 172,84 189,63C206,42 230,31 263,31C354,31 435,106 504,255M207,375C293,414 370,467 439,535C508,603 542,665 542,720C542,745 537,764 527,777C516,789 501,795 480,795C440,795 393,756 339,679C284,601 240,500 207,375z" + id="glyph108" /> +<glyph + unicode="f" + horiz-adv-x="512" + d="M611,819l-13,-44l-175,0l-155,-585C197,-75 120,-252 36,-343C-48,-434 -140,-479 -241,-479C-297,-479 -347,-466 -392,-440C-437,-414 -460,-382 -460,-343C-460,-321 -453,-303 -439,-289C-425,-275 -409,-268 -390,-268C-368,-268 -350,-276 -337,-291C-324,-307 -317,-324 -317,-342C-317,-347 -318,-355 -320,-367l-2,-17C-322,-397 -314,-408 -298,-419C-282,-430 -263,-435 -240,-435C-160,-435 -93,-392 -38,-307C17,-222 79,-51 148,206l153,569l-197,0l13,44l198,0C317,827 322,846 331,877C421,1209 567,1375 768,1375C825,1375 869,1362 900,1337C930,1312 945,1287 945,1262C945,1227 928,1209 895,1209C868,1209 840,1232 810,1278C789,1311 763,1328 733,1328C688,1328 644,1307 603,1266C562,1224 516,1111 466,926l-29,-107z" + id="glyph110" /> +<glyph + unicode="g" + horiz-adv-x="725" + d="M244,240C201,264 168,295 147,334C125,372 114,418 114,471C114,568 149,655 218,732C287,808 366,846 453,846C480,846 506,842 530,833C553,824 575,811 594,793C639,830 676,848 705,848C729,848 749,841 764,828C779,814 787,797 787,776C787,744 772,728 741,728C724,728 707,739 690,762C679,777 669,784 658,784C647,784 635,776 623,759C650,715 663,663 663,602C663,487 629,396 562,329C494,262 411,223 314,210C169,191 97,153 97,94C97,75 105,60 122,48C139,36 174,24 227,13C320,-8 395,-26 454,-43C513,-60 556,-84 585,-116C613,-149 627,-187 627,-231C627,-299 592,-359 523,-410C454,-461 355,-487 227,-487C106,-487 12,-467 -55,-428C-122,-389 -156,-340 -156,-281C-156,-238 -140,-201 -107,-171C-74,-142 -46,-127 -23,-127C0,-127 12,-136 12,-153C12,-162 4,-175 -12,-192C-39,-221 -53,-250 -53,-278C-53,-321 -31,-360 13,-393C57,-426 124,-443 215,-443C312,-443 386,-426 437,-393C487,-360 512,-321 512,-276C512,-241 494,-212 459,-190C424,-168 347,-143 229,-116C126,-92 63,-67 38,-41C13,-16 0,12 0,42C0,84 21,124 64,162C107,199 167,225 244,240M223,381C223,344 234,314 255,291C276,268 302,257 333,257C370,257 403,272 432,301C461,330 489,385 517,464C544,543 558,611 558,667C558,713 550,748 534,771C517,794 493,805 460,805C401,805 347,757 298,660C248,563 223,470 223,381z" + id="glyph112" /> +<glyph + unicode="h" + horiz-adv-x="853" + d="M121,-15l-119,0l351,1155C373,1205 383,1243 383,1254C383,1269 379,1280 370,1287C361,1294 338,1297 303,1297l-32,0l12,42C389,1342 468,1354 519,1375l25,0l-227,-746C437,774 546,847 645,847C690,847 723,838 745,819C767,800 778,772 778,734C778,704 758,633 719,520l-88,-251C597,171 580,114 580,99C580,82 583,70 590,61C597,52 607,48 620,48C644,48 671,62 701,91C731,120 757,155 778,198l49,0C793,130 753,75 706,34C659,-7 615,-28 573,-28C542,-28 516,-17 494,6C472,29 461,59 461,96C461,136 480,207 517,309l85,231C641,646 661,713 661,740C661,757 657,769 648,778C639,786 625,790 606,790C576,790 541,778 500,754C459,729 417,689 373,632C329,575 297,521 277,471C256,421 230,341 197,232z" + id="glyph114" /> +<glyph + unicode="i" + horiz-adv-x="491" + d="M353,1288C353,1312 362,1333 379,1350C396,1367 416,1375 440,1375C464,1375 485,1367 502,1350C519,1333 527,1312 527,1288C527,1264 519,1243 502,1226C485,1209 464,1200 440,1200C415,1200 395,1209 378,1227C361,1244 353,1265 353,1288M427,219l48,0C444,154 403,97 353,47C302,-3 254,-28 207,-28C176,-28 148,-17 125,6C101,28 89,61 89,104C89,139 108,207 145,307l115,305C287,683 300,727 300,742C300,755 297,765 291,772C284,779 275,782 262,782C236,782 205,762 170,722C134,681 109,645 94,612l-48,0C83,685 125,742 172,784C219,826 262,847 303,847C334,847 360,836 380,815C400,794 410,766 410,731C410,696 392,631 357,537l-96,-260C226,183 208,124 208,100C208,81 212,66 220,57C227,47 238,42 253,42C302,42 360,101 427,219z" + id="glyph116" /> +<glyph + unicode="k" + horiz-adv-x="789" + d="M734,228l42,0C754,137 722,71 681,32C640,-8 597,-28 554,-28C469,-28 426,26 426,135C426,149 428,182 433,234C440,318 443,366 443,377C443,441 418,473 367,473C342,473 319,465 296,448C273,431 256,411 246,386C235,361 219,313 197,242l-78,-257l-119,0l354,1164C372,1208 381,1243 381,1253C381,1269 377,1280 368,1287C359,1294 337,1297 302,1297l-36,0l13,42C387,1341 466,1353 517,1376l25,0l-274,-902C425,645 532,750 591,789C649,828 699,847 741,847C800,847 830,825 830,782C830,765 824,751 813,740C801,729 787,723 772,723C759,723 741,730 718,744C703,753 688,758 672,758C608,758 502,673 355,504C368,507 378,509 385,509C491,509 548,401 557,185C560,128 565,91 572,76C579,61 591,53 610,53C633,53 657,70 681,105C705,139 723,180 734,228z" + id="glyph118" /> +<glyph + unicode="l" + horiz-adv-x="491" + d="M429,240l44,0C405,61 318,-28 211,-28C174,-28 145,-16 123,9C101,33 90,63 90,100C90,136 112,225 155,367l234,772C409,1204 419,1242 419,1253C419,1269 415,1280 406,1287C397,1294 374,1297 338,1297l-39,0l13,42C422,1341 503,1353 555,1375l25,0l-322,-1060C253,298 244,268 229,224C210,166 200,122 200,92C200,72 204,57 212,47C219,37 231,32 246,32C269,32 297,48 331,79C365,110 398,164 429,240z" + id="glyph120" /> +<glyph + unicode="m" + horiz-adv-x="1301" + d="M1226,189l43,0C1240,127 1203,75 1158,34C1112,-7 1067,-28 1024,-28C995,-28 970,-18 948,3C925,24 914,53 914,91C914,125 930,190 963,285l94,272C1085,638 1099,689 1099,710C1099,732 1095,749 1086,760C1077,771 1063,776 1045,776C988,776 920,728 843,633C765,538 684,351 600,73l-27,-87l-119,0l163,536C645,615 659,678 659,711C659,731 655,746 648,756C640,766 628,771 612,771C565,771 502,722 423,624C344,525 265,345 186,84l-30,-98l-120,0l183,600C244,668 256,716 256,731C256,742 254,750 251,755C247,760 241,763 233,763C216,763 193,749 164,721C135,693 106,653 77,601l-45,0C64,668 103,724 150,768C197,811 238,833 274,833C300,833 321,824 336,807C351,790 358,766 358,737C358,688 338,606 297,490C342,584 397,665 464,733C531,801 591,835 645,835C684,835 713,824 732,802C751,779 760,746 760,701C760,646 746,580 719,503C776,619 836,703 899,756C962,809 1020,835 1071,835C1110,835 1142,822 1168,797C1194,771 1207,736 1207,692C1207,665 1205,642 1201,625C1196,607 1180,556 1152,472l-78,-225C1042,156 1026,99 1026,78C1026,63 1029,52 1036,45C1042,37 1051,33 1063,33C1086,33 1112,46 1139,72C1166,98 1195,137 1226,189z" + id="glyph122" /> +<glyph + unicode="n" + horiz-adv-x="875" + d="M788,188l51,0C799,116 758,62 717,26C675,-10 632,-28 589,-28C559,-28 533,-19 512,0C490,18 479,45 479,81C479,111 494,170 525,259l107,305C661,647 675,701 675,726C675,748 670,764 661,775C651,786 636,791 616,791C565,791 499,732 418,613C336,494 266,338 207,145l-49,-160l-122,0l176,568C244,658 260,718 260,733C260,744 258,753 254,758C250,763 244,766 235,766C196,766 149,717 95,620l-46,0C132,771 211,847 286,847C312,847 332,839 345,824C358,808 364,784 364,752C364,695 342,606 297,486C418,727 535,847 649,847C686,847 718,835 745,811C772,786 786,751 786,704C786,674 772,618 745,536l-107,-319C609,131 595,83 595,73C595,60 598,51 605,45C611,38 620,35 632,35C655,35 679,48 705,74C731,99 759,137 788,188z" + id="glyph124" /> +<glyph + unicode="o" + horiz-adv-x="747" + d="M63,263C63,343 82,430 119,525C156,619 210,695 279,754C348,813 416,842 481,842C540,842 589,817 628,767C666,716 685,648 685,562C685,458 664,359 621,266C578,173 525,101 461,52C396,2 333,-23 271,-23C216,-23 167,-2 126,41C84,84 63,158 63,263M170,148C170,112 179,81 198,56C217,31 242,18 275,18C364,18 438,103 496,272C553,441 582,571 582,660C582,706 573,741 556,764C538,787 511,798 476,798C393,798 321,720 261,563C200,406 170,267 170,148z" + id="glyph126" /> +<glyph + unicode="p" + horiz-adv-x="853" + d="M74,412l-46,0l189,303C272,803 309,865 326,902C343,939 363,994 386,1068l14,48l120,0l-68,-224l-84,-236C459,783 545,847 626,847C675,847 717,824 752,779C787,733 804,676 804,607C804,526 783,434 742,330C701,226 642,140 567,73C491,6 415,-28 340,-28C268,-28 222,6 203,74l-117,-387C71,-361 64,-390 64,-401C64,-412 69,-422 79,-430C88,-438 116,-442 163,-442l45,0l-14,-44l-418,0l14,44l22,0C-129,-442 -94,-438 -83,-430C-72,-422 -54,-380 -31,-305l208,687C221,525 272,672 329,821C322,812 305,782 276,731C273,726 262,709 244,680M259,259C241,200 232,157 232,131C232,98 241,71 259,48C277,25 302,14 335,14C384,14 434,42 485,98C536,153 582,246 625,376C667,505 688,603 688,668C688,711 681,743 668,764C655,785 635,796 608,796C572,796 524,770 465,717C405,664 350,555 299,390z" + id="glyph128" /> +<glyph + unicode="r" + horiz-adv-x="597" + d="M89,577l-44,0C73,652 108,715 151,768C193,821 235,847 276,847C305,847 326,836 340,813C354,790 361,755 361,708C361,650 346,567 316,460C320,467 331,491 349,532C398,643 442,724 479,773C516,822 554,847 591,847C614,847 633,840 647,825C661,810 668,793 668,772C668,752 662,736 651,723C639,710 625,704 609,704C591,704 573,715 554,737C547,746 539,750 532,750C499,750 447,670 378,510C309,349 253,198 210,57l-22,-72l-120,0l159,530C257,616 272,685 272,721C272,740 270,755 265,764C260,773 252,778 242,778C220,778 193,754 160,707C127,660 103,616 89,577z" + id="glyph130" /> +<glyph + unicode="s" + horiz-adv-x="640" + d="M498,220C498,158 474,101 427,50C379,-2 309,-28 216,-28C147,-28 96,-13 62,18C27,48 10,80 10,115C10,134 15,150 26,163C36,176 49,183 65,183C101,183 119,164 119,126C119,117 117,105 113,89C110,82 109,76 109,72C109,56 119,42 140,31C161,19 185,13 214,13C259,13 299,27 336,56C373,84 391,123 391,173C391,216 365,285 314,378C254,486 224,565 224,615C224,679 249,733 300,777C351,821 408,843 473,843C520,843 561,831 595,807C628,783 645,757 645,730C645,695 630,677 601,677C579,677 563,697 553,736C542,779 513,801 466,801C428,801 395,791 367,770C339,749 325,722 325,689C325,644 347,581 392,502C434,430 462,375 477,337C491,299 498,260 498,220z" + id="glyph132" /> +<glyph + unicode="t" + horiz-adv-x="491" + d="M558,819l-14,-44l-150,0l-132,-437C218,195 196,111 196,88C196,72 200,60 207,52C214,43 224,39 237,39C261,39 292,62 331,107C370,152 404,209 435,278l44,0C438,179 392,103 340,51C287,-2 239,-28 196,-28C162,-28 135,-16 115,8C94,32 84,62 84,99C84,130 105,214 146,349l129,426l-138,0l14,44l137,0l92,303l120,0l-92,-303z" + id="glyph134" /> +<glyph + unicode="u" + horiz-adv-x="875" + d="M795,206l42,0C780,50 704,-28 607,-28C574,-28 550,-19 534,-1C517,17 509,44 509,80C509,131 527,212 563,323C446,89 331,-28 217,-28C175,-28 142,-15 118,11C94,37 82,69 82,108C82,146 97,209 127,297l123,359C268,709 277,741 277,752C277,769 268,778 251,778C209,778 163,722 113,609l-48,0C92,679 127,736 170,781C213,825 256,847 298,847C324,847 346,839 365,823C383,806 392,782 392,749C392,726 380,679 357,609l-126,-370C207,167 195,120 195,97C195,76 200,61 209,50C218,39 232,34 250,34C309,34 378,96 459,221C540,346 617,531 691,777l17,57l120,0l-175,-574C625,167 611,110 611,91C611,74 614,62 621,54C628,45 638,41 651,41C702,41 750,96 795,206z" + id="glyph136" /> +<glyph + unicode="v" + horiz-adv-x="725" + d="M90,692l-41,0C80,795 123,847 178,847C207,847 236,823 265,774C276,755 289,746 304,746C320,746 332,760 341,787C354,827 370,847 390,847C405,847 413,840 413,825C413,811 403,785 382,746C302,597 247,481 217,400C186,318 171,245 171,180C171,133 181,97 201,72C221,46 244,33 270,33C348,33 424,94 498,216C571,337 608,455 608,570C608,615 598,661 579,706C567,734 561,758 561,779C561,824 578,847 612,847C632,847 648,835 661,812C674,789 680,757 680,717C680,628 661,520 622,391C583,262 528,160 455,85C382,10 306,-28 227,-28C174,-28 132,-12 101,21C69,54 53,99 53,157C53,217 69,284 102,357C135,430 190,523 267,636C279,653 290,671 300,689C309,704 315,713 318,718C291,701 267,693 246,693C224,693 205,701 189,717C172,734 156,742 142,742C120,742 103,725 90,692z" + id="glyph138" /> +<glyph + unicode="w" + horiz-adv-x="1280" + d="M113,693l-43,0C96,792 131,842 175,842C202,842 229,825 258,792C286,760 310,744 329,744C348,744 361,759 369,789C380,828 395,847 416,847C437,847 447,838 447,819C447,810 429,774 392,711C307,567 252,448 227,353C201,258 188,193 188,158C188,124 196,95 213,72C229,48 252,36 282,36C326,36 377,57 435,99C493,141 539,183 574,225C572,242 571,259 571,278C571,415 599,545 654,666C709,787 768,847 829,847C854,847 873,838 886,820C898,802 904,775 904,739C904,678 887,610 853,537C818,464 766,384 697,299C703,214 720,149 748,102C775,55 810,32 851,32C890,32 936,55 988,102C1040,148 1087,218 1128,312C1169,405 1189,484 1189,549C1189,588 1178,630 1157,676C1138,717 1128,752 1128,780C1128,801 1134,817 1145,829C1156,841 1167,847 1180,847C1199,847 1216,834 1232,808C1248,782 1256,739 1256,678C1256,590 1235,483 1193,357C1150,230 1091,135 1016,70C940,5 867,-28 798,-28C739,-28 692,-6 656,37C619,80 596,124 587,170C523,104 461,54 402,21C343,-12 286,-29 231,-29C176,-29 134,-12 106,22C77,56 63,98 63,149C63,260 135,418 278,621C313,670 334,700 340,711C311,695 284,687 259,687C236,687 211,699 185,724C174,735 164,741 155,741C139,741 126,728 116,702M689,360C746,436 788,506 817,570C845,633 859,690 859,741C859,762 856,777 851,788C845,798 836,803 824,803C797,803 768,770 736,703C703,636 687,539 687,412C687,397 688,380 689,360z" + id="glyph140" /> +<glyph + unicode="y" + horiz-adv-x="747" + d="M102,576l-42,0C68,671 89,740 123,783C156,826 192,847 231,847C280,847 320,817 350,757C379,696 394,604 394,481C394,320 376,173 339,40C404,111 468,202 531,312C593,422 624,516 624,593C624,630 613,666 592,702C571,737 560,764 560,782C560,799 565,815 576,828C586,841 598,847 613,847C637,847 657,833 672,806C687,779 695,738 695,685C695,605 671,508 622,393C573,278 501,164 406,51C311,-62 217,-164 124,-255C30,-346 -50,-410 -117,-445C-184,-481 -251,-499 -317,-499C-402,-499 -444,-475 -444,-426C-444,-406 -435,-390 -417,-378C-399,-367 -380,-361 -360,-361C-345,-361 -321,-365 -288,-374C-245,-386 -210,-392 -183,-392C-143,-392 -104,-381 -65,-358C-27,-336 20,-297 77,-242C133,-187 172,-139 195,-96C218,-54 238,20 256,127C273,234 282,348 282,471C282,564 273,636 256,687C239,738 217,763 192,763C143,763 113,701 102,576z" + id="glyph142" /> +</font> + + <font + horiz-adv-x="2048" + id="font144"> +<!-- Monotype Baskervilleª is a trademark of Monotype Typography, Ltd which may be registered in certain jurisdictions. --> +<!-- Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. --> +<font-face + font-family="Baskerville-Bold" + units-per-em="2048" + underline-position="-205" + underline-thickness="102" + id="font-face146" /> +<missing-glyph + horiz-adv-x="1536" + d="M256,0l0,1280l1024,0l0,-1280M288,32l960,0l0,1216l-960,0z" + id="missing-glyph148" /> +<glyph + unicode="&" + horiz-adv-x="1579" + d="M885,123C750,22 620,-29 494,-29C385,-29 290,7 211,79C132,150 92,235 92,334C92,488 197,623 406,740C339,847 305,941 305,1024C305,1120 336,1195 397,1249C458,1303 540,1330 643,1330C735,1330 810,1308 867,1264C924,1220 952,1160 952,1083C952,962 880,864 736,789l276,-361C1085,531 1121,604 1121,649C1121,694 1092,717 1033,719l0,109l408,0l0,-109C1392,709 1353,691 1326,665C1298,638 1263,591 1221,523C1175,448 1131,383 1089,330C1140,263 1181,217 1210,192C1239,167 1270,155 1301,155C1368,155 1406,202 1415,295l111,0C1524,184 1492,103 1431,51C1370,-1 1295,-27 1207,-27C1089,-27 982,23 885,123M657,892C738,948 779,1008 779,1071C779,1115 767,1150 742,1176C717,1202 686,1215 650,1215C623,1215 598,1207 577,1191C556,1174 545,1148 545,1113C545,1055 582,981 657,892M798,213l-322,421C410,593 377,540 377,475C377,404 404,333 459,262C514,191 577,155 650,155C704,155 753,174 798,213z" + id="glyph150" /> +<glyph + unicode="A" + horiz-adv-x="1301" + d="M319,366l-26,-67C274,252 265,218 265,199C265,166 276,144 298,131C320,118 356,111 406,111l0,-111l-448,0l0,111C43,111 115,184 173,329l417,1051l117,0l425,-1050C1174,226 1212,164 1246,143C1280,122 1313,111 1344,111l0,-111l-673,0l0,111C732,111 769,117 784,129C799,140 806,155 806,173C806,189 800,210 788,236l-13,31l-39,99M362,481l329,0l-169,405z" + id="glyph152" /> +<glyph + unicode="C" + horiz-adv-x="1536" + d="M1402,521l0,-509l-111,0C1278,66 1259,109 1234,142C1121,29 973,-28 788,-28C578,-28 410,41 284,178C158,315 95,478 95,667C95,853 157,1018 282,1163C407,1308 579,1380 799,1380C964,1380 1103,1326 1218,1217C1233,1251 1247,1291 1260,1338l110,0l14,-501l-110,0C1241,973 1188,1076 1114,1146C1039,1215 951,1250 849,1250C732,1250 643,1204 584,1112C525,1020 495,876 495,681C495,544 506,435 527,355C548,274 591,212 654,169C717,126 785,104 860,104C959,104 1047,138 1124,207C1201,276 1257,380 1291,521z" + id="glyph154" /> +<glyph + unicode="F" + horiz-adv-x="1195" + d="M588,647l0,-370C588,215 599,172 620,148C641,123 686,111 753,111l28,0l0,-111l-730,0l0,111l20,0C138,111 182,124 203,149C223,174 233,216 233,277l0,804C233,1143 223,1186 202,1211C181,1235 137,1247 71,1247l-24,0l0,109l1137,0l9,-359l-113,0C1063,1058 1042,1108 1016,1146C990,1184 963,1209 935,1220C907,1231 864,1237 807,1237l-219,0l0,-468l107,0C746,769 781,780 801,802C820,823 832,868 837,935l112,0l0,-466l-112,0C834,542 822,590 802,613C782,636 746,647 693,647z" + id="glyph156" /> +<glyph + unicode="G" + horiz-adv-x="1621" + d="M944,516l0,110l635,0l0,-110C1528,507 1495,493 1480,472C1465,451 1457,407 1457,341l0,-284C1436,58 1418,59 1405,59C1339,59 1227,42 1070,8C957,-16 863,-28 787,-28C581,-28 414,41 287,179C160,316 96,477 96,660C96,857 163,1026 298,1168C432,1309 598,1380 797,1380C959,1380 1101,1328 1224,1225C1245,1269 1258,1316 1263,1366l107,0l12,-474l-109,0C1204,1123 1070,1238 871,1238C752,1238 662,1194 600,1107C537,1020 506,873 506,667C506,522 515,412 534,337C552,262 587,203 640,162C692,121 760,100 843,100C917,100 978,116 1027,148C1076,180 1100,243 1100,337l0,50C1100,466 1048,509 944,516z" + id="glyph158" /> +<glyph + unicode="L" + horiz-adv-x="1301" + d="M1287,451l-6,-451l-1236,0l0,111l20,0C133,111 177,124 198,149C218,174 228,216 228,277l0,802C228,1141 217,1184 196,1209C175,1233 131,1245 65,1245l-20,0l0,111l727,0l0,-111l-27,0C677,1245 633,1233 613,1208C592,1183 582,1140 582,1079l0,-774C582,247 585,209 592,190C599,171 616,155 645,142C673,128 722,121 793,121C912,121 1000,151 1059,211C1118,270 1158,350 1179,451z" + id="glyph160" /> +<glyph + unicode="S" + horiz-adv-x="1152" + d="M113,23l0,464l120,0C266,348 316,249 383,190C450,131 522,101 599,101C656,101 702,118 736,152C770,186 787,226 787,272C787,305 776,337 755,370C734,403 683,439 603,479C449,556 345,612 291,648C237,683 194,729 161,785C128,841 112,905 112,978C112,1095 154,1191 238,1267C321,1342 418,1380 528,1380C643,1380 741,1341 822,1264C835,1284 846,1315 855,1356l115,0l0,-400l-112,0C838,1045 800,1118 744,1175C688,1232 625,1261 555,1261C502,1261 461,1246 430,1217C399,1188 383,1151 383,1107C383,1073 393,1042 413,1013C433,984 460,960 494,941C528,922 600,886 710,835C809,788 882,747 929,710C976,673 1014,627 1042,572C1069,516 1083,456 1083,391C1083,271 1039,171 950,92C861,12 756,-28 633,-28C563,-28 495,-13 428,16C361,45 307,84 267,133C252,103 240,66 233,23z" + id="glyph162" /> +<glyph + unicode="W" + horiz-adv-x="1920" + d="M488,-28l-330,1074C129,1142 103,1199 82,1218C60,1236 26,1245 -21,1245l0,111l618,0l0,-111C523,1245 486,1222 486,1177C486,1151 491,1120 502,1085l190,-605l286,876l155,0l343,-876l152,550C1639,1073 1645,1105 1645,1128C1645,1206 1601,1245 1512,1245l0,111l434,0l0,-111C1905,1245 1870,1231 1840,1203C1810,1174 1775,1089 1735,946l-272,-974l-156,0l-354,910l-304,-910z" + id="glyph164" /> +<glyph + unicode="o" + horiz-adv-x="1152" + d="M76,412C76,549 125,657 222,735C319,813 437,852 575,852C710,852 827,814 927,739C1027,663 1077,554 1077,411C1077,276 1028,168 930,88C832,7 713,-33 574,-33C438,-33 321,5 223,82C125,158 76,268 76,412M419,422C419,294 431,205 455,154C478,103 519,77 578,77C625,77 663,98 692,141C720,184 734,275 734,414C734,541 721,627 696,672C671,717 631,739 576,739C533,739 496,720 465,682C434,643 419,557 419,422z" + id="glyph166" /> +</font> + + <font + horiz-adv-x="2048" + id="font168"> +<!-- Monotype Baskervilleª is a trademark of Monotype Typography, Ltd which may be registered in certain jurisdictions. --> +<!-- Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. --> +<font-face + font-family="Baskerville" + units-per-em="2048" + underline-position="-205" + underline-thickness="102" + id="font-face170" /> +<missing-glyph + horiz-adv-x="1536" + d="M256,0l0,1280l1024,0l0,-1280M288,32l960,0l0,1216l-960,0z" + id="missing-glyph172" /> +<glyph + unicode=" " + horiz-adv-x="512" + id="glyph174" /> +<glyph + unicode="!" + horiz-adv-x="512" + d="M284,386l-43,0l-59,709C177,1161 174,1202 174,1218C174,1257 183,1288 201,1310C218,1332 239,1343 262,1343C285,1343 305,1332 324,1311C342,1290 351,1258 351,1217C351,1194 348,1153 343,1095M154,75C154,104 165,130 186,151C207,172 232,182 261,182C291,182 317,172 338,151C359,130 369,104 369,75C369,45 358,20 337,-1C316,-22 290,-33 261,-33C231,-33 206,-22 185,0C164,21 154,46 154,75z" + id="glyph176" /> +<glyph + unicode="1" + horiz-adv-x="1024" + d="M549,1343l44,0l0,-1062C593,194 594,139 597,116C599,93 608,76 625,64C642,52 671,46 714,46l39,0l0,-46l-450,0l0,46l33,0C384,46 415,53 430,67C444,80 452,97 455,116C457,135 458,190 458,281l0,712C458,1083 457,1138 455,1157C453,1176 445,1192 430,1207C415,1221 383,1228 336,1228l-43,0l0,46C408,1276 494,1299 549,1343z" + id="glyph178" /> +<glyph + unicode="8" + horiz-adv-x="1024" + d="M598,682C686,675 764,640 831,577C898,514 932,432 932,333C932,218 891,129 809,64C727,-1 627,-33 510,-33C390,-33 290,2 210,71C130,140 90,226 90,329C90,418 119,495 176,558C233,621 313,663 414,682C332,703 265,743 213,802C160,861 134,931 134,1011C134,1109 170,1189 241,1251C312,1312 402,1343 510,1343C610,1343 699,1313 776,1253C853,1192 891,1112 891,1011C891,931 867,862 818,804C769,746 695,705 598,682M291,1031C291,922 309,841 344,787C379,732 431,705 501,705C578,705 635,731 673,783C711,834 730,911 730,1014C730,1107 710,1178 671,1227C631,1276 576,1300 506,1300C444,1300 393,1278 352,1234C311,1189 291,1122 291,1031M256,342C256,267 263,207 277,164C291,120 318,84 358,55C397,26 446,12 505,12C580,12 642,33 691,76C740,119 765,203 765,330C765,457 740,544 691,589C642,634 578,657 501,657C419,657 358,629 317,573C276,516 256,439 256,342z" + id="glyph180" /> +<glyph + unicode="A" + horiz-adv-x="1387" + d="M884,500l-515,0l-35,-86C282,289 256,208 256,170C256,129 270,99 298,78C325,57 361,46 404,46l0,-46l-403,0l0,46C61,55 106,77 135,110C164,143 200,212 241,318C244,328 260,367 289,434l394,941l39,0l453,-1077l62,-142C1251,124 1270,99 1294,81C1317,62 1353,51 1400,46l0,-46l-533,0l0,46C932,46 977,51 1000,61C1023,70 1034,89 1034,118C1034,133 1019,176 988,249M867,545l-240,578l-239,-578z" + id="glyph182" /> +<glyph + unicode="C" + horiz-adv-x="1472" + d="M1294,509l43,0l0,-475l-43,0C1282,88 1260,136 1229,177C1110,42 957,-25 772,-25C576,-25 416,37 292,161C167,285 105,449 105,653C105,787 134,913 191,1032C248,1150 328,1238 431,1295C534,1352 646,1381 769,1381C870,1381 962,1360 1045,1319C1127,1277 1188,1231 1229,1180C1258,1237 1275,1295 1281,1356l44,0l12,-514l-43,0C1264,1025 1203,1152 1111,1223C1018,1294 914,1330 798,1330C656,1330 543,1272 460,1157C376,1042 334,877 334,662C334,459 380,303 471,195C562,86 676,32 812,32C885,32 959,50 1035,85C1111,120 1171,180 1216,265C1260,349 1286,430 1294,509z" + id="glyph184" /> +<glyph + unicode="D" + horiz-adv-x="1557" + d="M48,1345l223,11C457,1365 582,1370 647,1370C848,1370 1005,1339 1118,1278C1231,1217 1315,1134 1370,1029C1425,924 1452,802 1452,665C1452,566 1437,475 1407,393C1377,310 1336,242 1284,188C1231,133 1171,92 1102,64C1033,35 967,18 905,11C843,4 756,0 643,0l-601,0l0,46l56,0C156,46 196,53 219,68C241,83 255,106 262,137C268,168 271,240 271,353l0,654C271,1115 268,1185 262,1217C255,1248 242,1270 222,1282C201,1293 157,1299 88,1299l-40,0M466,1317l0,-906C466,277 469,191 474,152C479,113 494,86 519,71C544,55 596,47 677,47C795,47 892,63 968,96C1044,128 1108,192 1159,287C1210,382 1235,503 1235,650C1235,765 1220,867 1191,957C1161,1047 1118,1120 1063,1177C1008,1233 946,1271 879,1292C812,1312 725,1322 620,1322C569,1322 518,1320 466,1317z" + id="glyph186" /> +<glyph + unicode="G" + horiz-adv-x="1579" + d="M945,579l585,0l0,-48C1465,531 1422,525 1399,512C1376,499 1360,477 1353,447C1346,416 1342,343 1342,226l0,-144C1326,85 1312,86 1299,86C1248,86 1180,70 1097,39C984,-4 879,-25 782,-25C588,-25 427,39 298,167C169,294 105,456 105,652C105,846 166,1016 289,1162C412,1308 578,1381 789,1381C970,1381 1120,1314 1239,1181C1261,1228 1275,1278 1281,1332l48,0l0,-453l-48,0C1262,1018 1209,1129 1123,1210C1036,1291 931,1332 808,1332C681,1332 570,1285 475,1190C380,1095 333,927 333,686C333,445 379,275 470,175C561,74 675,24 810,24C879,24... [truncated message content] |
From: Stefan F. <ste...@us...> - 2011-11-04 13:41:34
|
Tag 'v1.5.2' created by Stefan Frey <ste...@we...> at 2011-11-04 13:43 +0000 Rails version 1.5.2 Changes since v1.5.1-18: --- 0 files changed --- |
From: Stefan F. <ste...@us...> - 2011-11-03 12:01:47
|
build.xml | 2 +- rails/game/Game.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) New commits: commit 38a485f50cf2229bce22bf90103de1f767b42358 Author: Stefan Frey <ste...@we...> Date: Thu Nov 3 13:04:00 2011 +0100 prepared for release 1.5.2 diff --git a/build.xml b/build.xml index 2f9fade..d346fc0 100644 --- a/build.xml +++ b/build.xml @@ -9,7 +9,7 @@ <property name="debuglevel" value="source,lines,vars"/> <property name="target" value="1.5"/> <property name="source" value="1.5"/> - <property name="version" value="1.5"/> + <property name="version" value="1.5.2"/> <taskdef name="jarbundler" classpath="tools/lib/jarbundler-2.1.0.jar" classname="net.sourceforge.jarbundler.JarBundler" /> diff --git a/rails/game/Game.java b/rails/game/Game.java index c670a7b..d0a87dc 100644 --- a/rails/game/Game.java +++ b/rails/game/Game.java @@ -14,7 +14,7 @@ import rails.game.action.PossibleAction; import rails.util.GameFileIO; public class Game { - public static final String version = "1.5.1+"; + public static final String version = "1.5.2+"; /** The component Manager */ protected GameManager gameManager; |
From: Stefan F. <ste...@us...> - 2011-11-03 11:56:34
|
rails/ui/swing/ORPanel.java | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) New commits: commit cea7752364090c76b28874e85cdb8f58e03ce90d Author: Stefan Frey <ste...@we...> Date: Wed Oct 12 16:14:20 2011 +0200 fixed display of operating companies in networkinfo menu diff --git a/rails/ui/swing/ORPanel.java b/rails/ui/swing/ORPanel.java index fa5313d..c81a82b 100644 --- a/rails/ui/swing/ORPanel.java +++ b/rails/ui/swing/ORPanel.java @@ -52,6 +52,7 @@ implements ActionListener, KeyListener, RevenueListener { private JMenuItem remainingTilesMenuItem; private JMenu trainsInfoMenu; private JMenu phasesInfoMenu; + private JMenu networkInfoMenu; private JMenu specialMenu; private JMenu loansMenu; private JMenu zoomMenu; @@ -231,6 +232,11 @@ implements ActionListener, KeyListener, RevenueListener { // Create new fields initFields(); + + // update the networkInfo menu + // TODO: This relies on a recreate as soon as companies have changed + addNetworkInfo(); + repaint(); } @@ -586,15 +592,21 @@ implements ActionListener, KeyListener, RevenueListener { } protected void addNetworkInfo() { + if (networkInfoMenu != null) infoMenu.remove(networkInfoMenu); + networkInfoMenu = createNetworkInfo(); + if (networkInfoMenu == null) return; + networkInfoMenu.setEnabled(true); + infoMenu.add(networkInfoMenu); + } + + protected JMenu createNetworkInfo() { boolean route_highlight = orUIManager.gameUIManager.getGameParameterAsBoolean(GuiDef.Parm.ROUTE_HIGHLIGHT); boolean revenue_suggest = orUIManager.gameUIManager.getGameParameterAsBoolean(GuiDef.Parm.REVENUE_SUGGEST); - if (!route_highlight && !revenue_suggest) return; + if (!route_highlight && !revenue_suggest) return null; JMenu networkMenu = new JMenu(LocalText.getText("NetworkInfo")); - networkMenu.setEnabled(true); - infoMenu.add(networkMenu); if (route_highlight) { JMenuItem item = new JMenuItem("Network"); @@ -613,6 +625,8 @@ implements ActionListener, KeyListener, RevenueListener { networkMenu.add(item); } } + + return networkMenu; } protected void executeNetworkInfo(String companyName) { |
From: Erik V. <ev...@us...> - 2011-11-01 13:11:05
|
LocalisedText.properties | 2 ++ data/18EU/Game.xml | 2 +- rails/game/Phase.java | 7 ++++++- rails/game/PublicCompany.java | 6 ++++++ rails/ui/swing/ORPanel.java | 1 + 5 files changed, 16 insertions(+), 2 deletions(-) New commits: commit 68d4bf75fa548674c61cdfa1e2670a2d7df4f2b1 Author: Erik Vos <eri...@xs...> Date: Tue Nov 1 14:10:21 2011 +0100 18EU: fixed wrong train limit step from phase 5. Added train limits to Company Info. Added train limit steps to Phase Info. diff --git a/LocalisedText.properties b/LocalisedText.properties index fa742de..6516a23 100644 --- a/LocalisedText.properties +++ b/LocalisedText.properties @@ -162,6 +162,7 @@ CompanyTakesLoans={0} takes {1} loans of {2} and receives {3} CompanyTypeConfiguredTwice=Company type {0} configured twice. CompanyTypeHasNoClass=Company type {0} has no class defined. CompanyWithholds={0} withholds dividend of {1}. +CompInfoMaxTrains=Max. trains per limit step: {0} ComponentConfiguredTwice=Component {0} is configured twice. ComponentHasNoClass=Component {0} has no class defined. ComponentInitAs=Component {0} is initialized as class {1} @@ -475,6 +476,7 @@ Pass=Pass PhaseClosesAllPrivates=Close all privates PhaseNumberOfORs=Number of ORs: {0} PhaseOffBoardStep=Off-board revenue step: {0} +PhaseTrainLimitStep=Train limit step: {0} PhaseRemoves=Remove {0} Phases=Phases PhaseTileColours=Allowed tile colours: {0} diff --git a/data/18EU/Game.xml b/data/18EU/Game.xml index d8ae7ba..01e39f5 100644 --- a/data/18EU/Game.xml +++ b/data/18EU/Game.xml @@ -119,7 +119,7 @@ </Phase> <Phase name="5"> <Tiles colour="yellow,green,brown"/> - <Trains limitStep="2"/> + <Trains limitStep="3"/> <OffBoardRevenue step="2"/> </Phase> <Phase name="6"> diff --git a/rails/game/Phase.java b/rails/game/Phase.java index 40adcfc..5b50f25 100644 --- a/rails/game/Phase.java +++ b/rails/game/Phase.java @@ -337,7 +337,12 @@ public class Phase implements PhaseI { } public String getTileColoursString() { - return tileColoursString; + StringBuilder b = new StringBuilder(); + for (String colour : tileColours) { + if (b.length() > 0) b.append(","); + b.append (colour); + } + return b.toString(); } public int getTileLaysPerColour (String companyTypeName, String colourName) { diff --git a/rails/game/PublicCompany.java b/rails/game/PublicCompany.java index 0a0aeb9..f4ff236 100644 --- a/rails/game/PublicCompany.java +++ b/rails/game/PublicCompany.java @@ -759,6 +759,12 @@ public class PublicCompany extends Company implements PublicCompanyI { privateToCloseOnFirstTrainName); } + if (trainLimit != null) { + infoText += "<br>" + LocalText.getText("CompInfoMaxTrains", + Util.joinWithDelimiter(trainLimit, ", ")); + + } + infoText += parentInfoText; parentInfoText = ""; diff --git a/rails/ui/swing/ORPanel.java b/rails/ui/swing/ORPanel.java index 7ca57da..fa5313d 100644 --- a/rails/ui/swing/ORPanel.java +++ b/rails/ui/swing/ORPanel.java @@ -564,6 +564,7 @@ implements ActionListener, KeyListener, RevenueListener { appendInfoText(b, LocalText.getText("PhaseTileColours", phase.getTileColoursString())); appendInfoText(b, LocalText.getText("PhaseNumberOfORs", phase.getNumberOfOperatingRounds())); appendInfoText(b, LocalText.getText("PhaseOffBoardStep", phase.getOffBoardRevenueStep())); + appendInfoText(b, LocalText.getText("PhaseTrainLimitStep", phase.getTrainLimitStep())); if (phase.doPrivatesClose()) { appendInfoText(b, LocalText.getText("PhaseClosesAllPrivates")); } |
From: Erik V. <ev...@us...> - 2011-10-30 22:46:30
|
data/18JR/CompanyManager.xml | 101 -------------- data/18JR/Game.xml | 168 ------------------------ data/18JR/Map.xml | 65 --------- data/18JR/StockMarket.xml | 111 ---------------- data/18JR/TileSet.xml | 128 ------------------ data/18JR/Tiles.xml | 291 ------------------------------------------- data/GamesList.xml | 17 -- 7 files changed, 881 deletions(-) New commits: commit 6915bd88f7d018bcbb3e7dcdd9f3d82cf7973c87 Author: Erik Vos <eri...@xs...> Date: Sun Oct 30 23:45:41 2011 +0100 18Jr prototype removed. As requested by the designer: Scott Petersen. diff --git a/data/18JR/CompanyManager.xml b/data/18JR/CompanyManager.xml deleted file mode 100644 index cd1aaaa..0000000 --- a/data/18JR/CompanyManager.xml +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0"?> -<CompanyManager> - <CompanyType name="Private" class="rails.game.PrivateCompany"> - <ClosingConditions> - <Phase>5</Phase> - </ClosingConditions> - </CompanyType> - <CompanyType name="Public" class="rails.game.PublicCompany"> - <CanBuyPrivates lowerPriceFactor="0.5" upperPriceFactor="2.0"/> - <PoolPaysOut/> - <Float percentage="60"/> - <ShareUnit percentage="10"/> - <BaseTokens> - <!-- HomeBase lay options: "whenStarted", "whenFloated", "firstOR" (default) --> - <HomeBase lay="firstOR"/> - <!-- LayCost methods: only "sequence" (1830 style) implemented so far (default) --> - <LayCost method="sequence" cost="0,40,100"/> - </BaseTokens> - <Certificate type="President" shares="2"/> - <Certificate shares="1" number="8"/> - <Trains limit="4,3,2"/> - <CanUseSpecialProperties/> - </CompanyType> - <Company name="SVNRR" type="Private" basePrice="20" revenue="5" - longname="Schuylkill Valley Navigation & Railroad Company"> - </Company> - <Company name="C&StL" type="Private" basePrice="40" revenue="10" - longname="Champlain & St.Lawrence"> - </Company> - <Company name="D&H" type="Private" basePrice="70" revenue="15" - longname="Delaware & Hudson"> - </Company> - <Company name="M&H" type="Private" basePrice="110" revenue="20" - longname="Mohawk & Hudson"> - <SpecialProperties> - <SpecialProperty condition="ifOwnedByPlayer" when="anyTurn" class="rails.game.special.ExchangeForShare"> - <ExchangeForShare company="NYC" share="10"/> - </SpecialProperty> - </SpecialProperties> - </Company> - <Company name="C&A" type="Private" basePrice="160" revenue="25" - longname="Camden & Amboy"> - <Info key="ComesWithCertificate" parm="PRR,10"/> - </Company> - <Company name="B&O" type="Private" basePrice="220" revenue="30" - longname="Baltimore & Ohio"> - <Info key="ComesWithPresidency" parm="B&O,20"/> - </Company> - - <!-- Note two supported colour specification formats: - RGB decimal with commas and RGB hexadecimal without commas --> - <Company name="B&O" type="Public" tokens="2" fgColour="FFFFFF" bgColour="0,0,255" - longname="Baltimore and Ohio"> - <Home hex="H6"/> - </Company> - <Company name="C&A" type="Public" tokens="2" fgColour="000000" bgColour="FF8000" - longname="Camden and Amboy"> - <Home hex="E11"/> - </Company> - <Company name="C&O" type="Public" tokens="2" fgColour="000000" bgColour="A0E0FF" - longname="Chesapeake and Ohio Railway"> - <Home hex="M7"/> - </Company> - <Company name="N&W" type="Public" tokens="2" fgColour="FFFFFF" bgColour="B03B00" - longname="Norfolk and Western"> - <Home hex="M3"/> - </Company> - <Company name="PLE" type="Public" tokens="2" fgColour="FFFFFF" bgColour="000000" - longname="Pittsburgh and Lake Erie Railroad"> - <Home hex="C1"/> - </Company> - <Company name="PRR" type="Public" tokens="2" fgColour="FFFFFF" bgColour="008000" - longname="Pennsylvania Railroad"> - <Home hex="D10"/> - </Company> - <Company name="SQ" type="Public" tokens="2" fgColour="000000" bgColour="FFFF00" - longname="New York, Susquehanna and Western Railway"> - <Home hex="B6"/> - </Company> <Company name="SRC" type="Public" tokens="2" fgColour="FFFF00" bgColour="FF0000" - longname="Strasburg Rail Road"> - <FirstTrainCloses type="Private" name="B&O"/> - <Home hex="D8"/> - </Company> - <IfOption name="Variant" value="Pere Marquette"> - <Company name="PM" type="Public" tokens="2" fgColour="FFFF00" bgColour="000080" - longname="Pere Marquette"> - <Home hex="C7"/> - </Company> - </IfOption> - <StartPacket roundClass="rails.game.StartRound_1830"> - <Bidding initial="5" minimum="5" increment="1"/> - <Item name="SVNRR" type="Private" basePrice="20"/> - <Item name="C&StL" type="Private" basePrice="40"/> - <Item name="D&H" type="Private" basePrice="70"/> - <Item name="M&H" type="Private" basePrice="110"/> - <Item name="C&A" type="Private" basePrice="160"/> - <Item name="B&O" type="Private" basePrice="220"> - <SubItem name="B&O" type="Public" president="yes"/> - </Item> - </StartPacket> -</CompanyManager> diff --git a/data/18JR/Game.xml b/data/18JR/Game.xml deleted file mode 100644 index aadd083..0000000 --- a/data/18JR/Game.xml +++ /dev/null @@ -1,168 +0,0 @@ -<?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="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> - <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="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 --> - </EndOfGame> - </Component> - <Component name="PlayerManager" class="rails.game.PlayerManager"> - <IfOption name="Variant" value="Basegame"> - <Players number="2" cash="1200" certLimit="28"/> - <Players number="3" cash="800" certLimit="20"/> - <Players number="4" cash="600" certLimit="16"/> - <Players number="5" cash="480" certLimit="13"/> - <Players number="6" cash="400" certLimit="11"/> - </IfOption> - <IfOption name="Variant" value="Pere Marquette"> - <Players number="2" cash="1200" certLimit="32"/> - <Players number="3" cash="800" certLimit="22"/> - <Players number="4" cash="600" certLimit="17"/> - <Players number="5" cash="480" certLimit="14"/> - <Players number="6" cash="400" certLimit="12"/> - <Players number="7" cash="360" certLimit="11"/> - </IfOption> - </Component> - <Component name="Bank" class="rails.game.Bank"> - <Bank amount="12000"/> - <Money format="$@"/> - </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="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="80" quantity="6"/> - <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"> - <!--Train name="6" majorStops="6" cost="630" quantity="2" startPhase="6" - rustedTrain="3" releasedTrain="D"/--> - <NewPhase phaseName="5"/> - </TrainType> - <TrainType name="6" majorStops="6" cost="630"> - <NewPhase phaseName="6"/> - <IfOption name="WithOptional6Train" value="yes"> - <Attributes quantity="3"/> - </IfOption> - <IfOption name="WithOptional6Train" value="no"> - <Attributes quantity="2"/> - </IfOption> - <IfOption name="Variant" value="Pere Marquette"> - <Attributes quantity="3"/> - </IfOption> - </TrainType> - <TrainType name="D" majorStops="99" cost="1100"> - <NewPhase phaseName="D"/> - <IfOption name="UnlimitedTopTrains" value="yes"> - <Attributes quantity="-1"/> - </IfOption> - <IfOption name="UnlimitedTopTrains" value="no"> - <Attributes quantity="6"/> - </IfOption> - <Exchange cost="800"/> - </TrainType> - </Component> - <Component name="PhaseManager" class="rails.game.PhaseManager"> - <!-- Note: released and rusted trains are now specified per Train - but could as well be moved here. To be sorted out when we do 18US. --> - <!-- Each Phase's defaults are the previous one's values --> - <Phase name="2"> - <Tiles colour="yellow"/> - <Privates sellingAllowed="no"/> - <OperatingRounds number="1"/> - <Trains tradingAllowed="yes"/> - </Phase> - <Phase name="3"> - <Tiles colour="yellow,green"/> - <Privates sellingAllowed="yes"/> - <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"/> - <Trains rusted="3" released="D"/> - </Phase> - <Phase name="D"> - <Tiles colour="yellow,green,brown"/> - <Trains rusted="4"/> - </Phase> - </Component> -</ComponentManager> \ No newline at end of file diff --git a/data/18JR/Map.xml b/data/18JR/Map.xml deleted file mode 100644 index e765ba1..0000000 --- a/data/18JR/Map.xml +++ /dev/null @@ -1,65 +0,0 @@ -<Map tileOrientation="NS" letterOrientation="vertical" even="B"> - - <Hex name="A5" tile="-7" orientation="1"/> - <Hex name="A7" tile="-7" orientation="2"/> - <Hex name="B2" tile="-902" orientation="1" value="40,50"/> - <Hex name="B4" tile="0" cost="120"/> - <Hex name="B6" tile="-10"/> - <Hex name="B8" tile="0"/> - <Hex name="B10" tile="0"/> - <Hex name="B12" tile="-902" orientation="2" value="40,50"/> - <Hex name="C1" tile="-104"/> - <Hex name="C3" tile="-10"/> - <Hex name="C5" tile="-10" cost="120"/> - <Hex name="C7" tile="-1" cost="40"/> - <Hex name="C9" tile="-1"/> - <Hex name="C11" tile="-2"/> - <Hex name="D2" tile="-2"/> - <Hex name="D4" tile="0" cost="120"/> - <Hex name="D6" tile="0"/> - <Hex name="D8" tile="-10" cost="40"/> - <Hex name="D10" tile="-10" cost="40"/> - <Hex name="D12" tile="0"/> - <Hex name="E3" tile="0"/> - <Hex name="E5" tile="0" cost="120"/> - <Hex name="E7" tile="0"/> - <Hex name="E9" tile="0" cost="40"/> - <Hex name="E11" tile="-10"/> - <Hex name="F2" tile="0"/> - <Hex name="F4" tile="0" cost="120"/> - <Hex name="F6" tile="0"/> - <Hex name="F8" tile="-10" cost="40"/> - <Hex name="F10" tile="0" cost="40"/> - <Hex name="G1" tile="-902" value="40,50"/> - <Hex name="G3" tile="-10"/> - <Hex name="G5" tile="0" cost="120"/> - <Hex name="G7" tile="0"/> - <Hex name="G9" tile="-10"/> - <Hex name="H2" tile="0"/> - <Hex name="H4" tile="0" cost="120"/> - <Hex name="H6" tile="-10"/> - <Hex name="H10" tile="0"/> - <Hex name="I3" tile="0"/> - <Hex name="I5" tile="-1"/> - <Hex name="I7" tile="0" cost="40"/> - <Hex name="I9" tile="0"/> - <Hex name="I11" tile="-901" orientation="3" value="40,50"/> - <Hex name="J2" tile="0"/> - <Hex name="J4" tile="0" cost="120"/> - <Hex name="J6" tile="0" cost="40"/> - <Hex name="J10" tile="0"/> - <Hex name="K3" tile="0"/> - <Hex name="K5" tile="-1"/> - <Hex name="K7" tile="0" cost="40"/> - <Hex name="K11" tile="-901" orientation="3" value="40,50"/> - <Hex name="L2" tile="0"/> - <Hex name="L4" tile="-10"/> - <Hex name="L6" tile="0"/> - <Hex name="L8" tile="0" cost="40"/> - <Hex name="M1" tile="-901" orientation="5" value="40,50"/> - <Hex name="M3" tile="-10" cost="120"/> - <Hex name="M5" tile="0"/> - <Hex name="M7" tile="-10"/> - <Hex name="N2" tile="-902" orientation="5" value="40,50"/> - <Hex name="N8" tile="-901" orientation="3" value="40,50"/> -</Map> diff --git a/data/18JR/StockMarket.xml b/data/18JR/StockMarket.xml deleted file mode 100644 index 121e5de..0000000 --- a/data/18JR/StockMarket.xml +++ /dev/null @@ -1,111 +0,0 @@ -<StockMarket type="rectangular"> - <!-- Note two supported colour specification formats: - RGB decimal with commas and RGB hexadecimal without commas --> - <StockSpaceType name="yellow" colour="255,255,0"> - <NoCertLimit/> - </StockSpaceType> - - <StockSpace name="A1" price="70" /> - <StockSpace name="A2" price="65" type="yellow"/> - <StockSpace name="A3" price="55" type="yellow"/> - <StockSpace name="A4" price="50" type="yellow"/> - <StockSpace name="A5" price="45" type="yellow"/> - <StockSpace name="A6" price="40" type="yellow"/> - <StockSpace name="A7" price="30" type="yellow"/> - <StockSpace name="A8" price="20" type="yellow"/> - <StockSpace name="B1" price="75" /> - <StockSpace name="B2" price="70" /> - <StockSpace name="B3" price="65" type="yellow"/> - <StockSpace name="B4" price="60" type="yellow"/> - <StockSpace name="B5" price="55" type="yellow"/> - <StockSpace name="B6" price="50" type="yellow"/> - <StockSpace name="B7" price="40" type="yellow"/> - <StockSpace name="B8" price="30" type="yellow"/> - <StockSpace name="C1" price="80" /> - <StockSpace name="C2" price="75" /> - <StockSpace name="C3" price="70" /> - <StockSpace name="C4" price="65" type="yellow"/> - <StockSpace name="C5" price="60" type="yellow"/> - <StockSpace name="C6" price="55" type="yellow"/> - <StockSpace name="C7" price="50" type="yellow"/> - <StockSpace name="C8" price="40" type="yellow"/> - <StockSpace name="D1" price="85" /> - <StockSpace name="D2" price="80" /> - <StockSpace name="D3" price="75" /> - <StockSpace name="D4" price="70" /> - <StockSpace name="D5" price="65" /> - <StockSpace name="D6" price="60" type="yellow"/> - <StockSpace name="D7" price="55" type="yellow"/> - <StockSpace name="D8" price="45" type="yellow"/> - <StockSpace name="E1" price="90" /> - <StockSpace name="E2" price="85" /> - <StockSpace name="E3" price="80" /> - <StockSpace name="E4" price="75" /> - <StockSpace name="E5" price="70" /> - <StockSpace name="E6" price="65" /> - <StockSpace name="E7" price="60" /> - <StockSpace name="E8" price="50" type="yellow"/> - <StockSpace name="F1" price="100" > - <StartSpace/> - </StockSpace> - <StockSpace name="F2" price="90" > - <StartSpace/> - </StockSpace> - <StockSpace name="F3" price="85" > - <StartSpace/> - </StockSpace> - <StockSpace name="F4" price="80" > - <StartSpace/> - </StockSpace> - <StockSpace name="F5" price="75" > - <StartSpace/> - </StockSpace> - <StockSpace name="F6" price="70" > - <StartSpace/> - </StockSpace> - <StockSpace name="F7" price="65" /> - <StockSpace name="F8" price="60" /> - <StockSpace name="G1" price="110" /> - <StockSpace name="G2" price="100" /> - <StockSpace name="G3" price="95" /> - <StockSpace name="G4" price="85" /> - <StockSpace name="G5" price="80" /> - <StockSpace name="G6" price="75" /> - <StockSpace name="G7" price="70" /> - <StockSpace name="G8" price="65" /> - <StockSpace name="H1" price="125" /> - <StockSpace name="H2" price="110" /> - <StockSpace name="H3" price="105" /> - <StockSpace name="H4" price="95" /> - <StockSpace name="H5" price="85" /> - <StockSpace name="H6" price="80" /> - <StockSpace name="H7" price="75" /> - <StockSpace name="I1" price="140" /> - <StockSpace name="I2" price="125" /> - <StockSpace name="I3" price="115" /> - <StockSpace name="I4" price="105" /> - <StockSpace name="I5" price="95" /> - <StockSpace name="I6" price="85" /> - <StockSpace name="J1" price="160" /> - <StockSpace name="J2" price="140" /> - <StockSpace name="J3" price="130" /> - <StockSpace name="J4" price="115" /> - <StockSpace name="J5" price="105" /> - <StockSpace name="K1" price="180" /> - <StockSpace name="K2" price="160" /> - <StockSpace name="K3" price="145" /> - <StockSpace name="K4" price="130" /> - <StockSpace name="L1" price="205" /> - <StockSpace name="L2" price="180" /> - <StockSpace name="L3" price="160" /> - <StockSpace name="L4" price="145" /> - <StockSpace name="M1" price="235" /> - <StockSpace name="M2" price="205" /> - <StockSpace name="M3" price="180" /> - <StockSpace name="N1" price="265" /> - <StockSpace name="N2" price="235" /> - <StockSpace name="N3" price="205" /> - <StockSpace name="O1" price="300" /> - <StockSpace name="O2" price="265" /> - <StockSpace name="O3" price="235" /> -</StockMarket> diff --git a/data/18JR/TileSet.xml b/data/18JR/TileSet.xml deleted file mode 100644 index ea95336..0000000 --- a/data/18JR/TileSet.xml +++ /dev/null @@ -1,128 +0,0 @@ -<TileManager tiles="Tiles.xml"> - <!-- Preprinted tiles --> - <Tile id="0"><!-- Empty space --> - <Upgrade id="7,8,9"/> - </Tile> - <Tile id="-1"><!-- 1 town --> - <Upgrade id="3,4,58"/> - </Tile> - <Tile id="-2"><!-- 2 towns --> - <Upgrade id="1,2,55,56,69"/> - </Tile> - <Tile id="-3"/> - <Tile id="-5"/> - <Tile id="-7"/> - <Tile id="-10"><!-- 1 city --> - <Upgrade id="57,1441"/> - </Tile> - <Tile id="-11"><!-- B yellow --> - <Upgrade id="53"/> - </Tile> - <Tile id="-20"><!-- 2 OO cities --> - <Upgrade id="59" relayBaseTokens="yes"/> - </Tile> - <Tile id="-21"><!-- New York --> - <Upgrade id="54"/> - </Tile> - <Tile id="-58"/> - <Tile id="-101"/><!-- Altoona --> - <Tile id="-102"/><!-- Rochester --> - <Tile id="-103"/><!-- Montreal --> - <Tile id="-104"/><!-- Norwich --> - <Tile id="-105"/><!-- Cleveland --> - <Tile id="-901"/> - <Tile id="-902"/> - <Tile id="-903"/> - - <!-- Yellow tiles --> - <Tile id="1" quantity="1" /> - <Tile id="2" quantity="1" /> - <Tile id="3" quantity="2" /> - <Tile id="4" quantity="2" /> - <Tile id="7" quantity="4"> - <Upgrade id="18,26,27,28,29" /> - </Tile> - <Tile id="8" quantity="8"> - <Upgrade id="16,19,23,24,25,28,29" /> - </Tile> - <Tile id="9" quantity="7"> - <Upgrade id="18,19,20,23,24,26,27" /> - </Tile> - <Tile id="55" quantity="1" /> - <Tile id="56" quantity="1" /> - <Tile id="57" quantity="4"> - <Upgrade id="14,15" /> - </Tile> - <Tile id="58" quantity="2" /> - <Tile id="69" quantity="1" /> - - <!-- Green tiles --> - <Tile id="14" quantity="3"> - <Upgrade id="63" /> - </Tile> - <Tile id="15" quantity="2"> - <Upgrade id="63" /> - </Tile> - <Tile id="16" quantity="1"> - <Upgrade id="43,70" /> - </Tile> - <Tile id="18" quantity="1"> - <Upgrade id="43" /> - </Tile> - <Tile id="19" quantity="1"> - <Upgrade id="45,46" /> - </Tile> - <Tile id="20" quantity="1"> - <Upgrade id="44,47" /> - </Tile> - <Tile id="23" quantity="3"> - <Upgrade id="41,43,45,47" /> - </Tile> - <Tile id="24" quantity="3"> - <Upgrade id="42,43,46,47" /> - </Tile> - <Tile id="25" quantity="1"> - <Upgrade id="40,45,46" /> - </Tile> - <Tile id="26" quantity="1"> - <Upgrade id="42,44,45" /> - </Tile> - <Tile id="27" quantity="1"> - <Upgrade id="41,44,46" /> - </Tile> - <Tile id="28" quantity="1"> - <Upgrade id="39,43,46,70" /> - </Tile> - <Tile id="29" quantity="1"> - <Upgrade id="39,43,45,70" /> - </Tile> - <Tile id="53" quantity="2"> - <Upgrade id="61" /> - </Tile> - <Tile id="54" quantity="1"> - <Upgrade id="62" /> - </Tile> - <Tile id="59" quantity="2"> - <Upgrade id="64,65,66,67,68" /> - </Tile> - <!-- Brown tiles --> - <Tile id="39" quantity="1" /> - <Tile id="40" quantity="1" /> - <Tile id="41" quantity="2" /> - <Tile id="42" quantity="2" /> - <Tile id="43" quantity="2" /> - <Tile id="44" quantity="1" /> - <Tile id="45" quantity="2" /> - <Tile id="46" quantity="2" /> - <Tile id="47" quantity="1" /> - <Tile id="61" quantity="2" /> - <Tile id="62" quantity="1" /> - <Tile id="63" quantity="3" /> - <Tile id="64" quantity="1" /> - <Tile id="65" quantity="1" /> - <Tile id="66" quantity="1" /> - <Tile id="67" quantity="1" /> - <Tile id="68" quantity="1" /> - <Tile id="70" quantity="1" /> - <Tile id="1441" quantity="1"/> -</TileManager> diff --git a/data/18JR/Tiles.xml b/data/18JR/Tiles.xml deleted file mode 100644 index 0f21688..0000000 --- a/data/18JR/Tiles.xml +++ /dev/null @@ -1,291 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?><Tiles><Tile colour="white" id="0" name="empty"/><Tile colour="white" id="-1" name="1 village"> - <Station id="city1" position="002" type="Town"/> - </Tile><Tile colour="white" id="-2" name="2 villages"> - <Station id="city1" position="102" type="Town"/> - <Station id="city2" position="302" type="Town"/> - </Tile><Tile colour="fixed" id="-3" name="MF 3"> - <Station id="city1" position="252" type="Town" value="10"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side3"/> - </Tile><Tile colour="fixed" id="-5" name="MF 5"> - <Station id="city1" position="0" slots="1" type="City" value="20"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side1"/> - </Tile><Tile colour="fixed" id="-7" name="MF 7"> - <Track from="side2" gauge="normal" to="side1"/> - </Tile><Tile colour="white" id="-10" name="1 city"> - <Station id="city1" position="302" slots="1" type="City"/> - </Tile><Tile colour="yellow" id="-11" name="B"> - <Station id="city1" position="0" slots="1" type="City" value="30"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city1" gauge="normal" to="side3"/> - </Tile><Tile colour="yellow" id="-20" name="2 cities"> - <Station id="city1" position="002" slots="1" type="City"/> - <Station id="city2" position="302" slots="1" type="City"/> - </Tile><Tile colour="yellow" id="-21" name="NY"> - <Station id="city1" position="202" slots="1" type="City" value="40"/> - <Station id="city2" position="502" slots="1" type="City" value="40"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city2" gauge="normal" to="side5"/> - </Tile><Tile colour="fixed" id="-58" name="MF 58"> - <Station id="city1" position="301" type="Town" value="10"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side4"/> - </Tile><Tile colour="fixed" id="-101" name="Philadelphia"> - <Station id="city1" position="0" slots="1" type="City" value="10"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city1" gauge="normal" to="side4"/> - <Track from="side4" gauge="normal" to="side1"/> - </Tile><Tile colour="fixed" id="-102" name="-102"> - <Station id="city1" position="251" slots="1" type="City" value="20"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side4"/> - </Tile><Tile colour="fixed" id="-103" name="MF 103"> - <Station id="city1" position="0" slots="1" type="City" value="40"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side3"/> - </Tile><Tile colour="fixed" id="-104" name="MF 104"> - <Station id="city1" position="0" slots="1" type="City" value="20"/> - <Track from="city1" gauge="normal" to="side2"/> - </Tile><Tile colour="fixed" id="-105" name="MF 105"> - <Station id="city1" position="0" slots="1" type="City" value="30"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side3"/> - </Tile><Tile colour="red" id="-901" name="OM 1 way"> - <Station id="city1" position="0" type="OffMapCity" value="-1"/> - <Track from="city1" gauge="normal" to="side2"/> - </Tile><Tile colour="red" id="-902" name="OM 2 way"> - <Station id="city1" position="0" type="OffMapCity" value="-1"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side1"/> - </Tile><Tile colour="red" id="-903" name="OM 3 way"> - <Station id="city1" position="0" type="OffMapCity" value="-1"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side1"/> - </Tile><Tile colour="yellow" id="1" name="1"> - <Station id="city1" position="408" type="Town" value="10"/> - <Station id="city2" position="108" type="Town" value="10"/> - <Track from="city1" gauge="normal" to="side0"/> - <Track from="city1" gauge="normal" to="side4"/> - <Track from="city2" gauge="normal" to="side1"/> - <Track from="city2" gauge="normal" to="side3"/> - </Tile><Tile colour="yellow" id="2" name="2"> - <Station id="city1" position="302" type="Town" value="10"/> - <Station id="city2" position="109" type="Town" value="10"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side0"/> - <Track from="city2" gauge="normal" to="side1"/> - <Track from="city2" gauge="normal" to="side2"/> - </Tile><Tile colour="yellow" id="3" name="3"> - <Station id="city1" position="352" type="Town" value="10"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side4"/> - </Tile><Tile colour="yellow" id="4" name="4"> - <Station id="city1" position="0" type="Town" value="10"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side0"/> - </Tile><Tile colour="yellow" id="7" name="7"> - <Track from="side3" gauge="normal" to="side4"/> - </Tile><Tile colour="yellow" id="8" name="8"> - <Track from="side3" gauge="normal" to="side5"/> - </Tile><Tile colour="yellow" id="9" name="9"> - <Track from="side3" gauge="normal" to="side0"/> - </Tile><Tile colour="yellow" id="55" name="55"> - <Station id="city1" position="202" type="Town" value="10"/> - <Station id="city2" position="302" type="Town" value="10"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side5"/> - <Track from="city2" gauge="normal" to="side3"/> - <Track from="city2" gauge="normal" to="side0"/> - </Tile><Tile colour="yellow" id="56" name="56"> - <Station id="city1" position="407" type="Town" value="10"/> - <Station id="city2" position="108" type="Town" value="10"/> - <Track from="city2" gauge="normal" to="side1"/> - <Track from="city2" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side4"/> - <Track from="city1" gauge="normal" to="side2"/> - </Tile><Tile colour="yellow" id="57" name="57"> - <Station id="city1" position="0" slots="1" type="City" value="20"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side0"/> - </Tile><Tile colour="yellow" id="58" name="58"> - <Station id="city1" position="401" type="Town" value="10"/> - <Track from="city1" gauge="normal" to="side5"/> - <Track from="city1" gauge="normal" to="side3"/> - </Tile><Tile colour="yellow" id="69" name="69"> - <Station id="city1" position="407" type="Town" value="10"/> - <Station id="city2" position="002" type="Town" value="10"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side4"/> - <Track from="city2" gauge="normal" to="side0"/> - <Track from="city2" gauge="normal" to="side3"/> - </Tile><Tile colour="green" id="14" name="14"> - <Station id="city1" position="0" slots="2" type="City" value="30"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side4"/> - <Track from="city1" gauge="normal" to="side0"/> - </Tile><Tile colour="green" id="15" name="15"> - <Station id="city1" position="0" slots="2" type="City" value="30"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side4"/> - <Track from="city1" gauge="normal" to="side5"/> - <Track from="city1" gauge="normal" to="side0"/> - </Tile><Tile colour="green" id="16" name="16"> - <Track from="side3" gauge="normal" to="side5"/> - <Track from="side4" gauge="normal" to="side0"/> - </Tile><Tile colour="green" id="18" name="18"> - <Track from="side3" gauge="normal" to="side0"/> - <Track from="side4" gauge="normal" to="side5"/> - </Tile><Tile colour="green" id="19" name="19"> - <Track from="side5" gauge="normal" to="side1"/> - <Track from="side0" gauge="normal" to="side3"/> - </Tile><Tile colour="green" id="20" name="20"> - <Track from="side1" gauge="normal" to="side4"/> - <Track from="side3" gauge="normal" to="side0"/> - </Tile><Tile colour="green" id="23" name="23"> - <Track from="side4" gauge="normal" to="side0"/> - <Track from="side0" gauge="normal" to="side3"/> - </Tile><Tile colour="green" id="24" name="24"> - <Track from="side3" gauge="normal" to="side5"/> - <Track from="side3" gauge="normal" to="side0"/> - </Tile><Tile colour="green" id="25" name="25"> - <Track from="side1" gauge="normal" to="side3"/> - <Track from="side3" gauge="normal" to="side5"/> - </Tile><Tile colour="green" id="26" name="26"> - <Track from="side5" gauge="normal" to="side0"/> - <Track from="side0" gauge="normal" to="side3"/> - </Tile><Tile colour="green" id="27" name="27"> - <Track from="side3" gauge="normal" to="side4"/> - <Track from="side3" gauge="normal" to="side0"/> - </Tile><Tile colour="green" id="28" name="28"> - <Track from="side3" gauge="normal" to="side5"/> - <Track from="side4" gauge="normal" to="side5"/> - </Tile><Tile colour="green" id="29" name="29"> - <Track from="side3" gauge="normal" to="side4"/> - <Track from="side3" gauge="normal" to="side5"/> - </Tile><Tile colour="green" id="53" name="53"> - <Station id="city1" position="0" slots="1" type="City" value="50"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side5"/> - </Tile><Tile colour="green" id="54" name="54"> - <Station id="city1" position="352" slots="1" type="City" value="60"/> - <Station id="city2" position="552" slots="1" type="City" value="60"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side4"/> - <Track from="city2" gauge="normal" to="side5"/> - <Track from="city2" gauge="normal" to="side0"/> - </Tile><Tile colour="green" id="59" name="59"> - <Station id="city1" position="052" slots="1" type="City" value="40"/> - <Station id="city2" position="352" slots="1" type="City" value="40"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city2" gauge="normal" to="side3"/> - </Tile><Tile colour="brown" id="39" name="39"> - <Track from="side3" gauge="normal" to="side4"/> - <Track from="side3" gauge="normal" to="side5"/> - <Track from="side4" gauge="normal" to="side5"/> - </Tile><Tile colour="brown" id="40" name="40"> - <Track from="side1" gauge="normal" to="side3"/> - <Track from="side1" gauge="normal" to="side5"/> - <Track from="side3" gauge="normal" to="side5"/> - </Tile><Tile colour="brown" id="41" name="41"> - <Track from="side4" gauge="normal" to="side0"/> - <Track from="side4" gauge="normal" to="side3"/> - <Track from="side0" gauge="normal" to="side3"/> - </Tile><Tile colour="brown" id="42" name="42"> - <Track from="side3" gauge="normal" to="side5"/> - <Track from="side3" gauge="normal" to="side0"/> - <Track from="side5" gauge="normal" to="side0"/> - </Tile><Tile colour="brown" id="43" name="43"> - <Track from="side3" gauge="normal" to="side5"/> - <Track from="side3" gauge="normal" to="side0"/> - <Track from="side4" gauge="normal" to="side5"/> - <Track from="side4" gauge="normal" to="side0"/> - </Tile><Tile colour="brown" id="44" name="44"> - <Track from="side3" gauge="normal" to="side0"/> - <Track from="side1" gauge="normal" to="side0"/> - <Track from="side3" gauge="normal" to="side4"/> - <Track from="side1" gauge="normal" to="side4"/> - </Tile><Tile colour="brown" id="45" name="45"> - <Track from="side1" gauge="normal" to="side5"/> - <Track from="side1" gauge="normal" to="side3"/> - <Track from="side5" gauge="normal" to="side0"/> - <Track from="side3" gauge="normal" to="side0"/> - </Tile><Tile colour="brown" id="46" name="46"> - <Track from="side1" gauge="normal" to="side5"/> - <Track from="side1" gauge="normal" to="side0"/> - <Track from="side3" gauge="normal" to="side5"/> - <Track from="side3" gauge="normal" to="side0"/> - </Tile><Tile colour="brown" id="47" name="47"> - <Track from="side3" gauge="normal" to="side0"/> - <Track from="side3" gauge="normal" to="side1"/> - <Track from="side4" gauge="normal" to="side0"/> - <Track from="side4" gauge="normal" to="side1"/> - </Tile><Tile colour="brown" id="61" name="61"> - <Station id="city1" position="0" slots="1" type="City" value="60"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side5"/> - <Track from="city1" gauge="normal" to="side0"/> - </Tile><Tile colour="brown" id="62" name="62"> - <Station id="city1" position="302" slots="2" type="City" value="80"/> - <Station id="city2" position="002" slots="2" type="City" value="80"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side4"/> - <Track from="city2" gauge="normal" to="side5"/> - <Track from="city2" gauge="normal" to="side0"/> - </Tile><Tile colour="brown" id="63" name="63"> - <Station id="city1" position="0" slots="2" type="City" value="40"/> - <Track from="city1" gauge="normal" to="side0"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city1" gauge="normal" to="side2"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side4"/> - <Track from="city1" gauge="normal" to="side5"/> - </Tile><Tile colour="brown" id="64" name="64"> - <Station id="city1" position="401" slots="1" type="City" value="50"/> - <Station id="city2" position="052" slots="1" type="City" value="50"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side5"/> - <Track from="city2" gauge="normal" to="side1"/> - <Track from="city2" gauge="normal" to="side0"/> - </Tile><Tile colour="brown" id="65" name="65"> - <Station id="city1" position="501" slots="1" type="City" value="50"/> - <Station id="city2" position="252" slots="1" type="City" value="50"/> - <Track from="city1" gauge="normal" to="side4"/> - <Track from="city1" gauge="normal" to="side0"/> - <Track from="city2" gauge="normal" to="side2"/> - <Track from="city2" gauge="normal" to="side3"/> - </Tile><Tile colour="brown" id="66" name="66"> - <Station id="city1" position="002" slots="1" type="City" value="50"/> - <Station id="city2" position="452" slots="1" type="City" value="50"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city1" gauge="normal" to="side0"/> - <Track from="city2" gauge="normal" to="side4"/> - <Track from="city2" gauge="normal" to="side5"/> - </Tile><Tile colour="brown" id="67" name="67"> - <Station id="city1" position="307" slots="1" type="City" value="50"/> - <Station id="city2" position="502" slots="1" type="City" value="50"/> - <Track from="city1" gauge="normal" to="side1"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city2" gauge="normal" to="side5"/> - <Track from="city2" gauge="normal" to="side2"/> - </Tile><Tile colour="brown" id="68" name="68"> - <Station id="city1" position="302" slots="1" type="City" value="50"/> - <Station id="city2" position="502" slots="1" type="City" value="50"/> - <Track from="city1" gauge="normal" to="side3"/> - <Track from="city2" gauge="normal" to="side2"/> - <Track from="city2" gauge="normal" to="side5"/> - <Track from="city1" gauge="normal" to="side0"/> - </Tile><Tile colour="brown" id="70" name="70"> - <Track from="side3" gauge="normal" to="side5"/> - <Track from="side3" gauge="normal" to="side4"/> - <Track from="side5" gauge="normal" to="side0"/> - <Track from="side4" gauge="normal" to="side0"/> - </Tile> <Tile colour="yellow" id="1441" name="441"> - <Station id="city1" position="0" slots="1" type="City" value="10"/> - <Track from="city1" gauge="normal" to="side3"/> - </Tile></Tiles> \ No newline at end of file diff --git a/data/GamesList.xml b/data/GamesList.xml index b502265..e7be028 100644 --- a/data/GamesList.xml +++ b/data/GamesList.xml @@ -291,23 +291,6 @@ Known Issues: <Option name="LeaveAuctionOnPass" type="toggle" default="no"/> <Option name="TwoPlayersCertLimit70Percent" type="toggle" default="yes"/> </Game> - <Game name="18JR"> - <Note>Prototype</Note> - <Description>18JR</Description> - <Players minimum="3" maximum="5" /> - <Option name="Variant" values="Basegame,Cotton Port" default="Basegame" /> - <Option name="NoMapMode" type="toggle" default="no" /> - <Option name="RouteAwareness" values="Highlight,Deactivate" default="Deactivate" /> - <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate" /> - <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> - <Option name="BeginnerGame" type="toggle" default="no" /> - <Option name="WithOptional6Train" type="toggle" default="no"/> - <Option name="UnlimitedTopTrains" parm="D" type="toggle" default="no"/> - <Option name="LeaveAuctionOnPass" type="toggle" default="no"/> - <Option name="TwoPlayersCertLimit70Percent" type="toggle" default="yes"/> - <Option name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> - - </Game> <Game name="18VA"> <Note>Prototype</Note> <Description>18VA</Description> |
From: Erik V. <ev...@us...> - 2011-10-30 20:33:12
|
LocalisedText.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 81bf33b01a64d3d74edb8fa0b46199c350b05372 Author: Erik Vos <eri...@xs...> Date: Sun Oct 30 21:32:37 2011 +0100 Fix to error message if a Right cannot be bought diff --git a/LocalisedText.properties b/LocalisedText.properties index a0dad56..fa742de 100644 --- a/LocalisedText.properties +++ b/LocalisedText.properties @@ -67,7 +67,7 @@ CANCEL=Cancel CanOperate={0} can operate this round CannotOperate={0} cannot operate this round CannotBuyAnything={0} cannot buy anything -CannotBuyRight={1} cannot buy '{1}' right for {2}: {3} +CannotBuyRight={0} cannot buy ''{1}'' right for {2}: {3} CERT_NAME={0} {1}% share CLOSE=Close CloseMinor=Close minor {0} |
From: Erik V. <ev...@us...> - 2011-10-30 20:24:09
|
rails/game/OperatingRound.java | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) New commits: commit 8dd8adf3e2da0056bb7b254f3a0d796288d73b1d Author: Erik Vos <eri...@xs...> Date: Sun Oct 30 21:16:37 2011 +0100 Fix: Buying Coalfields right is now refused if the company does not have enough cash. Reported by Charles Strong. This is the easy fix. In fact, the option to buy this right should not be offered at all if the company lacks cash, but fixing that is a bit more complex and omitted for now. diff --git a/rails/game/OperatingRound.java b/rails/game/OperatingRound.java index 23af287..458a6a7 100644 --- a/rails/game/OperatingRound.java +++ b/rails/game/OperatingRound.java @@ -1353,21 +1353,35 @@ public class OperatingRound extends Round implements Observer { protected boolean buyRight (UseSpecialProperty action) { String errMsg = null; + String rightName = ""; + String rightValue = ""; + int cost = 0; SpecialPropertyI sp = action.getSpecialProperty(); - if (!(sp instanceof SpecialRight)) { - errMsg = "Wrong right property class: "+sp.toString(); - } - SpecialRight right = (SpecialRight) sp; - String rightName = right.getName(); - String rightValue = right.getValue(); + while (true) { + if (!(sp instanceof SpecialRight)) { + errMsg = "Wrong right property class: "+sp.toString(); + break; + } + + SpecialRight right = (SpecialRight) sp; + rightName = right.getName(); + rightValue = right.getValue(); + cost = right.getCost(); + + if (cost > 0 && cost > operatingCompany.get().getCash()) { + errMsg = LocalText.getText("NoMoney"); + break; + } + break; + } if (errMsg != null) { DisplayBuffer.add(LocalText.getText("CannotBuyRight", action.getCompanyName(), rightName, - Bank.format(right.getCost()), + Bank.format(cost), errMsg)); return false; @@ -1376,12 +1390,12 @@ public class OperatingRound extends Round implements Observer { moveStack.start(true); operatingCompany.get().setRight(rightName, rightValue); - new CashMove (operatingCompany.get(), bank, right.getCost()); + if (cost > 0) new CashMove (operatingCompany.get(), bank, cost); ReportBuffer.add(LocalText.getText("BuysRight", operatingCompany.get().getName(), rightName, - Bank.format(right.getCost()))); + Bank.format(cost))); sp.setExercised(); |
From: Erik V. <ev...@us...> - 2011-10-30 17:20:38
|
data/18TN/Game.xml | 1 + data/18TN/TileSet.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) New commits: commit c631bc3e4f4873e8245bec880a4e3166da45ba39 Author: Martin Brumm <Dr....@t-...> Date: Sun Oct 30 18:18:40 2011 +0100 Fixed 18TN grey tile being not available due to error in phase definition. Also fixed wrong availability of Tile 170. diff --git a/data/18TN/Game.xml b/data/18TN/Game.xml index ff8073b..191ee87 100644 --- a/data/18TN/Game.xml +++ b/data/18TN/Game.xml @@ -122,6 +122,7 @@ <Trains rusted="4"/> </Phase> <Phase name="8"> + <Tiles colour="yellow,green,brown,grey"/> </Phase> </Component> <Component name="RevenueManager" class="rails.algorithms.RevenueManager"> diff --git a/data/18TN/TileSet.xml b/data/18TN/TileSet.xml index 1ef912f..2e0fba2 100644 --- a/data/18TN/TileSet.xml +++ b/data/18TN/TileSet.xml @@ -140,7 +140,7 @@ <Tile id="146" quantity="2" /> <Tile id="147" quantity="2" /> - <Tile id="170" quantity="170" > + <Tile id="170" quantity="2" > <Upgrade id="600" /> </Tile> |
From: Erik V. <ev...@us...> - 2011-10-27 08:15:56
|
data/1825/Game.xml | 1 + data/1826/Game.xml | 2 +- data/1830/Game.xml | 2 +- data/1835/Game.xml | 2 +- data/1851/Game.xml | 2 +- data/1856/Game.xml | 2 +- data/1870/Game.xml | 2 +- data/1880/Game.xml | 2 +- data/1889/Game.xml | 1 + data/18AL/Game.xml | 2 +- data/18EU/Game.xml | 2 +- data/18GA/Game.xml | 2 +- data/18JR/Game.xml | 2 +- data/18Kaas/Game.xml | 2 +- data/18TN/Game.xml | 2 +- data/GamesList.xml | 35 ++++++++++++++++++++++------------- rails/game/Tile.java | 5 ++++- 17 files changed, 41 insertions(+), 27 deletions(-) New commits: commit ec5c857b605051bfb7924810ce4b518af86d2ade Author: Erik Vos <eri...@xs...> Date: Thu Oct 27 10:11:08 2011 +0200 Added "Yellow Plain" value for the Unlimited Tiles game option. The default value is "Yellow Plain" for 1826 and 1851, "No" for all other games. diff --git a/data/1825/Game.xml b/data/1825/Game.xml index 545a562..7f77dff 100644 --- a/data/1825/Game.xml +++ b/data/1825/Game.xml @@ -20,6 +20,7 @@ <GameOption name="Include" parm="R3" type="toggle" default="no"/> <GameOption name="RouteAwareness" values="Highlight,Deactivate" default="Deactivate" /> <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate" /> + <GameOption name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <GameOption name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> <EndOfGame> <Bankruptcy/> diff --git a/data/1826/Game.xml b/data/1826/Game.xml index 692cb6f..50abf52 100644 --- a/data/1826/Game.xml +++ b/data/1826/Game.xml @@ -6,8 +6,8 @@ <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="UnlimitedTiles" values="No,Yellow Plain,Yes" default="Yellow Plain"/> <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> diff --git a/data/1830/Game.xml b/data/1830/Game.xml index 8cc12f3..f6c1ffe 100644 --- a/data/1830/Game.xml +++ b/data/1830/Game.xml @@ -19,10 +19,10 @@ <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="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <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"/> diff --git a/data/1835/Game.xml b/data/1835/Game.xml index 6a7f7b7..2f26bbf 100644 --- a/data/1835/Game.xml +++ b/data/1835/Game.xml @@ -6,8 +6,8 @@ <GameOption name="Variant" values="Standard,Clemens,Snake"/> <GameOption name="RouteAwareness" values="Highlight,Deactivate" default="Deactivate" /> <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate" /> + <GameOption name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <GameOption name="NoMapMode" type="toggle" default="no" /> - <GameOption name="UnlimitedTiles" type="toggle" default="no"/> <GameOption name="BYFloatsAt" values="50%,20%" default="50%"/> <GameOption name="LDIncome" values="20M,30M" default="20M"/> <GameOption name="MinorsRequireFloatedBY" type="toggle" default="no"/> diff --git a/data/1851/Game.xml b/data/1851/Game.xml index 936cf95..b11fe1f 100644 --- a/data/1851/Game.xml +++ b/data/1851/Game.xml @@ -4,8 +4,8 @@ <Game name="1851"/> <GameOption name="RouteAwareness" values="Highlight,Deactivate" default="Deactivate" /> <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate" /> + <GameOption name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="Yellow Plain"/> <GameOption name="NoMapMode" type="toggle" default="no" /> - <GameOption name="UnlimitedTiles" type="toggle" default="no"/> <GameOption name="UnlimitedTopTrains" parm="8" type="toggle" default="no"/> <GameOption name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> <GameParameters> diff --git a/data/1856/Game.xml b/data/1856/Game.xml index 4b00c6a..3a13eb9 100644 --- a/data/1856/Game.xml +++ b/data/1856/Game.xml @@ -4,9 +4,9 @@ <Game name="1856"/> <GameOption name="RouteAwareness" values="Highlight,Deactivate" default="Deactivate" /> <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate" /> + <GameOption name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <!-- <Option name="NoMapMode" type="toggle" default="no" /> --> <GameOption name="UnlimitedBonusTokens" type="toggle" default="no"/> - <GameOption name="UnlimitedTiles" type="toggle" default="no"/> <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/> <GameOption name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> <GameOption name="1856THBHomeBlocked" type="toggle" default="no" /> diff --git a/data/1870/Game.xml b/data/1870/Game.xml index 9f31b33..6ad4857 100644 --- a/data/1870/Game.xml +++ b/data/1870/Game.xml @@ -4,7 +4,7 @@ <Game name="1870"/> <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="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/> <GameParameters> <PlayerShareLimit percentage="60"> diff --git a/data/1880/Game.xml b/data/1880/Game.xml index 9123c88..1a0ff10 100644 --- a/data/1880/Game.xml +++ b/data/1880/Game.xml @@ -6,7 +6,7 @@ default="Deactivate"/> <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate"/> - <GameOption name="UnlimitedTiles" type="toggle" default="no"/> + <GameOption name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/> <GameParameters> <PlayerShareLimit percentage="100"/> diff --git a/data/1889/Game.xml b/data/1889/Game.xml index 19a5014..931d252 100644 --- a/data/1889/Game.xml +++ b/data/1889/Game.xml @@ -17,6 +17,7 @@ --> <GameOption name="RouteAwareness" values="Highlight,Deactivate" default="Deactivate" /> <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate" /> + <GameOption name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <GameOption name="NoMapMode" type="toggle" default="no" /> <GameOption name="BeginnerGame" type="toggle" default="no" /> <GameOption name="UnlimitedTopTrains" parm="D" type="toggle" default="yes"/> diff --git a/data/18AL/Game.xml b/data/18AL/Game.xml index ecef46d..fe35706 100644 --- a/data/18AL/Game.xml +++ b/data/18AL/Game.xml @@ -4,11 +4,11 @@ <Game name="18AL"/> <GameOption name="RouteAwareness" values="Highlight,Deactivate" default="Deactivate" /> <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate" /> + <GameOption name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <GameOption name="NoMapMode" type="toggle" default="no" /> <GameOption name ="18ALOptimizeNamedTrains" default="no"/> <GameOption name="UnlimitedTopTrains" parm="4D" type="toggle" default="no"/> <GameOption name="Obsolete4Trains" type="toggle" default="yes"/> - <GameOption name="UnlimitedTiles" type="toggle" default="no"/> <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/> <GameOption name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> <GameParameters> diff --git a/data/18EU/Game.xml b/data/18EU/Game.xml index 54aff6c..d8ae7ba 100644 --- a/data/18EU/Game.xml +++ b/data/18EU/Game.xml @@ -9,8 +9,8 @@ default="Deactivate"/> <GameOption name="Extra3Trains" values="0,1,2" default="0"/> <GameOption name="Extra4Trains" values="0,1" default="0"/> + <GameOption name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <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" diff --git a/data/18GA/Game.xml b/data/18GA/Game.xml index e1c5c9b..405be0b 100644 --- a/data/18GA/Game.xml +++ b/data/18GA/Game.xml @@ -9,8 +9,8 @@ default="Highlight"/> <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest"/> + <GameOption name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <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"/> diff --git a/data/18JR/Game.xml b/data/18JR/Game.xml index 8e81c11..aadd083 100644 --- a/data/18JR/Game.xml +++ b/data/18JR/Game.xml @@ -22,10 +22,10 @@ default="Deactivate"/> <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate"/> + <GameOption name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <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"/> diff --git a/data/18Kaas/Game.xml b/data/18Kaas/Game.xml index 0aa433f..75a7542 100644 --- a/data/18Kaas/Game.xml +++ b/data/18Kaas/Game.xml @@ -5,10 +5,10 @@ <GameOption name="VersionOf" parm="{MAP}" values="v1,v2" default="v2" /> <GameOption name="RouteAwareness" values="Highlight,Deactivate" default="Deactivate" /> <GameOption name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate" /> + <GameOption name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <GameOption name="18KaasRuhrgebiedDoublesOnlyMajors" type="toggle" default="yes" /> <GameOption name="NoMapMode" type="toggle" default="no" /> <GameOption name="WithOptional6Train" type="toggle" default="no"/> - <GameOption name="UnlimitedTiles" type="toggle" default="no"/> <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/> <GameOption name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> <GameParameters> diff --git a/data/18TN/Game.xml b/data/18TN/Game.xml index 7d4d118..ff8073b 100644 --- a/data/18TN/Game.xml +++ b/data/18TN/Game.xml @@ -5,7 +5,7 @@ <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="UnlimitedTiles" type="toggle" default="no"/> + <GameOption name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <GameOption name="UnlimitedTopTrains" parm="8" type="toggle" default="no"/> <GameOption name="LeaveAuctionOnPass" type="toggle" default="no"/> <GameOption name="TwoPlayersCertLimit70Percent" type="toggle" default="yes"/> diff --git a/data/GamesList.xml b/data/GamesList.xml index 9d9b161..b502265 100644 --- a/data/GamesList.xml +++ b/data/GamesList.xml @@ -31,10 +31,10 @@ Limitations: <Option name="Variant" values="Basegame,Pere Marquette,Coalfields,Reading,Coalfields&Reading,Simple,Wabash" default="Basegame" /> <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <Option name="NoMapMode" type="toggle" default="no" /> <Option name="WithOptional6Train" type="toggle" default="no"/> <Option name="UnlimitedTopTrains" parm="D" type="toggle" default="no"/> - <Option name="UnlimitedTiles" type="toggle" default="no"/> <Option name="LeaveAuctionOnPass" type="toggle" default="no"/> <Option name="TwoPlayersCertLimit70Percent" type="toggle" default="no"/> <Option name="C&ACertificate(ReadingOnly)" values="PRR,RDG" default="PRR" ></Option> @@ -52,8 +52,8 @@ Limitation: </Description> <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="Yellow Plain"/> <Option name="NoMapMode" type="toggle" default="no" /> - <Option name="UnlimitedTiles" type="toggle" default="no"/> <Option name="UnlimitedTopTrains" parm="8" type="toggle" default="no"/> <Option name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> <Players minimum="3" maximum="5"/> @@ -70,9 +70,9 @@ Limitation: </Description> <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <!-- <Option name="NoMapMode" type="toggle" default="no" /> --> <Option name="UnlimitedBonusTokens" type="toggle" default="no"/> - <Option name="UnlimitedTiles" type="toggle" default="no"/> <Option name="LeaveAuctionOnPass" type="toggle" default="no"/> <Option name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> <Option name="1856THBHomeBlocked" type="toggle" default="no" /> @@ -91,6 +91,7 @@ Limitation: <Players minimum="2" maximum="6"/> <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <Option name="NoMapMode" type="toggle" default="no" /> <Option name="BeginnerGame" type="toggle" default="no" /> <Option name="UnlimitedTopTrains" parm="D" type="toggle" default="yes"/> @@ -111,11 +112,11 @@ Limitation: </Description> <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <Option name="NoMapMode" type="toggle" default="no" /> <Option name ="18ALOptimizeNamedTrains" type="toggle" default="yes"/> <Option name="UnlimitedTopTrains" parm="4D" type="toggle" default="no"/> <Option name="Obsolete4Trains" type="toggle" default="yes"/> - <Option name="UnlimitedTiles" type="toggle" default="no"/> <Option name="LeaveAuctionOnPass" type="toggle" default="no"/> <Option name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> <Players minimum="3" maximum="5"/> @@ -134,8 +135,8 @@ Not yet implemented: <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> <Option name="Extra3Trains" values="0,1,2" default="0"/> <Option name="Extra4Trains" values="0,1" default="0"/> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <Option name="NoMapMode" type="toggle" default="no" /> - <Option name="UnlimitedTiles" type="toggle" default="no"/> <Players minimum="2" maximum="6"/> </Game> @@ -146,9 +147,9 @@ Not yet implemented: <Option name="Variant" values="Basegame,Cotton Port" default="Basegame" /> <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <Option name="NoMapMode" type="toggle" default="no" /> <Option name="UnlimitedTopTrains" parm="8" type="toggle" default="no"/> - <Option name="UnlimitedTiles" type="toggle" default="no"/> <Option name="LeaveAuctionOnPass" type="toggle" default="no"/> <Option name="TwoPlayersCertLimit70Percent" type="toggle" default="no"/> <Players minimum="2" maximum="5"/> @@ -165,11 +166,11 @@ Should work, but has not been extensively tested. Limitations as with 1830. <!-- Note: a parameter in braces {...} will be localised for display--> <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <Option name="18KaasRuhrgebiedDoublesOnlyMajors" type="toggle" default="yes" /> <Option name="NoMapMode" type="toggle" default="no" /> <Option name="WithOptional6Train" type="toggle" default="no"/> <Option name="UnlimitedTopTrains" parm="D" type="toggle" default="no"/> - <Option name="UnlimitedTiles" type="toggle" default="no"/> <Option name="LeaveAuctionOnPass" type="toggle" default="no"/> <Option name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> <Players minimum="3" maximum="6"/> @@ -184,8 +185,8 @@ Should work, but has not been extensively tested. Limitations as with 1830. </Description> <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <Option name="NoMapMode" type="toggle" default="no" /> - <Option name="UnlimitedTiles" type="toggle" default="no"/> <Option name="UnlimitedTopTrains" parm="8" type="toggle" default="no"/> <Option name="LeaveAuctionOnPass" type="toggle" default="no"/> <Option name="TwoPlayersCertLimit70Percent" type="toggle" default="no"/> @@ -210,8 +211,8 @@ Known bugs: <Option name="Variant" values="Standard,Clemens,Snake"/> <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <Option name="NoMapMode" type="toggle" default="no" /> - <Option name="UnlimitedTiles" type="toggle" default="no"/> <Option name="BYFloatsAt" values="50%,20%" default="50%"/> <Option name="LDIncome" values="20M,30M" default="20M"/> <Option name="MinorsRequireFloatedBY" type="toggle" default="no"/> @@ -228,7 +229,7 @@ All aspects not present in 1830 have not been implemented yet. </Description> <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> - <Option name="UnlimitedTiles" type="toggle" default="no"/> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <Option name="LeaveAuctionOnPass" type="toggle" default="no"/> <Players minimum="2" maximum="6"/> </Game> @@ -274,13 +275,21 @@ Known Issues: <Option name="Include" parm="R3" type="toggle" default="no"/> <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> - <Option name="UnlimitedTiles" type="toggle" default="no"/> - <Option name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> + <Option name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> </Game> <Game name="1826"> <Note>Prototype</Note> <Description>1826 - Railroading in France and Belgium from 1826</Description> <Players minimum="2" maximum="6" /> + <Option name="Variant" values="Basegame" default="Basegame" /> + <Option name="NoMapMode" type="toggle" default="no" /> + <Option name="RouteAwareness" values="Highlight,Deactivate" default="Highlight" /> + <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Suggest" /> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="Yellow Plain"/> + <Option name="UnlimitedTopTrains" parm="8" type="toggle" default="no"/> + <Option name="LeaveAuctionOnPass" type="toggle" default="no"/> + <Option name="TwoPlayersCertLimit70Percent" type="toggle" default="yes"/> </Game> <Game name="18JR"> <Note>Prototype</Note> @@ -290,10 +299,10 @@ Known Issues: <Option name="NoMapMode" type="toggle" default="no" /> <Option name="RouteAwareness" values="Highlight,Deactivate" default="Deactivate" /> <Option name="RevenueCalculation" values="Suggest,Deactivate" default="Deactivate" /> + <Option name="UnlimitedTiles" values="No,Yellow Plain,Yes" default="No"/> <Option name="BeginnerGame" type="toggle" default="no" /> <Option name="WithOptional6Train" type="toggle" default="no"/> <Option name="UnlimitedTopTrains" parm="D" type="toggle" default="no"/> - <Option name="UnlimitedTiles" type="toggle" default="no"/> <Option name="LeaveAuctionOnPass" type="toggle" default="no"/> <Option name="TwoPlayersCertLimit70Percent" type="toggle" default="yes"/> <Option name="SeparateSalesAtSamePrice" type="toggle" default="yes"/> diff --git a/rails/game/Tile.java b/rails/game/Tile.java index 10fe33c..2ef98f0 100644 --- a/rails/game/Tile.java +++ b/rails/game/Tile.java @@ -234,8 +234,11 @@ public class Tile extends ModelObject implements TileI, StationHolder, Comparabl /* Quantity */ quantity = setTag.getAttributeAsInteger("quantity", 0); /* Value '99' and '-1' mean 'unlimited' */ + /* BR: added option for unlimited plain tiles: tiles with one track and no stations */ unlimited = (quantity == 99 || quantity == UNLIMITED_TILES - || "yes".equalsIgnoreCase(setTag.getGameOptions().get("UnlimitedTiles"))); + || "yes".equalsIgnoreCase(setTag.getGameOptions().get("UnlimitedTiles")) + || ("yellow plain".equalsIgnoreCase(setTag.getGameOptions().get("UnlimitedTiles")) + && tracks.size() == 1 && stations.isEmpty())); if (unlimited) { quantity = UNLIMITED_TILES; } else { |