Explorar o código

Add swords config values

nossr50 %!s(int64=6) %!d(string=hai) anos
pai
achega
87f0171969

+ 57 - 0
src/main/java/com/gmail/nossr50/config/hocon/skills/swords/ConfigSwords.java

@@ -1,8 +1,65 @@
 package com.gmail.nossr50.config.hocon.skills.swords;
 
+import com.gmail.nossr50.config.ConfigConstants;
+import com.gmail.nossr50.datatypes.skills.properties.MaxBonusLevel;
+import ninja.leaping.configurate.objectmapping.Setting;
 import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
 
 @ConfigSerializable
 public class ConfigSwords {
 
+    @Setting(value = ConfigConstants.SUB_SKILL_NODE)
+    private ConfigSwordsSubSkills subSkills = new ConfigSwordsSubSkills();
+
+    public ConfigSwordsSubSkills getSubSkills() {
+        return subSkills;
+    }
+
+    public ConfigSwordsCounterAttack getCounterAttack() {
+        return subSkills.getCounterAttack();
+    }
+
+    public ConfigSwordsRupture getRupture() {
+        return subSkills.getRupture();
+    }
+
+    public ConfigSwordsSerratedStrikes getSerratedStrikes() {
+        return subSkills.getSerratedStrikes();
+    }
+
+    public double getCounterAttackMaxChance() {
+        return subSkills.getCounterAttackMaxChance();
+    }
+
+    public MaxBonusLevel getCounterAttackMaxBonusLevel() {
+        return subSkills.getCounterAttackMaxBonusLevel();
+    }
+
+    public double getCounterAttackDamageModifier() {
+        return subSkills.getCounterAttackDamageModifier();
+    }
+
+    public double getSerratedStrikesDamageModifier() {
+        return subSkills.getSerratedStrikesDamageModifier();
+    }
+
+    public double getRuptureMaxChance() {
+        return subSkills.getRuptureMaxChance();
+    }
+
+    public MaxBonusLevel getRuptureMaxBonusLevel() {
+        return subSkills.getRuptureMaxBonusLevel();
+    }
+
+    public double getRuptureDamagePlayer() {
+        return subSkills.getRuptureDamagePlayer();
+    }
+
+    public double getRuptureDamageMobs() {
+        return subSkills.getRuptureDamageMobs();
+    }
+
+    public int getRuptureBaseTicks() {
+        return subSkills.getRuptureBaseTicks();
+    }
 }

+ 35 - 0
src/main/java/com/gmail/nossr50/config/hocon/skills/swords/ConfigSwordsCounterAttack.java

@@ -0,0 +1,35 @@
+package com.gmail.nossr50.config.hocon.skills.swords;
+
+import com.gmail.nossr50.config.ConfigConstants;
+import com.gmail.nossr50.datatypes.skills.properties.AbstractMaxBonusLevel;
+import com.gmail.nossr50.datatypes.skills.properties.MaxBonusLevel;
+import ninja.leaping.configurate.objectmapping.Setting;
+import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
+
+@ConfigSerializable
+public class ConfigSwordsCounterAttack {
+
+    private static final double DAMAGE_MODIFIER_DEFAULT = 2.0;
+
+    @Setting(value = ConfigConstants.MAX_CHANCE_FIELD_NAME, comment = ConfigConstants.MAX_CHANCE_FIELD_DESCRIPTION)
+    private double maxChance = 30.0;
+
+    @Setting(value = ConfigConstants.MAX_BONUS_LEVEL_FIELD_NAME, comment = ConfigConstants.MAX_BONUS_LEVEL_DESCRIPTION)
+    private MaxBonusLevel maxBonusLevel = new AbstractMaxBonusLevel(100);
+
+    @Setting(value = "Damage-Modifier", comment = "The damage returned from Counter-Attack will be equal to the damage dealt divided by this number." +
+            "\nDefault value: "+DAMAGE_MODIFIER_DEFAULT)
+    private double damageModifier = DAMAGE_MODIFIER_DEFAULT;
+
+    public double getCounterAttackMaxChance() {
+        return maxChance;
+    }
+
+    public MaxBonusLevel getCounterAttackMaxBonusLevel() {
+        return maxBonusLevel;
+    }
+
+    public double getCounterAttackDamageModifier() {
+        return damageModifier;
+    }
+}

+ 53 - 0
src/main/java/com/gmail/nossr50/config/hocon/skills/swords/ConfigSwordsRupture.java

