private static boolean HatchlingSummoned(QuestState st, boolean CheckObjID) {
   Summon _pet = st.getPlayer().getSummonList().getPet();
   if (_pet == null) return false;
   if (CheckObjID) {
     int dragonflute_id = st.getInt("dragonflute");
     if (dragonflute_id == 0) return false;
     if (_pet.getControlItemObjId() != dragonflute_id) return false;
   }
   ItemInstance dragonflute = GetDragonflute(st);
   if (dragonflute == null) return false;
   if (PetDataTable.getControlItemId(_pet.getNpcId()) != dragonflute.getItemId()) return false;
   return true;
 }
Example #2
0
  public void evolve() {
    Player player = getSelf();
    NpcInstance npc = getNpc();
    if (player == null || npc == null) {
      return;
    }
    Summon pl_pet = player.getPet();
    if (player.getInventory().getItemByItemId(BABY_COUGAR_CHIME) == null) {
      show("scripts/services/petevolve/no_item.htm", player, npc);
      return;
    }
    if (pl_pet == null || pl_pet.isDead()) {
      show("scripts/services/petevolve/evolve_no.htm", player, npc);
      return;
    }
    if (pl_pet.getNpcId() != BABY_COUGAR) {
      show("scripts/services/petevolve/no_pet.htm", player, npc);
      return;
    }
    if (pl_pet.getLevel() < 55) {
      show("scripts/services/petevolve/no_level.htm", player, npc);
      return;
    }

    int controlItemId = player.getPet().getControlItemObjId();
    player.getPet().unSummon();

    ItemInstance control = player.getInventory().getItemByObjectId(controlItemId);
    control.setItemId(IN_COUGAR_CHIME);
    control.setEnchantLevel(L2Pet.IMPROVED_BABY_COUGAR.getMinLevel());
    control.setJdbcState(JdbcEntityState.UPDATED);
    control.update();
    player.sendItemList(false);

    show("scripts/services/petevolve/yes_pet.htm", player, npc);
  }