Flare AI changed

This commit is contained in:
Anuken
2025-11-15 23:04:08 -05:00
parent cc693f97b6
commit ed860e8395
10 changed files with 58 additions and 21 deletions

View File

@@ -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();
}
}
}

View File

@@ -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);

View File

@@ -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);
}