Fixes garrisoning bug (units don't have to approach buildings in order to garrison)

This was SVN commit r9505.
This commit is contained in:
historic_bruno 2011-05-12 21:48:59 +00:00
parent ba66de2143
commit ff7cc75055

View File

@ -977,17 +977,7 @@ var UnitFsmSpec = {
},
"MoveCompleted": function() {
var cmpGarrisonHolder = Engine.QueryInterface(this.order.data.target, IID_GarrisonHolder);
if (cmpGarrisonHolder && cmpGarrisonHolder.Garrison(this.entity))
{
this.SetNextState("GARRISONED");
}
else
{
if (this.FinishOrder())
return;
}
this.SetNextState("GARRISONED");
},
"leave": function() {
@ -997,7 +987,16 @@ var UnitFsmSpec = {
"GARRISONED": {
"enter": function() {
this.isGarrisoned = true;
var cmpGarrisonHolder = Engine.QueryInterface(this.order.data.target, IID_GarrisonHolder);
if (cmpGarrisonHolder && cmpGarrisonHolder.Garrison(this.entity))
{
this.isGarrisoned = true;
}
else
{ // Garrisoning failed for some reason, so finish the order
if (this.FinishOrder())
return;
}
},
"Order.Ungarrison": function() {