From e380c4dddbaff3a01c252386fc1c8727b88393d4 Mon Sep 17 00:00:00 2001
From: FatBoy-DOTC <justin.chucksinsulating@gmail.com>
Date: Sun, 23 Feb 2025 15:09:22 -0600
Subject: [PATCH] armor piercing fix

---
 src/engine/gameManager/CombatManager.java | 4 ++--
 src/engine/objects/PlayerCombatStats.java | 4 +++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/engine/gameManager/CombatManager.java b/src/engine/gameManager/CombatManager.java
index 5dd17ecf..4fa31bb9 100644
--- a/src/engine/gameManager/CombatManager.java
+++ b/src/engine/gameManager/CombatManager.java
@@ -907,12 +907,12 @@ public enum CombatManager {
                     for(Effect eff : weapon.effects.values()){
                         for(AbstractEffectModifier mod : eff.getEffectModifiers()){
                             if(mod.modType.equals(ModType.ArmorPiercing)){
-                                armorPierce += mod.minMod * (mod.getRamp() * eff.getTrains());
+                                armorPierce += mod.getPercentMod() + (mod.getRamp() * eff.getTrains());
                             }
                         }
                     }
                     if(armorPierce > 0){
-                        damage *= 1 + armorPierce;
+                        damage *= 1 + (armorPierce * 0.01f);
                     }
                 }
 
diff --git a/src/engine/objects/PlayerCombatStats.java b/src/engine/objects/PlayerCombatStats.java
index 94f85b20..ddc39fd2 100644
--- a/src/engine/objects/PlayerCombatStats.java
+++ b/src/engine/objects/PlayerCombatStats.java
@@ -1064,7 +1064,9 @@ public class PlayerCombatStats {
             mod = 0.05f;
         }
 
-        xp = Experience.LevelToExp[pc.level] * mod;
+        float levelFull = Experience.LevelToExp[pc.level + 1] - Experience.LevelToExp[pc.level];
+
+        xp = levelFull * mod;
 
         return (int) xp;
     }