From fdc20b63c7cb3dcd3bc77458af500c8a6da793e6 Mon Sep 17 00:00:00 2001 From: WayofTime Date: Thu, 18 Aug 2016 07:41:56 -0400 Subject: [PATCH] Fixed a funky issue where the Sound of the Cleansing Soul did not reset the upgrade points internally --- changelog.txt | 1 + .../bloodmagic/livingArmour/LivingArmour.java | 9 +++++ .../ritual/RitualUpgradeRemove.java | 33 ++++++++++--------- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/changelog.txt b/changelog.txt index 2c12ab76..2e81b097 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2,6 +2,7 @@ Version 2.0.4-55 ------------------------------------------------------ - Made Guide-API a required mod. +- Fixed a funky issue where the Sound of the Cleansing Soul did not reset the upgrade points internally. ------------------------------------------------------ Version 2.0.3-54 diff --git a/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmour.java b/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmour.java index 303cfc90..06a01052 100644 --- a/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmour.java +++ b/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmour.java @@ -68,6 +68,15 @@ public class LivingArmour implements ILivingArmour return total; } + public void recalculateUpgradePoints() + { + totalUpgradePoints = 0; + for (LivingArmourUpgrade upgrade : upgradeMap.values()) + { + totalUpgradePoints += upgrade.getCostOfUpgrade(); + } + } + @Override public Multimap getAttributeModifiers() { diff --git a/src/main/java/WayofTime/bloodmagic/ritual/RitualUpgradeRemove.java b/src/main/java/WayofTime/bloodmagic/ritual/RitualUpgradeRemove.java index 365416b3..336bfd28 100644 --- a/src/main/java/WayofTime/bloodmagic/ritual/RitualUpgradeRemove.java +++ b/src/main/java/WayofTime/bloodmagic/ritual/RitualUpgradeRemove.java @@ -1,16 +1,9 @@ package WayofTime.bloodmagic.ritual; -import WayofTime.bloodmagic.api.Constants; -import WayofTime.bloodmagic.api.ItemStackWrapper; -import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade; -import WayofTime.bloodmagic.api.livingArmour.StatTracker; -import WayofTime.bloodmagic.api.ritual.*; -import WayofTime.bloodmagic.api.util.helper.ItemHelper.LivingUpgrades; -import WayofTime.bloodmagic.item.armour.ItemLivingArmour; -import WayofTime.bloodmagic.livingArmour.LivingArmour; -import WayofTime.bloodmagic.registry.ModItems; - -import com.google.common.collect.Iterables; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map.Entry; import net.minecraft.entity.effect.EntityLightningBolt; import net.minecraft.entity.item.EntityItem; @@ -18,11 +11,20 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import WayofTime.bloodmagic.api.Constants; +import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade; +import WayofTime.bloodmagic.api.livingArmour.StatTracker; +import WayofTime.bloodmagic.api.ritual.AreaDescriptor; +import WayofTime.bloodmagic.api.ritual.EnumRuneType; +import WayofTime.bloodmagic.api.ritual.IMasterRitualStone; +import WayofTime.bloodmagic.api.ritual.Ritual; +import WayofTime.bloodmagic.api.ritual.RitualComponent; +import WayofTime.bloodmagic.api.util.helper.ItemHelper.LivingUpgrades; +import WayofTime.bloodmagic.item.armour.ItemLivingArmour; +import WayofTime.bloodmagic.livingArmour.LivingArmour; +import WayofTime.bloodmagic.registry.ModItems; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map.Entry; +import com.google.common.collect.Iterables; public class RitualUpgradeRemove extends Ritual { @@ -96,6 +98,7 @@ public class RitualUpgradeRemove extends Ritual { ((ItemLivingArmour) chestStack.getItem()).setLivingArmour(chestStack, armour, true); ItemLivingArmour.setLivingArmour(chestStack, armour); + armour.recalculateUpgradePoints(); masterRitualStone.setActive(false);