Browse Source

Added Dodge, Arrow Retrieval to rank system

nossr50 6 years ago
parent
commit
9ff8692625

+ 3 - 0
Changelog.txt

@@ -116,6 +116,9 @@ Version 2.1.0
  ! (Skills) Shake now uses a rank system
  ! (Skills) Flux Mining now uses a rank system
  ! (Skills) Removed traps from fishing
+ ! (Skills) Dodge now uses a rank system
+ ! (Skills) Arrow Retrieval now uses a rank system
+
  ! (Kraken) Removed everything involving the kraken
  = (Skills) Shake now sends custom damage types for better nocheat compat
  ! (Config) Unarmed.IronArm in advanced.yml is now Unarmed.IronArmStyle

+ 2 - 2
src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java

@@ -7,7 +7,7 @@ public enum SubSkillType {
     /* !! Warning -- Do not let subskills share a name with any existing PrimarySkillType as it will clash with the static import !! */
 
     /* ACROBATICS */
-    ACROBATICS_DODGE,
+    ACROBATICS_DODGE(1),
     ACROBATICS_ROLL,
 
     /* ALCHEMY */
@@ -15,7 +15,7 @@ public enum SubSkillType {
     ALCHEMY_CONCOCTIONS(8),
 
     /* ARCHERY */
-    ARCHERY_ARROW_RETRIEVAL,
+    ARCHERY_ARROW_RETRIEVAL(1),
     ARCHERY_DAZE,
     ARCHERY_SKILL_SHOT(20),
 

+ 4 - 0
src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java

@@ -11,6 +11,7 @@ import com.gmail.nossr50.util.Permissions;
 import com.gmail.nossr50.util.player.NotificationManager;
 import com.gmail.nossr50.util.random.RandomChanceUtil;
 import com.gmail.nossr50.util.skills.ParticleEffectUtils;
+import com.gmail.nossr50.util.skills.RankUtils;
 import com.gmail.nossr50.util.skills.SkillActivationType;
 import com.gmail.nossr50.util.skills.SkillUtils;
 import org.bukkit.entity.Entity;
@@ -24,6 +25,9 @@ public class AcrobaticsManager extends SkillManager {
     }
 
     public boolean canDodge(Entity damager) {
+        if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.ACROBATICS_DODGE))
+            return false;
+
         if (Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.ACROBATICS_DODGE)) {
             if (damager instanceof LightningStrike && Acrobatics.dodgeLightningDisabled) {
                 return false;

+ 4 - 0
src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java

@@ -11,6 +11,7 @@ import com.gmail.nossr50.util.Permissions;
 import com.gmail.nossr50.util.player.NotificationManager;
 import com.gmail.nossr50.util.player.UserManager;
 import com.gmail.nossr50.util.random.RandomChanceUtil;
+import com.gmail.nossr50.util.skills.RankUtils;
 import com.gmail.nossr50.util.skills.SkillActivationType;
 import org.bukkit.Location;
 import org.bukkit.entity.Entity;
@@ -33,6 +34,9 @@ public class ArcheryManager extends SkillManager {
     }
 
     public boolean canRetrieveArrows() {
+        if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.ARCHERY_ARROW_RETRIEVAL))
+            return false;
+
         return Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.ARCHERY_ARROW_RETRIEVAL);
     }
 

+ 11 - 0
src/main/resources/skillranks.yml

@@ -31,6 +31,11 @@ Alchemy:
             Rank_7: 850
             Rank_8: 1000
 Archery:
+    ArrowRetrieval:
+        Standard:
+            Rank_1: 2
+        RetroMode:
+            Rank_1: 20
     SkillShot:
         Standard:
             Rank_1: 5
@@ -74,6 +79,12 @@ Archery:
             Rank_18: 900
             Rank_19: 950
             Rank_20: 1000
+Acrobatics:
+    Dodge:
+        Standard:
+            Rank_1: 2
+        RetroMode:
+            Rank_1: 20
 Axes:
     SkullSplitter:
         Standard: