diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 7bdce7d094..51dc090787 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1537,7 +1537,7 @@ public class Blocks implements ContentList{ shootSound = Sounds.laser; shootType = new LaserBulletType(140){{ - colors = new Color[]{Pal.lancerLaser.cpy().mul(1f, 1f, 1f, 0.4f), Pal.lancerLaser, Color.white}; + colors = new Color[]{Pal.lancerLaser.cpy().a(0.4f), Pal.lancerLaser, Color.white}; hitEffect = Fx.hitLancer; despawnEffect = Fx.none; hitSize = 4; diff --git a/core/src/mindustry/entities/bullet/BulletType.java b/core/src/mindustry/entities/bullet/BulletType.java index 2844cb22d1..f83ed10248 100644 --- a/core/src/mindustry/entities/bullet/BulletType.java +++ b/core/src/mindustry/entities/bullet/BulletType.java @@ -189,6 +189,7 @@ public abstract class BulletType extends Content{ } public void hit(Bullet b, float x, float y){ + b.hit = true; hitEffect.at(x, y, b.rotation(), hitColor); hitSound.at(x, y, hitSoundPitch, hitSoundVolume); @@ -245,7 +246,7 @@ public abstract class BulletType extends Content{ Effect.shake(despawnShake, despawnShake, b); - if(fragBullet != null || splashDamageRadius > 0 || lightning > 0){ + if(!b.hit && (fragBullet != null || splashDamageRadius > 0 || lightning > 0)){ hit(b); } } diff --git a/core/src/mindustry/entities/comp/BulletComp.java b/core/src/mindustry/entities/comp/BulletComp.java index a51a30dfd7..7f3d42d4e0 100644 --- a/core/src/mindustry/entities/comp/BulletComp.java +++ b/core/src/mindustry/entities/comp/BulletComp.java @@ -30,7 +30,7 @@ abstract class BulletComp implements Timedc, Damagec, Hitboxc, Teamc, Posc, Draw Object data; BulletType type; float fdata; - transient boolean absorbed; + transient boolean absorbed, hit; @Override public void getCollisions(Cons consumer){