diff --git a/core/src/mindustry/entities/bullet/BulletType.java b/core/src/mindustry/entities/bullet/BulletType.java index ee7278fa6a..0a6e6c38e7 100644 --- a/core/src/mindustry/entities/bullet/BulletType.java +++ b/core/src/mindustry/entities/bullet/BulletType.java @@ -25,6 +25,7 @@ public abstract class BulletType extends Content{ public float drawSize = 40f; public float drag = 0f; public boolean pierce, pierceBuilding; + public int pierceCap = -1; public Effect hitEffect, despawnEffect; /** Effect created when shooting. */ @@ -235,6 +236,11 @@ public abstract class BulletType extends Content{ } public void init(Bullet b){ + if(pierceCap >= 1) { + pierce = true; + pierceBuilding = true; + } + if(killShooter && b.owner() instanceof Healthc){ ((Healthc)b.owner()).kill(); } diff --git a/core/src/mindustry/entities/comp/BulletComp.java b/core/src/mindustry/entities/comp/BulletComp.java index ac831ef507..4deb7cc9dc 100644 --- a/core/src/mindustry/entities/comp/BulletComp.java +++ b/core/src/mindustry/entities/comp/BulletComp.java @@ -144,6 +144,10 @@ abstract class BulletComp implements Timedc, Damagec, Hitboxc, Teamc, Posc, Draw return false; }); } + + if(type.pierceCap != -1 && collided.size >= type.pierceCap) { + remove(); + } } @Override