示例#1
0
文件: Fort.java 项目: rean1m5/lucera2
 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;
 }