From 4f683cac8bca7d1cebe3354f1c5f5d71431e0198 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 20 Dec 2020 09:47:45 -0500 Subject: [PATCH] Fixed #4054 --- core/src/mindustry/entities/Damage.java | 4 +++- core/src/mindustry/entities/bullet/RailBulletType.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/entities/Damage.java b/core/src/mindustry/entities/Damage.java index d630c9fa37..9ddca6e986 100644 --- a/core/src/mindustry/entities/Damage.java +++ b/core/src/mindustry/entities/Damage.java @@ -126,6 +126,8 @@ public class Damage{ boolean collide = tile != null && collidedBlocks.add(tile.pos()); if(hitter.damage > 0){ + float health = !collide ? 0 : tile.health; + if(collide && tile.team != team && tile.collide(hitter)){ tile.collision(hitter); hitter.type.hit(hitter, tile.x, tile.y); @@ -133,7 +135,7 @@ public class Damage{ //try to heal the tile if(collide && hitter.type.testCollision(hitter, tile)){ - hitter.type.hitTile(hitter, tile, tile.health, false); + hitter.type.hitTile(hitter, tile, health, false); } } }; diff --git a/core/src/mindustry/entities/bullet/RailBulletType.java b/core/src/mindustry/entities/bullet/RailBulletType.java index dfc6f8d0ae..1e62d7bc01 100644 --- a/core/src/mindustry/entities/bullet/RailBulletType.java +++ b/core/src/mindustry/entities/bullet/RailBulletType.java @@ -37,7 +37,7 @@ public class RailBulletType extends BulletType{ } void handle(Bullet b, Posc pos, float initialHealth){ - float sub = initialHealth*pierceDamageFactor; + float sub = Math.max(initialHealth*pierceDamageFactor, 0); if(b.damage <= 0){ b.fdata = Math.min(b.fdata, b.dst(pos));