forked from mirrors/0ad
Enable technologies on captured buildings. Allow a negation on the civ selection in the technology json files. Patch by fatherbushido
This was SVN commit r18021.
This commit is contained in:
@@ -152,7 +152,7 @@ ProductionQueue.prototype.GetTechnologiesList = function()
|
||||
|
||||
var cmpPlayer = QueryOwnerInterface(this.entity);
|
||||
var cmpIdentity = Engine.QueryInterface(this.entity, IID_Identity);
|
||||
if (!cmpPlayer || !cmpIdentity || cmpPlayer.GetCiv() != cmpIdentity.GetCiv())
|
||||
if (!cmpPlayer || !cmpIdentity)
|
||||
return [];
|
||||
|
||||
var techs = string.split(/\s+/);
|
||||
|
||||
@@ -170,14 +170,22 @@ TechnologyManager.prototype.CheckTechnologyRequirements = function(reqs)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (reqs.civ)
|
||||
else if (reqs.civ)
|
||||
{
|
||||
var cmpPlayer = Engine.QueryInterface(this.entity, IID_Player);
|
||||
if (cmpPlayer && cmpPlayer.GetCiv() == reqs.civ)
|
||||
if (cmpPlayer && cmpPlayer.GetCiv() == reqs.civ)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else if (reqs.notciv)
|
||||
{
|
||||
var cmpPlayer = Engine.QueryInterface(this.entity, IID_Player);
|
||||
if (cmpPlayer && cmpPlayer.GetCiv() == reqs.notciv)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
// The technologies requirements are not a recognised format
|
||||
error("Bad requirements " + uneval(reqs));
|
||||
|
||||
Reference in New Issue
Block a user