Prevent naval gatherers from trying to reach land drop sites.

This was SVN commit r12663.
This commit is contained in:
Deiz 2012-09-11 21:03:08 +00:00
parent 7ff34fedc4
commit 958fce0438
2 changed files with 11 additions and 1 deletions

View File

@ -2421,8 +2421,18 @@ UnitAI.prototype.FindNearestDropsite = function(genericType)
if (cmpOwnership)
players.push(cmpOwnership.GetOwner());
// Ships are unable to reach land dropsites and shouldn't attempt to do so.
var excludeLand = Engine.QueryInterface(this.entity, IID_Identity).HasClass("Ship");
var rangeMan = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager);
var nearby = rangeMan.ExecuteQuery(this.entity, 0, -1, players, IID_ResourceDropsite);
if (excludeLand)
{
nearby = nearby.filter( function(e) {
return Engine.QueryInterface(e, IID_Identity).HasClass("Naval");
});
}
for each (var ent in nearby)
{
var cmpDropsite = Engine.QueryInterface(ent, IID_ResourceDropsite);

View File

@ -32,7 +32,7 @@
<Identity>
<GenericName>Dock</GenericName>
<Tooltip>Build upon a shoreline to construct naval vessels and to open sea trade.</Tooltip>
<Classes datatype="tokens">Village Market NavalMarket</Classes>
<Classes datatype="tokens">Village Naval Market NavalMarket</Classes>
<Icon>structures/dock.png</Icon>
</Identity>
<Loot>