diff --git a/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java index d918c88ce3..817d44b16f 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java @@ -19,7 +19,7 @@ import mindustry.world.meta.*; import static mindustry.Vars.*; public class ItemTurret extends Turret{ - public ObjectMap ammoTypes = new ObjectMap<>(); + public ObjectMap ammoTypes = new OrderedMap<>(); public ItemTurret(String name){ super(name); @@ -82,6 +82,17 @@ public class ItemTurret extends Turret{ } public class ItemTurretBuild extends TurretBuild{ + + @Override + public void onProximityAdded(){ + super.onProximityAdded(); + + //add first ammo item to cheaty blocks so they can shoot properly + if(!hasAmmo() && cheating() && ammoTypes.size > 0){ + handleItem(this, ammoTypes.keys().next()); + } + } + @Override public void updateTile(){ unit.ammo((float)unit.type().ammoCapacity * totalAmmo / maxAmmo); diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index f0e2f58648..ff6b1659fd 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -500,8 +500,8 @@ public class Turret extends ReloadTurret{ if(ammo.size >= 2 && ammo.peek().amount < ammoPerShot && ammo.get(ammo.size - 2).amount >= ammoPerShot){ ammo.swap(ammo.size - 1, ammo.size - 2); } - - return ammo.size > 0 && ammo.peek().amount >= ammoPerShot || cheating(); + + return ammo.size > 0 && (ammo.peek().amount >= ammoPerShot || cheating()); } public boolean charging(){