Package lineage2.gameserver.model.entity.residence

Examples of lineage2.gameserver.model.entity.residence.Castle


      catch (Exception e)
      {
      }
      if (castleId > 0)
      {
        Castle castle = ResidenceHolder.getInstance().getResidence(Castle.class, castleId);
        castle.setCropProcure(new ArrayList<CropProcure>(), CastleManorManager.PERIOD_CURRENT);
        castle.setCropProcure(new ArrayList<CropProcure>(), CastleManorManager.PERIOD_NEXT);
        castle.setSeedProduction(new ArrayList<SeedProduction>(), CastleManorManager.PERIOD_CURRENT);
        castle.setSeedProduction(new ArrayList<SeedProduction>(), CastleManorManager.PERIOD_NEXT);
        castle.saveCropData();
        castle.saveSeedData();
        activeChar.sendMessage("Manor data for " + castle.getName() + " was nulled");
      }
      else
      {
        for (Castle castle : ResidenceHolder.getInstance().getResidenceList(Castle.class))
        {
          castle.setCropProcure(new ArrayList<CropProcure>(), CastleManorManager.PERIOD_CURRENT);
          castle.setCropProcure(new ArrayList<CropProcure>(), CastleManorManager.PERIOD_NEXT);
          castle.setSeedProduction(new ArrayList<SeedProduction>(), CastleManorManager.PERIOD_CURRENT);
          castle.setSeedProduction(new ArrayList<SeedProduction>(), CastleManorManager.PERIOD_NEXT);
          castle.saveCropData();
          castle.saveSeedData();
        }
        activeChar.sendMessage("Manor data was nulled");
      }
      showMainPage(activeChar);
    }
View Full Code Here


      if (command.equalsIgnoreCase("TerritoryStatus"))
      {
        NpcHtmlMessage html = new NpcHtmlMessage(player, this);
        html.setFile("merchant/territorystatus.htm");
        html.replace("%npcname%", getName());
        Castle castle = getCastle(player);
        if ((castle != null) && (castle.getId() > 0))
        {
          html.replace("%castlename%", HtmlUtils.htmlResidenceName(castle.getId()));
          html.replace("%taxpercent%", String.valueOf(castle.getTaxPercent()));
          if (castle.getOwnerId() > 0)
          {
            Clan clan = ClanTable.getInstance().getClan(castle.getOwnerId());
            if (clan != null)
            {
              html.replace("%clanname%", clan.getName());
              html.replace("%clanleadername%", clan.getLeaderName());
            }
            else
            {
              html.replace("%clanname%", "unexistant clan");
              html.replace("%clanleadername%", "None");
            }
          }
          else
          {
            html.replace("%clanname%", "NPC");
            html.replace("%clanleadername%", "None");
          }
        }
        else
        {
          html.replace("%castlename%", "Open");
          html.replace("%taxpercent%", "0");
          html.replace("%clanname%", "No");
          html.replace("%clanleadername%", getName());
        }
        player.sendPacket(html);
      }
      else if (command.startsWith("Quest"))
      {
        String quest = command.substring(5).trim();
        if (quest.length() == 0)
        {
          showQuestWindow(player);
        }
        else
        {
          showQuestWindow(player, quest);
        }
      }
      else if (command.startsWith("Chat"))
      {
        try
        {
          int val = Integer.parseInt(command.substring(5));
          showChatWindow(player, val);
        }
        catch (NumberFormatException nfe)
        {
          String filename = command.substring(5).trim();
          if (filename.length() == 0)
          {
            showChatWindow(player, "npcdefault.htm");
          }
          else
          {
            showChatWindow(player, filename);
          }
        }
      }
      else if (command.startsWith("AttributeCancel"))
      {
        player.sendPacket(new ExShowBaseAttributeCancelWindow(player));
      }
      else if (command.startsWith("NpcLocationInfo"))
      {
        int val = Integer.parseInt(command.substring(16));
        NpcInstance npc = GameObjectsStorage.getByNpcId(val);
        if (npc != null)
        {
          player.sendPacket(new RadarControl(2, 2, npc.getLoc()));
          player.sendPacket(new RadarControl(0, 1, npc.getLoc()));
        }
      }
      else if (command.startsWith("Multisell") || command.startsWith("multisell"))
      {
        String listId = command.substring(9).trim();
        Castle castle = getCastle(player);
        MultiSellHolder.getInstance().SeparateAndSend(Integer.parseInt(listId), player, castle != null ? castle.getTaxRate() : 0);
      }
      else if (command.startsWith("ChangeDCRoom"))
      {
        if (player.isInParty() && player.getParty().isInReflection() && (player.getParty().getReflection() instanceof DelusionChamber))
        {
View Full Code Here

      {
        showChatWindow(player, "trainer/" + getNpcId() + "-nobuy.htm");
        return;
      }
    }
    Castle castle = getCastle(player);
    MultiSellHolder.getInstance().SeparateAndSend(32323, player, /**
     * Method showTransformationSkillList.
     * @param player Player
     * @param type AcquireType
     */
    castle != null ? castle.getTaxRate() : 0);
    player.sendActionFailed();
  }
