فهرست منبع

Nerfed Archery damage to eliminate constant one-hit kills

GJ 11 سال پیش
والد
کامیت
44626c36a9

+ 1 - 0
Changelog.txt

@@ -32,6 +32,7 @@ Version 1.4.07-dev
  = Fixed a bug where teleport location was never reset if warmup was set to 0 for "Chimaera Wing".
  = Fixed a bug where the "Dodge" DamageModifier wasn't being read from advanced.yml
  = Fixed a bug where squid were not awarding XP.
+ ! Nerfed Archery damage to eliminate constant one-hit kills.
  ! Changed the way Repair hands out XP, also added config options to control Repair XP
  ! Changed Swords "Counter Attack" ability from passive to active. Blocking is required to activate.
  ! Hardcore mode can now be toggled for each skill individually

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

@@ -807,6 +807,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
     public int getSkillShotIncreaseLevel() { return config.getInt("Skills.Archery.SkillShot_IncreaseLevel", 50); }
     public double getSkillShotIncreasePercentage() { return config.getDouble("Skills.Archery.SkillShot_IncreasePercentage", 0.1D); }
     public double getSkillShotBonusMax() { return config.getDouble("Skills.Archery.SkillShot_MaxBonus", 2.0D); }
+    public double getSkillShotDamageMax() { return config.getDouble("Skills.Archery.SkillShot_MaxDamage", 9.0D); }
 
     public double getDazeBonusMax() { return config.getDouble("Skills.Archery.Daze_MaxChance", 50.0D); }
     public int getDazeMaxBonusLevel() { return config.getInt("Skills.Archery.Daze_MaxBonusLevel", 1000); }

+ 1 - 0
src/main/java/com/gmail/nossr50/skills/archery/Archery.java

@@ -22,6 +22,7 @@ public class Archery {
     public static int    skillShotIncreaseLevel      = AdvancedConfig.getInstance().getSkillShotIncreaseLevel();
     public static double skillShotIncreasePercentage = AdvancedConfig.getInstance().getSkillShotIncreasePercentage();
     public static double skillShotMaxBonusPercentage = AdvancedConfig.getInstance().getSkillShotBonusMax();
+    public static double skillShotMaxBonusDamage = AdvancedConfig.getInstance().getSkillShotDamageMax();
 
     public static int    dazeMaxBonusLevel = AdvancedConfig.getInstance().getDazeMaxBonusLevel();
     public static int    dazeModifier      = AdvancedConfig.getInstance().getDazeModifier();

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

@@ -102,7 +102,7 @@ public class ArcheryManager extends SkillManager {
      */
     public void skillShot(LivingEntity target, double damage, Arrow arrow) {
         double damageBonusPercent = Math.min(((getSkillLevel() / Archery.skillShotIncreaseLevel) * Archery.skillShotIncreasePercentage), Archery.skillShotMaxBonusPercentage);
-        double archeryBonus = (damage * damageBonusPercent) - damage;
+        double archeryBonus = Math.min(damage * damageBonusPercent, Archery.skillShotMaxBonusDamage);
 
         CombatUtils.dealDamage(target, archeryBonus, DamageCause.PROJECTILE, arrow, mcMMOPlayer, SkillType.ARCHERY);
     }

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

@@ -58,6 +58,7 @@ Skills:
         SkillShot_IncreaseLevel: 50
         SkillShot_IncreasePercentage: 0.1
         SkillShot_MaxBonus: 2.0
+        SkillShot_MaxDamage: 9.0
 
         # Daze_MaxChance: Maximum chance of causing daze to opponents
         # Daze_MaxBonusLevel: Maximum bonus level of Daze, when a player reaches this level his chance of causing a daze will be "Daze_MaxChance"