tobymao / 18xx

A platform for playing 18xx games online!
https://18xx.games
Other
286 stars 186 forks source link

Unable to Undo in 1846 #1233

Closed MichaelDyrud closed 4 years ago

MichaelDyrud commented 4 years ago

Undo has stopped working in game 5102, tried across all players and enabling Master. Copying data below, when trying to clone game error message stated 'GameError: 5 is too many stops for 4 train'

Issue occurred in OR3.2 at end of NYC turn

{ "id": 5102, "description": "BGB Choo Choo (private)", "user": { "id": 537, "name": "waSP" }, "players": [ { "id": 49, "name": "MichaelDyrud" }, { "id": 537, "name": "waSP" }, { "id": 3128, "name": "p1lot" }, { "id": 2352, "name": "Billy Moustache" } ], "max_players": 5, "title": "1846", "settings": { "seed": 3.115601799543699e+38 }, "status": "active", "turn": 3, "round": "Operating Round", "acting": [ 537 ], "result": {}, "actions": [ { "type": "bid", "entity": "Billy Moustache", "entity_type": "player", "id": 1, "company": "MPC", "price": 60 }, { "type": "bid", "entity": "p1lot", "entity_type": "player", "id": 2, "company": "MS", "price": 60 }, { "type": "bid", "entity": "waSP", "entity_type": "player", "id": 3, "company": "O&I", "price": 40 }, { "type": "bid", "entity": "MichaelDyrud", "entity_type": "player", "id": 4, "company": "C&WI", "price": 60 }, { "type": "bid", "entity": "Billy Moustache", "entity_type": "player", "id": 5, "company": "MAIL", "price": 80 }, { "type": "bid", "entity": "p1lot", "entity_type": "player", "id": 6, "company": "SC", "price": 40 }, { "type": "bid", "entity": "waSP", "entity_type": "player", "id": 7, "company": "BIG4", "price": 40 }, { "type": "bid", "entity": "MichaelDyrud", "entity_type": "player", "id": 8, "company": "LSL", "price": 40 }, { "type": "par", "entity": "MichaelDyrud", "entity_type": "player", "id": 9, "corporation": "GT", "share_price": "60,0,6" }, { "type": "par", "entity": "waSP", "entity_type": "player", "id": 10, "corporation": "IC", "share_price": "70,0,7" }, { "type": "par", "entity": "p1lot", "entity_type": "player", "id": 11, "corporation": "B&O", "share_price": "70,0,7" }, { "type": "buy_shares", "entity": "Billy Moustache", "entity_type": "player", "id": 12, "shares": [ "IC_1" ] }, { "type": "buy_shares", "entity": "MichaelDyrud", "entity_type": "player", "id": 13, "shares": [ "GT_1" ] }, { "type": "buy_shares", "entity": "waSP", "entity_type": "player", "id": 14, "shares": [ "IC_2" ] }, { "type": "buy_shares", "entity": "p1lot", "entity_type": "player", "id": 15, "shares": [ "B&O_1" ] }, { "type": "buy_shares", "entity": "Billy Moustache", "entity_type": "player", "id": 16, "shares": [ "IC_3" ] }, { "type": "buy_shares", "entity": "MichaelDyrud", "entity_type": "player", "id": 17, "shares": [ "B&O_2" ] }, { "type": "pass", "entity": "waSP", "entity_type": "player", "id": 18 }, { "type": "pass", "entity": "p1lot", "entity_type": "player", "id": 19 }, { "type": "buy_shares", "entity": "Billy Moustache", "entity_type": "player", "id": 20, "shares": [ "IC_4" ] }, { "type": "pass", "entity": "MichaelDyrud", "entity_type": "player", "id": 21 }, { "type": "pass", "entity": "waSP", "entity_type": "player", "id": 22 }, { "type": "pass", "entity": "p1lot", "entity_type": "player", "id": 23 }, { "type": "lay_tile", "entity": "MS", "entity_type": "minor", "id": 24, "hex": "B16", "tile": "6-0", "rotation": 0 }, { "type": "lay_tile", "entity": "MS", "entity_type": "minor", "id": 25, "hex": "C13", "tile": "8-0", "rotation": 4 }, { "type": "run_routes", "entity": "MS", "entity_type": "minor", "id": 26, "routes": [ { "train": "2-0", "connections": [ [ "C15", "B16" ] ] } ] }, { "type": "lay_tile", "entity": "BIG4", "entity_type": "minor", "id": 27, "hex": "G9", "tile": "5-0", "rotation": 0 }, { "type": "lay_tile", "entity": "BIG4", "entity_type": "minor", "id": 28, "hex": "G7", "tile": "6-1", "rotation": 4 }, { "type": "run_routes", "entity": "BIG4", "entity_type": "minor", "id": 29, "routes": [ { "train": "2-1", "connections": [ [ "G9", "G7" ] ] } ] }, { "id": 30, "type": "sell_shares", "entity": "GT", "shares": [ "GT_2", "GT_3", "GT_4" ], "percent": 30, "entity_type": "corporation", "share_price": 50 }, { "id": 31, "type": "undo", "entity": "GT", "entity_type": "corporation" }, { "id": 32, "type": "pass", "entity": "GT", "entity_type": "corporation" }, { "id": 33, "type": "undo", "entity": "GT", "entity_type": "corporation" }, { "type": "sell_shares", "entity": "GT", "entity_type": "corporation", "id": 34, "shares": [ "GT_2", "GT_3" ], "percent": 20, "share_price": 50 }, { "type": "lay_tile", "entity": "GT", "entity_type": "corporation", "id": 35, "hex": "D12", "tile": "9-0", "rotation": 0 }, { "type": "lay_tile", "entity": "GT", "entity_type": "corporation", "id": 36, "hex": "E11", "tile": "6-2", "rotation": 1 }, { "type": "place_token", "entity": "GT", "entity_type": "corporation", "id": 37, "city": "C15-0-0", "slot": 1 }, { "type": "buy_train", "entity": "GT", "entity_type": "corporation", "id": 38, "train": "2-2", "price": 80 }, { "type": "buy_train", "entity": "GT", "entity_type": "corporation", "id": 39, "train": "2-3", "price": 80 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 40 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", "id": 41, "hex": "J4", "tile": "9-1", "rotation": 0 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", "id": 42, "hex": "H6", "tile": "9-2", "rotation": 0 }, { "type": "place_token", "entity": "IC", "entity_type": "corporation", "id": 43, "city": "6-1-0", "slot": 0 }, { "type": "buy_train", "entity": "IC", "entity_type": "corporation", "id": 44, "train": "2-4", "price": 80 }, { "type": "buy_train", "entity": "IC", "entity_type": "corporation", "id": 45, "train": "2-5", "price": 80 }, { "type": "buy_train", "entity": "IC", "entity_type": "corporation", "id": 46, "train": "2-6", "price": 80 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 47 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 48 }, { "id": 49, "type": "sell_shares", "entity": "B&O", "shares": [ "B&O_3", "B&O_4" ], "percent": 20, "entity_type": "corporation", "share_price": 60 }, { "id": 50, "type": "assign", "entity": "SC", "target": "G19", "entity_type": "company", "target_type": "hex" }, { "id": 51, "type": "undo", "entity": "B&O", "entity_type": "corporation" }, { "id": 52, "type": "assign", "entity": "SC", "target": "G19", "entity_type": "company", "target_type": "hex" }, { "id": 53, "type": "undo", "entity": "B&O", "entity_type": "corporation" }, { "id": 54, "type": "undo", "entity": "B&O", "entity_type": "corporation" }, { "type": "sell_shares", "entity": "B&O", "entity_type": "corporation", "id": 55, "shares": [ "B&O_3", "B&O_4", "B&O_5" ], "percent": 30, "share_price": 60 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 56 }, { "type": "buy_train", "entity": "B&O", "entity_type": "corporation", "id": 57, "train": "2-7", "price": 80 }, { "type": "buy_train", "entity": "B&O", "entity_type": "corporation", "id": 58, "train": "4-0", "price": 180, "variant": "4" }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 59 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 60 }, { "type": "lay_tile", "entity": "MS", "entity_type": "minor", "id": 61, "hex": "D12", "tile": "23-0", "rotation": 3 }, { "type": "lay_tile", "entity": "MS", "entity_type": "minor", "id": 62, "hex": "D10", "tile": "9-3", "rotation": 1 }, { "type": "run_routes", "entity": "MS", "entity_type": "minor", "id": 63, "routes": [ { "train": "2-0", "connections": [ [ "C15", "B16" ] ] } ] }, { "type": "lay_tile", "entity": "BIG4", "entity_type": "minor", "id": 64, "hex": "G7", "tile": "619-0", "rotation": 2 }, { "type": "run_routes", "entity": "BIG4", "entity_type": "minor", "id": 65, "routes": [ { "train": "2-1", "connections": [ [ "G9", "G7" ] ] } ] }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 66 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", "id": 67, "hex": "H8", "tile": "9-4", "rotation": 2 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", "id": 68, "hex": "I9", "tile": "9-5", "rotation": 2 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 69 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", "id": 70, "routes": [ { "train": "2-4", "connections": [ [ "J10", "I9", "H8", "G7" ] ] }, { "train": "2-5", "connections": [ [ "G9", "G7" ] ] }, { "train": "2-6", "connections": [ [ "I5", "H6", "G7" ] ] } ] }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", "id": 71, "kind": "half" }, { "type": "buy_train", "entity": "IC", "entity_type": "corporation", "id": 72, "train": "4-1", "price": 180, "variant": "4" }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 73 }, { "type": "buy_company", "entity": "B&O", "entity_type": "corporation", "id": 74, "company": "MS", "price": 60 }, { "type": "buy_company", "entity": "B&O", "entity_type": "corporation", "id": 75, "company": "SC", "price": 40 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 76 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", "id": 77, "hex": "D8", "tile": "9-6", "rotation": 1 }, { "type": "place_token", "entity": "B&O", "entity_type": "corporation", "id": 78, "city": "D6-0-2", "slot": 0 }, { "id": 79, "hex": "D6", "tile": "298-0", "type": "lay_tile", "entity": "B&O", "rotation": 0, "entity_type": "corporation" }, { "id": 80, "type": "run_routes", "entity": "B&O", "routes": [ { "train": "2-7", "connections": [ [ "H20", "G19" ] ] }, { "train": "4-0", "connections": [ [ "C15", "B16" ], [ "C15", "C13", "D12", "D10", "D8", "D6" ], [ "C5", "D6" ] ] } ], "entity_type": "corporation" }, { "id": 81, "type": "undo", "entity": "B&O", "entity_type": "corporation" }, { "id": 82, "type": "undo", "entity": "B&O", "entity_type": "corporation" }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", "id": 83, "hex": "G19", "tile": "14-0", "rotation": 1 }, { "type": "assign", "entity": "SC", "entity_type": "company", "id": 84, "target": "G19", "target_type": "hex" }, { "type": "run_routes", "entity": "B&O", "entity_type": "corporation", "id": 85, "routes": [ { "train": "2-7", "connections": [ [ "H20", "G19" ] ] }, { "train": "4-0", "connections": [ [ "G21", "G19" ] ] } ] }, { "type": "dividend", "entity": "B&O", "entity_type": "corporation", "id": 86, "kind": "payout" }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 87 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 88 }, { "id": 89, "type": "sell_shares", "entity": "GT", "shares": [ "GT_4" ], "percent": 10, "entity_type": "corporation", "share_price": 40 }, { "id": 90, "type": "undo", "entity": "GT", "entity_type": "corporation" }, { "type": "sell_shares", "entity": "GT", "entity_type": "corporation", "id": 91, "shares": [ "GT_4" ], "percent": 10, "share_price": 40 }, { "type": "lay_tile", "entity": "GT", "entity_type": "corporation", "id": 92, "hex": "E9", "tile": "9-7", "rotation": 1 }, { "type": "lay_tile", "entity": "GT", "entity_type": "corporation", "id": 93, "hex": "E7", "tile": "8-1", "rotation": 2 }, { "type": "run_routes", "entity": "GT", "entity_type": "corporation", "id": 94, "routes": [ { "train": "2-2", "connections": [ [ "C15", "B16" ] ] }, { "train": "2-3", "connections": [ [ "E11", "D12", "C13", "C15" ] ] } ] }, { "type": "dividend", "entity": "GT", "entity_type": "corporation", "id": 95, "kind": "payout" }, { "type": "pass", "entity": "GT", "entity_type": "corporation", "id": 96 }, { "type": "pass", "entity": "GT", "entity_type": "corporation", "id": 97 }, { "type": "buy_shares", "entity": "MichaelDyrud", "entity_type": "player", "id": 98, "shares": [ "B&O_6" ] }, { "type": "buy_shares", "entity": "waSP", "entity_type": "player", "id": 99, "shares": [ "IC_5" ] }, { "type": "buy_shares", "entity": "p1lot", "entity_type": "player", "id": 100, "shares": [ "B&O_3" ] }, { "type": "buy_shares", "entity": "Billy Moustache", "entity_type": "player", "id": 101, "shares": [ "IC_6" ] }, { "type": "buy_shares", "entity": "MichaelDyrud", "entity_type": "player", "id": 102, "shares": [ "GT_2" ] }, { "type": "buy_shares", "entity": "waSP", "entity_type": "player", "id": 103, "shares": [ "IC_7" ] }, { "type": "buy_shares", "entity": "p1lot", "entity_type": "player", "id": 104, "shares": [ "B&O_4" ] }, { "type": "pass", "entity": "Billy Moustache", "entity_type": "player", "id": 105 }, { "type": "pass", "entity": "MichaelDyrud", "entity_type": "player", "id": 106 }, { "type": "pass", "entity": "waSP", "entity_type": "player", "id": 107 }, { "type": "buy_shares", "entity": "p1lot", "entity_type": "player", "id": 108, "shares": [ "B&O_5" ] }, { "type": "pass", "entity": "Billy Moustache", "entity_type": "player", "id": 109 }, { "type": "pass", "entity": "MichaelDyrud", "entity_type": "player", "id": 110 }, { "type": "pass", "entity": "waSP", "entity_type": "player", "id": 111 }, { "type": "pass", "entity": "p1lot", "entity_type": "player", "id": 112 }, { "type": "lay_tile", "entity": "BIG4", "entity_type": "minor", "id": 113, "hex": "G9", "tile": "15-0", "rotation": 4 }, { "type": "run_routes", "entity": "BIG4", "entity_type": "minor", "id": 114, "routes": [ { "train": "2-1", "connections": [ [ "G7", "G9" ] ] } ] }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 115 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", "id": 116, "hex": "D6", "tile": "298-0", "rotation": 0 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 117 }, { "type": "run_routes", "entity": "B&O", "entity_type": "corporation", "id": 118, "routes": [ { "train": "2-7", "connections": [ [ "H20", "G19" ] ] }, { "train": "4-0", "connections": [ [ "C15", "B16" ], [ "C15", "C13", "D12", "D10", "D8", "D6" ], [ "C5", "D6" ] ] }, { "train": "2-0", "connections": [ [ "G21", "G19" ] ] } ] }, { "type": "dividend", "entity": "B&O", "entity_type": "corporation", "id": 119, "kind": "payout" }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 120 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 121 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 122 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", "id": 123, "hex": "F6", "tile": "9-8", "rotation": 2 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", "id": 124, "hex": "E5", "tile": "8-2", "rotation": 3 }, { "type": "place_token", "entity": "IC", "entity_type": "corporation", "id": 125, "city": "298-0-3", "slot": 0 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", "id": 126, "routes": [ { "train": "2-4", "connections": [ [ "I5", "J4", "K3" ] ] }, { "train": "2-5", "connections": [ [ "I5", "H6", "G7" ] ] }, { "train": "2-6", "connections": [ [ "G7", "G9" ] ] }, { "train": "4-1", "connections": [ [ "J10", "I9", "H8", "G7" ], [ "G7", "F6", "E5", "D6" ], [ "C5", "D6" ] ] } ] }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", "id": 127, "kind": "half" }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 128 }, { "id": 129, "type": "sell_shares", "entity": "GT", "shares": [ "GT_5" ], "percent": 10, "entity_type": "corporation", "share_price": 50 }, { "id": 130, "type": "undo", "entity": "GT", "entity_type": "corporation" }, { "type": "sell_shares", "entity": "GT", "entity_type": "corporation", "id": 131, "shares": [ "GT_5", "GT_6" ], "percent": 20, "share_price": 50 }, { "type": "lay_tile", "entity": "GT", "entity_type": "corporation", "id": 132, "hex": "C15", "tile": "295-0", "rotation": 1 }, { "id": 133, "type": "buy_company", "price": 48, "entity": "GT", "company": "C&WI", "entity_type": "corporation" }, { "id": 134, "type": "pass", "entity": "GT", "entity_type": "corporation" }, { "id": 135, "type": "run_routes", "entity": "GT", "routes": [ { "train": "2-2", "connections": [ [ "C17", "C15" ] ] }, { "train": "2-3", "connections": [ [ "D6", "D8", "D10", "D12", "C13", "C15" ] ] } ], "entity_type": "corporation" }, { "id": 136, "kind": "half", "type": "dividend", "entity": "GT", "entity_type": "corporation" }, { "id": 137, "type": "undo", "entity": "GT", "entity_type": "corporation" }, { "id": 138, "type": "undo", "entity": "GT", "entity_type": "corporation" }, { "id": 139, "type": "undo", "entity": "GT", "entity_type": "corporation" }, { "id": 140, "type": "undo", "entity": "GT", "entity_type": "corporation" }, { "type": "pass", "entity": "GT", "entity_type": "corporation", "id": 141 }, { "type": "run_routes", "entity": "GT", "entity_type": "corporation", "id": 142, "routes": [ { "train": "2-2", "connections": [ [ "C17", "C15" ] ] }, { "train": "2-3", "connections": [ [ "D6", "D8", "D10", "D12", "C13", "C15" ] ] } ] }, { "type": "dividend", "entity": "GT", "entity_type": "corporation", "id": 143, "kind": "half" }, { "type": "buy_company", "entity": "GT", "entity_type": "corporation", "id": 144, "company": "LSL", "price": 40 }, { "type": "buy_company", "entity": "GT", "entity_type": "corporation", "id": 145, "company": "C&WI", "price": 60 }, { "type": "place_token", "entity": "C&WI", "entity_type": "company", "id": 146, "city": "298-0-2", "slot": 0 }, { "type": "pass", "entity": "GT", "entity_type": "corporation", "id": 147 }, { "type": "pass", "entity": "GT", "entity_type": "corporation", "id": 148 }, { "type": "lay_tile", "entity": "BIG4", "entity_type": "minor", "id": 149, "hex": "H10", "tile": "9-9", "rotation": 2 }, { "type": "run_routes", "entity": "BIG4", "entity_type": "minor", "id": 150, "routes": [ { "train": "2-1", "connections": [ [ "G7", "G9" ] ] } ] }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 151 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", "id": 152, "hex": "G17", "tile": "9-10", "rotation": 1 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", "id": 153, "hex": "G15", "tile": "57-0", "rotation": 1 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 154 }, { "type": "run_routes", "entity": "B&O", "entity_type": "corporation", "id": 155, "routes": [ { "train": "2-7", "connections": [ [ "H20", "G19" ] ] }, { "train": "4-0", "connections": [ [ "C17", "C15" ], [ "D6", "D8", "D10", "D12", "C13", "C15" ], [ "C5", "D6" ] ] }, { "train": "2-0", "connections": [ [ "G21", "G19" ] ] } ] }, { "type": "dividend", "entity": "B&O", "entity_type": "corporation", "id": 156, "kind": "half" }, { "id": 157, "type": "undo", "entity": "B&O", "entity_type": "corporation" }, { "id": 158, "type": "undo", "entity": "B&O", "entity_type": "corporation" }, { "id": 159, "type": "undo", "entity": "B&O", "entity_type": "corporation" }, { "id": 160, "type": "undo", "entity": "B&O", "entity_type": "corporation" }, { "id": 161, "type": "undo", "entity": "B&O", "entity_type": "corporation" }, { "id": 162, "type": "redo", "entity": "B&O", "entity_type": "corporation" }, { "id": 163, "type": "redo", "entity": "B&O", "entity_type": "corporation" }, { "id": 164, "type": "redo", "entity": "B&O", "entity_type": "corporation" }, { "id": 165, "type": "redo", "entity": "B&O", "entity_type": "corporation" }, { "id": 166, "type": "redo", "entity": "B&O", "entity_type": "corporation" }, { "type": "buy_train", "entity": "B&O", "entity_type": "corporation", "id": 167, "train": "4-2", "price": 160, "variant": "4" }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 168 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 169 }, { "id": 170, "hex": "I11", "tile": "8-3", "type": "lay_tile", "entity": "IC", "rotation": 0, "entity_type": "corporation" }, { "id": 171, "hex": "H6", "tile": "26-0", "type": "lay_tile", "entity": "IC", "rotation": 3, "entity_type": "corporation" }, { "id": 172, "type": "pass", "entity": "IC", "entity_type": "corporation" }, { "id": 173, "type": "undo", "entity": "IC", "entity_type": "corporation" }, { "id": 174, "type": "undo", "entity": "IC", "entity_type": "corporation" }, { "id": 175, "hex": "H8", "tile": "27-0", "type": "lay_tile", "entity": "IC", "rotation": 2, "entity_type": "corporation" }, { "id": 176, "type": "pass", "entity": "IC", "entity_type": "corporation" }, { "id": 177, "type": "undo", "entity": "IC", "entity_type": "corporation" }, { "id": 178, "type": "undo", "entity": "IC", "entity_type": "corporation" }, { "id": 179, "type": "undo", "entity": "IC", "entity_type": "corporation" }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", "id": 180, "hex": "H6", "tile": "26-0", "rotation": 3 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", "id": 181, "hex": "G5", "tile": "8-3", "rotation": 5 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 182 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", "id": 183, "routes": [ { "train": "2-4", "connections": [ [ "I5", "J4", "K3" ] ] }, { "train": "2-5", "connections": [ [ "I5", "H6", "G7" ] ] }, { "train": "2-6", "connections": [ [ "G7", "G9" ] ] }, { "train": "4-1", "connections": [ [ "J10", "I9", "H8", "G7" ], [ "G7", "F6", "E5", "D6" ], [ "C5", "D6" ] ] } ] }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", "id": 184, "kind": "payout" }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 185 }, { "type": "buy_shares", "entity": "GT", "entity_type": "corporation", "id": 186, "shares": [ "GT_3" ], "share_price": 80 }, { "type": "pass", "entity": "GT", "entity_type": "corporation", "id": 187 }, { "type": "run_routes", "entity": "GT", "entity_type": "corporation", "id": 188, "routes": [ { "train": "2-2", "connections": [ [ "C17", "C15" ] ] }, { "train": "2-3", "connections": [ [ "D6", "D8", "D10", "D12", "C13", "C15" ] ] } ] }, { "type": "dividend", "entity": "GT", "entity_type": "corporation", "id": 189, "kind": "half" }, { "type": "pass", "entity": "GT", "entity_type": "corporation", "id": 190 }, { "type": "pass", "entity": "GT", "entity_type": "corporation", "id": 191 }, { "type": "buy_shares", "entity": "Billy Moustache", "entity_type": "player", "id": 192, "shares": [ "B&O_7" ] }, { "type": "buy_shares", "entity": "MichaelDyrud", "entity_type": "player", "id": 193, "shares": [ "B&O_8" ] }, { "type": "par", "entity": "waSP", "entity_type": "player", "id": 194, "corporation": "NYC", "share_price": "100,0,10" }, { "id": 195, "type": "buy_shares", "entity": "p1lot", "shares": [ "IC_8" ], "entity_type": "player" }, { "id": 196, "type": "undo", "entity": "Billy Moustache", "entity_type": "player" }, { "type": "par", "entity": "p1lot", "entity_type": "player", "id": 197, "corporation": "ERIE", "share_price": "100,0,10" }, { "type": "buy_shares", "entity": "Billy Moustache", "entity_type": "player", "id": 198, "shares": [ "ERIE_1" ] }, { "type": "buy_shares", "entity": "MichaelDyrud", "entity_type": "player", "id": 199, "shares": [ "GT_4" ] }, { "type": "buy_shares", "entity": "waSP", "entity_type": "player", "id": 200, "shares": [ "NYC_1" ] }, { "type": "buy_shares", "entity": "p1lot", "entity_type": "player", "id": 201, "shares": [ "ERIE_2" ] }, { "type": "pass", "entity": "Billy Moustache", "entity_type": "player", "id": 202 }, { "id": 203, "type": "pass", "entity": "MichaelDyrud", "entity_type": "player" }, { "id": 204, "type": "pass", "entity": "waSP", "entity_type": "player" }, { "id": 205, "type": "undo", "entity": "p1lot", "entity_type": "player" }, { "id": 206, "type": "undo", "entity": "waSP", "entity_type": "player" }, { "type": "buy_shares", "entity": "MichaelDyrud", "entity_type": "player", "id": 207, "shares": [ "GT_5" ] }, { "type": "pass", "entity": "waSP", "entity_type": "player", "id": 208 }, { "type": "pass", "entity": "p1lot", "entity_type": "player", "id": 209 }, { "type": "pass", "entity": "Billy Moustache", "entity_type": "player", "id": 210 }, { "type": "pass", "entity": "MichaelDyrud", "entity_type": "player", "id": 211 }, { "type": "lay_tile", "entity": "BIG4", "entity_type": "minor", "id": 212, "hex": "I11", "tile": "8-4", "rotation": 0 }, { "type": "pass", "entity": "BIG4", "entity_type": "minor", "id": 213 }, { "type": "run_routes", "entity": "BIG4", "entity_type": "minor", "id": 214, "routes": [ { "train": "2-1", "connections": [ [ "G9", "H10", "I11", "J10" ] ] } ] }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", "id": 215, "hex": "G13", "tile": "6-3", "rotation": 4 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", "id": 216, "hex": "H12", "tile": "293-0", "rotation": 0 }, { "type": "place_token", "entity": "B&O", "entity_type": "corporation", "id": 217, "city": "293-0-0", "slot": 0 }, { "type": "run_routes", "entity": "B&O", "entity_type": "corporation", "id": 218, "routes": [ { "train": "2-7", "connections": [ [ "H20", "G19" ] ] }, { "train": "4-0", "connections": [ [ "C17", "C15" ], [ "D6", "D8", "D10", "D12", "C13", "C15" ], [ "C5", "D6" ] ] }, { "train": "2-0", "connections": [ [ "G21", "G19" ] ] }, { "train": "4-2", "connections": [ [ "G19", "G17", "G15" ], [ "G15", "G13" ], [ "G13", "H12" ] ] } ] }, { "type": "dividend", "entity": "B&O", "entity_type": "corporation", "id": 219, "kind": "half" }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 220 }, { "id": 221, "type": "pass", "entity": "IC", "entity_type": "corporation" }, { "id": 222, "hex": "G3", "tile": "6-1", "type": "lay_tile", "entity": "IC", "rotation": 4, "entity_type": "corporation" }, { "id": 223, "hex": "H2", "tile": "9-11", "type": "lay_tile", "entity": "IC", "rotation": 0, "entity_type": "corporation" }, { "id": 224, "type": "undo", "entity": "IC", "entity_type": "corporation" }, { "id": 225, "type": "undo", "entity": "IC", "entity_type": "corporation" }, { "id": 226, "type": "undo", "entity": "IC", "entity_type": "corporation" }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 227 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", "id": 228, "hex": "G3", "tile": "6-1", "rotation": 4 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", "id": 229, "hex": "H2", "tile": "9-11", "rotation": 0 }, { "id": 230, "type": "pass", "entity": "IC", "entity_type": "corporation" }, { "id": 231, "type": "undo", "entity": "IC", "entity_type": "corporation" }, { "type": "place_token", "entity": "IC", "entity_type": "corporation", "id": 232, "city": "15-0-0", "slot": 1 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", "id": 233, "routes": [ { "train": "2-4", "connections": [ [ "G7", "G9" ] ] }, { "train": "2-5", "connections": [ [ "G9", "H10", "I11", "J10" ] ] }, { "train": "2-6", "connections": [ [ "J10", "I9", "H8", "G7" ] ] }, { "train": "4-1", "connections": [ [ "G3", "H2", "I1" ], [ "G7", "H6", "G5", "G3" ], [ "G7", "F6", "E5", "D6" ] ] } ] }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", "id": 234, "kind": "half" }, { "type": "buy_company", "entity": "IC", "entity_type": "corporation", "id": 235, "company": "O&I", "price": 40 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 236 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", "id": 237 }, { "type": "buy_company", "entity": "NYC", "entity_type": "corporation", "id": 238, "company": "BIG4", "price": 40 }, { "type": "lay_tile", "entity": "NYC", "entity_type": "corporation", "id": 239, "hex": "D18", "tile": "8-5", "rotation": 4 }, { "type": "lay_tile", "entity": "NYC", "entity_type": "corporation", "id": 240, "hex": "E17", "tile": "292-0", "rotation": 1 }, { "type": "place_token", "entity": "NYC", "entity_type": "corporation", "id": 241, "city": "292-0-0", "slot": 0 }, { "type": "buy_train", "entity": "NYC", "entity_type": "corporation", "id": 242, "train": "2-4", "price": 85 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", "id": 243 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", "id": 244 }, { "type": "sell_shares", "entity": "ERIE", "entity_type": "corporation", "id": 245, "shares": [ "ERIE_3", "ERIE_4" ], "percent": 20, "share_price": 90 }, { "type": "lay_tile", "entity": "ERIE", "entity_type": "corporation", "id": 246, "hex": "E19", "tile": "9-12", "rotation": 1 }, { "type": "lay_tile", "entity": "ERIE", "entity_type": "corporation", "id": 247, "hex": "E17", "tile": "296-0", "rotation": 1 }, { "type": "place_token", "entity": "ERIE", "entity_type": "corporation", "id": 248, "city": "296-0-0", "slot": 1 }, { "id": 249, "type": "buy_train", "price": 180, "train": "4-3", "entity": "ERIE", "variant": "4", "entity_type": "corporation" }, { "id": 250, "type": "undo", "entity": "ERIE", "entity_type": "corporation" }, { "type": "buy_train", "entity": "ERIE", "entity_type": "corporation", "id": 251, "train": "4-3", "price": 180, "variant": "4" }, { "type": "buy_train", "entity": "ERIE", "entity_type": "corporation", "id": 252, "train": "2-0", "price": 1 }, { "type": "buy_train", "entity": "ERIE", "entity_type": "corporation", "id": 253, "train": "2-7", "price": 1 }, { "type": "pass", "entity": "ERIE", "entity_type": "corporation", "id": 254 }, { "type": "pass", "entity": "ERIE", "entity_type": "corporation", "id": 255 }, { "type": "buy_shares", "entity": "GT", "entity_type": "corporation", "id": 256, "shares": [ "GT_6" ], "share_price": 80 }, { "type": "lay_tile", "entity": "GT", "entity_type": "corporation", "id": 257, "hex": "E11", "tile": "14-1", "rotation": 0 }, { "type": "pass", "entity": "GT", "entity_type": "corporation", "id": 258 }, { "type": "run_routes", "entity": "GT", "entity_type": "corporation", "id": 259, "routes": [ { "train": "2-2", "connections": [ [ "C17", "C15" ] ] }, { "train": "2-3", "connections": [ [ "D6", "D8", "D10", "D12", "C13", "C15" ] ] } ] }, { "type": "dividend", "entity": "GT", "entity_type": "corporation", "id": 260, "kind": "half" }, { "type": "pass", "entity": "GT", "entity_type": "corporation", "id": 261 }, { "type": "pass", "entity": "GT", "entity_type": "corporation", "id": 262 }, { "type": "lay_tile", "entity": "B&O", "entity_type": "corporation", "id": 263, "hex": "I11", "tile": "24-0", "rotation": 0 }, { "type": "pass", "entity": "B&O", "entity_type": "corporation", "id": 264 }, { "type": "run_routes", "entity": "B&O", "entity_type": "corporation", "id": 265, "routes": [ { "train": "4-0", "connections": [ [ "C17", "C15" ], [ "D6", "D8", "D10", "D12", "C13", "C15" ], [ "C5", "D6" ] ] }, { "train": "4-2", "connections": [ [ "G19", "G17", "G15" ], [ "G15", "G13" ], [ "G13", "H12" ], [ "H12", "I11", "J10" ] ] } ] }, { "type": "dividend", "entity": "B&O", "entity_type": "corporation", "id": 266, "kind": "payout" }, { "type": "buy_train", "entity": "B&O", "entity_type": "corporation", "id": 267, "train": "4-4", "price": 160, "variant": "3/5" }, { "type": "buy_train", "entity": "B&O", "entity_type": "corporation", "id": 268, "train": "5-0", "price": 450, "variant": "4/6" }, { "type": "discard_train", "entity": "B&O", "entity_type": "corporation", "id": 269, "train": "4-2" }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 270 }, { "type": "lay_tile", "entity": "IC", "entity_type": "corporation", "id": 271, "hex": "G7", "tile": "611-0", "rotation": 2 }, { "type": "pass", "entity": "IC", "entity_type": "corporation", "id": 272 }, { "type": "run_routes", "entity": "IC", "entity_type": "corporation", "id": 273, "routes": [ { "train": "2-5", "connections": [ [ "G9", "H10", "I11", "J10" ] ] }, { "train": "2-6", "connections": [ [ "D6", "E5", "F6", "G7" ] ] }, { "train": "4-1", "connections": [ [ "J10", "I9", "H8", "G7" ], [ "G3", "G5", "H6", "G7" ], [ "G3", "H2", "I1" ] ] } ] }, { "type": "dividend", "entity": "IC", "entity_type": "corporation", "id": 274, "kind": "half" }, { "type": "buy_train", "entity": "IC", "entity_type": "corporation", "id": 275, "train": "4-2", "price": 180, "variant": "4" }, { "type": "buy_train", "entity": "IC", "entity_type": "corporation", "id": 276, "train": "5-1", "price": 450, "variant": "4/6" }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", "id": 277 }, { "type": "lay_tile", "entity": "NYC", "entity_type": "corporation", "id": 278, "hex": "E15", "tile": "8-6", "rotation": 2 }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", "id": 279 }, { "type": "run_routes", "entity": "NYC", "entity_type": "corporation", "id": 280, "routes": [ { "train": "2-1", "connections": [ [ "D20", "D18", "E17" ] ] }, { "train": "2-4", "connections": [ [ "C21", "D20" ] ] } ] }, { "type": "dividend", "entity": "NYC", "entity_type": "corporation", "id": 281, "kind": "payout" }, { "type": "buy_train", "entity": "NYC", "entity_type": "corporation", "id": 282, "train": "4-1", "price": 91, "variant": "4" }, { "type": "pass", "entity": "NYC", "entity_type": "corporation", "id": 283 } ], "loaded": true, "created_at": 1595947666, "updated_at": 1595963467 }

michaeljb commented 4 years ago

The game data you pasted has this:

{
"type": "buy_train",
"entity": "B&O",
"entity_type": "corporation",
"id": 167,
"train": "4-2",
"price": 160,
"variant": "4"
},

That means that the 4-train was bought for $160, but it should cost $180 while the 3/5-train costs $160. The point in the game that was raising the error was when the 3/5-train hits 5 stops, which obviously the 4-train is not allowed to do.

However, when I go to https://www.18xx.games/game/5102?action=167 and click "Tools", it shows the correct variant was bought:

    {
      "type": "buy_train",
      "entity": "B&O",
      "entity_type": "corporation",
      "id": 167,
      "train": "4-2",
      "price": 160,
      "variant": "3/5"
    }

Seems like this may have already been fixed with a db migration or something, I'll ask in the #18xxgamesdev channel.

michaeljb commented 4 years ago

Hmm, cloning at https://www.18xx.games/game/5102?action=274 and https://www.18xx.games/game/5102?action=275 give different results for action 167