Jelajahi Sumber

two deflect bugs down

nossr50 4 tahun lalu
induk
melakukan
e4c5a3b8ee

+ 4 - 1
Changelog.txt

@@ -1,11 +1,14 @@
 Version 2.1.144
+    Fixed a bug where Deflect worked against non-arrow projectiles
+    Fixed a bug where Deflect was checked twice, resulting in two chances to deflect effectively
     Fixed a bug where Roll wouldn't award XP when fall height was over a certain amount
     Lowered the XP ceiling of Roll
     Fixed a NPE that would happen involving taming in combat processing
     Updated hu_HU locale (thanks andris155)
     mmodebug mode now prints some information when fuel efficiency is applied to a furnace
 
-
+    NOTES:
+    I seem to consistently find old bugs in mcMMO, this deflect bug where it was checked twice, who knows how many years its been in mcMMO, I didn't check but its probably between 5-7.
 
 Version 2.1.143
     mcMMO now tracks super ability boosted items through persistent metadata

+ 1 - 1
src/main/java/com/gmail/nossr50/listeners/EntityListener.java

@@ -388,7 +388,7 @@ public class EntityListener implements Listener {
                         UnarmedManager unarmedManager = mcMMOPlayer.getUnarmedManager();
 
                         if (unarmedManager.canDeflect()) {
-                            if (unarmedManager.deflectCheck()) {
+                            if (projectile instanceof Arrow && unarmedManager.deflectCheck()) {
                                 event.setCancelled(true);
                                 return;
                             }

+ 0 - 12
src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java

@@ -256,18 +256,6 @@ public final class CombatUtils {
         
         double finalDamage = event.getDamage();
 
-        if (target instanceof Player && PrimarySkillType.UNARMED.getPVPEnabled()) {
-            UnarmedManager unarmedManager = UserManager.getPlayer((Player) target).getUnarmedManager();
-
-            if (unarmedManager.canDeflect()) {
-                event.setCancelled(unarmedManager.deflectCheck());
-
-                if (event.isCancelled()) {
-                    return;
-                }
-            }
-        }
-
         if (archeryManager.canSkillShot()) {
             //Not Additive
             finalDamage = archeryManager.skillShot(initialDamage);