diff --git a/src/engine/objects/PlayerCharacter.java b/src/engine/objects/PlayerCharacter.java index b4eb145e..6a0ba931 100644 --- a/src/engine/objects/PlayerCharacter.java +++ b/src/engine/objects/PlayerCharacter.java @@ -1091,6 +1091,17 @@ public class PlayerCharacter extends AbstractCharacter { } } + // Checked before the penalties, as the client's +/- does (0xBAC140): Giant's Blood cuts a max below its stat + if (strCur < 1 || dexCur < 1 || conCur < 1 || intCur < 1 || spiCur < 1) { + Logger.info("Attribute below 1"); + return null; + } + + if (strCur > strMax || dexCur > dexMax || conCur > conMax || intCur > intMax || spiCur > spiMax) { + Logger.info("Attribute above racial maximum"); + return null; + } + // Add in all of the penalties. strCur += penalties.get("StrCur"); strMax += penalties.get("StrMax");