Mega repair AI

This commit is contained in:
Anuken
2020-09-15 10:39:45 -04:00
parent 757e0fbda0
commit 1327a2bef4
7 changed files with 46 additions and 20 deletions

View File

@@ -12,14 +12,6 @@ public class FlyingAI extends AIController{
@Override
public void updateMovement(){
if(unit.moving()){
unit.lookAt(unit.vel.angle());
}
if(unit.isFlying()){
unit.wobble();
}
if(target != null && unit.hasWeapons() && command() == UnitCommand.attack){
if(unit.type().weapons.first().rotate){
moveTo(target, unit.range() * 0.8f);

View File

@@ -15,14 +15,6 @@ public class MinerAI extends AIController{
@Override
protected void updateMovement(){
if(unit.moving()){
unit.lookAt(unit.vel.angle());
}
if(unit.isFlying()){
unit.wobble();
}
Building core = unit.closestCore();
if(!(unit instanceof Minerc) || core == null) return;

View File

@@ -0,0 +1,32 @@
package mindustry.ai.types;
import mindustry.entities.*;
import mindustry.entities.units.*;
import mindustry.world.blocks.ConstructBlock.*;
//note that repair AI doesn't attack anything even if it theoretically can
public class RepairAI extends AIController{
@Override
protected void updateMovement(){
boolean shoot = false;
if(target != null){
if(!target.within(unit, unit.type().range)){
moveTo(target, unit.type().range * 0.9f);
}else{
unit.aim(target);
shoot = true;
}
}
unit.controlWeapons(shoot);
}
@Override
protected void updateTargeting(){
target = Units.findDamagedTile(unit.team, unit.x, unit.y);
if(target instanceof ConstructBuild) target = null;
}
}