From e363ba8ffb23f70e9d8ed7cc28c00a3dacfa8ee7 Mon Sep 17 00:00:00 2001
From: WayofTime <wtime@live.ca>
Date: Thu, 12 May 2016 14:51:42 -0400
Subject: [PATCH] - Fixed it so that the Sentient weaponry is actually
 repairable using any demon will crystals in an anvil - Changed the stat
 tracker for Tough Palms so that it counts number of hearts sacrificed, not
 number of sacrifices

---
 changelog.txt                                             | 6 ++++++
 .../WayofTime/bloodmagic/item/soul/ItemSentientBow.java   | 6 ++++++
 .../WayofTime/bloodmagic/item/soul/ItemSentientSword.java | 6 ++++++
 .../livingArmour/tracker/StatTrackerSelfSacrifice.java    | 4 ++--
 .../WayofTime/bloodmagic/util/handler/EventHandler.java   | 8 +++++---
 5 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/changelog.txt b/changelog.txt
index bf4e0dca..40a66268 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,9 @@
+------------------------------------------------------
+Version 2.0.0-38
+------------------------------------------------------
+- Fixed it so that the Sentient weaponry is actually repairable using any demon will crystals in an anvil
+- Changed the stat tracker for Tough Palms so that it counts number of hearts sacrificed, not number of sacrifices
+
 ------------------------------------------------------
 Version 2.0.0-37
 ------------------------------------------------------
diff --git a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientBow.java b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientBow.java
index 41c5d575..9201cbb5 100644
--- a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientBow.java
+++ b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientBow.java
@@ -73,6 +73,12 @@ public class ItemSentientBow extends ItemBow implements IMultiWillTool//, IMeshP
         });
     }
 
+    @Override
+    public boolean getIsRepairable(ItemStack toRepair, ItemStack repair)
+    {
+        return ModItems.itemDemonCrystal == repair.getItem() ? true : super.getIsRepairable(toRepair, repair);
+    }
+
     public void recalculatePowers(ItemStack stack, World world, EntityPlayer player)
     {
         EnumDemonWillType type = PlayerDemonWillHandler.getLargestWillType(player);
diff --git a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientSword.java b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientSword.java
index 2e75034e..99e314cb 100644
--- a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientSword.java
+++ b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientSword.java
@@ -76,6 +76,12 @@ public class ItemSentientSword extends ItemSword implements IDemonWillWeapon, IM
         setCreativeTab(BloodMagic.tabBloodMagic);
     }
 
+    @Override
+    public boolean getIsRepairable(ItemStack toRepair, ItemStack repair)
+    {
+        return ModItems.itemDemonCrystal == repair.getItem() ? true : super.getIsRepairable(toRepair, repair);
+    }
+
     public void recalculatePowers(ItemStack stack, World world, EntityPlayer player)
     {
         EnumDemonWillType type = PlayerDemonWillHandler.getLargestWillType(player);
diff --git a/src/main/java/WayofTime/bloodmagic/livingArmour/tracker/StatTrackerSelfSacrifice.java b/src/main/java/WayofTime/bloodmagic/livingArmour/tracker/StatTrackerSelfSacrifice.java
index 55b635fa..9fb29137 100644
--- a/src/main/java/WayofTime/bloodmagic/livingArmour/tracker/StatTrackerSelfSacrifice.java
+++ b/src/main/java/WayofTime/bloodmagic/livingArmour/tracker/StatTrackerSelfSacrifice.java
@@ -20,9 +20,9 @@ public class StatTrackerSelfSacrifice extends StatTracker
 
     public int totalSacrifices = 0;
 
-    public static void incrementCounter(LivingArmour armour)
+    public static void incrementCounter(LivingArmour armour, int hearts)
     {
-        changeMap.put(armour, changeMap.containsKey(armour) ? changeMap.get(armour) + 1 : 1);
+        changeMap.put(armour, changeMap.containsKey(armour) ? changeMap.get(armour) + hearts : hearts);
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java b/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java
index 68c86787..b60dd3fa 100644
--- a/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java
+++ b/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java
@@ -483,13 +483,15 @@ public class EventHandler
     }
 
     @SubscribeEvent
-    public void onTeleposeEntity(TeleposeEvent.Ent event) {
+    public void onTeleposeEntity(TeleposeEvent.Ent event)
+    {
         if (ConfigHandler.teleposerBlacklistEntity.contains(event.entity.getClass().getSimpleName()))
             event.setCanceled(true);
     }
 
     @SubscribeEvent
-    public void onTeleposeEntityPost(TeleposeEvent.Ent.Post event) {
+    public void onTeleposeEntityPost(TeleposeEvent.Ent.Post event)
+    {
         event.entity.timeUntilPortal = 5;
     }
 
@@ -577,7 +579,7 @@ public class EventHandler
             LivingArmour armour = ItemLivingArmour.armourMap.get(chestStack);
             if (armour != null)
             {
-                StatTrackerSelfSacrifice.incrementCounter(armour);
+                StatTrackerSelfSacrifice.incrementCounter(armour, event.healthDrained / 2);
                 LivingArmourUpgrade upgrade = ItemLivingArmour.getUpgrade(Constants.Mod.MODID + ".upgrade.selfSacrifice", chestStack);
 
                 if (upgrade instanceof LivingArmourUpgradeSelfSacrifice)