Code: case 8192: // MP if (c.getPlayer().getHpApUsed() <= 0 || c.getPlayer().getMpApUsed() == 10000) { return; } int maxmp = c.getPlayer().getMaxMp(); if (c.getPlayer().getJob().isA(MapleJob.BEGINNER)) { maxmp -= 8; } else if (c.getPlayer().getJob().isA(MapleJob.WARRIOR)) { maxmp -= 4; } else if (c.getPlayer().getJob().isA(MapleJob.MAGICIAN)) { ISkill improvingMaxMP = SkillFactory.getSkill(2000001); int improvingMaxMPLevel = c.getPlayer().getSkillLevel(improvingMaxMP); maxmp -= 20; if (improvingMaxMPLevel >= 1) { maxmp -= improvingMaxMP.getEffect(improvingMaxMPLevel).getY(); } } else if (c.getPlayer().getJob().isA(MapleJob.BOWMAN)) { maxmp -= 12; } else if (c.getPlayer().getJob().isA(MapleJob.THIEF)) { maxmp -= 12; } else if (c.getPlayer().getJob().isA(MapleJob.PIRATE)) { maxmp -= 16; } if (maxmp < ((c.getPlayer().getLevel() * 2) + 148)) { return; } c.getPlayer().setMpApUsed(c.getPlayer().getMpApUsed() - 1); c.getPlayer().setMp(maxmp); c.getPlayer().setMaxMp(maxmp); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.MP, c.getPlayer().getMaxMp())); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.MAXMP, c.getPlayer().getMaxMp())); break; default: c.getSession().write(MaplePacketCreator.updatePlayerStats(MaplePacketCreator.EMPTY_STATUPDATE, true)); return; } if (maxmp < ((c.getPlayer().getLevel() * 2) + 148)) { return; } It would seem to me that this line of code dictates that the minimum MaxMP for every class is Level*2 + 148. Pheelo's HP Washing Guide lists the Minimum MP Formulas as: (This is for after 2nd job advancement) Min MP Formula for Beginner = 10 x level + 2 Min MP Formula for Spearman class = 4 x level + 156 Min MP Formula for Fighter class = 4 x level + 56 Min MP Formula for Bowman = 14 x level + 148 Min MP Formula for Thief = 14 x level + 148 Min MP Formula for Pirate = 18 x level + 111 I am especially skeptical of the split between Fighter and Spearman/Page. No code supports this split for any job advancement or level up bonuses, or anything. Does anyone have any data to support either the code or Pheelo's Guide? It's quite a difference. Or is there somewhere else in the code I should be looking for further minimums?