Browse Source

Add setting for ignoring attack cooldown Fixes #5048

nossr50 1 year ago
parent
commit
99d8b64589

+ 7 - 0
Changelog.txt

@@ -1,8 +1,15 @@
 Version 2.2.017
+    Added a setting in advanced.yml to ignore attack cooldowns (see notes)
     Fixed a bug with Mace permissions (thanks SrBedrock)
     Updated zh_CN locale (thanks libook)
     Updated pt_BR locale (thanks JesusRuescas)
     Updated fr locale (thanks Ted-18)
+
+    NOTES:
+    Skills.General.Attack_Cooldown.Adjust_Skills_For_Attack_Cooldown is a new setting in advanced.yml that will allow you to ignore attack cooldowns for the combat skills.
+    When a player spams an attack, have a reduced amount of bonus damage from mcMMO and reduced chance for chance-on-hit subskills to activate.
+    You can have mcMMO ignore this value and apply full bonus damage and full chance to proc abilities by setting this to false.
+
 Version 2.2.016
     (SQL) Fixed a bug where skill cooldowns were being loaded for players incorrectly
 

+ 4 - 0
src/main/java/com/gmail/nossr50/config/AdvancedConfig.java

@@ -409,6 +409,10 @@ public class AdvancedConfig extends BukkitConfig {
 
     /* GENERAL */
 
+    public boolean useAttackCooldown() {
+        return config.getBoolean("Skills.General.Attack_Cooldown.Adjust_Skills_For_Attack_Cooldown", true);
+    }
+
     public boolean canApplyLimitBreakPVE() {
         return config.getBoolean("Skills.General.LimitBreak.AllowPVE", false);
     }

+ 6 - 1
src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java

@@ -2,6 +2,7 @@ package com.gmail.nossr50.datatypes.player;
 
 import com.gmail.nossr50.api.exceptions.InvalidSkillException;
 import com.gmail.nossr50.chat.author.PlayerAuthor;
+import com.gmail.nossr50.config.AdvancedConfig;
 import com.gmail.nossr50.config.ChatConfig;
 import com.gmail.nossr50.config.WorldBlacklist;
 import com.gmail.nossr50.config.experience.ExperienceConfig;
@@ -239,7 +240,11 @@ public class McMMOPlayer implements Identified {
     }
 
     public double getAttackStrength() {
-        return player.getAttackCooldown();
+        if (mcMMO.p.getAdvancedConfig().useAttackCooldown()) {
+            return player.getAttackCooldown();
+        } else {
+            return 1.0D;
+        }
     }
 
     public @NotNull PrimarySkillType getLastSkillShownScoreboard() {

+ 5 - 0
src/main/resources/advanced.yml

@@ -83,6 +83,11 @@ Feedback:
             SendCopyOfMessageToChat: false
 Skills:
     General:
+        # Attack Cooldown refers to the strength of attacks in Minecraft.
+        # If an attack is spammed, it will have less bonus damage and RNG for skills to activate from mcMMO.
+        # If you want, you can turn this behavior off by setting it to false.
+        Attack_Cooldown:
+            Adjust_Skills_For_Attack_Cooldown: true
         LimitBreak:
             AllowPVE: false
         StartingLevel: 0