Allow gathering regardless of resource owner
This was SVN commit r11478.
This commit is contained in:
parent
d3a24c26ba
commit
71a57ed3a7
@ -206,7 +206,7 @@ function getActionInfo(action, target)
|
|||||||
data.target = target;
|
data.target = target;
|
||||||
cursor = "action-garrison";
|
cursor = "action-garrison";
|
||||||
}
|
}
|
||||||
else if (targetState.resourceSupply && (playerOwned || gaiaOwned))
|
else if (targetState.resourceSupply)
|
||||||
{
|
{
|
||||||
var resourceType = targetState.resourceSupply.type.specific;
|
var resourceType = targetState.resourceSupply.type.specific;
|
||||||
if (targetState.resourceSupply.type.generic === "treasure")
|
if (targetState.resourceSupply.type.generic === "treasure")
|
||||||
@ -300,7 +300,7 @@ function getActionInfo(action, target)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "gather":
|
case "gather":
|
||||||
if (targetState.resourceSupply && (playerOwned || gaiaOwned))
|
if (targetState.resourceSupply)
|
||||||
{
|
{
|
||||||
var resource = findGatherType(entState.resourceGatherRates, targetState.resourceSupply);
|
var resource = findGatherType(entState.resourceGatherRates, targetState.resourceSupply);
|
||||||
if (resource)
|
if (resource)
|
||||||
|
@ -1868,12 +1868,11 @@ UnitAI.prototype.FindNearbyResource = function(filter)
|
|||||||
{
|
{
|
||||||
var range = 64; // TODO: what's a sensible number?
|
var range = 64; // TODO: what's a sensible number?
|
||||||
|
|
||||||
// Accept any resources owned by Gaia
|
var playerMan = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager);
|
||||||
|
// We accept resources owned by Gaia or any player
|
||||||
var players = [0];
|
var players = [0];
|
||||||
// Also accept resources owned by this unit's player:
|
for (var i = 1; i < playerMan.GetNumPlayers(); ++i)
|
||||||
var cmpOwnership = Engine.QueryInterface(this.entity, IID_Ownership);
|
players.push(i);
|
||||||
if (cmpOwnership)
|
|
||||||
players.push(cmpOwnership.GetOwner());
|
|
||||||
|
|
||||||
var cmpTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager);
|
var cmpTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager);
|
||||||
var cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager);
|
var cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager);
|
||||||
@ -2728,10 +2727,8 @@ UnitAI.prototype.CanGather = function(target)
|
|||||||
if (!cmpResourceGatherer.GetTargetGatherRate(target))
|
if (!cmpResourceGatherer.GetTargetGatherRate(target))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Verify that the target is owned by gaia or this entity's player
|
// No need to verify ownership as we should be able to gather from
|
||||||
var cmpOwnership = Engine.QueryInterface(this.entity, IID_Ownership);
|
// a target regardless of ownership.
|
||||||
if (!cmpOwnership || (!IsOwnedByGaia(target) && !IsOwnedByPlayer(cmpOwnership.GetOwner(), target)))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user