From 9ff86926254b3238c665228fed75f5f4e0c6c5e4 Mon Sep 17 00:00:00 2001 From: nossr50 Date: Sat, 26 Jan 2019 10:52:22 -0800 Subject: [PATCH] Added Dodge, Arrow Retrieval to rank system --- Changelog.txt | 3 +++ .../gmail/nossr50/datatypes/skills/SubSkillType.java | 4 ++-- .../nossr50/skills/acrobatics/AcrobaticsManager.java | 4 ++++ .../gmail/nossr50/skills/archery/ArcheryManager.java | 4 ++++ src/main/resources/skillranks.yml | 11 +++++++++++ 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index 67be7a545..ec322d3ba 100644 --- a/Changelog.txt +++ b/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 diff --git a/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java b/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java index 7a07adfab..681cb18f6 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java +++ b/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), diff --git a/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java b/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java index 46ce6482b..3f3299fa4 100644 --- a/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java +++ b/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; diff --git a/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java b/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java index fd6adaea3..c8c212548 100644 --- a/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java +++ b/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); } diff --git a/src/main/resources/skillranks.yml b/src/main/resources/skillranks.yml index 8b54fda06..2d13d8a39 100644 --- a/src/main/resources/skillranks.yml +++ b/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: