diff --git a/core/src/mindustry/entities/units/AIController.java b/core/src/mindustry/entities/units/AIController.java index 52f0833acb..a1fffb3548 100644 --- a/core/src/mindustry/entities/units/AIController.java +++ b/core/src/mindustry/entities/units/AIController.java @@ -379,7 +379,12 @@ public class AIController implements UnitController{ if(arrive){ Tmp.v3.set(-unit.vel.x / unit.type.accel * 2f, -unit.vel.y / unit.type.accel * 2f).add((target.getX() - unit.x), (target.getY() - unit.y)); - vec.add(Tmp.v3).limit(speed * length); + if(unit.type.omniMovement){ + vec.add(Tmp.v3).limit(speed * length); + }else{ + //directly move the unit to prevent a backwards movement vector from messing things up + unit.moveAt(Tmp.v3.limit(speed * length)); + } } if(length < -0.5f){ diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index 9a5b9d154f..9b09bc9a8d 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -1357,7 +1357,7 @@ public class UnitType extends UnlockableContent implements Senseable{ if(stacks != null){ ItemStack[] out = new ItemStack[stacks.length]; for(int i = 0; i < out.length; i++){ - out[i] = new ItemStack(stacks[i].item, UI.roundAmount((int)(Math.pow(stacks[i].amount, 1.1) * researchCostMultiplier))); + out[i] = new ItemStack(stacks[i].item, UI.roundAmount((int)(stacks[i].amount * researchCostMultiplier))); } //remove zero-requirements for automatic unlocks diff --git a/gradle.properties b/gradle.properties index 56a6e5090e..b368b24836 100644 --- a/gradle.properties +++ b/gradle.properties @@ -26,4 +26,4 @@ org.gradle.caching=true org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 android.enableR8.fullMode=false -archash=01973bdfd5 +archash=65d654d634