forked from 0ad/0ad
Gaia control improvements.
Don't throw errors when finishing a gaia foundation. Allow cheats for gaia. This was SVN commit r18552.
This commit is contained in:
parent
c652e0942a
commit
a3da37ffd3
@ -49,7 +49,8 @@ Trigger.prototype.ConquestAddStructure = function(msg)
|
||||
let player = cmpOwnership.GetOwner();
|
||||
if (!this.conquestEntitiesByPlayer[player])
|
||||
{
|
||||
warn("ConquestAddStructure: Unknown player " + player);
|
||||
if (player != 0)
|
||||
warn("ConquestAddStructure: Unknown player " + player);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -331,10 +331,11 @@ Foundation.prototype.Build = function(builderEnt, work)
|
||||
cmpBuildingObstruction.SetControlGroup2(cmpObstruction.GetControlGroup2());
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
|
||||
var cmpPlayerStatisticsTracker = QueryOwnerInterface(this.entity, IID_StatisticsTracker);
|
||||
cmpPlayerStatisticsTracker.IncreaseConstructedBuildingsCounter(building);
|
||||
|
||||
if (cmpPlayerStatisticsTracker)
|
||||
cmpPlayerStatisticsTracker.IncreaseConstructedBuildingsCounter(building);
|
||||
|
||||
var cmpHealth = Engine.QueryInterface(this.entity, IID_Health);
|
||||
var cmpBuildingHealth = Engine.QueryInterface(building, IID_Health);
|
||||
cmpBuildingHealth.SetHitpoints(cmpHealth.GetHitpoints());
|
||||
|
@ -1016,7 +1016,7 @@ function TryConstructBuilding(player, cmpPlayer, controlAllUnits, cmd)
|
||||
|
||||
// Check entity limits
|
||||
var cmpEntityLimits = QueryPlayerIDInterface(player, IID_EntityLimits);
|
||||
if (!cmpEntityLimits || !cmpEntityLimits.AllowedToBuild(cmpBuildRestrictions.GetCategory()))
|
||||
if (cmpEntityLimits && !cmpEntityLimits.AllowedToBuild(cmpBuildRestrictions.GetCategory()))
|
||||
{
|
||||
if (g_DebugCommands)
|
||||
warn("Invalid command: build limits check failed for player "+player+": "+uneval(cmd));
|
||||
@ -1028,8 +1028,7 @@ function TryConstructBuilding(player, cmpPlayer, controlAllUnits, cmd)
|
||||
}
|
||||
|
||||
var cmpTechnologyManager = QueryPlayerIDInterface(player, IID_TechnologyManager);
|
||||
|
||||
if (!cmpTechnologyManager.CanProduce(cmd.template))
|
||||
if (cmpTechnologyManager && !cmpTechnologyManager.CanProduce(cmd.template))
|
||||
{
|
||||
if (g_DebugCommands)
|
||||
warn("Invalid command: required technology check failed for player "+player+": "+uneval(cmd));
|
||||
|
@ -45,7 +45,7 @@ function InitGame(settings)
|
||||
// Sandbox, Very Easy, Easy, Medium, Hard, Very Hard
|
||||
let rate = [ 0.50, 0.64, 0.80, 1.00, 1.25, 1.56 ];
|
||||
let cmpAIManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_AIManager);
|
||||
for (let i = 1; i < settings.PlayerData.length; ++i)
|
||||
for (let i = 0; i < settings.PlayerData.length; ++i)
|
||||
{
|
||||
let cmpPlayer = QueryPlayerIDInterface(i);
|
||||
cmpPlayer.SetCheatsEnabled(!!settings.CheatsEnabled);
|
||||
|
Loading…
Reference in New Issue
Block a user