public boolean updateFunctions( L2PcInstance player, int type, int lvl, int lease, long rate, boolean addNew) { if (player == null) return false; if (_log.isDebugEnabled()) _log.warn( "Called Fort.updateFunctions(int type, int lvl, int lease, long rate, boolean addNew) Owner : " + getOwnerId()); if (lease > 0) { if (!player.destroyItemByItemId("Consume", 57, lease, null, true)) return false; } if (addNew) _function.put(type, new FortFunction(type, lvl, lease, 0, rate, 0, false)); else { if (lvl == 0 && lease == 0) removeFunction(type); else { int diffLease = lease - _function.get(type).getLease(); if (_log.isDebugEnabled()) _log.warn("Called Fort.updateFunctions diffLease : " + diffLease); if (diffLease > 0) { _function.remove(type); _function.put(type, new FortFunction(type, lvl, lease, 0, rate, -1, false)); } else { _function.get(type).setLease(lease); _function.get(type).setLvl(lvl); _function.get(type).dbSave(false); } } } return true; }