@@ -0,0 +1,53 @@
+package com.gmail.nossr50.config.hocon.skills.swords;
+
+import com.gmail.nossr50.config.ConfigConstants;
+import com.gmail.nossr50.datatypes.skills.properties.AbstractMaxBonusLevel;
+import com.gmail.nossr50.datatypes.skills.properties.MaxBonusLevel;
+import ninja.leaping.configurate.objectmapping.Setting;
+import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
+
+@ConfigSerializable
+public class ConfigSwordsRupture {
+
+    private static final double MAX_CHANCE_DEFAULT = 33.0;
+    private static final double DAMAGE_PVP_DEFAULT = 2.0;
+    private static final double DAMAGE_PVE_DEFAULT = 3.0;
+    private static final int BASE_TICKS_DEFAULT = 2;
+
+    @Setting(value = ConfigConstants.MAX_CHANCE_FIELD_NAME, comment = ConfigConstants.MAX_CHANCE_FIELD_DESCRIPTION)
+    private double maxChance = MAX_CHANCE_DEFAULT;
+
+    @Setting(value = ConfigConstants.MAX_BONUS_LEVEL_FIELD_NAME)
+    private MaxBonusLevel maxBonusLevel = new AbstractMaxBonusLevel(100);
+
+    @Setting(value = "Damage-Per-Tick-PVP")
+    private double damagePlayer = DAMAGE_PVP_DEFAULT;
+
+    @Setting(value = "Damage-Per-Tick-PVE")
+    private double damageMobs = DAMAGE_PVE_DEFAULT;
+
+    @Setting(value = "Bleed-Ticks", comment = "When Rupture has a tick it applies its damage, the effect wears out after enough ticks have happened." +
+            "\nThis is the base amount of ticks that will happen with the lowest skill level, increase this number to have rupture apply for longer across the board." +
+            "\nKeep in mind Rupture also increases in tick length as a player levels the skill.")
+    private int baseTicks = BASE_TICKS_DEFAULT;
+
+    public double getRuptureMaxChance() {
+        return maxChance;
+    }
+
+    public MaxBonusLevel getRuptureMaxBonusLevel() {
+        return maxBonusLevel;
+    }
+
+    public double getRuptureDamagePlayer() {
+        return damagePlayer;
+    }
+
+    public double getRuptureDamageMobs() {
+        return damageMobs;
+    }
+
+    public int getRuptureBaseTicks() {
+        return baseTicks;
+    }
+}

+ 15 - 0
src/main/java/com/gmail/nossr50/config/hocon/skills/swords/ConfigSwordsSerratedStrikes.java

@@ -0,0 +1,15 @@
+package com.gmail.nossr50.config.hocon.skills.swords;
+
+import ninja.leaping.configurate.objectmapping.Setting;
+import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
+
+@ConfigSerializable
+public class ConfigSwordsSerratedStrikes {
+
+    @Setting(value = "Damage-Modifier", comment = "The amount of damage dealt by this ability when hitting opponents in an AOE is divided by this number.")
+    private double damageModifier = 4.0;
+
+    public double getSerratedStrikesDamageModifier() {
+        return damageModifier;
+    }
+}

+ 66 - 0
src/main/java/com/gmail/nossr50/config/hocon/skills/swords/ConfigSwordsSubSkills.java

@@ -0,0 +1,66 @@
+package com.gmail.nossr50.config.hocon.skills.swords;
+
+import com.gmail.nossr50.datatypes.skills.properties.MaxBonusLevel;
+import ninja.leaping.configurate.objectmapping.Setting;
+import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
+
+@ConfigSerializable
+public class ConfigSwordsSubSkills {
+
+    @Setting(value = "Counter-Attack")
+    private ConfigSwordsCounterAttack counterAttack = new ConfigSwordsCounterAttack();
+
+    @Setting(value = "Rupture")
+    private ConfigSwordsRupture rupture = new ConfigSwordsRupture();
+
+    @Setting(value = "Serrated-Strikes")
+    private ConfigSwordsSerratedStrikes serratedStrikes = new ConfigSwordsSerratedStrikes();
+
+    public ConfigSwordsCounterAttack getCounterAttack() {
+        return counterAttack;
+    }
+
+    public ConfigSwordsRupture getRupture() {
+        return rupture;
+    }
+
+    public ConfigSwordsSerratedStrikes getSerratedStrikes() {
+        return serratedStrikes;
+    }
+
+    public double getCounterAttackMaxChance() {
+        return counterAttack.getCounterAttackMaxChance();
+    }
+
+    public MaxBonusLevel getCounterAttackMaxBonusLevel() {
+        return counterAttack.getCounterAttackMaxBonusLevel();
+    }
+
+    public double getCounterAttackDamageModifier() {
+        return counterAttack.getCounterAttackDamageModifier();
+    }
+
+    public double getSerratedStrikesDamageModifier() {
+        return serratedStrikes.getSerratedStrikesDamageModifier();
+    }
+
+    public double getRuptureMaxChance() {
+        return rupture.getRuptureMaxChance();
+    }
+
+    public MaxBonusLevel getRuptureMaxBonusLevel() {
+        return rupture.getRuptureMaxBonusLevel();
+    }
+
+    public double getRuptureDamagePlayer() {
+        return rupture.getRuptureDamagePlayer();
+    }
+
+    public double getRuptureDamageMobs() {
+        return rupture.getRuptureDamageMobs();
+    }
+
+    public int getRuptureBaseTicks() {
+        return rupture.getRuptureBaseTicks();
+    }
+}