2
0
nossr50 6 жил өмнө
parent
commit
6bc57f184a

+ 2 - 1
Changelog.txt

@@ -1,8 +1,9 @@
 Version 2.1.95
     Added missing Chorus_Fruit & Chorus_Plant entries to Herbalism's Bonus Drops in config.yml (See notes)
-    Limit Break damage bonuses now only apply to Players
     Limit Break now does dramatically less damage to players with lower grades of armor
+    Limit Break damage bonuses now only apply to Players
     Updated in game text to reflect changes to Limit Break
+    Fixed a bug where opponents used your stats instead of their own to activate Iron Grip
     Fixed a bug preventing Wandering Traders from granting XP
     Fixed a bug that prevented Chorus Tree's from giving full XP if you broke anything other than the bottom block
     Fixed a bug which could cause Large Fern's to reward less XP

+ 1 - 1
src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java

@@ -77,7 +77,7 @@ public class ArcheryCommand extends SkillCommand {
 
         if(canUseSubskill(player, SubSkillType.ARCHERY_ARCHERY_LIMIT_BREAK)) {
             messages.add(getStatMessage(SubSkillType.ARCHERY_ARCHERY_LIMIT_BREAK,
-                    String.valueOf(CombatUtils.getLimitBreakDamage(player, SubSkillType.ARCHERY_ARCHERY_LIMIT_BREAK))));
+                String.valueOf(CombatUtils.getLimitBreakDamageAgainstQuality(player, SubSkillType.ARCHERY_ARCHERY_LIMIT_BREAK, 1000))));
         }
 
         return messages;

+ 1 - 1
src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java

@@ -98,7 +98,7 @@ public class AxesCommand extends SkillCommand {
 
         if(canUseSubskill(player, SubSkillType.AXES_AXES_LIMIT_BREAK)) {
             messages.add(getStatMessage(SubSkillType.AXES_AXES_LIMIT_BREAK,
-                    String.valueOf(CombatUtils.getLimitBreakDamage(player, SubSkillType.AXES_AXES_LIMIT_BREAK))));
+                    String.valueOf(CombatUtils.getLimitBreakDamageAgainstQuality(player, SubSkillType.AXES_AXES_LIMIT_BREAK, 1000))));
         }
 
         return messages;

+ 1 - 1
src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java

@@ -103,7 +103,7 @@ public class SwordsCommand extends SkillCommand {
 
         if(canUseSubskill(player, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK)) {
             messages.add(getStatMessage(SubSkillType.SWORDS_SWORDS_LIMIT_BREAK,
-                    String.valueOf(CombatUtils.getLimitBreakDamage(player, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK))));
+                    String.valueOf(CombatUtils.getLimitBreakDamageAgainstQuality(player, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK, 1000))));
         }
 
         return messages;

+ 1 - 1
src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java

@@ -116,7 +116,7 @@ public class UnarmedCommand extends SkillCommand {
 
         if(canUseSubskill(player, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK)) {
             messages.add(getStatMessage(SubSkillType.UNARMED_UNARMED_LIMIT_BREAK,
-                    String.valueOf(CombatUtils.getLimitBreakDamage(player, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK))));
+                    String.valueOf(CombatUtils.getLimitBreakDamageAgainstQuality(player, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK, 1000))));
         }
 
         return messages;

+ 3 - 2
src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java

