1
0
forked from 0ad/0ad

revert having giving the attack state to formation controllers as it caused too much trouble

This was SVN commit r14624.
This commit is contained in:
sanderd17 2014-01-19 18:03:43 +00:00
parent 72ad5467e8
commit 7763a22c08

View File

@ -793,22 +793,22 @@ var UnitFsmSpec = {
},
"Order.Attack": function(msg) {
var target = msg.data.target;
// Check if we are already in range, otherwise walk there
if (!this.CheckTargetAttackRange(msg.data.target, msg.data.target))
if (!this.CheckTargetAttackRange(target, target))
{
if (this.TargetIsAlive(msg.data.target) &&
this.CheckTargetVisible(msg.data.target) &&
this.MoveToTargetAttackRange(msg.data.target, msg.data.target))
if (this.TargetIsAlive(target) && this.CheckTargetVisible(target))
{
this.SetNextState("COMBAT.APPROACHING");
var cmpAttack = Engine.QueryInterface(this.entity, IID_Attack);
var range = cmpAttack.GetRange(target);
this.PushOrderFront("WalkToTargetRange", { "target": target, "min": range.min, "max": range.max });
return;
}
this.FinishOrder();
return;
}
this.SetNextState("COMBAT.ATTACKING");
this.CallMemberFunction("Attack", [target, false]);
this.SetNextState("MEMBER");
},
"Order.Garrison": function(msg) {
@ -983,29 +983,6 @@ var UnitFsmSpec = {
},
},
"COMBAT": {
"APPROACHING": {
"MoveStarted": function(msg) {
var cmpFormation = Engine.QueryInterface(this.entity, IID_Formation);
cmpFormation.SetRearrange(true);
cmpFormation.MoveMembersIntoFormation(true, true);
},
"MoveCompleted": function(msg) {
this.SetNextState("ATTACKING");
},
},
"ATTACKING": {
"enter": function(msg) {
this.CallMemberFunction("Attack", [this.order.data.target, false]);
var cmpFormation = Engine.QueryInterface(this.entity, IID_Formation);
cmpFormation.SetRearrange(false);
this.SetNextState("MEMBER");
},
},
},
"WALKINGANDFIGHTING": {
"enter": function(msg) {
this.StartTimer(0, 1000);