Skip to content

Commit

Permalink
Fixed unit payload pickup/drop spam
Browse files Browse the repository at this point in the history
  • Loading branch information
Anuken committed Sep 27, 2024
1 parent cfbbee8 commit 575965e
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions core/src/mindustry/ai/types/CommandAI.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public class CommandAI extends AIController{
protected Vec2 lastTargetPos;
protected boolean blockingUnit;
protected float timeSpentBlocked;
protected float payloadPickupCooldown;
protected int transferState = transferStateNone;

/** Stance, usually related to firing mode. */
Expand Down Expand Up @@ -125,6 +126,8 @@ void tryPickupUnit(Payloadc pay){
public void defaultBehavior(){

if(!net.client() && unit instanceof Payloadc pay){
payloadPickupCooldown -= Time.delta;

//auto-drop everything
if(command == UnitCommand.unloadPayloadCommand && pay.hasPayload()){
Call.payloadDropped(unit, unit.x, unit.y);
Expand Down Expand Up @@ -350,6 +353,8 @@ void finishPath(){
transferState = pay.hasPayload() ? transferStateUnload : transferStateLoad;
}

if(payloadPickupCooldown > 0f) return;

if(transferState == transferStateUnload){
//drop until there's a failure
int prev = -1;
Expand All @@ -362,6 +367,7 @@ void finishPath(){
if(pay.hasPayload()){
return;
}
payloadPickupCooldown = 60f;
}else if(transferState == transferStateLoad){
//pick up units until there's a failure
int prev = -1;
Expand All @@ -374,6 +380,7 @@ void finishPath(){
if(!pay.hasPayload()){
return;
}
payloadPickupCooldown = 60f;
}

//it will never finish
Expand Down

0 comments on commit 575965e

Please sign in to comment.