diff --git a/core/assets/maps/fungalPass.msav b/core/assets/maps/fungalPass.msav index fd685af2d6..a8ec35c1c4 100644 Binary files a/core/assets/maps/fungalPass.msav and b/core/assets/maps/fungalPass.msav differ diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 5945e50ed6..68169fcc50 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -3161,6 +3161,8 @@ public class UnitTypes{ rotationLimit = 70f; rotateSpeed = 2f; inaccuracy = 20f; + shootStatus = StatusEffects.slow; + alwaysShootWhenMoving = true; rotate = true; diff --git a/core/src/mindustry/entities/bullet/BulletType.java b/core/src/mindustry/entities/bullet/BulletType.java index 4846be98f0..a0fddc0772 100644 --- a/core/src/mindustry/entities/bullet/BulletType.java +++ b/core/src/mindustry/entities/bullet/BulletType.java @@ -314,6 +314,10 @@ public class BulletType extends Content implements Cloneable{ /** @return estimated damage per shot. this can be very inaccurate. */ public float estimateDPS(){ + if(spawnUnit != null){ + return spawnUnit.estimateDps(); + } + float sum = damage + splashDamage*0.75f; if(fragBullet != null && fragBullet != this){ sum += fragBullet.estimateDPS() * fragBullets / 2f; diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index 85e0f3f4ef..7c035caab0 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -828,6 +828,13 @@ public class UnitType extends UnlockableContent{ ammoCapacity = Math.max(1, (int)(shotsPerSecond * targetSeconds)); } + estimateDps(); + + //only do this after everything else was initialized + sample = constructor.get(); + } + + public float estimateDps(){ //calculate estimated DPS for one target based on weapons if(dpsEstimate < 0){ dpsEstimate = weapons.sumf(Weapon::dps); @@ -838,9 +845,8 @@ public class UnitType extends UnlockableContent{ dpsEstimate /= 25f; } } - - //only do this after everything else was initialized - sample = constructor.get(); + + return dpsEstimate; } @CallSuper