Example #1
0
  @Override
  public void setLevel(byte value) {
    getActiveChar()
        .setPetData(
            PetDataTable.getInstance()
                .getPetLevelData(getActiveChar().getTemplate().getId(), value));
    if (getActiveChar().getPetLevelData() == null) {
      throw new IllegalArgumentException(
          "No pet data for npc: " + getActiveChar().getTemplate().getId() + " level: " + value);
    }
    getActiveChar().stopFeed();
    super.setLevel(value);

    getActiveChar().startFeed();

    if (getActiveChar().getControlItem() != null) {
      getActiveChar().getControlItem().setEnchantLevel(getLevel());
    }
  }
Example #2
0
  @Override
  public void setLevel(byte value) {
    getActiveChar()
        .setPetData(
            PetDataTable.getInstance()
                .getPetLevelData(getActiveChar().getTemplate().getNpcId(), value));

    getActiveChar().stopFeed();
    super.setLevel(value); // Set level.
    getActiveChar().startFeed();

    // If a control item exists and its level is different of the new level.
    final L2ItemInstance controlItem = getActiveChar().getControlItem();
    if (controlItem != null && controlItem.getEnchantLevel() != getLevel()) {
      getActiveChar().sendPetInfosToOwner();

      controlItem.setEnchantLevel(getLevel());

      // Update item
      InventoryUpdate iu = new InventoryUpdate();
      iu.addModifiedItem(controlItem);
      getActiveChar().getOwner().sendPacket(iu);
    }
  }