forked from 0ad/0ad
fix a flaw in UnitAI trade management
This was SVN commit r14868.
This commit is contained in:
parent
3dfa858229
commit
d5ff29d181
@ -2513,7 +2513,10 @@ var UnitFsmSpec = {
|
||||
|
||||
"MoveCompleted": function() {
|
||||
if (this.waypoints && this.waypoints.length)
|
||||
this.MoveToMarket(this.order.data.firstMarket);
|
||||
{
|
||||
if (!this.MoveToMarket(this.order.data.firstMarket))
|
||||
this.stopTrading();
|
||||
}
|
||||
else
|
||||
this.PerformTradeAndMoveToNextMarket(this.order.data.firstMarket, this.order.data.secondMarket, "APPROACHINGSECONDMARKET");
|
||||
},
|
||||
@ -2526,7 +2529,10 @@ var UnitFsmSpec = {
|
||||
|
||||
"MoveCompleted": function() {
|
||||
if (this.waypoints && this.waypoints.length)
|
||||
this.MoveToMarket(this.order.data.secondMarket);
|
||||
{
|
||||
if (!this.MoveToMarket(this.order.data.secondMarket))
|
||||
this.stopTrading();
|
||||
}
|
||||
else
|
||||
this.PerformTradeAndMoveToNextMarket(this.order.data.secondMarket, this.order.data.firstMarket, "APPROACHINGFIRSTMARKET");
|
||||
},
|
||||
@ -5064,13 +5070,6 @@ UnitAI.prototype.MoveToMarket = function(targetMarket)
|
||||
var ok = this.MoveToTarget(targetMarket);
|
||||
}
|
||||
|
||||
if (!ok)
|
||||
{
|
||||
// We can't reach the market. Give up.
|
||||
this.StopMoving();
|
||||
this.StopTrading();
|
||||
}
|
||||
|
||||
return ok;
|
||||
};
|
||||
|
||||
@ -5114,6 +5113,7 @@ UnitAI.prototype.PerformTradeAndMoveToNextMarket = function(currentMarket, nextM
|
||||
|
||||
UnitAI.prototype.StopTrading = function()
|
||||
{
|
||||
this.StopMoving();
|
||||
this.FinishOrder();
|
||||
var cmpTrader = Engine.QueryInterface(this.entity, IID_Trader);
|
||||
cmpTrader.StopTrading();
|
||||
|
Loading…
Reference in New Issue
Block a user