diff --git a/lib/engine/game/g_18_uruguay/game.rb b/lib/engine/game/g_18_uruguay/game.rb index cecd5ef96f..cbce649147 100644 --- a/lib/engine/game/g_18_uruguay/game.rb +++ b/lib/engine/game/g_18_uruguay/game.rb @@ -283,6 +283,7 @@ def after_buy_company(player, company, _price) def operating_round(round_num) Round::Operating.new(self, [ + G18Uruguay::Step::DestinationBonus, Engine::Step::Bankrupt, Engine::Step::Exchange, G18Uruguay::Step::Farm, diff --git a/lib/engine/game/g_18_uruguay/step/destination_bonus.rb b/lib/engine/game/g_18_uruguay/step/destination_bonus.rb index 584c32f54b..b7849e80ce 100644 --- a/lib/engine/game/g_18_uruguay/step/destination_bonus.rb +++ b/lib/engine/game/g_18_uruguay/step/destination_bonus.rb @@ -12,8 +12,9 @@ def description end def log_skip(entity) - return if entity.minor? + return unless entity.corporation? return if entity == @game.rptla + return unless destination_node_check?(entity) super end @@ -21,23 +22,24 @@ def log_skip(entity) def actions(entity) return [] if entity.minor? return [] if entity == @game.rptla + return [] if @game.abilities(entity, :destination_bonus).nil? self.class::ACTIONS end def auto_actions(entity) - corporations = @round.entities.select { |c| destination_node_check?(c) } - return [Engine::Action::Pass.new(entity)] if corporations.empty? + return [] unless entity.corporation? + return [Engine::Action::Pass.new(entity)] unless destination_node_check?(entity) - [Engine::Action::DestinationConnection.new(entity, corporations: corporations)] + [Engine::Action::DestinationConnection.new(entity, corporations: [entity])] end def destination_node_check?(corporation) - return if corporation.closed? - return if corporation.destination_coordinates.nil? + return false if corporation.closed? + return false if corporation.destination_coordinates.nil? ability = @game.abilities(corporation, :destination_bonus) - return if ability.nil? + return false if ability.nil? destination_hex = @game.hex_by_id(corporation.destination_coordinates) home_node = corporation.tokens.first.city