Prevent trade with foundations, based on patch by Spahbod, fixes #1215.
This was SVN commit r11440.
This commit is contained in:
parent
a5076c1eb1
commit
7ff99cc218
@ -269,12 +269,14 @@ function getActionInfo(action, target)
|
||||
break;
|
||||
case "setup-trade-route":
|
||||
// If ground or sea trade possible
|
||||
if ((entState.trader && hasClass(entState, "Organic") && (playerOwned || allyOwned) && hasClass(targetState, "Market")) ||
|
||||
(entState.trader && hasClass(entState, "Ship") && (playerOwned || allyOwned) && hasClass(targetState, "NavalMarket")))
|
||||
if (!targetState.foundation && ((entState.trader && hasClass(entState, "Organic") && (playerOwned || allyOwned) && hasClass(targetState, "Market")) ||
|
||||
(entState.trader && hasClass(entState, "Ship") && (playerOwned || allyOwned) && hasClass(targetState, "NavalMarket"))))
|
||||
{
|
||||
var tradingData = {"trader": entState.id, "target": target};
|
||||
var tradingDetails = Engine.GuiInterfaceCall("GetTradingDetails", tradingData);
|
||||
var tooltip;
|
||||
if (tradingDetails === null)
|
||||
return {"possible": false};
|
||||
switch (tradingDetails.type)
|
||||
{
|
||||
case "is first":
|
||||
|
@ -166,6 +166,10 @@ Trader.prototype.CanTrade = function(target)
|
||||
// Check that the target exists
|
||||
if (!cmpTargetIdentity)
|
||||
return false;
|
||||
// Check that the target is not a foundation
|
||||
var cmpTargetFoundation = Engine.QueryInterface(target, IID_Foundation);
|
||||
if (cmpTargetFoundation)
|
||||
return false;
|
||||
var landTradingPossible = cmpTraderIdentity.HasClass("Organic") && cmpTargetIdentity.HasClass("Market");
|
||||
var seaTradingPossible = cmpTraderIdentity.HasClass("Ship") && cmpTargetIdentity.HasClass("NavalMarket");
|
||||
if (!landTradingPossible && !seaTradingPossible)
|
||||
|
Loading…
Reference in New Issue
Block a user