@@ -1366,43 +1366,40 @@ local function UpdateCivListNow()
instance.Gold:SetText()
end
- --Display all lux even if 1 copy
- local minKeepLuxuries = 0
- -- Is reasonable trade possible ?
- if player:GetMajorCivApproach( g_activePlayerID ) >= MajorCivApproachTypes.MAJOR_CIV_APPROACH_GUARDED then
- -- Luxuries available from them
+ --Is reasonable trade possible ?
+ --if player:GetMajorCivApproach( g_activePlayerID ) >= MajorCivApproachTypes.MAJOR_CIV_APPROACH_GUARDED then
for resource in GameInfo.Resources() do
- local resourceID = resource.ID
- if Game.GetResourceUsageType( resourceID ) == ResourceUsageTypes.RESOURCEUSAGE_LUXURY
- and (not bnw_mode or player:GetHappinessFromLuxury( resourceID ) > 0) -- it's a luxury that has'nt been banned
- and player:GetNumResourceAvailable( resourceID, false ) > 1 -- single resources are too expensive
- and g_deal:IsPossibleToTradeItem(playerID, g_activePlayerID, TradeableItems.TRADE_ITEM_RESOURCES, resourceID, 1) -- 1 here is 1 quantity of the Resource, which is the minimum possible
- then
- table.insert( theirTradeItems, resource.IconString )
- minKeepLuxuries = 0 -- if they have luxes to trade, we can trade even our last one
- end
- end
-
- if gold > 0 or goldRate > 0 or minKeepLuxuries == 0 then
- -- Resources available from us
- for resource in GameInfo.Resources() do
- local resourceID = resource.ID
- local usage = Game.GetResourceUsageType( resourceID )
- if g_activePlayer:GetNumResourceAvailable( resourceID, true ) > minKeepLuxuries
- and g_deal:IsPossibleToTradeItem( g_activePlayerID, playerID, TradeableItems.TRADE_ITEM_RESOURCES, resourceID, 1 )
- then
- if ( usage == ResourceUsageTypes.RESOURCEUSAGE_LUXURY
- and (not bnw_mode or g_activePlayer:GetHappinessFromLuxury( resourceID ) > 0) ) -- it's a luxury that has'nt been banned
- or ( usage == ResourceUsageTypes.RESOURCEUSAGE_STRATEGIC
- and player:GetCurrentEra() < (GameInfoTypes[ resource.AIStopTradingEra ] or math.huge)
- and player:GetNumResourceAvailable( resourceID, true ) <= player:GetNumCities() )
- then
- table.insert( ourTradeItems, resource.IconString )
- end
- end
- end
- end
- end
+ local resourceID = resource.ID;
+ local usage = Game.GetResourceUsageType( resourceID )
+
+ if player:GetNumResourceAvailable( resourceID, true ) > 1 and player:GetNumResourceAvailable( resourceID, false ) > 0 then
+ if usage == ResourceUsageTypes.RESOURCEUSAGE_LUXURY then
+ if (not bnw_mode or player:GetHappinessFromLuxury( resourceID ) > 0) then
+ if g_deal:IsPossibleToTradeItem(playerID, g_activePlayerID, TradeableItems.TRADE_ITEM_RESOURCES, resourceID, 1) then
+ table.insert( theirTradeItems, resource.IconString )
+ end
+ end
+ end
+ end
+ if g_activePlayer:GetNumResourceAvailable( resourceID, false ) > 0 then
+ if usage == ResourceUsageTypes.RESOURCEUSAGE_LUXURY
+ and player:GetNumResourceAvailable( resourceID, true ) <= 0
+ and (not bnw_mode or g_activePlayer:GetHappinessFromLuxury( resourceID ) > 0)
+ and g_deal:IsPossibleToTradeItem(g_activePlayerID, playerID, TradeableItems.TRADE_ITEM_RESOURCES, resourceID, 1)
+ then
+ table.insert( ourTradeItems, resource.IconString )
+ end
+ if usage == ResourceUsageTypes.RESOURCEUSAGE_STRATEGIC
+ and g_activePlayer:GetNumResourceAvailable( resourceID, false ) > 0
+ and player:GetCurrentEra() < (GameInfoTypes[resource.AIStopTradingEra] or math.huge)
+ and g_deal:IsPossibleToTradeItem(g_activePlayerID, playerID, TradeableItems.TRADE_ITEM_RESOURCES, resourceID, 1)
+ and player:GetNumResourceAvailable(resourceID, true) <= player:GetNumCities()
+ then
+ table.insert( ourTradeItems, resource.IconString )
+ end
+ end
+ end
+ --end
end
instance.TheirTradeItems:SetText( table.concat( theirTradeItems ) )
instance.OurTradeItems:SetText( table.concat( ourTradeItems ) )