From cb8ffe2119beb797a3758035f5f0ed6599e701b6 Mon Sep 17 00:00:00 2001 From: Chris Rericha Date: Sun, 9 Feb 2025 02:26:19 -0500 Subject: [PATCH] [1828] EMR cross buy limited by shares sold and train value --- lib/engine/game/g_1828/step/buy_train.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/engine/game/g_1828/step/buy_train.rb b/lib/engine/game/g_1828/step/buy_train.rb index 46a42cd861..2660777639 100644 --- a/lib/engine/game/g_1828/step/buy_train.rb +++ b/lib/engine/game/g_1828/step/buy_train.rb @@ -48,6 +48,23 @@ def president_may_contribute?(entity, shell = nil) (super || shell_empty) && ebuy_president_can_contribute?(entity) end + def spend_minmax(entity, train) + entity_buying_power = buying_power(entity) + max_possible = entity_buying_power + entity.owner.cash + if @last_share_sold_price + min = max_possible - @last_share_sold_price + 1 + max = [train.price, max_possible].min + else + min = 1 + max = if entity_buying_power > train.price + entity_buying_power + else + [train.price, max_possible].min + end + end + [min, max] + end + private def shells_with_room(entity)