From 360f3db2ed3fa07348a550be166ee59959ebcc0d Mon Sep 17 00:00:00 2001 From: Cheese Date: Wed, 25 Nov 2015 17:48:32 +1100 Subject: [PATCH] fixed grenade vertical rebound bug --- .../games/minestrike/items/grenades/Grenade.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/grenades/Grenade.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/grenades/Grenade.java index b33d48b03..47b1f818c 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/grenades/Grenade.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/grenades/Grenade.java @@ -177,6 +177,11 @@ public abstract class Grenade extends StrikeItem if (UtilEnt.isGrounded(ent) || ent.getVelocity().length() < 0.1 || ent.getTicksLived() < 4) return; + if (Math.abs(_vel.getX()) < 0.1 && Math.abs(_vel.getX()) < 0.1) + { + return; + } + /* * What we must do here, is record the velocity every tick. * Then when it collides, we get the velocity from a few ticks before and apply it, reversing the direction of collision. @@ -184,8 +189,8 @@ public abstract class Grenade extends StrikeItem */ //X Rebound - if ((_vel.getX() > 0.05 && ent.getLocation().getX() - _lastLoc.getX() <= 0) || - (_vel.getX() < 0.05 && ent.getLocation().getX() - _lastLoc.getX() >= 0)) + if ((_vel.getX() > 0.1 && ent.getLocation().getX() - _lastLoc.getX() <= 0) || + (_vel.getX() < 0.1 && ent.getLocation().getX() - _lastLoc.getX() >= 0)) { _vel = _velHistory.get(0); _vel.setX(-_vel.getX()); @@ -197,8 +202,8 @@ public abstract class Grenade extends StrikeItem } //Z Rebound - else if ((_vel.getZ() > 0.05 && ent.getLocation().getZ() - _lastLoc.getZ() <= 0) || - (_vel.getZ() < 0.05 && ent.getLocation().getZ() - _lastLoc.getZ() >= 0)) + else if ((_vel.getZ() > 0.1 && ent.getLocation().getZ() - _lastLoc.getZ() <= 0) || + (_vel.getZ() < 0.1 && ent.getLocation().getZ() - _lastLoc.getZ() >= 0)) { _vel = _velHistory.get(0); _vel.setZ(-_vel.getZ());