Flare AI changed
This commit is contained in:
@@ -270,7 +270,6 @@ public class CommandAI extends AIController{
|
||||
|
||||
Building targetBuild = world.buildWorld(targetPos.x, targetPos.y);
|
||||
|
||||
|
||||
//TODO: should the unit stop when it finds a target?
|
||||
if(
|
||||
(hasStance(UnitStance.patrol) && !hasStance(UnitStance.pursueTarget) && target != null && unit.within(target, unit.type.range - 2f) && !unit.type.circleTarget) ||
|
||||
@@ -347,7 +346,7 @@ public class CommandAI extends AIController{
|
||||
if(move){
|
||||
if(unit.type.circleTarget && attackTarget != null){
|
||||
target = attackTarget;
|
||||
circleAttack(80f);
|
||||
circleAttack(unit.type.circleTargetRadius);
|
||||
}else{
|
||||
moveTo(vecOut,
|
||||
withinAttackRange ? engageRange :
|
||||
@@ -362,7 +361,7 @@ public class CommandAI extends AIController{
|
||||
attackTarget = null;
|
||||
}
|
||||
|
||||
if(unit.isFlying() && move && (attackTarget == null || !unit.within(attackTarget, unit.type.range))){
|
||||
if(unit.isFlying() && move && !(unit.type.circleTarget && !unit.type.omniMovement) && (attackTarget == null || !unit.within(attackTarget, unit.type.range))){
|
||||
unit.lookAt(vecMovePos);
|
||||
}else{
|
||||
faceTarget();
|
||||
@@ -379,7 +378,11 @@ public class CommandAI extends AIController{
|
||||
}
|
||||
|
||||
}else if(target != null){
|
||||
faceTarget();
|
||||
if(unit.type.circleTarget && shouldFire()){
|
||||
circleAttack(unit.type.circleTargetRadius);
|
||||
}else{
|
||||
faceTarget();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ public class FlyingAI extends AIController{
|
||||
|
||||
if(target != null && unit.hasWeapons()){
|
||||
if(unit.type.circleTarget){
|
||||
circleAttack(120f);
|
||||
circleAttack(unit.type.circleTargetRadius);
|
||||
}else{
|
||||
moveTo(target, unit.type.range * 0.8f);
|
||||
unit.lookAt(target);
|
||||
|
||||
@@ -30,7 +30,7 @@ public class RepairAI extends AIController{
|
||||
|
||||
if(target != null && target instanceof Building b && b.team == unit.team){
|
||||
if(unit.type.circleTarget){
|
||||
circleAttack(120f);
|
||||
circleAttack(unit.type.circleTargetRadius);
|
||||
}else if(!target.within(unit, unit.type.range * 0.65f)){
|
||||
moveTo(target, unit.type.range * 0.65f);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user