forked from 0ad/0ad
Fixes garrisoning bug (units don't have to approach buildings in order to garrison)
This was SVN commit r9505.
This commit is contained in:
parent
ba66de2143
commit
ff7cc75055
@ -977,17 +977,7 @@ var UnitFsmSpec = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
"MoveCompleted": function() {
|
"MoveCompleted": function() {
|
||||||
var cmpGarrisonHolder = Engine.QueryInterface(this.order.data.target, IID_GarrisonHolder);
|
this.SetNextState("GARRISONED");
|
||||||
if (cmpGarrisonHolder && cmpGarrisonHolder.Garrison(this.entity))
|
|
||||||
{
|
|
||||||
this.SetNextState("GARRISONED");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (this.FinishOrder())
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"leave": function() {
|
"leave": function() {
|
||||||
@ -997,7 +987,16 @@ var UnitFsmSpec = {
|
|||||||
|
|
||||||
"GARRISONED": {
|
"GARRISONED": {
|
||||||
"enter": function() {
|
"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() {
|
"Order.Ungarrison": function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user