diff --git a/src/engine/net/client/msg/ApplyRuneMsg.java b/src/engine/net/client/msg/ApplyRuneMsg.java index 492f20f3..d129d87b 100644 --- a/src/engine/net/client/msg/ApplyRuneMsg.java +++ b/src/engine/net/client/msg/ApplyRuneMsg.java @@ -202,7 +202,7 @@ public class ApplyRuneMsg extends ClientNetMsg { for (CharacterRune cr : runes) { int runeBaseID = cr.getRuneBaseID(); //count number of discipline runes - if (runeBaseID > 3000 && runeBaseID < 3049) { + if(isDiscipline(runeBaseID)){ discCount++; } //see if rune is already applied @@ -331,23 +331,29 @@ public class ApplyRuneMsg extends ClientNetMsg { break; } //if discipline, check number applied + int discAllowed = 0; if (isDiscipline(runeID)) { switch(playerCharacter.getRank()){ case 1: + discAllowed = 0; + break; case 2: case 3: case 4: case 5: case 6: - if(discCount > 3) - return false; + discAllowed = 3; break; case 7: + discAllowed = 4; + break; case 8: - if(discCount > 5) - return false; + discAllowed = 5; break; } + + if(discCount == discAllowed) + return false; } //Everything succeeded. Let's apply the rune //Attempt add rune to database