diff --git a/TwosideKeeper.jar b/TwosideKeeper.jar index 519eba8..942d72d 100644 Binary files a/TwosideKeeper.jar and b/TwosideKeeper.jar differ diff --git a/src/sig/plugin/TwosideKeeper/HelperStructures/ArtifactAbility.java b/src/sig/plugin/TwosideKeeper/HelperStructures/ArtifactAbility.java index 56dd40e..9c8bd59 100644 --- a/src/sig/plugin/TwosideKeeper/HelperStructures/ArtifactAbility.java +++ b/src/sig/plugin/TwosideKeeper/HelperStructures/ArtifactAbility.java @@ -71,7 +71,7 @@ public enum ArtifactAbility { new double[]{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},10,25,UpgradePath.ARMOR), DODGE("Dodge","You have a [VAL]% chance to dodge incoming damage from any damage source.",new double[]{0.1,0.125,0.15,0.175,0.225,0.25,0.275,0.3,0.325,0.35,0.375,0.4,0.45,0.5,0.55}, new double[]{1.0,0.95,0.9,0.85,0.8,0.75,0.7,0.65,0.6,0.55,0.5,0.45,0.35,0.25,0.2},100,40,UpgradePath.ARMOR), - GRACEFULDODGE("Graceful Dodge","Whenever a dodge occurs, you will gain [VAL] seconds of invulnerability.",new double[]{0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.9,1.0,1.05,1.1,1.2,1.3,1.4,1.5}, + GRACEFULDODGE("Graceful Dodge","Whenever a dodge occurs, you will gain [VAL] seconds of invulnerability."+LevelCost(10),new double[]{0.1,0.105,0.11,0.115,0.12,0.125,0.13,0.135,0.14,0.145,0.15,0.155,0.165,0.18,0.2}, new double[]{1.8,1.79,1.78,1.77,1.76,1.75,1.74,1.73,1.72,1.71,1.70,1.69,1.67,1.65,1.62},10,40,UpgradePath.ARMOR), //Sword abilities @@ -170,6 +170,10 @@ public enum ArtifactAbility { this.upgrade=upgrade; } + private static String LevelCost(int i) { + return "\n\n"+ChatColor.RED+"Costs "+i+" Artifact Level"+((i==1)?"":"s"); + } + private static String TemporarySkill() { return "\n\n"+ChatColor.RED+"Costs 1 Artifact Level."; } @@ -436,6 +440,10 @@ public enum ArtifactAbility { //Remove a level from using a temporary ability. AwakenedArtifact.setLV(item, AwakenedArtifact.getLV(item)-1, p); } + if (ability.equals(ArtifactAbility.GRACEFULDODGE)) { + //Remove a level from using a temporary ability. + AwakenedArtifact.setLV(item, AwakenedArtifact.getLV(item)-10, p); + } int apamt = AwakenedArtifact.getAP(item); if (apamt>0) { TextComponent tc = new TextComponent(" You have "+ChatColor.GREEN+apamt+ChatColor.WHITE+" ability point"+((apamt==1)?"":"s")+" remaining!"); diff --git a/src/sig/plugin/TwosideKeeper/HelperStructures/Common/GenericFunctions.java b/src/sig/plugin/TwosideKeeper/HelperStructures/Common/GenericFunctions.java index e683a4b..ec4117e 100644 --- a/src/sig/plugin/TwosideKeeper/HelperStructures/Common/GenericFunctions.java +++ b/src/sig/plugin/TwosideKeeper/HelperStructures/Common/GenericFunctions.java @@ -2934,7 +2934,12 @@ public class GenericFunctions { if (ArtifactAbility.containsEnchantment(ArtifactAbility.GRACEFULDODGE, equip)) { p.addPotionEffect( new PotionEffect(PotionEffectType.GLOWING, - (int)(GenericFunctions.getAbilityValue(ArtifactAbility.GRACEFULDODGE, equip)*20), + (int)(NewCombat.CalculateGracefulDodgeTicks(p)), + 0) + ); + p.addPotionEffect( + new PotionEffect(PotionEffectType.NIGHT_VISION, + (int)(NewCombat.CalculateGracefulDodgeTicks(p)), 0) ); } @@ -3287,7 +3292,12 @@ public class GenericFunctions { if (ArtifactAbility.containsEnchantment(ArtifactAbility.GRACEFULDODGE, equip)) { p.addPotionEffect( new PotionEffect(PotionEffectType.GLOWING, - (int)(GenericFunctions.getAbilityValue(ArtifactAbility.GRACEFULDODGE, equip)*20), + (int)(NewCombat.CalculateGracefulDodgeTicks(p)), + 0) + ); + p.addPotionEffect( + new PotionEffect(PotionEffectType.NIGHT_VISION, + (int)(NewCombat.CalculateGracefulDodgeTicks(p)), 0) ); } @@ -3401,7 +3411,12 @@ public class GenericFunctions { if (ArtifactAbility.containsEnchantment(ArtifactAbility.GRACEFULDODGE, equip)) { p.addPotionEffect( new PotionEffect(PotionEffectType.GLOWING, - (int)(GenericFunctions.getAbilityValue(ArtifactAbility.GRACEFULDODGE, equip)*20), + (int)(NewCombat.CalculateGracefulDodgeTicks(p)), + 0) + ); + p.addPotionEffect( + new PotionEffect(PotionEffectType.NIGHT_VISION, + (int)(NewCombat.CalculateGracefulDodgeTicks(p)), 0) ); } diff --git a/src/sig/plugin/TwosideKeeper/NewCombat.java b/src/sig/plugin/TwosideKeeper/NewCombat.java index c2506d5..c95312f 100644 --- a/src/sig/plugin/TwosideKeeper/NewCombat.java +++ b/src/sig/plugin/TwosideKeeper/NewCombat.java @@ -1608,6 +1608,15 @@ public class NewCombat { } return dmg; } + + public static int CalculateGracefulDodgeTicks(Player p) { + ItemStack[] equips = GenericFunctions.getEquipment(p); + double totalduration = 0.0; + for (int i=0;i