/** * Return the max weight that the L2PcInstance can load.

*/ public int getMaxLoad() { // Weight Limit = (CON Modifier*69000)*Skills // Source http://l2p.bravehost.com/weightlimit.html (May 2007) // Fitted exponential curve to the data int con = getCON(); if (con < 1) return 31000; if (con > 59) return 176000; double baseLoad = Math.pow(1.029993928, con)*30495.627366; return (int)calcStat(Stats.MAX_LOAD, baseLoad, this, null); } public int getexpertisePenalty() { return _expertisePenalty; } public int getWeightPenalty() { if (_dietMode) return 0; return _curWeightPenalty; } /** * Update the overloaded status of the L2PcInstance.

*/ public void refreshOverloaded() { int maxLoad = getMaxLoad(); if (maxLoad > 0) { setIsOverloaded(getCurrentLoad() > maxLoad); int weightproc = getCurrentLoad() * 1000 / maxLoad; int newWeightPenalty; if (weightproc < 500 || _dietMode) { newWeightPenalty = 0; } else if (weightproc < 666) { newWeightPenalty = 1; } else if ( weightproc < 800) { newWeightPenalty = 2; } else if (weightproc < 1000) { newWeightPenalty = 3; } else { newWeightPenalty = 4; } if (_curWeightPenalty != newWeightPenalty) { _curWeightPenalty = newWeightPenalty; if (newWeightPenalty > 0 && !_dietMode) { super.addSkill(SkillTable.getInstance().getInfo(4270,newWeightPenalty)); } else { super.removeSkill(getKnownSkill(4270)); } super.updateEffectIcons(); } } } public void refreshExpertisePenalty() { int newPenalty = 0; for (L2ItemInstance item : getInventory().getItems()) { if (item != null && item.isEquipped()) { int crystaltype = item.getItem().getCrystalType(); if (crystaltype > newPenalty) newPenalty = crystaltype;