View Full Code Here

      return;
    }
    double taxRate = 0;
    if (tax)
    {
      Castle castle = getCastle(player);
      if (castle != null)
      {
        taxRate = castle.getTaxRate();
      }
    }
    NpcTradeList list = BuyListHolder.getInstance().getBuyList(listId);
    if ((list == null) || (list.getNpcId() == getNpcId()))
    {
View Full Code Here

      if (st.countTokens() < 1)
      {
        return;
      }
      int val = Integer.parseInt(st.nextToken());
      Castle castle = getCastle(player);
      MultiSellHolder.getInstance().SeparateAndSend(val, player, castle != null ? castle.getTaxRate() : 0);
    }
    else if (actualCommand.equalsIgnoreCase("ReceivePremium"))
    {
      if (player.getPremiumItemList().isEmpty())
      {
View Full Code Here

  {
    if (getTemplate().getCastleId() == 0)
    {
      return null;
    }
    Castle castle = ResidenceHolder.getInstance().getResidence(getTemplate().getCastleId());
    if (castle.getOwner() == null)
    {
      return null;
    }
    if (castle.getOwner().getLevel() > 6) //TODO NEED CHECK WHEN NPC SHOULD BE OF A CLAN
      return castle.getOwner();
    else
      return null;
  }
View Full Code Here

      String params = command.substring(command.indexOf("?") + 1);
      StringTokenizer st = new StringTokenizer(params, "&");
      int ask = Integer.parseInt(st.nextToken().split("=")[1]);
      int state = Integer.parseInt(st.nextToken().split("=")[1]);
      int time = Integer.parseInt(st.nextToken().split("=")[1]);
      Castle castle = getCastle();
      int castleId;
      if (state == -1)
      {
        castleId = castle.getId();
      }
      else
      {
        castleId = state;
      }
      switch (ask)
      {
        case 1:
          if (castleId != castle.getId())
          {
            player.sendPacket(Msg._HERE_YOU_CAN_BUY_ONLY_SEEDS_OF_S1_MANOR);
          }
          else
          {
            NpcTradeList tradeList = new NpcTradeList(0);
            List<SeedProduction> seeds = castle.getSeedProduction(CastleManorManager.PERIOD_CURRENT);
            for (SeedProduction s : seeds)
            {
              TradeItem item = new TradeItem();
              item.setItemId(s.getId());
              item.setOwnersPrice(s.getPrice());
              item.setCount(s.getCanProduce());
              if ((item.getCount() > 0) && (item.getOwnersPrice() > 0))
              {
                tradeList.addItem(item);
              }
            }
            BuyListSeed bl = new BuyListSeed(tradeList, castleId, player.getAdena());
            player.sendPacket(bl);
          }
          break;
        case 2:
          player.sendPacket(new ExShowSellCropList(player, castleId, castle.getCropProcure(CastleManorManager.PERIOD_CURRENT)));
          break;
        case 3:
          if ((time == 1) && !ResidenceHolder.getInstance().getResidence(Castle.class, castleId).isNextPeriodApproved())
          {
            player.sendPacket(new ExShowSeedInfo(castleId, Collections.<SeedProduction> emptyList()));
View Full Code Here

    Player player = getClient().getActiveChar();
    if (player == null)
    {
      return;
    }
    Castle castle = ResidenceHolder.getInstance().getResidence(Castle.class, _id);
    if (castle == null)
    {
      return;
    }
    if (player.getClan().getCastle() != castle.getId())
    {
      return;
    }
    if ((player.getClanPrivileges() & Clan.CP_CS_MANAGE_SIEGE) != Clan.CP_CS_MANAGE_SIEGE)
    {
      player.sendPacket(SystemMsg.YOU_DO_NOT_HAVE_THE_AUTHORITY_TO_MODIFY_THE_SIEGE_TIME);
      return;
    }
    CastleSiegeEvent siegeEvent = castle.getSiegeEvent();
    siegeEvent.setNextSiegeTime(_time);
    player.sendPacket(new CastleSiegeInfo(castle, player));
  }
View Full Code Here

    if (!activeChar.isGM() && ((manor == null) || !activeChar.isInRange(manor, Creature.INTERACTION_DISTANCE)))
    {
      activeChar.sendActionFailed();
      return;
    }
    Castle castle = ResidenceHolder.getInstance().getResidence(Castle.class, _manorId);
    if (castle == null)
    {
      return;
    }
    long totalPrice = 0;
    int slots = 0;
    long weight = 0;
    try
    {
      for (int i = 0; i < _count; i++)
      {
        int seedId = _items[i];
        long count = _itemQ[i];
        long price = 0;
        long residual = 0;
        SeedProduction seed = castle.getSeed(seedId, CastleManorManager.PERIOD_CURRENT);
        price = seed.getPrice();
        residual = seed.getCanProduce();
        if (price < 1)
        {
          return;
        }
        if (residual < count)
        {
          return;
        }
        totalPrice = SafeMath.addAndCheck(totalPrice, SafeMath.mulAndCheck(count, price));
        ItemTemplate item = ItemHolder.getInstance().getTemplate(seedId);
        if (item == null)
        {
          return;
        }
        weight = SafeMath.addAndCheck(weight, SafeMath.mulAndCheck(count, item.getWeight()));
        if (!item.isStackable() || (activeChar.getInventory().getItemByItemId(seedId) == null))
        {
          slots++;
        }
      }
    }
    catch (ArithmeticException ae)
    {
      sendPacket(Msg.YOU_HAVE_EXCEEDED_THE_QUANTITY_THAT_CAN_BE_INPUTTED);
      return;
    }
    activeChar.getInventory().writeLock();
    try
    {
      if (!activeChar.getInventory().validateWeight(weight))
      {
        sendPacket(Msg.YOU_HAVE_EXCEEDED_THE_WEIGHT_LIMIT);
        return;
      }
      if (!activeChar.getInventory().validateCapacity(slots))
      {
        sendPacket(Msg.YOUR_INVENTORY_IS_FULL);
        return;
      }
      if (!activeChar.reduceAdena(totalPrice, true))
      {
        sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
        return;
      }
      castle.addToTreasuryNoTax(totalPrice, false, true);
      for (int i = 0; i < _count; i++)
      {
        int seedId = _items[i];
        long count = _itemQ[i];
        SeedProduction seed = castle.getSeed(seedId, CastleManorManager.PERIOD_CURRENT);
        seed.setCanProduce(seed.getCanProduce() - count);
        castle.updateSeed(seed.getId(), seed.getCanProduce(), CastleManorManager.PERIOD_CURRENT);
        activeChar.getInventory().addItem(seedId, count);
        activeChar.sendPacket(SystemMessage2.obtainItems(seedId, count, 0));
      }
    }
    finally
View Full Code Here

    if (activeChar.getClan() == null)
    {
      activeChar.sendActionFailed();
      return;
    }
    Castle caslte = ResidenceHolder.getInstance().getResidence(Castle.class, _manorId);
    if ((caslte.getOwnerId() != activeChar.getClanId()) || ((activeChar.getClanPrivileges() & Clan.CP_CS_MANOR_ADMIN) != Clan.CP_CS_MANOR_ADMIN))
    {
      activeChar.sendActionFailed();
      return;
    }
    List<CropProcure> crops = new ArrayList<>(_count);
    for (int i = 0; i < _count; i++)
    {
      int id = (int) _items[(i * 4) + 0];
      long sales = _items[(i * 4) + 1];
      long price = _items[(i * 4) + 2];
      int type = (int) _items[(i * 4) + 3];
      if (id > 0)
      {
        CropProcure s = CastleManorManager.getInstance().getNewCropProcure(id, sales, type, price, sales);
        crops.add(s);
      }
    }
    caslte.setCropProcure(crops, CastleManorManager.PERIOD_NEXT);
    caslte.saveCropData(CastleManorManager.PERIOD_NEXT);
  }
View Full Code Here

TOP

Related Classes of lineage2.gameserver.model.entity.residence.Castle

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.