forked from 0ad/0ad
fix b17ffaeb7e
+ fixes from FalseVision on setHeldPosition
This was SVN commit r15371.
This commit is contained in:
parent
74e5c8ae26
commit
bec1e1edfd
@ -1479,7 +1479,7 @@ m.HQ.prototype.trainEmergencyUnits = function(gameState, positions)
|
|||||||
continue;
|
continue;
|
||||||
if (!total.canAfford(new API3.Resources(template.cost())))
|
if (!total.canAfford(new API3.Resources(template.cost())))
|
||||||
continue;
|
continue;
|
||||||
templateFound = [trainable, template];
|
templateAnchor = [trainable, template];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1487,7 +1487,7 @@ m.HQ.prototype.trainEmergencyUnits = function(gameState, positions)
|
|||||||
// and if not, take some of ther accounted resources
|
// and if not, take some of ther accounted resources
|
||||||
// TODO substract only what is needed instead of reset
|
// TODO substract only what is needed instead of reset
|
||||||
// TODO sort the queues
|
// TODO sort the queues
|
||||||
var cost = new API3.Resources(templateFound[1].cost());
|
var cost = new API3.Resources(templateAnchor[1].cost());
|
||||||
if (!available.canAfford(cost))
|
if (!available.canAfford(cost))
|
||||||
{
|
{
|
||||||
for (var p in gameState.ai.queueManager.queues)
|
for (var p in gameState.ai.queueManager.queues)
|
||||||
@ -1504,7 +1504,7 @@ m.HQ.prototype.trainEmergencyUnits = function(gameState, positions)
|
|||||||
var metadata = { "role": "worker", "base": nearestAnchor.getMetadata(PlayerID, "base"), "trainer": nearestAnchor.id() };
|
var metadata = { "role": "worker", "base": nearestAnchor.getMetadata(PlayerID, "base"), "trainer": nearestAnchor.id() };
|
||||||
if (autogarrison)
|
if (autogarrison)
|
||||||
metadata.garrisonType = "protection";
|
metadata.garrisonType = "protection";
|
||||||
gameState.ai.queues.emergency.addItem(new m.TrainingPlan(gameState, templateFound[0], metadata, 1, 1));
|
gameState.ai.queues.emergency.addItem(new m.TrainingPlan(gameState, templateAnchor[0], metadata, 1, 1));
|
||||||
};
|
};
|
||||||
|
|
||||||
m.HQ.prototype.canBuild = function(gameState, structure)
|
m.HQ.prototype.canBuild = function(gameState, structure)
|
||||||
|
@ -158,7 +158,8 @@ Pack.prototype.PackProgress = function(data, lateness)
|
|||||||
var cmpNewUnitAI = Engine.QueryInterface(newEntity, IID_UnitAI);
|
var cmpNewUnitAI = Engine.QueryInterface(newEntity, IID_UnitAI);
|
||||||
if (cmpUnitAI && cmpNewUnitAI)
|
if (cmpUnitAI && cmpNewUnitAI)
|
||||||
{
|
{
|
||||||
cmpNewUnitAI.SetHeldPosition(cmpUnitAI.GetHeldPosition());
|
var pos = cmpUnitAI.GetHeldPosition();
|
||||||
|
cmpNewUnitAI.SetHeldPosition(pos.x, pos.z);
|
||||||
if (cmpUnitAI.GetStanceName())
|
if (cmpUnitAI.GetStanceName())
|
||||||
cmpNewUnitAI.SwitchToStance(cmpUnitAI.GetStanceName());
|
cmpNewUnitAI.SwitchToStance(cmpUnitAI.GetStanceName());
|
||||||
cmpNewUnitAI.AddOrders(cmpUnitAI.GetOrders());
|
cmpNewUnitAI.AddOrders(cmpUnitAI.GetOrders());
|
||||||
|
@ -72,7 +72,8 @@ Promotion.prototype.Promote = function(promotedTemplateName)
|
|||||||
|
|
||||||
var cmpCurrentUnitAI = Engine.QueryInterface(this.entity, IID_UnitAI);
|
var cmpCurrentUnitAI = Engine.QueryInterface(this.entity, IID_UnitAI);
|
||||||
var cmpPromotedUnitAI = Engine.QueryInterface(promotedUnitEntity, IID_UnitAI);
|
var cmpPromotedUnitAI = Engine.QueryInterface(promotedUnitEntity, IID_UnitAI);
|
||||||
cmpPromotedUnitAI.SetHeldPosition(cmpCurrentUnitAI.GetHeldPosition());
|
var pos = cmpCurrentUnitAI.GetHeldPosition();
|
||||||
|
cmpPromotedUnitAI.SetHeldPosition(pos.x, pos.z);
|
||||||
if (cmpCurrentUnitAI.GetStanceName())
|
if (cmpCurrentUnitAI.GetStanceName())
|
||||||
cmpPromotedUnitAI.SwitchToStance(cmpCurrentUnitAI.GetStanceName());
|
cmpPromotedUnitAI.SwitchToStance(cmpCurrentUnitAI.GetStanceName());
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user