diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 07e9ebac16..6ce2a15d68 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -6,14 +6,18 @@ labels: needs triage assignees: '' --- -DO NOT PASTE THE GAME JSON! Please use [gist](https://gist.github.com/) instead. + **What's your Game ID?** + + **How to Reproduce the Bug?** + + **Which Browser / Platform?** + + \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index a421bbc88b..c52a90aad0 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,8 +1,12 @@ Fixes #[PUT_ISSUE_NUMBER_HERE] -> Please minimize the amount of changes to shared `lib/engine` code, if possible + ### Before clicking "Create" diff --git a/Makefile b/Makefile index 124948f645..063d5b5184 100644 --- a/Makefile +++ b/Makefile @@ -52,3 +52,9 @@ prod_deploy : clean $(CONTAINER_COMPOSE) run rack rake precompile && \ rsync --verbose --checksum public/assets/*.js public/assets/*.js.gz public/assets/version.json deploy@18xx:~/18xx/public/assets/ && \ ssh -l deploy 18xx "source ~/.profile && cd ~/18xx/ && git pull && make prod_rack_up_b_d" + +style: + $(CONTAINER_COMPOSE) exec rack rubocop -A + +test: + $(CONTAINER_COMPOSE) exec rack rake diff --git a/assets/app/view/create_game.rb b/assets/app/view/create_game.rb index 4425304b43..2c29b2b7bf 100644 --- a/assets/app/view/create_game.rb +++ b/assets/app/view/create_game.rb @@ -392,10 +392,14 @@ def submit return if !selected_game_or_variant && @mode != :json game_params = params - game_params[:seed] = game_params[:seed].to_i - game_params[:seed] = nil if (game_params[:seed]).zero? - return create_game(game_params) if @mode == :multi + if @mode == :multi + title = selected_game_or_variant.title + game_params[:max_players] = @max_p[title] if game_params[:max_players].to_i <= 0 + game_params[:seed] = game_params[:seed].to_i + game_params[:seed] = nil if (game_params[:seed]).zero? + return create_game(game_params) + end players = game_params .select { |k, _| k.start_with?('player_') } @@ -499,13 +503,12 @@ def update_inputs(title_change: false) max_players = (val = max_players_elm&.value.to_i).zero? ? nil : val min_players = (val = min_players_elm&.value.to_i).zero? ? nil : val end - if max_players max_players = [max_players, max_p].min + max_players = [max_players, min_p].max if selected_game_or_variant.respond_to?(:min_players) min_p = selected_game_or_variant.min_players(@optional_rules, max_players) end - max_players_elm&.value = max_players end if min_players diff --git a/assets/app/view/game/abilities.rb b/assets/app/view/game/abilities.rb index b6b0e0e519..a96d102a28 100644 --- a/assets/app/view/game/abilities.rb +++ b/assets/app/view/game/abilities.rb @@ -9,8 +9,12 @@ class Abilities < Snabberb::Component include Actionable needs :show_other_abilities, default: false, store: true + needs :combo_checkboxes, default: {}, store: false + needs :combos_only, default: false def render + return render_ability_combos(@game.round.current_entity) if @combos_only + companies = @game.companies.select do |company| company.owner && !company.closed? && @@ -56,6 +60,9 @@ def render_companies(companies) props = { on: { click: lambda do + @combo_checkboxes.each { |_, checkbox| Native(checkbox)&.elm&.checked = false } + store(:selected_combos, [], skip: true) + store(:tile_selector, nil, skip: true) store(:selected_company, @selected_company == company ? nil : company) end, @@ -80,6 +87,7 @@ def render_actions views << render_sell_company_button if actions.include?('sell_company') views << render_close_company_button if actions.include?('manual_close_company') views << render_ability_choice_buttons if actions.include?('choose_ability') + views << render_ability_combos(@selected_company) if actions.include?('lay_tile') views << h(Exchange) if actions.include?('buy_shares') views << h(Map, game: @game) if !@game.round.is_a?(Engine::Round::Operating) && (actions & %w[lay_tile place_token]).any? @@ -158,6 +166,61 @@ def render_ability_choice_buttons end h(:div, [*ability_choice_buttons]) end + + def render_ability_combos(entity) + return '' unless entity&.company? + return '' unless @game.abilities(entity, :tile_lay) + + @selected_combos ||= [] + + rendered_combos = @game.ability_combo_entities(entity).map do |company| + id = company.sym + elm_id = "#{company.id}-combine-with-#{company.sym}" + + checked = @selected_combos.include?(id) + + label_props = { + attrs: { for: elm_id }, + style: { cursor: 'pointer' }, + } + input_props = { + attrs: { + id: elm_id, + type: 'checkbox', + checked: checked, + disabled: checked ? false : !@game.valid_combos?([company, entity, *@selected_combos]), + }, + on: { + click: lambda { + if @selected_combos.include?(id) + @selected_combos.delete(id) + else + @selected_combos << id + end + + store(:selected_combos, @selected_combos, skip: false) + }, + }, + } + + h( + :div, + {}, + [ + (@combo_checkboxes[elm_id] = h('input', input_props)), + h(:label, label_props, company.name.to_s), + ], + ) + end + + return '' if rendered_combos.empty? + + h(:div, {}, [ + h(:br), + h('h4.inline', {}, 'Combine with:'), + *rendered_combos, + ]) + end end end end diff --git a/assets/app/view/game/actionable.rb b/assets/app/view/game/actionable.rb index 7b6b1e92e0..003f87fb18 100644 --- a/assets/app/view/game/actionable.rb +++ b/assets/app/view/game/actionable.rb @@ -16,6 +16,7 @@ def self.included(base) base.needs :user, store: true, default: nil base.needs :tile_selector, default: nil, store: true base.needs :selected_company, default: nil, store: true + base.needs :selected_combos, default: [], store: true base.needs :selected_corporation, default: nil, store: true base.needs :app_route, default: nil, store: true base.needs :round_history, default: nil, store: true @@ -155,6 +156,7 @@ def process_action(action) def clear_ui_state store(:selected_company, nil, skip: true) + store(:selected_combos, [], skip: true) store(:selected_corporation, nil, skip: true) store(:tile_selector, nil, skip: true) store(:selected_action_id, nil, skip: true) diff --git a/assets/app/view/game/button/buy_share.rb b/assets/app/view/game/button/buy_share.rb index e079aeff71..748de7820b 100644 --- a/assets/app/view/game/button/buy_share.rb +++ b/assets/app/view/game/button/buy_share.rb @@ -25,7 +25,10 @@ def render show_percentage = @percentages_available > 1 || (bundle.percent != bundle.corporation.share_percent && !bundle.presidents_share) reduced_price = @game.format_currency(bundle.price - @swap_share.price) if @swap_share - modified_price = step.respond_to?(:modify_purchase_price) && step.modify_purchase_price(bundle) + if step.respond_to?(:modify_purchase_price) + modified_price = step.modify_purchase_price(bundle) + modified_price = nil if bundle.price == modified_price + end text = @prefix.to_s text += " #{@partial_percent}% of" if @partial_percent diff --git a/assets/app/view/game/buy_sell_shares.rb b/assets/app/view/game/buy_sell_shares.rb index 9cef382d3e..e4370bacd9 100644 --- a/assets/app/view/game/buy_sell_shares.rb +++ b/assets/app/view/game/buy_sell_shares.rb @@ -65,6 +65,7 @@ def render_buy_shares children.concat(render_treasury_shares) children.concat(render_market_shares) children.concat(render_corporate_shares) + children.concat(render_other_player_shares) children.concat(render_shares_for_others) children.concat(render_price_protection) children.concat(render_reduced_price_shares(@ipo_shares, source: @game.ipo_name(@corporation))) @@ -133,6 +134,21 @@ def render_corporate_shares end end + def render_other_player_shares + @corporation.player_share_holders.keys.reject { |sh| sh == @current_entity }.flat_map do |sh| + shares = sh.shares_of(@corporation).select(&:buyable).group_by(&:percent).values.map(&:first) + shares.sort_by(&:percent).reverse.map do |share| + next unless @step.can_buy?(@current_entity, share.to_bundle) + + h(Button::BuyShare, + share: share, + entity: @current_entity, + percentages_available: shares.group_by(&:percent).size, + source: sh.name) + end + end + end + def render_shares_for_others return [] unless @step.respond_to?(:can_buy_for) diff --git a/assets/app/view/game/buy_token.rb b/assets/app/view/game/buy_token.rb new file mode 100644 index 0000000000..492795b516 --- /dev/null +++ b/assets/app/view/game/buy_token.rb @@ -0,0 +1,95 @@ +# frozen_string_literal: true + +require 'view/game/actionable' + +module View + module Game + module Round + class BuyToken < Snabberb::Component + include Actionable + needs :entity + needs :selected_token, default: nil, store: true + + def render + step = @game.active_step + max_price = step.max_price(@entity) + + children = [] + + children << h(:h3, 'Select token on map to purchase') + + corp_name = '' + corp_name = @selected_token.corporation.name if @selected_token + hexid = @selected_token.city.hex.id if @selected_token + + other_owner = nil + if @selected_token && (real_owner(@entity) != real_owner(@selected_token.corporation)) + other_owner = real_owner(@selected_token.corporation) + end + + children << h(:table, [ + h(:tbody, [ + h(:tr, [ + h(:td, ['Corporation:']), + h(:td, [corp_name]), + ]), + h(:tr, [ + h(:td, ['Hex:']), + h(:td, [hexid]), + ]), + ]), + ]) + + price_input = h(:input, style: { marginRight: '1rem' }, props: { + value: 1, + step: 1, + min: 1, + max: max_price, + type: 'number', + size: max_price.to_s.size, + }) + + button_click = lambda do + city = @selected_token.city + slot = city.tokens.index(@selected_token) + price = Native(price_input)[:elm][:value].to_i + buy_token = lambda do + process_action(Engine::Action::BuyToken.new( + @entity, + city: city, + slot: slot, + price: price, + )) + end + + if other_owner + check_consent(@entity, other_owner, buy_token) + else + buy_token.call + end + end + + button_props = { + attrs: { + disabled: !@selected_token, + type: :button, + }, + on: { click: button_click }, + } + buy_button = h(:button, button_props, 'Buy Token') + + children << h('div.center', ['Price: ', price_input, buy_button]) + + children << h(:h3, 'WARNING! token owned by a different player. Ask for permission to purchase.') if other_owner + + h(:div, children) + end + + def real_owner(corp) + @step.respond_to?(:real_owner) ? @step.real_owner(corp) : corp.owner + end + end + end + end +end diff --git a/assets/app/view/game/buy_trains.rb b/assets/app/view/game/buy_trains.rb index ad8fe62cb2..00425c250d 100644 --- a/assets/app/view/game/buy_trains.rb +++ b/assets/app/view/game/buy_trains.rb @@ -30,7 +30,7 @@ def render_president_contributions cheapest_train_price = if @step.respond_to?(:cheapest_train_price) @step.cheapest_train_price(@corporation) else - @depot.min_depot_price + discounted_train(@depot.min_depot_train, @depot.min_depot_price).first end cash = @corporation.cash + player.cash share_funds_required = cheapest_train_price - cash @@ -298,6 +298,29 @@ def render h('div#buy_trains', props, children) end + def discounted_train(train, price) + entity = @corporation + + if @selected_company && [@corporation, @corporation.owner].include?(@selected_company.owner) \ + && @step.respond_to?(:ability_timing) + @game.abilities(@selected_company, :train_discount, time: @step.ability_timing) do |ability| + if ability.trains.empty? || ability.trains.include?(train.name) + price = ability.discounted_price(train, price) + entity = @selected_company + end + end + elsif @step.respond_to?(:ability_timing) + # Handle a corporation having train discount ability + @game.abilities(@corporation, :train_discount, time: @step.ability_timing) do |ability| + next if ability.count + + price = ability.discounted_price(train, price) if ability.trains.empty? || ability.trains.include?(train.name) + end + end + + [@game.discard_discount(train, price), entity] + end + def from_depot(depot_trains, corporation) depot_trains.flat_map do |train| train.variants @@ -308,24 +331,7 @@ def from_depot(depot_trains, corporation) president_assist, _fee = @game.president_assisted_buy(@corporation, train, price) entity = @corporation - if @selected_company && [@corporation, @corporation.owner].include?(@selected_company.owner) \ - && @step.respond_to?(:ability_timing) - @game.abilities(@selected_company, :train_discount, time: @step.ability_timing) do |ability| - if ability.trains.include?(train.name) - price = ability.discounted_price(train, price) - entity = @selected_company - end - end - elsif @step.respond_to?(:ability_timing) - # Handle a corporation having train discount ability - @game.abilities(@corporation, :train_discount, time: @step.ability_timing) do |ability| - next if ability.count - - price = ability.discounted_price(train, price) if ability.trains.include?(train.name) - end - end - - price = @game.discard_discount(train, price) + price, entity = discounted_train(train, price) buy_train = lambda do process_action(Engine::Action::BuyTrain.new( diff --git a/assets/app/view/game/corporate_buy_sell_shares.rb b/assets/app/view/game/corporate_buy_sell_shares.rb new file mode 100644 index 0000000000..8ee20d430f --- /dev/null +++ b/assets/app/view/game/corporate_buy_sell_shares.rb @@ -0,0 +1,79 @@ +# frozen_string_literal: true + +require 'view/game/actionable' +require 'view/game/buy_sell_shares' +require 'view/game/corporation' +require 'view/game/par' + +module View + module Game + class CorporateBuySellShares < Snabberb::Component + include Actionable + + needs :selected_corporation, default: nil, store: true + needs :corporation_to_par, default: nil, store: true + + def render + @step = @game.round.active_step + @current_actions = @step.current_actions + @entity ||= @game.current_entity + children = [] + + children << h('div.margined', 'Must sell stock') if @step.respond_to?(:must_sell?) && @step.must_sell?(@current_entity) + + children.concat(render_corporations) + + h('div.margined', children.compact) + end + + def render_corporations + props = { + style: { + display: 'inline-block', + verticalAlign: 'top', + }, + } + + corporations = if @step.respond_to?(:visible_corporations) + @step.visible_corporations + else + @game.sorted_corporations.reject(&:closed?) + end + + corporations.map do |corporation| + children = [] + input = render_input(corporation) if @game.corporation_available?(corporation) + children << h(Corporation, corporation: corporation, interactive: input) + children << input if input && @selected_corporation == corporation + h(:div, props, children) + end.compact + end + + def render_input(corporation) + inputs = [ + corporation.ipoed ? h(BuySellShares, corporation: corporation) : render_pre_ipo(corporation), + ] + inputs = inputs.compact + h('div.margined_bottom', { style: { width: '20rem' } }, inputs) if inputs.any? + end + + def render_pre_ipo(corporation) + children = [] + + type = @step.ipo_type(corporation) + case type + when :par + children << h(Par, corporation: corporation) if @current_actions.include?('par') + when String + children << h(:div, type) + end + children << h(BuySellShares, corporation: corporation) + + children.compact! + return h(:div, children) unless children.empty? + + nil + end + end + end +end diff --git a/assets/app/view/game/corporation.rb b/assets/app/view/game/corporation.rb index cdf40a152f..c5cd868c28 100644 --- a/assets/app/view/game/corporation.rb +++ b/assets/app/view/game/corporation.rb @@ -384,9 +384,15 @@ def render_shares }, } - player_rows = entities_rows(@game.players, true) - - other_corp_rows = entities_rows(@game.corporations.reject { |c| c == @corporation && !c.treasury_as_holding }) + if @game.corporations_can_ipo? + player_rows = entities_rows(@game.players + @game.operating_order.reject do |c| + c == @corporation && !c.treasury_as_holding + end.sort, true) + other_corp_rows = [] + else + player_rows = entities_rows(@game.players, true) + other_corp_rows = entities_rows(@game.corporations.reject { |c| c == @corporation && !c.treasury_as_holding }) + end other_minor_rows = entities_rows(@game.minors) if @game.class::MINORS_CAN_OWN_SHARES diff --git a/assets/app/view/game/entities.rb b/assets/app/view/game/entities.rb index 00d382a769..ac1b417e08 100644 --- a/assets/app/view/game/entities.rb +++ b/assets/app/view/game/entities.rb @@ -50,7 +50,7 @@ def render h(Bank, game: @game), h(GameInfo, game: @game, layout: 'upcoming_trains'), *@game.unowned_purchasable_companies(@current_entity).map { |company| h(Company, company: company) }, - *@game.corporations.select(&:receivership?).map { |c| h(Corporation, corporation: c) }, + *@game.receivership_corporations.map { |c| h(Corporation, corporation: c) }, *extra_bank, ].compact) diff --git a/assets/app/view/game/loan_chart.rb b/assets/app/view/game/loan_chart.rb new file mode 100644 index 0000000000..128931d474 --- /dev/null +++ b/assets/app/view/game/loan_chart.rb @@ -0,0 +1,103 @@ +# frozen_string_literal: true + +# attrs frozen_string_literal: true + +require 'view/game/actionable' +require 'lib/settings' + +module View + module Game + class LoanChart < Snabberb::Component + include Actionable + include Lib::Settings + + def render + @loan_chart = @game.loan_chart + @num_rows = @loan_chart.size + @num_columns = @loan_chart[0][:loans].size + 1 + + name_style = { + padding: '1rem', + fontSize: 'large', + } + + grid_style = { + display: 'grid', + gridTemplateColumns: "repeat(#{@num_columns}, 4rem)", + gridTemplateRows: "repeat(#{@num_rows}, 4rem)", + border: 'solid 1px rgba(0,0,0,1)', + padding: '4px', + color: color_for(:font2), + width: '100%', + overflow: 'auto', + rowGap: '1px', + columnGap: '1px', + } + + contents = [] + contents << h(:div, { style: name_style }, @game.loan_entity_name) + contents << h(:div, { style: grid_style }, render_chart) + h(:div, contents) + end + + def render_chart + contents = [] + @loan_chart.each do |row| + contents << render_row_header(row[:header]) + row[:loans].each do |loan| + contents << render_loan(loan) + end + end + contents + end + + def render_row_header(label) + stock_movement_style = { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + fontSize: 'xx-large', + backgroundColor: 'gray', + } + + h(:div, { style: stock_movement_style }, label) + end + + def render_loan(loan) + return h(:div, nil) unless loan + + grid_style = { + display: 'grid', + gridTemplateRows: '30% 70%', + backgroundColor: '#DCDCDC', + } + + cell_style = { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + fontSize: 'large', + paddingTop: '5px', + paddingBottom: '5px', + } + + cube_props = { + attrs: { + src: '../icons/red_cube.svg', + title: 'cube', + }, + style: { + objectFit: 'scale-down', + width: '100%', + maxHeight: '100%', + }, + } + + contents = [] + contents << h(:div, { style: cell_style }, loan[:value]) + contents << h(:div, { style: cell_style }, [h(:img, cube_props)]) unless loan[:loan_taken] + h(:div, { style: grid_style }, contents) + end + end + end +end diff --git a/assets/app/view/game/map.rb b/assets/app/view/game/map.rb index 14ff06c629..eda85101ed 100644 --- a/assets/app/view/game/map.rb +++ b/assets/app/view/game/map.rb @@ -16,6 +16,7 @@ class Map < Snabberb::Component needs :tile_selector, default: nil, store: true needs :selected_route, default: nil, store: true needs :selected_company, default: nil, store: true + needs :selected_combos, default: nil, store: true needs :opacity, default: nil needs :show_starting_map, default: false, store: true needs :routes, default: [], store: true @@ -41,6 +42,8 @@ def render step = @game.round.active_step(@selected_company) current_entity = @selected_company || step&.current_entity + combo_entities = (@selected_combos || []).map { |id| @game.company_by_id(id) } + entity_or_entities = combo_entities.empty? ? current_entity : [current_entity, *combo_entities] actions = step&.actions(current_entity) || [] unless (laid_hexes = @historical_laid_hexes) @@ -54,7 +57,7 @@ def render routes = @historical_routes if routes.none? @hexes.map! do |hex| - clickable = @show_starting_map ? false : step&.available_hex(current_entity, hex) + clickable = @show_starting_map ? false : step&.available_hex(entity_or_entities, hex) opacity = clickable ? 1.0 : 0.5 h( Hex, @@ -84,7 +87,7 @@ def render elsif @tile_selector.hex.tile != @tile_selector.tile h(TileConfirmation, zoom: map_zoom) else - tiles = step.upgradeable_tiles(current_entity, @tile_selector.hex) + tiles = step.upgradeable_tiles(entity_or_entities, @tile_selector.hex) all_upgrades = @game.all_potential_upgrades(@tile_selector.hex.tile, selected_company: @selected_company) phase_colors = step.potential_tile_colors(current_entity, @tile_selector.hex) select_tiles = all_upgrades.map do |tile| diff --git a/assets/app/view/game/part/city_slot.rb b/assets/app/view/game/part/city_slot.rb index 823fca7a09..e40937aa01 100644 --- a/assets/app/view/game/part/city_slot.rb +++ b/assets/app/view/game/part/city_slot.rb @@ -26,6 +26,7 @@ class CitySlot < Base needs :reservation, default: nil needs :game, default: nil, store: true needs :city_render_location, default: nil + needs :selected_token, default: nil, store: true RESERVATION_FONT_SIZE = { 1 => 22, @@ -122,17 +123,22 @@ def on_click(event) entity = @selected_company || step.current_entity remove_token_step = @game.round.step_for(entity, 'remove_token') place_token_step = @game.round.step_for(entity, 'place_token') - return if !remove_token_step && !place_token_step + buy_token_step = @game.round.step_for(entity, 'buy_token') + return if !remove_token_step && !place_token_step && !buy_token_step return if @token && (!remove_token_step&.can_replace_token?(entity, @token) && - !place_token_step&.can_replace_token?(entity, @token)) && + !place_token_step&.can_replace_token?(entity, @token) && + !buy_token_step&.can_replace_token?(entity, @token)) && !(cheater = @game.abilities(entity, :token)&.cheater) && !@game.abilities(entity, :token)&.extra_slot + return if !@token && buy_token_step event.JS.stopPropagation # if remove_token and place_token is possible, remove should only be called when a token is available - if remove_token_step && (@token || !place_token_step) + if buy_token_step + store(:selected_token, @token) + elsif remove_token_step && (@token || !place_token_step) return unless @token action = Engine::Action::RemoveToken.new( diff --git a/assets/app/view/game/part/track.rb b/assets/app/view/game/part/track.rb index a9639e4dc9..d650c2ae84 100644 --- a/assets/app/view/game/part/track.rb +++ b/assets/app/view/game/part/track.rb @@ -35,6 +35,11 @@ class Track < Snabberb::Component width: 2, dash: '12', }, + future: { + color: '#888888', + width: 6, + dash: '9 3', + }, }.freeze # width here is added to track width @@ -56,6 +61,11 @@ class Track < Snabberb::Component width: 0, dash: '12', }, + future: { + color: '#00000000', + width: 0, + dash: '9 3', + }, }.freeze # width here is subtracted from track width @@ -91,7 +101,7 @@ def render # Array> @routes_paths = @routes.map { |route| route.paths_for(@tile.paths) } - paths_and_stubs = @tile.paths + @tile.stubs + paths_and_stubs = @tile.paths + @tile.stubs + @tile.future_paths path_indexes = paths_and_stubs.to_h { |p| [p, indexes_for(p)] } sorted = paths_and_stubs @@ -127,7 +137,7 @@ def render elsif path.offboard pass1 << h(TrackOffboard, offboard: path.offboard, path: path, region_use: @region_use, border_props: border_props, **props) - elsif path.track == :thin + elsif path.track == :thin || path.track == :future pass1 << h(TrackNodePath, tile: @tile, path: path, region_use: @region_use, pass: 1, border_props: border_props, inner_props: inner_props, **props) diff --git a/assets/app/view/game/player.rb b/assets/app/view/game/player.rb index eaaf8f0522..9306edbc09 100644 --- a/assets/app/view/game/player.rb +++ b/assets/app/view/game/player.rb @@ -142,6 +142,13 @@ def render_info ]) end + if @game.respond_to?(:player_loans) + trs << h(:tr, [ + h(:td, 'Loans'), + h('td.right', td_cert_props, "#{@game.player_loans(@player)}/#{@game.max_player_loans}"), + ]) + end + if @game.respond_to?(:player_interest) && @game.player_interest(@player).positive? trs << h(:tr, [ h(:td, 'Interest'), diff --git a/assets/app/view/game/round/operating.rb b/assets/app/view/game/round/operating.rb index 39cb4fcdf3..c3805f46f1 100644 --- a/assets/app/view/game/round/operating.rb +++ b/assets/app/view/game/round/operating.rb @@ -19,6 +19,7 @@ require 'view/game/route_selector' require 'view/game/cash_crisis' require 'view/game/double_head_trains' +require 'view/game/buy_token' module View module Game @@ -37,6 +38,7 @@ def render convert_track = @step.respond_to?(:conversion?) && @step.conversion? left = [] + right = [] left << h(SpecialBuy) if @current_actions.include?('special_buy') left << h(RouteSelector) if @current_actions.include?('run_routes') && !convert_track left << h(TrackConversion) if @current_actions.include?('run_routes') && convert_track @@ -46,6 +48,7 @@ def render left << h(ReassignTrains) if @current_actions.include?('reassign_trains') left << h(DoubleHeadTrains) if @current_actions.include?('double_head_trains') left << h(Choose) if @current_actions.include?('choose') + left << h(BuyToken, entity: entity) if @current_actions.include?('buy_token') if @current_actions.include?('buy_train') left << h(IssueShares) if @current_actions.include?('sell_shares') || @current_actions.include?('buy_shares') @@ -58,10 +61,13 @@ def render elsif @step.respond_to?(:cash_crisis?) && @step.cash_crisis? left << h(CashCrisis) loans_rendered = true if (%w[take_loan payoff_loan] & @current_actions).any? - elsif @current_actions.include?('buy_shares') || @current_actions.include?('sell_shares') + elsif @current_actions.include?('buy_shares') || @current_actions.include?('sell_shares') || + @current_actions.include?('ipo') if @step.respond_to?(:price_protection) && (price_protection = @step.price_protection) left << h(Corporation, corporation: price_protection.corporation) left << h(BuySellShares, corporation: price_protection.corporation) + elsif @game.corporations_can_ipo? + right << h(CorporateBuySellShares) else left << h(IssueShares) end @@ -86,6 +92,10 @@ def render elsif (company = entity).company? left << h(Company, company: company) + # render combos if blocking for a private company with + # must_lay_together=true + left << h(Game::Abilities, user: @user, game: @game, combos_only: true) + if @game.abilities(company, :assign_corporation) props = { style: { @@ -109,7 +119,6 @@ def render } aquire_company_action = @current_actions.include?('acquire_company') - right = [] right << h(Map, game: @game) unless aquire_company_action right << h(:div, div_props, [h(BuyCompanies, limit_width: true)]) if @current_actions.include?('buy_company') right << h(:div, div_props, [h(AcquireCompanies)]) if aquire_company_action diff --git a/assets/app/view/game/round/stock.rb b/assets/app/view/game/round/stock.rb index 453deec39b..e4a8bcabb5 100644 --- a/assets/app/view/game/round/stock.rb +++ b/assets/app/view/game/round/stock.rb @@ -93,7 +93,8 @@ def render_buttons buttons = [] buttons.concat(render_merge_button) if @current_actions.include?('merge') buttons.concat(render_payoff_player_debt_button) if @current_actions.include?('payoff_player_debt') - + buttons.concat(render_take_loan) if @current_actions.include?('take_loan') + buttons.concat(render_payoff_loan) if @current_actions.include?('payoff_loan') buttons.any? ? [h(:div, buttons)] : [] end @@ -406,6 +407,20 @@ def render_select_par_slot h(:div, children) end + + def render_take_loan + take_loan = lambda do + process_action(Engine::Action::TakeLoan.new(@current_entity, loan: nil)) + end + [h(:button, { on: { click: take_loan } }, "Take Loan (#{@game.format_currency(@game.loan_amount)})")] + end + + def render_payoff_loan + payoff_loan = lambda do + process_action(Engine::Action::PayoffLoan.new(@current_entity, loan: nil)) + end + [h(:button, { on: { click: payoff_loan } }, "Payoff Loan (#{@game.format_currency(@game.loan_amount)})")] + end end end end diff --git a/assets/app/view/game/stock_market.rb b/assets/app/view/game/stock_market.rb index 3ac26339d0..c7f174fbca 100644 --- a/assets/app/view/game/stock_market.rb +++ b/assets/app/view/game/stock_market.rb @@ -3,6 +3,7 @@ require 'lib/settings' require 'view/game/token' require 'view/game/par_chart' +require 'view/game/loan_chart' module View module Game @@ -63,6 +64,14 @@ class StockMarket < Snabberb::Component textAlign: 'center', }.freeze + PRICE_STYLE_INFO = { + fontSize: '80%', + textAlign: 'center', + position: 'absolute', + bottom: "#{PAD}px", + width: "#{WIDTH_TOTAL - (2 * PAD) - (2 * BORDER)}px", + }.freeze + def box_style_1d { position: 'relative', @@ -223,10 +232,11 @@ def grid_zigzag(zigzag) @game.stock_market.market.first.each_with_index do |price, idx| tokens = price.corporations.map { |corporation| h(:img, token_props(corporation)) } - element = h(:div, { style: cell_style(box_style, price.types) }, [ - h(:div, { style: PRICE_STYLE_1D }, price.price), - h(:div, { style: TOKEN_STYLE_1D }, tokens), - ]) + cell_elements = [h(:div, { style: PRICE_STYLE_1D }, price.price), + h(:div, { style: TOKEN_STYLE_1D }, tokens)] + cell_elements << h(:div, { style: PRICE_STYLE_INFO }, price.info) if price.info + + element = h(:div, { style: cell_style(box_style, price.types) }, cell_elements) if idx.even? row0 << element else @@ -396,6 +406,7 @@ def render end children << h(ParChart) if @game.respond_to?(:par_chart) + children << h(LoanChart) if @game.respond_to?(:loan_chart) h(:div, children) end diff --git a/assets/app/view/game/tile.rb b/assets/app/view/game/tile.rb index 8cceb5e562..da156c5db0 100644 --- a/assets/app/view/game/tile.rb +++ b/assets/app/view/game/tile.rb @@ -74,7 +74,9 @@ def render children = [] render_revenue = should_render_revenue? - children << render_tile_part(Part::Track, routes: @routes) if !@tile.paths.empty? || !@tile.stubs.empty? + if !@tile.paths.empty? || !@tile.stubs.empty? || !@tile.future_paths.empty? + children << render_tile_part(Part::Track, routes: @routes) + end children << render_tile_part(Part::Cities, show_revenue: !render_revenue) unless @tile.cities.empty? children << render_tile_part(Part::Towns, routes: @routes, show_revenue: !render_revenue) unless @tile.towns.empty? diff --git a/assets/app/view/game/tile_confirmation.rb b/assets/app/view/game/tile_confirmation.rb index aa534701e8..52f5f56d63 100644 --- a/assets/app/view/game/tile_confirmation.rb +++ b/assets/app/view/game/tile_confirmation.rb @@ -87,8 +87,10 @@ def lay_tile(entity, tile, hex) tile: tile, hex: hex, rotation: tile.rotation, + combo_entities: @selected_combos.map { |id| @game.company_by_id(id) }, ) store(:tile_selector, nil, skip: true) + store(:selected_combos, [], skip: true) process_action(action) end end diff --git a/assets/app/view/welcome.rb b/assets/app/view/welcome.rb index a68ea0464b..fd3746cbe6 100644 --- a/assets/app/view/welcome.rb +++ b/assets/app/view/welcome.rb @@ -17,7 +17,7 @@ def render def render_notification message = <<~MESSAGE -

18Rhl-Rhineland is now on Kickstarter.

+

1880 is now in production. 1822PNW's variants for adjusting the L/2 train roster have been fixed.

Learn how to get notifications by email, Slack, Discord, and Telegram.

Please submit problem reports and make suggestions for improvements on GitHub. Join the diff --git a/lib/engine/ability/close.rb b/lib/engine/ability/close.rb index f68e9f08bc..6306a104dd 100644 --- a/lib/engine/ability/close.rb +++ b/lib/engine/ability/close.rb @@ -5,10 +5,11 @@ module Engine module Ability class Close < Base - attr_accessor :corporation + attr_accessor :corporation, :silent - def setup(corporation: nil) + def setup(corporation: nil, silent: false) @corporation = corporation + @silent = silent end end end diff --git a/lib/engine/ability/tile_lay.rb b/lib/engine/ability/tile_lay.rb index 80a60fa234..82f15593d7 100644 --- a/lib/engine/ability/tile_lay.rb +++ b/lib/engine/ability/tile_lay.rb @@ -7,12 +7,13 @@ module Ability class TileLay < Base attr_reader :tiles, :free, :discount, :special, :connect, :blocks, :reachable, :must_lay_together, :cost, :must_lay_all, :closed_when_used_up, - :consume_tile_lay, :laid_hexes, :lay_count, :upgrade_count + :consume_tile_lay, :laid_hexes, :lay_count, :upgrade_count, :combo_entities attr_accessor :hexes def setup(tiles:, hexes: nil, free: false, discount: nil, special: nil, connect: nil, blocks: nil, reachable: nil, must_lay_together: nil, cost: 0, - closed_when_used_up: nil, must_lay_all: nil, consume_tile_lay: nil, lay_count: nil, upgrade_count: nil) + closed_when_used_up: nil, must_lay_all: nil, consume_tile_lay: nil, lay_count: nil, upgrade_count: nil, + combo_entities: nil) @hexes = hexes @tiles = tiles @free = free @@ -32,6 +33,8 @@ def setup(tiles:, hexes: nil, free: false, discount: nil, special: nil, @lay_count = lay_count @count ||= @lay_count @start_count = @count + + @combo_entities = combo_entities || [] end def use!(upgrade: false) diff --git a/lib/engine/ability/train_discount.rb b/lib/engine/ability/train_discount.rb index 0f4426963d..d575a7b288 100644 --- a/lib/engine/ability/train_discount.rb +++ b/lib/engine/ability/train_discount.rb @@ -5,7 +5,8 @@ module Engine module Ability class TrainDiscount < Base - attr_reader :discount, :trains, :closed_when_used_up + attr_accessor :discount + attr_reader :trains, :closed_when_used_up def setup(discount:, trains:, closed_when_used_up: nil) @discount = discount @@ -14,11 +15,11 @@ def setup(discount:, trains:, closed_when_used_up: nil) end def discounted_price(train, price) - return price unless @trains.include?(train.name) + return price if !@trains.empty? && !@trains.include?(train.name) discount_value = discount.is_a?(Hash) ? discount[train.name] : discount - price - (discount_value > 1 ? discount_value : (price * discount_value)) + price - (discount_value > 1 ? discount_value : (price * discount_value).floor) end end end diff --git a/lib/engine/action/buy_token.rb b/lib/engine/action/buy_token.rb new file mode 100644 index 0000000000..7f8c729494 --- /dev/null +++ b/lib/engine/action/buy_token.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +require_relative 'base' + +module Engine + module Action + class BuyToken < Base + attr_reader :city, :slot, :price + + def initialize(entity, city:, slot:, price:) + super(entity) + @city = city + @slot = slot + @price = price + end + + def self.h_to_args(h, game) + { + city: game.city_by_id(h['city']), + slot: h['slot'], + price: h['price'], + } + end + + def args_to_h + { + 'city' => @city.id, + 'slot' => @slot, + 'price' => @price, + } + end + end + end +end diff --git a/lib/engine/action/lay_tile.rb b/lib/engine/action/lay_tile.rb index 1bcb3731ac..6bb3ce55e6 100644 --- a/lib/engine/action/lay_tile.rb +++ b/lib/engine/action/lay_tile.rb @@ -5,13 +5,17 @@ module Engine module Action class LayTile < Base - attr_reader :hex, :tile, :rotation + attr_reader :hex, :tile, :rotation, :combo_entities - def initialize(entity, tile:, hex:, rotation:) + def initialize(entity, tile:, hex:, rotation:, combo_entities: []) super(entity) @hex = hex @tile = tile @rotation = rotation + + # other private companies that combined their ability with the main + # entity for this action + @combo_entities = combo_entities end def self.h_to_args(h, game) @@ -19,6 +23,7 @@ def self.h_to_args(h, game) tile: game.tile_by_id(h['tile']), hex: game.hex_by_id(h['hex']), rotation: h['rotation'], + combo_entities: (h['combo_entities'] || []).map { |id| game.company_by_id(id) }, } end @@ -27,6 +32,7 @@ def args_to_h 'hex' => @hex.id, 'tile' => @tile.id, 'rotation' => @rotation, + 'combo_entities' => @combo_entities.empty? ? nil : @combo_entities.map(&:id), } end end diff --git a/lib/engine/action/take_loan.rb b/lib/engine/action/take_loan.rb index aeb39b5fc5..83efb52f1f 100644 --- a/lib/engine/action/take_loan.rb +++ b/lib/engine/action/take_loan.rb @@ -17,7 +17,7 @@ def self.h_to_args(h, game) end def args_to_h - { 'loan' => @loan.id } + { 'loan' => @loan&.id } end end end diff --git a/lib/engine/corporation.rb b/lib/engine/corporation.rb index 59a13cb1bf..7daf849ad9 100644 --- a/lib/engine/corporation.rb +++ b/lib/engine/corporation.rb @@ -79,6 +79,7 @@ def initialize(sym:, name:, **opts) @price_percent = opts[:price_percent] || @second_share&.percent || (@presidents_share.percent / 2) @price_multiplier = (@second_share&.percent || (@presidents_share.percent / 2)) / @price_percent @treasury_as_holding = opts[:treasury_as_holding] || false + @corporation_can_ipo = opts[:corporation_can_ipo] init_abilities(opts[:abilities]) init_operator(opts) @@ -168,7 +169,7 @@ def share_holders def player_share_holders(corporate: false) share_holders.select do |s_h, _| - s_h.player? || (corporate && s_h.corporation? && s_h != self) + s_h.player? || ((corporate || @corporation_can_ipo) && s_h.corporation? && s_h != self) end end @@ -276,6 +277,21 @@ def share_percent @forced_share_percent || @second_share&.percent || (presidents_percent / 2) end + # avoid infinite recursion for 1841 + def player + chain = { owner => true } + current = owner + while current&.corporation? + return nil unless current&.owner # unowned corp + + current = current.owner + return nil if chain[current] # cycle detected + + chain[current] = true + end + current&.player? ? current : current&.player + end + def closed? @closed end diff --git a/lib/engine/game/base.rb b/lib/engine/game/base.rb index 7f7bbccbd5..0dcd3b00cb 100644 --- a/lib/engine/game/base.rb +++ b/lib/engine/game/base.rb @@ -210,6 +210,7 @@ class Base TRAIN_CLASS = Train DEPOT_CLASS = Depot + PLAYER_CLASS = Player MINORS = [].freeze @@ -250,6 +251,7 @@ class Base DISCARDED_TRAINS = :discard # discard or remove DISCARDED_TRAIN_DISCOUNT = 0 # percent CLOSED_CORP_TRAINS_REMOVED = true + CLOSED_CORP_TOKENS_REMOVED = true CLOSED_CORP_RESERVATIONS_REMOVED = true MUST_BUY_TRAIN = :route # When must the company buy a train if it doesn't have one (route, never, always) @@ -339,6 +341,8 @@ class Base CORPORATE_BUY_SHARE_SINGLE_CORP_ONLY = false CORPORATE_BUY_SHARE_ALLOW_BUY_FROM_PRESIDENT = false + BUY_SHARE_FROM_OTHER_PLAYER = false + VARIABLE_FLOAT_PERCENTAGES = false # whether corporation cards should show percentage ownership breakdown for players @@ -384,6 +388,13 @@ def init_optional_rules(optional_rules) optional_rules end + def check_optional_rules! + min_players = @players.size + max_players = @players.size + error_string = meta.check_options(@optional_rules, min_players, max_players)&.[](:error) + raise OptionError, error_string if error_string + end + def setup_optional_rules; end def log_optional_rules @@ -499,7 +510,7 @@ def initialize(names, id: 0, actions: [], at_action: nil, pin: nil, strict: fals names.to_h { |n| [n, n] } end - @players = @names.map { |player_id, name| Player.new(player_id, name) } + @players = @names.map { |player_id, name| self.class::PLAYER_CLASS.new(player_id, name) } @user = user @programmed_actions = Hash.new { |h, k| h[k] = [] } @round_counter = 0 @@ -568,8 +579,9 @@ def initialize(names, id: 0, actions: [], at_action: nil, pin: nil, strict: fals init_company_abilities - setup_optional_rules + check_optional_rules! log_optional_rules + setup_optional_rules setup @round.setup @@ -1131,12 +1143,12 @@ def sellable_turn? self.class::SELL_AFTER == :first ? (@turn > 1 || !@round.stock?) : true end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) corporation = bundle.corporation old_price = corporation.share_price was_president = corporation.president?(bundle.owner) @share_pool.sell_shares(bundle, allow_president_change: allow_president_change, swap: swap) - case self.class::SELL_MOVEMENT + case movement || self.class::SELL_MOVEMENT when :down_share bundle.num_shares.times { @stock_market.move_down(corporation) } when :down_per_10 @@ -1575,12 +1587,12 @@ def tile_cost_with_discount(_tile, hex, entity, spender, cost) cost - discount end - def log_cost_discount(spender, ability, discount) + def log_cost_discount(spender, abilities, discount) return unless discount.positive? @log << "#{spender.name} receives a discount of "\ "#{format_currency(discount)} from "\ - "#{ability.owner.name}" + "#{Array(abilities).map { |a| a.owner.name }.join(', ')}" end def declare_bankrupt(player) @@ -1697,7 +1709,7 @@ def close_corporation(corporation, quiet: false) hexes.each do |hex| hex.tile.cities.each do |city| - city.tokens.select { |t| t&.corporation == corporation }.each(&:remove!) + city.tokens.select { |t| t&.corporation == corporation }.each(&:remove!) if self.class::CLOSED_CORP_TOKENS_REMOVED if self.class::CLOSED_CORP_RESERVATIONS_REMOVED && city.reserved_by?(corporation) city.reservations.delete(corporation) @@ -1841,6 +1853,8 @@ def close_companies_on_event!(entity, event) next if entity&.name != ability.corporation company.close! + next if ability.silent + @log << "#{company.name} closes" end end @@ -1915,6 +1929,38 @@ def abilities(entity, type = nil, time: nil, on_phase: nil, passive_ok: nil, str active_abilities end + # Returns list of companies which can combo with the given company. + # Currently only combos with :tile_lay abilities are supported. + def ability_combo_entities(entity) + return [] unless entity.company? + + Array(abilities(entity, :tile_lay)).each_with_object([]) do |ability, companies| + ability.combo_entities.each do |id| + company = company_by_id(id) + next unless company.owner == entity.corporation + next unless abilities(company, :tile_lay) + + companies << company + end + end + end + + def valid_combos?(companies) + return true if companies.size < 2 + + # some of the companies are just IDs when passed from the abilities view + companies = companies.map do |company| + company.is_a?(String) ? company_by_id(company) : company + end + + # for each company, check that it combos with the companies after it in + # the array + companies.to_enum.with_index.all? do |company, index| + combos = ability_combo_entities(company) + companies[(index + 1)..].all? { |c| combos.include?(c) } + end + end + def entity_can_use_company?(_entity, _company) true end @@ -2145,6 +2191,22 @@ def corporation_show_interest? def after_buying_train(train, source); end + def sold_shares_destination(_entity) + self.class::SOLD_SHARES_DESTINATION + end + + def corporations_can_ipo? + false + end + + def possible_presidents + players.reject(&:bankrupt) + end + + def receivership_corporations + corporations.select(&:receivership?) + end + private def init_graph @@ -2909,9 +2971,9 @@ def ability_right_time?(ability, time, on_phase, passive_ok, strict_time) when 'owning_corp_or_turn' @round.operating? && @round.current_operator == ability.corporation when 'owning_player_or_turn' - @round.operating? && @round.current_operator.player == ability.player + @round.operating? && @round.current_operator&.player == ability.player when 'owning_player_track' - @round.operating? && @round.current_operator.player == ability.player && current_step.is_a?(Step::Track) + @round.operating? && @round.current_operator&.player == ability.player && current_step.is_a?(Step::Track) when 'owning_player_sr_turn' @round.stock? && @round.current_entity == ability.player when 'or_between_turns' diff --git a/lib/engine/game/g_1817/game.rb b/lib/engine/game/g_1817/game.rb index 607cb2a11c..3d98a730b6 100644 --- a/lib/engine/game/g_1817/game.rb +++ b/lib/engine/game/g_1817/game.rb @@ -560,7 +560,7 @@ def close_bank_shorts end end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) super close_market_shorts end diff --git a/lib/engine/game/g_1817/meta.rb b/lib/engine/game/g_1817/meta.rb index b164331c89..0417730191 100644 --- a/lib/engine/game/g_1817/meta.rb +++ b/lib/engine/game/g_1817/meta.rb @@ -35,7 +35,7 @@ module Meta }, { sym: :volatility, - short_name: 'Volatility Expansion (Alpha)', + short_name: 'Volatility Expansion', desc: '13 additional private companies and a modified initial auction', }, ].freeze diff --git a/lib/engine/game/g_1817/step/buy_sell_par_shares.rb b/lib/engine/game/g_1817/step/buy_sell_par_shares.rb index 71c8795929..4a4e6cb1b3 100644 --- a/lib/engine/game/g_1817/step/buy_sell_par_shares.rb +++ b/lib/engine/game/g_1817/step/buy_sell_par_shares.rb @@ -331,6 +331,9 @@ def use_on_assign_abilities(company) @game.abilities(company, :additional_token) do |ability| corporation.tokens << Engine::Token.new(corporation) ability.use! + @log << "#{corporation.name} acquires additonal token from #{company.name}" + @log << "#{company.name} closes" + company.close! end end diff --git a/lib/engine/game/g_1817/step/share_buying_with_shorts.rb b/lib/engine/game/g_1817/step/share_buying_with_shorts.rb index 8612dcc702..559e628a1e 100644 --- a/lib/engine/game/g_1817/step/share_buying_with_shorts.rb +++ b/lib/engine/game/g_1817/step/share_buying_with_shorts.rb @@ -10,6 +10,7 @@ module ShareBuyingWithShorts # def can_gain?(entity, bundle, exchange: false) return if !bundle || !entity + return if bundle.owner&.player? corporation = bundle.corporation diff --git a/lib/engine/game/g_1822/entities.rb b/lib/engine/game/g_1822/entities.rb index ee9bffc61b..ce876e2701 100644 --- a/lib/engine/game/g_1822/entities.rb +++ b/lib/engine/game/g_1822/entities.rb @@ -33,12 +33,13 @@ module Entities { type: 'tile_lay', owner_type: 'corporation', - when: 'track', + when: %w[track special_track], count: 1, reachable: true, closed_when_used_up: true, hexes: [], tiles: %w[7 8 9 80 81 82 83 544 545 546 60 169], + combo_entities: %w[P8 P10 P11 P12], }, ], color: nil, @@ -169,7 +170,8 @@ module Entities reachable: true, free: true, special: false, - when: 'track', + when: %w[track special_track], + combo_entities: %w[P2 P12], }, { type: 'tile_discount', @@ -212,12 +214,13 @@ module Entities { type: 'tile_lay', owner_type: 'corporation', - when: 'track', + when: %w[track special_track], count: 2, reachable: true, closed_when_used_up: true, hexes: [], tiles: [], + combo_entities: %w[P2 P11 P12], }, { type: 'tile_discount', @@ -244,12 +247,13 @@ module Entities { type: 'tile_lay', owner_type: 'corporation', - when: 'track', + when: %w[track special_track], count: 1, reachable: true, closed_when_used_up: true, hexes: [], tiles: %w[80 81 82 83 544 545 546 60 169 141 142 143 144 767 768 769 X17], + combo_entities: %w[P2 P10 P12], }, ], color: nil, @@ -276,6 +280,7 @@ module Entities closed_when_used_up: true, hexes: [], tiles: [], + combo_entities: %w[P2 P8 P10 P11], }, ], color: nil, diff --git a/lib/engine/game/g_1822/step/buy_sell_par_shares.rb b/lib/engine/game/g_1822/step/buy_sell_par_shares.rb index 0b7a19f558..e17b609907 100644 --- a/lib/engine/game/g_1822/step/buy_sell_par_shares.rb +++ b/lib/engine/game/g_1822/step/buy_sell_par_shares.rb @@ -81,6 +81,7 @@ def can_buy_any_from_ipo?(entity) def can_gain?(entity, bundle, exchange: false) return if !bundle || !entity + return if bundle.owner&.player? corporation = bundle.corporation corporation.holding_ok?(entity, bundle.percent) && diff --git a/lib/engine/game/g_1822/step/special_track.rb b/lib/engine/game/g_1822/step/special_track.rb index 42762f28e3..bb4275c5d3 100644 --- a/lib/engine/game/g_1822/step/special_track.rb +++ b/lib/engine/game/g_1822/step/special_track.rb @@ -26,6 +26,10 @@ def description def process_lay_tile(action) old_tile = action.hex.tile entity = action.entity + entities = [entity, *action.combo_entities] + + raise GameError, "Cannot combine #{entities.map(&:id).join('+')}" unless @game.valid_combos?(entities) + ability = abilities(entity) spender = if !entity.owner nil @@ -38,9 +42,10 @@ def process_lay_tile(action) minor_single_use = false - if @game.company_ability_extra_track?(entity) + if entities.any? { |e| @game.company_ability_extra_track?(e) } upgraded_extra_track = upgraded_track?(action.hex.tile, action.tile, action.hex) - if upgraded_extra_track && @extra_laided_track && abilities(action.entity).consume_tile_lay + consume_tile_lay = entities.flat_map(&:all_abilities).find { |a| a.type == :tile_lay && a.consume_tile_lay } + if upgraded_extra_track && @extra_laided_track && consume_tile_lay raise GameError, 'Cannot lay an extra upgrade' end @@ -57,16 +62,20 @@ def process_lay_tile(action) end @in_process = false @game.after_lay_tile(action.hex, old_tile, action.tile) - ability.use!(upgrade: %i[green brown gray].include?(action.tile.color)) - ability.use! if minor_single_use - if ability.type == :tile_lay - if ability.count <= 0 && ability.closed_when_used_up - @log << "#{ability.owner.name} closes" - ability.owner.close! + active_abilities = [ability, *action.combo_entities.map { |e| e.all_abilities.find { |a| a.type == :tile_lay } }] + active_abilities.each do |ability_| + ability_.use!(upgrade: %i[green brown gray].include?(action.tile.color)) + ability_.use! if minor_single_use + + next unless ability_.type == :tile_lay + + if ability_.count <= 0 && ability_.closed_when_used_up + @log << "#{ability_.owner.name} closes" + ability_.owner.close! end - handle_extra_tile_lay_company(ability, action.entity) + handle_extra_tile_lay_company(ability_, ability_.owner) end return unless ability.type == :teleport @@ -74,7 +83,17 @@ def process_lay_tile(action) @round.teleported = ability.owner end - def available_hex(entity, hex) + def process_pass(action) + super + @log << "#{action.entity.name} closes" + action.entity.close! + end + + def available_hex(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + return unless (ability = abilities(entity)) return if !ability.hexes&.empty? && !ability.hexes&.include?(hex.id) return @game.hex_by_id(hex.id).neighbors.keys if ability.type == :teleport @@ -83,35 +102,37 @@ def available_hex(entity, hex) connected = hex_neighbors(operator, hex) return nil unless connected - return connected if @game.company_ability_extra_track?(entity) return connected if entity.id == @game.class::COMPANY_HSBC - tile_lay = get_tile_lay(operator) - return nil unless tile_lay - - color = hex.tile.color - return nil if color == :white && !tile_lay[:lay] - return nil if color != :white && !tile_lay[:upgrade] - return nil if color != :white && tile_lay[:cannot_reuse_same_hex] && @round.laid_hexes.include?(hex) + if (tile_lay = get_tile_lay(operator)) && (tile_lay[:lay] || tile_lay[:upgrade]) + color = hex.tile.color + return nil if color == :white && !tile_lay[:lay] + return nil if color != :white && !tile_lay[:upgrade] + return nil if color != :white && tile_lay[:cannot_reuse_same_hex] && @round.laid_hexes.include?(hex) + else + # P12 gives extra tile lay + return nil unless entities.any? { |e| @game.company_ability_extra_track?(e) } + end - # Middleton Railway can only lay track on hexes with one town - return nil if @game.must_remove_town?(entity) && (hex.tile.towns.empty? || hex.tile.towns.size > 1) + # P2 Middleton Railway can only lay track on hexes with one town + # (town remover) + return nil if entities.any? { |e| @game.must_remove_town?(e) } && (hex.tile.towns.empty? || hex.tile.towns.size > 1) # P11 Bristol & Exeter Railway can only lay track on plain hexes or # with one town, and on the phase's latest color (advanced tile lay) - if @game.can_only_lay_plain_or_towns?(entity) && + if entities.any? { |e| @game.can_only_lay_plain_or_towns?(e) } && @game.class::TRACK_PLAIN.none?(hex.tile.name) && @game.class::TRACK_TOWN.none?(hex.tile.name) return nil end - if @game.can_upgrade_one_phase_ahead?(entity) && - @game.phase.tiles.last != hex.tile.color + if entities.any? { |e| @game.can_upgrade_one_phase_ahead?(e) } && + hex.tile.color != @game.phase.tiles.last return nil end # P8 Edinburgh and Glasgow Railway company can # only lay track on hills and mountains - if @game.must_be_on_terrain?(entity) + if entities.any? { |e| @game.must_be_on_terrain?(e) } tile_terrain = hex.tile.upgrades.any? do |upgrade| %i[mountain hill].any? { |t| upgrade.terrains.include?(t) } end @@ -120,16 +141,23 @@ def available_hex(entity, hex) # P10 Glasgow and South-Western Railway's tile lay ability must be # on an estuary - return nil if @game.must_be_on_estuary?(entity) && hex.tile.borders.none? { |b| b.type.to_s == 'water' } + if entities.any? { |e| @game.must_be_on_estuary?(e) } && hex.tile.borders.none? { |b| b.type.to_s == 'water' } + return nil + end + # unless otherwise specified and returned, private must be connected connected end - def legal_tile_rotation?(entity, hex, tile) + def legal_tile_rotation?(entity_or_entities, hex, tile) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + return tile.rotation.zero? if entity.id == @game.class::COMPANY_LCDR && hex.name == @game.class::ENGLISH_CHANNEL_HEX # check for P2 (Remove Town) - return legal_tile_rotation_remove_town?(entity.owner, hex, tile) if @game.must_remove_town?(entity) + return legal_tile_rotation_remove_town?(entity.owner, hex, tile) if entities.any? { |e| @game.must_remove_town?(e) } super end @@ -148,16 +176,37 @@ def legal_tile_rotation_remove_town?(entity, hex, tile) end def old_paths_are_preserved(old_paths, new_paths) - # We are removing a town, just check the exits + # We are removing a town (P2), just check the exits old_exits = old_paths.flat_map(&:exits).uniq new_exits = new_paths.flat_map(&:exits).uniq (old_exits - new_exits).empty? end - def potential_tiles(entity, hex) + def potential_tiles(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *combo_entities = entities + return [] unless (tile_ability = abilities(entity)) - return super if tile_ability.tiles.empty? + tile_abilities = [ + tile_ability, + *combo_entities.map { |e| e.all_abilities.find { |a| a.type == :tile_lay } }, + ] + + use_default = true + + tile_abilities.each_with_object([]) do |tile_ability_, tiles| + if use_default && !tile_ability_.tiles.empty? + use_default = false + tiles.clear + end + ability_tiles = use_default ? super : potential_tiles_for_entity(tile_ability_.owner, hex, tile_ability_) + tiles.concat(ability_tiles) + end + end + + def potential_tiles_for_entity(entity, hex, tile_ability) advanced_tile_lay = @game.can_upgrade_one_phase_ahead?(entity) return [] if advanced_tile_lay && entity.owner.type == :minor && !hex.tile.color == :yellow @@ -182,8 +231,9 @@ def abilities(entity, **kwargs, &block) tile = @game.hex_by_id(@game.class::ENGLISH_CHANNEL_HEX).tile city = tile.cities.first phase_color = @game.phase.current[:tiles].last - # London, Chatham and Dover Railway may only use its tilelay option if all slots is taken and an - # upgrade can make a slot available. this is green to brown, and brown to grey + # P5 London, Chatham and Dover Railway may only use its tile_lay + # option if all slots is taken and an upgrade can make a slot + # available. this is green to brown, and brown to grey return if city.available_slots.positive? || @game.exchange_tokens(entity.owner).zero? || (tile.color == :green && !%i[brown gray].include?(phase_color)) || diff --git a/lib/engine/game/g_1822/step/track.rb b/lib/engine/game/g_1822/step/track.rb index 434bb7474a..1a44a5c73a 100644 --- a/lib/engine/game/g_1822/step/track.rb +++ b/lib/engine/game/g_1822/step/track.rb @@ -56,7 +56,11 @@ def process_lay_tile(action) @game.after_lay_tile(action.hex, old_tile, action.tile) end - def available_hex(entity, hex) + def available_hex(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + connected = hex_neighbors(entity, hex) return nil unless connected diff --git a/lib/engine/game/g_1822/step/tracker.rb b/lib/engine/game/g_1822/step/tracker.rb index 2967267e1f..cc1ee05b56 100644 --- a/lib/engine/game/g_1822/step/tracker.rb +++ b/lib/engine/game/g_1822/step/tracker.rb @@ -29,7 +29,11 @@ def get_tile_lay_corporation(entity) super end - def legal_tile_rotation?(entity, hex, tile) + def legal_tile_rotation?(entity_or_entities, hex, tile) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + # We will remove a town from the white S tile, this meaning we will not follow the normal path upgrade rules if hex.name == @game.class::UPGRADABLE_S_HEX_NAME && tile.name == @game.class::UPGRADABLE_S_YELLOW_CITY_TILE && @@ -41,7 +45,11 @@ def legal_tile_rotation?(entity, hex, tile) super(operator, hex, tile) end - def potential_tiles(entity, hex) + def potential_tiles(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + colors = if entity.corporation? && entity.type == :minor && @game.phase.status.include?('minors_green_upgrade') @game.class::MINOR_GREEN_UPGRADE @@ -55,7 +63,11 @@ def potential_tiles(entity, hex) .reject(&:blocks_lay) end - def remove_border_calculate_cost!(tile, entity, spender) + def remove_border_calculate_cost!(tile, entity_or_entities, spender) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + hex = tile.hex types = [] total_cost = tile.borders.dup.sum do |border| @@ -70,14 +82,15 @@ def remove_border_calculate_cost!(tile, entity, spender) cost - border_cost_discount(entity, spender, border, cost, hex) end - # If we use the Glasgow and South-Western Railway private, it removes the border cost of one estuary crossing - if entity.id == @game.class::COMPANY_GSWR + # P10 Glasgow and South-Western Railway private removes the border + # cost of one estuary crossing + if entities.any? { |e| e.id == @game.class::COMPANY_GSWR } raise GameError, 'Must lay tile with one path over an estuary crossing' if total_cost.zero? total_cost -= @game.class::COMPANY_GSWR_DISCOUNT end - # If we use the Humber Suspension Bridge Company private, it must point into a estuary crossing + # P21 Humber Suspension Bridge Company private must point into a estuary crossing if entity.id == @game.class::COMPANY_HSBC && total_cost.zero? raise GameError, 'Must lay tile with one path over the Hull / Grimsby estuary' end diff --git a/lib/engine/game/g_1822_mx/entities.rb b/lib/engine/game/g_1822_mx/entities.rb index 2715cad4d5..2512a7bd60 100644 --- a/lib/engine/game/g_1822_mx/entities.rb +++ b/lib/engine/game/g_1822_mx/entities.rb @@ -134,12 +134,13 @@ module Entities { type: 'tile_lay', owner_type: 'corporation', - when: 'track', + when: %w[track special_track], count: 1, reachable: true, closed_when_used_up: true, hexes: [], tiles: %w[80 81 82 83 544 545 546 60 169 141 142 143 144 767 768 769 X17], + combo_entities: %w[P9 P12 P13], }, ], color: nil, @@ -168,6 +169,7 @@ module Entities hexes: [], tiles: [], consume_tile_lay: false, + combo_entities: %w[P8 P12 P13], }, ], color: nil, @@ -238,12 +240,13 @@ module Entities { type: 'tile_lay', owner_type: 'corporation', - when: 'track', + when: %w[track special_track], count: 1, reachable: true, closed_when_used_up: true, hexes: [], tiles: %w[7 8 9 80 81 82 83 544 545 546 60 169], + combo_entities: %w[P8 P9], }, ], color: nil, @@ -264,12 +267,13 @@ module Entities { type: 'tile_lay', owner_type: 'corporation', - when: 'track', + when: %w[track special_track], count: 1, reachable: true, closed_when_used_up: true, hexes: [], tiles: %w[7 8 9 80 81 82 83 544 545 546 60 169], + combo_entities: %w[P8 P9], }, ], color: nil, diff --git a/lib/engine/game/g_1822_mx/game.rb b/lib/engine/game/g_1822_mx/game.rb index 3f69e53da1..899f16af47 100644 --- a/lib/engine/game/g_1822_mx/game.rb +++ b/lib/engine/game/g_1822_mx/game.rb @@ -508,7 +508,7 @@ def event_close_ndem! @round.entities.insert(@round.entity_index + 1, ndem) end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) return super unless bundle.corporation == corporation_by_id('NDEM') @share_pool.sell_shares(bundle, allow_president_change: false, swap: swap) diff --git a/lib/engine/game/g_1822_mx/step/special_track.rb b/lib/engine/game/g_1822_mx/step/special_track.rb index b4d135f564..08b727742c 100644 --- a/lib/engine/game/g_1822_mx/step/special_track.rb +++ b/lib/engine/game/g_1822_mx/step/special_track.rb @@ -9,7 +9,11 @@ module Step class SpecialTrack < Engine::Game::G1822::Step::SpecialTrack PORT_TILES = %w[P1-0 P2-0].freeze - def potential_tiles(entity, hex) + def potential_tiles(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + if @game.port_company?(entity) return [] if PORT_TILES.include?(hex.tile.id) @@ -27,7 +31,11 @@ def potential_tiles(entity, hex) tiles end - def legal_tile_rotation?(entity, hex, tile) + def legal_tile_rotation?(entity_or_entities, hex, tile) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + return hex.tile.paths[0].exits == tile.exits if @game.port_company?(entity) return true if @game.cube_company?(entity) return true if tile.id == 'BC-0' @@ -52,7 +60,11 @@ def abilities(entity, **kwargs, &block) nil end - def available_hex(entity, hex) + def available_hex(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + if @game.port_company?(entity) return [hex.tile.exits] if hex.tile.color == :blue && !PORT_TILES.include?(hex.tile.id) diff --git a/lib/engine/game/g_1822_mx/step/track.rb b/lib/engine/game/g_1822_mx/step/track.rb index 788873be23..e805f9f082 100644 --- a/lib/engine/game/g_1822_mx/step/track.rb +++ b/lib/engine/game/g_1822_mx/step/track.rb @@ -48,7 +48,7 @@ def pass! end end - def potential_tiles(entity, hex) + def potential_tiles(entity_or_entities, hex) tiles = super if @game.can_hold_builder_cubes?(hex.tile) cube_tile = @game.tile_by_id('BC-0') @@ -57,7 +57,11 @@ def potential_tiles(entity, hex) tiles end - def legal_tile_rotation?(entity, hex, tile) + def legal_tile_rotation?(entity_or_entities, hex, tile) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + return true if hex.tile.name == tile.name && hex.tile.rotation == tile.rotation return true if tile.id == 'BC-0' return hex.tile.paths[0].exits == tile.exits if @game.port_company?(entity) @@ -83,7 +87,11 @@ def process_lay_tile(action) end end - def available_hex(entity, hex) + def available_hex(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + return hex_neighbors(entity, hex) if @game.can_hold_builder_cubes?(hex.tile) super diff --git a/lib/engine/game/g_1822_pnw/entities.rb b/lib/engine/game/g_1822_pnw/entities.rb index 04c94f552e..c65b0f1edb 100644 --- a/lib/engine/game/g_1822_pnw/entities.rb +++ b/lib/engine/game/g_1822_pnw/entities.rb @@ -118,12 +118,13 @@ module Entities { type: 'tile_lay', owner_type: 'corporation', - when: 'track', + when: %w[track special_track], count: 1, reachable: true, closed_when_used_up: true, hexes: [], tiles: %w[7 8 9 80 81 82 83 544 545 546 60 169], + combo_entities: %w[P11], }, ], color: nil, @@ -144,12 +145,13 @@ module Entities { type: 'tile_lay', owner_type: 'corporation', - when: 'track', + when: %w[track special_track], count: 1, reachable: true, closed_when_used_up: true, hexes: [], tiles: %w[7 8 9 80 81 82 83 544 545 546 60 169], + combo_entities: %w[P11], }, ], color: nil, @@ -219,6 +221,7 @@ module Entities closed_when_used_up: true, hexes: [], tiles: [], + combo_entities: %w[P7 P8], }, ], color: nil, diff --git a/lib/engine/game/g_1822_pnw/game.rb b/lib/engine/game/g_1822_pnw/game.rb index 531a43eecb..91dad6ed28 100644 --- a/lib/engine/game/g_1822_pnw/game.rb +++ b/lib/engine/game/g_1822_pnw/game.rb @@ -569,6 +569,14 @@ def setup_game_specific setup_tokencity_tiles end + def setup_optional_rules + if @optional_rules&.include?(:remove_three_ls) + remove_l_trains(3) + elsif @optional_rules&.include?(:remove_two_ls) + remove_l_trains(2) + end + end + def remove_l_trains(num_trains) @log << "#{num_trains} L/2 train(s) have been discarded" num_trains.times { @depot.remove_train(@depot.upcoming.first) } diff --git a/lib/engine/game/g_1822_pnw/meta.rb b/lib/engine/game/g_1822_pnw/meta.rb index 02f7d99813..007b1077f3 100644 --- a/lib/engine/game/g_1822_pnw/meta.rb +++ b/lib/engine/game/g_1822_pnw/meta.rb @@ -23,26 +23,21 @@ module Meta PLAYER_RANGE = [3, 5].freeze OPTIONAL_RULES = [ { - sym: :one_less_l, - short_name: 'One less L/2 train', - desc: 'Game starts with one less L/2 train (Playtest Trial)', + sym: :remove_two_ls, + short_name: 'Remove two L/2 trains', }, { - sym: :two_less_ls, - short_name: 'Two less L/2 trains', - desc: 'Game starts with two less L/2 trains. Takes priority over earlier options. (Playtest Trial)', - }, - { - sym: :three_less_ls, - short_name: 'Three less L/2 trains', - desc: 'Game starts with three less L/2 trains. Takes priority over earlier options. (Playtest Trial)', - }, - { - sym: :four_less_ls, - short_name: 'Four less L/2 trains', - desc: 'Game starts with four less L/2 trains. Takes priority over earlier options. (Playtest Trial)', + sym: :remove_three_ls, + short_name: 'Remove three L/2 trains', }, ].freeze + + def self.check_options(options, _min_players, _max_players) + optional_rules = (options || []).map(&:to_sym) + return if !optional_rules.include?(:remove_two_ls) || !optional_rules.include?(:remove_three_ls) + + { error: 'Cannot use both L/2 Train Roster Adjustment Variants' } + end end end end diff --git a/lib/engine/game/g_1822_pnw/step/special_track.rb b/lib/engine/game/g_1822_pnw/step/special_track.rb index 21ba0f1f4c..580e10eaa2 100644 --- a/lib/engine/game/g_1822_pnw/step/special_track.rb +++ b/lib/engine/game/g_1822_pnw/step/special_track.rb @@ -20,7 +20,11 @@ def setup @round.num_laid_portage = 0 end - def available_hex(entity, hex) + def available_hex(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + if @game.port_company?(entity) return nil unless abilities(entity).hexes.include?(hex.id) return [hex.tile.exits] if hex.tile.color == :blue && !PORT_TILES.include?(hex.tile.id) @@ -38,7 +42,11 @@ def available_hex(entity, hex) super end - def potential_tiles(entity, hex) + def potential_tiles(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + if @game.port_company?(entity) return [] if PORT_TILES.include?(hex.tile.id) @@ -58,7 +66,11 @@ def potential_tiles(entity, hex) tiles end - def legal_tile_rotation?(entity, hex, tile) + def legal_tile_rotation?(entity_or_entities, hex, tile) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + return hex.tile.paths.any? { |p| p.exits == tile.exits } if @game.port_company?(entity) return true if tile == @game.cube_tile return true if @game.legal_city_and_town_tile(hex, tile) diff --git a/lib/engine/game/g_1822_pnw/step/track.rb b/lib/engine/game/g_1822_pnw/step/track.rb index 719904a04c..631f0b22ec 100644 --- a/lib/engine/game/g_1822_pnw/step/track.rb +++ b/lib/engine/game/g_1822_pnw/step/track.rb @@ -7,7 +7,11 @@ module Game module G1822PNW module Step class Track < Engine::Game::G1822::Step::Track - def available_hex(entity, hex) + def available_hex(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + return nil if @game.tokencity?(hex) && (!get_tile_lay(entity) & [:upgrade]) return true if @game.can_hold_builder_cubes?(hex.tile) && @game.graph.connected_hexes(entity)[hex] return nil if hex.tile.icons.any? { |i| i.name.start_with?('mountain') } @@ -23,7 +27,7 @@ def potential_tiles(entity, hex) tiles end - def legal_tile_rotation?(entity, hex, tile) + def legal_tile_rotation?(entity_or_entities, hex, tile) return true if hex.tile.name == tile.name && hex.tile.rotation == tile.rotation return true if tile == @game.cube_tile return true if @game.legal_city_and_town_tile(hex, tile) diff --git a/lib/engine/game/g_1828/entities.rb b/lib/engine/game/g_1828/entities.rb new file mode 100644 index 0000000000..4e0196caa8 --- /dev/null +++ b/lib/engine/game/g_1828/entities.rb @@ -0,0 +1,434 @@ +# frozen_string_literal: true + +module Engine + module Game + module G1828 + module Entities + COMPANIES = [ + { + name: 'Schuylkill Valley Navigation', + value: 20, + revenue: 5, + desc: 'Blocks G19 while owned by a player.', + sym: 'SVN', + abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['G19'] }], + color: nil, + }, + { + name: 'Saint Clair Tunnel', + value: 20, + revenue: 5, + desc: 'Blocks Sarnia (D10) while owned by a player. When this company is sold to a corporation, ' \ + 'revenue increases to $10.', + sym: 'StCT', + abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['D10'] }, + { type: 'revenue_change', revenue: 10, when: 'sold' }], + color: nil, + }, + { + name: 'Champlain & St. Lawrence Railroad', + value: 40, + revenue: 10, + desc: 'Blocks Burlington (B24) while owned by a player. ' \ + 'Owning corporation may place a free track tile at B24 at any time in its operations.', + sym: 'C&StL', + abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['B24'] }, + { + type: 'tile_lay', + description: "Place a free track tile at B24 any time during the corporation's operations.", + owner_type: 'corporation', + when: 'owning_corp_or_turn', + hexes: ['B24'], + tiles: %w[3 4 58], + free: true, + count: 1, + }], + color: nil, + }, + { + name: 'Delaware & Hudson Railroad', + value: 80, + revenue: 15, + desc: 'Blocks Scranton (F20) while owned by a player. Owning corporation may place a track tile ' \ + '(or upgrade) in Scranton (F20) along with an (optional) station marker for $120.', + sym: 'D&H', + abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['F20'] }, + { + type: 'teleport', + owner_type: 'corporation', + cost: 120, + free_tile_lay: true, + hexes: ['F20'], + tiles: %w[14 15 57 205 206], + }], + color: nil, + }, + { + name: 'Cobourg & Peterborough Railway', + value: 80, + revenue: 15, + desc: 'Blocks/reserves Peterborough (C15) while owned by a player. ' \ + 'Owning player may place or upgrade track tiles on a route connected to Peterborough (C15). ' \ + 'Half-pays the revenue of a 2-train route from that track tile instead of normal revenue.', + sym: 'C&P', + abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['C15'] }, + { type: 'revenue_change', revenue: 0, when: 'auction_end' }], + color: nil, + }, + { + name: 'Mohawk & Hudson Railroad', + value: 120, + revenue: 20, + desc: 'Blocks D22 while owned by a player. ' \ + 'Owning player may exchange for a share of any company from the market or IPO.', + sym: 'M&H', + abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['D22'] }, + { + type: 'exchange', + corporations: 'any', + owner_type: 'player', + from: %w[ipo market], + }], + color: nil, + }, + { + name: 'Erie & Kalamazoo Railroad', + value: 120, + revenue: 20, + desc: 'Blocks Adrian & Ann Arbor (E7) while owned by a player. ' \ + 'A yellow track tile is placed at E7 when purchased by a company. ' \ + 'Owning company may (once) place one additional yellow track tile ' \ + 'at $20 as part of its normal track build.', + sym: 'E&K', + abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['E7'] }, + { + type: 'tile_lay', + owner_type: 'corporation', + when: 'sold', + blocks: true, + count: 1, + hexes: ['E7'], + tiles: %w[1 2 55 56 69], + }, + { + type: 'tile_lay', + owner_type: 'corporation', + when: 'track', + cost: 20, + count: 1, + special: false, + reachable: true, + hexes: [], + tiles: %w[1 2 3 4 6 7 8 9 55 56 57 58 69], + }], + color: nil, + }, + { + name: 'Camden & Amboy Railroad', + value: 160, + revenue: 25, + desc: 'Blocks Philadelphia & Trenton (H22) while owned by a player. ' \ + 'Purchaser receives 10% of Pennsylvania Railroad (PRR).', + sym: 'C&A', + abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['H22'] }, + { type: 'shares', shares: 'PRR_1' }], + color: nil, + }, + { + name: 'Canadian Pacific Railroad', + value: 250, + revenue: 40, + desc: 'Purchaser receives 30% of Canadian Pacific Railroad (CPR) and sets par price. ' \ + 'May not be sold to a corporation. Closes when CPR acquires a train.', + sym: 'CPR', + abilities: [{ type: 'shares', shares: %w[CPR_0 CPR_1] }, + { type: 'no_buy' }, + { type: 'close', when: 'bought_train', corporation: 'CPR' }], + color: nil, + }, + { + name: 'Grand Trunk', + value: 250, + revenue: 40, + desc: 'Purchaser receives 30% of Grand Trunk (GT) and sets par price. ' \ + 'May not be sold to a corporation. Closes when GT acquires a train.', + sym: 'GT', + abilities: [{ type: 'shares', shares: %w[GT_0 GT_1] }, + { type: 'no_buy' }, + { type: 'close', when: 'bought_train', corporation: 'GT' }], + color: nil, + }, + { + name: 'Illinois Central', + value: 250, + revenue: 40, + desc: 'Purchaser receives 30% of Illinois Central (IC) and sets par price. ' \ + 'May not be sold to a corporation. Closes when IC acquires a train.', + sym: 'IC', + abilities: [{ type: 'shares', shares: %w[IC_0 IC_1] }, + { type: 'no_buy' }, + { type: 'close', when: 'bought_train', corporation: 'IC' }], + color: nil, + }, + { + name: 'Michigan Central Railroad', + value: 250, + revenue: 40, + desc: 'Purchaser receives 30% of Michigan Central Railroad (MC) and sets par price. ' \ + 'May not be sold to a corporation. Closes when MC acquires a train.', + sym: 'MC', + abilities: [{ type: 'shares', shares: %w[MC_0 MC_1] }, + { type: 'no_buy' }, + { type: 'close', when: 'bought_train', corporation: 'MC' }], + color: nil, + }, + { + name: 'Missouri Pacific Railroad', + value: 250, + revenue: 40, + desc: 'Purchaser receives 30% of Missouri Pacific Railroad (MP) and sets par price. ' \ + 'May not be sold to a corporation. Closes when MP acquires a train.', + sym: 'MP', + abilities: [{ type: 'shares', shares: %w[MP_0 MP_1] }, + { type: 'no_buy' }, + { type: 'close', when: 'bought_train', corporation: 'MP' }], + color: nil, + }, + { + name: 'New York, Chicago & St. Louis Railroad', + value: 250, + revenue: 40, + desc: 'Purchaser receives 30% of New York, Chicago & St. Louis Railroad (NKP) and sets par price. ' \ + 'May not be sold to a corporation. Closes when NKP acquires a train.', + sym: 'NKP', + abilities: [{ type: 'shares', shares: %w[NKP_0 NKP_1] }, + { type: 'no_buy' }, + { type: 'close', when: 'bought_train', corporation: 'NKP' }], + color: nil, + }, + { + name: 'Norfolk & Western Railway', + value: 250, + revenue: 40, + desc: 'Purchaser receives 30% of Norfolk & Western Railway (NW) and sets par price. ' \ + 'May not be sold to a corporation. Closes when NW acquires a train.', + sym: 'NW', + abilities: [{ type: 'shares', shares: %w[NW_0 NW_1] }, + { type: 'no_buy' }, + { type: 'close', when: 'bought_train', corporation: 'NW' }], + color: nil, + }, + { + name: 'Ontario, Simcoe & Huron', + value: 250, + revenue: 40, + desc: 'Purchaser receives 30% of Ontario, Simcoe & Huron (OSH) and sets par price. ' \ + 'May not be sold to a corporation. Closes when OSH acquires a train.', + sym: 'OSH', + abilities: [{ type: 'shares', shares: %w[OSH_0 OSH_1] }, + { type: 'no_buy' }, + { type: 'close', when: 'bought_train', corporation: 'OSH' }], + color: nil, + }, + ].freeze + + CORPORATIONS = [ + { + sym: 'B&M', + name: 'Boston & Maine', + logo: '1828/BM', + simple_logo: '1828/BM.alt', + tokens: [0, 100, 100, 100], + coordinates: 'E27', + color: '#446CCF', + abilities: [ + { + type: 'description', + description: 'Place one additional yellow tile for $40', + }, + ], + reservation_color: nil, + }, + { + sym: 'B&O', + name: 'Baltimore & Ohio', + logo: '1828/BO', + simple_logo: '1828/BO.alt', + tokens: [0, 100, 100], + coordinates: 'I19', + color: '#4682B4', + reservation_color: nil, + }, + { + sym: 'C&O', + name: 'Chesapeake & Ohio Railroad', + logo: '1828/CO', + simple_logo: '1828/CO.alt', + tokens: [0, 100, 100], + coordinates: 'K15', + color: '#B0E0E6', + text_color: 'black', + reservation_color: nil, + }, + { + sym: 'CPR', + name: 'Canadian Pacific Railroad', + logo: '1828/CPR', + simple_logo: '1828/CPR.alt', + tokens: [0, 100, 100, 100], + coordinates: 'A23', + color: '#9C661F', + reservation_color: nil, + }, + { + sym: 'GT', + name: 'Grand Trunk', + logo: '1828/GT', + simple_logo: '1828/GT.alt', + tokens: [0, 100, 100], + coordinates: 'D4', + color: '#F0E68C', + text_color: 'black', + reservation_color: nil, + }, + { + sym: 'ERIE', + name: 'Erie Railroad', + logo: '1828/ERIE', + simple_logo: '1828/ERIE.alt', + tokens: [0, 100, 100], + coordinates: 'E15', + color: '#B8860B', + reservation_color: nil, + }, + { + sym: 'IC', + name: 'Illinois Central', + logo: '1828/IC', + simple_logo: '1828/IC.alt', + tokens: [0, 100, 100, 100], + coordinates: 'J6', + color: '#9ACD32', + text_color: 'black', + reservation_color: nil, + }, + { + sym: 'MC', + name: 'Michigan Central', + logo: '1828/MC', + simple_logo: '1828/MC.alt', + tokens: [0, 100, 100, 100], + coordinates: 'A7', + color: '#B3B3B3', + text_color: 'black', + reservation_color: nil, + }, + { + sym: 'MP', + name: 'Missouri Pacific Railroad', + logo: '1828/MP', + simple_logo: '1828/MP.alt', + tokens: [0, 100, 100, 100], + coordinates: 'I3', + color: '#BDB76B', + text_color: 'black', + reservation_color: nil, + }, + { + sym: 'NYC', + name: 'New York Central Railroad', + logo: '1828/NYC', + simple_logo: '1828/NYC.alt', + tokens: [0, 100, 100], + coordinates: 'E23', + color: '#7F7F7F', + reservation_color: nil, + }, + { + sym: 'NKP', + name: 'New York, Chicago & St. Louis Railroad', + logo: '1828/NKP', + simple_logo: '1828/NKP.alt', + tokens: [0, 100, 100], + coordinates: 'F10', + color: '#D8BFD8', + text_color: 'black', + reservation_color: nil, + }, + { + sym: 'NYH', + name: 'New York, New Haven & Hartford Railway', + logo: '1828/NYH', + simple_logo: '1828/NYH.alt', + tokens: [0, 100, 100], + coordinates: 'G23', + city: 1, + color: '#D2B48C', + text_color: 'black', + abilities: [ + { + type: 'description', + description: 'Place one additional yellow tile for $40', + }, + ], + reservation_color: nil, + }, + { + sym: 'NW', + name: 'Norfolk & Western Railway', + logo: '1828/NW', + simple_logo: '1828/NW.alt', + tokens: [0, 100, 100, 100], + coordinates: 'K19', + color: '#F08080', + text_color: 'black', + reservation_color: nil, + }, + { + sym: 'OSH', + name: 'Ontario, Simcoe & Huron', + logo: '1828/OSH', + simple_logo: '1828/OSH.alt', + tokens: [0, 100, 100, 100], + coordinates: 'A15', + color: '#61B329', + reservation_color: nil, + }, + { + sym: 'PRR', + name: 'Pennsylvania Railroad', + logo: '1828/PRR', + simple_logo: '1828/PRR.alt', + tokens: [0, 100, 100, 100], + coordinates: 'H16', + color: '#FF6347', + reservation_color: nil, + }, + { + sym: 'WAB', + name: 'Wabash Railroad', + logo: '1828/WAB', + simple_logo: '1828/WAB.alt', + tokens: [0, 100, 100], + coordinates: 'H6', + color: '#DDA0DD', + text_color: 'black', + reservation_color: nil, + }, + ].freeze + + MINORS = [ + { + sym: 'C&P', + name: 'Cobourg & Peterborough Railway', + logo: '1828/CP', + simple_logo: '1828/CP.alt', + tokens: [0], + coordinates: 'C15', + color: '#7F7F7F', + }, + ].freeze + end + end + end +end diff --git a/lib/engine/game/g_1828/game.rb b/lib/engine/game/g_1828/game.rb index 075464ca81..b69ae9b1a4 100644 --- a/lib/engine/game/g_1828/game.rb +++ b/lib/engine/game/g_1828/game.rb @@ -5,6 +5,8 @@ require_relative 'stock_market' require_relative 'system' require_relative 'shell' +require_relative 'entities' +require_relative 'map' require_relative '../cities_plus_towns_route_distance_str' module Engine @@ -13,6 +15,8 @@ module G1828 class Game < Game::Base include_meta(G1828::Meta) include CitiesPlusTownsRouteDistanceStr + include Entities + include Map register_colors(hanBlue: '#446CCF', steelBlue: '#4682B4', @@ -44,123 +48,6 @@ class Game < Game::Base MUST_SELL_IN_BLOCKS = false - TILES = { - '1' => 1, - '2' => 1, - '3' => 3, - '4' => 4, - '7' => 6, - '8' => 16, - '9' => 16, - '14' => 6, - '15' => 4, - '16' => 1, - '17' => 1, - '18' => 1, - '19' => 1, - '20' => 1, - '23' => 4, - '24' => 4, - '25' => 3, - '26' => 2, - '27' => 2, - '28' => 2, - '29' => 2, - '30' => 2, - '31' => 2, - '39' => 2, - '40' => 2, - '41' => 2, - '42' => 2, - '43' => 2, - '44' => 2, - '45' => 2, - '46' => 2, - '47' => 2, - '53' => 1, - '54' => 1, - '55' => 1, - '56' => 1, - '57' => 8, - '58' => 3, - '59' => 3, - '61' => 1, - '62' => 1, - '63' => 3, - '64' => 1, - '65' => 1, - '66' => 1, - '67' => 1, - '68' => 1, - '69' => 1, - '70' => 2, - '121' => 1, - '205' => 1, - '206' => 1, - '448' => 2, - '449' => 2, - '997' => 1, - }.freeze - - LOCATION_NAMES = { - 'A3' => 'Copper Country', - 'A5' => 'Marquette', - 'B14' => 'Barrie', - 'A7' => 'Mackinaw City', - 'C5' => 'Muskegon', - 'D4' => 'Grand Rapids', - 'D6' => 'Lansing', - 'D8' => 'Flint', - 'D10' => 'Sarnia', - 'D14' => 'Hamilton & Toronto', - 'E7' => 'Adrian & Ann Arbor', - 'E9' => 'Detroit & Windsor', - 'F8' => 'Toledo', - 'F10' => 'Cleveland', - 'F14' => 'Erie', - 'A13' => 'Canada', - 'A23' => 'Montreal', - 'B20' => 'Ottawa', - 'B24' => 'Burlington', - 'B28' => 'Maine', - 'C15' => 'Peterborough', - 'C19' => 'Kingston', - 'D18' => 'Rochester', - 'D24' => 'Schenectady', - 'E15' => 'Dunkirk & Buffalo', - 'E23' => 'Albany', - 'E27' => 'Boston', - 'F20' => 'Scranton', - 'F24' => 'New Haven & Hartford', - 'F26' => 'Providence', - 'F28' => 'Mansfield', - 'G3' => 'Chicago', - 'G11' => 'Akron & Canton', - 'H6' => 'Louisville', - 'H8' => 'Cincinnati', - 'H12' => 'Pittsburgh', - 'H14' => 'Johnstown', - 'I1' => 'West', - 'I3' => 'St Louis', - 'I11' => 'Washington', - 'J6' => 'Nashville', - 'K3' => 'New Orleans', - 'K11' => 'Virginia Coalfields', - 'K13' => 'Virginia Tunnel', - 'G21' => 'Reading & Allentown', - 'G23' => 'Newark & New York', - 'H16' => 'Altoona', - 'H20' => 'Lancaster', - 'H22' => 'Philadelphia & Trenton', - 'I19' => 'Baltimore', - 'I23' => 'Atlantic City', - 'J18' => 'Washington', - 'K15' => 'Richmond', - 'K19' => 'Norfolk', - 'L16' => 'Deep South', - 'L18' => 'Suffolk', - }.freeze - MARKET = [ %w[122 130 @@ -388,532 +275,6 @@ class Game < Game::Base events: [{ 'type' => 'remove_corporations' }], }].freeze - COMPANIES = [ - { - name: 'Schuylkill Valley Navigation', - value: 20, - revenue: 5, - desc: 'Blocks G19 while owned by a player.', - sym: 'SVN', - abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['G19'] }], - color: nil, - }, - { - name: 'Saint Clair Tunnel', - value: 20, - revenue: 5, - desc: 'Blocks Sarnia (D10) while owned by a player. When this company is sold to a corporation, ' \ - 'revenue increases to $10.', - sym: 'StCT', - abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['D10'] }, - { type: 'revenue_change', revenue: 10, when: 'sold' }], - color: nil, - }, - { - name: 'Champlain & St. Lawrence Railroad', - value: 40, - revenue: 10, - desc: 'Blocks Burlington (B24) while owned by a player. ' \ - 'Owning corporation may place a free track tile at B24 at any time in its operations.', - sym: 'C&StL', - abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['B24'] }, - { - type: 'tile_lay', - description: "Place a free track tile at B24 any time during the corporation's operations.", - owner_type: 'corporation', - when: 'owning_corp_or_turn', - hexes: ['B24'], - tiles: %w[3 4 58], - free: true, - count: 1, - }], - color: nil, - }, - { - name: 'Delaware & Hudson Railroad', - value: 80, - revenue: 15, - desc: 'Blocks Scranton (F20) while owned by a player. Owning corporation may place a track tile ' \ - '(or upgrade) in Scranton (F20) along with an (optional) station marker for $120.', - sym: 'D&H', - abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['F20'] }, - { - type: 'teleport', - owner_type: 'corporation', - cost: 120, - free_tile_lay: true, - hexes: ['F20'], - tiles: %w[14 15 57 205 206], - }], - color: nil, - }, - { - name: 'Cobourg & Peterborough Railway', - value: 80, - revenue: 15, - desc: 'Blocks/reserves Peterborough (C15) while owned by a player. ' \ - 'Owning player may place or upgrade track tiles on a route connected to Peterborough (C15). ' \ - 'Half-pays the revenue of a 2-train route from that track tile instead of normal revenue.', - sym: 'C&P', - abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['C15'] }, - { type: 'revenue_change', revenue: 0, when: 'auction_end' }], - color: nil, - }, - { - name: 'Mohawk & Hudson Railroad', - value: 120, - revenue: 20, - desc: 'Blocks D22 while owned by a player. ' \ - 'Owning player may exchange for a share of any company from the market or IPO.', - sym: 'M&H', - abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['D22'] }, - { - type: 'exchange', - corporations: 'any', - owner_type: 'player', - from: %w[ipo market], - }], - color: nil, - }, - { - name: 'Erie & Kalamazoo Railroad', - value: 120, - revenue: 20, - desc: 'Blocks Adrian & Ann Arbor (E7) while owned by a player. ' \ - 'A yellow track tile is placed at E7 when purchased by a company. ' \ - 'Owning company may (once) place one additional yellow track tile ' \ - 'at $20 as part of its normal track build.', - sym: 'E&K', - abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['E7'] }, - { - type: 'tile_lay', - owner_type: 'corporation', - when: 'sold', - blocks: true, - count: 1, - hexes: ['E7'], - tiles: %w[1 2 55 56 69], - }, - { - type: 'tile_lay', - owner_type: 'corporation', - when: 'track', - cost: 20, - count: 1, - special: false, - reachable: true, - hexes: [], - tiles: %w[1 2 3 4 6 7 8 9 55 56 57 58 69], - }], - color: nil, - }, - { - name: 'Camden & Amboy Railroad', - value: 160, - revenue: 25, - desc: 'Blocks Philadelphia & Trenton (H22) while owned by a player. ' \ - 'Purchaser receives 10% of Pennsylvania Railroad (PRR).', - sym: 'C&A', - abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['H22'] }, - { type: 'shares', shares: 'PRR_1' }], - color: nil, - }, - { - name: 'Canadian Pacific Railroad', - value: 250, - revenue: 40, - desc: 'Purchaser receives 30% of Canadian Pacific Railroad (CPR) and sets par price. ' \ - 'May not be sold to a corporation. Closes when CPR acquires a train.', - sym: 'CPR', - abilities: [{ type: 'shares', shares: %w[CPR_0 CPR_1] }, - { type: 'no_buy' }, - { type: 'close', when: 'bought_train', corporation: 'CPR' }], - color: nil, - }, - { - name: 'Grand Trunk', - value: 250, - revenue: 40, - desc: 'Purchaser receives 30% of Grand Trunk (GT) and sets par price. ' \ - 'May not be sold to a corporation. Closes when GT acquires a train.', - sym: 'GT', - abilities: [{ type: 'shares', shares: %w[GT_0 GT_1] }, - { type: 'no_buy' }, - { type: 'close', when: 'bought_train', corporation: 'GT' }], - color: nil, - }, - { - name: 'Illinois Central', - value: 250, - revenue: 40, - desc: 'Purchaser receives 30% of Illinois Central (IC) and sets par price. ' \ - 'May not be sold to a corporation. Closes when IC acquires a train.', - sym: 'IC', - abilities: [{ type: 'shares', shares: %w[IC_0 IC_1] }, - { type: 'no_buy' }, - { type: 'close', when: 'bought_train', corporation: 'IC' }], - color: nil, - }, - { - name: 'Michigan Central Railroad', - value: 250, - revenue: 40, - desc: 'Purchaser receives 30% of Michigan Central Railroad (MC) and sets par price. ' \ - 'May not be sold to a corporation. Closes when MC acquires a train.', - sym: 'MC', - abilities: [{ type: 'shares', shares: %w[MC_0 MC_1] }, - { type: 'no_buy' }, - { type: 'close', when: 'bought_train', corporation: 'MC' }], - color: nil, - }, - { - name: 'Missouri Pacific Railroad', - value: 250, - revenue: 40, - desc: 'Purchaser receives 30% of Missouri Pacific Railroad (MP) and sets par price. ' \ - 'May not be sold to a corporation. Closes when MP acquires a train.', - sym: 'MP', - abilities: [{ type: 'shares', shares: %w[MP_0 MP_1] }, - { type: 'no_buy' }, - { type: 'close', when: 'bought_train', corporation: 'MP' }], - color: nil, - }, - { - name: 'New York, Chicago & St. Louis Railroad', - value: 250, - revenue: 40, - desc: 'Purchaser receives 30% of New York, Chicago & St. Louis Railroad (NKP) and sets par price. ' \ - 'May not be sold to a corporation. Closes when NKP acquires a train.', - sym: 'NKP', - abilities: [{ type: 'shares', shares: %w[NKP_0 NKP_1] }, - { type: 'no_buy' }, - { type: 'close', when: 'bought_train', corporation: 'NKP' }], - color: nil, - }, - { - name: 'Norfolk & Western Railway', - value: 250, - revenue: 40, - desc: 'Purchaser receives 30% of Norfolk & Western Railway (NW) and sets par price. ' \ - 'May not be sold to a corporation. Closes when NW acquires a train.', - sym: 'NW', - abilities: [{ type: 'shares', shares: %w[NW_0 NW_1] }, - { type: 'no_buy' }, - { type: 'close', when: 'bought_train', corporation: 'NW' }], - color: nil, - }, - { - name: 'Ontario, Simcoe & Huron', - value: 250, - revenue: 40, - desc: 'Purchaser receives 30% of Ontario, Simcoe & Huron (OSH) and sets par price. ' \ - 'May not be sold to a corporation. Closes when OSH acquires a train.', - sym: 'OSH', - abilities: [{ type: 'shares', shares: %w[OSH_0 OSH_1] }, - { type: 'no_buy' }, - { type: 'close', when: 'bought_train', corporation: 'OSH' }], - color: nil, - }, - ].freeze - - CORPORATIONS = [ - { - sym: 'B&M', - name: 'Boston & Maine', - logo: '1828/BM', - simple_logo: '1828/BM.alt', - tokens: [0, 100, 100, 100], - coordinates: 'E27', - color: '#446CCF', - abilities: [ - { - type: 'description', - description: 'Place one additional yellow tile for $40', - }, - ], - reservation_color: nil, - }, - { - sym: 'B&O', - name: 'Baltimore & Ohio', - logo: '1828/BO', - simple_logo: '1828/BO.alt', - tokens: [0, 100, 100], - coordinates: 'I19', - color: '#4682B4', - reservation_color: nil, - }, - { - sym: 'C&O', - name: 'Chesapeake & Ohio Railroad', - logo: '1828/CO', - simple_logo: '1828/CO.alt', - tokens: [0, 100, 100], - coordinates: 'K15', - color: '#B0E0E6', - text_color: 'black', - reservation_color: nil, - }, - { - sym: 'CPR', - name: 'Canadian Pacific Railroad', - logo: '1828/CPR', - simple_logo: '1828/CPR.alt', - tokens: [0, 100, 100, 100], - coordinates: 'A23', - color: '#9C661F', - reservation_color: nil, - }, - { - sym: 'GT', - name: 'Grand Trunk', - logo: '1828/GT', - simple_logo: '1828/GT.alt', - tokens: [0, 100, 100], - coordinates: 'D4', - color: '#F0E68C', - text_color: 'black', - reservation_color: nil, - }, - { - sym: 'ERIE', - name: 'Erie Railroad', - logo: '1828/ERIE', - simple_logo: '1828/ERIE.alt', - tokens: [0, 100, 100], - coordinates: 'E15', - color: '#B8860B', - reservation_color: nil, - }, - { - sym: 'IC', - name: 'Illinois Central', - logo: '1828/IC', - simple_logo: '1828/IC.alt', - tokens: [0, 100, 100, 100], - coordinates: 'J6', - color: '#9ACD32', - text_color: 'black', - reservation_color: nil, - }, - { - sym: 'MC', - name: 'Michigan Central', - logo: '1828/MC', - simple_logo: '1828/MC.alt', - tokens: [0, 100, 100, 100], - coordinates: 'A7', - color: '#B3B3B3', - text_color: 'black', - reservation_color: nil, - }, - { - sym: 'MP', - name: 'Missouri Pacific Railroad', - logo: '1828/MP', - simple_logo: '1828/MP.alt', - tokens: [0, 100, 100, 100], - coordinates: 'I3', - color: '#BDB76B', - text_color: 'black', - reservation_color: nil, - }, - { - sym: 'NYC', - name: 'New York Central Railroad', - logo: '1828/NYC', - simple_logo: '1828/NYC.alt', - tokens: [0, 100, 100], - coordinates: 'E23', - color: '#7F7F7F', - reservation_color: nil, - }, - { - sym: 'NKP', - name: 'New York, Chicago & St. Louis Railroad', - logo: '1828/NKP', - simple_logo: '1828/NKP.alt', - tokens: [0, 100, 100], - coordinates: 'F10', - color: '#D8BFD8', - text_color: 'black', - reservation_color: nil, - }, - { - sym: 'NYH', - name: 'New York, New Haven & Hartford Railway', - logo: '1828/NYH', - simple_logo: '1828/NYH.alt', - tokens: [0, 100, 100], - coordinates: 'G23', - city: 1, - color: '#D2B48C', - text_color: 'black', - abilities: [ - { - type: 'description', - description: 'Place one additional yellow tile for $40', - }, - ], - reservation_color: nil, - }, - { - sym: 'NW', - name: 'Norfolk & Western Railway', - logo: '1828/NW', - simple_logo: '1828/NW.alt', - tokens: [0, 100, 100, 100], - coordinates: 'K19', - color: '#F08080', - text_color: 'black', - reservation_color: nil, - }, - { - sym: 'OSH', - name: 'Ontario, Simcoe & Huron', - logo: '1828/OSH', - simple_logo: '1828/OSH.alt', - tokens: [0, 100, 100, 100], - coordinates: 'A15', - color: '#61B329', - reservation_color: nil, - }, - { - sym: 'PRR', - name: 'Pennsylvania Railroad', - logo: '1828/PRR', - simple_logo: '1828/PRR.alt', - tokens: [0, 100, 100, 100], - coordinates: 'H16', - color: '#FF6347', - reservation_color: nil, - }, - { - sym: 'WAB', - name: 'Wabash Railroad', - logo: '1828/WAB', - simple_logo: '1828/WAB.alt', - tokens: [0, 100, 100], - coordinates: 'H6', - color: '#DDA0DD', - text_color: 'black', - reservation_color: nil, - }, - ].freeze - - MINORS = [ - { - sym: 'C&P', - name: 'Cobourg & Peterborough Railway', - logo: '1828/CP', - simple_logo: '1828/CP.alt', - tokens: [0], - coordinates: 'C15', - color: '#7F7F7F', - }, - ].freeze - - HEXES = { - white: { - %w[B16 - B18 - B26 - C7 - C13 - C27 - D12 - D20 - D22 - E5 - E17 - E19 - F6 - F16 - F18 - F22 - G5 - G7 - G9 - G13 - G15 - H4 - H10 - H18 - I5 - I7 - I9 - I13 - I17 - J4 - J8 - J10 - J12 - K17] => '', - ['C17'] => 'border=edge:0,type:impassable', - ['D16'] => 'border=edge:2,type:impassable;border=edge:3,type:impassable', - ['F12'] => 'border=edge:2,type:impassable', - %w[B6 B8 B22 C23 H2 I21 J2] => - 'upgrade=cost:80,terrain:water', - ['E11'] => 'border=edge:5,type:impassable;upgrade=cost:80,terrain:water', - ['C21'] => 'border=edge:2,type:impassable;upgrade=cost:120,terrain:mountain', - %w[C25 D26 E21 E25 G17 G19 I15 J14 J16] => - 'upgrade=cost:120,terrain:mountain', - %w[B14 D6 F8 F26 I3 J18] => - 'city=revenue:0;upgrade=cost:80,terrain:water', - ['B20'] => 'city=revenue:0;border=edge:5,type:impassable', - %w[D8 E23 H6 H8 H12 H20 K15] => 'city=revenue:0', - ['F20'] => 'city=revenue:0;upgrade=cost:120,terrain:mountain', - %w[B24 D10 F14 H14 I11] => 'town=revenue:0', - ['K13'] => 'town=revenue:0;upgrade=cost:120,terrain:mountain;icon=image:1828/coal', - %w[E7 F24 G11 G21] => 'town=revenue:0;town=revenue:0', - }, - yellow: { - ['C15'] => 'city=revenue:20;path=a:0,b:_0;path=a:1,b:_0;path=a:4,b:_0;' \ - 'upgrade=cost:80,terrain:water;border=edge:5,type:impassable', - %w[D14 E9] => - 'city=revenue:0;city=revenue:0;label=OO;upgrade=cost:80,terrain:water', - %w[E15 H22] => 'city=revenue:0;city=revenue:0;label=OO', - ['E27'] => 'city=revenue:30;path=a:3,b:_0;path=a:5,b:_0;label=Bo', - ['G23'] => - 'city=revenue:40;city=revenue:40;path=a:0,b:_0;path=a:3,b:_1;label=NY;upgrade=cost:80,terrain:water', - ['I19'] => 'city=revenue:30;path=a:0,b:_0;path=a:4,b:_0;label=Ba', - ['J6'] => 'city=revenue:20;path=a:1,b:_0;path=a:4,b:_0', - }, - gray: { - ['A5'] => 'town=revenue:20;path=a:1,b:_0;path=a:4,b:_0', - ['A7'] => 'city=revenue:30;path=a:1,b:_0;path=a:5,b:_0', - ['A21'] => 'path=a:0,b:5', - ['A23'] => 'city=revenue:40;path=a:0,b:_0;path=a:5,b:_0', - ['C5'] => 'town=revenue:10;path=a:0,b:_0;path=a:3,b:_0;path=a:5,b:_0', - ['C19'] => 'town=revenue:10;path=a:1,b:_0;path=a:3,b:_0', - ['D4'] => 'city=revenue:30;path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0', - ['D18'] => 'city=revenue:20;path=a:0,b:_0;path=a:1,b:_0;path=a:4,b:_0', - ['D24'] => 'city=revenue:30;path=a:0,b:_0;path=a:1,b:_0;path=a:5,b:_0', - ['D28'] => 'path=a:0,b:1;path=a:0,b:2', - ['E13'] => 'path=a:2,b:3', - ['F10'] => 'city=revenue:yellow_30|brown_40;path=a:0,b:_0;path=a:1,b:_0;path=a:5,b:_0', - %w[F28 I23] => 'town=revenue:10;path=a:1,b:_0;path=a:2,b:_0', - ['H16'] => 'city=revenue:yellow_20|brown_30,loc:2.5;' \ - 'path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0;path=a:1,b:4', - ['K11'] => 'city=revenue:yellow_30|brown_60;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0;' \ - 'icon=image:1828/coal;icon=image:1828/coal', - ['K19'] => 'city=revenue:yellow_30|brown_40;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0', - ['L18'] => 'town=revenue:10;path=a:2,b:_0;path=a:3,b:_0', - }, - red: { - ['A3'] => 'offboard=revenue:60;path=a:4,b:_0', - ['A13'] => 'offboard=revenue:yellow_30|brown_50,groups:Canada;path=a:4,b:5;border=edge:4', - ['A15'] => 'city=revenue:yellow_30|brown_50,groups:Canada;' \ - 'path=a:0,b:_0,terminal:1;path=a:1,b:_0,terminal:1;path=a:5,b:_0,terminal:1;border=edge:1', - ['B28'] => 'offboard=revenue:yellow_20|brown_30;path=a:0,b:_0;path=a:1,b:_0', - ['G3'] => 'offboard=revenue:yellow_40|brown_70;path=a:0,b:_0;path=a:4,b:_0;path=a:5,b:_0', - ['I1'] => 'offboard=revenue:yellow_20|brown_60;path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0', - %w[K3 L16] => 'offboard=revenue:yellow_30|brown_40;path=a:2,b:_0;path=a:3,b:_0', - }, - }.freeze - - LAYOUT = :pointy - MULTIPLE_BUY_TYPES = %i[unlimited].freeze MUST_BID_INCREMENT_MULTIPLE = true @@ -1130,7 +491,7 @@ def remove_minor!(minor, block: false) minor.tokens.each do |token| city = token&.city token.remove! - place_blocking_token(city.hex) if block && city + place_blocking_token(city.hex, city: city) if block && city end @graph.clear_graph_for(minor) @minors.delete(minor) @@ -1494,7 +855,7 @@ def place_system_blocking_tokens(system) next unless tokens.size > 1 tokens[1].remove! - place_blocking_token(city.hex) + place_blocking_token(city.hex, city: city) end end diff --git a/lib/engine/game/g_1828/map.rb b/lib/engine/game/g_1828/map.rb new file mode 100644 index 0000000000..8e63d67e63 --- /dev/null +++ b/lib/engine/game/g_1828/map.rb @@ -0,0 +1,227 @@ +# frozen_string_literal: true + +module Engine + module Game + module G1828 + module Map + TILES = { + '1' => 1, + '2' => 1, + '3' => 3, + '4' => 4, + '7' => 6, + '8' => 16, + '9' => 16, + '14' => 6, + '15' => 4, + '16' => 1, + '17' => 1, + '18' => 1, + '19' => 1, + '20' => 1, + '23' => 4, + '24' => 4, + '25' => 3, + '26' => 2, + '27' => 2, + '28' => 2, + '29' => 2, + '30' => 2, + '31' => 2, + '39' => 2, + '40' => 2, + '41' => 2, + '42' => 2, + '43' => 2, + '44' => 2, + '45' => 2, + '46' => 2, + '47' => 2, + '53' => 1, + '54' => 1, + '55' => 1, + '56' => 1, + '57' => 8, + '58' => 3, + '59' => 3, + '61' => 1, + '62' => 1, + '63' => 3, + '64' => 1, + '65' => 1, + '66' => 1, + '67' => 1, + '68' => 1, + '69' => 1, + '70' => 2, + '121' => 1, + '205' => 1, + '206' => 1, + '448' => 2, + '449' => 2, + '997' => 1, + }.freeze + + LOCATION_NAMES = { + 'A3' => 'Copper Country', + 'A5' => 'Marquette', + 'B14' => 'Barrie', + 'A7' => 'Mackinaw City', + 'C5' => 'Muskegon', + 'D4' => 'Grand Rapids', + 'D6' => 'Lansing', + 'D8' => 'Flint', + 'D10' => 'Sarnia', + 'D14' => 'Hamilton & Toronto', + 'E7' => 'Adrian & Ann Arbor', + 'E9' => 'Detroit & Windsor', + 'F8' => 'Toledo', + 'F10' => 'Cleveland', + 'F14' => 'Erie', + 'A13' => 'Canada', + 'A23' => 'Montreal', + 'B20' => 'Ottawa', + 'B24' => 'Burlington', + 'B28' => 'Maine', + 'C15' => 'Peterborough', + 'C19' => 'Kingston', + 'D18' => 'Rochester', + 'D24' => 'Schenectady', + 'E15' => 'Dunkirk & Buffalo', + 'E23' => 'Albany', + 'E27' => 'Boston', + 'F20' => 'Scranton', + 'F24' => 'New Haven & Hartford', + 'F26' => 'Providence', + 'F28' => 'Mansfield', + 'G3' => 'Chicago', + 'G11' => 'Akron & Canton', + 'H6' => 'Louisville', + 'H8' => 'Cincinnati', + 'H12' => 'Pittsburgh', + 'H14' => 'Johnstown', + 'I1' => 'West', + 'I3' => 'St Louis', + 'I11' => 'Washington', + 'J6' => 'Nashville', + 'K3' => 'New Orleans', + 'K11' => 'Virginia Coalfields', + 'K13' => 'Virginia Tunnel', + 'G21' => 'Reading & Allentown', + 'G23' => 'Newark & New York', + 'H16' => 'Altoona', + 'H20' => 'Lancaster', + 'H22' => 'Philadelphia & Trenton', + 'I19' => 'Baltimore', + 'I23' => 'Atlantic City', + 'J18' => 'Washington', + 'K15' => 'Richmond', + 'K19' => 'Norfolk', + 'L16' => 'Deep South', + 'L18' => 'Suffolk', + }.freeze + + HEXES = { + white: { + %w[B16 + B18 + B26 + C7 + C13 + C27 + D12 + D20 + D22 + E5 + E17 + E19 + F6 + F16 + F18 + F22 + G5 + G7 + G9 + G13 + G15 + H4 + H10 + H18 + I5 + I7 + I9 + I13 + I17 + J4 + J8 + J10 + J12 + K17] => '', + ['C17'] => 'border=edge:0,type:impassable', + ['D16'] => 'border=edge:2,type:impassable;border=edge:3,type:impassable', + ['F12'] => 'border=edge:2,type:impassable', + %w[B6 B8 B22 C23 H2 I21 J2] => + 'upgrade=cost:80,terrain:water', + ['E11'] => 'border=edge:5,type:impassable;upgrade=cost:80,terrain:water', + ['C21'] => 'border=edge:2,type:impassable;upgrade=cost:120,terrain:mountain', + %w[C25 D26 E21 E25 G17 G19 I15 J14 J16] => + 'upgrade=cost:120,terrain:mountain', + %w[B14 D6 F8 F26 I3 J18] => + 'city=revenue:0;upgrade=cost:80,terrain:water', + ['B20'] => 'city=revenue:0;border=edge:5,type:impassable', + %w[D8 E23 H6 H8 H12 H20 K15] => 'city=revenue:0', + ['F20'] => 'city=revenue:0;upgrade=cost:120,terrain:mountain', + %w[B24 D10 F14 H14 I11] => 'town=revenue:0', + ['K13'] => 'town=revenue:0;upgrade=cost:120,terrain:mountain;icon=image:1828/coal', + %w[E7 F24 G11 G21] => 'town=revenue:0;town=revenue:0', + }, + yellow: { + ['C15'] => 'city=revenue:20;path=a:0,b:_0;path=a:1,b:_0;path=a:4,b:_0;' \ + 'upgrade=cost:80,terrain:water;border=edge:5,type:impassable', + %w[D14 E9] => + 'city=revenue:0;city=revenue:0;label=OO;upgrade=cost:80,terrain:water', + %w[E15 H22] => 'city=revenue:0;city=revenue:0;label=OO', + ['E27'] => 'city=revenue:30;path=a:3,b:_0;path=a:5,b:_0;label=Bo', + ['G23'] => + 'city=revenue:40;city=revenue:40;path=a:0,b:_0;path=a:3,b:_1;label=NY;upgrade=cost:80,terrain:water', + ['I19'] => 'city=revenue:30;path=a:0,b:_0;path=a:4,b:_0;label=Ba', + ['J6'] => 'city=revenue:20;path=a:1,b:_0;path=a:4,b:_0', + }, + gray: { + ['A5'] => 'town=revenue:20;path=a:1,b:_0;path=a:4,b:_0', + ['A7'] => 'city=revenue:30;path=a:1,b:_0;path=a:5,b:_0', + ['A21'] => 'path=a:0,b:5', + ['A23'] => 'city=revenue:40;path=a:0,b:_0;path=a:5,b:_0', + ['C5'] => 'town=revenue:10;path=a:0,b:_0;path=a:3,b:_0;path=a:5,b:_0', + ['C19'] => 'town=revenue:10;path=a:1,b:_0;path=a:3,b:_0', + ['D4'] => 'city=revenue:30;path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0', + ['D18'] => 'city=revenue:20;path=a:0,b:_0;path=a:1,b:_0;path=a:4,b:_0', + ['D24'] => 'city=revenue:30;path=a:0,b:_0;path=a:1,b:_0;path=a:5,b:_0', + ['D28'] => 'path=a:0,b:1;path=a:0,b:2', + ['E13'] => 'path=a:2,b:3', + ['F10'] => 'city=revenue:yellow_30|brown_40;path=a:0,b:_0;path=a:1,b:_0;path=a:5,b:_0', + %w[F28 I23] => 'town=revenue:10;path=a:1,b:_0;path=a:2,b:_0', + ['H16'] => 'city=revenue:yellow_20|brown_30,loc:2.5;' \ + 'path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0;path=a:1,b:4', + ['K11'] => 'city=revenue:yellow_30|brown_60;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0;' \ + 'icon=image:1828/coal;icon=image:1828/coal', + ['K19'] => 'city=revenue:yellow_30|brown_40;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0', + ['L18'] => 'town=revenue:10;path=a:2,b:_0;path=a:3,b:_0', + }, + red: { + ['A3'] => 'offboard=revenue:60;path=a:4,b:_0', + ['A13'] => 'offboard=revenue:yellow_30|brown_50,groups:Canada;path=a:4,b:5;border=edge:4', + ['A15'] => 'city=revenue:yellow_30|brown_50,groups:Canada;' \ + 'path=a:0,b:_0,terminal:1;path=a:1,b:_0,terminal:1;path=a:5,b:_0,terminal:1;border=edge:1', + ['B28'] => 'offboard=revenue:yellow_20|brown_30;path=a:0,b:_0;path=a:1,b:_0', + ['G3'] => 'offboard=revenue:yellow_40|brown_70;path=a:0,b:_0;path=a:4,b:_0;path=a:5,b:_0', + ['I1'] => 'offboard=revenue:yellow_20|brown_60;path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0', + %w[K3 L16] => 'offboard=revenue:yellow_30|brown_40;path=a:2,b:_0;path=a:3,b:_0', + }, + }.freeze + + LAYOUT = :pointy + end + end + end +end diff --git a/lib/engine/game/g_1832/game.rb b/lib/engine/game/g_1832/game.rb index 1ecc9db253..5caf6b1c6c 100644 --- a/lib/engine/game/g_1832/game.rb +++ b/lib/engine/game/g_1832/game.rb @@ -274,7 +274,7 @@ def revenue_for(route, stops) revenue end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) @sell_queue << [bundle, bundle.corporation.owner] @share_pool.sell_shares(bundle) diff --git a/lib/engine/game/g_1840/map.rb b/lib/engine/game/g_1840/map.rb index 48ee540820..ab0dded15f 100644 --- a/lib/engine/game/g_1840/map.rb +++ b/lib/engine/game/g_1840/map.rb @@ -317,14 +317,62 @@ module Map ['B28'] => 'upgrade=cost:40,terrain:water', %w[H10 D18 E17] => 'city=revenue:0;city=revenue:0;label=OO', - %w[D12 I9] => 'city=revenue:0;upgrade=cost:20;frame=color:#ffa500;icon=image:1840/green_hex', - %w[B10 D22] => 'city=revenue:0;upgrade=cost:20;frame=color:#ffa500;icon=image:1840/yellow_hex', - %w[E23 F6 I15] => 'city=revenue:0;upgrade=cost:20;frame=color:#ffa500;icon=image:1840/token', - %w[C9 E7 H16] => 'upgrade=cost:20;frame=color:#ffa500;icon=image:1840/green_hex', - %w[I3 B14 C21] => 'upgrade=cost:20;frame=color:#ffa500;icon=image:1840/red_hex', - %w[I7 I13 H12 F12 G23 B16 G19] => 'upgrade=cost:20;frame=color:#ffa500;icon=image:1840/yellow_hex', - %w[C13 I5 G5 G21 B20] => 'upgrade=cost:20;frame=color:#ffa500;icon=image:1840/purple_hex', - %w[D6 E13 G17] => 'upgrade=cost:20;frame=color:#ffa500;icon=image:1840/token', + %w[D12] => 'city=revenue:0;path=track:future,a:3,b:_0;path=track:future,a:5,b:_0;' \ + 'upgrade=cost:20;frame=color:#ffa500;icon=image:1840/green_hex', + %w[I9] => 'city=revenue:0;path=track:future,a:1,b:_0;path=track:future,a:_0,b:4;' \ + 'upgrade=cost:20;frame=color:#ffa500;icon=image:1840/green_hex', + %w[B10] => 'city=revenue:0;path=track:future,a:0,b:_0;path=track:future,a:3,b:_0;' \ + 'upgrade=cost:20;frame=color:#ffa500;icon=image:1840/yellow_hex', + %w[D22] => 'city=revenue:0;path=track:future,a:2,b:_0;path=track:future,a:_0,b:5;' \ + 'upgrade=cost:20;frame=color:#ffa500;icon=image:1840/yellow_hex', + %w[E23] => 'city=revenue:0;path=track:future,a:2,b:_0;path=track:future,a:_0,b:5;' \ + 'upgrade=cost:20;frame=color:#ffa500;icon=image:1840/token', + %w[F6] => 'city=revenue:0;path=track:future,a:0,b:_0;path=track:future,a:3,b:_0;' \ + 'upgrade=cost:20;frame=color:#ffa500;icon=image:1840/token', + %w[I15] => 'city=revenue:0;path=track:future,a:1,b:_0;path=track:future,a:_0,b:3;' \ + 'upgrade=cost:20;frame=color:#ffa500;icon=image:1840/token', + %w[C9] => 'path=track:future,a:1,b:3;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/green_hex', + %w[E7] => 'path=track:future,a:0,b:2;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/green_hex', + %w[H16] => 'path=track:future,a:0,b:3;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/green_hex', + %w[B14] => 'path=track:future,a:0,b:4;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/red_hex', + %w[C21] => 'path=track:future,a:2,b:5;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/red_hex', + %w[I3] => 'path=track:future,a:1,b:4;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/red_hex', + %w[I7] => 'path=track:future,a:1,b:4;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/yellow_hex', + %w[I13] => 'path=track:future,a:1,b:4;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/yellow_hex', + %w[B16] => 'path=track:future,a:1,b:3;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/yellow_hex', + %w[F12] => 'path=track:future,a:0,b:3;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/yellow_hex', + %w[H12] => 'path=track:future,a:0,b:2;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/yellow_hex', + %w[G23] => 'path=track:future,a:1,b:3;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/yellow_hex', + %w[G19] => 'path=track:future,a:1,b:4;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/yellow_hex', + %w[B20] => 'path=track:future,a:2,b:5;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/purple_hex', + %w[C13] => 'path=track:future,a:0,b:3;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/purple_hex', + %w[G5] => 'path=track:future,a:1,b:3;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/purple_hex', + %w[G21] => 'path=track:future,a:1,b:4;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/purple_hex', + %w[I5] => 'path=track:future,a:1,b:4;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/purple_hex', + %w[D6] => 'path=track:future,a:3,b:5;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/token', + %w[E13] => 'path=track:future,a:0,b:2;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/token', + %w[G17] => 'path=track:future,a:0,b:4;upgrade=cost:20;' \ + 'frame=color:#ffa500;icon=image:1840/token', }, yellow: { diff --git a/lib/engine/game/g_1841/entities.rb b/lib/engine/game/g_1841/entities.rb index 2b71b31638..d4c0df231e 100644 --- a/lib/engine/game/g_1841/entities.rb +++ b/lib/engine/game/g_1841/entities.rb @@ -81,12 +81,13 @@ module Entities logo: '1841/SFMA', coordinates: 'R14', color: 'red', - tokens: [50], + tokens: [0], type: 'minor', shares: [40, 20, 20, 20], float_percent: 40, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: true, startable: true, }, @@ -97,12 +98,13 @@ module Entities coordinates: 'P12', color: 'lightGreen', text_color: 'black', - tokens: [50], + tokens: [0], type: 'minor', shares: [40, 20, 20, 20], float_percent: 40, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: true, startable: true, }, @@ -112,12 +114,13 @@ module Entities logo: '1841/SSFL', coordinates: 'Q11', color: 'violet', - tokens: [50, 50], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: true, startable: true, }, @@ -127,12 +130,13 @@ module Entities logo: '1841/IRSFF', coordinates: %w[F8 F16], color: 'orange', - tokens: [50, 50], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: true, startable: true, }, @@ -143,12 +147,13 @@ module Entities coordinates: %w[H4 J6], city: 0, color: 'blue', - tokens: [50, 50], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: true, startable: true, }, @@ -160,12 +165,13 @@ module Entities city: 1, color: 'sandyBrown', text_color: 'black', - tokens: [50, 50], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: true, startable: true, }, @@ -176,12 +182,13 @@ module Entities coordinates: 'M3', color: 'yellow', text_color: 'black', - tokens: [50, 50], + tokens: [0, 0], type: 'major', # version 2 shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], # version 2 float_percent: 20, # version 2 max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: true, startable: true, }, @@ -190,12 +197,13 @@ module Entities name: 'Strade Ferrate Livornesi', logo: '1841/SFLI', color: 'brown', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: true, startable: false, }, @@ -206,12 +214,13 @@ module Entities logo: '1841/SB', color: 'gold', text_color: 'black', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: true, startable: false, }, @@ -221,12 +230,13 @@ module Entities logo: '1841/SFL_V2', color: 'lightBlue', text_color: 'black', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: true, startable: false, }, @@ -235,12 +245,13 @@ module Entities name: 'Azienda Ferroviaria Italica', logo: '1841/AFI', color: 'red', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -249,12 +260,13 @@ module Entities name: 'Azienda Trasporti Ferroviari Ausonia', logo: '1841/ATFA', color: 'orange', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -264,12 +276,13 @@ module Entities logo: '1841/CFCC', color: 'lightGreen', text_color: 'black', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -278,12 +291,13 @@ module Entities name: 'Compagnia Garibaldi per i Trasporti Ferroviari', logo: '1841/CGTF', color: 'green', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -293,12 +307,13 @@ module Entities logo: '1841/CTDA', color: 'lime', text_color: 'black', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -307,12 +322,13 @@ module Entities name: 'Compagnia Trasporti Subalpini', logo: '1841/CTS', color: 'turquoise', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -321,12 +337,13 @@ module Entities name: 'Impresa Centrale Strade Ferrate', logo: '1841/ICSF', color: 'navy', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -335,12 +352,13 @@ module Entities name: 'Impresa Ferroviaria Alta Italia', logo: '1841/IFAI', color: 'violet', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -350,12 +368,13 @@ module Entities logo: '1841/ILTF', color: 'pink', text_color: 'black', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -365,12 +384,13 @@ module Entities logo: '1841/RATF', color: 'lavender', text_color: 'black', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -380,12 +400,13 @@ module Entities logo: '1841/RSFS', color: 'bisque', text_color: 'black', - tokens: [], + tokens: [0, 0], type: 'major', shares: [20, 10, 10, 10, 10, 10, 10, 10, 10], float_percent: 20, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -395,12 +416,13 @@ module Entities logo: '1841/CTLP', color: 'white', text_color: 'black', - tokens: [], + tokens: [0], type: 'minor', shares: [40, 20, 20, 20], float_percent: 40, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -409,12 +431,13 @@ module Entities name: 'Ferrovie Trans Padane', logo: '1841/FTP', color: 'gray', - tokens: [], + tokens: [0], type: 'minor', shares: [40, 20, 20, 20], float_percent: 40, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, @@ -423,12 +446,13 @@ module Entities name: 'Società Leonardo Da Vinci', logo: '1841/SLDV', color: 'black', - tokens: [], + tokens: [0], type: 'minor', shares: [40, 20, 20, 20], float_percent: 40, max_ownership_percent: 60, always_market_price: true, + corporation_can_ipo: true, historical: false, startable: true, }, diff --git a/lib/engine/game/g_1841/game.rb b/lib/engine/game/g_1841/game.rb index 71a504bf56..592d593110 100644 --- a/lib/engine/game/g_1841/game.rb +++ b/lib/engine/game/g_1841/game.rb @@ -47,6 +47,7 @@ class Game < Game::Base SOLD_OUT_INCREASE = true POOL_SHARE_DROP = :one TRACK_RESTRICTION = :semi_restrictive + MIN_BID_INCREMENT = 5 MARKET = [ %w[72 83 95 107 120 133 147 164 182 202 224m 248 276 306 340x 377n 419 465 516], @@ -96,7 +97,6 @@ class Game < Game::Base tiles: %i[yellow green], operating_rounds: 2, status: %w[one_tile_per_base_max_2 start_non_hist concessions_removed], - events: [{ 'type' => 'phase4_regions' }], }, { name: '5', @@ -105,7 +105,6 @@ class Game < Game::Base tiles: %i[yellow green brown], operating_rounds: 3, status: %w[one_tile_per_or start_non_hist], - events: [{ 'type' => 'phase5_regions' }], }, { name: '6', @@ -133,12 +132,14 @@ class Game < Game::Base }, ].freeze - EVENTS_TEXT = Base::EVENTS_TEXT.merge( + EVENTS_TEXT = { + 'close_companies' => ['Concessions Close', + 'All concessions are discarded from the game'], 'phase4_regions' => ['Phase4 Regions', 'Conservative Zone border is eliminated; The Austrian possesions are limited to Veneto'], 'phase5_regions' => ['Phase5 Regions', 'Austrian possessions are eliminated; 1859-1866 Austrian border is deleted'], - ) + }.freeze TRAINS = [ { @@ -164,6 +165,7 @@ class Game < Game::Base price: 350, rusts_on: '7', num: 4, + events: [{ 'type' => 'close_companies' }, { 'type' => 'phase4_regions' }], }, { name: '5', @@ -171,6 +173,7 @@ class Game < Game::Base { 'nodes' => ['town'], 'pay' => 99, 'visit' => 99 }], price: 550, num: 2, + events: [{ 'type' => 'phase5_regions' }], }, { name: '6', @@ -195,7 +198,7 @@ class Game < Game::Base }, ].freeze - HOME_TOKEN_TIMING = :par + HOME_TOKEN_TIMING = nil SELL_BUY_ORDER = :sell_buy BANKRUPTCY_ENDS_GAME_AFTER = :all_but_one @@ -210,10 +213,28 @@ class Game < Game::Base { lay: true, upgrade: true, cost: 0, cannot_reuse_same_hex: true }, ].freeze + REAL_PHASE_TO_REV_PHASE = { + '2' => :white, + '3' => :white, + '4' => :gray, + '5' => :gray, + '6' => :black, + '7' => :black, + '8' => :black, + }.freeze + + CERT_LIMIT_INCLUDES_PRIVATES = false + MAX_CORPORATE_CERTS = 5 + def init_graph Graph.new(self, check_tokens: true) end + # only allow president shares in market on EMR/Frozen + def init_share_pool + SharePool.new(self, allow_president_sale: true) + end + # load non-standard corporation info def load_corporation_extended game_corporations.to_h do |cm| @@ -235,6 +256,8 @@ def setup @corporation_info = load_corporation_extended modify_regions(2, true) @border_paths = nil + update_frozen! + corporations.each { |corp| @corporation_info[corp][:operated] = false } end def select_track_graph @@ -259,11 +282,13 @@ def token_graph_for_entity(_entity) def clear_graph_for_entity(entity) super + token_graph_for_entity(entity).clear @border_paths = nil end def clear_token_graph_for_entity(entity) super + graph_for_entity(entity).clear @border_paths = nil end @@ -307,16 +332,16 @@ def remove_region(hex, edge) end def calc_border_paths - border_paths = {} + b_paths = {} @hexes.each do |hex| hex_border_edges = hex.tile.borders.select { |b| b.type == :province }.map(&:edge) next if hex_border_edges.empty? hex.tile.paths.each do |path| - border_paths[path] = true unless (path.edges & hex_border_edges).empty? + b_paths[path] = true unless (path.edges.map(&:num) & hex_border_edges).empty? end end - border_paths + b_paths end def border_paths @@ -332,24 +357,78 @@ def region_border?(hex, edge) end def major?(entity) - entity.corporation? && (entity.type == :major) + entity&.corporation? && (entity.type == :major) + end + + def historical?(entity) + entity&.corporation? && @corporation_info[entity][:historical] + end + + def startable?(entity) + entity&.corporation? && @corporation_info[entity][:startable] end - # returns a list of cities with tokens for this corporation + # returns a list of tokens on cities for this corporation def railheads(entity) - return [] unless entity.corporation? + return [] unless entity&.corporation? - entity.tokens.select { |t| t.used && t.city && !t.city.pass? }.map(&:city) + entity.tokens.select { |t| t.used && t.city && !t.city.pass? } end def skip_token?(_graph, _corporation, city) city.pass? end - # FIXME: need to deal with SFMA and non-historical corps - def place_home_token(corporation) - return if corporation.tokens.first&.used # FIXME: will this work if this token is sold to another corp? + def all_token_cities + ZONES.flatten + end + + def austrian_cities + if @phase.name.to_i < 4 + (ZONES[3] | ZONES[4]) + else + [] + end + end + + def reserved_cities + if @phase.name.to_i < 4 + HISTORICAL_CITIES + else + [] + end + end + + def home_token_locations(corporation) + if corporation.name == 'SFMA' + [hex_by_id(corporation.coordinates)] + elsif major?(corporation) + # major non-historical + if corporation.tokens.first&.used + home_hex = corporation.tokens.first.city.hex.name + zone = ZONES.index { |z| z.include?(home_hex) } + # need to account for regions merging on and after phase 4 + major_pool = if @phase.name.to_i < 4 + ZONES[zone].dup + elsif @phase.name.to_i == 4 + zone < 4 ? (all_token_cities - ZONE[4]) : ZONE[4].dup + else + all_token_cities + end + major_pool -= [home_hex] + else + major_pool = all_token_cities + end + (major_pool - reserved_cities - austrian_cities).map { |h| hex_by_id(h) } + else + # minor non-historical + minor_pool = (all_token_cities - reserved_cities - austrian_cities - MAJOR_CITIES).map { |h| hex_by_id(h) } + minor_pool.reject { |h| h.tile.cities.any?(&:tokened?) } + end + end + # SFMA and non-historical corps are dealt with elsewhere + def place_home_token(corporation) Array(corporation.coordinates).each do |coord| hex = hex_by_id(coord) tile = hex&.tile @@ -363,6 +442,88 @@ def place_home_token(corporation) @graph.clear end + # from https://www.redblobgames.com/grids/hexagons + def doubleheight_coordinates(hex) + [hex.id[1..-1].to_i, hex.id[0].ord - 'A'.ord] # works because AZ isn't close to a home city + end + + def hex_distance(hex_a, hex_b) + x_a, y_a = doubleheight_coordinates(hex_a) + x_b, y_b = doubleheight_coordinates(hex_b) + + # from https://www.redblobgames.com/grids/hexagons#distances + # this game essentially uses double-height coordinates + dx = (x_a - x_b).abs + dy = (y_a - y_b).abs + distance = hex_a == hex_b ? -1 : [0, dx + [0, (dy - dx) / 2].max - 1].max + distance + 1 + end + + def tile_laid_at_exit?(hex) + hex.tile.exits.any? do |e| + next if hex.tile.borders.any? { |b| b.edge == e && ((b.type == :impassable) || (b.type == :province)) } + + neighbor = hex_neighbor(hex, e) + neighbor && !neighbor.tile.preprinted + end + end + + def hex_connected?(hex) + !hex.tile.preprinted || # any tile has been laid here + (!hex.tile.paths.empty? && !hex.tile.cities.empty?) || # pre-printed with track and a city + (!hex.tile.paths.empty? && tile_laid_at_exit?(hex)) # pre-printed with track and tile connecting to it + end + + def search_hexes(current_hex, hex_list, start_hex) + hex_list << current_hex + distance = hex_distance(current_hex, start_hex) + @min_connected_distance = distance if hex_connected?(current_hex) && (distance < @min_connected_distance) + return if distance >= 2 + + 6.times do |edge| + neighbor = hex_neighbor(current_hex, edge) + next unless neighbor + next if hex_list.include?(neighbor) + next if hex_distance(neighbor, start_hex) > 2 + next if current_hex.tile.borders.any? { |b| b.edge == edge && ((b.type == :impassable) || (b.type == :province)) } + + search_hexes(neighbor, hex_list, start_hex) + end + end + + def hex_price(token_hex) + hex_list = [] + @min_connected_distance = 3 + search_hexes(token_hex, hex_list, token_hex) + case @min_connected_distance + when 3 + 25 + when 2 + 50 + when 1 + 100 + else + 200 + end + end + + def token_price(corporation) + if historical?(corporation) + 50 + else + price = hex_price(corporation.tokens.first.city.hex) + price = [price, hex_price(corporation.tokens[1].city.hex)].max if corporation.tokens[1]&.used + price + end + end + + def purchase_tokens!(corporation, count, price) + min = major?(corporation) ? 2 : 1 + (count - min).times { corporation.tokens << Token.new(corporation, price: 0) } + corporation.spend((cost = price * count), @bank) + @log << "#{corporation.name} buys #{count} tokens for #{format_currency(cost)}" + end + def legal_tile_rotation?(_entity, _hex, tile) return true unless NO_ROTATION_TILES.include?(tile.name) @@ -378,48 +539,364 @@ def transfer_share(share, new_owner) share.owner = new_owner end - # FIXME def ipo_name(_corp) - 'Treasury' + 'IPO' end - # FIXME def corporation_available?(corp) - super + (historical?(corp) && startable?(corp)) || + (!historical?(corp) && (@phase.name.to_i >= 3)) + end + + def concession_ok?(player, corp) + return true if @phase.name.to_i >= 4 + return true unless historical?(corp) + return false unless player.player? + + player.companies.any? { |c| c.sym == corp.name } end - # FIXME def can_par?(corporation, entity) return false unless corporation_available?(corporation) + return false unless concession_ok?(entity, corporation) super end - # FIXME + def new_auction_round + Engine::Round::Auction.new(self, [ + G1841::Step::ConcessionAuction, + ]) + end + + def auction_companies + companies.dup + end + + # reorder players by least cash. + # - if tied, lowest numbered concession + # - if tied, original order + def init_reorder_players + current_order = @players.dup + lowest_concession = {} + @players.each do |p| + lowest = p.companies.min_by { |c| @companies.index(c) } + lowest_concession[p] = lowest ? @companies.index(lowest) : -1 + end + @players.sort_by! { |p| [p.cash, lowest_concession[p], current_order.index(p)] } + @log << '-- New player order: --' + @players.each.with_index do |p, idx| + pd = idx.zero? ? ' - Priority Deal -' : '' + @log << "#{p.name}#{pd} (#{format_currency(p.cash)})" + end + end + + def init_round_finished + companies.reject { |c| c&.owner&.player? }.each do |c| + c.owner = bank + @log << "#{c.name} (#{c.sym}) has not been bought and is moved to the bank" + end + end + def stock_round - Engine::Round::Stock.new(self, [ + G1841::Round::Stock.new(self, [ Engine::Step::DiscardTrain, - # G1841::Step::BuyTOkens, - Engine::Step::BuySellParShares, + G1841::Step::HomeToken, + G1841::Step::BuyTokens, + G1841::Step::BuySellParShares, ]) end # FIXME def operating_round(round_num) - Engine::Round::Operating.new(self, [ + G1841::Round::Operating.new(self, [ G1841::Step::Track, - Engine::Step::Token, # FIXME + Engine::Step::Token, Engine::Step::Route, - Engine::Step::Dividend, - # G1841::Step::BuyToken, + G1841::Step::Dividend, + G1841::Step::BuyToken, Engine::Step::DiscardTrain, Engine::Step::BuyTrain, - # G1841::Step::SellCorpShares, - # G1841::Step::BuyCorpShares, + G1841::Step::HomeToken, + G1841::Step::BuyTokens, + G1841::Step::CorporateBuySellParShares, # G1841::Step::Merge, # G1841::Step::Transform, ], round_num: round_num) end + + def next_round! + @round = + case @round + when Round::Stock + @operating_rounds = @phase.operating_rounds + reorder_players + new_operating_round + when Round::Operating + if @round.round_num < @operating_rounds + or_round_finished + new_operating_round(@round.round_num + 1) + else + @turn += 1 + or_round_finished + or_set_finished + new_stock_round + end + when init_round.class + init_round_finished + init_reorder_players + new_stock_round + end + end + + def bayard + @bayard ||= company_by_id('Bayard') + end + + def return_concessions! + companies.each do |c| + next if c == bayard + next unless c&.owner&.player? + next if corporation_by_id(c.sym).ipoed + + player = c.owner + player.companies.delete(c) + c.owner = bank + @log << "#{c.name} (#{c.sym}) has not been used by #{player.name} and is returned to the bank" + end + end + + def finish_stock_round + payout_companies + return_concessions! + end + + # implement non-standard offboard colors + def game_route_revenue(stop, phase, train) + return 0 unless stop + + if stop.offboard? + stop.revenue[REAL_PHASE_TO_REV_PHASE[phase.name]] + else + stop.route_revenue(phase, train) + end + end + + def revenue_for(route, stops) + stops.sum { |stop| game_route_revenue(stop, route.phase, route.train) } + end + + # route must have at least two cities, non-port towns or offboards + # - passes and ports don't count + def check_other(route) + required_stops = route.visited_stops.count do |stop| + !stop.pass? && !(stop.town? && stop.tile.icons.any? { |i| i.name == 'port' }) + end + raise GameError, 'Route must have at least 2 cities, non-port towns or offboards' unless required_stops > 1 + end + + # return a list of owners from the current corporation to a human (or the share pool) + # return nil if circular chain of ownership + def chain_of_control(entity) + return [entity] unless entity&.corporation? + + owner = entity&.owner + chain = [owner] + while owner&.corporation? + owner = owner&.owner + if chain.include?(owner) + chain << share_pool + return chain + end + + chain << owner + end + chain + end + + # find the human in control if there is one, or the share pool if not + def controller(entity) + return entity unless entity.corporation? + + chain_of_control(entity)&.last + end + + # return list of corporations controlled by a given player + def controlled_corporations(entity) + return [] unless entity&.player? + + controlled = [] + corporations.each do |corp| + next if controlled.include?(corp) + + controlled << corp if controller(corp) == entity + end + controlled + end + + def in_chain?(entity1, entity2) + chain_of_control(entity1).include?(entity2) + end + + def player_controlled_percentage(buyer, corporation) + human = controller(buyer) + total_percent = human.common_percent_of(corporation) + controlled_corporations(human).each do |c| + next if c == corporation + + total_percent += c.common_percent_of(corporation) + end + total_percent + end + + def acting_for_entity(entity) + return entity if entity&.player? + return controller(entity) if entity&.corporation? + + super + end + + def frozen?(entity) + entity.corporation? && @corporation_info[entity][:frozen] + end + + def frozen_corporations + corporations.select { |corp| frozen?(corp) } + end + + def update_frozen! + corporations.each do |corp| + frozen = corp.ipoed && !controller(corp)&.player? + @log << "#{corp.name} is no longer frozen" if frozen?(corp) && !frozen + @log << "#{corp.name} is now frozen" if !frozen?(corp) && frozen + @corporation_info[corp][:frozen] = frozen + end + end + + # A corp is not considered to have operated until the end of it's first OR + def done_operating!(entity) + return unless entity&.corporation? + + @log << "#{entity.name} has finished operating for the first time" unless operated?(entity) + + @corporation_info[entity][:operated] = true + end + + def operated?(entity) + return nil unless entity&.corporation? + + @corporation_info[entity][:operated] + end + + def check_sale_timing(_entity, bundle) + operated?(bundle.corporation) + end + + def num_certs(entity) + return super unless entity&.corporation? + + entity.shares.sum do |s| + (s.corporation != entity) && s.corporation.counts_for_limit && s.counts_for_limit ? s.cert_size : 0 + end + end + + def cert_limit(entity) + return super unless entity&.corporation? + + MAX_CORPORATE_CERTS + end + + def corporations_can_ipo? + true + end + + def separate_treasury? + true + end + + def player_sort(entities) + entities.sort_by { |entity| [operating_order.index(entity) || Float::INFINITY, entity.name] } + .group_by { |e| acting_for_entity(e) } + end + + def possible_presidents + players.reject(&:bankrupt) + corporations.select(&:floated?).reject(&:closed?).sort + end + + # for 1841, this means frozen + def receivership_corporations + frozen_corporations + end + + def status_str(corp) + return unless frozen?(corp) + + 'FROZEN' + end + + def company_header(_company) + 'CONCESSION' + end + + # FIXME + def allow_player2player_sales? + false + end + + def event_close_companies! + @log << '-- Event: Concessions close --' + @companies.each do |company| + if (ability = abilities(company, :close, on_phase: 'any')) && (ability.on_phase == 'never' || + @phase.phases.any? { |phase| ability.on_phase == phase[:name] }) + next + end + + corp = corporation_by_id(company.sym) + deferred_president_change(corp) if corp&.ipoed + + company.close! + end + end + + def pres_change_ok?(corporation) + (@phase.name.to_i >= 4) || !historical?(corporation) + end + + # change president if needed + def deferred_president_change(corporation) + previous_president = corporation.owner + max_shares = corporation.player_share_holders.values.max + majority_share_holders = corporation.player_share_holders.select { |_, p| p == max_shares }.keys + return if majority_share_holders.any? { |entity| entity == previous_president } + + president = majority_share_holders + .select { |p| p.percent_of(corporation) >= corporation.presidents_percent } + .min_by { |p| @share_pool.distance(previous_president, p) } + return unless president + + corporation.owner = president + @log << "#{president.name} becomes the president of #{corporation.name}" + + presidents_share = previous_president.shares_of(corporation).find(&:president) + + # swap shares so new president has president share + @share_pool.change_president(presidents_share, previous_president, president) + end + + def buyable_bank_owned_companies + return [] unless @turn > 1 + + super + end + + # passes and only passes upgrade only to passes + def upgrades_to?(from, to, special = false, selected_company: nil) + from_pass_size = from.cities.any?(&:pass?) ? from.cities[0].size : 0 + to_pass_size = to.cities.any?(&:pass?) ? to.cities[0].size : 0 + return false if from_pass_size != to_pass_size + + super + end end end end diff --git a/lib/engine/game/g_1841/map.rb b/lib/engine/game/g_1841/map.rb index 96b05c08c3..3c7f981795 100644 --- a/lib/engine/game/g_1841/map.rb +++ b/lib/engine/game/g_1841/map.rb @@ -94,7 +94,7 @@ module Map { 'count' => 2, 'color' => 'brown', - 'code' => 'pass=revenue:0;path=a:0,b:_0;path=a:3,b:_0', + 'code' => 'pass=revenue:0,size:2;path=a:0,b:_0;path=a:3,b:_0', }, '611' => 3, '612' => 1, @@ -120,19 +120,19 @@ module Map { 'count' => 1, 'color' => 'brown', - 'code' => 'pass=revenue:0;path=a:0,b:_0;path=a:1,b:_0;path=a:3,b:_0;path=a:4,b:_0', + 'code' => 'pass=revenue:0,slots:2;path=a:0,b:_0;path=a:1,b:_0;path=a:3,b:_0;path=a:4,b:_0', }, '617' => { 'count' => 1, 'color' => 'brown', - 'code' => 'pass=revenue:0;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0', + 'code' => 'pass=revenue:0,slots:2;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0', }, '618' => { 'count' => 1, 'color' => 'brown', - 'code' => 'pass=revenue:0;path=a:0,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0', + 'code' => 'pass=revenue:0,slots:2;path=a:0,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0', }, '619' => 2, '621' => 2, @@ -171,9 +171,9 @@ module Map N6: 'Savona', A7: 'Gotthard', C7: 'Lugano', - E7: 'Buso Arsizio', + E7: 'Busto Arsizio', M7: 'Genova', - D8: 'Como', + D8: 'Cosmo', F8: 'Milano', H8: 'Pavia', E9: 'Bergamo', @@ -185,7 +185,7 @@ module Map K11: 'Parma', Q11: 'Pisa', S11: 'Livorno', - H12: 'Montova', + H12: 'Mantova', L12: "Reggio nell'Emilia", P12: 'Lucca', C13: 'Trento & Brennero', @@ -339,6 +339,17 @@ module Map }, }.freeze + ZONES = [ + %w[H4 J6 M3 M7], # 0 PIEDMONT + %w[R14 P12 Q11 S11], # 1 TUSCANY + %w[K11 L12 K13 L14 K15], # 2 CONSERVATIVE_ZONE + %w[C7 D8 E7 F8 E9 H8 H10 E11], # 3 LOMBARDIA + %w[H12 G13 F14 G15 F16 D16], # 4 VENETO + ].freeze + + MAJOR_CITIES = %w[L14 R14 M7 F8 H4 F16].freeze + HISTORICAL_CITIES = %w[F8 F16 H4 J6 M3 R14 P12 Q11].freeze + AXES = { x: :number, y: :letter }.freeze end end diff --git a/lib/engine/game/g_1841/round/operating.rb b/lib/engine/game/g_1841/round/operating.rb new file mode 100644 index 0000000000..5bcbd9799f --- /dev/null +++ b/lib/engine/game/g_1841/round/operating.rb @@ -0,0 +1,74 @@ +# frozen_string_literal: true + +require_relative '../../../round/operating' + +module Engine + module Game + module G1841 + module Round + class Operating < Engine::Round::Operating + def setup + @current_operator = nil + @home_token_timing = @game.class::HOME_TOKEN_TIMING + @entities.each { |c| @game.place_home_token(c) } if @home_token_timing == :operating_round + (@game.corporations + @game.minors + @game.companies).each(&:reset_ability_count_this_or!) + after_setup + end + + def after_process(action) + return if action.type == 'message' + + @current_operator_acted = true if action.entity.corporation == @current_operator + + if active_step + entity = @entities[@entity_index] + control = @game.controller(entity) + return if control&.player? || control&.share_pool? + end + + after_end_of_turn(@current_operator) + + next_entity! unless @game.finished + end + + def next_entity! + after_operating(@entities[@entity_index]) + super + end + + def start_operating + entity = @entities[@entity_index] + + if @game.frozen?(entity) + frozen_operation(entity) + @steps.each(&:pass!) + end + + super + end + + def after_operating(entity) + return unless entity&.corporation? + + @game.done_operating!(entity) + end + + def frozen_operation(entity) + @log << "Frozen operation for #{entity.name}" + + # move share price 2x to the left + old_price = entity.share_price + 2.times { @game.stock_market.move_left(entity) } + @game.log_share_price(entity, old_price, 2) + + # sell shares of controlling corps + entity.corporate_shares.select { |s| @game.in_chain?(entity, s.corporation) }.each do |share| + @game.sell_shares_and_change_price(share.to_bundle, allow_president_change: true) + end + @game.update_frozen! + end + end + end + end + end +end diff --git a/lib/engine/game/g_1841/round/stock.rb b/lib/engine/game/g_1841/round/stock.rb new file mode 100644 index 0000000000..7a7a643789 --- /dev/null +++ b/lib/engine/game/g_1841/round/stock.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +require_relative '../../../round/stock' + +module Engine + module Game + module G1841 + module Round + class Stock < Engine::Round::Stock + def finish_round + corporations_to_move_price.sort.each do |corp| + next unless corp.share_price + + old_price = corp.share_price + + sold_out_stock_movement(corp) if sold_out?(corp) && @game.sold_out_increase?(corp) + pool_share_drop = @game.class::POOL_SHARE_DROP + price_drops = + if (pool_share_drop == :none) || (shares_in_pool = corp.num_market_shares).zero? + 0 + elsif pool_share_drop == :one + @game.frozen?(corp) ? 2 : 1 + else + shares_in_pool + end + price_drops.times { @game.stock_market.move_down(corp) } + + @game.log_share_price(corp, old_price) + end + @game.finish_stock_round + end + end + end + end + end +end diff --git a/lib/engine/game/g_1841/step/buy_sell_par_shares.rb b/lib/engine/game/g_1841/step/buy_sell_par_shares.rb new file mode 100644 index 0000000000..53ba98974b --- /dev/null +++ b/lib/engine/game/g_1841/step/buy_sell_par_shares.rb @@ -0,0 +1,124 @@ +# frozen_string_literal: true + +require_relative '../../../step/buy_sell_par_shares' +require_relative '../../../step/share_buying' +require_relative '../../../action/buy_shares' +require_relative '../../../action/par' +require_relative 'corp_start' + +module Engine + module Game + module G1841 + module Step + class BuySellParShares < Engine::Step::BuySellParShares + include CorpStart + def description + 'Sell then Buy Shares or Concessions' + end + + def round_state + super.merge({ corp_started: nil }) + end + + def setup + super + @round.corp_started = nil + end + + # FIXME + def purchasable_companies(_entity) + [] + end + + def can_buy_multiple?(entity, corporation, _owner) + @round.current_actions.any? { |x| x.is_a?(Action::Par) && x.corporation == corporation } && + entity.percent_of(corporation) < 40 + end + + def can_buy?(entity, bundle) + return unless bundle + return unless bundle.buyable + return if bundle.owner.corporation? && bundle.owner != bundle.corporation # can't buy non-IPO shares in treasury + return if bundle.owner.player? && entity.player? && !@game.allow_player2player_sales? + return if bundle.owner.player? && entity.corporation? + + super + end + + def can_gain?(entity, bundle, exchange: false) + return if !bundle || !entity + + corporation = bundle.corporation + + # can't exceed cert limit + (!corporation.counts_for_limit || exchange || @game.num_certs(entity) < @game.cert_limit(entity)) && + # can't allow player to control too much + ((@game.player_controlled_percentage(entity, + corporation) + bundle.common_percent) <= corporation.max_ownership_percent) + end + + def can_dump?(entity, bundle) + super && (!bundle.presidents_share || @game.pres_change_ok?(bundle.corporation)) + end + + def pass! + super + post_share_pass_step! if @round.corp_started + end + + def log_pass(entity) + return super unless @round.corp_started + + @log << "#{entity.name} declines to purchase additional shares of #{@round.corp_started.name}" + end + + def sell_shares(entity, shares, swap: nil) + old_frozen = @game.frozen_corporations + raise GameError, "Cannot sell shares of #{shares.corporation.name}" if !can_sell?(entity, shares) && !swap + + @round.players_sold[shares.owner][shares.corporation] = :now + @game.sell_shares_and_change_price(shares, swap: swap, + allow_president_change: @game.pres_change_ok?(shares.corporation)) + @game.update_frozen! + return if @game.frozen_corporations.none? { |c| !old_frozen.include?(c) } + + raise GameError, 'Cannot sell if it causes a circular chain of ownership' + end + + def process_buy_shares(action) + old_frozen = @game.frozen_corporations + @round.players_bought[action.entity][action.bundle.corporation] += action.bundle.percent + @round.bought_from_ipo = true if action.bundle.owner.corporation? + buy_shares(action.purchase_for || action.entity, action.bundle, + swap: action.swap, borrow_from: action.borrow_from, + allow_president_change: @game.pres_change_ok?(action.bundle.corporation)) + track_action(action, action.bundle.corporation) + @game.update_frozen! + return if @game.frozen_corporations.none? { |c| !old_frozen.include?(c) } + + raise GameError, 'Cannot purchase if it causes a circular chain of ownership' + end + + def process_par(action) + @round.corp_started = action.corporation + super + end + + def visible_corporations + @game.corporations.reject { |c| c.closed? || (@game.historical?(c) && !@game.startable?(c)) } + end + + def can_buy_company?(player, company) + !bought? && super + end + + def process_buy_company(action) + super + @round.last_to_act = action.entity.player + @round.current_actions << action + end + end + end + end + end +end diff --git a/lib/engine/game/g_1841/step/buy_token.rb b/lib/engine/game/g_1841/step/buy_token.rb new file mode 100644 index 0000000000..f1664376ca --- /dev/null +++ b/lib/engine/game/g_1841/step/buy_token.rb @@ -0,0 +1,135 @@ +# frozen_string_literal: true + +require_relative '../../../step/base' + +module Engine + module Game + module G1841 + module Step + class BuyToken < Engine::Step::Base + ACTIONS = %w[buy_token pass].freeze + MIN_PRICE = 1 + + def actions(entity) + return [] unless entity == current_entity + return [] unless can_buy_token?(entity) + + ACTIONS + end + + def round_state + super.merge( + { + bought_token: false, + } + ) + end + + def setup + super + @round.bought_token = false + end + + def can_buy_token?(entity) + current_entity == entity && + !@round.bought_token && + !available_tokens(entity).empty? && + MIN_PRICE <= buying_power(entity) + end + + def available_tokens(entity) + entity.tokens_by_type + end + + def can_sell_token?(token) + token.corporation.placed_tokens.size > 1 + end + + # look for any cities reachable from entity that are tokened by another corporation that + # has at least 2 tokens placed + # + # this is expensive - move to auto_actions + def any_buyable_tokens_placed?(entity) + @game.token_graph_for_entity(entity).connected_nodes(entity).keys.each do |node| + next unless node.city? + + node.tokens.each do |token| + next unless token + next if token.corporation == entity + + return true if can_sell_token?(token) + end + end + false + end + + def auto_actions(entity) + return [Engine::Action::Pass.new(entity)] unless any_buyable_tokens_placed?(entity) + + super + end + + # 1841 doesn't allow more than one token per corporation per tile + def can_token_city?(entity, city) + city.tile.nodes.select(&:city?).none? { |c| c.tokened_by?(entity) } + end + + def can_replace_token?(entity, token) + return false unless token + + other_corporation = token.corporation + city = token.city + entity != other_corporation && + other_corporation.player && + token.used && + city && + can_token_city?(entity, city) && + other_corporation.placed_tokens.size > 1 && + @game.token_graph_for_entity(entity).connected_nodes(entity)[city] + end + + def description + 'Buy a Token From Another Corporation' + end + + def pass_description + 'Skip (Buy a Token)' + end + + def max_price(entity) + buying_power(entity) + end + + def available_hex(entity, hex) + @game.token_graph_for_entity(entity).reachable_hexes(entity)[hex] + end + + def process_buy_token(action) + entity = action.entity + city = action.city + slot = action.slot + price = action.price + old_token = city.tokens[slot] + + raise GameError, 'No token available to place' unless (new_token = entity.unplaced_tokens.first) + raise GameError, 'Cannot replace token' if !@game.loading && !can_replace_token?(entity, old_token) + raise GameError, 'Insufficient cash for token' if buying_power(entity) < price + + old_token.remove! + city.exchange_token(new_token) + entity.spend(price, old_token.corporation) + @game.log << "#{entity.name} buys (replaces) #{old_token.corporation.name} token on #{city.hex.id} for "\ + "#{@game.format_currency(price)} (paid to #{old_token.corporation.name})" + + @round.bought_token = true + @game.token_graph_for_entity(entity).clear + end + + def real_owner(corporation) + corporation.player + end + end + end + end + end +end diff --git a/lib/engine/game/g_1841/step/buy_tokens.rb b/lib/engine/game/g_1841/step/buy_tokens.rb new file mode 100644 index 0000000000..8e9b7c4872 --- /dev/null +++ b/lib/engine/game/g_1841/step/buy_tokens.rb @@ -0,0 +1,88 @@ +# frozen_string_literal: true + +require_relative '../../../step/base' + +module Engine + module Game + module G1841 + module Step + class BuyTokens < Engine::Step::Base + def actions(entity) + return [] unless entity == pending_entity + + %w[choose] + end + + def active? + pending_entity + end + + def current_entity + pending_entity + end + + def pending_entity + pending_buy[:entity] + end + + def pending_price + pending_buy[:price] + end + + def pending_min + pending_buy[:min] + end + + def pending_max + pending_buy[:max] + end + + def pending_buy + @round.buy_tokens&.first || {} + end + + def description + 'Buy Tokens' + end + + def process_choose(action) + @game.purchase_tokens!(pending_entity, action.choice.to_i, pending_price) + + @round.buy_tokens.shift + end + + def choice_available?(entity) + pending_entity == entity + end + + def choice_name + 'Number of Tokens to Buy' + end + + def choices + Array.new(pending_max - pending_min + 1) do |i| + num = i + pending_min + next if (num > pending_min) && ((num * pending_price) > pending_entity.cash) + + emr = pending_min * pending_price > pending_entity.cash ? ' - EMR' : '' + + [num, "#{num} (#{@game.format_currency(num * pending_price)}#{emr})"] + end.compact.to_h + end + + def visible_corporations + [pending_entity] + end + + def round_state + super.merge( + { + buy_tokens: [], + } + ) + end + end + end + end + end +end diff --git a/lib/engine/game/g_1841/step/concession_auction.rb b/lib/engine/game/g_1841/step/concession_auction.rb new file mode 100644 index 0000000000..341e0645ee --- /dev/null +++ b/lib/engine/game/g_1841/step/concession_auction.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +require_relative '../../../step/concession_auction' + +module Engine + module Game + module G1841 + module Step + class ConcessionAuction < Engine::Step::ConcessionAuction + MIN_BID = 20 + + def description + if @auctioning + 'Bid on Selected Concession' + else + 'Bid on Concession' + end + end + + def min_bid(company) + return unless company + + high_bid = highest_bid(company) + high_bid ? high_bid.price + min_increment : MIN_BID + end + end + end + end + end +end diff --git a/lib/engine/game/g_1841/step/corp_start.rb b/lib/engine/game/g_1841/step/corp_start.rb new file mode 100644 index 0000000000..1e7134cb6e --- /dev/null +++ b/lib/engine/game/g_1841/step/corp_start.rb @@ -0,0 +1,65 @@ +# frozen_string_literal: true + +require_relative '../../../step/base' + +module Engine + module Game + module G1841 + module Step + module CorpStart + def post_share_pass_step! + return unless @round.corp_started + + corp = @round.corp_started + if @game.historical?(corp) && corp.name != 'SFMA' + @game.place_home_token(corp) + post_token_lay_step! + else + @log << "#{corp.name} must choose city for home token" + @round.pending_tokens << { + entity: corp, + hexes: @game.home_token_locations(corp), + token: corp.tokens[0], + } + if @game.major?(corp) + # major corps may lay two tokens + @round.pending_tokens << { + entity: corp, + hexes: [], + token: corp.tokens[1], + } + end + @round.clear_cache! + end + end + + def post_token_lay_step! + return unless @round.corp_started + + corp = @round.corp_started + if @game.major?(corp) + min = 2 + max = 5 + else + min = 1 + max = 2 + end + @log << "#{corp.name} must buy between #{min} and #{max} tokens" + price = @game.token_price(corp) + @log << if @game.historical?(corp) + "Each token costs #{@game.format_currency(price)}" + else + "Based on token placement, each token costs #{@game.format_currency(price)}" + end + @round.buy_tokens << { + entity: corp, + price: price, + min: min, + max: max, + } + end + end + end + end + end +end diff --git a/lib/engine/game/g_1841/step/corporate_buy_sell_par_shares.rb b/lib/engine/game/g_1841/step/corporate_buy_sell_par_shares.rb new file mode 100644 index 0000000000..0a65a847fe --- /dev/null +++ b/lib/engine/game/g_1841/step/corporate_buy_sell_par_shares.rb @@ -0,0 +1,69 @@ +# frozen_string_literal: true + +require_relative 'buy_sell_par_shares' + +module Engine + module Game + module G1841 + module Step + class CorporateBuySellParShares < BuySellParShares + def description + 'Corporate Sell then Buy Shares' + end + + def pass_description + if @round.current_actions.empty? + 'Pass (Corporate Share)' + else + 'Done (Corporate Share)' + end + end + + # FIXME + def must_sell?(_entity) + nil + end + + def can_sell_any?(entity) + entity.corporate_shares.select { |share| can_sell?(entity, share.to_bundle) }.any? || + entity.ipo_shares.select { |share| can_sell?(entity, share.to_bundle) }.any? + end + + def can_buy_any_from_market?(entity) + @game.share_pool.shares.any? { |s| can_buy?(entity, s.to_bundle) } + end + + def can_buy_any_from_ipo?(entity) + @game.corporations.each do |corporation| + next unless corporation.ipoed + return true if corporation.shares.any? { |s| can_buy?(entity, s.to_bundle) } + end + + false + end + + def can_buy?(entity, bundle) + return unless bundle + return if entity == bundle.corporation + + super + end + + def can_gain?(entity, bundle, exchange: false) + return if !bundle || !entity + + corporation = bundle.corporation + + # can't buy controlling corp + !@game.in_chain?(entity, corporation) && + # can't allow buyer to have more than 5 certs of a given corporation + (@game.num_certs(entity) < @game.cert_limit(entity)) && + # can't allow player to control too much + ((@game.player_controlled_percentage(entity, + corporation) + bundle.common_percent) <= corporation.max_ownership_percent) + end + end + end + end + end +end diff --git a/lib/engine/game/g_1841/step/dividend.rb b/lib/engine/game/g_1841/step/dividend.rb new file mode 100644 index 0000000000..3162220d68 --- /dev/null +++ b/lib/engine/game/g_1841/step/dividend.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +require_relative '../../../step/dividend' + +module Engine + module Game + module G1841 + module Step + class Dividend < Engine::Step::Dividend + def share_price_change(entity, revenue = 0) + price = entity.share_price.price + return { share_direction: :left, share_times: 1 } unless revenue.positive? + + if revenue > price + { share_direction: :right, share_times: 1 } + else + {} + end + end + end + end + end + end +end diff --git a/lib/engine/game/g_1841/step/home_token.rb b/lib/engine/game/g_1841/step/home_token.rb new file mode 100644 index 0000000000..e2f59f4032 --- /dev/null +++ b/lib/engine/game/g_1841/step/home_token.rb @@ -0,0 +1,48 @@ +# frozen_string_literal: true + +require_relative '../../../step/home_token' +require_relative 'corp_start' + +module Engine + module Game + module G1841 + module Step + class HomeToken < Engine::Step::HomeToken + include CorpStart + def actions(entity) + return [] unless entity == pending_entity + return %w[place_token pass] if can_pass? + + ACTIONS + end + + def can_pass? + @round.pending_tokens.one? && @game.major?(token.corporation) + end + + def pass! + @round.pending_tokens.shift + post_token_lay_step! + end + + def process_place_token(action) + super + unless @round.pending_tokens.empty? + # update legal token locations now that the first token has been placed + legal_hexes = @game.home_token_locations(token.corporation) + if legal_hexes.empty? + # nowhere to place a token => bail on the 2nd token + @log << "No legal second token location for #{token.corporation.name}" + @round.pending_tokens.shift + else + @round.pending_tokens.first[:hexes] = legal_hexes + end + end + + post_token_lay_step! if @round.pending_tokens.empty? + end + end + end + end + end +end diff --git a/lib/engine/game/g_1841/step/track.rb b/lib/engine/game/g_1841/step/track.rb index 51ccb158fb..cc513d79a2 100644 --- a/lib/engine/game/g_1841/step/track.rb +++ b/lib/engine/game/g_1841/step/track.rb @@ -54,7 +54,7 @@ def check_track_restrictions!(entity, old_tile, new_tile) end def find_railhead(entity, railheads, old_tile, new_tile) - return nil if railheads.empty? + return nil if !railheads || railheads.empty? graph = @game.graph_for_entity(entity) old_paths = old_tile.paths # will this work if old_tile has been reusused already? @@ -63,14 +63,14 @@ def find_railhead(entity, railheads, old_tile, new_tile) next if old_paths.find { |path| np <= path } railheads.each do |t| - return t if graph.connected_paths_by_token(entity, t).include?(np) + return t if graph.connected_paths_by_token(entity, t.city).include?(np) end end # if we are here, must be an upgraded city/town new_tile.nodes each do |n| railheads.each do |t| - return t if graph.connected_nodes_by_token(entity, t).include?(n) + return t if graph.connected_nodes_by_token(entity, t.city).include?(n) end end @@ -95,7 +95,7 @@ def unused_railheads(entity) def railhead_connected(entity, hex) unused_railheads(entity).each do |t| - return true if @game.graph_for_entity(entity).connected_hexes_by_token(entity, t)[hex] + return true if @game.graph_for_entity(entity).connected_hexes_by_token(entity, t.city)[hex] end false end diff --git a/lib/engine/game/g_1847_ae/game.rb b/lib/engine/game/g_1847_ae/game.rb index c280719a35..16cb8ae833 100644 --- a/lib/engine/game/g_1847_ae/game.rb +++ b/lib/engine/game/g_1847_ae/game.rb @@ -30,6 +30,8 @@ class Game < Game::Base CERT_LIMIT = { 3 => 16, 4 => 12, 5 => 9 }.freeze STARTING_CASH = { 3 => 500, 4 => 390, 5 => 320 }.freeze + LAST_TRANCH_CORPORATIONS = %w[NDB M N RNB].freeze + MARKET = [ ['', '', '', '', '130', '150', '170', '190', '210', '230', '255', '285', '315', '350', '385', '420'], ['', '', '98', '108', '120', '135', '150', '170', '190', '210', '235', '260', '285', '315', '350', '385'], @@ -54,7 +56,7 @@ class Game < Game::Base train_limit: 3, tiles: [:yellow], operating_rounds: 1, - status: %w[investor_exchange two_yellow_tracks], + status: %w[investor_exchange two_yellow_tracks can_buy_trains], }, { name: '4', @@ -62,7 +64,7 @@ class Game < Game::Base train_limit: 3, tiles: %i[yellow green], operating_rounds: 2, - status: %w[investor_exchange can_buy_companies can_buy_companies_from_other_players], + status: %w[investor_exchange can_buy_companies can_buy_companies_from_other_players can_buy_trains], }, { name: '4+4', @@ -70,7 +72,7 @@ class Game < Game::Base train_limit: 3, tiles: %i[yellow green], operating_rounds: 2, - status: %w[investor_exchange can_buy_companies can_buy_companies_from_other_players], + status: %w[investor_exchange can_buy_companies can_buy_companies_from_other_players can_buy_trains], }, { name: '5', @@ -78,7 +80,7 @@ class Game < Game::Base train_limit: 2, tiles: %i[yellow green brown], operating_rounds: 3, - status: %w[investor_exchange can_buy_companies can_buy_companies_from_other_players], + status: %w[investor_exchange can_buy_companies can_buy_companies_from_other_players can_buy_trains], }, { name: '5+5', @@ -86,7 +88,7 @@ class Game < Game::Base train_limit: 2, tiles: %i[yellow green brown], operating_rounds: 3, - status: %w[can_buy_companies can_buy_companies_from_other_players], + status: %w[can_buy_companies can_buy_companies_from_other_players can_buy_trains], }, { name: '6E', @@ -94,7 +96,7 @@ class Game < Game::Base train_limit: 2, tiles: %i[yellow green brown], operating_rounds: 3, - status: %w[can_buy_companies can_buy_companies_from_other_players], + status: %w[can_buy_companies can_buy_companies_from_other_players can_buy_trains], }, { name: '6+6', @@ -102,7 +104,7 @@ class Game < Game::Base train_limit: 2, tiles: %i[yellow green brown], operating_rounds: 3, - status: %w[can_buy_companies can_buy_companies_from_other_players], + status: %w[can_buy_companies can_buy_companies_from_other_players can_buy_trains], }, ].freeze @@ -147,6 +149,7 @@ class Game < Game::Base }].freeze STATUS_TEXT = Base::STATUS_TEXT.merge( + 'can_buy_trains' => ['Can buy trains', 'Can buy trains from other corporations'], 'investor_exchange' => ['May exchange investor company', 'In Stock Round, instead of buying a share, a player may exchange an entitled company against the corresponding investor share'], 'two_yellow_tracks' => ['Two yellow tracks', 'A corporation may lay two yellow tracks'] @@ -186,7 +189,7 @@ def operating_round(round_num) Engine::Step::Route, Engine::Step::Dividend, Engine::Step::DiscardTrain, - Engine::Step::BuyTrain, + G1847AE::Step::BuySingleTrainOfType, [Engine::Step::BuyCompany, { blocks: true }], ], round_num: round_num) end @@ -293,6 +296,13 @@ def place_home_token(corporation) hlb.remove_ability(ability) end + def can_par?(corporation, _parrer) + return false if corporation.id == 'HLB' && !saar.floated? + return false if LAST_TRANCH_CORPORATIONS.include?(corporation.id) && !hlb.floated? + + !corporation.ipoed + end + # Cannot build in E9 before Phase 5 def can_build_in_e9? ['5', '5+5', '6E', '6+6'].include?(@phase.current[:name]) diff --git a/lib/engine/game/g_1847_ae/step/buy_single_train_of_type.rb b/lib/engine/game/g_1847_ae/step/buy_single_train_of_type.rb new file mode 100644 index 0000000000..2679bc3739 --- /dev/null +++ b/lib/engine/game/g_1847_ae/step/buy_single_train_of_type.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +require_relative '../../../step/base' +require_relative '../../../step/buy_train' + +module Engine + module Game + module G1847AE + module Step + class BuySingleTrainOfType < Engine::Step::BuySingleTrainOfType + def buyable_trains(entity) + # Can't buy trains from other corporations in phase 3 + return super if @game.phase.status.include?('can_buy_trains') + + super.select(&:from_depot?) + end + end + end + end + end +end diff --git a/lib/engine/game/g_1848/game.rb b/lib/engine/game/g_1848/game.rb index 2d32515f14..52652faafb 100644 --- a/lib/engine/game/g_1848/game.rb +++ b/lib/engine/game/g_1848/game.rb @@ -519,7 +519,7 @@ def corporation_opts @players.size == 3 ? { max_ownership_percent: 70 } : {} end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) super(bundle, allow_president_change: pres_change_ok?(bundle.corporation), swap: nil) end diff --git a/lib/engine/game/g_1850/game.rb b/lib/engine/game/g_1850/game.rb index b66f0ba509..84a522d323 100644 --- a/lib/engine/game/g_1850/game.rb +++ b/lib/engine/game/g_1850/game.rb @@ -330,7 +330,7 @@ def revenue_for(route, stops) revenue end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) @sell_queue << [bundle, bundle.corporation.owner] @share_pool.sell_shares(bundle) diff --git a/lib/engine/game/g_1856/step/buy_sell_par_shares.rb b/lib/engine/game/g_1856/step/buy_sell_par_shares.rb index bbaf672a83..ee64b78e07 100644 --- a/lib/engine/game/g_1856/step/buy_sell_par_shares.rb +++ b/lib/engine/game/g_1856/step/buy_sell_par_shares.rb @@ -94,6 +94,7 @@ def can_sell?(entity, bundle) def can_gain?(entity, bundle, exchange: false) return if !bundle || !entity + return if bundle.owner&.player? corporation = bundle.corporation diff --git a/lib/engine/game/g_1858/entities.rb b/lib/engine/game/g_1858/entities.rb index ec13ba05eb..87cd0a43aa 100644 --- a/lib/engine/game/g_1858/entities.rb +++ b/lib/engine/game/g_1858/entities.rb @@ -634,7 +634,7 @@ module Entities logo: '1858/PL', coordinates: %w[B9 B11], abilities: [ - { type: 'blocks_hexes', hexes: %w[B9 B11] }, + { type: 'blocks_hexes', hexes: %w[B9 B11], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -691,7 +691,7 @@ module Entities logo: '1858/LC', coordinates: %w[A14 B13], abilities: [ - { type: 'blocks_hexes', hexes: %w[B13] }, + { type: 'blocks_hexes', hexes: %w[B13], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -711,7 +711,7 @@ module Entities coordinates: %w[G8 H11 G10], city: [0, 1], abilities: [ - { type: 'blocks_hexes', hexes: %w[G8 G10] }, + { type: 'blocks_hexes', hexes: %w[G8 G10], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -730,7 +730,7 @@ module Entities logo: '1858/MZ', coordinates: %w[I10 J9 K8 L7], abilities: [ - { type: 'blocks_hexes', hexes: %w[I10 J9 K8] }, + { type: 'blocks_hexes', hexes: %w[I10 J9 K8], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -749,7 +749,7 @@ module Entities logo: '1858/CS', coordinates: %w[E18 F17 G18], abilities: [ - { type: 'blocks_hexes', hexes: %w[E18 F17 G18] }, + { type: 'blocks_hexes', hexes: %w[E18 F17 G18], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -768,7 +768,7 @@ module Entities logo: '1858/SJC', coordinates: %w[E18 E20], abilities: [ - { type: 'blocks_hexes', hexes: %w[E18 E20] }, + { type: 'blocks_hexes', hexes: %w[E18 E20], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -787,7 +787,7 @@ module Entities logo: '1858/ZP', coordinates: %w[K4 K6 L7], abilities: [ - { type: 'blocks_hexes', hexes: %w[K4 K6] }, + { type: 'blocks_hexes', hexes: %w[K4 K6], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -825,7 +825,7 @@ module Entities logo: '1858/CM', coordinates: %w[G18 G20], abilities: [ - { type: 'blocks_hexes', hexes: %w[G18 G20] }, + { type: 'blocks_hexes', hexes: %w[G18 G20], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -844,7 +844,7 @@ module Entities logo: '1858/MC', coordinates: %w[K18 L19], abilities: [ - { type: 'blocks_hexes', hexes: %w[K18] }, + { type: 'blocks_hexes', hexes: %w[K18], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -863,7 +863,7 @@ module Entities logo: '1858/AS', coordinates: %w[G4 H3], abilities: [ - { type: 'blocks_hexes', hexes: %w[G4 H3] }, + { type: 'blocks_hexes', hexes: %w[G4 H3], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -882,7 +882,7 @@ module Entities logo: '1858/BCR', coordinates: %w[D15 E14 F15], abilities: [ - { type: 'blocks_hexes', hexes: %w[D15 E14 F15] }, + { type: 'blocks_hexes', hexes: %w[D15 E14 F15], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -901,7 +901,7 @@ module Entities logo: '1858/SC', coordinates: %w[C2 C4], abilities: [ - { type: 'blocks_hexes', hexes: %w[C2 C4] }, + { type: 'blocks_hexes', hexes: %w[C2 C4], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -940,7 +940,7 @@ module Entities coordinates: %w[H11 D13 E12 F13 G12], city: 0, abilities: [ - { type: 'blocks_hexes', hexes: %w[D13 E12 F13 G12] }, + { type: 'blocks_hexes', hexes: %w[D13 E12 F13 G12], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -959,7 +959,7 @@ module Entities logo: '1858/OV', coordinates: %w[B5 C4], abilities: [ - { type: 'blocks_hexes', hexes: %w[B5 C4] }, + { type: 'blocks_hexes', hexes: %w[B5 C4], hidden: true }, { type: 'exchange', owner_type: 'player', @@ -978,7 +978,7 @@ module Entities logo: '1858/LG', coordinates: %w[F1 F3 F5], abilities: [ - { type: 'blocks_hexes', hexes: %w[F3 F5] }, + { type: 'blocks_hexes', hexes: %w[F3 F5], hidden: true }, { type: 'exchange', owner_type: 'player', diff --git a/lib/engine/game/g_1858/game.rb b/lib/engine/game/g_1858/game.rb index 711f899815..d8870af1bb 100644 --- a/lib/engine/game/g_1858/game.rb +++ b/lib/engine/game/g_1858/game.rb @@ -147,7 +147,7 @@ def setup_stubs hex.neighbors.each do |edge, neighbor| next unless home_hexes.include?(neighbor) - stub = Engine::Part::Stub.new(edge) + stub = Engine::Part::Stub.new(edge, :future) tile.stubs << stub stubs[minor] << { tile: tile, stub: stub } end diff --git a/lib/engine/game/g_1858/map.rb b/lib/engine/game/g_1858/map.rb index 055cd0350e..63d6b64962 100644 --- a/lib/engine/game/g_1858/map.rb +++ b/lib/engine/game/g_1858/map.rb @@ -80,10 +80,12 @@ module Map 'border=type:province,edge:1;' \ 'border=type:province,edge:2', %w[K8] => + 'path=track:future,a:1,b:4;' \ 'icon=image:1858/MZ,sticky:1;' \ 'border=type:province,edge:1;' \ 'border=type:province,edge:2', %w[F17] => + 'path=track:future,a:1,b:5;' \ 'icon=image:1858/CS,sticky:1;' \ 'border=type:province,edge:2;' \ 'border=type:province,edge:3', @@ -130,12 +132,14 @@ module Map 'border=type:province,edge:4;' \ 'border=type:province,edge:5', %w[G4] => + 'junction;path=track:future,a:4,b:_0;' \ 'icon=image:1858/AS,sticky:1;' \ 'border=type:province,edge:1;' \ 'border=type:province,edge:2;' \ 'border=type:province,edge:3;' \ 'border=type:province,edge:4', %w[J9] => + 'path=track:future,a:1,b:4;' \ 'icon=image:1858/MZ,sticky:1;' \ 'border=type:province,edge:2;' \ 'border=type:province,edge:3;' \ @@ -196,6 +200,7 @@ module Map 'border=type:province,edge:3;' \ 'border=type:province,edge:4', %w[F3] => + 'path=track:future,a:0,b:3;' \ 'upgrade=cost:80,terrain:mountain;' \ 'icon=image:1858/LG,sticky:1;' \ 'border=type:province,edge:0;' \ @@ -236,6 +241,7 @@ module Map 'border=type:province,edge:2', %w[E14] => + 'path=track:future,a:1,b:5;' \ 'upgrade=cost:20,terrain:water;' \ 'icon=image:1858/BCR,sticky:1;', %w[C8] => @@ -259,6 +265,7 @@ module Map 'border=type:province,edge:1;' \ 'border=type:province,edge:5', %w[F15] => + 'junction;path=track:future,a:2,b:_0;' \ 'upgrade=cost:20,terrain:water;' \ 'icon=image:1858/BCR,sticky:1;' \ 'border=type:province,edge:0;' \ @@ -270,6 +277,7 @@ module Map 'border=type:province,edge:4;' \ 'border=type:province,edge:5', %w[K6] => + 'path=track:future,a:3,b:5;' \ 'upgrade=cost:20,terrain:water;' \ 'icon=image:1858/ZP,sticky:1;' \ 'border=type:province,edge:1;' \ @@ -281,12 +289,14 @@ module Map 'border=type:province,edge:4;' \ 'border=type:province,edge:5', %w[E12] => + 'path=track:future,a:1,b:5;' \ 'upgrade=cost:20,terrain:water;' \ 'icon=image:1858/CMP,sticky:1;' \ 'border=type:province,edge:2;' \ 'border=type:province,edge:3;' \ 'border=type:province,edge:4', %w[F13] => + 'path=track:future,a:2,b:4;' \ 'upgrade=cost:20,terrain:water;' \ 'icon=image:1858/CMP,sticky:1;' \ 'border=type:province,edge:3;' \ @@ -309,7 +319,8 @@ module Map 'town=revenue:0;' \ 'border=type:province,edge:3', %w[B11] => - 'town=revenue:0;' \ + 'town=revenue:0,style:dot;' \ + 'path=track:future,a:3,b:_0;' \ 'icon=image:1858/PL,sticky:1;' \ 'border=type:province,edge:0;' \ 'border=type:province,edge:1', @@ -322,7 +333,8 @@ module Map 'border=type:province,edge:1;' \ 'border=type:province,edge:2', %w[I10] => - 'town=revenue:0;' \ + 'town=revenue:0,style:dot;' \ + 'path=track:future,a:_0,b:4;' \ 'icon=image:1858/MZ,sticky:1;' \ 'border=type:province,edge:2;' \ 'border=type:province,edge:3', @@ -335,7 +347,8 @@ module Map 'border=type:province,edge:4;' \ 'border=type:province,edge:5', %w[K4] => - 'town=revenue:0;' \ + 'town=revenue:0,style:dot;' \ + 'path=track:future,a:0,b:_0;' \ 'icon=image:1858/ZP,sticky:1;' \ 'border=type:province,edge:0;' \ 'border=type:province,edge:5', @@ -366,13 +379,16 @@ module Map 'border=type:province,edge:4;' \ 'border=type:province,edge:5', %w[F5] => - 'town=revenue:0;' \ + 'town=revenue:0,style:dot;' \ + 'path=track:future,a:3,b:_0;' \ 'icon=image:1858/LG,sticky:1;' \ 'border=type:province,edge:3;' \ 'border=type:province,edge:4;' \ 'border=type:province,edge:5', %w[G10] => - 'town=revenue:0;' \ + 'town=revenue:0,style:dot;' \ + 'path=track:future,a:3,b:_0;' \ + 'path=track:future,a:5,b:_0;' \ 'icon=image:1858/MV,sticky:1;' \ 'border=type:province,edge:0;' \ 'border=type:province,edge:1;' \ @@ -394,26 +410,31 @@ module Map 'upgrade=cost:20,terrain:water;' \ 'border=type:province,edge:4', %w[D15] => - 'town=revenue:0;' \ + 'town=revenue:0,style:dot;' \ + 'path=track:future,a:_0,b:4;' \ 'upgrade=cost:20,terrain:water;' \ 'icon=image:1858/BCR,sticky:1;' \ 'border=type:province,edge:1;' \ 'border=type:province,edge:2', %w[B13] => - 'town=revenue:0;' \ + 'town=revenue:0,style:dot;' \ + 'path=track:future,a:1,b:_0;' \ 'upgrade=cost:20,terrain:water;' \ 'icon=image:1858/LC,sticky:1;' \ 'border=type:province,edge:3;' \ 'border=type:province,edge:4', %w[D13] => - 'town=revenue:0;' \ + 'town=revenue:0,style:dot;' \ + 'path=track:future,a:_0,b:4;' \ 'upgrade=cost:20,terrain:water;' \ 'icon=image:1858/CMP,sticky:1;' \ 'border=type:province,edge:1;' \ 'border=type:province,edge:2;' \ 'border=type:province,edge:3', %w[G12] => - 'town=revenue:0;' \ + 'town=revenue:0,style:dot;' \ + 'path=track:future,a:1,b:_0;' \ + 'path=track:future,a:_0,b:4;' \ 'upgrade=cost:20,terrain:water;' \ 'icon=image:1858/CMP,sticky:1;' \ 'border=type:province,edge:1;' \ @@ -434,56 +455,71 @@ module Map 'border=type:province,edge:3;' \ 'border=type:province,edge:4', %w[C4] => - 'town=revenue:0;town=revenue:0;' \ + 'town=revenue:0,style:dot,loc:1;' \ + 'town=revenue:0,style:dot,loc:3;' \ + 'path=track:future,a:1,b:_0;' \ + 'path=track:future,a:3,b:_1;' \ 'upgrade=cost:40,terrain:mountain;' \ - 'icon=image:1858/SC,sticky:1;' \ - 'icon=image:1858/OV,sticky:1;', + 'icon=image:1858/SC,sticky:1,loc:0;' \ + 'icon=image:1858/OV,sticky:1,loc:1;', # City hexes %w[C2] => - 'city=revenue:0;', + 'city=revenue:0;' \ + 'path=track:future,a:0,b:_0', %w[H19] => 'city=revenue:0', %w[B5] => 'city=revenue:0;' \ + 'path=track:future,a:4,b:_0;' \ 'border=type:province,edge:0;', %w[I2] => 'city=revenue:0;' \ 'border=type:province,edge:1', %w[G8] => 'city=revenue:0;' \ + 'path=track:future,a:0,b:_0;' \ 'border=type:province,edge:1;' \ 'border=type:province,edge:2', %w[B9] => 'city=revenue:0;label=Y;' \ 'future_label=label:P,color:brown;' \ + 'path=track:future,a:0,b:_0;' \ 'upgrade=cost:20,terrain:water;', %w[G20] => 'city=revenue:0;label=Y;' \ - 'upgrade=cost:20,terrain:water;', + 'path=track:future,a:3,b:_0;' \ + 'upgrade=cost:20,terrain:water', %w[L13] => 'city=revenue:0;label=Y;' \ 'upgrade=cost:20,terrain:water;', %w[E18] => 'city=revenue:0;label=Y;' \ + 'path=track:future,a:0,b:_0;' \ + 'path=track:future,a:4,b:_0;' \ 'upgrade=cost:20,terrain:water;' \ - 'icon=image:1858/CS,sticky:1;' \ - 'icon=image:1858/SJC,sticky:1;' \ + 'icon=image:1858/SJC,sticky:1,loc:0;' \ + 'icon=image:1858/CS,sticky:1,loc:1;' \ 'border=type:province,edge:2;' \ 'border=type:province,edge:3', %w[E20] => 'city=revenue:0;' \ + 'path=track:future,a:3,b:_0;' \ 'upgrade=cost:20,terrain:water;', %w[G18] => 'city=revenue:0;' \ + 'path=track:future,a:0,b:_0;' \ + 'path=track:future,a:2,b:_0;' \ 'upgrade=cost:20,terrain:water;' \ - 'icon=image:1858/CM,sticky:1;' \ - 'icon=image:1858/CS,sticky:1;', + 'icon=image:1858/CM,sticky:1,loc:0;' \ + 'icon=image:1858/CS,sticky:1,loc:1;', %w[K18] => 'city=revenue:0;' \ + 'path=track:future,a:_0,b:5;' \ 'upgrade=cost:20,terrain:water;', %w[H3] => 'city=revenue:0;' \ + 'path=track:future,a:1,b:_0;' \ 'upgrade=cost:40,terrain:mountain;' \ 'border=type:province,edge:0;' \ 'border=type:province,edge:1;' \ diff --git a/lib/engine/game/g_1860/game.rb b/lib/engine/game/g_1860/game.rb index 9fd0d434a3..085a9651aa 100644 --- a/lib/engine/game/g_1860/game.rb +++ b/lib/engine/game/g_1860/game.rb @@ -773,7 +773,7 @@ def selling_movement?(corporation) corporation.operated? && !@no_price_drop_on_sale end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) corporation = bundle.corporation old_price = corporation.share_price @@ -986,7 +986,7 @@ def check_hex_reentry(route) end def check_other(route) - check_hex_reentry(route) + check_hex_reentry(route) unless @optional_rules&.include?(:re_enter_hexes) check_home_token(current_entity, route.routes) unless route.routes.empty? check_intersection(route.routes) unless route.routes.empty? end diff --git a/lib/engine/game/g_1860/meta.rb b/lib/engine/game/g_1860/meta.rb index 910ae5317c..a428b1c488 100644 --- a/lib/engine/game/g_1860/meta.rb +++ b/lib/engine/game/g_1860/meta.rb @@ -39,6 +39,11 @@ module Meta short_name: 'First edition rules and map', desc: 'Use all of the first edition rules (smaller map, original insolvency, no skipping towns)', }, + { + sym: :re_enter_hexes, + short_name: 'Re-enter hexes', + desc: 'Routes may enter the same hex more than once, so long as no track is re-used.', + }, ].freeze end end diff --git a/lib/engine/game/g_1862/game.rb b/lib/engine/game/g_1862/game.rb index d4bdec2b4e..f06cfc9e8b 100644 --- a/lib/engine/game/g_1862/game.rb +++ b/lib/engine/game/g_1862/game.rb @@ -1190,7 +1190,7 @@ def selling_movement?(corporation) corporation.floated? && !@lner end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) corporation = bundle.corporation old_price = corporation.share_price president_selling = (bundle.owner == corporation.owner) diff --git a/lib/engine/game/g_1866/game.rb b/lib/engine/game/g_1866/game.rb index 683baba4ac..470e72f35d 100644 --- a/lib/engine/game/g_1866/game.rb +++ b/lib/engine/game/g_1866/game.rb @@ -1302,7 +1302,7 @@ def route_trains(entity) entity.runnable_trains.reject { |t| infrastructure_train?(t) } end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) corporation = bundle.corporation before_share_price = corporation.share_price was_president = corporation.president?(bundle.owner) || bundle.owner == corporation diff --git a/lib/engine/game/g_1868_wy/game.rb b/lib/engine/game/g_1868_wy/game.rb index 897c610e29..45c882526a 100644 --- a/lib/engine/game/g_1868_wy/game.rb +++ b/lib/engine/game/g_1868_wy/game.rb @@ -2002,7 +2002,7 @@ def after_sell_up(bundle, before) after end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) before = before_sell_up(bundle) super return unless (after = after_sell_up(bundle, before)) diff --git a/lib/engine/game/g_1870/game.rb b/lib/engine/game/g_1870/game.rb index f6ee9d6753..967fd8a997 100644 --- a/lib/engine/game/g_1870/game.rb +++ b/lib/engine/game/g_1870/game.rb @@ -430,7 +430,7 @@ def destination_revenue(route, stops) destination_stop.route_revenue(route.phase, route.train) end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) @sell_queue << [bundle, bundle.corporation.owner] @share_pool.sell_shares(bundle) diff --git a/lib/engine/game/g_1873/game.rb b/lib/engine/game/g_1873/game.rb index 0b427543bc..d1d546753e 100644 --- a/lib/engine/game/g_1873/game.rb +++ b/lib/engine/game/g_1873/game.rb @@ -1158,7 +1158,7 @@ def new_start_auction_round def new_auction_round @log << "-- #{round_description('Auction')} --" G1873::Round::Auction.new(self, [ - G1873::Step::ConcessionAuction, + Engine::Step::ConcessionAuction, ]) end @@ -1458,7 +1458,7 @@ def sellable_bundles(player, corporation) bundles.select { |bundle| @round.active_step.can_sell?(player, bundle) } end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) corporation = bundle.corporation old_price = corporation.share_price @@ -2883,58 +2883,75 @@ def game_hexes # HBE concession route %w[ B17 - ] => 'icon=image:1873/HBE,sticky:1', + ] => 'icon=image:1873/HBE,sticky:1;'\ + 'path=track:future,a:0,b:4', # GHE concession route %w[ H19 - ] => 'upgrade=cost:150,terrain:mountain;icon=image:1873/GHE,sticky:1', + ] => 'upgrade=cost:150,terrain:mountain;icon=image:1873/GHE,sticky:1;'\ + 'path=track:future,a:1,b:3', # NWE concession route %w[ I8 - ] => 'town=revenue:0;upgrade=cost:150,terrain:mountain;icon=image:1873/NWE,sticky:1;'\ + ] => 'town=revenue:0,style:dot;upgrade=cost:150,terrain:mountain;'\ + 'icon=image:1873/NWE,sticky:1;'\ + 'path=track:future,a:0,b:_0;path=track:future,a:3,b:_0;'\ 'border=edge:2,type:impassable;'\ 'icon=image:1873/8_open,sticky:1,large:1', %w[ H7 ] => 'upgrade=cost:100,terrain:mountain;icon=image:1873/NWE,sticky:1;'\ + 'path=track:future,a:2,b:4;'\ 'border=edge:5,type:impassable', %w[ E6 D7 - ] => 'town=revenue:0;upgrade=cost:50,terrain:mountain;icon=image:1873/NWE,sticky:1', + ] => 'town=revenue:0,style:dot;upgrade=cost:50,terrain:mountain;'\ + 'icon=image:1873/NWE,sticky:1;'\ + 'path=track:future,a:0,b:_0;path=track:future,a:3,b:_0', %w[ C8 - ] => 'upgrade=cost:150,terrain:mountain;icon=image:1873/NWE,sticky:1;', + ] => 'upgrade=cost:150,terrain:mountain;icon=image:1873/NWE,sticky:1;'\ + 'path=track:future,a:0,b:3', # SHE concession route %w[ G2 - ] => 'town=revenue:0;upgrade=cost:150,terrain:mountain;icon=image:1873/SHE,sticky:1;'\ + ] => 'town=revenue:0,style:dot;upgrade=cost:150,terrain:mountain;'\ + 'icon=image:1873/SHE,sticky:1;'\ 'border=edge:4,type:impassable;border=edge:5,type:impassable;'\ + 'path=track:future,a:0,b:_0;path=track:future,a:3,b:_0;'\ 'icon=image:1873/9_open,sticky:1,large:1', %w[ F3 - ] => 'town=revenue:0;upgrade=cost:150,terrain:mountain;icon=image:1873/SHE,sticky:1', + ] => 'town=revenue:0,style:dot;upgrade=cost:150,terrain:mountain;'\ + 'icon=image:1873/SHE,sticky:1;'\ + 'path=track:future,a:0,b:_0;path=track:future,a:3,b:_0', # KEZ concession route %w[ H3 ] => 'upgrade=cost:100,terrain:mountain;icon=image:1873/KEZ,sticky:1;'\ + 'path=track:future,a:3,b:5;'\ 'border=edge:2,type:impassable', # WBE concession route %w[ C10 ] => 'border=edge:5,type:impassable;'\ 'icon=image:1873/lock;'\ - 'icon=image:1873/WBE,sticky:1', + 'icon=image:1873/WBE,sticky:1;'\ + 'path=track:future,a:2,b:4', %w[ C12 - ] => 'town=revenue:0;border=edge:0,type:impassable;border=edge:5,type:impassable;'\ + ] => 'town=revenue:0,style:dot;'\ + 'border=edge:0,type:impassable;border=edge:5,type:impassable;'\ 'icon=image:1873/lock;'\ - 'icon=image:1873/WBE,sticky:1', + 'icon=image:1873/WBE,sticky:1;'\ + 'path=track:future,a:1,b:_0;path=track:future,a:4,b:_0', %w[ C14 - ] => 'town=revenue:0;border=edge:0,type:impassable;'\ + ] => 'town=revenue:0,style:dot;border=edge:0,type:impassable;'\ 'icon=image:1873/lock;'\ - 'icon=image:1873/WBE,sticky:1', + 'icon=image:1873/WBE,sticky:1;'\ + 'path=track:future,a:1,b:_0;path=track:future,a:5,b:_0', # empty tiles %w[ C18 diff --git a/lib/engine/game/g_1873/step/concession_auction.rb b/lib/engine/game/g_1873/step/concession_auction.rb deleted file mode 100644 index 92948dfaad..0000000000 --- a/lib/engine/game/g_1873/step/concession_auction.rb +++ /dev/null @@ -1,170 +0,0 @@ -# frozen_string_literal: true - -require_relative '../../../step/base' -require_relative '../../../step/auctioner' - -module Engine - module Game - module G1873 - module Step - class ConcessionAuction < Engine::Step::Base - include Engine::Step::Auctioner - ACTIONS = %w[bid pass].freeze - - attr_reader :companies - - def description - if @auctioning - 'Bid on Selected Concession or Purchase Option' - else - 'Bid on Concession or Purchase Option' - end - end - - def available - auctioning ? [auctioning] : @companies - end - - def finished? - @companies.empty? || entities.all?(&:passed?) - end - - def process_pass(action) - entity = action.entity - - if auctioning - pass_auction(action.entity) - else - @log << "#{entity.name} passes bidding" - entity.pass! - @round.next_entity_index! - end - end - - def process_bid(action) - action.entity.unpass! - - if auctioning - add_bid(action) - else - start_auction(action) - end - end - - def active_entities - if @auctioning - active_auction do |_, bids| - return [bids.min_by(&:price).entity] - end - end - - super - end - - def actions(entity) - return [] if finished? - - correct = false - - active_auction do |_company, bids| - correct = bids.min_by(&:price).entity == entity - end - - correct || entity == current_entity ? ACTIONS : [] - end - - def setup - setup_auction - @companies = @game.auction_companies - end - - def min_bid(company) - return unless company - - high_bid = highest_bid(company) - high_bid ? high_bid.price + min_increment : company.min_bid - end - - def may_purchase?(_company) - false - end - - def committed_cash(player, _show_hidden = false) - bids_for_player(player).sum(&:price) - end - - def max_bid(player, _company) - player.cash - end - - protected - - def resolve_bids - return unless @bids[@auctioning].one? - - bid = @bids[@auctioning].first - @auctioning = nil - price = bid.price - company = bid.company - player = bid.entity - @bids.delete(company) - buy_company(player, company, price) - @round.next_entity_index! - end - - def active_auction - company = @auctioning - bids = @bids[company] - yield company, bids if bids.size.positive? - end - - def can_auction?(company) - company == @companies.first && @bids[company].size > 1 - end - - def buy_company(player, company, price) - if (available = max_bid(player, company)) < price - raise GameError, "#{player.name} has #{@game.format_currency(available)} "\ - 'available and cannot spend '\ - "#{@game.format_currency(price)}" - end - - company.owner = player - player.companies << company - player.spend(price, @game.bank) if price.positive? - @companies.delete(company) - @log << "#{player.name} wins the auction for #{company.name} "\ - "with a bid of #{@game.format_currency(price)}" - end - - private - - def start_auction(bid) - @auctioning = bid.company - @log << "#{@auctioning.name} goes up for auction" - add_bid(bid) - starter = bid.entity - start_price = bid.price - - bids = @bids[@auctioning] - - entities.rotate(entities.find_index(starter)).each_with_index do |player, idx| - next if player == starter - next if max_bid(player, @auctioning) <= start_price - - bids << (Engine::Action::Bid.new(player, - corporation: @auctioning, - price: idx - entities.size)) - end - end - - def add_bid(bid) - super - - @log << "#{bid.entity.name} bids #{@game.format_currency(bid.price)} for #{bid.company.name}" - end - end - end - end - end -end diff --git a/lib/engine/game/g_1877_stockholm_tramways/game.rb b/lib/engine/game/g_1877_stockholm_tramways/game.rb index 42e889cbb3..0cb348d596 100644 --- a/lib/engine/game/g_1877_stockholm_tramways/game.rb +++ b/lib/engine/game/g_1877_stockholm_tramways/game.rb @@ -271,7 +271,7 @@ def available_to_start?(corporation) @phase.available?(@starting_phase[corporation]) && !@sl end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) corporation = bundle.corporation old_price = corporation.share_price diff --git a/lib/engine/game/g_1880/game.rb b/lib/engine/game/g_1880/game.rb index 20e5760262..64e38c5661 100644 --- a/lib/engine/game/g_1880/game.rb +++ b/lib/engine/game/g_1880/game.rb @@ -38,6 +38,7 @@ class Game < Game::Base DISCARDED_TRAINS = :remove CERT_LIMIT_INCLUDES_PRIVATES = false EBUY_DEPOT_TRAIN_MUST_BE_CHEAPEST = false + MARKET_SHARE_LIMIT = 80 # percent BANK_CASH = 37_860 diff --git a/lib/engine/game/g_1880/meta.rb b/lib/engine/game/g_1880/meta.rb index 4545c0e4a2..29b651f8ee 100644 --- a/lib/engine/game/g_1880/meta.rb +++ b/lib/engine/game/g_1880/meta.rb @@ -8,7 +8,7 @@ module G1880 module Meta include Game::Meta - DEV_STAGE = :beta + DEV_STAGE = :production GAME_SUBTITLE = 'China' GAME_DESIGNER = 'Helmut Ohley, Leonhard Orgler' diff --git a/lib/engine/game/g_1894/entities.rb b/lib/engine/game/g_1894/entities.rb index 9ca0126078..a65a427b21 100644 --- a/lib/engine/game/g_1894/entities.rb +++ b/lib/engine/game/g_1894/entities.rb @@ -10,17 +10,20 @@ module Entities sym: 'LVM', value: 20, revenue: 5, - desc: 'Owning corporation may lay a yellow tile in I14.'\ - ' This is in addition to the corporation\'s tile builds.'\ - ' No connection required. Blocks I14 while owned by a player.', + desc: 'Once per game the owning corporation may pay 50 F to lay a yellow track.'\ + ' This is in addition to the corporation\'s tile builds'\ + ' Blocks I14 while owned by a player.', abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['I14'] }, { type: 'tile_lay', owner_type: 'corporation', - hexes: ['I14'], - tiles: %w[7 8 9], - when: 'owning_corp_or_turn', + when: 'track', + cost: 50, count: 1, + special: false, + reachable: true, + hexes: [], + tiles: %w[X1 X2 X3 1 7 8 9 55 56 57 58 69 630], }], color: '#d9d9d9', }, @@ -29,7 +32,7 @@ module Entities sym: 'AR', value: 25, revenue: 5, - desc: 'When owned by a corporation, the revenue is equal to 10.', + desc: 'When owned by a corporation, the revenue is equal to 10 F.', abilities: [{ type: 'revenue_change', revenue: 10, when: 'sold' }], color: '#d9d9d9', }, @@ -38,19 +41,30 @@ module Entities sym: 'GLG', value: 50, revenue: 10, - desc: 'Owning corporation may lay a yellow tile or upgrade a yellow tile in Liège'\ - ' (H17) along with an optional token.'\ - ' This counts as one of the corporation\'s tile builds.'\ - ' Blocks H17 while owned by a player.', + desc: 'Owning corporation may lay or upgrade a tile in Liège'\ + ' (H17). If it does, it may then optionally place a token for free there.'\ + ' This counts as one of the corporation\'s tile builds and token laying'\ + ' (if token was placed). Blocks H17 while owned by a player.', abilities: [{ type: 'blocks_hexes', owner_type: 'player', hexes: ['H17'] }, { type: 'teleport', owner_type: 'corporation', hexes: ['H17'], - tiles: %w[14 15 57 619], + tiles: %w[14 15 57 619 X14 X15 X16 X17 X18 X19 35 36 118], }], color: '#d9d9d9', }, + { + name: 'Ligne de Saint-Quentin à Guise', + sym: 'SQG', + value: 70, + revenue: 0, + desc: 'Revenue is equal to 70 F if Saint-Quentin (G10) is green, to 100 F if'\ + ' Saint-Quentin is brown and to 0 F otherwise.'\ + ' Closes in purple phase. May not be sold to corporation in red and gray phase.', + abilities: [{ type: 'close', on_phase: 'Purple' }], + color: '#d9d9d9', + }, { name: 'London shipping', sym: 'LS', @@ -72,16 +86,6 @@ module Entities }], color: '#d9d9d9', }, - { - name: 'Ligne de Saint-Quentin à Guise', - sym: 'SQG', - value: 100, - revenue: 5, - desc: 'Revenue is equal to 70 if Saint-Quentin (G10) is green, to 100 if Saint-Quentin is brown and to 5 otherwise.'\ - ' Closes in purple phase.', - abilities: [{ type: 'close', on_phase: 'Purple' }], - color: '#d9d9d9', - }, { name: 'Nord minor shareholding', sym: 'NMinorS', @@ -183,7 +187,7 @@ module Entities name: 'Chemins de fer de l\'Ouest', logo: '1894/Ouest', simple_logo: '1894/Ouest.alt', - tokens: [0, 0, 100, 100, 140], + tokens: [0, 0, 100, 100, 100], max_ownership_percent: 60, coordinates: %w[B3 E6], color: '#4682b4', @@ -214,7 +218,7 @@ module Entities name: 'Chemin de fer d\'Orléans à Rouen', logo: '1894/CFOR', simple_logo: '1894/CFOR.alt', - tokens: [0, 0, 100, 100, 140], + tokens: [0, 0, 100, 100, 100], max_ownership_percent: 60, coordinates: %w[D3 H1], color: '#9c661f', @@ -240,7 +244,7 @@ module Entities name: 'Chemins de fer de Paris à Lyon et à la Méditerranée', logo: '1894/PLM', simple_logo: '1894/PLM.alt', - tokens: [0, 40, 100, 100, 140], + tokens: [0, 40, 100, 100, 100], max_ownership_percent: 60, coordinates: 'G4', city: 0, @@ -252,7 +256,7 @@ module Entities name: 'Chemins de fer de l\'Est', logo: '1894/Est', simple_logo: '1894/Est.alt', - tokens: [0, 40, 100, 100, 140], + tokens: [0, 40, 100, 100, 100], max_ownership_percent: 60, coordinates: 'I8', color: '#ff9966', diff --git a/lib/engine/game/g_1894/game.rb b/lib/engine/game/g_1894/game.rb index 7f814e13db..6ccc30e0a1 100644 --- a/lib/engine/game/g_1894/game.rb +++ b/lib/engine/game/g_1894/game.rb @@ -19,17 +19,16 @@ class Game < Game::Base BANK_CASH = 99_999 - CERT_LIMIT = { 3 => 16, 4 => 13 }.freeze + CERT_LIMIT = { 3 => 18, 4 => 14 }.freeze - STARTING_CASH = { 3 => 580, 4 => 440 }.freeze + STARTING_CASH = { 3 => 570, 4 => 440 }.freeze CAPITALIZATION = :full MUST_SELL_IN_BLOCKS = false MARKET = [ - %w[77 - 83 + %w[83 89 96 103 @@ -39,76 +38,68 @@ class Game < Game::Base 145 160 185 - 217 - 248 - 285 - 325 - 375e], - %w[72 - 77 + 213 + 250 + 290 + 350e], + %w[77 82 90p 94 100p - 110 - 121 - 134 + 109 + 120 + 132 150 170 - 194 - 222 - 254 - 290 - 335], - %w[67o - 72 + 195 + 230 + 270 + 320], + %w[72 77 82 88 - 95 - 100 - 110 - 121 - 136 + 93 + 99 + 109 + 120 + 135 153 - 174 - 200 - 229 - 262 - 300], - %w[63o - 66o - 70o + 176 + 205 + 240 + 290], + %w[66 + 70 75 82p 87 93 - 100 + 99 109 120 138 - 159 - 179 - 206 - 236], - %w[59o - 63o - 66o + 160 + 185 + 220], + %w[63o + 66 70 75 80 85 92 - 100 - 112 + 102 + 115 128 - 146], - %w[56o 59o 63o 66o 70 76p 81 88 97 107], - %w[42o 55o 59o 62o 65 69 74 81 89], - %w[30o 40o 50o 54o 60o 64 67p 74], - %w[20o 30o 40o 50o 54o 60o], - %w[10o 20o 30o 40o 50o 54o], - ['', '10o', '20o', '30o', '40o', '50o'], + 147], + %w[59o 63o 66 70 76p 81 88 99 109], + %w[55o 59o 62o 65 69 73 82 92], + %w[40o 50o 54o 60o 64 67p 75], + %w[30o 40o 50o 54o 60o], + %w[20o 30o 40o 50o 54o], + %w[10o 20o 30o 40o 50o], ].freeze PHASES = [{ name: 'Yellow', train_limit: 4, tiles: [:yellow], operating_rounds: 1 }, @@ -158,7 +149,7 @@ class Game < Game::Base operating_rounds: 3, }].freeze - TRAINS = [{ name: '2', distance: 2, price: 80, rusts_on: '4', num: 8 }, + TRAINS = [{ name: '2', distance: 2, price: 80, rusts_on: '4', num: 7 }, { name: '3', distance: 3, @@ -170,7 +161,7 @@ class Game < Game::Base { name: '4', distance: 4, - price: 300, + price: 320, rusts_on: '7', num: 4, discount: { '3' => 60 }, @@ -180,9 +171,9 @@ class Game < Game::Base distance: 5, price: 400, rusts_on: 'D', - num: 4, + num: 5, events: [{ 'type' => 'late_corporations_available' }], - discount: { '4' => 150 }, + discount: { '4' => 160 }, }, { name: '6', @@ -202,7 +193,7 @@ class Game < Game::Base { name: 'D', distance: 999, - price: 820, + price: 800, num: 22, events: [{ 'type' => 'last_or_set_triggered' }], discount: { '5' => 200, '6' => 300, '7' => 350 }, @@ -260,6 +251,7 @@ class Game < Game::Base LUXEMBOURG_HEX = 'I18' SQ_HEX = 'G10' BRUXELLES_HEX = 'F15' + LILLE_HEX = 'D11' NETHERLANDS_HEX = 'C18' GREAT_BRITAIN_HEX = 'A4' @@ -267,12 +259,13 @@ class Game < Game::Base GREEN_CITY_TILES = %w[14 15 619].freeze GREEN_CITY_14_TILE = '14' - BROWN_CITY_14_UPGRADE_TILES = %w[X14 X15 36].freeze + BROWN_CITY_14_UPGRADE_TILES = %w[X18 X19 36].freeze GREEN_CITY_15_TILE = '15' - BROWN_CITY_15_UPGRADE_TILES = %w[X12 35 118].freeze + BROWN_CITY_15_UPGRADE_TILES = %w[X16 35 118].freeze GREEN_CITY_619_TILE = '619' - BROWN_CITY_619_UPGRADE_TILES = %w[X10 X11 X13].freeze - BROWN_CITY_TILES = %w[X10 X11 X12 X13 X14 X15 35 36 118].freeze + BROWN_CITY_619_UPGRADE_TILES = %w[X14 X15 X17].freeze + BROWN_CITY_TILES = %w[X14 X15 X16 X17 X18 X19 35 36 118].freeze + PARIS_TILES = %w[X1 X4 X5 X9 X10].freeze FRENCH_REGULAR_CORPORATIONS = %w[PLM Ouest Nord Est CFOR].freeze BELGIAN_REGULAR_CORPORATIONS = %w[AG Belge].freeze @@ -357,8 +350,7 @@ def setup Engine::Ability::Description.new(type: 'description', description: 'Ferry marker') block_london - paris_tiles_names = %w[X1 X4 X5 X7 X8] - paris_tiles = @all_tiles.select { |t| paris_tiles_names.include?(t.name) } + paris_tiles = @all_tiles.select { |t| PARIS_TILES.include?(t.name) } paris_tiles.each { |t| t.add_reservation!(plm, 0) } @french_starting_corporation_id = FRENCH_REGULAR_CORPORATIONS.sort_by { rand }.take(1).first @@ -600,9 +592,16 @@ def late_corporation_home_hex(corporation, coordinates) return tile.add_reservation!(corporation, 0) if tile.color != :brown - return tile.add_reservation!(corporation, 0) if coordinates == BRUXELLES_HEX + return tile.add_reservation!(corporation, 0) if [BRUXELLES_HEX, LILLE_HEX].include?(coordinates) - tile.add_reservation!(corporation, nil, false) + # tile is brown, non-Bruxelles, non-Lille + if tile.cities.first.tokenable?(corporation) && !tile.cities[1].tokenable?(corporation) + tile.add_reservation!(corporation, 0) + elsif !tile.cities.first.tokenable?(corporation) && tile.cities[1].tokenable? + tile.add_reservation!(corporation, 1) + else + tile.add_reservation!(corporation, nil, false) + end end def upgrades_to?(from, to, _special = false, selected_company: nil) @@ -630,6 +629,16 @@ def save_tokens_hex(hex) attr_reader :saved_tokens_hex + def check_distance(route, _visits) + if route.connection_hexes.flatten.include?(LONDON_HEX) && !ferry_marker?(current_entity) + raise GameError, 'Cannot run to London without a Ferry marker' + end + + raise GameError, 'Train visits Paris more than once' if route.hexes.count { |h| h.id == PARIS_HEX } > 1 + + super + end + def revenue_for(route, stops) revenue = super revenue += est_centre_bourgogne_bonus(route.corporation, stops) @@ -637,8 +646,6 @@ def revenue_for(route, stops) revenue += london_bonus(route.corporation, stops) revenue += netherlands_bonus(route.corporation, stops) - raise GameError, 'Train visits Paris more than once' if route.hexes.count { |h| h.id == PARIS_HEX } > 1 - revenue end @@ -691,14 +698,6 @@ def get_current_revenue(revenue) 0 end - def check_distance(route, _visits) - if route.connection_hexes.flatten.include?(LONDON_HEX) && !ferry_marker?(current_entity) - raise GameError, 'Cannot run to London without a Ferry marker' - end - - super - end - def ferry_marker_available? hex_by_id(LONDON_BONUS_FERRY_SUPPLY_HEX).tile.icons.any? { |icon| icon.name == FERRY_MARKER_ICON } end @@ -755,11 +754,6 @@ def adjust_companies company_to_remove.close! @round.steps.find { |s| s.is_a?(Engine::Step::WaterfallAuction) }.companies.delete(company_to_remove) - - sqg.value = 70 - sqg.min_price = 35 - sqg.max_price = 140 - @round.steps.find { |s| s.is_a?(Engine::Step::WaterfallAuction) }.companies.sort_by!(&:value) end def remove_extra_french_major_shareholding_companies diff --git a/lib/engine/game/g_1894/map.rb b/lib/engine/game/g_1894/map.rb index 29adb7f320..c367672318 100644 --- a/lib/engine/game/g_1894/map.rb +++ b/lib/engine/game/g_1894/map.rb @@ -6,9 +6,9 @@ module G1894 module Map TILES = { '1' => 1, - '7' => 3, - '8' => 11, - '9' => 11, + '7' => 4, + '8' => 15, + '9' => 12, '14' => 4, '15' => 4, '16' => 1, @@ -56,32 +56,11 @@ module Map 'color' => 'yellow', 'code' => 'city=revenue:30;path=a:0,b:_0;path=a:2,b:_0;label=B', }, - 'X3a' => { + 'X3' => { 'count' => 1, 'color' => 'yellow', 'code' => 'city=revenue:20;path=a:0,b:_0;path=a:1,b:_0;label=L', }, - 'X3b' => { - 'count' => 1, - 'color' => 'green', - 'code' => 'city=revenue:40;path=a:0,b:_0;path=a:1,b:_0;path=a:4,b:_0;label=L', - }, - 'X3c' => { - 'count' => 1, - 'color' => 'green', - 'code' => 'city=revenue:30,slots:2;path=a:0,b:_0;path=a:1,b:_0;path=a:3,b:_0;path=a:4,b:_0;label=L', - }, - 'X3d' => { - 'count' => 1, - 'color' => 'brown', - 'code' => 'city=revenue:50,slots:2;path=a:0,b:_0;path=a:1,b:_0;path=a:3,b:_0;path=a:4,b:_0;label=L', - }, - 'X3e' => { - 'count' => 1, - 'color' => 'brown', - 'code' => 'city=revenue:40,slots:3;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;'\ - 'path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;label=L', - }, 'X4' => { 'count' => 1, 'color' => 'green', @@ -100,48 +79,69 @@ module Map 'code' => 'city=revenue:50,slots:2;path=a:0,b:_0;path=a:2,b:_0;path=a:4,b:_0;label=B', }, 'X7' => { + 'count' => 1, + 'color' => 'green', + 'code' => 'city=revenue:40;path=a:0,b:_0;path=a:1,b:_0;path=a:4,b:_0;label=L', + }, + 'X8' => { + 'count' => 1, + 'color' => 'green', + 'code' => 'city=revenue:30,slots:2;path=a:0,b:_0;path=a:1,b:_0;path=a:3,b:_0;path=a:4,b:_0;label=L', + }, + 'X9' => { 'count' => 1, 'color' => 'brown', 'code' => 'city=revenue:80,loc:0.5;city=revenue:80,slots:2;'\ 'path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_1;path=a:3,b:_1;label=P', }, - 'X8' => { + 'X10' => { 'count' => 1, 'color' => 'brown', 'code' => 'city=revenue:80,loc:0.5;city=revenue:80,slots:2:;'\ 'path=a:0,b:_0;path=a:1,b:_0;path=a:3,b:_1;path=a:4,b:_1;label=P', }, - 'X9' => { + 'X11' => { 'count' => 1, 'color' => 'brown', 'code' => 'city=revenue:60,slots:3;path=a:0,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0;label=B', }, - 'X10' => { + 'X12' => { + 'count' => 1, + 'color' => 'brown', + 'code' => 'city=revenue:50,slots:2;path=a:0,b:_0;path=a:1,b:_0;path=a:3,b:_0;path=a:4,b:_0;label=L', + }, + 'X13' => { + 'count' => 1, + 'color' => 'brown', + 'code' => 'city=revenue:40,slots:3;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;'\ + 'path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;label=L', + }, + 'X14' => { 'count' => 2, 'color' => 'brown', 'code' => 'city=revenue:40;city=revenue:40,loc:3.5;path=a:0,b:_0;path=a:2,b:_0;path=a:3,b:_1;path=a:4,b:_1', }, - 'X11' => { + 'X15' => { 'count' => 2, 'color' => 'brown', 'code' => 'city=revenue:40;city=revenue:40,loc:2.5;path=a:0,b:_0;path=a:4,b:_0;path=a:2,b:_1;path=a:3,b:_1', }, - 'X12' => { + 'X16' => { 'count' => 2, 'color' => 'brown', 'code' => 'city=revenue:40;city=revenue:40,loc:1.5;path=a:0,b:_0;path=a:3,b:_0;path=a:1,b:_1;path=a:2,b:_1', }, - 'X13' => { + 'X17' => { 'count' => 2, 'color' => 'brown', 'code' => 'city=revenue:40;city=revenue:40;path=a:0,b:_0;path=a:3,b:_0;path=a:2,b:_1;path=a:4,b:_1', }, - 'X14' => { + 'X18' => { 'count' => 2, 'color' => 'brown', 'code' => 'city=revenue:40;city=revenue:40;path=a:0,b:_0;path=a:3,b:_0;path=a:1,b:_1;path=a:4,b:_1', }, - 'X15' => { + 'X19' => { 'count' => 2, 'color' => 'brown', 'code' => 'city=revenue:40,loc:0.5;city=revenue:40,loc:3.5;'\ @@ -157,6 +157,7 @@ module Map 'B9' => 'Calais', 'B11' => 'Dunkerque', 'C18' => 'Netherlands', + 'C6' => 'Abbeville & Blangy-sur-Blesne', 'D1' => 'Évreux', 'D3' => 'Rouen', 'D11' => 'Lille', @@ -165,14 +166,18 @@ module Map 'E6' => 'Amiens', 'E10' => 'Arras', 'E16' => 'Mechelen', + 'F5' => ' Beauvais & Breteuil', + 'F9' => ' Bapaume & Cambrai', 'F15' => 'Bruxelles', 'G2' => 'Versailles', 'G4' => 'Paris', 'G10' => 'Saint-Quentin', 'G14' => 'Charleroi', + 'G16' => 'Namur & Sint-Truiden', 'G18' => 'Hasselt', 'H1' => 'Chartres', 'H7' => 'Soissons', + 'H13' => 'Charleville-Mézières', 'H17' => 'Liège', 'I2' => 'Centre & Bourgogne', 'I8' => 'Reims', @@ -212,7 +217,7 @@ module Map ['C16'] => 'path=a:0,b:1;path=a:4,b:5;path=a:5,b:0', ['D1'] => 'town=revenue:20;path=a:4,b:_0;path=a:5,b:_0', ['G18'] => 'city=revenue:20,loc:4;path=a:0,b:2;path=a:0,b:_0;path=a:2,b:_0', - ['H1'] => 'city=revenue:20;path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;', + ['H1'] => 'city=revenue:yellow_20|brown_40;path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;', ['I10'] => 'path=a:1,b:4', ['I16'] => 'path=a:1,b:4;path=a:1,b:2;', }, diff --git a/lib/engine/game/g_1894/step/update_tokens.rb b/lib/engine/game/g_1894/step/update_tokens.rb index df0706e8cd..407d26a671 100644 --- a/lib/engine/game/g_1894/step/update_tokens.rb +++ b/lib/engine/game/g_1894/step/update_tokens.rb @@ -60,6 +60,7 @@ def process_place_token(action) cheater = action.city.tokens.count { |t| !t.nil? } action.city.place_token(action.entity, token, free: true, check_tokenable: false, cheater: cheater) + @log << "#{corporation.id} places a token on #{hex_id} (#{hex.location_name})" saved_tokens = @game.saved_tokens saved_tokens.shift @game.save_tokens(saved_tokens) diff --git a/lib/engine/game/g_18_co/game.rb b/lib/engine/game/g_18_co/game.rb index a02e343214..3a850a9048 100644 --- a/lib/engine/game/g_18_co/game.rb +++ b/lib/engine/game/g_18_co/game.rb @@ -1423,7 +1423,7 @@ def event_presidents_choice! @presidents_choice = :triggered end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) corporation = bundle.corporation old_price = corporation.share_price was_president = corporation.president?(bundle.owner) diff --git a/lib/engine/game/g_18_ga/entities.rb b/lib/engine/game/g_18_ga/entities.rb index b405504d1a..d3f5f6ef06 100644 --- a/lib/engine/game/g_18_ga/entities.rb +++ b/lib/engine/game/g_18_ga/entities.rb @@ -93,71 +93,73 @@ module Entities }, ].freeze - CORPORATIONS = [ - { - float_percent: 60, - sym: 'ACL', - name: 'Atlantic Coast Line', - logo: '18_ga/ACL', - simple_logo: '18_ga/ACL.alt', - tokens: [0, 40, 100, 100], - coordinates: 'J12', - color: 'black', - }, - { - float_percent: 60, - sym: 'CoG', - name: 'Central of Georgia Railroad', - logo: '18_ga/CoG', - simple_logo: '18_ga/CoG.alt', - tokens: [0, 40, 100, 100], - coordinates: 'F6', - color: 'red', - }, - { - float_percent: 60, - sym: 'G&F', - name: 'Georgia and Florida Railroad', - logo: '18_ga/GF', - simple_logo: '18_ga/GF.alt', - tokens: [0, 40], - coordinates: 'H4', - color: 'deepskyblue', - text_color: 'black', - }, - { - float_percent: 60, - sym: 'GA', - name: 'Georgia Railroad', - logo: '18_ga/GA', - simple_logo: '18_ga/GA.alt', - tokens: [0, 40, 100, 100], - coordinates: 'D10', - city: 0, - color: 'green', - }, - { - float_percent: 60, - sym: 'W&A', - name: 'Western and Atlantic Railroad', - logo: '18_ga/WA', - simple_logo: '18_ga/WA.alt', - tokens: [0, 40], - coordinates: 'D4', - color: 'purple', - }, - { - float_percent: 60, - sym: 'SAL', - name: 'Seaboard Air Line', - logo: '18_ga/SAL', - simple_logo: '18_ga/SAL.alt', - tokens: [0, 40, 100], - coordinates: 'G13', - color: 'gold', - text_color: 'black', - }, - ].freeze + def game_corporations + [ + { + float_percent: 60, + sym: 'ACL', + name: 'Atlantic Coast Line', + logo: '18_ga/ACL', + simple_logo: '18_ga/ACL.alt', + tokens: [0, 40, 100, 100], + coordinates: 'J12', + color: 'black', + }, + { + float_percent: 60, + sym: 'CoG', + name: 'Central of Georgia Railroad', + logo: '18_ga/CoG', + simple_logo: '18_ga/CoG.alt', + tokens: [0, 40, 100, 100], + coordinates: 'F6', + color: 'red', + }, + { + float_percent: 60, + sym: 'G&F', + name: 'Georgia and Florida Railroad', + logo: '18_ga/GF', + simple_logo: '18_ga/GF.alt', + tokens: [0, 40], + coordinates: @optional_rules&.include?(:new_georgia_florida_home) ? 'G3' : 'H4', + color: 'deepskyblue', + text_color: 'black', + }, + { + float_percent: 60, + sym: 'GA', + name: 'Georgia Railroad', + logo: '18_ga/GA', + simple_logo: '18_ga/GA.alt', + tokens: [0, 40, 100, 100], + coordinates: 'D10', + city: 0, + color: 'green', + }, + { + float_percent: 60, + sym: 'W&A', + name: 'Western and Atlantic Railroad', + logo: '18_ga/WA', + simple_logo: '18_ga/WA.alt', + tokens: [0, 40], + coordinates: 'D4', + color: 'purple', + }, + { + float_percent: 60, + sym: 'SAL', + name: 'Seaboard Air Line', + logo: '18_ga/SAL', + simple_logo: '18_ga/SAL.alt', + tokens: [0, 40, 100], + coordinates: 'G13', + color: 'gold', + text_color: 'black', + }, + ] + end end end end diff --git a/lib/engine/game/g_18_ga/meta.rb b/lib/engine/game/g_18_ga/meta.rb index a0c20d48d1..1346d0ca7c 100644 --- a/lib/engine/game/g_18_ga/meta.rb +++ b/lib/engine/game/g_18_ga/meta.rb @@ -24,6 +24,11 @@ module Meta short_name: 'Extra yellow', desc: 'Allow corporation to lay 2 yellows its first OR', }, + { + sym: :new_georgia_florida_home, + short_name: 'New Georgia & Florida home', + desc: 'The Georgia & Florida Railroad home is moved from Albany to Columbus', + }, { sym: :soft_rust_4t, short_name: 'Soft rust', diff --git a/lib/engine/game/g_18_gb/game.rb b/lib/engine/game/g_18_gb/game.rb index d8690c86f8..95dda66a49 100644 --- a/lib/engine/game/g_18_gb/game.rb +++ b/lib/engine/game/g_18_gb/game.rb @@ -539,7 +539,7 @@ def non_president_sales_drop_price? !@phase.status.include?('only_pres_drop') end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) corporation = bundle.corporation old_price = corporation.share_price was_president = corporation.president?(bundle.owner) diff --git a/lib/engine/game/g_18_mag/game.rb b/lib/engine/game/g_18_mag/game.rb index 96c841b6fd..a86614efba 100644 --- a/lib/engine/game/g_18_mag/game.rb +++ b/lib/engine/game/g_18_mag/game.rb @@ -415,6 +415,12 @@ def must_buy_train?(_entity) false end + def entity_can_use_company?(entity, company) + return false unless entity.minor? + + entity.owner == company.owner + end + # price is nil, :free, or a positive int def buy_train(operator, train, price = nil) @train_bought = true if train.owner == @depot # No idea if this is what Lonny wants diff --git a/lib/engine/game/g_18_mag/step/buy_train.rb b/lib/engine/game/g_18_mag/step/buy_train.rb index 922aff01a3..a7b38a0d0f 100644 --- a/lib/engine/game/g_18_mag/step/buy_train.rb +++ b/lib/engine/game/g_18_mag/step/buy_train.rb @@ -22,12 +22,20 @@ def buyable_trains(entity) # All trains start out available depot_trains = @depot.upcoming.group_by(&:name).map { |_k, v| v.first } other_trains = @depot.other_trains(entity) - - depot_trains.reject! { |t| entity.cash < t.price } + depot_trains.reject! { |t| entity.cash < t.min_price(ability: train_discount_ability(entity)) } other_trains = [] if entity.cash < @game.class::TRAIN_PRICE_MIN depot_trains + other_trains end + + def train_discount_ability(entity) + all_abilities = [] + entity.owner.companies.each do |c| + ability = c.all_abilities.select { |a| a.type == :train_discount } + all_abilities.concat(ability) if ability + end + all_abilities.empty? ? nil : all_abilities + end end end end diff --git a/lib/engine/game/g_18_mex/map.rb b/lib/engine/game/g_18_mex/map.rb index cc8aa35bc8..0e347b3c2d 100644 --- a/lib/engine/game/g_18_mex/map.rb +++ b/lib/engine/game/g_18_mex/map.rb @@ -48,7 +48,7 @@ module Map 'count' => 1, 'color' => 'yellow', 'code' => - 'town=revenue:20,loc:0;path=a:0,b:_0;path=a:3,b:_0;path=a:3,b:4;path=a:4,b:_0;label=CC', + 'town=revenue:20,loc:0,style:rect;path=a:0,b:_0;path=a:3,b:_0;path=a:3,b:4;path=a:4,b:_0;label=CC', }, '471' => 1, '472' => 1, diff --git a/lib/engine/game/g_18_mex/step/buy_sell_par_shares.rb b/lib/engine/game/g_18_mex/step/buy_sell_par_shares.rb index 657f7caa99..ffc0a8993a 100644 --- a/lib/engine/game/g_18_mex/step/buy_sell_par_shares.rb +++ b/lib/engine/game/g_18_mex/step/buy_sell_par_shares.rb @@ -18,6 +18,7 @@ def can_sell?(entity, bundle) def can_gain?(entity, bundle, exchange: false) return if !bundle || !entity || attempt_ndm_action_on_unavailable?(bundle) + return if bundle.owner&.player? bundle.corporation.holding_ok?(entity, bundle.percent) && (exchange || room_to_gain?(entity, bundle)) end diff --git a/lib/engine/game/g_18_mt/game.rb b/lib/engine/game/g_18_mt/game.rb index 339f228e86..510dd54dd3 100644 --- a/lib/engine/game/g_18_mt/game.rb +++ b/lib/engine/game/g_18_mt/game.rb @@ -219,7 +219,7 @@ def revenue_str(route) str end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) corporation = bundle.corporation old_price = corporation.share_price was_president = corporation.president?(bundle.owner) diff --git a/lib/engine/game/g_18_oe/game.rb b/lib/engine/game/g_18_oe/game.rb index ba85aacc73..58043311a9 100644 --- a/lib/engine/game/g_18_oe/game.rb +++ b/lib/engine/game/g_18_oe/game.rb @@ -42,17 +42,52 @@ class Game < Game::Base PHASES = [ { name: '2', - train_limit: 3, + train_limit: { minor: 2, regional: 2, major: 4 }, tiles: [:yellow], operating_rounds: 2, }, { name: '3', on: '3', - train_limit: 3, + train_limit: { minor: 2, regional: 2, major: 4 }, tiles: %i[yellow green], operating_rounds: 2, }, + { + name: '4', + on: '4', + train_limit: { minor: 1, regional: 1, major: 3, national: 4 }, + tiles: %i[yellow green], + operating_rounds: 2, + }, + { + name: '5', + on: '5', + train_limit: { minor: 1, regional: 1, major: 3, national: 4 }, + tiles: %i[yellow green brown], + operating_rounds: 2, + }, + { + name: '6', + on: '6', + train_limit: { major: 2, national: 3 }, + tiles: %i[yellow green brown], + operating_rounds: 2, + }, + { + name: '7', + on: '7+7', + train_limit: { major: 2, national: 3 }, + tiles: %i[yellow green brown gray], + operating_rounds: 2, + }, + { + name: '8', + on: '8+8', + train_limit: { major: 2, national: 3 }, + tiles: %i[yellow green brown gray], + operating_rounds: 2, + }, ].freeze TRAINS = [ @@ -187,6 +222,197 @@ class Game < Game::Base 'color' => 'yellow', 'code' => 'city=revenue:30;city=revenue:30;path=a:0,b:_0;path=a:5,b:_1;label=S', }, + # 'OE9' => 3, green, double town + # 'OE10' => 3, green, double town + # 'OE11' => 3, green, double town + 'OE12' => + { + 'count' => 3, + 'color' => 'green', + 'code' => 'city=revenue:50;city=revenue:50;city=revenue:50;path=a:0,b:_0;path=a:_0,b:3;'\ + 'path=a:2,b:_1;path=a:_1,b:5;path=a:4,b:_2;path=a:_2,b:1;label=A', + }, + 'OE13' => + { + 'count' => 1, + 'color' => 'green', + 'code' => 'city=revenue:60;city=revenue:60;city=revenue:60;path=a:0,b:_0;path=a:_0,b:3;'\ + 'path=a:2,b:_1;path=a:_1,b:5;path=a:4,b:_2;path=a:_2,b:1;label=B', + }, + 'OE14' => + { + 'count' => 1, + 'color' => 'green', + 'code' => 'city=revenue:50;city=revenue:50,slots:2;path=a:0,b:_0;path=a:_0,b:1;path=a:5,b:_1;path=a:_1,b:3;label=C', + }, + 'OE15' => + { + 'count' => 1, + 'color' => 'green', + 'code' => 'city=revenue:60,slots:2;city=revenue:60,slots:2;path=a:1,b:_0;path=a:5,b:_0;'\ + 'path=a:2,b:_1;path=a:3,b:_1;path=a:4,b:_1;label=L', + }, + 'OE16' => + { + 'count' => 1, + 'color' => 'green', + 'code' => 'city=revenue:50,slots:2;city=revenue:50;path=a:1,b:_0;path=a:_0,b:3;path=a:4,b:_1;path=a:_1,b:2;label=N', + }, + 'OE17' => + { + 'count' => 1, + 'color' => 'green', + 'code' => 'city=revenue:50;city=revenue:50;city=revenue:50;path=a:0,b:_0;path=a:2,b:_1;path=a:4,b:_2;label=P', + }, + 'OE18' => + { + 'count' => 1, + 'color' => 'green', + 'code' => 'city=revenue:50;city=revenue:50,slots:2;path=a:0,b:_0;path=a:_0,b:2;path=a:5,b:_1;path=a:_1,b:3;label=S', + }, + # 'OE20' => 3, brown, two towns + # 'OE21' => 2, brown, two towns + # 'OE22' => 6, brown, two towns + 'OE23' => + { + 'count' => 12, + 'color' => 'brown', + 'code' => 'city=revenue:40;path=a:0,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:5,b:_0', + }, + 'OE24' => + { + 'count' => 20, + 'color' => 'brown', + 'code' => 'city=revenue:40;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;path=a:5,b:_0', + }, + 'OE25' => + { + 'count' => 12, + 'color' => 'brown', + 'code' => 'city=revenue:40;path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:5,b:_0', + }, + 'OE26' => + { + 'count' => 5, + 'color' => 'brown', + 'code' => 'city=revenue:80,slots:3;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;'\ + 'path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;label=ACS', + }, + 'OE27' => + { + 'count' => 1, + 'color' => 'brown', + 'code' => 'city=revenue:80,slots:4;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;'\ + 'path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;label=B', + }, + 'OE28' => + { + 'count' => 1, + 'color' => 'brown', + 'code' => 'city=revenue:90,slots:4;path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;label=L', + }, + 'OE29' => + { + 'count' => 1, + 'color' => 'brown', + 'code' => 'city=revenue:80,slots:3;path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0;label=N', + }, + 'OE30' => + { + 'count' => 1, + 'color' => 'brown', + 'code' => 'city=revenue:80;city=revenue:80;city=revenue:80;path=a:0,b:_0;path=a:1,b:_1;path=a:2,b:_1;'\ + 'path=a:3,b:_2;path=a:4,b:_2;path=a:5,b:_0;label=P', + }, + 'OE31' => + { + 'count' => 3, + 'color' => 'brown', + 'code' => 'city=revenue:60,slots:2;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;path=a:5,b:_0;label=Y', + }, + 'OE32' => + { + 'count' => 3, + 'color' => 'brown', + 'code' => 'city=revenue:60,slots:2;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:5,b:_0;label=Y', + }, + 'OE33' => + { + 'count' => 11, + 'color' => 'brown', + 'code' => 'city=revenue:60,slots:2;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;'\ + 'path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;label=Y', + }, + 'OE34' => + { + 'count' => 5, + 'color' => 'gray', + 'code' => 'city=revenue:60;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;path=a:5,b:_0', + }, + 'OE35' => + { + 'count' => 6, + 'color' => 'gray', + 'code' => 'city=revenue:60;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:5,b:_0', + }, + 'OE36' => + { + 'count' => 16, + 'color' => 'gray', + 'code' => 'city=revenue:60;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0', + }, + 'OE37' => + { + 'count' => 5, + 'color' => 'gray', + 'code' => 'city=revenue:100,slots:3;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;'\ + 'path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;label=APS', + }, + 'OE38' => + { + 'count' => 1, + 'color' => 'gray', + 'code' => 'city=revenue:120,slots:4;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;'\ + 'path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;label=B', + }, + 'OE39' => + { + 'count' => 1, + 'color' => 'gray', + 'code' => 'city=revenue:100,slots:4;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;'\ + 'path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;label=B', + }, + 'OE40' => + { + 'count' => 1, + 'color' => 'gray', + 'code' => 'city=revenue:120,slots:4;path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;label=L', + }, + 'OE41' => + { + 'count' => 1, + 'color' => 'gray', + 'code' => 'city=revenue:100,slots:3;path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0;label=N', + }, + 'OE42' => + { + 'count' => 3, + 'color' => 'gray', + 'code' => 'city=revenue:80,slots:2;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;path=a:5,b:_0;label=Y', + }, + 'OE43' => + { + 'count' => 3, + 'color' => 'gray', + 'code' => 'city=revenue:80,slots:2;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;path=a:3,b:_0;path=a:5,b:_0;label=Y', + }, + 'OE44' => + { + 'count' => 11, + 'color' => 'gray', + 'code' => 'city=revenue:80,slots:2;path=a:0,b:_0;path=a:1,b:_0;path=a:2,b:_0;'\ + 'path=a:3,b:_0;path=a:4,b:_0;path=a:5,b:_0;label=Y', + }, }.freeze def setup @@ -231,6 +457,14 @@ def metropolis_tile?(tile) OE18 OE26 OE27 OE28 OE29 OE30 OE37 OE38 OE39 OE40 OE41].include?(tile.name.to_s) end + def must_buy_train?(entity) + # must buy the reserved 2+2, otherwise only majors must buy trains + # return unless entity.type == 'major' + return false if depot.depot_trains.first&.name != '2+2' && entity.type != :major + + super + end + def upgrades_to_correct_label?(from, to) return true if from.label == to.label return false if from.label && !to.label @@ -251,7 +485,7 @@ def upgrades_to_correct_label?(from, to) def company_becomes_minor?(company) corp = @corporations.find { |c| c.name == company.sym } - return unless corp + return false unless corp corp.type == :minor end @@ -267,6 +501,19 @@ def after_par(corporation) corporation.spend(TRACK_RIGHTS_COST[region], @bank) end + def issuable_shares(entity) + return [] if !entity.corporation? || entity.type != :major + + bundles_for_corporation(entity, entity) + .select { |bundle| @share_pool.fit_in_bank?(bundle) } + end + + def value_for_dumpable(player, corporation) + return 0 if corporation.type == :regional + + super + end + def stock_round Round::Stock.new(self, [ Engine::Step::DiscardTrain, @@ -291,7 +538,8 @@ def operating_round(round_num) G18OE::Step::Token, Engine::Step::Route, G18OE::Step::Dividend, - Engine::Step::BuyTrain, + G18OE::Step::BuyTrain, + # Convert step to do national conversions at 4/6/8? Engine::Step::IssueShares, ], round_num: round_num) end diff --git a/lib/engine/game/g_18_oe/round/operating.rb b/lib/engine/game/g_18_oe/round/operating.rb index 9b1972a598..e05b73f413 100644 --- a/lib/engine/game/g_18_oe/round/operating.rb +++ b/lib/engine/game/g_18_oe/round/operating.rb @@ -5,7 +5,7 @@ module Engine module Round module G18OE - class Operating < Operating + class Operating < Engine::Round::Operating def select_entities # minors and regionals in float order, majors in stock order @game.minor_regional_order + (@game.corporations.select(&:floated?) - @game.minor_regional_order).sort diff --git a/lib/engine/game/g_18_oe/step/buy_sell_par_shares.rb b/lib/engine/game/g_18_oe/step/buy_sell_par_shares.rb index 7aebe05fc2..0d9b21b3db 100644 --- a/lib/engine/game/g_18_oe/step/buy_sell_par_shares.rb +++ b/lib/engine/game/g_18_oe/step/buy_sell_par_shares.rb @@ -1,13 +1,23 @@ # frozen_string_literal: true require_relative '../../../step/buy_sell_par_shares' +require_relative '../../../action/convert' module Engine module Game module G18OE module Step class BuySellParShares < Engine::Step::BuySellParShares + def setup + super + + @bought = nil + @converted = nil + @sold = false + end + def actions(entity) + return corporation_actions(entity) if entity.corporation? return [] unless entity == current_entity return ['sell_shares'] if must_sell?(entity) @@ -16,23 +26,99 @@ def actions(entity) actions << 'par' if can_ipo_any?(entity) || can_float_minor?(entity) actions << 'buy_company' if !purchasable_companies(entity).empty? || !buyable_bank_owned_companies(entity).empty? actions << 'sell_shares' if can_sell_any?(entity) - - actions << 'pass' if !can_float_minor?(entity) && !bought? && !actions.empty? + actions << 'convert' if can_convert_any? + actions << 'pass' if !can_float_minor?(entity) && !actions.empty? actions end + def corporation_actions(entity) + return [] unless can_convert?(entity) + + %w[convert pass] + end + def can_buy_any_from_ipo?(entity) - return unless @game.corporations.all?(&:ipoed) + return false unless @game.corporations.all?(&:ipoed) + + super + end + + def can_buy?(entity, bundle) + return false if @converted && bundle.corporation != @converted + + super + end + + def can_sell?(entity, bundle) + return false unless bundle + return false if bundle.corporation.type == :regional + return false if bundle.corporation == @converted super end def can_float_minor?(entity) - return unless entity.player? + return false unless entity.player? !bought? && entity.companies.any? { |company| @game.company_becomes_minor?(company) } end + def can_convert_any? + @game.corporations.any? { |corp| can_convert?(corp) } + end + + def can_convert?(entity) + # are we in the major railroad phase? + return false unless @game.corporations.all?(&:ipoed) + # is the current entity a regional? + return false unless entity.type == :regional + # has any shares been sold? + return false if @sold + # has there already been a conversion? + return false if @converted + # if anything has been bought, is it the current corp? + return false if @bought && @bought != entity + + unless entity.president?(current_entity) + # does the converter have 50% ownership? + return false unless entity.share_holders[current_entity] >= 50 + # does the converter have the ability to buy a share to take the presidency? + return false if @bought + + # does the converter have enough liquidity to become president? + new_share_price = @game.stock_market.find_share_price(entity, %i[right right up]) + return false unless @game.liquidity(current_entity) >= new_share_price.price + end + + true + end + + def float_major(corporation) + shares = corporation.share_holders.keys.flat_map { |share| share.shares_of(corporation) } + + shares.each { |share| share.percent = share.president ? 20 : 10 } + 6.times do |index| + share = Share.new(corporation, owner: corporation.ipo_owner, percent: 10, index: 4 + index) + corporation.ipo_owner.shares_by_corporation[corporation] << share + end + corporation.share_holders.keys do |sh| + corporation.share_holders[sh] = sh.shares_by_corporation[corporation].sum(&:percent) + end + + # Set corporation type to :major + corporation.type = :major + + # Majors are affected by the stock market, set tokens in the correct place + @game.stock_market.move_right(corporation) + @game.stock_market.move_right(corporation) + @game.stock_market.move_up(corporation) + corporation.tokens.concat([40, 60, 60, 80, 80, 80].map { |price| Engine::Token.new(corporation, price: price) }) + # Lastly, remove major from minor/regional turn order + @game.minor_regional_order -= [corporation] + # Also update the cache so reload works + @game.update_cache(:shares) + end + def float_minor(action) share_price = action.share_price corporation = action.corporation @@ -68,6 +154,27 @@ def visible_corporations @game.sorted_corporations.reject { |c| (c.type == :minor && c.ipoed) } end + def process_buy_shares(action) + super + corp = action.bundle.corporation + @bought = corp + end + + def process_sell_shares(action) + super + @sold = true + end + + def process_convert(action) + corporation = action.entity + float_major(corporation) + track_action(action, corporation) + @converted = corporation + @log << "#{corporation.name} converts from regional to major" + @log << "#{current_entity.name} must buy a share to become president of #{corporation.name}" unless + corporation.president?(current_entity) + end + def process_par(action) if action.corporation.type == :minor float_minor(action) @@ -88,6 +195,8 @@ def process_par(action) @game.close_corporation(corp) end + + pass! end def get_par_prices(entity, corp) @@ -100,6 +209,19 @@ def check_legal_buy(entity, shares, exchange: nil, swap: nil, allow_president_ch raise GameError, "Cannot buy a share of #{shares&.corporation&.name}" if !can_buy?(entity, shares.to_bundle) && !swap && !exchange end + + def pass! + raise GameError, "Must become president of newly floated major #{@converted&.name}" if + @converted && !@converted.president?(current_entity) + + super + end + + def log_pass(entity) + return if bought? + + @log << "#{entity.name} passes" + end end end end diff --git a/lib/engine/game/g_18_oe/step/buy_train.rb b/lib/engine/game/g_18_oe/step/buy_train.rb new file mode 100644 index 0000000000..5553e60132 --- /dev/null +++ b/lib/engine/game/g_18_oe/step/buy_train.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +require_relative '../../../step/buy_train' + +module Engine + module Game + module G18OE + module Step + class BuyTrain < Engine::Step::BuyTrain + def can_entity_buy_train?(_entity) + true + end + + # This will also have logic for when you can buy trains + # Such as 3 trains being available after the first OR and after all minors/regionals have floated (major phase) + # And nationals getting rusted trains + end + end + end + end +end diff --git a/lib/engine/game/g_18_oe_uk_fr/entities.rb b/lib/engine/game/g_18_oe_uk_fr/entities.rb index 796fe293cb..db460e7d5d 100644 --- a/lib/engine/game/g_18_oe_uk_fr/entities.rb +++ b/lib/engine/game/g_18_oe_uk_fr/entities.rb @@ -141,77 +141,91 @@ module Entities logo: '18_oe/BEL', sym: 'BEL', tokens: [20, 20], + type: 'regional', shares: [50, 25, 25], float_percent: 50, max_ownership_percent: 100, coordinates: 'N35', color: :green, + always_market_price: true, }, { name: 'Great Southern and Western Railway', logo: '18_oe/GSWR', sym: 'GSWR', tokens: [40, 20], + type: 'regional', shares: [50, 25, 25], float_percent: 50, max_ownership_percent: 100, coordinates: 'I20', color: :blue, + always_market_price: true, }, { name: 'Great Western Railway', logo: '18_oe/GWR', sym: 'GWR', tokens: [40, 20], + type: 'regional', shares: [50, 25, 25], float_percent: 50, max_ownership_percent: 100, coordinates: 'L25', color: :red, + always_market_price: true, }, { name: 'London and North Western Railway', logo: '18_oe/LNWR', sym: 'LNWR', tokens: [40, 20], + type: 'regional', shares: [50, 25, 25], float_percent: 50, max_ownership_percent: 100, coordinates: 'J27', color: :black, + always_market_price: true, }, { name: 'CF du Midi', logo: '18_oe/MIDI', sym: 'MIDI', tokens: [20, 20], + type: 'regional', shares: [50, 25, 25], float_percent: 50, max_ownership_percent: 100, coordinates: 'U24', color: :blue, + always_market_price: true, }, { name: 'CF de l\'Ouest', logo: '18_oe/OU', sym: 'OU', tokens: [20, 20], + type: 'regional', shares: [50, 25, 25], float_percent: 50, max_ownership_percent: 100, coordinates: 'Q26', color: :orange, + always_market_price: true, }, { name: 'CF Paris a Lyon et a la Mediterranee', logo: '18_oe/PLM', sym: 'PLM', tokens: [20, 20], + type: 'regional', shares: [50, 25, 25], float_percent: 50, max_ownership_percent: 100, coordinates: 'U34', color: :purple, + always_market_price: true, }, ].freeze end diff --git a/lib/engine/game/g_18_oe_uk_fr/game.rb b/lib/engine/game/g_18_oe_uk_fr/game.rb index 6e437a19df..b521056c1c 100644 --- a/lib/engine/game/g_18_oe_uk_fr/game.rb +++ b/lib/engine/game/g_18_oe_uk_fr/game.rb @@ -31,11 +31,13 @@ class Game < G18OE::Game distance: [{ 'nodes' => ['town'], 'pay' => 0, 'visit' => 99 }, { 'nodes' => %w[city offboard town], 'pay' => 3, 'visit' => 3 }], price: 200, + rust_on: '6', variants: [{ name: '3+3', distance: [{ 'nodes' => ['town'], 'pay' => 3, 'visit' => 99 }, { 'nodes' => %w[city offboard town], 'pay' => 3, 'visit' => 3 }], price: 225, + rusts_on: '6', }], num: 7, }, @@ -52,6 +54,46 @@ class Game < G18OE::Game }], num: 3, }, + { + name: '5', + distance: [{ 'nodes' => ['town'], 'pay' => 0, 'visit' => 99 }, + { 'nodes' => %w[city offboard town], 'pay' => 5, 'visit' => 5 }], + price: 400, + variants: [{ + name: '5+5', + distance: [{ 'nodes' => ['town'], 'pay' => 5, 'visit' => 99 }, + { 'nodes' => %w[city offboard town], 'pay' => 5, 'visit' => 5 }], + price: 475, + }], + num: 3, + }, + { + name: '6', + distance: [{ 'nodes' => ['town'], 'pay' => 0, 'visit' => 99 }, + { 'nodes' => %w[city offboard town], 'pay' => 6, 'visit' => 6 }], + price: 525, + variants: [{ + name: '6+6', + distance: [{ 'nodes' => ['town'], 'pay' => 6, 'visit' => 99 }, + { 'nodes' => %w[city offboard town], 'pay' => 6, 'visit' => 6 }], + price: 600, + }], + num: 2, + }, + { + name: '7+7', + distance: [{ 'nodes' => ['town'], 'pay' => 7, 'visit' => 99 }, + { 'nodes' => %w[city offboard town], 'pay' => 7, 'visit' => 7 }], + price: 750, + num: 3, + }, + { + name: '8+8', + distance: [{ 'nodes' => ['town'], 'pay' => 8, 'visit' => 99 }, + { 'nodes' => %w[city offboard town], 'pay' => 8, 'visit' => 8 }], + price: 900, + num: 6, + }, ].freeze MAX_FLOATED_REGIONALS = 6 diff --git a/lib/engine/game/g_18_rhl/step/track.rb b/lib/engine/game/g_18_rhl/step/track.rb index f5195296b0..792c310100 100644 --- a/lib/engine/game/g_18_rhl/step/track.rb +++ b/lib/engine/game/g_18_rhl/step/track.rb @@ -21,6 +21,7 @@ def actions(entity) def check_track_restrictions!(entity, old_tile, new_tile) return if FOUR_SPOKERS_TO.include?(new_tile.name) + return if @game.optional_promotion_tiles && old_tile.name == '929' && new_tile.name == '949' super end diff --git a/lib/engine/game/g_18_sj/map.rb b/lib/engine/game/g_18_sj/map.rb index baeb8b228f..6530f87760 100644 --- a/lib/engine/game/g_18_sj/map.rb +++ b/lib/engine/game/g_18_sj/map.rb @@ -142,21 +142,39 @@ module Map %w[B13 C14] => '', }, white: { - %w[A4 C6 D7] => 'icon=image:18_sj/M-S,sticky:1', - ['D13'] => 'icon=image:18_sj/G-S,sticky:1', - %w[E14 E16 E18 E24 F25 G12] => + %w[A4] => 'path=track:future,a:1,b:5;icon=image:18_sj/M-S,sticky:1', + %w[C6 D7] => 'path=track:future,a:2,b:5;icon=image:18_sj/M-S,sticky:1', + ['D13'] => 'path=track:future,a:0,b:2;icon=image:18_sj/G-S,sticky:1', + %w[E14] => 'path=track:future,a:0,b:4;icon=image:18_sj/L-S,sticky:1', + %w[E16 E18] => 'path=track:future,a:1,b:4;icon=image:18_sj/L-S,sticky:1', + %w[E24] => 'path=track:future,a:1,b:5;icon=image:18_sj/L-S,sticky:1', + %w[F25] => 'path=track:future,a:2,b:5;icon=image:18_sj/L-S,sticky:1', + %w[G12] => 'path=track:future,a:1,b:3;icon=image:18_sj/L-S,sticky:1', + ['E22'] => + 'path=track:future,a:1,b:4;upgrade=cost:75,terrain:mountain;'\ 'icon=image:18_sj/L-S,sticky:1', - ['E22'] => 'upgrade=cost:75,terrain:mountain;icon=image:18_sj/L-S,sticky:1', - ['B5'] => 'city=revenue:0;icon=image:18_sj/M-S,sticky:1', + ['B5'] => + 'city=revenue:0;path=track:future,a:2,b:_0;path=track:future,a:5,b:_0;'\ + 'icon=image:18_sj/M-S,sticky:1', ['E8'] => - 'city=revenue:0;icon=image:18_sj/M-S,sticky:1;icon=image:18_sj/GKB,sticky:1', - ['E12'] => 'city=revenue:0;icon=image:18_sj/G-S,sticky:1', - %w[F13 E20] => 'city=revenue:0;icon=image:18_sj/L-S,sticky:1', + 'city=revenue:0;path=track:future,a:2,b:_0;path=track:future,a:5,b:_0;'\ + 'icon=image:18_sj/M-S,sticky:1;icon=image:18_sj/GKB,sticky:1', + ['E12'] => + 'city=revenue:0;path=track:future,a:0,b:_0;path=track:future,a:3,b:_0;'\ + 'icon=image:18_sj/G-S,sticky:1', + %w[E20] => + 'city=revenue:0;path=track:future,a:1,b:_0;path=track:future,a:4,b:_0;'\ + 'icon=image:18_sj/L-S,sticky:1', + %w[F13] => + 'city=revenue:0;path=track:future,a:0,b:_0;path=track:future,a:3,b:_0;'\ + 'icon=image:18_sj/L-S,sticky:1', ['C12'] => - 'city=revenue:0;border=edge:2,type:mountain,cost:75;icon=image:18_sj/G-S,sticky:1;'\ + 'city=revenue:0;path=track:future,a:2,b:_0;path=track:future,a:5,b:_0;'\ + 'border=edge:2,type:mountain,cost:75;icon=image:18_sj/G-S,sticky:1;'\ 'icon=image:18_sj/GKB,sticky:1', ['B11'] => - 'city=revenue:0;border=edge:5,type:mountain,cost:75;icon=image:18_sj/G-S,sticky:1', + 'city=revenue:0;path=track:future,a:2,b:_0;path=track:future,a:5,b:_0;'\ + 'border=edge:5,type:mountain,cost:75;icon=image:18_sj/G-S,sticky:1', %w[A12 B19 B21 B23 B25 B27] => 'upgrade=cost:75,terrain:mountain', ['C30'] => 'upgrade=cost:150,terrain:mountain', @@ -169,8 +187,12 @@ module Map ['D11'] => 'city=revenue:0;border=edge:2,type:impassable', ['D29'] => 'city=revenue:0;upgrade=cost:75,terrain:mountain;icon=image:18_sj/M,sticky:1', - ['F9'] => 'upgrade=cost:150,terrain:mountain;icon=image:18_sj/M-S,sticky:1', - ['F11'] => 'upgrade=cost:75,terrain:mountain;icon=image:18_sj/G-S,sticky:1', + ['F9'] => + 'path=track:future,a:2,b:5;upgrade=cost:150,terrain:mountain;'\ + 'icon=image:18_sj/M-S,sticky:1', + ['F11'] => + 'path=track:future,a:0,b:3;upgrade=cost:75,terrain:mountain;'\ + 'icon=image:18_sj/G-S,sticky:1', }, yellow: { ['C2'] => 'city=revenue:20;path=a:2,b:_0;path=a:3,b:_0;path=a:4,b:_0;label=Y;icon=image:port,sticky:1', diff --git a/lib/engine/game/g_18_sj/step/buy_sell_par_shares.rb b/lib/engine/game/g_18_sj/step/buy_sell_par_shares.rb index f60940c5f2..76c26b56ba 100644 --- a/lib/engine/game/g_18_sj/step/buy_sell_par_shares.rb +++ b/lib/engine/game/g_18_sj/step/buy_sell_par_shares.rb @@ -7,6 +7,21 @@ module Game module G18SJ module Step class BuySellParShares < Engine::Step::BuySellParShares + def can_buy_any?(entity) + (can_buy_any_from_market?(entity) || + can_buy_any_from_ipo?(entity) || + can_buy_any_from_treasury?(entity)) + end + + def can_buy_any_from_treasury?(entity) + @game.corporations.each do |corporation| + next unless corporation.ipoed + return true if can_buy_shares?(entity, corporation.shares) + end + + false + end + def can_sell?(entity, bundle) super && (@game.oscarian_era || bundle.corporation.floated?) end diff --git a/lib/engine/game/g_18_tn/game.rb b/lib/engine/game/g_18_tn/game.rb index 00bff850ac..ab674ae82f 100644 --- a/lib/engine/game/g_18_tn/game.rb +++ b/lib/engine/game/g_18_tn/game.rb @@ -179,9 +179,14 @@ class Game < Game::Base Engine::Step::SingleDepotTrainBuy::STATUS_TEXT ).freeze - # Two lays or one upgrade - TILE_LAYS = [{ lay: true, upgrade: true }, { lay: :not_if_upgraded, upgrade: false }].freeze - + # Two lays or one upgrade, with a optional third yellow variant on first run. + def tile_lays(entity) + lays = [{ lay: true, upgrade: true }, { lay: :not_if_upgraded, upgrade: false }] + if @optional_rules&.include?(:triple_yellow_first_or) && @recently_floated&.include?(entity) + lays << { lay: :not_if_upgraded, upgrade: false } + end + lays + end STANDARD_YELLOW_CITY_TILES = %w[5 6 57].freeze GREEN_CITY_TILES = %w[14 15 619].freeze @@ -203,6 +208,9 @@ def setup @brown_p_tile ||= @tiles.find { |t| t.name == '170' } @green_nashville_tile ||= @tiles.find { |t| t.name == 'TN2' } + + # needed for triple_yellow_first_or variant + @recently_floated = [] end def status_str(corp) @@ -238,6 +246,18 @@ def operating_round(round_num) ], round_num: round_num) end + # needed for triple_yellow_first_or variant + def or_round_finished + @recently_floated = [] + end + + # needed for triple_yellow_first_or variant + def float_corporation(corporation) + @recently_floated << corporation + + super + end + def stock_round Round::Stock.new(self, [ Engine::Step::BuySellParShares, diff --git a/lib/engine/game/g_18_tn/meta.rb b/lib/engine/game/g_18_tn/meta.rb index f2ed0c6c8d..e592acc6be 100644 --- a/lib/engine/game/g_18_tn/meta.rb +++ b/lib/engine/game/g_18_tn/meta.rb @@ -18,6 +18,13 @@ module Meta GAME_RULES_URL = 'https://drive.google.com/file/d/1r0qnCWW-Qf9ETyXV_jIfHcnn9O5cJcmC/view?usp=sharing' PLAYER_RANGE = [3, 5].freeze + OPTIONAL_RULES = [ + { + sym: :triple_yellow_first_or, + short_name: 'Extra yellow', + desc: 'Allow corporations to lay 3 yellow tiles their first OR', + }, + ].freeze end end end diff --git a/lib/engine/game/g_18_usa/game.rb b/lib/engine/game/g_18_usa/game.rb index 02da585832..f004f026fd 100644 --- a/lib/engine/game/g_18_usa/game.rb +++ b/lib/engine/game/g_18_usa/game.rb @@ -175,8 +175,8 @@ def seventeen_trains # Does not include guaranteed metropolis New York City POTENTIAL_METROPOLIS_HEX_IDS = %w[D20 E11 G3 H14 H22 I19].freeze - def potential_metropolitan_hexes - @potential_metropolitan_hexes ||= POTENTIAL_METROPOLIS_HEX_IDS.map { |hex_id| @hexes.find { |h| h.id == hex_id } } + def potential_metropolis_hexes + @potential_metropolis_hexes ||= POTENTIAL_METROPOLIS_HEX_IDS.map { |hex_id| @hexes.find { |h| h.id == hex_id } } end EXTENDED_MAX_LOAN = 60 @@ -192,8 +192,8 @@ def river_hex?(hex) SEED_MONEY = nil - def active_metropolitan_hexes - @active_metropolitan_hexes ||= [@hexes.find { |h| h.id == 'D28' }] + def active_metropolis_hexes + @active_metropolis_hexes ||= [@hexes.find { |h| h.id == 'D28' }] end def metro_new_orleans @@ -248,8 +248,10 @@ def setup @recently_floated = [] @mexico_hexes = MEXICO_HEXES.map { |h| hex_by_id(h) } - metro_hexes = METROPOLITAN_HEXES.sort_by { rand }.take(3) + metro_hexes = METROPOLIS_HEXES.sort_by { rand }.take(3) metro_hexes.each { |metro_hex| convert_potential_metro(hex_by_id(metro_hex)) } + remove_unused_metropolis_tiles if company_by_id('P10').closed? + @p8_hexes = [] setup_train_roster @@ -293,28 +295,38 @@ def setup_train_roster end end + METROPOLIS_TILE_FOR_HEX = { + 'H14' => ['X03', 0], + 'E11' => ['X04s', 0], + 'G3' => ['X05', 3], + 'D20' => ['X02', 1], + 'I19' => ['X06', 0], + 'H22' => ['X01', 0], + }.freeze + # Convert a potential metro hex to a metro hex def convert_potential_metro(hex) - active_metropolitan_hexes << hex + active_metropolis_hexes << hex + + tile_name, rotation = METROPOLIS_TILE_FOR_HEX[hex.id] + hex.lay(@tiles.find { |t| t.name == tile_name }.rotate!(rotation)) + case hex.id - when 'H14' - hex.lay(@tiles.find { |t| t.name == 'X03' }) - when 'E11' - hex.lay(@tiles.find { |t| t.name == 'X04s' }) - @metro_denver = true - when 'G3' - hex.lay(@tiles.find { |t| t.name == 'X05' }.rotate!(3)) - when 'D20' - hex.lay(@tiles.find { |t| t.name == 'X02' }.rotate!(1)) - when 'I19' - hex.lay(@tiles.find { |t| t.name == 'X06' }) - @metro_new_orleans = true - when 'H22' - hex.lay(@tiles.find { |t| t.name == 'X01' }) + when 'E11' then @metro_denver = true + when 'I19' then @metro_new_orleans = true end + @graph.clear end + def remove_unused_metropolis_tiles + (potential_metropolis_hexes - active_metropolis_hexes).each do |hex| + tile_name, = METROPOLIS_TILE_FOR_HEX[hex.id] + starting_tile = @tiles.find { |t| t.name == tile_name } + @all_tiles.each { |tile| tile.hide if tile.label == starting_tile.label } + end + end + def randomize_privates always_in = %w[P1 P2 P3 P4] always_in << 'P10' if @players.size >= 5 diff --git a/lib/engine/game/g_18_usa/map.rb b/lib/engine/game/g_18_usa/map.rb index 57ec13857a..2ec21dc23f 100644 --- a/lib/engine/game/g_18_usa/map.rb +++ b/lib/engine/game/g_18_usa/map.rb @@ -53,7 +53,7 @@ module Map RIVER_HEXES = %w[B4 D18 E21 F18 H18 I19 C3 C17 D14 E15 E17 F20 G17].freeze MEXICO_HEXES = %w[I5 I7 I9 I11 J12 K13].freeze - METROPOLITAN_HEXES = %w[G3 E11 H14 H22 I19 D20].freeze + METROPOLIS_HEXES = %w[G3 E11 H14 H22 I19 D20].freeze SUBSIDIZED_HEXES = %w[B8 B14 C3 D6 D14 E3 E7 E23 G7 G11 G27 H8 I13 I25].freeze TILES = { @@ -370,7 +370,7 @@ module Map 'count' => 'unlimited', 'color' => 'yellow', 'code' => "offboard=revenue:yellow_10|brown_20,hide:1;path=a:0,b:1;label=#{RESOURCE_LABELS[:oil]}", - 'hidden' => false, + 'hidden' => true, }, '8oil' => { @@ -508,7 +508,7 @@ module Map 'color' => 'yellow', 'code' => 'offboard=revenue:yellow_20|brown_30,hide:1;path=a:0,b:1;' \ "label=#{RESOURCE_LABELS[:coal]}#{RESOURCE_LABELS[:oil]}", - 'hidden' => false, + 'hidden' => true, }, '8coaloil' => { diff --git a/lib/engine/game/g_18_usa/step/buy_sell_par_shares.rb b/lib/engine/game/g_18_usa/step/buy_sell_par_shares.rb index 4b884ecc85..41fd8f244c 100644 --- a/lib/engine/game/g_18_usa/step/buy_sell_par_shares.rb +++ b/lib/engine/game/g_18_usa/step/buy_sell_par_shares.rb @@ -39,28 +39,32 @@ def validate_bid(entity, corporation, bid) max_bid = max_bid(entity, corporation) raise GameError, "Invalid bid, maximum bidding power is #{max_bid}" if bid > max_bid - cash = entity.cash + city_subsidy_value(corporation) + cash = entity.cash + city_cash_subsidy(corporation) return if cash >= bid options = available_company_options(entity).map(&:sum) - return if options.any? { |option| option <= bid && (option + cash) >= bid } + return if options.any? { |option| (option + cash) >= bid } raise GameError, 'Invalid bid, no combination of privates and cash add up to bid amount' end def max_bid(entity, corporation = nil) - super + city_subsidy_value(corporation) + super + city_cash_subsidy(corporation) end - def max_city_subsidy - @game.subsidies_by_hex.values.map { |s| s[:value] }.max || 0 + def city_cash_subsidies + @game.subsidies_by_hex.values.map { |s| s[:value] } + end + + def max_cash_subsidy + city_cash_subsidies&.max || 0 end def add_bid(action) unless @auctioning bid = action.price max_bid = @game.bidding_power(action.entity) - @round.minimum_city_subsidy = bid - max_bid if bid > max_bid + @round.minimum_cash_subsidy = bid - max_bid if bid > max_bid end super @@ -108,33 +112,27 @@ def win_bid(winner, company) par_corporation if available_subsidiaries(winner.entity).none? end - def city_subsidy_value(corporation) - return max_city_subsidy if !corporation || !corporation.tokens.first.used + def city_cash_subsidy(corporation) + return max_cash_subsidy if !corporation || !corporation.tokens.first.used corporation.companies.find { |c| c.value.positive? }&.value || 0 end + def available_company_options(entity) + [[entity.companies.sum(&:value)]] + end + def available_subsidiaries(entity) entity ||= current_entity return [] if !@winning_bid || @winning_bid.entity != entity - max_total = @remaining_bid_amount - min_total = entity.cash.negative? ? entity.cash.abs : 0 - - # Filter potential values to those that are valid options - options = available_company_options(entity).select do |option| - total = option.sum - total >= min_total && total <= max_total - end.flatten - - entity.companies.select do |company| - options.include?(company.value) - end + entity.companies end def process_assign(action) super @remaining_bid_amount -= action.target.value + @remaining_bid_amount = 0 if @remaining_bid_amount.negative? end def use_on_assign_abilities(company) @@ -154,9 +152,9 @@ def use_p10_ability(company) corporation = company.owner corporation_hex = corporation.tokens.first.hex hex_name = "#{corporation_hex.name} (#{corporation_hex.location_name})" - if @game.active_metropolitan_hexes.include?(corporation_hex) + if @game.active_metropolis_hexes.include?(corporation_hex) @game.log << "#{hex_name} is already a Metropolis" - elsif !@game.potential_metropolitan_hexes.include?(corporation_hex) + elsif !@game.potential_metropolis_hexes.include?(corporation_hex) @game.log << "#{hex_name} is not an unselected Metropolis and cannot become a Metroplis" elsif corporation_hex.tile.color != :white @game.log << "#{hex_name} has already been improved and can no longer become a Metropolis" @@ -164,6 +162,7 @@ def use_p10_ability(company) @game.log << "#{hex_name} becomes a Metropolis" @game.convert_potential_metro(corporation_hex) end + @game.remove_unused_metropolis_tiles company.close! end diff --git a/lib/engine/game/g_18_usa/step/home_token.rb b/lib/engine/game/g_18_usa/step/home_token.rb index deca93cafa..823da49bdb 100644 --- a/lib/engine/game/g_18_usa/step/home_token.rb +++ b/lib/engine/game/g_18_usa/step/home_token.rb @@ -10,7 +10,7 @@ class HomeToken < Engine::Step::HomeToken def round_state super.merge( { - minimum_city_subsidy: 0, + minimum_cash_subsidy: 0, } ) end @@ -19,15 +19,15 @@ def process_place_token(action) corporation = token.corporation super @game.add_subsidy(corporation, action.city.hex) - @round.minimum_city_subsidy = 0 + @round.minimum_cash_subsidy = 0 end def available_hex(_entity, hex) return false unless super - return true if @round.minimum_city_subsidy.zero? + return true if @round.minimum_cash_subsidy.zero? - city_subsidy = (subsidy = @game.subsidies_by_hex[hex.coordinates]) ? subsidy[:value] : 0 - city_subsidy >= @round.minimum_city_subsidy + cash_subsidy = (subsidy = @game.subsidies_by_hex[hex.coordinates]) ? subsidy[:value] : 0 + cash_subsidy >= @round.minimum_cash_subsidy end end end diff --git a/lib/engine/game/g_18_usa/step/special_track.rb b/lib/engine/game/g_18_usa/step/special_track.rb index 6418a00d8d..978663fbda 100644 --- a/lib/engine/game/g_18_usa/step/special_track.rb +++ b/lib/engine/game/g_18_usa/step/special_track.rb @@ -55,7 +55,7 @@ def p9_available_hex(_entity, hex) end def p16_available_hex(_entity, hex) - %i[green brown].include?(hex.tile.color) && !@game.active_metropolitan_hexes.include?(hex) + %i[green brown].include?(hex.tile.color) && !@game.active_metropolis_hexes.include?(hex) end def p26_available_hex(entity, hex) @@ -65,7 +65,7 @@ def p26_available_hex(entity, hex) def p27_available_hex(_entity, hex) hex.tile.color == :white && (hex.tile.cities.empty? || hex.tile.cities.none?(&:tokened?)) && - (hex.neighbors.values & @game.active_metropolitan_hexes).empty? + (hex.neighbors.values & @game.active_metropolis_hexes).empty? end def legal_tile_rotation?(entity, hex, tile) diff --git a/lib/engine/game/g_21_moon/game.rb b/lib/engine/game/g_21_moon/game.rb index 51e947358c..8eed78b5f2 100644 --- a/lib/engine/game/g_21_moon/game.rb +++ b/lib/engine/game/g_21_moon/game.rb @@ -928,7 +928,7 @@ def can_par?(corporation, entity) super end - def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil) + def sell_shares_and_change_price(bundle, allow_president_change: true, swap: nil, movement: nil) return super if bundle.corporation.operated? @share_pool.sell_shares(bundle, allow_president_change: allow_president_change, swap: swap) diff --git a/lib/engine/game/g_21_moon/step/exchange.rb b/lib/engine/game/g_21_moon/step/exchange.rb index 90560f8670..68f228fc1e 100644 --- a/lib/engine/game/g_21_moon/step/exchange.rb +++ b/lib/engine/game/g_21_moon/step/exchange.rb @@ -16,6 +16,7 @@ def can_exchange?(entity, bundle = nil) # ignore the 50% limit def can_gain?(entity, bundle, exchange: false) return if !bundle || !entity + return if bundle.owner&.player? exchange || @game.num_certs(entity) < @game.cert_limit end diff --git a/lib/engine/graph.rb b/lib/engine/graph.rb index d67cc7e5b6..6ad1added0 100644 --- a/lib/engine/graph.rb +++ b/lib/engine/graph.rb @@ -16,6 +16,7 @@ def initialize(game, **opts) @tokenable_cities = {} @routes = {} @tokens = {} + @cheater_tokens = {} @home_as_token = opts[:home_as_token] || false @no_blocking = opts[:no_blocking] || false @skip_track = opts[:skip_track] @@ -33,6 +34,7 @@ def clear @reachable_hexes.clear @tokenable_cities.clear @tokens.clear + @cheater_tokens.clear @routes.delete_if do |_, route| !route[:route_train_purchase] end @@ -54,17 +56,18 @@ def route_info(corporation) @routes[corporation] end - def can_token?(corporation) - return @tokens[corporation] if @tokens.key?(corporation) + def can_token?(corporation, cheater: false) + tokens = cheater ? @cheater_tokens : @tokens + return tokens[corporation] if tokens.key?(corporation) compute(corporation) do |node| - if node.tokenable?(corporation, free: true) - @tokens[corporation] = true + if node.tokenable?(corporation, free: true, cheater: cheater) + tokens[corporation] = true break end end - @tokens[corporation] ||= false - @tokens[corporation] + tokens[corporation] ||= false + tokens[corporation] end def no_blocking? diff --git a/lib/engine/part/city.rb b/lib/engine/part/city.rb index 74670ae74f..2ef72832d4 100644 --- a/lib/engine/part/city.rb +++ b/lib/engine/part/city.rb @@ -165,7 +165,7 @@ def exchange_token(token, cheater: false, extra_slot: false) # Special case for 1858 where two private companies can have reservations # in the same city, which only has a single slot on its yellow tile. - if (slot == 1) && (normal_slots == 1) && (@reservations.size == 2) + if (slot == 1) && (normal_slots == 1) && (@reservations.compact.size == 2) # The company with the reservation for the (not yet created) second # token slot is tokening this city. Put its token in the first slot. slot = 0 diff --git a/lib/engine/part/stub.rb b/lib/engine/part/stub.rb index de15c8383b..4aadd9cd01 100644 --- a/lib/engine/part/stub.rb +++ b/lib/engine/part/stub.rb @@ -5,20 +5,17 @@ module Engine module Part class Stub < Base - attr_reader :edge + attr_reader :edge, :track - def initialize(edge) + def initialize(edge, track = :broad) @edge = edge + @track = track end def stub? true end - def track - :broad - end - def inspect "<#{self.class.name} edge=#{@edge}>" end diff --git a/lib/engine/share_pool.rb b/lib/engine/share_pool.rb index a7e64561ca..1b8c378589 100644 --- a/lib/engine/share_pool.rb +++ b/lib/engine/share_pool.rb @@ -36,7 +36,9 @@ def buy_shares(entity, shares, exchange: nil, exchange_price: nil, swap: nil, bundle = ShareBundle.new(bundle.shares, bundle.corporation.share_percent) end - if !@game.class::CORPORATE_BUY_SHARE_ALLOW_BUY_FROM_PRESIDENT && shares.owner.player? + if bundle.owner.player? && + !@game.class::BUY_SHARE_FROM_OTHER_PLAYER && + (!@game.class::CORPORATE_BUY_SHARE_ALLOW_BUY_FROM_PRESIDENT || !entity.corporation?) raise GameError, 'Cannot buy share from player' end @@ -99,6 +101,7 @@ def buy_shares(entity, shares, exchange: nil, exchange_price: nil, swap: nil, else receiver = if (%i[escrow incremental].include?(corporation.capitalization) && bundle.owner.corporation?) || (bundle.owner.corporation? && !corporation.ipo_is_treasury?) || + (bundle.owner.corporation? && bundle.owner != corporation) || bundle.owner.player? bundle.owner else @@ -133,7 +136,7 @@ def sell_shares(bundle, allow_president_change: true, swap: nil, silent: nil) log_sell_shares(entity, verb, bundle, price, swap_text) unless silent - transfer_to = @game.class::SOLD_SHARES_DESTINATION == :corporation ? bundle.corporation : self + transfer_to = @game.sold_shares_destination(bundle.corporation) == :corporation ? bundle.corporation : self transfer_shares(bundle, transfer_to, @@ -279,7 +282,7 @@ def transfer_shares(bundle, to_entity, # previous president if they haven't sold the president's share # give the president the president's share # if the owner only sold half of their president's share, take one away - transfer_to = @game.class::SOLD_SHARES_DESTINATION == :corporation ? corporation : self + transfer_to = @game.sold_shares_destination(corporation) == :corporation ? corporation : self swap_to = previous_president.percent_of(corporation) >= presidents_share.percent ? previous_president : transfer_to change_president(presidents_share, swap_to, president, previous_president) @@ -318,7 +321,7 @@ def possible_reorder(shares) def distance(player_a, player_b) return 0 if !player_a || !player_b - entities = @game.players.reject(&:bankrupt) + entities = @game.possible_presidents a = entities.find_index(player_a) b = entities.find_index(player_b) a < b ? b - a : b - (a - entities.size) diff --git a/lib/engine/share_price.rb b/lib/engine/share_price.rb index 11fa26abed..812a57a13b 100644 --- a/lib/engine/share_price.rb +++ b/lib/engine/share_price.rb @@ -2,7 +2,7 @@ module Engine class SharePrice - attr_reader :coordinates, :price, :corporations, :can_par, :type, :types + attr_reader :coordinates, :price, :corporations, :can_par, :type, :types, :info TYPE_MAP = { 'p' => :par, @@ -52,6 +52,7 @@ def self.from_code(code, row, column, unlimited_types, multiple_buy_types: []) SharePrice.new([row, column], price: price, + info: nil, types: types, unlimited_types: unlimited_types, multiple_buy_types: multiple_buy_types) @@ -59,6 +60,7 @@ def self.from_code(code, row, column, unlimited_types, multiple_buy_types: []) def initialize(coordinates, price:, + info: nil, types: [], unlimited_types: [], multiple_buy_types: []) @@ -69,6 +71,7 @@ def initialize(coordinates, @corporations = [] @can_buy_multiple = multiple_buy_types.include?(type) @limited = !unlimited_types.include?(type) + @info = info end def ==(other) diff --git a/lib/engine/step/buy_sell_par_shares.rb b/lib/engine/step/buy_sell_par_shares.rb index b658493f10..4bdfe6b3f9 100644 --- a/lib/engine/step/buy_sell_par_shares.rb +++ b/lib/engine/step/buy_sell_par_shares.rb @@ -94,9 +94,10 @@ def setup # Some 18xx games can only buy one share per turn. def can_buy?(entity, bundle) return unless bundle&.buyable + return false if entity == bundle.owner corporation = bundle.corporation - entity.cash >= bundle.price && + entity.cash >= modify_purchase_price(bundle) && !@round.players_sold[entity][corporation] && (can_buy_multiple?(entity, corporation, bundle.owner) || !bought?) && can_gain?(entity, bundle) @@ -167,7 +168,9 @@ def track_action(action, corporation, player_action = true) def process_buy_shares(action) @round.players_bought[action.entity][action.bundle.corporation] += action.bundle.percent @round.bought_from_ipo = true if action.bundle.owner.corporation? - buy_shares(action.purchase_for || action.entity, action.bundle, swap: action.swap, borrow_from: action.borrow_from) + buy_shares(action.purchase_for || action.entity, action.bundle, + swap: action.swap, borrow_from: action.borrow_from, + allow_president_change: allow_president_change?(action.bundle.corporation)) track_action(action, action.bundle.corporation) end @@ -239,7 +242,7 @@ def can_buy_shares?(entity, shares) bundle = min_share&.to_bundle return unless bundle - entity.cash >= bundle.price && can_gain?(entity, bundle) + entity.cash >= modify_purchase_price(bundle) && can_gain?(entity, bundle) end def can_buy_any_from_market?(entity) @@ -259,9 +262,16 @@ def can_buy_any_from_ipo?(entity) false end + def can_buy_any_from_player?(entity) + return unless @game.class::BUY_SHARE_FROM_OTHER_PLAYER + + @game.players.reject { |p| p == entity }.any? { |p| can_buy_shares?(entity, p.shares) } + end + def can_buy_any?(entity) (can_buy_any_from_market?(entity) || - can_buy_any_from_ipo?(entity)) + can_buy_any_from_ipo?(entity) || + can_buy_any_from_player?(entity)) end def can_ipo_any?(entity) @@ -495,6 +505,14 @@ def activate_program_buy_shares(entity, program) def from_market?(program) program.from_market end + + def modify_purchase_price(bundle) + bundle.price + end + + def allow_president_change?(_corporation) + true + end end end end diff --git a/lib/engine/step/concession_auction.rb b/lib/engine/step/concession_auction.rb new file mode 100644 index 0000000000..ab05db42e4 --- /dev/null +++ b/lib/engine/step/concession_auction.rb @@ -0,0 +1,166 @@ +# frozen_string_literal: true + +require_relative 'base' +require_relative 'auctioner' + +module Engine + module Step + class ConcessionAuction < Base + include Auctioner + ACTIONS = %w[bid pass].freeze + + attr_reader :companies + + def description + if @auctioning + 'Bid on Selected Concession or Purchase Option' + else + 'Bid on Concession or Purchase Option' + end + end + + def available + auctioning ? [auctioning] : @companies + end + + def finished? + @companies.empty? || entities.all?(&:passed?) + end + + def process_pass(action) + entity = action.entity + + if auctioning + pass_auction(action.entity) + else + @log << "#{entity.name} passes bidding" + entity.pass! + @round.next_entity_index! + end + end + + def process_bid(action) + action.entity.unpass! + + if auctioning + add_bid(action) + else + start_auction(action) + end + end + + def active_entities + if @auctioning + active_auction do |_, bids| + return [bids.min_by(&:price).entity] + end + end + + super + end + + def actions(entity) + return [] if finished? + + correct = false + + active_auction do |_company, bids| + correct = bids.min_by(&:price).entity == entity + end + + correct || entity == current_entity ? ACTIONS : [] + end + + def setup + setup_auction + @companies = @game.auction_companies + end + + def min_bid(company) + return unless company + + high_bid = highest_bid(company) + high_bid ? high_bid.price + min_increment : company.min_bid + end + + def may_purchase?(_company) + false + end + + def committed_cash(player, _show_hidden = false) + bids_for_player(player).sum(&:price) + end + + def max_bid(player, _company) + player.cash + end + + protected + + def resolve_bids + return unless @bids[@auctioning].one? + + bid = @bids[@auctioning].first + @auctioning = nil + price = bid.price + company = bid.company + player = bid.entity + @bids.delete(company) + buy_company(player, company, price) + @round.next_entity_index! + end + + def active_auction + company = @auctioning + bids = @bids[company] + yield company, bids if bids.size.positive? + end + + def can_auction?(company) + company == @companies.first && @bids[company].size > 1 + end + + def buy_company(player, company, price) + if (available = max_bid(player, company)) < price + raise GameError, "#{player.name} has #{@game.format_currency(available)} "\ + 'available and cannot spend '\ + "#{@game.format_currency(price)}" + end + + company.owner = player + player.companies << company + player.spend(price, @game.bank) if price.positive? + @companies.delete(company) + @log << "#{player.name} wins the auction for #{company.name} "\ + "with a bid of #{@game.format_currency(price)}" + end + + private + + def start_auction(bid) + @auctioning = bid.company + @log << "#{@auctioning.name} goes up for auction" + add_bid(bid) + starter = bid.entity + start_price = bid.price + + bids = @bids[@auctioning] + + entities.rotate(entities.find_index(starter)).each_with_index do |player, idx| + next if player == starter + next if max_bid(player, @auctioning) <= start_price + + bids << (Engine::Action::Bid.new(player, + corporation: @auctioning, + price: idx - entities.size)) + end + end + + def add_bid(bid) + super + + @log << "#{bid.entity.name} bids #{@game.format_currency(bid.price)} for #{bid.company.name}" + end + end + end +end diff --git a/lib/engine/step/route.rb b/lib/engine/step/route.rb index c1727769ca..19973cd4e3 100644 --- a/lib/engine/step/route.rb +++ b/lib/engine/step/route.rb @@ -8,7 +8,7 @@ class Route < Base ACTIONS = %w[run_routes].freeze def actions(entity) - return [] if !entity.operator? || entity.runnable_trains.empty? || !@game.can_run_route?(entity) + return [] if !entity.operator? || @game.route_trains(entity).empty? || !@game.can_run_route?(entity) ACTIONS end diff --git a/lib/engine/step/share_buying.rb b/lib/engine/step/share_buying.rb index dbb26f7dca..4f6698838c 100644 --- a/lib/engine/step/share_buying.rb +++ b/lib/engine/step/share_buying.rb @@ -39,6 +39,9 @@ def maybe_place_home_token(corporation) def can_gain?(entity, bundle, exchange: false) return if !bundle || !entity + return false if bundle.owner.player? && + !@game.class::BUY_SHARE_FROM_OTHER_PLAYER && + (!@game.class::CORPORATE_BUY_SHARE_ALLOW_BUY_FROM_PRESIDENT || !entity.corporation?) corporation = bundle.corporation diff --git a/lib/engine/step/special_buy_train.rb b/lib/engine/step/special_buy_train.rb index ed541577d9..b87557e85e 100644 --- a/lib/engine/step/special_buy_train.rb +++ b/lib/engine/step/special_buy_train.rb @@ -49,7 +49,7 @@ def ability(entity, train: nil) return unless entity&.company? @game.abilities(entity, :train_discount, time: ability_timing) do |ability| - return ability if !train || ability.trains.include?(train.name) + return ability if !train || ability.trains.empty? || ability.trains.include?(train.name) end nil diff --git a/lib/engine/step/special_choose.rb b/lib/engine/step/special_choose.rb index eb07165bee..8944043403 100644 --- a/lib/engine/step/special_choose.rb +++ b/lib/engine/step/special_choose.rb @@ -21,8 +21,8 @@ def blocks? false end - def choices_ability - abilities(current_entity).choices + def choices_ability(entity) + abilities(entity).choices end def abilities(entity, **kwargs, &block) diff --git a/lib/engine/step/special_token.rb b/lib/engine/step/special_token.rb index bd0de645ef..a61b8a2755 100644 --- a/lib/engine/step/special_token.rb +++ b/lib/engine/step/special_token.rb @@ -97,7 +97,7 @@ def teleport_complete def available_hex(entity, hex) ability = ability(entity) - return if !ability.hexes.empty? && !ability.hexes.include?(hex.id) + return if ability.hexes && !ability.hexes.empty? && !ability.hexes.include?(hex.id) if ability.type == :token && ability.connected return @game.token_graph_for_entity(entity.owner).reachable_hexes(entity.owner)[hex] diff --git a/lib/engine/step/special_track.rb b/lib/engine/step/special_track.rb index 16fbc9c27a..91a9836e71 100644 --- a/lib/engine/step/special_track.rb +++ b/lib/engine/step/special_track.rb @@ -119,7 +119,11 @@ def hex_neighbors(entity, hex) @game.hex_by_id(hex.id).neighbors.keys end - def potential_tiles(entity, hex) + def potential_tiles(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + return [] unless (tile_ability = abilities(entity)) tiles = tile_ability.tiles.map { |name| @game.tiles.find { |t| t.name == name } } diff --git a/lib/engine/step/track.rb b/lib/engine/step/track.rb index 80dc3498cf..6eb7e5fdd5 100644 --- a/lib/engine/step/track.rb +++ b/lib/engine/step/track.rb @@ -38,7 +38,11 @@ def process_lay_tile(action) pass! unless can_lay_tile?(action.entity) end - def available_hex(entity, hex) + def available_hex(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + tracker_available_hex(entity, hex) end end diff --git a/lib/engine/step/tracker.rb b/lib/engine/step/tracker.rb index 6eb82fe293..66e08a4897 100644 --- a/lib/engine/step/tracker.rb +++ b/lib/engine/step/tracker.rb @@ -86,6 +86,12 @@ def abilities(entity, **kwargs, &block) def lay_tile(action, extra_cost: 0, entity: nil, spender: nil) entity ||= action.entity + entities = [entity, *action.combo_entities] + + # games that support combining private company abilities will expect an + # array of entities, all others a single entity + entity_or_entities = action.combo_entities.empty? ? entity : entities + spender ||= entity tile = action.tile hex = action.hex @@ -102,7 +108,7 @@ def lay_tile(action, extra_cost: 0, entity: nil, spender: nil) unless @game.upgrades_to?(old_tile, tile, entity.company?, selected_company: (entity.company? && entity) || nil) raise GameError, "#{old_tile.name} is not upgradeable to #{tile.name}" end - if !@game.loading && !legal_tile_rotation?(entity, hex, tile) + if !@game.loading && !legal_tile_rotation?(entity_or_entities, hex, tile) raise GameError, "#{old_tile.name} is not legally rotated for #{tile.name}" end @@ -110,7 +116,7 @@ def lay_tile(action, extra_cost: 0, entity: nil, spender: nil) hex.lay(tile) - # Impassable hex is no longer impassible, update neighbors + # Impassable hex is no longer impassable, update neighbors if @game.class::IMPASSABLE_HEX_COLORS.include?(old_tile.color) hex.all_neighbors.each do |direction, neighbor| next if hex.tile.borders.any? { |border| border.edge == direction && border.type == :impassable } @@ -126,32 +132,34 @@ def lay_tile(action, extra_cost: 0, entity: nil, spender: nil) discount = 0 teleport = false ability_found = false - discount_ability = nil - - abilities(entity) do |ability| - next if ability.owner != entity - next if !ability.hexes.empty? && !ability.hexes.include?(hex.id) - next if !ability.tiles.empty? && !ability.tiles.include?(tile.name) - - ability_found = true - if ability.type == :teleport - teleport = true - free = true if ability.free_tile_lay - if ability.cost&.positive? - spender.spend(ability.cost, @game.bank) - @log << "#{spender.name} (#{ability.owner.sym}) spends #{@game.format_currency(ability.cost)} "\ - "and teleports to #{hex.name} (#{hex.location_name})" + discount_abilities = [] + + entities.each do |entity_| + abilities(entity_) do |ability| + next if ability.owner != entity_ + next if !ability.hexes.empty? && !ability.hexes.include?(hex.id) + next if !ability.tiles.empty? && !ability.tiles.include?(tile.name) + + ability_found = true + if ability.type == :teleport + teleport ||= true + free = true if ability.free_tile_lay + if ability.cost&.positive? + spender.spend(ability.cost, @game.bank) + @log << "#{spender.name} (#{ability.owner.sym}) spends #{@game.format_currency(ability.cost)} "\ + "and teleports to #{hex.name} (#{hex.location_name})" + end + else + raise GameError, "Track laid must be connected to one of #{spender.id}'s stations" if ability.reachable && + hex.name != spender.coordinates && + !@game.loading && + !graph.reachable_hexes(spender)[hex] + + free ||= ability.free + discount += ability.discount + discount_abilities << ability if discount&.positive? + extra_cost += ability.cost end - else - raise GameError, "Track laid must be connected to one of #{spender.id}'s stations" if ability.reachable && - hex.name != spender.coordinates && - !@game.loading && - !graph.reachable_hexes(spender)[hex] - - free = ability.free - discount = ability.discount - discount_ability = ability if discount&.positive? - extra_cost += ability.cost end end @@ -165,24 +173,24 @@ def lay_tile(action, extra_cost: 0, entity: nil, spender: nil) cost = if free # call for the side effect of deleting a completed border cost - remove_border_calculate_cost!(tile, entity, spender) + remove_border_calculate_cost!(tile, entity_or_entities, spender) extra_cost else - border, border_types = remove_border_calculate_cost!(tile, entity, spender) + border, border_types = remove_border_calculate_cost!(tile, entity_or_entities, spender) terrain += border_types if border.positive? base_cost = @game.upgrade_cost(old_tile, hex, entity, spender) + border + extra_cost - if discount_ability - discount = [base_cost, discount_ability.discount].min - @game.log_cost_discount(spender, discount_ability, discount) + unless discount_abilities.empty? + discount = [base_cost, discount].min + @game.log_cost_discount(spender, discount_abilities, discount) end @game.tile_cost_with_discount(tile, hex, entity, spender, base_cost - discount) end - pay_tile_cost!(entity, tile, rotation, hex, spender, cost, extra_cost) + pay_tile_cost!(entity_or_entities, tile, rotation, hex, spender, cost, extra_cost) update_token!(action, entity, tile, old_tile) @@ -219,12 +227,16 @@ def update_tile_lists(tile, old_tile) @game.update_tile_lists(tile, old_tile) end - def pay_tile_cost!(entity, tile, rotation, hex, spender, cost, _extra_cost) + def pay_tile_cost!(entity_or_entities, tile, rotation, hex, spender, cost, _extra_cost) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + try_take_loan(spender, cost) spender.spend(cost, @game.bank) if cost.positive? @log << "#{spender.name}"\ - "#{spender == entity || !entity.company? ? '' : " (#{entity.sym})"}"\ + "#{spender == entity || !entity.company? ? '' : " (#{entities.map(&:sym).join('+')})"}"\ "#{cost.zero? ? '' : " spends #{@game.format_currency(cost)} and"}"\ " lays tile ##{tile.name}"\ " with rotation #{rotation} on #{hex.name}"\ @@ -251,7 +263,11 @@ def update_token!(action, entity, tile, old_tile) end end - def remove_border_calculate_cost!(tile, entity, spender) + def remove_border_calculate_cost!(tile, entity_or_entities, spender) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + hex = tile.hex types = [] @@ -334,7 +350,11 @@ def potential_tile_colors(_entity, _hex) @game.phase.tiles.dup end - def potential_tiles(entity, hex) + def potential_tiles(entity_or_entities, hex) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + colors = potential_tile_colors(entity, hex) @game.tiles .select { |tile| @game.tile_valid_for_phase?(tile, hex: hex, phase_color_cache: colors) } @@ -343,11 +363,11 @@ def potential_tiles(entity, hex) .reject(&:blocks_lay) end - def upgradeable_tiles(entity, ui_hex) + def upgradeable_tiles(entity_or_entities, ui_hex) hex = @game.hex_by_id(ui_hex.id) # hex instance from UI can go stale - tiles = potential_tiles(entity, hex).map do |tile| + tiles = potential_tiles(entity_or_entities, hex).map do |tile| tile.rotate!(0) # reset tile to no rotation since calculations are absolute - tile.legal_rotations = legal_tile_rotations(entity, hex, tile) + tile.legal_rotations = legal_tile_rotations(entity_or_entities, hex, tile) next if tile.legal_rotations.empty? tile.rotate! # rotate it to the first legal rotation @@ -369,7 +389,11 @@ def max_exits(tiles) end end - def legal_tile_rotation?(entity, hex, tile) + def legal_tile_rotation?(entity_or_entities, hex, tile) + # entity_or_entities is an array when combining private company abilities + entities = Array(entity_or_entities) + entity, *_combo_entities = entities + return false unless @game.legal_tile_rotation?(entity, hex, tile) old_paths = hex.tile.paths @@ -392,10 +416,10 @@ def legal_tile_rotation?(entity, hex, tile) (!multi_city_upgrade || old_ctedges.all? { |oldct| new_ctedges.one? { |newct| (oldct & newct) == oldct } }) end - def legal_tile_rotations(entity, hex, tile) + def legal_tile_rotations(entity_or_entities, hex, tile) Engine::Tile::ALL_EDGES.select do |rotation| tile.rotate!(rotation) - legal_tile_rotation?(entity, hex, tile) + legal_tile_rotation?(entity_or_entities, hex, tile) end end diff --git a/lib/engine/stock_market.rb b/lib/engine/stock_market.rb index 1b892d3d71..b0946863f5 100644 --- a/lib/engine/stock_market.rb +++ b/lib/engine/stock_market.rb @@ -13,11 +13,16 @@ def initialize(market, unlimited_types, multiple_buy_types: [], zigzag: nil, led @zigzag = zigzag @market = market.map.with_index do |row, r_index| row.map.with_index do |code, c_index| - price = SharePrice.from_code(code, - r_index, - c_index, - unlimited_types, - multiple_buy_types: multiple_buy_types) + price = if code.instance_of?(Hash) + SharePrice.new([r_index, c_index], unlimited_types: unlimited_types, multiple_buy_types: multiple_buy_types, + **code) + else + SharePrice.from_code(code, + r_index, + c_index, + unlimited_types, + multiple_buy_types: multiple_buy_types) + end @par_prices << price if price&.can_par? @has_close_cell = true if price&.type == :close price diff --git a/lib/engine/tile.rb b/lib/engine/tile.rb index a331357de5..4e39c8611e 100644 --- a/lib/engine/tile.rb +++ b/lib/engine/tile.rb @@ -15,7 +15,7 @@ class Tile include Config::Tile attr_accessor :blocks_lay, :hex, :icons, :index, :legal_rotations, :location_name, - :name, :opposite, :reservations, :upgrades, :color, :future_label + :name, :opposite, :reservations, :upgrades, :color, :future_label, :future_paths attr_reader :borders, :cities, :edges, :junction, :nodes, :labels, :parts, :preprinted, :rotation, :stops, :towns, :offboards, :blockers, :city_towns, :unlimited, :stubs, :partitions, :id, :frame, :stripes, :hidden, :hidden_blockers @@ -210,6 +210,7 @@ def initialize(name, @rotation = rotation @cities = [] @paths = [] + @future_paths = [] @stubs = [] @partitions = [] @towns = [] @@ -590,6 +591,10 @@ def available_slot? cities.sum(&:available_slots).positive? end + def hide + @hidden = true + end + private def separate_parts @@ -602,7 +607,11 @@ def separate_parts elsif part.label? @labels << part elsif part.path? - @paths << part + if part.track == :future + @future_paths << part + else + @paths << part + end elsif part.town? @towns << part @city_towns << part diff --git a/migrate_game.rb b/migrate_game.rb index b799155d29..63472c5780 100644 --- a/migrate_game.rb +++ b/migrate_game.rb @@ -126,7 +126,8 @@ def repair(game, original_actions, actions, broken_action, data, pry_db: false) end # insert pass - if !step_actions.include?(broken_action['type']) && step_actions.include?('pass') + if (!step_actions.include?(broken_action['type']) && step_actions.include?('pass')) || + broken_action['entity'] != current_entity.id pass = Engine::Action::Pass.new(current_entity) pass.user = pass.entity.player.id actions.insert(broken_action_idx, pass.to_h) diff --git a/public/fixtures/1822MRS/2227.json b/public/fixtures/1822MRS/2227.json new file mode 100644 index 0000000000..024295570f --- /dev/null +++ b/public/fixtures/1822MRS/2227.json @@ -0,0 +1 @@ +{"status":"active","actions":[{"type":"bid","entity":1,"entity_type":"player","id":1,"created_at":1684803332,"company":"C1","price":100},{"type":"bid","entity":1,"entity_type":"player","id":2,"created_at":1684803343,"company":"P1","price":0},{"type":"bid","entity":1,"entity_type":"player","id":3,"created_at":1684803419,"company":"M19","price":100},{"type":"pass","entity":2,"entity_type":"player","id":4,"created_at":1684803420},{"type":"pass","entity":3,"entity_type":"player","id":5,"created_at":1684803420},{"type":"bid","entity":1,"entity_type":"player","id":6,"created_at":1684803422,"company":"P2","price":0},{"type":"bid","entity":1,"entity_type":"player","id":7,"created_at":1684803423,"company":"P10","price":0},{"type":"pass","entity":1,"entity_type":"player","id":8,"created_at":1684803425},{"type":"pass","entity":2,"entity_type":"player","id":9,"created_at":1684803426},{"type":"pass","entity":3,"entity_type":"player","id":10,"created_at":1684803426},{"type":"pass","entity":1,"entity_type":"player","id":11,"created_at":1684803427},{"type":"buy_train","entity":"19","entity_type":"corporation","id":12,"created_at":1684803431,"train":"L-0","price":50,"variant":"L"},{"type":"pass","entity":"19","entity_type":"corporation","id":13,"created_at":1684803438},{"type":"run_routes","entity":"19","entity_type":"corporation","id":14,"created_at":1684803441,"routes":[{"train":"L-4","connections":[["local","F35"]],"hexes":["F35"],"revenue":30,"revenue_str":"F35","nodes":["F35-0"]}]},{"type":"pass","entity":"19","entity_type":"corporation","id":15,"created_at":1684803443},{"type":"pass","entity":2,"entity_type":"player","id":16,"created_at":1684803446},{"type":"pass","entity":3,"entity_type":"player","id":17,"created_at":1684803446},{"type":"bid","entity":1,"entity_type":"player","id":18,"created_at":1684803448,"company":"P11","price":0},{"type":"bid","entity":1,"entity_type":"player","id":19,"created_at":1684803449,"company":"P12","price":0},{"type":"bid","entity":1,"entity_type":"player","id":20,"created_at":1684803451,"company":"P8","price":0},{"type":"pass","entity":2,"entity_type":"player","id":21,"created_at":1684803452},{"type":"pass","entity":3,"entity_type":"player","id":22,"created_at":1684803452},{"type":"pass","entity":1,"entity_type":"player","id":23,"created_at":1684803453},{"type":"pass","entity":"19","entity_type":"corporation","id":24,"created_at":1684803465},{"type":"run_routes","entity":"19","entity_type":"corporation","id":25,"created_at":1684803468,"routes":[{"train":"L-4","connections":[],"hexes":["F35"],"revenue":30,"revenue_str":"F35","nodes":["F35-0"]}]},{"type":"buy_train","entity":"19","entity_type":"corporation","id":26,"created_at":1684803470,"train":"L-4","price":80,"variant":"2","exchange":"L-4"},{"type":"pass","entity":2,"entity_type":"player","id":27,"created_at":1684803474},{"type":"pass","entity":3,"entity_type":"player","id":28,"created_at":1684803474},{"type":"par","entity":1,"entity_type":"player","id":29,"created_at":1684803476,"corporation":"LNWR","share_price":"100,3,4"},{"type":"pass","entity":2,"entity_type":"player","id":30,"created_at":1684803478},{"type":"pass","entity":3,"entity_type":"player","id":31,"created_at":1684803478},{"type":"buy_shares","entity":1,"entity_type":"player","id":32,"created_at":1684803479,"shares":["LNWR_1"],"percent":10,"share_price":false},{"type":"pass","entity":2,"entity_type":"player","id":33,"created_at":1684803480},{"type":"pass","entity":3,"entity_type":"player","id":34,"created_at":1684803480},{"type":"buy_shares","entity":1,"entity_type":"player","id":35,"created_at":1684803481,"shares":["LNWR_2"],"percent":10,"share_price":false},{"type":"pass","entity":2,"entity_type":"player","id":36,"created_at":1684803483},{"type":"pass","entity":3,"entity_type":"player","id":37,"created_at":1684803483},{"type":"buy_shares","entity":1,"entity_type":"player","id":38,"created_at":1684803485,"shares":["LNWR_3"],"percent":10,"share_price":false},{"type":"pass","entity":2,"entity_type":"player","id":39,"created_at":1684803485},{"type":"pass","entity":3,"entity_type":"player","id":40,"created_at":1684803486},{"type":"buy_shares","entity":1,"entity_type":"player","id":41,"created_at":1684803487,"shares":["LNWR_4"],"percent":10,"share_price":false},{"type":"pass","entity":2,"entity_type":"player","id":42,"created_at":1684803489},{"type":"pass","entity":3,"entity_type":"player","id":43,"created_at":1684803489},{"type":"pass","entity":1,"entity_type":"player","id":44,"created_at":1684803491},{"type":"pass","entity":"19","entity_type":"corporation","id":45,"created_at":1684803525},{"type":"pass","entity":"19","entity_type":"corporation","id":46,"created_at":1684803527},{"type":"run_routes","entity":"19","entity_type":"corporation","id":47,"created_at":1684803532,"routes":[{"train":"L-4","connections":[["F35","E34"]],"hexes":["F35","E34"],"revenue":70,"revenue_str":"F35-E34","nodes":["F35-0","E34-0"]}]},{"type":"acquire_company","entity":"LNWR","entity_type":"corporation","id":48,"created_at":1684803536,"company":"P2"},{"type":"acquire_company","entity":"LNWR","entity_type":"corporation","id":49,"created_at":1684803540,"company":"P8"},{"type":"acquire_company","entity":"LNWR","entity_type":"corporation","id":50,"created_at":1684803541,"company":"P10"},{"type":"acquire_company","entity":"LNWR","entity_type":"corporation","id":51,"created_at":1684803543,"company":"P11"},{"type":"acquire_company","entity":"LNWR","entity_type":"corporation","id":52,"created_at":1684803545,"company":"P12"},{"type":"choose","entity":"LNWR","entity_type":"corporation","id":53,"created_at":1684803547,"choice":"token"},{"type":"lay_tile","entity":"LNWR","entity_type":"corporation","id":54,"created_at":1684805778,"hex":"M36","tile":"58-0","rotation":4},{"type":"lay_tile","entity":"LNWR","entity_type":"corporation","id":55,"created_at":1684805783,"hex":"N35","tile":"8-0","rotation":5},{"type":"pass","entity":"LNWR","entity_type":"corporation","id":60,"created_at":1684894695},{"type":"buy_train","entity":"LNWR","entity_type":"corporation","id":61,"created_at":1684894697,"train":"3-1","price":200,"variant":"3"},{"type":"buy_train","entity":"LNWR","entity_type":"corporation","id":62,"created_at":1684894701,"train":"3-2","price":200,"variant":"3"},{"type":"pass","entity":"LNWR","entity_type":"corporation","id":63,"created_at":1684894712},{"type":"pass","entity":"19","entity_type":"corporation","id":64,"created_at":1684894716},{"type":"run_routes","entity":"19","entity_type":"corporation","id":65,"created_at":1684894717,"routes":[{"train":"L-4","connections":[["F35","E34"]],"hexes":["F35","E34"],"revenue":70,"revenue_str":"F35-E34","nodes":["F35-0","E34-0"]}]},{"type":"buy_train","entity":"19","entity_type":"corporation","id":68,"created_at":1684894729,"train":"3-1","price":1},{"type":"lay_tile","entity":"LNWR","entity_type":"corporation","id":77,"created_at":1684894799,"hex":"I24","tile":"8-1","rotation":3},{"type":"lay_tile","entity":"LNWR","entity_type":"corporation","id":78,"created_at":1684894803,"hex":"J25","tile":"9-0","rotation":2},{"type":"lay_tile","entity":"P12","entity_type":"company","id":79,"created_at":1684894814,"hex":"J21","tile":"9-1","rotation":1,"combo_entities":["P2","P8"]},{"type":"lay_tile","entity":"P12","entity_type":"company","id":80,"created_at":1684894820,"hex":"O36","tile":"58-1","rotation":0,"combo_entities":["P10"]},{"type":"pass","entity":"LNWR","entity_type":"corporation","id":81,"created_at":1684895171},{"type":"run_routes","entity":"LNWR","entity_type":"corporation","id":82,"created_at":1684895174,"routes":[{"train":"3-2","connections":[["M38","M36"],["M36","N35","O36"]],"hexes":["M38","M36","O36"],"revenue":40,"revenue_str":"M38-M36-O36","nodes":["M38-3","M36-0","O36-0"]}]},{"type":"dividend","entity":"LNWR","entity_type":"corporation","id":83,"created_at":1684895175,"kind":"payout"},{"type":"pass","entity":"LNWR","entity_type":"corporation","id":84,"created_at":1684895177,"auto_actions":[{"type":"pass","entity":"LNWR","entity_type":"corporation","created_at":1684895177}]},{"type":"pass","entity":"LNWR","entity_type":"corporation","id":85,"created_at":1684895184},{"type":"pass","entity":2,"entity_type":"player","id":86,"created_at":1684895185},{"type":"pass","entity":3,"entity_type":"player","id":87,"created_at":1684895185},{"type":"pass","entity":1,"entity_type":"player","id":88,"created_at":1684895185},{"type":"pass","entity":"19","entity_type":"corporation","id":89,"created_at":1684895187},{"type":"run_routes","entity":"19","entity_type":"corporation","id":90,"created_at":1684895193,"routes":[{"train":"3-1","connections":[["F35","E34"],["E34","E32","F33"]],"hexes":["F35","E34","F33"],"revenue":110,"revenue_str":"F35-E34-F33","nodes":["F35-0","E34-0","F33-0"]}]},{"type":"lay_tile","entity":"LNWR","entity_type":"corporation","id":91,"created_at":1684895209,"hex":"O38","tile":"9-2","rotation":0},{"type":"pass","entity":"LNWR","entity_type":"corporation","id":92,"created_at":1684895212},{"type":"run_routes","entity":"LNWR","entity_type":"corporation","id":93,"created_at":1684895214,"routes":[{"train":"3-2","connections":[["M38","M36"],["M36","N35","O36"]],"hexes":["M38","M36","O36"],"revenue":40,"revenue_str":"M38-M36-O36","nodes":["M38-3","M36-0","O36-0"]}]},{"type":"dividend","entity":"LNWR","entity_type":"corporation","id":94,"created_at":1684895215,"kind":"payout"},{"type":"pass","entity":"LNWR","entity_type":"corporation","id":95,"created_at":1684895216,"auto_actions":[{"type":"pass","entity":"LNWR","entity_type":"corporation","created_at":1684895216}]},{"type":"pass","entity":"LNWR","entity_type":"corporation","id":96,"created_at":1684895217},{"type":"pass","entity":"19","entity_type":"corporation","id":97,"created_at":1684895218},{"type":"run_routes","entity":"19","entity_type":"corporation","id":98,"created_at":1684895220,"routes":[{"train":"3-1","connections":[["F35","E34"],["E34","E32","F33"]],"hexes":["F35","E34","F33"],"revenue":110,"revenue_str":"F35-E34-F33","nodes":["F35-0","E34-0","F33-0"]}]},{"type":"lay_tile","entity":"LNWR","entity_type":"corporation","id":99,"created_at":1684895225,"hex":"O38","tile":"82-0","rotation":0},{"type":"pass","entity":"LNWR","entity_type":"corporation","id":100,"created_at":1684895227},{"type":"run_routes","entity":"LNWR","entity_type":"corporation","id":101,"created_at":1684895229,"routes":[{"train":"3-2","connections":[["M38","M36"],["M36","N35","O36"]],"hexes":["M38","M36","O36"],"revenue":40,"revenue_str":"M38-M36-O36","nodes":["M38-3","M36-0","O36-0"]}]},{"type":"dividend","entity":"LNWR","entity_type":"corporation","id":102,"created_at":1684895231,"kind":"payout"},{"type":"pass","entity":"LNWR","entity_type":"corporation","id":103,"created_at":1684895234,"auto_actions":[{"type":"pass","entity":"LNWR","entity_type":"corporation","created_at":1684895234}]},{"type":"pass","entity":"LNWR","entity_type":"corporation","id":104,"created_at":1684895236},{"type":"bid","entity":2,"entity_type":"player","id":121,"created_at":1684895497,"company":"M20","price":205},{"type":"pass","entity":2,"entity_type":"player","id":122,"created_at":1684895499},{"type":"pass","entity":3,"entity_type":"player","id":123,"created_at":1684895500},{"type":"pass","entity":1,"entity_type":"player","id":124,"created_at":1684895500},{"type":"pass","entity":2,"entity_type":"player","id":125,"created_at":1684895503},{"type":"pass","entity":"19","entity_type":"corporation","id":126,"created_at":1684895506},{"type":"run_routes","entity":"19","entity_type":"corporation","id":127,"created_at":1684895507,"routes":[{"train":"3-1","connections":[["F35","E34"],["E34","E32","F33"]],"hexes":["F35","E34","F33"],"revenue":110,"revenue_str":"F35-E34-F33","nodes":["F35-0","E34-0","F33-0"]}]},{"type":"pass","entity":"20","entity_type":"corporation","id":128,"created_at":1684895515},{"type":"buy_train","entity":"20","entity_type":"corporation","id":129,"created_at":1684895517,"train":"3-4","price":200,"variant":"3"},{"type":"log","entity":2,"entity_type":"player","id":130,"created_at":1684895525,"message":"• confirmed receiving consent from Player 1"},{"type":"buy_train","entity":"20","entity_type":"corporation","id":131,"created_at":1684895525,"train":"3-2","price":1},{"type":"lay_tile","entity":"P11","entity_type":"company","id":132,"created_at":1684895538,"hex":"O38","tile":"545-0","rotation":0,"combo_entities":["P10"]},{"type":"buy_train","entity":"LNWR","entity_type":"corporation","id":133,"created_at":1684895547,"train":"3-5","price":200,"variant":"3"},{"type":"end_game","entity":"LNWR","entity_type":"corporation","id":134,"created_at":1684895615}],"mode":"hotseat","created_at":"2023-05-22","loaded":true,"result":{"1":922,"3":500,"2":475},"round":"Operating Round","turn":5,"user_settings":null,"settings":{"optional_rules":[],"unlisted":false,"seed":1026739460},"title":"1822MRS","max_players":3,"players":[{"name":"Player 1","id":1},{"name":"Player 2","id":2},{"name":"Player 3","id":3}],"user":{"id":0,"name":"You"},"description":"Cloned from game hs_lxemeslq_2227","id":"2227","manually_ended":null,"acting":[1],"updated_at":1684895547} \ No newline at end of file diff --git a/public/fixtures/1822MX/86.json b/public/fixtures/1822MX/86.json new file mode 100644 index 0000000000..7d95240bc6 --- /dev/null +++ b/public/fixtures/1822MX/86.json @@ -0,0 +1 @@ +{"status":"finished","actions":[{"type":"bid","entity":0,"entity_type":"player","id":1,"created_at":1684897782,"company":"M3","price":100},{"type":"bid","entity":0,"entity_type":"player","id":2,"created_at":1684897784,"company":"C6","price":100},{"type":"bid","entity":0,"entity_type":"player","id":3,"created_at":1684897787,"company":"P9","price":0},{"type":"bid","entity":1,"entity_type":"player","id":4,"created_at":1684897789,"company":"P13","price":0},{"type":"pass","entity":1,"entity_type":"player","id":5,"created_at":1684897791},{"type":"pass","entity":2,"entity_type":"player","id":6,"created_at":1684897791},{"type":"pass","entity":0,"entity_type":"player","id":7,"created_at":1684897791},{"type":"pass","entity":1,"entity_type":"player","id":8,"created_at":1684897792},{"type":"buy_train","entity":"3","entity_type":"corporation","id":9,"created_at":1684897794,"train":"L-0","price":60,"variant":"L"},{"type":"pass","entity":"3","entity_type":"corporation","id":10,"created_at":1684897807},{"type":"lay_tile","entity":"3","entity_type":"corporation","id":15,"created_at":1684971249,"hex":"E8","tile":"6-0","rotation":3},{"type":"run_routes","entity":"3","entity_type":"corporation","id":16,"created_at":1684971253,"routes":[{"train":"L-4","connections":[["local","E8"]],"hexes":["E8"],"revenue":20,"revenue_str":"E8","nodes":["E8-0"]}]},{"type":"pass","entity":"3","entity_type":"corporation","id":17,"created_at":1684971257},{"type":"run_routes","entity":"NDEM","entity_type":"corporation","id":18,"created_at":1684971270,"routes":[{"train":"L-0","connections":[["local","N23"]],"hexes":["N23"],"revenue":20,"revenue_str":"N23","nodes":[]}]},{"type":"bid","entity":1,"entity_type":"player","id":19,"created_at":1684971278,"company":"P8","price":0},{"type":"bid","entity":1,"entity_type":"player","id":20,"created_at":1684971280,"company":"P12","price":0},{"type":"pass","entity":1,"entity_type":"player","id":21,"created_at":1684971285},{"type":"pass","entity":2,"entity_type":"player","id":22,"created_at":1684971285},{"type":"pass","entity":0,"entity_type":"player","id":23,"created_at":1684971300},{"type":"pass","entity":1,"entity_type":"player","id":24,"created_at":1684971301},{"type":"pass","entity":"3","entity_type":"corporation","id":25,"created_at":1684971302},{"type":"lay_tile","entity":"3","entity_type":"corporation","id":26,"created_at":1684971319,"hex":"D9","tile":"6-1","rotation":0},{"type":"run_routes","entity":"3","entity_type":"corporation","id":27,"created_at":1684971322,"routes":[{"train":"L-4","connections":[],"hexes":["E8"],"revenue":20,"revenue_str":"E8","nodes":["E8-0"]}]},{"type":"pass","entity":"3","entity_type":"corporation","id":28,"created_at":1684971325},{"type":"run_routes","entity":"NDEM","entity_type":"corporation","id":29,"created_at":1684971334,"routes":[{"train":"L-9","connections":[["local","N23"]],"hexes":["N23"],"revenue":20,"revenue_str":"N23","nodes":[]}]},{"type":"pass","entity":1,"entity_type":"player","id":30,"created_at":1684971344},{"type":"pass","entity":2,"entity_type":"player","id":31,"created_at":1684971344},{"type":"pass","entity":0,"entity_type":"player","id":32,"created_at":1684971344},{"type":"pass","entity":"3","entity_type":"corporation","id":33,"created_at":1684971347},{"type":"lay_tile","entity":"3","entity_type":"corporation","id":34,"created_at":1684971366,"hex":"C6","tile":"9-0","rotation":1},{"type":"run_routes","entity":"3","entity_type":"corporation","id":35,"created_at":1684971368,"routes":[{"train":"L-4","connections":[],"hexes":["E8"],"revenue":20,"revenue_str":"E8","nodes":["E8-0"]}]},{"type":"pass","entity":"3","entity_type":"corporation","id":36,"created_at":1684971370},{"type":"run_routes","entity":"NDEM","entity_type":"corporation","id":37,"created_at":1684971385,"routes":[{"train":"L-11","connections":[["local","N23"]],"hexes":["N23"],"revenue":20,"revenue_str":"N23","nodes":[]}]},{"type":"pass","entity":1,"entity_type":"player","id":38,"created_at":1684971387},{"type":"pass","entity":2,"entity_type":"player","id":39,"created_at":1684971388},{"type":"pass","entity":0,"entity_type":"player","id":40,"created_at":1684971389},{"type":"pass","entity":"3","entity_type":"corporation","id":41,"created_at":1684971391},{"type":"lay_tile","entity":"3","entity_type":"corporation","id":42,"created_at":1684971397,"hex":"C4","tile":"9-1","rotation":1},{"type":"run_routes","entity":"3","entity_type":"corporation","id":43,"created_at":1684971400,"routes":[{"train":"L-4","connections":[],"hexes":["E8"],"revenue":20,"revenue_str":"E8","nodes":["E8-0"]}]},{"type":"buy_train","entity":"3","entity_type":"corporation","id":44,"created_at":1684971404,"train":"L-4","price":80,"variant":"2","exchange":"L-4"},{"type":"run_routes","entity":"NDEM","entity_type":"corporation","id":45,"created_at":1684971409,"routes":[{"train":"L-16","connections":[["local","N23"]],"hexes":["N23"],"revenue":20,"revenue_str":"N23","nodes":[]}]},{"type":"pass","entity":1,"entity_type":"player","id":46,"created_at":1684971416},{"type":"pass","entity":2,"entity_type":"player","id":47,"created_at":1684971417},{"type":"par","entity":0,"entity_type":"player","id":48,"created_at":1684971424,"corporation":"FCP","share_price":"100,0,14"},{"type":"buy_shares","entity":1,"entity_type":"player","id":49,"created_at":1684971427,"shares":["FCP_1"],"percent":10,"share_price":false},{"type":"buy_shares","entity":2,"entity_type":"player","id":50,"created_at":1684971428,"shares":["FCP_2"],"percent":10,"share_price":false},{"type":"buy_shares","entity":0,"entity_type":"player","id":51,"created_at":1684971429,"shares":["FCP_3"],"percent":10,"share_price":false},{"type":"pass","entity":1,"entity_type":"player","id":52,"created_at":1684971430},{"type":"pass","entity":2,"entity_type":"player","id":53,"created_at":1684971431},{"type":"pass","entity":0,"entity_type":"player","id":54,"created_at":1684971431},{"type":"pass","entity":"3","entity_type":"corporation","id":55,"created_at":1684971437},{"type":"lay_tile","entity":"3","entity_type":"corporation","id":60,"created_at":1684971469,"hex":"C4","tile":"83-0","rotation":1},{"type":"run_routes","entity":"3","entity_type":"corporation","id":61,"created_at":1684971472,"routes":[{"train":"L-4","connections":[["E8","D9"]],"hexes":["E8","D9"],"revenue":40,"revenue_str":"E8-D9","nodes":["E8-0","D9-0"]}]},{"type":"pass","entity":"3","entity_type":"corporation","id":62,"created_at":1684971475},{"type":"acquire_company","entity":"FCP","entity_type":"corporation","id":63,"created_at":1684971480,"company":"P9"},{"type":"log","entity":0,"entity_type":"player","id":64,"created_at":1684971483,"message":"• confirmed receiving consent from Player 2"},{"type":"acquire_company","entity":"FCP","entity_type":"corporation","id":65,"created_at":1684971483,"company":"P8"},{"type":"log","entity":0,"entity_type":"player","id":66,"created_at":1684971488,"message":"• confirmed receiving consent from Player 2"},{"type":"acquire_company","entity":"FCP","entity_type":"corporation","id":67,"created_at":1684971488,"company":"P13"},{"type":"log","entity":0,"entity_type":"player","id":68,"created_at":1684971494,"message":"• confirmed receiving consent from Player 2"},{"type":"acquire_company","entity":"FCP","entity_type":"corporation","id":69,"created_at":1684971494,"company":"P12"},{"type":"lay_tile","entity":"P9","entity_type":"company","id":86,"created_at":1685056407,"hex":"C2","tile":"7-0","rotation":4,"combo_entities":["P12"]},{"type":"lay_tile","entity":"P9","entity_type":"company","id":89,"created_at":1685056671,"hex":"D3","tile":"9-2","rotation":2,"combo_entities":["P13"]},{"type":"lay_tile","entity":"P8","entity_type":"company","id":94,"created_at":1685066623,"auto_actions":[{"type":"pass","entity":"FCP","entity_type":"corporation","created_at":1685066623}],"hex":"C4","tile":"546-0","rotation":4},{"type":"end_game","entity":"FCP","entity_type":"corporation","id":95,"created_at":1685066664}],"id":"86","players":[{"name":"Player 1","id":0},{"name":"Player 2","id":1},{"name":"Player 3","id":2}],"title":"1822MX","description":"","min_players":"3","max_players":"3","settings":{"optional_rules":[]},"mode":"hotseat","user":{"id":0,"name":"You"},"created_at":"2023-05-24","loaded":true,"result":{"0":750,"1":630,"2":500},"manually_ended":true,"turn":5,"round":"Operating Round","acting":[0],"updated_at":1685066664} diff --git a/public/fixtures/1822PNW/586.json b/public/fixtures/1822PNW/586.json new file mode 100644 index 0000000000..cd310de4ae --- /dev/null +++ b/public/fixtures/1822PNW/586.json @@ -0,0 +1 @@ +{"status":"finished","actions":[{"type":"bid","entity":0,"entity_type":"player","id":1,"created_at":1685069895,"company":"M5","price":100},{"type":"bid","entity":0,"entity_type":"player","id":2,"created_at":1685069897,"company":"P8","price":0},{"type":"bid","entity":0,"entity_type":"player","id":3,"created_at":1685069898,"company":"P7","price":0},{"type":"pass","entity":1,"entity_type":"player","id":4,"created_at":1685069900},{"type":"pass","entity":2,"entity_type":"player","id":5,"created_at":1685069901},{"type":"pass","entity":0,"entity_type":"player","id":6,"created_at":1685069902},{"type":"buy_train","entity":"5","entity_type":"corporation","id":7,"created_at":1685069907,"train":"L-0","price":60,"variant":"L"},{"type":"acquire_company","entity":"5","entity_type":"corporation","id":8,"created_at":1685069915,"company":"P7"},{"type":"acquire_company","entity":"5","entity_type":"corporation","id":9,"created_at":1685069917,"company":"P8"},{"type":"lay_tile","entity":"5","entity_type":"corporation","id":10,"created_at":1685069923,"hex":"D23","tile":"57-0","rotation":1},{"type":"pass","entity":"5","entity_type":"corporation","id":11,"created_at":1685069925},{"type":"run_routes","entity":"5","entity_type":"corporation","id":12,"created_at":1685069929,"routes":[{"train":"L-4","connections":[],"hexes":["D23"],"revenue":20,"revenue_str":"D23","nodes":["D23-0"]}]},{"type":"bid","entity":1,"entity_type":"player","id":13,"created_at":1685069934,"company":"M20","price":100},{"type":"bid","entity":1,"entity_type":"player","id":14,"created_at":1685069936,"company":"M3","price":100},{"type":"bid","entity":1,"entity_type":"player","id":15,"created_at":1685069938,"company":"M21","price":100},{"type":"pass","entity":2,"entity_type":"player","id":16,"created_at":1685069939},{"type":"bid","entity":0,"entity_type":"player","id":17,"created_at":1685069942,"company":"P11","price":0},{"type":"pass","entity":0,"entity_type":"player","id":18,"created_at":1685069944},{"type":"pass","entity":1,"entity_type":"player","id":19,"created_at":1685069945},{"type":"pass","entity":2,"entity_type":"player","id":20,"created_at":1685069945},{"type":"pass","entity":0,"entity_type":"player","id":21,"created_at":1685069945},{"type":"lay_tile","entity":"5","entity_type":"corporation","id":22,"created_at":1685069977,"hex":"D21","tile":"8-0","rotation":4},{"type":"pass","entity":"5","entity_type":"corporation","id":23,"created_at":1685069982},{"type":"run_routes","entity":"5","entity_type":"corporation","id":24,"created_at":1685069984,"routes":[{"train":"L-4","connections":[],"hexes":["D23"],"revenue":20,"revenue_str":"D23","nodes":["D23-0"]}]},{"type":"pass","entity":"5","entity_type":"corporation","id":25,"created_at":1685069986},{"type":"buy_train","entity":"20","entity_type":"corporation","id":26,"created_at":1685069988,"train":"L-0","price":60,"variant":"L"},{"type":"pass","entity":"20","entity_type":"corporation","id":27,"created_at":1685069990},{"type":"run_routes","entity":"20","entity_type":"corporation","id":28,"created_at":1685069993,"routes":[]},{"type":"pass","entity":"20","entity_type":"corporation","id":29,"created_at":1685069995},{"type":"buy_train","entity":"3","entity_type":"corporation","id":30,"created_at":1685069997,"train":"L-0","price":60,"variant":"L"},{"type":"lay_tile","entity":"3","entity_type":"corporation","id":31,"created_at":1685070002,"hex":"D13","tile":"58-0","rotation":5},{"type":"run_routes","entity":"3","entity_type":"corporation","id":32,"created_at":1685070005,"routes":[{"train":"L-7","connections":[["D11","D13"]],"hexes":["D11","D13"],"revenue":40,"revenue_str":"D11-D13","nodes":["D11-0","D13-0"]}]},{"type":"pass","entity":"3","entity_type":"corporation","id":33,"created_at":1685070006},{"type":"buy_train","entity":"21","entity_type":"corporation","id":34,"created_at":1685070009,"train":"L-0","price":60,"variant":"L"},{"type":"lay_tile","entity":"21","entity_type":"corporation","id":35,"created_at":1685070015,"hex":"P17","tile":"57-1","rotation":1},{"type":"run_routes","entity":"21","entity_type":"corporation","id":36,"created_at":1685070018,"routes":[{"train":"L-8","connections":[["local","P17"]],"hexes":["P17"],"revenue":20,"revenue_str":"P17","nodes":["P17-0"]}]},{"type":"pass","entity":"21","entity_type":"corporation","id":37,"created_at":1685070020},{"type":"pass","entity":2,"entity_type":"player","id":38,"created_at":1685070025},{"type":"pass","entity":0,"entity_type":"player","id":39,"created_at":1685070026},{"type":"pass","entity":1,"entity_type":"player","id":40,"created_at":1685070026},{"type":"pass","entity":"5","entity_type":"corporation","id":41,"created_at":1685070030},{"type":"run_routes","entity":"5","entity_type":"corporation","id":42,"created_at":1685070033,"routes":[{"train":"L-4","connections":[],"hexes":["D23"],"revenue":20,"revenue_str":"D23","nodes":["D23-0"]}]},{"type":"buy_train","entity":"5","entity_type":"corporation","id":43,"created_at":1685070035,"train":"L-4","price":80,"variant":"2","exchange":"L-4"},{"type":"pass","entity":"5","entity_type":"corporation","id":44,"created_at":1685070047},{"type":"pass","entity":"3","entity_type":"corporation","id":45,"created_at":1685070049},{"type":"run_routes","entity":"3","entity_type":"corporation","id":46,"created_at":1685070050,"routes":[{"train":"L-7","connections":[["D11","D13"]],"hexes":["D11","D13"],"revenue":40,"revenue_str":"D11-D13","nodes":["D11-0","D13-0"]}]},{"type":"buy_train","entity":"3","entity_type":"corporation","id":47,"created_at":1685070055,"train":"L-7","price":80,"variant":"2","exchange":"L-7"},{"type":"pass","entity":"21","entity_type":"corporation","id":48,"created_at":1685070056},{"type":"run_routes","entity":"21","entity_type":"corporation","id":49,"created_at":1685070058,"routes":[{"train":"L-8","connections":[["local","P17"]],"hexes":["P17"],"revenue":20,"revenue_str":"P17","nodes":["P17-0"]}]},{"type":"pass","entity":"21","entity_type":"corporation","id":50,"created_at":1685070061},{"type":"pass","entity":"20","entity_type":"corporation","id":51,"created_at":1685070063},{"type":"undo","entity":"20","entity_type":"corporation","id":52,"created_at":1685070069},{"type":"lay_tile","entity":"20","entity_type":"corporation","id":53,"created_at":1685070077,"hex":"O20","tile":"5-0","rotation":0},{"type":"run_routes","entity":"20","entity_type":"corporation","id":54,"created_at":1685070085,"routes":[{"train":"L-6","connections":[["local","O20"]],"hexes":["O20"],"revenue":20,"revenue_str":"O20","nodes":["O20-0"]}]},{"type":"pass","entity":"20","entity_type":"corporation","id":55,"created_at":1685070087},{"type":"pass","entity":2,"entity_type":"player","id":56,"created_at":1685070091},{"type":"pass","entity":0,"entity_type":"player","id":57,"created_at":1685070092},{"type":"pass","entity":1,"entity_type":"player","id":58,"created_at":1685070093},{"type":"pass","entity":"5","entity_type":"corporation","id":59,"created_at":1685070104},{"type":"pass","entity":"5","entity_type":"corporation","id":60,"created_at":1685070107},{"type":"undo","entity":"3","entity_type":"corporation","id":61,"created_at":1685070110},{"type":"undo","entity":"5","entity_type":"corporation","id":62,"created_at":1685070116},{"type":"lay_tile","entity":"5","entity_type":"corporation","id":63,"created_at":1685070122,"hex":"E20","tile":"58-1","rotation":3},{"type":"pass","entity":"5","entity_type":"corporation","id":64,"created_at":1685070124},{"type":"run_routes","entity":"5","entity_type":"corporation","id":65,"created_at":1685070126,"routes":[{"train":"L-4","connections":[["D23","D21","E20"]],"hexes":["D23","E20"],"revenue":30,"revenue_str":"D23-E20","nodes":["D23-0","E20-0"]}]},{"type":"buy_train","entity":"5","entity_type":"corporation","id":66,"created_at":1685070129,"train":"L-19","price":60,"variant":"L"},{"type":"pass","entity":"3","entity_type":"corporation","id":67,"created_at":1685070140},{"type":"run_routes","entity":"3","entity_type":"corporation","id":68,"created_at":1685070142,"routes":[{"train":"L-7","connections":[["D11","D13"]],"hexes":["D11","D13"],"revenue":40,"revenue_str":"D11-D13","nodes":["D11-0","D13-0"]}]},{"type":"pass","entity":"3","entity_type":"corporation","id":69,"created_at":1685070145},{"type":"pass","entity":"21","entity_type":"corporation","id":70,"created_at":1685070149},{"type":"run_routes","entity":"21","entity_type":"corporation","id":71,"created_at":1685070151,"routes":[{"train":"L-8","connections":[["local","P17"]],"hexes":["P17"],"revenue":20,"revenue_str":"P17","nodes":["P17-0"]}]},{"type":"buy_train","entity":"21","entity_type":"corporation","id":72,"created_at":1685070154,"train":"L-20","price":60,"variant":"L"},{"type":"lay_tile","entity":"20","entity_type":"corporation","id":73,"created_at":1685070161,"hex":"P19","tile":"58-2","rotation":1},{"type":"run_routes","entity":"20","entity_type":"corporation","id":74,"created_at":1685070165,"routes":[{"train":"L-6","connections":[["local","O20"]],"hexes":["O20"],"revenue":20,"revenue_str":"O20","nodes":["O20-0"]}]},{"type":"buy_train","entity":"20","entity_type":"corporation","id":75,"created_at":1685070167,"train":"L-21","price":60,"variant":"L"},{"type":"pass","entity":"20","entity_type":"corporation","id":76,"created_at":1685070181},{"type":"pass","entity":"5","entity_type":"corporation","id":77,"created_at":1685070201},{"type":"run_routes","entity":"5","entity_type":"corporation","id":78,"created_at":1685070206,"routes":[{"train":"L-19","connections":[["local","D23"]],"hexes":["D23"],"revenue":20,"revenue_str":"D23","nodes":["D23-0"]},{"train":"L-4","connections":[["D23","D21","E20"]],"hexes":["D23","E20"],"revenue":30,"revenue_str":"D23-E20","nodes":["D23-0","E20-0"]}]},{"type":"pass","entity":"3","entity_type":"corporation","id":79,"created_at":1685070208},{"type":"run_routes","entity":"3","entity_type":"corporation","id":80,"created_at":1685070209,"routes":[{"train":"L-7","connections":[["D11","D13"]],"hexes":["D11","D13"],"revenue":40,"revenue_str":"D11-D13","nodes":["D11-0","D13-0"]}]},{"type":"pass","entity":"3","entity_type":"corporation","id":81,"created_at":1685070210},{"type":"pass","entity":"21","entity_type":"corporation","id":82,"created_at":1685070212},{"type":"run_routes","entity":"21","entity_type":"corporation","id":83,"created_at":1685070214,"routes":[{"train":"L-8","connections":[["local","P17"]],"hexes":["P17"],"revenue":20,"revenue_str":"P17","nodes":["P17-0"]}]},{"type":"pass","entity":"20","entity_type":"corporation","id":84,"created_at":1685070215},{"type":"run_routes","entity":"20","entity_type":"corporation","id":85,"created_at":1685070217,"routes":[{"train":"L-6","connections":[["local","O20"]],"hexes":["O20"],"revenue":20,"revenue_str":"O20","nodes":["O20-0"]}]},{"type":"pass","entity":"20","entity_type":"corporation","id":86,"created_at":1685070219},{"type":"pass","entity":2,"entity_type":"player","id":87,"created_at":1685070220},{"type":"pass","entity":0,"entity_type":"player","id":88,"created_at":1685070221},{"type":"pass","entity":1,"entity_type":"player","id":89,"created_at":1685070221},{"type":"acquire_company","entity":"5","entity_type":"corporation","id":90,"created_at":1685070230,"company":"P11"},{"type":"lay_tile","entity":"5","entity_type":"corporation","id":91,"created_at":1685070237,"hex":"D21","tile":"82-0","rotation":3},{"type":"lay_tile","entity":"P11","entity_type":"company","id":92,"created_at":1685070431,"hex":"C22","tile":"9-0","rotation":0,"combo_entities":["P7"]},{"type":"undo","entity":"5","entity_type":"corporation","id":93,"created_at":1685070442},{"type":"undo","entity":"5","entity_type":"corporation","id":94,"created_at":1685070504},{"type":"lay_tile","entity":"5","entity_type":"corporation","id":95,"created_at":1685070510,"hex":"E20","tile":"141-0","rotation":2},{"type":"pass","entity":"5","entity_type":"corporation","id":96,"created_at":1685070553},{"type":"run_routes","entity":"5","entity_type":"corporation","id":97,"created_at":1685070555,"routes":[{"train":"L-4","connections":[["D23","D21","E20"]],"hexes":["D23","E20"],"revenue":30,"revenue_str":"D23-E20","nodes":["D23-0","E20-0"]}]},{"type":"pass","entity":"5","entity_type":"corporation","id":98,"created_at":1685070556},{"type":"pass","entity":"3","entity_type":"corporation","id":99,"created_at":1685070558},{"type":"run_routes","entity":"3","entity_type":"corporation","id":100,"created_at":1685070560,"routes":[{"train":"L-7","connections":[["D11","D13"]],"hexes":["D11","D13"],"revenue":40,"revenue_str":"D11-D13","nodes":["D11-0","D13-0"]}]},{"type":"pass","entity":"3","entity_type":"corporation","id":101,"created_at":1685070562},{"type":"pass","entity":"21","entity_type":"corporation","id":102,"created_at":1685070563},{"type":"buy_train","entity":"21","entity_type":"corporation","id":103,"created_at":1685070568,"train":"3-1","price":200,"variant":"3"},{"type":"pass","entity":"20","entity_type":"corporation","id":104,"created_at":1685070572},{"type":"buy_train","entity":"20","entity_type":"corporation","id":105,"created_at":1685070574,"train":"3-2","price":200,"variant":"3"},{"type":"pass","entity":"20","entity_type":"corporation","id":106,"created_at":1685070575},{"type":"pass","entity":"5","entity_type":"corporation","id":107,"created_at":1685070582},{"type":"run_routes","entity":"5","entity_type":"corporation","id":108,"created_at":1685070585,"routes":[{"train":"L-4","connections":[["D23","D21","E20"]],"hexes":["D23","E20"],"revenue":30,"revenue_str":"D23-E20","nodes":["D23-0","E20-0"]}]},{"type":"pass","entity":"5","entity_type":"corporation","id":109,"created_at":1685070587},{"type":"pass","entity":"3","entity_type":"corporation","id":110,"created_at":1685070588},{"type":"run_routes","entity":"3","entity_type":"corporation","id":111,"created_at":1685070589,"routes":[{"train":"L-7","connections":[["D11","D13"]],"hexes":["D11","D13"],"revenue":40,"revenue_str":"D11-D13","nodes":["D11-0","D13-0"]}]},{"type":"pass","entity":"3","entity_type":"corporation","id":112,"created_at":1685070591},{"type":"pass","entity":"21","entity_type":"corporation","id":113,"created_at":1685070592},{"type":"run_routes","entity":"21","entity_type":"corporation","id":114,"created_at":1685070595,"routes":[{"train":"3-1","connections":[["P17","P19"],["P19","O20"]],"hexes":["P17","P19","O20"],"revenue":50,"revenue_str":"P17-P19-O20","nodes":["P17-0","P19-0","O20-0"]}]},{"type":"pass","entity":"21","entity_type":"corporation","id":115,"created_at":1685070597},{"type":"pass","entity":"20","entity_type":"corporation","id":116,"created_at":1685070598},{"type":"run_routes","entity":"20","entity_type":"corporation","id":117,"created_at":1685070600,"routes":[{"train":"3-2","connections":[["O20","P19"],["P19","P17"]],"hexes":["O20","P19","P17"],"revenue":50,"revenue_str":"O20-P19-P17","nodes":["O20-0","P19-0","P17-0"]}]},{"type":"pass","entity":"20","entity_type":"corporation","id":118,"created_at":1685070606},{"type":"merge","entity":"20","entity_type":"corporation","id":119,"created_at":1685070607,"corporation":"21"},{"type":"undo","entity":"20","entity_type":"corporation","id":120,"created_at":1685070609},{"type":"pass","entity":"20","entity_type":"corporation","id":121,"created_at":1685070611},{"type":"bid","entity":0,"entity_type":"player","id":122,"created_at":1685070621,"company":"M4","price":570},{"type":"pass","entity":0,"entity_type":"player","id":123,"created_at":1685070623},{"type":"pass","entity":2,"entity_type":"player","id":124,"created_at":1685070624},{"type":"pass","entity":1,"entity_type":"player","id":125,"created_at":1685070624},{"type":"pass","entity":0,"entity_type":"player","id":126,"created_at":1685070625},{"type":"lay_tile","entity":"4","entity_type":"corporation","id":127,"created_at":1685070648,"hex":"D19","tile":"6-0","rotation":3},{"type":"buy_train","entity":"4","entity_type":"corporation","id":128,"created_at":1685070651,"train":"3-3","price":200,"variant":"3"},{"type":"pass","entity":"4","entity_type":"corporation","id":129,"created_at":1685070653},{"type":"pass","entity":"5","entity_type":"corporation","id":130,"created_at":1685070656},{"type":"run_routes","entity":"5","entity_type":"corporation","id":131,"created_at":1685070658,"routes":[{"train":"L-4","connections":[["D23","D21","E20"]],"hexes":["D23","E20"],"revenue":30,"revenue_str":"D23-E20","nodes":["D23-0","E20-0"]}]},{"type":"pass","entity":"5","entity_type":"corporation","id":132,"created_at":1685070659},{"type":"pass","entity":"3","entity_type":"corporation","id":133,"created_at":1685070660},{"type":"run_routes","entity":"3","entity_type":"corporation","id":134,"created_at":1685070663,"routes":[{"train":"L-7","connections":[["D11","D13"]],"hexes":["D11","D13"],"revenue":40,"revenue_str":"D11-D13","nodes":["D11-0","D13-0"]}]},{"type":"pass","entity":"3","entity_type":"corporation","id":135,"created_at":1685070664},{"type":"pass","entity":"21","entity_type":"corporation","id":136,"created_at":1685070665},{"type":"run_routes","entity":"21","entity_type":"corporation","id":137,"created_at":1685070666,"routes":[{"train":"3-1","connections":[["P17","P19"],["P19","O20"]],"hexes":["P17","P19","O20"],"revenue":50,"revenue_str":"P17-P19-O20","nodes":["P17-0","P19-0","O20-0"]}]},{"type":"pass","entity":"21","entity_type":"corporation","id":138,"created_at":1685070667},{"type":"pass","entity":"20","entity_type":"corporation","id":139,"created_at":1685070669},{"type":"run_routes","entity":"20","entity_type":"corporation","id":140,"created_at":1685070670,"routes":[{"train":"3-2","connections":[["O20","P19"],["P19","P17"]],"hexes":["O20","P19","P17"],"revenue":50,"revenue_str":"O20-P19-P17","nodes":["O20-0","P19-0","P17-0"]}]},{"type":"pass","entity":"20","entity_type":"corporation","id":141,"created_at":1685070672},{"type":"merge","entity":"5","entity_type":"corporation","id":142,"created_at":1685070679,"corporation":"4"},{"type":"choose","entity":"5","entity_type":"corporation","id":143,"created_at":1685070680,"choice":"100"},{"type":"choose","entity":"5","entity_type":"corporation","id":144,"created_at":1685070684,"choice":"3"},{"type":"choose","entity":"5","entity_type":"corporation","id":145,"created_at":1685070687,"choice":"replace"},{"type":"pass","entity":"20","entity_type":"corporation","id":146,"created_at":1685070689},{"type":"pass","entity":"3","entity_type":"corporation","id":147,"created_at":1685070692},{"type":"run_routes","entity":"3","entity_type":"corporation","id":148,"created_at":1685070694,"routes":[{"train":"L-7","connections":[["D11","D13"]],"hexes":["D11","D13"],"revenue":40,"revenue_str":"D11-D13","nodes":["D11-0","D13-0"]}]},{"type":"pass","entity":"3","entity_type":"corporation","id":149,"created_at":1685070695},{"type":"pass","entity":"21","entity_type":"corporation","id":150,"created_at":1685070696},{"type":"run_routes","entity":"21","entity_type":"corporation","id":151,"created_at":1685070698,"routes":[{"train":"3-1","connections":[["P17","P19"],["P19","O20"]],"hexes":["P17","P19","O20"],"revenue":50,"revenue_str":"P17-P19-O20","nodes":["P17-0","P19-0","O20-0"]}]},{"type":"pass","entity":"21","entity_type":"corporation","id":152,"created_at":1685070700},{"type":"pass","entity":"20","entity_type":"corporation","id":153,"created_at":1685070701},{"type":"run_routes","entity":"20","entity_type":"corporation","id":154,"created_at":1685070704,"routes":[{"train":"3-2","connections":[["O20","P19"],["P19","P17"]],"hexes":["O20","P19","P17"],"revenue":50,"revenue_str":"O20-P19-P17","nodes":["O20-0","P19-0","P17-0"]}]},{"type":"pass","entity":"20","entity_type":"corporation","id":155,"created_at":1685070705},{"type":"lay_tile","entity":"GNR","entity_type":"corporation","id":156,"created_at":1685070717,"hex":"D23","tile":"15-0","rotation":1},{"type":"lay_tile","entity":"P11","entity_type":"company","id":157,"created_at":1685070727,"hex":"C20","tile":"8-1","rotation":4},{"type":"lay_tile","entity":"P11","entity_type":"company","id":158,"created_at":1685070798,"hex":"C22","tile":"8-2","rotation":5,"combo_entities":["P7"]},{"type":"end_game","entity":"GNR","entity_type":"corporation","id":159,"created_at":1685070809}],"id":"hs_mlxjskfr_586","players":[{"name":"Player 1","id":0},{"name":"Player 2","id":1},{"name":"Player 3","id":2}],"title":"1822PNW","description":"","min_players":"3","max_players":"3","settings":{"optional_rules":[]},"mode":"hotseat","user":{"id":0,"name":"You"},"created_at":"2023-05-25","loaded":true,"result":{"0":395,"1":710.0,"2":500},"manually_ended":true,"turn":6,"round":"Operating Round","acting":[0],"updated_at":1685070809} \ No newline at end of file diff --git a/public/fixtures/18USA/109372.json b/public/fixtures/18USA/109372.json index f11b8285b8..db247093a0 100644 --- a/public/fixtures/18USA/109372.json +++ b/public/fixtures/18USA/109372.json @@ -1 +1,21394 @@ -{"id":109372,"description":"Fast live","user":{"id":605,"name":"daroj"},"players":[{"id":605,"name":"daroj"},{"id":1463,"name":"GregH87"},{"id":4339,"name":"Mark"},{"id":3763,"name":"Foxrik"}],"min_players":4,"max_players":6,"title":"18USA","settings":{"seed":903360432,"is_async":false,"unlisted":false,"auto_routing":true,"player_order":null,"optional_rules":[]},"user_settings":null,"status":"finished","turn":6,"round":"Acquisition Round","acting":[1463],"result":{"605":11886,"1463":15576,"3763":11246,"4339":13950},"actions":[{"type":"bid","entity":605,"entity_type":"player","id":1,"created_at":1673101201,"company":"P18","price":45},{"type":"bid","entity":1463,"entity_type":"player","id":2,"created_at":1673101252,"company":"P18","price":50},{"type":"bid","entity":4339,"entity_type":"player","id":4,"created_at":1673101266,"company":"P18","price":55},{"type":"pass","entity":3763,"entity_type":"player","id":6,"created_at":1673101437},{"type":"pass","entity":605,"entity_type":"player","id":8,"created_at":1673101443},{"type":"pass","entity":1463,"entity_type":"player","id":9,"created_at":1673101448},{"type":"bid","entity":1463,"entity_type":"player","id":13,"created_at":1673101477,"company":"P21","price":60},{"type":"pass","entity":4339,"entity_type":"player","id":15,"created_at":1673101485},{"type":"pass","entity":3763,"entity_type":"player","id":18,"created_at":1673101531},{"type":"bid","entity":605,"entity_type":"player","id":20,"created_at":1673101555,"company":"P21","price":70},{"type":"pass","entity":1463,"entity_type":"player","id":21,"created_at":1673101576},{"type":"bid","entity":4339,"entity_type":"player","id":22,"created_at":1673101596,"company":"P30","price":85},{"type":"bid","entity":3763,"entity_type":"player","id":23,"created_at":1673101610,"company":"P30","price":90},{"type":"pass","entity":605,"entity_type":"player","id":24,"created_at":1673101630},{"type":"pass","entity":1463,"entity_type":"player","id":25,"created_at":1673101665},{"type":"bid","entity":4339,"entity_type":"player","id":27,"created_at":1673101670,"company":"P30","price":95},{"type":"bid","entity":3763,"entity_type":"player","id":31,"created_at":1673101728,"company":"P30","price":100},{"type":"pass","entity":4339,"entity_type":"player","id":33,"created_at":1673101731},{"type":"bid","entity":3763,"entity_type":"player","id":36,"created_at":1673101769,"company":"P3","price":25},{"type":"pass","entity":605,"entity_type":"player","id":37,"created_at":1673101774},{"type":"bid","entity":1463,"entity_type":"player","id":40,"created_at":1673101849,"company":"P3","price":30},{"type":"pass","entity":4339,"entity_type":"player","id":42,"created_at":1673101852},{"type":"bid","entity":3763,"entity_type":"player","id":44,"created_at":1673101885,"company":"P3","price":35},{"type":"pass","entity":1463,"entity_type":"player","id":47,"created_at":1673101895},{"type":"bid","entity":605,"entity_type":"player","id":49,"created_at":1673101941,"company":"P27","price":65},{"type":"bid","entity":1463,"entity_type":"player","id":52,"created_at":1673101978,"company":"P27","price":70},{"type":"pass","entity":4339,"entity_type":"player","id":55,"created_at":1673102000},{"type":"pass","entity":3763,"entity_type":"player","id":57,"created_at":1673102011},{"type":"pass","entity":605,"entity_type":"player","id":58,"created_at":1673102026},{"type":"bid","entity":1463,"entity_type":"player","id":60,"created_at":1673102073,"company":"P8","price":35},{"type":"pass","entity":4339,"entity_type":"player","id":63,"created_at":1673102087},{"type":"pass","entity":3763,"entity_type":"player","id":64,"created_at":1673102121},{"type":"pass","entity":605,"entity_type":"player","id":65,"created_at":1673102124},{"type":"bid","entity":4339,"entity_type":"player","id":67,"created_at":1673102152,"company":"P24","price":60},{"type":"bid","entity":3763,"entity_type":"player","id":69,"created_at":1673102173,"company":"P24","price":65},{"type":"bid","entity":605,"entity_type":"player","id":70,"created_at":1673102176,"company":"P24","price":70},{"type":"pass","entity":1463,"entity_type":"player","id":72,"created_at":1673102197},{"type":"pass","entity":4339,"entity_type":"player","id":73,"created_at":1673102201},{"type":"pass","entity":3763,"entity_type":"player","id":74,"created_at":1673102222},{"type":"bid","entity":3763,"entity_type":"player","id":78,"created_at":1673102287,"company":"P4","price":35},{"type":"pass","entity":605,"entity_type":"player","id":79,"created_at":1673102291},{"type":"pass","entity":1463,"entity_type":"player","id":80,"created_at":1673102296},{"type":"pass","entity":4339,"entity_type":"player","id":81,"created_at":1673102301},{"type":"bid","entity":605,"entity_type":"player","id":83,"created_at":1673102330,"company":"P11","price":30},{"type":"pass","entity":1463,"entity_type":"player","id":84,"created_at":1673102336},{"type":"pass","entity":4339,"entity_type":"player","id":86,"created_at":1673102350},{"type":"pass","entity":3763,"entity_type":"player","id":87,"created_at":1673102359},{"type":"bid","entity":1463,"entity_type":"player","id":88,"created_at":1673102376,"company":"P22","price":60},{"type":"pass","entity":4339,"entity_type":"player","id":89,"created_at":1673102380},{"type":"pass","entity":3763,"entity_type":"player","id":90,"created_at":1673102406},{"type":"pass","entity":605,"entity_type":"player","id":91,"created_at":1673102422},{"type":"bid","entity":4339,"entity_type":"player","id":92,"created_at":1673102441,"company":"P16","price":40},{"type":"pass","entity":3763,"entity_type":"player","id":93,"created_at":1673102447},{"type":"pass","entity":605,"entity_type":"player","id":94,"created_at":1673102460},{"type":"pass","entity":1463,"entity_type":"player","id":95,"created_at":1673102474},{"type":"bid","entity":3763,"entity_type":"player","id":96,"created_at":1673102482,"company":"P1","price":25},{"type":"pass","entity":605,"entity_type":"player","id":97,"created_at":1673102490},{"type":"pass","entity":1463,"entity_type":"player","id":98,"created_at":1673102518},{"type":"pass","entity":4339,"entity_type":"player","id":99,"created_at":1673102527},{"type":"bid","entity":605,"entity_type":"player","id":100,"created_at":1673102550,"company":"P15","price":50},{"type":"bid","entity":1463,"entity_type":"player","id":101,"created_at":1673102559,"company":"P15","price":55},{"type":"bid","entity":4339,"entity_type":"player","id":102,"created_at":1673102561,"company":"P15","price":60},{"type":"bid","entity":3763,"entity_type":"player","id":103,"created_at":1673102564,"company":"P15","price":65},{"type":"pass","entity":605,"entity_type":"player","id":104,"created_at":1673102567},{"type":"pass","entity":1463,"entity_type":"player","id":105,"created_at":1673102569},{"type":"pass","entity":4339,"entity_type":"player","id":107,"created_at":1673102580},{"type":"bid","entity":1463,"entity_type":"player","id":112,"created_at":1673102612,"company":"P2","price":30},{"type":"pass","entity":4339,"entity_type":"player","id":115,"created_at":1673102634},{"type":"pass","entity":3763,"entity_type":"player","id":116,"created_at":1673102641},{"type":"pass","entity":605,"entity_type":"player","id":121,"created_at":1673102664},{"type":"bid","entity":4339,"entity_type":"player","id":124,"created_at":1673102683,"company":"P5","price":20},{"type":"pass","entity":3763,"entity_type":"player","id":125,"created_at":1673102689},{"type":"pass","entity":605,"entity_type":"player","id":126,"created_at":1673102692},{"type":"pass","entity":1463,"entity_type":"player","id":127,"created_at":1673102701},{"type":"bid","entity":3763,"entity_type":"player","id":128,"created_at":1673102786,"corporation":"NYC","price":148},{"type":"place_token","entity":"NYC","entity_type":"corporation","id":129,"created_at":1673102790,"city":"H8-5-0","slot":0,"tokener":"NYC"},{"type":"pass","entity":605,"entity_type":"player","id":130,"created_at":1673102809},{"type":"pass","entity":1463,"entity_type":"player","id":131,"created_at":1673102849},{"type":"pass","entity":4339,"entity_type":"player","id":132,"created_at":1673102852},{"type":"assign","entity":3763,"entity_type":"player","id":133,"created_at":1673102858,"target":"P3","target_type":"company"},{"type":"assign","entity":3763,"entity_type":"player","id":134,"created_at":1673102860,"target":"P4","target_type":"company"},{"type":"assign","entity":3763,"entity_type":"player","id":135,"created_at":1673102900,"target":"P15","target_type":"company"},{"type":"pass","entity":605,"entity_type":"player","id":140,"created_at":1673102978},{"type":"bid","price":106,"entity":1463,"corporation":"KCS","entity_type":"player","id":141,"user":1463,"created_at":1673103060},{"type":"undo","entity":"KCS","entity_type":"corporation","id":142,"user":1463,"created_at":1673103065},{"type":"bid","entity":1463,"entity_type":"player","id":143,"created_at":1673103072,"corporation":"MP","price":106},{"type":"place_token","entity":"MP","entity_type":"corporation","id":144,"created_at":1673103078,"city":"E17-2-0","slot":0,"tokener":"MP"},{"type":"pass","entity":4339,"entity_type":"player","id":145,"created_at":1673103082},{"type":"pass","entity":3763,"entity_type":"player","id":146,"created_at":1673103106},{"type":"pass","entity":605,"entity_type":"player","id":147,"created_at":1673103109},{"type":"assign","entity":1463,"entity_type":"player","id":148,"created_at":1673103120,"target":"P22","target_type":"company"},{"type":"bid","entity":4339,"entity_type":"player","id":149,"created_at":1673103145,"corporation":"PRR","price":106},{"type":"place_token","entity":"PRR","entity_type":"corporation","id":150,"created_at":1673103158,"city":"X01-0-0","slot":0,"tokener":"PRR"},{"type":"bid","entity":3763,"entity_type":"player","id":151,"created_at":1673103203,"corporation":"PRR","price":180},{"type":"pass","entity":605,"entity_type":"player","id":152,"created_at":1673103207},{"type":"pass","entity":1463,"entity_type":"player","id":153,"created_at":1673103213},{"type":"pass","entity":4339,"entity_type":"player","id":154,"created_at":1673103221},{"type":"assign","entity":3763,"entity_type":"player","id":155,"created_at":1673103225,"target":"P30","target_type":"company"},{"type":"assign","entity":3763,"entity_type":"player","id":156,"created_at":1673103226,"target":"P1","target_type":"company"},{"type":"pass","entity":3763,"entity_type":"player","id":157,"created_at":1673103249},{"type":"pass","entity":605,"entity_type":"player","id":158,"created_at":1673103268},{"type":"bid","entity":1463,"entity_type":"player","id":159,"created_at":1673103425,"corporation":"SR","price":156},{"type":"place_token","entity":"SR","entity_type":"corporation","id":160,"created_at":1673103428,"city":"F20-3-0","slot":0,"tokener":"SR"},{"type":"pass","entity":4339,"entity_type":"player","id":161,"created_at":1673103435},{"type":"pass","entity":605,"entity_type":"player","id":162,"created_at":1673103443},{"type":"assign","entity":1463,"entity_type":"player","id":163,"created_at":1673103447,"target":"P27","target_type":"company"},{"type":"assign","entity":1463,"entity_type":"player","id":164,"created_at":1673103449,"target":"P2","target_type":"company"},{"type":"bid","entity":4339,"entity_type":"player","id":165,"created_at":1673103476,"corporation":"B&O","price":106},{"type":"place_token","entity":"B&O","entity_type":"corporation","id":166,"created_at":1673103482,"city":"D28-0-0","slot":0,"tokener":"B&O"},{"type":"pass","entity":605,"entity_type":"player","id":167,"created_at":1673103498},{"type":"pass","entity":1463,"entity_type":"player","id":168,"created_at":1673103528},{"type":"assign","entity":4339,"entity_type":"player","id":169,"created_at":1673103533,"target":"P16","target_type":"company"},{"type":"pass","entity":4339,"entity_type":"player","id":170,"created_at":1673103538},{"type":"pass","entity":3763,"entity_type":"player","id":171,"created_at":1673103542},{"type":"bid","entity":605,"entity_type":"player","id":173,"created_at":1673103625,"corporation":"UP","price":112},{"type":"place_token","entity":"UP","entity_type":"corporation","id":174,"created_at":1673103629,"auto_actions":[{"type":"pass","entity":1463,"entity_type":"player","created_at":1673103629}],"city":"D14-1-0","slot":0,"tokener":"UP"},{"type":"pass","entity":4339,"entity_type":"player","id":175,"created_at":1673103636},{"type":"assign","entity":605,"entity_type":"player","id":176,"created_at":1673103642,"target":"P21","target_type":"company"},{"type":"bid","entity":1463,"entity_type":"player","id":177,"created_at":1673103702,"corporation":"C&O","price":106},{"type":"place_token","entity":"C&O","entity_type":"corporation","id":178,"created_at":1673103785,"city":"C29-7-0","slot":0,"tokener":"C&O"},{"type":"pass","entity":4339,"entity_type":"player","id":179,"created_at":1673103795},{"type":"pass","entity":605,"entity_type":"player","id":180,"created_at":1673103826},{"type":"assign","entity":1463,"entity_type":"player","id":181,"created_at":1673103833,"target":"P8","target_type":"company"},{"type":"bid","entity":4339,"entity_type":"player","id":182,"created_at":1673103900,"corporation":"MKT","price":132},{"type":"place_token","entity":"MKT","entity_type":"corporation","id":183,"created_at":1673103902,"city":"E23-9-0","slot":0,"tokener":"MKT"},{"type":"pass","entity":605,"entity_type":"player","id":184,"created_at":1673103925},{"type":"assign","entity":4339,"entity_type":"player","id":185,"created_at":1673103929,"target":"P18","target_type":"company"},{"type":"assign","entity":4339,"entity_type":"player","id":186,"created_at":1673103930,"target":"P5","target_type":"company"},{"type":"pass","entity":3763,"entity_type":"player","id":187,"created_at":1673103935},{"type":"bid","entity":605,"entity_type":"player","id":192,"created_at":1673104174,"corporation":"SP","price":240},{"type":"place_token","entity":"SP","entity_type":"corporation","id":193,"created_at":1673104177,"city":"X02-0-0","slot":0,"tokener":"SP"},{"type":"assign","entity":605,"entity_type":"player","id":194,"created_at":1673104179,"target":"P24","target_type":"company"},{"type":"assign","entity":605,"entity_type":"player","id":195,"created_at":1673104180,"target":"P11","target_type":"company"},{"type":"pass","entity":1463,"entity_type":"player","id":196,"created_at":1673104208},{"type":"bid","entity":4339,"entity_type":"player","id":203,"created_at":1673104398,"corporation":"MILW","price":112},{"type":"place_token","entity":"MILW","entity_type":"corporation","id":204,"created_at":1673104401,"city":"D24-8-0","slot":0,"tokener":"MILW"},{"type":"pass","entity":3763,"entity_type":"player","id":205,"created_at":1673104439},{"type":"pass","entity":605,"entity_type":"player","id":206,"created_at":1673104445},{"type":"pass","entity":1463,"entity_type":"player","id":207,"created_at":1673104483},{"type":"program_share_pass","entity":4339,"entity_type":"player","id":208,"created_at":1673104488,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673104484}],"unconditional":false,"indefinite":false},{"type":"lay_tile","entity":"SP","entity_type":"corporation","id":209,"created_at":1673104500,"hex":"C19","tile":"7ore10-0","rotation":5},{"type":"lay_tile","entity":"SP","entity_type":"corporation","id":210,"created_at":1673104503,"hex":"D18","tile":"8-0","rotation":1},{"type":"take_loan","entity":"SP","entity_type":"corporation","id":211,"created_at":1673104521,"loan":0},{"type":"take_loan","entity":"SP","entity_type":"corporation","id":212,"created_at":1673104522,"loan":1},{"type":"buy_train","entity":"SP","entity_type":"corporation","id":213,"created_at":1673104524,"train":"2-0","price":100,"variant":"2"},{"type":"buy_train","entity":"SP","entity_type":"corporation","id":214,"created_at":1673104525,"train":"2-1","price":100,"variant":"2"},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":215,"created_at":1673104540,"hex":"H20","tile":"6-0","rotation":4},{"type":"pass","entity":"PRR","entity_type":"corporation","id":216,"created_at":1673104550},{"type":"take_loan","entity":"PRR","entity_type":"corporation","id":217,"created_at":1673104555,"loan":2},{"type":"take_loan","entity":"PRR","entity_type":"corporation","id":218,"created_at":1673104556,"loan":3},{"type":"buy_train","entity":"PRR","entity_type":"corporation","id":219,"created_at":1673104558,"train":"2-2","price":100,"variant":"2"},{"type":"buy_train","entity":"PRR","entity_type":"corporation","id":220,"created_at":1673104559,"train":"2-3","price":100,"variant":"2"},{"type":"pass","entity":"PRR","entity_type":"corporation","id":221,"created_at":1673104562},{"hex":"F20","tile":"5-0","type":"lay_tile","entity":"SR","rotation":1,"entity_type":"corporation","id":222,"user":1463,"created_at":1673104612},{"type":"assign","entity":"P2","target":"F20","entity_type":"company","target_type":"hex","id":223,"user":1463,"created_at":1673104678},{"type":"undo","entity":"SR","entity_type":"corporation","id":224,"user":1463,"created_at":1673104747},{"type":"undo","entity":"SR","entity_type":"corporation","id":225,"user":1463,"created_at":1673104749},{"type":"lay_tile","entity":"SR","entity_type":"corporation","id":226,"created_at":1673104863,"hex":"F20","tile":"57-0","rotation":1},{"type":"assign","entity":"P2","entity_type":"company","id":227,"created_at":1673104873,"target":"F20","target_type":"hex"},{"type":"take_loan","entity":"SR","entity_type":"corporation","id":232,"created_at":1673104938,"loan":4},{"type":"take_loan","entity":"SR","entity_type":"corporation","id":233,"created_at":1673104939,"loan":5},{"type":"pass","entity":"SR","entity_type":"corporation","id":234,"created_at":1673104941},{"type":"buy_train","entity":"SR","entity_type":"corporation","id":235,"created_at":1673104942,"train":"2-4","price":100,"variant":"2"},{"type":"buy_train","entity":"SR","entity_type":"corporation","id":236,"created_at":1673104943,"train":"2-5","price":100,"variant":"2"},{"type":"pass","entity":"SR","entity_type":"corporation","id":238,"created_at":1673104956},{"type":"lay_tile","entity":"NYC","entity_type":"corporation","id":239,"created_at":1673104978,"hex":"H8","tile":"6-1","rotation":5},{"type":"take_loan","entity":"NYC","entity_type":"corporation","id":240,"created_at":1673105032,"loan":6},{"type":"lay_tile","entity":"NYC","entity_type":"corporation","id":241,"created_at":1673105036,"hex":"H6","tile":"9ore10-0","rotation":1},{"type":"take_loan","entity":"NYC","entity_type":"corporation","id":242,"created_at":1673105042,"loan":7},{"type":"buy_train","entity":"NYC","entity_type":"corporation","id":243,"created_at":1673105043,"train":"2-6","price":100,"variant":"2"},{"type":"pass","entity":"NYC","entity_type":"corporation","id":244,"user":3763,"created_at":1673105046},{"type":"undo","entity":"NYC","entity_type":"corporation","id":245,"user":3763,"created_at":1673105058},{"type":"take_loan","entity":"NYC","entity_type":"corporation","id":246,"created_at":1673105067,"loan":8},{"type":"buy_train","entity":"NYC","entity_type":"corporation","id":247,"created_at":1673105069,"train":"2-7","price":100,"variant":"2"},{"type":"pass","entity":"NYC","entity_type":"corporation","id":248,"created_at":1673105080},{"type":"take_loan","entity":"MKT","entity_type":"corporation","id":249,"created_at":1673105088,"loan":9},{"type":"take_loan","entity":"MKT","entity_type":"corporation","id":250,"created_at":1673105088,"loan":10},{"type":"lay_tile","entity":"MKT","entity_type":"corporation","id":251,"created_at":1673105104,"hex":"E23","tile":"6-2","rotation":4},{"type":"lay_tile","entity":"S8","entity_type":"company","id":252,"created_at":1673105110,"hex":"E23","tile":"15-0","rotation":3},{"type":"lay_tile","entity":"MKT","entity_type":"corporation","id":253,"created_at":1673105122,"hex":"F22","tile":"8coal-0","rotation":1},{"type":"buy_train","entity":"MKT","entity_type":"corporation","id":254,"created_at":1673105129,"train":"2-8","price":100,"variant":"2"},{"type":"buy_train","entity":"MKT","entity_type":"corporation","id":255,"created_at":1673105130,"train":"2-9","price":100,"variant":"2"},{"type":"pass","entity":"MKT","entity_type":"corporation","id":256,"created_at":1673105132},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":257,"created_at":1673105237,"hex":"D14","tile":"5-0","rotation":3},{"hex":"D16","tile":"9ore10-1","type":"lay_tile","entity":"UP","rotation":1,"entity_type":"corporation","id":258,"user":605,"created_at":1673105244},{"loan":11,"type":"take_loan","entity":"UP","entity_type":"corporation","id":259,"user":605,"created_at":1673105249},{"type":"buy_train","price":100,"train":"2-10","entity":"UP","variant":"2","entity_type":"corporation","id":260,"user":605,"created_at":1673105252},{"type":"pass","entity":"UP","entity_type":"corporation","id":261,"user":605,"created_at":1673105267},{"type":"pass","entity":"UP","entity_type":"corporation","id":262,"user":605,"created_at":1673105275},{"type":"undo","entity":"MILW","action_id":257,"entity_type":"corporation","id":267,"user":605,"created_at":1673105320},{"type":"assign","entity":"P21","entity_type":"company","id":268,"created_at":1673105323,"target":"D14","target_type":"hex"},{"type":"pass","entity":"UP","entity_type":"corporation","id":275,"user":605,"created_at":1673105385},{"loan":11,"type":"take_loan","entity":"UP","entity_type":"corporation","id":276,"user":605,"created_at":1673105387},{"type":"buy_train","price":100,"train":"2-10","entity":"UP","variant":"2","entity_type":"corporation","id":277,"user":605,"created_at":1673105388},{"type":"pass","entity":"UP","entity_type":"corporation","id":279,"user":605,"created_at":1673105396},{"type":"undo","entity":"UP","action_id":268,"entity_type":"corporation","id":283,"user":605,"created_at":1673105458},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":284,"created_at":1673105461,"hex":"D16","tile":"9ore10-1","rotation":1},{"type":"take_loan","entity":"UP","entity_type":"corporation","id":285,"created_at":1673105464,"loan":11},{"type":"buy_train","entity":"UP","entity_type":"corporation","id":286,"created_at":1673105465,"train":"2-10","price":100,"variant":"2"},{"type":"pass","entity":"UP","entity_type":"corporation","id":287,"created_at":1673105467},{"type":"pass","entity":"UP","entity_type":"corporation","id":288,"created_at":1673105469},{"type":"take_loan","entity":"MILW","entity_type":"corporation","id":289,"created_at":1673105478,"loan":12},{"type":"take_loan","entity":"MILW","entity_type":"corporation","id":290,"created_at":1673105479,"loan":13},{"type":"lay_tile","entity":"MILW","entity_type":"corporation","id":291,"created_at":1673105494,"hex":"D24","tile":"57-1","rotation":1},{"type":"lay_tile","entity":"MILW","entity_type":"corporation","id":292,"created_at":1673105502,"hex":"D22","tile":"9-0","rotation":1},{"type":"buy_train","entity":"MILW","entity_type":"corporation","id":294,"created_at":1673105506,"train":"2-11","price":100,"variant":"2"},{"type":"buy_train","entity":"MILW","entity_type":"corporation","id":295,"created_at":1673105507,"train":"2-12","price":100,"variant":"2"},{"type":"pass","entity":"MILW","entity_type":"corporation","id":296,"created_at":1673105508},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":298,"created_at":1673105542,"hex":"E17","tile":"5-1","rotation":4},{"type":"assign","entity":"P22","entity_type":"company","id":300,"created_at":1673105551,"target":"E17","target_type":"hex"},{"type":"pass","entity":"MP","entity_type":"corporation","id":303,"created_at":1673105719},{"type":"take_loan","entity":"MP","entity_type":"corporation","id":304,"created_at":1673105721,"loan":14},{"type":"take_loan","entity":"MP","entity_type":"corporation","id":305,"created_at":1673105722,"loan":15},{"type":"buy_train","entity":"MP","entity_type":"corporation","id":306,"created_at":1673105724,"train":"2-13","price":100,"variant":"2"},{"type":"buy_train","entity":"MP","entity_type":"corporation","id":307,"created_at":1673105725,"train":"2-14","price":100,"variant":"2"},{"type":"pass","entity":"MP","entity_type":"corporation","id":308,"created_at":1673105736},{"type":"lay_tile","entity":"B&O","entity_type":"corporation","id":309,"created_at":1673105743,"hex":"E27","tile":"8-1","rotation":1},{"type":"take_loan","entity":"B&O","entity_type":"corporation","id":310,"created_at":1673105746,"loan":16},{"type":"take_loan","entity":"B&O","entity_type":"corporation","id":311,"created_at":1673105746,"loan":17},{"type":"pass","entity":"B&O","entity_type":"corporation","id":312,"created_at":1673105748},{"type":"buy_train","entity":"B&O","entity_type":"corporation","id":313,"created_at":1673105750,"train":"2-15","price":100,"variant":"2"},{"type":"buy_train","entity":"B&O","entity_type":"corporation","id":314,"created_at":1673105751,"train":"2-16","price":100,"variant":"2"},{"type":"pass","entity":"B&O","entity_type":"corporation","id":315,"created_at":1673105753},{"type":"lay_tile","entity":"C&O","entity_type":"corporation","id":316,"created_at":1673105765,"hex":"C29","tile":"57-2","rotation":0},{"type":"take_loan","entity":"C&O","entity_type":"corporation","id":317,"created_at":1673105768,"loan":18},{"type":"take_loan","entity":"C&O","entity_type":"corporation","id":318,"created_at":1673105773,"loan":19},{"type":"pass","entity":"C&O","entity_type":"corporation","id":319,"created_at":1673105776},{"type":"buy_train","entity":"C&O","entity_type":"corporation","id":320,"created_at":1673105778,"train":"2-17","price":100,"variant":"2"},{"type":"buy_train","entity":"C&O","entity_type":"corporation","id":321,"created_at":1673105779,"train":"2-18","price":100,"variant":"2"},{"type":"pass","entity":"C&O","entity_type":"corporation","id":322,"created_at":1673105781},{"type":"pass","entity":"SP","entity_type":"corporation","id":323,"created_at":1673105787},{"type":"pass","entity":"PRR","entity_type":"corporation","id":324,"created_at":1673105790},{"type":"program_share_pass","entity":605,"entity_type":"player","id":325,"created_at":1673105791,"unconditional":false,"indefinite":false},{"type":"pass","entity":"SR","entity_type":"corporation","id":326,"created_at":1673105799},{"type":"pass","entity":"NYC","entity_type":"corporation","id":327,"created_at":1673105803},{"type":"program_merger_pass","entity":4339,"entity_type":"player","id":328,"created_at":1673105813,"auto_actions":[{"type":"pass","entity":"MKT","entity_type":"corporation","created_at":1673105809}],"corporations_by_round":{"AR":["B&O","MILW","MKT"],"MR":["B&O","MILW","MKT"]},"options":[]},{"type":"program_merger_pass","entity":3763,"entity_type":"player","id":329,"created_at":1673105823,"corporations_by_round":{"AR":["NYC","PRR"],"MR":["NYC","PRR"]},"options":["disable_others"]},{"type":"pass","entity":"UP","entity_type":"corporation","id":330,"created_at":1673105824,"auto_actions":[{"type":"pass","entity":"MILW","entity_type":"corporation","created_at":1673105824}]},{"type":"pass","entity":"MP","entity_type":"corporation","id":331,"created_at":1673105828,"auto_actions":[{"type":"pass","entity":"B&O","entity_type":"corporation","created_at":1673105828}]},{"type":"pass","entity":"C&O","entity_type":"corporation","id":332,"created_at":1673105830},{"type":"lay_tile","entity":"SP","entity_type":"corporation","id":333,"created_at":1673105838,"hex":"E19","tile":"8-2","rotation":1},{"type":"pass","entity":"SP","entity_type":"corporation","id":334,"created_at":1673105840},{"type":"run_routes","entity":"SP","entity_type":"corporation","id":335,"created_at":1673105842,"routes":[{"train":"2-1","connections":[["D20","E19","E17"]],"hexes":["D20","E17"],"revenue":60,"revenue_str":"D20-E17","nodes":["D20-0","E17-0"]},{"train":"2-0","connections":[["D20","C19","D18","D16","D14"]],"hexes":["D20","D14"],"revenue":80,"revenue_str":"D20-D14","nodes":["D20-0","D14-0"]}]},{"type":"dividend","entity":"SP","entity_type":"corporation","id":336,"created_at":1673105847,"kind":"half"},{"type":"buy_train","entity":"SP","entity_type":"corporation","id":337,"created_at":1673105852,"train":"2+-0","price":100,"variant":"2+"},{"type":"pass","entity":"SP","entity_type":"corporation","id":338,"created_at":1673105857},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":339,"created_at":1673105866,"hex":"I23","tile":"9-1","rotation":2},{"type":"pass","entity":"PRR","entity_type":"corporation","id":340,"created_at":1673105868},{"type":"choose","entity":"PRR","entity_type":"corporation","id":341,"created_at":1673105884,"choice":"0-0"},{"type":"run_routes","entity":"PRR","entity_type":"corporation","id":342,"created_at":1673105895,"routes":[{"train":"2-3","connections":[["H22","I23","J24"]],"hexes":["H22","J24"],"revenue":70,"revenue_str":"H22-J24","nodes":["H22-0","J24-0"]},{"train":"2-2","connections":[["H22","H20"],["H20","I19"]],"hexes":["H22","H20","I19"],"revenue":80,"revenue_str":"H22-H20-I19","nodes":["H22-0","H20-0","I19-0"]}]},{"type":"dividend","entity":"PRR","entity_type":"corporation","id":343,"created_at":1673105906,"kind":"withhold"},{"type":"buy_train","entity":"PRR","entity_type":"corporation","id":344,"created_at":1673105908,"train":"2+-1","price":100,"variant":"2+"},{"type":"pass","entity":"PRR","entity_type":"corporation","id":345,"created_at":1673105913},{"type":"lay_tile","entity":"P27","entity_type":"company","id":346,"created_at":1673106020,"hex":"F18","tile":"X20-0","rotation":1},{"type":"run_routes","entity":"SR","entity_type":"corporation","id":347,"created_at":1673106041,"routes":[{"train":"2-4","connections":[["F20","F22","E23"]],"hexes":["E23","F20"],"revenue":70,"revenue_str":"E23-F20","nodes":["F20-0","E23-0"]},{"train":"2-5","connections":[["F20","F18"]],"hexes":["F18","F20"],"revenue":60,"revenue_str":"F18-F20","nodes":["F20-0","F18-0"]}]},{"kind":"half","type":"dividend","entity":"SR","entity_type":"corporation","id":348,"user":1463,"created_at":1673106094},{"type":"pass","entity":"SR","entity_type":"corporation","id":349,"user":1463,"created_at":1673106098},{"type":"undo","entity":"NYC","entity_type":"corporation","id":350,"user":1463,"created_at":1673106103},{"type":"undo","entity":"SR","entity_type":"corporation","id":351,"user":1463,"created_at":1673106142},{"type":"dividend","entity":"SR","entity_type":"corporation","id":352,"created_at":1673106144,"kind":"withhold"},{"type":"buy_train","entity":"SR","entity_type":"corporation","id":353,"created_at":1673106148,"train":"2+-2","price":100,"variant":"2+"},{"type":"pass","entity":"SR","entity_type":"corporation","id":356,"created_at":1673106207},{"type":"lay_tile","entity":"NYC","entity_type":"corporation","id":357,"created_at":1673106215,"hex":"H4","tile":"7oil-0","rotation":4},{"type":"pass","entity":"NYC","entity_type":"corporation","id":358,"created_at":1673106217},{"type":"run_routes","entity":"NYC","entity_type":"corporation","id":359,"created_at":1673106221,"routes":[{"train":"2-7","connections":[["H8","I9"]],"hexes":["H8","I9"],"revenue":60,"revenue_str":"H8-I9","nodes":["H8-0","I9-0"]},{"train":"2-6","connections":[["H8","H6","H4","I5"]],"hexes":["H8","I5"],"revenue":80,"revenue_str":"H8-I5","nodes":["H8-0","I5-0"]}]},{"kind":"half","type":"dividend","entity":"NYC","entity_type":"corporation","id":360,"user":3763,"created_at":1673106249},{"type":"undo","entity":"NYC","entity_type":"corporation","id":361,"user":3763,"created_at":1673106274},{"type":"dividend","entity":"NYC","entity_type":"corporation","id":362,"created_at":1673106302,"kind":"payout"},{"type":"pass","entity":"NYC","entity_type":"corporation","id":363,"created_at":1673106307},{"type":"lay_tile","entity":"MKT","entity_type":"corporation","id":364,"created_at":1673106318,"hex":"E25","tile":"9coal-0","rotation":1},{"type":"run_routes","entity":"MKT","entity_type":"corporation","id":365,"created_at":1673106334,"routes":[{"train":"2-8","connections":[["E23","F22","F20"]],"hexes":["F20","E23"],"revenue":70,"revenue_str":"F20-E23","nodes":["E23-0","F20-0"]},{"train":"2-9","connections":[["E23","E25","E27","D28"]],"hexes":["D28","E23"],"revenue":80,"revenue_str":"D28-E23","nodes":["E23-0","D28-0"]}]},{"type":"dividend","entity":"MKT","entity_type":"corporation","id":366,"created_at":1673106337,"kind":"withhold"},{"type":"buy_train","entity":"MKT","entity_type":"corporation","id":367,"created_at":1673106339,"train":"2+-3","price":100,"variant":"2+"},{"type":"pass","entity":"MKT","entity_type":"corporation","id":368,"created_at":1673106342},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":372,"created_at":1673106394,"hex":"C15","tile":"9-2","rotation":0},{"type":"pass","entity":"UP","entity_type":"corporation","id":373,"created_at":1673106396},{"type":"run_routes","entity":"UP","entity_type":"corporation","id":374,"created_at":1673106399,"routes":[{"train":"2-10","connections":[["D14","D16","D18","C19","D20"]],"hexes":["D14","D20"],"revenue":80,"revenue_str":"D14-D20","nodes":["D14-0","D20-0"]}]},{"type":"dividend","entity":"UP","entity_type":"corporation","id":375,"created_at":1673106406,"kind":"half"},{"type":"pass","entity":"UP","entity_type":"corporation","id":376,"created_at":1673106413},{"type":"pass","entity":"UP","entity_type":"corporation","id":377,"created_at":1673106425},{"type":"lay_tile","entity":"MILW","entity_type":"corporation","id":378,"created_at":1673106438,"hex":"D26","tile":"9-3","rotation":1},{"type":"pass","entity":"MILW","entity_type":"corporation","id":379,"created_at":1673106440},{"type":"run_routes","entity":"MILW","entity_type":"corporation","id":380,"created_at":1673106451,"routes":[{"train":"2-11","connections":[["D24","D26","D28"]],"hexes":["D28","D24"],"revenue":60,"revenue_str":"D28-D24","nodes":["D24-0","D28-1"]},{"train":"2-12","connections":[["D24","D22","D20"]],"hexes":["D20","D24"],"revenue":50,"revenue_str":"D20-D24","nodes":["D24-0","D20-0"]}]},{"type":"dividend","entity":"MILW","entity_type":"corporation","id":381,"created_at":1673106461,"kind":"payout"},{"type":"pass","entity":"MILW","entity_type":"corporation","id":382,"created_at":1673106466},{"type":"assign","entity":"P22","entity_type":"company","id":383,"created_at":1673106472,"target":"F18","target_type":"hex"},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":384,"created_at":1673106556,"hex":"G19","tile":"8-3","rotation":0},{"type":"run_routes","entity":"MP","entity_type":"corporation","id":385,"created_at":1673106569,"routes":[{"train":"2-13","connections":[["F18","E17"]],"hexes":["E17","F18"],"revenue":60,"revenue_str":"E17-F18","nodes":["F18-0","E17-0"]},{"train":"2-14","connections":[["E17","E19","D20"]],"hexes":["D20","E17"],"revenue":60,"revenue_str":"D20-E17","nodes":["E17-0","D20-0"]}]},{"type":"dividend","entity":"MP","entity_type":"corporation","id":386,"created_at":1673106577,"kind":"half"},{"type":"pass","entity":"MP","entity_type":"corporation","id":388,"created_at":1673106587},{"type":"pass","entity":"B&O","entity_type":"corporation","id":390,"created_at":1673106602},{"type":"run_routes","entity":"B&O","entity_type":"corporation","id":391,"created_at":1673106612,"routes":[{"train":"2-15","connections":[["D28","E27","E25","E23"]],"hexes":["E23","D28"],"revenue":80,"revenue_str":"E23-D28","nodes":["D28-0","E23-0"]},{"train":"2-16","connections":[["D28","C29"]],"hexes":["C29","D28"],"revenue":60,"revenue_str":"C29-D28","nodes":["D28-0","C29-0"]}]},{"type":"dividend","entity":"B&O","entity_type":"corporation","id":392,"created_at":1673106617,"kind":"half"},{"type":"pass","entity":"B&O","entity_type":"corporation","id":393,"created_at":1673106620},{"type":"lay_tile","entity":"C&O","entity_type":"corporation","id":394,"created_at":1673106627,"hex":"B28","tile":"8-4","rotation":2},{"type":"assign","entity":"P8","entity_type":"company","id":395,"created_at":1673106631,"target":"A27","target_type":"hex"},{"type":"pass","entity":"C&O","entity_type":"corporation","id":396,"created_at":1673106634},{"type":"run_routes","entity":"C&O","entity_type":"corporation","id":397,"created_at":1673106642,"routes":[{"train":"2-17","connections":[["C29","B30","B28","A27"]],"hexes":["A27","C29"],"revenue":60,"revenue_str":"A27-C29","nodes":["C29-0","A27-0"]},{"train":"2-18","connections":[["C29","D28"]],"hexes":["D28","C29"],"revenue":60,"revenue_str":"D28-C29","nodes":["C29-0","D28-0"]}]},{"type":"dividend","entity":"C&O","entity_type":"corporation","id":398,"created_at":1673106644,"kind":"payout"},{"type":"pass","entity":"C&O","entity_type":"corporation","id":399,"created_at":1673106649},{"type":"pass","entity":"SP","entity_type":"corporation","id":400,"created_at":1673106654},{"type":"program_share_pass","entity":605,"entity_type":"player","id":401,"created_at":1673106657,"unconditional":false,"indefinite":false},{"type":"program_merger_pass","entity":605,"entity_type":"player","id":402,"created_at":1673106658,"corporations_by_round":{"AR":["SP","UP"],"MR":["SP","UP"]},"options":["disable_others"]},{"type":"pass","entity":"PRR","entity_type":"corporation","id":403,"created_at":1673106672},{"type":"pass","entity":"NYC","entity_type":"corporation","id":404,"created_at":1673106674},{"type":"pass","entity":"SR","entity_type":"corporation","id":405,"created_at":1673106679},{"type":"program_merger_pass","entity":3763,"entity_type":"player","id":406,"created_at":1673106683,"corporations_by_round":{"AR":["NYC","PRR"],"MR":["NYC","PRR"]},"options":["disable_others"]},{"type":"program_merger_pass","entity":4339,"entity_type":"player","id":407,"created_at":1673106700,"auto_actions":[{"type":"pass","entity":"MILW","entity_type":"corporation","created_at":1673106696},{"type":"pass","entity":"UP","entity_type":"corporation","created_at":1673106696}],"corporations_by_round":{"AR":["B&O","MILW","MKT"],"MR":["B&O","MILW","MKT"]},"options":[]},{"type":"pass","entity":"C&O","entity_type":"corporation","id":408,"created_at":1673106708,"auto_actions":[{"type":"pass","entity":"MKT","entity_type":"corporation","created_at":1673106708},{"type":"pass","entity":"B&O","entity_type":"corporation","created_at":1673106708}]},{"type":"pass","entity":"MP","entity_type":"corporation","id":409,"created_at":1673106711},{"type":"bid","entity":3763,"entity_type":"player","id":410,"created_at":1673106753,"corporation":"TP","price":140},{"type":"place_token","entity":"TP","entity_type":"corporation","id":411,"created_at":1673106762,"city":"15-0-0","slot":1,"tokener":"TP"},{"type":"bid","entity":1463,"entity_type":"player","id":412,"created_at":1673106896,"corporation":"TP","price":180},{"type":"choose","entity":1463,"entity_type":"player","id":413,"created_at":1673106898,"choice":2},{"type":"bid","price":100,"entity":605,"corporation":"DRG","entity_type":"player","id":414,"user":605,"created_at":1673106956},{"type":"undo","entity":"DRG","entity_type":"corporation","id":415,"user":605,"created_at":1673106964},{"type":"bid","entity":605,"entity_type":"player","id":416,"created_at":1673106973,"corporation":"N&W","price":112},{"type":"place_token","entity":"N&W","entity_type":"corporation","id":417,"created_at":1673106983,"city":"D28-0-1","slot":0,"tokener":"N&W"},{"type":"bid","entity":4339,"entity_type":"player","id":418,"created_at":1673106999,"corporation":"N&W","price":180},{"type":"choose","entity":4339,"entity_type":"player","id":419,"created_at":1673107002,"choice":2},{"type":"pass","entity":1463,"entity_type":"player","id":420,"created_at":1673107013},{"type":"pass","entity":4339,"entity_type":"player","id":421,"created_at":1673107019},{"type":"bid","entity":3763,"entity_type":"player","id":422,"created_at":1673107076,"corporation":"KCS","price":140},{"type":"place_token","entity":"KCS","entity_type":"corporation","id":423,"created_at":1673107078,"city":"X06-0-0","slot":0,"tokener":"KCS"},{"type":"choose","entity":3763,"entity_type":"player","id":424,"created_at":1673107081,"choice":2},{"type":"bid","entity":605,"entity_type":"player","id":425,"created_at":1673107093,"corporation":"ATSF","price":112},{"type":"place_token","entity":"ATSF","entity_type":"corporation","id":426,"created_at":1673107095,"city":"6-0-0","slot":0,"tokener":"ATSF"},{"type":"choose","entity":605,"entity_type":"player","id":427,"created_at":1673107119,"choice":2},{"type":"pass","entity":1463,"entity_type":"player","id":428,"created_at":1673107125},{"type":"program_share_pass","entity":4339,"entity_type":"player","id":429,"created_at":1673107131,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673107127}],"unconditional":false,"indefinite":false},{"type":"pass","entity":3763,"entity_type":"player","id":430,"created_at":1673107133},{"type":"pass","entity":605,"entity_type":"player","id":431,"created_at":1673107142},{"type":"lay_tile","entity":"SP","entity_type":"corporation","id":432,"created_at":1673107148,"hex":"D20","tile":"592-0","rotation":0},{"type":"run_routes","entity":"SP","entity_type":"corporation","id":433,"created_at":1673107156,"routes":[{"train":"2+-0","connections":[["D20","D22","D24"]],"hexes":["D20","D24"],"revenue":70,"revenue_str":"D20-D24","nodes":["D20-0","D24-0"]},{"train":"2-1","connections":[["D20","E19","E17"]],"hexes":["D20","E17"],"revenue":80,"revenue_str":"D20-E17","nodes":["D20-0","E17-0"]},{"train":"2-0","connections":[["D20","C19","D18","D16","D14"]],"hexes":["D20","D14"],"revenue":100,"revenue_str":"D20-D14","nodes":["D20-0","D14-0"]}]},{"type":"dividend","entity":"SP","entity_type":"corporation","id":434,"created_at":1673107160,"kind":"withhold"},{"type":"pass","entity":"SP","entity_type":"corporation","id":435,"created_at":1673107163},{"type":"payoff_loan","entity":"SP","entity_type":"corporation","id":436,"created_at":1673107164,"loan":0},{"type":"payoff_loan","entity":"SP","entity_type":"corporation","id":437,"created_at":1673107165,"loan":1},{"type":"pass","entity":"SP","entity_type":"corporation","id":438,"created_at":1673107166},{"type":"lay_tile","entity":"TP","entity_type":"corporation","id":439,"created_at":1673107205,"hex":"F20","tile":"619-0","rotation":1},{"type":"pass","entity":"TP","entity_type":"corporation","id":441,"user":1463,"created_at":1673107217},{"type":"undo","entity":"TP","entity_type":"corporation","id":442,"user":1463,"created_at":1673107229},{"type":"pass","entity":"TP","entity_type":"corporation","id":443,"created_at":1673107471},{"type":"take_loan","entity":"TP","entity_type":"corporation","id":444,"created_at":1673107475,"loan":20},{"type":"buy_train","entity":"TP","entity_type":"corporation","id":445,"created_at":1673107478,"train":"3-0","price":250,"variant":"3"},{"type":"pass","entity":"TP","entity_type":"corporation","id":446,"created_at":1673107481},{"type":"pass","entity":"TP","entity_type":"corporation","id":447,"created_at":1673107486},{"type":"lay_tile","entity":"N&W","entity_type":"corporation","id":448,"created_at":1673107495,"hex":"D28","tile":"X12-0","rotation":0},{"type":"pass","entity":"N&W","entity_type":"corporation","id":449,"created_at":1673107498},{"type":"take_loan","entity":"N&W","entity_type":"corporation","id":450,"created_at":1673107500,"loan":21},{"type":"buy_train","entity":"N&W","entity_type":"corporation","id":451,"created_at":1673107503,"train":"3-1","price":250,"variant":"3"},{"type":"pass","entity":"N&W","entity_type":"corporation","id":452,"created_at":1673107505},{"type":"pass","entity":"N&W","entity_type":"corporation","id":453,"created_at":1673107510},{"type":"lay_tile","entity":"KCS","entity_type":"corporation","id":454,"created_at":1673107528,"hex":"H20","tile":"15-1","rotation":3},{"type":"take_loan","entity":"KCS","entity_type":"corporation","id":455,"created_at":1673107537,"loan":22},{"type":"take_loan","entity":"KCS","entity_type":"corporation","id":456,"created_at":1673107539,"loan":23},{"type":"pass","entity":"KCS","entity_type":"corporation","id":457,"created_at":1673107541},{"type":"buy_train","entity":"KCS","entity_type":"corporation","id":458,"created_at":1673107551,"train":"3-2","price":250,"variant":"3"},{"type":"buy_train","entity":"KCS","entity_type":"corporation","id":459,"created_at":1673107663,"train":"2-2","price":10},{"type":"pass","entity":"KCS","entity_type":"corporation","id":460,"created_at":1673107669},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":461,"created_at":1673107674,"hex":"H22","tile":"592-1","rotation":1},{"type":"pass","entity":"PRR","entity_type":"corporation","id":462,"created_at":1673107679},{"type":"choose","entity":"PRR","entity_type":"corporation","id":463,"created_at":1673107684,"choice":"0-0"},{"type":"run_routes","entity":"PRR","entity_type":"corporation","id":464,"created_at":1673107689,"routes":[{"train":"2+-1","connections":[["H22","I23","J24"]],"hexes":["H22","J24"],"revenue":100,"revenue_str":"H22-J24","nodes":["H22-0","J24-0"]},{"train":"2-3","connections":[["H22","H20"],["H20","I19"]],"hexes":["H22","H20","I19"],"revenue":110,"revenue_str":"H22-H20-I19","nodes":["H22-0","H20-0","I19-0"]}]},{"type":"dividend","entity":"PRR","entity_type":"corporation","id":465,"created_at":1673107694,"kind":"half"},{"type":"pass","entity":"PRR","entity_type":"corporation","id":466,"created_at":1673107699},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":467,"created_at":1673107703,"loan":2},{"type":"pass","entity":"PRR","entity_type":"corporation","id":468,"created_at":1673107706},{"type":"lay_tile","entity":"NYC","entity_type":"corporation","id":469,"created_at":1673107710,"hex":"H8","tile":"14-0","rotation":1},{"type":"pass","entity":"NYC","entity_type":"corporation","id":470,"created_at":1673107713},{"type":"run_routes","entity":"NYC","entity_type":"corporation","id":471,"created_at":1673107716,"routes":[{"train":"2-7","connections":[["H8","I9"]],"hexes":["H8","I9"],"revenue":80,"revenue_str":"H8-I9","nodes":["H8-0","I9-0"]},{"train":"2-6","connections":[["H8","H6","H4","I5"]],"hexes":["H8","I5"],"revenue":100,"revenue_str":"H8-I5","nodes":["H8-0","I5-0"]}]},{"kind":"withhold","type":"dividend","entity":"NYC","entity_type":"corporation","id":472,"user":3763,"created_at":1673107726},{"type":"undo","entity":"NYC","entity_type":"corporation","id":473,"user":3763,"created_at":1673107739},{"type":"dividend","entity":"NYC","entity_type":"corporation","id":474,"created_at":1673107742,"kind":"half"},{"type":"pass","entity":"NYC","entity_type":"corporation","id":475,"created_at":1673107744},{"type":"lay_tile","entity":"SR","entity_type":"corporation","id":476,"created_at":1673107752,"hex":"E19","tile":"82-0","rotation":0},{"type":"run_routes","entity":"SR","entity_type":"corporation","id":477,"created_at":1673107774,"routes":[{"train":"2-4","connections":[["F20","F22","E23"]],"hexes":["F20","E23"],"revenue":80,"revenue_str":"F20-E23","nodes":["F20-0","E23-0"]},{"train":"2-5","connections":[["F20","F18"]],"hexes":["F20","F18"],"revenue":90,"revenue_str":"F20-F18","nodes":["F20-0","F18-0"]},{"train":"2+-2","connections":[["F18","E19","D20"]],"hexes":["D20","F18"],"revenue":100,"revenue_str":"D20-F18","nodes":["F18-0","D20-0"]}]},{"type":"dividend","entity":"SR","entity_type":"corporation","id":478,"created_at":1673107776,"kind":"withhold"},{"type":"pass","entity":"SR","entity_type":"corporation","id":479,"created_at":1673107782},{"type":"payoff_loan","entity":"SR","entity_type":"corporation","id":480,"created_at":1673107783,"loan":4},{"type":"payoff_loan","entity":"SR","entity_type":"corporation","id":481,"created_at":1673107783,"loan":5},{"type":"pass","entity":"SR","entity_type":"corporation","id":482,"created_at":1673107793},{"type":"lay_tile","entity":"ATSF","entity_type":"corporation","id":483,"created_at":1673107817,"hex":"I19","tile":"592-2","rotation":1},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":484,"created_at":1673107822,"loan":24},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":485,"created_at":1673107823,"loan":25},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":486,"created_at":1673107825},{"type":"buy_train","entity":"ATSF","entity_type":"corporation","id":487,"created_at":1673107827,"train":"3-3","price":250,"variant":"3"},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":488,"created_at":1673107830},{"type":"lay_tile","entity":"MILW","entity_type":"corporation","id":489,"created_at":1673107842,"hex":"D24","tile":"15-2","rotation":4},{"type":"pass","entity":"MILW","entity_type":"corporation","id":490,"created_at":1673107845},{"type":"run_routes","entity":"MILW","entity_type":"corporation","id":491,"created_at":1673107855,"routes":[{"train":"2-11","connections":[["D24","D26","D28"]],"hexes":["D24","D28"],"revenue":90,"revenue_str":"D24-D28","nodes":["D24-0","D28-1"]},{"train":"2-12","connections":[["D24","D22","D20"]],"hexes":["D24","D20"],"revenue":80,"revenue_str":"D24-D20","nodes":["D24-0","D20-0"]}]},{"type":"dividend","entity":"MILW","entity_type":"corporation","id":492,"created_at":1673107886,"kind":"withhold"},{"type":"pass","entity":"MILW","entity_type":"corporation","id":493,"created_at":1673107888},{"type":"payoff_loan","entity":"MILW","entity_type":"corporation","id":494,"created_at":1673107889,"loan":12},{"type":"pass","entity":"MILW","entity_type":"corporation","id":495,"created_at":1673107890},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":496,"created_at":1673107898,"hex":"C19","tile":"7ore20-0","rotation":5},{"type":"place_token","entity":"S9","entity_type":"company","id":497,"created_at":1673107904,"city":"592-0-0","slot":1,"tokener":"UP"},{"type":"pass","entity":"UP","entity_type":"corporation","id":498,"created_at":1673107907},{"type":"run_routes","entity":"UP","entity_type":"corporation","id":499,"created_at":1673107909,"routes":[{"train":"2-10","connections":[["D14","D16","D18","C19","D20"]],"hexes":["D14","D20"],"revenue":110,"revenue_str":"D14-D20","nodes":["D14-0","D20-0"]}]},{"kind":"payout","type":"dividend","entity":"UP","entity_type":"corporation","id":500,"user":605,"created_at":1673107917},{"type":"pass","entity":"UP","entity_type":"corporation","id":501,"user":605,"created_at":1673107951},{"type":"pass","entity":"UP","entity_type":"corporation","id":502,"user":605,"created_at":1673107953},{"hex":"C29","tile":"15-3","type":"lay_tile","entity":"C&O","rotation":0,"entity_type":"corporation","id":503,"user":1463,"created_at":1673107959},{"type":"run_routes","entity":"C&O","routes":[{"hexes":["C29","A27"],"nodes":["C29-0","A27-0"],"train":"2-17","revenue":90,"connections":[["C29","B30","B28","A27"]],"revenue_str":"C29-A27"},{"hexes":["C29","D28"],"nodes":["C29-0","D28-0"],"train":"2-18","revenue":90,"connections":[["C29","D28"]],"revenue_str":"C29-D28"}],"entity_type":"corporation","id":504,"user":1463,"created_at":1673107960},{"kind":"withhold","type":"dividend","entity":"C&O","entity_type":"corporation","id":505,"user":1463,"created_at":1673107961},{"type":"pass","entity":"C&O","entity_type":"corporation","id":506,"user":1463,"created_at":1673107963},{"loan":18,"type":"payoff_loan","entity":"C&O","entity_type":"corporation","id":507,"user":1463,"created_at":1673107964},{"type":"undo","entity":"C&O","entity_type":"corporation","id":508,"user":605,"created_at":1673107965},{"loan":18,"type":"payoff_loan","entity":"C&O","entity_type":"corporation","id":510,"user":1463,"created_at":1673107970},{"type":"undo","entity":"C&O","action_id":499,"entity_type":"corporation","id":511,"user":605,"created_at":1673107979},{"type":"dividend","entity":"UP","entity_type":"corporation","id":513,"created_at":1673107981,"kind":"half"},{"type":"pass","entity":"UP","entity_type":"corporation","id":514,"created_at":1673107987},{"type":"pass","entity":"UP","entity_type":"corporation","id":515,"created_at":1673107988},{"type":"lay_tile","entity":"C&O","entity_type":"corporation","id":516,"created_at":1673107995,"hex":"C29","tile":"15-3","rotation":0},{"type":"run_routes","entity":"C&O","entity_type":"corporation","id":517,"created_at":1673107997,"routes":[{"train":"2-17","connections":[["C29","B30","B28","A27"]],"hexes":["C29","A27"],"revenue":90,"revenue_str":"C29-A27","nodes":["C29-0","A27-0"]},{"train":"2-18","connections":[["C29","D28"]],"hexes":["C29","D28"],"revenue":90,"revenue_str":"C29-D28","nodes":["C29-0","D28-0"]}]},{"type":"dividend","entity":"C&O","entity_type":"corporation","id":518,"created_at":1673107998,"kind":"withhold"},{"type":"pass","entity":"C&O","entity_type":"corporation","id":519,"created_at":1673108001},{"type":"payoff_loan","entity":"C&O","entity_type":"corporation","id":520,"created_at":1673108003,"loan":18},{"type":"pass","entity":"C&O","entity_type":"corporation","id":521,"created_at":1673108006},{"type":"lay_tile","entity":"MKT","entity_type":"corporation","id":522,"created_at":1673108028,"hex":"E25","tile":"82coal-0","rotation":1},{"type":"pass","entity":"MKT","entity_type":"corporation","id":523,"created_at":1673108032},{"type":"run_routes","entity":"MKT","entity_type":"corporation","id":524,"created_at":1673108045,"routes":[{"train":"2-8","connections":[["E23","F22","F20"]],"hexes":["E23","F20"],"revenue":80,"revenue_str":"E23-F20","nodes":["E23-0","F20-0"]},{"train":"2-9","connections":[["E23","E25","E27","D28"]],"hexes":["E23","D28"],"revenue":100,"revenue_str":"E23-D28","nodes":["E23-0","D28-0"]},{"train":"2+-3","connections":[["E23","D24"]],"hexes":["D24","E23"],"revenue":60,"revenue_str":"D24-E23","nodes":["E23-0","D24-0"]}]},{"type":"dividend","entity":"MKT","entity_type":"corporation","id":525,"created_at":1673108051,"kind":"withhold"},{"type":"pass","entity":"MKT","entity_type":"corporation","id":526,"created_at":1673108053},{"type":"payoff_loan","entity":"MKT","entity_type":"corporation","id":527,"created_at":1673108054,"loan":9},{"type":"payoff_loan","entity":"MKT","entity_type":"corporation","id":528,"created_at":1673108055,"loan":10},{"type":"pass","entity":"MKT","entity_type":"corporation","id":529,"created_at":1673108056},{"hex":"D22","tile":"83-0","type":"lay_tile","entity":"B&O","rotation":4,"entity_type":"corporation","id":530,"user":4339,"created_at":1673108092},{"type":"undo","entity":"B&O","entity_type":"corporation","id":531,"user":4339,"created_at":1673108102},{"type":"lay_tile","entity":"B&O","entity_type":"corporation","id":532,"created_at":1673108105,"hex":"D22","tile":"82-1","rotation":4},{"type":"pass","entity":"B&O","entity_type":"corporation","id":533,"created_at":1673108113},{"type":"run_routes","entity":"B&O","entity_type":"corporation","id":534,"created_at":1673108119,"routes":[{"train":"2-15","connections":[["D28","E27","E25","E23"]],"hexes":["D28","E23"],"revenue":100,"revenue_str":"D28-E23","nodes":["D28-0","E23-0"]},{"train":"2-16","connections":[["D28","C29"]],"hexes":["D28","C29"],"revenue":90,"revenue_str":"D28-C29","nodes":["D28-0","C29-0"]}]},{"kind":"half","type":"dividend","entity":"B&O","entity_type":"corporation","id":535,"user":4339,"created_at":1673108135},{"type":"undo","entity":"B&O","entity_type":"corporation","id":536,"user":4339,"created_at":1673108142},{"type":"dividend","entity":"B&O","entity_type":"corporation","id":537,"created_at":1673108146,"kind":"withhold"},{"type":"pass","entity":"B&O","entity_type":"corporation","id":538,"created_at":1673108149},{"type":"payoff_loan","entity":"B&O","entity_type":"corporation","id":539,"created_at":1673108151,"loan":16},{"type":"payoff_loan","entity":"B&O","entity_type":"corporation","id":540,"created_at":1673108151,"loan":17},{"type":"pass","entity":"B&O","entity_type":"corporation","id":541,"created_at":1673108152},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":542,"created_at":1673108161,"hex":"E17","tile":"15-4","rotation":3},{"type":"pass","entity":"MP","entity_type":"corporation","id":543,"created_at":1673108164},{"type":"run_routes","entity":"MP","entity_type":"corporation","id":544,"created_at":1673108170,"routes":[{"train":"2-13","connections":[["F18","E17"]],"hexes":["F18","E17"],"revenue":80,"revenue_str":"F18-E17","nodes":["F18-0","E17-0"]},{"train":"2-14","connections":[["E17","E19","D20"]],"hexes":["E17","D20"],"revenue":90,"revenue_str":"E17-D20","nodes":["E17-0","D20-0"]}]},{"type":"dividend","entity":"MP","entity_type":"corporation","id":545,"created_at":1673108172,"kind":"withhold"},{"type":"pass","entity":"MP","entity_type":"corporation","id":546,"created_at":1673108178},{"type":"payoff_loan","entity":"MP","entity_type":"corporation","id":547,"created_at":1673108179,"loan":14},{"type":"pass","entity":"MP","entity_type":"corporation","id":548,"created_at":1673108182},{"type":"pass","entity":"SP","entity_type":"corporation","id":549,"created_at":1673108189},{"type":"program_merger_pass","entity":4339,"entity_type":"player","id":550,"created_at":1673108193,"corporations_by_round":{"AR":["B&O","MILW","MKT","N&W"],"MR":["B&O","MILW","MKT","N&W"]},"options":[]},{"type":"pass","entity":"PRR","entity_type":"corporation","id":551,"created_at":1673108231},{"type":"pass","entity":"TP","entity_type":"corporation","id":552,"created_at":1673108240,"auto_actions":[{"type":"pass","entity":"N&W","entity_type":"corporation","created_at":1673108240}]},{"type":"pass","entity":"NYC","entity_type":"corporation","id":553,"created_at":1673108248},{"type":"pass","entity":"SR","entity_type":"corporation","id":554,"created_at":1673108259,"auto_actions":[{"type":"pass","entity":"MILW","entity_type":"corporation","created_at":1673108259}]},{"type":"pass","entity":"UP","entity_type":"corporation","id":555,"created_at":1673108286,"auto_actions":[{"type":"pass","entity":"MKT","entity_type":"corporation","created_at":1673108286},{"type":"pass","entity":"B&O","entity_type":"corporation","created_at":1673108286}]},{"type":"pass","entity":"KCS","entity_type":"corporation","id":556,"created_at":1673108290},{"type":"pass","entity":"C&O","entity_type":"corporation","id":557,"created_at":1673108294},{"type":"pass","entity":"MP","entity_type":"corporation","id":558,"created_at":1673108296},{"type":"convert","entity":"ATSF","entity_type":"corporation","id":559,"created_at":1673108302},{"type":"buy_shares","entity":605,"entity_type":"player","id":560,"created_at":1673108303,"shares":["ATSF_1"],"percent":20,"share_price":false},{"type":"buy_shares","entity":3763,"entity_type":"player","id":561,"created_at":1673108322,"shares":["ATSF_2"],"percent":20,"share_price":false},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":562,"created_at":1673108328},{"type":"pass","entity":1463,"entity_type":"player","id":563,"created_at":1673108336},{"type":"pass","entity":1463,"entity_type":"player","id":564,"created_at":1673108336},{"type":"pass","entity":3763,"entity_type":"player","id":566,"created_at":1673108349,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673108348},{"type":"pass","entity":4339,"entity_type":"player","created_at":1673108348}]},{"type":"pass","entity":605,"entity_type":"player","id":567,"created_at":1673108376,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673108376}]},{"type":"program_merger_pass","entity":605,"entity_type":"player","id":568,"created_at":1673108378,"corporations_by_round":{"AR":["ATSF","SP","UP"],"MR":["ATSF","SP","UP"]},"options":["disable_others"]},{"type":"pass","entity":1463,"entity_type":"player","id":569,"created_at":1673108385},{"type":"pass","entity":3763,"entity_type":"player","id":570,"created_at":1673108389,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673108388}]},{"type":"pass","entity":1463,"entity_type":"player","id":571,"created_at":1673108394},{"type":"pass","entity":3763,"entity_type":"player","id":572,"created_at":1673108397,"auto_actions":[{"type":"pass","entity":605,"entity_type":"player","created_at":1673108396}]},{"type":"lay_tile","entity":"SP","entity_type":"corporation","id":573,"created_at":1673108411,"hex":"D16","tile":"9ore20-0","rotation":1},{"type":"pass","entity":"SP","entity_type":"corporation","id":574,"created_at":1673108414},{"type":"run_routes","entity":"SP","entity_type":"corporation","id":575,"created_at":1673108422,"routes":[{"train":"2+-0","connections":[["D20","D22","D24"]],"hexes":["D20","D24"],"revenue":80,"revenue_str":"D20-D24","nodes":["D20-0","D24-0"]},{"train":"2-1","connections":[["D20","E19","E17"]],"hexes":["D20","E17"],"revenue":90,"revenue_str":"D20-E17","nodes":["D20-0","E17-0"]},{"train":"2-0","connections":[["D20","C19","D18","D16","D14"]],"hexes":["D20","D14"],"revenue":120,"revenue_str":"D20-D14","nodes":["D20-0","D14-0"]}]},{"type":"dividend","entity":"SP","entity_type":"corporation","id":576,"created_at":1673108426,"kind":"payout"},{"type":"pass","entity":"SP","entity_type":"corporation","id":577,"created_at":1673108428},{"type":"pass","entity":"SP","entity_type":"corporation","id":578,"created_at":1673108434},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":579,"created_at":1673108514,"hex":"I25","tile":"6-3","rotation":0},{"type":"pass","entity":"PRR","entity_type":"corporation","id":580,"created_at":1673108520},{"type":"choose","entity":"PRR","entity_type":"corporation","id":581,"created_at":1673108524,"choice":"0-0"},{"type":"run_routes","entity":"PRR","entity_type":"corporation","id":582,"created_at":1673108532,"routes":[{"train":"2+-1","connections":[["H22","I23","J24"]],"hexes":["H22","J24"],"revenue":100,"revenue_str":"H22-J24","nodes":["H22-0","J24-0"]},{"train":"2-3","connections":[["H22","H20"],["H20","I19"]],"hexes":["H22","H20","I19"],"revenue":130,"revenue_str":"H22-H20-I19","nodes":["H22-0","H20-0","I19-0"]}]},{"type":"dividend","entity":"PRR","entity_type":"corporation","id":583,"created_at":1673108536,"kind":"half"},{"type":"pass","entity":"PRR","entity_type":"corporation","id":584,"created_at":1673108540},{"type":"pass","entity":"PRR","entity_type":"corporation","id":585,"created_at":1673108542},{"type":"lay_tile","entity":"TP","entity_type":"corporation","id":586,"created_at":1673108564,"hex":"D18","tile":"82-2","rotation":0},{"type":"pass","entity":"TP","entity_type":"corporation","id":587,"created_at":1673108566},{"type":"run_routes","entity":"TP","entity_type":"corporation","id":588,"created_at":1673108582,"routes":[{"train":"3-0","connections":[["E23","E25","E27","D28"],["F20","F22","E23"]],"hexes":["D28","E23","F20"],"revenue":150,"revenue_str":"D28-E23-F20","nodes":["E23-0","D28-0","F20-0"]}]},{"type":"dividend","entity":"TP","entity_type":"corporation","id":589,"created_at":1673108586,"kind":"half"},{"type":"pass","entity":"TP","entity_type":"corporation","id":590,"created_at":1673108590},{"type":"pass","entity":"TP","entity_type":"corporation","id":591,"created_at":1673108595},{"type":"lay_tile","entity":"N&W","entity_type":"corporation","id":592,"created_at":1673108622,"hex":"D26","tile":"82-3","rotation":1},{"type":"pass","entity":"N&W","entity_type":"corporation","id":593,"created_at":1673108625},{"type":"run_routes","entity":"N&W","entity_type":"corporation","id":594,"created_at":1673108638,"routes":[{"train":"3-1","connections":[["D24","D22","D20"],["D28","D26","D24"]],"hexes":["D20","D24","D28"],"revenue":140,"revenue_str":"D20-D24-D28","nodes":["D24-0","D20-0","D28-1"]}]},{"type":"dividend","entity":"N&W","entity_type":"corporation","id":595,"created_at":1673108642,"kind":"half"},{"type":"pass","entity":"N&W","entity_type":"corporation","id":596,"created_at":1673108645},{"type":"pass","entity":"N&W","entity_type":"corporation","id":597,"created_at":1673108649},{"type":"lay_tile","entity":"NYC","entity_type":"corporation","id":598,"created_at":1673108654,"hex":"H10","tile":"9-4","rotation":1},{"type":"pass","entity":"NYC","entity_type":"corporation","id":599,"created_at":1673108656},{"type":"run_routes","entity":"NYC","entity_type":"corporation","id":600,"created_at":1673108660,"routes":[{"train":"2-7","connections":[["H8","I9"]],"hexes":["H8","I9"],"revenue":80,"revenue_str":"H8-I9","nodes":["H8-0","I9-0"]},{"train":"2-6","connections":[["H8","H6","H4","I5"]],"hexes":["H8","I5"],"revenue":100,"revenue_str":"H8-I5","nodes":["H8-0","I5-0"]}]},{"type":"dividend","entity":"NYC","entity_type":"corporation","id":601,"created_at":1673108664,"kind":"payout"},{"type":"pass","entity":"NYC","entity_type":"corporation","id":602,"created_at":1673108667},{"type":"lay_tile","entity":"SR","entity_type":"corporation","id":603,"created_at":1673108677,"hex":"H18","tile":"9-0","rotation":0},{"type":"lay_tile","entity":"SR","entity_type":"corporation","id":604,"created_at":1673108687,"hex":"I17","tile":"7-0","rotation":3},{"type":"run_routes","entity":"SR","entity_type":"corporation","id":606,"created_at":1673108719,"routes":[{"train":"2-4","connections":[["F18","E19","D20"]],"hexes":["D20","F18"],"revenue":100,"revenue_str":"D20-F18","nodes":["F18-0","D20-0"]},{"train":"2-5","connections":[["F18","G19","H18","I17","I19"]],"hexes":["I19","F18"],"revenue":100,"revenue_str":"I19-F18","nodes":["F18-0","I19-0"]},{"train":"2+-2","connections":[["F18","F20"]],"hexes":["F20","F18"],"revenue":90,"revenue_str":"F20-F18","nodes":["F18-0","F20-0"]}]},{"type":"dividend","entity":"SR","entity_type":"corporation","id":607,"created_at":1673108724,"kind":"payout"},{"type":"pass","entity":"SR","entity_type":"corporation","id":608,"created_at":1673108737},{"type":"pass","entity":"SR","entity_type":"corporation","id":609,"created_at":1673108742},{"type":"lay_tile","entity":"MILW","entity_type":"corporation","id":610,"created_at":1673108772,"hex":"B26","tile":"9-3","rotation":0},{"type":"pass","entity":"MILW","entity_type":"corporation","id":611,"created_at":1673108780},{"type":"run_routes","entity":"MILW","entity_type":"corporation","id":612,"created_at":1673108809,"routes":[{"train":"2-11","connections":[["D24","D26","D28"]],"hexes":["D28","D24"],"revenue":90,"revenue_str":"D28-D24","nodes":["D24-0","D28-1"]},{"train":"2-12","connections":[["D24","E25","E27","D28"]],"hexes":["D28","D24"],"revenue":100,"revenue_str":"D28-D24","nodes":["D24-0","D28-0"]}]},{"type":"dividend","entity":"MILW","entity_type":"corporation","id":613,"created_at":1673108815,"kind":"half"},{"type":"pass","entity":"MILW","entity_type":"corporation","id":614,"created_at":1673108817},{"type":"payoff_loan","entity":"MILW","entity_type":"corporation","id":615,"created_at":1673108818,"loan":13},{"type":"pass","entity":"MILW","entity_type":"corporation","id":616,"created_at":1673108820},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":617,"created_at":1673108836,"hex":"D14","tile":"14-1","rotation":0},{"type":"pass","entity":"UP","entity_type":"corporation","id":618,"created_at":1673108842},{"type":"run_routes","entity":"UP","entity_type":"corporation","id":619,"created_at":1673108845,"routes":[{"train":"2-10","connections":[["D14","D16","D18","C19","D20"]],"hexes":["D14","D20"],"revenue":130,"revenue_str":"D14-D20","nodes":["D14-0","D20-0"]}]},{"type":"dividend","entity":"UP","entity_type":"corporation","id":620,"created_at":1673108851,"kind":"half"},{"type":"pass","entity":"UP","entity_type":"corporation","id":621,"created_at":1673108852},{"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":622,"created_at":1673108854,"loan":11},{"type":"pass","entity":"UP","entity_type":"corporation","id":623,"created_at":1673108855},{"type":"lay_tile","entity":"MKT","entity_type":"corporation","id":624,"created_at":1673108886,"hex":"C27","tile":"7-1","rotation":4},{"type":"pass","entity":"MKT","entity_type":"corporation","id":625,"created_at":1673108893},{"type":"run_routes","entity":"MKT","entity_type":"corporation","id":626,"created_at":1673108901,"routes":[{"train":"2-8","connections":[["E23","F22","F20"]],"hexes":["E23","F20"],"revenue":80,"revenue_str":"E23-F20","nodes":["E23-0","F20-0"]},{"train":"2-9","connections":[["E23","E25","E27","D28"]],"hexes":["E23","D28"],"revenue":100,"revenue_str":"E23-D28","nodes":["E23-0","D28-0"]},{"train":"2+-3","connections":[["E23","D24"]],"hexes":["E23","D24"],"revenue":60,"revenue_str":"E23-D24","nodes":["E23-0","D24-0"]}]},{"type":"dividend","entity":"MKT","entity_type":"corporation","id":627,"created_at":1673108904,"kind":"payout"},{"type":"pass","entity":"MKT","entity_type":"corporation","id":628,"created_at":1673108910},{"type":"pass","entity":"MKT","entity_type":"corporation","id":629,"created_at":1673108914},{"type":"lay_tile","entity":"B&O","entity_type":"corporation","id":630,"created_at":1673108926,"hex":"C27","tile":"83-0","rotation":5},{"type":"pass","entity":"B&O","entity_type":"corporation","id":631,"created_at":1673108928},{"type":"run_routes","entity":"B&O","entity_type":"corporation","id":632,"created_at":1673108934,"routes":[{"train":"2-15","connections":[["D28","E27","E25","E23"]],"hexes":["D28","E23"],"revenue":100,"revenue_str":"D28-E23","nodes":["D28-0","E23-0"]},{"train":"2-16","connections":[["D28","C29"]],"hexes":["D28","C29"],"revenue":90,"revenue_str":"D28-C29","nodes":["D28-0","C29-0"]}]},{"type":"dividend","entity":"B&O","entity_type":"corporation","id":633,"created_at":1673108946,"kind":"payout"},{"type":"pass","entity":"B&O","entity_type":"corporation","id":634,"created_at":1673108948},{"type":"pass","entity":"B&O","entity_type":"corporation","id":635,"created_at":1673108950},{"hex":"I21","tile":"7-2","type":"lay_tile","entity":"KCS","rotation":2,"entity_type":"corporation","id":636,"user":3763,"created_at":1673108987},{"type":"undo","entity":"KCS","entity_type":"corporation","id":637,"user":3763,"created_at":1673108999},{"type":"lay_tile","entity":"KCS","entity_type":"corporation","id":638,"created_at":1673109004,"hex":"H24","tile":"9-5","rotation":2},{"type":"pass","entity":"KCS","entity_type":"corporation","id":639,"created_at":1673109006},{"type":"run_routes","entity":"KCS","entity_type":"corporation","id":640,"created_at":1673109010,"routes":[{"train":"3-2","connections":[["I19","I17","H18","G19","F18"],["F18","E19","D20"]],"hexes":["I19","F18","D20"],"revenue":140,"revenue_str":"I19-F18-D20","nodes":["I19-0","F18-0","D20-0"]},{"train":"2-2","connections":[["I19","J20"]],"hexes":["I19","J20"],"revenue":90,"revenue_str":"I19-J20","nodes":["I19-0","J20-0"]}]},{"type":"dividend","entity":"KCS","entity_type":"corporation","id":641,"created_at":1673109011,"kind":"payout"},{"type":"pass","entity":"KCS","entity_type":"corporation","id":642,"created_at":1673109013},{"type":"lay_tile","entity":"C&O","entity_type":"corporation","id":643,"created_at":1673109025,"hex":"B26","tile":"83-1","rotation":0},{"type":"pass","entity":"C&O","entity_type":"corporation","id":644,"created_at":1673109030},{"type":"run_routes","entity":"C&O","entity_type":"corporation","id":645,"created_at":1673109036,"routes":[{"train":"2-17","connections":[["C29","B30","B28","A27"]],"hexes":["C29","A27"],"revenue":90,"revenue_str":"C29-A27","nodes":["C29-0","A27-0"]},{"train":"2-18","connections":[["C29","D28"]],"hexes":["C29","D28"],"revenue":90,"revenue_str":"C29-D28","nodes":["C29-0","D28-0"]}]},{"type":"dividend","entity":"C&O","entity_type":"corporation","id":646,"created_at":1673109090,"kind":"payout"},{"type":"pass","entity":"C&O","entity_type":"corporation","id":647,"created_at":1673109097},{"type":"pass","entity":"C&O","entity_type":"corporation","id":648,"created_at":1673109099},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":649,"created_at":1673109106,"hex":"F16","tile":"9-6","rotation":0},{"type":"pass","entity":"MP","entity_type":"corporation","id":650,"created_at":1673109109},{"type":"run_routes","entity":"MP","entity_type":"corporation","id":651,"created_at":1673109116,"routes":[{"train":"2-13","connections":[["E17","D18","C19","D20"]],"hexes":["D20","E17"],"revenue":110,"revenue_str":"D20-E17","nodes":["E17-0","D20-0"]},{"train":"2-14","connections":[["E17","E19","D20"]],"hexes":["E17","D20"],"revenue":90,"revenue_str":"E17-D20","nodes":["E17-0","D20-0"]}]},{"type":"dividend","entity":"MP","entity_type":"corporation","id":652,"created_at":1673109118,"kind":"payout"},{"type":"pass","entity":"MP","entity_type":"corporation","id":653,"created_at":1673109121},{"type":"pass","entity":"MP","entity_type":"corporation","id":654,"created_at":1673109122},{"type":"lay_tile","entity":"ATSF","entity_type":"corporation","id":655,"created_at":1673109133,"hex":"I17","tile":"80-0","rotation":2},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":656,"created_at":1673109137},{"type":"place_token","entity":"ATSF","entity_type":"corporation","id":657,"created_at":1673109139,"city":"592-2-0","slot":1,"tokener":"ATSF"},{"type":"run_routes","entity":"ATSF","entity_type":"corporation","id":658,"created_at":1673109143,"routes":[{"train":"3-3","connections":[["I19","I17","H18","G19","F18"],["F18","E19","D20"]],"hexes":["I19","F18","D20"],"revenue":140,"revenue_str":"I19-F18-D20","nodes":["I19-0","F18-0","D20-0"]}]},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":659,"created_at":1673109144,"loan":26},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":660,"created_at":1673109147,"loan":27},{"type":"dividend","entity":"ATSF","entity_type":"corporation","id":661,"created_at":1673109155,"kind":"half"},{"type":"buy_train","entity":"ATSF","entity_type":"corporation","id":662,"created_at":1673109161,"train":"3-4","price":250,"variant":"3"},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":663,"created_at":1673109162},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":664,"created_at":1673109164},{"type":"pass","entity":"SP","entity_type":"corporation","id":665,"created_at":1673109171},{"type":"merge","entity":"PRR","entity_type":"corporation","id":666,"created_at":1673109176,"corporation":"NYC"},{"type":"buy_shares","entity":3763,"entity_type":"player","id":667,"created_at":1673109178,"shares":["PRR_1"],"percent":20,"share_price":false},{"type":"pass","entity":605,"entity_type":"player","id":668,"created_at":1673109190},{"type":"pass","entity":1463,"entity_type":"player","id":669,"created_at":1673109207},{"type":"pass","entity":4339,"entity_type":"player","id":670,"created_at":1673109214},{"type":"pass","entity":"PRR","entity_type":"corporation","id":671,"created_at":1673109222},{"type":"merge","entity":"TP","entity_type":"corporation","id":672,"created_at":1673109261,"corporation":"MP"},{"type":"buy_shares","entity":1463,"entity_type":"player","id":673,"created_at":1673109265,"shares":["TP_1"],"percent":20,"share_price":false},{"type":"pass","entity":4339,"entity_type":"player","id":674,"created_at":1673109274},{"type":"buy_shares","entity":3763,"entity_type":"player","id":675,"created_at":1673109295,"shares":["TP_2"],"percent":20,"share_price":false},{"type":"pass","entity":605,"entity_type":"player","id":676,"created_at":1673109323},{"type":"pass","entity":"TP","entity_type":"corporation","id":677,"created_at":1673109332},{"type":"merge","entity":"N&W","entity_type":"corporation","id":678,"created_at":1673109355,"corporation":"MILW"},{"type":"buy_shares","entity":4339,"entity_type":"player","id":679,"created_at":1673109358,"shares":["N&W_1"],"percent":20,"share_price":false},{"type":"buy_shares","entity":3763,"entity_type":"player","id":680,"created_at":1673109382,"shares":["N&W_2"],"percent":20,"share_price":false},{"type":"pass","entity":605,"entity_type":"player","id":681,"created_at":1673109390},{"type":"pass","entity":1463,"entity_type":"player","id":682,"created_at":1673109397},{"type":"pass","entity":"N&W","entity_type":"corporation","id":683,"created_at":1673109404},{"type":"pass","entity":"SR","entity_type":"corporation","id":684,"created_at":1673109414},{"type":"pass","entity":"UP","entity_type":"corporation","id":685,"created_at":1673109421},{"type":"pass","entity":"MKT","entity_type":"corporation","id":686,"created_at":1673109435},{"type":"convert","entity":"B&O","entity_type":"corporation","id":687,"created_at":1673109453},{"type":"buy_shares","entity":4339,"shares":["B&O_1"],"percent":20,"entity_type":"player","share_price":false,"id":688,"user":4339,"created_at":1673109455},{"type":"undo","entity":3763,"entity_type":"player","id":689,"user":4339,"created_at":1673109462},{"type":"buy_shares","entity":3763,"shares":["B&O_2"],"percent":20,"entity_type":"player","share_price":false,"id":690,"user":3763,"created_at":1673109462},{"type":"undo","entity":4339,"entity_type":"player","id":691,"user":4339,"created_at":1673109464},{"type":"pass","entity":4339,"entity_type":"player","id":692,"created_at":1673109474},{"type":"pass","entity":3763,"entity_type":"player","id":693,"created_at":1673109485},{"type":"pass","entity":605,"entity_type":"player","id":694,"created_at":1673109496},{"type":"pass","entity":1463,"entity_type":"player","id":695,"created_at":1673109503},{"type":"take_loan","entity":"B&O","entity_type":"corporation","id":696,"created_at":1673109507,"loan":28},{"type":"pass","entity":"B&O","entity_type":"corporation","id":697,"created_at":1673109511},{"type":"pass","entity":"KCS","entity_type":"corporation","id":698,"created_at":1673109522},{"type":"pass","entity":"C&O","entity_type":"corporation","id":699,"created_at":1673109531},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":700,"created_at":1673109545},{"type":"pass","entity":605,"entity_type":"player","id":701,"created_at":1673109547},{"type":"assign","entity":4339,"entity_type":"player","id":702,"created_at":1673109553,"target":"B&O","target_type":"corporation"},{"type":"pass","entity":3763,"entity_type":"player","id":703,"created_at":1673109569},{"type":"pass","entity":605,"entity_type":"player","id":704,"created_at":1673109579},{"type":"pass","entity":1463,"entity_type":"player","id":705,"created_at":1673109588},{"type":"bid","entity":4339,"entity_type":"player","id":706,"created_at":1673109600,"corporation":"B&O","price":310},{"type":"merge","entity":4339,"entity_type":"player","id":707,"created_at":1673109605,"corporation":"N&W"},{"type":"remove_token","entity":"N&W","entity_type":"corporation","id":708,"created_at":1673109647,"city":"X12-0-0","slot":0},{"type":"discard_train","entity":"N&W","entity_type":"corporation","id":709,"created_at":1673109652,"train":"2-11"},{"type":"pass","entity":"N&W","entity_type":"corporation","id":710,"created_at":1673109656},{"type":"payoff_loan","entity":"N&W","entity_type":"corporation","id":711,"created_at":1673109661,"loan":21},{"type":"pass","entity":1463,"entity_type":"player","id":712,"created_at":1673109672},{"type":"pass","entity":3763,"entity_type":"player","id":713,"created_at":1673109681},{"type":"assign","entity":4339,"entity_type":"player","id":714,"created_at":1673109707,"target":"MKT","target_type":"corporation"},{"type":"bid","entity":3763,"entity_type":"player","id":715,"created_at":1673109757,"corporation":"MKT","price":140},{"type":"pass","entity":605,"entity_type":"player","id":716,"created_at":1673109803},{"type":"pass","entity":1463,"entity_type":"player","id":717,"created_at":1673109819},{"type":"bid","entity":4339,"entity_type":"player","id":718,"created_at":1673109826,"corporation":"MKT","price":150},{"type":"pass","entity":3763,"entity_type":"player","id":719,"created_at":1673109832},{"type":"discard_train","entity":"N&W","entity_type":"corporation","id":720,"created_at":1673109837,"train":"2-8"},{"type":"discard_train","entity":"N&W","entity_type":"corporation","id":721,"created_at":1673109838,"train":"2-16"},{"type":"discard_train","entity":"N&W","entity_type":"corporation","id":722,"created_at":1673109839,"train":"2-15"},{"type":"pass","entity":"N&W","entity_type":"corporation","id":723,"created_at":1673109842},{"type":"pass","entity":605,"entity_type":"player","id":724,"created_at":1673109846},{"type":"pass","entity":1463,"entity_type":"player","id":725,"created_at":1673109855},{"type":"pass","entity":1463,"entity_type":"player","id":726,"created_at":1673109858},{"type":"pass","entity":605,"entity_type":"player","id":727,"created_at":1673109865},{"type":"pass","entity":4339,"entity_type":"player","id":728,"created_at":1673109875},{"type":"pass","entity":3763,"entity_type":"player","id":729,"created_at":1673109885},{"type":"buy_shares","entity":1463,"shares":["ATSF_3"],"percent":20,"entity_type":"player","share_price":false,"id":730,"user":1463,"created_at":1673109896},{"type":"undo","entity":4339,"entity_type":"player","id":731,"user":1463,"created_at":1673109916},{"type":"buy_shares","entity":1463,"entity_type":"player","id":734,"created_at":1673110034,"shares":["N&W_3"],"percent":20,"share_price":false},{"type":"bid","entity":4339,"entity_type":"player","id":735,"created_at":1673110051,"corporation":"B&O","price":400},{"type":"place_token","entity":"B&O","entity_type":"corporation","id":736,"created_at":1673110062,"city":"X12-0-0","slot":0,"tokener":"B&O"},{"type":"pass","entity":605,"entity_type":"player","id":737,"created_at":1673110180},{"type":"bid","entity":1463,"entity_type":"player","id":738,"created_at":1673110191,"corporation":"B&O","price":410},{"type":"bid","entity":4339,"entity_type":"player","id":739,"created_at":1673110200,"corporation":"B&O","price":420},{"type":"pass","entity":1463,"entity_type":"player","id":740,"created_at":1673110239},{"type":"choose","entity":4339,"entity_type":"player","id":741,"created_at":1673110243,"choice":5},{"type":"sell_shares","entity":3763,"entity_type":"player","id":742,"created_at":1673110282,"shares":["TP_2"],"percent":20},{"type":"sell_shares","entity":3763,"entity_type":"player","id":743,"created_at":1673110287,"shares":["ATSF_2"],"percent":20},{"type":"bid","entity":3763,"entity_type":"player","id":744,"created_at":1673110319,"corporation":"NYC","price":400},{"type":"place_token","entity":"NYC","entity_type":"corporation","id":745,"created_at":1673110331,"city":"592-1-0","slot":1,"tokener":"NYC"},{"type":"pass","entity":605,"entity_type":"player","id":746,"created_at":1673110350},{"type":"pass","entity":1463,"entity_type":"player","id":747,"created_at":1673110367},{"type":"choose","entity":3763,"entity_type":"player","id":748,"created_at":1673110372,"choice":2},{"type":"short","entity":605,"entity_type":"player","id":749,"created_at":1673110383,"corporation":"PRR"},{"type":"bid","entity":605,"entity_type":"player","id":750,"created_at":1673110403,"corporation":"IC","price":400},{"type":"place_token","entity":"IC","entity_type":"corporation","id":751,"created_at":1673110420,"city":"X12-0-0","slot":1,"tokener":"IC"},{"type":"pass","entity":1463,"entity_type":"player","id":752,"created_at":1673110431},{"type":"choose","entity":605,"entity_type":"player","id":753,"created_at":1673110439,"choice":5},{"type":"buy_shares","entity":1463,"entity_type":"player","id":754,"created_at":1673110459,"shares":["ATSF_3"],"percent":20,"share_price":false},{"type":"short","entity":4339,"entity_type":"player","id":755,"created_at":1673110494,"corporation":"PRR"},{"type":"buy_shares","entity":4339,"entity_type":"player","id":756,"created_at":1673110503,"shares":["TP_2"],"percent":20,"share_price":false},{"type":"take_loan","entity":"PRR","entity_type":"corporation","id":757,"created_at":1673110521,"loan":29},{"type":"take_loan","entity":"PRR","entity_type":"corporation","id":758,"created_at":1673110525,"loan":30},{"type":"buy_shares","entity":"PRR","entity_type":"corporation","id":759,"created_at":1673110533,"shares":["PRR_10","PRR_12"],"percent":40},{"type":"take_loan","entity":"IC","entity_type":"corporation","id":760,"created_at":1673110583,"loan":31},{"type":"pass","entity":605,"entity_type":"player","id":761,"created_at":1673110585},{"type":"buy_shares","entity":1463,"entity_type":"player","id":762,"created_at":1673110806,"shares":["PRR_2"],"percent":20,"share_price":false},{"type":"buy_shares","entity":4339,"entity_type":"player","id":763,"created_at":1673110835,"shares":["B&O_1"],"percent":20,"share_price":false},{"type":"pass","entity":3763,"entity_type":"player","id":764,"created_at":1673110842},{"type":"buy_shares","entity":605,"entity_type":"player","id":765,"created_at":1673110884,"shares":["IC_1"],"percent":20,"share_price":false},{"type":"bid","price":270,"entity":1463,"corporation":"MILW","entity_type":"player","id":766,"user":1463,"created_at":1673110909},{"type":"undo","entity":"MILW","entity_type":"corporation","id":767,"user":1463,"created_at":1673110922},{"type":"bid","entity":1463,"entity_type":"player","id":768,"created_at":1673110929,"corporation":"MP","price":270},{"type":"place_token","entity":"MP","entity_type":"corporation","id":769,"created_at":1673110931,"city":"15-4-0","slot":1,"tokener":"MP"},{"type":"choose","entity":1463,"entity_type":"player","id":770,"created_at":1673110934,"choice":2},{"type":"buy_shares","entity":4339,"entity_type":"player","id":771,"created_at":1673110952,"shares":["ATSF_2"],"percent":20,"share_price":false},{"type":"pass","entity":3763,"entity_type":"player","id":772,"created_at":1673110959},{"type":"pass","entity":605,"entity_type":"player","id":773,"created_at":1673111004},{"type":"pass","entity":1463,"entity_type":"player","id":774,"created_at":1673111012},{"type":"bid","entity":4339,"entity_type":"player","id":775,"created_at":1673111054,"corporation":"GN","price":100},{"type":"place_token","entity":"GN","entity_type":"corporation","id":776,"created_at":1673111056,"city":"14-1-0","slot":1,"tokener":"GN"},{"type":"choose","entity":4339,"entity_type":"player","id":777,"created_at":1673111059,"choice":2},{"type":"pass","entity":3763,"entity_type":"player","id":778,"created_at":1673111064},{"type":"pass","entity":605,"entity_type":"player","id":779,"created_at":1673111093},{"type":"pass","entity":1463,"entity_type":"player","id":780,"created_at":1673111108},{"type":"program_share_pass","entity":4339,"entity_type":"player","id":781,"created_at":1673111116,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673111112}],"unconditional":false,"indefinite":false},{"loan":32,"type":"take_loan","entity":"B&O","entity_type":"corporation","id":782,"user":4339,"created_at":1673111122},{"loan":33,"type":"take_loan","entity":"B&O","entity_type":"corporation","id":783,"user":4339,"created_at":1673111123},{"loan":34,"type":"take_loan","entity":"B&O","entity_type":"corporation","id":784,"user":4339,"created_at":1673111124},{"loan":35,"type":"take_loan","entity":"B&O","entity_type":"corporation","id":785,"user":4339,"created_at":1673111125},{"loan":36,"type":"take_loan","entity":"B&O","entity_type":"corporation","id":786,"user":4339,"created_at":1673111126},{"type":"undo","entity":"B&O","entity_type":"corporation","id":787,"user":4339,"created_at":1673111138},{"type":"undo","entity":"B&O","entity_type":"corporation","id":788,"user":4339,"created_at":1673111144},{"type":"undo","entity":"B&O","entity_type":"corporation","id":789,"user":4339,"created_at":1673111146},{"type":"undo","entity":"B&O","action_id":781,"entity_type":"corporation","id":790,"user":4339,"created_at":1673111148},{"type":"lay_tile","entity":"B&O","entity_type":"corporation","id":791,"created_at":1673111166,"hex":"B22","tile":"8-5","rotation":5},{"type":"pass","entity":"B&O","entity_type":"corporation","id":792,"created_at":1673111170},{"type":"place_token","entity":"B&O","entity_type":"corporation","id":793,"created_at":1673111180,"city":"15-2-0","slot":1,"tokener":"B&O"},{"type":"take_loan","entity":"B&O","entity_type":"corporation","id":794,"created_at":1673111185,"loan":32},{"type":"take_loan","entity":"B&O","entity_type":"corporation","id":795,"created_at":1673111186,"loan":33},{"type":"take_loan","entity":"B&O","entity_type":"corporation","id":796,"created_at":1673111186,"loan":34},{"type":"take_loan","entity":"B&O","entity_type":"corporation","id":797,"created_at":1673111187,"loan":35},{"type":"buy_train","entity":"B&O","entity_type":"corporation","id":798,"created_at":1673111192,"train":"3+-0","price":250,"variant":"3+"},{"type":"buy_train","entity":"B&O","entity_type":"corporation","id":799,"created_at":1673111193,"train":"3+-1","price":250,"variant":"3+"},{"type":"buy_train","entity":"B&O","entity_type":"corporation","id":800,"created_at":1673111196,"train":"4-0","price":400,"variant":"4"},{"type":"lay_tile","entity":"NYC","entity_type":"corporation","id":802,"created_at":1673111232,"hex":"I21","tile":"7-2","rotation":2},{"type":"pass","entity":"NYC","entity_type":"corporation","id":803,"created_at":1673111234},{"type":"buy_train","entity":"NYC","entity_type":"corporation","id":804,"created_at":1673111240,"train":"4-1","price":400,"variant":"4"},{"type":"pass","entity":"NYC","entity_type":"corporation","id":805,"created_at":1673111242},{"type":"pass","entity":"NYC","entity_type":"corporation","id":806,"created_at":1673111244},{"type":"take_loan","entity":"IC","entity_type":"corporation","id":807,"created_at":1673111276,"loan":37},{"type":"take_loan","entity":"IC","entity_type":"corporation","id":808,"created_at":1673111277,"loan":38},{"type":"lay_tile","entity":"IC","entity_type":"corporation","id":809,"created_at":1673111291,"hex":"B20","tile":"9-7","rotation":1},{"type":"pass","entity":"IC","entity_type":"corporation","id":810,"created_at":1673111324},{"type":"place_token","entity":"IC","entity_type":"corporation","id":811,"created_at":1673111329,"city":"15-3-0","slot":1,"tokener":"IC"},{"type":"buy_train","entity":"IC","entity_type":"corporation","id":812,"created_at":1673111334,"train":"4-2","price":400,"variant":"4"},{"type":"buy_train","entity":"IC","entity_type":"corporation","id":813,"created_at":1673111335,"train":"4-3","price":400,"variant":"4"},{"type":"take_loan","entity":"IC","entity_type":"corporation","id":814,"created_at":1673111339,"loan":39},{"type":"pass","entity":"IC","entity_type":"corporation","id":815,"created_at":1673111343},{"type":"pass","entity":"IC","entity_type":"corporation","id":816,"created_at":1673111345},{"type":"lay_tile","entity":"N&W","entity_type":"corporation","id":817,"created_at":1673111366,"hex":"B18","tile":"9-8","rotation":1},{"type":"pass","entity":"N&W","entity_type":"corporation","id":818,"created_at":1673111369},{"type":"place_token","entity":"N&W","entity_type":"corporation","id":819,"created_at":1673111387,"city":"619-0-0","slot":1,"tokener":"N&W"},{"type":"run_routes","entity":"N&W","entity_type":"corporation","id":820,"created_at":1673111422,"routes":[{"train":"3-1","connections":[["E23","F22","F20"],["D28","E27","E25","E23"]],"hexes":["F20","E23","D28"],"revenue":150,"revenue_str":"F20-E23-D28","nodes":["E23-0","F20-0","D28-0"]},{"train":"2+-3","connections":[["D28","C27","B26","A27"]],"hexes":["A27","D28"],"revenue":110,"revenue_str":"A27-D28","nodes":["D28-1","A27-0"]}]},{"type":"take_loan","entity":"N&W","entity_type":"corporation","id":821,"created_at":1673111429,"loan":40},{"type":"dividend","entity":"N&W","entity_type":"corporation","id":822,"created_at":1673111432,"kind":"half"},{"type":"buy_train","entity":"N&W","entity_type":"corporation","id":823,"created_at":1673111435,"train":"4-4","price":400,"variant":"4"},{"type":"pass","entity":"N&W","entity_type":"corporation","id":824,"created_at":1673111463},{"type":"pass","entity":"N&W","entity_type":"corporation","id":825,"created_at":1673111465},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":826,"created_at":1673111482,"hex":"H6","tile":"9ore20-1","rotation":1},{"type":"pass","entity":"PRR","entity_type":"corporation","id":827,"created_at":1673111487},{"type":"run_routes","entity":"PRR","routes":[{"hexes":["H22","J24"],"nodes":["H22-0","J24-0"],"train":"2+-1","revenue":100,"connections":[["H22","I23","J24"]],"revenue_str":"H22-J24"}],"entity_type":"corporation","id":828,"user":3763,"created_at":1673111497},{"type":"undo","entity":"PRR","entity_type":"corporation","id":829,"user":3763,"created_at":1673111503},{"type":"choose","entity":"PRR","entity_type":"corporation","id":830,"created_at":1673111505,"choice":"0-0"},{"type":"run_routes","entity":"PRR","routes":[{"hexes":["H22","J24"],"nodes":["H22-0","J24-0"],"train":"2+-1","revenue":100,"connections":[["H22","I23","J24"]],"revenue_str":"H22-J24"}],"entity_type":"corporation","id":831,"user":3763,"created_at":1673111506},{"type":"undo","entity":"PRR","entity_type":"corporation","id":832,"user":3763,"created_at":1673111514},{"type":"run_routes","entity":"PRR","entity_type":"corporation","id":833,"created_at":1673111519,"routes":[{"train":"2+-1","connections":[["J24","I23","H22"],["H22","H20"]],"hexes":["J24","H22","H20"],"revenue":130,"revenue_str":"J24-H22-H20","nodes":["J24-0","H22-0","H20-0"]}]},{"type":"dividend","entity":"PRR","entity_type":"corporation","id":834,"created_at":1673111535,"kind":"withhold"},{"type":"buy_train","entity":"PRR","entity_type":"corporation","id":835,"created_at":1673111536,"train":"4-5","price":400,"variant":"4"},{"type":"pass","entity":"PRR","entity_type":"corporation","id":836,"created_at":1673111549},{"type":"lay_tile","entity":"SP","entity_type":"corporation","id":837,"created_at":1673111562,"hex":"H16","tile":"9-3","rotation":2},{"type":"pass","entity":"SP","entity_type":"corporation","id":838,"created_at":1673111565},{"type":"run_routes","entity":"SP","entity_type":"corporation","id":839,"created_at":1673111569,"routes":[{"train":"2+-0","connections":[["D20","D22","D24"]],"hexes":["D20","D24"],"revenue":80,"revenue_str":"D20-D24","nodes":["D20-0","D24-0"]}]},{"type":"dividend","entity":"SP","entity_type":"corporation","id":840,"created_at":1673111571,"kind":"payout"},{"type":"buy_train","entity":"SP","entity_type":"corporation","id":841,"created_at":1673111580,"train":"4-2","price":5},{"type":"pass","entity":"SP","entity_type":"corporation","id":842,"created_at":1673111583},{"type":"pass","entity":"SP","entity_type":"corporation","id":843,"created_at":1673111585},{"type":"lay_tile","entity":"TP","entity_type":"corporation","id":844,"created_at":1673111600,"hex":"G15","tile":"8-2","rotation":3},{"type":"pass","entity":"TP","entity_type":"corporation","id":845,"created_at":1673111613},{"type":"run_routes","entity":"TP","entity_type":"corporation","id":846,"created_at":1673111632,"routes":[{"train":"3-0","connections":[["E17","F16","G15","H16","I17","I19"],["D20","C19","D18","E17"]],"hexes":["I19","E17","D20"],"revenue":160,"revenue_str":"I19-E17-D20","nodes":["E17-0","I19-0","D20-0"]}]},{"kind":"half","type":"dividend","entity":"TP","entity_type":"corporation","id":847,"user":1463,"created_at":1673111673},{"type":"undo","entity":"TP","entity_type":"corporation","id":848,"user":1463,"created_at":1673111696},{"kind":"withhold","type":"dividend","entity":"TP","entity_type":"corporation","id":849,"user":1463,"created_at":1673111721},{"type":"buy_train","price":400,"train":"4-6","entity":"TP","variant":"4","entity_type":"corporation","id":850,"user":1463,"created_at":1673111724},{"type":"undo","entity":"TP","entity_type":"corporation","id":851,"user":1463,"created_at":1673111761},{"type":"undo","entity":"TP","entity_type":"corporation","id":852,"user":1463,"created_at":1673111765},{"type":"dividend","entity":"TP","entity_type":"corporation","id":853,"created_at":1673111766,"kind":"half"},{"type":"buy_train","entity":"TP","entity_type":"corporation","id":854,"created_at":1673111770,"train":"4-6","price":400,"variant":"4"},{"type":"pass","entity":"TP","entity_type":"corporation","id":855,"created_at":1673111772},{"type":"pass","entity":"TP","entity_type":"corporation","id":856,"created_at":1673111777},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":857,"created_at":1673111798,"hex":"G15","tile":"81-0","rotation":1},{"type":"pass","entity":"MP","entity_type":"corporation","id":858,"created_at":1673111801},{"type":"take_loan","entity":"MP","entity_type":"corporation","id":859,"created_at":1673111802,"loan":41},{"type":"take_loan","entity":"MP","entity_type":"corporation","id":860,"created_at":1673111803,"loan":42},{"type":"buy_train","entity":"MP","entity_type":"corporation","id":861,"created_at":1673111805,"train":"4+-0","price":400,"variant":"4+"},{"type":"pass","entity":"MP","entity_type":"corporation","id":862,"created_at":1673111811},{"type":"lay_tile","entity":"SR","entity_type":"corporation","id":863,"created_at":1673111843,"hex":"F22","tile":"81coal-0","rotation":1},{"type":"pass","entity":"SR","entity_type":"corporation","id":864,"created_at":1673111846},{"type":"run_routes","entity":"SR","entity_type":"corporation","id":865,"created_at":1673111859,"routes":[{"train":"2+-2","connections":[["F18","E19","D20"]],"hexes":["D20","F18"],"revenue":100,"revenue_str":"D20-F18","nodes":["F18-0","D20-0"]}]},{"type":"dividend","entity":"SR","entity_type":"corporation","id":866,"created_at":1673111860,"kind":"payout"},{"type":"buy_train","entity":"SR","entity_type":"corporation","id":867,"created_at":1673112017,"train":"3-0","price":15},{"type":"pass","entity":"SR","entity_type":"corporation","id":868,"created_at":1673112025},{"type":"pass","entity":"SR","entity_type":"corporation","id":869,"created_at":1673112028},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":870,"created_at":1673112068,"hex":"E13","tile":"8-0","rotation":3},{"type":"pass","entity":"UP","entity_type":"corporation","id":871,"created_at":1673112072},{"type":"buy_train","entity":"UP","entity_type":"corporation","id":873,"created_at":1673112149,"train":"4-2","price":1},{"type":"pass","entity":"UP","entity_type":"corporation","id":874,"created_at":1673112150},{"type":"pass","entity":"UP","entity_type":"corporation","id":875,"created_at":1673112151},{"type":"lay_tile","entity":"KCS","entity_type":"corporation","id":876,"created_at":1673112171,"hex":"I21","tile":"80-1","rotation":1},{"type":"run_routes","entity":"KCS","entity_type":"corporation","id":877,"created_at":1673112186,"routes":[{"train":"3-2","connections":[["I19","I17","H18","G19","F18"],["F18","E19","D20"]],"hexes":["I19","F18","D20"],"revenue":140,"revenue_str":"I19-F18-D20","nodes":["I19-0","F18-0","D20-0"]}]},{"type":"dividend","entity":"KCS","entity_type":"corporation","id":878,"created_at":1673112191,"kind":"withhold"},{"type":"pass","entity":"KCS","entity_type":"corporation","id":879,"created_at":1673112194},{"type":"payoff_loan","entity":"KCS","entity_type":"corporation","id":880,"created_at":1673112196,"loan":22},{"type":"pass","entity":"KCS","entity_type":"corporation","id":881,"created_at":1673112200},{"type":"lay_tile","entity":"C&O","entity_type":"corporation","id":882,"created_at":1673112254,"hex":"B18","tile":"83-2","rotation":1},{"type":"pass","entity":"C&O","entity_type":"corporation","id":883,"created_at":1673112264},{"type":"buy_train","entity":"C&O","entity_type":"corporation","id":884,"created_at":1673112282,"train":"4+-0","price":1},{"type":"pass","entity":"C&O","entity_type":"corporation","id":885,"created_at":1673112285},{"type":"pass","entity":"C&O","entity_type":"corporation","id":886,"created_at":1673112289},{"type":"lay_tile","entity":"GN","entity_type":"corporation","id":887,"created_at":1673112299,"hex":"B16","tile":"8-6","rotation":4},{"type":"pass","entity":"GN","entity_type":"corporation","id":888,"created_at":1673112302},{"type":"buy_train","entity":"GN","entity_type":"corporation","id":889,"created_at":1673112315,"train":"3+-0","price":100},{"type":"pass","entity":"GN","entity_type":"corporation","id":890,"created_at":1673112317},{"type":"pass","entity":"GN","entity_type":"corporation","id":891,"created_at":1673112319},{"type":"lay_tile","entity":"ATSF","entity_type":"corporation","id":892,"created_at":1673112373,"hex":"F16","tile":"82-4","rotation":0},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":893,"created_at":1673112376},{"type":"run_routes","entity":"ATSF","entity_type":"corporation","id":894,"created_at":1673112389,"routes":[{"train":"3-4","connections":[["I19","H20"],["H20","H22"]],"hexes":["I19","H20","H22"],"revenue":130,"revenue_str":"I19-H20-H22","nodes":["I19-0","H20-0","H22-0"]},{"train":"3-3","connections":[["I19","I17","H18","G19","F18"],["F18","E19","D20"]],"hexes":["I19","F18","D20"],"revenue":140,"revenue_str":"I19-F18-D20","nodes":["I19-0","F18-0","D20-0"]}]},{"type":"dividend","entity":"ATSF","entity_type":"corporation","id":895,"created_at":1673112398,"kind":"payout"},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":896,"created_at":1673112399},{"type":"merge","entity":"NYC","entity_type":"corporation","id":897,"created_at":1673112421,"corporation":"KCS"},{"type":"pass","entity":"NYC","entity_type":"corporation","id":898,"created_at":1673112430},{"type":"pass","entity":"N&W","entity_type":"corporation","id":899,"created_at":1673112462},{"type":"pass","entity":"SP","entity_type":"corporation","id":900,"created_at":1673112468},{"type":"pass","entity":"PRR","entity_type":"corporation","id":901,"created_at":1673112525},{"type":"convert","entity":"TP","entity_type":"corporation","id":902,"created_at":1673112553},{"type":"buy_shares","entity":1463,"entity_type":"player","id":903,"created_at":1673112555,"shares":["TP_3"],"percent":10,"share_price":false},{"type":"sell_shares","entity":4339,"entity_type":"player","id":904,"created_at":1673112579,"shares":["TP_2"],"percent":10},{"type":"pass","entity":605,"entity_type":"player","id":905,"created_at":1673112589},{"type":"pass","entity":"TP","entity_type":"corporation","id":906,"created_at":1673112594},{"type":"pass","entity":"IC","entity_type":"corporation","id":907,"created_at":1673112602},{"type":"pass","entity":"B&O","entity_type":"corporation","id":908,"created_at":1673112613},{"type":"merge","entity":"MP","entity_type":"corporation","id":909,"created_at":1673112638,"corporation":"C&O"},{"type":"pass","entity":4339,"entity_type":"player","id":910,"created_at":1673112662},{"type":"pass","entity":605,"entity_type":"player","id":911,"created_at":1673112734},{"type":"pass","entity":"MP","entity_type":"corporation","id":912,"created_at":1673112742},{"type":"pass","entity":"SR","entity_type":"corporation","id":913,"created_at":1673112746},{"type":"merge","entity":"UP","entity_type":"corporation","id":914,"created_at":1673112755,"corporation":"SP"},{"type":"buy_shares","entity":605,"entity_type":"player","id":915,"created_at":1673112757,"shares":["UP_1"],"percent":20,"share_price":false},{"type":"buy_shares","entity":4339,"entity_type":"player","id":916,"created_at":1673112760,"shares":["UP_2"],"percent":20,"share_price":false},{"type":"pass","entity":"UP","entity_type":"corporation","id":917,"created_at":1673112769},{"type":"pass","entity":"GN","entity_type":"corporation","id":918,"created_at":1673112782},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":919,"created_at":1673112794},{"type":"pass","entity":605,"entity_type":"player","id":920,"created_at":1673112795},{"type":"program_merger_pass","entity":605,"entity_type":"player","id":921,"created_at":1673112799,"corporations_by_round":{"AR":["ATSF","IC","UP"],"MR":["ATSF","IC","UP"]},"options":["disable_others"]},{"type":"program_merger_pass","entity":4339,"entity_type":"player","id":922,"created_at":1673112804,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673112799}],"corporations_by_round":{"AR":["B&O","GN","N&W"],"MR":["B&O","GN","N&W"]},"options":[]},{"type":"pass","entity":1463,"entity_type":"player","id":923,"created_at":1673112812,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673112812},{"type":"pass","entity":605,"entity_type":"player","created_at":1673112812}]},{"type":"pass","entity":1463,"entity_type":"player","id":924,"created_at":1673112814},{"type":"pass","entity":3763,"entity_type":"player","id":925,"created_at":1673112818,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673112817}]},{"type":"pass","entity":1463,"entity_type":"player","id":926,"created_at":1673112827,"auto_actions":[{"type":"pass","entity":605,"entity_type":"player","created_at":1673112827}]},{"type":"pass","entity":3763,"entity_type":"player","id":927,"created_at":1673112832},{"hex":"I19","tile":"593-0","type":"lay_tile","entity":"NYC","rotation":1,"entity_type":"corporation","id":928,"user":3763,"created_at":1673112842},{"type":"pass","entity":"NYC","entity_type":"corporation","id":929,"user":3763,"created_at":1673112848},{"type":"pass","entity":"NYC","entity_type":"corporation","id":930,"user":3763,"created_at":1673112850},{"type":"run_routes","entity":"NYC","routes":[{"hexes":["I19","F18","D20","D14"],"nodes":["I19-0","F18-0","D20-0","D14-0"],"train":"4-1","revenue":240,"connections":[["I19","I17","H18","G19","F18"],["F18","E19","D20"],["D20","C19","D18","D16","D14"]],"revenue_str":"I19-F18-D20-D14"},{"hexes":["I19","H20","H22"],"nodes":["I19-0","H20-0","H22-0"],"train":"3-2","revenue":140,"connections":[["I19","I21","H20"],["H20","H22"]],"revenue_str":"I19-H20-H22"}],"entity_type":"corporation","id":931,"user":3763,"created_at":1673112861},{"loan":44,"type":"take_loan","entity":"NYC","entity_type":"corporation","id":932,"user":3763,"created_at":1673112864},{"loan":45,"type":"take_loan","entity":"NYC","entity_type":"corporation","id":933,"user":3763,"created_at":1673112864},{"loan":46,"type":"take_loan","entity":"NYC","entity_type":"corporation","id":934,"user":3763,"created_at":1673112865},{"loan":47,"type":"take_loan","entity":"NYC","entity_type":"corporation","id":935,"user":3763,"created_at":1673112866},{"kind":"withhold","type":"dividend","entity":"NYC","entity_type":"corporation","id":936,"user":3763,"created_at":1673112882},{"type":"buy_train","price":600,"train":"5-1","entity":"NYC","variant":"5","entity_type":"corporation","id":937,"user":3763,"created_at":1673112885},{"type":"undo","entity":"UP","action_id":927,"entity_type":"corporation","id":938,"user":3763,"created_at":1673112891},{"type":"lay_tile","entity":"NYC","entity_type":"corporation","id":939,"created_at":1673112895,"hex":"I19","tile":"593-0","rotation":1},{"type":"pass","entity":"NYC","entity_type":"corporation","id":940,"created_at":1673112899},{"type":"pass","entity":"NYC","entity_type":"corporation","id":941,"created_at":1673112901},{"type":"take_loan","entity":"NYC","entity_type":"corporation","id":942,"created_at":1673112906,"loan":44},{"type":"take_loan","entity":"NYC","entity_type":"corporation","id":943,"created_at":1673112907,"loan":45},{"type":"take_loan","entity":"NYC","entity_type":"corporation","id":944,"created_at":1673112907,"loan":46},{"type":"take_loan","entity":"NYC","entity_type":"corporation","id":945,"created_at":1673112912,"loan":47},{"type":"run_routes","entity":"NYC","entity_type":"corporation","id":946,"created_at":1673112913,"routes":[{"train":"4-1","connections":[["I19","I17","H18","G19","F18"],["F18","E19","D20"],["D20","C19","D18","D16","D14"]],"hexes":["I19","F18","D20","D14"],"revenue":240,"revenue_str":"I19-F18-D20-D14","nodes":["I19-0","F18-0","D20-0","D14-0"]},{"train":"3-2","connections":[["I19","I21","H20"],["H20","H22"]],"hexes":["I19","H20","H22"],"revenue":140,"revenue_str":"I19-H20-H22","nodes":["I19-0","H20-0","H22-0"]}]},{"type":"dividend","entity":"NYC","entity_type":"corporation","id":947,"created_at":1673112915,"kind":"withhold"},{"type":"buy_train","entity":"NYC","entity_type":"corporation","id":948,"created_at":1673112920,"train":"5-1","price":600,"variant":"5"},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":950,"created_at":1673112970,"hex":"D28","tile":"X16-0","rotation":0},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":951,"created_at":1673112983,"hex":"D22","tile":"546-0","rotation":1},{"type":"place_token","entity":"UP","entity_type":"corporation","id":952,"created_at":1673112987,"city":"X16-0-0","slot":3,"tokener":"UP"},{"type":"buy_train","price":200,"train":"P-0","entity":"UP","variant":"P","entity_type":"corporation","id":953,"user":605,"created_at":1673113020},{"type":"choose","choice":"0-0","entity":"UP","entity_type":"corporation","id":954,"user":605,"created_at":1673113023},{"type":"run_routes","entity":"UP","routes":[{"hexes":["D14","D20","F18","I19"],"nodes":["D14-0","D20-0","F18-0","I19-0"],"train":"4-2","revenue":320,"connections":[["D14","D16","D18","C19","D20"],["D20","E19","F18"],["F18","G19","H18","I17","I19"]],"revenue_str":"D14-D20-F18-I19"}],"entity_type":"corporation","id":955,"user":605,"created_at":1673113033},{"loan":48,"type":"take_loan","entity":"UP","entity_type":"corporation","id":956,"user":605,"created_at":1673113037},{"loan":49,"type":"take_loan","entity":"UP","entity_type":"corporation","id":957,"user":605,"created_at":1673113039},{"loan":50,"type":"take_loan","entity":"UP","entity_type":"corporation","id":958,"user":605,"created_at":1673113047},{"loan":51,"type":"take_loan","entity":"UP","entity_type":"corporation","id":959,"user":605,"created_at":1673113053},{"type":"undo","entity":"UP","entity_type":"corporation","id":960,"user":605,"created_at":1673113063},{"type":"undo","entity":"UP","action_id":952,"entity_type":"corporation","id":961,"user":605,"created_at":1673113067},{"type":"pass","entity":"UP","entity_type":"corporation","id":962,"user":605,"created_at":1673113069},{"type":"run_routes","entity":"UP","routes":[],"entity_type":"corporation","id":963,"user":605,"created_at":1673113071},{"type":"undo","entity":"UP","action_id":952,"entity_type":"corporation","id":964,"user":605,"created_at":1673113084},{"type":"pass","entity":"UP","entity_type":"corporation","id":965,"created_at":1673113087},{"type":"run_routes","entity":"UP","entity_type":"corporation","id":968,"created_at":1673113115,"routes":[{"train":"4-2","connections":[["D14","D16","D18","C19","D20"],["D20","E19","F18"],["F18","G19","H18","I17","I19"]],"hexes":["D14","D20","F18","I19"],"revenue":240,"revenue_str":"D14-D20-F18-I19","nodes":["D14-0","D20-0","F18-0","I19-0"]}]},{"type":"take_loan","entity":"UP","entity_type":"corporation","id":969,"created_at":1673113119,"loan":48},{"type":"take_loan","entity":"UP","entity_type":"corporation","id":970,"created_at":1673113120,"loan":49},{"type":"dividend","entity":"UP","entity_type":"corporation","id":972,"created_at":1673113126,"kind":"payout"},{"type":"buy_train","entity":"UP","entity_type":"corporation","id":973,"created_at":1673113131,"train":"5-2","price":600,"variant":"5"},{"type":"pass","entity":"UP","entity_type":"corporation","id":974,"created_at":1673113132},{"type":"pass","entity":"UP","entity_type":"corporation","id":975,"created_at":1673113135},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":976,"created_at":1673113147,"hex":"E17","tile":"63-0","rotation":0},{"type":"pass","entity":"MP","entity_type":"corporation","id":977,"created_at":1673113148},{"type":"pass","entity":"MP","entity_type":"corporation","id":978,"created_at":1673113150},{"type":"run_routes","entity":"MP","entity_type":"corporation","id":979,"created_at":1673113181,"routes":[{"train":"4+-0","connections":[["D20","C19","D18","D16","D14"],["E17","E19","D20"],["I19","I17","H16","G15","F16","E17"]],"hexes":["D14","D20","E17","I19"],"revenue":240,"revenue_str":"D14-D20-E17-I19","nodes":["D20-0","D14-0","E17-0","I19-0"]}]},{"type":"dividend","entity":"MP","entity_type":"corporation","id":980,"created_at":1673113188,"kind":"payout"},{"type":"pass","entity":"MP","entity_type":"corporation","id":981,"created_at":1673113195},{"type":"pass","entity":"MP","entity_type":"corporation","id":982,"created_at":1673113204},{"type":"lay_tile","entity":"N&W","entity_type":"corporation","id":983,"created_at":1673113219,"hex":"D20","tile":"593-1","rotation":2},{"type":"pass","entity":"N&W","entity_type":"corporation","id":984,"created_at":1673113224},{"type":"place_token","entity":"N&W","entity_type":"corporation","id":985,"created_at":1673113226,"city":"593-1-0","slot":1,"tokener":"N&W"},{"type":"pass","entity":"N&W","entity_type":"corporation","id":986,"created_at":1673113232},{"type":"run_routes","entity":"N&W","entity_type":"corporation","id":987,"created_at":1673113297,"routes":[{"train":"4-4","connections":[["D28","E27","E25","D24"],["D24","D22","D20"],["D20","C19","D18","D16","D14"]],"hexes":["D28","D24","D20","D14"],"revenue":260,"revenue_str":"D28-D24-D20-D14","nodes":["D28-0","D24-0","D20-0","D14-0"]},{"train":"3-1","connections":[["A27","B26","C27","D28"],["D28","D26","C25"]],"hexes":["A27","D28","C25"],"revenue":180,"revenue_str":"A27-D28-C25","nodes":["A27-0","D28-0","C25-0"]}]},{"type":"dividend","entity":"N&W","entity_type":"corporation","id":988,"created_at":1673113314,"kind":"withhold"},{"type":"take_loan","entity":"N&W","entity_type":"corporation","id":989,"created_at":1673113316,"loan":50},{"type":"take_loan","entity":"N&W","entity_type":"corporation","id":990,"created_at":1673113318,"loan":51},{"type":"take_loan","entity":"N&W","entity_type":"corporation","id":991,"created_at":1673113321,"loan":52},{"type":"buy_train","entity":"N&W","entity_type":"corporation","id":992,"created_at":1673113325,"train":"5-3","price":600,"variant":"5"},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":993,"created_at":1673113343,"hex":"H22","tile":"593-2","rotation":3},{"type":"pass","entity":"PRR","entity_type":"corporation","id":994,"created_at":1673113347},{"type":"choose","entity":"PRR","entity_type":"corporation","id":995,"created_at":1673113350,"choice":"0-0"},{"type":"run_routes","entity":"PRR","entity_type":"corporation","id":996,"created_at":1673113388,"routes":[{"train":"4-5","connections":[["H22","I21","I19"],["I19","I17","H18","G19","F18"],["F18","E19","D20"],["D20","C19","D18","D16","D14"]],"hexes":["H22","I19","F18","D20","D14"],"revenue":310,"revenue_str":"H22-I19-F18-D20-D14","nodes":["H22-0","I19-0","F18-0","D20-0","D14-0"]}]},{"type":"dividend","entity":"PRR","entity_type":"corporation","id":997,"created_at":1673113419,"kind":"payout"},{"type":"buy_train","price":1,"train":"5-1","entity":"PRR","entity_type":"corporation","id":998,"user":3763,"created_at":1673113476},{"type":"undo","entity":"PRR","entity_type":"corporation","id":999,"user":3763,"created_at":1673113585},{"type":"buy_train","entity":"PRR","entity_type":"corporation","id":1000,"created_at":1673113686,"train":"3-2","price":39},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1001,"created_at":1673113691},{"type":"lay_tile","entity":"TP","entity_type":"corporation","id":1002,"created_at":1673113700,"hex":"D24","tile":"X13-0","rotation":5},{"type":"pass","entity":"TP","entity_type":"corporation","id":1003,"created_at":1673113703},{"type":"place_token","entity":"TP","entity_type":"corporation","id":1004,"created_at":1673113705,"city":"593-1-0","slot":2,"tokener":"TP"},{"type":"pass","entity":"TP","entity_type":"corporation","id":1005,"created_at":1673113708},{"type":"run_routes","entity":"TP","entity_type":"corporation","id":1006,"created_at":1673113719,"routes":[{"train":"4-6","connections":[["D20","C19","D18","D16","D14"],["D24","D22","D20"],["D28","E27","E25","D24"]],"hexes":["D14","D20","D24","D28"],"revenue":280,"revenue_str":"D14-D20-D24-D28","nodes":["D20-0","D14-0","D24-0","D28-0"]}]},{"type":"dividend","entity":"TP","entity_type":"corporation","id":1007,"created_at":1673113721,"kind":"withhold"},{"type":"take_loan","entity":"TP","entity_type":"corporation","id":1008,"created_at":1673113725,"loan":53},{"type":"take_loan","entity":"TP","entity_type":"corporation","id":1009,"created_at":1673113725,"loan":54},{"type":"take_loan","entity":"TP","entity_type":"corporation","id":1010,"created_at":1673113726,"loan":55},{"type":"take_loan","entity":"TP","entity_type":"corporation","id":1011,"created_at":1673113727,"loan":56},{"type":"buy_train","entity":"TP","entity_type":"corporation","id":1012,"created_at":1673113731,"train":"5-4","price":600,"variant":"5"},{"type":"pass","entity":"TP","entity_type":"corporation","id":1013,"created_at":1673113735},{"type":"pass","entity":"TP","entity_type":"corporation","id":1014,"created_at":1673113740},{"type":"lay_tile","entity":"IC","entity_type":"corporation","id":1015,"created_at":1673113780,"hex":"E25","tile":"546coal-0","rotation":4},{"type":"pass","entity":"IC","entity_type":"corporation","id":1016,"created_at":1673113784},{"type":"pass","entity":"IC","entity_type":"corporation","id":1017,"created_at":1673113787},{"type":"run_routes","entity":"IC","entity_type":"corporation","id":1018,"created_at":1673113791,"routes":[{"train":"4-3","connections":[["A27","B26","C27","D28"],["D28","E27","E25","D24"],["D24","D22","D20"]],"hexes":["A27","D28","D24","D20"],"revenue":260,"revenue_str":"A27-D28-D24-D20","nodes":["A27-0","D28-0","D24-0","D20-0"]}]},{"kind":"half","type":"dividend","entity":"IC","entity_type":"corporation","id":1020,"user":605,"created_at":1673113797},{"type":"pass","entity":"IC","entity_type":"corporation","id":1021,"user":605,"created_at":1673113812},{"type":"undo","entity":"IC","action_id":1018,"entity_type":"corporation","id":1022,"user":605,"created_at":1673113818},{"type":"dividend","entity":"IC","entity_type":"corporation","id":1023,"created_at":1673113821,"kind":"half"},{"type":"pass","entity":"IC","entity_type":"corporation","id":1024,"user":605,"created_at":1673113822},{"loan":31,"type":"payoff_loan","entity":"IC","entity_type":"corporation","id":1025,"user":605,"created_at":1673113823},{"type":"pass","entity":"IC","entity_type":"corporation","id":1026,"user":605,"created_at":1673113825},{"type":"undo","entity":"B&O","action_id":1023,"entity_type":"corporation","id":1029,"user":605,"created_at":1673113867},{"type":"pass","entity":"IC","entity_type":"corporation","id":1030,"created_at":1673113878},{"type":"payoff_loan","entity":"IC","entity_type":"corporation","id":1031,"created_at":1673113879,"loan":31},{"type":"pass","entity":"IC","entity_type":"corporation","id":1032,"created_at":1673113880},{"type":"lay_tile","entity":"B&O","entity_type":"corporation","id":1035,"created_at":1673113914,"hex":"C29","tile":"448-0","rotation":0},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1036,"created_at":1673113917},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1037,"created_at":1673113919},{"type":"run_routes","entity":"B&O","entity_type":"corporation","id":1038,"created_at":1673113940,"routes":[{"train":"4-0","connections":[["D20","D22","D24"],["D24","D26","D28"],["D28","C29"]],"hexes":["D20","D24","D28","C29"],"revenue":230,"revenue_str":"D20-D24-D28-C29","nodes":["D20-0","D24-0","D28-0","C29-0"]},{"train":"3+-1","connections":[["D24","E25","E27","D28"],["D28","C27","B26","A27"]],"hexes":["D24","D28","A27"],"revenue":200,"revenue_str":"D24-D28-A27","nodes":["D24-0","D28-0","A27-0"]}]},{"type":"dividend","entity":"B&O","entity_type":"corporation","id":1039,"created_at":1673113956,"kind":"half"},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1040,"created_at":1673113959},{"type":"payoff_loan","entity":"B&O","entity_type":"corporation","id":1041,"created_at":1673113962,"loan":32},{"type":"payoff_loan","entity":"B&O","entity_type":"corporation","id":1042,"created_at":1673113962,"loan":33},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1043,"created_at":1673113964},{"type":"lay_tile","entity":"SR","entity_type":"corporation","id":1044,"created_at":1673113989,"hex":"E19","tile":"545-0","rotation":0},{"type":"pass","entity":"SR","entity_type":"corporation","id":1045,"created_at":1673113991},{"type":"pass","entity":"SR","entity_type":"corporation","id":1046,"created_at":1673113994},{"type":"run_routes","entity":"SR","entity_type":"corporation","id":1047,"created_at":1673114008,"routes":[{"train":"3-0","connections":[["F18","G19","H18","I17","I19"],["D20","E19","F18"]],"hexes":["I19","F18","D20"],"revenue":180,"revenue_str":"I19-F18-D20","nodes":["F18-0","I19-0","D20-0"]}]},{"type":"dividend","entity":"SR","entity_type":"corporation","id":1048,"created_at":1673114010,"kind":"payout"},{"type":"pass","entity":"SR","entity_type":"corporation","id":1049,"user":1463,"created_at":1673114014},{"type":"undo","entity":"SR","entity_type":"corporation","id":1050,"user":1463,"created_at":1673114062},{"type":"buy_train","entity":"SR","entity_type":"corporation","id":1051,"created_at":1673114095,"train":"4-6","price":1},{"type":"pass","entity":"SR","entity_type":"corporation","id":1052,"created_at":1673114099},{"type":"pass","entity":"SR","entity_type":"corporation","id":1053,"created_at":1673114105},{"type":"lay_tile","entity":"GN","entity_type":"corporation","id":1054,"created_at":1673114122,"hex":"D14","tile":"63-1","rotation":0},{"type":"pass","entity":"GN","entity_type":"corporation","id":1055,"created_at":1673114124},{"type":"pass","entity":"GN","entity_type":"corporation","id":1056,"created_at":1673114126},{"type":"run_routes","entity":"GN","entity_type":"corporation","id":1057,"created_at":1673114135,"routes":[{"train":"3+-0","connections":[["D14","C15","B16","B18","B20","B22","C23"],["D20","C19","D18","D16","D14"]],"hexes":["C23","D14","D20"],"revenue":200,"revenue_str":"C23-D14-D20","nodes":["D14-0","C23-0","D20-0"]}]},{"type":"dividend","entity":"GN","entity_type":"corporation","id":1058,"created_at":1673114139,"kind":"payout"},{"type":"pass","entity":"GN","entity_type":"corporation","id":1059,"created_at":1673114141},{"type":"pass","entity":"GN","entity_type":"corporation","id":1060,"created_at":1673114143},{"hex":"H20","tile":"63-2","type":"lay_tile","entity":"ATSF","rotation":0,"entity_type":"corporation","id":1061,"user":605,"created_at":1673114175},{"type":"undo","entity":"ATSF","action_id":1060,"entity_type":"corporation","id":1062,"user":605,"created_at":1673114186},{"hex":"G23","tile":"9-9","type":"lay_tile","entity":"ATSF","rotation":0,"entity_type":"corporation","id":1063,"user":605,"created_at":1673114203},{"hex":"F24","tile":"9-10","type":"lay_tile","entity":"ATSF","rotation":0,"entity_type":"corporation","id":1064,"user":605,"created_at":1673114210},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1065,"user":605,"created_at":1673114214},{"type":"undo","entity":"ATSF","action_id":1060,"entity_type":"corporation","id":1066,"user":605,"created_at":1673114255},{"hex":"H20","tile":"63-2","type":"lay_tile","entity":"ATSF","rotation":0,"entity_type":"corporation","id":1067,"user":605,"created_at":1673114267},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1068,"user":605,"created_at":1673114270},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1069,"user":605,"created_at":1673114271},{"type":"undo","entity":"ATSF","action_id":1060,"entity_type":"corporation","id":1070,"user":605,"created_at":1673114281},{"type":"lay_tile","entity":"ATSF","entity_type":"corporation","id":1071,"created_at":1673114284,"hex":"G23","tile":"9-9","rotation":0},{"type":"lay_tile","entity":"ATSF","entity_type":"corporation","id":1072,"created_at":1673114287,"hex":"F24","tile":"9-10","rotation":0},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1073,"created_at":1673114292},{"type":"run_routes","entity":"ATSF","entity_type":"corporation","id":1074,"created_at":1673114297,"routes":[{"train":"3-4","connections":[["I19","I17","H18","G19","F18"],["F18","E19","D20"]],"hexes":["I19","F18","D20"],"revenue":170,"revenue_str":"I19-F18-D20","nodes":["I19-0","F18-0","D20-0"]},{"train":"3-3","connections":[["I19","I21","H22"],["H22","G23","F24","E25","E27","D28"]],"hexes":["I19","H22","D28"],"revenue":210,"revenue_str":"I19-H22-D28","nodes":["I19-0","H22-0","D28-0"]}]},{"type":"dividend","entity":"ATSF","entity_type":"corporation","id":1075,"created_at":1673114309,"kind":"half"},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1076,"created_at":1673114313},{"type":"pass","entity":"UP","entity_type":"corporation","id":1077,"created_at":1673114329},{"type":"pass","entity":"MP","entity_type":"corporation","id":1078,"created_at":1673114339},{"type":"pass","entity":"NYC","entity_type":"corporation","id":1079,"created_at":1673114410},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1080,"created_at":1673114413},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1081,"created_at":1673114458},{"type":"pass","entity":"IC","entity_type":"corporation","id":1082,"created_at":1673114473},{"type":"pass","entity":"SR","entity_type":"corporation","id":1083,"created_at":1673114489},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1084,"created_at":1673114499},{"type":"pass","entity":"GN","entity_type":"corporation","id":1085,"created_at":1673114500},{"type":"program_merger_pass","entity":4339,"entity_type":"player","id":1086,"created_at":1673114504,"corporations_by_round":{"AR":["B&O","GN","N&W"],"MR":["B&O","GN","N&W"]},"options":[]},{"type":"merge","entity":"ATSF","entity_type":"corporation","id":1087,"created_at":1673114512,"corporation":"UP"},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1088,"created_at":1673114554,"shares":["ATSF_8"],"percent":10,"share_price":false},{"type":"pass","entity":4339,"entity_type":"player","id":1089,"created_at":1673114562},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1090,"created_at":1673114569,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673114569}]},{"type":"pass","entity":1463,"entity_type":"player","id":1091,"created_at":1673114577},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1092,"created_at":1673114687,"shares":["NYC_1"],"percent":20,"share_price":false},{"type":"short","entity":605,"entity_type":"player","id":1093,"created_at":1673114741,"corporation":"PRR"},{"type":"bid","entity":605,"entity_type":"player","id":1094,"created_at":1673114754,"corporation":"UP","price":400},{"type":"place_token","entity":"UP","entity_type":"corporation","id":1095,"created_at":1673114758,"city":"593-2-0","slot":2,"tokener":"UP"},{"type":"pass","entity":4339,"entity_type":"player","id":1096,"created_at":1673114767},{"type":"sell_shares","entity":1463,"entity_type":"player","id":1097,"created_at":1673114778,"shares":["PRR_2"],"percent":20},{"type":"short","entity":1463,"entity_type":"player","id":1098,"created_at":1673114784,"corporation":"PRR"},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1099,"created_at":1673114862,"shares":["NYC_2"],"percent":20,"share_price":false},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1100,"created_at":1673114875,"shares":["NYC_3"],"percent":20,"share_price":false},{"type":"short","entity":3763,"entity_type":"player","id":1101,"created_at":1673114977,"corporation":"IC"},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1102,"created_at":1673115013,"shares":["B&O_2"],"percent":20,"share_price":false},{"type":"short","entity":605,"entity_type":"player","id":1103,"created_at":1673115039,"corporation":"PRR"},{"type":"buy_shares","entity":605,"entity_type":"player","id":1104,"created_at":1673115044,"shares":["B&O_3"],"percent":20,"share_price":false},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1106,"created_at":1673115100,"shares":["TP_2"],"percent":10,"share_price":false},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1107,"created_at":1673115134,"shares":["TP_4"],"percent":10,"share_price":false},{"type":"short","entity":3763,"entity_type":"player","id":1108,"created_at":1673115148,"corporation":"IC"},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1109,"created_at":1673115151,"shares":["MP_1"],"percent":20,"share_price":false},{"type":"take_loan","entity":"IC","entity_type":"corporation","id":1110,"created_at":1673115190,"loan":57},{"type":"take_loan","entity":"IC","entity_type":"corporation","id":1111,"created_at":1673115192,"loan":58},{"type":"buy_shares","entity":"IC","entity_type":"corporation","id":1112,"created_at":1673115197,"shares":["IC_10"],"percent":20},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1113,"created_at":1673115248,"shares":["IC_12"],"percent":20,"share_price":false},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1114,"created_at":1673115285,"shares":["PRR_14"],"percent":20,"share_price":false},{"type":"sell_shares","entity":3763,"entity_type":"player","id":1115,"created_at":1673115302,"shares":["PRR_1"],"percent":20},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1116,"created_at":1673115305,"shares":["MP_2"],"percent":20,"share_price":false},{"type":"short","entity":605,"corporation":"MP","entity_type":"player","id":1117,"user":605,"created_at":1673115341},{"type":"undo","entity":605,"entity_type":"player","id":1118,"user":605,"created_at":1673115354},{"type":"short","entity":605,"entity_type":"player","id":1119,"created_at":1673115358,"corporation":"TP"},{"type":"buy_shares","entity":605,"entity_type":"player","id":1120,"created_at":1673115362,"shares":["MP_3"],"percent":20,"share_price":false},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1121,"created_at":1673115450,"shares":["TP_10"],"percent":10,"share_price":false},{"type":"program_share_pass","entity":4339,"entity_type":"player","id":1122,"created_at":1673115472,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673115467}],"unconditional":false,"indefinite":false},{"type":"sell_shares","entity":3763,"entity_type":"player","id":1123,"created_at":1673115487,"shares":["MP_1"],"percent":20},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1124,"created_at":1673115491,"shares":["TP_5"],"percent":10,"share_price":false},{"type":"short","entity":605,"entity_type":"player","id":1125,"created_at":1673115557,"corporation":"PRR"},{"type":"pass","entity":605,"entity_type":"player","id":1126,"created_at":1673115565},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1127,"created_at":1673115576,"auto_actions":[{"type":"program_disable","entity":4339,"entity_type":"player","created_at":1673115575,"reason":"Shares were sold"}],"shares":["MP_1"],"percent":20,"share_price":false},{"type":"program_share_pass","entity":4339,"entity_type":"player","id":1128,"created_at":1673115594,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673115589}],"unconditional":false,"indefinite":false},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1129,"created_at":1673115616,"shares":["TP_6"],"percent":10,"share_price":false},{"type":"short","entity":605,"entity_type":"player","id":1130,"created_at":1673115629,"corporation":"TP"},{"type":"buy_shares","entity":605,"entity_type":"player","id":1131,"created_at":1673115636,"shares":["UP_1"],"percent":10,"share_price":false},{"type":"pass","entity":1463,"entity_type":"player","id":1132,"created_at":1673115722,"auto_actions":[{"type":"program_disable","entity":4339,"entity_type":"player","created_at":1673115721,"reason":"Short bought"}]},{"type":"program_share_pass","entity":4339,"entity_type":"player","id":1133,"created_at":1673115731,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673115726}],"unconditional":false,"indefinite":false},{"type":"pass","entity":3763,"entity_type":"player","id":1134,"created_at":1673115740},{"type":"sell_shares","entity":605,"entity_type":"player","id":1135,"created_at":1673115779,"shares":["MP_3"],"percent":20},{"type":"buy_shares","entity":605,"entity_type":"player","id":1136,"created_at":1673115781,"shares":["UP_2"],"percent":10,"share_price":false},{"type":"take_loan","entity":"TP","entity_type":"corporation","id":1137,"created_at":1673115845,"loan":59},{"type":"buy_shares","entity":"TP","entity_type":"corporation","id":1138,"created_at":1673115849,"auto_actions":[{"type":"program_disable","entity":4339,"entity_type":"player","created_at":1673115849,"reason":"Shares were sold"}],"shares":["TP_12"],"percent":10},{"type":"program_share_pass","entity":4339,"entity_type":"player","id":1139,"created_at":1673115876,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673115871}],"unconditional":false,"indefinite":false},{"type":"pass","entity":3763,"entity_type":"player","id":1140,"created_at":1673115893},{"type":"pass","entity":605,"entity_type":"player","id":1141,"created_at":1673115939},{"type":"pass","entity":1463,"entity_type":"player","id":1142,"created_at":1673116000},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":1143,"created_at":1673116061,"hex":"I21","tile":"545-1","rotation":1},{"type":"pass","entity":"UP","entity_type":"corporation","id":1144,"created_at":1673116066},{"type":"take_loan","entity":"UP","entity_type":"corporation","id":1145,"created_at":1673116067,"loan":60},{"type":"take_loan","entity":"UP","entity_type":"corporation","id":1146,"created_at":1673116069,"loan":61},{"type":"place_token","entity":"UP","entity_type":"corporation","id":1147,"created_at":1673116071,"city":"X13-0-0","slot":2,"tokener":"UP"},{"type":"pass","entity":"UP","entity_type":"corporation","id":1148,"created_at":1673116075},{"type":"buy_train","entity":"UP","entity_type":"corporation","id":1149,"created_at":1673116076,"train":"6-1","price":750,"variant":"6"},{"type":"pass","entity":"UP","entity_type":"corporation","id":1150,"created_at":1673116078},{"type":"pass","entity":"UP","entity_type":"corporation","id":1151,"created_at":1673116079},{"type":"lay_tile","entity":"NYC","entity_type":"corporation","id":1152,"created_at":1673116136,"hex":"G13","tile":"8-7","rotation":4},{"type":"lay_tile","entity":"NYC","entity_type":"corporation","id":1153,"created_at":1673116138,"hex":"H12","tile":"8-2","rotation":1},{"type":"run_routes","entity":"NYC","entity_type":"corporation","id":1154,"created_at":1673116147,"routes":[{"train":"5-1","connections":[["H22","H20"],["H20","I19"],["I19","I17","H16","G15","G13","H12","H10","H8"],["H8","H6","H4","I5"]],"hexes":["H22","H20","I19","H8","I5"],"revenue":280,"revenue_str":"H22-H20-I19-H8-I5","nodes":["H22-0","H20-0","I19-0","H8-0","I5-0"]},{"train":"4-1","connections":[["J20","I19"],["I19","I21","H22"],["H22","G23","F24","E25","E27","D28"]],"hexes":["J20","I19","H22","D28"],"revenue":250,"revenue_str":"J20-I19-H22-D28","nodes":["J20-0","I19-0","H22-0","D28-0"]}]},{"type":"dividend","entity":"NYC","entity_type":"corporation","id":1155,"created_at":1673116176,"kind":"half"},{"type":"payoff_loan","entity":"NYC","entity_type":"corporation","id":1156,"created_at":1673116178,"loan":23},{"type":"payoff_loan","entity":"NYC","entity_type":"corporation","id":1157,"created_at":1673116179,"loan":44},{"type":"payoff_loan","entity":"NYC","entity_type":"corporation","id":1158,"created_at":1673116180,"loan":45},{"type":"payoff_loan","entity":"NYC","entity_type":"corporation","id":1159,"created_at":1673116181,"loan":46},{"type":"payoff_loan","entity":"NYC","entity_type":"corporation","id":1160,"created_at":1673116183,"loan":47},{"loan":62,"type":"take_loan","entity":"NYC","entity_type":"corporation","id":1161,"user":3763,"created_at":1673116183},{"type":"undo","entity":"NYC","entity_type":"corporation","id":1162,"user":3763,"created_at":1673116187},{"type":"pass","entity":"NYC","entity_type":"corporation","id":1163,"created_at":1673116195},{"type":"lay_tile","entity":"B&O","entity_type":"corporation","id":1164,"created_at":1673116215,"hex":"E23","tile":"63-2","rotation":0},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1165,"created_at":1673116217},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1166,"created_at":1673116218},{"type":"run_routes","entity":"B&O","entity_type":"corporation","id":1167,"created_at":1673116244,"routes":[{"train":"4-0","connections":[["D20","D22","D24"],["D24","D26","D28"],["D28","C29"]],"hexes":["D20","D24","D28","C29"],"revenue":230,"revenue_str":"D20-D24-D28-C29","nodes":["D20-0","D24-0","D28-0","C29-0"]},{"train":"3+-1","connections":[["A27","B26","C27","D28"],["D28","E27","E25","F24","G23","H22"]],"hexes":["A27","D28","H22"],"revenue":210,"revenue_str":"A27-D28-H22","nodes":["A27-0","D28-0","H22-0"]}]},{"type":"dividend","entity":"B&O","entity_type":"corporation","id":1168,"created_at":1673116272,"kind":"withhold"},{"type":"buy_train","entity":"B&O","entity_type":"corporation","id":1169,"created_at":1673116279,"train":"6-2","price":750,"variant":"6"},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1170,"created_at":1673116283},{"hex":"F20","tile":"63-3","type":"lay_tile","entity":"MP","rotation":0,"entity_type":"corporation","id":1171,"user":1463,"created_at":1673116319},{"type":"pass","entity":"MP","entity_type":"corporation","id":1172,"user":1463,"created_at":1673116320},{"type":"undo","entity":"MP","entity_type":"corporation","id":1173,"user":1463,"created_at":1673116338},{"type":"undo","entity":"MP","entity_type":"corporation","id":1174,"user":1463,"created_at":1673116344},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":1175,"created_at":1673116346,"hex":"D18","tile":"546-1","rotation":3},{"type":"pass","entity":"MP","entity_type":"corporation","id":1176,"created_at":1673116355},{"type":"pass","entity":"MP","entity_type":"corporation","id":1177,"created_at":1673116357},{"type":"run_routes","entity":"MP","entity_type":"corporation","id":1178,"created_at":1673116382,"routes":[{"train":"4+-0","connections":[["F18","E19","D18","C19","D20"],["E17","F16","G15","H16","I17","H18","G19","F18"],["D14","D16","D18","E17"]],"hexes":["D20","F18","E17","D14"],"revenue":250,"revenue_str":"D20-F18-E17-D14","nodes":["F18-0","D20-0","E17-0","D14-0"]}]},{"kind":"half","type":"dividend","entity":"MP","entity_type":"corporation","id":1179,"user":1463,"created_at":1673116389},{"type":"undo","entity":"MP","entity_type":"corporation","id":1180,"user":1463,"created_at":1673116406},{"kind":"withhold","type":"dividend","entity":"MP","entity_type":"corporation","id":1181,"user":1463,"created_at":1673116407},{"type":"buy_train","price":750,"train":"6-3","entity":"MP","variant":"6","entity_type":"corporation","id":1182,"user":1463,"created_at":1673116412},{"type":"undo","entity":"MP","entity_type":"corporation","id":1183,"user":1463,"created_at":1673116427},{"type":"undo","entity":"MP","entity_type":"corporation","id":1184,"user":1463,"created_at":1673116435},{"kind":"half","type":"dividend","entity":"MP","entity_type":"corporation","id":1185,"user":1463,"created_at":1673116437},{"type":"buy_train","price":750,"train":"6-3","entity":"MP","variant":"6","entity_type":"corporation","id":1186,"user":1463,"created_at":1673116442},{"type":"undo","entity":"IC","entity_type":"corporation","id":1187,"user":1463,"created_at":1673116455},{"type":"undo","entity":"MP","entity_type":"corporation","id":1188,"user":1463,"created_at":1673116462},{"type":"dividend","entity":"MP","entity_type":"corporation","id":1189,"created_at":1673116464,"kind":"withhold"},{"type":"buy_train","entity":"MP","entity_type":"corporation","id":1190,"created_at":1673116466,"train":"6-3","price":750,"variant":"6"},{"type":"pass","entity":"MP","entity_type":"corporation","id":1191,"created_at":1673116469},{"type":"lay_tile","entity":"IC","entity_type":"corporation","id":1192,"created_at":1673116478,"hex":"G23","tile":"83-3","rotation":0},{"type":"pass","entity":"IC","entity_type":"corporation","id":1193,"created_at":1673116483},{"type":"pass","entity":"IC","entity_type":"corporation","id":1194,"created_at":1673116486},{"type":"run_routes","entity":"IC","entity_type":"corporation","id":1195,"created_at":1673116491,"routes":[{"train":"4-3","connections":[["A27","B26","C27","C29"],["C29","D28"],["D28","E27","E25","F24","G23","H22"]],"hexes":["A27","C29","D28","H22"],"revenue":250,"revenue_str":"A27-C29-D28-H22","nodes":["A27-0","C29-0","D28-0","H22-0"]}]},{"type":"dividend","entity":"IC","entity_type":"corporation","id":1196,"created_at":1673116503,"kind":"payout"},{"type":"pass","entity":"IC","entity_type":"corporation","id":1197,"created_at":1673116507},{"type":"lay_tile","entity":"ATSF","entity_type":"corporation","id":1198,"created_at":1673116538,"hex":"I23","tile":"83-4","rotation":2},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1199,"created_at":1673116543},{"type":"run_routes","entity":"ATSF","entity_type":"corporation","id":1200,"created_at":1673116565,"routes":[{"train":"5-2","connections":[["D14","D16","D18","C19","D20"],["D20","E19","F18"],["F18","G19","H18","I17","H16","G15","G13","H12","H10","H8"],["H8","H6","H4","I5"]],"hexes":["D14","D20","F18","H8","I5"],"revenue":330,"revenue_str":"D14-D20-F18-H8-I5","nodes":["D14-0","D20-0","F18-0","H8-0","I5-0"]},{"train":"4-2","connections":[["A27","B26","C25"],["C25","D26","D28"],["D28","E27","E25","F24","G23","H22"]],"hexes":["A27","C25","D28","H22"],"revenue":250,"revenue_str":"A27-C25-D28-H22","nodes":["A27-0","C25-0","D28-0","H22-0"]}]},{"type":"dividend","entity":"ATSF","entity_type":"corporation","id":1201,"created_at":1673116567,"kind":"half"},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1202,"created_at":1673116568,"loan":24},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1203,"created_at":1673116583},{"type":"lay_tile","entity":"SR","entity_type":"corporation","id":1204,"created_at":1673116607,"hex":"G23","tile":"544-0","rotation":2},{"type":"pass","entity":"SR","entity_type":"corporation","id":1205,"created_at":1673116611},{"type":"pass","entity":"SR","entity_type":"corporation","id":1206,"created_at":1673116616},{"type":"run_routes","entity":"SR","entity_type":"corporation","id":1207,"created_at":1673116626,"routes":[{"train":"4-6","connections":[["F18","E19","D18","C19","D20"],["F20","F18"],["D28","E27","E25","F24","G23","F22","F20"]],"hexes":["D20","F18","F20","D28"],"revenue":280,"revenue_str":"D20-F18-F20-D28","nodes":["F18-0","D20-0","F20-0","D28-0"]}]},{"type":"dividend","entity":"SR","entity_type":"corporation","id":1208,"created_at":1673116627,"kind":"payout"},{"type":"pass","entity":"SR","entity_type":"corporation","id":1209,"created_at":1673116636},{"type":"pass","entity":"SR","entity_type":"corporation","id":1210,"created_at":1673116638},{"type":"lay_tile","entity":"N&W","entity_type":"corporation","id":1211,"created_at":1673116665,"hex":"F20","tile":"63-3","rotation":0},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1212,"created_at":1673116669},{"type":"run_routes","entity":"N&W","entity_type":"corporation","id":1213,"created_at":1673116717,"routes":[{"train":"5-3","connections":[["D28","E27","E25","F24","G23","F22","F20"],["F20","F18"],["F18","G19","H18","I17","H16","G15","G13","H12","H10","H8"],["H8","H6","H4","I5"]],"hexes":["D28","F20","F18","H8","I5"],"revenue":330,"revenue_str":"D28-F20-F18-H8-I5","nodes":["D28-0","F20-0","F18-0","H8-0","I5-0"]},{"train":"4-4","connections":[["D28","D26","D24"],["D24","D22","D20"],["D20","C19","D18","D16","D14"]],"hexes":["D28","D24","D20","D14"],"revenue":280,"revenue_str":"D28-D24-D20-D14","nodes":["D28-0","D24-0","D20-0","D14-0"]}]},{"type":"dividend","entity":"N&W","entity_type":"corporation","id":1214,"created_at":1673116732,"kind":"withhold"},{"type":"payoff_loan","entity":"N&W","entity_type":"corporation","id":1215,"created_at":1673116733,"loan":28},{"type":"payoff_loan","entity":"N&W","entity_type":"corporation","id":1216,"created_at":1673116734,"loan":40},{"type":"payoff_loan","entity":"N&W","entity_type":"corporation","id":1217,"created_at":1673116735,"loan":50},{"type":"payoff_loan","entity":"N&W","entity_type":"corporation","id":1218,"created_at":1673116736,"loan":51},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1219,"created_at":1673116738},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":1220,"created_at":1673116766,"hex":"H8","tile":"63-4","rotation":0},{"type":"choose","entity":"PRR","entity_type":"corporation","id":1221,"created_at":1673116771,"choice":"0-0"},{"type":"run_routes","entity":"PRR","entity_type":"corporation","id":1222,"created_at":1673116781,"routes":[{"train":"4-5","connections":[["I5","H4","H6","H8"],["H8","H10","H12","G13","G15","H16","I17","I19"],["I19","I21","I23","H22"],["H22","G23","F24","E25","E27","D28"]],"hexes":["I5","H8","I19","H22","D28"],"revenue":350,"revenue_str":"I5-H8-I19-H22-D28","nodes":["I5-0","H8-0","I19-0","H22-0","D28-0"]}]},{"kind":"withhold","type":"dividend","entity":"PRR","entity_type":"corporation","id":1223,"user":3763,"created_at":1673116803},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1224,"user":3763,"created_at":1673116807},{"type":"undo","entity":"PRR","entity_type":"corporation","id":1225,"user":3763,"created_at":1673116814},{"type":"undo","entity":"PRR","entity_type":"corporation","id":1226,"user":3763,"created_at":1673116839},{"type":"dividend","entity":"PRR","entity_type":"corporation","id":1227,"created_at":1673116856,"kind":"withhold"},{"type":"buy_train","entity":"PRR","entity_type":"corporation","id":1228,"created_at":1673116868,"train":"4-1","price":1},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":1229,"created_at":1673116871,"loan":3},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1230,"created_at":1673116874},{"type":"lay_tile","entity":"TP","entity_type":"corporation","id":1231,"created_at":1673116921,"hex":"F22","tile":"546coal-1","rotation":5},{"type":"pass","entity":"TP","entity_type":"corporation","id":1232,"created_at":1673116924},{"type":"place_token","entity":"TP","entity_type":"corporation","id":1233,"created_at":1673116942,"city":"593-0-0","slot":2,"tokener":"TP"},{"type":"buy_train","entity":"TP","entity_type":"corporation","id":1234,"created_at":1673116944,"train":"P-0","price":200,"variant":"P"},{"type":"choose","entity":"TP","entity_type":"corporation","id":1235,"created_at":1673116966,"choice":"0-0"},{"type":"run_routes","entity":"TP","entity_type":"corporation","id":1236,"created_at":1673116967,"routes":[{"train":"5-4","connections":[["E17","F16","G15","H16","I17","I19"],["D20","C19","D18","E17"],["E23","D22","D20"],["D28","E27","E25","F24","G23","F22","E23"]],"hexes":["I19","E17","D20","E23","D28"],"revenue":430,"revenue_str":"I19-E17-D20-E23-D28","nodes":["E17-0","I19-0","D20-0","E23-0","D28-0"]}]},{"kind":"half","type":"dividend","entity":"TP","entity_type":"corporation","id":1237,"user":1463,"created_at":1673116969},{"type":"undo","entity":"TP","entity_type":"corporation","id":1238,"user":1463,"created_at":1673116984},{"type":"dividend","entity":"TP","entity_type":"corporation","id":1239,"created_at":1673116996,"kind":"half"},{"type":"pass","entity":"TP","entity_type":"corporation","id":1240,"created_at":1673117005},{"type":"lay_tile","entity":"GN","entity_type":"corporation","id":1241,"created_at":1673117019,"hex":"F14","tile":"8-8","rotation":2},{"type":"pass","entity":"GN","entity_type":"corporation","id":1242,"created_at":1673117023},{"type":"pass","entity":"GN","entity_type":"corporation","id":1243,"created_at":1673117024},{"type":"run_routes","entity":"GN","entity_type":"corporation","id":1244,"created_at":1673117043,"routes":[{"train":"3+-0","connections":[["D20","C19","D18","D16","D14"],["D14","E13","F14","F16","G15","H16","I17","I19"]],"hexes":["D20","D14","I19"],"revenue":210,"revenue_str":"D20-D14-I19","nodes":["D20-0","D14-0","I19-0"]}]},{"type":"dividend","entity":"GN","entity_type":"corporation","id":1245,"created_at":1673117052,"kind":"payout"},{"type":"pass","entity":"GN","entity_type":"corporation","id":1246,"created_at":1673117056},{"type":"pass","entity":"GN","entity_type":"corporation","id":1247,"created_at":1673117057},{"type":"pass","entity":"NYC","entity_type":"corporation","id":1248,"created_at":1673117065},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1249,"created_at":1673117104},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1250,"created_at":1673117106},{"type":"program_merger_pass","entity":4339,"entity_type":"player","id":1251,"created_at":1673117109,"corporations_by_round":{"AR":["B&O","N&W"],"MR":["B&O","N&W"]},"options":[]},{"type":"pass","entity":"IC","entity_type":"corporation","id":1252,"created_at":1673117116},{"type":"pass","entity":"MP","entity_type":"corporation","id":1253,"created_at":1673117124},{"type":"pass","entity":"SR","entity_type":"corporation","id":1254,"created_at":1673117125},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1255,"created_at":1673117132},{"type":"bid","entity":3763,"entity_type":"player","id":1256,"created_at":1673117156,"corporation":"GN","price":10},{"type":"bid","entity":605,"entity_type":"player","id":1257,"created_at":1673117192,"corporation":"GN","price":20},{"type":"pass","entity":1463,"entity_type":"player","id":1258,"created_at":1673117202},{"type":"bid","entity":4339,"entity_type":"player","id":1259,"created_at":1673117208,"corporation":"GN","price":30},{"type":"bid","entity":3763,"entity_type":"player","id":1260,"created_at":1673117215,"corporation":"GN","price":40},{"type":"pass","entity":605,"entity_type":"player","id":1261,"created_at":1673117222},{"type":"bid","entity":4339,"entity_type":"player","id":1262,"created_at":1673117228,"corporation":"GN","price":50},{"type":"pass","entity":3763,"entity_type":"player","id":1263,"created_at":1673117244},{"type":"merge","entity":4339,"entity_type":"player","id":1264,"created_at":1673117251,"corporation":"B&O"},{"type":"pass","entity":3763,"entity_type":"player","id":1265,"created_at":1673117313},{"type":"pass","entity":1463,"entity_type":"player","id":1266,"created_at":1673117320},{"type":"pass","entity":605,"entity_type":"player","id":1267,"created_at":1673117334},{"type":"lay_tile","entity":"NYC","entity_type":"corporation","id":1268,"created_at":1673117351,"hex":"H22","tile":"597-0","rotation":5},{"type":"pass","entity":"NYC","entity_type":"corporation","id":1269,"created_at":1673117354},{"type":"pass","entity":"NYC","entity_type":"corporation","id":1270,"created_at":1673117371},{"type":"run_routes","entity":"NYC","entity_type":"corporation","id":1271,"created_at":1673117386,"routes":[{"train":"5-1","connections":[["I5","H4","H6","H8"],["H8","H10","H12","G13","G15","H16","I17","I19"],["I19","I21","I23","H22"],["H22","G23","F24","E25","E27","D28"]],"hexes":["I5","H8","I19","H22","D28"],"revenue":380,"revenue_str":"I5-H8-I19-H22-D28","nodes":["I5-0","H8-0","I19-0","H22-0","D28-0"]}]},{"type":"dividend","entity":"NYC","entity_type":"corporation","id":1272,"created_at":1673117389,"kind":"payout"},{"type":"pass","entity":"NYC","entity_type":"corporation","id":1273,"created_at":1673117394},{"type":"pass","entity":"NYC","entity_type":"corporation","id":1274,"created_at":1673117397},{"type":"lay_tile","entity":"ATSF","entity_type":"corporation","id":1275,"created_at":1673117409,"hex":"H20","tile":"63-5","rotation":0},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1276,"created_at":1673117411},{"type":"run_routes","entity":"ATSF","entity_type":"corporation","id":1277,"created_at":1673117419,"routes":[{"train":"5-2","connections":[["D14","D16","D18","C19","D20"],["D20","E19","F18"],["F18","G19","H18","I17","H16","G15","G13","H12","H10","H8"],["H8","H6","H4","I5"]],"hexes":["D14","D20","F18","H8","I5"],"revenue":350,"revenue_str":"D14-D20-F18-H8-I5","nodes":["D14-0","D20-0","F18-0","H8-0","I5-0"]},{"train":"4-2","connections":[["A27","B26","C25"],["C25","D26","D28"],["D28","E27","E25","F24","G23","H22"]],"hexes":["A27","C25","D28","H22"],"revenue":290,"revenue_str":"A27-C25-D28-H22","nodes":["A27-0","C25-0","D28-0","H22-0"]}]},{"type":"dividend","entity":"ATSF","entity_type":"corporation","id":1278,"created_at":1673117424,"kind":"half"},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1279,"created_at":1673117426,"loan":25},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1280,"created_at":1673117427,"loan":65},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1281,"created_at":1673117428},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":1282,"created_at":1673117436,"hex":"H18","tile":"82-5","rotation":3},{"type":"pass","entity":"UP","entity_type":"corporation","id":1283,"created_at":1673117439},{"type":"place_token","entity":"UP","entity_type":"corporation","id":1284,"created_at":1673117441,"city":"63-4-0","slot":1,"tokener":"UP"},{"type":"pass","entity":"UP","entity_type":"corporation","id":1285,"created_at":1673117444},{"type":"run_routes","entity":"UP","entity_type":"corporation","id":1286,"created_at":1673117460,"routes":[{"train":"6-1","connections":[["I5","H4","H6","H8"],["H8","H10","H12","G13","G15","H16","I17","H18","H20"],["H20","I21","I23","H22"],["H22","G23","F24","E25","D24"],["D24","D26","D28"]],"hexes":["I5","H8","H20","H22","D24","D28"],"revenue":410,"revenue_str":"I5-H8-H20-H22-D24-D28","nodes":["I5-0","H8-0","H20-0","H22-0","D24-0","D28-0"]}]},{"kind":"payout","type":"dividend","entity":"UP","entity_type":"corporation","id":1287,"user":605,"created_at":1673117484},{"type":"pass","entity":"UP","entity_type":"corporation","id":1288,"user":605,"created_at":1673117487},{"loan":60,"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":1289,"user":605,"created_at":1673117490},{"type":"undo","entity":"UP","action_id":1286,"entity_type":"corporation","id":1290,"user":605,"created_at":1673117510},{"type":"dividend","entity":"UP","entity_type":"corporation","id":1291,"created_at":1673117513,"kind":"half"},{"type":"pass","entity":"UP","entity_type":"corporation","id":1292,"created_at":1673117520},{"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":1293,"created_at":1673117522,"loan":60},{"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":1294,"created_at":1673117523,"loan":61},{"type":"pass","entity":"UP","entity_type":"corporation","id":1295,"created_at":1673117524},{"hex":"G19","tile":"83-5","type":"lay_tile","entity":"N&W","rotation":3,"entity_type":"corporation","id":1296,"user":4339,"created_at":1673117550},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1297,"user":4339,"created_at":1673117554},{"type":"undo","entity":"N&W","action_id":1295,"entity_type":"corporation","id":1298,"user":4339,"created_at":1673117562},{"type":"lay_tile","entity":"N&W","entity_type":"corporation","id":1299,"created_at":1673117568,"hex":"D28","tile":"X30-0","rotation":4},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1300,"created_at":1673117571},{"type":"run_routes","entity":"N&W","entity_type":"corporation","id":1301,"created_at":1673117619,"routes":[{"train":"5-3","connections":[["D28","E27","E25","E23"],["E23","D24"],["D24","D22","D20"],["D20","C19","D18","D16","D14"]],"hexes":["D28","E23","D24","D20","D14"],"revenue":350,"revenue_str":"D28-E23-D24-D20-D14","nodes":["D28-0","E23-0","D24-0","D20-0","D14-0"]},{"train":"4-4","connections":[["A27","B26","C27","D28"],["D28","D26","D24"],["D24","E25","F24","G23","H22"]],"hexes":["A27","D28","D24","H22"],"revenue":320,"revenue_str":"A27-D28-D24-H22","nodes":["A27-0","D28-0","D24-0","H22-0"]}]},{"type":"dividend","entity":"N&W","entity_type":"corporation","id":1302,"created_at":1673117627,"kind":"half"},{"type":"payoff_loan","entity":"N&W","entity_type":"corporation","id":1303,"created_at":1673117628,"loan":52},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1304,"created_at":1673117630},{"type":"lay_tile","entity":"IC","entity_type":"corporation","id":1305,"created_at":1673117671,"hex":"H24","tile":"82-1","rotation":5},{"type":"pass","entity":"IC","entity_type":"corporation","id":1306,"created_at":1673117674},{"type":"run_routes","entity":"IC","entity_type":"corporation","id":1307,"created_at":1673117680,"routes":[{"train":"4-3","connections":[["A27","B26","C27","C29"],["C29","D28"],["D28","E27","E25","F24","G23","H22"]],"hexes":["A27","C29","D28","H22"],"revenue":310,"revenue_str":"A27-C29-D28-H22","nodes":["A27-0","C29-0","D28-0","H22-0"]}]},{"type":"dividend","entity":"IC","entity_type":"corporation","id":1308,"created_at":1673117715,"kind":"half"},{"type":"pass","entity":"IC","entity_type":"corporation","id":1309,"created_at":1673117729},{"hex":"C17","tile":"619-1","type":"lay_tile","entity":"MP","rotation":5,"entity_type":"corporation","id":1310,"user":1463,"created_at":1673117797},{"hex":"D18","tile":"60-0","type":"lay_tile","entity":"MP","rotation":0,"entity_type":"corporation","id":1311,"user":1463,"created_at":1673117802},{"type":"undo","entity":"MP","action_id":1309,"entity_type":"corporation","id":1312,"user":1463,"created_at":1673117828},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":1313,"created_at":1673117835,"hex":"E21","tile":"8-9","rotation":5},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":1314,"created_at":1673117838,"hex":"E19","tile":"60-0","rotation":0},{"type":"run_routes","entity":"MP","entity_type":"corporation","id":1315,"created_at":1673117875,"routes":[{"train":"4+-0","connections":[["C29","B30","B28","A27"],["C25","B26","C27","C29"],["D28","D26","C25"]],"hexes":["A27","C29","C25","D28"],"revenue":270,"revenue_str":"A27-C29-C25-D28","nodes":["C29-0","A27-0","C25-0","D28-0"]},{"train":"6-3","connections":[["H20","H22"],["E17","F16","G15","H16","I17","H18","H20"],["F18","E17"],["D28","E27","E25","F24","G23","F22","E21","E19","F18"]],"hexes":["H22","H20","E17","F18","D28"],"revenue":340,"revenue_str":"H22-H20-E17-F18-D28","nodes":["H20-0","H22-0","E17-0","F18-0","D28-0"]}]},{"type":"dividend","entity":"MP","entity_type":"corporation","id":1316,"created_at":1673117880,"kind":"half"},{"type":"payoff_loan","entity":"MP","entity_type":"corporation","id":1317,"created_at":1673117883,"loan":41},{"type":"pass","entity":"MP","entity_type":"corporation","id":1318,"created_at":1673117897},{"type":"lay_tile","entity":"SR","entity_type":"corporation","id":1319,"created_at":1673117909,"hex":"I19","tile":"597-1","rotation":1},{"type":"pass","entity":"SR","entity_type":"corporation","id":1320,"created_at":1673117911},{"type":"pass","entity":"SR","entity_type":"corporation","id":1321,"created_at":1673117915},{"type":"run_routes","entity":"SR","entity_type":"corporation","id":1322,"created_at":1673117933,"routes":[{"train":"4-6","connections":[["F20","F22","G23","F24","E25","E27","D28"],["F18","E19","F20"],["I19","I17","H18","G19","F18"]],"hexes":["D28","F20","F18","I19"],"revenue":310,"revenue_str":"D28-F20-F18-I19","nodes":["F20-0","D28-0","F18-0","I19-0"]}]},{"type":"dividend","entity":"SR","entity_type":"corporation","id":1323,"created_at":1673117936,"kind":"payout"},{"type":"pass","entity":"SR","entity_type":"corporation","id":1324,"created_at":1673117940},{"type":"pass","entity":"SR","entity_type":"corporation","id":1325,"created_at":1673117943},{"type":"lay_tile","entity":"B&O","entity_type":"corporation","id":1326,"created_at":1673117966,"hex":"D20","tile":"597-2","rotation":4},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1327,"created_at":1673117973},{"type":"run_routes","entity":"B&O","entity_type":"corporation","id":1328,"created_at":1673118016,"routes":[{"train":"6-2","connections":[["D20","C19","D18","D16","D14"],["D14","C15","B16","B18","B20","B22","C23"],["C23","D22","D24"],["D24","D26","D28"],["D28","C29"]],"hexes":["D20","D14","C23","D24","D28","C29"],"revenue":420,"revenue_str":"D20-D14-C23-D24-D28-C29","nodes":["D20-0","D14-0","C23-0","D24-0","D28-0","C29-0"]},{"train":"4-0","connections":[["A27","B26","C27","D28"],["D28","E27","E25","F24","G23","F22","E21","E19","F18"],["F18","G19","H18","I17","I19"]],"hexes":["A27","D28","F18","I19"],"revenue":330,"revenue_str":"A27-D28-F18-I19","nodes":["A27-0","D28-0","F18-0","I19-0"]}]},{"type":"dividend","entity":"B&O","entity_type":"corporation","id":1329,"created_at":1673118022,"kind":"half"},{"type":"payoff_loan","entity":"B&O","entity_type":"corporation","id":1330,"created_at":1673118024,"loan":34},{"type":"payoff_loan","entity":"B&O","entity_type":"corporation","id":1331,"created_at":1673118026,"loan":35},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1332,"created_at":1673118027},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":1333,"created_at":1673118092,"hex":"G19","tile":"81-1","rotation":0},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1335,"created_at":1673118116},{"type":"run_routes","entity":"PRR","entity_type":"corporation","id":1336,"created_at":1673118130,"routes":[{"train":"4-1","connections":[["I5","H4","H6","H8"],["H8","H10","H12","G13","G15","H16","I17","H18","G19","F18"],["F18","E19","D18","C19","D20"]],"hexes":["I5","H8","F18","D20"],"revenue":300,"revenue_str":"I5-H8-F18-D20","nodes":["I5-0","H8-0","F18-0","D20-0"]},{"train":"4-5","connections":[["D28","E27","E25","F24","G23","H22"],["H22","H20"],["H20","I21","I19"]],"hexes":["D28","H22","H20","I19"],"revenue":310,"revenue_str":"D28-H22-H20-I19","nodes":["D28-0","H22-0","H20-0","I19-0"]}]},{"type":"dividend","entity":"PRR","entity_type":"corporation","id":1337,"created_at":1673118141,"kind":"payout"},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":1338,"created_at":1673118144,"loan":6},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":1339,"created_at":1673118146,"loan":7},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1340,"created_at":1673118155},{"type":"lay_tile","entity":"TP","entity_type":"corporation","id":1341,"created_at":1673118174,"hex":"C17","tile":"14-2","rotation":2},{"type":"pass","entity":"TP","entity_type":"corporation","id":1342,"created_at":1673118176},{"type":"choose","entity":"TP","entity_type":"corporation","id":1343,"created_at":1673118192,"choice":"0-0"},{"type":"run_routes","entity":"TP","entity_type":"corporation","id":1344,"created_at":1673118194,"routes":[{"train":"5-4","connections":[["I19","I21","H22"],["E17","F16","G15","H16","I17","I19"],["D20","C19","D18","E19","E17"],["D28","E27","E25","F24","G23","F22","E21","E19","D20"]],"hexes":["H22","I19","E17","D20","D28"],"revenue":530,"revenue_str":"H22-I19-E17-D20-D28","nodes":["I19-0","H22-0","E17-0","D20-0","D28-0"]}]},{"type":"dividend","entity":"TP","entity_type":"corporation","id":1345,"created_at":1673118199,"kind":"half"},{"type":"payoff_loan","entity":"TP","entity_type":"corporation","id":1346,"created_at":1673118201,"loan":20},{"type":"pass","entity":"TP","entity_type":"corporation","id":1347,"created_at":1673118206},{"type":"pass","entity":"NYC","entity_type":"corporation","id":1348,"created_at":1673118244},{"type":"convert","entity":"N&W","entity_type":"corporation","id":1349,"created_at":1673118256},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1350,"created_at":1673118258,"shares":["N&W_4"],"percent":10,"share_price":false},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1351,"created_at":1673118259,"shares":["N&W_5"],"percent":10,"share_price":false},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1352,"created_at":1673118261,"shares":["N&W_6"],"percent":10,"share_price":false},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1353,"created_at":1673118304,"shares":["N&W_7"],"percent":10,"share_price":false},{"type":"buy_shares","entity":605,"entity_type":"player","id":1356,"created_at":1673118438,"shares":["N&W_8"],"percent":10,"share_price":false},{"type":"pass","entity":1463,"entity_type":"player","id":1357,"created_at":1673118451},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1359,"created_at":1673118459},{"type":"convert","entity":"B&O","entity_type":"corporation","id":1360,"created_at":1673118461},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1361,"created_at":1673118463,"shares":["B&O_4"],"percent":10,"share_price":false},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1362,"created_at":1673118480,"shares":["B&O_5"],"percent":10,"share_price":false},{"type":"sell_shares","entity":605,"entity_type":"player","id":1364,"created_at":1673118507,"shares":["B&O_3"],"percent":10},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1366,"created_at":1673118531,"shares":["B&O_6"],"percent":10,"share_price":false},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1367,"created_at":1673118539},{"type":"convert","entity":"MP","entity_type":"corporation","id":1368,"created_at":1673118553},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1369,"created_at":1673118555,"shares":["MP_4"],"percent":10,"share_price":false},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1370,"created_at":1673118557,"shares":["MP_5"],"percent":10,"share_price":false},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1371,"created_at":1673118567,"shares":["MP_6"],"percent":10,"share_price":false},{"type":"pass","entity":605,"entity_type":"player","id":1373,"created_at":1673118576},{"type":"pass","entity":"MP","entity_type":"corporation","id":1374,"created_at":1673118619},{"type":"pass","entity":"IC","entity_type":"corporation","id":1375,"created_at":1673118627},{"type":"pass","entity":"SR","entity_type":"corporation","id":1377,"created_at":1673118638},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1380,"created_at":1673118655},{"type":"pass","entity":1463,"entity_type":"player","id":1381,"created_at":1673118667},{"type":"pass","entity":3763,"entity_type":"player","id":1382,"created_at":1673118676},{"type":"pass","entity":1463,"entity_type":"player","id":1384,"created_at":1673118695},{"type":"assign","entity":605,"entity_type":"player","id":1387,"created_at":1673118708,"target":"IC","target_type":"corporation"},{"type":"pass","entity":1463,"entity_type":"player","id":1388,"created_at":1673118723},{"type":"pass","entity":4339,"entity_type":"player","id":1389,"created_at":1673118733},{"type":"bid","entity":605,"entity_type":"player","id":1390,"created_at":1673118738,"corporation":"IC","price":830},{"type":"pass","entity":"UP","entity_type":"corporation","id":1391,"created_at":1673118743},{"type":"sell_shares","entity":3763,"entity_type":"player","id":1392,"created_at":1673118784,"shares":["TP_5","TP_6"],"percent":20},{"type":"pass","entity":1463,"entity_type":"player","id":1393,"created_at":1673118808},{"type":"pass","entity":4339,"entity_type":"player","id":1394,"created_at":1673118814},{"type":"pass","entity":4339,"entity_type":"player","id":1395,"created_at":1673118816},{"type":"pass","entity":605,"entity_type":"player","id":1396,"created_at":1673118824},{"type":"pass","entity":3763,"entity_type":"player","id":1397,"created_at":1673118831},{"type":"sell_shares","entity":4339,"entity_type":"player","id":1398,"created_at":1673118842,"shares":["ATSF_2","ATSF_7"],"percent":20},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1399,"created_at":1673118844,"shares":["B&O_3"],"percent":10,"share_price":false},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1400,"created_at":1673118883,"shares":["UP_3"],"percent":10,"share_price":false},{"type":"buy_shares","entity":605,"entity_type":"player","id":1401,"created_at":1673118899,"shares":["B&O_7"],"percent":10,"share_price":false},{"type":"sell_shares","entity":1463,"entity_type":"player","id":1402,"created_at":1673118940,"shares":["ATSF_3"],"percent":10},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1403,"created_at":1673118947,"shares":["B&O_8"],"percent":10,"share_price":false},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1404,"created_at":1673118982,"shares":["MP_3"],"percent":10,"share_price":false},{"type":"sell_shares","entity":3763,"entity_type":"player","id":1405,"created_at":1673118992,"shares":["MP_2"],"percent":10},{"type":"buy_shares","entity":3763,"shares":["PRR_3"],"percent":20,"entity_type":"player","share_price":false,"id":1406,"user":3763,"created_at":1673118994},{"type":"undo","entity":605,"entity_type":"player","id":1407,"user":3763,"created_at":1673119000},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1408,"created_at":1673119002,"shares":["PRR_2"],"percent":20,"share_price":false},{"type":"buy_shares","entity":605,"entity_type":"player","id":1409,"created_at":1673119015,"shares":["UP_4"],"percent":10,"share_price":false},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1410,"created_at":1673119025,"shares":["MP_2"],"percent":10,"share_price":false},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1411,"created_at":1673119035,"shares":["UP_5"],"percent":10,"share_price":false},{"type":"take_loan","entity":"PRR","entity_type":"corporation","id":1412,"created_at":1673119047,"loan":68},{"type":"take_loan","entity":"PRR","entity_type":"corporation","id":1413,"created_at":1673119056,"loan":69},{"type":"take_loan","entity":"PRR","entity_type":"corporation","id":1414,"created_at":1673119065,"loan":0},{"type":"buy_shares","entity":"PRR","entity_type":"corporation","id":1415,"created_at":1673119075,"shares":["PRR_16","PRR_18"],"percent":40},{"type":"buy_shares","entity":605,"entity_type":"player","id":1416,"created_at":1673119085,"shares":["PRR_1"],"percent":20,"share_price":false},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1417,"created_at":1673119100,"shares":["PRR_20"],"percent":20,"share_price":false},{"type":"sell_shares","entity":4339,"entity_type":"player","id":1418,"created_at":1673119134,"shares":["NYC_3"],"percent":20},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1419,"created_at":1673119143,"shares":["PRR_3"],"percent":20,"share_price":false},{"type":"pass","entity":3763,"entity_type":"player","id":1420,"created_at":1673119167},{"type":"short","entity":605,"entity_type":"player","id":1421,"created_at":1673119179,"corporation":"NYC"},{"type":"buy_shares","entity":605,"entity_type":"player","id":1422,"created_at":1673119182,"shares":["PRR_10"],"percent":20,"share_price":false},{"type":"sell_shares","entity":1463,"entity_type":"player","id":1423,"created_at":1673119199,"shares":["ATSF_8"],"percent":10},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1424,"created_at":1673119203,"shares":["UP_6"],"percent":10,"share_price":false},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1425,"created_at":1673119215,"shares":["MP_7"],"percent":10,"share_price":false},{"type":"pass","entity":3763,"entity_type":"player","id":1426,"created_at":1673119240},{"type":"short","entity":605,"entity_type":"player","id":1427,"created_at":1673119249,"corporation":"NYC"},{"type":"buy_shares","entity":605,"entity_type":"player","id":1428,"created_at":1673119253,"shares":["PRR_12"],"percent":20,"share_price":false},{"type":"sell_shares","entity":1463,"entity_type":"player","id":1429,"created_at":1673119279,"shares":["NYC_2"],"percent":20},{"type":"buy_shares","entity":1463,"entity_type":"player","id":1430,"created_at":1673119307,"shares":["UP_7"],"percent":10,"share_price":false},{"type":"sell_shares","entity":4339,"entity_type":"player","id":1431,"created_at":1673119323,"shares":["TP_4"],"percent":10},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1432,"created_at":1673119325,"shares":["MP_8"],"percent":10,"share_price":false},{"type":"pass","entity":3763,"entity_type":"player","id":1433,"created_at":1673119331},{"type":"buy_shares","entity":605,"entity_type":"player","id":1434,"created_at":1673119347,"shares":["UP_8"],"percent":10,"share_price":false},{"type":"take_loan","entity":"TP","entity_type":"corporation","id":1435,"created_at":1673119374,"loan":1},{"type":"take_loan","entity":"TP","entity_type":"corporation","id":1436,"created_at":1673119377,"loan":2},{"type":"take_loan","entity":"TP","entity_type":"corporation","id":1437,"created_at":1673119379,"loan":4},{"type":"buy_shares","entity":"TP","entity_type":"corporation","id":1438,"created_at":1673119410,"shares":["TP_5","TP_6","TP_4"],"percent":30},{"type":"pass","entity":1463,"entity_type":"player","id":1439,"created_at":1673119416},{"type":"program_share_pass","entity":4339,"entity_type":"player","id":1440,"created_at":1673119422,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673119416}],"unconditional":false,"indefinite":false},{"type":"pass","entity":3763,"entity_type":"player","id":1441,"created_at":1673119428},{"type":"buy_shares","entity":605,"entity_type":"player","id":1442,"created_at":1673119443,"shares":["PRR_16"],"percent":20,"share_price":false},{"type":"pass","entity":1463,"entity_type":"player","id":1443,"created_at":1673119454,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673119453}]},{"type":"pass","entity":3763,"entity_type":"player","id":1444,"created_at":1673119462},{"type":"buy_shares","entity":605,"entity_type":"player","id":1445,"created_at":1673119473,"shares":["PRR_18"],"percent":20,"share_price":false},{"type":"pass","entity":1463,"entity_type":"player","id":1446,"created_at":1673119485,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673119484}]},{"type":"pass","entity":3763,"entity_type":"player","id":1447,"created_at":1673119495},{"type":"buy_shares","entity":605,"entity_type":"player","id":1448,"created_at":1673119510,"shares":["TP_7"],"percent":10,"share_price":false},{"type":"pass","entity":1463,"entity_type":"player","id":1449,"created_at":1673119529,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673119528}]},{"type":"pass","entity":3763,"entity_type":"player","id":1450,"created_at":1673119536},{"type":"short","entity":605,"entity_type":"player","id":1451,"created_at":1673119546,"corporation":"NYC"},{"type":"buy_shares","entity":605,"entity_type":"player","id":1452,"created_at":1673119551,"shares":["TP_8"],"percent":10,"share_price":false},{"type":"pass","entity":1463,"entity_type":"player","id":1453,"created_at":1673119557,"auto_actions":[{"type":"program_disable","entity":4339,"entity_type":"player","created_at":1673119557,"reason":"Short bought"}]},{"type":"program_share_pass","entity":4339,"entity_type":"player","id":1454,"created_at":1673119565,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673119559}],"unconditional":false,"indefinite":false},{"type":"pass","entity":3763,"entity_type":"player","id":1455,"created_at":1673119577},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1456,"created_at":1673119586,"loan":5},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1457,"created_at":1673119591,"loan":12},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1458,"created_at":1673119594,"loan":18},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1459,"created_at":1673119599,"loan":9},{"type":"buy_shares","entity":"ATSF","entity_type":"corporation","id":1460,"created_at":1673119604,"shares":["ATSF_2","ATSF_7","ATSF_3","ATSF_8"],"percent":40},{"type":"pass","entity":1463,"entity_type":"player","id":1461,"created_at":1673119620,"auto_actions":[{"type":"program_disable","entity":4339,"entity_type":"player","created_at":1673119619,"reason":"ATSF took a loan"}]},{"type":"program_share_pass","entity":4339,"entity_type":"player","id":1462,"created_at":1673119665,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673119660}],"unconditional":false,"indefinite":false},{"type":"sell_shares","entity":3763,"entity_type":"player","id":1463,"created_at":1673119674,"shares":["NYC_1"],"percent":20},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1464,"created_at":1673119687,"shares":["ATSF_2"],"percent":10,"share_price":false},{"type":"buy_shares","entity":605,"entity_type":"player","id":1465,"created_at":1673119697,"shares":["TP_12"],"percent":10,"share_price":false},{"type":"pass","entity":1463,"entity_type":"player","id":1466,"created_at":1673119707,"auto_actions":[{"type":"program_disable","entity":4339,"entity_type":"player","created_at":1673119706,"reason":"Shares were sold"}]},{"type":"program_share_pass","entity":4339,"entity_type":"player","id":1467,"created_at":1673119748,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673119742}],"unconditional":false,"indefinite":false},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1468,"created_at":1673119758,"shares":["ATSF_7"],"percent":10,"share_price":false},{"type":"buy_shares","entity":605,"entity_type":"player","id":1469,"created_at":1673119770,"shares":["TP_5"],"percent":10,"share_price":false},{"type":"pass","entity":1463,"entity_type":"player","id":1470,"created_at":1673119783,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673119782}]},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1471,"created_at":1673119798,"shares":["TP_6"],"percent":10,"share_price":false},{"type":"buy_shares","entity":605,"entity_type":"player","id":1472,"created_at":1673119814,"shares":["TP_4"],"percent":10,"share_price":false},{"type":"pass","entity":1463,"entity_type":"player","id":1473,"created_at":1673119827,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673119826}]},{"type":"pass","entity":3763,"entity_type":"player","id":1474,"created_at":1673119833},{"type":"pass","entity":605,"entity_type":"player","id":1475,"created_at":1673119844},{"type":"lay_tile","entity":"P16","entity_type":"company","id":1476,"created_at":1673119951,"hex":"D14","tile":"X23-0","rotation":0},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1477,"created_at":1673119961},{"type":"place_token","entity":"N&W","entity_type":"corporation","id":1478,"created_at":1673119963,"city":"X23-0-0","slot":2,"tokener":"N&W"},{"type":"run_routes","entity":"N&W","entity_type":"corporation","id":1479,"created_at":1673120017,"routes":[{"train":"5-3","connections":[["D20","D22","E23"],["E23","E25","D24"],["D24","D26","D28"],["D28","C27","B26","A27"]],"hexes":["D20","E23","D24","D28","A27"],"revenue":360,"revenue_str":"D20-E23-D24-D28-A27","nodes":["D20-0","E23-0","D24-0","D28-0","A27-0"]},{"train":"4-4","connections":[["D28","E27","E25","F24","G23","F22","E21","E19","D20"],["D20","C19","D18","D16","D14"],["D14","E13","F14","F16","G15","H16","I17","I19"]],"hexes":["D28","D20","D14","I19"],"revenue":380,"revenue_str":"D28-D20-D14-I19","nodes":["D28-0","D20-0","D14-0","I19-0"]}]},{"type":"dividend","entity":"N&W","entity_type":"corporation","id":1480,"created_at":1673120019,"kind":"payout"},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1481,"created_at":1673120021},{"type":"lay_tile","entity":"B&O","entity_type":"corporation","id":1482,"created_at":1673120045,"hex":"G19","tile":"546-2","rotation":2},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1483,"created_at":1673120048},{"type":"place_token","entity":"B&O","entity_type":"corporation","id":1484,"created_at":1673120061,"city":"63-5-0","slot":1,"tokener":"B&O"},{"type":"run_routes","entity":"B&O","entity_type":"corporation","id":1485,"created_at":1673120065,"routes":[{"train":"6-2","connections":[["D20","C19","D18","D16","D14"],["D14","C15","B16","B18","B20","B22","C23"],["C23","D22","D24"],["D24","D26","D28"],["D28","C29"]],"hexes":["D20","D14","C23","D24","D28","C29"],"revenue":430,"revenue_str":"D20-D14-C23-D24-D28-C29","nodes":["D20-0","D14-0","C23-0","D24-0","D28-0","C29-0"]},{"train":"4-0","connections":[["A27","B26","C27","D28"],["D28","E27","E25","F24","G23","F22","E21","E19","F18"],["F18","G19","H18","I17","I19"]],"hexes":["A27","D28","F18","I19"],"revenue":330,"revenue_str":"A27-D28-F18-I19","nodes":["A27-0","D28-0","F18-0","I19-0"]}]},{"type":"dividend","entity":"B&O","entity_type":"corporation","id":1486,"created_at":1673120066,"kind":"half"},{"type":"payoff_loan","entity":"B&O","entity_type":"corporation","id":1487,"created_at":1673120069,"loan":36},{"type":"payoff_loan","entity":"B&O","entity_type":"corporation","id":1488,"created_at":1673120070,"loan":62},{"type":"payoff_loan","entity":"B&O","entity_type":"corporation","id":1489,"created_at":1673120071,"loan":64},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1490,"created_at":1673120072},{"type":"lay_tile","entity":"NYC","entity_type":"corporation","id":1491,"created_at":1673120091,"hex":"D18","tile":"60-1","rotation":0},{"type":"pass","entity":"NYC","entity_type":"corporation","id":1492,"created_at":1673120092},{"type":"take_loan","entity":"NYC","entity_type":"corporation","id":1493,"created_at":1673120101,"loan":10},{"type":"buy_train","entity":"NYC","entity_type":"corporation","id":1494,"created_at":1673120102,"train":"P-1","price":200,"variant":"P"},{"type":"choose","entity":"NYC","entity_type":"corporation","id":1495,"created_at":1673120105,"choice":"0-0"},{"type":"run_routes","entity":"NYC","entity_type":"corporation","id":1496,"created_at":1673120119,"routes":[{"train":"5-1","connections":[["D28","E27","E25","F24","G23","H22"],["H22","I21","I19"],["I19","I17","H18","G19","F18"],["F18","E19","D18","C19","D20"]],"hexes":["D28","H22","I19","F18","D20"],"revenue":520,"revenue_str":"D28-H22-I19-F18-D20","nodes":["D28-0","H22-0","I19-0","F18-0","D20-0"]}]},{"type":"dividend","entity":"NYC","entity_type":"corporation","id":1497,"created_at":1673120139,"kind":"half"},{"type":"pass","entity":"NYC","entity_type":"corporation","id":1498,"created_at":1673120144},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":1499,"created_at":1673120156,"hex":"C17","tile":"63-6","rotation":0},{"type":"pass","entity":"MP","entity_type":"corporation","id":1500,"created_at":1673120160},{"type":"place_token","entity":"MP","entity_type":"corporation","id":1501,"created_at":1673120162,"city":"63-6-0","slot":1,"tokener":"MP"},{"type":"run_routes","entity":"MP","entity_type":"corporation","id":1502,"created_at":1673120184,"routes":[{"train":"4+-0","connections":[["C29","B30","B28","A27"],["C25","B26","C27","C29"],["D28","D26","C25"]],"hexes":["A27","C29","C25","D28"],"revenue":270,"revenue_str":"A27-C29-C25-D28","nodes":["C29-0","A27-0","C25-0","D28-0"]},{"train":"6-3","connections":[["C23","D22","D20"],["C17","B18","B20","B22","C23"],["E17","D18","C17"],["F18","E17"],["D28","E27","E25","F24","G23","F22","E21","E19","F18"]],"hexes":["D20","C23","C17","E17","F18","D28"],"revenue":400,"revenue_str":"D20-C23-C17-E17-F18-D28","nodes":["C23-0","D20-0","C17-0","E17-0","F18-0","D28-0"]}]},{"type":"dividend","entity":"MP","entity_type":"corporation","id":1503,"created_at":1673120186,"kind":"half"},{"type":"payoff_loan","entity":"MP","entity_type":"corporation","id":1504,"created_at":1673120191,"loan":42},{"type":"payoff_loan","entity":"MP","entity_type":"corporation","id":1505,"created_at":1673120193,"loan":19},{"type":"payoff_loan","entity":"MP","entity_type":"corporation","id":1506,"created_at":1673120194,"loan":63},{"type":"pass","entity":"MP","entity_type":"corporation","id":1507,"created_at":1673120198},{"type":"lay_tile","entity":"SR","entity_type":"corporation","id":1508,"created_at":1673120205,"hex":"E13","tile":"82-0","rotation":2},{"type":"pass","entity":"SR","entity_type":"corporation","id":1509,"created_at":1673120208},{"type":"pass","entity":"SR","entity_type":"corporation","id":1510,"created_at":1673120211},{"type":"run_routes","entity":"SR","entity_type":"corporation","id":1511,"created_at":1673120219,"routes":[{"train":"4-6","connections":[["F20","F22","G23","F24","E25","E27","D28"],["F18","E19","F20"],["I19","I17","H18","G19","F18"]],"hexes":["D28","F20","F18","I19"],"revenue":310,"revenue_str":"D28-F20-F18-I19","nodes":["F20-0","D28-0","F18-0","I19-0"]}]},{"type":"dividend","entity":"SR","entity_type":"corporation","id":1512,"created_at":1673120222,"kind":"half"},{"type":"buy_train","entity":"SR","entity_type":"corporation","id":1513,"created_at":1673120237,"train":"6-3","price":155},{"type":"pass","entity":"SR","entity_type":"corporation","id":1514,"created_at":1673120263},{"hex":"D12","tile":"8-10","type":"lay_tile","entity":"ATSF","rotation":2,"entity_type":"corporation","id":1515,"user":605,"created_at":1673120335},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1516,"user":605,"created_at":1673120338},{"type":"undo","entity":"ATSF","action_id":1514,"entity_type":"corporation","id":1517,"user":605,"created_at":1673120420},{"type":"lay_tile","entity":"ATSF","entity_type":"corporation","id":1518,"created_at":1673120424,"hex":"I23","tile":"546-3","rotation":5},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1519,"created_at":1673120427},{"type":"run_routes","entity":"ATSF","entity_type":"corporation","id":1520,"created_at":1673120521,"routes":[{"train":"5-2","connections":[["D20","D22","C23"],["C23","C25"],["C25","D26","D28"],["D28","C27","B26","A27"]],"hexes":["D20","C23","C25","D28","A27"],"revenue":360,"revenue_str":"D20-C23-C25-D28-A27","nodes":["D20-0","C23-0","C25-0","D28-0","A27-0"]},{"train":"4-2","connections":[["D28","E27","E25","F24","G23","F22","E21","E19","D20"],["D20","C19","D18","D16","D14"],["D14","E13","F14","F16","G15","H16","I17","I19"]],"hexes":["D28","D20","D14","I19"],"revenue":380,"revenue_str":"D28-D20-D14-I19","nodes":["D28-0","D20-0","D14-0","I19-0"]}]},{"kind":"half","type":"dividend","entity":"ATSF","entity_type":"corporation","id":1521,"user":605,"created_at":1673120524},{"loan":26,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1522,"user":605,"created_at":1673120525},{"loan":27,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1523,"user":605,"created_at":1673120527},{"loan":43,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1524,"user":605,"created_at":1673120528},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1525,"user":605,"created_at":1673120530},{"type":"undo","entity":"PRR","entity_type":"corporation","id":1526,"user":605,"created_at":1673120543},{"type":"undo","entity":"ATSF","action_id":1520,"entity_type":"corporation","id":1527,"user":605,"created_at":1673120551},{"type":"dividend","entity":"ATSF","entity_type":"corporation","id":1528,"created_at":1673120552,"kind":"withhold"},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1529,"created_at":1673120553,"loan":26},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1530,"created_at":1673120555,"loan":27},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1531,"created_at":1673120556,"loan":43},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1532,"created_at":1673120558,"loan":48},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1533,"created_at":1673120559,"loan":49},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1534,"created_at":1673120561,"loan":65},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1535,"created_at":1673120562},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":1538,"created_at":1673120590,"hex":"I25","tile":"15-5","rotation":0},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1539,"created_at":1673120592},{"type":"choose","entity":"PRR","entity_type":"corporation","id":1540,"created_at":1673120631,"choice":"0-0"},{"type":"run_routes","entity":"PRR","entity_type":"corporation","id":1541,"created_at":1673120649,"routes":[{"train":"4-1","connections":[["I5","H4","H6","H8"],["H8","H10","H12","G13","G15","H16","I17","H18","G19","F18"],["F18","E19","D18","C19","D20"]],"hexes":["I5","H8","F18","D20"],"revenue":300,"revenue_str":"I5-H8-F18-D20","nodes":["I5-0","H8-0","F18-0","D20-0"]},{"train":"4-5","connections":[["D28","E27","E25","F24","G23","H24","I25"],["I25","J24"],["J24","I23","H22"],["H22","I21","I19"]],"hexes":["D28","I25","J24","H22","I19"],"revenue":340,"revenue_str":"D28-I25-J24-H22-I19","nodes":["D28-0","I25-0","J24-0","H22-0","I19-0"]}]},{"type":"dividend","entity":"PRR","entity_type":"corporation","id":1542,"created_at":1673120654,"kind":"payout"},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":1543,"created_at":1673120657,"loan":8},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":1544,"created_at":1673120659,"loan":29},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":1545,"created_at":1673120660,"loan":30},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":1546,"created_at":1673120661,"loan":68},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1547,"created_at":1673120665},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":1548,"created_at":1673120688,"hex":"G21","tile":"8-10","rotation":5},{"type":"pass","entity":"UP","entity_type":"corporation","id":1549,"created_at":1673120693},{"type":"place_token","entity":"UP","entity_type":"corporation","id":1550,"created_at":1673120699,"city":"63-6-0","slot":1,"tokener":"UP"},{"type":"run_routes","entity":"UP","entity_type":"corporation","id":1551,"created_at":1673120765,"routes":[{"train":"6-1","connections":[["C17","D18","C19","D20"],["C17","B18","B20","B22","C23"],["C23","D22","D24"],["D24","D26","D28"],["D28","C27","B26","A27"]],"hexes":["D20","C17","C23","D24","D28","A27"],"revenue":430,"revenue_str":"D20-C17-C23-D24-D28-A27","nodes":["C17-0","D20-0","C23-0","D24-0","D28-0","A27-0"]},{"train":"4-3","connections":[["D28","E27","E25","F24","G23","H22"],["H22","G21","G19","H18","I17","H16","G15","G13","H12","H10","H8"],["H8","H6","H4","I5"]],"hexes":["D28","H22","H8","I5"],"revenue":340,"revenue_str":"D28-H22-H8-I5","nodes":["D28-0","H22-0","H8-0","I5-0"]}]},{"type":"dividend","entity":"UP","entity_type":"corporation","id":1552,"created_at":1673120768,"kind":"half"},{"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":1553,"created_at":1673120771,"loan":37},{"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":1554,"created_at":1673120772,"loan":38},{"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":1555,"created_at":1673120774,"loan":39},{"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":1556,"created_at":1673120776,"loan":57},{"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":1557,"created_at":1673120777,"loan":58},{"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":1558,"created_at":1673120779,"loan":66},{"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":1559,"created_at":1673120780,"loan":67},{"type":"pass","entity":"UP","entity_type":"corporation","id":1560,"created_at":1673120782},{"type":"lay_tile","entity":"TP","entity_type":"corporation","id":1561,"created_at":1673120801,"hex":"C15","tile":"82-2","rotation":0},{"type":"pass","entity":"TP","entity_type":"corporation","id":1562,"created_at":1673120803},{"type":"choose","entity":"TP","entity_type":"corporation","id":1563,"created_at":1673120806,"choice":"0-0"},{"type":"run_routes","entity":"TP","entity_type":"corporation","id":1564,"created_at":1673120821,"routes":[{"train":"5-4","connections":[["I19","I21","H22"],["E17","F16","G15","H16","I17","I19"],["D20","C19","D18","E19","E17"],["D28","E27","E25","F24","G23","F22","E21","E19","D20"]],"hexes":["H22","I19","E17","D20","D28"],"revenue":530,"revenue_str":"H22-I19-E17-D20-D28","nodes":["I19-0","H22-0","E17-0","D20-0","D28-0"]}]},{"type":"dividend","entity":"TP","entity_type":"corporation","id":1565,"created_at":1673120825,"kind":"half"},{"type":"payoff_loan","entity":"TP","entity_type":"corporation","id":1566,"created_at":1673120828,"loan":15},{"type":"payoff_loan","entity":"TP","entity_type":"corporation","id":1567,"created_at":1673120830,"loan":53},{"type":"payoff_loan","entity":"TP","entity_type":"corporation","id":1568,"created_at":1673120832,"loan":54},{"type":"payoff_loan","entity":"TP","entity_type":"corporation","id":1569,"created_at":1673120833,"loan":55},{"type":"payoff_loan","entity":"TP","entity_type":"corporation","id":1570,"created_at":1673120835,"loan":56},{"type":"pass","entity":"TP","entity_type":"corporation","id":1571,"created_at":1673120839},{"type":"merge","entity":"PRR","entity_type":"corporation","id":1572,"created_at":1673120849,"corporation":"NYC"},{"type":"discard_train","train":"4-5","entity":"PRR","entity_type":"corporation","id":1573,"user":3763,"created_at":1673120852},{"type":"discard_train","train":"P-1","entity":"PRR","entity_type":"corporation","id":1574,"user":3763,"created_at":1673120854},{"type":"pass","entity":4339,"entity_type":"player","id":1576,"user":4339,"created_at":1673120875},{"type":"undo","entity":"PRR","entity_type":"corporation","id":1577,"user":3763,"created_at":1673120902},{"type":"pass","entity":4339,"entity_type":"player","id":1578,"user":4339,"created_at":1673120903},{"type":"undo","entity":4339,"entity_type":"player","id":1579,"user":3763,"created_at":1673120907},{"type":"pass","entity":4339,"entity_type":"player","id":1580,"user":4339,"created_at":1673120917},{"type":"undo","entity":4339,"action_id":1572,"entity_type":"player","id":1581,"user":3763,"created_at":1673120952},{"type":"discard_train","entity":"PRR","entity_type":"corporation","id":1582,"created_at":1673120957,"train":"4-5"},{"type":"discard_train","entity":"PRR","entity_type":"corporation","id":1583,"created_at":1673120958,"train":"4-1"},{"type":"pass","entity":4339,"entity_type":"player","id":1584,"created_at":1673120969},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1585,"created_at":1673120982},{"type":"pass","entity":"SR","entity_type":"corporation","id":1586,"created_at":1673120993},{"type":"pass","entity":1463,"entity_type":"player","id":1588,"created_at":1673120995},{"type":"pass","entity":1463,"entity_type":"player","id":1589,"created_at":1673121000},{"type":"program_merger_pass","entity":4339,"entity_type":"player","id":1590,"created_at":1673121013,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673121007}],"corporations_by_round":{"AR":["B&O","N&W"],"MR":["B&O","N&W"]},"options":[]},{"type":"pass","entity":1463,"entity_type":"player","id":1594,"created_at":1673121030},{"type":"lay_tile","entity":"B&O","entity_type":"corporation","id":1596,"created_at":1673121065,"hex":"D22","tile":"X17-0","rotation":3},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1597,"created_at":1673121067},{"type":"place_token","entity":"B&O","entity_type":"corporation","id":1598,"created_at":1673121072,"city":"597-0-0","slot":1,"tokener":"B&O"},{"type":"run_routes","entity":"B&O","entity_type":"corporation","id":1599,"created_at":1673121077,"routes":[{"train":"6-2","connections":[["D20","C19","D18","D16","D14"],["D14","C15","B16","B18","B20","B22","C23"],["C23","D22","D24"],["D24","D26","D28"],["D28","C29"]],"hexes":["D20","D14","C23","D24","D28","C29"],"revenue":430,"revenue_str":"D20-D14-C23-D24-D28-C29","nodes":["D20-0","D14-0","C23-0","D24-0","D28-0","C29-0"]},{"train":"4-0","connections":[["A27","B26","C27","D28"],["D28","E27","E25","F24","G23","F22","E21","E19","F18"],["F18","G19","H18","I17","I19"]],"hexes":["A27","D28","F18","I19"],"revenue":330,"revenue_str":"A27-D28-F18-I19","nodes":["A27-0","D28-0","F18-0","I19-0"]}]},{"kind":"half","type":"dividend","entity":"B&O","entity_type":"corporation","id":1600,"user":4339,"created_at":1673121080},{"type":"undo","entity":"B&O","entity_type":"corporation","id":1602,"user":4339,"created_at":1673121094},{"type":"dividend","entity":"B&O","entity_type":"corporation","id":1603,"created_at":1673121099,"kind":"half"},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1604,"created_at":1673121100},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":1605,"created_at":1673121125,"hex":"D12","tile":"8-11","rotation":3},{"type":"pass","entity":"MP","entity_type":"corporation","id":1606,"created_at":1673121127},{"type":"pass","entity":"MP","entity_type":"corporation","id":1607,"created_at":1673121131},{"type":"pass","entity":"MP","entity_type":"corporation","id":1608,"created_at":1673121133},{"type":"run_routes","entity":"MP","entity_type":"corporation","id":1609,"created_at":1673121149,"routes":[{"train":"4+-0","connections":[["E17","D18","C19","D20"],["F18","E17"],["D28","E27","E25","F24","G23","F22","E21","E19","F18"]],"hexes":["D20","E17","F18","D28"],"revenue":320,"revenue_str":"D20-E17-F18-D28","nodes":["E17-0","D20-0","F18-0","D28-0"]}]},{"type":"dividend","entity":"MP","entity_type":"corporation","id":1610,"created_at":1673121155,"kind":"half"},{"type":"buy_train","entity":"MP","entity_type":"corporation","id":1611,"created_at":1673121159,"train":"8-0","price":1100,"variant":"8"},{"type":"pass","entity":"MP","entity_type":"corporation","id":1613,"created_at":1673121179},{"type":"pass","entity":"MP","entity_type":"corporation","id":1614,"created_at":1673121187},{"type":"lay_tile","entity":"N&W","entity_type":"corporation","id":1615,"created_at":1673121213,"hex":"I25","tile":"448-1","rotation":0},{"type":"lay_tile","entity":"N&W","entity_type":"corporation","id":1616,"created_at":1673121217,"hex":"H26","tile":"9-11","rotation":0},{"type":"place_token","entity":"N&W","entity_type":"corporation","id":1618,"created_at":1673121226,"city":"448-1-0","slot":1,"tokener":"N&W"},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1619,"created_at":1673121232},{"type":"run_routes","entity":"N&W","entity_type":"corporation","id":1622,"created_at":1673121303,"routes":[{"train":"5-3","connections":[["D20","C19","D18","D16","D14"],["F20","E19","D20"],["D28","E27","E25","F24","G23","F22","F20"],["A27","B26","C27","D28"]],"hexes":["D14","D20","F20","D28","A27"],"revenue":430,"revenue_str":"D14-D20-F20-D28-A27","nodes":["D20-0","D14-0","F20-0","D28-0","A27-0"]}]},{"type":"dividend","entity":"N&W","entity_type":"corporation","id":1623,"created_at":1673121305,"kind":"payout"},{"type":"buy_train","entity":"N&W","entity_type":"corporation","id":1624,"created_at":1673121307,"train":"8-1","price":1100,"variant":"8"},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1625,"created_at":1673121309},{"hex":"D12","tile":"81-2","type":"lay_tile","entity":"UP","rotation":1,"entity_type":"corporation","id":1626,"user":605,"created_at":1673121328},{"type":"pass","entity":"UP","entity_type":"corporation","id":1627,"user":605,"created_at":1673121330},{"loan":16,"type":"take_loan","entity":"UP","entity_type":"corporation","id":1628,"user":605,"created_at":1673121334},{"loan":17,"type":"take_loan","entity":"UP","entity_type":"corporation","id":1629,"user":605,"created_at":1673121336},{"type":"buy_train","price":200,"train":"P-2","entity":"UP","variant":"P","entity_type":"corporation","id":1630,"user":605,"created_at":1673121337},{"type":"choose","choice":"0-0","entity":"UP","entity_type":"corporation","id":1631,"user":605,"created_at":1673121354},{"type":"undo","entity":"UP","action_id":1625,"entity_type":"corporation","id":1632,"user":605,"created_at":1673121443},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":1633,"created_at":1673121455,"hex":"D12","tile":"81-2","rotation":1},{"type":"pass","entity":"UP","entity_type":"corporation","id":1634,"user":605,"created_at":1673121457},{"loan":16,"type":"take_loan","entity":"UP","entity_type":"corporation","id":1635,"user":605,"created_at":1673121468},{"loan":17,"type":"take_loan","entity":"UP","entity_type":"corporation","id":1636,"user":605,"created_at":1673121469},{"type":"buy_train","price":200,"train":"P-2","entity":"UP","variant":"P","entity_type":"corporation","id":1637,"user":605,"created_at":1673121471},{"type":"choose","choice":"0-0","entity":"UP","entity_type":"corporation","id":1638,"user":605,"created_at":1673121485},{"type":"undo","entity":"UP","action_id":1633,"entity_type":"corporation","id":1639,"user":605,"created_at":1673121527},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":1640,"created_at":1673121532,"hex":"C13","tile":"8-12","rotation":4},{"type":"take_loan","entity":"UP","entity_type":"corporation","id":1641,"created_at":1673121534,"loan":16},{"type":"take_loan","entity":"UP","entity_type":"corporation","id":1642,"created_at":1673121535,"loan":17},{"type":"buy_train","entity":"UP","entity_type":"corporation","id":1643,"created_at":1673121537,"train":"P-2","price":200,"variant":"P"},{"type":"choose","entity":"UP","entity_type":"corporation","id":1644,"created_at":1673121540,"choice":"0-0"},{"type":"run_routes","entity":"UP","entity_type":"corporation","id":1645,"created_at":1673121562,"routes":[{"train":"6-1","connections":[["D28","E27","E25","F24","G23","H24","I23","I21","H22"],["D24","D26","D28"],["C23","D22","D24"],["H8","H10","H12","G13","G15","F16","F14","E13","D12","C13","C15","B16","B18","B20","B22","C23"],["I5","H4","H6","H8"]],"hexes":["H22","D28","D24","C23","H8","I5"],"revenue":570,"revenue_str":"H22-D28-D24-C23-H8-I5","nodes":["D28-0","H22-0","D24-0","C23-0","H8-0","I5-0"]}]},{"type":"dividend","entity":"UP","entity_type":"corporation","id":1646,"created_at":1673121568,"kind":"half"},{"type":"pass","entity":"UP","entity_type":"corporation","id":1647,"created_at":1673121570},{"type":"lay_tile","entity":"ATSF","entity_type":"corporation","id":1648,"created_at":1673121585,"hex":"D10","tile":"8-13","rotation":4},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1649,"created_at":1673121588},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1650,"created_at":1673121590,"loan":14},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1651,"created_at":1673121591,"loan":13},{"type":"buy_train","entity":"ATSF","entity_type":"corporation","id":1652,"created_at":1673121593,"train":"P-3","price":200,"variant":"P"},{"type":"choose","entity":"ATSF","entity_type":"corporation","id":1653,"created_at":1673121595,"choice":"0-0"},{"type":"run_routes","entity":"ATSF","entity_type":"corporation","id":1654,"created_at":1673121642,"routes":[{"train":"5-2","connections":[["D28","C27","B26","A27"],["I19","I21","I23","H24","G23","F24","E25","E27","D28"],["D14","E13","F14","F16","G15","H16","I17","I19"],["D20","C19","D18","D16","D14"]],"hexes":["A27","D28","I19","D14","D20"],"revenue":550,"revenue_str":"A27-D28-I19-D14-D20","nodes":["D28-0","A27-0","I19-0","D14-0","D20-0"]}]},{"type":"dividend","entity":"ATSF","entity_type":"corporation","id":1655,"created_at":1673121646,"kind":"half"},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1656,"created_at":1673121648},{"type":"pass","entity":"TP","entity_type":"corporation","id":1657,"created_at":1673121662},{"type":"choose","entity":"TP","entity_type":"corporation","id":1658,"created_at":1673121665,"choice":"0-0"},{"type":"run_routes","entity":"TP","entity_type":"corporation","id":1659,"created_at":1673121667,"routes":[{"train":"5-4","connections":[["I19","I21","H22"],["E17","F16","G15","H16","I17","I19"],["D20","C19","D18","E19","E17"],["D28","E27","E25","F24","G23","F22","E21","E19","D20"]],"hexes":["H22","I19","E17","D20","D28"],"revenue":530,"revenue_str":"H22-I19-E17-D20-D28","nodes":["I19-0","H22-0","E17-0","D20-0","D28-0"]}]},{"type":"dividend","entity":"TP","entity_type":"corporation","id":1660,"created_at":1673121669,"kind":"half"},{"type":"payoff_loan","entity":"TP","entity_type":"corporation","id":1662,"created_at":1673121678,"loan":59},{"type":"payoff_loan","entity":"TP","entity_type":"corporation","id":1663,"created_at":1673121679,"loan":1},{"type":"pass","entity":"TP","entity_type":"corporation","id":1664,"created_at":1673121684},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":1666,"created_at":1673121700,"hex":"G9","tile":"8-3","rotation":0},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":1668,"created_at":1673121724,"hex":"F8","tile":"9coal-1","rotation":2},{"type":"place_token","entity":"PRR","entity_type":"corporation","id":1669,"created_at":1673121741,"city":"448-1-0","slot":1,"tokener":"PRR"},{"type":"choose","entity":"PRR","entity_type":"corporation","id":1670,"created_at":1673121744,"choice":"0-1"},{"type":"run_routes","entity":"PRR","entity_type":"corporation","id":1671,"created_at":1673121771,"routes":[{"train":"5-1","connections":[["D28","E27","E25","F24","G23","H22"],["H22","I21","I19"],["I19","I17","H18","G19","F18"],["F18","E19","D18","C19","D20"]],"hexes":["D28","H22","I19","F18","D20"],"revenue":520,"revenue_str":"D28-H22-I19-F18-D20","nodes":["D28-0","H22-0","I19-0","F18-0","D20-0"]}]},{"type":"dividend","entity":"PRR","entity_type":"corporation","id":1672,"created_at":1673121786,"kind":"payout"},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":1673,"created_at":1673121791,"loan":69},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":1674,"created_at":1673121793,"loan":0},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1675,"created_at":1673121801},{"type":"pass","entity":"SR","entity_type":"corporation","id":1676,"created_at":1673121811},{"type":"pass","entity":"SR","entity_type":"corporation","id":1677,"user":1463,"created_at":1673121813},{"type":"run_routes","entity":"SR","routes":[{"hexes":["A27","C25","C23","F18","F20","D28"],"nodes":["C25-0","A27-0","C23-0","F18-0","F20-0","D28-0"],"train":"6-3","revenue":410,"connections":[["C25","B26","A27"],["C23","C25"],["F18","G19","H18","I17","H16","G15","F16","F14","E13","D12","C13","C15","B16","B18","B20","B22","C23"],["F20","F18"],["D28","E27","E25","F24","G23","F22","F20"]],"revenue_str":"A27-C25-C23-F18-F20-D28"}],"entity_type":"corporation","id":1678,"user":1463,"created_at":1673121825},{"kind":"payout","type":"dividend","entity":"SR","entity_type":"corporation","id":1679,"user":1463,"created_at":1673121827},{"type":"undo","entity":"SR","entity_type":"corporation","id":1680,"user":1463,"created_at":1673121875},{"type":"undo","entity":"SR","entity_type":"corporation","id":1681,"user":1463,"created_at":1673121881},{"type":"undo","entity":"SR","entity_type":"corporation","id":1682,"user":1463,"created_at":1673121887},{"type":"take_loan","entity":"SR","entity_type":"corporation","id":1683,"created_at":1673121889,"loan":11},{"type":"take_loan","entity":"SR","entity_type":"corporation","id":1684,"created_at":1673121890,"loan":21},{"type":"buy_train","entity":"SR","entity_type":"corporation","id":1685,"created_at":1673121892,"train":"P-4","price":200,"variant":"P"},{"type":"choose","entity":"SR","entity_type":"corporation","id":1686,"created_at":1673121905,"choice":"0-0"},{"type":"run_routes","entity":"SR","entity_type":"corporation","id":1687,"created_at":1673121907,"routes":[{"train":"6-3","connections":[["C25","B26","A27"],["C23","C25"],["F18","G19","H18","I17","H16","G15","F16","F14","E13","D12","C13","C15","B16","B18","B20","B22","C23"],["F20","F18"],["D28","E27","E25","F24","G23","F22","F20"]],"hexes":["A27","C25","C23","F18","F20","D28"],"revenue":530,"revenue_str":"A27-C25-C23-F18-F20-D28","nodes":["C25-0","A27-0","C23-0","F18-0","F20-0","D28-0"]}]},{"type":"dividend","entity":"SR","entity_type":"corporation","id":1688,"created_at":1673121911,"kind":"half"},{"type":"pass","entity":"SR","entity_type":"corporation","id":1689,"created_at":1673121928},{"type":"pass","entity":1463,"entity_type":"player","id":1690,"created_at":1673121933},{"type":"program_merger_pass","entity":4339,"entity_type":"player","id":1691,"created_at":1673121961,"corporations_by_round":{"AR":["B&O","N&W"],"MR":["B&O","N&W"]},"options":[]},{"type":"pass","entity":605,"entity_type":"player","id":1692,"user":4339,"created_at":1673121970},{"type":"pass","entity":1463,"entity_type":"player","id":1693,"created_at":1673121988},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1694,"created_at":1673122011,"shares":["ATSF_3"],"percent":10,"share_price":false},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1695,"created_at":1673122036,"shares":["ATSF_8"],"percent":10,"share_price":false},{"type":"buy_shares","entity":605,"entity_type":"player","id":1696,"user":3763,"created_at":1673122042,"shares":["PRR_6"],"percent":10,"share_price":false},{"type":"program_share_pass","entity":1463,"entity_type":"player","id":1697,"created_at":1673122056,"auto_actions":[{"type":"pass","entity":1463,"entity_type":"player","created_at":1673122055}],"unconditional":false,"indefinite":false},{"type":"buy_shares","entity":4339,"entity_type":"player","id":1698,"created_at":1673122064,"shares":["PRR_7"],"percent":10,"share_price":false},{"type":"buy_shares","entity":3763,"entity_type":"player","id":1699,"created_at":1673122074,"shares":["PRR_8"],"percent":10,"share_price":false},{"type":"buy_shares","entity":605,"entity_type":"player","id":1700,"user":3763,"created_at":1673122076,"auto_actions":[{"type":"pass","entity":1463,"entity_type":"player","created_at":1673122074}],"shares":["PRR_20"],"percent":10,"share_price":false},{"type":"program_share_pass","entity":4339,"entity_type":"player","id":1701,"created_at":1673122085,"auto_actions":[{"type":"pass","entity":4339,"entity_type":"player","created_at":1673122080}],"unconditional":false,"indefinite":false},{"type":"pass","entity":3763,"entity_type":"player","id":1702,"created_at":1673122103},{"type":"buy_shares","entity":605,"entity_type":"player","id":1703,"user":3763,"created_at":1673122106,"auto_actions":[{"type":"pass","entity":1463,"entity_type":"player","created_at":1673122104},{"type":"pass","entity":4339,"entity_type":"player","created_at":1673122104}],"shares":["PRR_22"],"percent":10,"share_price":false},{"type":"pass","entity":3763,"entity_type":"player","id":1704,"created_at":1673122110},{"type":"pass","entity":605,"entity_type":"player","id":1705,"user":3763,"created_at":1673122116},{"type":"lay_tile","entity":"B&O","entity_type":"corporation","id":1706,"created_at":1673122136,"hex":"E21","tile":"60-2","rotation":0},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1707,"created_at":1673122140},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1708,"created_at":1673122142},{"type":"run_routes","entity":"B&O","entity_type":"corporation","id":1709,"created_at":1673122143,"routes":[{"train":"6-2","connections":[["D20","C19","D18","D16","D14"],["D14","C15","B16","B18","B20","B22","C23"],["C23","D22","D24"],["D24","D26","D28"],["D28","C29"]],"hexes":["D20","D14","C23","D24","D28","C29"],"revenue":430,"revenue_str":"D20-D14-C23-D24-D28-C29","nodes":["D20-0","D14-0","C23-0","D24-0","D28-0","C29-0"]}]},{"type":"dividend","entity":"B&O","entity_type":"corporation","id":1710,"created_at":1673122152,"kind":"payout"},{"type":"buy_train","entity":"B&O","entity_type":"corporation","id":1711,"created_at":1673122154,"train":"8-3","price":1100,"variant":"8"},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1712,"created_at":1673122156},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":1713,"created_at":1673122176,"hex":"E15","tile":"14-1","rotation":0},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":1714,"created_at":1673122179,"hex":"E13","tile":"545-2","rotation":2},{"type":"pass","entity":"MP","entity_type":"corporation","id":1715,"created_at":1673122183},{"type":"pass","entity":"MP","entity_type":"corporation","id":1716,"created_at":1673122188},{"type":"run_routes","entity":"MP","entity_type":"corporation","id":1717,"created_at":1673122297,"routes":[{"train":"4+-0","connections":[["C25","D26","D28"],["C29","C27","B26","C25"],["A27","B28","B30","C29"]],"hexes":["D28","C25","C29","A27"],"revenue":270,"revenue_str":"D28-C25-C29-A27","nodes":["C25-0","D28-0","C29-0","A27-0"]},{"train":"8-0","connections":[["C23","D22","E21","D20"],["C17","B18","B20","B22","C23"],["E17","D18","C17"],["F18","E17"],["D28","E27","E25","F24","G23","F22","E21","E19","F18"]],"hexes":["D20","C23","C17","E17","F18","D28"],"revenue":400,"revenue_str":"D20-C23-C17-E17-F18-D28","nodes":["C23-0","D20-0","C17-0","E17-0","F18-0","D28-0"]}]},{"type":"dividend","entity":"MP","entity_type":"corporation","id":1718,"created_at":1673122298,"kind":"payout"},{"type":"pass","entity":"MP","entity_type":"corporation","id":1719,"created_at":1673122303},{"type":"pass","entity":"MP","entity_type":"corporation","id":1720,"created_at":1673122308},{"type":"lay_tile","entity":"N&W","entity_type":"corporation","id":1721,"created_at":1673122318,"hex":"E25","tile":"60coal-0","rotation":0},{"type":"lay_tile","entity":"N&W","entity_type":"corporation","id":1722,"created_at":1673122323,"hex":"F26","tile":"14-0","rotation":2},{"type":"run_routes","entity":"N&W","entity_type":"corporation","id":1726,"created_at":1673122603,"routes":[{"train":"5-3","connections":[["D28","C29"],["I25","H24","G23","F24","E25","E27","D28"],["J24","I25"],["H22","I23","J24"]],"hexes":["C29","D28","I25","J24","H22"],"revenue":310,"revenue_str":"C29-D28-I25-J24-H22","nodes":["D28-0","C29-0","I25-0","J24-0","H22-0"]},{"train":"8-1","connections":[["D14","E13","F14","F16","G15","H16","I17","I19"],["D20","C19","D18","D16","D14"],["F20","E19","D20"],["E23","F22","F20"],["D24","E25","E23"],["D28","D26","D24"],["A27","B26","C27","D28"]],"hexes":["I19","D14","D20","F20","E23","D24","D28","A27"],"revenue":600,"revenue_str":"I19-D14-D20-F20-E23-D24-D28-A27","nodes":["D14-0","I19-0","D20-0","F20-0","E23-0","D24-0","D28-0","A27-0"]}]},{"type":"dividend","entity":"N&W","entity_type":"corporation","id":1727,"created_at":1673122606,"kind":"payout"},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1728,"created_at":1673122608},{"type":"pass","entity":"TP","entity_type":"corporation","id":1729,"created_at":1673122633},{"type":"choose","entity":"TP","entity_type":"corporation","id":1730,"created_at":1673122636,"choice":"0-0"},{"type":"run_routes","entity":"TP","entity_type":"corporation","id":1731,"created_at":1673122638,"routes":[{"train":"5-4","connections":[["I19","I21","H22"],["E17","F16","G15","H16","I17","I19"],["D20","C19","D18","E19","E17"],["D28","E27","E25","F24","G23","F22","E21","E19","D20"]],"hexes":["H22","I19","E17","D20","D28"],"revenue":530,"revenue_str":"H22-I19-E17-D20-D28","nodes":["I19-0","H22-0","E17-0","D20-0","D28-0"]}]},{"type":"take_loan","entity":"TP","entity_type":"corporation","id":1732,"created_at":1673122652,"loan":22},{"type":"dividend","entity":"TP","entity_type":"corporation","id":1733,"created_at":1673122659,"kind":"half"},{"type":"pass","entity":"TP","entity_type":"corporation","id":1734,"created_at":1673122667},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":1735,"created_at":1673122677,"hex":"H4","tile":"83oil-0","rotation":5},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":1736,"created_at":1673122683,"hex":"G3","tile":"15-4","rotation":2},{"type":"choose","entity":"PRR","entity_type":"corporation","id":1737,"created_at":1673122687,"choice":"0-1"},{"type":"run_routes","entity":"PRR","entity_type":"corporation","id":1738,"created_at":1673122700,"routes":[{"train":"5-1","connections":[["D28","E27","E25","F24","G23","H22"],["H22","I21","I19"],["I19","I17","H16","G15","G13","H12","H10","H8"],["H8","H6","H4","I5"]],"hexes":["D28","H22","I19","H8","I5"],"revenue":520,"revenue_str":"D28-H22-I19-H8-I5","nodes":["D28-0","H22-0","I19-0","H8-0","I5-0"]}]},{"type":"dividend","entity":"PRR","entity_type":"corporation","id":1739,"created_at":1673122703,"kind":"payout"},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1740,"created_at":1673122705},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":1741,"user":3763,"created_at":1673122718,"hex":"G3","tile":"448-2","rotation":2},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":1742,"user":3763,"created_at":1673122722,"hex":"F2","tile":"9-12","rotation":2},{"type":"choose","entity":"UP","entity_type":"corporation","id":1743,"user":3763,"created_at":1673122725,"choice":"0-0"},{"type":"run_routes","entity":"UP","entity_type":"corporation","id":1744,"user":3763,"created_at":1673122780,"routes":[{"train":"6-1","connections":[["G3","F2","E1"],["H8","H6","H4","G3"],["C23","B22","B20","B18","B16","C15","C13","D12","E13","F14","F16","G15","G13","H12","H10","H8"],["C25","C23"],["D28","D26","C25"]],"hexes":["E1","G3","H8","C23","C25","D28"],"revenue":540,"revenue_str":"E1-G3-H8-C23-C25-D28","nodes":["G3-0","E1-0","H8-0","C23-0","C25-0","D28-0"]}]},{"type":"dividend","entity":"UP","entity_type":"corporation","id":1745,"user":3763,"created_at":1673122781,"kind":"payout"},{"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":1746,"user":3763,"created_at":1673122783,"loan":16},{"type":"payoff_loan","entity":"UP","entity_type":"corporation","id":1747,"user":3763,"created_at":1673122785,"loan":17},{"type":"pass","entity":"UP","entity_type":"corporation","id":1748,"user":3763,"created_at":1673122786},{"type":"lay_tile","entity":"ATSF","entity_type":"corporation","id":1749,"user":3763,"created_at":1673122805,"hex":"G21","tile":"82-6","rotation":4},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1750,"user":3763,"created_at":1673122809},{"type":"choose","entity":"ATSF","entity_type":"corporation","id":1751,"user":3763,"created_at":1673122843,"choice":"0-0"},{"type":"run_routes","entity":"ATSF","entity_type":"corporation","id":1752,"user":3763,"created_at":1673122853,"routes":[{"train":"5-2","connections":[["D28","C27","B26","A27"],["I19","I21","I23","H24","G23","F24","E25","E27","D28"],["D14","E13","F14","F16","G15","H16","I17","I19"],["D20","C19","D18","D16","D14"]],"hexes":["A27","D28","I19","D14","D20"],"revenue":550,"revenue_str":"A27-D28-I19-D14-D20","nodes":["D28-0","A27-0","I19-0","D14-0","D20-0"]}]},{"type":"dividend","entity":"ATSF","entity_type":"corporation","id":1753,"user":3763,"created_at":1673122855,"kind":"payout"},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1754,"user":3763,"created_at":1673122857,"loan":5},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1755,"user":3763,"created_at":1673122858,"loan":12},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1756,"user":3763,"created_at":1673122861,"loan":18},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1757,"user":3763,"created_at":1673122862,"loan":9},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1758,"user":3763,"created_at":1673122864,"loan":14},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1759,"user":3763,"created_at":1673122866},{"type":"pass","entity":"SR","entity_type":"corporation","id":1760,"created_at":1673122882},{"type":"choose","entity":"SR","entity_type":"corporation","id":1761,"created_at":1673122884,"choice":"0-0"},{"type":"run_routes","entity":"SR","entity_type":"corporation","id":1762,"created_at":1673122888,"routes":[{"train":"6-3","connections":[["C25","B26","A27"],["C23","C25"],["F18","G19","H18","I17","H16","G15","F16","F14","E13","D12","C13","C15","B16","B18","B20","B22","C23"],["F20","F18"],["D28","E27","E25","F24","G23","F22","F20"]],"hexes":["A27","C25","C23","F18","F20","D28"],"revenue":530,"revenue_str":"A27-C25-C23-F18-F20-D28","nodes":["C25-0","A27-0","C23-0","F18-0","F20-0","D28-0"]}]},{"type":"dividend","entity":"SR","entity_type":"corporation","id":1763,"created_at":1673122890,"kind":"payout"},{"type":"payoff_loan","entity":"SR","entity_type":"corporation","id":1764,"created_at":1673122891,"loan":11},{"type":"payoff_loan","entity":"SR","entity_type":"corporation","id":1765,"created_at":1673122893,"loan":21},{"type":"pass","entity":"SR","entity_type":"corporation","id":1766,"created_at":1673122895},{"type":"pass","entity":"SR","entity_type":"corporation","id":1767,"created_at":1673122899},{"type":"pass","entity":1463,"entity_type":"player","id":1768,"created_at":1673122901},{"hex":"G23","tile":"60-3","type":"lay_tile","entity":"ATSF","rotation":0,"entity_type":"corporation","id":1769,"user":3763,"created_at":1673122932},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1770,"user":3763,"created_at":1673122937},{"type":"choose","choice":"0-0","entity":"ATSF","entity_type":"corporation","id":1771,"user":3763,"created_at":1673122939},{"type":"run_routes","entity":"ATSF","routes":[{"hexes":["A27","D28","I19","D14","D20"],"nodes":["D28-0","A27-0","I19-0","D14-0","D20-0"],"train":"5-2","revenue":550,"connections":[["D28","C27","B26","A27"],["I19","I21","I23","H24","G23","F24","E25","E27","D28"],["D14","E13","F14","F16","G15","H16","I17","I19"],["D20","C19","D18","D16","D14"]],"revenue_str":"A27-D28-I19-D14-D20"}],"entity_type":"corporation","id":1772,"user":3763,"created_at":1673122942},{"kind":"payout","type":"dividend","entity":"ATSF","entity_type":"corporation","id":1773,"user":3763,"created_at":1673122944},{"type":"undo","entity":"ATSF","action_id":1768,"entity_type":"corporation","id":1774,"user":3763,"created_at":1673122956},{"type":"lay_tile","entity":"ATSF","entity_type":"corporation","id":1775,"user":3763,"created_at":1673122962,"hex":"G23","tile":"60-3","rotation":0},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1776,"user":3763,"created_at":1673122965},{"type":"choose","entity":"ATSF","entity_type":"corporation","id":1777,"user":3763,"created_at":1673122968,"choice":"0-0"},{"type":"run_routes","entity":"ATSF","entity_type":"corporation","id":1778,"user":3763,"created_at":1673122971,"routes":[{"train":"5-2","connections":[["D28","C27","B26","A27"],["I19","I21","I23","H24","G23","F24","E25","E27","D28"],["D14","E13","F14","F16","G15","H16","I17","I19"],["D20","C19","D18","D16","D14"]],"hexes":["A27","D28","I19","D14","D20"],"revenue":550,"revenue_str":"A27-D28-I19-D14-D20","nodes":["D28-0","A27-0","I19-0","D14-0","D20-0"]}]},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1779,"user":3763,"created_at":1673122974,"loan":31},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1780,"user":3763,"created_at":1673122977,"loan":32},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1781,"user":3763,"created_at":1673122978,"loan":33},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1782,"user":3763,"created_at":1673122980,"loan":23},{"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1783,"user":3763,"created_at":1673122981,"loan":44},{"type":"dividend","entity":"ATSF","entity_type":"corporation","id":1784,"user":3763,"created_at":1673122986,"kind":"payout"},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1785,"user":3763,"created_at":1673122989},{"type":"lay_tile","entity":"B&O","entity_type":"corporation","id":1786,"created_at":1673123006,"hex":"G27","tile":"15-2","rotation":0},{"type":"lay_tile","entity":"B&O","entity_type":"corporation","id":1787,"created_at":1673123009,"hex":"F26","tile":"611-0","rotation":5},{"type":"run_routes","entity":"B&O","entity_type":"corporation","id":1788,"created_at":1673123157,"routes":[{"train":"6-2","connections":[["F18","E19","D18","C19","D20"],["H22","G21","G19","F18"],["D24","D22","E21","F22","G23","H22"],["D28","E27","E25","D24"],["C29","D28"]],"hexes":["D20","F18","H22","D24","D28","C29"],"revenue":440,"revenue_str":"D20-F18-H22-D24-D28-C29","nodes":["F18-0","D20-0","H22-0","D24-0","D28-0","C29-0"]},{"train":"8-3","connections":[["H22","I21","I19"],["H20","H22"],["D14","E13","F14","F16","G15","H16","I17","H18","H20"],["C23","B22","B20","B18","B16","C15","D14"],["C25","C23"],["D28","D26","C25"],["D28","C27","B26","A27"]],"hexes":["I19","H22","H20","D14","C23","C25","D28","A27"],"revenue":540,"revenue_str":"I19-H22-H20-D14-C23-C25-D28-A27","nodes":["H22-0","I19-0","H20-0","D14-0","C23-0","C25-0","D28-0","A27-0"]}]},{"type":"dividend","entity":"B&O","entity_type":"corporation","id":1789,"created_at":1673123159,"kind":"payout"},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1790,"created_at":1673123161},{"hex":"E9","tile":"9-8","type":"lay_tile","entity":"MP","rotation":0,"entity_type":"corporation","id":1791,"user":1463,"created_at":1673123177},{"type":"pass","entity":"MP","entity_type":"corporation","id":1792,"user":1463,"created_at":1673123182},{"type":"undo","entity":"MP","entity_type":"corporation","id":1793,"user":1463,"created_at":1673123190},{"type":"undo","entity":"MP","entity_type":"corporation","id":1794,"user":1463,"created_at":1673123206},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":1795,"created_at":1673123211,"hex":"H10","tile":"82-7","rotation":1},{"type":"pass","entity":"MP","entity_type":"corporation","id":1796,"created_at":1673123218},{"type":"pass","entity":"MP","entity_type":"corporation","id":1797,"created_at":1673123221},{"type":"pass","entity":"MP","entity_type":"corporation","id":1798,"created_at":1673123223},{"type":"run_routes","entity":"MP","entity_type":"corporation","id":1799,"created_at":1673123269,"routes":[{"train":"8-0","connections":[["C29","B30","B28","A27"],["C25","B26","C27","C29"],["C23","C25"],["C17","B18","B20","B22","C23"],["E17","D18","C17"],["F18","E17"],["D28","E27","E25","F24","G23","F22","E21","E19","F18"]],"hexes":["A27","C29","C25","C23","C17","E17","F18","D28"],"revenue":490,"revenue_str":"A27-C29-C25-C23-C17-E17-F18-D28","nodes":["C29-0","A27-0","C25-0","C23-0","C17-0","E17-0","F18-0","D28-0"]}]},{"type":"dividend","entity":"MP","entity_type":"corporation","id":1800,"created_at":1673123272,"kind":"payout"},{"type":"pass","entity":"MP","entity_type":"corporation","id":1801,"created_at":1673123278},{"type":"pass","entity":"MP","entity_type":"corporation","id":1802,"created_at":1673123281},{"type":"lay_tile","entity":"N&W","entity_type":"corporation","id":1803,"created_at":1673123304,"hex":"E27","tile":"82-8","rotation":0},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1804,"created_at":1673123307},{"type":"run_routes","entity":"N&W","entity_type":"corporation","id":1805,"created_at":1673123309,"routes":[{"train":"5-3","connections":[["D28","C29"],["I25","H24","G23","F24","E25","E27","D28"],["J24","I25"],["H22","I23","J24"]],"hexes":["C29","D28","I25","J24","H22"],"revenue":310,"revenue_str":"C29-D28-I25-J24-H22","nodes":["D28-0","C29-0","I25-0","J24-0","H22-0"]},{"train":"8-1","connections":[["D14","E13","F14","F16","G15","H16","I17","I19"],["D20","C19","D18","D16","D14"],["F20","E19","D20"],["E23","F22","F20"],["D24","E25","E23"],["D28","D26","D24"],["A27","B26","C27","D28"]],"hexes":["I19","D14","D20","F20","E23","D24","D28","A27"],"revenue":600,"revenue_str":"I19-D14-D20-F20-E23-D24-D28-A27","nodes":["D14-0","I19-0","D20-0","F20-0","E23-0","D24-0","D28-0","A27-0"]}]},{"type":"dividend","entity":"N&W","entity_type":"corporation","id":1806,"created_at":1673123310,"kind":"payout"},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1807,"created_at":1673123312},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":1808,"user":3763,"created_at":1673123343,"hex":"E7","tile":"14-3","rotation":1},{"type":"pass","entity":"UP","entity_type":"corporation","id":1809,"user":3763,"created_at":1673123348},{"type":"choose","entity":"UP","entity_type":"corporation","id":1810,"user":3763,"created_at":1673123350,"choice":"0-0"},{"type":"run_routes","entity":"UP","entity_type":"corporation","id":1811,"user":3763,"created_at":1673123360,"routes":[{"train":"6-1","connections":[["G3","F2","E1"],["H8","H6","H4","G3"],["C23","B22","B20","B18","B16","C15","C13","D12","E13","F14","F16","G15","G13","H12","H10","H8"],["C25","C23"],["D28","D26","C25"]],"hexes":["E1","G3","H8","C23","C25","D28"],"revenue":540,"revenue_str":"E1-G3-H8-C23-C25-D28","nodes":["G3-0","E1-0","H8-0","C23-0","C25-0","D28-0"]}]},{"type":"dividend","entity":"UP","entity_type":"corporation","id":1812,"user":3763,"created_at":1673123362,"kind":"payout"},{"type":"pass","entity":"UP","entity_type":"corporation","id":1813,"user":3763,"created_at":1673123367},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":1814,"created_at":1673123375,"hex":"E7","tile":"63-1","rotation":0},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1815,"created_at":1673123380},{"type":"choose","entity":"PRR","entity_type":"corporation","id":1816,"created_at":1673123382,"choice":"0-1"},{"type":"run_routes","entity":"PRR","entity_type":"corporation","id":1817,"created_at":1673123384,"routes":[{"train":"5-1","connections":[["D28","E27","E25","F24","G23","H22"],["H22","I21","I19"],["I19","I17","H16","G15","G13","H12","H10","H8"],["H8","H6","H4","I5"]],"hexes":["D28","H22","I19","H8","I5"],"revenue":520,"revenue_str":"D28-H22-I19-H8-I5","nodes":["D28-0","H22-0","I19-0","H8-0","I5-0"]}]},{"type":"take_loan","entity":"PRR","entity_type":"corporation","id":1818,"created_at":1673123389,"loan":45},{"type":"take_loan","entity":"PRR","entity_type":"corporation","id":1819,"created_at":1673123391,"loan":46},{"type":"dividend","entity":"PRR","entity_type":"corporation","id":1820,"created_at":1673123393,"kind":"payout"},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1821,"created_at":1673123394},{"type":"lay_tile","entity":"TP","entity_type":"corporation","id":1822,"created_at":1673123414,"hex":"E9","tile":"9-8","rotation":0},{"type":"lay_tile","entity":"TP","entity_type":"corporation","id":1823,"created_at":1673123418,"hex":"F8","tile":"82coal-1","rotation":2},{"type":"choose","entity":"TP","entity_type":"corporation","id":1824,"created_at":1673123425,"choice":"0-0"},{"type":"run_routes","entity":"TP","entity_type":"corporation","id":1825,"created_at":1673123428,"routes":[{"train":"5-4","connections":[["I19","I21","H22"],["E17","F16","G15","H16","I17","I19"],["D20","C19","D18","E19","E17"],["D28","E27","E25","F24","G23","F22","E21","E19","D20"]],"hexes":["H22","I19","E17","D20","D28"],"revenue":530,"revenue_str":"H22-I19-E17-D20-D28","nodes":["I19-0","H22-0","E17-0","D20-0","D28-0"]}]},{"type":"dividend","entity":"TP","entity_type":"corporation","id":1826,"created_at":1673123434,"kind":"payout"},{"type":"payoff_loan","entity":"TP","entity_type":"corporation","id":1827,"created_at":1673123448,"loan":2},{"type":"payoff_loan","entity":"TP","entity_type":"corporation","id":1828,"created_at":1673123453,"loan":4},{"type":"payoff_loan","entity":"TP","entity_type":"corporation","id":1829,"created_at":1673123455,"loan":22},{"type":"pass","entity":"TP","entity_type":"corporation","id":1830,"created_at":1673123463},{"type":"lay_tile","entity":"SR","entity_type":"corporation","id":1831,"created_at":1673123470,"hex":"G9","tile":"82-9","rotation":5},{"type":"pass","entity":"SR","entity_type":"corporation","id":1832,"created_at":1673123472},{"type":"choose","entity":"SR","entity_type":"corporation","id":1833,"created_at":1673123489,"choice":"0-0"},{"type":"run_routes","entity":"SR","entity_type":"corporation","id":1834,"created_at":1673123492,"routes":[{"train":"6-3","connections":[["C25","B26","A27"],["C23","C25"],["F18","G19","H18","I17","H16","G15","G13","H12","H10","G9","F8","E9","D10","D12","C13","C15","B16","B18","B20","B22","C23"],["F20","F18"],["D28","E27","E25","F24","G23","F22","F20"]],"hexes":["A27","C25","C23","F18","F20","D28"],"revenue":540,"revenue_str":"A27-C25-C23-F18-F20-D28","nodes":["C25-0","A27-0","C23-0","F18-0","F20-0","D28-0"]}]},{"type":"dividend","entity":"SR","entity_type":"corporation","id":1835,"created_at":1673123494,"kind":"payout"},{"type":"pass","entity":"SR","entity_type":"corporation","id":1836,"created_at":1673123497},{"type":"pass","entity":"SR","entity_type":"corporation","id":1837,"created_at":1673123499},{"type":"pass","entity":1463,"entity_type":"player","id":1838,"created_at":1673123501},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1839,"created_at":1673123510},{"type":"run_routes","entity":"B&O","entity_type":"corporation","id":1840,"created_at":1673123512,"routes":[{"train":"6-2","connections":[["F18","E19","D18","C19","D20"],["H22","G21","G19","F18"],["D24","D22","E21","F22","G23","H22"],["D28","E27","E25","D24"],["C29","D28"]],"hexes":["D20","F18","H22","D24","D28","C29"],"revenue":440,"revenue_str":"D20-F18-H22-D24-D28-C29","nodes":["F18-0","D20-0","H22-0","D24-0","D28-0","C29-0"]},{"train":"8-3","connections":[["H22","I21","I19"],["H20","H22"],["D14","E13","F14","F16","G15","H16","I17","H18","H20"],["C23","B22","B20","B18","B16","C15","D14"],["C25","C23"],["D28","D26","C25"],["D28","C27","B26","A27"]],"hexes":["I19","H22","H20","D14","C23","C25","D28","A27"],"revenue":540,"revenue_str":"I19-H22-H20-D14-C23-C25-D28-A27","nodes":["H22-0","I19-0","H20-0","D14-0","C23-0","C25-0","D28-0","A27-0"]}]},{"type":"dividend","entity":"B&O","entity_type":"corporation","id":1841,"created_at":1673123514,"kind":"payout"},{"type":"pass","entity":"B&O","entity_type":"corporation","id":1842,"created_at":1673123516},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1843,"created_at":1673123518},{"type":"run_routes","entity":"N&W","entity_type":"corporation","id":1844,"created_at":1673123519,"routes":[{"train":"5-3","connections":[["D28","C29"],["I25","H24","G23","F24","E25","E27","D28"],["J24","I25"],["H22","I23","J24"]],"hexes":["C29","D28","I25","J24","H22"],"revenue":310,"revenue_str":"C29-D28-I25-J24-H22","nodes":["D28-0","C29-0","I25-0","J24-0","H22-0"]},{"train":"8-1","connections":[["D14","E13","F14","F16","G15","H16","I17","I19"],["D20","C19","D18","D16","D14"],["F20","E19","D20"],["E23","F22","F20"],["D24","E25","E23"],["D28","D26","D24"],["A27","B26","C27","D28"]],"hexes":["I19","D14","D20","F20","E23","D24","D28","A27"],"revenue":600,"revenue_str":"I19-D14-D20-F20-E23-D24-D28-A27","nodes":["D14-0","I19-0","D20-0","F20-0","E23-0","D24-0","D28-0","A27-0"]}]},{"type":"dividend","entity":"N&W","entity_type":"corporation","id":1845,"created_at":1673123521,"kind":"payout"},{"type":"pass","entity":"N&W","entity_type":"corporation","id":1846,"created_at":1673123523},{"type":"pass","entity":"MP","entity_type":"corporation","id":1847,"user":1463,"created_at":1673123543},{"type":"pass","entity":"MP","entity_type":"corporation","id":1848,"user":1463,"created_at":1673123546},{"type":"pass","entity":"MP","entity_type":"corporation","id":1849,"user":1463,"created_at":1673123550},{"type":"undo","entity":"MP","action_id":1846,"entity_type":"corporation","id":1850,"user":1463,"created_at":1673123571},{"type":"lay_tile","entity":"MP","entity_type":"corporation","id":1851,"created_at":1673123574,"hex":"B16","tile":"80-2","rotation":4},{"type":"pass","entity":"MP","entity_type":"corporation","id":1852,"created_at":1673123575},{"type":"pass","entity":"MP","entity_type":"corporation","id":1853,"created_at":1673123577},{"type":"pass","entity":"MP","entity_type":"corporation","id":1854,"created_at":1673123579},{"type":"run_routes","entity":"MP","entity_type":"corporation","id":1855,"created_at":1673123599,"routes":[{"train":"8-0","connections":[["C29","B30","B28","A27"],["C25","B26","C27","C29"],["C23","C25"],["C17","B18","B20","B22","C23"],["E17","F16","G15","G13","H12","H10","G9","F8","E9","D10","D12","C13","C15","B16","C17"],["F18","E17"],["D28","E27","E25","F24","G23","F22","E21","E19","F18"]],"hexes":["A27","C29","C25","C23","C17","E17","F18","D28"],"revenue":500,"revenue_str":"A27-C29-C25-C23-C17-E17-F18-D28","nodes":["C29-0","A27-0","C25-0","C23-0","C17-0","E17-0","F18-0","D28-0"]}]},{"type":"dividend","entity":"MP","entity_type":"corporation","id":1856,"created_at":1673123602,"kind":"payout"},{"type":"pass","entity":"MP","entity_type":"corporation","id":1857,"created_at":1673123603},{"type":"pass","entity":"MP","entity_type":"corporation","id":1858,"created_at":1673123605},{"type":"pass","entity":"TP","entity_type":"corporation","id":1859,"created_at":1673123609},{"type":"choose","entity":"TP","entity_type":"corporation","id":1860,"created_at":1673123682,"choice":"0-0"},{"type":"run_routes","entity":"TP","entity_type":"corporation","id":1861,"created_at":1673123683,"routes":[{"train":"5-4","connections":[["I19","I21","H22"],["E17","F16","F14","E13","D12","D10","E9","F8","G9","H10","H12","G13","G15","H16","I17","I19"],["D20","C19","D18","E17"],["D28","E27","E25","F24","G23","F22","E21","D20"]],"hexes":["H22","I19","E17","D20","D28"],"revenue":540,"revenue_str":"H22-I19-E17-D20-D28","nodes":["I19-0","H22-0","E17-0","D20-0","D28-0"]}]},{"type":"dividend","entity":"TP","entity_type":"corporation","id":1862,"created_at":1673123685,"kind":"payout"},{"type":"pass","entity":"TP","entity_type":"corporation","id":1863,"created_at":1673123687},{"type":"lay_tile","entity":"UP","entity_type":"corporation","id":1864,"user":3763,"created_at":1673123726,"hex":"E5","tile":"9-6","rotation":1},{"type":"pass","entity":"UP","entity_type":"corporation","id":1865,"user":3763,"created_at":1673123729},{"type":"choose","entity":"UP","entity_type":"corporation","id":1866,"user":3763,"created_at":1673123731,"choice":"0-0"},{"type":"run_routes","entity":"UP","entity_type":"corporation","id":1867,"user":3763,"created_at":1673123735,"routes":[{"train":"6-1","connections":[["G3","F2","E1"],["H8","H6","H4","G3"],["C23","B22","B20","B18","B16","C15","C13","D12","E13","F14","F16","G15","G13","H12","H10","H8"],["C25","C23"],["D28","D26","C25"]],"hexes":["E1","G3","H8","C23","C25","D28"],"revenue":540,"revenue_str":"E1-G3-H8-C23-C25-D28","nodes":["G3-0","E1-0","H8-0","C23-0","C25-0","D28-0"]}]},{"type":"dividend","entity":"UP","entity_type":"corporation","id":1868,"user":3763,"created_at":1673123739,"kind":"payout"},{"type":"pass","entity":"UP","entity_type":"corporation","id":1869,"user":3763,"created_at":1673123744},{"hex":"E3","tile":"15-3","type":"lay_tile","entity":"ATSF","rotation":1,"entity_type":"corporation","id":1870,"user":3763,"created_at":1673123755},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1871,"user":3763,"created_at":1673123757},{"type":"choose","choice":"0-0","entity":"ATSF","entity_type":"corporation","id":1872,"user":3763,"created_at":1673123759},{"type":"run_routes","entity":"ATSF","routes":[{"hexes":["A27","D28","I19","D14","D20"],"nodes":["D28-0","A27-0","I19-0","D14-0","D20-0"],"train":"5-2","revenue":550,"connections":[["D28","C27","B26","A27"],["I19","I21","I23","H24","G23","F24","E25","E27","D28"],["D14","E13","F14","F16","G15","H16","I17","I19"],["D20","C19","D18","D16","D14"]],"revenue_str":"A27-D28-I19-D14-D20"}],"entity_type":"corporation","id":1873,"user":3763,"created_at":1673123763},{"kind":"payout","type":"dividend","entity":"ATSF","entity_type":"corporation","id":1874,"user":3763,"created_at":1673123768},{"type":"scrap_train","train":"P-3","entity":"ATSF","entity_type":"corporation","id":1875,"user":3763,"created_at":1673123770},{"loan":13,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1876,"user":3763,"created_at":1673123771},{"loan":31,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1877,"user":3763,"created_at":1673123773},{"loan":32,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1878,"user":3763,"created_at":1673123775},{"loan":33,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1879,"user":3763,"created_at":1673123777},{"loan":23,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1880,"user":3763,"created_at":1673123779},{"loan":47,"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1881,"user":3763,"created_at":1673123781},{"type":"undo","entity":"ATSF","entity_type":"corporation","id":1882,"user":3763,"created_at":1673123786},{"type":"undo","entity":"ATSF","action_id":1869,"entity_type":"corporation","id":1883,"user":3763,"created_at":1673123795},{"hex":"E3","tile":"15-3","type":"lay_tile","entity":"ATSF","rotation":1,"entity_type":"corporation","id":1884,"user":3763,"created_at":1673123802},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1885,"user":3763,"created_at":1673123803},{"type":"choose","choice":"0-0","entity":"ATSF","entity_type":"corporation","id":1886,"user":3763,"created_at":1673123806},{"type":"run_routes","entity":"ATSF","routes":[{"hexes":["A27","D28","I19","D14","D20"],"nodes":["D28-0","A27-0","I19-0","D14-0","D20-0"],"train":"5-2","revenue":550,"connections":[["D28","C27","B26","A27"],["I19","I21","I23","H24","G23","F24","E25","E27","D28"],["D14","E13","F14","F16","G15","H16","I17","I19"],["D20","C19","D18","D16","D14"]],"revenue_str":"A27-D28-I19-D14-D20"}],"entity_type":"corporation","id":1887,"user":3763,"created_at":1673123809},{"kind":"half","type":"dividend","entity":"ATSF","entity_type":"corporation","id":1888,"user":3763,"created_at":1673123811},{"type":"scrap_train","train":"P-3","entity":"ATSF","entity_type":"corporation","id":1889,"user":3763,"created_at":1673123813},{"loan":13,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1890,"user":3763,"created_at":1673123815},{"loan":31,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1891,"user":3763,"created_at":1673123816},{"loan":32,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1892,"user":3763,"created_at":1673123818},{"loan":33,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1893,"user":3763,"created_at":1673123820},{"loan":23,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1894,"user":3763,"created_at":1673123822},{"loan":44,"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1895,"user":3763,"created_at":1673123824},{"type":"undo","entity":"ATSF","action_id":1869,"entity_type":"corporation","id":1896,"user":3763,"created_at":1673123829},{"type":"lay_tile","entity":"ATSF","entity_type":"corporation","id":1897,"user":3763,"created_at":1673123831,"hex":"E3","tile":"15-3","rotation":1},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1898,"user":3763,"created_at":1673123833},{"type":"choose","entity":"ATSF","entity_type":"corporation","id":1899,"user":3763,"created_at":1673123835,"choice":"0-0"},{"type":"run_routes","entity":"ATSF","entity_type":"corporation","id":1900,"user":3763,"created_at":1673123837,"routes":[{"train":"5-2","connections":[["D28","C27","B26","A27"],["I19","I21","I23","H24","G23","F24","E25","E27","D28"],["D14","E13","F14","F16","G15","H16","I17","I19"],["D20","C19","D18","D16","D14"]],"hexes":["A27","D28","I19","D14","D20"],"revenue":550,"revenue_str":"A27-D28-I19-D14-D20","nodes":["D28-0","A27-0","I19-0","D14-0","D20-0"]}]},{"type":"dividend","entity":"ATSF","entity_type":"corporation","id":1901,"user":3763,"created_at":1673123839,"kind":"payout"},{"type":"scrap_train","entity":"ATSF","entity_type":"corporation","id":1902,"user":3763,"created_at":1673123841,"train":"P-3"},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1903,"user":3763,"created_at":1673123843,"loan":13},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1904,"user":3763,"created_at":1673123845,"loan":31},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1905,"user":3763,"created_at":1673123847,"loan":32},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1906,"user":3763,"created_at":1673123848,"loan":33},{"type":"payoff_loan","entity":"ATSF","entity_type":"corporation","id":1907,"user":3763,"created_at":1673123850,"loan":23},{"loan":47,"type":"take_loan","entity":"ATSF","entity_type":"corporation","id":1908,"user":3763,"created_at":1673123851},{"type":"undo","entity":"ATSF","entity_type":"corporation","id":1909,"user":3763,"created_at":1673123855},{"type":"pass","entity":"ATSF","entity_type":"corporation","id":1910,"user":3763,"created_at":1673123857},{"type":"lay_tile","entity":"PRR","entity_type":"corporation","id":1911,"created_at":1673123865,"hex":"E3","tile":"63-7","rotation":0},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1912,"created_at":1673123868},{"type":"choose","entity":"PRR","entity_type":"corporation","id":1913,"created_at":1673123870,"choice":"0-1"},{"type":"run_routes","entity":"PRR","entity_type":"corporation","id":1914,"created_at":1673123872,"routes":[{"train":"5-1","connections":[["D28","E27","E25","F24","G23","H22"],["H22","I21","I19"],["I19","I17","H16","G15","G13","H12","H10","H8"],["H8","H6","H4","I5"]],"hexes":["D28","H22","I19","H8","I5"],"revenue":520,"revenue_str":"D28-H22-I19-H8-I5","nodes":["D28-0","H22-0","I19-0","H8-0","I5-0"]}]},{"type":"dividend","entity":"PRR","entity_type":"corporation","id":1915,"created_at":1673123877,"kind":"half"},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":1916,"created_at":1673123881,"loan":10},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":1917,"created_at":1673123883,"loan":45},{"type":"payoff_loan","entity":"PRR","entity_type":"corporation","id":1918,"created_at":1673123884,"loan":46},{"type":"pass","entity":"PRR","entity_type":"corporation","id":1919,"created_at":1673123886},{"type":"pass","entity":"SR","entity_type":"corporation","id":1920,"created_at":1673123902},{"type":"choose","entity":"SR","entity_type":"corporation","id":1921,"created_at":1673123906,"choice":"0-0"},{"type":"run_routes","entity":"SR","entity_type":"corporation","id":1922,"created_at":1673123908,"routes":[{"train":"6-3","connections":[["C25","B26","A27"],["C23","C25"],["F18","G19","H18","I17","H16","G15","G13","H12","H10","G9","F8","E9","D10","D12","C13","C15","B16","B18","B20","B22","C23"],["F20","F18"],["D28","E27","E25","F24","G23","F22","F20"]],"hexes":["A27","C25","C23","F18","F20","D28"],"revenue":540,"revenue_str":"A27-C25-C23-F18-F20-D28","nodes":["C25-0","A27-0","C23-0","F18-0","F20-0","D28-0"]}]},{"type":"dividend","entity":"SR","entity_type":"corporation","id":1923,"created_at":1673123910,"kind":"payout"},{"type":"pass","entity":"SR","entity_type":"corporation","id":1924,"created_at":1673123911},{"type":"pass","entity":"SR","entity_type":"corporation","id":1925,"created_at":1673123913},{"type":"pass","entity":1463,"entity_type":"player","id":1926,"created_at":1673123915}],"loaded":true,"created_at":1673096832,"updated_at":1673123952,"finished_at":1673123952} \ No newline at end of file +{ + "id": 109372, + "description": "Fast live", + "user": { + "id": 605, + "name": "daroj" + }, + "players": [ + { + "id": 605, + "name": "daroj" + }, + { + "id": 1463, + "name": "GregH87" + }, + { + "id": 4339, + "name": "Mark" + }, + { + "id": 3763, + "name": "Foxrik" + } + ], + "min_players": 4, + "max_players": 6, + "title": "18USA", + "settings": { + "seed": 903360432, + "is_async": false, + "unlisted": false, + "auto_routing": true, + "player_order": null, + "optional_rules": [ + + ] + }, + "user_settings": null, + "status": "finished", + "turn": 6, + "round": "Acquisition Round", + "acting": [ + 1463 + ], + "result": { + "605": 11886, + "1463": 15576, + "3763": 11246, + "4339": 13950 + }, + "actions": [ + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 1, + "created_at": 1673101201, + "company": "P18", + "price": 45, + "original_id": 1 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 2, + "created_at": 1673101252, + "company": "P18", + "price": 50, + "original_id": 2 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 3, + "created_at": 1673101266, + "company": "P18", + "price": 55, + "original_id": 4 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 4, + "created_at": 1673101437, + "original_id": 6 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 5, + "created_at": 1673101443, + "original_id": 8 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 6, + "created_at": 1673101448, + "original_id": 9 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 7, + "created_at": 1673101477, + "company": "P21", + "price": 60, + "original_id": 13 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 8, + "created_at": 1673101485, + "original_id": 15 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 9, + "created_at": 1673101531, + "original_id": 18 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 10, + "created_at": 1673101555, + "company": "P21", + "price": 70, + "original_id": 20 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 11, + "created_at": 1673101576, + "original_id": 21 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 12, + "created_at": 1673101596, + "company": "P30", + "price": 85, + "original_id": 22 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 13, + "created_at": 1673101610, + "company": "P30", + "price": 90, + "original_id": 23 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 14, + "created_at": 1673101630, + "original_id": 24 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 15, + "created_at": 1673101665, + "original_id": 25 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 16, + "created_at": 1673101670, + "company": "P30", + "price": 95, + "original_id": 27 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 17, + "created_at": 1673101728, + "company": "P30", + "price": 100, + "original_id": 31 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 18, + "created_at": 1673101731, + "original_id": 33 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 19, + "created_at": 1673101769, + "company": "P3", + "price": 25, + "original_id": 36 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 20, + "created_at": 1673101774, + "original_id": 37 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 21, + "created_at": 1673101849, + "company": "P3", + "price": 30, + "original_id": 40 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 22, + "created_at": 1673101852, + "original_id": 42 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 23, + "created_at": 1673101885, + "company": "P3", + "price": 35, + "original_id": 44 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 24, + "created_at": 1673101895, + "original_id": 47 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 25, + "created_at": 1673101941, + "company": "P27", + "price": 65, + "original_id": 49 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 26, + "created_at": 1673101978, + "company": "P27", + "price": 70, + "original_id": 52 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 27, + "created_at": 1673102000, + "original_id": 55 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 28, + "created_at": 1673102011, + "original_id": 57 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 29, + "created_at": 1673102026, + "original_id": 58 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 30, + "created_at": 1673102073, + "company": "P8", + "price": 35, + "original_id": 60 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 31, + "created_at": 1673102087, + "original_id": 63 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 32, + "created_at": 1673102121, + "original_id": 64 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 33, + "created_at": 1673102124, + "original_id": 65 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 34, + "created_at": 1673102152, + "company": "P24", + "price": 60, + "original_id": 67 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 35, + "created_at": 1673102173, + "company": "P24", + "price": 65, + "original_id": 69 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 36, + "created_at": 1673102176, + "company": "P24", + "price": 70, + "original_id": 70 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 37, + "created_at": 1673102197, + "original_id": 72 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 38, + "created_at": 1673102201, + "original_id": 73 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 39, + "created_at": 1673102222, + "original_id": 74 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 40, + "created_at": 1673102287, + "company": "P4", + "price": 35, + "original_id": 78 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 41, + "created_at": 1673102291, + "original_id": 79 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 42, + "created_at": 1673102296, + "original_id": 80 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 43, + "created_at": 1673102301, + "original_id": 81 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 44, + "created_at": 1673102330, + "company": "P11", + "price": 30, + "original_id": 83 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 45, + "created_at": 1673102336, + "original_id": 84 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 46, + "created_at": 1673102350, + "original_id": 86 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 47, + "created_at": 1673102359, + "original_id": 87 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 48, + "created_at": 1673102376, + "company": "P22", + "price": 60, + "original_id": 88 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 49, + "created_at": 1673102380, + "original_id": 89 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 50, + "created_at": 1673102406, + "original_id": 90 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 51, + "created_at": 1673102422, + "original_id": 91 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 52, + "created_at": 1673102441, + "company": "P16", + "price": 40, + "original_id": 92 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 53, + "created_at": 1673102447, + "original_id": 93 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 54, + "created_at": 1673102460, + "original_id": 94 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 55, + "created_at": 1673102474, + "original_id": 95 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 56, + "created_at": 1673102482, + "company": "P1", + "price": 25, + "original_id": 96 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 57, + "created_at": 1673102490, + "original_id": 97 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 58, + "created_at": 1673102518, + "original_id": 98 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 59, + "created_at": 1673102527, + "original_id": 99 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 60, + "created_at": 1673102550, + "company": "P15", + "price": 50, + "original_id": 100 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 61, + "created_at": 1673102559, + "company": "P15", + "price": 55, + "original_id": 101 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 62, + "created_at": 1673102561, + "company": "P15", + "price": 60, + "original_id": 102 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 63, + "created_at": 1673102564, + "company": "P15", + "price": 65, + "original_id": 103 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 64, + "created_at": 1673102567, + "original_id": 104 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 65, + "created_at": 1673102569, + "original_id": 105 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 66, + "created_at": 1673102580, + "original_id": 107 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 67, + "created_at": 1673102612, + "company": "P2", + "price": 30, + "original_id": 112 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 68, + "created_at": 1673102634, + "original_id": 115 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 69, + "created_at": 1673102641, + "original_id": 116 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 70, + "created_at": 1673102664, + "original_id": 121 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 71, + "created_at": 1673102683, + "company": "P5", + "price": 20, + "original_id": 124 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 72, + "created_at": 1673102689, + "original_id": 125 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 73, + "created_at": 1673102692, + "original_id": 126 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 74, + "created_at": 1673102701, + "original_id": 127 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 75, + "created_at": 1673102786, + "corporation": "NYC", + "price": 148, + "original_id": 128 + }, + { + "type": "place_token", + "entity": "NYC", + "entity_type": "corporation", + "id": 76, + "created_at": 1673102790, + "city": "H8-5-0", + "slot": 0, + "tokener": "NYC", + "original_id": 129 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 77, + "created_at": 1673102809, + "original_id": 130 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 78, + "created_at": 1673102849, + "original_id": 131 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 79, + "created_at": 1673102852, + "original_id": 132 + }, + { + "type": "assign", + "entity": 3763, + "entity_type": "player", + "id": 80, + "created_at": 1673102858, + "target": "P3", + "target_type": "company", + "original_id": 133 + }, + { + "type": "assign", + "entity": 3763, + "entity_type": "player", + "id": 81, + "created_at": 1673102860, + "target": "P4", + "target_type": "company", + "original_id": 134 + }, + { + "type": "assign", + "entity": 3763, + "entity_type": "player", + "id": 82, + "created_at": 1673102900, + "target": "P15", + "target_type": "company", + "original_id": 135 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 83, + "created_at": 1673102978, + "original_id": 140 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "user": 605, + "created_at": 1688013941, + "original_id": null, + "id": 84 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 85, + "created_at": 1673103072, + "corporation": "MP", + "price": 106, + "original_id": 143 + }, + { + "type": "place_token", + "entity": "MP", + "entity_type": "corporation", + "id": 86, + "created_at": 1673103078, + "city": "E17-2-0", + "slot": 0, + "tokener": "MP", + "original_id": 144 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 87, + "created_at": 1673103082, + "original_id": 145 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 88, + "created_at": 1673103106, + "original_id": 146 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 89, + "created_at": 1673103109, + "original_id": 147 + }, + { + "type": "assign", + "entity": 1463, + "entity_type": "player", + "id": 90, + "created_at": 1673103120, + "target": "P22", + "target_type": "company", + "original_id": 148 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "user": 1463, + "created_at": 1688013941, + "original_id": null, + "id": 91 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 92, + "created_at": 1673103145, + "corporation": "PRR", + "price": 106, + "original_id": 149 + }, + { + "type": "place_token", + "entity": "PRR", + "entity_type": "corporation", + "id": 93, + "created_at": 1673103158, + "city": "X01-0-0", + "slot": 0, + "tokener": "PRR", + "original_id": 150 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 94, + "created_at": 1673103203, + "corporation": "PRR", + "price": 180, + "original_id": 151 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 95, + "created_at": 1673103207, + "original_id": 152 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 96, + "created_at": 1673103213, + "original_id": 153 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 97, + "created_at": 1673103221, + "original_id": 154 + }, + { + "type": "assign", + "entity": 3763, + "entity_type": "player", + "id": 98, + "created_at": 1673103225, + "target": "P30", + "target_type": "company", + "original_id": 155 + }, + { + "type": "assign", + "entity": 3763, + "entity_type": "player", + "id": 99, + "created_at": 1673103226, + "target": "P1", + "target_type": "company", + "original_id": 156 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 100, + "created_at": 1673103249, + "original_id": 157 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 101, + "created_at": 1673103268, + "original_id": 158 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 102, + "created_at": 1673103425, + "corporation": "SR", + "price": 156, + "original_id": 159 + }, + { + "type": "place_token", + "entity": "SR", + "entity_type": "corporation", + "id": 103, + "created_at": 1673103428, + "city": "F20-3-0", + "slot": 0, + "tokener": "SR", + "original_id": 160 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 104, + "created_at": 1673103435, + "original_id": 161 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 105, + "created_at": 1673103443, + "original_id": 162 + }, + { + "type": "assign", + "entity": 1463, + "entity_type": "player", + "id": 106, + "created_at": 1673103447, + "target": "P27", + "target_type": "company", + "original_id": 163 + }, + { + "type": "assign", + "entity": 1463, + "entity_type": "player", + "id": 107, + "created_at": 1673103449, + "target": "P2", + "target_type": "company", + "original_id": 164 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "user": 1463, + "created_at": 1688013941, + "original_id": null, + "id": 108 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 109, + "created_at": 1673103476, + "corporation": "B&O", + "price": 106, + "original_id": 165 + }, + { + "type": "place_token", + "entity": "B&O", + "entity_type": "corporation", + "id": 110, + "created_at": 1673103482, + "city": "D28-0-0", + "slot": 0, + "tokener": "B&O", + "original_id": 166 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 111, + "created_at": 1673103498, + "original_id": 167 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 112, + "created_at": 1673103528, + "original_id": 168 + }, + { + "type": "assign", + "entity": 4339, + "entity_type": "player", + "id": 113, + "created_at": 1673103533, + "target": "P16", + "target_type": "company", + "original_id": 169 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 114, + "created_at": 1673103538, + "original_id": 170 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 115, + "created_at": 1673103542, + "original_id": 171 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 116, + "created_at": 1673103625, + "corporation": "UP", + "price": 112, + "original_id": 173 + }, + { + "type": "place_token", + "entity": "UP", + "entity_type": "corporation", + "id": 117, + "created_at": 1673103629, + "auto_actions": [ + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "created_at": 1673103629 + } + ], + "city": "D14-1-0", + "slot": 0, + "tokener": "UP", + "original_id": 174 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 118, + "created_at": 1673103636, + "original_id": 175 + }, + { + "type": "assign", + "entity": 605, + "entity_type": "player", + "id": 119, + "created_at": 1673103642, + "target": "P21", + "target_type": "company", + "original_id": 176 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "user": 605, + "created_at": 1688013941, + "original_id": null, + "id": 120 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 121, + "created_at": 1673103702, + "corporation": "C&O", + "price": 106, + "original_id": 177 + }, + { + "type": "place_token", + "entity": "C&O", + "entity_type": "corporation", + "id": 122, + "created_at": 1673103785, + "city": "C29-7-0", + "slot": 0, + "tokener": "C&O", + "original_id": 178 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 123, + "created_at": 1673103795, + "original_id": 179 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 124, + "created_at": 1673103826, + "original_id": 180 + }, + { + "type": "assign", + "entity": 1463, + "entity_type": "player", + "id": 125, + "created_at": 1673103833, + "target": "P8", + "target_type": "company", + "original_id": 181 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 126, + "created_at": 1673103900, + "corporation": "MKT", + "price": 132, + "original_id": 182 + }, + { + "type": "place_token", + "entity": "MKT", + "entity_type": "corporation", + "id": 127, + "created_at": 1673103902, + "city": "E23-9-0", + "slot": 0, + "tokener": "MKT", + "original_id": 183 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 128, + "created_at": 1673103925, + "original_id": 184 + }, + { + "type": "assign", + "entity": 4339, + "entity_type": "player", + "id": 129, + "created_at": 1673103929, + "target": "P18", + "target_type": "company", + "original_id": 185 + }, + { + "type": "assign", + "entity": 4339, + "entity_type": "player", + "id": 130, + "created_at": 1673103930, + "target": "P5", + "target_type": "company", + "original_id": 186 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 131, + "created_at": 1673103935, + "original_id": 187 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 132, + "created_at": 1673104174, + "corporation": "SP", + "price": 240, + "original_id": 192 + }, + { + "type": "place_token", + "entity": "SP", + "entity_type": "corporation", + "id": 133, + "created_at": 1673104177, + "city": "X02-0-0", + "slot": 0, + "tokener": "SP", + "original_id": 193 + }, + { + "type": "assign", + "entity": 605, + "entity_type": "player", + "id": 134, + "created_at": 1673104179, + "target": "P24", + "target_type": "company", + "original_id": 194 + }, + { + "type": "assign", + "entity": 605, + "entity_type": "player", + "id": 135, + "created_at": 1673104180, + "target": "P11", + "target_type": "company", + "original_id": 195 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 136, + "created_at": 1673104208, + "original_id": 196 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 137, + "created_at": 1673104398, + "corporation": "MILW", + "price": 112, + "original_id": 203 + }, + { + "type": "place_token", + "entity": "MILW", + "entity_type": "corporation", + "id": 138, + "created_at": 1673104401, + "city": "D24-8-0", + "slot": 0, + "tokener": "MILW", + "original_id": 204 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 139, + "created_at": 1673104439, + "original_id": 205 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 140, + "created_at": 1673104445, + "original_id": 206 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 141, + "created_at": 1673104483, + "original_id": 207 + }, + { + "type": "program_share_pass", + "entity": 4339, + "entity_type": "player", + "id": 142, + "created_at": 1673104488, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673104484 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 208 + }, + { + "type": "lay_tile", + "entity": "SP", + "entity_type": "corporation", + "id": 143, + "created_at": 1673104500, + "hex": "C19", + "tile": "7ore10-0", + "rotation": 5, + "original_id": 209 + }, + { + "type": "lay_tile", + "entity": "SP", + "entity_type": "corporation", + "id": 144, + "created_at": 1673104503, + "hex": "D18", + "tile": "8-0", + "rotation": 1, + "original_id": 210 + }, + { + "type": "take_loan", + "entity": "SP", + "entity_type": "corporation", + "id": 145, + "created_at": 1673104521, + "loan": 0, + "original_id": 211 + }, + { + "type": "take_loan", + "entity": "SP", + "entity_type": "corporation", + "id": 146, + "created_at": 1673104522, + "loan": 1, + "original_id": 212 + }, + { + "type": "buy_train", + "entity": "SP", + "entity_type": "corporation", + "id": 147, + "created_at": 1673104524, + "train": "2-0", + "price": 100, + "variant": "2", + "original_id": 213 + }, + { + "type": "buy_train", + "entity": "SP", + "entity_type": "corporation", + "id": 148, + "created_at": 1673104525, + "train": "2-1", + "price": 100, + "variant": "2", + "original_id": 214 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 149, + "created_at": 1673104540, + "hex": "H20", + "tile": "6-0", + "rotation": 4, + "original_id": 215 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 150, + "created_at": 1673104550, + "original_id": 216 + }, + { + "type": "take_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 151, + "created_at": 1673104555, + "loan": 2, + "original_id": 217 + }, + { + "type": "take_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 152, + "created_at": 1673104556, + "loan": 3, + "original_id": 218 + }, + { + "type": "buy_train", + "entity": "PRR", + "entity_type": "corporation", + "id": 153, + "created_at": 1673104558, + "train": "2-2", + "price": 100, + "variant": "2", + "original_id": 219 + }, + { + "type": "buy_train", + "entity": "PRR", + "entity_type": "corporation", + "id": 154, + "created_at": 1673104559, + "train": "2-3", + "price": 100, + "variant": "2", + "original_id": 220 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 155, + "created_at": 1673104562, + "original_id": 221 + }, + { + "type": "lay_tile", + "entity": "SR", + "entity_type": "corporation", + "id": 156, + "created_at": 1673104863, + "hex": "F20", + "tile": "57-0", + "rotation": 1, + "original_id": 226 + }, + { + "type": "assign", + "entity": "P2", + "entity_type": "company", + "id": 157, + "created_at": 1673104873, + "target": "F20", + "target_type": "hex", + "original_id": 227 + }, + { + "type": "take_loan", + "entity": "SR", + "entity_type": "corporation", + "id": 158, + "created_at": 1673104938, + "loan": 4, + "original_id": 232 + }, + { + "type": "take_loan", + "entity": "SR", + "entity_type": "corporation", + "id": 159, + "created_at": 1673104939, + "loan": 5, + "original_id": 233 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 160, + "created_at": 1673104941, + "original_id": 234 + }, + { + "type": "buy_train", + "entity": "SR", + "entity_type": "corporation", + "id": 161, + "created_at": 1673104942, + "train": "2-4", + "price": 100, + "variant": "2", + "original_id": 235 + }, + { + "type": "buy_train", + "entity": "SR", + "entity_type": "corporation", + "id": 162, + "created_at": 1673104943, + "train": "2-5", + "price": 100, + "variant": "2", + "original_id": 236 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 163, + "created_at": 1673104956, + "original_id": 238 + }, + { + "type": "lay_tile", + "entity": "NYC", + "entity_type": "corporation", + "id": 164, + "created_at": 1673104978, + "hex": "H8", + "tile": "6-1", + "rotation": 5, + "original_id": 239 + }, + { + "type": "take_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 165, + "created_at": 1673105032, + "loan": 6, + "original_id": 240 + }, + { + "type": "lay_tile", + "entity": "NYC", + "entity_type": "corporation", + "id": 166, + "created_at": 1673105036, + "hex": "H6", + "tile": "9ore10-0", + "rotation": 1, + "original_id": 241 + }, + { + "type": "take_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 167, + "created_at": 1673105042, + "loan": 7, + "original_id": 242 + }, + { + "type": "buy_train", + "entity": "NYC", + "entity_type": "corporation", + "id": 168, + "created_at": 1673105043, + "train": "2-6", + "price": 100, + "variant": "2", + "original_id": 243 + }, + { + "type": "take_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 169, + "created_at": 1673105067, + "loan": 8, + "original_id": 246 + }, + { + "type": "buy_train", + "entity": "NYC", + "entity_type": "corporation", + "id": 170, + "created_at": 1673105069, + "train": "2-7", + "price": 100, + "variant": "2", + "original_id": 247 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 171, + "created_at": 1673105080, + "original_id": 248 + }, + { + "type": "take_loan", + "entity": "MKT", + "entity_type": "corporation", + "id": 172, + "created_at": 1673105088, + "loan": 9, + "original_id": 249 + }, + { + "type": "take_loan", + "entity": "MKT", + "entity_type": "corporation", + "id": 173, + "created_at": 1673105088, + "loan": 10, + "original_id": 250 + }, + { + "type": "lay_tile", + "entity": "MKT", + "entity_type": "corporation", + "id": 174, + "created_at": 1673105104, + "hex": "E23", + "tile": "6-2", + "rotation": 4, + "original_id": 251 + }, + { + "type": "lay_tile", + "entity": "S8", + "entity_type": "company", + "id": 175, + "created_at": 1673105110, + "hex": "E23", + "tile": "15-0", + "rotation": 3, + "original_id": 252 + }, + { + "type": "lay_tile", + "entity": "MKT", + "entity_type": "corporation", + "id": 176, + "created_at": 1673105122, + "hex": "F22", + "tile": "8coal-0", + "rotation": 1, + "original_id": 253 + }, + { + "type": "buy_train", + "entity": "MKT", + "entity_type": "corporation", + "id": 177, + "created_at": 1673105129, + "train": "2-8", + "price": 100, + "variant": "2", + "original_id": 254 + }, + { + "type": "buy_train", + "entity": "MKT", + "entity_type": "corporation", + "id": 178, + "created_at": 1673105130, + "train": "2-9", + "price": 100, + "variant": "2", + "original_id": 255 + }, + { + "type": "pass", + "entity": "MKT", + "entity_type": "corporation", + "id": 179, + "created_at": 1673105132, + "original_id": 256 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 180, + "created_at": 1673105237, + "hex": "D14", + "tile": "5-0", + "rotation": 3, + "original_id": 257 + }, + { + "type": "assign", + "entity": "P21", + "entity_type": "company", + "id": 181, + "created_at": 1673105323, + "target": "D14", + "target_type": "hex", + "original_id": 268 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 182, + "created_at": 1673105461, + "hex": "D16", + "tile": "9ore10-1", + "rotation": 1, + "original_id": 284 + }, + { + "type": "take_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 183, + "created_at": 1673105464, + "loan": 11, + "original_id": 285 + }, + { + "type": "buy_train", + "entity": "UP", + "entity_type": "corporation", + "id": 184, + "created_at": 1673105465, + "train": "2-10", + "price": 100, + "variant": "2", + "original_id": 286 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 185, + "created_at": 1673105467, + "original_id": 287 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 186, + "created_at": 1673105469, + "original_id": 288 + }, + { + "type": "take_loan", + "entity": "MILW", + "entity_type": "corporation", + "id": 187, + "created_at": 1673105478, + "loan": 12, + "original_id": 289 + }, + { + "type": "take_loan", + "entity": "MILW", + "entity_type": "corporation", + "id": 188, + "created_at": 1673105479, + "loan": 13, + "original_id": 290 + }, + { + "type": "lay_tile", + "entity": "MILW", + "entity_type": "corporation", + "id": 189, + "created_at": 1673105494, + "hex": "D24", + "tile": "57-1", + "rotation": 1, + "original_id": 291 + }, + { + "type": "lay_tile", + "entity": "MILW", + "entity_type": "corporation", + "id": 190, + "created_at": 1673105502, + "hex": "D22", + "tile": "9-0", + "rotation": 1, + "original_id": 292 + }, + { + "type": "buy_train", + "entity": "MILW", + "entity_type": "corporation", + "id": 191, + "created_at": 1673105506, + "train": "2-11", + "price": 100, + "variant": "2", + "original_id": 294 + }, + { + "type": "buy_train", + "entity": "MILW", + "entity_type": "corporation", + "id": 192, + "created_at": 1673105507, + "train": "2-12", + "price": 100, + "variant": "2", + "original_id": 295 + }, + { + "type": "pass", + "entity": "MILW", + "entity_type": "corporation", + "id": 193, + "created_at": 1673105508, + "original_id": 296 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 194, + "created_at": 1673105542, + "hex": "E17", + "tile": "5-1", + "rotation": 4, + "original_id": 298 + }, + { + "type": "assign", + "entity": "P22", + "entity_type": "company", + "id": 195, + "created_at": 1673105551, + "target": "E17", + "target_type": "hex", + "original_id": 300 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 196, + "created_at": 1673105719, + "original_id": 303 + }, + { + "type": "take_loan", + "entity": "MP", + "entity_type": "corporation", + "id": 197, + "created_at": 1673105721, + "loan": 14, + "original_id": 304 + }, + { + "type": "take_loan", + "entity": "MP", + "entity_type": "corporation", + "id": 198, + "created_at": 1673105722, + "loan": 15, + "original_id": 305 + }, + { + "type": "buy_train", + "entity": "MP", + "entity_type": "corporation", + "id": 199, + "created_at": 1673105724, + "train": "2-13", + "price": 100, + "variant": "2", + "original_id": 306 + }, + { + "type": "buy_train", + "entity": "MP", + "entity_type": "corporation", + "id": 200, + "created_at": 1673105725, + "train": "2-14", + "price": 100, + "variant": "2", + "original_id": 307 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 201, + "created_at": 1673105736, + "original_id": 308 + }, + { + "type": "lay_tile", + "entity": "B&O", + "entity_type": "corporation", + "id": 202, + "created_at": 1673105743, + "hex": "E27", + "tile": "8-1", + "rotation": 1, + "original_id": 309 + }, + { + "type": "take_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 203, + "created_at": 1673105746, + "loan": 16, + "original_id": 310 + }, + { + "type": "take_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 204, + "created_at": 1673105746, + "loan": 17, + "original_id": 311 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 205, + "created_at": 1673105748, + "original_id": 312 + }, + { + "type": "buy_train", + "entity": "B&O", + "entity_type": "corporation", + "id": 206, + "created_at": 1673105750, + "train": "2-15", + "price": 100, + "variant": "2", + "original_id": 313 + }, + { + "type": "buy_train", + "entity": "B&O", + "entity_type": "corporation", + "id": 207, + "created_at": 1673105751, + "train": "2-16", + "price": 100, + "variant": "2", + "original_id": 314 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 208, + "created_at": 1673105753, + "original_id": 315 + }, + { + "type": "lay_tile", + "entity": "C&O", + "entity_type": "corporation", + "id": 209, + "created_at": 1673105765, + "hex": "C29", + "tile": "57-2", + "rotation": 0, + "original_id": 316 + }, + { + "type": "take_loan", + "entity": "C&O", + "entity_type": "corporation", + "id": 210, + "created_at": 1673105768, + "loan": 18, + "original_id": 317 + }, + { + "type": "take_loan", + "entity": "C&O", + "entity_type": "corporation", + "id": 211, + "created_at": 1673105773, + "loan": 19, + "original_id": 318 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 212, + "created_at": 1673105776, + "original_id": 319 + }, + { + "type": "buy_train", + "entity": "C&O", + "entity_type": "corporation", + "id": 213, + "created_at": 1673105778, + "train": "2-17", + "price": 100, + "variant": "2", + "original_id": 320 + }, + { + "type": "buy_train", + "entity": "C&O", + "entity_type": "corporation", + "id": 214, + "created_at": 1673105779, + "train": "2-18", + "price": 100, + "variant": "2", + "original_id": 321 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 215, + "created_at": 1673105781, + "original_id": 322 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 216, + "created_at": 1673105787, + "original_id": 323 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 217, + "created_at": 1673105790, + "original_id": 324 + }, + { + "type": "program_share_pass", + "entity": 605, + "entity_type": "player", + "id": 218, + "created_at": 1673105791, + "unconditional": false, + "indefinite": false, + "original_id": 325 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 219, + "created_at": 1673105799, + "original_id": 326 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 220, + "created_at": 1673105803, + "original_id": 327 + }, + { + "type": "program_merger_pass", + "entity": 4339, + "entity_type": "player", + "id": 221, + "created_at": 1673105813, + "auto_actions": [ + { + "type": "pass", + "entity": "MKT", + "entity_type": "corporation", + "created_at": 1673105809 + } + ], + "corporations_by_round": { + "AR": [ + "B&O", + "MILW", + "MKT" + ], + "MR": [ + "B&O", + "MILW", + "MKT" + ] + }, + "options": [ + + ], + "original_id": 328 + }, + { + "type": "program_merger_pass", + "entity": 3763, + "entity_type": "player", + "id": 222, + "created_at": 1673105823, + "corporations_by_round": { + "AR": [ + "NYC", + "PRR" + ], + "MR": [ + "NYC", + "PRR" + ] + }, + "options": [ + "disable_others" + ], + "original_id": 329 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 223, + "created_at": 1673105824, + "auto_actions": [ + { + "type": "pass", + "entity": "MILW", + "entity_type": "corporation", + "created_at": 1673105824 + } + ], + "original_id": 330 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 224, + "created_at": 1673105828, + "auto_actions": [ + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "created_at": 1673105828 + } + ], + "original_id": 331 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 225, + "created_at": 1673105830, + "original_id": 332 + }, + { + "type": "lay_tile", + "entity": "SP", + "entity_type": "corporation", + "id": 226, + "created_at": 1673105838, + "hex": "E19", + "tile": "8-2", + "rotation": 1, + "original_id": 333 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 227, + "created_at": 1673105840, + "original_id": 334 + }, + { + "type": "run_routes", + "entity": "SP", + "entity_type": "corporation", + "id": 228, + "created_at": 1673105842, + "routes": [ + { + "train": "2-1", + "connections": [ + [ + "D20", + "E19", + "E17" + ] + ], + "hexes": [ + "D20", + "E17" + ], + "revenue": 60, + "revenue_str": "D20-E17", + "nodes": [ + "D20-0", + "E17-0" + ] + }, + { + "train": "2-0", + "connections": [ + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "D20", + "D14" + ], + "revenue": 80, + "revenue_str": "D20-D14", + "nodes": [ + "D20-0", + "D14-0" + ] + } + ], + "original_id": 335 + }, + { + "type": "dividend", + "entity": "SP", + "entity_type": "corporation", + "id": 229, + "created_at": 1673105847, + "kind": "half", + "original_id": 336 + }, + { + "type": "buy_train", + "entity": "SP", + "entity_type": "corporation", + "id": 230, + "created_at": 1673105852, + "train": "2+-0", + "price": 100, + "variant": "2+", + "original_id": 337 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 231, + "created_at": 1673105857, + "original_id": 338 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 232, + "created_at": 1673105866, + "hex": "I23", + "tile": "9-1", + "rotation": 2, + "original_id": 339 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 233, + "created_at": 1673105868, + "original_id": 340 + }, + { + "type": "choose", + "entity": "PRR", + "entity_type": "corporation", + "id": 234, + "created_at": 1673105884, + "choice": "0-0", + "original_id": 341 + }, + { + "type": "run_routes", + "entity": "PRR", + "entity_type": "corporation", + "id": 235, + "created_at": 1673105895, + "routes": [ + { + "train": "2-3", + "connections": [ + [ + "H22", + "I23", + "J24" + ] + ], + "hexes": [ + "H22", + "J24" + ], + "revenue": 70, + "revenue_str": "H22-J24", + "nodes": [ + "H22-0", + "J24-0" + ] + }, + { + "train": "2-2", + "connections": [ + [ + "H22", + "H20" + ], + [ + "H20", + "I19" + ] + ], + "hexes": [ + "H22", + "H20", + "I19" + ], + "revenue": 80, + "revenue_str": "H22-H20-I19", + "nodes": [ + "H22-0", + "H20-0", + "I19-0" + ] + } + ], + "original_id": 342 + }, + { + "type": "dividend", + "entity": "PRR", + "entity_type": "corporation", + "id": 236, + "created_at": 1673105906, + "kind": "withhold", + "original_id": 343 + }, + { + "type": "buy_train", + "entity": "PRR", + "entity_type": "corporation", + "id": 237, + "created_at": 1673105908, + "train": "2+-1", + "price": 100, + "variant": "2+", + "original_id": 344 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 238, + "created_at": 1673105913, + "original_id": 345 + }, + { + "type": "lay_tile", + "entity": "P27", + "entity_type": "company", + "id": 239, + "created_at": 1673106020, + "hex": "F18", + "tile": "X20-0", + "rotation": 1, + "original_id": 346 + }, + { + "type": "run_routes", + "entity": "SR", + "entity_type": "corporation", + "id": 240, + "created_at": 1673106041, + "routes": [ + { + "train": "2-4", + "connections": [ + [ + "F20", + "F22", + "E23" + ] + ], + "hexes": [ + "E23", + "F20" + ], + "revenue": 70, + "revenue_str": "E23-F20", + "nodes": [ + "F20-0", + "E23-0" + ] + }, + { + "train": "2-5", + "connections": [ + [ + "F20", + "F18" + ] + ], + "hexes": [ + "F18", + "F20" + ], + "revenue": 60, + "revenue_str": "F18-F20", + "nodes": [ + "F20-0", + "F18-0" + ] + } + ], + "original_id": 347 + }, + { + "type": "dividend", + "entity": "SR", + "entity_type": "corporation", + "id": 241, + "created_at": 1673106144, + "kind": "withhold", + "original_id": 352 + }, + { + "type": "buy_train", + "entity": "SR", + "entity_type": "corporation", + "id": 242, + "created_at": 1673106148, + "train": "2+-2", + "price": 100, + "variant": "2+", + "original_id": 353 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 243, + "created_at": 1673106207, + "original_id": 356 + }, + { + "type": "lay_tile", + "entity": "NYC", + "entity_type": "corporation", + "id": 244, + "created_at": 1673106215, + "hex": "H4", + "tile": "7oil-0", + "rotation": 4, + "original_id": 357 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 245, + "created_at": 1673106217, + "original_id": 358 + }, + { + "type": "run_routes", + "entity": "NYC", + "entity_type": "corporation", + "id": 246, + "created_at": 1673106221, + "routes": [ + { + "train": "2-7", + "connections": [ + [ + "H8", + "I9" + ] + ], + "hexes": [ + "H8", + "I9" + ], + "revenue": 60, + "revenue_str": "H8-I9", + "nodes": [ + "H8-0", + "I9-0" + ] + }, + { + "train": "2-6", + "connections": [ + [ + "H8", + "H6", + "H4", + "I5" + ] + ], + "hexes": [ + "H8", + "I5" + ], + "revenue": 80, + "revenue_str": "H8-I5", + "nodes": [ + "H8-0", + "I5-0" + ] + } + ], + "original_id": 359 + }, + { + "type": "dividend", + "entity": "NYC", + "entity_type": "corporation", + "id": 247, + "created_at": 1673106302, + "kind": "payout", + "original_id": 362 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 248, + "created_at": 1673106307, + "original_id": 363 + }, + { + "type": "lay_tile", + "entity": "MKT", + "entity_type": "corporation", + "id": 249, + "created_at": 1673106318, + "hex": "E25", + "tile": "9coal-0", + "rotation": 1, + "original_id": 364 + }, + { + "type": "run_routes", + "entity": "MKT", + "entity_type": "corporation", + "id": 250, + "created_at": 1673106334, + "routes": [ + { + "train": "2-8", + "connections": [ + [ + "E23", + "F22", + "F20" + ] + ], + "hexes": [ + "F20", + "E23" + ], + "revenue": 70, + "revenue_str": "F20-E23", + "nodes": [ + "E23-0", + "F20-0" + ] + }, + { + "train": "2-9", + "connections": [ + [ + "E23", + "E25", + "E27", + "D28" + ] + ], + "hexes": [ + "D28", + "E23" + ], + "revenue": 80, + "revenue_str": "D28-E23", + "nodes": [ + "E23-0", + "D28-0" + ] + } + ], + "original_id": 365 + }, + { + "type": "dividend", + "entity": "MKT", + "entity_type": "corporation", + "id": 251, + "created_at": 1673106337, + "kind": "withhold", + "original_id": 366 + }, + { + "type": "buy_train", + "entity": "MKT", + "entity_type": "corporation", + "id": 252, + "created_at": 1673106339, + "train": "2+-3", + "price": 100, + "variant": "2+", + "original_id": 367 + }, + { + "type": "pass", + "entity": "MKT", + "entity_type": "corporation", + "id": 253, + "created_at": 1673106342, + "original_id": 368 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 254, + "created_at": 1673106394, + "hex": "C15", + "tile": "9-2", + "rotation": 0, + "original_id": 372 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 255, + "created_at": 1673106396, + "original_id": 373 + }, + { + "type": "run_routes", + "entity": "UP", + "entity_type": "corporation", + "id": 256, + "created_at": 1673106399, + "routes": [ + { + "train": "2-10", + "connections": [ + [ + "D14", + "D16", + "D18", + "C19", + "D20" + ] + ], + "hexes": [ + "D14", + "D20" + ], + "revenue": 80, + "revenue_str": "D14-D20", + "nodes": [ + "D14-0", + "D20-0" + ] + } + ], + "original_id": 374 + }, + { + "type": "dividend", + "entity": "UP", + "entity_type": "corporation", + "id": 257, + "created_at": 1673106406, + "kind": "half", + "original_id": 375 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 258, + "created_at": 1673106413, + "original_id": 376 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 259, + "created_at": 1673106425, + "original_id": 377 + }, + { + "type": "lay_tile", + "entity": "MILW", + "entity_type": "corporation", + "id": 260, + "created_at": 1673106438, + "hex": "D26", + "tile": "9-3", + "rotation": 1, + "original_id": 378 + }, + { + "type": "pass", + "entity": "MILW", + "entity_type": "corporation", + "id": 261, + "created_at": 1673106440, + "original_id": 379 + }, + { + "type": "run_routes", + "entity": "MILW", + "entity_type": "corporation", + "id": 262, + "created_at": 1673106451, + "routes": [ + { + "train": "2-11", + "connections": [ + [ + "D24", + "D26", + "D28" + ] + ], + "hexes": [ + "D28", + "D24" + ], + "revenue": 60, + "revenue_str": "D28-D24", + "nodes": [ + "D24-0", + "D28-1" + ] + }, + { + "train": "2-12", + "connections": [ + [ + "D24", + "D22", + "D20" + ] + ], + "hexes": [ + "D20", + "D24" + ], + "revenue": 50, + "revenue_str": "D20-D24", + "nodes": [ + "D24-0", + "D20-0" + ] + } + ], + "original_id": 380 + }, + { + "type": "dividend", + "entity": "MILW", + "entity_type": "corporation", + "id": 263, + "created_at": 1673106461, + "kind": "payout", + "original_id": 381 + }, + { + "type": "pass", + "entity": "MILW", + "entity_type": "corporation", + "id": 264, + "created_at": 1673106466, + "original_id": 382 + }, + { + "type": "assign", + "entity": "P22", + "entity_type": "company", + "id": 265, + "created_at": 1673106472, + "target": "F18", + "target_type": "hex", + "original_id": 383 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 266, + "created_at": 1673106556, + "hex": "G19", + "tile": "8-3", + "rotation": 0, + "original_id": 384 + }, + { + "type": "run_routes", + "entity": "MP", + "entity_type": "corporation", + "id": 267, + "created_at": 1673106569, + "routes": [ + { + "train": "2-13", + "connections": [ + [ + "F18", + "E17" + ] + ], + "hexes": [ + "E17", + "F18" + ], + "revenue": 60, + "revenue_str": "E17-F18", + "nodes": [ + "F18-0", + "E17-0" + ] + }, + { + "train": "2-14", + "connections": [ + [ + "E17", + "E19", + "D20" + ] + ], + "hexes": [ + "D20", + "E17" + ], + "revenue": 60, + "revenue_str": "D20-E17", + "nodes": [ + "E17-0", + "D20-0" + ] + } + ], + "original_id": 385 + }, + { + "type": "dividend", + "entity": "MP", + "entity_type": "corporation", + "id": 268, + "created_at": 1673106577, + "kind": "half", + "original_id": 386 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 269, + "created_at": 1673106587, + "original_id": 388 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 270, + "created_at": 1673106602, + "original_id": 390 + }, + { + "type": "run_routes", + "entity": "B&O", + "entity_type": "corporation", + "id": 271, + "created_at": 1673106612, + "routes": [ + { + "train": "2-15", + "connections": [ + [ + "D28", + "E27", + "E25", + "E23" + ] + ], + "hexes": [ + "E23", + "D28" + ], + "revenue": 80, + "revenue_str": "E23-D28", + "nodes": [ + "D28-0", + "E23-0" + ] + }, + { + "train": "2-16", + "connections": [ + [ + "D28", + "C29" + ] + ], + "hexes": [ + "C29", + "D28" + ], + "revenue": 60, + "revenue_str": "C29-D28", + "nodes": [ + "D28-0", + "C29-0" + ] + } + ], + "original_id": 391 + }, + { + "type": "dividend", + "entity": "B&O", + "entity_type": "corporation", + "id": 272, + "created_at": 1673106617, + "kind": "half", + "original_id": 392 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 273, + "created_at": 1673106620, + "original_id": 393 + }, + { + "type": "lay_tile", + "entity": "C&O", + "entity_type": "corporation", + "id": 274, + "created_at": 1673106627, + "hex": "B28", + "tile": "8-4", + "rotation": 2, + "original_id": 394 + }, + { + "type": "assign", + "entity": "P8", + "entity_type": "company", + "id": 275, + "created_at": 1673106631, + "target": "A27", + "target_type": "hex", + "original_id": 395 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 276, + "created_at": 1673106634, + "original_id": 396 + }, + { + "type": "run_routes", + "entity": "C&O", + "entity_type": "corporation", + "id": 277, + "created_at": 1673106642, + "routes": [ + { + "train": "2-17", + "connections": [ + [ + "C29", + "B30", + "B28", + "A27" + ] + ], + "hexes": [ + "A27", + "C29" + ], + "revenue": 60, + "revenue_str": "A27-C29", + "nodes": [ + "C29-0", + "A27-0" + ] + }, + { + "train": "2-18", + "connections": [ + [ + "C29", + "D28" + ] + ], + "hexes": [ + "D28", + "C29" + ], + "revenue": 60, + "revenue_str": "D28-C29", + "nodes": [ + "C29-0", + "D28-0" + ] + } + ], + "original_id": 397 + }, + { + "type": "dividend", + "entity": "C&O", + "entity_type": "corporation", + "id": 278, + "created_at": 1673106644, + "kind": "payout", + "original_id": 398 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 279, + "created_at": 1673106649, + "original_id": 399 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 280, + "created_at": 1673106654, + "original_id": 400 + }, + { + "type": "program_share_pass", + "entity": 605, + "entity_type": "player", + "id": 281, + "created_at": 1673106657, + "unconditional": false, + "indefinite": false, + "original_id": 401 + }, + { + "type": "program_merger_pass", + "entity": 605, + "entity_type": "player", + "id": 282, + "created_at": 1673106658, + "corporations_by_round": { + "AR": [ + "SP", + "UP" + ], + "MR": [ + "SP", + "UP" + ] + }, + "options": [ + "disable_others" + ], + "original_id": 402 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 283, + "created_at": 1673106672, + "original_id": 403 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 284, + "created_at": 1673106674, + "original_id": 404 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 285, + "created_at": 1673106679, + "original_id": 405 + }, + { + "type": "program_merger_pass", + "entity": 3763, + "entity_type": "player", + "id": 286, + "created_at": 1673106683, + "corporations_by_round": { + "AR": [ + "NYC", + "PRR" + ], + "MR": [ + "NYC", + "PRR" + ] + }, + "options": [ + "disable_others" + ], + "original_id": 406 + }, + { + "type": "program_merger_pass", + "entity": 4339, + "entity_type": "player", + "id": 287, + "created_at": 1673106700, + "auto_actions": [ + { + "type": "pass", + "entity": "MILW", + "entity_type": "corporation", + "created_at": 1673106696 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "created_at": 1673106696 + } + ], + "corporations_by_round": { + "AR": [ + "B&O", + "MILW", + "MKT" + ], + "MR": [ + "B&O", + "MILW", + "MKT" + ] + }, + "options": [ + + ], + "original_id": 407 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 288, + "created_at": 1673106708, + "auto_actions": [ + { + "type": "pass", + "entity": "MKT", + "entity_type": "corporation", + "created_at": 1673106708 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "created_at": 1673106708 + } + ], + "original_id": 408 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 289, + "created_at": 1673106711, + "original_id": 409 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 290, + "created_at": 1673106753, + "corporation": "TP", + "price": 140, + "original_id": 410 + }, + { + "type": "place_token", + "entity": "TP", + "entity_type": "corporation", + "id": 291, + "created_at": 1673106762, + "city": "15-0-0", + "slot": 1, + "tokener": "TP", + "original_id": 411 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 292, + "created_at": 1673106896, + "corporation": "TP", + "price": 180, + "original_id": 412 + }, + { + "type": "choose", + "entity": 1463, + "entity_type": "player", + "id": 293, + "created_at": 1673106898, + "choice": 2, + "original_id": 413 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 294, + "created_at": 1673106973, + "corporation": "N&W", + "price": 112, + "original_id": 416 + }, + { + "type": "place_token", + "entity": "N&W", + "entity_type": "corporation", + "id": 295, + "created_at": 1673106983, + "city": "D28-0-1", + "slot": 0, + "tokener": "N&W", + "original_id": 417 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 296, + "created_at": 1673106999, + "corporation": "N&W", + "price": 180, + "original_id": 418 + }, + { + "type": "choose", + "entity": 4339, + "entity_type": "player", + "id": 297, + "created_at": 1673107002, + "choice": 2, + "original_id": 419 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 298, + "created_at": 1673107013, + "original_id": 420 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 299, + "created_at": 1673107019, + "original_id": 421 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 300, + "created_at": 1673107076, + "corporation": "KCS", + "price": 140, + "original_id": 422 + }, + { + "type": "place_token", + "entity": "KCS", + "entity_type": "corporation", + "id": 301, + "created_at": 1673107078, + "city": "X06-0-0", + "slot": 0, + "tokener": "KCS", + "original_id": 423 + }, + { + "type": "choose", + "entity": 3763, + "entity_type": "player", + "id": 302, + "created_at": 1673107081, + "choice": 2, + "original_id": 424 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 303, + "created_at": 1673107093, + "corporation": "ATSF", + "price": 112, + "original_id": 425 + }, + { + "type": "place_token", + "entity": "ATSF", + "entity_type": "corporation", + "id": 304, + "created_at": 1673107095, + "city": "6-0-0", + "slot": 0, + "tokener": "ATSF", + "original_id": 426 + }, + { + "type": "choose", + "entity": 605, + "entity_type": "player", + "id": 305, + "created_at": 1673107119, + "choice": 2, + "original_id": 427 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 306, + "created_at": 1673107125, + "original_id": 428 + }, + { + "type": "program_share_pass", + "entity": 4339, + "entity_type": "player", + "id": 307, + "created_at": 1673107131, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673107127 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 429 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 308, + "created_at": 1673107133, + "original_id": 430 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 309, + "created_at": 1673107142, + "original_id": 431 + }, + { + "type": "lay_tile", + "entity": "SP", + "entity_type": "corporation", + "id": 310, + "created_at": 1673107148, + "hex": "D20", + "tile": "592-0", + "rotation": 0, + "original_id": 432 + }, + { + "type": "run_routes", + "entity": "SP", + "entity_type": "corporation", + "id": 311, + "created_at": 1673107156, + "routes": [ + { + "train": "2+-0", + "connections": [ + [ + "D20", + "D22", + "D24" + ] + ], + "hexes": [ + "D20", + "D24" + ], + "revenue": 70, + "revenue_str": "D20-D24", + "nodes": [ + "D20-0", + "D24-0" + ] + }, + { + "train": "2-1", + "connections": [ + [ + "D20", + "E19", + "E17" + ] + ], + "hexes": [ + "D20", + "E17" + ], + "revenue": 80, + "revenue_str": "D20-E17", + "nodes": [ + "D20-0", + "E17-0" + ] + }, + { + "train": "2-0", + "connections": [ + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "D20", + "D14" + ], + "revenue": 100, + "revenue_str": "D20-D14", + "nodes": [ + "D20-0", + "D14-0" + ] + } + ], + "original_id": 433 + }, + { + "type": "dividend", + "entity": "SP", + "entity_type": "corporation", + "id": 312, + "created_at": 1673107160, + "kind": "withhold", + "original_id": 434 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 313, + "created_at": 1673107163, + "original_id": 435 + }, + { + "type": "payoff_loan", + "entity": "SP", + "entity_type": "corporation", + "id": 314, + "created_at": 1673107164, + "loan": 0, + "original_id": 436 + }, + { + "type": "payoff_loan", + "entity": "SP", + "entity_type": "corporation", + "id": 315, + "created_at": 1673107165, + "loan": 1, + "original_id": 437 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 316, + "created_at": 1673107166, + "original_id": 438 + }, + { + "type": "lay_tile", + "entity": "TP", + "entity_type": "corporation", + "id": 317, + "created_at": 1673107205, + "hex": "F20", + "tile": "619-0", + "rotation": 1, + "original_id": 439 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 318, + "created_at": 1673107471, + "original_id": 443 + }, + { + "type": "take_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 319, + "created_at": 1673107475, + "loan": 20, + "original_id": 444 + }, + { + "type": "buy_train", + "entity": "TP", + "entity_type": "corporation", + "id": 320, + "created_at": 1673107478, + "train": "3-0", + "price": 250, + "variant": "3", + "original_id": 445 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 321, + "created_at": 1673107481, + "original_id": 446 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 322, + "created_at": 1673107486, + "original_id": 447 + }, + { + "type": "lay_tile", + "entity": "N&W", + "entity_type": "corporation", + "id": 323, + "created_at": 1673107495, + "hex": "D28", + "tile": "X12-0", + "rotation": 0, + "original_id": 448 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 324, + "created_at": 1673107498, + "original_id": 449 + }, + { + "type": "take_loan", + "entity": "N&W", + "entity_type": "corporation", + "id": 325, + "created_at": 1673107500, + "loan": 21, + "original_id": 450 + }, + { + "type": "buy_train", + "entity": "N&W", + "entity_type": "corporation", + "id": 326, + "created_at": 1673107503, + "train": "3-1", + "price": 250, + "variant": "3", + "original_id": 451 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 327, + "created_at": 1673107505, + "original_id": 452 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 328, + "created_at": 1673107510, + "original_id": 453 + }, + { + "type": "lay_tile", + "entity": "KCS", + "entity_type": "corporation", + "id": 329, + "created_at": 1673107528, + "hex": "H20", + "tile": "15-1", + "rotation": 3, + "original_id": 454 + }, + { + "type": "take_loan", + "entity": "KCS", + "entity_type": "corporation", + "id": 330, + "created_at": 1673107537, + "loan": 22, + "original_id": 455 + }, + { + "type": "take_loan", + "entity": "KCS", + "entity_type": "corporation", + "id": 331, + "created_at": 1673107539, + "loan": 23, + "original_id": 456 + }, + { + "type": "pass", + "entity": "KCS", + "entity_type": "corporation", + "id": 332, + "created_at": 1673107541, + "original_id": 457 + }, + { + "type": "buy_train", + "entity": "KCS", + "entity_type": "corporation", + "id": 333, + "created_at": 1673107551, + "train": "3-2", + "price": 250, + "variant": "3", + "original_id": 458 + }, + { + "type": "buy_train", + "entity": "KCS", + "entity_type": "corporation", + "id": 334, + "created_at": 1673107663, + "train": "2-2", + "price": 10, + "original_id": 459 + }, + { + "type": "pass", + "entity": "KCS", + "entity_type": "corporation", + "id": 335, + "created_at": 1673107669, + "original_id": 460 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 336, + "created_at": 1673107674, + "hex": "H22", + "tile": "592-1", + "rotation": 1, + "original_id": 461 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 337, + "created_at": 1673107679, + "original_id": 462 + }, + { + "type": "choose", + "entity": "PRR", + "entity_type": "corporation", + "id": 338, + "created_at": 1673107684, + "choice": "0-0", + "original_id": 463 + }, + { + "type": "run_routes", + "entity": "PRR", + "entity_type": "corporation", + "id": 339, + "created_at": 1673107689, + "routes": [ + { + "train": "2+-1", + "connections": [ + [ + "H22", + "I23", + "J24" + ] + ], + "hexes": [ + "H22", + "J24" + ], + "revenue": 100, + "revenue_str": "H22-J24", + "nodes": [ + "H22-0", + "J24-0" + ] + }, + { + "train": "2-3", + "connections": [ + [ + "H22", + "H20" + ], + [ + "H20", + "I19" + ] + ], + "hexes": [ + "H22", + "H20", + "I19" + ], + "revenue": 110, + "revenue_str": "H22-H20-I19", + "nodes": [ + "H22-0", + "H20-0", + "I19-0" + ] + } + ], + "original_id": 464 + }, + { + "type": "dividend", + "entity": "PRR", + "entity_type": "corporation", + "id": 340, + "created_at": 1673107694, + "kind": "half", + "original_id": 465 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 341, + "created_at": 1673107699, + "original_id": 466 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 342, + "created_at": 1673107703, + "loan": 2, + "original_id": 467 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 343, + "created_at": 1673107706, + "original_id": 468 + }, + { + "type": "lay_tile", + "entity": "NYC", + "entity_type": "corporation", + "id": 344, + "created_at": 1673107710, + "hex": "H8", + "tile": "14-0", + "rotation": 1, + "original_id": 469 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 345, + "created_at": 1673107713, + "original_id": 470 + }, + { + "type": "run_routes", + "entity": "NYC", + "entity_type": "corporation", + "id": 346, + "created_at": 1673107716, + "routes": [ + { + "train": "2-7", + "connections": [ + [ + "H8", + "I9" + ] + ], + "hexes": [ + "H8", + "I9" + ], + "revenue": 80, + "revenue_str": "H8-I9", + "nodes": [ + "H8-0", + "I9-0" + ] + }, + { + "train": "2-6", + "connections": [ + [ + "H8", + "H6", + "H4", + "I5" + ] + ], + "hexes": [ + "H8", + "I5" + ], + "revenue": 100, + "revenue_str": "H8-I5", + "nodes": [ + "H8-0", + "I5-0" + ] + } + ], + "original_id": 471 + }, + { + "type": "dividend", + "entity": "NYC", + "entity_type": "corporation", + "id": 347, + "created_at": 1673107742, + "kind": "half", + "original_id": 474 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 348, + "created_at": 1673107744, + "original_id": 475 + }, + { + "type": "lay_tile", + "entity": "SR", + "entity_type": "corporation", + "id": 349, + "created_at": 1673107752, + "hex": "E19", + "tile": "82-0", + "rotation": 0, + "original_id": 476 + }, + { + "type": "run_routes", + "entity": "SR", + "entity_type": "corporation", + "id": 350, + "created_at": 1673107774, + "routes": [ + { + "train": "2-4", + "connections": [ + [ + "F20", + "F22", + "E23" + ] + ], + "hexes": [ + "F20", + "E23" + ], + "revenue": 80, + "revenue_str": "F20-E23", + "nodes": [ + "F20-0", + "E23-0" + ] + }, + { + "train": "2-5", + "connections": [ + [ + "F20", + "F18" + ] + ], + "hexes": [ + "F20", + "F18" + ], + "revenue": 90, + "revenue_str": "F20-F18", + "nodes": [ + "F20-0", + "F18-0" + ] + }, + { + "train": "2+-2", + "connections": [ + [ + "F18", + "E19", + "D20" + ] + ], + "hexes": [ + "D20", + "F18" + ], + "revenue": 100, + "revenue_str": "D20-F18", + "nodes": [ + "F18-0", + "D20-0" + ] + } + ], + "original_id": 477 + }, + { + "type": "dividend", + "entity": "SR", + "entity_type": "corporation", + "id": 351, + "created_at": 1673107776, + "kind": "withhold", + "original_id": 478 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 352, + "created_at": 1673107782, + "original_id": 479 + }, + { + "type": "payoff_loan", + "entity": "SR", + "entity_type": "corporation", + "id": 353, + "created_at": 1673107783, + "loan": 4, + "original_id": 480 + }, + { + "type": "payoff_loan", + "entity": "SR", + "entity_type": "corporation", + "id": 354, + "created_at": 1673107783, + "loan": 5, + "original_id": 481 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 355, + "created_at": 1673107793, + "original_id": 482 + }, + { + "type": "lay_tile", + "entity": "ATSF", + "entity_type": "corporation", + "id": 356, + "created_at": 1673107817, + "hex": "I19", + "tile": "592-2", + "rotation": 1, + "original_id": 483 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 357, + "created_at": 1673107822, + "loan": 24, + "original_id": 484 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 358, + "created_at": 1673107823, + "loan": 25, + "original_id": 485 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 359, + "created_at": 1673107825, + "original_id": 486 + }, + { + "type": "buy_train", + "entity": "ATSF", + "entity_type": "corporation", + "id": 360, + "created_at": 1673107827, + "train": "3-3", + "price": 250, + "variant": "3", + "original_id": 487 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 361, + "created_at": 1673107830, + "original_id": 488 + }, + { + "type": "lay_tile", + "entity": "MILW", + "entity_type": "corporation", + "id": 362, + "created_at": 1673107842, + "hex": "D24", + "tile": "15-2", + "rotation": 4, + "original_id": 489 + }, + { + "type": "pass", + "entity": "MILW", + "entity_type": "corporation", + "id": 363, + "created_at": 1673107845, + "original_id": 490 + }, + { + "type": "run_routes", + "entity": "MILW", + "entity_type": "corporation", + "id": 364, + "created_at": 1673107855, + "routes": [ + { + "train": "2-11", + "connections": [ + [ + "D24", + "D26", + "D28" + ] + ], + "hexes": [ + "D24", + "D28" + ], + "revenue": 90, + "revenue_str": "D24-D28", + "nodes": [ + "D24-0", + "D28-1" + ] + }, + { + "train": "2-12", + "connections": [ + [ + "D24", + "D22", + "D20" + ] + ], + "hexes": [ + "D24", + "D20" + ], + "revenue": 80, + "revenue_str": "D24-D20", + "nodes": [ + "D24-0", + "D20-0" + ] + } + ], + "original_id": 491 + }, + { + "type": "dividend", + "entity": "MILW", + "entity_type": "corporation", + "id": 365, + "created_at": 1673107886, + "kind": "withhold", + "original_id": 492 + }, + { + "type": "pass", + "entity": "MILW", + "entity_type": "corporation", + "id": 366, + "created_at": 1673107888, + "original_id": 493 + }, + { + "type": "payoff_loan", + "entity": "MILW", + "entity_type": "corporation", + "id": 367, + "created_at": 1673107889, + "loan": 12, + "original_id": 494 + }, + { + "type": "pass", + "entity": "MILW", + "entity_type": "corporation", + "id": 368, + "created_at": 1673107890, + "original_id": 495 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 369, + "created_at": 1673107898, + "hex": "C19", + "tile": "7ore20-0", + "rotation": 5, + "original_id": 496 + }, + { + "type": "place_token", + "entity": "S9", + "entity_type": "company", + "id": 370, + "created_at": 1673107904, + "city": "592-0-0", + "slot": 1, + "tokener": "UP", + "original_id": 497 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 371, + "created_at": 1673107907, + "original_id": 498 + }, + { + "type": "run_routes", + "entity": "UP", + "entity_type": "corporation", + "id": 372, + "created_at": 1673107909, + "routes": [ + { + "train": "2-10", + "connections": [ + [ + "D14", + "D16", + "D18", + "C19", + "D20" + ] + ], + "hexes": [ + "D14", + "D20" + ], + "revenue": 110, + "revenue_str": "D14-D20", + "nodes": [ + "D14-0", + "D20-0" + ] + } + ], + "original_id": 499 + }, + { + "type": "dividend", + "entity": "UP", + "entity_type": "corporation", + "id": 373, + "created_at": 1673107981, + "kind": "half", + "original_id": 513 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 374, + "created_at": 1673107987, + "original_id": 514 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 375, + "created_at": 1673107988, + "original_id": 515 + }, + { + "type": "lay_tile", + "entity": "C&O", + "entity_type": "corporation", + "id": 376, + "created_at": 1673107995, + "hex": "C29", + "tile": "15-3", + "rotation": 0, + "original_id": 516 + }, + { + "type": "run_routes", + "entity": "C&O", + "entity_type": "corporation", + "id": 377, + "created_at": 1673107997, + "routes": [ + { + "train": "2-17", + "connections": [ + [ + "C29", + "B30", + "B28", + "A27" + ] + ], + "hexes": [ + "C29", + "A27" + ], + "revenue": 90, + "revenue_str": "C29-A27", + "nodes": [ + "C29-0", + "A27-0" + ] + }, + { + "train": "2-18", + "connections": [ + [ + "C29", + "D28" + ] + ], + "hexes": [ + "C29", + "D28" + ], + "revenue": 90, + "revenue_str": "C29-D28", + "nodes": [ + "C29-0", + "D28-0" + ] + } + ], + "original_id": 517 + }, + { + "type": "dividend", + "entity": "C&O", + "entity_type": "corporation", + "id": 378, + "created_at": 1673107998, + "kind": "withhold", + "original_id": 518 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 379, + "created_at": 1673108001, + "original_id": 519 + }, + { + "type": "payoff_loan", + "entity": "C&O", + "entity_type": "corporation", + "id": 380, + "created_at": 1673108003, + "loan": 18, + "original_id": 520 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 381, + "created_at": 1673108006, + "original_id": 521 + }, + { + "type": "lay_tile", + "entity": "MKT", + "entity_type": "corporation", + "id": 382, + "created_at": 1673108028, + "hex": "E25", + "tile": "82coal-0", + "rotation": 1, + "original_id": 522 + }, + { + "type": "pass", + "entity": "MKT", + "entity_type": "corporation", + "id": 383, + "created_at": 1673108032, + "original_id": 523 + }, + { + "type": "run_routes", + "entity": "MKT", + "entity_type": "corporation", + "id": 384, + "created_at": 1673108045, + "routes": [ + { + "train": "2-8", + "connections": [ + [ + "E23", + "F22", + "F20" + ] + ], + "hexes": [ + "E23", + "F20" + ], + "revenue": 80, + "revenue_str": "E23-F20", + "nodes": [ + "E23-0", + "F20-0" + ] + }, + { + "train": "2-9", + "connections": [ + [ + "E23", + "E25", + "E27", + "D28" + ] + ], + "hexes": [ + "E23", + "D28" + ], + "revenue": 100, + "revenue_str": "E23-D28", + "nodes": [ + "E23-0", + "D28-0" + ] + }, + { + "train": "2+-3", + "connections": [ + [ + "E23", + "D24" + ] + ], + "hexes": [ + "D24", + "E23" + ], + "revenue": 60, + "revenue_str": "D24-E23", + "nodes": [ + "E23-0", + "D24-0" + ] + } + ], + "original_id": 524 + }, + { + "type": "dividend", + "entity": "MKT", + "entity_type": "corporation", + "id": 385, + "created_at": 1673108051, + "kind": "withhold", + "original_id": 525 + }, + { + "type": "pass", + "entity": "MKT", + "entity_type": "corporation", + "id": 386, + "created_at": 1673108053, + "original_id": 526 + }, + { + "type": "payoff_loan", + "entity": "MKT", + "entity_type": "corporation", + "id": 387, + "created_at": 1673108054, + "loan": 9, + "original_id": 527 + }, + { + "type": "payoff_loan", + "entity": "MKT", + "entity_type": "corporation", + "id": 388, + "created_at": 1673108055, + "loan": 10, + "original_id": 528 + }, + { + "type": "pass", + "entity": "MKT", + "entity_type": "corporation", + "id": 389, + "created_at": 1673108056, + "original_id": 529 + }, + { + "type": "lay_tile", + "entity": "B&O", + "entity_type": "corporation", + "id": 390, + "created_at": 1673108105, + "hex": "D22", + "tile": "82-1", + "rotation": 4, + "original_id": 532 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 391, + "created_at": 1673108113, + "original_id": 533 + }, + { + "type": "run_routes", + "entity": "B&O", + "entity_type": "corporation", + "id": 392, + "created_at": 1673108119, + "routes": [ + { + "train": "2-15", + "connections": [ + [ + "D28", + "E27", + "E25", + "E23" + ] + ], + "hexes": [ + "D28", + "E23" + ], + "revenue": 100, + "revenue_str": "D28-E23", + "nodes": [ + "D28-0", + "E23-0" + ] + }, + { + "train": "2-16", + "connections": [ + [ + "D28", + "C29" + ] + ], + "hexes": [ + "D28", + "C29" + ], + "revenue": 90, + "revenue_str": "D28-C29", + "nodes": [ + "D28-0", + "C29-0" + ] + } + ], + "original_id": 534 + }, + { + "type": "dividend", + "entity": "B&O", + "entity_type": "corporation", + "id": 393, + "created_at": 1673108146, + "kind": "withhold", + "original_id": 537 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 394, + "created_at": 1673108149, + "original_id": 538 + }, + { + "type": "payoff_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 395, + "created_at": 1673108151, + "loan": 16, + "original_id": 539 + }, + { + "type": "payoff_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 396, + "created_at": 1673108151, + "loan": 17, + "original_id": 540 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 397, + "created_at": 1673108152, + "original_id": 541 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 398, + "created_at": 1673108161, + "hex": "E17", + "tile": "15-4", + "rotation": 3, + "original_id": 542 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 399, + "created_at": 1673108164, + "original_id": 543 + }, + { + "type": "run_routes", + "entity": "MP", + "entity_type": "corporation", + "id": 400, + "created_at": 1673108170, + "routes": [ + { + "train": "2-13", + "connections": [ + [ + "F18", + "E17" + ] + ], + "hexes": [ + "F18", + "E17" + ], + "revenue": 80, + "revenue_str": "F18-E17", + "nodes": [ + "F18-0", + "E17-0" + ] + }, + { + "train": "2-14", + "connections": [ + [ + "E17", + "E19", + "D20" + ] + ], + "hexes": [ + "E17", + "D20" + ], + "revenue": 90, + "revenue_str": "E17-D20", + "nodes": [ + "E17-0", + "D20-0" + ] + } + ], + "original_id": 544 + }, + { + "type": "dividend", + "entity": "MP", + "entity_type": "corporation", + "id": 401, + "created_at": 1673108172, + "kind": "withhold", + "original_id": 545 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 402, + "created_at": 1673108178, + "original_id": 546 + }, + { + "type": "payoff_loan", + "entity": "MP", + "entity_type": "corporation", + "id": 403, + "created_at": 1673108179, + "loan": 14, + "original_id": 547 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 404, + "created_at": 1673108182, + "original_id": 548 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 405, + "created_at": 1673108189, + "original_id": 549 + }, + { + "type": "program_merger_pass", + "entity": 4339, + "entity_type": "player", + "id": 406, + "created_at": 1673108193, + "corporations_by_round": { + "AR": [ + "B&O", + "MILW", + "MKT", + "N&W" + ], + "MR": [ + "B&O", + "MILW", + "MKT", + "N&W" + ] + }, + "options": [ + + ], + "original_id": 550 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 407, + "created_at": 1673108231, + "original_id": 551 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 408, + "created_at": 1673108240, + "auto_actions": [ + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "created_at": 1673108240 + } + ], + "original_id": 552 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 409, + "created_at": 1673108248, + "original_id": 553 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 410, + "created_at": 1673108259, + "auto_actions": [ + { + "type": "pass", + "entity": "MILW", + "entity_type": "corporation", + "created_at": 1673108259 + } + ], + "original_id": 554 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 411, + "created_at": 1673108286, + "auto_actions": [ + { + "type": "pass", + "entity": "MKT", + "entity_type": "corporation", + "created_at": 1673108286 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "created_at": 1673108286 + } + ], + "original_id": 555 + }, + { + "type": "pass", + "entity": "KCS", + "entity_type": "corporation", + "id": 412, + "created_at": 1673108290, + "original_id": 556 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 413, + "created_at": 1673108294, + "original_id": 557 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 414, + "created_at": 1673108296, + "original_id": 558 + }, + { + "type": "convert", + "entity": "ATSF", + "entity_type": "corporation", + "id": 415, + "created_at": 1673108302, + "original_id": 559 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 416, + "created_at": 1673108303, + "shares": [ + "ATSF_1" + ], + "percent": 20, + "share_price": false, + "original_id": 560 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 417, + "created_at": 1673108322, + "shares": [ + "ATSF_2" + ], + "percent": 20, + "share_price": false, + "original_id": 561 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 418, + "created_at": 1673108328, + "original_id": 562 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 419, + "created_at": 1673108336, + "original_id": 563 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 420, + "created_at": 1673108336, + "original_id": 564 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 421, + "created_at": 1673108349, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673108348 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673108348 + } + ], + "original_id": 566 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 422, + "created_at": 1673108376, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673108376 + } + ], + "original_id": 567 + }, + { + "type": "program_merger_pass", + "entity": 605, + "entity_type": "player", + "id": 423, + "created_at": 1673108378, + "corporations_by_round": { + "AR": [ + "ATSF", + "SP", + "UP" + ], + "MR": [ + "ATSF", + "SP", + "UP" + ] + }, + "options": [ + "disable_others" + ], + "original_id": 568 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 424, + "created_at": 1673108385, + "original_id": 569 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 425, + "created_at": 1673108389, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673108388 + } + ], + "original_id": 570 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 426, + "created_at": 1673108394, + "original_id": 571 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 427, + "created_at": 1673108397, + "auto_actions": [ + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "created_at": 1673108396 + } + ], + "original_id": 572 + }, + { + "type": "lay_tile", + "entity": "SP", + "entity_type": "corporation", + "id": 428, + "created_at": 1673108411, + "hex": "D16", + "tile": "9ore20-0", + "rotation": 1, + "original_id": 573 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 429, + "created_at": 1673108414, + "original_id": 574 + }, + { + "type": "run_routes", + "entity": "SP", + "entity_type": "corporation", + "id": 430, + "created_at": 1673108422, + "routes": [ + { + "train": "2+-0", + "connections": [ + [ + "D20", + "D22", + "D24" + ] + ], + "hexes": [ + "D20", + "D24" + ], + "revenue": 80, + "revenue_str": "D20-D24", + "nodes": [ + "D20-0", + "D24-0" + ] + }, + { + "train": "2-1", + "connections": [ + [ + "D20", + "E19", + "E17" + ] + ], + "hexes": [ + "D20", + "E17" + ], + "revenue": 90, + "revenue_str": "D20-E17", + "nodes": [ + "D20-0", + "E17-0" + ] + }, + { + "train": "2-0", + "connections": [ + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "D20", + "D14" + ], + "revenue": 120, + "revenue_str": "D20-D14", + "nodes": [ + "D20-0", + "D14-0" + ] + } + ], + "original_id": 575 + }, + { + "type": "dividend", + "entity": "SP", + "entity_type": "corporation", + "id": 431, + "created_at": 1673108426, + "kind": "payout", + "original_id": 576 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 432, + "created_at": 1673108428, + "original_id": 577 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 433, + "created_at": 1673108434, + "original_id": 578 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 434, + "created_at": 1673108514, + "hex": "I25", + "tile": "6-3", + "rotation": 0, + "original_id": 579 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 435, + "created_at": 1673108520, + "original_id": 580 + }, + { + "type": "choose", + "entity": "PRR", + "entity_type": "corporation", + "id": 436, + "created_at": 1673108524, + "choice": "0-0", + "original_id": 581 + }, + { + "type": "run_routes", + "entity": "PRR", + "entity_type": "corporation", + "id": 437, + "created_at": 1673108532, + "routes": [ + { + "train": "2+-1", + "connections": [ + [ + "H22", + "I23", + "J24" + ] + ], + "hexes": [ + "H22", + "J24" + ], + "revenue": 100, + "revenue_str": "H22-J24", + "nodes": [ + "H22-0", + "J24-0" + ] + }, + { + "train": "2-3", + "connections": [ + [ + "H22", + "H20" + ], + [ + "H20", + "I19" + ] + ], + "hexes": [ + "H22", + "H20", + "I19" + ], + "revenue": 130, + "revenue_str": "H22-H20-I19", + "nodes": [ + "H22-0", + "H20-0", + "I19-0" + ] + } + ], + "original_id": 582 + }, + { + "type": "dividend", + "entity": "PRR", + "entity_type": "corporation", + "id": 438, + "created_at": 1673108536, + "kind": "half", + "original_id": 583 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 439, + "created_at": 1673108540, + "original_id": 584 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 440, + "created_at": 1673108542, + "original_id": 585 + }, + { + "type": "lay_tile", + "entity": "TP", + "entity_type": "corporation", + "id": 441, + "created_at": 1673108564, + "hex": "D18", + "tile": "82-2", + "rotation": 0, + "original_id": 586 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 442, + "created_at": 1673108566, + "original_id": 587 + }, + { + "type": "run_routes", + "entity": "TP", + "entity_type": "corporation", + "id": 443, + "created_at": 1673108582, + "routes": [ + { + "train": "3-0", + "connections": [ + [ + "E23", + "E25", + "E27", + "D28" + ], + [ + "F20", + "F22", + "E23" + ] + ], + "hexes": [ + "D28", + "E23", + "F20" + ], + "revenue": 150, + "revenue_str": "D28-E23-F20", + "nodes": [ + "E23-0", + "D28-0", + "F20-0" + ] + } + ], + "original_id": 588 + }, + { + "type": "dividend", + "entity": "TP", + "entity_type": "corporation", + "id": 444, + "created_at": 1673108586, + "kind": "half", + "original_id": 589 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 445, + "created_at": 1673108590, + "original_id": 590 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 446, + "created_at": 1673108595, + "original_id": 591 + }, + { + "type": "lay_tile", + "entity": "N&W", + "entity_type": "corporation", + "id": 447, + "created_at": 1673108622, + "hex": "D26", + "tile": "82-3", + "rotation": 1, + "original_id": 592 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 448, + "created_at": 1673108625, + "original_id": 593 + }, + { + "type": "run_routes", + "entity": "N&W", + "entity_type": "corporation", + "id": 449, + "created_at": 1673108638, + "routes": [ + { + "train": "3-1", + "connections": [ + [ + "D24", + "D22", + "D20" + ], + [ + "D28", + "D26", + "D24" + ] + ], + "hexes": [ + "D20", + "D24", + "D28" + ], + "revenue": 140, + "revenue_str": "D20-D24-D28", + "nodes": [ + "D24-0", + "D20-0", + "D28-1" + ] + } + ], + "original_id": 594 + }, + { + "type": "dividend", + "entity": "N&W", + "entity_type": "corporation", + "id": 450, + "created_at": 1673108642, + "kind": "half", + "original_id": 595 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 451, + "created_at": 1673108645, + "original_id": 596 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 452, + "created_at": 1673108649, + "original_id": 597 + }, + { + "type": "lay_tile", + "entity": "NYC", + "entity_type": "corporation", + "id": 453, + "created_at": 1673108654, + "hex": "H10", + "tile": "9-4", + "rotation": 1, + "original_id": 598 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 454, + "created_at": 1673108656, + "original_id": 599 + }, + { + "type": "run_routes", + "entity": "NYC", + "entity_type": "corporation", + "id": 455, + "created_at": 1673108660, + "routes": [ + { + "train": "2-7", + "connections": [ + [ + "H8", + "I9" + ] + ], + "hexes": [ + "H8", + "I9" + ], + "revenue": 80, + "revenue_str": "H8-I9", + "nodes": [ + "H8-0", + "I9-0" + ] + }, + { + "train": "2-6", + "connections": [ + [ + "H8", + "H6", + "H4", + "I5" + ] + ], + "hexes": [ + "H8", + "I5" + ], + "revenue": 100, + "revenue_str": "H8-I5", + "nodes": [ + "H8-0", + "I5-0" + ] + } + ], + "original_id": 600 + }, + { + "type": "dividend", + "entity": "NYC", + "entity_type": "corporation", + "id": 456, + "created_at": 1673108664, + "kind": "payout", + "original_id": 601 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 457, + "created_at": 1673108667, + "original_id": 602 + }, + { + "type": "lay_tile", + "entity": "SR", + "entity_type": "corporation", + "id": 458, + "created_at": 1673108677, + "hex": "H18", + "tile": "9-0", + "rotation": 0, + "original_id": 603 + }, + { + "type": "lay_tile", + "entity": "SR", + "entity_type": "corporation", + "id": 459, + "created_at": 1673108687, + "hex": "I17", + "tile": "7-0", + "rotation": 3, + "original_id": 604 + }, + { + "type": "run_routes", + "entity": "SR", + "entity_type": "corporation", + "id": 460, + "created_at": 1673108719, + "routes": [ + { + "train": "2-4", + "connections": [ + [ + "F18", + "E19", + "D20" + ] + ], + "hexes": [ + "D20", + "F18" + ], + "revenue": 100, + "revenue_str": "D20-F18", + "nodes": [ + "F18-0", + "D20-0" + ] + }, + { + "train": "2-5", + "connections": [ + [ + "F18", + "G19", + "H18", + "I17", + "I19" + ] + ], + "hexes": [ + "I19", + "F18" + ], + "revenue": 100, + "revenue_str": "I19-F18", + "nodes": [ + "F18-0", + "I19-0" + ] + }, + { + "train": "2+-2", + "connections": [ + [ + "F18", + "F20" + ] + ], + "hexes": [ + "F20", + "F18" + ], + "revenue": 90, + "revenue_str": "F20-F18", + "nodes": [ + "F18-0", + "F20-0" + ] + } + ], + "original_id": 606 + }, + { + "type": "dividend", + "entity": "SR", + "entity_type": "corporation", + "id": 461, + "created_at": 1673108724, + "kind": "payout", + "original_id": 607 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 462, + "created_at": 1673108737, + "original_id": 608 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 463, + "created_at": 1673108742, + "original_id": 609 + }, + { + "type": "lay_tile", + "entity": "MILW", + "entity_type": "corporation", + "id": 464, + "created_at": 1673108772, + "hex": "B26", + "tile": "9-3", + "rotation": 0, + "original_id": 610 + }, + { + "type": "pass", + "entity": "MILW", + "entity_type": "corporation", + "id": 465, + "created_at": 1673108780, + "original_id": 611 + }, + { + "type": "run_routes", + "entity": "MILW", + "entity_type": "corporation", + "id": 466, + "created_at": 1673108809, + "routes": [ + { + "train": "2-11", + "connections": [ + [ + "D24", + "D26", + "D28" + ] + ], + "hexes": [ + "D28", + "D24" + ], + "revenue": 90, + "revenue_str": "D28-D24", + "nodes": [ + "D24-0", + "D28-1" + ] + }, + { + "train": "2-12", + "connections": [ + [ + "D24", + "E25", + "E27", + "D28" + ] + ], + "hexes": [ + "D28", + "D24" + ], + "revenue": 100, + "revenue_str": "D28-D24", + "nodes": [ + "D24-0", + "D28-0" + ] + } + ], + "original_id": 612 + }, + { + "type": "dividend", + "entity": "MILW", + "entity_type": "corporation", + "id": 467, + "created_at": 1673108815, + "kind": "half", + "original_id": 613 + }, + { + "type": "pass", + "entity": "MILW", + "entity_type": "corporation", + "id": 468, + "created_at": 1673108817, + "original_id": 614 + }, + { + "type": "payoff_loan", + "entity": "MILW", + "entity_type": "corporation", + "id": 469, + "created_at": 1673108818, + "loan": 13, + "original_id": 615 + }, + { + "type": "pass", + "entity": "MILW", + "entity_type": "corporation", + "id": 470, + "created_at": 1673108820, + "original_id": 616 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 471, + "created_at": 1673108836, + "hex": "D14", + "tile": "14-1", + "rotation": 0, + "original_id": 617 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 472, + "created_at": 1673108842, + "original_id": 618 + }, + { + "type": "run_routes", + "entity": "UP", + "entity_type": "corporation", + "id": 473, + "created_at": 1673108845, + "routes": [ + { + "train": "2-10", + "connections": [ + [ + "D14", + "D16", + "D18", + "C19", + "D20" + ] + ], + "hexes": [ + "D14", + "D20" + ], + "revenue": 130, + "revenue_str": "D14-D20", + "nodes": [ + "D14-0", + "D20-0" + ] + } + ], + "original_id": 619 + }, + { + "type": "dividend", + "entity": "UP", + "entity_type": "corporation", + "id": 474, + "created_at": 1673108851, + "kind": "half", + "original_id": 620 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 475, + "created_at": 1673108852, + "original_id": 621 + }, + { + "type": "payoff_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 476, + "created_at": 1673108854, + "loan": 11, + "original_id": 622 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 477, + "created_at": 1673108855, + "original_id": 623 + }, + { + "type": "lay_tile", + "entity": "MKT", + "entity_type": "corporation", + "id": 478, + "created_at": 1673108886, + "hex": "C27", + "tile": "7-1", + "rotation": 4, + "original_id": 624 + }, + { + "type": "pass", + "entity": "MKT", + "entity_type": "corporation", + "id": 479, + "created_at": 1673108893, + "original_id": 625 + }, + { + "type": "run_routes", + "entity": "MKT", + "entity_type": "corporation", + "id": 480, + "created_at": 1673108901, + "routes": [ + { + "train": "2-8", + "connections": [ + [ + "E23", + "F22", + "F20" + ] + ], + "hexes": [ + "E23", + "F20" + ], + "revenue": 80, + "revenue_str": "E23-F20", + "nodes": [ + "E23-0", + "F20-0" + ] + }, + { + "train": "2-9", + "connections": [ + [ + "E23", + "E25", + "E27", + "D28" + ] + ], + "hexes": [ + "E23", + "D28" + ], + "revenue": 100, + "revenue_str": "E23-D28", + "nodes": [ + "E23-0", + "D28-0" + ] + }, + { + "train": "2+-3", + "connections": [ + [ + "E23", + "D24" + ] + ], + "hexes": [ + "E23", + "D24" + ], + "revenue": 60, + "revenue_str": "E23-D24", + "nodes": [ + "E23-0", + "D24-0" + ] + } + ], + "original_id": 626 + }, + { + "type": "dividend", + "entity": "MKT", + "entity_type": "corporation", + "id": 481, + "created_at": 1673108904, + "kind": "payout", + "original_id": 627 + }, + { + "type": "pass", + "entity": "MKT", + "entity_type": "corporation", + "id": 482, + "created_at": 1673108910, + "original_id": 628 + }, + { + "type": "pass", + "entity": "MKT", + "entity_type": "corporation", + "id": 483, + "created_at": 1673108914, + "original_id": 629 + }, + { + "type": "lay_tile", + "entity": "B&O", + "entity_type": "corporation", + "id": 484, + "created_at": 1673108926, + "hex": "C27", + "tile": "83-0", + "rotation": 5, + "original_id": 630 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 485, + "created_at": 1673108928, + "original_id": 631 + }, + { + "type": "run_routes", + "entity": "B&O", + "entity_type": "corporation", + "id": 486, + "created_at": 1673108934, + "routes": [ + { + "train": "2-15", + "connections": [ + [ + "D28", + "E27", + "E25", + "E23" + ] + ], + "hexes": [ + "D28", + "E23" + ], + "revenue": 100, + "revenue_str": "D28-E23", + "nodes": [ + "D28-0", + "E23-0" + ] + }, + { + "train": "2-16", + "connections": [ + [ + "D28", + "C29" + ] + ], + "hexes": [ + "D28", + "C29" + ], + "revenue": 90, + "revenue_str": "D28-C29", + "nodes": [ + "D28-0", + "C29-0" + ] + } + ], + "original_id": 632 + }, + { + "type": "dividend", + "entity": "B&O", + "entity_type": "corporation", + "id": 487, + "created_at": 1673108946, + "kind": "payout", + "original_id": 633 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 488, + "created_at": 1673108948, + "original_id": 634 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 489, + "created_at": 1673108950, + "original_id": 635 + }, + { + "type": "lay_tile", + "entity": "KCS", + "entity_type": "corporation", + "id": 490, + "created_at": 1673109004, + "hex": "H24", + "tile": "9-5", + "rotation": 2, + "original_id": 638 + }, + { + "type": "pass", + "entity": "KCS", + "entity_type": "corporation", + "id": 491, + "created_at": 1673109006, + "original_id": 639 + }, + { + "type": "run_routes", + "entity": "KCS", + "entity_type": "corporation", + "id": 492, + "created_at": 1673109010, + "routes": [ + { + "train": "3-2", + "connections": [ + [ + "I19", + "I17", + "H18", + "G19", + "F18" + ], + [ + "F18", + "E19", + "D20" + ] + ], + "hexes": [ + "I19", + "F18", + "D20" + ], + "revenue": 140, + "revenue_str": "I19-F18-D20", + "nodes": [ + "I19-0", + "F18-0", + "D20-0" + ] + }, + { + "train": "2-2", + "connections": [ + [ + "I19", + "J20" + ] + ], + "hexes": [ + "I19", + "J20" + ], + "revenue": 90, + "revenue_str": "I19-J20", + "nodes": [ + "I19-0", + "J20-0" + ] + } + ], + "original_id": 640 + }, + { + "type": "dividend", + "entity": "KCS", + "entity_type": "corporation", + "id": 493, + "created_at": 1673109011, + "kind": "payout", + "original_id": 641 + }, + { + "type": "pass", + "entity": "KCS", + "entity_type": "corporation", + "id": 494, + "created_at": 1673109013, + "original_id": 642 + }, + { + "type": "lay_tile", + "entity": "C&O", + "entity_type": "corporation", + "id": 495, + "created_at": 1673109025, + "hex": "B26", + "tile": "83-1", + "rotation": 0, + "original_id": 643 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 496, + "created_at": 1673109030, + "original_id": 644 + }, + { + "type": "run_routes", + "entity": "C&O", + "entity_type": "corporation", + "id": 497, + "created_at": 1673109036, + "routes": [ + { + "train": "2-17", + "connections": [ + [ + "C29", + "B30", + "B28", + "A27" + ] + ], + "hexes": [ + "C29", + "A27" + ], + "revenue": 90, + "revenue_str": "C29-A27", + "nodes": [ + "C29-0", + "A27-0" + ] + }, + { + "train": "2-18", + "connections": [ + [ + "C29", + "D28" + ] + ], + "hexes": [ + "C29", + "D28" + ], + "revenue": 90, + "revenue_str": "C29-D28", + "nodes": [ + "C29-0", + "D28-0" + ] + } + ], + "original_id": 645 + }, + { + "type": "dividend", + "entity": "C&O", + "entity_type": "corporation", + "id": 498, + "created_at": 1673109090, + "kind": "payout", + "original_id": 646 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 499, + "created_at": 1673109097, + "original_id": 647 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 500, + "created_at": 1673109099, + "original_id": 648 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 501, + "created_at": 1673109106, + "hex": "F16", + "tile": "9-6", + "rotation": 0, + "original_id": 649 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 502, + "created_at": 1673109109, + "original_id": 650 + }, + { + "type": "run_routes", + "entity": "MP", + "entity_type": "corporation", + "id": 503, + "created_at": 1673109116, + "routes": [ + { + "train": "2-13", + "connections": [ + [ + "E17", + "D18", + "C19", + "D20" + ] + ], + "hexes": [ + "D20", + "E17" + ], + "revenue": 110, + "revenue_str": "D20-E17", + "nodes": [ + "E17-0", + "D20-0" + ] + }, + { + "train": "2-14", + "connections": [ + [ + "E17", + "E19", + "D20" + ] + ], + "hexes": [ + "E17", + "D20" + ], + "revenue": 90, + "revenue_str": "E17-D20", + "nodes": [ + "E17-0", + "D20-0" + ] + } + ], + "original_id": 651 + }, + { + "type": "dividend", + "entity": "MP", + "entity_type": "corporation", + "id": 504, + "created_at": 1673109118, + "kind": "payout", + "original_id": 652 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 505, + "created_at": 1673109121, + "original_id": 653 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 506, + "created_at": 1673109122, + "original_id": 654 + }, + { + "type": "lay_tile", + "entity": "ATSF", + "entity_type": "corporation", + "id": 507, + "created_at": 1673109133, + "hex": "I17", + "tile": "80-0", + "rotation": 2, + "original_id": 655 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 508, + "created_at": 1673109137, + "original_id": 656 + }, + { + "type": "place_token", + "entity": "ATSF", + "entity_type": "corporation", + "id": 509, + "created_at": 1673109139, + "city": "592-2-0", + "slot": 1, + "tokener": "ATSF", + "original_id": 657 + }, + { + "type": "run_routes", + "entity": "ATSF", + "entity_type": "corporation", + "id": 510, + "created_at": 1673109143, + "routes": [ + { + "train": "3-3", + "connections": [ + [ + "I19", + "I17", + "H18", + "G19", + "F18" + ], + [ + "F18", + "E19", + "D20" + ] + ], + "hexes": [ + "I19", + "F18", + "D20" + ], + "revenue": 140, + "revenue_str": "I19-F18-D20", + "nodes": [ + "I19-0", + "F18-0", + "D20-0" + ] + } + ], + "original_id": 658 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 511, + "created_at": 1673109144, + "loan": 26, + "original_id": 659 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 512, + "created_at": 1673109147, + "loan": 27, + "original_id": 660 + }, + { + "type": "dividend", + "entity": "ATSF", + "entity_type": "corporation", + "id": 513, + "created_at": 1673109155, + "kind": "half", + "original_id": 661 + }, + { + "type": "buy_train", + "entity": "ATSF", + "entity_type": "corporation", + "id": 514, + "created_at": 1673109161, + "train": "3-4", + "price": 250, + "variant": "3", + "original_id": 662 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 515, + "created_at": 1673109162, + "original_id": 663 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 516, + "created_at": 1673109164, + "original_id": 664 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 517, + "created_at": 1673109171, + "original_id": 665 + }, + { + "type": "merge", + "entity": "PRR", + "entity_type": "corporation", + "id": 518, + "created_at": 1673109176, + "corporation": "NYC", + "original_id": 666 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 519, + "created_at": 1673109178, + "shares": [ + "PRR_1" + ], + "percent": 20, + "share_price": false, + "original_id": 667 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 520, + "created_at": 1673109190, + "original_id": 668 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 521, + "created_at": 1673109207, + "original_id": 669 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 522, + "created_at": 1673109214, + "original_id": 670 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 523, + "created_at": 1673109222, + "original_id": 671 + }, + { + "type": "merge", + "entity": "TP", + "entity_type": "corporation", + "id": 524, + "created_at": 1673109261, + "corporation": "MP", + "original_id": 672 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 525, + "created_at": 1673109265, + "shares": [ + "TP_1" + ], + "percent": 20, + "share_price": false, + "original_id": 673 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 526, + "created_at": 1673109274, + "original_id": 674 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 527, + "created_at": 1673109295, + "shares": [ + "TP_2" + ], + "percent": 20, + "share_price": false, + "original_id": 675 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 528, + "created_at": 1673109323, + "original_id": 676 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 529, + "created_at": 1673109332, + "original_id": 677 + }, + { + "type": "merge", + "entity": "N&W", + "entity_type": "corporation", + "id": 530, + "created_at": 1673109355, + "corporation": "MILW", + "original_id": 678 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 531, + "created_at": 1673109358, + "shares": [ + "N&W_1" + ], + "percent": 20, + "share_price": false, + "original_id": 679 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 532, + "created_at": 1673109382, + "shares": [ + "N&W_2" + ], + "percent": 20, + "share_price": false, + "original_id": 680 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 533, + "created_at": 1673109390, + "original_id": 681 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 534, + "created_at": 1673109397, + "original_id": 682 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 535, + "created_at": 1673109404, + "original_id": 683 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 536, + "created_at": 1673109414, + "original_id": 684 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 537, + "created_at": 1673109421, + "original_id": 685 + }, + { + "type": "pass", + "entity": "MKT", + "entity_type": "corporation", + "id": 538, + "created_at": 1673109435, + "original_id": 686 + }, + { + "type": "convert", + "entity": "B&O", + "entity_type": "corporation", + "id": 539, + "created_at": 1673109453, + "original_id": 687 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 540, + "created_at": 1673109474, + "original_id": 692 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 541, + "created_at": 1673109485, + "original_id": 693 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 542, + "created_at": 1673109496, + "original_id": 694 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 543, + "created_at": 1673109503, + "original_id": 695 + }, + { + "type": "take_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 544, + "created_at": 1673109507, + "loan": 28, + "original_id": 696 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 545, + "created_at": 1673109511, + "original_id": 697 + }, + { + "type": "pass", + "entity": "KCS", + "entity_type": "corporation", + "id": 546, + "created_at": 1673109522, + "original_id": 698 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 547, + "created_at": 1673109531, + "original_id": 699 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 548, + "created_at": 1673109545, + "original_id": 700 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 549, + "created_at": 1673109547, + "original_id": 701 + }, + { + "type": "assign", + "entity": 4339, + "entity_type": "player", + "id": 550, + "created_at": 1673109553, + "target": "B&O", + "target_type": "corporation", + "original_id": 702 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 551, + "created_at": 1673109569, + "original_id": 703 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 552, + "created_at": 1673109579, + "original_id": 704 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 553, + "created_at": 1673109588, + "original_id": 705 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 554, + "created_at": 1673109600, + "corporation": "B&O", + "price": 310, + "original_id": 706 + }, + { + "type": "merge", + "entity": 4339, + "entity_type": "player", + "id": 555, + "created_at": 1673109605, + "corporation": "N&W", + "original_id": 707 + }, + { + "type": "remove_token", + "entity": "N&W", + "entity_type": "corporation", + "id": 556, + "created_at": 1673109647, + "city": "X12-0-0", + "slot": 0, + "original_id": 708 + }, + { + "type": "discard_train", + "entity": "N&W", + "entity_type": "corporation", + "id": 557, + "created_at": 1673109652, + "train": "2-11", + "original_id": 709 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 558, + "created_at": 1673109656, + "original_id": 710 + }, + { + "type": "payoff_loan", + "entity": "N&W", + "entity_type": "corporation", + "id": 559, + "created_at": 1673109661, + "loan": 21, + "original_id": 711 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 560, + "created_at": 1673109672, + "original_id": 712 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 561, + "created_at": 1673109681, + "original_id": 713 + }, + { + "type": "assign", + "entity": 4339, + "entity_type": "player", + "id": 562, + "created_at": 1673109707, + "target": "MKT", + "target_type": "corporation", + "original_id": 714 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 563, + "created_at": 1673109757, + "corporation": "MKT", + "price": 140, + "original_id": 715 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 564, + "created_at": 1673109803, + "original_id": 716 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 565, + "created_at": 1673109819, + "original_id": 717 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 566, + "created_at": 1673109826, + "corporation": "MKT", + "price": 150, + "original_id": 718 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 567, + "created_at": 1673109832, + "original_id": 719 + }, + { + "type": "discard_train", + "entity": "N&W", + "entity_type": "corporation", + "id": 568, + "created_at": 1673109837, + "train": "2-8", + "original_id": 720 + }, + { + "type": "discard_train", + "entity": "N&W", + "entity_type": "corporation", + "id": 569, + "created_at": 1673109838, + "train": "2-16", + "original_id": 721 + }, + { + "type": "discard_train", + "entity": "N&W", + "entity_type": "corporation", + "id": 570, + "created_at": 1673109839, + "train": "2-15", + "original_id": 722 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 571, + "created_at": 1673109842, + "original_id": 723 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 572, + "created_at": 1673109846, + "original_id": 724 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 573, + "created_at": 1673109855, + "original_id": 725 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 574, + "created_at": 1673109858, + "original_id": 726 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 575, + "created_at": 1673109865, + "original_id": 727 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 576, + "created_at": 1673109875, + "original_id": 728 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 577, + "created_at": 1673109885, + "original_id": 729 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 578, + "created_at": 1673110034, + "shares": [ + "N&W_3" + ], + "percent": 20, + "share_price": false, + "original_id": 734 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 579, + "created_at": 1673110051, + "corporation": "B&O", + "price": 400, + "original_id": 735 + }, + { + "type": "place_token", + "entity": "B&O", + "entity_type": "corporation", + "id": 580, + "created_at": 1673110062, + "city": "X12-0-0", + "slot": 0, + "tokener": "B&O", + "original_id": 736 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 581, + "created_at": 1673110180, + "original_id": 737 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 582, + "created_at": 1673110191, + "corporation": "B&O", + "price": 410, + "original_id": 738 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 583, + "created_at": 1673110200, + "corporation": "B&O", + "price": 420, + "original_id": 739 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 584, + "created_at": 1673110239, + "original_id": 740 + }, + { + "type": "choose", + "entity": 4339, + "entity_type": "player", + "id": 585, + "created_at": 1673110243, + "choice": 5, + "original_id": 741 + }, + { + "type": "sell_shares", + "entity": 3763, + "entity_type": "player", + "id": 586, + "created_at": 1673110282, + "shares": [ + "TP_2" + ], + "percent": 20, + "original_id": 742 + }, + { + "type": "sell_shares", + "entity": 3763, + "entity_type": "player", + "id": 587, + "created_at": 1673110287, + "shares": [ + "ATSF_2" + ], + "percent": 20, + "original_id": 743 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 588, + "created_at": 1673110319, + "corporation": "NYC", + "price": 400, + "original_id": 744 + }, + { + "type": "place_token", + "entity": "NYC", + "entity_type": "corporation", + "id": 589, + "created_at": 1673110331, + "city": "592-1-0", + "slot": 1, + "tokener": "NYC", + "original_id": 745 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 590, + "created_at": 1673110350, + "original_id": 746 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 591, + "created_at": 1673110367, + "original_id": 747 + }, + { + "type": "choose", + "entity": 3763, + "entity_type": "player", + "id": 592, + "created_at": 1673110372, + "choice": 2, + "original_id": 748 + }, + { + "type": "short", + "entity": 605, + "entity_type": "player", + "id": 593, + "created_at": 1673110383, + "corporation": "PRR", + "original_id": 749 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 594, + "created_at": 1673110403, + "corporation": "IC", + "price": 400, + "original_id": 750 + }, + { + "type": "place_token", + "entity": "IC", + "entity_type": "corporation", + "id": 595, + "created_at": 1673110420, + "city": "X12-0-0", + "slot": 1, + "tokener": "IC", + "original_id": 751 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 596, + "created_at": 1673110431, + "original_id": 752 + }, + { + "type": "choose", + "entity": 605, + "entity_type": "player", + "id": 597, + "created_at": 1673110439, + "choice": 5, + "original_id": 753 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 598, + "created_at": 1673110459, + "shares": [ + "ATSF_3" + ], + "percent": 20, + "share_price": false, + "original_id": 754 + }, + { + "type": "short", + "entity": 4339, + "entity_type": "player", + "id": 599, + "created_at": 1673110494, + "corporation": "PRR", + "original_id": 755 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 600, + "created_at": 1673110503, + "shares": [ + "TP_2" + ], + "percent": 20, + "share_price": false, + "original_id": 756 + }, + { + "type": "take_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 601, + "created_at": 1673110521, + "loan": 29, + "original_id": 757 + }, + { + "type": "take_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 602, + "created_at": 1673110525, + "loan": 30, + "original_id": 758 + }, + { + "type": "buy_shares", + "entity": "PRR", + "entity_type": "corporation", + "id": 603, + "created_at": 1673110533, + "shares": [ + "PRR_10", + "PRR_12" + ], + "percent": 40, + "original_id": 759 + }, + { + "type": "take_loan", + "entity": "IC", + "entity_type": "corporation", + "id": 604, + "created_at": 1673110583, + "loan": 31, + "original_id": 760 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 605, + "created_at": 1673110585, + "original_id": 761 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 606, + "created_at": 1673110806, + "shares": [ + "PRR_2" + ], + "percent": 20, + "share_price": false, + "original_id": 762 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 607, + "created_at": 1673110835, + "shares": [ + "B&O_1" + ], + "percent": 20, + "share_price": false, + "original_id": 763 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 608, + "created_at": 1673110842, + "original_id": 764 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 609, + "created_at": 1673110884, + "shares": [ + "IC_1" + ], + "percent": 20, + "share_price": false, + "original_id": 765 + }, + { + "type": "bid", + "entity": 1463, + "entity_type": "player", + "id": 610, + "created_at": 1673110929, + "corporation": "MP", + "price": 270, + "original_id": 768 + }, + { + "type": "place_token", + "entity": "MP", + "entity_type": "corporation", + "id": 611, + "created_at": 1673110931, + "city": "15-4-0", + "slot": 1, + "tokener": "MP", + "original_id": 769 + }, + { + "type": "choose", + "entity": 1463, + "entity_type": "player", + "id": 612, + "created_at": 1673110934, + "choice": 2, + "original_id": 770 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 613, + "created_at": 1673110952, + "shares": [ + "ATSF_2" + ], + "percent": 20, + "share_price": false, + "original_id": 771 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 614, + "created_at": 1673110959, + "original_id": 772 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 615, + "created_at": 1673111004, + "original_id": 773 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 616, + "created_at": 1673111012, + "original_id": 774 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 617, + "created_at": 1673111054, + "corporation": "GN", + "price": 100, + "original_id": 775 + }, + { + "type": "place_token", + "entity": "GN", + "entity_type": "corporation", + "id": 618, + "created_at": 1673111056, + "city": "14-1-0", + "slot": 1, + "tokener": "GN", + "original_id": 776 + }, + { + "type": "choose", + "entity": 4339, + "entity_type": "player", + "id": 619, + "created_at": 1673111059, + "choice": 2, + "original_id": 777 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 620, + "created_at": 1673111064, + "original_id": 778 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 621, + "created_at": 1673111093, + "original_id": 779 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 622, + "created_at": 1673111108, + "original_id": 780 + }, + { + "type": "program_share_pass", + "entity": 4339, + "entity_type": "player", + "id": 623, + "created_at": 1673111116, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673111112 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 781 + }, + { + "type": "lay_tile", + "entity": "B&O", + "entity_type": "corporation", + "id": 624, + "created_at": 1673111166, + "hex": "B22", + "tile": "8-5", + "rotation": 5, + "original_id": 791 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 625, + "created_at": 1673111170, + "original_id": 792 + }, + { + "type": "place_token", + "entity": "B&O", + "entity_type": "corporation", + "id": 626, + "created_at": 1673111180, + "city": "15-2-0", + "slot": 1, + "tokener": "B&O", + "original_id": 793 + }, + { + "type": "take_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 627, + "created_at": 1673111185, + "loan": 32, + "original_id": 794 + }, + { + "type": "take_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 628, + "created_at": 1673111186, + "loan": 33, + "original_id": 795 + }, + { + "type": "take_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 629, + "created_at": 1673111186, + "loan": 34, + "original_id": 796 + }, + { + "type": "take_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 630, + "created_at": 1673111187, + "loan": 35, + "original_id": 797 + }, + { + "type": "buy_train", + "entity": "B&O", + "entity_type": "corporation", + "id": 631, + "created_at": 1673111192, + "train": "3+-0", + "price": 250, + "variant": "3+", + "original_id": 798 + }, + { + "type": "buy_train", + "entity": "B&O", + "entity_type": "corporation", + "id": 632, + "created_at": 1673111193, + "train": "3+-1", + "price": 250, + "variant": "3+", + "original_id": 799 + }, + { + "type": "buy_train", + "entity": "B&O", + "entity_type": "corporation", + "id": 633, + "created_at": 1673111196, + "train": "4-0", + "price": 400, + "variant": "4", + "original_id": 800 + }, + { + "type": "lay_tile", + "entity": "NYC", + "entity_type": "corporation", + "id": 634, + "created_at": 1673111232, + "hex": "I21", + "tile": "7-2", + "rotation": 2, + "original_id": 802 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 635, + "created_at": 1673111234, + "original_id": 803 + }, + { + "type": "buy_train", + "entity": "NYC", + "entity_type": "corporation", + "id": 636, + "created_at": 1673111240, + "train": "4-1", + "price": 400, + "variant": "4", + "original_id": 804 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 637, + "created_at": 1673111242, + "original_id": 805 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 638, + "created_at": 1673111244, + "original_id": 806 + }, + { + "type": "take_loan", + "entity": "IC", + "entity_type": "corporation", + "id": 639, + "created_at": 1673111276, + "loan": 37, + "original_id": 807 + }, + { + "type": "take_loan", + "entity": "IC", + "entity_type": "corporation", + "id": 640, + "created_at": 1673111277, + "loan": 38, + "original_id": 808 + }, + { + "type": "lay_tile", + "entity": "IC", + "entity_type": "corporation", + "id": 641, + "created_at": 1673111291, + "hex": "B20", + "tile": "9-7", + "rotation": 1, + "original_id": 809 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 642, + "created_at": 1673111324, + "original_id": 810 + }, + { + "type": "place_token", + "entity": "IC", + "entity_type": "corporation", + "id": 643, + "created_at": 1673111329, + "city": "15-3-0", + "slot": 1, + "tokener": "IC", + "original_id": 811 + }, + { + "type": "buy_train", + "entity": "IC", + "entity_type": "corporation", + "id": 644, + "created_at": 1673111334, + "train": "4-2", + "price": 400, + "variant": "4", + "original_id": 812 + }, + { + "type": "buy_train", + "entity": "IC", + "entity_type": "corporation", + "id": 645, + "created_at": 1673111335, + "train": "4-3", + "price": 400, + "variant": "4", + "original_id": 813 + }, + { + "type": "take_loan", + "entity": "IC", + "entity_type": "corporation", + "id": 646, + "created_at": 1673111339, + "loan": 39, + "original_id": 814 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 647, + "created_at": 1673111343, + "original_id": 815 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 648, + "created_at": 1673111345, + "original_id": 816 + }, + { + "type": "lay_tile", + "entity": "N&W", + "entity_type": "corporation", + "id": 649, + "created_at": 1673111366, + "hex": "B18", + "tile": "9-8", + "rotation": 1, + "original_id": 817 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 650, + "created_at": 1673111369, + "original_id": 818 + }, + { + "type": "place_token", + "entity": "N&W", + "entity_type": "corporation", + "id": 651, + "created_at": 1673111387, + "city": "619-0-0", + "slot": 1, + "tokener": "N&W", + "original_id": 819 + }, + { + "type": "run_routes", + "entity": "N&W", + "entity_type": "corporation", + "id": 652, + "created_at": 1673111422, + "routes": [ + { + "train": "3-1", + "connections": [ + [ + "E23", + "F22", + "F20" + ], + [ + "D28", + "E27", + "E25", + "E23" + ] + ], + "hexes": [ + "F20", + "E23", + "D28" + ], + "revenue": 150, + "revenue_str": "F20-E23-D28", + "nodes": [ + "E23-0", + "F20-0", + "D28-0" + ] + }, + { + "train": "2+-3", + "connections": [ + [ + "D28", + "C27", + "B26", + "A27" + ] + ], + "hexes": [ + "A27", + "D28" + ], + "revenue": 110, + "revenue_str": "A27-D28", + "nodes": [ + "D28-1", + "A27-0" + ] + } + ], + "original_id": 820 + }, + { + "type": "take_loan", + "entity": "N&W", + "entity_type": "corporation", + "id": 653, + "created_at": 1673111429, + "loan": 40, + "original_id": 821 + }, + { + "type": "dividend", + "entity": "N&W", + "entity_type": "corporation", + "id": 654, + "created_at": 1673111432, + "kind": "half", + "original_id": 822 + }, + { + "type": "buy_train", + "entity": "N&W", + "entity_type": "corporation", + "id": 655, + "created_at": 1673111435, + "train": "4-4", + "price": 400, + "variant": "4", + "original_id": 823 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 656, + "created_at": 1673111463, + "original_id": 824 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 657, + "created_at": 1673111465, + "original_id": 825 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 658, + "created_at": 1673111482, + "hex": "H6", + "tile": "9ore20-1", + "rotation": 1, + "original_id": 826 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 659, + "created_at": 1673111487, + "original_id": 827 + }, + { + "type": "choose", + "entity": "PRR", + "entity_type": "corporation", + "id": 660, + "created_at": 1673111505, + "choice": "0-0", + "original_id": 830 + }, + { + "type": "run_routes", + "entity": "PRR", + "entity_type": "corporation", + "id": 661, + "created_at": 1673111519, + "routes": [ + { + "train": "2+-1", + "connections": [ + [ + "J24", + "I23", + "H22" + ], + [ + "H22", + "H20" + ] + ], + "hexes": [ + "J24", + "H22", + "H20" + ], + "revenue": 130, + "revenue_str": "J24-H22-H20", + "nodes": [ + "J24-0", + "H22-0", + "H20-0" + ] + } + ], + "original_id": 833 + }, + { + "type": "dividend", + "entity": "PRR", + "entity_type": "corporation", + "id": 662, + "created_at": 1673111535, + "kind": "withhold", + "original_id": 834 + }, + { + "type": "buy_train", + "entity": "PRR", + "entity_type": "corporation", + "id": 663, + "created_at": 1673111536, + "train": "4-5", + "price": 400, + "variant": "4", + "original_id": 835 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 664, + "created_at": 1673111549, + "original_id": 836 + }, + { + "type": "lay_tile", + "entity": "SP", + "entity_type": "corporation", + "id": 665, + "created_at": 1673111562, + "hex": "H16", + "tile": "9-3", + "rotation": 2, + "original_id": 837 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 666, + "created_at": 1673111565, + "original_id": 838 + }, + { + "type": "run_routes", + "entity": "SP", + "entity_type": "corporation", + "id": 667, + "created_at": 1673111569, + "routes": [ + { + "train": "2+-0", + "connections": [ + [ + "D20", + "D22", + "D24" + ] + ], + "hexes": [ + "D20", + "D24" + ], + "revenue": 80, + "revenue_str": "D20-D24", + "nodes": [ + "D20-0", + "D24-0" + ] + } + ], + "original_id": 839 + }, + { + "type": "dividend", + "entity": "SP", + "entity_type": "corporation", + "id": 668, + "created_at": 1673111571, + "kind": "payout", + "original_id": 840 + }, + { + "type": "buy_train", + "entity": "SP", + "entity_type": "corporation", + "id": 669, + "created_at": 1673111580, + "train": "4-2", + "price": 5, + "original_id": 841 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 670, + "created_at": 1673111583, + "original_id": 842 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 671, + "created_at": 1673111585, + "original_id": 843 + }, + { + "type": "lay_tile", + "entity": "TP", + "entity_type": "corporation", + "id": 672, + "created_at": 1673111600, + "hex": "G15", + "tile": "8-2", + "rotation": 3, + "original_id": 844 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 673, + "created_at": 1673111613, + "original_id": 845 + }, + { + "type": "run_routes", + "entity": "TP", + "entity_type": "corporation", + "id": 674, + "created_at": 1673111632, + "routes": [ + { + "train": "3-0", + "connections": [ + [ + "E17", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "E17" + ] + ], + "hexes": [ + "I19", + "E17", + "D20" + ], + "revenue": 160, + "revenue_str": "I19-E17-D20", + "nodes": [ + "E17-0", + "I19-0", + "D20-0" + ] + } + ], + "original_id": 846 + }, + { + "type": "dividend", + "entity": "TP", + "entity_type": "corporation", + "id": 675, + "created_at": 1673111766, + "kind": "half", + "original_id": 853 + }, + { + "type": "buy_train", + "entity": "TP", + "entity_type": "corporation", + "id": 676, + "created_at": 1673111770, + "train": "4-6", + "price": 400, + "variant": "4", + "original_id": 854 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 677, + "created_at": 1673111772, + "original_id": 855 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 678, + "created_at": 1673111777, + "original_id": 856 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 679, + "created_at": 1673111798, + "hex": "G15", + "tile": "81-0", + "rotation": 1, + "original_id": 857 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 680, + "created_at": 1673111801, + "original_id": 858 + }, + { + "type": "take_loan", + "entity": "MP", + "entity_type": "corporation", + "id": 681, + "created_at": 1673111802, + "loan": 41, + "original_id": 859 + }, + { + "type": "take_loan", + "entity": "MP", + "entity_type": "corporation", + "id": 682, + "created_at": 1673111803, + "loan": 42, + "original_id": 860 + }, + { + "type": "buy_train", + "entity": "MP", + "entity_type": "corporation", + "id": 683, + "created_at": 1673111805, + "train": "4+-0", + "price": 400, + "variant": "4+", + "original_id": 861 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 684, + "created_at": 1673111811, + "original_id": 862 + }, + { + "type": "lay_tile", + "entity": "SR", + "entity_type": "corporation", + "id": 685, + "created_at": 1673111843, + "hex": "F22", + "tile": "81coal-0", + "rotation": 1, + "original_id": 863 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 686, + "created_at": 1673111846, + "original_id": 864 + }, + { + "type": "run_routes", + "entity": "SR", + "entity_type": "corporation", + "id": 687, + "created_at": 1673111859, + "routes": [ + { + "train": "2+-2", + "connections": [ + [ + "F18", + "E19", + "D20" + ] + ], + "hexes": [ + "D20", + "F18" + ], + "revenue": 100, + "revenue_str": "D20-F18", + "nodes": [ + "F18-0", + "D20-0" + ] + } + ], + "original_id": 865 + }, + { + "type": "dividend", + "entity": "SR", + "entity_type": "corporation", + "id": 688, + "created_at": 1673111860, + "kind": "payout", + "original_id": 866 + }, + { + "type": "buy_train", + "entity": "SR", + "entity_type": "corporation", + "id": 689, + "created_at": 1673112017, + "train": "3-0", + "price": 15, + "original_id": 867 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 690, + "created_at": 1673112025, + "original_id": 868 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 691, + "created_at": 1673112028, + "original_id": 869 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 692, + "created_at": 1673112068, + "hex": "E13", + "tile": "8-0", + "rotation": 3, + "original_id": 870 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 693, + "created_at": 1673112072, + "original_id": 871 + }, + { + "type": "buy_train", + "entity": "UP", + "entity_type": "corporation", + "id": 694, + "created_at": 1673112149, + "train": "4-2", + "price": 1, + "original_id": 873 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 695, + "created_at": 1673112150, + "original_id": 874 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 696, + "created_at": 1673112151, + "original_id": 875 + }, + { + "type": "lay_tile", + "entity": "KCS", + "entity_type": "corporation", + "id": 697, + "created_at": 1673112171, + "hex": "I21", + "tile": "80-1", + "rotation": 1, + "original_id": 876 + }, + { + "type": "run_routes", + "entity": "KCS", + "entity_type": "corporation", + "id": 698, + "created_at": 1673112186, + "routes": [ + { + "train": "3-2", + "connections": [ + [ + "I19", + "I17", + "H18", + "G19", + "F18" + ], + [ + "F18", + "E19", + "D20" + ] + ], + "hexes": [ + "I19", + "F18", + "D20" + ], + "revenue": 140, + "revenue_str": "I19-F18-D20", + "nodes": [ + "I19-0", + "F18-0", + "D20-0" + ] + } + ], + "original_id": 877 + }, + { + "type": "dividend", + "entity": "KCS", + "entity_type": "corporation", + "id": 699, + "created_at": 1673112191, + "kind": "withhold", + "original_id": 878 + }, + { + "type": "pass", + "entity": "KCS", + "entity_type": "corporation", + "id": 700, + "created_at": 1673112194, + "original_id": 879 + }, + { + "type": "payoff_loan", + "entity": "KCS", + "entity_type": "corporation", + "id": 701, + "created_at": 1673112196, + "loan": 22, + "original_id": 880 + }, + { + "type": "pass", + "entity": "KCS", + "entity_type": "corporation", + "id": 702, + "created_at": 1673112200, + "original_id": 881 + }, + { + "type": "lay_tile", + "entity": "C&O", + "entity_type": "corporation", + "id": 703, + "created_at": 1673112254, + "hex": "B18", + "tile": "83-2", + "rotation": 1, + "original_id": 882 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 704, + "created_at": 1673112264, + "original_id": 883 + }, + { + "type": "buy_train", + "entity": "C&O", + "entity_type": "corporation", + "id": 705, + "created_at": 1673112282, + "train": "4+-0", + "price": 1, + "original_id": 884 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 706, + "created_at": 1673112285, + "original_id": 885 + }, + { + "type": "pass", + "entity": "C&O", + "entity_type": "corporation", + "id": 707, + "created_at": 1673112289, + "original_id": 886 + }, + { + "type": "lay_tile", + "entity": "GN", + "entity_type": "corporation", + "id": 708, + "created_at": 1673112299, + "hex": "B16", + "tile": "8-6", + "rotation": 4, + "original_id": 887 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 709, + "created_at": 1673112302, + "original_id": 888 + }, + { + "type": "buy_train", + "entity": "GN", + "entity_type": "corporation", + "id": 710, + "created_at": 1673112315, + "train": "3+-0", + "price": 100, + "original_id": 889 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 711, + "created_at": 1673112317, + "original_id": 890 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 712, + "created_at": 1673112319, + "original_id": 891 + }, + { + "type": "lay_tile", + "entity": "ATSF", + "entity_type": "corporation", + "id": 713, + "created_at": 1673112373, + "hex": "F16", + "tile": "82-4", + "rotation": 0, + "original_id": 892 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 714, + "created_at": 1673112376, + "original_id": 893 + }, + { + "type": "run_routes", + "entity": "ATSF", + "entity_type": "corporation", + "id": 715, + "created_at": 1673112389, + "routes": [ + { + "train": "3-4", + "connections": [ + [ + "I19", + "H20" + ], + [ + "H20", + "H22" + ] + ], + "hexes": [ + "I19", + "H20", + "H22" + ], + "revenue": 130, + "revenue_str": "I19-H20-H22", + "nodes": [ + "I19-0", + "H20-0", + "H22-0" + ] + }, + { + "train": "3-3", + "connections": [ + [ + "I19", + "I17", + "H18", + "G19", + "F18" + ], + [ + "F18", + "E19", + "D20" + ] + ], + "hexes": [ + "I19", + "F18", + "D20" + ], + "revenue": 140, + "revenue_str": "I19-F18-D20", + "nodes": [ + "I19-0", + "F18-0", + "D20-0" + ] + } + ], + "original_id": 894 + }, + { + "type": "dividend", + "entity": "ATSF", + "entity_type": "corporation", + "id": 716, + "created_at": 1673112398, + "kind": "payout", + "original_id": 895 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 717, + "created_at": 1673112399, + "original_id": 896 + }, + { + "type": "merge", + "entity": "NYC", + "entity_type": "corporation", + "id": 718, + "created_at": 1673112421, + "corporation": "KCS", + "original_id": 897 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 719, + "created_at": 1673112430, + "original_id": 898 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 720, + "created_at": 1673112462, + "original_id": 899 + }, + { + "type": "pass", + "entity": "SP", + "entity_type": "corporation", + "id": 721, + "created_at": 1673112468, + "original_id": 900 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 722, + "created_at": 1673112525, + "original_id": 901 + }, + { + "type": "convert", + "entity": "TP", + "entity_type": "corporation", + "id": 723, + "created_at": 1673112553, + "original_id": 902 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 724, + "created_at": 1673112555, + "shares": [ + "TP_3" + ], + "percent": 10, + "share_price": false, + "original_id": 903 + }, + { + "type": "sell_shares", + "entity": 4339, + "entity_type": "player", + "id": 725, + "created_at": 1673112579, + "shares": [ + "TP_2" + ], + "percent": 10, + "original_id": 904 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 726, + "created_at": 1673112589, + "original_id": 905 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 727, + "created_at": 1673112594, + "original_id": 906 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 728, + "created_at": 1673112602, + "original_id": 907 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 729, + "created_at": 1673112613, + "original_id": 908 + }, + { + "type": "merge", + "entity": "MP", + "entity_type": "corporation", + "id": 730, + "created_at": 1673112638, + "corporation": "C&O", + "original_id": 909 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 731, + "created_at": 1673112662, + "original_id": 910 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 732, + "created_at": 1673112734, + "original_id": 911 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 733, + "created_at": 1673112742, + "original_id": 912 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 734, + "created_at": 1673112746, + "original_id": 913 + }, + { + "type": "merge", + "entity": "UP", + "entity_type": "corporation", + "id": 735, + "created_at": 1673112755, + "corporation": "SP", + "original_id": 914 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 736, + "created_at": 1673112757, + "shares": [ + "UP_1" + ], + "percent": 20, + "share_price": false, + "original_id": 915 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 737, + "created_at": 1673112760, + "shares": [ + "UP_2" + ], + "percent": 20, + "share_price": false, + "original_id": 916 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 738, + "created_at": 1673112769, + "original_id": 917 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 739, + "created_at": 1673112782, + "original_id": 918 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 740, + "created_at": 1673112794, + "original_id": 919 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 741, + "created_at": 1673112795, + "original_id": 920 + }, + { + "type": "program_merger_pass", + "entity": 605, + "entity_type": "player", + "id": 742, + "created_at": 1673112799, + "corporations_by_round": { + "AR": [ + "ATSF", + "IC", + "UP" + ], + "MR": [ + "ATSF", + "IC", + "UP" + ] + }, + "options": [ + "disable_others" + ], + "original_id": 921 + }, + { + "type": "program_merger_pass", + "entity": 4339, + "entity_type": "player", + "id": 743, + "created_at": 1673112804, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673112799 + } + ], + "corporations_by_round": { + "AR": [ + "B&O", + "GN", + "N&W" + ], + "MR": [ + "B&O", + "GN", + "N&W" + ] + }, + "options": [ + + ], + "original_id": 922 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 744, + "created_at": 1673112812, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673112812 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "created_at": 1673112812 + } + ], + "original_id": 923 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 745, + "created_at": 1673112814, + "original_id": 924 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 746, + "created_at": 1673112818, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673112817 + } + ], + "original_id": 925 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 747, + "created_at": 1673112827, + "auto_actions": [ + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "created_at": 1673112827 + } + ], + "original_id": 926 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 748, + "created_at": 1673112832, + "original_id": 927 + }, + { + "type": "lay_tile", + "entity": "NYC", + "entity_type": "corporation", + "id": 749, + "created_at": 1673112895, + "hex": "I19", + "tile": "593-0", + "rotation": 1, + "original_id": 939 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 750, + "created_at": 1673112899, + "original_id": 940 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 751, + "created_at": 1673112901, + "original_id": 941 + }, + { + "type": "take_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 752, + "created_at": 1673112906, + "loan": 44, + "original_id": 942 + }, + { + "type": "take_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 753, + "created_at": 1673112907, + "loan": 45, + "original_id": 943 + }, + { + "type": "take_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 754, + "created_at": 1673112907, + "loan": 46, + "original_id": 944 + }, + { + "type": "take_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 755, + "created_at": 1673112912, + "loan": 47, + "original_id": 945 + }, + { + "type": "run_routes", + "entity": "NYC", + "entity_type": "corporation", + "id": 756, + "created_at": 1673112913, + "routes": [ + { + "train": "4-1", + "connections": [ + [ + "I19", + "I17", + "H18", + "G19", + "F18" + ], + [ + "F18", + "E19", + "D20" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "I19", + "F18", + "D20", + "D14" + ], + "revenue": 240, + "revenue_str": "I19-F18-D20-D14", + "nodes": [ + "I19-0", + "F18-0", + "D20-0", + "D14-0" + ] + }, + { + "train": "3-2", + "connections": [ + [ + "I19", + "I21", + "H20" + ], + [ + "H20", + "H22" + ] + ], + "hexes": [ + "I19", + "H20", + "H22" + ], + "revenue": 140, + "revenue_str": "I19-H20-H22", + "nodes": [ + "I19-0", + "H20-0", + "H22-0" + ] + } + ], + "original_id": 946 + }, + { + "type": "dividend", + "entity": "NYC", + "entity_type": "corporation", + "id": 757, + "created_at": 1673112915, + "kind": "withhold", + "original_id": 947 + }, + { + "type": "buy_train", + "entity": "NYC", + "entity_type": "corporation", + "id": 758, + "created_at": 1673112920, + "train": "5-1", + "price": 600, + "variant": "5", + "original_id": 948 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 759, + "created_at": 1673112970, + "hex": "D28", + "tile": "X16-0", + "rotation": 0, + "original_id": 950 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 760, + "created_at": 1673112983, + "hex": "D22", + "tile": "546-0", + "rotation": 1, + "original_id": 951 + }, + { + "type": "place_token", + "entity": "UP", + "entity_type": "corporation", + "id": 761, + "created_at": 1673112987, + "city": "X16-0-0", + "slot": 3, + "tokener": "UP", + "original_id": 952 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 762, + "created_at": 1673113087, + "original_id": 965 + }, + { + "type": "run_routes", + "entity": "UP", + "entity_type": "corporation", + "id": 763, + "created_at": 1673113115, + "routes": [ + { + "train": "4-2", + "connections": [ + [ + "D14", + "D16", + "D18", + "C19", + "D20" + ], + [ + "D20", + "E19", + "F18" + ], + [ + "F18", + "G19", + "H18", + "I17", + "I19" + ] + ], + "hexes": [ + "D14", + "D20", + "F18", + "I19" + ], + "revenue": 240, + "revenue_str": "D14-D20-F18-I19", + "nodes": [ + "D14-0", + "D20-0", + "F18-0", + "I19-0" + ] + } + ], + "original_id": 968 + }, + { + "type": "take_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 764, + "created_at": 1673113119, + "loan": 48, + "original_id": 969 + }, + { + "type": "take_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 765, + "created_at": 1673113120, + "loan": 49, + "original_id": 970 + }, + { + "type": "dividend", + "entity": "UP", + "entity_type": "corporation", + "id": 766, + "created_at": 1673113126, + "kind": "payout", + "original_id": 972 + }, + { + "type": "buy_train", + "entity": "UP", + "entity_type": "corporation", + "id": 767, + "created_at": 1673113131, + "train": "5-2", + "price": 600, + "variant": "5", + "original_id": 973 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 768, + "created_at": 1673113132, + "original_id": 974 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 769, + "created_at": 1673113135, + "original_id": 975 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 770, + "created_at": 1673113147, + "hex": "E17", + "tile": "63-0", + "rotation": 0, + "original_id": 976 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 771, + "created_at": 1673113148, + "original_id": 977 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 772, + "created_at": 1673113150, + "original_id": 978 + }, + { + "type": "run_routes", + "entity": "MP", + "entity_type": "corporation", + "id": 773, + "created_at": 1673113181, + "routes": [ + { + "train": "4+-0", + "connections": [ + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "E17", + "E19", + "D20" + ], + [ + "I19", + "I17", + "H16", + "G15", + "F16", + "E17" + ] + ], + "hexes": [ + "D14", + "D20", + "E17", + "I19" + ], + "revenue": 240, + "revenue_str": "D14-D20-E17-I19", + "nodes": [ + "D20-0", + "D14-0", + "E17-0", + "I19-0" + ] + } + ], + "original_id": 979 + }, + { + "type": "dividend", + "entity": "MP", + "entity_type": "corporation", + "id": 774, + "created_at": 1673113188, + "kind": "payout", + "original_id": 980 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 775, + "created_at": 1673113195, + "original_id": 981 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 776, + "created_at": 1673113204, + "original_id": 982 + }, + { + "type": "lay_tile", + "entity": "N&W", + "entity_type": "corporation", + "id": 777, + "created_at": 1673113219, + "hex": "D20", + "tile": "593-1", + "rotation": 2, + "original_id": 983 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 778, + "created_at": 1673113224, + "original_id": 984 + }, + { + "type": "place_token", + "entity": "N&W", + "entity_type": "corporation", + "id": 779, + "created_at": 1673113226, + "city": "593-1-0", + "slot": 1, + "tokener": "N&W", + "original_id": 985 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 780, + "created_at": 1673113232, + "original_id": 986 + }, + { + "type": "run_routes", + "entity": "N&W", + "entity_type": "corporation", + "id": 781, + "created_at": 1673113297, + "routes": [ + { + "train": "4-4", + "connections": [ + [ + "D28", + "E27", + "E25", + "D24" + ], + [ + "D24", + "D22", + "D20" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "D28", + "D24", + "D20", + "D14" + ], + "revenue": 260, + "revenue_str": "D28-D24-D20-D14", + "nodes": [ + "D28-0", + "D24-0", + "D20-0", + "D14-0" + ] + }, + { + "train": "3-1", + "connections": [ + [ + "A27", + "B26", + "C27", + "D28" + ], + [ + "D28", + "D26", + "C25" + ] + ], + "hexes": [ + "A27", + "D28", + "C25" + ], + "revenue": 180, + "revenue_str": "A27-D28-C25", + "nodes": [ + "A27-0", + "D28-0", + "C25-0" + ] + } + ], + "original_id": 987 + }, + { + "type": "dividend", + "entity": "N&W", + "entity_type": "corporation", + "id": 782, + "created_at": 1673113314, + "kind": "withhold", + "original_id": 988 + }, + { + "type": "take_loan", + "entity": "N&W", + "entity_type": "corporation", + "id": 783, + "created_at": 1673113316, + "loan": 50, + "original_id": 989 + }, + { + "type": "take_loan", + "entity": "N&W", + "entity_type": "corporation", + "id": 784, + "created_at": 1673113318, + "loan": 51, + "original_id": 990 + }, + { + "type": "take_loan", + "entity": "N&W", + "entity_type": "corporation", + "id": 785, + "created_at": 1673113321, + "loan": 52, + "original_id": 991 + }, + { + "type": "buy_train", + "entity": "N&W", + "entity_type": "corporation", + "id": 786, + "created_at": 1673113325, + "train": "5-3", + "price": 600, + "variant": "5", + "original_id": 992 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 787, + "created_at": 1673113343, + "hex": "H22", + "tile": "593-2", + "rotation": 3, + "original_id": 993 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 788, + "created_at": 1673113347, + "original_id": 994 + }, + { + "type": "choose", + "entity": "PRR", + "entity_type": "corporation", + "id": 789, + "created_at": 1673113350, + "choice": "0-0", + "original_id": 995 + }, + { + "type": "run_routes", + "entity": "PRR", + "entity_type": "corporation", + "id": 790, + "created_at": 1673113388, + "routes": [ + { + "train": "4-5", + "connections": [ + [ + "H22", + "I21", + "I19" + ], + [ + "I19", + "I17", + "H18", + "G19", + "F18" + ], + [ + "F18", + "E19", + "D20" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "H22", + "I19", + "F18", + "D20", + "D14" + ], + "revenue": 310, + "revenue_str": "H22-I19-F18-D20-D14", + "nodes": [ + "H22-0", + "I19-0", + "F18-0", + "D20-0", + "D14-0" + ] + } + ], + "original_id": 996 + }, + { + "type": "dividend", + "entity": "PRR", + "entity_type": "corporation", + "id": 791, + "created_at": 1673113419, + "kind": "payout", + "original_id": 997 + }, + { + "type": "buy_train", + "entity": "PRR", + "entity_type": "corporation", + "id": 792, + "created_at": 1673113686, + "train": "3-2", + "price": 39, + "original_id": 1000 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 793, + "created_at": 1673113691, + "original_id": 1001 + }, + { + "type": "lay_tile", + "entity": "TP", + "entity_type": "corporation", + "id": 794, + "created_at": 1673113700, + "hex": "D24", + "tile": "X13-0", + "rotation": 5, + "original_id": 1002 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 795, + "created_at": 1673113703, + "original_id": 1003 + }, + { + "type": "place_token", + "entity": "TP", + "entity_type": "corporation", + "id": 796, + "created_at": 1673113705, + "city": "593-1-0", + "slot": 2, + "tokener": "TP", + "original_id": 1004 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 797, + "created_at": 1673113708, + "original_id": 1005 + }, + { + "type": "run_routes", + "entity": "TP", + "entity_type": "corporation", + "id": 798, + "created_at": 1673113719, + "routes": [ + { + "train": "4-6", + "connections": [ + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "D24", + "D22", + "D20" + ], + [ + "D28", + "E27", + "E25", + "D24" + ] + ], + "hexes": [ + "D14", + "D20", + "D24", + "D28" + ], + "revenue": 280, + "revenue_str": "D14-D20-D24-D28", + "nodes": [ + "D20-0", + "D14-0", + "D24-0", + "D28-0" + ] + } + ], + "original_id": 1006 + }, + { + "type": "dividend", + "entity": "TP", + "entity_type": "corporation", + "id": 799, + "created_at": 1673113721, + "kind": "withhold", + "original_id": 1007 + }, + { + "type": "take_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 800, + "created_at": 1673113725, + "loan": 53, + "original_id": 1008 + }, + { + "type": "take_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 801, + "created_at": 1673113725, + "loan": 54, + "original_id": 1009 + }, + { + "type": "take_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 802, + "created_at": 1673113726, + "loan": 55, + "original_id": 1010 + }, + { + "type": "take_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 803, + "created_at": 1673113727, + "loan": 56, + "original_id": 1011 + }, + { + "type": "buy_train", + "entity": "TP", + "entity_type": "corporation", + "id": 804, + "created_at": 1673113731, + "train": "5-4", + "price": 600, + "variant": "5", + "original_id": 1012 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 805, + "created_at": 1673113735, + "original_id": 1013 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 806, + "created_at": 1673113740, + "original_id": 1014 + }, + { + "type": "lay_tile", + "entity": "IC", + "entity_type": "corporation", + "id": 807, + "created_at": 1673113780, + "hex": "E25", + "tile": "546coal-0", + "rotation": 4, + "original_id": 1015 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 808, + "created_at": 1673113784, + "original_id": 1016 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 809, + "created_at": 1673113787, + "original_id": 1017 + }, + { + "type": "run_routes", + "entity": "IC", + "entity_type": "corporation", + "id": 810, + "created_at": 1673113791, + "routes": [ + { + "train": "4-3", + "connections": [ + [ + "A27", + "B26", + "C27", + "D28" + ], + [ + "D28", + "E27", + "E25", + "D24" + ], + [ + "D24", + "D22", + "D20" + ] + ], + "hexes": [ + "A27", + "D28", + "D24", + "D20" + ], + "revenue": 260, + "revenue_str": "A27-D28-D24-D20", + "nodes": [ + "A27-0", + "D28-0", + "D24-0", + "D20-0" + ] + } + ], + "original_id": 1018 + }, + { + "type": "dividend", + "entity": "IC", + "entity_type": "corporation", + "id": 811, + "created_at": 1673113821, + "kind": "half", + "original_id": 1023 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 812, + "created_at": 1673113878, + "original_id": 1030 + }, + { + "type": "payoff_loan", + "entity": "IC", + "entity_type": "corporation", + "id": 813, + "created_at": 1673113879, + "loan": 31, + "original_id": 1031 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 814, + "created_at": 1673113880, + "original_id": 1032 + }, + { + "type": "lay_tile", + "entity": "B&O", + "entity_type": "corporation", + "id": 815, + "created_at": 1673113914, + "hex": "C29", + "tile": "448-0", + "rotation": 0, + "original_id": 1035 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 816, + "created_at": 1673113917, + "original_id": 1036 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 817, + "created_at": 1673113919, + "original_id": 1037 + }, + { + "type": "run_routes", + "entity": "B&O", + "entity_type": "corporation", + "id": 818, + "created_at": 1673113940, + "routes": [ + { + "train": "4-0", + "connections": [ + [ + "D20", + "D22", + "D24" + ], + [ + "D24", + "D26", + "D28" + ], + [ + "D28", + "C29" + ] + ], + "hexes": [ + "D20", + "D24", + "D28", + "C29" + ], + "revenue": 230, + "revenue_str": "D20-D24-D28-C29", + "nodes": [ + "D20-0", + "D24-0", + "D28-0", + "C29-0" + ] + }, + { + "train": "3+-1", + "connections": [ + [ + "D24", + "E25", + "E27", + "D28" + ], + [ + "D28", + "C27", + "B26", + "A27" + ] + ], + "hexes": [ + "D24", + "D28", + "A27" + ], + "revenue": 200, + "revenue_str": "D24-D28-A27", + "nodes": [ + "D24-0", + "D28-0", + "A27-0" + ] + } + ], + "original_id": 1038 + }, + { + "type": "dividend", + "entity": "B&O", + "entity_type": "corporation", + "id": 819, + "created_at": 1673113956, + "kind": "half", + "original_id": 1039 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 820, + "created_at": 1673113959, + "original_id": 1040 + }, + { + "type": "payoff_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 821, + "created_at": 1673113962, + "loan": 32, + "original_id": 1041 + }, + { + "type": "payoff_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 822, + "created_at": 1673113962, + "loan": 33, + "original_id": 1042 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 823, + "created_at": 1673113964, + "original_id": 1043 + }, + { + "type": "lay_tile", + "entity": "SR", + "entity_type": "corporation", + "id": 824, + "created_at": 1673113989, + "hex": "E19", + "tile": "545-0", + "rotation": 0, + "original_id": 1044 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 825, + "created_at": 1673113991, + "original_id": 1045 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 826, + "created_at": 1673113994, + "original_id": 1046 + }, + { + "type": "run_routes", + "entity": "SR", + "entity_type": "corporation", + "id": 827, + "created_at": 1673114008, + "routes": [ + { + "train": "3-0", + "connections": [ + [ + "F18", + "G19", + "H18", + "I17", + "I19" + ], + [ + "D20", + "E19", + "F18" + ] + ], + "hexes": [ + "I19", + "F18", + "D20" + ], + "revenue": 180, + "revenue_str": "I19-F18-D20", + "nodes": [ + "F18-0", + "I19-0", + "D20-0" + ] + } + ], + "original_id": 1047 + }, + { + "type": "dividend", + "entity": "SR", + "entity_type": "corporation", + "id": 828, + "created_at": 1673114010, + "kind": "payout", + "original_id": 1048 + }, + { + "type": "buy_train", + "entity": "SR", + "entity_type": "corporation", + "id": 829, + "created_at": 1673114095, + "train": "4-6", + "price": 1, + "original_id": 1051 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 830, + "created_at": 1673114099, + "original_id": 1052 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 831, + "created_at": 1673114105, + "original_id": 1053 + }, + { + "type": "lay_tile", + "entity": "GN", + "entity_type": "corporation", + "id": 832, + "created_at": 1673114122, + "hex": "D14", + "tile": "63-1", + "rotation": 0, + "original_id": 1054 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 833, + "created_at": 1673114124, + "original_id": 1055 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 834, + "created_at": 1673114126, + "original_id": 1056 + }, + { + "type": "run_routes", + "entity": "GN", + "entity_type": "corporation", + "id": 835, + "created_at": 1673114135, + "routes": [ + { + "train": "3+-0", + "connections": [ + [ + "D14", + "C15", + "B16", + "B18", + "B20", + "B22", + "C23" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "C23", + "D14", + "D20" + ], + "revenue": 200, + "revenue_str": "C23-D14-D20", + "nodes": [ + "D14-0", + "C23-0", + "D20-0" + ] + } + ], + "original_id": 1057 + }, + { + "type": "dividend", + "entity": "GN", + "entity_type": "corporation", + "id": 836, + "created_at": 1673114139, + "kind": "payout", + "original_id": 1058 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 837, + "created_at": 1673114141, + "original_id": 1059 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 838, + "created_at": 1673114143, + "original_id": 1060 + }, + { + "type": "lay_tile", + "entity": "ATSF", + "entity_type": "corporation", + "id": 839, + "created_at": 1673114284, + "hex": "G23", + "tile": "9-9", + "rotation": 0, + "original_id": 1071 + }, + { + "type": "lay_tile", + "entity": "ATSF", + "entity_type": "corporation", + "id": 840, + "created_at": 1673114287, + "hex": "F24", + "tile": "9-10", + "rotation": 0, + "original_id": 1072 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 841, + "created_at": 1673114292, + "original_id": 1073 + }, + { + "type": "run_routes", + "entity": "ATSF", + "entity_type": "corporation", + "id": 842, + "created_at": 1673114297, + "routes": [ + { + "train": "3-4", + "connections": [ + [ + "I19", + "I17", + "H18", + "G19", + "F18" + ], + [ + "F18", + "E19", + "D20" + ] + ], + "hexes": [ + "I19", + "F18", + "D20" + ], + "revenue": 170, + "revenue_str": "I19-F18-D20", + "nodes": [ + "I19-0", + "F18-0", + "D20-0" + ] + }, + { + "train": "3-3", + "connections": [ + [ + "I19", + "I21", + "H22" + ], + [ + "H22", + "G23", + "F24", + "E25", + "E27", + "D28" + ] + ], + "hexes": [ + "I19", + "H22", + "D28" + ], + "revenue": 210, + "revenue_str": "I19-H22-D28", + "nodes": [ + "I19-0", + "H22-0", + "D28-0" + ] + } + ], + "original_id": 1074 + }, + { + "type": "dividend", + "entity": "ATSF", + "entity_type": "corporation", + "id": 843, + "created_at": 1673114309, + "kind": "half", + "original_id": 1075 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 844, + "created_at": 1673114313, + "original_id": 1076 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 845, + "created_at": 1673114329, + "original_id": 1077 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 846, + "created_at": 1673114339, + "original_id": 1078 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 847, + "created_at": 1673114410, + "original_id": 1079 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 848, + "created_at": 1673114413, + "original_id": 1080 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 849, + "created_at": 1673114458, + "original_id": 1081 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 850, + "created_at": 1673114473, + "original_id": 1082 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 851, + "created_at": 1673114489, + "original_id": 1083 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 852, + "created_at": 1673114499, + "original_id": 1084 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 853, + "created_at": 1673114500, + "original_id": 1085 + }, + { + "type": "program_merger_pass", + "entity": 4339, + "entity_type": "player", + "id": 854, + "created_at": 1673114504, + "corporations_by_round": { + "AR": [ + "B&O", + "GN", + "N&W" + ], + "MR": [ + "B&O", + "GN", + "N&W" + ] + }, + "options": [ + + ], + "original_id": 1086 + }, + { + "type": "merge", + "entity": "ATSF", + "entity_type": "corporation", + "id": 855, + "created_at": 1673114512, + "corporation": "UP", + "original_id": 1087 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 856, + "created_at": 1673114554, + "shares": [ + "ATSF_8" + ], + "percent": 10, + "share_price": false, + "original_id": 1088 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 857, + "created_at": 1673114562, + "original_id": 1089 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 858, + "created_at": 1673114569, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673114569 + } + ], + "original_id": 1090 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 859, + "created_at": 1673114577, + "original_id": 1091 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 860, + "created_at": 1673114687, + "shares": [ + "NYC_1" + ], + "percent": 20, + "share_price": false, + "original_id": 1092 + }, + { + "type": "short", + "entity": 605, + "entity_type": "player", + "id": 861, + "created_at": 1673114741, + "corporation": "PRR", + "original_id": 1093 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 862, + "created_at": 1673114754, + "corporation": "UP", + "price": 400, + "original_id": 1094 + }, + { + "type": "place_token", + "entity": "UP", + "entity_type": "corporation", + "id": 863, + "created_at": 1673114758, + "city": "593-2-0", + "slot": 2, + "tokener": "UP", + "original_id": 1095 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 864, + "created_at": 1673114767, + "original_id": 1096 + }, + { + "type": "sell_shares", + "entity": 1463, + "entity_type": "player", + "id": 865, + "created_at": 1673114778, + "shares": [ + "PRR_2" + ], + "percent": 20, + "original_id": 1097 + }, + { + "type": "short", + "entity": 1463, + "entity_type": "player", + "id": 866, + "created_at": 1673114784, + "corporation": "PRR", + "original_id": 1098 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 867, + "created_at": 1673114862, + "shares": [ + "NYC_2" + ], + "percent": 20, + "share_price": false, + "original_id": 1099 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 868, + "created_at": 1673114875, + "shares": [ + "NYC_3" + ], + "percent": 20, + "share_price": false, + "original_id": 1100 + }, + { + "type": "short", + "entity": 3763, + "entity_type": "player", + "id": 869, + "created_at": 1673114977, + "corporation": "IC", + "original_id": 1101 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 870, + "created_at": 1673115013, + "shares": [ + "B&O_2" + ], + "percent": 20, + "share_price": false, + "original_id": 1102 + }, + { + "type": "short", + "entity": 605, + "entity_type": "player", + "id": 871, + "created_at": 1673115039, + "corporation": "PRR", + "original_id": 1103 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 872, + "created_at": 1673115044, + "shares": [ + "B&O_3" + ], + "percent": 20, + "share_price": false, + "original_id": 1104 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 873, + "created_at": 1673115100, + "shares": [ + "TP_2" + ], + "percent": 10, + "share_price": false, + "original_id": 1106 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 874, + "created_at": 1673115134, + "shares": [ + "TP_4" + ], + "percent": 10, + "share_price": false, + "original_id": 1107 + }, + { + "type": "short", + "entity": 3763, + "entity_type": "player", + "id": 875, + "created_at": 1673115148, + "corporation": "IC", + "original_id": 1108 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 876, + "created_at": 1673115151, + "shares": [ + "MP_1" + ], + "percent": 20, + "share_price": false, + "original_id": 1109 + }, + { + "type": "take_loan", + "entity": "IC", + "entity_type": "corporation", + "id": 877, + "created_at": 1673115190, + "loan": 57, + "original_id": 1110 + }, + { + "type": "take_loan", + "entity": "IC", + "entity_type": "corporation", + "id": 878, + "created_at": 1673115192, + "loan": 58, + "original_id": 1111 + }, + { + "type": "buy_shares", + "entity": "IC", + "entity_type": "corporation", + "id": 879, + "created_at": 1673115197, + "shares": [ + "IC_10" + ], + "percent": 20, + "original_id": 1112 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 880, + "created_at": 1673115248, + "shares": [ + "IC_12" + ], + "percent": 20, + "share_price": false, + "original_id": 1113 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 881, + "created_at": 1673115285, + "shares": [ + "PRR_14" + ], + "percent": 20, + "share_price": false, + "original_id": 1114 + }, + { + "type": "sell_shares", + "entity": 3763, + "entity_type": "player", + "id": 882, + "created_at": 1673115302, + "shares": [ + "PRR_1" + ], + "percent": 20, + "original_id": 1115 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 883, + "created_at": 1673115305, + "shares": [ + "MP_2" + ], + "percent": 20, + "share_price": false, + "original_id": 1116 + }, + { + "type": "short", + "entity": 605, + "entity_type": "player", + "id": 884, + "created_at": 1673115358, + "corporation": "TP", + "original_id": 1119 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 885, + "created_at": 1673115362, + "shares": [ + "MP_3" + ], + "percent": 20, + "share_price": false, + "original_id": 1120 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 886, + "created_at": 1673115450, + "shares": [ + "TP_10" + ], + "percent": 10, + "share_price": false, + "original_id": 1121 + }, + { + "type": "program_share_pass", + "entity": 4339, + "entity_type": "player", + "id": 887, + "created_at": 1673115472, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673115467 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 1122 + }, + { + "type": "sell_shares", + "entity": 3763, + "entity_type": "player", + "id": 888, + "created_at": 1673115487, + "shares": [ + "MP_1" + ], + "percent": 20, + "original_id": 1123 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 889, + "created_at": 1673115491, + "shares": [ + "TP_5" + ], + "percent": 10, + "share_price": false, + "original_id": 1124 + }, + { + "type": "short", + "entity": 605, + "entity_type": "player", + "id": 890, + "created_at": 1673115557, + "corporation": "PRR", + "original_id": 1125 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 891, + "created_at": 1673115565, + "original_id": 1126 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 892, + "created_at": 1673115576, + "auto_actions": [ + { + "type": "program_disable", + "entity": 4339, + "entity_type": "player", + "created_at": 1673115575, + "reason": "Shares were sold" + } + ], + "shares": [ + "MP_1" + ], + "percent": 20, + "share_price": false, + "original_id": 1127 + }, + { + "type": "program_share_pass", + "entity": 4339, + "entity_type": "player", + "id": 893, + "created_at": 1673115594, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673115589 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 1128 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 894, + "created_at": 1673115616, + "shares": [ + "TP_6" + ], + "percent": 10, + "share_price": false, + "original_id": 1129 + }, + { + "type": "short", + "entity": 605, + "entity_type": "player", + "id": 895, + "created_at": 1673115629, + "corporation": "TP", + "original_id": 1130 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 896, + "created_at": 1673115636, + "shares": [ + "UP_1" + ], + "percent": 10, + "share_price": false, + "original_id": 1131 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 897, + "created_at": 1673115722, + "auto_actions": [ + { + "type": "program_disable", + "entity": 4339, + "entity_type": "player", + "created_at": 1673115721, + "reason": "Short bought" + } + ], + "original_id": 1132 + }, + { + "type": "program_share_pass", + "entity": 4339, + "entity_type": "player", + "id": 898, + "created_at": 1673115731, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673115726 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 1133 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 899, + "created_at": 1673115740, + "original_id": 1134 + }, + { + "type": "sell_shares", + "entity": 605, + "entity_type": "player", + "id": 900, + "created_at": 1673115779, + "shares": [ + "MP_3" + ], + "percent": 20, + "original_id": 1135 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 901, + "created_at": 1673115781, + "shares": [ + "UP_2" + ], + "percent": 10, + "share_price": false, + "original_id": 1136 + }, + { + "type": "take_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 902, + "created_at": 1673115845, + "loan": 59, + "original_id": 1137 + }, + { + "type": "buy_shares", + "entity": "TP", + "entity_type": "corporation", + "id": 903, + "created_at": 1673115849, + "auto_actions": [ + { + "type": "program_disable", + "entity": 4339, + "entity_type": "player", + "created_at": 1673115849, + "reason": "Shares were sold" + } + ], + "shares": [ + "TP_12" + ], + "percent": 10, + "original_id": 1138 + }, + { + "type": "program_share_pass", + "entity": 4339, + "entity_type": "player", + "id": 904, + "created_at": 1673115876, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673115871 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 1139 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 905, + "created_at": 1673115893, + "original_id": 1140 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 906, + "created_at": 1673115939, + "original_id": 1141 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 907, + "created_at": 1673116000, + "original_id": 1142 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 908, + "created_at": 1673116061, + "hex": "I21", + "tile": "545-1", + "rotation": 1, + "original_id": 1143 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 909, + "created_at": 1673116066, + "original_id": 1144 + }, + { + "type": "take_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 910, + "created_at": 1673116067, + "loan": 60, + "original_id": 1145 + }, + { + "type": "take_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 911, + "created_at": 1673116069, + "loan": 61, + "original_id": 1146 + }, + { + "type": "place_token", + "entity": "UP", + "entity_type": "corporation", + "id": 912, + "created_at": 1673116071, + "city": "X13-0-0", + "slot": 2, + "tokener": "UP", + "original_id": 1147 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 913, + "created_at": 1673116075, + "original_id": 1148 + }, + { + "type": "buy_train", + "entity": "UP", + "entity_type": "corporation", + "id": 914, + "created_at": 1673116076, + "train": "6-1", + "price": 750, + "variant": "6", + "original_id": 1149 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 915, + "created_at": 1673116078, + "original_id": 1150 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 916, + "created_at": 1673116079, + "original_id": 1151 + }, + { + "type": "lay_tile", + "entity": "NYC", + "entity_type": "corporation", + "id": 917, + "created_at": 1673116136, + "hex": "G13", + "tile": "8-7", + "rotation": 4, + "original_id": 1152 + }, + { + "type": "lay_tile", + "entity": "NYC", + "entity_type": "corporation", + "id": 918, + "created_at": 1673116138, + "hex": "H12", + "tile": "8-2", + "rotation": 1, + "original_id": 1153 + }, + { + "type": "run_routes", + "entity": "NYC", + "entity_type": "corporation", + "id": 919, + "created_at": 1673116147, + "routes": [ + { + "train": "5-1", + "connections": [ + [ + "H22", + "H20" + ], + [ + "H20", + "I19" + ], + [ + "I19", + "I17", + "H16", + "G15", + "G13", + "H12", + "H10", + "H8" + ], + [ + "H8", + "H6", + "H4", + "I5" + ] + ], + "hexes": [ + "H22", + "H20", + "I19", + "H8", + "I5" + ], + "revenue": 280, + "revenue_str": "H22-H20-I19-H8-I5", + "nodes": [ + "H22-0", + "H20-0", + "I19-0", + "H8-0", + "I5-0" + ] + }, + { + "train": "4-1", + "connections": [ + [ + "J20", + "I19" + ], + [ + "I19", + "I21", + "H22" + ], + [ + "H22", + "G23", + "F24", + "E25", + "E27", + "D28" + ] + ], + "hexes": [ + "J20", + "I19", + "H22", + "D28" + ], + "revenue": 250, + "revenue_str": "J20-I19-H22-D28", + "nodes": [ + "J20-0", + "I19-0", + "H22-0", + "D28-0" + ] + } + ], + "original_id": 1154 + }, + { + "type": "dividend", + "entity": "NYC", + "entity_type": "corporation", + "id": 920, + "created_at": 1673116176, + "kind": "half", + "original_id": 1155 + }, + { + "type": "payoff_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 921, + "created_at": 1673116178, + "loan": 23, + "original_id": 1156 + }, + { + "type": "payoff_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 922, + "created_at": 1673116179, + "loan": 44, + "original_id": 1157 + }, + { + "type": "payoff_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 923, + "created_at": 1673116180, + "loan": 45, + "original_id": 1158 + }, + { + "type": "payoff_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 924, + "created_at": 1673116181, + "loan": 46, + "original_id": 1159 + }, + { + "type": "payoff_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 925, + "created_at": 1673116183, + "loan": 47, + "original_id": 1160 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 926, + "created_at": 1673116195, + "original_id": 1163 + }, + { + "type": "lay_tile", + "entity": "B&O", + "entity_type": "corporation", + "id": 927, + "created_at": 1673116215, + "hex": "E23", + "tile": "63-2", + "rotation": 0, + "original_id": 1164 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 928, + "created_at": 1673116217, + "original_id": 1165 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 929, + "created_at": 1673116218, + "original_id": 1166 + }, + { + "type": "run_routes", + "entity": "B&O", + "entity_type": "corporation", + "id": 930, + "created_at": 1673116244, + "routes": [ + { + "train": "4-0", + "connections": [ + [ + "D20", + "D22", + "D24" + ], + [ + "D24", + "D26", + "D28" + ], + [ + "D28", + "C29" + ] + ], + "hexes": [ + "D20", + "D24", + "D28", + "C29" + ], + "revenue": 230, + "revenue_str": "D20-D24-D28-C29", + "nodes": [ + "D20-0", + "D24-0", + "D28-0", + "C29-0" + ] + }, + { + "train": "3+-1", + "connections": [ + [ + "A27", + "B26", + "C27", + "D28" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H22" + ] + ], + "hexes": [ + "A27", + "D28", + "H22" + ], + "revenue": 210, + "revenue_str": "A27-D28-H22", + "nodes": [ + "A27-0", + "D28-0", + "H22-0" + ] + } + ], + "original_id": 1167 + }, + { + "type": "dividend", + "entity": "B&O", + "entity_type": "corporation", + "id": 931, + "created_at": 1673116272, + "kind": "withhold", + "original_id": 1168 + }, + { + "type": "buy_train", + "entity": "B&O", + "entity_type": "corporation", + "id": 932, + "created_at": 1673116279, + "train": "6-2", + "price": 750, + "variant": "6", + "original_id": 1169 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 933, + "created_at": 1673116283, + "original_id": 1170 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 934, + "created_at": 1673116346, + "hex": "D18", + "tile": "546-1", + "rotation": 3, + "original_id": 1175 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 935, + "created_at": 1673116355, + "original_id": 1176 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 936, + "created_at": 1673116357, + "original_id": 1177 + }, + { + "type": "run_routes", + "entity": "MP", + "entity_type": "corporation", + "id": 937, + "created_at": 1673116382, + "routes": [ + { + "train": "4+-0", + "connections": [ + [ + "F18", + "E19", + "D18", + "C19", + "D20" + ], + [ + "E17", + "F16", + "G15", + "H16", + "I17", + "H18", + "G19", + "F18" + ], + [ + "D14", + "D16", + "D18", + "E17" + ] + ], + "hexes": [ + "D20", + "F18", + "E17", + "D14" + ], + "revenue": 250, + "revenue_str": "D20-F18-E17-D14", + "nodes": [ + "F18-0", + "D20-0", + "E17-0", + "D14-0" + ] + } + ], + "original_id": 1178 + }, + { + "type": "dividend", + "entity": "MP", + "entity_type": "corporation", + "id": 938, + "created_at": 1673116464, + "kind": "withhold", + "original_id": 1189 + }, + { + "type": "buy_train", + "entity": "MP", + "entity_type": "corporation", + "id": 939, + "created_at": 1673116466, + "train": "6-3", + "price": 750, + "variant": "6", + "original_id": 1190 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 940, + "created_at": 1673116469, + "original_id": 1191 + }, + { + "type": "lay_tile", + "entity": "IC", + "entity_type": "corporation", + "id": 941, + "created_at": 1673116478, + "hex": "G23", + "tile": "83-3", + "rotation": 0, + "original_id": 1192 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 942, + "created_at": 1673116483, + "original_id": 1193 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 943, + "created_at": 1673116486, + "original_id": 1194 + }, + { + "type": "run_routes", + "entity": "IC", + "entity_type": "corporation", + "id": 944, + "created_at": 1673116491, + "routes": [ + { + "train": "4-3", + "connections": [ + [ + "A27", + "B26", + "C27", + "C29" + ], + [ + "C29", + "D28" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H22" + ] + ], + "hexes": [ + "A27", + "C29", + "D28", + "H22" + ], + "revenue": 250, + "revenue_str": "A27-C29-D28-H22", + "nodes": [ + "A27-0", + "C29-0", + "D28-0", + "H22-0" + ] + } + ], + "original_id": 1195 + }, + { + "type": "dividend", + "entity": "IC", + "entity_type": "corporation", + "id": 945, + "created_at": 1673116503, + "kind": "payout", + "original_id": 1196 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 946, + "created_at": 1673116507, + "original_id": 1197 + }, + { + "type": "lay_tile", + "entity": "ATSF", + "entity_type": "corporation", + "id": 947, + "created_at": 1673116538, + "hex": "I23", + "tile": "83-4", + "rotation": 2, + "original_id": 1198 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 948, + "created_at": 1673116543, + "original_id": 1199 + }, + { + "type": "run_routes", + "entity": "ATSF", + "entity_type": "corporation", + "id": 949, + "created_at": 1673116565, + "routes": [ + { + "train": "5-2", + "connections": [ + [ + "D14", + "D16", + "D18", + "C19", + "D20" + ], + [ + "D20", + "E19", + "F18" + ], + [ + "F18", + "G19", + "H18", + "I17", + "H16", + "G15", + "G13", + "H12", + "H10", + "H8" + ], + [ + "H8", + "H6", + "H4", + "I5" + ] + ], + "hexes": [ + "D14", + "D20", + "F18", + "H8", + "I5" + ], + "revenue": 330, + "revenue_str": "D14-D20-F18-H8-I5", + "nodes": [ + "D14-0", + "D20-0", + "F18-0", + "H8-0", + "I5-0" + ] + }, + { + "train": "4-2", + "connections": [ + [ + "A27", + "B26", + "C25" + ], + [ + "C25", + "D26", + "D28" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H22" + ] + ], + "hexes": [ + "A27", + "C25", + "D28", + "H22" + ], + "revenue": 250, + "revenue_str": "A27-C25-D28-H22", + "nodes": [ + "A27-0", + "C25-0", + "D28-0", + "H22-0" + ] + } + ], + "original_id": 1200 + }, + { + "type": "dividend", + "entity": "ATSF", + "entity_type": "corporation", + "id": 950, + "created_at": 1673116567, + "kind": "half", + "original_id": 1201 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 951, + "created_at": 1673116568, + "loan": 24, + "original_id": 1202 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 952, + "created_at": 1673116583, + "original_id": 1203 + }, + { + "type": "lay_tile", + "entity": "SR", + "entity_type": "corporation", + "id": 953, + "created_at": 1673116607, + "hex": "G23", + "tile": "544-0", + "rotation": 2, + "original_id": 1204 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 954, + "created_at": 1673116611, + "original_id": 1205 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 955, + "created_at": 1673116616, + "original_id": 1206 + }, + { + "type": "run_routes", + "entity": "SR", + "entity_type": "corporation", + "id": 956, + "created_at": 1673116626, + "routes": [ + { + "train": "4-6", + "connections": [ + [ + "F18", + "E19", + "D18", + "C19", + "D20" + ], + [ + "F20", + "F18" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "F20" + ] + ], + "hexes": [ + "D20", + "F18", + "F20", + "D28" + ], + "revenue": 280, + "revenue_str": "D20-F18-F20-D28", + "nodes": [ + "F18-0", + "D20-0", + "F20-0", + "D28-0" + ] + } + ], + "original_id": 1207 + }, + { + "type": "dividend", + "entity": "SR", + "entity_type": "corporation", + "id": 957, + "created_at": 1673116627, + "kind": "payout", + "original_id": 1208 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 958, + "created_at": 1673116636, + "original_id": 1209 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 959, + "created_at": 1673116638, + "original_id": 1210 + }, + { + "type": "lay_tile", + "entity": "N&W", + "entity_type": "corporation", + "id": 960, + "created_at": 1673116665, + "hex": "F20", + "tile": "63-3", + "rotation": 0, + "original_id": 1211 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 961, + "created_at": 1673116669, + "original_id": 1212 + }, + { + "type": "run_routes", + "entity": "N&W", + "entity_type": "corporation", + "id": 962, + "created_at": 1673116717, + "routes": [ + { + "train": "5-3", + "connections": [ + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "F20" + ], + [ + "F20", + "F18" + ], + [ + "F18", + "G19", + "H18", + "I17", + "H16", + "G15", + "G13", + "H12", + "H10", + "H8" + ], + [ + "H8", + "H6", + "H4", + "I5" + ] + ], + "hexes": [ + "D28", + "F20", + "F18", + "H8", + "I5" + ], + "revenue": 330, + "revenue_str": "D28-F20-F18-H8-I5", + "nodes": [ + "D28-0", + "F20-0", + "F18-0", + "H8-0", + "I5-0" + ] + }, + { + "train": "4-4", + "connections": [ + [ + "D28", + "D26", + "D24" + ], + [ + "D24", + "D22", + "D20" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "D28", + "D24", + "D20", + "D14" + ], + "revenue": 280, + "revenue_str": "D28-D24-D20-D14", + "nodes": [ + "D28-0", + "D24-0", + "D20-0", + "D14-0" + ] + } + ], + "original_id": 1213 + }, + { + "type": "dividend", + "entity": "N&W", + "entity_type": "corporation", + "id": 963, + "created_at": 1673116732, + "kind": "withhold", + "original_id": 1214 + }, + { + "type": "payoff_loan", + "entity": "N&W", + "entity_type": "corporation", + "id": 964, + "created_at": 1673116733, + "loan": 28, + "original_id": 1215 + }, + { + "type": "payoff_loan", + "entity": "N&W", + "entity_type": "corporation", + "id": 965, + "created_at": 1673116734, + "loan": 40, + "original_id": 1216 + }, + { + "type": "payoff_loan", + "entity": "N&W", + "entity_type": "corporation", + "id": 966, + "created_at": 1673116735, + "loan": 50, + "original_id": 1217 + }, + { + "type": "payoff_loan", + "entity": "N&W", + "entity_type": "corporation", + "id": 967, + "created_at": 1673116736, + "loan": 51, + "original_id": 1218 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 968, + "created_at": 1673116738, + "original_id": 1219 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 969, + "created_at": 1673116766, + "hex": "H8", + "tile": "63-4", + "rotation": 0, + "original_id": 1220 + }, + { + "type": "choose", + "entity": "PRR", + "entity_type": "corporation", + "id": 970, + "created_at": 1673116771, + "choice": "0-0", + "original_id": 1221 + }, + { + "type": "run_routes", + "entity": "PRR", + "entity_type": "corporation", + "id": 971, + "created_at": 1673116781, + "routes": [ + { + "train": "4-5", + "connections": [ + [ + "I5", + "H4", + "H6", + "H8" + ], + [ + "H8", + "H10", + "H12", + "G13", + "G15", + "H16", + "I17", + "I19" + ], + [ + "I19", + "I21", + "I23", + "H22" + ], + [ + "H22", + "G23", + "F24", + "E25", + "E27", + "D28" + ] + ], + "hexes": [ + "I5", + "H8", + "I19", + "H22", + "D28" + ], + "revenue": 350, + "revenue_str": "I5-H8-I19-H22-D28", + "nodes": [ + "I5-0", + "H8-0", + "I19-0", + "H22-0", + "D28-0" + ] + } + ], + "original_id": 1222 + }, + { + "type": "dividend", + "entity": "PRR", + "entity_type": "corporation", + "id": 972, + "created_at": 1673116856, + "kind": "withhold", + "original_id": 1227 + }, + { + "type": "buy_train", + "entity": "PRR", + "entity_type": "corporation", + "id": 973, + "created_at": 1673116868, + "train": "4-1", + "price": 1, + "original_id": 1228 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 974, + "created_at": 1673116871, + "loan": 3, + "original_id": 1229 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 975, + "created_at": 1673116874, + "original_id": 1230 + }, + { + "type": "lay_tile", + "entity": "TP", + "entity_type": "corporation", + "id": 976, + "created_at": 1673116921, + "hex": "F22", + "tile": "546coal-1", + "rotation": 5, + "original_id": 1231 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 977, + "created_at": 1673116924, + "original_id": 1232 + }, + { + "type": "place_token", + "entity": "TP", + "entity_type": "corporation", + "id": 978, + "created_at": 1673116942, + "city": "593-0-0", + "slot": 2, + "tokener": "TP", + "original_id": 1233 + }, + { + "type": "buy_train", + "entity": "TP", + "entity_type": "corporation", + "id": 979, + "created_at": 1673116944, + "train": "P-0", + "price": 200, + "variant": "P", + "original_id": 1234 + }, + { + "type": "choose", + "entity": "TP", + "entity_type": "corporation", + "id": 980, + "created_at": 1673116966, + "choice": "0-0", + "original_id": 1235 + }, + { + "type": "run_routes", + "entity": "TP", + "entity_type": "corporation", + "id": 981, + "created_at": 1673116967, + "routes": [ + { + "train": "5-4", + "connections": [ + [ + "E17", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "E17" + ], + [ + "E23", + "D22", + "D20" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E23" + ] + ], + "hexes": [ + "I19", + "E17", + "D20", + "E23", + "D28" + ], + "revenue": 430, + "revenue_str": "I19-E17-D20-E23-D28", + "nodes": [ + "E17-0", + "I19-0", + "D20-0", + "E23-0", + "D28-0" + ] + } + ], + "original_id": 1236 + }, + { + "type": "dividend", + "entity": "TP", + "entity_type": "corporation", + "id": 982, + "created_at": 1673116996, + "kind": "half", + "original_id": 1239 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 983, + "created_at": 1673117005, + "original_id": 1240 + }, + { + "type": "lay_tile", + "entity": "GN", + "entity_type": "corporation", + "id": 984, + "created_at": 1673117019, + "hex": "F14", + "tile": "8-8", + "rotation": 2, + "original_id": 1241 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 985, + "created_at": 1673117023, + "original_id": 1242 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 986, + "created_at": 1673117024, + "original_id": 1243 + }, + { + "type": "run_routes", + "entity": "GN", + "entity_type": "corporation", + "id": 987, + "created_at": 1673117043, + "routes": [ + { + "train": "3+-0", + "connections": [ + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "D14", + "E13", + "F14", + "F16", + "G15", + "H16", + "I17", + "I19" + ] + ], + "hexes": [ + "D20", + "D14", + "I19" + ], + "revenue": 210, + "revenue_str": "D20-D14-I19", + "nodes": [ + "D20-0", + "D14-0", + "I19-0" + ] + } + ], + "original_id": 1244 + }, + { + "type": "dividend", + "entity": "GN", + "entity_type": "corporation", + "id": 988, + "created_at": 1673117052, + "kind": "payout", + "original_id": 1245 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 989, + "created_at": 1673117056, + "original_id": 1246 + }, + { + "type": "pass", + "entity": "GN", + "entity_type": "corporation", + "id": 990, + "created_at": 1673117057, + "original_id": 1247 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 991, + "created_at": 1673117065, + "original_id": 1248 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 992, + "created_at": 1673117104, + "original_id": 1249 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 993, + "created_at": 1673117106, + "original_id": 1250 + }, + { + "type": "program_merger_pass", + "entity": 4339, + "entity_type": "player", + "id": 994, + "created_at": 1673117109, + "corporations_by_round": { + "AR": [ + "B&O", + "N&W" + ], + "MR": [ + "B&O", + "N&W" + ] + }, + "options": [ + + ], + "original_id": 1251 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 995, + "created_at": 1673117116, + "original_id": 1252 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 996, + "created_at": 1673117124, + "original_id": 1253 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 997, + "created_at": 1673117125, + "original_id": 1254 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 998, + "created_at": 1673117132, + "original_id": 1255 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 999, + "created_at": 1673117156, + "corporation": "GN", + "price": 10, + "original_id": 1256 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 1000, + "created_at": 1673117192, + "corporation": "GN", + "price": 20, + "original_id": 1257 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1001, + "created_at": 1673117202, + "original_id": 1258 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 1002, + "created_at": 1673117208, + "corporation": "GN", + "price": 30, + "original_id": 1259 + }, + { + "type": "bid", + "entity": 3763, + "entity_type": "player", + "id": 1003, + "created_at": 1673117215, + "corporation": "GN", + "price": 40, + "original_id": 1260 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 1004, + "created_at": 1673117222, + "original_id": 1261 + }, + { + "type": "bid", + "entity": 4339, + "entity_type": "player", + "id": 1005, + "created_at": 1673117228, + "corporation": "GN", + "price": 50, + "original_id": 1262 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1006, + "created_at": 1673117244, + "original_id": 1263 + }, + { + "type": "merge", + "entity": 4339, + "entity_type": "player", + "id": 1007, + "created_at": 1673117251, + "corporation": "B&O", + "original_id": 1264 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1008, + "created_at": 1673117313, + "original_id": 1265 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1009, + "created_at": 1673117320, + "original_id": 1266 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 1010, + "created_at": 1673117334, + "original_id": 1267 + }, + { + "type": "lay_tile", + "entity": "NYC", + "entity_type": "corporation", + "id": 1011, + "created_at": 1673117351, + "hex": "H22", + "tile": "597-0", + "rotation": 5, + "original_id": 1268 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 1012, + "created_at": 1673117354, + "original_id": 1269 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 1013, + "created_at": 1673117371, + "original_id": 1270 + }, + { + "type": "run_routes", + "entity": "NYC", + "entity_type": "corporation", + "id": 1014, + "created_at": 1673117386, + "routes": [ + { + "train": "5-1", + "connections": [ + [ + "I5", + "H4", + "H6", + "H8" + ], + [ + "H8", + "H10", + "H12", + "G13", + "G15", + "H16", + "I17", + "I19" + ], + [ + "I19", + "I21", + "I23", + "H22" + ], + [ + "H22", + "G23", + "F24", + "E25", + "E27", + "D28" + ] + ], + "hexes": [ + "I5", + "H8", + "I19", + "H22", + "D28" + ], + "revenue": 380, + "revenue_str": "I5-H8-I19-H22-D28", + "nodes": [ + "I5-0", + "H8-0", + "I19-0", + "H22-0", + "D28-0" + ] + } + ], + "original_id": 1271 + }, + { + "type": "dividend", + "entity": "NYC", + "entity_type": "corporation", + "id": 1015, + "created_at": 1673117389, + "kind": "payout", + "original_id": 1272 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 1016, + "created_at": 1673117394, + "original_id": 1273 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 1017, + "created_at": 1673117397, + "original_id": 1274 + }, + { + "type": "lay_tile", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1018, + "created_at": 1673117409, + "hex": "H20", + "tile": "63-5", + "rotation": 0, + "original_id": 1275 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1019, + "created_at": 1673117411, + "original_id": 1276 + }, + { + "type": "run_routes", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1020, + "created_at": 1673117419, + "routes": [ + { + "train": "5-2", + "connections": [ + [ + "D14", + "D16", + "D18", + "C19", + "D20" + ], + [ + "D20", + "E19", + "F18" + ], + [ + "F18", + "G19", + "H18", + "I17", + "H16", + "G15", + "G13", + "H12", + "H10", + "H8" + ], + [ + "H8", + "H6", + "H4", + "I5" + ] + ], + "hexes": [ + "D14", + "D20", + "F18", + "H8", + "I5" + ], + "revenue": 350, + "revenue_str": "D14-D20-F18-H8-I5", + "nodes": [ + "D14-0", + "D20-0", + "F18-0", + "H8-0", + "I5-0" + ] + }, + { + "train": "4-2", + "connections": [ + [ + "A27", + "B26", + "C25" + ], + [ + "C25", + "D26", + "D28" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H22" + ] + ], + "hexes": [ + "A27", + "C25", + "D28", + "H22" + ], + "revenue": 290, + "revenue_str": "A27-C25-D28-H22", + "nodes": [ + "A27-0", + "C25-0", + "D28-0", + "H22-0" + ] + } + ], + "original_id": 1277 + }, + { + "type": "dividend", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1021, + "created_at": 1673117424, + "kind": "half", + "original_id": 1278 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1022, + "created_at": 1673117426, + "loan": 25, + "original_id": 1279 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1023, + "created_at": 1673117427, + "loan": 65, + "original_id": 1280 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1024, + "created_at": 1673117428, + "original_id": 1281 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 1025, + "created_at": 1673117436, + "hex": "H18", + "tile": "82-5", + "rotation": 3, + "original_id": 1282 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1026, + "created_at": 1673117439, + "original_id": 1283 + }, + { + "type": "place_token", + "entity": "UP", + "entity_type": "corporation", + "id": 1027, + "created_at": 1673117441, + "city": "63-4-0", + "slot": 1, + "tokener": "UP", + "original_id": 1284 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1028, + "created_at": 1673117444, + "original_id": 1285 + }, + { + "type": "run_routes", + "entity": "UP", + "entity_type": "corporation", + "id": 1029, + "created_at": 1673117460, + "routes": [ + { + "train": "6-1", + "connections": [ + [ + "I5", + "H4", + "H6", + "H8" + ], + [ + "H8", + "H10", + "H12", + "G13", + "G15", + "H16", + "I17", + "H18", + "H20" + ], + [ + "H20", + "I21", + "I23", + "H22" + ], + [ + "H22", + "G23", + "F24", + "E25", + "D24" + ], + [ + "D24", + "D26", + "D28" + ] + ], + "hexes": [ + "I5", + "H8", + "H20", + "H22", + "D24", + "D28" + ], + "revenue": 410, + "revenue_str": "I5-H8-H20-H22-D24-D28", + "nodes": [ + "I5-0", + "H8-0", + "H20-0", + "H22-0", + "D24-0", + "D28-0" + ] + } + ], + "original_id": 1286 + }, + { + "type": "dividend", + "entity": "UP", + "entity_type": "corporation", + "id": 1030, + "created_at": 1673117513, + "kind": "half", + "original_id": 1291 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1031, + "created_at": 1673117520, + "original_id": 1292 + }, + { + "type": "payoff_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1032, + "created_at": 1673117522, + "loan": 60, + "original_id": 1293 + }, + { + "type": "payoff_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1033, + "created_at": 1673117523, + "loan": 61, + "original_id": 1294 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1034, + "created_at": 1673117524, + "original_id": 1295 + }, + { + "type": "lay_tile", + "entity": "N&W", + "entity_type": "corporation", + "id": 1035, + "created_at": 1673117568, + "hex": "D28", + "tile": "X30-0", + "rotation": 4, + "original_id": 1299 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 1036, + "created_at": 1673117571, + "original_id": 1300 + }, + { + "type": "run_routes", + "entity": "N&W", + "entity_type": "corporation", + "id": 1037, + "created_at": 1673117619, + "routes": [ + { + "train": "5-3", + "connections": [ + [ + "D28", + "E27", + "E25", + "E23" + ], + [ + "E23", + "D24" + ], + [ + "D24", + "D22", + "D20" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "D28", + "E23", + "D24", + "D20", + "D14" + ], + "revenue": 350, + "revenue_str": "D28-E23-D24-D20-D14", + "nodes": [ + "D28-0", + "E23-0", + "D24-0", + "D20-0", + "D14-0" + ] + }, + { + "train": "4-4", + "connections": [ + [ + "A27", + "B26", + "C27", + "D28" + ], + [ + "D28", + "D26", + "D24" + ], + [ + "D24", + "E25", + "F24", + "G23", + "H22" + ] + ], + "hexes": [ + "A27", + "D28", + "D24", + "H22" + ], + "revenue": 320, + "revenue_str": "A27-D28-D24-H22", + "nodes": [ + "A27-0", + "D28-0", + "D24-0", + "H22-0" + ] + } + ], + "original_id": 1301 + }, + { + "type": "dividend", + "entity": "N&W", + "entity_type": "corporation", + "id": 1038, + "created_at": 1673117627, + "kind": "half", + "original_id": 1302 + }, + { + "type": "payoff_loan", + "entity": "N&W", + "entity_type": "corporation", + "id": 1039, + "created_at": 1673117628, + "loan": 52, + "original_id": 1303 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 1040, + "created_at": 1673117630, + "original_id": 1304 + }, + { + "type": "lay_tile", + "entity": "IC", + "entity_type": "corporation", + "id": 1041, + "created_at": 1673117671, + "hex": "H24", + "tile": "82-1", + "rotation": 5, + "original_id": 1305 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 1042, + "created_at": 1673117674, + "original_id": 1306 + }, + { + "type": "run_routes", + "entity": "IC", + "entity_type": "corporation", + "id": 1043, + "created_at": 1673117680, + "routes": [ + { + "train": "4-3", + "connections": [ + [ + "A27", + "B26", + "C27", + "C29" + ], + [ + "C29", + "D28" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H22" + ] + ], + "hexes": [ + "A27", + "C29", + "D28", + "H22" + ], + "revenue": 310, + "revenue_str": "A27-C29-D28-H22", + "nodes": [ + "A27-0", + "C29-0", + "D28-0", + "H22-0" + ] + } + ], + "original_id": 1307 + }, + { + "type": "dividend", + "entity": "IC", + "entity_type": "corporation", + "id": 1044, + "created_at": 1673117715, + "kind": "half", + "original_id": 1308 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 1045, + "created_at": 1673117729, + "original_id": 1309 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 1046, + "created_at": 1673117835, + "hex": "E21", + "tile": "8-9", + "rotation": 5, + "original_id": 1313 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 1047, + "created_at": 1673117838, + "hex": "E19", + "tile": "60-0", + "rotation": 0, + "original_id": 1314 + }, + { + "type": "run_routes", + "entity": "MP", + "entity_type": "corporation", + "id": 1048, + "created_at": 1673117875, + "routes": [ + { + "train": "4+-0", + "connections": [ + [ + "C29", + "B30", + "B28", + "A27" + ], + [ + "C25", + "B26", + "C27", + "C29" + ], + [ + "D28", + "D26", + "C25" + ] + ], + "hexes": [ + "A27", + "C29", + "C25", + "D28" + ], + "revenue": 270, + "revenue_str": "A27-C29-C25-D28", + "nodes": [ + "C29-0", + "A27-0", + "C25-0", + "D28-0" + ] + }, + { + "train": "6-3", + "connections": [ + [ + "H20", + "H22" + ], + [ + "E17", + "F16", + "G15", + "H16", + "I17", + "H18", + "H20" + ], + [ + "F18", + "E17" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "F18" + ] + ], + "hexes": [ + "H22", + "H20", + "E17", + "F18", + "D28" + ], + "revenue": 340, + "revenue_str": "H22-H20-E17-F18-D28", + "nodes": [ + "H20-0", + "H22-0", + "E17-0", + "F18-0", + "D28-0" + ] + } + ], + "original_id": 1315 + }, + { + "type": "dividend", + "entity": "MP", + "entity_type": "corporation", + "id": 1049, + "created_at": 1673117880, + "kind": "half", + "original_id": 1316 + }, + { + "type": "payoff_loan", + "entity": "MP", + "entity_type": "corporation", + "id": 1050, + "created_at": 1673117883, + "loan": 41, + "original_id": 1317 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1051, + "created_at": 1673117897, + "original_id": 1318 + }, + { + "type": "lay_tile", + "entity": "SR", + "entity_type": "corporation", + "id": 1052, + "created_at": 1673117909, + "hex": "I19", + "tile": "597-1", + "rotation": 1, + "original_id": 1319 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1053, + "created_at": 1673117911, + "original_id": 1320 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1054, + "created_at": 1673117915, + "original_id": 1321 + }, + { + "type": "run_routes", + "entity": "SR", + "entity_type": "corporation", + "id": 1055, + "created_at": 1673117933, + "routes": [ + { + "train": "4-6", + "connections": [ + [ + "F20", + "F22", + "G23", + "F24", + "E25", + "E27", + "D28" + ], + [ + "F18", + "E19", + "F20" + ], + [ + "I19", + "I17", + "H18", + "G19", + "F18" + ] + ], + "hexes": [ + "D28", + "F20", + "F18", + "I19" + ], + "revenue": 310, + "revenue_str": "D28-F20-F18-I19", + "nodes": [ + "F20-0", + "D28-0", + "F18-0", + "I19-0" + ] + } + ], + "original_id": 1322 + }, + { + "type": "dividend", + "entity": "SR", + "entity_type": "corporation", + "id": 1056, + "created_at": 1673117936, + "kind": "payout", + "original_id": 1323 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1057, + "created_at": 1673117940, + "original_id": 1324 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1058, + "created_at": 1673117943, + "original_id": 1325 + }, + { + "type": "lay_tile", + "entity": "B&O", + "entity_type": "corporation", + "id": 1059, + "created_at": 1673117966, + "hex": "D20", + "tile": "597-2", + "rotation": 4, + "original_id": 1326 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1060, + "created_at": 1673117973, + "original_id": 1327 + }, + { + "type": "run_routes", + "entity": "B&O", + "entity_type": "corporation", + "id": 1061, + "created_at": 1673118016, + "routes": [ + { + "train": "6-2", + "connections": [ + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "D14", + "C15", + "B16", + "B18", + "B20", + "B22", + "C23" + ], + [ + "C23", + "D22", + "D24" + ], + [ + "D24", + "D26", + "D28" + ], + [ + "D28", + "C29" + ] + ], + "hexes": [ + "D20", + "D14", + "C23", + "D24", + "D28", + "C29" + ], + "revenue": 420, + "revenue_str": "D20-D14-C23-D24-D28-C29", + "nodes": [ + "D20-0", + "D14-0", + "C23-0", + "D24-0", + "D28-0", + "C29-0" + ] + }, + { + "train": "4-0", + "connections": [ + [ + "A27", + "B26", + "C27", + "D28" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "F18" + ], + [ + "F18", + "G19", + "H18", + "I17", + "I19" + ] + ], + "hexes": [ + "A27", + "D28", + "F18", + "I19" + ], + "revenue": 330, + "revenue_str": "A27-D28-F18-I19", + "nodes": [ + "A27-0", + "D28-0", + "F18-0", + "I19-0" + ] + } + ], + "original_id": 1328 + }, + { + "type": "dividend", + "entity": "B&O", + "entity_type": "corporation", + "id": 1062, + "created_at": 1673118022, + "kind": "half", + "original_id": 1329 + }, + { + "type": "payoff_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 1063, + "created_at": 1673118024, + "loan": 34, + "original_id": 1330 + }, + { + "type": "payoff_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 1064, + "created_at": 1673118026, + "loan": 35, + "original_id": 1331 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1065, + "created_at": 1673118027, + "original_id": 1332 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 1066, + "created_at": 1673118092, + "hex": "G19", + "tile": "81-1", + "rotation": 0, + "original_id": 1333 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 1067, + "created_at": 1673118116, + "original_id": 1335 + }, + { + "type": "run_routes", + "entity": "PRR", + "entity_type": "corporation", + "id": 1068, + "created_at": 1673118130, + "routes": [ + { + "train": "4-1", + "connections": [ + [ + "I5", + "H4", + "H6", + "H8" + ], + [ + "H8", + "H10", + "H12", + "G13", + "G15", + "H16", + "I17", + "H18", + "G19", + "F18" + ], + [ + "F18", + "E19", + "D18", + "C19", + "D20" + ] + ], + "hexes": [ + "I5", + "H8", + "F18", + "D20" + ], + "revenue": 300, + "revenue_str": "I5-H8-F18-D20", + "nodes": [ + "I5-0", + "H8-0", + "F18-0", + "D20-0" + ] + }, + { + "train": "4-5", + "connections": [ + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H22" + ], + [ + "H22", + "H20" + ], + [ + "H20", + "I21", + "I19" + ] + ], + "hexes": [ + "D28", + "H22", + "H20", + "I19" + ], + "revenue": 310, + "revenue_str": "D28-H22-H20-I19", + "nodes": [ + "D28-0", + "H22-0", + "H20-0", + "I19-0" + ] + } + ], + "original_id": 1336 + }, + { + "type": "dividend", + "entity": "PRR", + "entity_type": "corporation", + "id": 1069, + "created_at": 1673118141, + "kind": "payout", + "original_id": 1337 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1070, + "created_at": 1673118144, + "loan": 6, + "original_id": 1338 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1071, + "created_at": 1673118146, + "loan": 7, + "original_id": 1339 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 1072, + "created_at": 1673118155, + "original_id": 1340 + }, + { + "type": "lay_tile", + "entity": "TP", + "entity_type": "corporation", + "id": 1073, + "created_at": 1673118174, + "hex": "C17", + "tile": "14-2", + "rotation": 2, + "original_id": 1341 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1074, + "created_at": 1673118176, + "original_id": 1342 + }, + { + "type": "choose", + "entity": "TP", + "entity_type": "corporation", + "id": 1075, + "created_at": 1673118192, + "choice": "0-0", + "original_id": 1343 + }, + { + "type": "run_routes", + "entity": "TP", + "entity_type": "corporation", + "id": 1076, + "created_at": 1673118194, + "routes": [ + { + "train": "5-4", + "connections": [ + [ + "I19", + "I21", + "H22" + ], + [ + "E17", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "E19", + "E17" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "D20" + ] + ], + "hexes": [ + "H22", + "I19", + "E17", + "D20", + "D28" + ], + "revenue": 530, + "revenue_str": "H22-I19-E17-D20-D28", + "nodes": [ + "I19-0", + "H22-0", + "E17-0", + "D20-0", + "D28-0" + ] + } + ], + "original_id": 1344 + }, + { + "type": "dividend", + "entity": "TP", + "entity_type": "corporation", + "id": 1077, + "created_at": 1673118199, + "kind": "half", + "original_id": 1345 + }, + { + "type": "payoff_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1078, + "created_at": 1673118201, + "loan": 20, + "original_id": 1346 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1079, + "created_at": 1673118206, + "original_id": 1347 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 1080, + "created_at": 1673118244, + "original_id": 1348 + }, + { + "type": "convert", + "entity": "N&W", + "entity_type": "corporation", + "id": 1081, + "created_at": 1673118256, + "original_id": 1349 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 1082, + "created_at": 1673118258, + "shares": [ + "N&W_4" + ], + "percent": 10, + "share_price": false, + "original_id": 1350 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 1083, + "created_at": 1673118259, + "shares": [ + "N&W_5" + ], + "percent": 10, + "share_price": false, + "original_id": 1351 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 1084, + "created_at": 1673118261, + "shares": [ + "N&W_6" + ], + "percent": 10, + "share_price": false, + "original_id": 1352 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 1085, + "created_at": 1673118304, + "shares": [ + "N&W_7" + ], + "percent": 10, + "share_price": false, + "original_id": 1353 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1086, + "created_at": 1673118438, + "shares": [ + "N&W_8" + ], + "percent": 10, + "share_price": false, + "original_id": 1356 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1087, + "created_at": 1673118451, + "original_id": 1357 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 1088, + "created_at": 1673118459, + "original_id": 1359 + }, + { + "type": "convert", + "entity": "B&O", + "entity_type": "corporation", + "id": 1089, + "created_at": 1673118461, + "original_id": 1360 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 1090, + "created_at": 1673118463, + "shares": [ + "B&O_4" + ], + "percent": 10, + "share_price": false, + "original_id": 1361 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 1091, + "created_at": 1673118480, + "shares": [ + "B&O_5" + ], + "percent": 10, + "share_price": false, + "original_id": 1362 + }, + { + "type": "sell_shares", + "entity": 605, + "entity_type": "player", + "id": 1092, + "created_at": 1673118507, + "shares": [ + "B&O_3" + ], + "percent": 10, + "original_id": 1364 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 1093, + "created_at": 1673118531, + "shares": [ + "B&O_6" + ], + "percent": 10, + "share_price": false, + "original_id": 1366 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1094, + "created_at": 1673118539, + "original_id": 1367 + }, + { + "type": "convert", + "entity": "MP", + "entity_type": "corporation", + "id": 1095, + "created_at": 1673118553, + "original_id": 1368 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 1096, + "created_at": 1673118555, + "shares": [ + "MP_4" + ], + "percent": 10, + "share_price": false, + "original_id": 1369 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 1097, + "created_at": 1673118557, + "shares": [ + "MP_5" + ], + "percent": 10, + "share_price": false, + "original_id": 1370 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 1098, + "created_at": 1673118567, + "shares": [ + "MP_6" + ], + "percent": 10, + "share_price": false, + "original_id": 1371 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 1099, + "created_at": 1673118576, + "original_id": 1373 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1100, + "created_at": 1673118619, + "original_id": 1374 + }, + { + "type": "pass", + "entity": "IC", + "entity_type": "corporation", + "id": 1101, + "created_at": 1673118627, + "original_id": 1375 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1102, + "created_at": 1673118638, + "original_id": 1377 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 1103, + "created_at": 1673118655, + "original_id": 1380 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1104, + "created_at": 1673118667, + "original_id": 1381 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1105, + "created_at": 1673118676, + "original_id": 1382 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1106, + "created_at": 1673118695, + "original_id": 1384 + }, + { + "type": "assign", + "entity": 605, + "entity_type": "player", + "id": 1107, + "created_at": 1673118708, + "target": "IC", + "target_type": "corporation", + "original_id": 1387 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1108, + "created_at": 1673118723, + "original_id": 1388 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 1109, + "created_at": 1673118733, + "original_id": 1389 + }, + { + "type": "bid", + "entity": 605, + "entity_type": "player", + "id": 1110, + "created_at": 1673118738, + "corporation": "IC", + "price": 830, + "original_id": 1390 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1111, + "created_at": 1673118743, + "original_id": 1391 + }, + { + "type": "sell_shares", + "entity": 3763, + "entity_type": "player", + "id": 1112, + "created_at": 1673118784, + "shares": [ + "TP_5", + "TP_6" + ], + "percent": 20, + "original_id": 1392 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1113, + "created_at": 1673118808, + "original_id": 1393 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 1114, + "created_at": 1673118814, + "original_id": 1394 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 1115, + "created_at": 1673118816, + "original_id": 1395 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 1116, + "created_at": 1673118824, + "original_id": 1396 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1117, + "created_at": 1673118831, + "original_id": 1397 + }, + { + "type": "sell_shares", + "entity": 4339, + "entity_type": "player", + "id": 1118, + "created_at": 1673118842, + "shares": [ + "ATSF_2", + "ATSF_7" + ], + "percent": 20, + "original_id": 1398 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 1119, + "created_at": 1673118844, + "shares": [ + "B&O_3" + ], + "percent": 10, + "share_price": false, + "original_id": 1399 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 1120, + "created_at": 1673118883, + "shares": [ + "UP_3" + ], + "percent": 10, + "share_price": false, + "original_id": 1400 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1121, + "created_at": 1673118899, + "shares": [ + "B&O_7" + ], + "percent": 10, + "share_price": false, + "original_id": 1401 + }, + { + "type": "sell_shares", + "entity": 1463, + "entity_type": "player", + "id": 1122, + "created_at": 1673118940, + "shares": [ + "ATSF_3" + ], + "percent": 10, + "original_id": 1402 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 1123, + "created_at": 1673118947, + "shares": [ + "B&O_8" + ], + "percent": 10, + "share_price": false, + "original_id": 1403 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 1124, + "created_at": 1673118982, + "shares": [ + "MP_3" + ], + "percent": 10, + "share_price": false, + "original_id": 1404 + }, + { + "type": "sell_shares", + "entity": 3763, + "entity_type": "player", + "id": 1125, + "created_at": 1673118992, + "shares": [ + "MP_2" + ], + "percent": 10, + "original_id": 1405 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 1126, + "created_at": 1673119002, + "shares": [ + "PRR_2" + ], + "percent": 20, + "share_price": false, + "original_id": 1408 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1127, + "created_at": 1673119015, + "shares": [ + "UP_4" + ], + "percent": 10, + "share_price": false, + "original_id": 1409 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 1128, + "created_at": 1673119025, + "shares": [ + "MP_2" + ], + "percent": 10, + "share_price": false, + "original_id": 1410 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 1129, + "created_at": 1673119035, + "shares": [ + "UP_5" + ], + "percent": 10, + "share_price": false, + "original_id": 1411 + }, + { + "type": "take_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1130, + "created_at": 1673119047, + "loan": 68, + "original_id": 1412 + }, + { + "type": "take_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1131, + "created_at": 1673119056, + "loan": 69, + "original_id": 1413 + }, + { + "type": "take_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1132, + "created_at": 1673119065, + "loan": 0, + "original_id": 1414 + }, + { + "type": "buy_shares", + "entity": "PRR", + "entity_type": "corporation", + "id": 1133, + "created_at": 1673119075, + "shares": [ + "PRR_16", + "PRR_18" + ], + "percent": 40, + "original_id": 1415 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1134, + "created_at": 1673119085, + "shares": [ + "PRR_1" + ], + "percent": 20, + "share_price": false, + "original_id": 1416 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 1135, + "created_at": 1673119100, + "shares": [ + "PRR_20" + ], + "percent": 20, + "share_price": false, + "original_id": 1417 + }, + { + "type": "sell_shares", + "entity": 4339, + "entity_type": "player", + "id": 1136, + "created_at": 1673119134, + "shares": [ + "NYC_3" + ], + "percent": 20, + "original_id": 1418 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 1137, + "created_at": 1673119143, + "shares": [ + "PRR_3" + ], + "percent": 20, + "share_price": false, + "original_id": 1419 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1138, + "created_at": 1673119167, + "original_id": 1420 + }, + { + "type": "short", + "entity": 605, + "entity_type": "player", + "id": 1139, + "created_at": 1673119179, + "corporation": "NYC", + "original_id": 1421 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1140, + "created_at": 1673119182, + "shares": [ + "PRR_10" + ], + "percent": 20, + "share_price": false, + "original_id": 1422 + }, + { + "type": "sell_shares", + "entity": 1463, + "entity_type": "player", + "id": 1141, + "created_at": 1673119199, + "shares": [ + "ATSF_8" + ], + "percent": 10, + "original_id": 1423 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 1142, + "created_at": 1673119203, + "shares": [ + "UP_6" + ], + "percent": 10, + "share_price": false, + "original_id": 1424 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 1143, + "created_at": 1673119215, + "shares": [ + "MP_7" + ], + "percent": 10, + "share_price": false, + "original_id": 1425 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1144, + "created_at": 1673119240, + "original_id": 1426 + }, + { + "type": "short", + "entity": 605, + "entity_type": "player", + "id": 1145, + "created_at": 1673119249, + "corporation": "NYC", + "original_id": 1427 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1146, + "created_at": 1673119253, + "shares": [ + "PRR_12" + ], + "percent": 20, + "share_price": false, + "original_id": 1428 + }, + { + "type": "sell_shares", + "entity": 1463, + "entity_type": "player", + "id": 1147, + "created_at": 1673119279, + "shares": [ + "NYC_2" + ], + "percent": 20, + "original_id": 1429 + }, + { + "type": "buy_shares", + "entity": 1463, + "entity_type": "player", + "id": 1148, + "created_at": 1673119307, + "shares": [ + "UP_7" + ], + "percent": 10, + "share_price": false, + "original_id": 1430 + }, + { + "type": "sell_shares", + "entity": 4339, + "entity_type": "player", + "id": 1149, + "created_at": 1673119323, + "shares": [ + "TP_4" + ], + "percent": 10, + "original_id": 1431 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 1150, + "created_at": 1673119325, + "shares": [ + "MP_8" + ], + "percent": 10, + "share_price": false, + "original_id": 1432 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1151, + "created_at": 1673119331, + "original_id": 1433 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1152, + "created_at": 1673119347, + "shares": [ + "UP_8" + ], + "percent": 10, + "share_price": false, + "original_id": 1434 + }, + { + "type": "take_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1153, + "created_at": 1673119374, + "loan": 1, + "original_id": 1435 + }, + { + "type": "take_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1154, + "created_at": 1673119377, + "loan": 2, + "original_id": 1436 + }, + { + "type": "take_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1155, + "created_at": 1673119379, + "loan": 4, + "original_id": 1437 + }, + { + "type": "buy_shares", + "entity": "TP", + "entity_type": "corporation", + "id": 1156, + "created_at": 1673119410, + "shares": [ + "TP_5", + "TP_6", + "TP_4" + ], + "percent": 30, + "original_id": 1438 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1157, + "created_at": 1673119416, + "original_id": 1439 + }, + { + "type": "program_share_pass", + "entity": 4339, + "entity_type": "player", + "id": 1158, + "created_at": 1673119422, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673119416 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 1440 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1159, + "created_at": 1673119428, + "original_id": 1441 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1160, + "created_at": 1673119443, + "shares": [ + "PRR_16" + ], + "percent": 20, + "share_price": false, + "original_id": 1442 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1161, + "created_at": 1673119454, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673119453 + } + ], + "original_id": 1443 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1162, + "created_at": 1673119462, + "original_id": 1444 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1163, + "created_at": 1673119473, + "shares": [ + "PRR_18" + ], + "percent": 20, + "share_price": false, + "original_id": 1445 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1164, + "created_at": 1673119485, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673119484 + } + ], + "original_id": 1446 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1165, + "created_at": 1673119495, + "original_id": 1447 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1166, + "created_at": 1673119510, + "shares": [ + "TP_7" + ], + "percent": 10, + "share_price": false, + "original_id": 1448 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1167, + "created_at": 1673119529, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673119528 + } + ], + "original_id": 1449 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1168, + "created_at": 1673119536, + "original_id": 1450 + }, + { + "type": "short", + "entity": 605, + "entity_type": "player", + "id": 1169, + "created_at": 1673119546, + "corporation": "NYC", + "original_id": 1451 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1170, + "created_at": 1673119551, + "shares": [ + "TP_8" + ], + "percent": 10, + "share_price": false, + "original_id": 1452 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1171, + "created_at": 1673119557, + "auto_actions": [ + { + "type": "program_disable", + "entity": 4339, + "entity_type": "player", + "created_at": 1673119557, + "reason": "Short bought" + } + ], + "original_id": 1453 + }, + { + "type": "program_share_pass", + "entity": 4339, + "entity_type": "player", + "id": 1172, + "created_at": 1673119565, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673119559 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 1454 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1173, + "created_at": 1673119577, + "original_id": 1455 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1174, + "created_at": 1673119586, + "loan": 5, + "original_id": 1456 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1175, + "created_at": 1673119591, + "loan": 12, + "original_id": 1457 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1176, + "created_at": 1673119594, + "loan": 18, + "original_id": 1458 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1177, + "created_at": 1673119599, + "loan": 9, + "original_id": 1459 + }, + { + "type": "buy_shares", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1178, + "created_at": 1673119604, + "shares": [ + "ATSF_2", + "ATSF_7", + "ATSF_3", + "ATSF_8" + ], + "percent": 40, + "original_id": 1460 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1179, + "created_at": 1673119620, + "auto_actions": [ + { + "type": "program_disable", + "entity": 4339, + "entity_type": "player", + "created_at": 1673119619, + "reason": "ATSF took a loan" + } + ], + "original_id": 1461 + }, + { + "type": "program_share_pass", + "entity": 4339, + "entity_type": "player", + "id": 1180, + "created_at": 1673119665, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673119660 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 1462 + }, + { + "type": "sell_shares", + "entity": 3763, + "entity_type": "player", + "id": 1181, + "created_at": 1673119674, + "shares": [ + "NYC_1" + ], + "percent": 20, + "original_id": 1463 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 1182, + "created_at": 1673119687, + "shares": [ + "ATSF_2" + ], + "percent": 10, + "share_price": false, + "original_id": 1464 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1183, + "created_at": 1673119697, + "shares": [ + "TP_12" + ], + "percent": 10, + "share_price": false, + "original_id": 1465 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1184, + "created_at": 1673119707, + "auto_actions": [ + { + "type": "program_disable", + "entity": 4339, + "entity_type": "player", + "created_at": 1673119706, + "reason": "Shares were sold" + } + ], + "original_id": 1466 + }, + { + "type": "program_share_pass", + "entity": 4339, + "entity_type": "player", + "id": 1185, + "created_at": 1673119748, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673119742 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 1467 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 1186, + "created_at": 1673119758, + "shares": [ + "ATSF_7" + ], + "percent": 10, + "share_price": false, + "original_id": 1468 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1187, + "created_at": 1673119770, + "shares": [ + "TP_5" + ], + "percent": 10, + "share_price": false, + "original_id": 1469 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1188, + "created_at": 1673119783, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673119782 + } + ], + "original_id": 1470 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 1189, + "created_at": 1673119798, + "shares": [ + "TP_6" + ], + "percent": 10, + "share_price": false, + "original_id": 1471 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1190, + "created_at": 1673119814, + "shares": [ + "TP_4" + ], + "percent": 10, + "share_price": false, + "original_id": 1472 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1191, + "created_at": 1673119827, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673119826 + } + ], + "original_id": 1473 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1192, + "created_at": 1673119833, + "original_id": 1474 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 1193, + "created_at": 1673119844, + "original_id": 1475 + }, + { + "type": "lay_tile", + "entity": "P16", + "entity_type": "company", + "id": 1194, + "created_at": 1673119951, + "hex": "D14", + "tile": "X23-0", + "rotation": 0, + "original_id": 1476 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 1195, + "created_at": 1673119961, + "original_id": 1477 + }, + { + "type": "place_token", + "entity": "N&W", + "entity_type": "corporation", + "id": 1196, + "created_at": 1673119963, + "city": "X23-0-0", + "slot": 2, + "tokener": "N&W", + "original_id": 1478 + }, + { + "type": "run_routes", + "entity": "N&W", + "entity_type": "corporation", + "id": 1197, + "created_at": 1673120017, + "routes": [ + { + "train": "5-3", + "connections": [ + [ + "D20", + "D22", + "E23" + ], + [ + "E23", + "E25", + "D24" + ], + [ + "D24", + "D26", + "D28" + ], + [ + "D28", + "C27", + "B26", + "A27" + ] + ], + "hexes": [ + "D20", + "E23", + "D24", + "D28", + "A27" + ], + "revenue": 360, + "revenue_str": "D20-E23-D24-D28-A27", + "nodes": [ + "D20-0", + "E23-0", + "D24-0", + "D28-0", + "A27-0" + ] + }, + { + "train": "4-4", + "connections": [ + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "D20" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "D14", + "E13", + "F14", + "F16", + "G15", + "H16", + "I17", + "I19" + ] + ], + "hexes": [ + "D28", + "D20", + "D14", + "I19" + ], + "revenue": 380, + "revenue_str": "D28-D20-D14-I19", + "nodes": [ + "D28-0", + "D20-0", + "D14-0", + "I19-0" + ] + } + ], + "original_id": 1479 + }, + { + "type": "dividend", + "entity": "N&W", + "entity_type": "corporation", + "id": 1198, + "created_at": 1673120019, + "kind": "payout", + "original_id": 1480 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 1199, + "created_at": 1673120021, + "original_id": 1481 + }, + { + "type": "lay_tile", + "entity": "B&O", + "entity_type": "corporation", + "id": 1200, + "created_at": 1673120045, + "hex": "G19", + "tile": "546-2", + "rotation": 2, + "original_id": 1482 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1201, + "created_at": 1673120048, + "original_id": 1483 + }, + { + "type": "place_token", + "entity": "B&O", + "entity_type": "corporation", + "id": 1202, + "created_at": 1673120061, + "city": "63-5-0", + "slot": 1, + "tokener": "B&O", + "original_id": 1484 + }, + { + "type": "run_routes", + "entity": "B&O", + "entity_type": "corporation", + "id": 1203, + "created_at": 1673120065, + "routes": [ + { + "train": "6-2", + "connections": [ + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "D14", + "C15", + "B16", + "B18", + "B20", + "B22", + "C23" + ], + [ + "C23", + "D22", + "D24" + ], + [ + "D24", + "D26", + "D28" + ], + [ + "D28", + "C29" + ] + ], + "hexes": [ + "D20", + "D14", + "C23", + "D24", + "D28", + "C29" + ], + "revenue": 430, + "revenue_str": "D20-D14-C23-D24-D28-C29", + "nodes": [ + "D20-0", + "D14-0", + "C23-0", + "D24-0", + "D28-0", + "C29-0" + ] + }, + { + "train": "4-0", + "connections": [ + [ + "A27", + "B26", + "C27", + "D28" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "F18" + ], + [ + "F18", + "G19", + "H18", + "I17", + "I19" + ] + ], + "hexes": [ + "A27", + "D28", + "F18", + "I19" + ], + "revenue": 330, + "revenue_str": "A27-D28-F18-I19", + "nodes": [ + "A27-0", + "D28-0", + "F18-0", + "I19-0" + ] + } + ], + "original_id": 1485 + }, + { + "type": "dividend", + "entity": "B&O", + "entity_type": "corporation", + "id": 1204, + "created_at": 1673120066, + "kind": "half", + "original_id": 1486 + }, + { + "type": "payoff_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 1205, + "created_at": 1673120069, + "loan": 36, + "original_id": 1487 + }, + { + "type": "payoff_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 1206, + "created_at": 1673120070, + "loan": 62, + "original_id": 1488 + }, + { + "type": "payoff_loan", + "entity": "B&O", + "entity_type": "corporation", + "id": 1207, + "created_at": 1673120071, + "loan": 64, + "original_id": 1489 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1208, + "created_at": 1673120072, + "original_id": 1490 + }, + { + "type": "lay_tile", + "entity": "NYC", + "entity_type": "corporation", + "id": 1209, + "created_at": 1673120091, + "hex": "D18", + "tile": "60-1", + "rotation": 0, + "original_id": 1491 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 1210, + "created_at": 1673120092, + "original_id": 1492 + }, + { + "type": "take_loan", + "entity": "NYC", + "entity_type": "corporation", + "id": 1211, + "created_at": 1673120101, + "loan": 10, + "original_id": 1493 + }, + { + "type": "buy_train", + "entity": "NYC", + "entity_type": "corporation", + "id": 1212, + "created_at": 1673120102, + "train": "P-1", + "price": 200, + "variant": "P", + "original_id": 1494 + }, + { + "type": "choose", + "entity": "NYC", + "entity_type": "corporation", + "id": 1213, + "created_at": 1673120105, + "choice": "0-0", + "original_id": 1495 + }, + { + "type": "run_routes", + "entity": "NYC", + "entity_type": "corporation", + "id": 1214, + "created_at": 1673120119, + "routes": [ + { + "train": "5-1", + "connections": [ + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H22" + ], + [ + "H22", + "I21", + "I19" + ], + [ + "I19", + "I17", + "H18", + "G19", + "F18" + ], + [ + "F18", + "E19", + "D18", + "C19", + "D20" + ] + ], + "hexes": [ + "D28", + "H22", + "I19", + "F18", + "D20" + ], + "revenue": 520, + "revenue_str": "D28-H22-I19-F18-D20", + "nodes": [ + "D28-0", + "H22-0", + "I19-0", + "F18-0", + "D20-0" + ] + } + ], + "original_id": 1496 + }, + { + "type": "dividend", + "entity": "NYC", + "entity_type": "corporation", + "id": 1215, + "created_at": 1673120139, + "kind": "half", + "original_id": 1497 + }, + { + "type": "pass", + "entity": "NYC", + "entity_type": "corporation", + "id": 1216, + "created_at": 1673120144, + "original_id": 1498 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 1217, + "created_at": 1673120156, + "hex": "C17", + "tile": "63-6", + "rotation": 0, + "original_id": 1499 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1218, + "created_at": 1673120160, + "original_id": 1500 + }, + { + "type": "place_token", + "entity": "MP", + "entity_type": "corporation", + "id": 1219, + "created_at": 1673120162, + "city": "63-6-0", + "slot": 1, + "tokener": "MP", + "original_id": 1501 + }, + { + "type": "run_routes", + "entity": "MP", + "entity_type": "corporation", + "id": 1220, + "created_at": 1673120184, + "routes": [ + { + "train": "4+-0", + "connections": [ + [ + "C29", + "B30", + "B28", + "A27" + ], + [ + "C25", + "B26", + "C27", + "C29" + ], + [ + "D28", + "D26", + "C25" + ] + ], + "hexes": [ + "A27", + "C29", + "C25", + "D28" + ], + "revenue": 270, + "revenue_str": "A27-C29-C25-D28", + "nodes": [ + "C29-0", + "A27-0", + "C25-0", + "D28-0" + ] + }, + { + "train": "6-3", + "connections": [ + [ + "C23", + "D22", + "D20" + ], + [ + "C17", + "B18", + "B20", + "B22", + "C23" + ], + [ + "E17", + "D18", + "C17" + ], + [ + "F18", + "E17" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "F18" + ] + ], + "hexes": [ + "D20", + "C23", + "C17", + "E17", + "F18", + "D28" + ], + "revenue": 400, + "revenue_str": "D20-C23-C17-E17-F18-D28", + "nodes": [ + "C23-0", + "D20-0", + "C17-0", + "E17-0", + "F18-0", + "D28-0" + ] + } + ], + "original_id": 1502 + }, + { + "type": "dividend", + "entity": "MP", + "entity_type": "corporation", + "id": 1221, + "created_at": 1673120186, + "kind": "half", + "original_id": 1503 + }, + { + "type": "payoff_loan", + "entity": "MP", + "entity_type": "corporation", + "id": 1222, + "created_at": 1673120191, + "loan": 42, + "original_id": 1504 + }, + { + "type": "payoff_loan", + "entity": "MP", + "entity_type": "corporation", + "id": 1223, + "created_at": 1673120193, + "loan": 19, + "original_id": 1505 + }, + { + "type": "payoff_loan", + "entity": "MP", + "entity_type": "corporation", + "id": 1224, + "created_at": 1673120194, + "loan": 63, + "original_id": 1506 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1225, + "created_at": 1673120198, + "original_id": 1507 + }, + { + "type": "lay_tile", + "entity": "SR", + "entity_type": "corporation", + "id": 1226, + "created_at": 1673120205, + "hex": "E13", + "tile": "82-0", + "rotation": 2, + "original_id": 1508 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1227, + "created_at": 1673120208, + "original_id": 1509 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1228, + "created_at": 1673120211, + "original_id": 1510 + }, + { + "type": "run_routes", + "entity": "SR", + "entity_type": "corporation", + "id": 1229, + "created_at": 1673120219, + "routes": [ + { + "train": "4-6", + "connections": [ + [ + "F20", + "F22", + "G23", + "F24", + "E25", + "E27", + "D28" + ], + [ + "F18", + "E19", + "F20" + ], + [ + "I19", + "I17", + "H18", + "G19", + "F18" + ] + ], + "hexes": [ + "D28", + "F20", + "F18", + "I19" + ], + "revenue": 310, + "revenue_str": "D28-F20-F18-I19", + "nodes": [ + "F20-0", + "D28-0", + "F18-0", + "I19-0" + ] + } + ], + "original_id": 1511 + }, + { + "type": "dividend", + "entity": "SR", + "entity_type": "corporation", + "id": 1230, + "created_at": 1673120222, + "kind": "half", + "original_id": 1512 + }, + { + "type": "buy_train", + "entity": "SR", + "entity_type": "corporation", + "id": 1231, + "created_at": 1673120237, + "train": "6-3", + "price": 155, + "original_id": 1513 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1232, + "created_at": 1673120263, + "original_id": 1514 + }, + { + "type": "lay_tile", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1233, + "created_at": 1673120424, + "hex": "I23", + "tile": "546-3", + "rotation": 5, + "original_id": 1518 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1234, + "created_at": 1673120427, + "original_id": 1519 + }, + { + "type": "run_routes", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1235, + "created_at": 1673120521, + "routes": [ + { + "train": "5-2", + "connections": [ + [ + "D20", + "D22", + "C23" + ], + [ + "C23", + "C25" + ], + [ + "C25", + "D26", + "D28" + ], + [ + "D28", + "C27", + "B26", + "A27" + ] + ], + "hexes": [ + "D20", + "C23", + "C25", + "D28", + "A27" + ], + "revenue": 360, + "revenue_str": "D20-C23-C25-D28-A27", + "nodes": [ + "D20-0", + "C23-0", + "C25-0", + "D28-0", + "A27-0" + ] + }, + { + "train": "4-2", + "connections": [ + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "D20" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "D14", + "E13", + "F14", + "F16", + "G15", + "H16", + "I17", + "I19" + ] + ], + "hexes": [ + "D28", + "D20", + "D14", + "I19" + ], + "revenue": 380, + "revenue_str": "D28-D20-D14-I19", + "nodes": [ + "D28-0", + "D20-0", + "D14-0", + "I19-0" + ] + } + ], + "original_id": 1520 + }, + { + "type": "dividend", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1236, + "created_at": 1673120552, + "kind": "withhold", + "original_id": 1528 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1237, + "created_at": 1673120553, + "loan": 26, + "original_id": 1529 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1238, + "created_at": 1673120555, + "loan": 27, + "original_id": 1530 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1239, + "created_at": 1673120556, + "loan": 43, + "original_id": 1531 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1240, + "created_at": 1673120558, + "loan": 48, + "original_id": 1532 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1241, + "created_at": 1673120559, + "loan": 49, + "original_id": 1533 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1242, + "created_at": 1673120561, + "loan": 65, + "original_id": 1534 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1243, + "created_at": 1673120562, + "original_id": 1535 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 1244, + "created_at": 1673120590, + "hex": "I25", + "tile": "15-5", + "rotation": 0, + "original_id": 1538 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 1245, + "created_at": 1673120592, + "original_id": 1539 + }, + { + "type": "choose", + "entity": "PRR", + "entity_type": "corporation", + "id": 1246, + "created_at": 1673120631, + "choice": "0-0", + "original_id": 1540 + }, + { + "type": "run_routes", + "entity": "PRR", + "entity_type": "corporation", + "id": 1247, + "created_at": 1673120649, + "routes": [ + { + "train": "4-1", + "connections": [ + [ + "I5", + "H4", + "H6", + "H8" + ], + [ + "H8", + "H10", + "H12", + "G13", + "G15", + "H16", + "I17", + "H18", + "G19", + "F18" + ], + [ + "F18", + "E19", + "D18", + "C19", + "D20" + ] + ], + "hexes": [ + "I5", + "H8", + "F18", + "D20" + ], + "revenue": 300, + "revenue_str": "I5-H8-F18-D20", + "nodes": [ + "I5-0", + "H8-0", + "F18-0", + "D20-0" + ] + }, + { + "train": "4-5", + "connections": [ + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H24", + "I25" + ], + [ + "I25", + "J24" + ], + [ + "J24", + "I23", + "H22" + ], + [ + "H22", + "I21", + "I19" + ] + ], + "hexes": [ + "D28", + "I25", + "J24", + "H22", + "I19" + ], + "revenue": 340, + "revenue_str": "D28-I25-J24-H22-I19", + "nodes": [ + "D28-0", + "I25-0", + "J24-0", + "H22-0", + "I19-0" + ] + } + ], + "original_id": 1541 + }, + { + "type": "dividend", + "entity": "PRR", + "entity_type": "corporation", + "id": 1248, + "created_at": 1673120654, + "kind": "payout", + "original_id": 1542 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1249, + "created_at": 1673120657, + "loan": 8, + "original_id": 1543 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1250, + "created_at": 1673120659, + "loan": 29, + "original_id": 1544 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1251, + "created_at": 1673120660, + "loan": 30, + "original_id": 1545 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1252, + "created_at": 1673120661, + "loan": 68, + "original_id": 1546 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 1253, + "created_at": 1673120665, + "original_id": 1547 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 1254, + "created_at": 1673120688, + "hex": "G21", + "tile": "8-10", + "rotation": 5, + "original_id": 1548 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1255, + "created_at": 1673120693, + "original_id": 1549 + }, + { + "type": "place_token", + "entity": "UP", + "entity_type": "corporation", + "id": 1256, + "created_at": 1673120699, + "city": "63-6-0", + "slot": 1, + "tokener": "UP", + "original_id": 1550 + }, + { + "type": "run_routes", + "entity": "UP", + "entity_type": "corporation", + "id": 1257, + "created_at": 1673120765, + "routes": [ + { + "train": "6-1", + "connections": [ + [ + "C17", + "D18", + "C19", + "D20" + ], + [ + "C17", + "B18", + "B20", + "B22", + "C23" + ], + [ + "C23", + "D22", + "D24" + ], + [ + "D24", + "D26", + "D28" + ], + [ + "D28", + "C27", + "B26", + "A27" + ] + ], + "hexes": [ + "D20", + "C17", + "C23", + "D24", + "D28", + "A27" + ], + "revenue": 430, + "revenue_str": "D20-C17-C23-D24-D28-A27", + "nodes": [ + "C17-0", + "D20-0", + "C23-0", + "D24-0", + "D28-0", + "A27-0" + ] + }, + { + "train": "4-3", + "connections": [ + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H22" + ], + [ + "H22", + "G21", + "G19", + "H18", + "I17", + "H16", + "G15", + "G13", + "H12", + "H10", + "H8" + ], + [ + "H8", + "H6", + "H4", + "I5" + ] + ], + "hexes": [ + "D28", + "H22", + "H8", + "I5" + ], + "revenue": 340, + "revenue_str": "D28-H22-H8-I5", + "nodes": [ + "D28-0", + "H22-0", + "H8-0", + "I5-0" + ] + } + ], + "original_id": 1551 + }, + { + "type": "dividend", + "entity": "UP", + "entity_type": "corporation", + "id": 1258, + "created_at": 1673120768, + "kind": "half", + "original_id": 1552 + }, + { + "type": "payoff_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1259, + "created_at": 1673120771, + "loan": 37, + "original_id": 1553 + }, + { + "type": "payoff_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1260, + "created_at": 1673120772, + "loan": 38, + "original_id": 1554 + }, + { + "type": "payoff_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1261, + "created_at": 1673120774, + "loan": 39, + "original_id": 1555 + }, + { + "type": "payoff_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1262, + "created_at": 1673120776, + "loan": 57, + "original_id": 1556 + }, + { + "type": "payoff_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1263, + "created_at": 1673120777, + "loan": 58, + "original_id": 1557 + }, + { + "type": "payoff_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1264, + "created_at": 1673120779, + "loan": 66, + "original_id": 1558 + }, + { + "type": "payoff_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1265, + "created_at": 1673120780, + "loan": 67, + "original_id": 1559 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1266, + "created_at": 1673120782, + "original_id": 1560 + }, + { + "type": "lay_tile", + "entity": "TP", + "entity_type": "corporation", + "id": 1267, + "created_at": 1673120801, + "hex": "C15", + "tile": "82-2", + "rotation": 0, + "original_id": 1561 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1268, + "created_at": 1673120803, + "original_id": 1562 + }, + { + "type": "choose", + "entity": "TP", + "entity_type": "corporation", + "id": 1269, + "created_at": 1673120806, + "choice": "0-0", + "original_id": 1563 + }, + { + "type": "run_routes", + "entity": "TP", + "entity_type": "corporation", + "id": 1270, + "created_at": 1673120821, + "routes": [ + { + "train": "5-4", + "connections": [ + [ + "I19", + "I21", + "H22" + ], + [ + "E17", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "E19", + "E17" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "D20" + ] + ], + "hexes": [ + "H22", + "I19", + "E17", + "D20", + "D28" + ], + "revenue": 530, + "revenue_str": "H22-I19-E17-D20-D28", + "nodes": [ + "I19-0", + "H22-0", + "E17-0", + "D20-0", + "D28-0" + ] + } + ], + "original_id": 1564 + }, + { + "type": "dividend", + "entity": "TP", + "entity_type": "corporation", + "id": 1271, + "created_at": 1673120825, + "kind": "half", + "original_id": 1565 + }, + { + "type": "payoff_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1272, + "created_at": 1673120828, + "loan": 15, + "original_id": 1566 + }, + { + "type": "payoff_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1273, + "created_at": 1673120830, + "loan": 53, + "original_id": 1567 + }, + { + "type": "payoff_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1274, + "created_at": 1673120832, + "loan": 54, + "original_id": 1568 + }, + { + "type": "payoff_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1275, + "created_at": 1673120833, + "loan": 55, + "original_id": 1569 + }, + { + "type": "payoff_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1276, + "created_at": 1673120835, + "loan": 56, + "original_id": 1570 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1277, + "created_at": 1673120839, + "original_id": 1571 + }, + { + "type": "merge", + "entity": "PRR", + "entity_type": "corporation", + "id": 1278, + "created_at": 1673120849, + "corporation": "NYC", + "original_id": 1572 + }, + { + "type": "discard_train", + "entity": "PRR", + "entity_type": "corporation", + "id": 1279, + "created_at": 1673120957, + "train": "4-5", + "original_id": 1582 + }, + { + "type": "discard_train", + "entity": "PRR", + "entity_type": "corporation", + "id": 1280, + "created_at": 1673120958, + "train": "4-1", + "original_id": 1583 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "id": 1281, + "created_at": 1673120969, + "original_id": 1584 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 1282, + "created_at": 1673120982, + "original_id": 1585 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1283, + "created_at": 1673120993, + "original_id": 1586 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1284, + "created_at": 1673120995, + "original_id": 1588 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1285, + "created_at": 1673121000, + "original_id": 1589 + }, + { + "type": "program_merger_pass", + "entity": 4339, + "entity_type": "player", + "id": 1286, + "created_at": 1673121013, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673121007 + } + ], + "corporations_by_round": { + "AR": [ + "B&O", + "N&W" + ], + "MR": [ + "B&O", + "N&W" + ] + }, + "options": [ + + ], + "original_id": 1590 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1287, + "created_at": 1673121030, + "original_id": 1594 + }, + { + "type": "lay_tile", + "entity": "B&O", + "entity_type": "corporation", + "id": 1288, + "created_at": 1673121065, + "hex": "D22", + "tile": "X17-0", + "rotation": 3, + "original_id": 1596 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1289, + "created_at": 1673121067, + "original_id": 1597 + }, + { + "type": "place_token", + "entity": "B&O", + "entity_type": "corporation", + "id": 1290, + "created_at": 1673121072, + "city": "597-0-0", + "slot": 1, + "tokener": "B&O", + "original_id": 1598 + }, + { + "type": "run_routes", + "entity": "B&O", + "entity_type": "corporation", + "id": 1291, + "created_at": 1673121077, + "routes": [ + { + "train": "6-2", + "connections": [ + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "D14", + "C15", + "B16", + "B18", + "B20", + "B22", + "C23" + ], + [ + "C23", + "D22", + "D24" + ], + [ + "D24", + "D26", + "D28" + ], + [ + "D28", + "C29" + ] + ], + "hexes": [ + "D20", + "D14", + "C23", + "D24", + "D28", + "C29" + ], + "revenue": 430, + "revenue_str": "D20-D14-C23-D24-D28-C29", + "nodes": [ + "D20-0", + "D14-0", + "C23-0", + "D24-0", + "D28-0", + "C29-0" + ] + }, + { + "train": "4-0", + "connections": [ + [ + "A27", + "B26", + "C27", + "D28" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "F18" + ], + [ + "F18", + "G19", + "H18", + "I17", + "I19" + ] + ], + "hexes": [ + "A27", + "D28", + "F18", + "I19" + ], + "revenue": 330, + "revenue_str": "A27-D28-F18-I19", + "nodes": [ + "A27-0", + "D28-0", + "F18-0", + "I19-0" + ] + } + ], + "original_id": 1599 + }, + { + "type": "dividend", + "entity": "B&O", + "entity_type": "corporation", + "id": 1292, + "created_at": 1673121099, + "kind": "half", + "original_id": 1603 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1293, + "created_at": 1673121100, + "original_id": 1604 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 1294, + "created_at": 1673121125, + "hex": "D12", + "tile": "8-11", + "rotation": 3, + "original_id": 1605 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1295, + "created_at": 1673121127, + "original_id": 1606 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1296, + "created_at": 1673121131, + "original_id": 1607 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1297, + "created_at": 1673121133, + "original_id": 1608 + }, + { + "type": "run_routes", + "entity": "MP", + "entity_type": "corporation", + "id": 1298, + "created_at": 1673121149, + "routes": [ + { + "train": "4+-0", + "connections": [ + [ + "E17", + "D18", + "C19", + "D20" + ], + [ + "F18", + "E17" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "F18" + ] + ], + "hexes": [ + "D20", + "E17", + "F18", + "D28" + ], + "revenue": 320, + "revenue_str": "D20-E17-F18-D28", + "nodes": [ + "E17-0", + "D20-0", + "F18-0", + "D28-0" + ] + } + ], + "original_id": 1609 + }, + { + "type": "dividend", + "entity": "MP", + "entity_type": "corporation", + "id": 1299, + "created_at": 1673121155, + "kind": "half", + "original_id": 1610 + }, + { + "type": "buy_train", + "entity": "MP", + "entity_type": "corporation", + "id": 1300, + "created_at": 1673121159, + "train": "8-0", + "price": 1100, + "variant": "8", + "original_id": 1611 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1301, + "created_at": 1673121179, + "original_id": 1613 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1302, + "created_at": 1673121187, + "original_id": 1614 + }, + { + "type": "lay_tile", + "entity": "N&W", + "entity_type": "corporation", + "id": 1303, + "created_at": 1673121213, + "hex": "I25", + "tile": "448-1", + "rotation": 0, + "original_id": 1615 + }, + { + "type": "lay_tile", + "entity": "N&W", + "entity_type": "corporation", + "id": 1304, + "created_at": 1673121217, + "hex": "H26", + "tile": "9-11", + "rotation": 0, + "original_id": 1616 + }, + { + "type": "place_token", + "entity": "N&W", + "entity_type": "corporation", + "id": 1305, + "created_at": 1673121226, + "city": "448-1-0", + "slot": 1, + "tokener": "N&W", + "original_id": 1618 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 1306, + "created_at": 1673121232, + "original_id": 1619 + }, + { + "type": "run_routes", + "entity": "N&W", + "entity_type": "corporation", + "id": 1307, + "created_at": 1673121303, + "routes": [ + { + "train": "5-3", + "connections": [ + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "F20", + "E19", + "D20" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "F20" + ], + [ + "A27", + "B26", + "C27", + "D28" + ] + ], + "hexes": [ + "D14", + "D20", + "F20", + "D28", + "A27" + ], + "revenue": 430, + "revenue_str": "D14-D20-F20-D28-A27", + "nodes": [ + "D20-0", + "D14-0", + "F20-0", + "D28-0", + "A27-0" + ] + } + ], + "original_id": 1622 + }, + { + "type": "dividend", + "entity": "N&W", + "entity_type": "corporation", + "id": 1308, + "created_at": 1673121305, + "kind": "payout", + "original_id": 1623 + }, + { + "type": "buy_train", + "entity": "N&W", + "entity_type": "corporation", + "id": 1309, + "created_at": 1673121307, + "train": "8-1", + "price": 1100, + "variant": "8", + "original_id": 1624 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 1310, + "created_at": 1673121309, + "original_id": 1625 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 1311, + "created_at": 1673121455, + "hex": "D12", + "tile": "81-2", + "rotation": 1, + "original_id": 1633 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 1312, + "created_at": 1673121532, + "hex": "C13", + "tile": "8-12", + "rotation": 4, + "original_id": 1640 + }, + { + "type": "take_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1313, + "created_at": 1673121534, + "loan": 16, + "original_id": 1641 + }, + { + "type": "take_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1314, + "created_at": 1673121535, + "loan": 17, + "original_id": 1642 + }, + { + "type": "buy_train", + "entity": "UP", + "entity_type": "corporation", + "id": 1315, + "created_at": 1673121537, + "train": "P-2", + "price": 200, + "variant": "P", + "original_id": 1643 + }, + { + "type": "choose", + "entity": "UP", + "entity_type": "corporation", + "id": 1316, + "created_at": 1673121540, + "choice": "0-0", + "original_id": 1644 + }, + { + "type": "run_routes", + "entity": "UP", + "entity_type": "corporation", + "id": 1317, + "created_at": 1673121562, + "routes": [ + { + "train": "6-1", + "connections": [ + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H24", + "I23", + "I21", + "H22" + ], + [ + "D24", + "D26", + "D28" + ], + [ + "C23", + "D22", + "D24" + ], + [ + "H8", + "H10", + "H12", + "G13", + "G15", + "F16", + "F14", + "E13", + "D12", + "C13", + "C15", + "B16", + "B18", + "B20", + "B22", + "C23" + ], + [ + "I5", + "H4", + "H6", + "H8" + ] + ], + "hexes": [ + "H22", + "D28", + "D24", + "C23", + "H8", + "I5" + ], + "revenue": 570, + "revenue_str": "H22-D28-D24-C23-H8-I5", + "nodes": [ + "D28-0", + "H22-0", + "D24-0", + "C23-0", + "H8-0", + "I5-0" + ] + } + ], + "original_id": 1645 + }, + { + "type": "dividend", + "entity": "UP", + "entity_type": "corporation", + "id": 1318, + "created_at": 1673121568, + "kind": "half", + "original_id": 1646 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1319, + "created_at": 1673121570, + "original_id": 1647 + }, + { + "type": "lay_tile", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1320, + "created_at": 1673121585, + "hex": "D10", + "tile": "8-13", + "rotation": 4, + "original_id": 1648 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1321, + "created_at": 1673121588, + "original_id": 1649 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1322, + "created_at": 1673121590, + "loan": 14, + "original_id": 1650 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1323, + "created_at": 1673121591, + "loan": 13, + "original_id": 1651 + }, + { + "type": "buy_train", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1324, + "created_at": 1673121593, + "train": "P-3", + "price": 200, + "variant": "P", + "original_id": 1652 + }, + { + "type": "choose", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1325, + "created_at": 1673121595, + "choice": "0-0", + "original_id": 1653 + }, + { + "type": "run_routes", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1326, + "created_at": 1673121642, + "routes": [ + { + "train": "5-2", + "connections": [ + [ + "D28", + "C27", + "B26", + "A27" + ], + [ + "I19", + "I21", + "I23", + "H24", + "G23", + "F24", + "E25", + "E27", + "D28" + ], + [ + "D14", + "E13", + "F14", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "A27", + "D28", + "I19", + "D14", + "D20" + ], + "revenue": 550, + "revenue_str": "A27-D28-I19-D14-D20", + "nodes": [ + "D28-0", + "A27-0", + "I19-0", + "D14-0", + "D20-0" + ] + } + ], + "original_id": 1654 + }, + { + "type": "dividend", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1327, + "created_at": 1673121646, + "kind": "half", + "original_id": 1655 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1328, + "created_at": 1673121648, + "original_id": 1656 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1329, + "created_at": 1673121662, + "original_id": 1657 + }, + { + "type": "choose", + "entity": "TP", + "entity_type": "corporation", + "id": 1330, + "created_at": 1673121665, + "choice": "0-0", + "original_id": 1658 + }, + { + "type": "run_routes", + "entity": "TP", + "entity_type": "corporation", + "id": 1331, + "created_at": 1673121667, + "routes": [ + { + "train": "5-4", + "connections": [ + [ + "I19", + "I21", + "H22" + ], + [ + "E17", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "E19", + "E17" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "D20" + ] + ], + "hexes": [ + "H22", + "I19", + "E17", + "D20", + "D28" + ], + "revenue": 530, + "revenue_str": "H22-I19-E17-D20-D28", + "nodes": [ + "I19-0", + "H22-0", + "E17-0", + "D20-0", + "D28-0" + ] + } + ], + "original_id": 1659 + }, + { + "type": "dividend", + "entity": "TP", + "entity_type": "corporation", + "id": 1332, + "created_at": 1673121669, + "kind": "half", + "original_id": 1660 + }, + { + "type": "payoff_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1333, + "created_at": 1673121678, + "loan": 59, + "original_id": 1662 + }, + { + "type": "payoff_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1334, + "created_at": 1673121679, + "loan": 1, + "original_id": 1663 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1335, + "created_at": 1673121684, + "original_id": 1664 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 1336, + "created_at": 1673121700, + "hex": "G9", + "tile": "8-3", + "rotation": 0, + "original_id": 1666 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 1337, + "created_at": 1673121724, + "hex": "F8", + "tile": "9coal-1", + "rotation": 2, + "original_id": 1668 + }, + { + "type": "place_token", + "entity": "PRR", + "entity_type": "corporation", + "id": 1338, + "created_at": 1673121741, + "city": "448-1-0", + "slot": 1, + "tokener": "PRR", + "original_id": 1669 + }, + { + "type": "choose", + "entity": "PRR", + "entity_type": "corporation", + "id": 1339, + "created_at": 1673121744, + "choice": "0-1", + "original_id": 1670 + }, + { + "type": "run_routes", + "entity": "PRR", + "entity_type": "corporation", + "id": 1340, + "created_at": 1673121771, + "routes": [ + { + "train": "5-1", + "connections": [ + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H22" + ], + [ + "H22", + "I21", + "I19" + ], + [ + "I19", + "I17", + "H18", + "G19", + "F18" + ], + [ + "F18", + "E19", + "D18", + "C19", + "D20" + ] + ], + "hexes": [ + "D28", + "H22", + "I19", + "F18", + "D20" + ], + "revenue": 520, + "revenue_str": "D28-H22-I19-F18-D20", + "nodes": [ + "D28-0", + "H22-0", + "I19-0", + "F18-0", + "D20-0" + ] + } + ], + "original_id": 1671 + }, + { + "type": "dividend", + "entity": "PRR", + "entity_type": "corporation", + "id": 1341, + "created_at": 1673121786, + "kind": "payout", + "original_id": 1672 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1342, + "created_at": 1673121791, + "loan": 69, + "original_id": 1673 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1343, + "created_at": 1673121793, + "loan": 0, + "original_id": 1674 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 1344, + "created_at": 1673121801, + "original_id": 1675 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1345, + "created_at": 1673121811, + "original_id": 1676 + }, + { + "type": "take_loan", + "entity": "SR", + "entity_type": "corporation", + "id": 1346, + "created_at": 1673121889, + "loan": 11, + "original_id": 1683 + }, + { + "type": "take_loan", + "entity": "SR", + "entity_type": "corporation", + "id": 1347, + "created_at": 1673121890, + "loan": 21, + "original_id": 1684 + }, + { + "type": "buy_train", + "entity": "SR", + "entity_type": "corporation", + "id": 1348, + "created_at": 1673121892, + "train": "P-4", + "price": 200, + "variant": "P", + "original_id": 1685 + }, + { + "type": "choose", + "entity": "SR", + "entity_type": "corporation", + "id": 1349, + "created_at": 1673121905, + "choice": "0-0", + "original_id": 1686 + }, + { + "type": "run_routes", + "entity": "SR", + "entity_type": "corporation", + "id": 1350, + "created_at": 1673121907, + "routes": [ + { + "train": "6-3", + "connections": [ + [ + "C25", + "B26", + "A27" + ], + [ + "C23", + "C25" + ], + [ + "F18", + "G19", + "H18", + "I17", + "H16", + "G15", + "F16", + "F14", + "E13", + "D12", + "C13", + "C15", + "B16", + "B18", + "B20", + "B22", + "C23" + ], + [ + "F20", + "F18" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "F20" + ] + ], + "hexes": [ + "A27", + "C25", + "C23", + "F18", + "F20", + "D28" + ], + "revenue": 530, + "revenue_str": "A27-C25-C23-F18-F20-D28", + "nodes": [ + "C25-0", + "A27-0", + "C23-0", + "F18-0", + "F20-0", + "D28-0" + ] + } + ], + "original_id": 1687 + }, + { + "type": "dividend", + "entity": "SR", + "entity_type": "corporation", + "id": 1351, + "created_at": 1673121911, + "kind": "half", + "original_id": 1688 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1352, + "created_at": 1673121928, + "original_id": 1689 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1353, + "created_at": 1673121933, + "original_id": 1690 + }, + { + "type": "program_merger_pass", + "entity": 4339, + "entity_type": "player", + "id": 1354, + "created_at": 1673121961, + "corporations_by_round": { + "AR": [ + "B&O", + "N&W" + ], + "MR": [ + "B&O", + "N&W" + ] + }, + "options": [ + + ], + "original_id": 1691 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 1355, + "user": 4339, + "created_at": 1673121970, + "original_id": 1692 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1356, + "created_at": 1673121988, + "original_id": 1693 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 1357, + "created_at": 1673122011, + "shares": [ + "ATSF_3" + ], + "percent": 10, + "share_price": false, + "original_id": 1694 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 1358, + "created_at": 1673122036, + "shares": [ + "ATSF_8" + ], + "percent": 10, + "share_price": false, + "original_id": 1695 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1359, + "user": 3763, + "created_at": 1673122042, + "shares": [ + "PRR_6" + ], + "percent": 10, + "share_price": false, + "original_id": 1696 + }, + { + "type": "program_share_pass", + "entity": 1463, + "entity_type": "player", + "id": 1360, + "created_at": 1673122056, + "auto_actions": [ + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "created_at": 1673122055 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 1697 + }, + { + "type": "buy_shares", + "entity": 4339, + "entity_type": "player", + "id": 1361, + "created_at": 1673122064, + "shares": [ + "PRR_7" + ], + "percent": 10, + "share_price": false, + "original_id": 1698 + }, + { + "type": "buy_shares", + "entity": 3763, + "entity_type": "player", + "id": 1362, + "created_at": 1673122074, + "shares": [ + "PRR_8" + ], + "percent": 10, + "share_price": false, + "original_id": 1699 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1363, + "user": 3763, + "created_at": 1673122076, + "auto_actions": [ + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "created_at": 1673122074 + } + ], + "shares": [ + "PRR_20" + ], + "percent": 10, + "share_price": false, + "original_id": 1700 + }, + { + "type": "program_share_pass", + "entity": 4339, + "entity_type": "player", + "id": 1364, + "created_at": 1673122085, + "auto_actions": [ + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673122080 + } + ], + "unconditional": false, + "indefinite": false, + "original_id": 1701 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1365, + "created_at": 1673122103, + "original_id": 1702 + }, + { + "type": "buy_shares", + "entity": 605, + "entity_type": "player", + "id": 1366, + "user": 3763, + "created_at": 1673122106, + "auto_actions": [ + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "created_at": 1673122104 + }, + { + "type": "pass", + "entity": 4339, + "entity_type": "player", + "created_at": 1673122104 + } + ], + "shares": [ + "PRR_22" + ], + "percent": 10, + "share_price": false, + "original_id": 1703 + }, + { + "type": "pass", + "entity": 3763, + "entity_type": "player", + "id": 1367, + "created_at": 1673122110, + "original_id": 1704 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "id": 1368, + "user": 3763, + "created_at": 1673122116, + "original_id": 1705 + }, + { + "type": "lay_tile", + "entity": "B&O", + "entity_type": "corporation", + "id": 1369, + "created_at": 1673122136, + "hex": "E21", + "tile": "60-2", + "rotation": 0, + "original_id": 1706 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1370, + "created_at": 1673122140, + "original_id": 1707 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1371, + "created_at": 1673122142, + "original_id": 1708 + }, + { + "type": "run_routes", + "entity": "B&O", + "entity_type": "corporation", + "id": 1372, + "created_at": 1673122143, + "routes": [ + { + "train": "6-2", + "connections": [ + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "D14", + "C15", + "B16", + "B18", + "B20", + "B22", + "C23" + ], + [ + "C23", + "D22", + "D24" + ], + [ + "D24", + "D26", + "D28" + ], + [ + "D28", + "C29" + ] + ], + "hexes": [ + "D20", + "D14", + "C23", + "D24", + "D28", + "C29" + ], + "revenue": 430, + "revenue_str": "D20-D14-C23-D24-D28-C29", + "nodes": [ + "D20-0", + "D14-0", + "C23-0", + "D24-0", + "D28-0", + "C29-0" + ] + } + ], + "original_id": 1709 + }, + { + "type": "dividend", + "entity": "B&O", + "entity_type": "corporation", + "id": 1373, + "created_at": 1673122152, + "kind": "payout", + "original_id": 1710 + }, + { + "type": "buy_train", + "entity": "B&O", + "entity_type": "corporation", + "id": 1374, + "created_at": 1673122154, + "train": "8-3", + "price": 1100, + "variant": "8", + "original_id": 1711 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1375, + "created_at": 1673122156, + "original_id": 1712 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 1376, + "created_at": 1673122176, + "hex": "E15", + "tile": "14-1", + "rotation": 0, + "original_id": 1713 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 1377, + "created_at": 1673122179, + "hex": "E13", + "tile": "545-2", + "rotation": 2, + "original_id": 1714 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1378, + "created_at": 1673122183, + "original_id": 1715 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1379, + "created_at": 1673122188, + "original_id": 1716 + }, + { + "type": "run_routes", + "entity": "MP", + "entity_type": "corporation", + "id": 1380, + "created_at": 1673122297, + "routes": [ + { + "train": "4+-0", + "connections": [ + [ + "C25", + "D26", + "D28" + ], + [ + "C29", + "C27", + "B26", + "C25" + ], + [ + "A27", + "B28", + "B30", + "C29" + ] + ], + "hexes": [ + "D28", + "C25", + "C29", + "A27" + ], + "revenue": 270, + "revenue_str": "D28-C25-C29-A27", + "nodes": [ + "C25-0", + "D28-0", + "C29-0", + "A27-0" + ] + }, + { + "train": "8-0", + "connections": [ + [ + "C23", + "D22", + "E21", + "D20" + ], + [ + "C17", + "B18", + "B20", + "B22", + "C23" + ], + [ + "E17", + "D18", + "C17" + ], + [ + "F18", + "E17" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "F18" + ] + ], + "hexes": [ + "D20", + "C23", + "C17", + "E17", + "F18", + "D28" + ], + "revenue": 400, + "revenue_str": "D20-C23-C17-E17-F18-D28", + "nodes": [ + "C23-0", + "D20-0", + "C17-0", + "E17-0", + "F18-0", + "D28-0" + ] + } + ], + "original_id": 1717 + }, + { + "type": "dividend", + "entity": "MP", + "entity_type": "corporation", + "id": 1381, + "created_at": 1673122298, + "kind": "payout", + "original_id": 1718 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1382, + "created_at": 1673122303, + "original_id": 1719 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1383, + "created_at": 1673122308, + "original_id": 1720 + }, + { + "type": "lay_tile", + "entity": "N&W", + "entity_type": "corporation", + "id": 1384, + "created_at": 1673122318, + "hex": "E25", + "tile": "60coal-0", + "rotation": 0, + "original_id": 1721 + }, + { + "type": "lay_tile", + "entity": "N&W", + "entity_type": "corporation", + "id": 1385, + "created_at": 1673122323, + "hex": "F26", + "tile": "14-0", + "rotation": 2, + "original_id": 1722 + }, + { + "type": "run_routes", + "entity": "N&W", + "entity_type": "corporation", + "id": 1386, + "created_at": 1673122603, + "routes": [ + { + "train": "5-3", + "connections": [ + [ + "D28", + "C29" + ], + [ + "I25", + "H24", + "G23", + "F24", + "E25", + "E27", + "D28" + ], + [ + "J24", + "I25" + ], + [ + "H22", + "I23", + "J24" + ] + ], + "hexes": [ + "C29", + "D28", + "I25", + "J24", + "H22" + ], + "revenue": 310, + "revenue_str": "C29-D28-I25-J24-H22", + "nodes": [ + "D28-0", + "C29-0", + "I25-0", + "J24-0", + "H22-0" + ] + }, + { + "train": "8-1", + "connections": [ + [ + "D14", + "E13", + "F14", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "F20", + "E19", + "D20" + ], + [ + "E23", + "F22", + "F20" + ], + [ + "D24", + "E25", + "E23" + ], + [ + "D28", + "D26", + "D24" + ], + [ + "A27", + "B26", + "C27", + "D28" + ] + ], + "hexes": [ + "I19", + "D14", + "D20", + "F20", + "E23", + "D24", + "D28", + "A27" + ], + "revenue": 600, + "revenue_str": "I19-D14-D20-F20-E23-D24-D28-A27", + "nodes": [ + "D14-0", + "I19-0", + "D20-0", + "F20-0", + "E23-0", + "D24-0", + "D28-0", + "A27-0" + ] + } + ], + "original_id": 1726 + }, + { + "type": "dividend", + "entity": "N&W", + "entity_type": "corporation", + "id": 1387, + "created_at": 1673122606, + "kind": "payout", + "original_id": 1727 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 1388, + "created_at": 1673122608, + "original_id": 1728 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1389, + "created_at": 1673122633, + "original_id": 1729 + }, + { + "type": "choose", + "entity": "TP", + "entity_type": "corporation", + "id": 1390, + "created_at": 1673122636, + "choice": "0-0", + "original_id": 1730 + }, + { + "type": "run_routes", + "entity": "TP", + "entity_type": "corporation", + "id": 1391, + "created_at": 1673122638, + "routes": [ + { + "train": "5-4", + "connections": [ + [ + "I19", + "I21", + "H22" + ], + [ + "E17", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "E19", + "E17" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "D20" + ] + ], + "hexes": [ + "H22", + "I19", + "E17", + "D20", + "D28" + ], + "revenue": 530, + "revenue_str": "H22-I19-E17-D20-D28", + "nodes": [ + "I19-0", + "H22-0", + "E17-0", + "D20-0", + "D28-0" + ] + } + ], + "original_id": 1731 + }, + { + "type": "take_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1392, + "created_at": 1673122652, + "loan": 22, + "original_id": 1732 + }, + { + "type": "dividend", + "entity": "TP", + "entity_type": "corporation", + "id": 1393, + "created_at": 1673122659, + "kind": "half", + "original_id": 1733 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1394, + "created_at": 1673122667, + "original_id": 1734 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 1395, + "created_at": 1673122677, + "hex": "H4", + "tile": "83oil-0", + "rotation": 5, + "original_id": 1735 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 1396, + "created_at": 1673122683, + "hex": "G3", + "tile": "15-4", + "rotation": 2, + "original_id": 1736 + }, + { + "type": "choose", + "entity": "PRR", + "entity_type": "corporation", + "id": 1397, + "created_at": 1673122687, + "choice": "0-1", + "original_id": 1737 + }, + { + "type": "run_routes", + "entity": "PRR", + "entity_type": "corporation", + "id": 1398, + "created_at": 1673122700, + "routes": [ + { + "train": "5-1", + "connections": [ + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H22" + ], + [ + "H22", + "I21", + "I19" + ], + [ + "I19", + "I17", + "H16", + "G15", + "G13", + "H12", + "H10", + "H8" + ], + [ + "H8", + "H6", + "H4", + "I5" + ] + ], + "hexes": [ + "D28", + "H22", + "I19", + "H8", + "I5" + ], + "revenue": 520, + "revenue_str": "D28-H22-I19-H8-I5", + "nodes": [ + "D28-0", + "H22-0", + "I19-0", + "H8-0", + "I5-0" + ] + } + ], + "original_id": 1738 + }, + { + "type": "dividend", + "entity": "PRR", + "entity_type": "corporation", + "id": 1399, + "created_at": 1673122703, + "kind": "payout", + "original_id": 1739 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 1400, + "created_at": 1673122705, + "original_id": 1740 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 1401, + "user": 3763, + "created_at": 1673122718, + "hex": "G3", + "tile": "448-2", + "rotation": 2, + "original_id": 1741 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 1402, + "user": 3763, + "created_at": 1673122722, + "hex": "F2", + "tile": "9-12", + "rotation": 2, + "original_id": 1742 + }, + { + "type": "choose", + "entity": "UP", + "entity_type": "corporation", + "id": 1403, + "user": 3763, + "created_at": 1673122725, + "choice": "0-0", + "original_id": 1743 + }, + { + "type": "run_routes", + "entity": "UP", + "entity_type": "corporation", + "id": 1404, + "user": 3763, + "created_at": 1673122780, + "routes": [ + { + "train": "6-1", + "connections": [ + [ + "G3", + "F2", + "E1" + ], + [ + "H8", + "H6", + "H4", + "G3" + ], + [ + "C23", + "B22", + "B20", + "B18", + "B16", + "C15", + "C13", + "D12", + "E13", + "F14", + "F16", + "G15", + "G13", + "H12", + "H10", + "H8" + ], + [ + "C25", + "C23" + ], + [ + "D28", + "D26", + "C25" + ] + ], + "hexes": [ + "E1", + "G3", + "H8", + "C23", + "C25", + "D28" + ], + "revenue": 540, + "revenue_str": "E1-G3-H8-C23-C25-D28", + "nodes": [ + "G3-0", + "E1-0", + "H8-0", + "C23-0", + "C25-0", + "D28-0" + ] + } + ], + "original_id": 1744 + }, + { + "type": "dividend", + "entity": "UP", + "entity_type": "corporation", + "id": 1405, + "user": 3763, + "created_at": 1673122781, + "kind": "payout", + "original_id": 1745 + }, + { + "type": "payoff_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1406, + "user": 3763, + "created_at": 1673122783, + "loan": 16, + "original_id": 1746 + }, + { + "type": "payoff_loan", + "entity": "UP", + "entity_type": "corporation", + "id": 1407, + "user": 3763, + "created_at": 1673122785, + "loan": 17, + "original_id": 1747 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1408, + "user": 3763, + "created_at": 1673122786, + "original_id": 1748 + }, + { + "type": "lay_tile", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1409, + "user": 3763, + "created_at": 1673122805, + "hex": "G21", + "tile": "82-6", + "rotation": 4, + "original_id": 1749 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1410, + "user": 3763, + "created_at": 1673122809, + "original_id": 1750 + }, + { + "type": "choose", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1411, + "user": 3763, + "created_at": 1673122843, + "choice": "0-0", + "original_id": 1751 + }, + { + "type": "run_routes", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1412, + "user": 3763, + "created_at": 1673122853, + "routes": [ + { + "train": "5-2", + "connections": [ + [ + "D28", + "C27", + "B26", + "A27" + ], + [ + "I19", + "I21", + "I23", + "H24", + "G23", + "F24", + "E25", + "E27", + "D28" + ], + [ + "D14", + "E13", + "F14", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "A27", + "D28", + "I19", + "D14", + "D20" + ], + "revenue": 550, + "revenue_str": "A27-D28-I19-D14-D20", + "nodes": [ + "D28-0", + "A27-0", + "I19-0", + "D14-0", + "D20-0" + ] + } + ], + "original_id": 1752 + }, + { + "type": "dividend", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1413, + "user": 3763, + "created_at": 1673122855, + "kind": "payout", + "original_id": 1753 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1414, + "user": 3763, + "created_at": 1673122857, + "loan": 5, + "original_id": 1754 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1415, + "user": 3763, + "created_at": 1673122858, + "loan": 12, + "original_id": 1755 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1416, + "user": 3763, + "created_at": 1673122861, + "loan": 18, + "original_id": 1756 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1417, + "user": 3763, + "created_at": 1673122862, + "loan": 9, + "original_id": 1757 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1418, + "user": 3763, + "created_at": 1673122864, + "loan": 14, + "original_id": 1758 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1419, + "user": 3763, + "created_at": 1673122866, + "original_id": 1759 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1420, + "created_at": 1673122882, + "original_id": 1760 + }, + { + "type": "choose", + "entity": "SR", + "entity_type": "corporation", + "id": 1421, + "created_at": 1673122884, + "choice": "0-0", + "original_id": 1761 + }, + { + "type": "run_routes", + "entity": "SR", + "entity_type": "corporation", + "id": 1422, + "created_at": 1673122888, + "routes": [ + { + "train": "6-3", + "connections": [ + [ + "C25", + "B26", + "A27" + ], + [ + "C23", + "C25" + ], + [ + "F18", + "G19", + "H18", + "I17", + "H16", + "G15", + "F16", + "F14", + "E13", + "D12", + "C13", + "C15", + "B16", + "B18", + "B20", + "B22", + "C23" + ], + [ + "F20", + "F18" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "F20" + ] + ], + "hexes": [ + "A27", + "C25", + "C23", + "F18", + "F20", + "D28" + ], + "revenue": 530, + "revenue_str": "A27-C25-C23-F18-F20-D28", + "nodes": [ + "C25-0", + "A27-0", + "C23-0", + "F18-0", + "F20-0", + "D28-0" + ] + } + ], + "original_id": 1762 + }, + { + "type": "dividend", + "entity": "SR", + "entity_type": "corporation", + "id": 1423, + "created_at": 1673122890, + "kind": "payout", + "original_id": 1763 + }, + { + "type": "payoff_loan", + "entity": "SR", + "entity_type": "corporation", + "id": 1424, + "created_at": 1673122891, + "loan": 11, + "original_id": 1764 + }, + { + "type": "payoff_loan", + "entity": "SR", + "entity_type": "corporation", + "id": 1425, + "created_at": 1673122893, + "loan": 21, + "original_id": 1765 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1426, + "created_at": 1673122895, + "original_id": 1766 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1427, + "created_at": 1673122899, + "original_id": 1767 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1428, + "created_at": 1673122901, + "original_id": 1768 + }, + { + "type": "lay_tile", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1429, + "user": 3763, + "created_at": 1673122962, + "hex": "G23", + "tile": "60-3", + "rotation": 0, + "original_id": 1775 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1430, + "user": 3763, + "created_at": 1673122965, + "original_id": 1776 + }, + { + "type": "choose", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1431, + "user": 3763, + "created_at": 1673122968, + "choice": "0-0", + "original_id": 1777 + }, + { + "type": "run_routes", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1432, + "user": 3763, + "created_at": 1673122971, + "routes": [ + { + "train": "5-2", + "connections": [ + [ + "D28", + "C27", + "B26", + "A27" + ], + [ + "I19", + "I21", + "I23", + "H24", + "G23", + "F24", + "E25", + "E27", + "D28" + ], + [ + "D14", + "E13", + "F14", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "A27", + "D28", + "I19", + "D14", + "D20" + ], + "revenue": 550, + "revenue_str": "A27-D28-I19-D14-D20", + "nodes": [ + "D28-0", + "A27-0", + "I19-0", + "D14-0", + "D20-0" + ] + } + ], + "original_id": 1778 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1433, + "user": 3763, + "created_at": 1673122974, + "loan": 31, + "original_id": 1779 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1434, + "user": 3763, + "created_at": 1673122977, + "loan": 32, + "original_id": 1780 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1435, + "user": 3763, + "created_at": 1673122978, + "loan": 33, + "original_id": 1781 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1436, + "user": 3763, + "created_at": 1673122980, + "loan": 23, + "original_id": 1782 + }, + { + "type": "take_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1437, + "user": 3763, + "created_at": 1673122981, + "loan": 44, + "original_id": 1783 + }, + { + "type": "dividend", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1438, + "user": 3763, + "created_at": 1673122986, + "kind": "payout", + "original_id": 1784 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1439, + "user": 3763, + "created_at": 1673122989, + "original_id": 1785 + }, + { + "type": "lay_tile", + "entity": "B&O", + "entity_type": "corporation", + "id": 1440, + "created_at": 1673123006, + "hex": "G27", + "tile": "15-2", + "rotation": 0, + "original_id": 1786 + }, + { + "type": "lay_tile", + "entity": "B&O", + "entity_type": "corporation", + "id": 1441, + "created_at": 1673123009, + "hex": "F26", + "tile": "611-0", + "rotation": 5, + "original_id": 1787 + }, + { + "type": "run_routes", + "entity": "B&O", + "entity_type": "corporation", + "id": 1442, + "created_at": 1673123157, + "routes": [ + { + "train": "6-2", + "connections": [ + [ + "F18", + "E19", + "D18", + "C19", + "D20" + ], + [ + "H22", + "G21", + "G19", + "F18" + ], + [ + "D24", + "D22", + "E21", + "F22", + "G23", + "H22" + ], + [ + "D28", + "E27", + "E25", + "D24" + ], + [ + "C29", + "D28" + ] + ], + "hexes": [ + "D20", + "F18", + "H22", + "D24", + "D28", + "C29" + ], + "revenue": 440, + "revenue_str": "D20-F18-H22-D24-D28-C29", + "nodes": [ + "F18-0", + "D20-0", + "H22-0", + "D24-0", + "D28-0", + "C29-0" + ] + }, + { + "train": "8-3", + "connections": [ + [ + "H22", + "I21", + "I19" + ], + [ + "H20", + "H22" + ], + [ + "D14", + "E13", + "F14", + "F16", + "G15", + "H16", + "I17", + "H18", + "H20" + ], + [ + "C23", + "B22", + "B20", + "B18", + "B16", + "C15", + "D14" + ], + [ + "C25", + "C23" + ], + [ + "D28", + "D26", + "C25" + ], + [ + "D28", + "C27", + "B26", + "A27" + ] + ], + "hexes": [ + "I19", + "H22", + "H20", + "D14", + "C23", + "C25", + "D28", + "A27" + ], + "revenue": 540, + "revenue_str": "I19-H22-H20-D14-C23-C25-D28-A27", + "nodes": [ + "H22-0", + "I19-0", + "H20-0", + "D14-0", + "C23-0", + "C25-0", + "D28-0", + "A27-0" + ] + } + ], + "original_id": 1788 + }, + { + "type": "dividend", + "entity": "B&O", + "entity_type": "corporation", + "id": 1443, + "created_at": 1673123159, + "kind": "payout", + "original_id": 1789 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1444, + "created_at": 1673123161, + "original_id": 1790 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 1445, + "created_at": 1673123211, + "hex": "H10", + "tile": "82-7", + "rotation": 1, + "original_id": 1795 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1446, + "created_at": 1673123218, + "original_id": 1796 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1447, + "created_at": 1673123221, + "original_id": 1797 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1448, + "created_at": 1673123223, + "original_id": 1798 + }, + { + "type": "run_routes", + "entity": "MP", + "entity_type": "corporation", + "id": 1449, + "created_at": 1673123269, + "routes": [ + { + "train": "8-0", + "connections": [ + [ + "C29", + "B30", + "B28", + "A27" + ], + [ + "C25", + "B26", + "C27", + "C29" + ], + [ + "C23", + "C25" + ], + [ + "C17", + "B18", + "B20", + "B22", + "C23" + ], + [ + "E17", + "D18", + "C17" + ], + [ + "F18", + "E17" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "F18" + ] + ], + "hexes": [ + "A27", + "C29", + "C25", + "C23", + "C17", + "E17", + "F18", + "D28" + ], + "revenue": 490, + "revenue_str": "A27-C29-C25-C23-C17-E17-F18-D28", + "nodes": [ + "C29-0", + "A27-0", + "C25-0", + "C23-0", + "C17-0", + "E17-0", + "F18-0", + "D28-0" + ] + } + ], + "original_id": 1799 + }, + { + "type": "dividend", + "entity": "MP", + "entity_type": "corporation", + "id": 1450, + "created_at": 1673123272, + "kind": "payout", + "original_id": 1800 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1451, + "created_at": 1673123278, + "original_id": 1801 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1452, + "created_at": 1673123281, + "original_id": 1802 + }, + { + "type": "lay_tile", + "entity": "N&W", + "entity_type": "corporation", + "id": 1453, + "created_at": 1673123304, + "hex": "E27", + "tile": "82-8", + "rotation": 0, + "original_id": 1803 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 1454, + "created_at": 1673123307, + "original_id": 1804 + }, + { + "type": "run_routes", + "entity": "N&W", + "entity_type": "corporation", + "id": 1455, + "created_at": 1673123309, + "routes": [ + { + "train": "5-3", + "connections": [ + [ + "D28", + "C29" + ], + [ + "I25", + "H24", + "G23", + "F24", + "E25", + "E27", + "D28" + ], + [ + "J24", + "I25" + ], + [ + "H22", + "I23", + "J24" + ] + ], + "hexes": [ + "C29", + "D28", + "I25", + "J24", + "H22" + ], + "revenue": 310, + "revenue_str": "C29-D28-I25-J24-H22", + "nodes": [ + "D28-0", + "C29-0", + "I25-0", + "J24-0", + "H22-0" + ] + }, + { + "train": "8-1", + "connections": [ + [ + "D14", + "E13", + "F14", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "F20", + "E19", + "D20" + ], + [ + "E23", + "F22", + "F20" + ], + [ + "D24", + "E25", + "E23" + ], + [ + "D28", + "D26", + "D24" + ], + [ + "A27", + "B26", + "C27", + "D28" + ] + ], + "hexes": [ + "I19", + "D14", + "D20", + "F20", + "E23", + "D24", + "D28", + "A27" + ], + "revenue": 600, + "revenue_str": "I19-D14-D20-F20-E23-D24-D28-A27", + "nodes": [ + "D14-0", + "I19-0", + "D20-0", + "F20-0", + "E23-0", + "D24-0", + "D28-0", + "A27-0" + ] + } + ], + "original_id": 1805 + }, + { + "type": "dividend", + "entity": "N&W", + "entity_type": "corporation", + "id": 1456, + "created_at": 1673123310, + "kind": "payout", + "original_id": 1806 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 1457, + "created_at": 1673123312, + "original_id": 1807 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 1458, + "user": 3763, + "created_at": 1673123343, + "hex": "E7", + "tile": "14-3", + "rotation": 1, + "original_id": 1808 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1459, + "user": 3763, + "created_at": 1673123348, + "original_id": 1809 + }, + { + "type": "choose", + "entity": "UP", + "entity_type": "corporation", + "id": 1460, + "user": 3763, + "created_at": 1673123350, + "choice": "0-0", + "original_id": 1810 + }, + { + "type": "run_routes", + "entity": "UP", + "entity_type": "corporation", + "id": 1461, + "user": 3763, + "created_at": 1673123360, + "routes": [ + { + "train": "6-1", + "connections": [ + [ + "G3", + "F2", + "E1" + ], + [ + "H8", + "H6", + "H4", + "G3" + ], + [ + "C23", + "B22", + "B20", + "B18", + "B16", + "C15", + "C13", + "D12", + "E13", + "F14", + "F16", + "G15", + "G13", + "H12", + "H10", + "H8" + ], + [ + "C25", + "C23" + ], + [ + "D28", + "D26", + "C25" + ] + ], + "hexes": [ + "E1", + "G3", + "H8", + "C23", + "C25", + "D28" + ], + "revenue": 540, + "revenue_str": "E1-G3-H8-C23-C25-D28", + "nodes": [ + "G3-0", + "E1-0", + "H8-0", + "C23-0", + "C25-0", + "D28-0" + ] + } + ], + "original_id": 1811 + }, + { + "type": "dividend", + "entity": "UP", + "entity_type": "corporation", + "id": 1462, + "user": 3763, + "created_at": 1673123362, + "kind": "payout", + "original_id": 1812 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1463, + "user": 3763, + "created_at": 1673123367, + "original_id": 1813 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 1464, + "created_at": 1673123375, + "hex": "E7", + "tile": "63-1", + "rotation": 0, + "original_id": 1814 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 1465, + "created_at": 1673123380, + "original_id": 1815 + }, + { + "type": "choose", + "entity": "PRR", + "entity_type": "corporation", + "id": 1466, + "created_at": 1673123382, + "choice": "0-1", + "original_id": 1816 + }, + { + "type": "run_routes", + "entity": "PRR", + "entity_type": "corporation", + "id": 1467, + "created_at": 1673123384, + "routes": [ + { + "train": "5-1", + "connections": [ + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H22" + ], + [ + "H22", + "I21", + "I19" + ], + [ + "I19", + "I17", + "H16", + "G15", + "G13", + "H12", + "H10", + "H8" + ], + [ + "H8", + "H6", + "H4", + "I5" + ] + ], + "hexes": [ + "D28", + "H22", + "I19", + "H8", + "I5" + ], + "revenue": 520, + "revenue_str": "D28-H22-I19-H8-I5", + "nodes": [ + "D28-0", + "H22-0", + "I19-0", + "H8-0", + "I5-0" + ] + } + ], + "original_id": 1817 + }, + { + "type": "take_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1468, + "created_at": 1673123389, + "loan": 45, + "original_id": 1818 + }, + { + "type": "take_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1469, + "created_at": 1673123391, + "loan": 46, + "original_id": 1819 + }, + { + "type": "dividend", + "entity": "PRR", + "entity_type": "corporation", + "id": 1470, + "created_at": 1673123393, + "kind": "payout", + "original_id": 1820 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 1471, + "created_at": 1673123394, + "original_id": 1821 + }, + { + "type": "lay_tile", + "entity": "TP", + "entity_type": "corporation", + "id": 1472, + "created_at": 1673123414, + "hex": "E9", + "tile": "9-8", + "rotation": 0, + "original_id": 1822 + }, + { + "type": "lay_tile", + "entity": "TP", + "entity_type": "corporation", + "id": 1473, + "created_at": 1673123418, + "hex": "F8", + "tile": "82coal-1", + "rotation": 2, + "original_id": 1823 + }, + { + "type": "choose", + "entity": "TP", + "entity_type": "corporation", + "id": 1474, + "created_at": 1673123425, + "choice": "0-0", + "original_id": 1824 + }, + { + "type": "run_routes", + "entity": "TP", + "entity_type": "corporation", + "id": 1475, + "created_at": 1673123428, + "routes": [ + { + "train": "5-4", + "connections": [ + [ + "I19", + "I21", + "H22" + ], + [ + "E17", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "E19", + "E17" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "D20" + ] + ], + "hexes": [ + "H22", + "I19", + "E17", + "D20", + "D28" + ], + "revenue": 530, + "revenue_str": "H22-I19-E17-D20-D28", + "nodes": [ + "I19-0", + "H22-0", + "E17-0", + "D20-0", + "D28-0" + ] + } + ], + "original_id": 1825 + }, + { + "type": "dividend", + "entity": "TP", + "entity_type": "corporation", + "id": 1476, + "created_at": 1673123434, + "kind": "payout", + "original_id": 1826 + }, + { + "type": "payoff_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1477, + "created_at": 1673123448, + "loan": 2, + "original_id": 1827 + }, + { + "type": "payoff_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1478, + "created_at": 1673123453, + "loan": 4, + "original_id": 1828 + }, + { + "type": "payoff_loan", + "entity": "TP", + "entity_type": "corporation", + "id": 1479, + "created_at": 1673123455, + "loan": 22, + "original_id": 1829 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1480, + "created_at": 1673123463, + "original_id": 1830 + }, + { + "type": "lay_tile", + "entity": "SR", + "entity_type": "corporation", + "id": 1481, + "created_at": 1673123470, + "hex": "G9", + "tile": "82-9", + "rotation": 5, + "original_id": 1831 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1482, + "created_at": 1673123472, + "original_id": 1832 + }, + { + "type": "choose", + "entity": "SR", + "entity_type": "corporation", + "id": 1483, + "created_at": 1673123489, + "choice": "0-0", + "original_id": 1833 + }, + { + "type": "run_routes", + "entity": "SR", + "entity_type": "corporation", + "id": 1484, + "created_at": 1673123492, + "routes": [ + { + "train": "6-3", + "connections": [ + [ + "C25", + "B26", + "A27" + ], + [ + "C23", + "C25" + ], + [ + "F18", + "G19", + "H18", + "I17", + "H16", + "G15", + "G13", + "H12", + "H10", + "G9", + "F8", + "E9", + "D10", + "D12", + "C13", + "C15", + "B16", + "B18", + "B20", + "B22", + "C23" + ], + [ + "F20", + "F18" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "F20" + ] + ], + "hexes": [ + "A27", + "C25", + "C23", + "F18", + "F20", + "D28" + ], + "revenue": 540, + "revenue_str": "A27-C25-C23-F18-F20-D28", + "nodes": [ + "C25-0", + "A27-0", + "C23-0", + "F18-0", + "F20-0", + "D28-0" + ] + } + ], + "original_id": 1834 + }, + { + "type": "dividend", + "entity": "SR", + "entity_type": "corporation", + "id": 1485, + "created_at": 1673123494, + "kind": "payout", + "original_id": 1835 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1486, + "created_at": 1673123497, + "original_id": 1836 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1487, + "created_at": 1673123499, + "original_id": 1837 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1488, + "created_at": 1673123501, + "original_id": 1838 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1489, + "created_at": 1673123510, + "original_id": 1839 + }, + { + "type": "run_routes", + "entity": "B&O", + "entity_type": "corporation", + "id": 1490, + "created_at": 1673123512, + "routes": [ + { + "train": "6-2", + "connections": [ + [ + "F18", + "E19", + "D18", + "C19", + "D20" + ], + [ + "H22", + "G21", + "G19", + "F18" + ], + [ + "D24", + "D22", + "E21", + "F22", + "G23", + "H22" + ], + [ + "D28", + "E27", + "E25", + "D24" + ], + [ + "C29", + "D28" + ] + ], + "hexes": [ + "D20", + "F18", + "H22", + "D24", + "D28", + "C29" + ], + "revenue": 440, + "revenue_str": "D20-F18-H22-D24-D28-C29", + "nodes": [ + "F18-0", + "D20-0", + "H22-0", + "D24-0", + "D28-0", + "C29-0" + ] + }, + { + "train": "8-3", + "connections": [ + [ + "H22", + "I21", + "I19" + ], + [ + "H20", + "H22" + ], + [ + "D14", + "E13", + "F14", + "F16", + "G15", + "H16", + "I17", + "H18", + "H20" + ], + [ + "C23", + "B22", + "B20", + "B18", + "B16", + "C15", + "D14" + ], + [ + "C25", + "C23" + ], + [ + "D28", + "D26", + "C25" + ], + [ + "D28", + "C27", + "B26", + "A27" + ] + ], + "hexes": [ + "I19", + "H22", + "H20", + "D14", + "C23", + "C25", + "D28", + "A27" + ], + "revenue": 540, + "revenue_str": "I19-H22-H20-D14-C23-C25-D28-A27", + "nodes": [ + "H22-0", + "I19-0", + "H20-0", + "D14-0", + "C23-0", + "C25-0", + "D28-0", + "A27-0" + ] + } + ], + "original_id": 1840 + }, + { + "type": "dividend", + "entity": "B&O", + "entity_type": "corporation", + "id": 1491, + "created_at": 1673123514, + "kind": "payout", + "original_id": 1841 + }, + { + "type": "pass", + "entity": "B&O", + "entity_type": "corporation", + "id": 1492, + "created_at": 1673123516, + "original_id": 1842 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 1493, + "created_at": 1673123518, + "original_id": 1843 + }, + { + "type": "run_routes", + "entity": "N&W", + "entity_type": "corporation", + "id": 1494, + "created_at": 1673123519, + "routes": [ + { + "train": "5-3", + "connections": [ + [ + "D28", + "C29" + ], + [ + "I25", + "H24", + "G23", + "F24", + "E25", + "E27", + "D28" + ], + [ + "J24", + "I25" + ], + [ + "H22", + "I23", + "J24" + ] + ], + "hexes": [ + "C29", + "D28", + "I25", + "J24", + "H22" + ], + "revenue": 310, + "revenue_str": "C29-D28-I25-J24-H22", + "nodes": [ + "D28-0", + "C29-0", + "I25-0", + "J24-0", + "H22-0" + ] + }, + { + "train": "8-1", + "connections": [ + [ + "D14", + "E13", + "F14", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ], + [ + "F20", + "E19", + "D20" + ], + [ + "E23", + "F22", + "F20" + ], + [ + "D24", + "E25", + "E23" + ], + [ + "D28", + "D26", + "D24" + ], + [ + "A27", + "B26", + "C27", + "D28" + ] + ], + "hexes": [ + "I19", + "D14", + "D20", + "F20", + "E23", + "D24", + "D28", + "A27" + ], + "revenue": 600, + "revenue_str": "I19-D14-D20-F20-E23-D24-D28-A27", + "nodes": [ + "D14-0", + "I19-0", + "D20-0", + "F20-0", + "E23-0", + "D24-0", + "D28-0", + "A27-0" + ] + } + ], + "original_id": 1844 + }, + { + "type": "dividend", + "entity": "N&W", + "entity_type": "corporation", + "id": 1495, + "created_at": 1673123521, + "kind": "payout", + "original_id": 1845 + }, + { + "type": "pass", + "entity": "N&W", + "entity_type": "corporation", + "id": 1496, + "created_at": 1673123523, + "original_id": 1846 + }, + { + "type": "lay_tile", + "entity": "MP", + "entity_type": "corporation", + "id": 1497, + "created_at": 1673123574, + "hex": "B16", + "tile": "80-2", + "rotation": 4, + "original_id": 1851 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1498, + "created_at": 1673123575, + "original_id": 1852 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1499, + "created_at": 1673123577, + "original_id": 1853 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1500, + "created_at": 1673123579, + "original_id": 1854 + }, + { + "type": "run_routes", + "entity": "MP", + "entity_type": "corporation", + "id": 1501, + "created_at": 1673123599, + "routes": [ + { + "train": "8-0", + "connections": [ + [ + "C29", + "B30", + "B28", + "A27" + ], + [ + "C25", + "B26", + "C27", + "C29" + ], + [ + "C23", + "C25" + ], + [ + "C17", + "B18", + "B20", + "B22", + "C23" + ], + [ + "E17", + "F16", + "G15", + "G13", + "H12", + "H10", + "G9", + "F8", + "E9", + "D10", + "D12", + "C13", + "C15", + "B16", + "C17" + ], + [ + "F18", + "E17" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "E19", + "F18" + ] + ], + "hexes": [ + "A27", + "C29", + "C25", + "C23", + "C17", + "E17", + "F18", + "D28" + ], + "revenue": 500, + "revenue_str": "A27-C29-C25-C23-C17-E17-F18-D28", + "nodes": [ + "C29-0", + "A27-0", + "C25-0", + "C23-0", + "C17-0", + "E17-0", + "F18-0", + "D28-0" + ] + } + ], + "original_id": 1855 + }, + { + "type": "dividend", + "entity": "MP", + "entity_type": "corporation", + "id": 1502, + "created_at": 1673123602, + "kind": "payout", + "original_id": 1856 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1503, + "created_at": 1673123603, + "original_id": 1857 + }, + { + "type": "pass", + "entity": "MP", + "entity_type": "corporation", + "id": 1504, + "created_at": 1673123605, + "original_id": 1858 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1505, + "created_at": 1673123609, + "original_id": 1859 + }, + { + "type": "choose", + "entity": "TP", + "entity_type": "corporation", + "id": 1506, + "created_at": 1673123682, + "choice": "0-0", + "original_id": 1860 + }, + { + "type": "run_routes", + "entity": "TP", + "entity_type": "corporation", + "id": 1507, + "created_at": 1673123683, + "routes": [ + { + "train": "5-4", + "connections": [ + [ + "I19", + "I21", + "H22" + ], + [ + "E17", + "F16", + "F14", + "E13", + "D12", + "D10", + "E9", + "F8", + "G9", + "H10", + "H12", + "G13", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "E17" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "E21", + "D20" + ] + ], + "hexes": [ + "H22", + "I19", + "E17", + "D20", + "D28" + ], + "revenue": 540, + "revenue_str": "H22-I19-E17-D20-D28", + "nodes": [ + "I19-0", + "H22-0", + "E17-0", + "D20-0", + "D28-0" + ] + } + ], + "original_id": 1861 + }, + { + "type": "dividend", + "entity": "TP", + "entity_type": "corporation", + "id": 1508, + "created_at": 1673123685, + "kind": "payout", + "original_id": 1862 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1509, + "created_at": 1673123687, + "original_id": 1863 + }, + { + "type": "lay_tile", + "entity": "UP", + "entity_type": "corporation", + "id": 1510, + "user": 3763, + "created_at": 1673123726, + "hex": "E5", + "tile": "9-6", + "rotation": 1, + "original_id": 1864 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1511, + "user": 3763, + "created_at": 1673123729, + "original_id": 1865 + }, + { + "type": "choose", + "entity": "UP", + "entity_type": "corporation", + "id": 1512, + "user": 3763, + "created_at": 1673123731, + "choice": "0-0", + "original_id": 1866 + }, + { + "type": "run_routes", + "entity": "UP", + "entity_type": "corporation", + "id": 1513, + "user": 3763, + "created_at": 1673123735, + "routes": [ + { + "train": "6-1", + "connections": [ + [ + "G3", + "F2", + "E1" + ], + [ + "H8", + "H6", + "H4", + "G3" + ], + [ + "C23", + "B22", + "B20", + "B18", + "B16", + "C15", + "C13", + "D12", + "E13", + "F14", + "F16", + "G15", + "G13", + "H12", + "H10", + "H8" + ], + [ + "C25", + "C23" + ], + [ + "D28", + "D26", + "C25" + ] + ], + "hexes": [ + "E1", + "G3", + "H8", + "C23", + "C25", + "D28" + ], + "revenue": 540, + "revenue_str": "E1-G3-H8-C23-C25-D28", + "nodes": [ + "G3-0", + "E1-0", + "H8-0", + "C23-0", + "C25-0", + "D28-0" + ] + } + ], + "original_id": 1867 + }, + { + "type": "dividend", + "entity": "UP", + "entity_type": "corporation", + "id": 1514, + "user": 3763, + "created_at": 1673123739, + "kind": "payout", + "original_id": 1868 + }, + { + "type": "pass", + "entity": "UP", + "entity_type": "corporation", + "id": 1515, + "user": 3763, + "created_at": 1673123744, + "original_id": 1869 + }, + { + "type": "lay_tile", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1516, + "user": 3763, + "created_at": 1673123831, + "hex": "E3", + "tile": "15-3", + "rotation": 1, + "original_id": 1897 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1517, + "user": 3763, + "created_at": 1673123833, + "original_id": 1898 + }, + { + "type": "choose", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1518, + "user": 3763, + "created_at": 1673123835, + "choice": "0-0", + "original_id": 1899 + }, + { + "type": "run_routes", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1519, + "user": 3763, + "created_at": 1673123837, + "routes": [ + { + "train": "5-2", + "connections": [ + [ + "D28", + "C27", + "B26", + "A27" + ], + [ + "I19", + "I21", + "I23", + "H24", + "G23", + "F24", + "E25", + "E27", + "D28" + ], + [ + "D14", + "E13", + "F14", + "F16", + "G15", + "H16", + "I17", + "I19" + ], + [ + "D20", + "C19", + "D18", + "D16", + "D14" + ] + ], + "hexes": [ + "A27", + "D28", + "I19", + "D14", + "D20" + ], + "revenue": 550, + "revenue_str": "A27-D28-I19-D14-D20", + "nodes": [ + "D28-0", + "A27-0", + "I19-0", + "D14-0", + "D20-0" + ] + } + ], + "original_id": 1900 + }, + { + "type": "dividend", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1520, + "user": 3763, + "created_at": 1673123839, + "kind": "payout", + "original_id": 1901 + }, + { + "type": "scrap_train", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1521, + "user": 3763, + "created_at": 1673123841, + "train": "P-3", + "original_id": 1902 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1522, + "user": 3763, + "created_at": 1673123843, + "loan": 13, + "original_id": 1903 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1523, + "user": 3763, + "created_at": 1673123845, + "loan": 31, + "original_id": 1904 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1524, + "user": 3763, + "created_at": 1673123847, + "loan": 32, + "original_id": 1905 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1525, + "user": 3763, + "created_at": 1673123848, + "loan": 33, + "original_id": 1906 + }, + { + "type": "payoff_loan", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1526, + "user": 3763, + "created_at": 1673123850, + "loan": 23, + "original_id": 1907 + }, + { + "type": "pass", + "entity": "ATSF", + "entity_type": "corporation", + "id": 1527, + "user": 3763, + "created_at": 1673123857, + "original_id": 1910 + }, + { + "type": "lay_tile", + "entity": "PRR", + "entity_type": "corporation", + "id": 1528, + "created_at": 1673123865, + "hex": "E3", + "tile": "63-7", + "rotation": 0, + "original_id": 1911 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 1529, + "created_at": 1673123868, + "original_id": 1912 + }, + { + "type": "choose", + "entity": "PRR", + "entity_type": "corporation", + "id": 1530, + "created_at": 1673123870, + "choice": "0-1", + "original_id": 1913 + }, + { + "type": "run_routes", + "entity": "PRR", + "entity_type": "corporation", + "id": 1531, + "created_at": 1673123872, + "routes": [ + { + "train": "5-1", + "connections": [ + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "H22" + ], + [ + "H22", + "I21", + "I19" + ], + [ + "I19", + "I17", + "H16", + "G15", + "G13", + "H12", + "H10", + "H8" + ], + [ + "H8", + "H6", + "H4", + "I5" + ] + ], + "hexes": [ + "D28", + "H22", + "I19", + "H8", + "I5" + ], + "revenue": 520, + "revenue_str": "D28-H22-I19-H8-I5", + "nodes": [ + "D28-0", + "H22-0", + "I19-0", + "H8-0", + "I5-0" + ] + } + ], + "original_id": 1914 + }, + { + "type": "dividend", + "entity": "PRR", + "entity_type": "corporation", + "id": 1532, + "created_at": 1673123877, + "kind": "half", + "original_id": 1915 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1533, + "created_at": 1673123881, + "loan": 10, + "original_id": 1916 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1534, + "created_at": 1673123883, + "loan": 45, + "original_id": 1917 + }, + { + "type": "payoff_loan", + "entity": "PRR", + "entity_type": "corporation", + "id": 1535, + "created_at": 1673123884, + "loan": 46, + "original_id": 1918 + }, + { + "type": "pass", + "entity": "PRR", + "entity_type": "corporation", + "id": 1536, + "created_at": 1673123886, + "original_id": 1919 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1537, + "created_at": 1673123902, + "original_id": 1920 + }, + { + "type": "choose", + "entity": "SR", + "entity_type": "corporation", + "id": 1538, + "created_at": 1673123906, + "choice": "0-0", + "original_id": 1921 + }, + { + "type": "run_routes", + "entity": "SR", + "entity_type": "corporation", + "id": 1539, + "created_at": 1673123908, + "routes": [ + { + "train": "6-3", + "connections": [ + [ + "C25", + "B26", + "A27" + ], + [ + "C23", + "C25" + ], + [ + "F18", + "G19", + "H18", + "I17", + "H16", + "G15", + "G13", + "H12", + "H10", + "G9", + "F8", + "E9", + "D10", + "D12", + "C13", + "C15", + "B16", + "B18", + "B20", + "B22", + "C23" + ], + [ + "F20", + "F18" + ], + [ + "D28", + "E27", + "E25", + "F24", + "G23", + "F22", + "F20" + ] + ], + "hexes": [ + "A27", + "C25", + "C23", + "F18", + "F20", + "D28" + ], + "revenue": 540, + "revenue_str": "A27-C25-C23-F18-F20-D28", + "nodes": [ + "C25-0", + "A27-0", + "C23-0", + "F18-0", + "F20-0", + "D28-0" + ] + } + ], + "original_id": 1922 + }, + { + "type": "dividend", + "entity": "SR", + "entity_type": "corporation", + "id": 1540, + "created_at": 1673123910, + "kind": "payout", + "original_id": 1923 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1541, + "created_at": 1673123911, + "original_id": 1924 + }, + { + "type": "pass", + "entity": "SR", + "entity_type": "corporation", + "id": 1542, + "created_at": 1673123913, + "original_id": 1925 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "id": 1543, + "created_at": 1673123915, + "original_id": 1926 + } + ], + "loaded": true, + "created_at": 1673096832, + "updated_at": 1673123952, + "finished_at": 1673123952 +} \ No newline at end of file diff --git a/public/fixtures/18USA/110327.json b/public/fixtures/18USA/110327.json index f2406e3378..a3e5faf1ca 100644 --- a/public/fixtures/18USA/110327.json +++ b/public/fixtures/18USA/110327.json @@ -36,7 +36,9 @@ "unlisted": false, "auto_routing": true, "player_order": null, - "optional_rules": [] + "optional_rules": [ + + ] }, "user_settings": null, "status": "finished", @@ -57,1047 +59,1079 @@ "type": "bid", "entity": 1463, "entity_type": "player", - "id": 2, + "id": 1, "created_at": 1673914510, "company": "P2", - "price": 35 + "price": 35, + "original_id": 2 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 3, - "created_at": 1673914573 + "id": 2, + "created_at": 1673914573, + "original_id": 3 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 4, - "created_at": 1673914591 + "id": 3, + "created_at": 1673914591, + "original_id": 4 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 5, - "created_at": 1673914594 + "id": 4, + "created_at": 1673914594, + "original_id": 5 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 6, - "created_at": 1673914598 + "id": 5, + "created_at": 1673914598, + "original_id": 6 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 7, + "id": 6, "created_at": 1673914659, "company": "P8", - "price": 30 + "price": 30, + "original_id": 7 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 8, - "created_at": 1673914665 + "id": 7, + "created_at": 1673914665, + "original_id": 8 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 9, - "created_at": 1673914667 + "id": 8, + "created_at": 1673914667, + "original_id": 9 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 10, - "created_at": 1673914683 + "id": 9, + "created_at": 1673914683, + "original_id": 10 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 11, + "id": 10, "created_at": 1673914704, "company": "P8", - "price": 35 + "price": 35, + "original_id": 11 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 12, + "id": 11, "created_at": 1673914717, "company": "P8", - "price": 40 + "price": 40, + "original_id": 12 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 13, - "created_at": 1673914722 + "id": 12, + "created_at": 1673914722, + "original_id": 13 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 14, + "id": 13, "created_at": 1673914730, "company": "P17", - "price": 50 + "price": 50, + "original_id": 14 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 15, + "id": 14, "created_at": 1673914744, "company": "P17", - "price": 55 + "price": 55, + "original_id": 15 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 16, - "created_at": 1673914749 + "id": 15, + "created_at": 1673914749, + "original_id": 16 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 17, - "created_at": 1673914759 + "id": 16, + "created_at": 1673914759, + "original_id": 17 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 18, - "created_at": 1673914799 + "id": 17, + "created_at": 1673914799, + "original_id": 18 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 19, - "created_at": 1673914802 + "id": 18, + "created_at": 1673914802, + "original_id": 19 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 20, + "id": 19, "created_at": 1673914850, "company": "P4", - "price": 30 + "price": 30, + "original_id": 20 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 21, - "created_at": 1673914856 + "id": 20, + "created_at": 1673914856, + "original_id": 21 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 22, - "created_at": 1673914875 + "id": 21, + "created_at": 1673914875, + "original_id": 22 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 23, - "created_at": 1673914881 + "id": 22, + "created_at": 1673914881, + "original_id": 23 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 24, - "created_at": 1673914910 + "id": 23, + "created_at": 1673914910, + "original_id": 24 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 25, + "id": 24, "created_at": 1673914917, "company": "P1", - "price": 20 + "price": 20, + "original_id": 25 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 26, + "id": 25, "created_at": 1673914938, "company": "P1", - "price": 25 + "price": 25, + "original_id": 26 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 27, - "created_at": 1673914945 + "id": 26, + "created_at": 1673914945, + "original_id": 27 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 28, - "created_at": 1673914965 + "id": 27, + "created_at": 1673914965, + "original_id": 28 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 29, + "id": 28, "created_at": 1673914977, "company": "P1", - "price": 30 + "price": 30, + "original_id": 29 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 30, - "created_at": 1673914983 + "id": 29, + "created_at": 1673914983, + "original_id": 30 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 31, - "created_at": 1673914997 + "id": 30, + "created_at": 1673914997, + "original_id": 31 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 32, + "id": 31, "created_at": 1673915011, "company": "P3", - "price": 25 + "price": 25, + "original_id": 32 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 33, - "created_at": 1673915018 + "id": 32, + "created_at": 1673915018, + "original_id": 33 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 34, - "created_at": 1673915020 + "id": 33, + "created_at": 1673915020, + "original_id": 34 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 35, - "created_at": 1673915027 + "id": 34, + "created_at": 1673915027, + "original_id": 35 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 36, - "created_at": 1673915033 + "id": 35, + "created_at": 1673915033, + "original_id": 36 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 37, + "id": 36, "created_at": 1673915084, "company": "P14", - "price": 5 + "price": 5, + "original_id": 37 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 38, + "id": 37, "created_at": 1673915093, "company": "P14", - "price": 10 + "price": 10, + "original_id": 38 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 39, + "id": 38, "created_at": 1673915100, "company": "P14", - "price": 15 + "price": 15, + "original_id": 39 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 40, + "id": 39, "created_at": 1673915105, "company": "P14", - "price": 25 + "price": 25, + "original_id": 40 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 41, - "created_at": 1673915109 + "id": 40, + "created_at": 1673915109, + "original_id": 41 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 42, - "created_at": 1673915128 + "id": 41, + "created_at": 1673915128, + "original_id": 42 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 43, - "created_at": 1673915130 + "id": 42, + "created_at": 1673915130, + "original_id": 43 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 44, - "created_at": 1673915133 + "id": 43, + "created_at": 1673915133, + "original_id": 44 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 45, + "id": 44, "created_at": 1673915139, "company": "P10", - "price": 30 + "price": 30, + "original_id": 45 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 46, + "id": 45, "created_at": 1673915144, "company": "P10", - "price": 35 + "price": 35, + "original_id": 46 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 47, - "created_at": 1673915151 + "id": 46, + "created_at": 1673915151, + "original_id": 47 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 48, - "created_at": 1673915163 + "id": 47, + "created_at": 1673915163, + "original_id": 48 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 49, - "created_at": 1673915170 + "id": 48, + "created_at": 1673915170, + "original_id": 49 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 50, + "id": 49, "created_at": 1673915172, "company": "P10", - "price": 40 + "price": 40, + "original_id": 50 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 51, - "created_at": 1673915178 + "id": 50, + "created_at": 1673915178, + "original_id": 51 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 52, + "id": 51, "created_at": 1673915207, "company": "P6", - "price": 25 + "price": 25, + "original_id": 52 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 53, - "created_at": 1673915213 + "id": 52, + "created_at": 1673915213, + "original_id": 53 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 54, - "created_at": 1673915222 + "id": 53, + "created_at": 1673915222, + "original_id": 54 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 55, + "id": 54, "created_at": 1673915242, "company": "P6", - "price": 30 + "price": 30, + "original_id": 55 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 56, - "created_at": 1673915248 + "id": 55, + "created_at": 1673915248, + "original_id": 56 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 57, - "created_at": 1673915251 + "id": 56, + "created_at": 1673915251, + "original_id": 57 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 58, + "id": 57, "created_at": 1673915287, "company": "P27", - "price": 65 + "price": 65, + "original_id": 58 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 59, - "created_at": 1673915340 + "id": 58, + "created_at": 1673915340, + "original_id": 59 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 60, - "created_at": 1673915353 + "id": 59, + "created_at": 1673915353, + "original_id": 60 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 61, - "created_at": 1673915356 + "id": 60, + "created_at": 1673915356, + "original_id": 61 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 62, - "created_at": 1673915361 + "id": 61, + "created_at": 1673915361, + "original_id": 62 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 68, + "id": 62, "created_at": 1673915423, "company": "P30", - "price": 90 + "price": 90, + "original_id": 68 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 69, - "created_at": 1673915433 + "id": 63, + "created_at": 1673915433, + "original_id": 69 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 70, - "created_at": 1673915435 + "id": 64, + "created_at": 1673915435, + "original_id": 70 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 71, - "created_at": 1673915445 + "id": 65, + "created_at": 1673915445, + "original_id": 71 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 72, - "created_at": 1673915448 + "id": 66, + "created_at": 1673915448, + "original_id": 72 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 73, + "id": 67, "created_at": 1673915462, "company": "P28", - "price": 45 + "price": 45, + "original_id": 73 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 74, - "created_at": 1673915474 + "id": 68, + "created_at": 1673915474, + "original_id": 74 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 75, + "id": 69, "created_at": 1673915485, "company": "P28", - "price": 50 + "price": 50, + "original_id": 75 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 76, + "id": 70, "created_at": 1673915497, "company": "P28", - "price": 60 + "price": 60, + "original_id": 76 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 77, - "created_at": 1673915508 + "id": 71, + "created_at": 1673915508, + "original_id": 77 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 78, - "created_at": 1673915511 + "id": 72, + "created_at": 1673915511, + "original_id": 78 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 79, + "id": 73, "created_at": 1673915519, "company": "P28", - "price": 65 + "price": 65, + "original_id": 79 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 80, + "id": 74, "created_at": 1673915525, "company": "P28", - "price": 70 + "price": 70, + "original_id": 80 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 81, - "created_at": 1673915527 + "id": 75, + "created_at": 1673915527, + "original_id": 81 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 82, + "id": 76, "created_at": 1673915532, "company": "P7", - "price": 20 + "price": 20, + "original_id": 82 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 83, + "id": 77, "created_at": 1673915543, "company": "P7", - "price": 30 + "price": 30, + "original_id": 83 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 84, - "created_at": 1673915548 + "id": 78, + "created_at": 1673915548, + "original_id": 84 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 85, - "created_at": 1673915554 + "id": 79, + "created_at": 1673915554, + "original_id": 85 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 86, - "created_at": 1673915613 + "id": 80, + "created_at": 1673915613, + "original_id": 86 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 87, - "created_at": 1673915615 + "id": 81, + "created_at": 1673915615, + "original_id": 87 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 88, + "id": 82, "created_at": 1673915644, "company": "P12", - "price": 45 + "price": 45, + "original_id": 88 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 89, - "created_at": 1673915652 + "id": 83, + "created_at": 1673915652, + "original_id": 89 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 90, - "created_at": 1673915655 + "id": 84, + "created_at": 1673915655, + "original_id": 90 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 91, - "created_at": 1673915658 + "id": 85, + "created_at": 1673915658, + "original_id": 91 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 92, + "id": 86, "created_at": 1673915662, "company": "P12", - "price": 50 + "price": 50, + "original_id": 92 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 93, - "created_at": 1673915666 + "id": 87, + "created_at": 1673915666, + "original_id": 93 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 94, + "id": 88, "created_at": 1673915681, "company": "P20", - "price": 40 + "price": 40, + "original_id": 94 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 95, - "created_at": 1673915695 + "id": 89, + "created_at": 1673915695, + "original_id": 95 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 96, + "id": 90, "created_at": 1673915709, "company": "P20", - "price": 45 + "price": 45, + "original_id": 96 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 97, - "created_at": 1673915713 + "id": 91, + "created_at": 1673915713, + "original_id": 97 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 98, + "id": 92, "created_at": 1673915720, "company": "P20", - "price": 50 + "price": 50, + "original_id": 98 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 99, + "id": 93, "created_at": 1673915745, "company": "P20", - "price": 55 + "price": 55, + "original_id": 99 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 100, - "created_at": 1673915759 + "id": 94, + "created_at": 1673915759, + "original_id": 100 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 101, - "created_at": 1673915764 + "id": 95, + "created_at": 1673915764, + "original_id": 101 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 102, + "id": 96, "created_at": 1673915768, "company": "P19", - "price": 40 + "price": 40, + "original_id": 102 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 103, + "id": 97, "created_at": 1673915771, "company": "P19", - "price": 45 + "price": 45, + "original_id": 103 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 104, - "created_at": 1673915776 + "id": 98, + "created_at": 1673915776, + "original_id": 104 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 105, - "created_at": 1673915786 + "id": 99, + "created_at": 1673915786, + "original_id": 105 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 106, + "id": 100, "created_at": 1673915788, "company": "P19", - "price": 50 + "price": 50, + "original_id": 106 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 107, - "created_at": 1673915810 + "id": 101, + "created_at": 1673915810, + "original_id": 107 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 108, - "created_at": 1673915814 + "id": 102, + "created_at": 1673915814, + "original_id": 108 }, { "type": "bid", - "price": 230, "entity": 512, - "corporation": "GN", "entity_type": "player", - "id": 109, - "user": 512, - "created_at": 1673915846 + "id": 103, + "created_at": 1673915988, + "corporation": "GN", + "price": 300, + "original_id": 127 }, { - "city": "C3-0-0", - "slot": 0, "type": "place_token", "entity": "GN", - "tokener": "GN", "entity_type": "corporation", - "id": 110, - "user": 512, - "created_at": 1673915868 + "id": 104, + "created_at": 1673915995, + "city": "C3-0-0", + "slot": 0, + "tokener": "GN", + "original_id": 129 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 111, - "user": 4440, - "created_at": 1673915873 + "id": 105, + "created_at": 1673915998, + "original_id": 130 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 112, - "user": 4281, - "created_at": 1673915876 + "id": 106, + "created_at": 1673916006, + "original_id": 131 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 113, - "user": 605, - "created_at": 1673915881 + "id": 107, + "created_at": 1673916011, + "original_id": 132 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 118, - "user": 1463, - "created_at": 1673915940 + "id": 108, + "created_at": 1673916014, + "original_id": 133 }, { "type": "assign", "entity": 512, - "target": "P6", "entity_type": "player", + "id": 109, + "created_at": 1673916016, + "target": "P8", "target_type": "company", - "id": 119, - "user": 512, - "created_at": 1673915943 + "original_id": 134 }, { "type": "assign", "entity": 512, - "target": "P8", "entity_type": "player", + "id": 110, + "created_at": 1673916016, + "target": "P6", "target_type": "company", - "id": 120, - "user": 512, - "created_at": 1673915944 + "original_id": 135 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 121, - "user": 4440, - "created_at": 1673915958 - }, - { - "type": "undo", - "entity": 4281, - "action_id": 108, - "entity_type": "player", - "id": 126, - "user": 512, - "created_at": 1673915978 + "id": 111, + "created_at": 1673916025, + "original_id": 138 }, { "type": "bid", - "entity": 512, + "entity": 4281, "entity_type": "player", - "id": 127, - "created_at": 1673915988, - "corporation": "GN", - "price": 300 + "id": 112, + "created_at": 1673916058, + "corporation": "UP", + "price": 200, + "original_id": 139 }, { "type": "place_token", - "entity": "GN", + "entity": "UP", "entity_type": "corporation", - "id": 129, - "created_at": 1673915995, - "city": "C3-0-0", - "slot": 0, - "tokener": "GN" - }, - { - "type": "pass", - "entity": 4440, - "entity_type": "player", - "id": 130, - "created_at": 1673915998 - }, - { - "type": "pass", - "entity": 4281, - "entity_type": "player", - "id": 131, - "created_at": 1673916006 - }, - { - "type": "pass", - "entity": 605, - "entity_type": "player", - "id": 132, - "created_at": 1673916011 - }, - { - "type": "pass", - "entity": 1463, - "entity_type": "player", - "id": 133, - "created_at": 1673916014 - }, - { - "type": "assign", - "entity": 512, - "entity_type": "player", - "id": 134, - "created_at": 1673916016, - "target": "P8", - "target_type": "company" - }, - { - "type": "assign", - "entity": 512, - "entity_type": "player", - "id": 135, - "created_at": 1673916016, - "target": "P6", - "target_type": "company" - }, - { - "type": "pass", - "entity": 4440, - "entity_type": "player", - "id": 138, - "created_at": 1673916025 - }, - { - "type": "bid", - "entity": 4281, - "entity_type": "player", - "id": 139, - "created_at": 1673916058, - "corporation": "UP", - "price": 200 - }, - { - "type": "place_token", - "entity": "UP", - "entity_type": "corporation", - "id": 140, + "id": 113, "created_at": 1673916060, "city": "B8-0-1", "slot": 0, - "tokener": "UP" + "tokener": "UP", + "original_id": 140 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 141, - "created_at": 1673916066 + "id": 114, + "created_at": 1673916066, + "original_id": 141 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 142, - "created_at": 1673916082 + "id": 115, + "created_at": 1673916082, + "original_id": 142 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 143, - "created_at": 1673916084 + "id": 116, + "created_at": 1673916084, + "original_id": 143 }, { "type": "assign", "entity": 4281, "entity_type": "player", - "id": 144, + "id": 117, "created_at": 1673916088, "target": "P17", - "target_type": "company" + "target_type": "company", + "original_id": 144 }, { "type": "assign", "entity": 4281, "entity_type": "player", - "id": 145, + "id": 118, "created_at": 1673916090, "target": "P4", - "target_type": "company" + "target_type": "company", + "original_id": 145 }, { "type": "assign", "entity": 4281, "entity_type": "player", - "id": 146, + "id": 119, "created_at": 1673916092, "target": "P1", - "target_type": "company" + "target_type": "company", + "original_id": 146 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 147, - "created_at": 1673916095 + "id": 120, + "created_at": 1673916095, + "original_id": 147 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 148, - "created_at": 1673916129 + "id": 121, + "created_at": 1673916129, + "original_id": 148 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 150, - "created_at": 1673916159 + "id": 122, + "created_at": 1673916159, + "original_id": 150 }, { "type": "program_share_pass", "entity": 512, "entity_type": "player", - "id": 152, + "id": 123, "created_at": 1673916178, "auto_actions": [ { @@ -1108,205 +1142,238 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 152 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 153, + "id": 124, "created_at": 1673916269, "corporation": "TP", - "price": 164 + "price": 164, + "original_id": 153 }, { "type": "place_token", "entity": "TP", "entity_type": "corporation", - "id": 154, + "id": 125, "created_at": 1673916289, "city": "X03-0-0", "slot": 0, - "tokener": "TP" + "tokener": "TP", + "original_id": 154 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 155, - "created_at": 1673916296 + "id": 126, + "created_at": 1673916296, + "original_id": 155 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 156, - "created_at": 1673916303 + "id": 127, + "created_at": 1673916303, + "original_id": 156 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 157, + "id": 128, "created_at": 1673916405, "corporation": "TP", - "price": 172 + "price": 172, + "original_id": 157 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 164, + "id": 129, "created_at": 1673916509, "corporation": "TP", - "price": 180 + "price": 180, + "original_id": 164 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 167, + "id": 130, "created_at": 1673916523, "corporation": "TP", - "price": 190 + "price": 190, + "original_id": 167 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 168, + "id": 131, "created_at": 1673916543, "corporation": "TP", - "price": 200 + "price": 200, + "original_id": 168 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 187, - "created_at": 1673916962 + "id": 132, + "created_at": 1673916962, + "original_id": 187 }, { "type": "assign", "entity": 4440, "entity_type": "player", - "id": 189, + "id": 133, "created_at": 1673916966, "target": "P12", - "target_type": "company" + "target_type": "company", + "original_id": 189 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 190, - "created_at": 1673916970 + "id": 134, + "created_at": 1673916970, + "original_id": 190 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 192, - "created_at": 1673917007 + "id": 135, + "created_at": 1673917007, + "original_id": 192 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 193, + "id": 136, "created_at": 1673917064, "corporation": "SP", - "price": 140 + "price": 140, + "original_id": 193 }, { "type": "place_token", "entity": "SP", "entity_type": "corporation", - "id": 194, + "id": 137, "created_at": 1673917073, "city": "G27-8-0", "slot": 0, - "tokener": "SP" + "tokener": "SP", + "original_id": 194 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 195, - "created_at": 1673917097 + "id": 138, + "created_at": 1673917097, + "original_id": 195 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 197, - "created_at": 1673917111 + "id": 139, + "created_at": 1673917111, + "original_id": 197 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 201, - "created_at": 1673917164 + "id": 140, + "created_at": 1673917164, + "original_id": 201 }, { "type": "assign", "entity": 605, "entity_type": "player", - "id": 202, + "id": 141, "created_at": 1673917170, "target": "P27", - "target_type": "company" + "target_type": "company", + "original_id": 202 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "user": 605, + "created_at": 1688014001, + "original_id": null, + "id": 142 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 207, + "id": 143, "created_at": 1673917280, "corporation": "SLSF", - "price": 230 + "price": 230, + "original_id": 207 }, { "type": "place_token", "entity": "SLSF", "entity_type": "corporation", - "id": 208, + "id": 144, "created_at": 1673917282, "city": "X05-0-0", "slot": 0, - "tokener": "SLSF" + "tokener": "SLSF", + "original_id": 208 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 210, - "created_at": 1673917292 + "id": 145, + "created_at": 1673917292, + "original_id": 210 }, { "type": "assign", "entity": 1463, "entity_type": "player", - "id": 211, + "id": 146, "created_at": 1673917297, "target": "P30", - "target_type": "company" + "target_type": "company", + "original_id": 211 }, { "type": "assign", "entity": 1463, "entity_type": "player", - "id": 212, + "id": 147, "created_at": 1673917298, "target": "P3", - "target_type": "company" + "target_type": "company", + "original_id": 212 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 213, + "id": 148, "created_at": 1673917300, "auto_actions": [ { @@ -1316,13 +1383,14 @@ "created_at": 1673917300, "reason": "Corporation TP parred" } - ] + ], + "original_id": 213 }, { "type": "program_share_pass", "entity": 512, "entity_type": "player", - "id": 215, + "id": 149, "created_at": 1673917329, "auto_actions": [ { @@ -1333,136 +1401,118 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 215 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 216, + "id": 150, "created_at": 1673917341, "corporation": "B&O", - "price": 106 + "price": 106, + "original_id": 216 }, { "type": "place_token", "entity": "B&O", "entity_type": "corporation", - "id": 217, + "id": 151, "created_at": 1673917342, "city": "I19-5-0", "slot": 0, - "tokener": "B&O" + "tokener": "B&O", + "original_id": 217 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 218, - "created_at": 1673917363 + "id": 152, + "created_at": 1673917363, + "original_id": 218 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 219, - "created_at": 1673917374 + "id": 153, + "created_at": 1673917374, + "original_id": 219 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 220, - "created_at": 1673917380 + "id": 154, + "created_at": 1673917380, + "original_id": 220 }, { "type": "assign", "entity": 4440, "entity_type": "player", - "id": 221, + "id": 155, "created_at": 1673917384, "target": "P10", - "target_type": "company" - }, - { - "type": "bid", - "price": 165, - "entity": 4281, - "corporation": "C&O", - "entity_type": "player", - "id": 222, - "user": 4281, - "created_at": 1673917410 - }, - { - "city": "E23-9-0", - "slot": 0, - "type": "place_token", - "entity": "C&O", - "tokener": "C&O", - "entity_type": "corporation", - "id": 223, - "user": 4281, - "created_at": 1673917412 - }, - { - "type": "undo", - "entity": 605, - "action_id": 221, - "entity_type": "player", - "id": 229, - "user": 4281, - "created_at": 1673917518 + "target_type": "company", + "original_id": 221 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 230, + "id": 156, "created_at": 1673917523, "corporation": "C&O", - "price": 164 + "price": 164, + "original_id": 230 }, { "type": "place_token", "entity": "C&O", "entity_type": "corporation", - "id": 231, + "id": 157, "created_at": 1673917525, "city": "E23-9-0", "slot": 0, - "tokener": "C&O" + "tokener": "C&O", + "original_id": 231 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 243, - "created_at": 1673917734 + "id": 158, + "created_at": 1673917734, + "original_id": 243 }, { "type": "assign", "entity": 4281, "entity_type": "player", - "id": 244, + "id": 159, "created_at": 1673917743, "target": "P7", - "target_type": "company" + "target_type": "company", + "original_id": 244 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 250, + "id": 160, "created_at": 1673917870, "corporation": "NYC", - "price": 112 + "price": 112, + "original_id": 250 }, { "type": "place_token", "entity": "NYC", "entity_type": "corporation", - "id": 251, + "id": 161, "created_at": 1673917872, "auto_actions": [ { @@ -1474,48 +1524,62 @@ ], "city": "D28-0-1", "slot": 0, - "tokener": "NYC" + "tokener": "NYC", + "original_id": 251 }, { "type": "assign", "entity": 605, "entity_type": "player", - "id": 252, + "id": 162, "created_at": 1673917876, "target": "P28", - "target_type": "company" + "target_type": "company", + "original_id": 252 + }, + { + "type": "pass", + "entity": 605, + "entity_type": "player", + "user": 605, + "created_at": 1688014001, + "original_id": null, + "id": 163 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 253, + "id": 164, "created_at": 1673917963, "corporation": "WP", - "price": 106 + "price": 106, + "original_id": 253 }, { "type": "place_token", "entity": "WP", "entity_type": "corporation", - "id": 254, + "id": 165, "created_at": 1673917973, "city": "D6-0-0", "slot": 0, - "tokener": "WP" + "tokener": "WP", + "original_id": 254 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 255, - "created_at": 1673918036 + "id": 166, + "created_at": 1673918036, + "original_id": 255 }, { "type": "assign", "entity": 1463, "entity_type": "player", - "id": 256, + "id": 167, "created_at": 1673918041, "auto_actions": [ { @@ -1527,13 +1591,14 @@ } ], "target": "P2", - "target_type": "company" + "target_type": "company", + "original_id": 256 }, { "type": "program_share_pass", "entity": 512, "entity_type": "player", - "id": 257, + "id": 168, "created_at": 1673918047, "auto_actions": [ { @@ -1544,13 +1609,14 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 257 }, { "type": "program_share_pass", "entity": 4440, "entity_type": "player", - "id": 259, + "id": 169, "created_at": 1673918054, "auto_actions": [ { @@ -1561,48 +1627,53 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 259 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 261, - "created_at": 1673918063 + "id": 170, + "created_at": 1673918063, + "original_id": 261 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 265, + "id": 171, "created_at": 1673918163, "corporation": "SR", - "price": 112 + "price": 112, + "original_id": 265 }, { "type": "place_token", "entity": "SR", "entity_type": "corporation", - "id": 266, + "id": 172, "created_at": 1673918165, "city": "G7-3-0", "slot": 0, - "tokener": "SR" + "tokener": "SR", + "original_id": 266 }, { "type": "assign", "entity": 605, "entity_type": "player", - "id": 267, + "id": 173, "created_at": 1673918184, "target": "P19", - "target_type": "company" + "target_type": "company", + "original_id": 267 }, { "type": "pass", - "entity": 1463, + "entity": 605, "entity_type": "player", - "id": 268, + "id": 174, "created_at": 1673918214, "auto_actions": [ { @@ -1612,13 +1683,23 @@ "created_at": 1673918214, "reason": "Corporation SR parred" } - ] + ], + "original_id": 268 + }, + { + "type": "pass", + "entity": 1463, + "entity_type": "player", + "user": 1463, + "created_at": 1688014001, + "original_id": null, + "id": 175 }, { "type": "program_share_pass", "entity": 512, "entity_type": "player", - "id": 269, + "id": 176, "created_at": 1673918219, "auto_actions": [ { @@ -1636,13 +1717,14 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 269 }, { "type": "program_share_pass", "entity": 4440, "entity_type": "player", - "id": 270, + "id": 177, "created_at": 1673918264, "auto_actions": [ { @@ -1653,57 +1735,63 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 270 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 271, - "created_at": 1673918269 + "id": 178, + "created_at": 1673918269, + "original_id": 271 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 272, + "id": 179, "created_at": 1673918300, "corporation": "IC", - "price": 148 + "price": 148, + "original_id": 272 }, { "type": "place_token", "entity": "IC", "entity_type": "corporation", - "id": 273, + "id": 180, "created_at": 1673918303, "city": "G11-4-0", "slot": 0, - "tokener": "IC" + "tokener": "IC", + "original_id": 273 }, { "type": "assign", "entity": 605, "entity_type": "player", - "id": 274, + "id": 181, "created_at": 1673918311, "target": "P20", - "target_type": "company" + "target_type": "company", + "original_id": 274 }, { "type": "assign", "entity": 605, "entity_type": "player", - "id": 275, + "id": 182, "created_at": 1673918312, "target": "P14", - "target_type": "company" + "target_type": "company", + "original_id": 275 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 276, + "id": 183, "created_at": 1673918318, "auto_actions": [ { @@ -1713,13 +1801,14 @@ "created_at": 1673918317, "reason": "Corporation IC parred" } - ] + ], + "original_id": 276 }, { "type": "program_share_pass", "entity": 512, "entity_type": "player", - "id": 277, + "id": 184, "created_at": 1673918322, "auto_actions": [ { @@ -1737,1027 +1826,782 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 277 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 278, - "created_at": 1673918328 + "id": 185, + "created_at": 1673918328, + "original_id": 278 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 279, - "created_at": 1673918330 + "id": 186, + "created_at": 1673918330, + "original_id": 279 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 280, - "created_at": 1673918338 + "id": 187, + "created_at": 1673918338, + "original_id": 280 }, { "type": "lay_tile", "entity": "GN", "entity_type": "corporation", - "id": 281, + "id": 188, "created_at": 1673918346, "hex": "C3", "tile": "6-0", - "rotation": 0 + "rotation": 0, + "original_id": 281 }, { "type": "lay_tile", "entity": "GN", "entity_type": "corporation", - "id": 282, + "id": 189, "created_at": 1673918369, "hex": "D2", "tile": "9-0", - "rotation": 0 + "rotation": 0, + "original_id": 282 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 283, - "created_at": 1673918371 + "id": 190, + "created_at": 1673918371, + "original_id": 283 }, { "type": "buy_train", "entity": "GN", "entity_type": "corporation", - "id": 284, + "id": 191, "created_at": 1673918373, "train": "2-0", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 284 }, { "type": "buy_train", "entity": "GN", "entity_type": "corporation", - "id": 285, + "id": 192, "created_at": 1673918374, "train": "2-1", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 285 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 286, - "created_at": 1673918375 + "id": 193, + "created_at": 1673918375, + "original_id": 286 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 287, - "created_at": 1673918378 + "id": 194, + "created_at": 1673918378, + "original_id": 287 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 288, + "id": 195, "created_at": 1673918409, "hex": "F2", "tile": "9-1", - "rotation": 2 + "rotation": 2, + "original_id": 288 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 289, + "id": 196, "created_at": 1673918418, "hex": "E3", "tile": "6-1", - "rotation": 1 + "rotation": 1, + "original_id": 289 }, { "type": "take_loan", "entity": "SLSF", "entity_type": "corporation", - "id": 290, + "id": 197, "created_at": 1673918443, - "loan": 0 + "loan": 0, + "original_id": 290 }, { "type": "take_loan", "entity": "SLSF", "entity_type": "corporation", - "id": 291, + "id": 198, "created_at": 1673918444, - "loan": 1 + "loan": 1, + "original_id": 291 }, { "type": "buy_train", "entity": "SLSF", "entity_type": "corporation", - "id": 292, + "id": 199, "created_at": 1673918445, "train": "2-2", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 292 }, { "type": "buy_train", "entity": "SLSF", "entity_type": "corporation", - "id": 293, + "id": 200, "created_at": 1673918446, "train": "2-3", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 293 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 295, - "created_at": 1673918456 + "id": 201, + "created_at": 1673918456, + "original_id": 295 }, { "type": "lay_tile", "entity": "UP", "entity_type": "corporation", - "id": 297, + "id": 202, "created_at": 1673918466, "hex": "B8", "tile": "57-0", - "rotation": 1 + "rotation": 1, + "original_id": 297 }, { "type": "lay_tile", "entity": "UP", "entity_type": "corporation", - "id": 298, + "id": 203, "created_at": 1673918478, "hex": "B6", "tile": "9coal-0", - "rotation": 1 + "rotation": 1, + "original_id": 298 }, { "type": "lay_tile", "entity": "P17", "entity_type": "company", - "id": 299, + "id": 204, "created_at": 1673918483, "hex": "B4", "tile": "9-2", - "rotation": 1 + "rotation": 1, + "original_id": 299 }, { "type": "take_loan", "entity": "UP", "entity_type": "corporation", - "id": 301, + "id": 205, "created_at": 1673918496, - "loan": 2 + "loan": 2, + "original_id": 301 }, { "type": "take_loan", "entity": "UP", "entity_type": "corporation", - "id": 302, + "id": 206, "created_at": 1673918497, - "loan": 3 + "loan": 3, + "original_id": 302 }, { "type": "buy_train", "entity": "UP", "entity_type": "corporation", - "id": 304, + "id": 207, "created_at": 1673918501, "train": "2-4", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 304 }, { "type": "buy_train", "entity": "UP", "entity_type": "corporation", - "id": 305, + "id": 208, "created_at": 1673918502, "train": "2-5", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 305 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 306, - "created_at": 1673918508 + "id": 209, + "created_at": 1673918508, + "original_id": 306 }, { "type": "lay_tile", "entity": "TP", "entity_type": "corporation", - "id": 308, + "id": 210, "created_at": 1673918537, "hex": "G15", "tile": "7oil-0", - "rotation": 5 + "rotation": 5, + "original_id": 308 }, { "type": "lay_tile", "entity": "TP", "entity_type": "corporation", - "id": 309, + "id": 211, "created_at": 1673918540, "hex": "H16", "tile": "9-3", - "rotation": 2 + "rotation": 2, + "original_id": 309 }, { "type": "buy_train", "entity": "TP", "entity_type": "corporation", - "id": 311, + "id": 212, "created_at": 1673918542, "train": "2-6", "price": 100, - "variant": "2" - }, - { - "type": "pass", - "entity": "TP", - "entity_type": "corporation", - "id": 313, - "created_at": 1673918543 - }, - { - "type": "pass", - "entity": "TP", - "entity_type": "corporation", - "id": 314, - "created_at": 1673918545 - }, - { - "hex": "E23", - "tile": "57-1", - "type": "lay_tile", - "entity": "C&O", - "rotation": 2, - "entity_type": "corporation", - "id": 316, - "user": 4281, - "created_at": 1673918617 - }, - { - "hex": "E23", - "tile": "15-0", - "type": "lay_tile", - "entity": "S8", - "rotation": 2, - "entity_type": "company", - "id": 319, - "user": 4281, - "created_at": 1673918642 - }, - { - "hex": "D22", - "tile": "8-0", - "type": "lay_tile", - "entity": "C&O", - "rotation": 5, - "entity_type": "corporation", - "id": 320, - "user": 4281, - "created_at": 1673918670 - }, - { - "hex": "D20", - "tile": "6-2", - "type": "lay_tile", - "entity": "C&O", - "rotation": 2, - "entity_type": "corporation", - "id": 321, - "user": 4281, - "created_at": 1673918673 - }, - { - "type": "undo", - "entity": "C&O", - "entity_type": "corporation", - "id": 322, - "user": 4281, - "created_at": 1673918737 - }, - { - "type": "undo", - "entity": "C&O", - "entity_type": "corporation", - "id": 327, - "user": 4281, - "created_at": 1673918855 - }, - { - "hex": "F24", - "tile": "8-0", - "type": "lay_tile", - "entity": "C&O", - "rotation": 0, - "entity_type": "corporation", - "id": 330, - "user": 4281, - "created_at": 1673918902 - }, - { - "hex": "G23", - "tile": "9-4", - "type": "lay_tile", - "entity": "C&O", - "rotation": 0, - "entity_type": "corporation", - "id": 331, - "user": 4281, - "created_at": 1673918925 - }, - { - "loan": 4, - "type": "take_loan", - "entity": "C&O", - "entity_type": "corporation", - "id": 333, - "user": 4281, - "created_at": 1673918930 - }, - { - "loan": 5, - "type": "take_loan", - "entity": "C&O", - "entity_type": "corporation", - "id": 334, - "user": 4281, - "created_at": 1673918931 - }, - { - "type": "buy_train", - "price": 100, - "train": "2-7", - "entity": "C&O", - "variant": "2", - "entity_type": "corporation", - "id": 335, - "user": 4281, - "created_at": 1673918932 - }, - { - "type": "buy_train", - "price": 100, - "train": "2-8", - "entity": "C&O", "variant": "2", - "entity_type": "corporation", - "id": 336, - "user": 4281, - "created_at": 1673918933 + "original_id": 311 }, { "type": "pass", - "entity": "C&O", - "entity_type": "corporation", - "id": 337, - "user": 4281, - "created_at": 1673918942 - }, - { - "type": "undo", - "entity": "IC", - "action_id": 314, - "entity_type": "corporation", - "id": 339, - "user": 4281, - "created_at": 1673918965 - }, - { - "type": "undo", - "entity": "C&O", - "entity_type": "corporation", - "id": 342, - "user": 4281, - "created_at": 1673918989 - }, - { - "type": "undo", - "entity": "TP", - "entity_type": "corporation", - "id": 343, - "user": 4281, - "created_at": 1673918992 - }, - { - "type": "undo", - "entity": "TP", - "entity_type": "corporation", - "id": 344, - "user": 4281, - "created_at": 1673918994 - }, - { - "type": "redo", "entity": "TP", "entity_type": "corporation", - "id": 345, - "user": 4281, - "created_at": 1673918997 - }, - { - "type": "redo", - "entity": "TP", - "entity_type": "corporation", - "id": 346, - "user": 4281, - "created_at": 1673919000 + "id": 213, + "created_at": 1673918543, + "original_id": 313 }, { - "type": "redo", + "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 348, - "user": 4281, - "created_at": 1673919007 + "id": 214, + "created_at": 1673918545, + "original_id": 314 }, { "type": "lay_tile", "entity": "C&O", "entity_type": "corporation", - "id": 349, + "id": 215, "created_at": 1673919012, "hex": "E23", "tile": "57-1", - "rotation": 2 + "rotation": 2, + "original_id": 349 }, { "type": "lay_tile", "entity": "S8", "entity_type": "company", - "id": 350, + "id": 216, "created_at": 1673919020, "hex": "E23", "tile": "15-0", - "rotation": 2 + "rotation": 2, + "original_id": 350 }, { "type": "lay_tile", "entity": "C&O", "entity_type": "corporation", - "id": 351, + "id": 217, "created_at": 1673919023, "hex": "F24", "tile": "9-4", - "rotation": 2 + "rotation": 2, + "original_id": 351 }, { "type": "lay_tile", "entity": "C&O", "entity_type": "corporation", - "id": 352, + "id": 218, "created_at": 1673919028, "hex": "D22", "tile": "8-0", - "rotation": 5 + "rotation": 5, + "original_id": 352 }, { "type": "take_loan", "entity": "C&O", "entity_type": "corporation", - "id": 354, + "id": 219, "created_at": 1673919035, - "loan": 4 + "loan": 4, + "original_id": 354 }, { "type": "take_loan", "entity": "C&O", "entity_type": "corporation", - "id": 355, + "id": 220, "created_at": 1673919036, - "loan": 5 + "loan": 5, + "original_id": 355 }, { "type": "buy_train", "entity": "C&O", "entity_type": "corporation", - "id": 356, + "id": 221, "created_at": 1673919037, "train": "2-7", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 356 }, { "type": "buy_train", "entity": "C&O", "entity_type": "corporation", - "id": 357, + "id": 222, "created_at": 1673919038, "train": "2-8", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 357 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 358, - "created_at": 1673919039 + "id": 223, + "created_at": 1673919039, + "original_id": 358 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", - "id": 371, + "id": 224, "created_at": 1673919194, "hex": "G11", "tile": "6-2", - "rotation": 5 + "rotation": 5, + "original_id": 371 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 372, - "created_at": 1673919202 + "id": 225, + "created_at": 1673919202, + "original_id": 372 }, { "type": "take_loan", "entity": "IC", "entity_type": "corporation", - "id": 373, + "id": 226, "created_at": 1673919207, - "loan": 6 + "loan": 6, + "original_id": 373 }, { "type": "buy_train", "entity": "IC", "entity_type": "corporation", - "id": 374, + "id": 227, "created_at": 1673919208, "train": "2-9", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 374 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 375, - "created_at": 1673919212 + "id": 228, + "created_at": 1673919212, + "original_id": 375 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 376, - "created_at": 1673919216 + "id": 229, + "created_at": 1673919216, + "original_id": 376 }, { "type": "lay_tile", "entity": "SP", "entity_type": "corporation", - "id": 377, + "id": 230, "created_at": 1673919226, "hex": "G27", "tile": "5-0", - "rotation": 1 + "rotation": 1, + "original_id": 377 }, { "type": "lay_tile", "entity": "P27", "entity_type": "company", - "id": 378, + "id": 231, "created_at": 1673919237, "hex": "F26", "tile": "X21-0", - "rotation": 1 + "rotation": 1, + "original_id": 378 }, { "type": "take_loan", "entity": "SP", "entity_type": "corporation", - "id": 379, + "id": 232, "created_at": 1673919245, - "loan": 7 + "loan": 7, + "original_id": 379 }, { "type": "take_loan", "entity": "SP", "entity_type": "corporation", - "id": 380, + "id": 233, "created_at": 1673919246, - "loan": 8 + "loan": 8, + "original_id": 380 }, { "type": "buy_train", "entity": "SP", "entity_type": "corporation", - "id": 381, + "id": 234, "created_at": 1673919247, "train": "2-10", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 381 }, { "type": "buy_train", "entity": "SP", "entity_type": "corporation", - "id": 382, + "id": 235, "created_at": 1673919249, "train": "2-11", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 382 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 383, - "created_at": 1673919250 + "id": 236, + "created_at": 1673919250, + "original_id": 383 }, { "type": "lay_tile", "entity": "NYC", "entity_type": "corporation", - "id": 384, + "id": 237, "created_at": 1673919258, "hex": "D26", "tile": "8coal-0", - "rotation": 4 - }, - { - "loan": 9, - "type": "take_loan", - "entity": "NYC", - "entity_type": "corporation", - "id": 386, - "user": 605, - "created_at": 1673919279 - }, - { - "hex": "E25", - "tile": "8coal-1", - "type": "lay_tile", - "entity": "NYC", - "rotation": 3, - "entity_type": "corporation", - "id": 387, - "user": 605, - "created_at": 1673919285 - }, - { - "type": "undo", - "entity": "NYC", - "action_id": 384, - "entity_type": "corporation", - "id": 388, - "user": 605, - "created_at": 1673919325 + "rotation": 4, + "original_id": 384 }, { "type": "lay_tile", "entity": "NYC", "entity_type": "corporation", - "id": 389, + "id": 238, "created_at": 1673919334, "hex": "E25", "tile": "8coal-1", - "rotation": 3 + "rotation": 3, + "original_id": 389 }, { "type": "buy_train", "entity": "NYC", "entity_type": "corporation", - "id": 390, + "id": 239, "created_at": 1673919347, "train": "2-9", - "price": 1 + "price": 1, + "original_id": 390 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 391, - "created_at": 1673919350 + "id": 240, + "created_at": 1673919350, + "original_id": 391 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 392, - "created_at": 1673919352 + "id": 241, + "created_at": 1673919352, + "original_id": 392 }, { "type": "lay_tile", "entity": "SR", "entity_type": "corporation", - "id": 393, + "id": 242, "created_at": 1673919360, "hex": "G7", "tile": "57-2", - "rotation": 1 + "rotation": 1, + "original_id": 393 }, { - "loan": 9, - "type": "take_loan", + "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 394, - "user": 605, - "created_at": 1673919373 - }, - { - "type": "undo", - "entity": "SR", - "action_id": 389, - "entity_type": "corporation", - "id": 395, - "user": 605, - "created_at": 1673919511 - }, - { - "type": "redo", - "entity": "NYC", - "entity_type": "corporation", - "id": 396, - "user": 605, - "created_at": 1673919540 - }, - { - "type": "pass", - "entity": "SR", - "entity_type": "corporation", - "id": 397, - "user": 605, - "created_at": 1673919547 - }, - { - "type": "undo", - "entity": "SR", - "entity_type": "corporation", - "id": 398, - "user": 605, - "created_at": 1673919551 - }, - { - "type": "pass", - "entity": "SR", - "entity_type": "corporation", - "id": 402, - "user": 605, - "created_at": 1673919725 - }, - { - "type": "buy_train", - "price": 11, - "train": "2-10", - "entity": "SR", - "entity_type": "corporation", - "id": 403, - "user": 605, - "created_at": 1673919769 - }, - { - "type": "pass", - "entity": "SR", - "entity_type": "corporation", - "id": 404, - "user": 605, - "created_at": 1673919770 - }, - { - "type": "undo", - "entity": "SR", - "action_id": 393, - "entity_type": "corporation", - "id": 406, - "user": 605, - "created_at": 1673919794 - }, - { - "type": "pass", - "entity": "SR", - "entity_type": "corporation", - "id": 407, - "created_at": 1673919795 + "id": 243, + "created_at": 1673919795, + "original_id": 407 }, { "type": "buy_train", "entity": "SR", "entity_type": "corporation", - "id": 408, + "id": 244, "created_at": 1673919801, "train": "2-10", - "price": 12 + "price": 12, + "original_id": 408 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 410, - "created_at": 1673919810 + "id": 245, + "created_at": 1673919810, + "original_id": 410 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 411, - "created_at": 1673919813 + "id": 246, + "created_at": 1673919813, + "original_id": 411 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", - "id": 413, + "id": 247, "created_at": 1673919824, "hex": "H20", "tile": "6-3", - "rotation": 4 + "rotation": 4, + "original_id": 413 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 414, - "created_at": 1673919827 + "id": 248, + "created_at": 1673919827, + "original_id": 414 }, { "type": "take_loan", "entity": "B&O", "entity_type": "corporation", - "id": 415, + "id": 249, "created_at": 1673919829, - "loan": 9 + "loan": 9, + "original_id": 415 }, { "type": "buy_train", "entity": "B&O", "entity_type": "corporation", - "id": 416, + "id": 250, "created_at": 1673919830, "train": "2-12", "price": 100, - "variant": "2" - }, - { - "type": "pass", - "entity": "B&O", - "entity_type": "corporation", - "id": 417, - "user": 4440, - "created_at": 1673919831 - }, - { - "type": "pass", - "entity": "B&O", - "entity_type": "corporation", - "id": 418, - "user": 4440, - "created_at": 1673919833 - }, - { - "type": "undo", - "entity": "WP", - "entity_type": "corporation", - "id": 420, - "user": 4440, - "created_at": 1673919839 - }, - { - "type": "undo", - "entity": "B&O", - "entity_type": "corporation", - "id": 421, - "user": 4440, - "created_at": 1673919845 + "variant": "2", + "original_id": 416 }, { "type": "take_loan", "entity": "B&O", "entity_type": "corporation", - "id": 422, + "id": 251, "created_at": 1673919848, - "loan": 10 + "loan": 10, + "original_id": 422 }, { "type": "buy_train", "entity": "B&O", "entity_type": "corporation", - "id": 423, + "id": 252, "created_at": 1673919849, "train": "2-13", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 423 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 424, - "created_at": 1673919850 + "id": 253, + "created_at": 1673919850, + "original_id": 424 }, { "type": "lay_tile", "entity": "WP", "entity_type": "corporation", - "id": 425, + "id": 254, "created_at": 1673919859, "hex": "D6", "tile": "5-1", - "rotation": 1 + "rotation": 1, + "original_id": 425 }, { "type": "lay_tile", "entity": "WP", "entity_type": "corporation", - "id": 426, + "id": 255, "created_at": 1673919862, "hex": "D4", "tile": "8-1", - "rotation": 4 + "rotation": 4, + "original_id": 426 }, { "type": "assign", "entity": "P2", "entity_type": "company", - "id": 427, + "id": 256, "created_at": 1673919867, "target": "C3", - "target_type": "hex" + "target_type": "hex", + "original_id": 427 }, { "type": "take_loan", "entity": "WP", "entity_type": "corporation", - "id": 428, + "id": 257, "created_at": 1673919874, - "loan": 11 + "loan": 11, + "original_id": 428 }, { "type": "take_loan", "entity": "WP", "entity_type": "corporation", - "id": 429, + "id": 258, "created_at": 1673919875, - "loan": 12 + "loan": 12, + "original_id": 429 }, { "type": "buy_train", "entity": "WP", "entity_type": "corporation", - "id": 430, + "id": 259, "created_at": 1673919880, "train": "2-14", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 430 }, { "type": "buy_train", "entity": "WP", "entity_type": "corporation", - "id": 431, + "id": 260, "created_at": 1673919881, "train": "2-15", "price": 100, - "variant": "2" + "variant": "2", + "original_id": 431 }, { "type": "place_token", "entity": "S9", "entity_type": "company", - "id": 432, + "id": 261, "created_at": 1673919892, "city": "X05-0-0", "slot": true, - "tokener": "WP" + "tokener": "WP", + "original_id": 432 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 433, - "created_at": 1673919899 + "id": 262, + "created_at": 1673919899, + "original_id": 433 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 434, - "created_at": 1673919906 + "id": 263, + "created_at": 1673919906, + "original_id": 434 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 435, + "id": 264, "created_at": 1673919924, "auto_actions": [ { @@ -2777,70 +2621,81 @@ "TP" ] }, - "options": [] + "options": [ + + ], + "original_id": 435 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 436, - "created_at": 1673919939 + "id": 265, + "created_at": 1673919939, + "original_id": 436 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 437, - "created_at": 1673919943 + "id": 266, + "created_at": 1673919943, + "original_id": 437 }, { "type": "convert", "entity": "C&O", "entity_type": "corporation", - "id": 438, - "created_at": 1673919945 + "id": 267, + "created_at": 1673919945, + "original_id": 438 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 439, - "created_at": 1673919949 + "id": 268, + "created_at": 1673919949, + "original_id": 439 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 440, - "created_at": 1673919957 + "id": 269, + "created_at": 1673919957, + "original_id": 440 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 441, - "created_at": 1673920001 + "id": 270, + "created_at": 1673920001, + "original_id": 441 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 442, - "created_at": 1673920004 + "id": 271, + "created_at": 1673920004, + "original_id": 442 }, { "type": "merge", "entity": "SR", "entity_type": "corporation", - "id": 443, + "id": 272, "created_at": 1673920048, - "corporation": "IC" + "corporation": "IC", + "original_id": 443 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 444, + "id": 273, "created_at": 1673920052, "auto_actions": [ { @@ -2849,20 +2704,22 @@ "entity_type": "corporation", "created_at": 1673920053 } - ] + ], + "original_id": 444 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 445, - "created_at": 1673920066 + "id": 274, + "created_at": 1673920066, + "original_id": 445 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 446, + "id": 275, "created_at": 1673920067, "auto_actions": [ { @@ -2871,41 +2728,46 @@ "entity_type": "player", "created_at": 1673920067 } - ] + ], + "original_id": 446 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 447, - "created_at": 1673920073 + "id": 276, + "created_at": 1673920073, + "original_id": 447 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 448, - "created_at": 1673920075 + "id": 277, + "created_at": 1673920075, + "original_id": 448 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 449, - "created_at": 1673920101 + "id": 278, + "created_at": 1673920101, + "original_id": 449 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 450, - "created_at": 1673920102 + "id": 279, + "created_at": 1673920102, + "original_id": 450 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 451, + "id": 280, "created_at": 1673920105, "auto_actions": [ { @@ -2914,77 +2776,48 @@ "entity_type": "player", "created_at": 1673920105 } - ] + ], + "original_id": 451 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 452, - "created_at": 1673920122 + "id": 281, + "created_at": 1673920122, + "original_id": 452 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 459, - "created_at": 1673920328 - }, - { - "type": "pass", - "entity": "GN", - "entity_type": "corporation", - "id": 460, - "user": 512, - "created_at": 1673920347 - }, - { - "type": "undo", - "entity": "GN", - "entity_type": "corporation", - "id": 461, - "user": 512, - "created_at": 1673920352 - }, - { - "type": "assign", - "entity": "P8", - "target": "B2", - "entity_type": "company", - "target_type": "hex", - "id": 462, - "user": 512, - "created_at": 1673920367 - }, - { - "type": "undo", - "entity": "GN", - "entity_type": "corporation", - "id": 463, - "user": 512, - "created_at": 1673920375 + "id": 282, + "created_at": 1673920328, + "original_id": 459 }, { "type": "assign", "entity": "P8", "entity_type": "company", - "id": 464, + "id": 283, "created_at": 1673920394, "target": "E1", - "target_type": "hex" + "target_type": "hex", + "original_id": 464 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 465, - "created_at": 1673920399 + "id": 284, + "created_at": 1673920399, + "original_id": 465 }, { "type": "run_routes", "entity": "GN", "entity_type": "corporation", - "id": 466, + "id": 285, "created_at": 1673920405, "routes": [ { @@ -3026,84 +2859,94 @@ "B2-0" ] } - ] + ], + "original_id": 466 }, { "type": "dividend", "entity": "GN", "entity_type": "corporation", - "id": 467, + "id": 286, "created_at": 1673920406, - "kind": "payout" + "kind": "payout", + "original_id": 467 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 468, - "created_at": 1673920409 + "id": 287, + "created_at": 1673920409, + "original_id": 468 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 469, - "created_at": 1673920411 + "id": 288, + "created_at": 1673920411, + "original_id": 469 }, { "type": "lay_tile", "entity": "SR", "entity_type": "corporation", - "id": 470, + "id": 289, "created_at": 1673920420, "hex": "H12", "tile": "8-2", - "rotation": 2 + "rotation": 2, + "original_id": 470 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 471, - "created_at": 1673920423 + "id": 290, + "created_at": 1673920423, + "original_id": 471 }, { "type": "choose", "entity": "SR", "entity_type": "corporation", - "id": 472, + "id": 291, "created_at": 1673920426, - "choice": "0-0" + "choice": "0-0", + "original_id": 472 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 473, + "id": 292, "created_at": 1673920433, - "loan": 13 + "loan": 13, + "original_id": 473 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 474, + "id": 293, "created_at": 1673920434, - "loan": 14 + "loan": 14, + "original_id": 474 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 475, + "id": 294, "created_at": 1673920435, - "loan": 15 + "loan": 15, + "original_id": 475 }, { "type": "run_routes", "entity": "SR", "entity_type": "corporation", - "id": 476, + "id": 295, "created_at": 1673920439, "routes": [ { @@ -3126,75 +2969,83 @@ "H14-0" ] } - ] + ], + "original_id": 476 }, { "type": "dividend", "entity": "SR", "entity_type": "corporation", - "id": 477, + "id": 296, "created_at": 1673920456, - "kind": "half" + "kind": "half", + "original_id": 477 }, { "type": "buy_train", "entity": "SR", "entity_type": "corporation", - "id": 478, + "id": 297, "created_at": 1673920458, "train": "2+-0", "price": 100, - "variant": "2+" + "variant": "2+", + "original_id": 478 }, { "type": "buy_train", "entity": "SR", "entity_type": "corporation", - "id": 479, + "id": 298, "created_at": 1673920459, "train": "2+-1", "price": 100, - "variant": "2+" + "variant": "2+", + "original_id": 479 }, { "type": "buy_train", "entity": "SR", "entity_type": "corporation", - "id": 480, + "id": 299, "created_at": 1673920460, "train": "2+-2", "price": 100, - "variant": "2+" + "variant": "2+", + "original_id": 480 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 481, - "created_at": 1673920463 + "id": 300, + "created_at": 1673920463, + "original_id": 481 }, { "type": "lay_tile", "entity": "TP", "entity_type": "corporation", - "id": 482, + "id": 301, "created_at": 1673920475, "hex": "I17", "tile": "8oil-0", - "rotation": 2 + "rotation": 2, + "original_id": 482 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 483, - "created_at": 1673920478 + "id": 302, + "created_at": 1673920478, + "original_id": 483 }, { "type": "run_routes", "entity": "TP", "entity_type": "corporation", - "id": 484, + "id": 303, "created_at": 1673920486, "routes": [ { @@ -3219,78 +3070,87 @@ "I19-0" ] } - ] + ], + "original_id": 484 }, { "type": "take_loan", "entity": "TP", "entity_type": "corporation", - "id": 485, + "id": 304, "created_at": 1673920492, - "loan": 16 + "loan": 16, + "original_id": 485 }, { "type": "dividend", "entity": "TP", "entity_type": "corporation", - "id": 486, + "id": 305, "created_at": 1673920494, - "kind": "payout" + "kind": "payout", + "original_id": 486 }, { "type": "buy_train", "entity": "TP", "entity_type": "corporation", - "id": 487, + "id": 306, "created_at": 1673920496, "train": "2+-3", "price": 100, - "variant": "2+" + "variant": "2+", + "original_id": 487 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 488, - "created_at": 1673920513 + "id": 307, + "created_at": 1673920513, + "original_id": 488 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 489, - "created_at": 1673920513 + "id": 308, + "created_at": 1673920513, + "original_id": 489 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 490, + "id": 309, "created_at": 1673920526, "hex": "H4", "tile": "9oil-0", - "rotation": 2 + "rotation": 2, + "original_id": 490 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 491, - "created_at": 1673920528 + "id": 310, + "created_at": 1673920528, + "original_id": 491 }, { "type": "choose", "entity": "SLSF", "entity_type": "corporation", - "id": 493, + "id": 311, "created_at": 1673920535, - "choice": "0-0" + "choice": "0-0", + "original_id": 493 }, { "type": "run_routes", "entity": "SLSF", "entity_type": "corporation", - "id": 494, + "id": 312, "created_at": 1673920540, "routes": [ { @@ -3340,58 +3200,64 @@ "I5-0" ] } - ] + ], + "original_id": 494 }, { "type": "dividend", "entity": "SLSF", "entity_type": "corporation", - "id": 496, + "id": 313, "created_at": 1673920672, - "kind": "half" + "kind": "half", + "original_id": 496 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 498, - "created_at": 1673920747 + "id": 314, + "created_at": 1673920747, + "original_id": 498 }, { "type": "lay_tile", "entity": "UP", "entity_type": "corporation", - "id": 499, + "id": 315, "created_at": 1673920790, "hex": "B10", "tile": "9ore10-0", - "rotation": 1 + "rotation": 1, + "original_id": 499 }, { "type": "lay_tile", "entity": "UP", "entity_type": "corporation", - "id": 500, + "id": 316, "created_at": 1673920796, "hex": "B12", "tile": "9-5", - "rotation": 1 + "rotation": 1, + "original_id": 500 }, { "type": "lay_tile", "entity": "P17", "entity_type": "company", - "id": 501, + "id": 317, "created_at": 1673920810, "hex": "B14", "tile": "6-4", - "rotation": 1 + "rotation": 1, + "original_id": 501 }, { "type": "run_routes", "entity": "UP", "entity_type": "corporation", - "id": 502, + "id": 318, "created_at": 1673920815, "routes": [ { @@ -3436,68 +3302,75 @@ "B14-0" ] } - ] + ], + "original_id": 502 }, { "type": "dividend", "entity": "UP", "entity_type": "corporation", - "id": 503, + "id": 319, "created_at": 1673920830, - "kind": "half" + "kind": "half", + "original_id": 503 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 504, - "created_at": 1673920841 + "id": 320, + "created_at": 1673920841, + "original_id": 504 }, { "type": "lay_tile", "entity": "C&O", "entity_type": "corporation", - "id": 505, + "id": 321, "created_at": 1673920847, "hex": "G25", "tile": "8-3", - "rotation": 0 + "rotation": 0, + "original_id": 505 }, { "type": "lay_tile", "entity": "C&O", "entity_type": "corporation", - "id": 506, + "id": 322, "created_at": 1673920849, "hex": "H24", "tile": "9-6", - "rotation": 0 + "rotation": 0, + "original_id": 506 }, { "type": "lay_tile", "entity": "C&O", "entity_type": "corporation", - "id": 507, + "id": 323, "created_at": 1673920851, "hex": "I23", "tile": "7-0", - "rotation": 2 + "rotation": 2, + "original_id": 507 }, { "type": "place_token", "entity": "C&O", "entity_type": "corporation", - "id": 508, + "id": 324, "created_at": 1673920852, "city": "X01-0-0", "slot": 0, - "tokener": "C&O" + "tokener": "C&O", + "original_id": 508 }, { "type": "run_routes", "entity": "C&O", "entity_type": "corporation", - "id": 509, + "id": 325, "created_at": 1673920858, "routes": [ { @@ -3542,70 +3415,78 @@ "E23-0" ] } - ] + ], + "original_id": 509 }, { "type": "take_loan", "entity": "C&O", "entity_type": "corporation", - "id": 510, + "id": 326, "created_at": 1673920866, - "loan": 17 + "loan": 17, + "original_id": 510 }, { "type": "dividend", "entity": "C&O", "entity_type": "corporation", - "id": 511, + "id": 327, "created_at": 1673920868, - "kind": "payout" + "kind": "payout", + "original_id": 511 }, { "type": "buy_train", "entity": "C&O", "entity_type": "corporation", - "id": 512, + "id": 328, "created_at": 1673920871, "train": "2+-4", "price": 100, - "variant": "2+" + "variant": "2+", + "original_id": 512 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 513, - "created_at": 1673920896 + "id": 329, + "created_at": 1673920896, + "original_id": 513 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 514, - "created_at": 1673920899 + "id": 330, + "created_at": 1673920899, + "original_id": 514 }, { "type": "lay_tile", "entity": "SP", "entity_type": "corporation", - "id": 515, + "id": 331, "created_at": 1673920908, "hex": "E27", "tile": "9-7", - "rotation": 0 + "rotation": 0, + "original_id": 515 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 516, - "created_at": 1673920912 + "id": 332, + "created_at": 1673920912, + "original_id": 516 }, { "type": "run_routes", "entity": "SP", "entity_type": "corporation", - "id": 517, + "id": 333, "created_at": 1673920914, "routes": [ { @@ -3629,54 +3510,60 @@ "D28-1" ] } - ] + ], + "original_id": 517 }, { "type": "dividend", "entity": "SP", "entity_type": "corporation", - "id": 518, + "id": 334, "created_at": 1673920919, - "kind": "payout" + "kind": "payout", + "original_id": 518 }, { "type": "buy_train", "entity": "SP", "entity_type": "corporation", - "id": 519, + "id": 335, "created_at": 1673920985, "train": "2+-0", - "price": 1 + "price": 1, + "original_id": 519 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 520, - "created_at": 1673920987 + "id": 336, + "created_at": 1673920987, + "original_id": 520 }, { "type": "lay_tile", "entity": "NYC", "entity_type": "corporation", - "id": 521, + "id": 337, "created_at": 1673920996, "hex": "C29", "tile": "6-5", - "rotation": 0 + "rotation": 0, + "original_id": 521 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 522, - "created_at": 1673920998 + "id": 338, + "created_at": 1673920998, + "original_id": 522 }, { "type": "run_routes", "entity": "NYC", "entity_type": "corporation", - "id": 523, + "id": 339, "created_at": 1673921002, "routes": [ { @@ -3700,42 +3587,47 @@ "F26-0" ] } - ] + ], + "original_id": 523 }, { "type": "dividend", "entity": "NYC", "entity_type": "corporation", - "id": 524, + "id": 340, "created_at": 1673921039, - "kind": "payout" + "kind": "payout", + "original_id": 524 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 525, - "created_at": 1673921047 + "id": 341, + "created_at": 1673921047, + "original_id": 525 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 526, - "created_at": 1673921048 + "id": 342, + "created_at": 1673921048, + "original_id": 526 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 527, - "created_at": 1673921062 + "id": 343, + "created_at": 1673921062, + "original_id": 527 }, { "type": "run_routes", "entity": "B&O", "entity_type": "corporation", - "id": 528, + "id": 344, "created_at": 1673921077, "routes": [ { @@ -3779,45 +3671,50 @@ "J20-0" ] } - ] + ], + "original_id": 528 }, { "type": "dividend", "entity": "B&O", "entity_type": "corporation", - "id": 529, + "id": 345, "created_at": 1673921084, - "kind": "payout" + "kind": "payout", + "original_id": 529 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 530, - "created_at": 1673921088 + "id": 346, + "created_at": 1673921088, + "original_id": 530 }, { "type": "lay_tile", "entity": "WP", "entity_type": "corporation", - "id": 531, + "id": 347, "created_at": 1673921102, "hex": "G5", "tile": "8-4", - "rotation": 5 + "rotation": 5, + "original_id": 531 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 532, - "created_at": 1673921105 + "id": 348, + "created_at": 1673921105, + "original_id": 532 }, { "type": "run_routes", "entity": "WP", "entity_type": "corporation", - "id": 533, + "id": 349, "created_at": 1673921113, "routes": [ { @@ -3860,28 +3757,31 @@ "E1-0" ] } - ] + ], + "original_id": 533 }, { "type": "dividend", "entity": "WP", "entity_type": "corporation", - "id": 534, + "id": 350, "created_at": 1673921114, - "kind": "half" + "kind": "half", + "original_id": 534 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 535, - "created_at": 1673921117 + "id": 351, + "created_at": 1673921117, + "original_id": 535 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 536, + "id": 352, "created_at": 1673921135, "corporations_by_round": { "AR": [ @@ -3893,20 +3793,24 @@ "TP" ] }, - "options": [] + "options": [ + + ], + "original_id": 536 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 537, - "created_at": 1673921135 + "id": 353, + "created_at": 1673921135, + "original_id": 537 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 538, + "id": 354, "created_at": 1673921142, "auto_actions": [ { @@ -3915,34 +3819,38 @@ "entity_type": "corporation", "created_at": 1673921141 } - ] + ], + "original_id": 538 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 539, - "created_at": 1673921150 + "id": 355, + "created_at": 1673921150, + "original_id": 539 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 540, - "created_at": 1673921156 + "id": 356, + "created_at": 1673921156, + "original_id": 540 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 541, - "created_at": 1673921157 + "id": 357, + "created_at": 1673921157, + "original_id": 541 }, { "type": "program_merger_pass", "entity": 4281, "entity_type": "player", - "id": 542, + "id": 358, "created_at": 1673921171, "corporations_by_round": { "AR": [ @@ -3956,20 +3864,22 @@ }, "options": [ "disable_others" - ] + ], + "original_id": 542 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 543, - "created_at": 1673921175 + "id": 359, + "created_at": 1673921175, + "original_id": 543 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 544, + "id": 360, "created_at": 1673921177, "auto_actions": [ { @@ -3978,457 +3888,446 @@ "entity_type": "corporation", "created_at": 1673921178 } - ] + ], + "original_id": 544 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 545, - "created_at": 1673921191 + "id": 361, + "created_at": 1673921191, + "original_id": 545 }, { "type": "program_disable", "entity": 4281, "entity_type": "player", - "id": 546, + "id": 362, "created_at": 1673921194, "reason": "user", - "original_type": "program_merger_pass" + "original_type": "program_merger_pass", + "original_id": 546 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 547, - "created_at": 1673921196 - }, - { - "type": "pass", - "entity": 1463, - "entity_type": "player", - "id": 551, - "user": 1463, - "created_at": 1673921224 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 552, - "user": 1463, - "created_at": 1673921229 + "id": 363, + "created_at": 1673921196, + "original_id": 547 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 554, + "id": 364, "created_at": 1673921288, "corporation": "IC", - "price": 132 + "price": 132, + "original_id": 554 }, { "type": "place_token", "entity": "IC", "entity_type": "corporation", - "id": 555, + "id": 365, "created_at": 1673921291, "city": "15-0-0", "slot": 1, - "tokener": "IC" + "tokener": "IC", + "original_id": 555 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 556, - "created_at": 1673921307 + "id": 366, + "created_at": 1673921307, + "original_id": 556 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 557, - "created_at": 1673921326 + "id": 367, + "created_at": 1673921326, + "original_id": 557 }, { "type": "choose", "entity": 1463, "entity_type": "player", - "id": 558, + "id": 368, "created_at": 1673921332, - "choice": 2 + "choice": 2, + "original_id": 558 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 560, + "id": 369, "created_at": 1673921480, - "corporation": "SR" + "corporation": "SR", + "original_id": 560 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 561, - "created_at": 1673921501 + "id": 370, + "created_at": 1673921501, + "original_id": 561 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 563, + "id": 371, "created_at": 1673921668, "corporation": "PRR", - "price": 210 + "price": 210, + "original_id": 563 }, { "type": "place_token", "entity": "PRR", "entity_type": "corporation", - "id": 564, + "id": 372, "created_at": 1673921671, "city": "D24-8-0", "slot": 0, - "tokener": "PRR" + "tokener": "PRR", + "original_id": 564 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 565, - "created_at": 1673921712 + "id": 373, + "created_at": 1673921712, + "original_id": 565 }, { "type": "choose", "entity": 4440, "entity_type": "player", - "id": 566, + "id": 374, "created_at": 1673921750, - "choice": 2 + "choice": 2, + "original_id": 566 }, { "type": "short", "entity": 4281, "entity_type": "player", - "id": 567, + "id": 375, "created_at": 1673921770, - "corporation": "SR" + "corporation": "SR", + "original_id": 567 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 568, - "created_at": 1673921772 + "id": 376, + "created_at": 1673921772, + "original_id": 568 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 569, + "id": 377, "created_at": 1673921798, - "loan": 18 + "loan": 18, + "original_id": 569 }, { "type": "buy_shares", "entity": "SR", "entity_type": "corporation", - "id": 570, + "id": 378, "created_at": 1673921811, "shares": [ "SR_10" ], - "percent": 20 + "percent": 20, + "original_id": 570 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 571, - "created_at": 1673921836 + "id": 379, + "created_at": 1673921836, + "original_id": 571 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 572, + "id": 380, "created_at": 1673921861, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 572 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 574, - "created_at": 1673922062 + "id": 381, + "created_at": 1673922062, + "original_id": 574 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 575, - "created_at": 1673922110 + "id": 382, + "created_at": 1673922110, + "original_id": 575 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 576, + "id": 383, "created_at": 1673922134, "corporation": "MILW", - "price": 140 + "price": 140, + "original_id": 576 }, { "type": "place_token", "entity": "MILW", "entity_type": "corporation", - "id": 577, + "id": 384, "created_at": 1673922136, "city": "D28-0-0", "slot": 0, - "tokener": "MILW" + "tokener": "MILW", + "original_id": 577 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 578, - "created_at": 1673922145 + "id": 385, + "created_at": 1673922145, + "original_id": 578 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 579, - "created_at": 1673922151 + "id": 386, + "created_at": 1673922151, + "original_id": 579 }, { "type": "choose", "entity": 4281, "entity_type": "player", - "id": 580, + "id": 387, "created_at": 1673922158, - "choice": 2 + "choice": 2, + "original_id": 580 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 581, + "id": 388, "created_at": 1673922188, "shares": [ "SR_12" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 581 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 582, - "created_at": 1673922209 + "id": 389, + "created_at": 1673922209, + "original_id": 582 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 583, + "id": 390, "created_at": 1673922243, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 583 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 584, + "id": 391, "created_at": 1673922382, "corporation": "ATSF", - "price": 230 + "price": 230, + "original_id": 584 }, { "type": "place_token", "entity": "ATSF", "entity_type": "corporation", - "id": 585, + "id": 392, "created_at": 1673922384, "city": "6-3-0", "slot": 0, - "tokener": "ATSF" + "tokener": "ATSF", + "original_id": 585 }, { "type": "choose", "entity": 512, "entity_type": "player", - "id": 586, + "id": 393, "created_at": 1673922388, - "choice": 5 + "choice": 5, + "original_id": 586 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 587, - "created_at": 1673922394 - }, - { - "type": "buy_shares", - "entity": 4281, - "shares": [ - "C&O_10" - ], - "percent": 20, - "entity_type": "player", - "share_price": false, - "id": 588, - "user": 4281, - "created_at": 1673922410 - }, - { - "type": "buy_shares", - "entity": 605, - "shares": [ - "C&O_1" - ], - "percent": 20, - "entity_type": "player", - "share_price": false, - "id": 589, - "user": 605, - "created_at": 1673922437 - }, - { - "type": "undo", - "entity": 1463, - "entity_type": "player", - "id": 590, - "user": 4281, - "created_at": 1673922446 - }, - { - "type": "undo", - "entity": 605, - "entity_type": "player", - "id": 591, - "user": 4281, - "created_at": 1673922449 + "id": 394, + "created_at": 1673922394, + "original_id": 587 }, { "type": "take_loan", "entity": "C&O", "entity_type": "corporation", - "id": 592, + "id": 395, "created_at": 1673922454, - "loan": 19 + "loan": 19, + "original_id": 592 }, { "type": "buy_shares", "entity": "C&O", "entity_type": "corporation", - "id": 593, + "id": 396, "created_at": 1673922461, "shares": [ "C&O_10", "C&O_12" ], - "percent": 40 + "percent": 40, + "original_id": 593 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 594, + "id": 397, "created_at": 1673922475, "shares": [ "C&O_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 594 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 595, - "created_at": 1673922485 + "id": 398, + "created_at": 1673922485, + "original_id": 595 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 596, + "id": 399, "created_at": 1673922512, "shares": [ "ATSF_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 596 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 597, - "created_at": 1673922529 + "id": 400, + "created_at": 1673922529, + "original_id": 597 }, { "type": "buy_shares", "entity": 4281, "entity_type": "player", - "id": 598, + "id": 401, "created_at": 1673922538, "shares": [ "C&O_2" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 598 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 599, - "created_at": 1673922546 + "id": 402, + "created_at": 1673922546, + "original_id": 599 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 600, - "created_at": 1673922562 + "id": 403, + "created_at": 1673922562, + "original_id": 600 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 601, + "id": 404, "created_at": 1673922572, - "loan": 20 + "loan": 20, + "original_id": 601 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 602, + "id": 405, "created_at": 1673922574, - "loan": 21 + "loan": 21, + "original_id": 602 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 603, + "id": 406, "created_at": 1673922577, - "loan": 22 + "loan": 22, + "original_id": 603 }, { "type": "program_share_pass", "entity": 512, "entity_type": "player", - "id": 604, + "id": 407, "created_at": 1673922665, "auto_actions": [ { @@ -4439,34 +4338,38 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 604 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 605, - "created_at": 1673922671 + "id": 408, + "created_at": 1673922671, + "original_id": 605 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 606, - "created_at": 1673922675 + "id": 409, + "created_at": 1673922675, + "original_id": 606 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 607, - "created_at": 1673922701 + "id": 410, + "created_at": 1673922701, + "original_id": 607 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 609, + "id": 411, "created_at": 1673922707, "auto_actions": [ { @@ -4475,30 +4378,33 @@ "entity_type": "player", "created_at": 1673922706 } - ] + ], + "original_id": 609 }, { "type": "lay_tile", "entity": "GN", "entity_type": "corporation", - "id": 610, + "id": 412, "created_at": 1673922735, "hex": "C3", "tile": "14-0", - "rotation": 2 + "rotation": 2, + "original_id": 610 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 611, - "created_at": 1673922739 + "id": 413, + "created_at": 1673922739, + "original_id": 611 }, { "type": "run_routes", "entity": "GN", "entity_type": "corporation", - "id": 612, + "id": 414, "created_at": 1673922748, "routes": [ { @@ -4540,129 +4446,125 @@ "E1-0" ] } - ] + ], + "original_id": 612 }, { "type": "dividend", "entity": "GN", "entity_type": "corporation", - "id": 613, + "id": 415, "created_at": 1673922757, - "kind": "payout" + "kind": "payout", + "original_id": 613 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 614, - "created_at": 1673922769 + "id": 416, + "created_at": 1673922769, + "original_id": 614 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 615, - "created_at": 1673922776 + "id": 417, + "created_at": 1673922776, + "original_id": 615 }, { "type": "lay_tile", "entity": "PRR", "entity_type": "corporation", - "id": 616, + "id": 418, "created_at": 1673922788, "hex": "D24", "tile": "5-2", - "rotation": 5 + "rotation": 5, + "original_id": 616 }, { "type": "lay_tile", "entity": "PRR", "entity_type": "corporation", - "id": 617, + "id": 419, "created_at": 1673922791, "hex": "E25", "tile": "82coal-0", - "rotation": 2 + "rotation": 2, + "original_id": 617 }, { "type": "take_loan", "entity": "PRR", "entity_type": "corporation", - "id": 618, + "id": 420, "created_at": 1673922794, - "loan": 23 + "loan": 23, + "original_id": 618 }, { "type": "buy_train", "entity": "PRR", "entity_type": "corporation", - "id": 619, + "id": 421, "created_at": 1673922796, "train": "3-0", "price": 250, - "variant": "3" + "variant": "3", + "original_id": 619 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 620, - "created_at": 1673922797 + "id": 422, + "created_at": 1673922797, + "original_id": 620 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 622, - "created_at": 1673922800 + "id": 423, + "created_at": 1673922800, + "original_id": 622 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 623, + "id": 424, "created_at": 1673922836, "hex": "G3", "tile": "X11-0", - "rotation": 3 + "rotation": 3, + "original_id": 623 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 624, - "created_at": 1673922837 - }, - { - "type": "choose", - "choice": "1-0", - "entity": "SLSF", - "entity_type": "corporation", - "id": 625, - "user": 1463, - "created_at": 1673922840 - }, - { - "type": "undo", - "entity": "SLSF", - "entity_type": "corporation", - "id": 627, - "user": 1463, - "created_at": 1673922851 + "id": 425, + "created_at": 1673922837, + "original_id": 624 }, { "type": "choose", "entity": "SLSF", "entity_type": "corporation", - "id": 628, + "id": 426, "created_at": 1673922854, - "choice": "1-0" + "choice": "1-0", + "original_id": 628 }, { "type": "run_routes", "entity": "SLSF", "entity_type": "corporation", - "id": 629, + "id": 427, "created_at": 1673922870, "routes": [ { @@ -4712,55 +4614,61 @@ "G3-0" ] } - ] + ], + "original_id": 629 }, { "type": "dividend", "entity": "SLSF", "entity_type": "corporation", - "id": 630, + "id": 428, "created_at": 1673922875, - "kind": "withhold" + "kind": "withhold", + "original_id": 630 }, { "type": "buy_train", "entity": "SLSF", "entity_type": "corporation", - "id": 631, + "id": 429, "created_at": 1673922879, "train": "3-1", "price": 250, - "variant": "3" + "variant": "3", + "original_id": 631 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 632, - "created_at": 1673922883 + "id": 430, + "created_at": 1673922883, + "original_id": 632 }, { "type": "lay_tile", "entity": "TP", "entity_type": "corporation", - "id": 634, + "id": 431, "created_at": 1673922909, "hex": "H14", "tile": "X10-0", - "rotation": 2 + "rotation": 2, + "original_id": 634 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 635, - "created_at": 1673922913 + "id": 432, + "created_at": 1673922913, + "original_id": 635 }, { "type": "run_routes", "entity": "TP", "entity_type": "corporation", - "id": 636, + "id": 433, "created_at": 1673922927, "routes": [ { @@ -4805,259 +4713,144 @@ "G11-0" ] } - ] + ], + "original_id": 636 }, { "type": "dividend", "entity": "TP", "entity_type": "corporation", - "id": 637, + "id": 434, "created_at": 1673922938, - "kind": "half" + "kind": "half", + "original_id": 637 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 638, - "created_at": 1673922943 + "id": 435, + "created_at": 1673922943, + "original_id": 638 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 639, - "created_at": 1673922947 + "id": 436, + "created_at": 1673922947, + "original_id": 639 }, { "type": "lay_tile", "entity": "ATSF", "entity_type": "corporation", - "id": 640, + "id": 437, "created_at": 1673922969, "hex": "I19", "tile": "592-0", - "rotation": 1 + "rotation": 1, + "original_id": 640 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 641, - "created_at": 1673922972 + "id": 438, + "created_at": 1673922972, + "original_id": 641 }, { "type": "place_token", "entity": "ATSF", "entity_type": "corporation", - "id": 642, + "id": 439, "created_at": 1673922974, "city": "592-0-0", "slot": 1, - "tokener": "ATSF" + "tokener": "ATSF", + "original_id": 642 }, { "type": "buy_train", "entity": "ATSF", "entity_type": "corporation", - "id": 643, + "id": 440, "created_at": 1673922978, "train": "3-2", "price": 250, - "variant": "3" + "variant": "3", + "original_id": 643 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 644, - "created_at": 1673922980 + "id": 441, + "created_at": 1673922980, + "original_id": 644 }, { "type": "payoff_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 645, + "id": 442, "created_at": 1673922983, - "loan": 20 + "loan": 20, + "original_id": 645 }, { "type": "payoff_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 646, + "id": 443, "created_at": 1673922984, - "loan": 21 + "loan": 21, + "original_id": 646 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 647, - "created_at": 1673922988 - }, - { - "hex": "B8", - "tile": "15-1", - "type": "lay_tile", - "entity": "UP", - "rotation": 4, - "entity_type": "corporation", - "id": 648, - "user": 4281, - "created_at": 1673922995 - }, - { - "hex": "B16", - "tile": "8-5", - "type": "lay_tile", - "entity": "UP", - "rotation": 2, - "entity_type": "corporation", - "id": 649, - "user": 4281, - "created_at": 1673923019 - }, - { - "type": "pass", - "entity": "UP", - "entity_type": "corporation", - "id": 650, - "user": 4281, - "created_at": 1673923024 - }, - { - "type": "run_routes", - "entity": "UP", - "routes": [ - { - "hexes": [ - "B8", - "B14" - ], - "nodes": [ - "B8-0", - "B14-0" - ], - "train": "2-5", - "revenue": 90, - "connections": [ - [ - "B8", - "B10", - "B12", - "B14" - ] - ], - "revenue_str": "B8-B14 + GNR Bonus" - }, - { - "hexes": [ - "B8", - "B2" - ], - "nodes": [ - "B8-0", - "B2-0" - ], - "train": "2-4", - "revenue": 90, - "connections": [ - [ - "B8", - "B6", - "B4", - "B2" - ] - ], - "revenue_str": "B8-B2" - } - ], - "entity_type": "corporation", - "id": 651, - "user": 4281, - "created_at": 1673923027 - }, - { - "type": "undo", - "entity": "UP", - "action_id": 647, - "entity_type": "corporation", - "id": 652, - "user": 4281, - "created_at": 1673923043 - }, - { - "hex": "B8", - "tile": "15-1", - "type": "lay_tile", - "entity": "UP", - "rotation": 4, - "entity_type": "corporation", - "id": 653, - "user": 4281, - "created_at": 1673923047 - }, - { - "hex": "B16", - "tile": "8-5", - "type": "lay_tile", - "entity": "P17", - "rotation": 2, - "entity_type": "company", - "id": 654, - "user": 4281, - "created_at": 1673923066 - }, - { - "type": "pass", - "entity": "UP", - "entity_type": "corporation", - "id": 655, - "user": 4281, - "created_at": 1673923071 - }, - { - "type": "undo", - "entity": "UP", - "action_id": 647, - "entity_type": "corporation", - "id": 656, - "user": 4281, - "created_at": 1673923086 + "id": 444, + "created_at": 1673922988, + "original_id": 647 }, { "type": "lay_tile", "entity": "P17", "entity_type": "company", - "id": 657, + "id": 445, "created_at": 1673923093, "hex": "B10", "tile": "9ore20-0", - "rotation": 1 + "rotation": 1, + "original_id": 657 }, { "type": "lay_tile", "entity": "UP", "entity_type": "corporation", - "id": 658, + "id": 446, "created_at": 1673923096, "hex": "B8", "tile": "15-1", - "rotation": 4 + "rotation": 4, + "original_id": 658 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 659, - "created_at": 1673923098 + "id": 447, + "created_at": 1673923098, + "original_id": 659 }, { "type": "run_routes", "entity": "UP", "entity_type": "corporation", - "id": 660, + "id": 448, "created_at": 1673923102, "routes": [ { @@ -5102,200 +4895,95 @@ "B14-0" ] } - ] + ], + "original_id": 660 }, { "type": "dividend", "entity": "UP", "entity_type": "corporation", - "id": 661, + "id": 449, "created_at": 1673923112, - "kind": "half" + "kind": "half", + "original_id": 661 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 662, - "created_at": 1673923118 + "id": 450, + "created_at": 1673923118, + "original_id": 662 }, { "type": "payoff_loan", "entity": "UP", "entity_type": "corporation", - "id": 663, + "id": 451, "created_at": 1673923120, - "loan": 2 + "loan": 2, + "original_id": 663 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 664, - "created_at": 1673923149 + "id": 452, + "created_at": 1673923149, + "original_id": 664 }, { "type": "lay_tile", "entity": "SR", "entity_type": "corporation", - "id": 665, + "id": 453, "created_at": 1673923161, "hex": "G5", "tile": "82-0", - "rotation": 4 + "rotation": 4, + "original_id": 665 }, { "type": "lay_tile", "entity": "SR", "entity_type": "corporation", - "id": 666, + "id": 454, "created_at": 1673923164, "hex": "G9", "tile": "9-8", - "rotation": 1 + "rotation": 1, + "original_id": 666 }, { "type": "choose", - "choice": "2-0", "entity": "SR", "entity_type": "corporation", - "id": 667, - "user": 605, - "created_at": 1673923168 + "id": 455, + "created_at": 1673923218, + "choice": "2-0", + "original_id": 674 }, { "type": "run_routes", "entity": "SR", + "entity_type": "corporation", + "id": 456, + "created_at": 1673923222, "routes": [ { - "hexes": [ - "G7", - "G11" - ], - "nodes": [ - "G7-0", - "G11-0" - ], "train": "2+-2", - "revenue": 50, "connections": [ [ - "G7", - "G9", - "G11" - ] - ], - "revenue_str": "G7-G11" - }, - { - "hexes": [ - "G7", - "G3" - ], - "nodes": [ - "G7-0", - "G3-0" - ], - "train": "2+-1", - "revenue": 70, - "connections": [ - [ - "G7", - "G5", - "G3" - ] - ], - "revenue_str": "G7-G3" - }, - { - "hexes": [ - "G11", - "H14" - ], - "nodes": [ - "G11-0", - "H14-0" - ], - "train": "2-10", - "revenue": 80, - "connections": [ - [ - "G11", - "H12", - "H14" - ] - ], - "revenue_str": "G11-H14" - } - ], - "entity_type": "corporation", - "id": 668, - "user": 605, - "created_at": 1673923175 - }, - { - "kind": "payout", - "type": "dividend", - "entity": "SR", - "entity_type": "corporation", - "id": 669, - "user": 605, - "created_at": 1673923187 - }, - { - "type": "pass", - "entity": "SR", - "entity_type": "corporation", - "id": 670, - "user": 605, - "created_at": 1673923193 - }, - { - "type": "undo", - "entity": "MILW", - "entity_type": "corporation", - "id": 671, - "user": 605, - "created_at": 1673923206 - }, - { - "type": "undo", - "entity": "SR", - "action_id": 666, - "entity_type": "corporation", - "id": 673, - "user": 605, - "created_at": 1673923216 - }, - { - "type": "choose", - "entity": "SR", - "entity_type": "corporation", - "id": 674, - "created_at": 1673923218, - "choice": "2-0" - }, - { - "type": "run_routes", - "entity": "SR", - "entity_type": "corporation", - "id": 675, - "created_at": 1673923222, - "routes": [ - { - "train": "2+-2", - "connections": [ - [ - "G11", - "H12", - "H14" - ], - [ - "H14", - "G15", - "H16", - "I17", - "I19" + "G11", + "H12", + "H14" + ], + [ + "H14", + "G15", + "H16", + "I17", + "I19" ] ], "hexes": [ @@ -5351,186 +5039,154 @@ "G3-0" ] } - ] + ], + "original_id": 675 }, { "type": "dividend", "entity": "SR", "entity_type": "corporation", - "id": 676, + "id": 457, "created_at": 1673923225, - "kind": "payout" + "kind": "payout", + "original_id": 676 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 677, - "created_at": 1673923228 - }, - { - "hex": "G25", - "tile": "83-0", - "type": "lay_tile", - "entity": "MILW", - "rotation": 3, - "entity_type": "corporation", - "id": 679, - "user": 4281, - "created_at": 1673923250 - }, - { - "type": "pass", - "entity": "MILW", - "entity_type": "corporation", - "id": 680, - "user": 4281, - "created_at": 1673923257 - }, - { - "type": "undo", - "entity": "MILW", - "action_id": 677, - "entity_type": "corporation", - "id": 681, - "user": 4281, - "created_at": 1673923318 - }, - { - "hex": "E27", - "tile": "83-0", - "type": "lay_tile", - "entity": "MILW", - "rotation": 3, - "entity_type": "corporation", - "id": 682, - "user": 4281, - "created_at": 1673923323 - }, - { - "type": "undo", - "entity": "MILW", - "action_id": 677, - "entity_type": "corporation", - "id": 683, - "user": 4281, - "created_at": 1673923359 + "id": 458, + "created_at": 1673923228, + "original_id": 677 }, { "type": "lay_tile", "entity": "MILW", "entity_type": "corporation", - "id": 684, + "id": 459, "created_at": 1673923361, "hex": "G25", "tile": "83-0", - "rotation": 3 + "rotation": 3, + "original_id": 684 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 685, - "created_at": 1673923364 + "id": 460, + "created_at": 1673923364, + "original_id": 685 }, { "type": "take_loan", "entity": "MILW", "entity_type": "corporation", - "id": 686, + "id": 461, "created_at": 1673923375, - "loan": 24 + "loan": 24, + "original_id": 686 }, { "type": "take_loan", "entity": "MILW", "entity_type": "corporation", - "id": 687, + "id": 462, "created_at": 1673923376, - "loan": 25 + "loan": 25, + "original_id": 687 }, { "type": "buy_train", "entity": "MILW", "entity_type": "corporation", - "id": 688, + "id": 463, "created_at": 1673923379, "train": "3-3", "price": 250, - "variant": "3" + "variant": "3", + "original_id": 688 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 689, - "created_at": 1673923460 + "id": 464, + "created_at": 1673923460, + "original_id": 689 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", - "id": 690, + "id": 465, "created_at": 1673923475, "hex": "D22", "tile": "81-0", - "rotation": 1 + "rotation": 1, + "original_id": 690 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 691, - "created_at": 1673923479 + "id": 466, + "created_at": 1673923479, + "original_id": 691 }, { "type": "take_loan", "entity": "IC", "entity_type": "corporation", - "id": 692, + "id": 467, "created_at": 1673923481, - "loan": 26 + "loan": 26, + "original_id": 692 }, { "type": "take_loan", "entity": "IC", "entity_type": "corporation", - "id": 693, + "id": 468, "created_at": 1673923482, - "loan": 27 + "loan": 27, + "original_id": 693 }, { "type": "buy_train", "entity": "IC", "entity_type": "corporation", - "id": 694, + "id": 469, "created_at": 1673923483, "train": "3-4", "price": 250, - "variant": "3" + "variant": "3", + "original_id": 694 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 695, - "created_at": 1673923485 + "id": 470, + "created_at": 1673923485, + "original_id": 695 }, { "type": "lay_tile", "entity": "SP", "entity_type": "corporation", - "id": 696, + "id": 471, "created_at": 1673923492, "hex": "D28", "tile": "X12-0", - "rotation": 0 + "rotation": 0, + "original_id": 696 }, { "type": "run_routes", "entity": "SP", "entity_type": "corporation", - "id": 697, + "id": 472, "created_at": 1673923498, "routes": [ { @@ -5574,60 +5230,67 @@ "D28-1" ] } - ] + ], + "original_id": 697 }, { "type": "dividend", "entity": "SP", "entity_type": "corporation", - "id": 698, + "id": 473, "created_at": 1673923538, - "kind": "withhold" + "kind": "withhold", + "original_id": 698 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 699, - "created_at": 1673923543 + "id": 474, + "created_at": 1673923543, + "original_id": 699 }, { "type": "payoff_loan", "entity": "SP", "entity_type": "corporation", - "id": 700, + "id": 475, "created_at": 1673923545, - "loan": 7 + "loan": 7, + "original_id": 700 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 701, - "created_at": 1673923548 + "id": 476, + "created_at": 1673923548, + "original_id": 701 }, { "type": "lay_tile", "entity": "NYC", "entity_type": "corporation", - "id": 702, + "id": 477, "created_at": 1673923584, "hex": "D26", "tile": "81coal-0", - "rotation": 0 + "rotation": 0, + "original_id": 702 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 703, - "created_at": 1673923593 + "id": 478, + "created_at": 1673923593, + "original_id": 703 }, { "type": "run_routes", "entity": "NYC", "entity_type": "corporation", - "id": 704, + "id": 479, "created_at": 1673923594, "routes": [ { @@ -5651,83 +5314,81 @@ "F26-0" ] } - ] + ], + "original_id": 704 }, { "type": "dividend", "entity": "NYC", "entity_type": "corporation", - "id": 705, + "id": 480, "created_at": 1673923598, - "kind": "payout" + "kind": "payout", + "original_id": 705 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 706, - "created_at": 1673923612 + "id": 481, + "created_at": 1673923612, + "original_id": 706 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 707, - "created_at": 1673923613 + "id": 482, + "created_at": 1673923613, + "original_id": 707 }, { - "hex": "H22", - "tile": "592-1", "type": "lay_tile", "entity": "C&O", - "rotation": 1, "entity_type": "corporation", - "id": 708, - "user": 4281, - "created_at": 1673923620 + "id": 483, + "created_at": 1673923870, + "hex": "H22", + "tile": "592-1", + "rotation": 1, + "original_id": 724 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 709, - "user": 4281, - "created_at": 1673923624 + "id": 484, + "created_at": 1673923873, + "original_id": 725 }, { "type": "run_routes", "entity": "C&O", + "entity_type": "corporation", + "id": 485, + "created_at": 1673923875, "routes": [ { - "hexes": [ - "H22", - "H20" - ], - "nodes": [ - "H22-0", - "H20-0" - ], "train": "2+-4", - "revenue": 70, "connections": [ [ "H22", "H20" ] ], - "revenue_str": "H22-H20" - }, - { "hexes": [ - "E23", - "C23" + "H22", + "H20" ], + "revenue": 70, + "revenue_str": "H22-H20", "nodes": [ - "E23-0", - "C23-0" - ], + "H22-0", + "H20-0" + ] + }, + { "train": "2-8", - "revenue": 70, "connections": [ [ "E23", @@ -5735,273 +5396,18 @@ "C23" ] ], - "revenue_str": "E23-C23" - }, - { "hexes": [ - "H22", - "E23" + "E23", + "C23" ], + "revenue": 70, + "revenue_str": "E23-C23", "nodes": [ - "H22-0", - "E23-0" - ], - "train": "2-7", - "revenue": 80, - "connections": [ - [ - "H22", - "I23", - "H24", - "G25", - "F24", - "E23" - ] - ], - "revenue_str": "H22-E23" - } - ], - "entity_type": "corporation", - "id": 710, - "user": 4281, - "created_at": 1673923627 - }, - { - "kind": "half", - "type": "dividend", - "entity": "C&O", - "entity_type": "corporation", - "id": 711, - "user": 4281, - "created_at": 1673923635 - }, - { - "type": "pass", - "entity": "C&O", - "entity_type": "corporation", - "id": 712, - "user": 4281, - "created_at": 1673923642 - }, - { - "loan": 4, - "type": "payoff_loan", - "entity": "C&O", - "entity_type": "corporation", - "id": 713, - "user": 4281, - "created_at": 1673923642 - }, - { - "loan": 5, - "type": "payoff_loan", - "entity": "C&O", - "entity_type": "corporation", - "id": 714, - "user": 4281, - "created_at": 1673923643 - }, - { - "type": "undo", - "entity": "C&O", - "action_id": 707, - "entity_type": "corporation", - "id": 715, - "user": 4281, - "created_at": 1673923665 - }, - { - "hex": "H22", - "tile": "592-1", - "type": "lay_tile", - "entity": "C&O", - "rotation": 1, - "entity_type": "corporation", - "id": 716, - "user": 4281, - "created_at": 1673923668 - }, - { - "type": "pass", - "entity": "C&O", - "entity_type": "corporation", - "id": 717, - "user": 4281, - "created_at": 1673923670 - }, - { - "type": "run_routes", - "entity": "C&O", - "routes": [ - { - "hexes": [ - "H22", - "H20" - ], - "nodes": [ - "H22-0", - "H20-0" - ], - "train": "2+-4", - "revenue": 70, - "connections": [ - [ - "H22", - "H20" - ] - ], - "revenue_str": "H22-H20" - }, - { - "hexes": [ - "E23", - "C23" - ], - "nodes": [ - "E23-0", - "C23-0" - ], - "train": "2-8", - "revenue": 70, - "connections": [ - [ - "E23", - "D22", - "C23" - ] - ], - "revenue_str": "E23-C23" - }, - { - "hexes": [ - "H22", - "E23" - ], - "nodes": [ - "H22-0", - "E23-0" - ], - "train": "2-7", - "revenue": 80, - "connections": [ - [ - "H22", - "I23", - "H24", - "G25", - "F24", - "E23" - ] - ], - "revenue_str": "H22-E23" - } - ], - "entity_type": "corporation", - "id": 718, - "user": 4281, - "created_at": 1673923674 - }, - { - "kind": "payout", - "type": "dividend", - "entity": "C&O", - "entity_type": "corporation", - "id": 719, - "user": 4281, - "created_at": 1673923676 - }, - { - "type": "buy_train", - "price": 62, - "train": "2-4", - "entity": "C&O", - "entity_type": "corporation", - "id": 720, - "user": 4281, - "created_at": 1673923798 - }, - { - "loan": 4, - "type": "payoff_loan", - "entity": "C&O", - "entity_type": "corporation", - "id": 721, - "user": 4281, - "created_at": 1673923811 - }, - { - "type": "undo", - "entity": "C&O", - "action_id": 707, - "entity_type": "corporation", - "id": 723, - "user": 4281, - "created_at": 1673923867 - }, - { - "type": "lay_tile", - "entity": "C&O", - "entity_type": "corporation", - "id": 724, - "created_at": 1673923870, - "hex": "H22", - "tile": "592-1", - "rotation": 1 - }, - { - "type": "pass", - "entity": "C&O", - "entity_type": "corporation", - "id": 725, - "created_at": 1673923873 - }, - { - "type": "run_routes", - "entity": "C&O", - "entity_type": "corporation", - "id": 726, - "created_at": 1673923875, - "routes": [ - { - "train": "2+-4", - "connections": [ - [ - "H22", - "H20" - ] - ], - "hexes": [ - "H22", - "H20" - ], - "revenue": 70, - "revenue_str": "H22-H20", - "nodes": [ - "H22-0", - "H20-0" - ] - }, - { - "train": "2-8", - "connections": [ - [ - "E23", - "D22", - "C23" - ] - ], - "hexes": [ - "E23", - "C23" - ], - "revenue": 70, - "revenue_str": "E23-C23", - "nodes": [ - "E23-0", - "C23-0" - ] - }, - { + "E23-0", + "C23-0" + ] + }, + { "train": "2-7", "connections": [ [ @@ -6024,68 +5430,76 @@ "E23-0" ] } - ] + ], + "original_id": 726 }, { "type": "dividend", "entity": "C&O", "entity_type": "corporation", - "id": 727, + "id": 486, "created_at": 1673923888, - "kind": "half" + "kind": "half", + "original_id": 727 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 728, - "created_at": 1673923895 + "id": 487, + "created_at": 1673923895, + "original_id": 728 }, { "type": "payoff_loan", "entity": "C&O", "entity_type": "corporation", - "id": 729, + "id": 488, "created_at": 1673923896, - "loan": 4 + "loan": 4, + "original_id": 729 }, { "type": "payoff_loan", "entity": "C&O", "entity_type": "corporation", - "id": 730, + "id": 489, "created_at": 1673923897, - "loan": 5 + "loan": 5, + "original_id": 730 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 731, - "created_at": 1673923900 + "id": 490, + "created_at": 1673923900, + "original_id": 731 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", - "id": 732, + "id": 491, "created_at": 1673923945, "hex": "G11", "tile": "15-2", - "rotation": 4 + "rotation": 4, + "original_id": 732 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 733, - "created_at": 1673923953 + "id": 492, + "created_at": 1673923953, + "original_id": 733 }, { "type": "run_routes", "entity": "B&O", "entity_type": "corporation", - "id": 734, + "id": 493, "created_at": 1673923960, "routes": [ { @@ -6129,45 +5543,50 @@ "J20-0" ] } - ] + ], + "original_id": 734 }, { "type": "dividend", "entity": "B&O", "entity_type": "corporation", - "id": 735, + "id": 494, "created_at": 1673923977, - "kind": "half" + "kind": "half", + "original_id": 735 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 736, - "created_at": 1673924011 + "id": 495, + "created_at": 1673924011, + "original_id": 736 }, { "type": "lay_tile", "entity": "WP", "entity_type": "corporation", - "id": 737, + "id": 496, "created_at": 1673924017, "hex": "H6", "tile": "9-9", - "rotation": 2 + "rotation": 2, + "original_id": 737 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 738, - "created_at": 1673924020 + "id": 497, + "created_at": 1673924020, + "original_id": 738 }, { "type": "run_routes", "entity": "WP", "entity_type": "corporation", - "id": 739, + "id": 498, "created_at": 1673924022, "routes": [ { @@ -6210,220 +5629,246 @@ "E1-0" ] } - ] + ], + "original_id": 739 }, { "type": "dividend", "entity": "WP", "entity_type": "corporation", - "id": 740, + "id": 499, "created_at": 1673924023, - "kind": "withhold" + "kind": "withhold", + "original_id": 740 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 741, - "created_at": 1673924026 + "id": 500, + "created_at": 1673924026, + "original_id": 741 }, { "type": "payoff_loan", "entity": "WP", "entity_type": "corporation", - "id": 742, + "id": 501, "created_at": 1673924028, - "loan": 11 + "loan": 11, + "original_id": 742 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 743, - "created_at": 1673924030 + "id": 502, + "created_at": 1673924030, + "original_id": 743 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 744, - "created_at": 1673924036 + "id": 503, + "created_at": 1673924036, + "original_id": 744 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 745, - "created_at": 1673924065 + "id": 504, + "created_at": 1673924065, + "original_id": 745 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 746, - "created_at": 1673924072 + "id": 505, + "created_at": 1673924072, + "original_id": 746 }, { "type": "convert", "entity": "UP", "entity_type": "corporation", - "id": 747, - "created_at": 1673924096 + "id": 506, + "created_at": 1673924096, + "original_id": 747 }, { "type": "buy_shares", "entity": 4281, "entity_type": "player", - "id": 748, + "id": 507, "created_at": 1673924098, "shares": [ "UP_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 748 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 749, - "created_at": 1673924113 + "id": 508, + "created_at": 1673924113, + "original_id": 749 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 750, - "created_at": 1673924142 + "id": 509, + "created_at": 1673924142, + "original_id": 750 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 751, - "created_at": 1673924153 + "id": 510, + "created_at": 1673924153, + "original_id": 751 }, { "type": "convert", "entity": "SR", "entity_type": "corporation", - "id": 752, - "created_at": 1673924162 + "id": 511, + "created_at": 1673924162, + "original_id": 752 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 753, + "id": 512, "created_at": 1673924164, "shares": [ "SR_1" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 753 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 754, + "id": 513, "created_at": 1673924164, "shares": [ "SR_2" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 754 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 755, + "id": 514, "created_at": 1673924165, "shares": [ "SR_3" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 755 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 756, + "id": 515, "created_at": 1673924181, "shares": [ "SR_10" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 756 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 757, + "id": 516, "created_at": 1673924211, "shares": [ "SR_4" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 757 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 758, - "created_at": 1673924218 + "id": 517, + "created_at": 1673924218, + "original_id": 758 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 759, - "created_at": 1673924236 + "id": 518, + "created_at": 1673924236, + "original_id": 759 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 760, - "created_at": 1673924241 + "id": 519, + "created_at": 1673924241, + "original_id": 760 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 761, - "created_at": 1673924273 + "id": 520, + "created_at": 1673924273, + "original_id": 761 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 762, - "created_at": 1673924279 + "id": 521, + "created_at": 1673924279, + "original_id": 762 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 763, - "created_at": 1673924281 + "id": 522, + "created_at": 1673924281, + "original_id": 763 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 764, - "created_at": 1673924290 + "id": 523, + "created_at": 1673924290, + "original_id": 764 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 765, + "id": 524, "created_at": 1673924293, "corporations_by_round": { "AR": [ @@ -6437,57 +5882,66 @@ "TP" ] }, - "options": [] + "options": [ + + ], + "original_id": 765 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 766, - "created_at": 1673924297 + "id": 525, + "created_at": 1673924297, + "original_id": 766 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 767, - "created_at": 1673924302 + "id": 526, + "created_at": 1673924302, + "original_id": 767 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 768, - "created_at": 1673924303 + "id": 527, + "created_at": 1673924303, + "original_id": 768 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 769, - "created_at": 1673924305 + "id": 528, + "created_at": 1673924305, + "original_id": 769 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 770, - "created_at": 1673924307 + "id": 529, + "created_at": 1673924307, + "original_id": 770 }, { "type": "program_share_pass", "entity": 605, "entity_type": "player", - "id": 771, + "id": 530, "created_at": 1673924323, "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 771 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 772, + "id": 531, "created_at": 1673924332, "auto_actions": [ { @@ -6496,27 +5950,30 @@ "entity_type": "player", "created_at": 1673924330 } - ] + ], + "original_id": 772 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 773, - "created_at": 1673924337 + "id": 532, + "created_at": 1673924337, + "original_id": 773 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 774, - "created_at": 1673924338 + "id": 533, + "created_at": 1673924338, + "original_id": 774 }, { "type": "program_merger_pass", "entity": 605, "entity_type": "player", - "id": 775, + "id": 534, "created_at": 1673924342, "corporations_by_round": { "AR": [ @@ -6532,20 +5989,22 @@ }, "options": [ "disable_others" - ] + ], + "original_id": 775 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 776, - "created_at": 1673924351 + "id": 535, + "created_at": 1673924351, + "original_id": 776 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 777, + "id": 536, "created_at": 1673924356, "auto_actions": [ { @@ -6554,20 +6013,22 @@ "entity_type": "player", "created_at": 1673924356 } - ] + ], + "original_id": 777 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 778, - "created_at": 1673924363 + "id": 537, + "created_at": 1673924363, + "original_id": 778 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 779, + "id": 538, "created_at": 1673924369, "auto_actions": [ { @@ -6576,37 +6037,41 @@ "entity_type": "player", "created_at": 1673924369 } - ] + ], + "original_id": 779 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 780, - "created_at": 1673924371 + "id": 539, + "created_at": 1673924371, + "original_id": 780 }, { "type": "lay_tile", "entity": "GN", "entity_type": "corporation", - "id": 782, + "id": 540, "created_at": 1673924387, "hex": "B4", "tile": "83-1", - "rotation": 1 + "rotation": 1, + "original_id": 782 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 783, - "created_at": 1673924388 + "id": 541, + "created_at": 1673924388, + "original_id": 783 }, { "type": "run_routes", "entity": "GN", "entity_type": "corporation", - "id": 785, + "id": 542, "created_at": 1673924394, "routes": [ { @@ -6648,71 +6113,79 @@ "E1-0" ] } - ] + ], + "original_id": 785 }, { "type": "dividend", "entity": "GN", "entity_type": "corporation", - "id": 786, + "id": 543, "created_at": 1673924449, - "kind": "half" + "kind": "half", + "original_id": 786 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 787, + "id": 544, "created_at": 1673924452, - "loan": 28 + "loan": 28, + "original_id": 787 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 788, + "id": 545, "created_at": 1673924452, - "loan": 29 + "loan": 29, + "original_id": 788 }, { "type": "buy_train", "entity": "GN", "entity_type": "corporation", - "id": 789, + "id": 546, "created_at": 1673924458, "train": "3-5", "price": 250, - "variant": "3" + "variant": "3", + "original_id": 789 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 790, - "created_at": 1673924460 + "id": 547, + "created_at": 1673924460, + "original_id": 790 }, { "type": "lay_tile", "entity": "TP", "entity_type": "corporation", - "id": 792, + "id": 548, "created_at": 1673924497, "hex": "I15", "tile": "6-6", - "rotation": 0 + "rotation": 0, + "original_id": 792 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 793, - "created_at": 1673924502 + "id": 549, + "created_at": 1673924502, + "original_id": 793 }, { "type": "run_routes", "entity": "TP", "entity_type": "corporation", - "id": 794, + "id": 550, "created_at": 1673924506, "routes": [ { @@ -6757,79 +6230,69 @@ "G11-0" ] } - ] - }, - { - "kind": "half", - "type": "dividend", - "entity": "TP", - "entity_type": "corporation", - "id": 795, - "user": 4440, - "created_at": 1673924510 - }, - { - "type": "undo", - "entity": "TP", - "entity_type": "corporation", - "id": 796, - "user": 4440, - "created_at": 1673924524 + ], + "original_id": 794 }, { "type": "dividend", "entity": "TP", "entity_type": "corporation", - "id": 798, + "id": 551, "created_at": 1673924605, - "kind": "withhold" + "kind": "withhold", + "original_id": 798 }, { "type": "buy_train", "entity": "TP", "entity_type": "corporation", - "id": 799, + "id": 552, "created_at": 1673924607, "train": "3-6", "price": 250, - "variant": "3" + "variant": "3", + "original_id": 799 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 800, - "created_at": 1673924609 + "id": 553, + "created_at": 1673924609, + "original_id": 800 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 801, - "created_at": 1673924613 + "id": 554, + "created_at": 1673924613, + "original_id": 801 }, { "type": "lay_tile", "entity": "ATSF", "entity_type": "corporation", - "id": 802, + "id": 555, "created_at": 1673924647, "hex": "H20", "tile": "619-0", - "rotation": 2 + "rotation": 2, + "original_id": 802 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 803, - "created_at": 1673924652 + "id": 556, + "created_at": 1673924652, + "original_id": 803 }, { "type": "run_routes", "entity": "ATSF", "entity_type": "corporation", - "id": 804, + "id": 557, "created_at": 1673924656, "routes": [ { @@ -6861,80 +6324,89 @@ "G11-0" ] } - ] + ], + "original_id": 804 }, { "type": "dividend", "entity": "ATSF", "entity_type": "corporation", - "id": 805, + "id": 558, "created_at": 1673924658, - "kind": "payout" + "kind": "payout", + "original_id": 805 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 806, - "created_at": 1673924661 + "id": 559, + "created_at": 1673924661, + "original_id": 806 }, { "type": "payoff_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 807, + "id": 560, "created_at": 1673924663, - "loan": 22 + "loan": 22, + "original_id": 807 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 808, - "created_at": 1673924665 + "id": 561, + "created_at": 1673924665, + "original_id": 808 }, { "type": "lay_tile", "entity": "UP", "entity_type": "corporation", - "id": 809, + "id": 562, "created_at": 1673924670, "hex": "B14", "tile": "14-1", - "rotation": 0 + "rotation": 0, + "original_id": 809 }, { "type": "lay_tile", "entity": "P17", "entity_type": "company", - "id": 810, + "id": 563, "created_at": 1673924683, "hex": "B16", "tile": "9-10", - "rotation": 1 + "rotation": 1, + "original_id": 810 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 811, - "created_at": 1673924687 + "id": 564, + "created_at": 1673924687, + "original_id": 811 }, { "type": "place_token", "entity": "UP", "entity_type": "corporation", - "id": 812, + "id": 565, "created_at": 1673924689, "city": "14-0-0", "slot": 1, - "tokener": "UP" + "tokener": "UP", + "original_id": 812 }, { "type": "run_routes", "entity": "UP", "entity_type": "corporation", - "id": 813, + "id": 566, "created_at": 1673924699, "routes": [ { @@ -6961,206 +6433,127 @@ { "train": "2-4", "connections": [ - [ - "B8", - "B10", - "B12", - "B14" - ] - ], - "hexes": [ - "B8", - "B14" - ], - "revenue": 110, - "revenue_str": "B8-B14 + GNR Bonus", - "nodes": [ - "B8-0", - "B14-0" - ] - } - ] - }, - { - "type": "take_loan", - "entity": "UP", - "entity_type": "corporation", - "id": 814, - "created_at": 1673924710, - "loan": 30 - }, - { - "loan": 31, - "type": "take_loan", - "entity": "UP", - "entity_type": "corporation", - "id": 815, - "user": 4281, - "created_at": 1673924711 - }, - { - "kind": "payout", - "type": "dividend", - "entity": "UP", - "entity_type": "corporation", - "id": 816, - "user": 4281, - "created_at": 1673924729 - }, - { - "type": "buy_train", - "price": 250, - "train": "3-7", - "entity": "UP", - "variant": "3", - "entity_type": "corporation", - "id": 817, - "user": 4281, - "created_at": 1673924734 - }, - { - "type": "undo", - "entity": "UP", - "entity_type": "corporation", - "id": 818, - "user": 4281, - "created_at": 1673924759 - }, - { - "type": "undo", - "entity": "UP", - "entity_type": "corporation", - "id": 819, - "user": 4281, - "created_at": 1673924761 + [ + "B8", + "B10", + "B12", + "B14" + ] + ], + "hexes": [ + "B8", + "B14" + ], + "revenue": 110, + "revenue_str": "B8-B14 + GNR Bonus", + "nodes": [ + "B8-0", + "B14-0" + ] + } + ], + "original_id": 813 }, { - "type": "undo", + "type": "take_loan", "entity": "UP", "entity_type": "corporation", - "id": 820, - "user": 4281, - "created_at": 1673924766 + "id": 567, + "created_at": 1673924710, + "loan": 30, + "original_id": 814 }, { "type": "dividend", "entity": "UP", "entity_type": "corporation", - "id": 821, + "id": 568, "created_at": 1673924768, - "kind": "half" + "kind": "half", + "original_id": 821 }, { "type": "buy_train", "entity": "UP", "entity_type": "corporation", - "id": 822, + "id": 569, "created_at": 1673924773, "train": "3-7", "price": 250, - "variant": "3" + "variant": "3", + "original_id": 822 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 823, - "created_at": 1673924777 + "id": 570, + "created_at": 1673924777, + "original_id": 823 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 824, - "created_at": 1673924812 + "id": 571, + "created_at": 1673924812, + "original_id": 824 }, { "type": "lay_tile", "entity": "SR", "entity_type": "corporation", - "id": 825, + "id": 572, "created_at": 1673924824, "hex": "G13", "tile": "8-5", - "rotation": 5 - }, - { - "type": "pass", - "entity": "SR", - "entity_type": "corporation", - "id": 826, - "user": 605, - "created_at": 1673924827 - }, - { - "city": "X10-0-0", - "slot": 1, - "type": "place_token", - "entity": "SR", - "tokener": "SR", - "entity_type": "corporation", - "id": 827, - "user": 605, - "created_at": 1673924829 - }, - { - "type": "undo", - "entity": "SR", - "action_id": 826, - "entity_type": "corporation", - "id": 828, - "user": 605, - "created_at": 1673924840 - }, - { - "type": "undo", - "entity": "SR", - "action_id": 825, - "entity_type": "corporation", - "id": 829, - "user": 605, - "created_at": 1673924856 + "rotation": 5, + "original_id": 825 }, { "type": "place_token", "entity": "P20", "entity_type": "company", - "id": 830, + "id": 573, "created_at": 1673924859, "city": "X11-0-0", "slot": true, - "tokener": "SR" + "tokener": "SR", + "original_id": 830 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 831, - "created_at": 1673924864 + "id": 574, + "created_at": 1673924864, + "original_id": 831 }, { "type": "place_token", "entity": "SR", "entity_type": "corporation", - "id": 832, + "id": 575, "created_at": 1673924866, "city": "X10-0-0", "slot": 1, - "tokener": "SR" + "tokener": "SR", + "original_id": 832 }, { "type": "choose", "entity": "SR", "entity_type": "corporation", - "id": 833, + "id": 576, "created_at": 1673924869, - "choice": "2-0" + "choice": "2-0", + "original_id": 833 }, { "type": "run_routes", "entity": "SR", "entity_type": "corporation", - "id": 834, + "id": 577, "created_at": 1673924896, "routes": [ { @@ -7233,71 +6626,79 @@ "I19-0" ] } - ] + ], + "original_id": 834 }, { "type": "dividend", "entity": "SR", "entity_type": "corporation", - "id": 835, + "id": 578, "created_at": 1673924898, - "kind": "payout" + "kind": "payout", + "original_id": 835 }, { "type": "buy_train", "entity": "SR", "entity_type": "corporation", - "id": 836, + "id": 579, "created_at": 1673924910, "train": "3-8", "price": 250, - "variant": "3" + "variant": "3", + "original_id": 836 }, { "type": "payoff_loan", "entity": "SR", "entity_type": "corporation", - "id": 837, + "id": 580, "created_at": 1673924912, - "loan": 6 + "loan": 6, + "original_id": 837 }, { "type": "payoff_loan", "entity": "SR", "entity_type": "corporation", - "id": 838, + "id": 581, "created_at": 1673924914, - "loan": 13 + "loan": 13, + "original_id": 838 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 839, - "created_at": 1673924918 + "id": 582, + "created_at": 1673924918, + "original_id": 839 }, { "type": "lay_tile", "entity": "PRR", "entity_type": "corporation", - "id": 840, + "id": 583, "created_at": 1673924971, "hex": "D24", "tile": "15-3", - "rotation": 4 + "rotation": 4, + "original_id": 840 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 841, - "created_at": 1673924973 + "id": 584, + "created_at": 1673924973, + "original_id": 841 }, { "type": "run_routes", "entity": "PRR", "entity_type": "corporation", - "id": 842, + "id": 585, "created_at": 1673924983, "routes": [ { @@ -7327,60 +6728,67 @@ "E23-0" ] } - ] + ], + "original_id": 842 }, { "type": "dividend", "entity": "PRR", "entity_type": "corporation", - "id": 843, + "id": 586, "created_at": 1673924988, - "kind": "half" + "kind": "half", + "original_id": 843 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 844, - "created_at": 1673924990 + "id": 587, + "created_at": 1673924990, + "original_id": 844 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 845, - "created_at": 1673924993 + "id": 588, + "created_at": 1673924993, + "original_id": 845 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 846, + "id": 589, "created_at": 1673925011, "hex": "G7", "tile": "15-4", - "rotation": 1 + "rotation": 1, + "original_id": 846 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 847, - "created_at": 1673925013 + "id": 590, + "created_at": 1673925013, + "original_id": 847 }, { "type": "choose", "entity": "SLSF", "entity_type": "corporation", - "id": 848, + "id": 591, "created_at": 1673925017, - "choice": "2-0" + "choice": "2-0", + "original_id": 848 }, { "type": "run_routes", "entity": "SLSF", "entity_type": "corporation", - "id": 849, + "id": 592, "created_at": 1673925029, "routes": [ { @@ -7457,60 +6865,67 @@ "G3-0" ] } - ] + ], + "original_id": 849 }, { "type": "dividend", "entity": "SLSF", "entity_type": "corporation", - "id": 850, + "id": 593, "created_at": 1673925030, - "kind": "half" + "kind": "half", + "original_id": 850 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 851, - "created_at": 1673925034 + "id": 594, + "created_at": 1673925034, + "original_id": 851 }, { "type": "payoff_loan", "entity": "SLSF", "entity_type": "corporation", - "id": 852, + "id": 595, "created_at": 1673925035, - "loan": 0 + "loan": 0, + "original_id": 852 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 853, - "created_at": 1673925037 + "id": 596, + "created_at": 1673925037, + "original_id": 853 }, { "type": "lay_tile", "entity": "C&O", "entity_type": "corporation", - "id": 854, + "id": 597, "created_at": 1673925048, "hex": "D20", "tile": "6-0", - "rotation": 2 + "rotation": 2, + "original_id": 854 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 855, - "created_at": 1673925059 + "id": 598, + "created_at": 1673925059, + "original_id": 855 }, { "type": "run_routes", "entity": "C&O", "entity_type": "corporation", - "id": 856, + "id": 599, "created_at": 1673925063, "routes": [ { @@ -7575,60 +6990,67 @@ "E23-0" ] } - ] + ], + "original_id": 856 }, { "type": "dividend", "entity": "C&O", "entity_type": "corporation", - "id": 857, + "id": 600, "created_at": 1673925069, - "kind": "payout" + "kind": "payout", + "original_id": 857 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 858, - "created_at": 1673925080 + "id": 601, + "created_at": 1673925080, + "original_id": 858 }, { "type": "payoff_loan", "entity": "C&O", "entity_type": "corporation", - "id": 859, + "id": 602, "created_at": 1673925084, - "loan": 17 + "loan": 17, + "original_id": 859 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 860, - "created_at": 1673925102 + "id": 603, + "created_at": 1673925102, + "original_id": 860 }, { "type": "lay_tile", "entity": "NYC", "entity_type": "corporation", - "id": 861, + "id": 604, "created_at": 1673925124, "hex": "G19", "tile": "7-1", - "rotation": 5 + "rotation": 5, + "original_id": 861 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 862, - "created_at": 1673925130 + "id": 605, + "created_at": 1673925130, + "original_id": 862 }, { "type": "run_routes", "entity": "NYC", "entity_type": "corporation", - "id": 863, + "id": 606, "created_at": 1673925131, "routes": [ { @@ -7652,52 +7074,58 @@ "F26-0" ] } - ] + ], + "original_id": 863 }, { "type": "dividend", "entity": "NYC", "entity_type": "corporation", - "id": 864, + "id": 607, "created_at": 1673925133, - "kind": "payout" + "kind": "payout", + "original_id": 864 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 865, - "created_at": 1673925135 + "id": 608, + "created_at": 1673925135, + "original_id": 865 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 866, - "created_at": 1673925137 + "id": 609, + "created_at": 1673925137, + "original_id": 866 }, { "type": "lay_tile", "entity": "SP", "entity_type": "corporation", - "id": 867, + "id": 610, "created_at": 1673925144, "hex": "I23", "tile": "80-0", - "rotation": 1 + "rotation": 1, + "original_id": 867 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 868, - "created_at": 1673925151 + "id": 611, + "created_at": 1673925151, + "original_id": 868 }, { "type": "run_routes", "entity": "SP", "entity_type": "corporation", - "id": 869, + "id": 612, "created_at": 1673925164, "routes": [ { @@ -7741,61 +7169,68 @@ "D28-1" ] } - ] + ], + "original_id": 869 }, { "type": "dividend", "entity": "SP", "entity_type": "corporation", - "id": 870, + "id": 613, "created_at": 1673925166, - "kind": "payout" + "kind": "payout", + "original_id": 870 }, { "type": "buy_train", "entity": "SP", "entity_type": "corporation", - "id": 871, + "id": 614, "created_at": 1673925198, "train": "2-10", - "price": 51 + "price": 51, + "original_id": 871 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 872, - "created_at": 1673925200 + "id": 615, + "created_at": 1673925200, + "original_id": 872 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 873, - "created_at": 1673925208 + "id": 616, + "created_at": 1673925208, + "original_id": 873 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", - "id": 874, + "id": 617, "created_at": 1673925225, "hex": "I17", "tile": "82oil-0", - "rotation": 1 + "rotation": 1, + "original_id": 874 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 875, - "created_at": 1673925228 + "id": 618, + "created_at": 1673925228, + "original_id": 875 }, { "type": "run_routes", "entity": "B&O", "entity_type": "corporation", - "id": 876, + "id": 619, "created_at": 1673925234, "routes": [ { @@ -7839,68 +7274,76 @@ "J20-0" ] } - ] + ], + "original_id": 876 }, { "type": "dividend", "entity": "B&O", "entity_type": "corporation", - "id": 877, + "id": 620, "created_at": 1673925238, - "kind": "withhold" + "kind": "withhold", + "original_id": 877 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 878, - "created_at": 1673925241 + "id": 621, + "created_at": 1673925241, + "original_id": 878 }, { "type": "payoff_loan", "entity": "B&O", "entity_type": "corporation", - "id": 879, + "id": 622, "created_at": 1673925242, - "loan": 9 + "loan": 9, + "original_id": 879 }, { "type": "payoff_loan", "entity": "B&O", "entity_type": "corporation", - "id": 880, + "id": 623, "created_at": 1673925243, - "loan": 10 + "loan": 10, + "original_id": 880 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 881, - "created_at": 1673925247 + "id": 624, + "created_at": 1673925247, + "original_id": 881 }, { "type": "lay_tile", "entity": "MILW", "entity_type": "corporation", - "id": 882, + "id": 625, "created_at": 1673925269, "hex": "C19", "tile": "9-2", - "rotation": 2 + "rotation": 2, + "original_id": 882 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 883, - "created_at": 1673925271 + "id": 626, + "created_at": 1673925271, + "original_id": 883 }, { "type": "run_routes", "entity": "MILW", "entity_type": "corporation", - "id": 884, + "id": 627, "created_at": 1673925275, "routes": [ { @@ -7932,45 +7375,50 @@ "H22-0" ] } - ] + ], + "original_id": 884 }, { "type": "dividend", "entity": "MILW", "entity_type": "corporation", - "id": 885, + "id": 628, "created_at": 1673925277, - "kind": "payout" + "kind": "payout", + "original_id": 885 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 886, - "created_at": 1673925283 + "id": 629, + "created_at": 1673925283, + "original_id": 886 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", - "id": 887, + "id": 630, "created_at": 1673925307, "hex": "B26", "tile": "9-11", - "rotation": 0 + "rotation": 0, + "original_id": 887 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 888, - "created_at": 1673925310 + "id": 631, + "created_at": 1673925310, + "original_id": 888 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", - "id": 889, + "id": 632, "created_at": 1673925315, "routes": [ { @@ -8000,45 +7448,50 @@ "E23-0" ] } - ] + ], + "original_id": 889 }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", - "id": 890, + "id": 633, "created_at": 1673925317, - "kind": "half" + "kind": "half", + "original_id": 890 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 891, - "created_at": 1673925320 + "id": 634, + "created_at": 1673925320, + "original_id": 891 }, { "type": "lay_tile", "entity": "WP", "entity_type": "corporation", - "id": 892, + "id": 635, "created_at": 1673925341, "hex": "D2", "tile": "82-1", - "rotation": 3 + "rotation": 3, + "original_id": 892 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 893, - "created_at": 1673925343 + "id": 636, + "created_at": 1673925343, + "original_id": 893 }, { "type": "run_routes", "entity": "WP", "entity_type": "corporation", - "id": 894, + "id": 637, "created_at": 1673925346, "routes": [ { @@ -8081,49 +7534,55 @@ "E1-0" ] } - ] + ], + "original_id": 894 }, { "type": "dividend", "entity": "WP", "entity_type": "corporation", - "id": 895, + "id": 638, "created_at": 1673925348, - "kind": "payout" + "kind": "payout", + "original_id": 895 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 896, - "created_at": 1673925351 + "id": 639, + "created_at": 1673925351, + "original_id": 896 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 897, - "created_at": 1673925353 + "id": 640, + "created_at": 1673925353, + "original_id": 897 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 898, - "created_at": 1673925369 + "id": 641, + "created_at": 1673925369, + "original_id": 898 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 899, - "created_at": 1673925371 + "id": 642, + "created_at": 1673925371, + "original_id": 899 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 900, + "id": 643, "created_at": 1673925375, "corporations_by_round": { "AR": [ @@ -8137,13 +7596,16 @@ "TP" ] }, - "options": [] + "options": [ + + ], + "original_id": 900 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 901, + "id": 644, "created_at": 1673925379, "corporations_by_round": { "AR": [ @@ -8157,77 +7619,88 @@ "TP" ] }, - "options": [] + "options": [ + + ], + "original_id": 901 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 902, - "created_at": 1673925380 + "id": 645, + "created_at": 1673925380, + "original_id": 902 }, { "type": "merge", "entity": "C&O", "entity_type": "corporation", - "id": 903, + "id": 646, "created_at": 1673925419, - "corporation": "UP" + "corporation": "UP", + "original_id": 903 }, { "type": "discard_train", "entity": "C&O", "entity_type": "corporation", - "id": 904, + "id": 647, "created_at": 1673925422, - "train": "2-8" + "train": "2-8", + "original_id": 904 }, { "type": "discard_train", "entity": "C&O", "entity_type": "corporation", - "id": 905, + "id": 648, "created_at": 1673925424, - "train": "2-7" + "train": "2-7", + "original_id": 905 }, { "type": "sell_shares", "entity": 605, "entity_type": "player", - "id": 906, + "id": 649, "created_at": 1673925453, "shares": [ "C&O_1" ], - "percent": 10 + "percent": 10, + "original_id": 906 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 907, - "created_at": 1673925462 + "id": 650, + "created_at": 1673925462, + "original_id": 907 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 908, - "created_at": 1673925474 + "id": 651, + "created_at": 1673925474, + "original_id": 908 }, { "type": "take_loan", "entity": "C&O", "entity_type": "corporation", - "id": 909, + "id": 652, "created_at": 1673925493, - "loan": 31 + "loan": 31, + "original_id": 909 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 910, + "id": 653, "created_at": 1673925496, "auto_actions": [ { @@ -8242,20 +7715,22 @@ "entity_type": "corporation", "created_at": 1673925494 } - ] + ], + "original_id": 910 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 911, - "created_at": 1673925506 + "id": 654, + "created_at": 1673925506, + "original_id": 911 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 912, + "id": 655, "created_at": 1673925507, "auto_actions": [ { @@ -8264,20 +7739,22 @@ "entity_type": "corporation", "created_at": 1673925506 } - ] + ], + "original_id": 912 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 913, - "created_at": 1673925517 + "id": 656, + "created_at": 1673925517, + "original_id": 913 }, { "type": "program_merger_pass", "entity": 4281, "entity_type": "player", - "id": 914, + "id": 657, "created_at": 1673925523, "corporations_by_round": { "AR": [ @@ -8291,61 +7768,68 @@ }, "options": [ "disable_others" - ] + ], + "original_id": 914 }, { "type": "pass", "entity": "WP", "entity_type": "corporation", - "id": 915, - "created_at": 1673925534 + "id": 658, + "created_at": 1673925534, + "original_id": 915 }, { "type": "merge", "entity": "IC", "entity_type": "corporation", - "id": 916, + "id": 659, "created_at": 1673925536, - "corporation": "WP" + "corporation": "WP", + "original_id": 916 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 917, + "id": 660, "created_at": 1673925541, "shares": [ "IC_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 917 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 918, - "created_at": 1673925555 + "id": 661, + "created_at": 1673925555, + "original_id": 918 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 921, - "created_at": 1673925597 + "id": 662, + "created_at": 1673925597, + "original_id": 921 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 923, - "created_at": 1673925607 + "id": 663, + "created_at": 1673925607, + "original_id": 923 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 925, + "id": 664, "created_at": 1673925629, "auto_actions": [ { @@ -8360,20 +7844,22 @@ "entity_type": "player", "created_at": 1673925628 } - ] + ], + "original_id": 925 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 926, - "created_at": 1673925647 + "id": 665, + "created_at": 1673925647, + "original_id": 926 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 927, + "id": 666, "created_at": 1673925648, "auto_actions": [ { @@ -8394,272 +7880,302 @@ "entity_type": "player", "created_at": 1673925647 } - ] + ], + "original_id": 927 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 928, - "created_at": 1673925658 + "id": 667, + "created_at": 1673925658, + "original_id": 928 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 929, - "created_at": 1673925660 + "id": 668, + "created_at": 1673925660, + "original_id": 929 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 930, - "created_at": 1673925669 + "id": 669, + "created_at": 1673925669, + "original_id": 930 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 931, - "created_at": 1673925671 + "id": 670, + "created_at": 1673925671, + "original_id": 931 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 933, + "id": 671, "created_at": 1673925775, "shares": [ "IC_2" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 933 }, { "type": "buy_shares", "entity": 4281, "entity_type": "player", - "id": 934, + "id": 672, "created_at": 1673925789, "shares": [ "SR_5" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 934 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 935, + "id": 673, "created_at": 1673925830, "shares": [ "IC_3" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 935 }, { "type": "short", "entity": 1463, "entity_type": "player", - "id": 936, + "id": 674, "created_at": 1673925845, - "corporation": "ATSF" + "corporation": "ATSF", + "original_id": 936 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 937, + "id": 675, "created_at": 1673925867, "corporation": "UP", - "price": 400 + "price": 400, + "original_id": 937 }, { "type": "place_token", "entity": "UP", "entity_type": "corporation", - "id": 938, + "id": 676, "created_at": 1673925888, "city": "592-1-0", "slot": 1, - "tokener": "UP" + "tokener": "UP", + "original_id": 938 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 939, - "created_at": 1673925915 + "id": 677, + "created_at": 1673925915, + "original_id": 939 }, { "type": "choose", "entity": 1463, "entity_type": "player", - "id": 940, + "id": 678, "created_at": 1673925924, - "choice": 2 + "choice": 2, + "original_id": 940 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 941, + "id": 679, "created_at": 1673926020, - "loan": 32 + "loan": 32, + "original_id": 941 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 942, + "id": 680, "created_at": 1673926031, - "loan": 33 + "loan": 33, + "original_id": 942 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 943, + "id": 681, "created_at": 1673926039, - "loan": 34 + "loan": 34, + "original_id": 943 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 944, + "id": 682, "created_at": 1673926044, - "loan": 35 + "loan": 35, + "original_id": 944 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 945, + "id": 683, "created_at": 1673926047, - "loan": 36 + "loan": 36, + "original_id": 945 }, { "type": "buy_shares", "entity": "ATSF", "entity_type": "corporation", - "id": 946, + "id": 684, "created_at": 1673926052, "shares": [ "ATSF_10" ], - "percent": 20 + "percent": 20, + "original_id": 946 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 947, + "id": 685, "created_at": 1673926068, "shares": [ "ATSF_2" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 947 }, { "type": "buy_shares", "entity": 4281, "entity_type": "player", - "id": 948, + "id": 686, "created_at": 1673926075, "shares": [ "ATSF_3" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 948 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 949, + "id": 687, "created_at": 1673926087, "shares": [ "ATSF_10" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 949 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 950, - "created_at": 1673926099 + "id": 688, + "created_at": 1673926099, + "original_id": 950 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 953, - "created_at": 1673926132 + "id": 689, + "created_at": 1673926132, + "original_id": 953 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 954, - "created_at": 1673926139 + "id": 690, + "created_at": 1673926139, + "original_id": 954 }, { "type": "buy_shares", "entity": "C&O", "entity_type": "corporation", - "id": 955, + "id": 691, "created_at": 1673926151, "shares": [ "C&O_1" ], - "percent": 10 + "percent": 10, + "original_id": 955 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 957, + "id": 692, "created_at": 1673926192, "corporation": "MP", - "price": 400 + "price": 400, + "original_id": 957 }, { "type": "place_token", "entity": "MP", "entity_type": "corporation", - "id": 958, + "id": 693, "created_at": 1673926196, "city": "X12-0-0", "slot": 1, - "tokener": "MP" + "tokener": "MP", + "original_id": 958 }, { "type": "choose", "entity": 605, "entity_type": "player", - "id": 959, + "id": 694, "created_at": 1673926200, - "choice": 2 + "choice": 2, + "original_id": 959 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 960, - "created_at": 1673926220 + "id": 695, + "created_at": 1673926220, + "original_id": 960 }, { "type": "program_share_pass", "entity": 512, "entity_type": "player", - "id": 961, + "id": 696, "created_at": 1673926287, "auto_actions": [ { @@ -8670,40 +8186,44 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 961 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 962, + "id": 697, "user": 605, - "created_at": 1673926323 + "created_at": 1673926323, + "original_id": 962 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 963, - "created_at": 1673926330 + "id": 698, + "created_at": 1673926330, + "original_id": 963 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 965, + "id": 699, "created_at": 1673926339, "shares": [ "C&O_3" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 965 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 968, + "id": 700, "created_at": 1673926362, "auto_actions": [ { @@ -8712,142 +8232,159 @@ "entity_type": "player", "created_at": 1673926361 } - ] + ], + "original_id": 968 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 969, - "created_at": 1673926376 + "id": 701, + "created_at": 1673926376, + "original_id": 969 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 970, - "created_at": 1673926382 + "id": 702, + "created_at": 1673926382, + "original_id": 970 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 971, - "created_at": 1673926390 + "id": 703, + "created_at": 1673926390, + "original_id": 971 }, { "type": "lay_tile", "entity": "UP", "entity_type": "corporation", - "id": 972, + "id": 704, "created_at": 1673926415, "hex": "B26", "tile": "83-2", - "rotation": 0 + "rotation": 0, + "original_id": 972 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 973, - "created_at": 1673926417 + "id": 705, + "created_at": 1673926417, + "original_id": 973 }, { "type": "take_loan", "entity": "UP", "entity_type": "corporation", - "id": 974, + "id": 706, "created_at": 1673926422, - "loan": 37 + "loan": 37, + "original_id": 974 }, { "type": "take_loan", "entity": "UP", "entity_type": "corporation", - "id": 976, + "id": 707, "created_at": 1673926424, - "loan": 38 + "loan": 38, + "original_id": 976 }, { "type": "buy_train", "entity": "UP", "entity_type": "corporation", - "id": 977, + "id": 708, "created_at": 1673926429, "train": "3+-0", "price": 250, - "variant": "3+" + "variant": "3+", + "original_id": 977 }, { "type": "buy_train", "entity": "UP", "entity_type": "corporation", - "id": 978, + "id": 709, "created_at": 1673926430, "train": "3+-1", "price": 250, - "variant": "3+" + "variant": "3+", + "original_id": 978 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 979, - "created_at": 1673926452 + "id": 710, + "created_at": 1673926452, + "original_id": 979 }, { "type": "lay_tile", "entity": "MP", "entity_type": "corporation", - "id": 981, + "id": 711, "created_at": 1673926508, "hex": "C29", "tile": "15-5", - "rotation": 0 + "rotation": 0, + "original_id": 981 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 982, - "created_at": 1673926517 + "id": 712, + "created_at": 1673926517, + "original_id": 982 }, { "type": "buy_train", "entity": "MP", "entity_type": "corporation", - "id": 983, + "id": 713, "created_at": 1673926532, "train": "4-0", "price": 400, - "variant": "4" + "variant": "4", + "original_id": 983 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 984, - "created_at": 1673926534 + "id": 714, + "created_at": 1673926534, + "original_id": 984 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 985, - "created_at": 1673926535 + "id": 715, + "created_at": 1673926535, + "original_id": 985 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 986, - "created_at": 1673926588 + "id": 716, + "created_at": 1673926588, + "original_id": 986 }, { "type": "run_routes", "entity": "GN", "entity_type": "corporation", - "id": 987, + "id": 717, "created_at": 1673926592, "routes": [ { @@ -8876,53 +8413,59 @@ "E1-0" ] } - ] + ], + "original_id": 987 }, { "type": "dividend", "entity": "GN", "entity_type": "corporation", - "id": 988, + "id": 718, "created_at": 1673926593, - "kind": "half" + "kind": "half", + "original_id": 988 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 989, - "created_at": 1673926595 + "id": 719, + "created_at": 1673926595, + "original_id": 989 }, { "type": "lay_tile", "entity": "SR", "entity_type": "corporation", - "id": 990, + "id": 720, "created_at": 1673926639, "hex": "G9", "tile": "82-2", - "rotation": 1 + "rotation": 1, + "original_id": 990 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 991, - "created_at": 1673926642 + "id": 721, + "created_at": 1673926642, + "original_id": 991 }, { "type": "choose", "entity": "SR", "entity_type": "corporation", - "id": 992, + "id": 722, "created_at": 1673926647, - "choice": "0-0" + "choice": "0-0", + "original_id": 992 }, { "type": "run_routes", "entity": "SR", "entity_type": "corporation", - "id": 993, + "id": 723, "created_at": 1673926655, "routes": [ { @@ -9001,121 +8544,135 @@ "I15-0" ] } - ] + ], + "original_id": 993 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 994, + "id": 724, "created_at": 1673926658, - "loan": 39 + "loan": 39, + "original_id": 994 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 995, + "id": 725, "created_at": 1673926665, - "loan": 40 + "loan": 40, + "original_id": 995 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 996, + "id": 726, "created_at": 1673926668, - "loan": 41 + "loan": 41, + "original_id": 996 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 997, + "id": 727, "created_at": 1673926671, - "loan": 42 + "loan": 42, + "original_id": 997 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 998, + "id": 728, "created_at": 1673926676, - "loan": 43 + "loan": 43, + "original_id": 998 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 999, + "id": 729, "created_at": 1673926684, - "loan": 44 + "loan": 44, + "original_id": 999 }, { "type": "dividend", "entity": "SR", "entity_type": "corporation", - "id": 1000, + "id": 730, "created_at": 1673926692, - "kind": "half" + "kind": "half", + "original_id": 1000 }, { "type": "buy_train", "entity": "SR", "entity_type": "corporation", - "id": 1001, + "id": 731, "created_at": 1673926694, "train": "4-1", "price": 400, - "variant": "4" + "variant": "4", + "original_id": 1001 }, { "type": "buy_train", "entity": "SR", "entity_type": "corporation", - "id": 1002, + "id": 732, "created_at": 1673926701, "train": "4-2", "price": 400, - "variant": "4" + "variant": "4", + "original_id": 1002 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 1003, - "created_at": 1673926704 + "id": 733, + "created_at": 1673926704, + "original_id": 1003 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 1004, + "id": 734, "created_at": 1673926787, "hex": "D4", "tile": "83-3", - "rotation": 1 + "rotation": 1, + "original_id": 1004 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1005, - "created_at": 1673926790 + "id": 735, + "created_at": 1673926790, + "original_id": 1005 }, { "type": "choose", "entity": "SLSF", "entity_type": "corporation", - "id": 1006, + "id": 736, "created_at": 1673926802, - "choice": "0-0" + "choice": "0-0", + "original_id": 1006 }, { "type": "run_routes", "entity": "SLSF", "entity_type": "corporation", - "id": 1007, + "id": 737, "created_at": 1673926805, "routes": [ { @@ -9152,69 +8709,77 @@ "I5-0" ] } - ] + ], + "original_id": 1007 }, { "type": "dividend", "entity": "SLSF", "entity_type": "corporation", - "id": 1008, + "id": 738, "created_at": 1673926806, - "kind": "half" + "kind": "half", + "original_id": 1008 }, { "type": "buy_train", "entity": "SLSF", "entity_type": "corporation", - "id": 1009, + "id": 739, "created_at": 1673926833, "train": "3+-0", - "price": 28 + "price": 28, + "original_id": 1009 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1010, - "created_at": 1673926840 + "id": 740, + "created_at": 1673926840, + "original_id": 1010 }, { "type": "payoff_loan", "entity": "SLSF", "entity_type": "corporation", - "id": 1011, + "id": 741, "created_at": 1673926842, - "loan": 1 + "loan": 1, + "original_id": 1011 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1012, - "created_at": 1673926844 + "id": 742, + "created_at": 1673926844, + "original_id": 1012 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", - "id": 1013, + "id": 743, "created_at": 1673926887, "hex": "D6", "tile": "619-1", - "rotation": 4 + "rotation": 4, + "original_id": 1013 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1014, - "created_at": 1673926890 + "id": 744, + "created_at": 1673926890, + "original_id": 1014 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", - "id": 1015, + "id": 745, "created_at": 1673926897, "routes": [ { @@ -9244,62 +8809,69 @@ "E23-0" ] } - ] + ], + "original_id": 1015 }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", - "id": 1016, + "id": 746, "created_at": 1673926901, - "kind": "half" + "kind": "half", + "original_id": 1016 }, { "type": "buy_train", "entity": "IC", "entity_type": "corporation", - "id": 1017, + "id": 747, "created_at": 1673926904, "train": "4-3", "price": 400, - "variant": "4" + "variant": "4", + "original_id": 1017 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1018, - "created_at": 1673926912 + "id": 748, + "created_at": 1673926912, + "original_id": 1018 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1019, - "created_at": 1673926918 + "id": 749, + "created_at": 1673926918, + "original_id": 1019 }, { "type": "lay_tile", "entity": "TP", "entity_type": "corporation", - "id": 1020, + "id": 750, "created_at": 1673926936, "hex": "I15", "tile": "619-2", - "rotation": 4 + "rotation": 4, + "original_id": 1020 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1021, - "created_at": 1673926944 + "id": 751, + "created_at": 1673926944, + "original_id": 1021 }, { "type": "run_routes", "entity": "TP", "entity_type": "corporation", - "id": 1022, + "id": 752, "created_at": 1673926959, "routes": [ { @@ -9351,60 +8923,67 @@ "I19-0" ] } - ] + ], + "original_id": 1022 }, { "type": "dividend", "entity": "TP", "entity_type": "corporation", - "id": 1023, + "id": 753, "created_at": 1673926961, - "kind": "half" + "kind": "half", + "original_id": 1023 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1024, - "created_at": 1673926964 + "id": 754, + "created_at": 1673926964, + "original_id": 1024 }, { "type": "payoff_loan", "entity": "TP", "entity_type": "corporation", - "id": 1025, + "id": 755, "created_at": 1673926966, - "loan": 16 + "loan": 16, + "original_id": 1025 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1026, - "created_at": 1673926969 + "id": 756, + "created_at": 1673926969, + "original_id": 1026 }, { "type": "lay_tile", "entity": "PRR", "entity_type": "corporation", - "id": 1027, + "id": 757, "created_at": 1673926981, "hex": "C19", "tile": "82-3", - "rotation": 2 + "rotation": 2, + "original_id": 1027 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1028, - "created_at": 1673926984 + "id": 758, + "created_at": 1673926984, + "original_id": 1028 }, { "type": "run_routes", "entity": "PRR", "entity_type": "corporation", - "id": 1029, + "id": 759, "created_at": 1673926988, "routes": [ { @@ -9434,70 +9013,78 @@ "E23-0" ] } - ] + ], + "original_id": 1029 }, { "type": "dividend", "entity": "PRR", "entity_type": "corporation", - "id": 1030, + "id": 760, "created_at": 1673926989, - "kind": "half" + "kind": "half", + "original_id": 1030 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1031, - "created_at": 1673926992 + "id": 761, + "created_at": 1673926992, + "original_id": 1031 }, { "type": "payoff_loan", "entity": "PRR", "entity_type": "corporation", - "id": 1032, + "id": 762, "created_at": 1673926994, - "loan": 23 + "loan": 23, + "original_id": 1032 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1033, - "created_at": 1673926996 + "id": 763, + "created_at": 1673926996, + "original_id": 1033 }, { "type": "lay_tile", "entity": "P17", "entity_type": "company", - "id": 1034, + "id": 764, "created_at": 1673927010, "hex": "B18", "tile": "8-4", - "rotation": 5 + "rotation": 5, + "original_id": 1034 }, { "type": "lay_tile", "entity": "C&O", "entity_type": "corporation", - "id": 1035, + "id": 765, "created_at": 1673927013, "hex": "H24", "tile": "82-4", - "rotation": 0 + "rotation": 0, + "original_id": 1035 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1036, - "created_at": 1673927020 + "id": 766, + "created_at": 1673927020, + "original_id": 1036 }, { "type": "run_routes", "entity": "C&O", "entity_type": "corporation", - "id": 1037, + "id": 767, "created_at": 1673927027, "routes": [ { @@ -9551,230 +9138,132 @@ "B14-0" ] } - ] + ], + "original_id": 1037 }, { "type": "dividend", "entity": "C&O", "entity_type": "corporation", - "id": 1038, + "id": 768, "created_at": 1673927029, - "kind": "half" + "kind": "half", + "original_id": 1038 }, { "type": "take_loan", "entity": "C&O", "entity_type": "corporation", - "id": 1039, + "id": 769, "created_at": 1673927032, - "loan": 45 + "loan": 45, + "original_id": 1039 }, { "type": "take_loan", "entity": "C&O", "entity_type": "corporation", - "id": 1040, + "id": 770, "created_at": 1673927032, - "loan": 46 + "loan": 46, + "original_id": 1040 }, { "type": "buy_train", "entity": "C&O", "entity_type": "corporation", - "id": 1041, + "id": 771, "created_at": 1673927034, "train": "4-4", "price": 400, - "variant": "4" + "variant": "4", + "original_id": 1041 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1042, - "created_at": 1673927040 + "id": 772, + "created_at": 1673927040, + "original_id": 1042 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1043, - "created_at": 1673927073 + "id": 773, + "created_at": 1673927073, + "original_id": 1043 }, { "type": "lay_tile", "entity": "NYC", "entity_type": "corporation", - "id": 1044, + "id": 774, "created_at": 1673927085, "hex": "G27", "tile": "15-6", - "rotation": 0 - }, - { - "type": "pass", - "entity": "NYC", - "entity_type": "corporation", - "id": 1045, - "created_at": 1673927088 - }, - { - "type": "buy_train", - "price": 1, - "train": "3-8", - "entity": "NYC", - "entity_type": "corporation", - "id": 1046, - "user": 605, - "created_at": 1673927110 - }, - { - "type": "pass", - "entity": "NYC", - "entity_type": "corporation", - "id": 1047, - "user": 605, - "created_at": 1673927112 - }, - { - "type": "pass", - "entity": "NYC", - "entity_type": "corporation", - "id": 1048, - "user": 605, - "created_at": 1673927114 - }, - { - "hex": "H26", - "tile": "9-12", - "type": "lay_tile", - "entity": "SP", "rotation": 0, - "entity_type": "corporation", - "id": 1049, - "user": 605, - "created_at": 1673927126 + "original_id": 1044 }, { "type": "pass", - "entity": "SP", - "entity_type": "corporation", - "id": 1050, - "user": 605, - "created_at": 1673927129 - }, - { - "type": "run_routes", - "entity": "SP", - "routes": [ - { - "hexes": [ - "F26", - "D28" - ], - "nodes": [ - "F26-0", - "D28-1" - ], - "train": "2+-0", - "revenue": 120, - "connections": [ - [ - "F26", - "E25", - "D26", - "D28" - ] - ], - "revenue_str": "F26-D28" - } - ], - "entity_type": "corporation", - "id": 1051, - "user": 605, - "created_at": 1673927138 - }, - { - "kind": "half", - "type": "dividend", - "entity": "SP", - "entity_type": "corporation", - "id": 1052, - "user": 605, - "created_at": 1673927141 - }, - { - "type": "undo", - "entity": "SP", - "action_id": 1045, - "entity_type": "corporation", - "id": 1053, - "user": 605, - "created_at": 1673927202 - }, - { - "type": "buy_train", - "price": 1, - "train": "4-0", - "entity": "NYC", - "entity_type": "corporation", - "id": 1054, - "user": 605, - "created_at": 1673927204 - }, - { - "type": "undo", "entity": "NYC", "entity_type": "corporation", - "id": 1055, - "user": 605, - "created_at": 1673927211 + "id": 775, + "created_at": 1673927088, + "original_id": 1045 }, { "type": "buy_train", "entity": "NYC", "entity_type": "corporation", - "id": 1056, + "id": 776, "created_at": 1673927213, "train": "4-1", - "price": 1 + "price": 1, + "original_id": 1056 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 1057, - "created_at": 1673927214 + "id": 777, + "created_at": 1673927214, + "original_id": 1057 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 1058, - "created_at": 1673927215 + "id": 778, + "created_at": 1673927215, + "original_id": 1058 }, { "type": "lay_tile", "entity": "SP", "entity_type": "corporation", - "id": 1059, + "id": 779, "created_at": 1673927219, "hex": "H26", "tile": "9-12", - "rotation": 0 + "rotation": 0, + "original_id": 1059 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 1060, - "created_at": 1673927222 + "id": 780, + "created_at": 1673927222, + "original_id": 1060 }, { "type": "run_routes", "entity": "SP", "entity_type": "corporation", - "id": 1061, + "id": 781, "created_at": 1673927226, "routes": [ { @@ -9798,61 +9287,68 @@ "D28-1" ] } - ] + ], + "original_id": 1061 }, { "type": "dividend", "entity": "SP", "entity_type": "corporation", - "id": 1062, + "id": 782, "created_at": 1673927228, - "kind": "half" + "kind": "half", + "original_id": 1062 }, { "type": "buy_train", "entity": "SP", "entity_type": "corporation", - "id": 1063, + "id": 783, "created_at": 1673927232, "train": "4-1", - "price": 1 + "price": 1, + "original_id": 1063 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 1064, - "created_at": 1673927242 + "id": 784, + "created_at": 1673927242, + "original_id": 1064 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 1065, - "created_at": 1673927245 + "id": 785, + "created_at": 1673927245, + "original_id": 1065 }, { "type": "lay_tile", "entity": "ATSF", "entity_type": "corporation", - "id": 1067, + "id": 786, "created_at": 1673927493, "hex": "G19", "tile": "82-5", - "rotation": 5 + "rotation": 5, + "original_id": 1067 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1068, - "created_at": 1673927497 + "id": 787, + "created_at": 1673927497, + "original_id": 1068 }, { "type": "run_routes", "entity": "ATSF", "entity_type": "corporation", - "id": 1069, + "id": 788, "created_at": 1673927502, "routes": [ { @@ -9883,111 +9379,124 @@ "H14-0" ] } - ] + ], + "original_id": 1069 }, { "type": "dividend", "entity": "ATSF", "entity_type": "corporation", - "id": 1070, + "id": 789, "created_at": 1673927505, - "kind": "withhold" + "kind": "withhold", + "original_id": 1070 }, { "type": "buy_train", "entity": "ATSF", "entity_type": "corporation", - "id": 1071, + "id": 790, "created_at": 1673927512, "train": "4-5", "price": 400, - "variant": "4" + "variant": "4", + "original_id": 1071 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1072, - "created_at": 1673927601 + "id": 791, + "created_at": 1673927601, + "original_id": 1072 }, { "type": "payoff_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 1073, + "id": 792, "created_at": 1673927604, - "loan": 32 + "loan": 32, + "original_id": 1073 }, { "type": "payoff_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 1074, + "id": 793, "created_at": 1673927605, - "loan": 33 + "loan": 33, + "original_id": 1074 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1075, - "created_at": 1673927608 + "id": 794, + "created_at": 1673927608, + "original_id": 1075 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", - "id": 1076, + "id": 795, "created_at": 1673927625, "hex": "G15", "tile": "83oil-0", - "rotation": 0 + "rotation": 0, + "original_id": 1076 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1077, - "created_at": 1673927629 + "id": 796, + "created_at": 1673927629, + "original_id": 1077 }, { "type": "buy_train", "entity": "B&O", "entity_type": "corporation", - "id": 1078, + "id": 797, "created_at": 1673927645, "train": "3-0", - "price": 36 + "price": 36, + "original_id": 1078 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1079, - "created_at": 1673927648 + "id": 798, + "created_at": 1673927648, + "original_id": 1079 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1080, - "created_at": 1673927650 + "id": 799, + "created_at": 1673927650, + "original_id": 1080 }, { "type": "lay_tile", "entity": "MILW", "entity_type": "corporation", - "id": 1081, + "id": 800, "created_at": 1673927672, "hex": "I21", "tile": "9-13", - "rotation": 1 + "rotation": 1, + "original_id": 1081 }, { "type": "run_routes", "entity": "MILW", "entity_type": "corporation", - "id": 1082, + "id": 801, "created_at": 1673927676, "routes": [ { @@ -10019,190 +9528,213 @@ "H22-0" ] } - ] + ], + "original_id": 1082 }, { "type": "dividend", "entity": "MILW", "entity_type": "corporation", - "id": 1083, + "id": 802, "created_at": 1673927678, - "kind": "half" + "kind": "half", + "original_id": 1083 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1084, - "created_at": 1673927683 + "id": 803, + "created_at": 1673927683, + "original_id": 1084 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 1085, - "created_at": 1673927703 + "id": 804, + "created_at": 1673927703, + "original_id": 1085 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 1086, - "created_at": 1673927709 + "id": 805, + "created_at": 1673927709, + "original_id": 1086 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 1087, - "created_at": 1673927731 + "id": 806, + "created_at": 1673927731, + "original_id": 1087 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1088, - "created_at": 1673927737 + "id": 807, + "created_at": 1673927737, + "original_id": 1088 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1089, - "created_at": 1673927742 + "id": 808, + "created_at": 1673927742, + "original_id": 1089 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1090, - "created_at": 1673927753 + "id": 809, + "created_at": 1673927753, + "original_id": 1090 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1091, - "created_at": 1673927758 + "id": 810, + "created_at": 1673927758, + "original_id": 1091 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1092, - "created_at": 1673927768 + "id": 811, + "created_at": 1673927768, + "original_id": 1092 }, { "type": "pass", "entity": "SP", "entity_type": "corporation", - "id": 1093, - "created_at": 1673927783 + "id": 812, + "created_at": 1673927783, + "original_id": 1093 }, { "type": "merge", "entity": "NYC", "entity_type": "corporation", - "id": 1094, + "id": 813, "created_at": 1673927788, - "corporation": "SP" + "corporation": "SP", + "original_id": 1094 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 1095, + "id": 814, "created_at": 1673927793, "shares": [ "NYC_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1095 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1096, + "id": 815, "created_at": 1673927853, "shares": [ "NYC_2" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1096 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1097, - "created_at": 1673927865 + "id": 816, + "created_at": 1673927865, + "original_id": 1097 }, { "type": "buy_shares", "entity": 4281, "entity_type": "player", - "id": 1098, + "id": 817, "created_at": 1673927903, "shares": [ "NYC_3" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1098 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 1099, - "created_at": 1673927911 + "id": 818, + "created_at": 1673927911, + "original_id": 1099 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1100, - "created_at": 1673927918 + "id": 819, + "created_at": 1673927918, + "original_id": 1100 }, { "type": "merge", "entity": "B&O", "entity_type": "corporation", - "id": 1101, + "id": 820, "created_at": 1673927946, - "corporation": "PRR" + "corporation": "PRR", + "original_id": 1101 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 1102, + "id": 821, "created_at": 1673927948, "shares": [ "B&O_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1102 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1103, - "created_at": 1673928001 + "id": 822, + "created_at": 1673928001, + "original_id": 1103 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1104, - "created_at": 1673928007 + "id": 823, + "created_at": 1673928007, + "original_id": 1104 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 1105, + "id": 824, "created_at": 1673928008, "corporations_by_round": { "AR": [ @@ -10214,13 +9746,16 @@ "TP" ] }, - "options": [] + "options": [ + + ], + "original_id": 1105 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1106, + "id": 825, "created_at": 1673928023, "auto_actions": [ { @@ -10229,41 +9764,46 @@ "entity_type": "player", "created_at": 1673928022 } - ] + ], + "original_id": 1106 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1107, - "created_at": 1673928038 + "id": 826, + "created_at": 1673928038, + "original_id": 1107 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1108, - "created_at": 1673928040 + "id": 827, + "created_at": 1673928040, + "original_id": 1108 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1109, - "created_at": 1673928048 + "id": 828, + "created_at": 1673928048, + "original_id": 1109 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 1110, - "created_at": 1673928053 + "id": 829, + "created_at": 1673928053, + "original_id": 1110 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1111, + "id": 830, "created_at": 1673928059, "auto_actions": [ { @@ -10272,37 +9812,41 @@ "entity_type": "player", "created_at": 1673928058 } - ] + ], + "original_id": 1111 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 1112, - "created_at": 1673928066 + "id": 831, + "created_at": 1673928066, + "original_id": 1112 }, { "type": "lay_tile", "entity": "MP", "entity_type": "corporation", - "id": 1113, + "id": 832, "created_at": 1673928081, "hex": "I21", "tile": "82-6", - "rotation": 1 + "rotation": 1, + "original_id": 1113 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 1114, - "created_at": 1673928083 + "id": 833, + "created_at": 1673928083, + "original_id": 1114 }, { "type": "run_routes", "entity": "MP", "entity_type": "corporation", - "id": 1115, + "id": 834, "created_at": 1673928092, "routes": [ { @@ -10340,52 +9884,58 @@ "A27-0" ] } - ] + ], + "original_id": 1115 }, { "type": "dividend", "entity": "MP", "entity_type": "corporation", - "id": 1116, + "id": 835, "created_at": 1673928093, - "kind": "payout" + "kind": "payout", + "original_id": 1116 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 1117, - "created_at": 1673928094 + "id": 836, + "created_at": 1673928094, + "original_id": 1117 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 1118, - "created_at": 1673928096 + "id": 837, + "created_at": 1673928096, + "original_id": 1118 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", - "id": 1119, + "id": 838, "created_at": 1673928143, "hex": "B20", "tile": "8-3", - "rotation": 4 + "rotation": 4, + "original_id": 1119 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1120, - "created_at": 1673928149 + "id": 839, + "created_at": 1673928149, + "original_id": 1120 }, { "type": "run_routes", "entity": "B&O", "entity_type": "corporation", - "id": 1121, + "id": 840, "created_at": 1673928159, "routes": [ { @@ -10416,106 +9966,78 @@ "H14-0" ] } - ] + ], + "original_id": 1121 }, { "type": "take_loan", "entity": "B&O", "entity_type": "corporation", - "id": 1122, + "id": 841, "created_at": 1673928164, - "loan": 48 - }, - { - "loan": 49, - "type": "take_loan", - "entity": "B&O", - "entity_type": "corporation", - "id": 1123, - "user": 4440, - "created_at": 1673928177 - }, - { - "type": "undo", - "entity": "B&O", - "entity_type": "corporation", - "id": 1124, - "user": 4440, - "created_at": 1673928188 + "loan": 48, + "original_id": 1122 }, { "type": "dividend", "entity": "B&O", "entity_type": "corporation", - "id": 1125, + "id": 842, "created_at": 1673928194, - "kind": "half" + "kind": "half", + "original_id": 1125 }, { "type": "buy_train", "entity": "B&O", "entity_type": "corporation", - "id": 1126, + "id": 843, "created_at": 1673928198, "train": "4-7", "price": 400, - "variant": "4" + "variant": "4", + "original_id": 1126 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1127, - "created_at": 1673928200 + "id": 844, + "created_at": 1673928200, + "original_id": 1127 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1128, - "created_at": 1673928216 - }, - { - "hex": "F24", - "tile": "83-4", - "type": "lay_tile", - "entity": "UP", - "rotation": 2, - "entity_type": "corporation", - "id": 1129, - "user": 1463, - "created_at": 1673928242 - }, - { - "type": "undo", - "entity": "UP", - "entity_type": "corporation", - "id": 1130, - "user": 1463, - "created_at": 1673928248 + "id": 845, + "created_at": 1673928216, + "original_id": 1128 }, { "type": "lay_tile", "entity": "UP", "entity_type": "corporation", - "id": 1131, + "id": 846, "created_at": 1673928251, "hex": "F24", "tile": "82-7", - "rotation": 2 + "rotation": 2, + "original_id": 1131 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 1132, - "created_at": 1673928253 + "id": 847, + "created_at": 1673928253, + "original_id": 1132 }, { "type": "run_routes", "entity": "UP", "entity_type": "corporation", - "id": 1133, + "id": 848, "created_at": 1673928258, "routes": [ { @@ -10548,62 +10070,50 @@ "H22-0" ] } - ] - }, - { - "kind": "half", - "type": "dividend", - "entity": "UP", - "entity_type": "corporation", - "id": 1134, - "user": 1463, - "created_at": 1673928260 - }, - { - "type": "undo", - "entity": "UP", - "entity_type": "corporation", - "id": 1135, - "user": 1463, - "created_at": 1673928293 + ], + "original_id": 1133 }, { "type": "dividend", "entity": "UP", "entity_type": "corporation", - "id": 1136, + "id": 849, "created_at": 1673928294, - "kind": "payout" + "kind": "payout", + "original_id": 1136 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 1137, - "created_at": 1673928307 + "id": 850, + "created_at": 1673928307, + "original_id": 1137 }, { "type": "lay_tile", "entity": "NYC", "entity_type": "corporation", - "id": 1138, + "id": 851, "created_at": 1673928320, "hex": "C27", "tile": "9-0", - "rotation": 2 + "rotation": 2, + "original_id": 1138 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 1139, - "created_at": 1673928322 + "id": 852, + "created_at": 1673928322, + "original_id": 1139 }, { "type": "run_routes", "entity": "NYC", "entity_type": "corporation", - "id": 1140, + "id": 853, "created_at": 1673928335, "routes": [ { @@ -10644,58 +10154,65 @@ "H22-0" ] } - ] + ], + "original_id": 1140 }, { "type": "dividend", "entity": "NYC", "entity_type": "corporation", - "id": 1141, + "id": 854, "created_at": 1673928339, - "kind": "payout" + "kind": "payout", + "original_id": 1141 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 1142, - "created_at": 1673928343 + "id": 855, + "created_at": 1673928343, + "original_id": 1142 }, { "type": "take_loan", "entity": "NYC", "entity_type": "corporation", - "id": 1143, + "id": 856, "created_at": 1673928358, - "loan": 49 + "loan": 49, + "original_id": 1143 }, { "type": "take_loan", "entity": "NYC", "entity_type": "corporation", - "id": 1144, + "id": 857, "created_at": 1673928361, - "loan": 50 + "loan": 50, + "original_id": 1144 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 1148, - "created_at": 1673928411 + "id": 858, + "created_at": 1673928411, + "original_id": 1148 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 1152, - "created_at": 1673928457 + "id": 859, + "created_at": 1673928457, + "original_id": 1152 }, { "type": "run_routes", "entity": "GN", "entity_type": "corporation", - "id": 1154, + "id": 860, "created_at": 1673928461, "routes": [ { @@ -10724,72 +10241,59 @@ "E1-0" ] } - ] + ], + "original_id": 1154 }, { "type": "dividend", "entity": "GN", "entity_type": "corporation", - "id": 1155, + "id": 861, "created_at": 1673928463, - "kind": "half" + "kind": "half", + "original_id": 1155 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 1156, - "created_at": 1673928466 - }, - { - "hex": "E3", - "tile": "619-3", - "type": "lay_tile", - "entity": "SLSF", - "rotation": 1, - "entity_type": "corporation", - "id": 1157, - "user": 1463, - "created_at": 1673928496 - }, - { - "type": "undo", - "entity": "SLSF", - "entity_type": "corporation", - "id": 1158, - "user": 1463, - "created_at": 1673928504 + "id": 862, + "created_at": 1673928466, + "original_id": 1156 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 1159, + "id": 863, "created_at": 1673928508, "hex": "H4", "tile": "83oil-1", - "rotation": 5 + "rotation": 5, + "original_id": 1159 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1160, - "created_at": 1673928510 + "id": 864, + "created_at": 1673928510, + "original_id": 1160 }, { "type": "choose", "entity": "SLSF", "entity_type": "corporation", - "id": 1162, + "id": 865, "created_at": 1673928536, - "choice": "1-0" + "choice": "1-0", + "original_id": 1162 }, { "type": "run_routes", "entity": "SLSF", "entity_type": "corporation", - "id": 1163, + "id": 866, "created_at": 1673928539, "routes": [ { @@ -10853,52 +10357,58 @@ "G3-0" ] } - ] + ], + "original_id": 1163 }, { "type": "dividend", "entity": "SLSF", "entity_type": "corporation", - "id": 1164, + "id": 867, "created_at": 1673928541, - "kind": "payout" + "kind": "payout", + "original_id": 1164 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1165, - "created_at": 1673928545 + "id": 868, + "created_at": 1673928545, + "original_id": 1165 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1166, - "created_at": 1673928548 + "id": 869, + "created_at": 1673928548, + "original_id": 1166 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", - "id": 1167, + "id": 870, "created_at": 1673928589, "hex": "B16", "tile": "82-8", - "rotation": 1 + "rotation": 1, + "original_id": 1167 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1168, - "created_at": 1673928592 + "id": 871, + "created_at": 1673928592, + "original_id": 1168 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", - "id": 1169, + "id": 872, "created_at": 1673928610, "routes": [ { @@ -10965,60 +10475,67 @@ "H22-0" ] } - ] + ], + "original_id": 1169 }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", - "id": 1170, + "id": 873, "created_at": 1673928618, - "kind": "half" + "kind": "half", + "original_id": 1170 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1171, - "created_at": 1673928622 + "id": 874, + "created_at": 1673928622, + "original_id": 1171 }, { "type": "payoff_loan", "entity": "IC", "entity_type": "corporation", - "id": 1172, + "id": 875, "created_at": 1673928626, - "loan": 26 + "loan": 26, + "original_id": 1172 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1173, - "created_at": 1673928628 + "id": 876, + "created_at": 1673928628, + "original_id": 1173 }, { "type": "lay_tile", "entity": "TP", "entity_type": "corporation", - "id": 1174, + "id": 877, "created_at": 1673928662, "hex": "F16", "tile": "9-11", - "rotation": 0 + "rotation": 0, + "original_id": 1174 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1175, - "created_at": 1673928665 + "id": 878, + "created_at": 1673928665, + "original_id": 1175 }, { "type": "run_routes", "entity": "TP", "entity_type": "corporation", - "id": 1176, + "id": 879, "created_at": 1673928669, "routes": [ { @@ -11050,60 +10567,67 @@ "I19-0" ] } - ] + ], + "original_id": 1176 }, { "type": "dividend", "entity": "TP", "entity_type": "corporation", - "id": 1177, + "id": 880, "created_at": 1673928671, - "kind": "payout" + "kind": "payout", + "original_id": 1177 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1178, - "created_at": 1673928673 + "id": 881, + "created_at": 1673928673, + "original_id": 1178 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1179, - "created_at": 1673928674 + "id": 882, + "created_at": 1673928674, + "original_id": 1179 }, { "type": "lay_tile", "entity": "SR", "entity_type": "corporation", - "id": 1180, + "id": 883, "created_at": 1673928697, "hex": "H10", "tile": "9-8", - "rotation": 0 + "rotation": 0, + "original_id": 1180 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 1181, - "created_at": 1673928702 + "id": 884, + "created_at": 1673928702, + "original_id": 1181 }, { "type": "choose", "entity": "SR", "entity_type": "corporation", - "id": 1182, + "id": 885, "created_at": 1673928705, - "choice": "1-0" + "choice": "1-0", + "original_id": 1182 }, { "type": "run_routes", "entity": "SR", "entity_type": "corporation", - "id": 1183, + "id": 886, "created_at": 1673928709, "routes": [ { @@ -11176,52 +10700,58 @@ "I19-0" ] } - ] + ], + "original_id": 1183 }, { "type": "dividend", "entity": "SR", "entity_type": "corporation", - "id": 1184, + "id": 887, "created_at": 1673928711, - "kind": "withhold" + "kind": "withhold", + "original_id": 1184 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 1185, - "created_at": 1673928752 + "id": 888, + "created_at": 1673928752, + "original_id": 1185 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 1186, - "created_at": 1673928755 + "id": 889, + "created_at": 1673928755, + "original_id": 1186 }, { "type": "lay_tile", "entity": "ATSF", "entity_type": "corporation", - "id": 1187, + "id": 890, "created_at": 1673928768, "hex": "F16", "tile": "82-9", - "rotation": 0 + "rotation": 0, + "original_id": 1187 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1188, - "created_at": 1673928770 + "id": 891, + "created_at": 1673928770, + "original_id": 1188 }, { "type": "run_routes", "entity": "ATSF", "entity_type": "corporation", - "id": 1189, + "id": 892, "created_at": 1673928774, "routes": [ { @@ -11289,71 +10819,60 @@ "H14-0" ] } - ] - }, - { - "kind": "half", - "type": "dividend", - "entity": "ATSF", - "entity_type": "corporation", - "id": 1190, - "user": 512, - "created_at": 1673928800 - }, - { - "type": "undo", - "entity": "ATSF", - "entity_type": "corporation", - "id": 1191, - "user": 512, - "created_at": 1673928814 + ], + "original_id": 1189 }, { "type": "dividend", "entity": "ATSF", "entity_type": "corporation", - "id": 1192, + "id": 893, "created_at": 1673928815, - "kind": "withhold" + "kind": "withhold", + "original_id": 1192 }, { "type": "buy_train", "entity": "ATSF", "entity_type": "corporation", - "id": 1193, + "id": 894, "created_at": 1673928830, "train": "3-5", - "price": 1 + "price": 1, + "original_id": 1193 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1194, - "created_at": 1673928842 + "id": 895, + "created_at": 1673928842, + "original_id": 1194 }, { "type": "lay_tile", "entity": "C&O", "entity_type": "corporation", - "id": 1195, + "id": 896, "created_at": 1673928852, "hex": "D20", "tile": "14-2", - "rotation": 1 + "rotation": 1, + "original_id": 1195 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1196, - "created_at": 1673928863 + "id": 897, + "created_at": 1673928863, + "original_id": 1196 }, { "type": "run_routes", "entity": "C&O", "entity_type": "corporation", - "id": 1197, + "id": 898, "created_at": 1673928873, "routes": [ { @@ -11424,60 +10943,67 @@ "D28-1" ] } - ] + ], + "original_id": 1197 }, { "type": "dividend", "entity": "C&O", "entity_type": "corporation", - "id": 1198, + "id": 899, "created_at": 1673928875, - "kind": "half" + "kind": "half", + "original_id": 1198 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1199, - "created_at": 1673928879 + "id": 900, + "created_at": 1673928879, + "original_id": 1199 }, { "type": "payoff_loan", "entity": "C&O", "entity_type": "corporation", - "id": 1200, + "id": 901, "created_at": 1673928882, - "loan": 19 + "loan": 19, + "original_id": 1200 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1201, - "created_at": 1673928886 + "id": 902, + "created_at": 1673928886, + "original_id": 1201 }, { "type": "lay_tile", "entity": "MILW", "entity_type": "corporation", - "id": 1202, + "id": 903, "created_at": 1673928919, "hex": "C27", "tile": "82-10", - "rotation": 5 + "rotation": 5, + "original_id": 1202 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1203, - "created_at": 1673928920 + "id": 904, + "created_at": 1673928920, + "original_id": 1203 }, { "type": "run_routes", "entity": "MILW", "entity_type": "corporation", - "id": 1204, + "id": 905, "created_at": 1673928924, "routes": [ { @@ -11509,92 +11035,104 @@ "H22-0" ] } - ] + ], + "original_id": 1204 }, { "type": "dividend", "entity": "MILW", "entity_type": "corporation", - "id": 1205, + "id": 906, "created_at": 1673928936, - "kind": "withhold" + "kind": "withhold", + "original_id": 1205 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1206, - "created_at": 1673928938 + "id": 907, + "created_at": 1673928938, + "original_id": 1206 }, { "type": "payoff_loan", "entity": "MILW", "entity_type": "corporation", - "id": 1207, + "id": 908, "created_at": 1673928940, - "loan": 24 + "loan": 24, + "original_id": 1207 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1208, - "created_at": 1673928942 + "id": 909, + "created_at": 1673928942, + "original_id": 1208 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 1209, - "created_at": 1673928964 + "id": 910, + "created_at": 1673928964, + "original_id": 1209 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 1210, - "created_at": 1673929002 + "id": 911, + "created_at": 1673929002, + "original_id": 1210 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1211, - "created_at": 1673929005 + "id": 912, + "created_at": 1673929005, + "original_id": 1211 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1212, - "created_at": 1673929015 + "id": 913, + "created_at": 1673929015, + "original_id": 1212 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1213, - "created_at": 1673929022 + "id": 914, + "created_at": 1673929022, + "original_id": 1213 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 1214, - "created_at": 1673929052 + "id": 915, + "created_at": 1673929052, + "original_id": 1214 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 1215, - "created_at": 1673929060 + "id": 916, + "created_at": 1673929060, + "original_id": 1215 }, { "type": "program_merger_pass", "entity": 605, "entity_type": "player", - "id": 1216, + "id": 917, "created_at": 1673929065, "corporations_by_round": { "AR": [ @@ -11610,27 +11148,30 @@ }, "options": [ "disable_others" - ] + ], + "original_id": 1216 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1217, - "created_at": 1673929074 + "id": 918, + "created_at": 1673929074, + "original_id": 1217 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1218, - "created_at": 1673929082 + "id": 919, + "created_at": 1673929082, + "original_id": 1218 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 1219, + "id": 920, "created_at": 1673929083, "corporations_by_round": { "AR": [ @@ -11642,27 +11183,32 @@ "TP" ] }, - "options": [] + "options": [ + + ], + "original_id": 1219 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1220, - "created_at": 1673929091 + "id": 921, + "created_at": 1673929091, + "original_id": 1220 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1221, - "created_at": 1673929096 + "id": 922, + "created_at": 1673929096, + "original_id": 1221 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1222, + "id": 923, "created_at": 1673929104, "auto_actions": [ { @@ -11677,29 +11223,32 @@ "entity_type": "player", "created_at": 1673929103 } - ] + ], + "original_id": 1222 }, { "type": "assign", "entity": 512, "entity_type": "player", - "id": 1223, + "id": 924, "created_at": 1673929106, "target": "GN", - "target_type": "corporation" + "target_type": "corporation", + "original_id": 1223 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 1224, - "created_at": 1673929115 + "id": 925, + "created_at": 1673929115, + "original_id": 1224 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1225, + "id": 926, "created_at": 1673929123, "auto_actions": [ { @@ -11710,20 +11259,22 @@ } ], "corporation": "GN", - "price": 290 + "price": 290, + "original_id": 1225 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1226, - "created_at": 1673929135 + "id": 927, + "created_at": 1673929135, + "original_id": 1226 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1227, + "id": 928, "created_at": 1673929136, "auto_actions": [ { @@ -11733,1005 +11284,743 @@ "created_at": 1673929135, "reason": "Other players have acted and requested to stop" } - ] - }, - { - "type": "pass", - "entity": 605, - "entity_type": "player", - "id": 1228, - "created_at": 1673929146 - }, - { - "type": "bid", - "price": 400, - "entity": 1463, - "corporation": "KCS", - "entity_type": "player", - "id": 1229, - "user": 1463, - "created_at": 1673929244 - }, - { - "city": "15-3-0", - "slot": 1, - "type": "place_token", - "entity": "KCS", - "tokener": "KCS", - "entity_type": "corporation", - "id": 1230, - "user": 1463, - "created_at": 1673929248 - }, - { - "type": "bid", - "price": 401, - "entity": 512, - "corporation": "KCS", - "entity_type": "player", - "id": 1231, - "user": 512, - "created_at": 1673929318 - }, - { - "type": "pass", - "entity": 605, - "entity_type": "player", - "id": 1232, - "user": 605, - "created_at": 1673929328 + ], + "original_id": 1227 }, { "type": "pass", - "entity": 1463, - "entity_type": "player", - "id": 1234, - "user": 1463, - "created_at": 1673929371 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 1235, - "user": 1463, - "created_at": 1673929378 - }, - { - "type": "undo", - "entity": 1463, - "entity_type": "player", - "id": 1238, - "user": 1463, - "created_at": 1673929396 - }, - { - "type": "undo", - "entity": 1463, - "entity_type": "player", - "id": 1239, - "user": 1463, - "created_at": 1673929406 - }, - { - "type": "undo", - "entity": 605, - "entity_type": "player", - "id": 1240, - "user": 1463, - "created_at": 1673929409 - }, - { - "type": "undo", - "entity": 605, - "entity_type": "player", - "id": 1241, - "user": 512, - "created_at": 1673929410 - }, - { - "type": "undo", "entity": 605, - "action_id": 1230, "entity_type": "player", - "id": 1242, - "user": 605, - "created_at": 1673929412 + "id": 929, + "created_at": 1673929146, + "original_id": 1228 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1243, + "id": 930, "created_at": 1673929425, "corporation": "KCS", - "price": 400 + "price": 400, + "original_id": 1243 }, { "type": "place_token", "entity": "KCS", "entity_type": "corporation", - "id": 1244, + "id": 931, "created_at": 1673929428, "city": "15-3-0", "slot": 1, - "tokener": "KCS" + "tokener": "KCS", + "original_id": 1244 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1245, + "id": 932, "created_at": 1673929441, "corporation": "KCS", - "price": 410 + "price": 410, + "original_id": 1245 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1246, - "created_at": 1673929448 + "id": 933, + "created_at": 1673929448, + "original_id": 1246 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1247, + "id": 934, "created_at": 1673929474, - "corporation": "SR" + "corporation": "SR", + "original_id": 1247 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1248, - "created_at": 1673929482 + "id": 935, + "created_at": 1673929482, + "original_id": 1248 }, { "type": "sell_shares", "entity": 4440, "entity_type": "player", - "id": 1249, + "id": 936, "created_at": 1673929497, "shares": [ "SR_4" ], - "percent": 10 + "percent": 10, + "original_id": 1249 }, { "type": "short", "entity": 4440, "entity_type": "player", - "id": 1250, + "id": 937, "created_at": 1673929506, - "corporation": "SR" + "corporation": "SR", + "original_id": 1250 }, { "type": "sell_shares", "entity": 4440, "entity_type": "player", - "id": 1251, + "id": 938, "created_at": 1673929530, "shares": [ "ATSF_2" ], - "percent": 20 + "percent": 20, + "original_id": 1251 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 1252, + "id": 939, "created_at": 1673929576, "corporation": "DRG", - "price": 400 + "price": 400, + "original_id": 1252 }, { "type": "place_token", "entity": "DRG", "entity_type": "corporation", - "id": 1253, + "id": 940, "created_at": 1673929584, "city": "15-2-0", "slot": 1, - "tokener": "DRG" + "tokener": "DRG", + "original_id": 1253 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 1254, - "created_at": 1673929595 + "id": 941, + "created_at": 1673929595, + "original_id": 1254 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1255, + "id": 942, "created_at": 1673929619, "corporation": "DRG", - "price": 410 + "price": 410, + "original_id": 1255 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 1256, + "id": 943, "created_at": 1673929647, "corporation": "DRG", - "price": 420 + "price": 420, + "original_id": 1256 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1257, - "created_at": 1673929653 + "id": 944, + "created_at": 1673929653, + "original_id": 1257 }, { "type": "short", "entity": 4281, "entity_type": "player", - "id": 1258, + "id": 945, "created_at": 1673929667, - "corporation": "SR" + "corporation": "SR", + "original_id": 1258 }, { "type": "buy_shares", "entity": 4281, "entity_type": "player", - "id": 1259, + "id": 946, "created_at": 1673929705, "shares": [ "B&O_2" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1259 }, { "type": "sell_shares", "entity": 605, "entity_type": "player", - "id": 1260, + "id": 947, "created_at": 1673929721, "shares": [ "C&O_3" ], - "percent": 10 + "percent": 10, + "original_id": 1260 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 1261, + "id": 948, "created_at": 1673929751, "corporation": "GN", - "price": 400 + "price": 400, + "original_id": 1261 }, { "type": "place_token", "entity": "GN", "entity_type": "corporation", - "id": 1262, + "id": 949, "created_at": 1673929757, "city": "619-0-0", "slot": 1, - "tokener": "GN" + "tokener": "GN", + "original_id": 1262 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1263, + "id": 950, "created_at": 1673929787, "corporation": "GN", - "price": 410 + "price": 410, + "original_id": 1263 }, { "type": "bid", "entity": 605, "entity_type": "player", - "id": 1264, + "id": 951, "created_at": 1673929805, "corporation": "GN", - "price": 420 + "price": 420, + "original_id": 1264 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1265, - "created_at": 1673929872 + "id": 952, + "created_at": 1673929872, + "original_id": 1265 }, { "type": "short", "entity": 1463, "entity_type": "player", - "id": 1266, + "id": 953, "created_at": 1673929891, - "corporation": "SR" + "corporation": "SR", + "original_id": 1266 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1267, + "id": 954, "created_at": 1673929954, "corporation": "PRR", - "price": 400 + "price": 400, + "original_id": 1267 }, { "type": "place_token", "entity": "PRR", "entity_type": "corporation", - "id": 1268, + "id": 955, "created_at": 1673929967, "city": "15-6-0", "slot": 1, - "tokener": "PRR" + "tokener": "PRR", + "original_id": 1268 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1269, + "id": 956, "created_at": 1673929987, - "corporation": "SR" + "corporation": "SR", + "original_id": 1269 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1270, + "id": 957, "created_at": 1673929994, "shares": [ "KCS_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1270 }, { "type": "short", "entity": 4440, "entity_type": "player", - "id": 1271, + "id": 958, "created_at": 1673930028, - "corporation": "SR" + "corporation": "SR", + "original_id": 1271 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 1272, + "id": 959, "created_at": 1673930032, "shares": [ "DRG_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1272 }, { "type": "short", "entity": 4281, "entity_type": "player", - "id": 1273, + "id": 960, "created_at": 1673930040, - "corporation": "SR" + "corporation": "SR", + "original_id": 1273 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1274, - "created_at": 1673930072 + "id": 961, + "created_at": 1673930072, + "original_id": 1274 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 1275, + "id": 962, "created_at": 1673930090, - "loan": 51 + "loan": 51, + "original_id": 1275 }, { "type": "buy_shares", "entity": "SR", "entity_type": "corporation", - "id": 1276, + "id": 963, "created_at": 1673930102, "shares": [ "SR_13", "SR_4" ], - "percent": 20 - }, - { - "type": "buy_shares", - "entity": 1463, - "shares": [ - "ATSF_2" - ], "percent": 20, - "entity_type": "player", - "share_price": false, - "id": 1277, - "user": 1463, - "created_at": 1673930118 - }, - { - "type": "undo", - "entity": 1463, - "entity_type": "player", - "id": 1278, - "user": 605, - "created_at": 1673930121 + "original_id": 1276 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1279, + "id": 964, "created_at": 1673930138, "shares": [ "ATSF_2" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1279 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1280, + "id": 965, "created_at": 1673930214, - "corporation": "SR" + "corporation": "SR", + "original_id": 1280 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1281, - "created_at": 1673930233 + "id": 966, + "created_at": 1673930233, + "original_id": 1281 }, { "type": "short", "entity": 4440, "entity_type": "player", - "id": 1282, + "id": 967, "created_at": 1673930255, - "corporation": "SR" + "corporation": "SR", + "original_id": 1282 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1283, - "created_at": 1673930262 + "id": 968, + "created_at": 1673930262, + "original_id": 1283 }, { "type": "take_loan", "entity": "C&O", "entity_type": "corporation", - "id": 1286, + "id": 969, "created_at": 1673930348, - "loan": 52 + "loan": 52, + "original_id": 1286 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1287, - "created_at": 1673930392 + "id": 970, + "created_at": 1673930392, + "original_id": 1287 }, { "type": "short", "entity": 605, "entity_type": "player", - "id": 1288, + "id": 971, "created_at": 1673930407, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 1288 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 1289, - "created_at": 1673930410 + "id": 972, + "created_at": 1673930410, + "original_id": 1289 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1290, + "id": 973, "created_at": 1673930430, "shares": [ "PRR_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1290 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1291, + "id": 974, "created_at": 1673930446, - "corporation": "SR" + "corporation": "SR", + "original_id": 1291 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1292, - "created_at": 1673930454 + "id": 975, + "created_at": 1673930454, + "original_id": 1292 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1293, - "created_at": 1673930462 + "id": 976, + "created_at": 1673930462, + "original_id": 1293 }, { "type": "take_loan", "entity": "C&O", "entity_type": "corporation", - "id": 1294, + "id": 977, "created_at": 1673930473, - "loan": 53 + "loan": 53, + "original_id": 1294 }, { "type": "take_loan", "entity": "C&O", "entity_type": "corporation", - "id": 1295, + "id": 978, "created_at": 1673930484, - "loan": 54 + "loan": 54, + "original_id": 1295 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1296, - "created_at": 1673930512 + "id": 979, + "created_at": 1673930512, + "original_id": 1296 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 1297, + "id": 980, "created_at": 1673930531, - "loan": 55 + "loan": 55, + "original_id": 1297 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 1298, - "created_at": 1673930534 + "id": 981, + "created_at": 1673930534, + "original_id": 1298 }, { "type": "sell_shares", "entity": 1463, "entity_type": "player", - "id": 1299, + "id": 982, "created_at": 1673930647, "shares": [ "NYC_2" ], - "percent": 20 + "percent": 20, + "original_id": 1299 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1300, + "id": 983, "created_at": 1673930649, "shares": [ "B&O_3" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1300 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1301, + "id": 984, "created_at": 1673930720, "shares": [ "C&O_10" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1301 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1302, - "created_at": 1673930727 + "id": 985, + "created_at": 1673930727, + "original_id": 1302 }, { "type": "buy_shares", "entity": "C&O", "entity_type": "corporation", - "id": 1303, + "id": 986, "created_at": 1673930738, "shares": [ "C&O_3", "C&O_14" ], - "percent": 20 + "percent": 20, + "original_id": 1303 }, { "type": "buy_shares", "entity": "NYC", "entity_type": "corporation", - "id": 1304, + "id": 987, "created_at": 1673930764, "shares": [ "NYC_2" ], - "percent": 20 + "percent": 20, + "original_id": 1304 }, { "type": "take_loan", "entity": "IC", "entity_type": "corporation", - "id": 1305, + "id": 988, "created_at": 1673930831, - "loan": 56 + "loan": 56, + "original_id": 1305 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1306, - "created_at": 1673930838 + "id": 989, + "created_at": 1673930838, + "original_id": 1306 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1307, + "id": 990, "created_at": 1673930857, "shares": [ "C&O_12" ], "percent": 10, - "share_price": false - }, - { - "type": "pass", - "entity": 4440, - "entity_type": "player", - "id": 1308, - "created_at": 1673930865 - }, - { - "type": "bid", - "price": 140, - "entity": 4281, - "corporation": "NP", - "entity_type": "player", - "id": 1314, - "user": 4281, - "created_at": 1673931109 - }, - { - "city": "15-1-0", - "slot": 1, - "type": "place_token", - "entity": "NP", - "tokener": "NP", - "entity_type": "corporation", - "id": 1315, - "user": 4281, - "created_at": 1673931113 - }, - { - "type": "pass", - "entity": 605, - "entity_type": "player", - "id": 1317, - "user": 605, - "created_at": 1673931126 - }, - { - "type": "buy_shares", - "entity": 605, - "shares": [ - "GN_1" - ], - "percent": 20, - "entity_type": "player", "share_price": false, - "id": 1318, - "user": 605, - "created_at": 1673931137 - }, - { - "type": "pass", - "entity": 1463, - "entity_type": "player", - "id": 1319, - "user": 1463, - "created_at": 1673931147 - }, - { - "type": "undo", - "entity": 512, - "action_id": 1318, - "entity_type": "player", - "id": 1323, - "user": 4281, - "created_at": 1673931177 - }, - { - "type": "undo", - "entity": 1463, - "action_id": 1317, - "entity_type": "player", - "id": 1324, - "user": 4281, - "created_at": 1673931181 - }, - { - "type": "undo", - "entity": 605, - "action_id": 1308, - "entity_type": "player", - "id": 1325, - "user": 4281, - "created_at": 1673931185 - }, - { - "type": "sell_shares", - "entity": 4281, - "shares": [ - "NYC_3" - ], - "percent": 20, - "entity_type": "player", - "id": 1326, - "user": 4281, - "created_at": 1673931188 - }, - { - "type": "bid", - "price": 142, - "entity": 4281, - "corporation": "NP", - "entity_type": "player", - "id": 1328, - "user": 4281, - "created_at": 1673931232 - }, - { - "city": "15-1-0", - "slot": 1, - "type": "place_token", - "entity": "NP", - "tokener": "NP", - "entity_type": "corporation", - "id": 1329, - "user": 4281, - "created_at": 1673931235 - }, - { - "type": "pass", - "entity": 605, - "entity_type": "player", - "id": 1333, - "user": 605, - "created_at": 1673931276 - }, - { - "type": "buy_shares", - "entity": "NYC", - "shares": [ - "NYC_3" - ], - "percent": 20, - "entity_type": "corporation", - "id": 1334, - "user": 605, - "created_at": 1673931282 - }, - { - "type": "undo", - "entity": 1463, - "entity_type": "player", - "id": 1335, - "user": 605, - "created_at": 1673931290 - }, - { - "loan": 57, - "type": "take_loan", - "entity": "NYC", - "entity_type": "corporation", - "id": 1336, - "user": 605, - "created_at": 1673931292 - }, - { - "loan": 58, - "type": "take_loan", - "entity": "NYC", - "entity_type": "corporation", - "id": 1337, - "user": 605, - "created_at": 1673931295 - }, - { - "type": "buy_shares", - "entity": "NYC", - "shares": [ - "NYC_3" - ], - "percent": 20, - "entity_type": "corporation", - "id": 1338, - "user": 605, - "created_at": 1673931296 + "original_id": 1307 }, { "type": "pass", - "entity": 1463, - "entity_type": "player", - "id": 1339, - "user": 1463, - "created_at": 1673931308 - }, - { - "type": "undo", - "entity": 512, - "action_id": 1338, - "entity_type": "player", - "id": 1343, - "user": 4281, - "created_at": 1673931366 - }, - { - "type": "undo", - "entity": 1463, - "action_id": 1333, - "entity_type": "player", - "id": 1344, - "user": 4281, - "created_at": 1673931369 - }, - { - "type": "undo", - "entity": 605, - "action_id": 1308, + "entity": 4440, "entity_type": "player", - "id": 1345, - "user": 4281, - "created_at": 1673931372 + "id": 991, + "created_at": 1673930865, + "original_id": 1308 }, { "type": "sell_shares", "entity": 4281, "entity_type": "player", - "id": 1346, + "id": 992, "created_at": 1673931381, "shares": [ "NYC_3" ], - "percent": 20 + "percent": 20, + "original_id": 1346 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 1348, + "id": 993, "created_at": 1673931402, "corporation": "NP", - "price": 284 + "price": 284, + "original_id": 1348 }, { "type": "place_token", "entity": "NP", "entity_type": "corporation", - "id": 1350, + "id": 994, "created_at": 1673931405, "city": "15-1-0", "slot": 1, - "tokener": "NP" - }, - { - "loan": 57, - "type": "take_loan", - "entity": "NYC", - "entity_type": "corporation", - "id": 1351, - "user": 605, - "created_at": 1673931414 - }, - { - "type": "undo", - "entity": 605, - "entity_type": "player", - "id": 1360, - "user": 605, - "created_at": 1673931558 + "tokener": "NP", + "original_id": 1350 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 1361, + "id": 995, "created_at": 1673931561, "shares": [ "GN_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1361 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1362, - "created_at": 1673931568 + "id": 996, + "created_at": 1673931568, + "original_id": 1362 }, { "type": "take_loan", "entity": "KCS", "entity_type": "corporation", - "id": 1364, + "id": 997, "created_at": 1673931594, - "loan": 57 + "loan": 57, + "original_id": 1364 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1365, - "created_at": 1673931597 + "id": 998, + "created_at": 1673931597, + "original_id": 1365 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1366, - "created_at": 1673931612 + "id": 999, + "created_at": 1673931612, + "original_id": 1366 }, { "type": "buy_shares", "entity": 4281, "entity_type": "player", - "id": 1367, + "id": 1000, "created_at": 1673931620, "shares": [ "NP_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1367 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 1368, - "created_at": 1673931626 + "id": 1001, + "created_at": 1673931626, + "original_id": 1368 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1369, - "created_at": 1673931633 + "id": 1002, + "created_at": 1673931633, + "original_id": 1369 }, { "type": "program_share_pass", "entity": 512, "entity_type": "player", - "id": 1370, + "id": 1003, "created_at": 1673931638, "auto_actions": [ { @@ -12742,44 +12031,49 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 1370 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1371, - "created_at": 1673931649 + "id": 1004, + "created_at": 1673931649, + "original_id": 1371 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1373, - "created_at": 1673931659 + "id": 1005, + "created_at": 1673931659, + "original_id": 1373 }, { "type": "lay_tile", "entity": "MP", "entity_type": "corporation", - "id": 1374, + "id": 1006, "created_at": 1673931678, "hex": "C13", "tile": "9-2", - "rotation": 0 + "rotation": 0, + "original_id": 1374 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 1375, - "created_at": 1673931680 + "id": 1007, + "created_at": 1673931680, + "original_id": 1375 }, { "type": "run_routes", "entity": "MP", "entity_type": "corporation", - "id": 1376, + "id": 1008, "created_at": 1673931682, "routes": [ { @@ -12817,366 +12111,323 @@ "A27-0" ] } - ] + ], + "original_id": 1376 }, { "type": "dividend", "entity": "MP", "entity_type": "corporation", - "id": 1377, + "id": 1009, "created_at": 1673931684, - "kind": "payout" + "kind": "payout", + "original_id": 1377 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 1378, - "created_at": 1673931685 + "id": 1010, + "created_at": 1673931685, + "original_id": 1378 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 1379, - "created_at": 1673931687 + "id": 1011, + "created_at": 1673931687, + "original_id": 1379 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 1380, - "created_at": 1673931737 + "id": 1012, + "created_at": 1673931737, + "original_id": 1380 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 1381, - "created_at": 1673931740 + "id": 1013, + "created_at": 1673931740, + "original_id": 1381 }, { "type": "take_loan", "entity": "DRG", "entity_type": "corporation", - "id": 1382, + "id": 1014, "created_at": 1673931750, - "loan": 58 + "loan": 58, + "original_id": 1382 }, { "type": "buy_train", "entity": "DRG", "entity_type": "corporation", - "id": 1383, + "id": 1015, "created_at": 1673931752, "train": "5-0", "price": 600, - "variant": "5" + "variant": "5", + "original_id": 1383 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 1384, - "created_at": 1673931758 + "id": 1016, + "created_at": 1673931758, + "original_id": 1384 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 1385, - "created_at": 1673931761 + "id": 1017, + "created_at": 1673931761, + "original_id": 1385 }, { "type": "lay_tile", "entity": "PRR", "entity_type": "corporation", - "id": 1386, + "id": 1018, "created_at": 1673931768, "hex": "I19", "tile": "593-0", - "rotation": 1 + "rotation": 1, + "original_id": 1386 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1387, - "created_at": 1673931771 + "id": 1019, + "created_at": 1673931771, + "original_id": 1387 }, { "type": "place_token", "entity": "PRR", "entity_type": "corporation", - "id": 1388, + "id": 1020, "created_at": 1673931772, "city": "593-0-0", "slot": 2, - "tokener": "PRR" + "tokener": "PRR", + "original_id": 1388 }, { "type": "take_loan", "entity": "PRR", "entity_type": "corporation", - "id": 1389, + "id": 1021, "created_at": 1673931775, - "loan": 59 + "loan": 59, + "original_id": 1389 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1390, - "created_at": 1673931777 + "id": 1022, + "created_at": 1673931777, + "original_id": 1390 }, { "type": "buy_train", "entity": "PRR", "entity_type": "corporation", - "id": 1391, + "id": 1023, "created_at": 1673931778, "train": "5-1", "price": 600, - "variant": "5" + "variant": "5", + "original_id": 1391 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1392, - "created_at": 1673931780 + "id": 1024, + "created_at": 1673931780, + "original_id": 1392 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1393, - "created_at": 1673931782 + "id": 1025, + "created_at": 1673931782, + "original_id": 1393 }, { "type": "lay_tile", "entity": "GN", "entity_type": "corporation", - "id": 1394, + "id": 1026, "created_at": 1673931798, "hex": "D28", "tile": "X16-0", - "rotation": 0 + "rotation": 0, + "original_id": 1394 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 1395, - "created_at": 1673931801 + "id": 1027, + "created_at": 1673931801, + "original_id": 1395 }, { "type": "place_token", "entity": "GN", "entity_type": "corporation", - "id": 1396, + "id": 1028, "created_at": 1673931803, "city": "X16-0-0", "slot": 3, - "tokener": "GN" + "tokener": "GN", + "original_id": 1396 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 1397, + "id": 1029, "created_at": 1673931806, - "loan": 60 - }, - { - "loan": 61, - "type": "take_loan", - "entity": "GN", - "entity_type": "corporation", - "id": 1398, - "user": 605, - "created_at": 1673931807 - }, - { - "type": "pass", - "entity": "GN", - "entity_type": "corporation", - "id": 1399, - "user": 605, - "created_at": 1673931810 - }, - { - "type": "buy_train", - "price": 600, - "train": "5-2", - "entity": "GN", - "variant": "5", - "entity_type": "corporation", - "id": 1400, - "user": 605, - "created_at": 1673931811 - }, - { - "type": "pass", - "entity": "GN", - "entity_type": "corporation", - "id": 1401, - "user": 605, - "created_at": 1673931812 - }, - { - "type": "pass", - "entity": "GN", - "entity_type": "corporation", - "id": 1402, - "user": 605, - "created_at": 1673931814 - }, - { - "type": "undo", - "entity": "KCS", - "entity_type": "corporation", - "id": 1403, - "user": 605, - "created_at": 1673931822 - }, - { - "type": "undo", - "entity": "GN", - "action_id": 1397, - "entity_type": "corporation", - "id": 1404, - "user": 605, - "created_at": 1673931828 + "loan": 60, + "original_id": 1397 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 1405, - "created_at": 1673931830 + "id": 1030, + "created_at": 1673931830, + "original_id": 1405 }, { "type": "buy_train", "entity": "GN", "entity_type": "corporation", - "id": 1406, + "id": 1031, "created_at": 1673931831, "train": "5-2", "price": 600, - "variant": "5" + "variant": "5", + "original_id": 1406 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 1407, - "created_at": 1673931836 + "id": 1032, + "created_at": 1673931836, + "original_id": 1407 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 1408, - "created_at": 1673931839 + "id": 1033, + "created_at": 1673931839, + "original_id": 1408 }, { "type": "lay_tile", "entity": "KCS", "entity_type": "corporation", - "id": 1409, + "id": 1034, "created_at": 1673931858, "hex": "H22", "tile": "593-1", - "rotation": 3 + "rotation": 3, + "original_id": 1409 }, { "type": "pass", "entity": "KCS", "entity_type": "corporation", - "id": 1410, - "created_at": 1673931863 + "id": 1035, + "created_at": 1673931863, + "original_id": 1410 }, { "type": "place_token", "entity": "KCS", "entity_type": "corporation", - "id": 1411, + "id": 1036, "created_at": 1673931865, "city": "593-1-0", "slot": 2, - "tokener": "KCS" + "tokener": "KCS", + "original_id": 1411 }, { "type": "pass", "entity": "KCS", "entity_type": "corporation", - "id": 1412, - "created_at": 1673931890 + "id": 1037, + "created_at": 1673931890, + "original_id": 1412 }, { "type": "buy_train", "entity": "KCS", "entity_type": "corporation", - "id": 1413, + "id": 1038, "created_at": 1673931892, "train": "5-3", "price": 600, - "variant": "5" + "variant": "5", + "original_id": 1413 }, { "type": "pass", "entity": "KCS", "entity_type": "corporation", - "id": 1414, - "created_at": 1673931897 + "id": 1039, + "created_at": 1673931897, + "original_id": 1414 }, { "type": "pass", "entity": "KCS", "entity_type": "corporation", - "id": 1415, - "created_at": 1673931900 + "id": 1040, + "created_at": 1673931900, + "original_id": 1415 }, { "type": "lay_tile", "entity": "UP", "entity_type": "corporation", - "id": 1416, + "id": 1041, "created_at": 1673931910, "hex": "E25", "tile": "544coal-0", - "rotation": 2 + "rotation": 2, + "original_id": 1416 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 1417, - "created_at": 1673931921 - }, - { - "type": "undo", - "entity": "UP", - "action_id": 1408, - "entity_type": "corporation", - "id": 1420, - "user": 512, - "created_at": 1673931952 - }, - { - "type": "redo", - "entity": "KCS", - "entity_type": "corporation", - "id": 1421, - "user": 512, - "created_at": 1673931959 + "id": 1042, + "created_at": 1673931921, + "original_id": 1417 }, { "type": "run_routes", "entity": "UP", "entity_type": "corporation", - "id": 1423, + "id": 1043, "created_at": 1673931978, "routes": [ { @@ -13209,75 +12460,84 @@ "H22-0" ] } - ] + ], + "original_id": 1423 }, { "type": "dividend", "entity": "UP", "entity_type": "corporation", - "id": 1425, + "id": 1044, "created_at": 1673932117, - "kind": "withhold" + "kind": "withhold", + "original_id": 1425 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 1426, - "created_at": 1673932127 + "id": 1045, + "created_at": 1673932127, + "original_id": 1426 }, { "type": "payoff_loan", "entity": "UP", "entity_type": "corporation", - "id": 1427, + "id": 1046, "created_at": 1673932129, - "loan": 37 + "loan": 37, + "original_id": 1427 }, { "type": "pass", "entity": "UP", "entity_type": "corporation", - "id": 1428, - "created_at": 1673932135 + "id": 1047, + "created_at": 1673932135, + "original_id": 1428 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 1429, + "id": 1048, "created_at": 1673932140, "hex": "G3", "tile": "X15-0", - "rotation": 5 + "rotation": 5, + "original_id": 1429 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1430, - "created_at": 1673932144 + "id": 1049, + "created_at": 1673932144, + "original_id": 1430 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1431, - "created_at": 1673932146 + "id": 1050, + "created_at": 1673932146, + "original_id": 1431 }, { "type": "choose", "entity": "SLSF", "entity_type": "corporation", - "id": 1432, + "id": 1051, "created_at": 1673932166, - "choice": "0-0" + "choice": "0-0", + "original_id": 1432 }, { "type": "run_routes", "entity": "SLSF", "entity_type": "corporation", - "id": 1433, + "id": 1052, "created_at": 1673932172, "routes": [ { @@ -13341,59 +12601,66 @@ "G3-0" ] } - ] + ], + "original_id": 1433 }, { "type": "dividend", "entity": "SLSF", "entity_type": "corporation", - "id": 1434, + "id": 1053, "created_at": 1673932173, - "kind": "payout" + "kind": "payout", + "original_id": 1434 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1435, - "created_at": 1673932177 + "id": 1054, + "created_at": 1673932177, + "original_id": 1435 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1436, - "created_at": 1673932178 + "id": 1055, + "created_at": 1673932178, + "original_id": 1436 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", - "id": 1437, + "id": 1056, "created_at": 1673932212, "hex": "D22", "tile": "546-0", - "rotation": 1 + "rotation": 1, + "original_id": 1437 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1438, - "created_at": 1673932218 + "id": 1057, + "created_at": 1673932218, + "original_id": 1438 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1439, - "created_at": 1673932233 + "id": 1058, + "created_at": 1673932233, + "original_id": 1439 }, { "type": "run_routes", "entity": "B&O", "entity_type": "corporation", - "id": 1440, + "id": 1059, "created_at": 1673932250, "routes": [ { @@ -13460,78 +12727,87 @@ "D28-0" ] } - ] + ], + "original_id": 1440 }, { "type": "take_loan", "entity": "B&O", "entity_type": "corporation", - "id": 1441, + "id": 1060, "created_at": 1673932256, - "loan": 61 + "loan": 61, + "original_id": 1441 }, { "type": "dividend", "entity": "B&O", "entity_type": "corporation", - "id": 1442, + "id": 1061, "created_at": 1673932259, - "kind": "half" + "kind": "half", + "original_id": 1442 }, { "type": "take_loan", "entity": "B&O", "entity_type": "corporation", - "id": 1443, + "id": 1062, "created_at": 1673932264, - "loan": 62 + "loan": 62, + "original_id": 1443 }, { "type": "buy_train", "entity": "B&O", "entity_type": "corporation", - "id": 1444, + "id": 1063, "created_at": 1673932267, "train": "5-4", "price": 600, - "variant": "5" + "variant": "5", + "original_id": 1444 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1445, - "created_at": 1673932271 + "id": 1064, + "created_at": 1673932271, + "original_id": 1445 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", - "id": 1446, + "id": 1065, "created_at": 1673932283, "hex": "D24", "tile": "X13-0", - "rotation": 5 + "rotation": 5, + "original_id": 1446 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1447, - "created_at": 1673932287 + "id": 1066, + "created_at": 1673932287, + "original_id": 1447 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1448, - "created_at": 1673932289 + "id": 1067, + "created_at": 1673932289, + "original_id": 1448 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", - "id": 1449, + "id": 1068, "created_at": 1673932305, "routes": [ { @@ -13598,191 +12874,176 @@ "D28-0" ] } - ] + ], + "original_id": 1449 }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", - "id": 1450, + "id": 1069, "created_at": 1673932307, - "kind": "half" + "kind": "half", + "original_id": 1450 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1451, - "created_at": 1673932315 + "id": 1070, + "created_at": 1673932315, + "original_id": 1451 }, { "type": "payoff_loan", "entity": "IC", "entity_type": "corporation", - "id": 1452, + "id": 1071, "created_at": 1673932318, - "loan": 27 + "loan": 27, + "original_id": 1452 }, { "type": "payoff_loan", "entity": "IC", "entity_type": "corporation", - "id": 1453, + "id": 1072, "created_at": 1673932319, - "loan": 12 + "loan": 12, + "original_id": 1453 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1454, - "created_at": 1673932321 + "id": 1073, + "created_at": 1673932321, + "original_id": 1454 }, { "type": "lay_tile", "entity": "NP", "entity_type": "corporation", - "id": 1455, + "id": 1074, "created_at": 1673932346, "hex": "B8", "tile": "448-0", - "rotation": 4 + "rotation": 4, + "original_id": 1455 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 1456, - "created_at": 1673932351 + "id": 1075, + "created_at": 1673932351, + "original_id": 1456 }, { "type": "place_token", "entity": "NP", "entity_type": "corporation", - "id": 1457, + "id": 1076, "created_at": 1673932352, "city": "X13-0-0", "slot": 2, - "tokener": "NP" + "tokener": "NP", + "original_id": 1457 }, { "type": "take_loan", "entity": "NP", "entity_type": "corporation", - "id": 1458, + "id": 1077, "created_at": 1673932357, - "loan": 63 - }, - { - "type": "take_loan", - "entity": "NP", - "entity_type": "corporation", - "id": 1459, - "created_at": 1673932358, - "loan": 64 - }, - { - "loan": 65, - "type": "take_loan", - "entity": "NP", - "entity_type": "corporation", - "id": 1460, - "user": 4281, - "created_at": 1673932359 + "loan": 63, + "original_id": 1458 }, { - "loan": 66, "type": "take_loan", "entity": "NP", "entity_type": "corporation", - "id": 1462, - "user": 4281, - "created_at": 1673932372 - }, - { - "type": "undo", - "entity": "NP", - "entity_type": "corporation", - "id": 1463, - "user": 4281, - "created_at": 1673932384 - }, - { - "type": "undo", - "entity": "NP", - "entity_type": "corporation", - "id": 1464, - "user": 4281, - "created_at": 1673932387 + "id": 1078, + "created_at": 1673932358, + "loan": 64, + "original_id": 1459 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 1465, - "created_at": 1673932388 + "id": 1079, + "created_at": 1673932388, + "original_id": 1465 }, { "type": "take_loan", "entity": "NP", "entity_type": "corporation", - "id": 1466, + "id": 1080, "created_at": 1673932390, - "loan": 65 + "loan": 65, + "original_id": 1466 }, { "type": "buy_train", "entity": "NP", "entity_type": "corporation", - "id": 1467, + "id": 1081, "created_at": 1673932391, "train": "5-5", "price": 600, - "variant": "5" + "variant": "5", + "original_id": 1467 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 1468, - "created_at": 1673932396 + "id": 1082, + "created_at": 1673932396, + "original_id": 1468 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 1470, - "created_at": 1673932407 + "id": 1083, + "created_at": 1673932407, + "original_id": 1470 }, { "type": "lay_tile", "entity": "TP", "entity_type": "corporation", - "id": 1472, + "id": 1084, "created_at": 1673932471, "hex": "G11", "tile": "63-0", - "rotation": 0 + "rotation": 0, + "original_id": 1472 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1474, - "created_at": 1673932486 + "id": 1085, + "created_at": 1673932486, + "original_id": 1474 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1475, - "created_at": 1673932493 + "id": 1086, + "created_at": 1673932493, + "original_id": 1475 }, { "type": "run_routes", "entity": "TP", "entity_type": "corporation", - "id": 1476, + "id": 1087, "created_at": 1673932498, "routes": [ { @@ -13814,49 +13075,55 @@ "I19-0" ] } - ] + ], + "original_id": 1476 }, { "type": "dividend", "entity": "TP", "entity_type": "corporation", - "id": 1477, + "id": 1088, "created_at": 1673932501, - "kind": "payout" + "kind": "payout", + "original_id": 1477 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1478, - "created_at": 1673932503 + "id": 1089, + "created_at": 1673932503, + "original_id": 1478 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1479, - "created_at": 1673932505 + "id": 1090, + "created_at": 1673932505, + "original_id": 1479 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 1480, - "created_at": 1673932516 + "id": 1091, + "created_at": 1673932516, + "original_id": 1480 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 1481, - "created_at": 1673932517 + "id": 1092, + "created_at": 1673932517, + "original_id": 1481 }, { "type": "run_routes", "entity": "NYC", "entity_type": "corporation", - "id": 1482, + "id": 1093, "created_at": 1673932518, "routes": [ { @@ -13897,59 +13164,66 @@ "H22-0" ] } - ] + ], + "original_id": 1482 }, { "type": "dividend", "entity": "NYC", "entity_type": "corporation", - "id": 1483, + "id": 1094, "created_at": 1673932520, - "kind": "withhold" + "kind": "withhold", + "original_id": 1483 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 1484, - "created_at": 1673932521 + "id": 1095, + "created_at": 1673932521, + "original_id": 1484 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", - "id": 1485, - "created_at": 1673932523 + "id": 1096, + "created_at": 1673932523, + "original_id": 1485 }, { "type": "lay_tile", "entity": "MILW", "entity_type": "corporation", - "id": 1486, + "id": 1097, "created_at": 1673932541, "hex": "D20", "tile": "611-0", - "rotation": 4 + "rotation": 4, + "original_id": 1486 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1487, - "created_at": 1673932543 + "id": 1098, + "created_at": 1673932543, + "original_id": 1487 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1488, - "created_at": 1673932545 + "id": 1099, + "created_at": 1673932545, + "original_id": 1488 }, { "type": "run_routes", "entity": "MILW", "entity_type": "corporation", - "id": 1489, + "id": 1100, "created_at": 1673932551, "routes": [ { @@ -13985,67 +13259,75 @@ "H22-0" ] } - ] + ], + "original_id": 1489 }, { "type": "dividend", "entity": "MILW", "entity_type": "corporation", - "id": 1490, + "id": 1101, "created_at": 1673932554, - "kind": "withhold" + "kind": "withhold", + "original_id": 1490 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1491, - "created_at": 1673932557 + "id": 1102, + "created_at": 1673932557, + "original_id": 1491 }, { "type": "payoff_loan", "entity": "MILW", "entity_type": "corporation", - "id": 1492, + "id": 1103, "created_at": 1673932559, - "loan": 25 + "loan": 25, + "original_id": 1492 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1493, - "created_at": 1673932563 + "id": 1104, + "created_at": 1673932563, + "original_id": 1493 }, { "type": "lay_tile", "entity": "C&O", "entity_type": "corporation", - "id": 1494, + "id": 1105, "created_at": 1673932572, "hex": "B14", "tile": "611-1", - "rotation": 3 + "rotation": 3, + "original_id": 1494 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1495, - "created_at": 1673932574 + "id": 1106, + "created_at": 1673932574, + "original_id": 1495 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1496, - "created_at": 1673932581 + "id": 1107, + "created_at": 1673932581, + "original_id": 1496 }, { "type": "run_routes", "entity": "C&O", "entity_type": "corporation", - "id": 1497, + "id": 1108, "created_at": 1673932588, "routes": [ { @@ -14119,85 +13401,95 @@ "D28-0" ] } - ] + ], + "original_id": 1497 }, { "type": "dividend", "entity": "C&O", "entity_type": "corporation", - "id": 1498, + "id": 1109, "created_at": 1673932591, - "kind": "half" + "kind": "half", + "original_id": 1498 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1499, - "created_at": 1673932599 + "id": 1110, + "created_at": 1673932599, + "original_id": 1499 }, { "type": "payoff_loan", "entity": "C&O", "entity_type": "corporation", - "id": 1500, + "id": 1111, "created_at": 1673932601, - "loan": 3 + "loan": 3, + "original_id": 1500 }, { "type": "payoff_loan", "entity": "C&O", "entity_type": "corporation", - "id": 1501, + "id": 1112, "created_at": 1673932602, - "loan": 30 + "loan": 30, + "original_id": 1501 }, { "type": "payoff_loan", "entity": "C&O", "entity_type": "corporation", - "id": 1502, + "id": 1113, "created_at": 1673932604, - "loan": 31 + "loan": 31, + "original_id": 1502 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1503, - "created_at": 1673932605 + "id": 1114, + "created_at": 1673932605, + "original_id": 1503 }, { "type": "lay_tile", "entity": "ATSF", "entity_type": "corporation", - "id": 1504, + "id": 1115, "created_at": 1673932649, "hex": "C3", "tile": "611-2", - "rotation": 2 + "rotation": 2, + "original_id": 1504 }, { "type": "assign", "entity": "P6", "entity_type": "company", - "id": 1505, + "id": 1116, "created_at": 1673932654, "target": "B2", - "target_type": "hex" + "target_type": "hex", + "original_id": 1505 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1506, - "created_at": 1673932658 + "id": 1117, + "created_at": 1673932658, + "original_id": 1506 }, { "type": "run_routes", "entity": "ATSF", "entity_type": "corporation", - "id": 1507, + "id": 1118, "created_at": 1673932693, "routes": [ { @@ -14297,58 +13589,65 @@ "C3-0" ] } - ] + ], + "original_id": 1507 }, { "type": "dividend", "entity": "ATSF", "entity_type": "corporation", - "id": 1508, + "id": 1119, "created_at": 1673932698, - "kind": "half" + "kind": "half", + "original_id": 1508 }, { "type": "payoff_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 1509, + "id": 1120, "created_at": 1673932700, - "loan": 34 + "loan": 34, + "original_id": 1509 }, { "type": "payoff_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 1510, + "id": 1121, "created_at": 1673932701, - "loan": 35 + "loan": 35, + "original_id": 1510 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1511, - "created_at": 1673932706 + "id": 1122, + "created_at": 1673932706, + "original_id": 1511 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 1512, - "created_at": 1673932712 + "id": 1123, + "created_at": 1673932712, + "original_id": 1512 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 1513, - "created_at": 1673932714 + "id": 1124, + "created_at": 1673932714, + "original_id": 1513 }, { "type": "run_routes", "entity": "SR", "entity_type": "corporation", - "id": 1514, + "id": 1125, "created_at": 1673932726, "routes": [ { @@ -14414,262 +13713,276 @@ "I19-0" ] } - ] + ], + "original_id": 1514 }, { "type": "dividend", "entity": "SR", "entity_type": "corporation", - "id": 1515, + "id": 1126, "created_at": 1673932728, - "kind": "payout" + "kind": "payout", + "original_id": 1515 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 1516, - "created_at": 1673932731 + "id": 1127, + "created_at": 1673932731, + "original_id": 1516 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 1517, - "created_at": 1673932734 + "id": 1128, + "created_at": 1673932734, + "original_id": 1517 }, { "type": "merge", "entity": "SLSF", "entity_type": "corporation", - "id": 1519, + "id": 1129, "created_at": 1673932751, - "corporation": "UP" + "corporation": "UP", + "original_id": 1519 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1520, + "id": 1130, "created_at": 1673932754, "shares": [ "SLSF_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1520 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 1521, - "created_at": 1673932762 + "id": 1131, + "created_at": 1673932762, + "original_id": 1521 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1522, - "created_at": 1673932771 + "id": 1132, + "created_at": 1673932771, + "original_id": 1522 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1523, - "created_at": 1673932779 + "id": 1133, + "created_at": 1673932779, + "original_id": 1523 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 1527, - "created_at": 1673932985 + "id": 1134, + "created_at": 1673932985, + "original_id": 1527 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1529, - "created_at": 1673932998 + "id": 1135, + "created_at": 1673932998, + "original_id": 1529 }, { "type": "pass", "entity": "KCS", "entity_type": "corporation", - "id": 1530, - "created_at": 1673933009 - }, - { - "type": "pass", - "entity": "GN", - "entity_type": "corporation", - "id": 1531, - "user": 605, - "created_at": 1673933018 - }, - { - "type": "undo", - "entity": "B&O", - "entity_type": "corporation", - "id": 1532, - "user": 605, - "created_at": 1673933023 + "id": 1136, + "created_at": 1673933009, + "original_id": 1530 }, { "type": "convert", "entity": "GN", "entity_type": "corporation", - "id": 1533, - "created_at": 1673933028 + "id": 1137, + "created_at": 1673933028, + "original_id": 1533 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 1534, + "id": 1138, "created_at": 1673933035, "shares": [ "GN_2" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1534 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 1535, + "id": 1139, "created_at": 1673933036, "shares": [ "GN_3" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1535 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1536, - "created_at": 1673933053 + "id": 1140, + "created_at": 1673933053, + "original_id": 1536 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1537, - "created_at": 1673933078 + "id": 1141, + "created_at": 1673933078, + "original_id": 1537 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 1538, + "id": 1142, "created_at": 1673933083, - "loan": 67 + "loan": 67, + "original_id": 1538 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 1539, + "id": 1143, "created_at": 1673933084, - "loan": 68 + "loan": 68, + "original_id": 1539 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 1540, + "id": 1144, "created_at": 1673933085, - "loan": 69 + "loan": 69, + "original_id": 1540 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 1541, + "id": 1145, "created_at": 1673933086, - "loan": 20 + "loan": 20, + "original_id": 1541 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 1542, + "id": 1146, "created_at": 1673933088, - "loan": 21 + "loan": 21, + "original_id": 1542 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 1543, + "id": 1147, "created_at": 1673933090, - "loan": 2 + "loan": 2, + "original_id": 1543 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 1544, + "id": 1148, "created_at": 1673933091, - "loan": 7 + "loan": 7, + "original_id": 1544 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 1545, + "id": 1149, "created_at": 1673933092, - "loan": 4 + "loan": 4, + "original_id": 1545 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1547, - "created_at": 1673933163 + "id": 1150, + "created_at": 1673933163, + "original_id": 1547 }, { "type": "convert", "entity": "TP", "entity_type": "corporation", - "id": 1548, - "created_at": 1673933170 + "id": 1151, + "created_at": 1673933170, + "original_id": 1548 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 1549, + "id": 1152, "created_at": 1673933171, "shares": [ "TP_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1549 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1550, - "created_at": 1673933216 + "id": 1153, + "created_at": 1673933216, + "original_id": 1550 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1551, - "created_at": 1673933226 + "id": 1154, + "created_at": 1673933226, + "original_id": 1551 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 1552, + "id": 1155, "created_at": 1673933234, "corporations_by_round": { "AR": [ @@ -14683,302 +13996,322 @@ "TP" ] }, - "options": [] + "options": [ + + ], + "original_id": 1552 }, { "type": "convert", "entity": "NYC", "entity_type": "corporation", - "id": 1553, - "created_at": 1673933237 + "id": 1156, + "created_at": 1673933237, + "original_id": 1553 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1555, - "created_at": 1673933255 + "id": 1157, + "created_at": 1673933255, + "original_id": 1555 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1557, - "created_at": 1673933296 + "id": 1158, + "created_at": 1673933296, + "original_id": 1557 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1563, - "created_at": 1673933348 + "id": 1159, + "created_at": 1673933348, + "original_id": 1563 }, { "type": "take_loan", "entity": "NYC", "entity_type": "corporation", - "id": 1564, + "id": 1160, "created_at": 1673933353, - "loan": 5 + "loan": 5, + "original_id": 1564 }, { "type": "take_loan", "entity": "NYC", "entity_type": "corporation", - "id": 1565, + "id": 1161, "created_at": 1673933354, - "loan": 11 + "loan": 11, + "original_id": 1565 }, { "type": "take_loan", "entity": "NYC", "entity_type": "corporation", - "id": 1567, + "id": 1162, "created_at": 1673933357, - "loan": 6 + "loan": 6, + "original_id": 1567 }, { "type": "take_loan", "entity": "NYC", "entity_type": "corporation", - "id": 1568, + "id": 1163, "created_at": 1673933359, - "loan": 0 + "loan": 0, + "original_id": 1568 }, { "type": "take_loan", "entity": "NYC", "entity_type": "corporation", - "id": 1569, + "id": 1164, "created_at": 1673933360, - "loan": 22 + "loan": 22, + "original_id": 1569 }, { "type": "take_loan", "entity": "NYC", "entity_type": "corporation", - "id": 1570, + "id": 1165, "created_at": 1673933362, - "loan": 13 + "loan": 13, + "original_id": 1570 }, { "type": "take_loan", "entity": "NYC", "entity_type": "corporation", - "id": 1571, + "id": 1166, "created_at": 1673933363, - "loan": 17 + "loan": 17, + "original_id": 1571 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1574, - "created_at": 1673933433 + "id": 1167, + "created_at": 1673933433, + "original_id": 1574 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 1575, - "created_at": 1673933451 + "id": 1168, + "created_at": 1673933451, + "original_id": 1575 }, { "type": "convert", "entity": "MILW", "entity_type": "corporation", - "id": 1576, - "created_at": 1673933455 + "id": 1169, + "created_at": 1673933455, + "original_id": 1576 }, { "type": "buy_shares", "entity": 4281, "entity_type": "player", - "id": 1577, + "id": 1170, "created_at": 1673933479, "shares": [ "MILW_1" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1577 }, { "type": "buy_shares", "entity": 605, "entity_type": "player", - "id": 1578, + "id": 1171, "created_at": 1673933486, "shares": [ "MILW_2" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1578 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1579, - "created_at": 1673933497 + "id": 1172, + "created_at": 1673933497, + "original_id": 1579 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1580, - "created_at": 1673933508 + "id": 1173, + "created_at": 1673933508, + "original_id": 1580 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1581, - "created_at": 1673933519 + "id": 1174, + "created_at": 1673933519, + "original_id": 1581 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1582, - "created_at": 1673933569 - }, - { - "type": "pass", - "entity": 512, - "entity_type": "player", - "id": 1583, - "user": 512, - "created_at": 1673933576 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 1584, - "user": 1463, - "created_at": 1673933584 + "id": 1175, + "created_at": 1673933569, + "original_id": 1582 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1585, - "created_at": 1673933590 + "id": 1176, + "created_at": 1673933590, + "original_id": 1585 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1586, - "created_at": 1673933598 + "id": 1177, + "created_at": 1673933598, + "original_id": 1586 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 1587, + "id": 1178, "created_at": 1673933609, "corporation": "SR", - "price": 10 + "price": 10, + "original_id": 1587 }, { "type": "pass", "entity": 605, "entity_type": "player", - "id": 1588, - "created_at": 1673933613 + "id": 1179, + "created_at": 1673933613, + "original_id": 1588 }, { "type": "merge", "entity": 4281, "entity_type": "player", - "id": 1589, + "id": 1180, "created_at": 1673933630, - "corporation": "MILW" + "corporation": "MILW", + "original_id": 1589 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1591, - "created_at": 1673933639 + "id": 1181, + "created_at": 1673933639, + "original_id": 1591 }, { "type": "sell_shares", "entity": 605, "entity_type": "player", - "id": 1592, + "id": 1182, "created_at": 1673933646, "shares": [ "ATSF_10" ], - "percent": 20 + "percent": 20, + "original_id": 1592 }, { "type": "sell_shares", "entity": 605, "entity_type": "player", - "id": 1593, + "id": 1183, "created_at": 1673933648, "shares": [ "NYC_1" ], - "percent": 10 + "percent": 10, + "original_id": 1593 }, { "type": "sell_shares", "entity": 605, "entity_type": "player", - "id": 1594, + "id": 1184, "created_at": 1673933649, "shares": [ "MILW_2" ], - "percent": 20 + "percent": 20, + "original_id": 1594 }, { "type": "sell_shares", "entity": 605, "entity_type": "player", - "id": 1595, + "id": 1185, "created_at": 1673933651, "shares": [ "IC_3" ], - "percent": 20 + "percent": 20, + "original_id": 1595 }, { "type": "sell_shares", "entity": 605, "entity_type": "player", - "id": 1596, + "id": 1186, "created_at": 1673933652, "shares": [ "GN_1", "GN_2", "GN_3" ], - "percent": 30 + "percent": 30, + "original_id": 1596 }, { "type": "bankrupt", "entity": 605, "entity_type": "player", - "id": 1597, - "created_at": 1673933654 + "id": 1187, + "created_at": 1673933654, + "original_id": 1597 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1602, - "created_at": 1673933688 + "id": 1188, + "created_at": 1673933688, + "original_id": 1602 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1603, + "id": 1189, "created_at": 1673933695, "auto_actions": [ { @@ -14987,20 +14320,22 @@ "entity_type": "player", "created_at": 1673933693 } - ] + ], + "original_id": 1603 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1604, - "created_at": 1673933709 + "id": 1190, + "created_at": 1673933709, + "original_id": 1604 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1606, + "id": 1191, "created_at": 1673933759, "auto_actions": [ { @@ -15009,45 +14344,50 @@ "entity_type": "player", "created_at": 1673933758 } - ] + ], + "original_id": 1606 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 1607, + "id": 1192, "created_at": 1673933799, "hex": "I21", "tile": "545-0", - "rotation": 1 + "rotation": 1, + "original_id": 1607 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1608, - "created_at": 1673933809 + "id": 1193, + "created_at": 1673933809, + "original_id": 1608 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1609, - "created_at": 1673933830 + "id": 1194, + "created_at": 1673933830, + "original_id": 1609 }, { "type": "choose", "entity": "SLSF", "entity_type": "corporation", - "id": 1611, + "id": 1195, "created_at": 1673933898, - "choice": "1-0" + "choice": "1-0", + "original_id": 1611 }, { "type": "run_routes", "entity": "SLSF", "entity_type": "corporation", - "id": 1612, + "id": 1196, "created_at": 1673933900, "routes": [ { @@ -15116,77 +14456,86 @@ "C3-0" ] } - ] + ], + "original_id": 1612 }, { "type": "dividend", "entity": "SLSF", "entity_type": "corporation", - "id": 1616, + "id": 1197, "created_at": 1673933962, - "kind": "half" + "kind": "half", + "original_id": 1616 }, { "type": "take_loan", "entity": "SLSF", "entity_type": "corporation", - "id": 1617, + "id": 1198, "created_at": 1673933967, - "loan": 9 + "loan": 9, + "original_id": 1617 }, { "type": "buy_train", "entity": "SLSF", "entity_type": "corporation", - "id": 1618, + "id": 1199, "created_at": 1673933970, "train": "6-1", "price": 750, - "variant": "6" + "variant": "6", + "original_id": 1618 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1619, - "created_at": 1673933976 + "id": 1200, + "created_at": 1673933976, + "original_id": 1619 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1620, - "created_at": 1673933984 + "id": 1201, + "created_at": 1673933984, + "original_id": 1620 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", - "id": 1621, + "id": 1202, "created_at": 1673934010, "hex": "E23", "tile": "63-1", - "rotation": 0 + "rotation": 0, + "original_id": 1621 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1622, - "created_at": 1673934020 + "id": 1203, + "created_at": 1673934020, + "original_id": 1622 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1623, - "created_at": 1673934025 + "id": 1204, + "created_at": 1673934025, + "original_id": 1623 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", - "id": 1624, + "id": 1205, "created_at": 1673934038, "routes": [ { @@ -15224,77 +14573,86 @@ "D28-0" ] } - ] + ], + "original_id": 1624 }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", - "id": 1625, + "id": 1206, "created_at": 1673934048, - "kind": "half" + "kind": "half", + "original_id": 1625 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1626, - "created_at": 1673934060 + "id": 1207, + "created_at": 1673934060, + "original_id": 1626 }, { "type": "payoff_loan", "entity": "IC", "entity_type": "corporation", - "id": 1627, + "id": 1208, "created_at": 1673934062, - "loan": 56 + "loan": 56, + "original_id": 1627 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1628, - "created_at": 1673934065 + "id": 1209, + "created_at": 1673934065, + "original_id": 1628 }, { "type": "lay_tile", "entity": "DRG", "entity_type": "corporation", - "id": 1629, + "id": 1210, "created_at": 1673934086, "hex": "H14", "tile": "X14-0", - "rotation": 2 + "rotation": 2, + "original_id": 1629 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 1630, - "created_at": 1673934090 + "id": 1211, + "created_at": 1673934090, + "original_id": 1630 }, { "type": "place_token", "entity": "DRG", "entity_type": "corporation", - "id": 1631, + "id": 1212, "created_at": 1673934093, "city": "X14-0-0", "slot": 2, - "tokener": "DRG" + "tokener": "DRG", + "original_id": 1631 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 1632, - "created_at": 1673934106 + "id": 1213, + "created_at": 1673934106, + "original_id": 1632 }, { "type": "run_routes", "entity": "DRG", "entity_type": "corporation", - "id": 1633, + "id": 1214, "created_at": 1673934133, "routes": [ { @@ -15340,67 +14698,75 @@ "I19-0" ] } - ] + ], + "original_id": 1633 }, { "type": "dividend", "entity": "DRG", "entity_type": "corporation", - "id": 1634, + "id": 1215, "created_at": 1673934137, - "kind": "payout" + "kind": "payout", + "original_id": 1634 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 1636, - "created_at": 1673934145 + "id": 1216, + "created_at": 1673934145, + "original_id": 1636 }, { "type": "payoff_loan", "entity": "DRG", "entity_type": "corporation", - "id": 1637, + "id": 1217, "created_at": 1673934148, - "loan": 58 + "loan": 58, + "original_id": 1637 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 1638, - "created_at": 1673934151 + "id": 1218, + "created_at": 1673934151, + "original_id": 1638 }, { "type": "lay_tile", "entity": "PRR", "entity_type": "corporation", - "id": 1639, + "id": 1219, "created_at": 1673934199, "hex": "F14", "tile": "9-6", - "rotation": 1 + "rotation": 1, + "original_id": 1639 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1640, - "created_at": 1673934205 + "id": 1220, + "created_at": 1673934205, + "original_id": 1640 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1641, - "created_at": 1673934207 + "id": 1221, + "created_at": 1673934207, + "original_id": 1641 }, { "type": "run_routes", "entity": "PRR", "entity_type": "corporation", - "id": 1642, + "id": 1222, "created_at": 1673934218, "routes": [ { @@ -15451,67 +14817,75 @@ "H14-0" ] } - ] + ], + "original_id": 1642 }, { "type": "dividend", "entity": "PRR", "entity_type": "corporation", - "id": 1643, + "id": 1223, "created_at": 1673934222, - "kind": "payout" + "kind": "payout", + "original_id": 1643 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1644, - "created_at": 1673934230 + "id": 1224, + "created_at": 1673934230, + "original_id": 1644 }, { "type": "payoff_loan", "entity": "PRR", "entity_type": "corporation", - "id": 1645, + "id": 1225, "created_at": 1673934232, - "loan": 59 + "loan": 59, + "original_id": 1645 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1646, - "created_at": 1673934235 + "id": 1226, + "created_at": 1673934235, + "original_id": 1646 }, { "type": "lay_tile", "entity": "KCS", "entity_type": "corporation", - "id": 1647, + "id": 1227, "created_at": 1673934268, "hex": "D12", "tile": "8-0", - "rotation": 1 + "rotation": 1, + "original_id": 1647 }, { "type": "pass", "entity": "KCS", "entity_type": "corporation", - "id": 1648, - "created_at": 1673934270 + "id": 1228, + "created_at": 1673934270, + "original_id": 1648 }, { "type": "pass", "entity": "KCS", "entity_type": "corporation", - "id": 1649, - "created_at": 1673934276 + "id": 1229, + "created_at": 1673934276, + "original_id": 1649 }, { "type": "run_routes", "entity": "KCS", "entity_type": "corporation", - "id": 1650, + "id": 1230, "created_at": 1673934280, "routes": [ { @@ -15559,52 +14933,58 @@ "I19-0" ] } - ] + ], + "original_id": 1650 }, { "type": "dividend", "entity": "KCS", "entity_type": "corporation", - "id": 1651, + "id": 1231, "created_at": 1673934283, - "kind": "payout" + "kind": "payout", + "original_id": 1651 }, { "type": "pass", "entity": "KCS", "entity_type": "corporation", - "id": 1652, - "created_at": 1673934288 + "id": 1232, + "created_at": 1673934288, + "original_id": 1652 }, { "type": "pass", "entity": "KCS", "entity_type": "corporation", - "id": 1653, - "created_at": 1673934290 + "id": 1233, + "created_at": 1673934290, + "original_id": 1653 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", - "id": 1654, + "id": 1234, "created_at": 1673934324, "hex": "I15", "tile": "611-3", - "rotation": 0 + "rotation": 0, + "original_id": 1654 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 1655, - "created_at": 1673934329 + "id": 1235, + "created_at": 1673934329, + "original_id": 1655 }, { "type": "run_routes", "entity": "B&O", "entity_type": "corporation", - "id": 1656, + "id": 1236, "created_at": 1673934362, "routes": [ { @@ -15681,215 +15061,128 @@ "A27-0" ] } - ] + ], + "original_id": 1656 }, { "type": "dividend", "entity": "B&O", "entity_type": "corporation", - "id": 1657, + "id": 1237, "created_at": 1673934367, - "kind": "half" + "kind": "half", + "original_id": 1657 }, { "type": "payoff_loan", "entity": "B&O", "entity_type": "corporation", - "id": 1658, - "created_at": 1673934369, - "loan": 48 - }, - { - "type": "pass", - "entity": "B&O", - "entity_type": "corporation", - "id": 1659, - "created_at": 1673934371 - }, - { - "type": "lay_tile", - "entity": "TP", - "entity_type": "corporation", - "id": 1660, - "created_at": 1673934383, - "hex": "H12", - "tile": "82-11", - "rotation": 1 - }, - { - "type": "pass", - "entity": "TP", - "entity_type": "corporation", - "id": 1661, - "created_at": 1673934386 - }, - { - "type": "pass", - "entity": "TP", - "entity_type": "corporation", - "id": 1662, - "created_at": 1673934394 - }, - { - "type": "pass", - "entity": "TP", - "entity_type": "corporation", - "id": 1663, - "created_at": 1673934396 - }, - { - "type": "buy_train", - "entity": "TP", - "entity_type": "corporation", - "id": 1664, - "created_at": 1673934404, - "train": "4-7", - "price": 10 - }, - { - "type": "pass", - "entity": "TP", - "entity_type": "corporation", - "id": 1665, - "created_at": 1673934406 - }, - { - "type": "pass", - "entity": "TP", - "entity_type": "corporation", - "id": 1666, - "created_at": 1673934408 - }, - { - "hex": "D26", - "tile": "546coal-0", - "type": "lay_tile", - "entity": "C&O", - "rotation": 0, - "entity_type": "corporation", - "id": 1667, - "user": 4281, - "created_at": 1673934451 - }, - { - "type": "pass", - "entity": "C&O", - "entity_type": "corporation", - "id": 1668, - "user": 4281, - "created_at": 1673934454 - }, - { - "type": "pass", - "entity": "C&O", - "entity_type": "corporation", - "id": 1669, - "user": 4281, - "created_at": 1673934457 - }, - { - "type": "run_routes", - "entity": "C&O", - "routes": [ - { - "hexes": [ - "B2", - "B8", - "B14", - "D20" - ], - "nodes": [ - "B2-0", - "B8-0", - "B14-0", - "D20-0" - ], - "train": "4-4", - "revenue": 260, - "connections": [ - [ - "B2", - "B4", - "B6", - "B8" - ], - [ - "B8", - "B10", - "B12", - "B14" - ], - [ - "B14", - "B16", - "B18", - "C19", - "D20" - ] - ], - "revenue_str": "B2-B8-B14-D20 + GNR Bonus" - } - ], - "entity_type": "corporation", - "id": 1670, - "user": 4281, - "created_at": 1673934468 + "id": 1238, + "created_at": 1673934369, + "loan": 48, + "original_id": 1658 }, { - "kind": "half", - "type": "dividend", - "entity": "C&O", + "type": "pass", + "entity": "B&O", "entity_type": "corporation", - "id": 1671, - "user": 4281, - "created_at": 1673934479 + "id": 1239, + "created_at": 1673934371, + "original_id": 1659 + }, + { + "type": "lay_tile", + "entity": "TP", + "entity_type": "corporation", + "id": 1240, + "created_at": 1673934383, + "hex": "H12", + "tile": "82-11", + "rotation": 1, + "original_id": 1660 }, { "type": "pass", - "entity": "C&O", + "entity": "TP", "entity_type": "corporation", - "id": 1672, - "user": 4281, - "created_at": 1673934489 + "id": 1241, + "created_at": 1673934386, + "original_id": 1661 }, { - "type": "undo", - "entity": "C&O", - "action_id": 1666, + "type": "pass", + "entity": "TP", "entity_type": "corporation", - "id": 1673, - "user": 4281, - "created_at": 1673934496 + "id": 1242, + "created_at": 1673934394, + "original_id": 1662 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1243, + "created_at": 1673934396, + "original_id": 1663 + }, + { + "type": "buy_train", + "entity": "TP", + "entity_type": "corporation", + "id": 1244, + "created_at": 1673934404, + "train": "4-7", + "price": 10, + "original_id": 1664 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1245, + "created_at": 1673934406, + "original_id": 1665 + }, + { + "type": "pass", + "entity": "TP", + "entity_type": "corporation", + "id": 1246, + "created_at": 1673934408, + "original_id": 1666 }, { "type": "lay_tile", "entity": "C&O", "entity_type": "corporation", - "id": 1674, + "id": 1247, "created_at": 1673934502, "hex": "D26", "tile": "546coal-0", - "rotation": 0 + "rotation": 0, + "original_id": 1674 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1675, - "created_at": 1673934509 + "id": 1248, + "created_at": 1673934509, + "original_id": 1675 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1676, - "created_at": 1673934512 + "id": 1249, + "created_at": 1673934512, + "original_id": 1676 }, { "type": "run_routes", "entity": "C&O", "entity_type": "corporation", - "id": 1677, + "id": 1250, "created_at": 1673934522, "routes": [ { @@ -15930,59 +15223,66 @@ "D20-0" ] } - ] + ], + "original_id": 1677 }, { "type": "dividend", "entity": "C&O", "entity_type": "corporation", - "id": 1678, + "id": 1251, "created_at": 1673934528, - "kind": "withhold" + "kind": "withhold", + "original_id": 1678 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1679, - "created_at": 1673934534 + "id": 1252, + "created_at": 1673934534, + "original_id": 1679 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1680, - "created_at": 1673934574 + "id": 1253, + "created_at": 1673934574, + "original_id": 1680 }, { "type": "lay_tile", "entity": "ATSF", "entity_type": "corporation", - "id": 1683, + "id": 1254, "created_at": 1673934639, "hex": "B16", "tile": "546-1", - "rotation": 4 + "rotation": 4, + "original_id": 1683 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1684, - "created_at": 1673934642 + "id": 1255, + "created_at": 1673934642, + "original_id": 1684 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1685, - "created_at": 1673934644 + "id": 1256, + "created_at": 1673934644, + "original_id": 1685 }, { "type": "run_routes", "entity": "ATSF", "entity_type": "corporation", - "id": 1686, + "id": 1257, "created_at": 1673934657, "routes": [ { @@ -16028,59 +15328,66 @@ "H14-0" ] } - ] + ], + "original_id": 1686 }, { "type": "dividend", "entity": "ATSF", "entity_type": "corporation", - "id": 1687, + "id": 1258, "created_at": 1673934675, - "kind": "half" + "kind": "half", + "original_id": 1687 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1688, - "created_at": 1673934678 + "id": 1259, + "created_at": 1673934678, + "original_id": 1688 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 1689, - "created_at": 1673934681 + "id": 1260, + "created_at": 1673934681, + "original_id": 1689 }, { "type": "lay_tile", "entity": "NP", "entity_type": "corporation", - "id": 1690, + "id": 1261, "created_at": 1673934711, "hex": "B6", "tile": "82coal-1", - "rotation": 4 + "rotation": 4, + "original_id": 1690 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 1691, - "created_at": 1673934715 + "id": 1262, + "created_at": 1673934715, + "original_id": 1691 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 1692, - "created_at": 1673934718 + "id": 1263, + "created_at": 1673934718, + "original_id": 1692 }, { "type": "run_routes", "entity": "NP", "entity_type": "corporation", - "id": 1693, + "id": 1264, "created_at": 1673934731, "routes": [ { @@ -16128,74 +15435,83 @@ "H22-0" ] } - ] + ], + "original_id": 1693 }, { "type": "dividend", "entity": "NP", "entity_type": "corporation", - "id": 1694, + "id": 1265, "created_at": 1673934740, - "kind": "half" + "kind": "half", + "original_id": 1694 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 1695, - "created_at": 1673934748 + "id": 1266, + "created_at": 1673934748, + "original_id": 1695 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 1696, - "created_at": 1673934752 + "id": 1267, + "created_at": 1673934752, + "original_id": 1696 }, { "type": "lay_tile", "entity": "MILW", "entity_type": "corporation", - "id": 1697, + "id": 1268, "created_at": 1673934791, "hex": "C29", "tile": "448-1", - "rotation": 0 + "rotation": 0, + "original_id": 1697 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1698, - "created_at": 1673934793 + "id": 1269, + "created_at": 1673934793, + "original_id": 1698 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1699, - "created_at": 1673934813 + "id": 1270, + "created_at": 1673934813, + "original_id": 1699 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1700, - "created_at": 1673934816 + "id": 1271, + "created_at": 1673934816, + "original_id": 1700 }, { "type": "choose", "entity": "MILW", "entity_type": "corporation", - "id": 1701, + "id": 1272, "created_at": 1673934819, - "choice": "0-0" + "choice": "0-0", + "original_id": 1701 }, { "type": "run_routes", "entity": "MILW", "entity_type": "corporation", - "id": 1702, + "id": 1273, "created_at": 1673934853, "routes": [ { @@ -16241,35 +15557,39 @@ "I19-0" ] } - ] + ], + "original_id": 1702 }, { "type": "dividend", "entity": "MILW", "entity_type": "corporation", - "id": 1703, + "id": 1274, "created_at": 1673934858, - "kind": "half" + "kind": "half", + "original_id": 1703 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1704, - "created_at": 1673934879 + "id": 1275, + "created_at": 1673934879, + "original_id": 1704 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 1705, - "created_at": 1673934885 + "id": 1276, + "created_at": 1673934885, + "original_id": 1705 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 1707, + "id": 1277, "created_at": 1673934934, "corporations_by_round": { "AR": [ @@ -16282,103 +15602,24 @@ "DRG" ] }, - "options": [] - }, - { - "type": "pass", - "entity": "SLSF", - "entity_type": "corporation", - "id": 1728, - "user": 1463, - "created_at": 1673935490 - }, - { - "type": "undo", - "entity": "IC", - "entity_type": "corporation", - "id": 1729, - "user": 1463, - "created_at": 1673935505 - }, - { - "type": "merge", - "entity": "SLSF", - "corporation": "IC", - "entity_type": "corporation", - "id": 1731, - "user": 1463, - "created_at": 1673935553 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 1732, - "user": 1463, - "created_at": 1673936279 - }, - { - "type": "merge", - "entity": "SLSF", - "corporation": "IC", - "entity_type": "corporation", - "id": 1733, - "user": 1463, - "created_at": 1673937830 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 1734, - "user": 1463, - "created_at": 1673938289 - }, - { - "type": "pass", - "entity": "SLSF", - "entity_type": "corporation", - "id": 1735, - "user": 1463, - "created_at": 1673938566 - }, - { - "type": "undo", - "entity": "IC", - "entity_type": "corporation", - "id": 1736, - "user": 1463, - "created_at": 1673938600 - }, - { - "type": "merge", - "entity": "SLSF", - "corporation": "IC", - "entity_type": "corporation", - "id": 1737, - "user": 1463, - "created_at": 1673938690 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 1738, - "user": 1463, - "created_at": 1673939434 + "options": [ + + ], + "original_id": 1707 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 1739, - "created_at": 1673939451 + "id": 1278, + "created_at": 1673939451, + "original_id": 1739 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 1740, + "id": 1279, "created_at": 1673939460, "auto_actions": [ { @@ -16387,141 +15628,114 @@ "entity_type": "corporation", "created_at": 1673939459 } - ] + ], + "original_id": 1740 }, { "type": "convert", "entity": "PRR", "entity_type": "corporation", - "id": 1741, - "created_at": 1673939706 + "id": 1280, + "created_at": 1673939706, + "original_id": 1741 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1742, + "id": 1281, "created_at": 1673939708, "shares": [ "PRR_2" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1742 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1743, + "id": 1282, "created_at": 1673939709, "shares": [ "PRR_3" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1743 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1744, - "created_at": 1673988328 + "id": 1283, + "created_at": 1673988328, + "original_id": 1744 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1745, - "created_at": 1673992455 - }, - { - "type": "buy_shares", - "entity": 4281, - "shares": [ - "PRR_4" - ], - "percent": 10, - "entity_type": "player", - "share_price": false, - "id": 1746, - "user": 4281, - "created_at": 1674001445 - }, - { - "type": "undo", - "entity": "PRR", - "action_id": 1740, - "entity_type": "corporation", - "id": 1747, - "user": 4281, - "created_at": 1674001510 - }, - { - "type": "redo", - "entity": "PRR", - "entity_type": "corporation", - "id": 1748, - "user": 4281, - "created_at": 1674001517 - }, - { - "type": "undo", - "entity": "PRR", - "entity_type": "corporation", - "id": 1749, - "user": 4281, - "created_at": 1674001523 + "id": 1284, + "created_at": 1673992455, + "original_id": 1745 }, { "type": "buy_shares", "entity": 4281, "entity_type": "player", - "id": 1750, + "id": 1285, "created_at": 1674001697, "shares": [ "PRR_4" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1750 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1751, - "created_at": 1674004393 + "id": 1286, + "created_at": 1674004393, + "original_id": 1751 }, { "type": "convert", "entity": "KCS", "entity_type": "corporation", - "id": 1752, - "created_at": 1674090916 + "id": 1287, + "created_at": 1674090916, + "original_id": 1752 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1753, + "id": 1288, "created_at": 1674090948, "shares": [ "KCS_2" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1753 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1754, - "created_at": 1674093115 + "id": 1289, + "created_at": 1674093115, + "original_id": 1754 }, { "type": "pass", "entity": "KCS", "entity_type": "corporation", - "id": 1755, + "id": 1290, "created_at": 1674093208, "auto_actions": [ { @@ -16530,893 +15744,790 @@ "entity_type": "corporation", "created_at": 1674093206 } - ] + ], + "original_id": 1755 }, { "type": "merge", "entity": "TP", "entity_type": "corporation", - "id": 1756, + "id": 1291, "created_at": 1674093241, - "corporation": "B&O" + "corporation": "B&O", + "original_id": 1756 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1757, - "created_at": 1674107558 + "id": 1292, + "created_at": 1674107558, + "original_id": 1757 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1758, + "id": 1293, "created_at": 1674128977, "shares": [ "TP_2" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1758 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 1759, - "created_at": 1674134116 + "id": 1294, + "created_at": 1674134116, + "original_id": 1759 }, { "type": "convert", "entity": "ATSF", "entity_type": "corporation", - "id": 1760, - "created_at": 1674151819 - }, - { - "type": "pass", - "entity": 4440, - "entity_type": "player", - "id": 1761, - "user": 4440, - "created_at": 1674152535 - }, - { - "type": "undo", - "entity": 4281, - "entity_type": "player", - "id": 1762, - "user": 4440, - "created_at": 1674152546 + "id": 1295, + "created_at": 1674151819, + "original_id": 1760 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 1763, + "id": 1296, "created_at": 1674152550, "shares": [ "ATSF_4" ], "percent": 10, - "share_price": false - }, - { - "type": "pass", - "entity": 4281, - "entity_type": "player", - "id": 1764, - "user": 4281, - "created_at": 1674158900 - }, - { - "type": "undo", - "entity": "ATSF", - "entity_type": "corporation", - "id": 1765, - "user": 4281, - "created_at": 1674158915 + "share_price": false, + "original_id": 1763 }, { "type": "sell_shares", "entity": 4281, "entity_type": "player", - "id": 1766, + "id": 1297, "created_at": 1674158949, "shares": [ "ATSF_3" ], - "percent": 10 + "percent": 10, + "original_id": 1766 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 1767, + "id": 1298, "created_at": 1674162849, - "loan": 10 + "loan": 10, + "original_id": 1767 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 1768, + "id": 1299, "created_at": 1674162850, - "loan": 1 + "loan": 1, + "original_id": 1768 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 1769, + "id": 1300, "created_at": 1674162851, - "loan": 16 + "loan": 16, + "original_id": 1769 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 1770, + "id": 1301, "created_at": 1674162853, - "loan": 23 + "loan": 23, + "original_id": 1770 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 1771, + "id": 1302, "created_at": 1674162855, - "loan": 32 + "loan": 32, + "original_id": 1771 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 1772, + "id": 1303, "created_at": 1674162856, - "loan": 33 + "loan": 33, + "original_id": 1772 }, { "type": "take_loan", "entity": "ATSF", "entity_type": "corporation", - "id": 1773, + "id": 1304, "created_at": 1674162858, - "loan": 26 - }, - { - "type": "merge", - "entity": "NP", - "corporation": "MILW", - "entity_type": "corporation", - "id": 1774, - "user": 4281, - "created_at": 1674176607 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 1775, - "user": 4281, - "created_at": 1674176670 + "loan": 26, + "original_id": 1773 }, { "type": "merge", "entity": "NP", "entity_type": "corporation", - "id": 1776, + "id": 1305, "created_at": 1674176708, - "corporation": "MILW" + "corporation": "MILW", + "original_id": 1776 }, { "type": "program_buy_shares", "entity": 4440, "entity_type": "player", - "id": 1777, + "id": 1306, "created_at": 1674199320, "corporation": "NP", "until_condition": 1, "from_market": false, - "auto_pass_after": false - }, - { - "type": "pass", - "entity": 512, - "entity_type": "player", - "id": 1778, - "user": 4440, - "created_at": 1674199372 - }, - { - "type": "undo", - "entity": 4440, - "entity_type": "player", - "id": 1779, - "user": 4440, - "created_at": 1674199385 + "auto_pass_after": false, + "original_id": 1777 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1780, - "created_at": 1674201739 + "id": 1307, + "created_at": 1674201739, + "original_id": 1780 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 1781, + "id": 1308, "created_at": 1674201776, "shares": [ "NP_2" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1781 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 1782, - "created_at": 1674222430 - }, - { - "type": "bid", - "price": 300, - "entity": 1463, - "corporation": "NYC", - "entity_type": "player", - "id": 1783, - "user": 1463, - "created_at": 1674253666 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 1784, - "user": 1463, - "created_at": 1674253678 + "id": 1309, + "created_at": 1674222430, + "original_id": 1782 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1785, + "id": 1310, "created_at": 1674253685, "corporation": "NYC", - "price": 220 + "price": 220, + "original_id": 1785 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1786, + "id": 1311, "created_at": 1674254975, "corporation": "NYC", - "price": 230 + "price": 230, + "original_id": 1786 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1787, - "created_at": 1674256914 + "id": 1312, + "created_at": 1674256914, + "original_id": 1787 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1788, - "created_at": 1674260420 + "id": 1313, + "created_at": 1674260420, + "original_id": 1788 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1789, + "id": 1314, "created_at": 1674260950, "corporation": "NYC", - "price": 240 + "price": 240, + "original_id": 1789 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1790, + "id": 1315, "created_at": 1674278977, "corporation": "NYC", - "price": 250 + "price": 250, + "original_id": 1790 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1791, + "id": 1316, "created_at": 1674280034, "corporation": "NYC", - "price": 260 - }, - { - "type": "bid", - "price": 500, - "entity": 512, - "corporation": "NYC", - "entity_type": "player", - "id": 1792, - "user": 512, - "created_at": 1674328927 - }, - { - "type": "bid", - "price": 510, - "entity": 1463, - "corporation": "NYC", - "entity_type": "player", - "id": 1793, - "user": 1463, - "created_at": 1674333430 - }, - { - "type": "bid", - "price": 800, - "entity": 512, - "corporation": "NYC", - "entity_type": "player", - "id": 1794, - "user": 512, - "created_at": 1674339051 - }, - { - "type": "pass", - "entity": 1463, - "entity_type": "player", - "id": 1795, - "user": 1463, - "created_at": 1674341098 - }, - { - "type": "undo", - "entity": "KCS", - "action_id": 1791, - "entity_type": "corporation", - "id": 1797, - "user": 512, - "created_at": 1674357281 + "price": 260, + "original_id": 1791 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1799, + "id": 1317, "created_at": 1674357319, "corporation": "NYC", - "price": 300 + "price": 300, + "original_id": 1799 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1800, + "id": 1318, "created_at": 1674358948, "corporation": "NYC", - "price": 320 + "price": 320, + "original_id": 1800 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1801, - "created_at": 1674362852 + "id": 1319, + "created_at": 1674362852, + "original_id": 1801 }, { "type": "merge", "entity": 1463, "entity_type": "player", - "id": 1802, + "id": 1320, "created_at": 1674392738, - "corporation": "SLSF" + "corporation": "SLSF", + "original_id": 1802 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1803, + "id": 1321, "created_at": 1674392804, "corporation": "GN", - "price": 570 + "price": 570, + "original_id": 1803 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1804, + "id": 1322, "created_at": 1674417682, "corporation": "GN", - "price": 600 + "price": 600, + "original_id": 1804 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1805, - "created_at": 1674420495 + "id": 1323, + "created_at": 1674420495, + "original_id": 1805 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 1806, + "id": 1324, "created_at": 1674433238, "corporation": "GN", - "price": 610 + "price": 610, + "original_id": 1806 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1807, + "id": 1325, "created_at": 1674434591, "corporation": "GN", - "price": 620 + "price": 620, + "original_id": 1807 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1808, + "id": 1326, "created_at": 1674441830, "corporation": "GN", - "price": 800 + "price": 800, + "original_id": 1808 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1809, - "created_at": 1674488195 + "id": 1327, + "created_at": 1674488195, + "original_id": 1809 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1810, + "id": 1328, "created_at": 1674495632, "corporation": "GN", - "price": 870 + "price": 870, + "original_id": 1810 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1811, + "id": 1329, "created_at": 1674502857, "corporation": "GN", - "price": 880 + "price": 880, + "original_id": 1811 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1812, + "id": 1330, "created_at": 1674508200, "corporation": "GN", - "price": 900 + "price": 900, + "original_id": 1812 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1813, + "id": 1331, "created_at": 1674508264, "corporation": "GN", - "price": 1000 + "price": 1000, + "original_id": 1813 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1814, + "id": 1332, "created_at": 1674515603, "corporation": "GN", - "price": 1090 + "price": 1090, + "original_id": 1814 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 1815, - "created_at": 1674515649 + "id": 1333, + "created_at": 1674515649, + "original_id": 1815 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1816, + "id": 1334, "created_at": 1674515687, "corporation": "MP", - "price": 220 + "price": 220, + "original_id": 1816 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1817, + "id": 1335, "created_at": 1674515746, "corporation": "MP", - "price": 230 + "price": 230, + "original_id": 1817 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 1818, + "id": 1336, "created_at": 1674519201, "corporation": "MP", - "price": 300 + "price": 300, + "original_id": 1818 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 1819, + "id": 1337, "created_at": 1674524049, "corporation": "MP", - "price": 310 + "price": 310, + "original_id": 1819 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1820, - "created_at": 1674525493 + "id": 1338, + "created_at": 1674525493, + "original_id": 1820 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1821, - "created_at": 1674525512 + "id": 1339, + "created_at": 1674525512, + "original_id": 1821 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1822, - "created_at": 1674526055 - }, - { - "type": "merge", - "entity": 4281, - "corporation": "NP", - "entity_type": "player", - "id": 1823, - "user": 4281, - "created_at": 1674566730 - }, - { - "type": "undo", - "entity": "NP", - "entity_type": "corporation", - "id": 1824, - "user": 4281, - "created_at": 1674566746 + "id": 1340, + "created_at": 1674526055, + "original_id": 1822 }, { "type": "merge", "entity": 4281, "entity_type": "player", - "id": 1825, + "id": 1341, "created_at": 1674566748, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 1825 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 1826, - "created_at": 1674566754 + "id": 1342, + "created_at": 1674566754, + "original_id": 1826 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1827, - "created_at": 1674587881 + "id": 1343, + "created_at": 1674587881, + "original_id": 1827 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1828, - "created_at": 1674595093 + "id": 1344, + "created_at": 1674595093, + "original_id": 1828 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1829, - "created_at": 1674595772 + "id": 1345, + "created_at": 1674595772, + "original_id": 1829 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1830, - "created_at": 1674595961 + "id": 1346, + "created_at": 1674595961, + "original_id": 1830 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1831, - "created_at": 1674598114 + "id": 1347, + "created_at": 1674598114, + "original_id": 1831 }, { "type": "sell_shares", "entity": 1463, "entity_type": "player", - "id": 1832, + "id": 1348, "created_at": 1674598141, "shares": [ "TP_8" ], - "percent": 10 + "percent": 10, + "original_id": 1832 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1833, + "id": 1349, "created_at": 1674598157, "shares": [ "PRR_5" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1833 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1834, + "id": 1350, "created_at": 1674598569, - "corporation": "IC" + "corporation": "IC", + "original_id": 1834 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1835, - "created_at": 1674598594 + "id": 1351, + "created_at": 1674598594, + "original_id": 1835 }, { "type": "sell_shares", "entity": 4440, "entity_type": "player", - "id": 1836, + "id": 1352, "created_at": 1674602673, "shares": [ - "IC_2" - ], - "percent": 20 - }, - { - "type": "buy_shares", - "entity": 4440, - "shares": [ - "PRR_6" - ], - "percent": 10, - "entity_type": "player", - "share_price": false, - "id": 1837, - "user": 4440, - "created_at": 1674602709 - }, - { - "type": "undo", - "entity": 4281, - "entity_type": "player", - "id": 1838, - "user": 4440, - "created_at": 1674602741 + "IC_2" + ], + "percent": 20, + "original_id": 1836 }, { "type": "short", "entity": 4440, "entity_type": "player", - "id": 1839, + "id": 1353, "created_at": 1674602750, - "corporation": "IC" + "corporation": "IC", + "original_id": 1839 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 1840, + "id": 1354, "created_at": 1674602756, "shares": [ "PRR_6" ], "percent": 10, - "share_price": false - }, - { - "type": "short", - "entity": 4281, - "corporation": "IC", - "entity_type": "player", - "id": 1841, - "user": 4281, - "created_at": 1674610079 - }, - { - "type": "undo", - "entity": 4281, - "entity_type": "player", - "id": 1842, - "user": 4281, - "created_at": 1674610118 + "share_price": false, + "original_id": 1840 }, { "type": "buy_shares", "entity": 4281, "entity_type": "player", - "id": 1843, + "id": 1355, "created_at": 1674610161, "shares": [ "DRG_2" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1843 }, { "type": "take_loan", "entity": "IC", "entity_type": "corporation", - "id": 1844, + "id": 1356, "created_at": 1674616019, - "loan": 15 + "loan": 15, + "original_id": 1844 }, { "type": "take_loan", "entity": "IC", "entity_type": "corporation", - "id": 1845, + "id": 1357, "created_at": 1674616022, - "loan": 18 + "loan": 18, + "original_id": 1845 }, { "type": "take_loan", "entity": "IC", "entity_type": "corporation", - "id": 1846, + "id": 1358, "created_at": 1674616027, - "loan": 39 + "loan": 39, + "original_id": 1846 }, { "type": "take_loan", "entity": "IC", "entity_type": "corporation", - "id": 1847, + "id": 1359, "created_at": 1674616030, - "loan": 40 + "loan": 40, + "original_id": 1847 }, { "type": "take_loan", "entity": "IC", "entity_type": "corporation", - "id": 1848, + "id": 1360, "created_at": 1674616042, - "loan": 41 + "loan": 41, + "original_id": 1848 }, { "type": "buy_shares", "entity": "IC", "entity_type": "corporation", - "id": 1849, + "id": 1361, "created_at": 1674616048, "shares": [ "IC_3", "IC_10", "IC_2" ], - "percent": 60 + "percent": 60, + "original_id": 1849 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1850, + "id": 1362, "created_at": 1674617438, - "corporation": "IC" + "corporation": "IC", + "original_id": 1850 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1851, + "id": 1363, "created_at": 1674617457, "corporation": "B&O", - "price": 400 + "price": 400, + "original_id": 1851 }, { "type": "place_token", "entity": "B&O", "entity_type": "corporation", - "id": 1852, + "id": 1364, "created_at": 1674617467, "city": "611-0-0", "slot": 0, - "tokener": "B&O" + "tokener": "B&O", + "original_id": 1852 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 1853, - "created_at": 1674618180 + "id": 1365, + "created_at": 1674618180, + "original_id": 1853 }, { "type": "take_loan", "entity": "TP", "entity_type": "corporation", - "id": 1854, + "id": 1366, "created_at": 1674618297, - "loan": 42 + "loan": 42, + "original_id": 1854 }, { "type": "buy_shares", "entity": "TP", "entity_type": "corporation", - "id": 1855, + "id": 1367, "created_at": 1674618304, "shares": [ "TP_8" ], - "percent": 10 + "percent": 10, + "original_id": 1855 }, { "type": "program_buy_shares", "entity": 4440, "entity_type": "player", - "id": 1856, + "id": 1368, "created_at": 1674618348, "corporation": "SLSF", "until_condition": 1, "from_market": false, - "auto_pass_after": false + "auto_pass_after": false, + "original_id": 1856 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1857, - "created_at": 1674673976 + "id": 1369, + "created_at": 1674673976, + "original_id": 1857 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1858, - "created_at": 1674674166 + "id": 1370, + "created_at": 1674674166, + "original_id": 1858 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1859, + "id": 1371, "created_at": 1674676929, - "corporation": "IC" + "corporation": "IC", + "original_id": 1859 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1860, + "id": 1372, "created_at": 1674677263, "auto_actions": [ { @@ -17431,58 +16542,64 @@ "B&O_1" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1860 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 1861, + "id": 1373, "created_at": 1674678942, "shares": [ "SLSF_2" ], "percent": 20, - "share_price": false + "share_price": false, + "original_id": 1861 }, { "type": "program_buy_shares", "entity": 4440, "entity_type": "player", - "id": 1862, + "id": 1374, "created_at": 1674679068, "corporation": "KCS", "until_condition": 1, "from_market": false, - "auto_pass_after": false + "auto_pass_after": false, + "original_id": 1862 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1863, - "created_at": 1674680282 + "id": 1375, + "created_at": 1674680282, + "original_id": 1863 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1864, - "created_at": 1674682316 + "id": 1376, + "created_at": 1674682316, + "original_id": 1864 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1865, + "id": 1377, "created_at": 1674682424, - "corporation": "IC" + "corporation": "IC", + "original_id": 1865 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1866, + "id": 1378, "created_at": 1674682432, "auto_actions": [ { @@ -17492,153 +16609,122 @@ "created_at": 1674682430, "reason": "Short bought" } - ] + ], + "original_id": 1866 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 1867, + "id": 1379, "created_at": 1674682948, "shares": [ "KCS_3" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1867 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1868, - "created_at": 1674758058 + "id": 1380, + "created_at": 1674758058, + "original_id": 1868 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1869, - "created_at": 1674793727 + "id": 1381, + "created_at": 1674793727, + "original_id": 1869 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1870, + "id": 1382, "created_at": 1674803626, - "corporation": "PRR" + "corporation": "PRR", + "original_id": 1870 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1871, - "created_at": 1674803643 + "id": 1383, + "created_at": 1674803643, + "original_id": 1871 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 1872, + "id": 1384, "created_at": 1674805145, "shares": [ "C&O_8" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1872 }, { "type": "program_share_pass", "entity": 4440, "entity_type": "player", - "id": 1873, + "id": 1385, "created_at": 1674805158, "unconditional": true, - "indefinite": false + "indefinite": false, + "original_id": 1873 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1874, - "created_at": 1674827253 - }, - { - "type": "pass", - "entity": 1463, - "entity_type": "player", - "id": 1875, - "user": 1463, - "created_at": 1674911143 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 1876, - "user": 1463, - "created_at": 1674911154 + "id": 1386, + "created_at": 1674827253, + "original_id": 1874 }, { "type": "buy_shares", "entity": "PRR", "entity_type": "corporation", - "id": 1877, + "id": 1387, "created_at": 1674911211, "shares": [ "PRR_10" ], - "percent": 10 + "percent": 10, + "original_id": 1877 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1878, + "id": 1388, "created_at": 1674931283, - "corporation": "PRR" + "corporation": "PRR", + "original_id": 1878 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1879, + "id": 1389, "created_at": 1674931301, "corporation": "GN", - "price": 400 - }, - { - "city": "15-4-0", - "slot": 1, - "type": "place_token", - "entity": "GN", - "tokener": "GN", - "entity_type": "corporation", - "auto_actions": [ - { - "type": "pass", - "entity": 4440, - "created_at": 1674931329, - "entity_type": "player" - } - ], - "id": 1880, - "user": 512, - "created_at": 1674931331 - }, - { - "type": "undo", - "entity": 4281, - "entity_type": "player", - "id": 1881, - "user": 512, - "created_at": 1674931340 + "price": 400, + "original_id": 1879 }, { "type": "place_token", "entity": "GN", "entity_type": "corporation", - "id": 1882, + "id": 1390, "created_at": 1674931345, "auto_actions": [ { @@ -17650,75 +16736,61 @@ ], "city": "611-0-0", "slot": 1, - "tokener": "GN" + "tokener": "GN", + "original_id": 1882 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1883, - "created_at": 1674950813 + "id": 1391, + "created_at": 1674950813, + "original_id": 1883 }, { "type": "take_loan", "entity": "PRR", "entity_type": "corporation", - "id": 1884, + "id": 1392, "created_at": 1674970408, - "loan": 43 + "loan": 43, + "original_id": 1884 }, { "type": "take_loan", "entity": "PRR", "entity_type": "corporation", - "id": 1885, + "id": 1393, "created_at": 1674970410, - "loan": 44 - }, - { - "type": "buy_shares", - "entity": "PRR", - "shares": [ - "PRR_12" - ], - "percent": 10, - "entity_type": "corporation", - "id": 1886, - "user": 1463, - "created_at": 1674970418 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 1887, - "user": 1463, - "created_at": 1674970433 + "loan": 44, + "original_id": 1885 }, { "type": "buy_shares", "entity": "PRR", "entity_type": "corporation", - "id": 1888, + "id": 1394, "created_at": 1674970453, "shares": [ "PRR_12" ], - "percent": 10 + "percent": 10, + "original_id": 1888 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1889, + "id": 1395, "created_at": 1674972949, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 1889 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1890, + "id": 1396, "created_at": 1674972952, "auto_actions": [ { @@ -17727,35 +16799,39 @@ "entity_type": "player", "created_at": 1674972951 } - ] + ], + "original_id": 1890 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1891, - "created_at": 1675010431 + "id": 1397, + "created_at": 1675010431, + "original_id": 1891 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1892, - "created_at": 1675050334 + "id": 1398, + "created_at": 1675050334, + "original_id": 1892 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1893, + "id": 1399, "created_at": 1675051261, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 1893 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1894, + "id": 1400, "created_at": 1675051265, "auto_actions": [ { @@ -17764,35 +16840,39 @@ "entity_type": "player", "created_at": 1675051262 } - ] + ], + "original_id": 1894 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1895, - "created_at": 1675082756 + "id": 1401, + "created_at": 1675082756, + "original_id": 1895 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1896, - "created_at": 1675084234 + "id": 1402, + "created_at": 1675084234, + "original_id": 1896 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1897, + "id": 1403, "created_at": 1675102423, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 1897 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1898, + "id": 1404, "created_at": 1675102426, "auto_actions": [ { @@ -17801,35 +16881,39 @@ "entity_type": "player", "created_at": 1675102422 } - ] + ], + "original_id": 1898 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1899, - "created_at": 1675102607 + "id": 1405, + "created_at": 1675102607, + "original_id": 1899 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1900, - "created_at": 1675104474 + "id": 1406, + "created_at": 1675104474, + "original_id": 1900 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1901, + "id": 1407, "created_at": 1675104498, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 1901 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1902, + "id": 1408, "created_at": 1675104500, "auto_actions": [ { @@ -17838,43 +16922,48 @@ "entity_type": "player", "created_at": 1675104496 } - ] + ], + "original_id": 1902 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1903, - "created_at": 1675119623 + "id": 1409, + "created_at": 1675119623, + "original_id": 1903 }, { "type": "short", "entity": 1463, "entity_type": "player", - "id": 1904, + "id": 1410, "created_at": 1675134377, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 1904 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1905, - "created_at": 1675134389 + "id": 1411, + "created_at": 1675134389, + "original_id": 1905 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1906, + "id": 1412, "created_at": 1675147408, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 1906 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1907, + "id": 1413, "created_at": 1675147419, "auto_actions": [ { @@ -17883,52 +16972,58 @@ "entity_type": "player", "created_at": 1675147417 } - ] + ], + "original_id": 1907 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1908, - "created_at": 1675182566 + "id": 1414, + "created_at": 1675182566, + "original_id": 1908 }, { "type": "short", "entity": 1463, "entity_type": "player", - "id": 1909, + "id": 1415, "created_at": 1675207417, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 1909 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1910, - "created_at": 1675207460 + "id": 1416, + "created_at": 1675207460, + "original_id": 1910 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1911, + "id": 1417, "created_at": 1675207532, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 1911 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1912, + "id": 1418, "created_at": 1675207547, "corporation": "MILW", - "price": 400 + "price": 400, + "original_id": 1912 }, { "type": "place_token", "entity": "MILW", "entity_type": "corporation", - "id": 1913, + "id": 1419, "created_at": 1675207550, "auto_actions": [ { @@ -17940,115 +17035,73 @@ ], "city": "15-4-0", "slot": 1, - "tokener": "MILW" - }, - { - "loan": 51, - "type": "take_loan", - "entity": "C&O", - "entity_type": "corporation", - "id": 1914, - "user": 4281, - "created_at": 1675224568 - }, - { - "type": "buy_shares", - "entity": "C&O", - "shares": [ - "C&O_15", - "C&O_17", - "C&O_19", - "C&O_21" - ], - "percent": 40, - "entity_type": "corporation", - "id": 1915, - "user": 4281, - "created_at": 1675224580 - }, - { - "type": "undo", - "entity": 1463, - "action_id": 1913, - "entity_type": "player", - "id": 1916, - "user": 4281, - "created_at": 1675224622 + "tokener": "MILW", + "original_id": 1913 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1917, - "created_at": 1675224642 + "id": 1420, + "created_at": 1675224642, + "original_id": 1917 }, { "type": "short", "entity": 1463, "entity_type": "player", - "id": 1918, + "id": 1421, "created_at": 1675228184, - "corporation": "C&O" - }, - { - "type": "pass", - "entity": 1463, - "entity_type": "player", - "id": 1919, - "user": 1463, - "created_at": 1675228291 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 1920, - "user": 1463, - "created_at": 1675228340 + "corporation": "C&O", + "original_id": 1918 }, { "type": "sell_shares", "entity": 1463, "entity_type": "player", - "id": 1921, + "id": 1422, "created_at": 1675228385, "shares": [ "TP_2" ], - "percent": 10 + "percent": 10, + "original_id": 1921 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 1922, + "id": 1423, "created_at": 1675228550, "corporation": "SR", - "price": 400 + "price": 400, + "original_id": 1922 }, { "type": "place_token", "entity": "SR", "entity_type": "corporation", - "id": 1923, + "id": 1424, "created_at": 1675228555, "city": "I25-7-0", "slot": 0, - "tokener": "SR" + "tokener": "SR", + "original_id": 1923 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1924, + "id": 1425, "created_at": 1675228629, - "corporation": "C&O" + "corporation": "C&O", + "original_id": 1924 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1925, + "id": 1426, "created_at": 1675228671, "auto_actions": [ { @@ -18062,35 +17115,39 @@ "GN_1" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1925 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1926, - "created_at": 1675257711 + "id": 1427, + "created_at": 1675257711, + "original_id": 1926 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1927, - "created_at": 1675263151 + "id": 1428, + "created_at": 1675263151, + "original_id": 1927 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1928, + "id": 1429, "created_at": 1675278342, - "corporation": "TP" + "corporation": "TP", + "original_id": 1928 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1929, + "id": 1430, "created_at": 1675278353, "auto_actions": [ { @@ -18099,35 +17156,39 @@ "entity_type": "player", "created_at": 1675278351 } - ] + ], + "original_id": 1929 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1930, - "created_at": 1675279595 + "id": 1431, + "created_at": 1675279595, + "original_id": 1930 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1931, - "created_at": 1675289870 + "id": 1432, + "created_at": 1675289870, + "original_id": 1931 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1932, + "id": 1433, "created_at": 1675319606, - "corporation": "TP" + "corporation": "TP", + "original_id": 1932 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1933, + "id": 1434, "created_at": 1675319614, "auto_actions": [ { @@ -18141,35 +17202,39 @@ "MILW_1" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1933 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1934, - "created_at": 1675363350 + "id": 1435, + "created_at": 1675363350, + "original_id": 1934 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1935, - "created_at": 1675379110 + "id": 1436, + "created_at": 1675379110, + "original_id": 1935 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1936, + "id": 1437, "created_at": 1675379222, - "corporation": "TP" + "corporation": "TP", + "original_id": 1936 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1937, + "id": 1438, "created_at": 1675379225, "auto_actions": [ { @@ -18178,44 +17243,49 @@ "entity_type": "player", "created_at": 1675379222 } - ] + ], + "original_id": 1937 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1938, - "created_at": 1675434457 + "id": 1439, + "created_at": 1675434457, + "original_id": 1938 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1939, - "created_at": 1675467653 + "id": 1440, + "created_at": 1675467653, + "original_id": 1939 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1940, + "id": 1441, "created_at": 1675472242, - "corporation": "TP" + "corporation": "TP", + "original_id": 1940 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1941, + "id": 1442, "created_at": 1675472265, "corporation": "MKT", - "price": 400 + "price": 400, + "original_id": 1941 }, { "type": "place_token", "entity": "MKT", "entity_type": "corporation", - "id": 1942, + "id": 1443, "created_at": 1675472271, "auto_actions": [ { @@ -18227,35 +17297,39 @@ ], "city": "611-3-0", "slot": 1, - "tokener": "MKT" + "tokener": "MKT", + "original_id": 1942 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1943, - "created_at": 1675517832 + "id": 1444, + "created_at": 1675517832, + "original_id": 1943 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1944, - "created_at": 1675522958 + "id": 1445, + "created_at": 1675522958, + "original_id": 1944 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1945, + "id": 1446, "created_at": 1675542181, - "corporation": "TP" + "corporation": "TP", + "original_id": 1945 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 1946, + "id": 1447, "created_at": 1675542186, "auto_actions": [ { @@ -18264,35 +17338,39 @@ "entity_type": "player", "created_at": 1675542185 } - ] + ], + "original_id": 1946 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1947, - "created_at": 1675547687 + "id": 1448, + "created_at": 1675547687, + "original_id": 1947 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1948, - "created_at": 1675551456 + "id": 1449, + "created_at": 1675551456, + "original_id": 1948 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1949, + "id": 1450, "created_at": 1675556273, - "corporation": "DRG" + "corporation": "DRG", + "original_id": 1949 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1950, + "id": 1451, "created_at": 1675556291, "auto_actions": [ { @@ -18306,46 +17384,51 @@ "MKT_1" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1950 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1951, - "created_at": 1675618800 + "id": 1452, + "created_at": 1675618800, + "original_id": 1951 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1952, - "created_at": 1675620159 + "id": 1453, + "created_at": 1675620159, + "original_id": 1952 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1953, + "id": 1454, "created_at": 1675712896, - "corporation": "SLSF" + "corporation": "SLSF", + "original_id": 1953 }, { "type": "sell_shares", "entity": 512, "entity_type": "player", - "id": 1954, + "id": 1455, "created_at": 1675712908, "shares": [ "ATSF_1" ], - "percent": 10 + "percent": 10, + "original_id": 1954 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1955, + "id": 1456, "created_at": 1675712958, "auto_actions": [ { @@ -18359,39 +17442,43 @@ "KCS_4" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1955 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1956, - "created_at": 1675718279 + "id": 1457, + "created_at": 1675718279, + "original_id": 1956 }, { "type": "buy_shares", "entity": "SLSF", "entity_type": "corporation", - "id": 1957, + "id": 1458, "created_at": 1675718403, "shares": [ "SLSF_10" ], - "percent": 20 + "percent": 20, + "original_id": 1957 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1958, + "id": 1459, "created_at": 1675718453, - "corporation": "SLSF" + "corporation": "SLSF", + "original_id": 1958 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1959, + "id": 1460, "created_at": 1675718494, "auto_actions": [ { @@ -18405,71 +17492,39 @@ "GN_2" ], "percent": 10, - "share_price": false - }, - { - "type": "buy_shares", - "entity": "NP", - "shares": [ - "NP_7" - ], - "percent": 10, - "entity_type": "corporation", - "id": 1960, - "user": 4281, - "created_at": 1675720873 - }, - { - "type": "undo", - "entity": 1463, - "entity_type": "player", - "id": 1961, - "user": 4281, - "created_at": 1675720897 + "share_price": false, + "original_id": 1959 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1962, - "created_at": 1675720918 - }, - { - "type": "pass", - "entity": 1463, - "entity_type": "player", - "id": 1963, - "user": 1463, - "created_at": 1675725147 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 1964, - "user": 1463, - "created_at": 1675725199 + "id": 1461, + "created_at": 1675720918, + "original_id": 1962 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 1965, - "created_at": 1675725489 + "id": 1462, + "created_at": 1675725489, + "original_id": 1965 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1966, + "id": 1463, "created_at": 1675726686, - "corporation": "SLSF" + "corporation": "SLSF", + "original_id": 1966 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1967, + "id": 1464, "created_at": 1675726694, "auto_actions": [ { @@ -18483,48 +17538,53 @@ "MILW_2" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1967 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1968, - "created_at": 1675729878 + "id": 1465, + "created_at": 1675729878, + "original_id": 1968 }, { "type": "short", "entity": 1463, "entity_type": "player", - "id": 1969, + "id": 1466, "created_at": 1675730678, - "corporation": "KCS" + "corporation": "KCS", + "original_id": 1969 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1970, + "id": 1467, "created_at": 1675730686, "shares": [ "SR_1" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1970 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1971, + "id": 1468, "created_at": 1675730812, - "corporation": "SLSF" + "corporation": "SLSF", + "original_id": 1971 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1972, + "id": 1469, "created_at": 1675730835, "auto_actions": [ { @@ -18538,48 +17598,53 @@ "KCS_5" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1972 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1973, - "created_at": 1675742791 + "id": 1470, + "created_at": 1675742791, + "original_id": 1973 }, { "type": "short", "entity": 1463, "entity_type": "player", - "id": 1974, + "id": 1471, "created_at": 1675765948, - "corporation": "KCS" + "corporation": "KCS", + "original_id": 1974 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1975, + "id": 1472, "created_at": 1675765956, "shares": [ "SR_2" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1975 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1976, + "id": 1473, "created_at": 1675797560, - "corporation": "SLSF" + "corporation": "SLSF", + "original_id": 1976 }, { "type": "sell_shares", "entity": 512, "entity_type": "player", - "id": 1977, + "id": 1474, "created_at": 1675797610, "shares": [ "KCS_1", @@ -18587,22 +17652,24 @@ "KCS_4", "KCS_5" ], - "percent": 40 + "percent": 40, + "original_id": 1977 }, { "type": "bid", "entity": 512, "entity_type": "player", - "id": 1978, + "id": 1475, "created_at": 1675797651, "corporation": "MP", - "price": 400 + "price": 400, + "original_id": 1978 }, { "type": "place_token", "entity": "MP", "entity_type": "corporation", - "id": 1979, + "id": 1476, "created_at": 1675797660, "auto_actions": [ { @@ -18614,112 +17681,125 @@ ], "city": "611-3-0", "slot": 1, - "tokener": "MP" + "tokener": "MP", + "original_id": 1979 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1980, - "created_at": 1675802568 + "id": 1477, + "created_at": 1675802568, + "original_id": 1980 }, { "type": "short", "entity": 1463, "entity_type": "player", - "id": 1981, + "id": 1478, "created_at": 1675811378, - "corporation": "KCS" + "corporation": "KCS", + "original_id": 1981 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1982, + "id": 1479, "created_at": 1675811393, "shares": [ "SR_3" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1982 }, { "type": "take_loan", "entity": "KCS", "entity_type": "corporation", - "id": 1983, + "id": 1480, "created_at": 1675812129, - "loan": 51 + "loan": 51, + "original_id": 1983 }, { "type": "take_loan", "entity": "KCS", "entity_type": "corporation", - "id": 1984, + "id": 1481, "created_at": 1675812133, - "loan": 56 + "loan": 56, + "original_id": 1984 }, { "type": "take_loan", "entity": "KCS", "entity_type": "corporation", - "id": 1985, + "id": 1482, "created_at": 1675812135, - "loan": 58 + "loan": 58, + "original_id": 1985 }, { "type": "take_loan", "entity": "KCS", "entity_type": "corporation", - "id": 1986, + "id": 1483, "created_at": 1675812139, - "loan": 59 + "loan": 59, + "original_id": 1986 }, { "type": "take_loan", "entity": "KCS", "entity_type": "corporation", - "id": 1987, + "id": 1484, "created_at": 1675812142, - "loan": 48 + "loan": 48, + "original_id": 1987 }, { "type": "take_loan", "entity": "KCS", "entity_type": "corporation", - "id": 1988, + "id": 1485, "created_at": 1675812145, - "loan": 8 + "loan": 8, + "original_id": 1988 }, { "type": "take_loan", "entity": "KCS", "entity_type": "corporation", - "id": 1989, + "id": 1486, "created_at": 1675812147, - "loan": 49 + "loan": 49, + "original_id": 1989 }, { "type": "take_loan", "entity": "KCS", "entity_type": "corporation", - "id": 1990, + "id": 1487, "created_at": 1675812151, - "loan": 50 + "loan": 50, + "original_id": 1990 }, { "type": "take_loan", "entity": "KCS", "entity_type": "corporation", - "id": 1991, + "id": 1488, "created_at": 1675812155, - "loan": 5 + "loan": 5, + "original_id": 1991 }, { "type": "buy_shares", "entity": "KCS", "entity_type": "corporation", - "id": 1992, + "id": 1489, "created_at": 1675812160, "auto_actions": [ { @@ -18738,48 +17818,53 @@ "KCS_5", "KCS_14" ], - "percent": 70 + "percent": 70, + "original_id": 1992 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 1993, - "created_at": 1675819364 + "id": 1490, + "created_at": 1675819364, + "original_id": 1993 }, { "type": "short", "entity": 1463, "entity_type": "player", - "id": 1995, + "id": 1491, "created_at": 1675820700, - "corporation": "TP" + "corporation": "TP", + "original_id": 1995 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 1996, + "id": 1492, "created_at": 1675820712, "shares": [ "SR_4" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1996 }, { "type": "short", "entity": 512, "entity_type": "player", - "id": 1997, + "id": 1493, "created_at": 1675820893, - "corporation": "TP" + "corporation": "TP", + "original_id": 1997 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 1998, + "id": 1494, "created_at": 1675820933, "auto_actions": [ { @@ -18793,27 +17878,30 @@ "MP_1" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 1998 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2001, - "created_at": 1675862358 + "id": 1495, + "created_at": 1675862358, + "original_id": 2001 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2002, - "created_at": 1675862547 + "id": 1496, + "created_at": 1675862547, + "original_id": 2002 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 2003, + "id": 1497, "created_at": 1675884568, "auto_actions": [ { @@ -18827,27 +17915,30 @@ "GN_3" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2003 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2005, - "created_at": 1675886554 + "id": 1498, + "created_at": 1675886554, + "original_id": 2005 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2006, - "created_at": 1675886662 + "id": 1499, + "created_at": 1675886662, + "original_id": 2006 }, { "type": "buy_shares", "entity": 512, "entity_type": "player", - "id": 2007, + "id": 1500, "created_at": 1675887014, "auto_actions": [ { @@ -18861,35 +17952,39 @@ "GN_4" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2007 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2008, - "created_at": 1675891793 + "id": 1501, + "created_at": 1675891793, + "original_id": 2008 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2009, - "created_at": 1675901403 + "id": 1502, + "created_at": 1675901403, + "original_id": 2009 }, { "type": "take_loan", "entity": "B&O", "entity_type": "corporation", - "id": 2010, + "id": 1503, "created_at": 1675904057, - "loan": 11 + "loan": 11, + "original_id": 2010 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 2011, + "id": 1504, "created_at": 1675904065, "auto_actions": [ { @@ -18898,481 +17993,382 @@ "entity_type": "player", "created_at": 1675904062 } - ] + ], + "original_id": 2011 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2012, - "created_at": 1675948682 + "id": 1505, + "created_at": 1675948682, + "original_id": 2012 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2013, - "created_at": 1675951283 + "id": 1506, + "created_at": 1675951283, + "original_id": 2013 }, { "type": "pass", "entity": 512, "entity_type": "player", - "id": 2014, - "created_at": 1675962227 + "id": 1507, + "created_at": 1675962227, + "original_id": 2014 }, { "type": "lay_tile", "entity": "GN", "entity_type": "corporation", - "id": 2015, + "id": 1508, "created_at": 1675962277, "hex": "B22", "tile": "8-6", - "rotation": 5 + "rotation": 5, + "original_id": 2015 }, { "type": "lay_tile", "entity": "GN", "entity_type": "corporation", - "id": 2016, + "id": 1509, "created_at": 1675962288, "hex": "C27", "tile": "546-2", - "rotation": 2 + "rotation": 2, + "original_id": 2016 }, { "type": "place_token", "entity": "GN", "entity_type": "corporation", - "id": 2017, + "id": 1510, "created_at": 1675962290, "city": "448-1-0", "slot": 1, - "tokener": "GN" + "tokener": "GN", + "original_id": 2017 }, { "type": "pass", "entity": "GN", "entity_type": "corporation", - "id": 2018, - "created_at": 1675962296 + "id": 1511, + "created_at": 1675962296, + "original_id": 2018 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 2019, + "id": 1512, "created_at": 1675962298, - "loan": 6 + "loan": 6, + "original_id": 2019 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 2020, + "id": 1513, "created_at": 1675962300, - "loan": 0 + "loan": 0, + "original_id": 2020 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 2021, + "id": 1514, "created_at": 1675962302, - "loan": 22 + "loan": 22, + "original_id": 2021 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 2022, + "id": 1515, "created_at": 1675962305, - "loan": 13 + "loan": 13, + "original_id": 2022 }, { "type": "take_loan", "entity": "GN", "entity_type": "corporation", - "id": 2023, + "id": 1516, "created_at": 1675962307, - "loan": 17 + "loan": 17, + "original_id": 2023 }, { "type": "buy_train", "entity": "GN", "entity_type": "corporation", - "id": 2024, + "id": 1517, "created_at": 1675962310, "train": "6-3", "price": 750, - "variant": "6" + "variant": "6", + "original_id": 2024 }, { "type": "buy_train", "entity": "GN", "entity_type": "corporation", - "id": 2025, + "id": 1518, "created_at": 1675962312, "train": "6-4", "price": 750, - "variant": "6" + "variant": "6", + "original_id": 2025 }, { "type": "lay_tile", "entity": "MILW", "entity_type": "corporation", - "id": 2026, + "id": 1519, "created_at": 1675962320, "hex": "G7", "tile": "63-2", - "rotation": 0 + "rotation": 0, + "original_id": 2026 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 2027, - "created_at": 1675962324 + "id": 1520, + "created_at": 1675962324, + "original_id": 2027 }, { "type": "pass", "entity": "MILW", "entity_type": "corporation", - "id": 2028, - "created_at": 1675962326 + "id": 1521, + "created_at": 1675962326, + "original_id": 2028 }, { "type": "take_loan", "entity": "MILW", "entity_type": "corporation", - "id": 2029, + "id": 1522, "created_at": 1675962332, - "loan": 20 + "loan": 20, + "original_id": 2029 }, { "type": "take_loan", "entity": "MILW", "entity_type": "corporation", - "id": 2030, + "id": 1523, "created_at": 1675962335, - "loan": 21 + "loan": 21, + "original_id": 2030 }, { "type": "take_loan", "entity": "MILW", "entity_type": "corporation", - "id": 2031, - "created_at": 1675962337, - "loan": 2 - }, - { - "type": "buy_train", - "entity": "MILW", - "entity_type": "corporation", - "id": 2032, - "created_at": 1675962339, - "train": "7-0", - "price": 900, - "variant": "7" - }, - { - "type": "pass", - "entity": "MILW", - "entity_type": "corporation", - "id": 2033, - "created_at": 1675962342 - }, - { - "hex": "I25", - "tile": "15-7", - "type": "lay_tile", - "entity": "SR", - "rotation": 0, - "entity_type": "corporation", - "id": 2034, - "user": 1463, - "created_at": 1675962474 - }, - { - "hex": "I23", - "tile": "X17-0", - "type": "lay_tile", - "entity": "SR", - "rotation": 1, - "entity_type": "corporation", - "id": 2035, - "user": 1463, - "created_at": 1675962487 - }, - { - "city": "448-1-0", - "slot": 1, - "type": "place_token", - "entity": "SR", - "tokener": "SR", - "entity_type": "corporation", - "id": 2036, - "user": 1463, - "created_at": 1675962502 - }, - { - "type": "pass", - "entity": "SR", - "entity_type": "corporation", - "id": 2037, - "user": 1463, - "created_at": 1675962511 - }, - { - "type": "buy_train", - "price": 900, - "train": "7-1", - "entity": "SR", - "variant": "7", - "entity_type": "corporation", - "id": 2038, - "user": 1463, - "created_at": 1675962514 - }, - { - "type": "undo", - "entity": "SR", - "entity_type": "corporation", - "id": 2039, - "user": 1463, - "created_at": 1675962589 - }, - { - "type": "undo", - "entity": "SR", - "entity_type": "corporation", - "id": 2040, - "user": 1463, - "created_at": 1675962594 - }, - { - "type": "undo", - "entity": "SR", - "entity_type": "corporation", - "id": 2041, - "user": 1463, - "created_at": 1675962599 - }, - { - "type": "undo", - "entity": "SR", - "action_id": 2033, - "entity_type": "corporation", - "id": 2042, - "user": 1463, - "created_at": 1675962660 - }, - { - "type": "lay_tile", - "entity": "SR", - "entity_type": "corporation", - "id": 2043, - "created_at": 1675962664, - "hex": "I25", - "tile": "15-7", - "rotation": 0 - }, - { - "type": "lay_tile", - "entity": "SR", - "entity_type": "corporation", - "id": 2044, - "created_at": 1675962667, - "hex": "I23", - "tile": "X17-0", - "rotation": 1 - }, - { - "city": "448-1-0", - "slot": 1, - "type": "place_token", - "entity": "SR", - "tokener": "SR", - "entity_type": "corporation", - "id": 2045, - "user": 1463, - "created_at": 1675962671 - }, - { - "type": "pass", - "entity": "SR", - "entity_type": "corporation", - "id": 2046, - "user": 1463, - "created_at": 1675962674 + "id": 1524, + "created_at": 1675962337, + "loan": 2, + "original_id": 2031 }, { "type": "buy_train", + "entity": "MILW", + "entity_type": "corporation", + "id": 1525, + "created_at": 1675962339, + "train": "7-0", "price": 900, - "train": "7-1", - "entity": "SR", "variant": "7", - "entity_type": "corporation", - "id": 2048, - "user": 1463, - "created_at": 1675962803 + "original_id": 2032 }, { - "type": "undo", - "entity": "SR", + "type": "pass", + "entity": "MILW", "entity_type": "corporation", - "id": 2049, - "user": 1463, - "created_at": 1675963744 + "id": 1526, + "created_at": 1675962342, + "original_id": 2033 }, { - "type": "undo", + "type": "lay_tile", "entity": "SR", "entity_type": "corporation", - "id": 2050, - "user": 1463, - "created_at": 1675963751 + "id": 1527, + "created_at": 1675962664, + "hex": "I25", + "tile": "15-7", + "rotation": 0, + "original_id": 2043 }, { - "type": "undo", + "type": "lay_tile", "entity": "SR", "entity_type": "corporation", - "id": 2051, - "user": 1463, - "created_at": 1675963756 + "id": 1528, + "created_at": 1675962667, + "hex": "I23", + "tile": "X17-0", + "rotation": 1, + "original_id": 2044 }, { "type": "place_token", "entity": "SR", "entity_type": "corporation", - "id": 2052, + "id": 1529, "created_at": 1675963792, "city": "611-1-0", "slot": 0, - "tokener": "SR" + "tokener": "SR", + "original_id": 2052 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 2053, - "created_at": 1675963797 + "id": 1530, + "created_at": 1675963797, + "original_id": 2053 }, { "type": "buy_train", "entity": "SR", "entity_type": "corporation", - "id": 2054, + "id": 1531, "created_at": 1675963823, "train": "7-1", "price": 900, - "variant": "7" + "variant": "7", + "original_id": 2054 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 2055, - "created_at": 1675964230 + "id": 1532, + "created_at": 1675964230, + "original_id": 2055 }, { "type": "lay_tile", "entity": "MKT", "entity_type": "corporation", - "id": 2057, + "id": 1533, "created_at": 1675966742, "hex": "F12", "tile": "7-2", - "rotation": 3 + "rotation": 3, + "original_id": 2057 }, { "type": "pass", "entity": "MKT", "entity_type": "corporation", - "id": 2058, - "created_at": 1675966745 + "id": 1534, + "created_at": 1675966745, + "original_id": 2058 }, { "type": "pass", "entity": "MKT", "entity_type": "corporation", - "id": 2059, - "created_at": 1675966747 + "id": 1535, + "created_at": 1675966747, + "original_id": 2059 }, { "type": "buy_train", "entity": "MKT", "entity_type": "corporation", - "id": 2060, + "id": 1536, "created_at": 1675966897, "train": "4-5", - "price": 450 + "price": 450, + "original_id": 2060 }, { "type": "lay_tile", "entity": "MP", "entity_type": "corporation", - "id": 2062, + "id": 1537, "created_at": 1675966973, "hex": "E13", "tile": "8-1", - "rotation": 0 + "rotation": 0, + "original_id": 2062 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 2063, - "created_at": 1675966976 + "id": 1538, + "created_at": 1675966976, + "original_id": 2063 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 2064, - "created_at": 1675966979 + "id": 1539, + "created_at": 1675966979, + "original_id": 2064 }, { "type": "pass", "entity": "MP", "entity_type": "corporation", - "id": 2065, - "created_at": 1675966983 + "id": 1540, + "created_at": 1675966983, + "original_id": 2065 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 2066, + "id": 1541, "created_at": 1675969073, "hex": "D28", "tile": "X30-0", - "rotation": 4 + "rotation": 4, + "original_id": 2066 }, { "type": "place_token", "entity": "SLSF", "entity_type": "corporation", - "id": 2067, + "id": 1542, "created_at": 1675969099, "city": "611-1-0", "slot": 1, - "tokener": "SLSF" + "tokener": "SLSF", + "original_id": 2067 }, { "type": "choose", "entity": "SLSF", "entity_type": "corporation", - "id": 2068, + "id": 1543, "created_at": 1675969169, - "choice": "0-0" + "choice": "0-0", + "original_id": 2068 }, { "type": "run_routes", "entity": "SLSF", "entity_type": "corporation", - "id": 2069, + "id": 1544, "created_at": 1675969171, "routes": [ { @@ -19472,79 +18468,53 @@ "A27-0" ] } - ] + ], + "original_id": 2069 }, { "type": "dividend", "entity": "SLSF", "entity_type": "corporation", - "id": 2070, + "id": 1545, "created_at": 1675969233, - "kind": "payout" - }, - { - "hex": "H14", - "tile": "X18-0", - "type": "lay_tile", - "entity": "DRG", - "rotation": 0, - "entity_type": "corporation", - "id": 2071, - "user": 4440, - "created_at": 1675985006 - }, - { - "hex": "F8", - "tile": "9-14", - "type": "lay_tile", - "entity": "DRG", - "rotation": 2, - "entity_type": "corporation", - "id": 2072, - "user": 4440, - "created_at": 1675985041 - }, - { - "type": "undo", - "entity": "DRG", - "action_id": 2070, - "entity_type": "corporation", - "id": 2073, - "user": 4440, - "created_at": 1675985078 + "kind": "payout", + "original_id": 2070 }, { "type": "lay_tile", "entity": "DRG", "entity_type": "corporation", - "id": 2074, + "id": 1546, "created_at": 1675985084, "hex": "H14", "tile": "X18-0", - "rotation": 0 + "rotation": 0, + "original_id": 2074 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 2075, - "created_at": 1675985087 + "id": 1547, + "created_at": 1675985087, + "original_id": 2075 }, { "type": "buy_train", "entity": "DRG", "entity_type": "corporation", - "id": 2076, + "id": 1548, "created_at": 1675985090, "train": "P-0", "price": 200, - "variant": "P" + "variant": "P", + "original_id": 2076 }, { "type": "run_routes", "entity": "DRG", "entity_type": "corporation", - "id": 2077, + "id": 1549, "created_at": 1675985105, "routes": [ { @@ -19583,104 +18553,116 @@ "I19-0" ] } - ] + ], + "original_id": 2077 }, { "type": "dividend", "entity": "DRG", "entity_type": "corporation", - "id": 2078, + "id": 1550, "created_at": 1675985108, - "kind": "payout" + "kind": "payout", + "original_id": 2078 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", - "id": 2079, + "id": 1551, "created_at": 1675985163, "hex": "H22", "tile": "597-0", - "rotation": 3 + "rotation": 3, + "original_id": 2079 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 2080, - "created_at": 1675985169 + "id": 1552, + "created_at": 1675985169, + "original_id": 2080 }, { "type": "place_token", "entity": "B&O", "entity_type": "corporation", - "id": 2081, + "id": 1553, "created_at": 1675985174, "city": "448-1-0", "slot": 1, - "tokener": "B&O" + "tokener": "B&O", + "original_id": 2081 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 2082, - "created_at": 1675985188 + "id": 1554, + "created_at": 1675985188, + "original_id": 2082 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 2083, - "created_at": 1675985190 + "id": 1555, + "created_at": 1675985190, + "original_id": 2083 }, { "type": "payoff_loan", "entity": "B&O", "entity_type": "corporation", - "id": 2084, + "id": 1556, "created_at": 1675985194, - "loan": 11 + "loan": 11, + "original_id": 2084 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", - "id": 2085, - "created_at": 1675985200 + "id": 1557, + "created_at": 1675985200, + "original_id": 2085 }, { "type": "lay_tile", "entity": "PRR", "entity_type": "corporation", - "id": 2086, + "id": 1558, "created_at": 1675990821, "hex": "I19", "tile": "597-1", - "rotation": 1 + "rotation": 1, + "original_id": 2086 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 2087, - "created_at": 1675990825 + "id": 1559, + "created_at": 1675990825, + "original_id": 2087 }, { "type": "place_token", "entity": "PRR", "entity_type": "corporation", - "id": 2088, + "id": 1560, "created_at": 1675990836, "city": "15-7-0", "slot": 1, - "tokener": "PRR" + "tokener": "PRR", + "original_id": 2088 }, { "type": "run_routes", "entity": "PRR", "entity_type": "corporation", - "id": 2089, + "id": 1561, "created_at": 1676004966, "routes": [ { @@ -19775,112 +18757,106 @@ "A27-0" ] } - ] - }, - { - "kind": "half", - "type": "dividend", - "entity": "PRR", - "entity_type": "corporation", - "id": 2090, - "user": 1463, - "created_at": 1676004972 - }, - { - "type": "undo", - "entity": 512, - "entity_type": "player", - "id": 2091, - "user": 1463, - "created_at": 1676005067 + ], + "original_id": 2089 }, { "type": "dividend", "entity": "PRR", "entity_type": "corporation", - "id": 2092, + "id": 1562, "created_at": 1676007056, - "kind": "half" + "kind": "half", + "original_id": 2092 }, { "type": "sell_shares", "entity": 512, "entity_type": "player", - "id": 2093, + "id": 1563, "created_at": 1676063554, "shares": [ "MKT_1" ], - "percent": 10 + "percent": 10, + "original_id": 2093 }, { "type": "payoff_loan", "entity": "PRR", "entity_type": "corporation", - "id": 2094, + "id": 1564, "created_at": 1676068947, - "loan": 27 + "loan": 27, + "original_id": 2094 }, { "type": "payoff_loan", "entity": "PRR", "entity_type": "corporation", - "id": 2095, + "id": 1565, "created_at": 1676068949, - "loan": 12 + "loan": 12, + "original_id": 2095 }, { "type": "payoff_loan", "entity": "PRR", "entity_type": "corporation", - "id": 2096, + "id": 1566, "created_at": 1676068952, - "loan": 25 + "loan": 25, + "original_id": 2096 }, { "type": "payoff_loan", "entity": "PRR", "entity_type": "corporation", - "id": 2097, + "id": 1567, "created_at": 1676068954, - "loan": 3 + "loan": 3, + "original_id": 2097 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 2098, - "created_at": 1676068956 + "id": 1568, + "created_at": 1676068956, + "original_id": 2098 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", - "id": 2099, + "id": 1569, "created_at": 1676068987, "hex": "D26", "tile": "60coal-0", - "rotation": 0 + "rotation": 0, + "original_id": 2099 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 2100, - "created_at": 1676068997 + "id": 1570, + "created_at": 1676068997, + "original_id": 2100 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 2101, - "created_at": 1676069000 + "id": 1571, + "created_at": 1676069000, + "original_id": 2101 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", - "id": 2102, + "id": 1572, "created_at": 1676069010, "routes": [ { @@ -19923,76 +18899,84 @@ "D28-0" ] } - ] + ], + "original_id": 2102 }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", - "id": 2103, + "id": 1573, "created_at": 1676069014, - "kind": "payout" + "kind": "payout", + "original_id": 2103 }, { "type": "sell_shares", "entity": 512, "entity_type": "player", - "id": 2104, + "id": 1574, "created_at": 1676072162, "shares": [ "MILW_1" ], - "percent": 10 + "percent": 10, + "original_id": 2104 }, { "type": "buy_train", "entity": "IC", "entity_type": "corporation", - "id": 2105, + "id": 1575, "created_at": 1676072649, "train": "5-1", - "price": 1 + "price": 1, + "original_id": 2105 }, { "type": "lay_tile", "entity": "NP", "entity_type": "corporation", - "id": 2106, + "id": 1576, "created_at": 1676075444, "hex": "G3", "tile": "X19-0", - "rotation": 5 + "rotation": 5, + "original_id": 2106 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 2107, - "created_at": 1676075452 + "id": 1577, + "created_at": 1676075452, + "original_id": 2107 }, { "type": "place_token", "entity": "NP", "entity_type": "corporation", - "id": 2108, + "id": 1578, "created_at": 1676075454, "city": "619-1-0", "slot": 1, - "tokener": "NP" + "tokener": "NP", + "original_id": 2108 }, { "type": "choose", "entity": "NP", "entity_type": "corporation", - "id": 2109, + "id": 1579, "created_at": 1676075471, - "choice": "0-0" + "choice": "0-0", + "original_id": 2109 }, { "type": "run_routes", "entity": "NP", "entity_type": "corporation", - "id": 2110, + "id": 1580, "created_at": 1676075526, "routes": [ { @@ -20081,208 +19065,83 @@ "A27-0" ] } - ] - }, - { - "kind": "half", - "type": "dividend", - "entity": "NP", - "entity_type": "corporation", - "id": 2111, - "user": 4281, - "created_at": 1676075539 - }, - { - "type": "undo", - "entity": "NP", - "entity_type": "corporation", - "id": 2112, - "user": 4281, - "created_at": 1676075548 - }, - { - "kind": "withhold", - "type": "dividend", - "entity": "NP", - "entity_type": "corporation", - "id": 2113, - "user": 4281, - "created_at": 1676075550 - }, - { - "type": "pass", - "entity": "NP", - "entity_type": "corporation", - "id": 2114, - "user": 4281, - "created_at": 1676075558 - }, - { - "type": "undo", - "entity": "KCS", - "entity_type": "corporation", - "id": 2115, - "user": 4281, - "created_at": 1676075567 - }, - { - "type": "undo", - "entity": "NP", - "entity_type": "corporation", - "id": 2116, - "user": 4281, - "created_at": 1676075624 + ], + "original_id": 2110 }, { "type": "dividend", "entity": "NP", "entity_type": "corporation", - "id": 2117, + "id": 1581, "created_at": 1676075668, - "kind": "half" - }, - { - "type": "payoff_loan", - "entity": "NP", - "entity_type": "corporation", - "id": 2118, - "created_at": 1676075673, - "loan": 63 - }, - { - "type": "payoff_loan", - "entity": "NP", - "entity_type": "corporation", - "id": 2119, - "created_at": 1676075675, - "loan": 64 - }, - { - "type": "payoff_loan", - "entity": "NP", - "entity_type": "corporation", - "id": 2120, - "created_at": 1676075678, - "loan": 65 - }, - { - "type": "payoff_loan", - "entity": "NP", - "entity_type": "corporation", - "id": 2121, - "created_at": 1676075680, - "loan": 66 - }, - { - "type": "pass", - "entity": "NP", - "entity_type": "corporation", - "id": 2122, - "created_at": 1676075682 - }, - { - "type": "pass", - "entity": "KCS", - "entity_type": "corporation", - "id": 2123, - "created_at": 1676075731 - }, - { - "type": "buy_train", - "price": 200, - "train": "P-1", - "entity": "KCS", - "variant": "P", - "entity_type": "corporation", - "id": 2124, - "user": 512, - "created_at": 1676075734 - }, - { - "type": "choose", - "choice": "0-0", - "entity": "KCS", - "entity_type": "corporation", - "id": 2125, - "user": 512, - "created_at": 1676075757 + "kind": "half", + "original_id": 2117 }, - { - "type": "run_routes", - "entity": "KCS", - "routes": [ - { - "hexes": [ - "D28", - "C25", - "F26", - "H22", - "I19" - ], - "nodes": [ - "D28-0", - "C25-0", - "F26-0", - "H22-0", - "I19-0" - ], - "train": "5-3", - "revenue": 460, - "connections": [ - [ - "D28", - "C27", - "B26", - "C25" - ], - [ - "C25", - "D26", - "E25", - "F26" - ], - [ - "F26", - "G25", - "H24", - "I23", - "H22" - ], - [ - "H22", - "I21", - "I19" - ] - ], - "revenue_str": "D28-C25-F26-H22-I19" - } - ], + { + "type": "payoff_loan", + "entity": "NP", + "entity_type": "corporation", + "id": 1582, + "created_at": 1676075673, + "loan": 63, + "original_id": 2118 + }, + { + "type": "payoff_loan", + "entity": "NP", + "entity_type": "corporation", + "id": 1583, + "created_at": 1676075675, + "loan": 64, + "original_id": 2119 + }, + { + "type": "payoff_loan", + "entity": "NP", + "entity_type": "corporation", + "id": 1584, + "created_at": 1676075678, + "loan": 65, + "original_id": 2120 + }, + { + "type": "payoff_loan", + "entity": "NP", + "entity_type": "corporation", + "id": 1585, + "created_at": 1676075680, + "loan": 66, + "original_id": 2121 + }, + { + "type": "pass", + "entity": "NP", "entity_type": "corporation", - "id": 2126, - "user": 512, - "created_at": 1676075772 + "id": 1586, + "created_at": 1676075682, + "original_id": 2122 }, { - "type": "undo", + "type": "pass", "entity": "KCS", - "action_id": 2123, "entity_type": "corporation", - "id": 2127, - "user": 512, - "created_at": 1676075791 + "id": 1587, + "created_at": 1676075731, + "original_id": 2123 }, { "type": "pass", "entity": "KCS", "entity_type": "corporation", - "id": 2128, - "created_at": 1676075793 + "id": 1588, + "created_at": 1676075793, + "original_id": 2128 }, { "type": "run_routes", "entity": "KCS", "entity_type": "corporation", - "id": 2129, + "id": 1589, "created_at": 1676075812, "routes": [ { @@ -20335,76 +19194,53 @@ "A15-0" ] } - ] + ], + "original_id": 2129 }, { "type": "dividend", "entity": "KCS", "entity_type": "corporation", - "id": 2130, + "id": 1590, "created_at": 1676075814, - "kind": "payout" + "kind": "payout", + "original_id": 2130 }, { "type": "buy_train", "entity": "KCS", "entity_type": "corporation", - "id": 2131, + "id": 1591, "created_at": 1676075819, "train": "7-2", "price": 900, - "variant": "7" - }, - { - "hex": "D12", - "tile": "81-1", - "type": "lay_tile", - "entity": "TP", - "rotation": 1, - "entity_type": "corporation", - "id": 2132, - "user": 4440, - "created_at": 1676077635 - }, - { - "type": "pass", - "entity": "TP", - "entity_type": "corporation", - "id": 2133, - "user": 4440, - "created_at": 1676077670 - }, - { - "type": "undo", - "entity": "TP", - "action_id": 2131, - "entity_type": "corporation", - "id": 2134, - "user": 4440, - "created_at": 1676077735 + "variant": "7", + "original_id": 2131 }, { "type": "lay_tile", "entity": "TP", "entity_type": "corporation", - "id": 2135, + "id": 1592, "created_at": 1676077740, "hex": "E27", "tile": "83-4", - "rotation": 3 + "rotation": 3, + "original_id": 2135 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 2136, - "created_at": 1676077743 + "id": 1593, + "created_at": 1676077743, + "original_id": 2136 }, { "type": "run_routes", "entity": "TP", "entity_type": "corporation", - "id": 2137, + "id": 1594, "created_at": 1676078025, "routes": [ { @@ -20495,33 +19331,36 @@ "D28-0" ] } - ] + ], + "original_id": 2137 }, { "type": "dividend", "entity": "TP", "entity_type": "corporation", - "id": 2138, + "id": 1595, "created_at": 1676078028, - "kind": "payout" + "kind": "payout", + "original_id": 2138 }, { "type": "sell_shares", "entity": 512, "entity_type": "player", - "id": 2139, + "id": 1596, "user": 4440, "created_at": 1676078236, "shares": [ "MILW_2" ], - "percent": 10 + "percent": 10, + "original_id": 2139 }, { "type": "sell_shares", "entity": 512, "entity_type": "player", - "id": 2140, + "id": 1597, "user": 4440, "created_at": 1676078239, "shares": [ @@ -20529,230 +19368,257 @@ "GN_2", "GN_3" ], - "percent": 30 + "percent": 30, + "original_id": 2140 }, { "type": "payoff_loan", "entity": "TP", "entity_type": "corporation", - "id": 2141, + "id": 1598, "created_at": 1676078246, - "loan": 61 + "loan": 61, + "original_id": 2141 }, { "type": "payoff_loan", "entity": "TP", "entity_type": "corporation", - "id": 2142, + "id": 1599, "created_at": 1676078249, - "loan": 62 + "loan": 62, + "original_id": 2142 }, { "type": "payoff_loan", "entity": "TP", "entity_type": "corporation", - "id": 2143, + "id": 1600, "created_at": 1676078252, - "loan": 42 + "loan": 42, + "original_id": 2143 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 2144, - "created_at": 1676078260 + "id": 1601, + "created_at": 1676078260, + "original_id": 2144 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 2145, - "created_at": 1676095448 + "id": 1602, + "created_at": 1676095448, + "original_id": 2145 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 2146, - "created_at": 1676095458 + "id": 1603, + "created_at": 1676095458, + "original_id": 2146 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 2147, - "created_at": 1676095461 + "id": 1604, + "created_at": 1676095461, + "original_id": 2147 }, { "type": "buy_train", "entity": "ATSF", "entity_type": "corporation", - "id": 2148, + "id": 1605, "created_at": 1676095464, "train": "8-0", "price": 1100, - "variant": "8" + "variant": "8", + "original_id": 2148 }, { "type": "pass", "entity": "ATSF", "entity_type": "corporation", - "id": 2149, - "created_at": 1676095466 + "id": 1606, + "created_at": 1676095466, + "original_id": 2149 }, { "type": "bankrupt", "entity": 512, "entity_type": "player", - "id": 2150, - "created_at": 1676095468 + "id": 1607, + "created_at": 1676095468, + "original_id": 2150 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 2152, - "created_at": 1676100630 + "id": 1608, + "created_at": 1676100630, + "original_id": 2152 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 2153, - "created_at": 1676100634 + "id": 1609, + "created_at": 1676100634, + "original_id": 2153 }, { "type": "pass", "entity": "C&O", "entity_type": "corporation", - "id": 2154, - "created_at": 1676100643 + "id": 1610, + "created_at": 1676100643, + "original_id": 2154 }, { "type": "convert", "entity": "SLSF", "entity_type": "corporation", - "id": 2155, - "created_at": 1676121847 + "id": 1611, + "created_at": 1676121847, + "original_id": 2155 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 2156, + "id": 1612, "created_at": 1676121849, "shares": [ "SLSF_3" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2156 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 2157, + "id": 1613, "created_at": 1676121853, "shares": [ "SLSF_10" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2157 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 2158, - "created_at": 1676124995 + "id": 1614, + "created_at": 1676124995, + "original_id": 2158 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 2159, - "created_at": 1676125792 + "id": 1615, + "created_at": 1676125792, + "original_id": 2159 }, { "type": "convert", "entity": "DRG", "entity_type": "corporation", - "id": 2160, - "created_at": 1676127888 + "id": 1616, + "created_at": 1676127888, + "original_id": 2160 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 2161, + "id": 1617, "created_at": 1676127892, "shares": [ "DRG_3" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2161 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 2162, + "id": 1618, "created_at": 1676127894, "shares": [ "DRG_4" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2162 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 2163, + "id": 1619, "created_at": 1676127897, "shares": [ "DRG_5" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2163 }, { "type": "sell_shares", "entity": 4281, "entity_type": "player", - "id": 2164, + "id": 1620, "created_at": 1676128283, "shares": [ "DRG_2" ], - "percent": 10 + "percent": 10, + "original_id": 2164 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 2165, - "created_at": 1676128434 + "id": 1621, + "created_at": 1676128434, + "original_id": 2165 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 2166, - "created_at": 1676128792 + "id": 1622, + "created_at": 1676128792, + "original_id": 2166 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2167, - "created_at": 1676128805 + "id": 1623, + "created_at": 1676128805, + "original_id": 2167 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 2168, + "id": 1624, "created_at": 1676128958, "corporations_by_round": { "AR": [ @@ -20766,131 +19632,105 @@ }, "options": [ "disable_others" - ] + ], + "original_id": 2168 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2169, + "id": 1625, "created_at": 1676129070, "corporation": "C&O", - "price": 10 - }, - { - "type": "pass", - "entity": 4281, - "entity_type": "player", - "id": 2170, - "user": 4281, - "created_at": 1676129199 - }, - { - "type": "undo", - "entity": 4440, - "entity_type": "player", - "id": 2171, - "user": 4281, - "created_at": 1676129241 + "price": 10, + "original_id": 2169 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 2172, + "id": 1626, "created_at": 1676129244, "corporation": "C&O", - "price": 20 + "price": 20, + "original_id": 2172 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 2175, - "created_at": 1676130504 + "id": 1627, + "created_at": 1676130504, + "original_id": 2175 }, { "type": "remove_token", "entity": "NP", "entity_type": "corporation", - "id": 2176, + "id": 1628, "created_at": 1676134196, "city": "619-1-0", - "slot": 1 + "slot": 1, + "original_id": 2176 }, { "type": "remove_token", "entity": "NP", "entity_type": "corporation", - "id": 2177, + "id": 1629, "created_at": 1676134201, "city": "448-0-0", - "slot": 0 + "slot": 0, + "original_id": 2177 }, { "type": "remove_token", "entity": "NP", "entity_type": "corporation", - "id": 2178, + "id": 1630, "created_at": 1676134213, "city": "63-2-0", - "slot": 0 + "slot": 0, + "original_id": 2178 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 2179, - "created_at": 1676134219 + "id": 1631, + "created_at": 1676134219, + "original_id": 2179 }, { "type": "sell_shares", "entity": 4281, "entity_type": "player", - "id": 2180, + "id": 1632, "created_at": 1676134227, "shares": [ "PRR_4" ], - "percent": 10 - }, - { - "type": "sell_shares", - "entity": 4281, - "shares": [ - "TP_7" - ], "percent": 10, - "entity_type": "player", - "id": 2181, - "user": 4281, - "created_at": 1676134230 - }, - { - "type": "undo", - "entity": 4281, - "entity_type": "player", - "id": 2182, - "user": 4281, - "created_at": 1676134240 + "original_id": 2180 }, { "type": "sell_shares", "entity": 4281, "entity_type": "player", - "id": 2183, + "id": 1633, "created_at": 1676134245, "shares": [ "NP_1", "NP_4" ], - "percent": 20 + "percent": 20, + "original_id": 2183 }, { "type": "sell_shares", "entity": 4281, "entity_type": "player", - "id": 2184, + "id": 1634, "created_at": 1676134248, "auto_actions": [ { @@ -20904,518 +19744,504 @@ "shares": [ "TP_7" ], - "percent": 10 + "percent": 10, + "original_id": 2184 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2185, + "id": 1635, "created_at": 1676136230, "corporation": "GN", - "price": 10 + "price": 10, + "original_id": 2185 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2186, - "created_at": 1676136424 + "id": 1636, + "created_at": 1676136424, + "original_id": 2186 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 2187, + "id": 1637, "created_at": 1676136468, "corporation": "GN", - "price": 30 + "price": 30, + "original_id": 2187 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2188, + "id": 1638, "created_at": 1676137148, "corporation": "GN", - "price": 40 + "price": 40, + "original_id": 2188 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 2189, + "id": 1639, "created_at": 1676146590, "corporation": "GN", - "price": 50 + "price": 50, + "original_id": 2189 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2190, + "id": 1640, "created_at": 1676152675, "corporation": "GN", - "price": 100 + "price": 100, + "original_id": 2190 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 2191, + "id": 1641, "created_at": 1676152983, "corporation": "GN", - "price": 150 + "price": 150, + "original_id": 2191 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 2192, - "created_at": 1676153367 + "id": 1642, + "created_at": 1676153367, + "original_id": 2192 }, { "type": "merge", "entity": 1463, "entity_type": "player", - "id": 2193, + "id": 1643, "created_at": 1676157007, - "corporation": "PRR" + "corporation": "PRR", + "original_id": 2193 }, { "type": "discard_train", "entity": "PRR", "entity_type": "corporation", - "id": 2194, + "id": 1644, "created_at": 1676157010, - "train": "5-2" + "train": "5-2", + "original_id": 2194 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 2195, - "created_at": 1676157017 - }, - { - "type": "bid", - "price": 1640, - "entity": 4440, - "corporation": "KCS", - "entity_type": "player", - "id": 2196, - "user": 4440, - "created_at": 1676159338 - }, - { - "type": "undo", - "entity": 1463, - "entity_type": "player", - "id": 2197, - "user": 4440, - "created_at": 1676159359 + "id": 1645, + "created_at": 1676157017, + "original_id": 2195 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2198, + "id": 1646, "created_at": 1676159372, "corporation": "KCS", - "price": 100 + "price": 100, + "original_id": 2198 }, { "type": "bid", "entity": 4281, "entity_type": "player", - "id": 2199, + "id": 1647, "created_at": 1676171069, "corporation": "KCS", - "price": 110 + "price": 110, + "original_id": 2199 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2200, - "created_at": 1676207782 - }, - { - "type": "bid", - "price": 120, - "entity": 4440, - "corporation": "KCS", - "entity_type": "player", - "id": 2201, - "user": 4440, - "created_at": 1676208027 - }, - { - "type": "undo", - "entity": 4281, - "entity_type": "player", - "id": 2202, - "user": 4440, - "created_at": 1676208048 + "id": 1648, + "created_at": 1676207782, + "original_id": 2200 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 2203, - "created_at": 1676208249 + "id": 1649, + "created_at": 1676208249, + "original_id": 2203 }, { "type": "discard_train", "entity": "NP", "entity_type": "corporation", - "id": 2204, + "id": 1650, "user": 4440, "created_at": 1676208330, - "train": "5-5" + "train": "5-5", + "original_id": 2204 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 2205, - "created_at": 1676211944 + "id": 1651, + "created_at": 1676211944, + "original_id": 2205 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2206, + "id": 1652, "created_at": 1676211976, "corporation": "MILW", - "price": 100 + "price": 100, + "original_id": 2206 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2207, - "created_at": 1676212157 + "id": 1653, + "created_at": 1676212157, + "original_id": 2207 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 2208, + "id": 1654, "created_at": 1676217012, "corporation": "MILW", - "price": 110 + "price": 110, + "original_id": 2208 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2209, + "id": 1655, "created_at": 1676217911, "corporation": "MILW", - "price": 150 + "price": 150, + "original_id": 2209 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 2210, + "id": 1656, "created_at": 1676218277, "corporation": "MILW", - "price": 200 + "price": 200, + "original_id": 2210 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2211, + "id": 1657, "created_at": 1676219090, "corporation": "MILW", - "price": 250 + "price": 250, + "original_id": 2211 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 2212, + "id": 1658, "created_at": 1676225459, "corporation": "MILW", - "price": 300 + "price": 300, + "original_id": 2212 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2213, + "id": 1659, "created_at": 1676228450, "corporation": "MILW", - "price": 350 + "price": 350, + "original_id": 2213 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 2214, + "id": 1660, "created_at": 1676229297, "corporation": "MILW", - "price": 400 - }, - { - "type": "pass", - "entity": 4440, - "entity_type": "player", - "id": 2215, - "created_at": 1676229745 - }, - { - "type": "merge", - "entity": 1463, - "corporation": "SLSF", - "entity_type": "player", - "id": 2216, - "user": 1463, - "created_at": 1676230653 + "price": 400, + "original_id": 2214 }, { "type": "pass", - "entity": "SLSF", - "entity_type": "corporation", - "id": 2217, - "user": 1463, - "created_at": 1676230656 - }, - { - "type": "undo", "entity": 4440, "entity_type": "player", - "id": 2218, - "user": 1463, - "created_at": 1676230663 - }, - { - "type": "undo", - "entity": "SLSF", - "entity_type": "corporation", - "id": 2219, - "user": 1463, - "created_at": 1676230733 + "id": 1661, + "created_at": 1676229745, + "original_id": 2215 }, { "type": "merge", "entity": 1463, "entity_type": "player", - "id": 2220, + "id": 1662, "created_at": 1676231244, - "corporation": "SLSF" + "corporation": "SLSF", + "original_id": 2220 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 2221, - "created_at": 1676231247 + "id": 1663, + "created_at": 1676231247, + "original_id": 2221 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 2222, - "created_at": 1676232850 + "id": 1664, + "created_at": 1676232850, + "original_id": 2222 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2223, - "created_at": 1676236192 + "id": 1665, + "created_at": 1676236192, + "original_id": 2223 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 2224, + "id": 1666, "created_at": 1676236556, "corporation": "MKT", - "price": 10 + "price": 10, + "original_id": 2224 }, { "type": "merge", "entity": 1463, "entity_type": "player", - "id": 2225, + "id": 1667, "created_at": 1676236560, - "corporation": "IC" + "corporation": "IC", + "original_id": 2225 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2226, + "id": 1668, "created_at": 1676236942, "corporation": "ATSF", - "price": 500 + "price": 500, + "original_id": 2226 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2227, - "created_at": 1676243659 + "id": 1669, + "created_at": 1676243659, + "original_id": 2227 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 2228, + "id": 1670, "created_at": 1676245684, "corporation": "ATSF", - "price": 520 + "price": 520, + "original_id": 2228 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2229, + "id": 1671, "created_at": 1676252861, "corporation": "ATSF", - "price": 600 + "price": 600, + "original_id": 2229 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 2230, + "id": 1672, "created_at": 1676253713, "corporation": "ATSF", - "price": 620 + "price": 620, + "original_id": 2230 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2231, + "id": 1673, "created_at": 1676253979, "corporation": "ATSF", - "price": 640 + "price": 640, + "original_id": 2231 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2232, - "created_at": 1676254187 + "id": 1674, + "created_at": 1676254187, + "original_id": 2232 }, { "type": "merge", "entity": 4440, "entity_type": "player", - "id": 2233, + "id": 1675, "created_at": 1676256227, - "corporation": "DRG" + "corporation": "DRG", + "original_id": 2233 }, { "type": "discard_train", "entity": "DRG", "entity_type": "corporation", - "id": 2234, + "id": 1676, "created_at": 1676256231, - "train": "P-0" + "train": "P-0", + "original_id": 2234 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 2235, - "created_at": 1676256238 + "id": 1677, + "created_at": 1676256238, + "original_id": 2235 }, { "type": "bid", "entity": 4440, "entity_type": "player", - "id": 2236, + "id": 1678, "created_at": 1676256267, "corporation": "B&O", - "price": 10 + "price": 10, + "original_id": 2236 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2237, - "created_at": 1676260357 + "id": 1679, + "created_at": 1676260357, + "original_id": 2237 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2238, - "created_at": 1676261104 + "id": 1680, + "created_at": 1676261104, + "original_id": 2238 }, { "type": "merge", "entity": 4440, "entity_type": "player", - "id": 2239, + "id": 1681, "created_at": 1676265577, - "corporation": "TP" + "corporation": "TP", + "original_id": 2239 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 2240, - "created_at": 1676265581 + "id": 1682, + "created_at": 1676265581, + "original_id": 2240 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 2241, - "created_at": 1676265801 + "id": 1683, + "created_at": 1676265801, + "original_id": 2241 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2242, - "created_at": 1676294928 + "id": 1684, + "created_at": 1676294928, + "original_id": 2242 }, { "type": "bid", "entity": 1463, "entity_type": "player", - "id": 2243, + "id": 1685, "created_at": 1676295471, "corporation": "MP", - "price": 10 + "price": 10, + "original_id": 2243 }, { "type": "merge", "entity": 1463, "entity_type": "player", - "id": 2244, + "id": 1686, "created_at": 1676295480, - "corporation": "SR" + "corporation": "SR", + "original_id": 2244 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 2245, - "created_at": 1676295486 + "id": 1687, + "created_at": 1676295486, + "original_id": 2245 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 2246, - "created_at": 1676295713 + "id": 1688, + "created_at": 1676295713, + "original_id": 2246 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 2247, + "id": 1689, "created_at": 1676295721, "corporations_by_round": { "AR": [ @@ -21429,20 +20255,22 @@ }, "options": [ "disable_others" - ] + ], + "original_id": 2247 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2248, - "created_at": 1676296758 + "id": 1690, + "created_at": 1676296758, + "original_id": 2248 }, { "type": "program_merger_pass", "entity": 1463, "entity_type": "player", - "id": 2249, + "id": 1691, "created_at": 1676296796, "corporations_by_round": { "AR": [ @@ -21460,13 +20288,14 @@ }, "options": [ "disable_others" - ] + ], + "original_id": 2249 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2250, + "id": 1692, "created_at": 1676298746, "auto_actions": [ { @@ -21476,50 +20305,55 @@ "created_at": 1676298743, "reason": "Other players have acted and requested to stop" } - ] + ], + "original_id": 2250 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2251, - "created_at": 1676300046 + "id": 1693, + "created_at": 1676300046, + "original_id": 2251 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 2252, + "id": 1694, "created_at": 1676300126, "hex": "C9", "tile": "7coal-0", - "rotation": 1 + "rotation": 1, + "original_id": 2252 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 2253, + "id": 1695, "created_at": 1676300131, "hex": "C7", "tile": "8-7", - "rotation": 2 + "rotation": 2, + "original_id": 2253 }, { "type": "place_token", "entity": "SLSF", "entity_type": "corporation", - "id": 2254, + "id": 1696, "created_at": 1676300133, "city": "448-0-0", "slot": 1, - "tokener": "SLSF" + "tokener": "SLSF", + "original_id": 2254 }, { "type": "run_routes", "entity": "SLSF", "entity_type": "corporation", - "id": 2255, + "id": 1697, "created_at": 1676300225, "routes": [ { @@ -21629,122 +20463,61 @@ "B2-0" ] } - ] + ], + "original_id": 2255 }, { "type": "dividend", "entity": "SLSF", "entity_type": "corporation", - "id": 2256, + "id": 1698, "created_at": 1676300229, - "kind": "payout" - }, - { - "loan": 38, - "type": "payoff_loan", - "entity": "SLSF", - "entity_type": "corporation", - "id": 2257, - "user": 1463, - "created_at": 1676300232 - }, - { - "loan": 9, - "type": "payoff_loan", - "entity": "SLSF", - "entity_type": "corporation", - "id": 2258, - "user": 1463, - "created_at": 1676300234 - }, - { - "loan": 19, - "type": "payoff_loan", - "entity": "SLSF", - "entity_type": "corporation", - "id": 2259, - "user": 1463, - "created_at": 1676300237 - }, - { - "type": "pass", - "entity": "SLSF", - "entity_type": "corporation", - "id": 2260, - "user": 1463, - "created_at": 1676300246 - }, - { - "type": "undo", - "entity": "DRG", - "entity_type": "corporation", - "id": 2261, - "user": 1463, - "created_at": 1676300261 - }, - { - "type": "undo", - "entity": "SLSF", - "entity_type": "corporation", - "id": 2262, - "user": 1463, - "created_at": 1676300266 - }, - { - "type": "undo", - "entity": "SLSF", - "entity_type": "corporation", - "id": 2263, - "user": 1463, - "created_at": 1676300273 - }, - { - "type": "undo", - "entity": "SLSF", - "entity_type": "corporation", - "id": 2264, - "user": 1463, - "created_at": 1676300281 + "kind": "payout", + "original_id": 2256 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 2265, - "created_at": 1676300285 + "id": 1699, + "created_at": 1676300285, + "original_id": 2265 }, { "type": "lay_tile", "entity": "DRG", "entity_type": "corporation", - "id": 2266, + "id": 1700, "created_at": 1676311232, "hex": "H6", "tile": "83-5", - "rotation": 2 + "rotation": 2, + "original_id": 2266 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 2267, - "created_at": 1676311275 + "id": 1701, + "created_at": 1676311275, + "original_id": 2267 }, { "type": "place_token", "entity": "DRG", "entity_type": "corporation", - "id": 2268, + "id": 1702, "created_at": 1676311284, "city": "X19-0-0", "slot": 3, - "tokener": "DRG" + "tokener": "DRG", + "original_id": 2268 }, { "type": "run_routes", "entity": "DRG", "entity_type": "corporation", - "id": 2269, + "id": 1703, "created_at": 1676311479, "routes": [ { @@ -21856,89 +20629,99 @@ "G3-0" ] } - ] + ], + "original_id": 2269 }, { "type": "dividend", "entity": "DRG", "entity_type": "corporation", - "id": 2270, + "id": 1704, "created_at": 1676311488, - "kind": "payout" + "kind": "payout", + "original_id": 2270 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 2271, - "created_at": 1676311494 + "id": 1705, + "created_at": 1676311494, + "original_id": 2271 }, { "type": "lay_tile", "entity": "SR", "entity_type": "corporation", - "id": 2272, + "id": 1706, "created_at": 1676311765, "hex": "D12", "tile": "81-1", - "rotation": 1 + "rotation": 1, + "original_id": 2272 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 2273, - "created_at": 1676311771 + "id": 1707, + "created_at": 1676311771, + "original_id": 2273 }, { "type": "place_token", "entity": "SR", "entity_type": "corporation", - "id": 2274, + "id": 1708, "created_at": 1676311774, "city": "X30-0-0", "slot": 1, - "tokener": "SR" + "tokener": "SR", + "original_id": 2274 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 2275, + "id": 1709, "created_at": 1676311790, - "loan": 3 + "loan": 3, + "original_id": 2275 }, { "type": "buy_train", "entity": "SR", "entity_type": "corporation", - "id": 2276, + "id": 1710, "created_at": 1676311793, "train": "P-1", "price": 200, - "variant": "P" + "variant": "P", + "original_id": 2276 }, { "type": "choose", "entity": "SR", "entity_type": "corporation", - "id": 2277, + "id": 1711, "created_at": 1676311855, - "choice": "0-0" + "choice": "0-0", + "original_id": 2277 }, { "type": "scrap_train", "entity": "SR", "entity_type": "corporation", - "id": 2278, + "id": 1712, "created_at": 1676311858, - "train": "P-1" + "train": "P-1", + "original_id": 2278 }, { "type": "run_routes", "entity": "SR", "entity_type": "corporation", - "id": 2279, + "id": 1713, "created_at": 1676311861, "routes": [ { @@ -22011,95 +20794,106 @@ "H22-0" ] } - ] + ], + "original_id": 2279 }, { "type": "dividend", "entity": "SR", "entity_type": "corporation", - "id": 2280, + "id": 1714, "created_at": 1676311863, - "kind": "payout" + "kind": "payout", + "original_id": 2280 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 2281, + "id": 1715, "created_at": 1676311868, - "loan": 63 + "loan": 63, + "original_id": 2281 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 2282, + "id": 1716, "created_at": 1676311871, - "loan": 64 + "loan": 64, + "original_id": 2282 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 2283, + "id": 1717, "created_at": 1676311874, - "loan": 65 + "loan": 65, + "original_id": 2283 }, { "type": "take_loan", "entity": "SR", "entity_type": "corporation", - "id": 2284, + "id": 1718, "created_at": 1676311877, - "loan": 66 + "loan": 66, + "original_id": 2284 }, { "type": "buy_train", "entity": "SR", "entity_type": "corporation", - "id": 2285, + "id": 1719, "created_at": 1676311879, "train": "5-2", "price": 600, - "variant": "5" + "variant": "5", + "original_id": 2285 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 2286, - "created_at": 1676311904 + "id": 1720, + "created_at": 1676311904, + "original_id": 2286 }, { "type": "lay_tile", "entity": "NP", "entity_type": "corporation", - "id": 2287, + "id": 1721, "created_at": 1676314009, "hex": "C5", "tile": "8-8", - "rotation": 5 + "rotation": 5, + "original_id": 2287 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 2288, - "created_at": 1676314012 + "id": 1722, + "created_at": 1676314012, + "original_id": 2288 }, { "type": "choose", "entity": "NP", "entity_type": "corporation", - "id": 2289, + "id": 1723, "created_at": 1676314047, - "choice": "1-0" + "choice": "1-0", + "original_id": 2289 }, { "type": "run_routes", "entity": "NP", "entity_type": "corporation", - "id": 2290, + "id": 1724, "created_at": 1676314271, "routes": [ { @@ -22222,58 +21016,64 @@ "A15-0" ] } - ] + ], + "original_id": 2290 }, { "type": "dividend", "entity": "NP", "entity_type": "corporation", - "id": 2291, + "id": 1725, "created_at": 1676314275, - "kind": "payout" + "kind": "payout", + "original_id": 2291 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 2292, - "created_at": 1676314278 + "id": 1726, + "created_at": 1676314278, + "original_id": 2292 }, { "type": "lay_tile", "entity": "PRR", "entity_type": "corporation", - "id": 2293, + "id": 1727, "created_at": 1676318329, "hex": "C15", "tile": "8-9", - "rotation": 1 + "rotation": 1, + "original_id": 2293 }, { "type": "lay_tile", "entity": "PRR", "entity_type": "corporation", - "id": 2294, + "id": 1728, "created_at": 1676318333, "hex": "C13", "tile": "546-3", - "rotation": 0 + "rotation": 0, + "original_id": 2294 }, { "type": "place_token", "entity": "PRR", "entity_type": "corporation", - "id": 2295, + "id": 1729, "created_at": 1676318356, "city": "597-0-0", "slot": 2, - "tokener": "PRR" + "tokener": "PRR", + "original_id": 2295 }, { "type": "run_routes", "entity": "PRR", "entity_type": "corporation", - "id": 2296, + "id": 1730, "created_at": 1676320309, "routes": [ { @@ -22387,440 +21187,223 @@ "I19-0" ] } - ] + ], + "original_id": 2296 }, { "type": "dividend", "entity": "PRR", "entity_type": "corporation", - "id": 2297, + "id": 1731, "created_at": 1676320312, - "kind": "payout" + "kind": "payout", + "original_id": 2297 }, { "type": "payoff_loan", "entity": "PRR", "entity_type": "corporation", - "id": 2298, + "id": 1732, "created_at": 1676320316, - "loan": 30 + "loan": 30, + "original_id": 2298 }, { "type": "payoff_loan", "entity": "PRR", "entity_type": "corporation", - "id": 2299, + "id": 1733, "created_at": 1676320318, - "loan": 31 + "loan": 31, + "original_id": 2299 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 2300, - "created_at": 1676320325 + "id": 1734, + "created_at": 1676320325, + "original_id": 2300 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", - "id": 2301, + "id": 1735, "created_at": 1676320414, "hex": "B12", - "tile": "82-6", - "rotation": 4 - }, - { - "type": "pass", - "entity": "IC", - "entity_type": "corporation", - "id": 2302, - "created_at": 1676320417 - }, - { - "type": "place_token", - "entity": "IC", - "entity_type": "corporation", - "id": 2303, - "created_at": 1676320420, - "city": "448-0-0", - "slot": 1, - "tokener": "IC" - }, - { - "type": "pass", - "entity": "IC", - "entity_type": "corporation", - "id": 2304, - "created_at": 1676320426 - }, - { - "type": "run_routes", - "entity": "IC", - "entity_type": "corporation", - "id": 2305, - "created_at": 1676320563, - "routes": [ - { - "train": "5-1", - "connections": [ - [ - "D24", - "E25", - "D26", - "C27", - "D28" - ], - [ - "C23", - "D22", - "D24" - ], - [ - "B8", - "B10", - "B12", - "C13", - "C15", - "B16", - "B18", - "C19", - "B20", - "B22", - "C23" - ], - [ - "B2", - "B4", - "B6", - "C7", - "C9", - "B8" - ] - ], - "hexes": [ - "D28", - "D24", - "C23", - "B8", - "B2" - ], - "revenue": 390, - "revenue_str": "D28-D24-C23-B8-B2", - "nodes": [ - "D24-0", - "D28-0", - "C23-0", - "B8-0", - "B2-0" - ] - } - ] - }, - { - "type": "dividend", - "entity": "IC", - "entity_type": "corporation", - "id": 2306, - "created_at": 1676320566, - "kind": "payout" - }, - { - "type": "pass", - "entity": "IC", - "entity_type": "corporation", - "id": 2307, - "created_at": 1676320571 - }, - { - "type": "payoff_loan", - "entity": "IC", - "entity_type": "corporation", - "id": 2308, - "created_at": 1676320575, - "loan": 15 - }, - { - "type": "pass", - "entity": "IC", - "entity_type": "corporation", - "id": 2309, - "created_at": 1676320582 - }, - { - "hex": "H10", - "tile": "544-0", - "type": "lay_tile", - "entity": "TP", - "rotation": 0, - "entity_type": "corporation", - "id": 2310, - "user": 4440, - "created_at": 1676326291 - }, - { - "type": "undo", - "entity": "TP", - "entity_type": "corporation", - "id": 2311, - "user": 4440, - "created_at": 1676326316 - }, - { - "hex": "H10", - "tile": "60-0", - "type": "lay_tile", - "entity": "TP", - "rotation": 0, - "entity_type": "corporation", - "id": 2312, - "user": 4440, - "created_at": 1676326320 - }, - { - "hex": "H8", - "tile": "15-3", - "type": "lay_tile", - "entity": "TP", - "rotation": 1, - "entity_type": "corporation", - "id": 2313, - "user": 4440, - "created_at": 1676326327 - }, - { - "city": "63-2-0", - "slot": 1, - "type": "place_token", - "entity": "TP", - "tokener": "TP", - "entity_type": "corporation", - "id": 2314, - "user": 4440, - "created_at": 1676326329 - }, - { - "type": "pass", - "entity": "TP", - "entity_type": "corporation", - "id": 2315, - "user": 4440, - "created_at": 1676326345 - }, - { - "type": "undo", - "entity": "TP", - "action_id": 2309, - "entity_type": "corporation", - "id": 2316, - "user": 4440, - "created_at": 1676326418 - }, - { - "hex": "H16", - "tile": "545-1", - "type": "lay_tile", - "entity": "TP", - "rotation": 5, - "entity_type": "corporation", - "id": 2317, - "user": 4440, - "created_at": 1676326423 + "tile": "82-6", + "rotation": 4, + "original_id": 2301 }, { "type": "pass", - "entity": "TP", + "entity": "IC", "entity_type": "corporation", - "id": 2318, - "user": 4440, - "created_at": 1676326432 + "id": 1736, + "created_at": 1676320417, + "original_id": 2302 + }, + { + "type": "place_token", + "entity": "IC", + "entity_type": "corporation", + "id": 1737, + "created_at": 1676320420, + "city": "448-0-0", + "slot": 1, + "tokener": "IC", + "original_id": 2303 }, { "type": "pass", - "entity": "TP", + "entity": "IC", "entity_type": "corporation", - "id": 2319, - "user": 4440, - "created_at": 1676326441 + "id": 1738, + "created_at": 1676320426, + "original_id": 2304 }, { "type": "run_routes", - "entity": "TP", + "entity": "IC", + "entity_type": "corporation", + "id": 1739, + "created_at": 1676320563, "routes": [ { - "hexes": [ - "D28", - "D24", - "I19", - "H14", - "A15" - ], - "nodes": [ - "D24-0", - "D28-0", - "I19-0", - "H14-0", - "A15-0" - ], - "train": "5-4", - "revenue": 450, + "train": "5-1", "connections": [ [ "D24", + "E25", "D26", + "C27", "D28" ], [ - "I19", - "I21", - "I23", - "H24", - "G25", - "F24", - "E25", + "C23", + "D22", "D24" ], [ - "H14", - "H16", - "I17", - "I19" + "B8", + "B10", + "B12", + "C13", + "C15", + "B16", + "B18", + "C19", + "B20", + "B22", + "C23" ], [ - "A15", - "B16", - "C15", - "C13", - "D12", - "E13", - "F12", - "F14", - "F16", - "G15", - "H14" + "B2", + "B4", + "B6", + "C7", + "C9", + "B8" ] ], - "revenue_str": "D28-D24-I19-H14-A15" + "hexes": [ + "D28", + "D24", + "C23", + "B8", + "B2" + ], + "revenue": 390, + "revenue_str": "D28-D24-C23-B8-B2", + "nodes": [ + "D24-0", + "D28-0", + "C23-0", + "B8-0", + "B2-0" + ] } ], - "entity_type": "corporation", - "id": 2320, - "user": 4440, - "created_at": 1676326476 + "original_id": 2305 }, { - "kind": "half", "type": "dividend", - "entity": "TP", - "entity_type": "corporation", - "id": 2321, - "user": 4440, - "created_at": 1676326483 - }, - { - "loan": 61, - "type": "take_loan", - "entity": "TP", - "entity_type": "corporation", - "id": 2322, - "user": 4440, - "created_at": 1676326499 - }, - { - "type": "undo", - "entity": "TP", - "entity_type": "corporation", - "id": 2323, - "user": 4440, - "created_at": 1676326525 - }, - { - "type": "undo", - "entity": "TP", - "action_id": 2309, - "entity_type": "corporation", - "id": 2324, - "user": 4440, - "created_at": 1676326763 - }, - { - "hex": "H16", - "tile": "60-0", - "type": "lay_tile", - "entity": "TP", - "rotation": 0, + "entity": "IC", "entity_type": "corporation", - "id": 2325, - "user": 4440, - "created_at": 1676326766 + "id": 1740, + "created_at": 1676320566, + "kind": "payout", + "original_id": 2306 }, { - "hex": "H18", - "tile": "8-2", - "type": "lay_tile", - "entity": "TP", - "rotation": 5, + "type": "pass", + "entity": "IC", "entity_type": "corporation", - "id": 2326, - "user": 4440, - "created_at": 1676326843 + "id": 1741, + "created_at": 1676320571, + "original_id": 2307 }, { - "type": "undo", - "entity": "TP", + "type": "payoff_loan", + "entity": "IC", "entity_type": "corporation", - "id": 2327, - "user": 4440, - "created_at": 1676326865 + "id": 1742, + "created_at": 1676320575, + "loan": 15, + "original_id": 2308 }, { - "type": "undo", - "entity": "TP", - "action_id": 2309, + "type": "pass", + "entity": "IC", "entity_type": "corporation", - "id": 2328, - "user": 4440, - "created_at": 1676326926 + "id": 1743, + "created_at": 1676320582, + "original_id": 2309 }, { "type": "lay_tile", "entity": "TP", "entity_type": "corporation", - "id": 2329, + "id": 1744, "created_at": 1676326932, "hex": "H10", "tile": "544-0", - "rotation": 0 + "rotation": 0, + "original_id": 2329 }, { "type": "lay_tile", "entity": "TP", "entity_type": "corporation", - "id": 2330, + "id": 1745, "created_at": 1676326939, "hex": "H8", "tile": "15-3", - "rotation": 1 + "rotation": 1, + "original_id": 2330 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 2331, - "created_at": 1676326988 + "id": 1746, + "created_at": 1676326988, + "original_id": 2331 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 2332, - "created_at": 1676326997 + "id": 1747, + "created_at": 1676326997, + "original_id": 2332 }, { "type": "run_routes", "entity": "TP", "entity_type": "corporation", - "id": 2333, + "id": 1748, "created_at": 1676327063, "routes": [ { @@ -22871,45 +21454,50 @@ "D28-0" ] } - ] + ], + "original_id": 2333 }, { "type": "dividend", "entity": "TP", "entity_type": "corporation", - "id": 2334, + "id": 1749, "created_at": 1676327081, - "kind": "half" + "kind": "half", + "original_id": 2334 }, { "type": "buy_train", "entity": "TP", "entity_type": "corporation", - "id": 2335, + "id": 1750, "created_at": 1676327100, "train": "5-0", - "price": 199 + "price": 199, + "original_id": 2335 }, { "type": "payoff_loan", "entity": "TP", "entity_type": "corporation", - "id": 2336, + "id": 1751, "created_at": 1676327106, - "loan": 25 + "loan": 25, + "original_id": 2336 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 2337, - "created_at": 1676327109 + "id": 1752, + "created_at": 1676327109, + "original_id": 2337 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 2338, + "id": 1753, "created_at": 1676327117, "corporations_by_round": { "AR": [ @@ -22923,13 +21511,14 @@ }, "options": [ "disable_others" - ] + ], + "original_id": 2338 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 2339, + "id": 1754, "created_at": 1676327121, "corporations_by_round": { "AR": [ @@ -22941,96 +21530,84 @@ "TP" ] }, - "options": [] + "options": [ + + ], + "original_id": 2339 }, { "type": "convert", "entity": "IC", "entity_type": "corporation", - "id": 2340, - "created_at": 1676329246 + "id": 1755, + "created_at": 1676329246, + "original_id": 2340 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 2341, + "id": 1756, "created_at": 1676329248, "shares": [ "IC_3" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2341 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 2342, + "id": 1757, "created_at": 1676329251, "shares": [ "IC_10" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2342 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 2343, + "id": 1758, "created_at": 1676329254, "shares": [ "IC_2" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2343 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 2344, + "id": 1759, "created_at": 1676330189, "shares": [ "IC_4" ], "percent": 10, - "share_price": false - }, - { - "type": "buy_shares", - "entity": 4281, - "shares": [ - "IC_5" - ], - "percent": 10, - "entity_type": "player", "share_price": false, - "id": 2345, - "user": 4281, - "created_at": 1676331996 - }, - { - "type": "undo", - "entity": "IC", - "entity_type": "corporation", - "id": 2346, - "user": 4281, - "created_at": 1676332015 + "original_id": 2344 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2347, - "created_at": 1676332018 + "id": 1760, + "created_at": 1676332018, + "original_id": 2347 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 2348, + "id": 1761, "created_at": 1676334836, "auto_actions": [ { @@ -23039,27 +21616,30 @@ "entity_type": "player", "created_at": 1676334833 } - ] + ], + "original_id": 2348 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2349, - "created_at": 1676334840 + "id": 1762, + "created_at": 1676334840, + "original_id": 2349 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2350, - "created_at": 1676334842 + "id": 1763, + "created_at": 1676334842, + "original_id": 2350 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2351, + "id": 1764, "created_at": 1676335243, "auto_actions": [ { @@ -23068,136 +21648,125 @@ "entity_type": "player", "created_at": 1676335240 } - ] + ], + "original_id": 2351 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 2352, + "id": 1765, "created_at": 1676335817, "shares": [ "NP_3" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2352 }, { "type": "buy_shares", "entity": 4281, "entity_type": "player", - "id": 2353, + "id": 1766, "created_at": 1676382785, "shares": [ "NP_7" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2353 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 2354, + "id": 1767, "created_at": 1676395663, "shares": [ "SLSF_5" ], "percent": 10, - "share_price": false - }, - { - "type": "buy_shares", - "entity": 4440, - "shares": [ - "NP_1" - ], - "percent": 10, - "entity_type": "player", "share_price": false, - "id": 2355, - "user": 4440, - "created_at": 1676402815 - }, - { - "type": "undo", - "entity": 4281, - "entity_type": "player", - "id": 2356, - "user": 4440, - "created_at": 1676402919 + "original_id": 2354 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 2357, + "id": 1768, "created_at": 1676402955, "shares": [ "SR_5" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2357 }, { "type": "buy_shares", "entity": 4281, "entity_type": "player", - "id": 2358, + "id": 1769, "created_at": 1676408968, "shares": [ "NP_1" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2358 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 2359, + "id": 1770, "created_at": 1676416780, "shares": [ "NP_4" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2359 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 2360, + "id": 1771, "created_at": 1676419651, "shares": [ "SR_6" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2360 }, { "type": "program_buy_shares", "entity": 4440, "entity_type": "player", - "id": 2361, + "id": 1772, "created_at": 1676419671, "corporation": "SR", "until_condition": 4, "from_market": false, - "auto_pass_after": false + "auto_pass_after": false, + "original_id": 2361 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2362, - "created_at": 1676421572 + "id": 1773, + "created_at": 1676421572, + "original_id": 2362 }, { "type": "buy_shares", "entity": 1463, "entity_type": "player", - "id": 2363, + "id": 1774, "created_at": 1676422887, "auto_actions": [ { @@ -23215,13 +21784,14 @@ "TP_3" ], "percent": 10, - "share_price": false + "share_price": false, + "original_id": 2363 }, { "type": "program_share_pass", "entity": 4281, "entity_type": "player", - "id": 2364, + "id": 1775, "created_at": 1676423917, "auto_actions": [ { @@ -23232,13 +21802,14 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 2364 }, { "type": "program_share_pass", "entity": 1463, "entity_type": "player", - "id": 2365, + "id": 1776, "created_at": 1676427526, "auto_actions": [ { @@ -23278,13 +21849,14 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 2365 }, { "type": "buy_shares", "entity": 4440, "entity_type": "player", - "id": 2366, + "id": 1777, "created_at": 1676440540, "auto_actions": [ { @@ -23294,52 +21866,24 @@ "created_at": 1676440538 }, { - "type": "pass", - "entity": 1463, - "entity_type": "player", - "created_at": 1676440538 - } - ], - "shares": [ - "IC_5" - ], - "percent": 10, - "share_price": false - }, - { - "type": "buy_shares", - "entity": "DRG", - "shares": [ - "DRG_2" - ], - "percent": 10, - "entity_type": "corporation", - "auto_actions": [ - { - "type": "program_disable", - "entity": 4281, - "reason": "DRG redeemed a share.", - "created_at": 1676440578, - "entity_type": "player" + "type": "pass", + "entity": 1463, + "entity_type": "player", + "created_at": 1676440538 } ], - "id": 2367, - "user": 4440, - "created_at": 1676440581 - }, - { - "type": "undo", - "entity": 4281, - "entity_type": "player", - "id": 2368, - "user": 4440, - "created_at": 1676440599 + "shares": [ + "IC_5" + ], + "percent": 10, + "share_price": false, + "original_id": 2366 }, { "type": "buy_shares", "entity": "DRG", "entity_type": "corporation", - "id": 2369, + "id": 1778, "created_at": 1676440611, "auto_actions": [ { @@ -23353,13 +21897,14 @@ "shares": [ "DRG_2" ], - "percent": 10 + "percent": 10, + "original_id": 2369 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2370, + "id": 1779, "created_at": 1676469872, "auto_actions": [ { @@ -23369,13 +21914,14 @@ "created_at": 1676469868, "reason": "DRG redeemed a share." } - ] + ], + "original_id": 2370 }, { "type": "program_share_pass", "entity": 1463, "entity_type": "player", - "id": 2371, + "id": 1780, "created_at": 1676480861, "auto_actions": [ { @@ -23386,42 +21932,46 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 2371 }, { "type": "take_loan", "entity": "TP", "entity_type": "corporation", - "id": 2372, + "id": 1781, "created_at": 1676481570, - "loan": 61 + "loan": 61, + "original_id": 2372 }, { "type": "take_loan", "entity": "TP", "entity_type": "corporation", - "id": 2373, + "id": 1782, "created_at": 1676481576, - "loan": 62 + "loan": 62, + "original_id": 2373 }, { "type": "buy_shares", "entity": "TP", "entity_type": "corporation", - "id": 2374, + "id": 1783, "created_at": 1676481581, "shares": [ "TP_20", "TP_22", "TP_7" ], - "percent": 30 + "percent": 30, + "original_id": 2374 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2375, + "id": 1784, "created_at": 1676483095, "auto_actions": [ { @@ -23431,29 +21981,32 @@ "created_at": 1676483092, "reason": "TP took a loan" } - ] + ], + "original_id": 2375 }, { "type": "program_share_pass", "entity": 4281, "entity_type": "player", - "id": 2376, + "id": 1785, "created_at": 1676483100, "unconditional": true, - "indefinite": false + "indefinite": false, + "original_id": 2376 }, { "type": "pass", "entity": 1463, "entity_type": "player", - "id": 2377, - "created_at": 1676483560 + "id": 1786, + "created_at": 1676483560, + "original_id": 2377 }, { "type": "program_share_pass", "entity": 4440, "entity_type": "player", - "id": 2378, + "id": 1787, "created_at": 1676487417, "auto_actions": [ { @@ -23464,30 +22017,33 @@ } ], "unconditional": false, - "indefinite": false + "indefinite": false, + "original_id": 2378 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 2379, + "id": 1788, "created_at": 1676500853, "hex": "D4", "tile": "544-1", - "rotation": 0 + "rotation": 0, + "original_id": 2379 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 2380, - "created_at": 1676500856 + "id": 1789, + "created_at": 1676500856, + "original_id": 2380 }, { "type": "run_routes", "entity": "SLSF", "entity_type": "corporation", - "id": 2381, + "id": 1790, "created_at": 1676500942, "routes": [ { @@ -23602,100 +22158,111 @@ "I19-0" ] } - ] + ], + "original_id": 2381 }, { "type": "dividend", "entity": "SLSF", "entity_type": "corporation", - "id": 2382, + "id": 1791, "created_at": 1676500945, - "kind": "payout" + "kind": "payout", + "original_id": 2382 }, { "type": "payoff_loan", "entity": "SLSF", "entity_type": "corporation", - "id": 2383, + "id": 1792, "created_at": 1676500966, - "loan": 38 + "loan": 38, + "original_id": 2383 }, { "type": "payoff_loan", "entity": "SLSF", "entity_type": "corporation", - "id": 2384, + "id": 1793, "created_at": 1676500969, - "loan": 9 + "loan": 9, + "original_id": 2384 }, { "type": "payoff_loan", "entity": "SLSF", "entity_type": "corporation", - "id": 2385, + "id": 1794, "created_at": 1676500972, - "loan": 19 + "loan": 19, + "original_id": 2385 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 2386, - "created_at": 1676500993 + "id": 1795, + "created_at": 1676500993, + "original_id": 2386 }, { "type": "lay_tile", "entity": "DRG", "entity_type": "corporation", - "id": 2387, + "id": 1796, "created_at": 1676506813, "hex": "G5", "tile": "546-4", - "rotation": 1 + "rotation": 1, + "original_id": 2387 }, { "type": "lay_tile", "entity": "DRG", "entity_type": "corporation", - "id": 2388, + "id": 1797, "created_at": 1676506826, "hex": "F6", "tile": "8-2", - "rotation": 4 + "rotation": 4, + "original_id": 2388 }, { "type": "place_token", "entity": "DRG", "entity_type": "corporation", - "id": 2389, + "id": 1798, "created_at": 1676506832, "city": "X13-0-0", "slot": 2, - "tokener": "DRG" + "tokener": "DRG", + "original_id": 2389 }, { "type": "buy_train", "entity": "DRG", "entity_type": "corporation", - "id": 2390, + "id": 1799, "created_at": 1676506837, "train": "P-2", "price": 200, - "variant": "P" + "variant": "P", + "original_id": 2390 }, { "type": "choose", "entity": "DRG", "entity_type": "corporation", - "id": 2391, + "id": 1800, "created_at": 1676506876, - "choice": "0-0" + "choice": "0-0", + "original_id": 2391 }, { "type": "run_routes", "entity": "DRG", "entity_type": "corporation", - "id": 2392, + "id": 1801, "created_at": 1676506879, "routes": [ { @@ -23771,73 +22338,50 @@ "D28-0" ] } - ] + ], + "original_id": 2392 }, { "type": "dividend", "entity": "DRG", "entity_type": "corporation", - "id": 2393, + "id": 1802, "created_at": 1676506882, - "kind": "payout" + "kind": "payout", + "original_id": 2393 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 2394, - "created_at": 1676506884 - }, - { - "hex": "H20", - "tile": "63-3", - "type": "lay_tile", - "entity": "PRR", - "rotation": 0, - "entity_type": "corporation", - "id": 2395, - "user": 1463, - "created_at": 1676507024 - }, - { - "type": "pass", - "entity": "PRR", - "entity_type": "corporation", - "id": 2396, - "user": 1463, - "created_at": 1676507026 - }, - { - "type": "undo", - "entity": "PRR", - "action_id": 2394, - "entity_type": "corporation", - "id": 2397, - "user": 1463, - "created_at": 1676507063 + "id": 1803, + "created_at": 1676506884, + "original_id": 2394 }, { "type": "lay_tile", "entity": "PRR", "entity_type": "corporation", - "id": 2398, + "id": 1804, "created_at": 1676507066, "hex": "I25", "tile": "448-2", - "rotation": 0 + "rotation": 0, + "original_id": 2398 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 2399, - "created_at": 1676507069 + "id": 1805, + "created_at": 1676507069, + "original_id": 2399 }, { "type": "run_routes", "entity": "PRR", "entity_type": "corporation", - "id": 2400, + "id": 1806, "created_at": 1676507128, "routes": [ { @@ -23953,85 +22497,95 @@ "D28-0" ] } - ] + ], + "original_id": 2400 }, { "type": "dividend", "entity": "PRR", "entity_type": "corporation", - "id": 2401, + "id": 1807, "created_at": 1676507132, - "kind": "payout" + "kind": "payout", + "original_id": 2401 }, { "type": "payoff_loan", "entity": "PRR", "entity_type": "corporation", - "id": 2402, + "id": 1808, "created_at": 1676507135, - "loan": 43 + "loan": 43, + "original_id": 2402 }, { "type": "payoff_loan", "entity": "PRR", "entity_type": "corporation", - "id": 2403, + "id": 1809, "created_at": 1676507138, - "loan": 44 + "loan": 44, + "original_id": 2403 }, { "type": "payoff_loan", "entity": "PRR", "entity_type": "corporation", - "id": 2404, + "id": 1810, "created_at": 1676507141, - "loan": 27 + "loan": 27, + "original_id": 2404 }, { "type": "payoff_loan", "entity": "PRR", "entity_type": "corporation", - "id": 2405, + "id": 1811, "created_at": 1676507144, - "loan": 12 + "loan": 12, + "original_id": 2405 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 2406, - "created_at": 1676507146 + "id": 1812, + "created_at": 1676507146, + "original_id": 2406 }, { "type": "lay_tile", "entity": "NP", "entity_type": "corporation", - "id": 2407, + "id": 1813, "created_at": 1676522712, "hex": "H8", "tile": "63-3", - "rotation": 0 + "rotation": 0, + "original_id": 2407 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 2408, - "created_at": 1676522716 + "id": 1814, + "created_at": 1676522716, + "original_id": 2408 }, { "type": "choose", "entity": "NP", "entity_type": "corporation", - "id": 2409, + "id": 1815, "created_at": 1676522721, - "choice": "0-0" + "choice": "0-0", + "original_id": 2409 }, { "type": "run_routes", "entity": "NP", "entity_type": "corporation", - "id": 2410, + "id": 1816, "created_at": 1676522789, "routes": [ { @@ -24154,59 +22708,66 @@ "I19-0" ] } - ] + ], + "original_id": 2410 }, { "type": "dividend", "entity": "NP", "entity_type": "corporation", - "id": 2411, + "id": 1817, "created_at": 1676522797, - "kind": "payout" + "kind": "payout", + "original_id": 2411 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 2412, - "created_at": 1676522805 + "id": 1818, + "created_at": 1676522805, + "original_id": 2412 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", - "id": 2413, + "id": 1819, "created_at": 1676546246, "hex": "C5", "tile": "546-5", - "rotation": 3 + "rotation": 3, + "original_id": 2413 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 2414, - "created_at": 1676546272 + "id": 1820, + "created_at": 1676546272, + "original_id": 2414 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 2415, - "created_at": 1676546359 + "id": 1821, + "created_at": 1676546359, + "original_id": 2415 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 2416, - "created_at": 1676546363 + "id": 1822, + "created_at": 1676546363, + "original_id": 2416 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", - "id": 2417, + "id": 1823, "created_at": 1676546394, "routes": [ { @@ -24261,127 +22822,79 @@ "B2-0" ] } - ] + ], + "original_id": 2417 }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", - "id": 2418, + "id": 1824, "created_at": 1676546398, - "kind": "payout" + "kind": "payout", + "original_id": 2418 }, { "type": "buy_train", "entity": "IC", "entity_type": "corporation", - "id": 2419, + "id": 1825, "created_at": 1676546402, "train": "5-5", "price": 600, - "variant": "5" + "variant": "5", + "original_id": 2419 }, { "type": "payoff_loan", "entity": "IC", "entity_type": "corporation", - "id": 2420, + "id": 1826, "created_at": 1676546406, - "loan": 18 + "loan": 18, + "original_id": 2420 }, { "type": "payoff_loan", "entity": "IC", "entity_type": "corporation", - "id": 2421, + "id": 1827, "created_at": 1676546409, - "loan": 39 + "loan": 39, + "original_id": 2421 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 2422, - "created_at": 1676546417 - }, - { - "hex": "D12", - "tile": "546-6", - "type": "lay_tile", - "entity": "SR", - "rotation": 5, - "entity_type": "corporation", - "id": 2423, - "user": 1463, - "created_at": 1676546505 - }, - { - "type": "pass", - "entity": "SR", - "entity_type": "corporation", - "id": 2424, - "user": 1463, - "created_at": 1676546509 - }, - { - "type": "undo", - "entity": "SR", - "action_id": 2422, - "entity_type": "corporation", - "id": 2425, - "user": 1463, - "created_at": 1676546540 - }, - { - "hex": "H16", - "tile": "82-12", - "type": "lay_tile", - "entity": "SR", - "rotation": 5, - "entity_type": "corporation", - "id": 2426, - "user": 1463, - "created_at": 1676546551 - }, - { - "type": "pass", - "entity": "SR", - "entity_type": "corporation", - "id": 2427, - "user": 1463, - "created_at": 1676546555 - }, - { - "type": "undo", - "entity": "SR", - "action_id": 2422, - "entity_type": "corporation", - "id": 2428, - "user": 1463, - "created_at": 1676546639 + "id": 1828, + "created_at": 1676546417, + "original_id": 2422 }, { "type": "lay_tile", "entity": "SR", "entity_type": "corporation", - "id": 2429, + "id": 1829, "created_at": 1676546661, "hex": "H24", "tile": "546-6", - "rotation": 3 + "rotation": 3, + "original_id": 2429 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 2430, - "created_at": 1676546664 + "id": 1830, + "created_at": 1676546664, + "original_id": 2430 }, { "type": "run_routes", "entity": "SR", "entity_type": "corporation", - "id": 2431, + "id": 1831, "created_at": 1676546725, "routes": [ { @@ -24495,95 +23008,106 @@ "A27-0" ] } - ] + ], + "original_id": 2431 }, { "type": "dividend", "entity": "SR", "entity_type": "corporation", - "id": 2432, + "id": 1832, "created_at": 1676546728, - "kind": "payout" + "kind": "payout", + "original_id": 2432 }, { "type": "payoff_loan", "entity": "SR", "entity_type": "corporation", - "id": 2433, + "id": 1833, "created_at": 1676546731, - "loan": 3 + "loan": 3, + "original_id": 2433 }, { "type": "payoff_loan", "entity": "SR", "entity_type": "corporation", - "id": 2434, + "id": 1834, "created_at": 1676546734, - "loan": 63 + "loan": 63, + "original_id": 2434 }, { "type": "payoff_loan", "entity": "SR", "entity_type": "corporation", - "id": 2435, + "id": 1835, "created_at": 1676546737, - "loan": 64 + "loan": 64, + "original_id": 2435 }, { "type": "payoff_loan", "entity": "SR", "entity_type": "corporation", - "id": 2436, + "id": 1836, "created_at": 1676546740, - "loan": 65 + "loan": 65, + "original_id": 2436 }, { "type": "payoff_loan", "entity": "SR", "entity_type": "corporation", - "id": 2437, + "id": 1837, "created_at": 1676546742, - "loan": 66 + "loan": 66, + "original_id": 2437 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 2438, - "created_at": 1676546744 + "id": 1838, + "created_at": 1676546744, + "original_id": 2438 }, { "type": "lay_tile", "entity": "TP", "entity_type": "corporation", - "id": 2439, + "id": 1839, "created_at": 1676546939, "hex": "H6", "tile": "544-2", - "rotation": 1 + "rotation": 1, + "original_id": 2439 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 2440, - "created_at": 1676546969 + "id": 1840, + "created_at": 1676546969, + "original_id": 2440 }, { "type": "place_token", "entity": "TP", "entity_type": "corporation", - "id": 2441, + "id": 1841, "created_at": 1676546974, "city": "63-3-0", "slot": 0, - "tokener": "TP" + "tokener": "TP", + "original_id": 2441 }, { "type": "run_routes", "entity": "TP", "entity_type": "corporation", - "id": 2442, + "id": 1842, "created_at": 1676547027, "routes": [ { @@ -24674,28 +23198,31 @@ "G3-0" ] } - ] + ], + "original_id": 2442 }, { "type": "dividend", "entity": "TP", "entity_type": "corporation", - "id": 2443, + "id": 1843, "created_at": 1676547029, - "kind": "payout" + "kind": "payout", + "original_id": 2443 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 2444, - "created_at": 1676547037 + "id": 1844, + "created_at": 1676547037, + "original_id": 2444 }, { "type": "program_merger_pass", "entity": 4440, "entity_type": "player", - "id": 2445, + "id": 1845, "created_at": 1676547046, "auto_actions": [ { @@ -24717,13 +23244,14 @@ }, "options": [ "disable_others" - ] + ], + "original_id": 2445 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2446, + "id": 1846, "created_at": 1676560730, "auto_actions": [ { @@ -24732,33 +23260,36 @@ "entity_type": "player", "created_at": 1676560727 } - ] + ], + "original_id": 2446 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 2447, + "id": 1847, "created_at": 1676569577, "hex": "B6", "tile": "545coal-0", - "rotation": 4 + "rotation": 4, + "original_id": 2447 }, { "type": "lay_tile", "entity": "SLSF", "entity_type": "corporation", - "id": 2448, + "id": 1848, "created_at": 1676569585, "hex": "D10", "tile": "8-10", - "rotation": 2 + "rotation": 2, + "original_id": 2448 }, { "type": "run_routes", "entity": "SLSF", "entity_type": "corporation", - "id": 2449, + "id": 1849, "created_at": 1676569659, "routes": [ { @@ -24884,61 +23415,68 @@ "I5-0" ] } - ] + ], + "original_id": 2449 }, { "type": "dividend", "entity": "SLSF", "entity_type": "corporation", - "id": 2450, + "id": 1850, "created_at": 1676569666, - "kind": "payout" + "kind": "payout", + "original_id": 2450 }, { "type": "payoff_loan", "entity": "SLSF", "entity_type": "corporation", - "id": 2451, + "id": 1851, "created_at": 1676569669, - "loan": 37 + "loan": 37, + "original_id": 2451 }, { "type": "payoff_loan", "entity": "SLSF", "entity_type": "corporation", - "id": 2452, + "id": 1852, "created_at": 1676569672, - "loan": 24 + "loan": 24, + "original_id": 2452 }, { "type": "pass", "entity": "SLSF", "entity_type": "corporation", - "id": 2453, - "created_at": 1676569675 + "id": 1853, + "created_at": 1676569675, + "original_id": 2453 }, { "type": "lay_tile", "entity": "PRR", "entity_type": "corporation", - "id": 2454, + "id": 1854, "created_at": 1676569712, "hex": "C9", "tile": "83coal-0", - "rotation": 2 + "rotation": 2, + "original_id": 2454 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 2455, - "created_at": 1676569722 + "id": 1855, + "created_at": 1676569722, + "original_id": 2455 }, { "type": "run_routes", "entity": "PRR", "entity_type": "corporation", - "id": 2456, + "id": 1856, "created_at": 1676569808, "routes": [ { @@ -25056,53 +23594,59 @@ "C29-0" ] } - ] + ], + "original_id": 2456 }, { "type": "dividend", "entity": "PRR", "entity_type": "corporation", - "id": 2457, + "id": 1857, "created_at": 1676569812, - "kind": "payout" + "kind": "payout", + "original_id": 2457 }, { "type": "pass", "entity": "PRR", "entity_type": "corporation", - "id": 2458, - "created_at": 1676569816 + "id": 1858, + "created_at": 1676569816, + "original_id": 2458 }, { "type": "lay_tile", "entity": "DRG", "entity_type": "corporation", - "id": 2459, + "id": 1859, "created_at": 1676581791, "hex": "F8", "tile": "81-0", - "rotation": 1 + "rotation": 1, + "original_id": 2459 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 2460, - "created_at": 1676581799 + "id": 1860, + "created_at": 1676581799, + "original_id": 2460 }, { "type": "choose", "entity": "DRG", "entity_type": "corporation", - "id": 2461, + "id": 1861, "created_at": 1676581848, - "choice": "0-0" + "choice": "0-0", + "original_id": 2461 }, { "type": "run_routes", "entity": "DRG", "entity_type": "corporation", - "id": 2462, + "id": 1862, "created_at": 1676581851, "routes": [ { @@ -25183,52 +23727,58 @@ "D28-0" ] } - ] + ], + "original_id": 2462 }, { "type": "dividend", "entity": "DRG", "entity_type": "corporation", - "id": 2463, + "id": 1863, "created_at": 1676581855, - "kind": "payout" + "kind": "payout", + "original_id": 2463 }, { "type": "pass", "entity": "DRG", "entity_type": "corporation", - "id": 2464, - "created_at": 1676581862 + "id": 1864, + "created_at": 1676581862, + "original_id": 2464 }, { "type": "lay_tile", "entity": "SR", "entity_type": "corporation", - "id": 2465, + "id": 1865, "created_at": 1676587672, "hex": "H16", "tile": "82-12", - "rotation": 5 + "rotation": 5, + "original_id": 2465 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 2466, - "created_at": 1676587675 + "id": 1866, + "created_at": 1676587675, + "original_id": 2466 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 2467, - "created_at": 1676587679 + "id": 1867, + "created_at": 1676587679, + "original_id": 2467 }, { "type": "run_routes", "entity": "SR", "entity_type": "corporation", - "id": 2468, + "id": 1868, "created_at": 1676587736, "routes": [ { @@ -25342,73 +23892,81 @@ "A27-0" ] } - ] + ], + "original_id": 2468 }, { "type": "dividend", "entity": "SR", "entity_type": "corporation", - "id": 2469, + "id": 1869, "created_at": 1676587739, - "kind": "payout" + "kind": "payout", + "original_id": 2469 }, { "type": "pass", "entity": "SR", "entity_type": "corporation", - "id": 2470, - "created_at": 1676587742 + "id": 1870, + "created_at": 1676587742, + "original_id": 2470 }, { "type": "lay_tile", "entity": "NP", "entity_type": "corporation", - "id": 2471, + "id": 1871, "created_at": 1676601998, "hex": "E21", "tile": "83-6", - "rotation": 1 + "rotation": 1, + "original_id": 2471 }, { "type": "lay_tile", "entity": "NP", "entity_type": "corporation", - "id": 2472, + "id": 1872, "created_at": 1676602026, "hex": "E19", "tile": "8-11", - "rotation": 4 + "rotation": 4, + "original_id": 2472 }, { "type": "lay_tile", "entity": "NP", "entity_type": "corporation", - "id": 2473, + "id": 1873, "created_at": 1676602032, "hex": "F18", "tile": "8-12", - "rotation": 1 + "rotation": 1, + "original_id": 2473 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 2474, - "created_at": 1676602037 + "id": 1874, + "created_at": 1676602037, + "original_id": 2474 }, { "type": "choose", "entity": "NP", "entity_type": "corporation", - "id": 2475, + "id": 1875, "created_at": 1676602049, - "choice": "0-0" + "choice": "0-0", + "original_id": 2475 }, { "type": "run_routes", "entity": "NP", "entity_type": "corporation", - "id": 2476, + "id": 1876, "created_at": 1676602053, "routes": [ { @@ -25531,52 +24089,58 @@ "I19-0" ] } - ] + ], + "original_id": 2476 }, { "type": "dividend", "entity": "NP", "entity_type": "corporation", - "id": 2477, + "id": 1877, "created_at": 1676602058, - "kind": "payout" + "kind": "payout", + "original_id": 2477 }, { "type": "pass", "entity": "NP", "entity_type": "corporation", - "id": 2478, - "created_at": 1676602061 + "id": 1878, + "created_at": 1676602061, + "original_id": 2478 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", - "id": 2479, + "id": 1879, "created_at": 1676616624, "hex": "F16", "tile": "544-3", - "rotation": 0 + "rotation": 0, + "original_id": 2479 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 2480, - "created_at": 1676616651 + "id": 1880, + "created_at": 1676616651, + "original_id": 2480 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 2481, - "created_at": 1676616654 + "id": 1881, + "created_at": 1676616654, + "original_id": 2481 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", - "id": 2482, + "id": 1882, "created_at": 1676616832, "routes": [ { @@ -25678,58 +24242,65 @@ "D28-0" ] } - ] + ], + "original_id": 2482 }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", - "id": 2483, + "id": 1883, "created_at": 1676616835, - "kind": "payout" + "kind": "payout", + "original_id": 2483 }, { "type": "payoff_loan", "entity": "IC", "entity_type": "corporation", - "id": 2484, + "id": 1884, "created_at": 1676616838, - "loan": 40 + "loan": 40, + "original_id": 2484 }, { "type": "payoff_loan", "entity": "IC", "entity_type": "corporation", - "id": 2485, + "id": 1885, "created_at": 1676616841, - "loan": 41 + "loan": 41, + "original_id": 2485 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", - "id": 2486, - "created_at": 1676616844 + "id": 1886, + "created_at": 1676616844, + "original_id": 2486 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 2487, - "created_at": 1676617703 + "id": 1887, + "created_at": 1676617703, + "original_id": 2487 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 2488, - "created_at": 1676617707 + "id": 1888, + "created_at": 1676617707, + "original_id": 2488 }, { "type": "run_routes", "entity": "TP", "entity_type": "corporation", - "id": 2489, + "id": 1889, "created_at": 1676617714, "routes": [ { @@ -25820,60 +24391,68 @@ "G3-0" ] } - ] + ], + "original_id": 2489 }, { "type": "dividend", "entity": "TP", "entity_type": "corporation", - "id": 2490, + "id": 1890, "created_at": 1676617717, - "kind": "payout" + "kind": "payout", + "original_id": 2490 }, { "type": "payoff_loan", "entity": "TP", "entity_type": "corporation", - "id": 2491, + "id": 1891, "created_at": 1676617721, - "loan": 61 + "loan": 61, + "original_id": 2491 }, { "type": "payoff_loan", "entity": "TP", "entity_type": "corporation", - "id": 2492, + "id": 1892, "created_at": 1676617724, - "loan": 62 + "loan": 62, + "original_id": 2492 }, { "type": "pass", "entity": "TP", "entity_type": "corporation", - "id": 2493, - "created_at": 1676617726 + "id": 1893, + "created_at": 1676617726, + "original_id": 2493 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 2494, - "created_at": 1676617731 + "id": 1894, + "created_at": 1676617731, + "original_id": 2494 }, { "type": "pass", "entity": 4281, "entity_type": "player", - "id": 2495, + "id": 1895, "user": 4440, - "created_at": 1676617738 + "created_at": 1676617738, + "original_id": 2495 }, { "type": "pass", "entity": 4440, "entity_type": "player", - "id": 2496, - "created_at": 1676617740 + "id": 1896, + "created_at": 1676617740, + "original_id": 2496 } ], "loaded": true, diff --git a/public/icons/red_cube.svg b/public/icons/red_cube.svg new file mode 100755 index 0000000000..f4ea2ce5d6 --- /dev/null +++ b/public/icons/red_cube.svg @@ -0,0 +1 @@ + \ No newline at end of file