Example #1
0
  public boolean updateFunctions(
      L2PcInstance player, int type, int lvl, int lease, long rate, boolean addNew) {
    if (player == null) return false;

    if (_log.isDebugEnabled() || Config.DEBUG)
      _log.warn(
          "Called ClanHall.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) _functions.put(type, new ClanHallFunction(type, lvl, lease, 0, rate, 0, false));
    else {
      if (lvl == 0 && lease == 0) removeFunction(type);
      else {
        int diffLease = lease - _functions.get(type).getLease();
        if (_log.isDebugEnabled() || Config.DEBUG)
          _log.warn("Called ClanHall.updateFunctions diffLease : " + diffLease);
        if (diffLease > 0) {
          _functions.remove(type);
          _functions.put(type, new ClanHallFunction(type, lvl, lease, 0, rate, -1, false));
        } else {
          _functions.get(type).setLease(lease);
          _functions.get(type).setLvl(lvl);
          _functions.get(type).dbSave(false);
        }
      }
    }
    return true;
  }