-
Notifications
You must be signed in to change notification settings - Fork 186
1846
General Information
Rules Clarifications
Implementation Notes
Notes on 2nd Edition Companies
Open Issues
- Designed by Thomas Lehmann
- Published by GMT Games
- Rules
- Map
- Tiles
- Market
- BoardGameGeek
- Differences from 1830
- Note that the CW&I can be placed anytime after purchase of the associated company by a corporation. This was changed in the GMT reprint.
- See the BoardGameGeek Rules Forum for more information.
- To assign the Steamboat Company marker to the Big4 and MS:
- Click the MS or Big4 charter.
- Click the appropriate tile.
- Little Miami can be used to complete a track connection between Cincinnati (H12) and Dayton (G13)
- Little Miami ignores all corporation tokens when determining if there is a connection
- there must not have already been a connection between these two cities
- to avoid repeatedly executing costly graph computations, Little Miami's ability is not automatically removed if a Cincinnati-Dayton connection is completed by other means; if a connection is made and then you try to use Little Miami, your first action will be rejected
- to keep the implementation as simple as possible, 18xx.games does not compute which tiles Little Miami could possibly lay to complete the connection; the connection is simply verified after both of Little Miami's actions have been done
Per Tom Lehmann's request, new games are created including private companies added in the 2nd Edition, Boomtown and Little Miami. The "1st Edition Private Companies" optional rule must be selected in order to exclude them.
Each of the new companies are added to one of the company groups during set up, and an additional one is removed from each group. So, it's possible for both of the new ones to be removed, and you can end up playing a 1st Edition game without having selected the 1st Edition optional rule.
All multiplayer games created on the site prior to the release of this implementation have been updated to use the 1st Edition optional rule. However, since Hotseat games exist only on the computer where they are created, we cannot automatically update those.
First, open up 18xx.games. Then, copy this script and paste it into your browser's console, and press Enter (instructions for opening up your browser console):
function add_1e_option(game_id) {
const game_data = JSON.parse(localStorage[game_id]);
if (!['1846', '1846 2p Variant'].includes(game_data.title)) {
return;
}
if (!game_data.settings.optional_rules) {
game_data.settings.optional_rules = [];
}
if (!game_data.settings.optional_rules.includes('first_ed')) {
game_data.settings.optional_rules.push('first_ed');
localStorage[game_id] = JSON.stringify(game_data);
console.log('Added optional rule "1st Edition Private Companies" to game: ' + game_id);
}
}
function remove_1e_option(game_id) {
const game_data = JSON.parse(localStorage[game_id]);
if (!['1846', '1846 2p Variant'].includes(game_data.title)) {
return;
}
if (game_data.settings.optional_rules.includes('first_ed')) {
const filter = function (value, index, array) {
return value != 'first_ed';
};
game_data.settings.optional_rules = game_data.settings.optional_rules.filter(filter)
localStorage[game_id] = JSON.stringify(game_data);
console.log('Removed optional rule "1st Edition Private Companies" from game: ' + game_id);
}
}
function fix_all_games() {
Object.entries(localStorage).forEach(function (entry) {
const game_id = entry[0];
if (game_id.match(/^hs_[a-z]+_[0-9]+$/) == null) {
return;
}
add_1e_option(game_id);
});
}
fix_all_games();
This script will add the 1st Edition optional rule to all Hotseat 1846 games in your browser, and will display the game ID for each game it modifies. If you started a Hotseat 1846 game using the 2nd Edition Companies before you ran this script, that game will have the 1st Edition optional rule added and will be broken. It can be fixed by running this command in your browser's console (replace the sample game ID here with your broken game's ID, but be sure to keep the double-quote characters):
remove_1e_option("hs_xukegukn_1620770611")