@@ -181,8 +181,9 @@ public class UnarmedManager extends SkillManager {
      * @return true if the defender was not disarmed, false otherwise
      */
     private boolean hasIronGrip(Player defender) {
-        if (!Misc.isNPCEntityExcludingVillagers(defender) && Permissions.isSubSkillEnabled(defender, SubSkillType.UNARMED_IRON_GRIP)
-                && RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, SubSkillType.UNARMED_IRON_GRIP, getPlayer())) {
+        if (!Misc.isNPCEntityExcludingVillagers(defender)
+                && Permissions.isSubSkillEnabled(defender, SubSkillType.UNARMED_IRON_GRIP)
+                && RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, SubSkillType.UNARMED_IRON_GRIP, defender)) {
             NotificationManager.sendPlayerInformation(defender, NotificationType.SUBSKILL_MESSAGE, "Unarmed.Ability.IronGrip.Defender");
             NotificationManager.sendPlayerInformation(getPlayer(), NotificationType.SUBSKILL_MESSAGE, "Unarmed.Ability.IronGrip.Attacker");
 

+ 8 - 6
src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java

@@ -24,7 +24,6 @@ import com.gmail.nossr50.util.player.UserManager;
 import com.google.common.collect.ImmutableMap;
 import org.bukkit.GameMode;
 import org.bukkit.Material;
-import org.bukkit.enchantments.Enchantment;
 import org.bukkit.entity.*;
 import org.bukkit.event.entity.EntityDamageByEntityEvent;
 import org.bukkit.event.entity.EntityDamageEvent;
@@ -77,7 +76,7 @@ public final class CombatUtils {
 
         if(canUseLimitBreak(player, target, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK))
         {
-            finalDamage+=getLimitBreakDamage(player, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK);
+            finalDamage+=getLimitBreakDamage(player, (Player) target, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK);
         }
 
         applyScaledModifiers(initialDamage, finalDamage, event);
@@ -121,7 +120,7 @@ public final class CombatUtils {
 
         if(canUseLimitBreak(player, target, SubSkillType.AXES_AXES_LIMIT_BREAK))
         {
-            finalDamage+=getLimitBreakDamage(player, SubSkillType.AXES_AXES_LIMIT_BREAK);
+            finalDamage+=getLimitBreakDamage(player, (Player) target, SubSkillType.AXES_AXES_LIMIT_BREAK);
         }
 
         applyScaledModifiers(initialDamage, finalDamage, event);
@@ -160,7 +159,7 @@ public final class CombatUtils {
 
             if(canUseLimitBreak(player, target, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK))
             {
-                finalDamage+=getLimitBreakDamage(player, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK);
+                finalDamage+=getLimitBreakDamage(player, (Player) target, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK);
             }
         }
 
@@ -228,7 +227,7 @@ public final class CombatUtils {
 
         if(canUseLimitBreak(player, target, SubSkillType.ARCHERY_ARCHERY_LIMIT_BREAK))
         {
-            finalDamage+=getLimitBreakDamage(player, SubSkillType.ARCHERY_ARCHERY_LIMIT_BREAK);
+            finalDamage+=getLimitBreakDamage(player, (Player) target, SubSkillType.ARCHERY_ARCHERY_LIMIT_BREAK);
         }
 
         double distanceMultiplier = archeryManager.distanceXpBonusMultiplier(target, arrow);
@@ -385,8 +384,11 @@ public final class CombatUtils {
     }
 
     public static int getLimitBreakDamage(Player player, Player defender, SubSkillType subSkillType) {
+        return getLimitBreakDamageAgainstQuality(player, subSkillType, getArmorQualityLevel(defender));
+    }
+
+    public static int getLimitBreakDamageAgainstQuality(Player player, SubSkillType subSkillType, int armorQualityLevel) {
         int rawDamageBoost = RankUtils.getRank(player, subSkillType);
-        int armorQualityLevel = getArmorQualityLevel(defender);
 
         if(armorQualityLevel <= 4) {
             rawDamageBoost *= .25; //75% Nerf

+ 8 - 8
src/main/resources/locale/locale_en_US.properties

@@ -171,8 +171,8 @@ Archery.SubSkill.ArrowRetrieval.Name=Arrow Retrieval
 Archery.SubSkill.ArrowRetrieval.Description=Chance to retrieve arrows from corpses
 Archery.SubSkill.ArrowRetrieval.Stat=Arrow Recovery Chance
 Archery.SubSkill.ArcheryLimitBreak.Name=Archery Limit Break
-Archery.SubSkill.ArcheryLimitBreak.Description=Breaking your limits. (PVP Only)
-Archery.SubSkill.ArcheryLimitBreak.Stat=Limit Break PVP DMG
+Archery.SubSkill.ArcheryLimitBreak.Description=Breaking your limits. Increased damage against tough opponents. (PVP Only)
+Archery.SubSkill.ArcheryLimitBreak.Stat=Limit Break PVP Max DMG
 Archery.Listener=Archery:
 Archery.SkillName=ARCHERY
 #AXES
@@ -198,8 +198,8 @@ Axes.SubSkill.CriticalStrikes.Stat=Critical Strike Chance
 Axes.SubSkill.AxeMastery.Name=Axe Mastery
 Axes.SubSkill.AxeMastery.Description=Adds bonus DMG
 Axes.SubSkill.AxesLimitBreak.Name=Axes Limit Break
-Axes.SubSkill.AxesLimitBreak.Description=Breaking your limits. (PVP Only)
-Axes.SubSkill.AxesLimitBreak.Stat=Limit Break PVP DMG
+Axes.SubSkill.AxesLimitBreak.Description=Breaking your limits. Increased damage against tough opponents. (PVP Only)
+Axes.SubSkill.AxesLimitBreak.Stat=Limit Break PVP Max DMG
 Axes.SubSkill.ArmorImpact.Name=Armor Impact
 Axes.SubSkill.ArmorImpact.Description=Strike with enough force to shatter armor
 Axes.SubSkill.GreaterImpact.Name=Greater Impact
@@ -423,8 +423,8 @@ Swords.SubSkill.Stab.Name=Stab
 Swords.SubSkill.Stab.Description=Adds bonus damage to your attacks.
 Swords.SubSkill.Stab.Stat=Stab Damage
 Swords.SubSkill.SwordsLimitBreak.Name=Swords Limit Break
-Swords.SubSkill.SwordsLimitBreak.Description=Breaking your limits. (PVP Only)
-Swords.SubSkill.SwordsLimitBreak.Stat=Limit Break PVP DMG
+Swords.SubSkill.SwordsLimitBreak.Description=Breaking your limits. Increased damage against tough opponents. (PVP Only)
+Swords.SubSkill.SwordsLimitBreak.Stat=Limit Break PVP Max DMG
 Swords.SubSkill.Rupture.Stat=Rupture Chance
 Swords.SubSkill.Rupture.Stat.Extra=Rupture: [[GREEN]]{0} ticks [{1} DMG vs Player] [{2} DMG vs Mobs]
 Swords.Effect.4=Serrated Strikes Rupture+
@@ -502,8 +502,8 @@ Unarmed.SubSkill.Disarm.Name=Disarm
 Unarmed.SubSkill.Disarm.Description=Drops the foes item held in hand
 Unarmed.SubSkill.Disarm.Stat=Disarm Chance
 Unarmed.SubSkill.UnarmedLimitBreak.Name=Unarmed Limit Break
-Unarmed.SubSkill.UnarmedLimitBreak.Description=Breaking your limits. (PVP Only)
-Unarmed.SubSkill.UnarmedLimitBreak.Stat=Limit Break PVP DMG
+Unarmed.SubSkill.UnarmedLimitBreak.Description=Breaking your limits. Increased damage against tough opponents. (PVP Only)
+Unarmed.SubSkill.UnarmedLimitBreak.Stat=Limit Break PVP Max DMG
 Unarmed.SubSkill.IronArmStyle.Name=Iron Arm Style
 Unarmed.SubSkill.IronArmStyle.Description=Hardens your arm over time
 Unarmed.SubSkill.ArrowDeflect.Name=Arrow Deflect