From 466118319f2c092b13e6ea4aaa01f368f8c9c13c Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 22 Aug 2021 00:35:40 -0400 Subject: [PATCH] Fixed naval units with canBoost = true --- core/src/mindustry/entities/comp/WaterMoveComp.java | 10 +++++++++- gradle.properties | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/entities/comp/WaterMoveComp.java b/core/src/mindustry/entities/comp/WaterMoveComp.java index 36364b2168..06434ccecb 100644 --- a/core/src/mindustry/entities/comp/WaterMoveComp.java +++ b/core/src/mindustry/entities/comp/WaterMoveComp.java @@ -27,13 +27,14 @@ abstract class WaterMoveComp implements Posc, Velc, Hitboxc, Flyingc, Unitc{ @Override public void update(){ + boolean flying = isFlying(); for(int i = 0; i < 2; i++){ Trail t = i == 0 ? tleft : tright; t.length = type.trailLength; int sign = i == 0 ? -1 : 1; float cx = Angles.trnsx(rotation - 90, type.trailX * sign, type.trailY) + x, cy = Angles.trnsy(rotation - 90, type.trailX * sign, type.trailY) + y; - t.update(cx, cy, world.floorWorld(cx, cy).isLiquid ? 1 : 0); + t.update(cx, cy, world.floorWorld(cx, cy).isLiquid && !flying ? 1 : 0); } } @@ -71,6 +72,13 @@ abstract class WaterMoveComp implements Posc, Velc, Hitboxc, Flyingc, Unitc{ return isFlying() ? null : EntityCollisions::waterSolid; } + @Replace + @Override + public boolean onSolid(){ + Tile tile = tileOn(); + return tile == null || tile.solid() || EntityCollisions.waterSolid(tile.x, tile.y); + } + @Replace public float floorSpeedMultiplier(){ Floor on = isFlying() ? Blocks.air.asFloor() : floorOn(); diff --git a/gradle.properties b/gradle.properties index 5bd4e7119e..7d294adaf4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,4 +11,4 @@ android.useAndroidX=true #used for slow jitpack builds; TODO see if this actually works http.socketTimeout=80000 http.connectionTimeout=80000 -archash=4410a18d881622cb655c9d48e4cb0ff2ec40782f +archash=f9d704c4e88dfc9772e1e956268cfe8414f7b133