Package net.sf.l2j.gameserver.model.actor.instance

Examples of net.sf.l2j.gameserver.model.actor.instance.L2PetInstance$FeedTask


        _summon = summon;
        _maxHp = _summon.getMaxHp();
    _maxMp = _summon.getMaxMp();
    if (_summon instanceof L2PetInstance)
    {
      L2PetInstance pet = (L2PetInstance)_summon;
      _curFed = pet.getCurrentFed(); // how fed it is
      _maxFed = pet.getMaxFed(); //max fed it can be
    }
  }
View Full Code Here


                activeChar.sendMessage("Target is not ingame.");
            }

          break;
        case 1: // pet summons
          L2PetInstance petSummon = L2PetInstance.spawnPet(npcTemplate, activeChar, item);

        if (petSummon == null)
          break;

        petSummon.setTitle(activeChar.getName());

        if (!petSummon.isRespawned())
        {
          petSummon.setCurrentHp(petSummon.getMaxHp());
          petSummon.setCurrentMp(petSummon.getMaxMp());
          petSummon.getStat().setExp(petSummon.getExpForThisLevel());
          petSummon.setCurrentFed(petSummon.getMaxFed());
        }

        petSummon.setRunning();

        if (!petSummon.isRespawned())
          petSummon.store();

            activeChar.setPet(petSummon);

        activeChar.sendPacket(new MagicSkillUser(activeChar, 2046, 1, 1000, 600000));
        activeChar.sendPacket(new SystemMessage(SystemMessageId.SUMMON_A_PET));
            L2World.getInstance().storeObject(petSummon);
        petSummon.spawnMe(activeChar.getX()+50, activeChar.getY()+100, activeChar.getZ());
            activeChar.sendPacket(new PetInfo(petSummon));
        petSummon.startFeed(false);
        item.setEnchantLevel(petSummon.getLevel());

        ThreadPoolManager.getInstance().scheduleGeneral(new PetSummonFinalizer(activeChar, petSummon), 900);

        if (petSummon.getCurrentFed() <= 0)
          ThreadPoolManager.getInstance().scheduleGeneral(new PetSummonFeedWait(activeChar, petSummon), 60000);
        else
          petSummon.startFeed(false);

          break;
        case 2: // wyvern
          if(!activeChar.disarmWeapons()) return;
          Ride mount = new Ride(activeChar.getObjectId(), Ride.ACTION_MOUNT, sitem.getNpcId());
View Full Code Here

    else if (command.startsWith("admin_fullfood"))
    {
      L2Object target = activeChar.getTarget();
      if (target instanceof L2PetInstance)
      {
        L2PetInstance targetPet = (L2PetInstance)target;
        targetPet.setCurrentFed(targetPet.getMaxFed());
      }
      else
        activeChar.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
    }
View Full Code Here

    _swimWalkSpd = _flWalkSpd = _flyWalkSpd = _walkSpd;
    _maxHp = _summon.getMaxHp();
    _maxMp = _summon.getMaxMp();
    if (_summon instanceof L2PetInstance)
        {
      L2PetInstance pet = (L2PetInstance)_summon;
      _curFed = pet.getCurrentFed(); // how fed it is
      _maxFed = pet.getMaxFed(); //max fed it can be
    }
  }
View Full Code Here

      // if this player has a pet that takes from the owner's Exp, give the pet Exp now

      if (activeChar.getPet() instanceof L2PetInstance )
      {
        L2PetInstance pet = (L2PetInstance) activeChar.getPet();
        ratioTakenByPet = pet.getPetData().getOwnerExpTaken();

        // only give exp/sp to the pet by taking from the owner if the pet has a non-zero, positive ratio
        // allow possible customizations that would have the pet earning more than 100% of the owner's exp/sp
        if (ratioTakenByPet > 0 && !pet.isDead())
          pet.addExpAndSp((long)(addToExp*ratioTakenByPet), (int)(addToSp*ratioTakenByPet));
        // now adjust the max ratio to avoid the owner earning negative exp/sp
        if (ratioTakenByPet > 1)
          ratioTakenByPet = 1;
        addToExp = (long)(addToExp*(1-ratioTakenByPet));
        addToSp = (int)(addToSp*(1-ratioTakenByPet));
 
View Full Code Here

            L2PcInstance targetPlayer = null;

            if (target instanceof L2PcInstance)
              targetPlayer = (L2PcInstance)target;

            L2PetInstance targetPet = null;

            if (target instanceof L2PetInstance)
              targetPet = (L2PetInstance)target;

            if (targetPlayer != null || targetPet != null)
            {
                boolean condGood = true;

                //check target is not in a active siege zone
                Castle castle = null;

                if (targetPlayer != null)
                  castle = CastleManager.getInstance().getCastle(targetPlayer.getX(), targetPlayer.getY(), targetPlayer.getZ());
                else
                  castle = CastleManager.getInstance().getCastle(targetPet.getX(), targetPet.getY(), targetPet.getZ());

              if (castle != null
                  && castle.getSiege().getIsInProgress())
              {
                    condGood = false;
                    activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_BE_RESURRECTED_DURING_SIEGE));
              }

                if (targetPet != null)
                {
                  if (targetPet.getOwner() != activeChar)
                    {
                    if (targetPet.getOwner().isReviveRequested())
                    {
                      if (targetPet.getOwner().isRevivingPet())
                        activeChar.sendPacket(new SystemMessage(SystemMessageId.RES_HAS_ALREADY_BEEN_PROPOSED)); // Resurrection is already been proposed.
                      else
                        activeChar.sendPacket(new SystemMessage(SystemMessageId.PET_CANNOT_RES)); // A pet cannot be resurrected while it's owner is in the process of resurrecting.
                            condGood = false;
                    }
View Full Code Here

        {
            player.sendMessage("Cannot exchange items while trading");
            return;
        }

        L2PetInstance pet = (L2PetInstance)player.getPet();
    if (pet.isDead())
    {
      sendPacket(new SystemMessage(SystemMessageId.CANNOT_GIVE_ITEMS_TO_DEAD_PET));
      return;
    }

    if(_amount < 0)
    {
      return;
    }

    if (player.transferItem("Transfer", _objectId, _amount, pet.getInventory(), pet) == null)
    {
      _log.warning("Invalid item transfer request: " + pet.getName() + "(pet) --> " + player.getName());
    }
  }
View Full Code Here

                    if (activeChar instanceof L2PcInstance) player = (L2PcInstance) activeChar;
                    L2PcInstance targetPlayer = null;

                    if (target instanceof L2PcInstance) targetPlayer = (L2PcInstance) target;
                    L2PetInstance targetPet = null;

                    if (target instanceof L2PetInstance) targetPet = (L2PetInstance) target;

                    if (player != null && (targetPlayer != null || targetPet != null))
                    {
                        boolean condGood = true;

                        if (getSkillType() == SkillType.RESURRECT)
                        {
                            // check target is not in a active siege zone
                          if (target.isInsideZone(L2Character.ZONE_SIEGE))
                            {
                                condGood = false;
                                player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_BE_RESURRECTED_DURING_SIEGE));
                            }

                            if (targetPlayer != null)
                            {
                              if (targetPlayer.isReviveRequested())
                              {
                                if (targetPlayer.isRevivingPet())
                                  player.sendPacket(new SystemMessage(SystemMessageId.MASTER_CANNOT_RES)); // While a pet is attempting to resurrect, it cannot help in resurrecting its master.
                                else
                                  player.sendPacket(new SystemMessage(SystemMessageId.RES_HAS_ALREADY_BEEN_PROPOSED)); // Resurrection is already been proposed.
                                    condGood = false;
                              }
                            }
                            else if (targetPet != null)
                            {
                                if (targetPet.getOwner() != player)
                                {
                                    condGood = false;
                                    player.sendMessage("You are not the owner of this pet");
                                }
                            }
View Full Code Here

        else
        {
          // if it is a pet and not a summon
          if (pet instanceof L2PetInstance)
          {
            L2PetInstance petInst = (L2PetInstance)pet;

            // if the pet is more than 40% fed
            if (petInst.getCurrentFed() > (petInst.getMaxFed() * 0.40))
              pet.unSummon(activeChar);
            else
              activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_RESTORE_HUNGRY_PETS));
          }
        }
View Full Code Here

    L2PcInstance activeChar = getClient().getActiveChar();

    if (activeChar == null)
        return;

    L2PetInstance pet = (L2PetInstance)activeChar.getPet();

    if (pet == null)
      return;

    L2ItemInstance item = pet.getInventory().getItemByObjectId(_objectId);

        if (item == null)
            return;

        if (item.isWear())
            return;

    int itemId = item.getItemId();

    if (activeChar.isAlikeDead() || pet.isDead())
        {
      SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
      sm.addItemName(item.getItemId());
      activeChar.sendPacket(sm);
      sm = null;
      return;
    }

    if (Config.DEBUG)
            _log.finest(activeChar.getObjectId()+": pet use item " + _objectId);

    //check if the item matches the pet
    if (item.isEquipable())
    {
      if (L2PetDataTable.isWolf(pet.getNpcId()) && // wolf
                    item.getItem().isForWolf())
      {
        useItem(pet, item, activeChar);
        return;
      }
      else if (L2PetDataTable.isHatchling(pet.getNpcId()) && // hatchlings
                        item.getItem().isForHatchling())
      {
        useItem(pet, item, activeChar);
        return;
      }
            else if (L2PetDataTable.isStrider(pet.getNpcId()) && // striders
                    item.getItem().isForStrider())
            {
                useItem(pet, item, activeChar);
                return;
            }
            else if (L2PetDataTable.isBaby(pet.getNpcId()) && // baby pets (buffalo, cougar, kookaboora)
                    item.getItem().isForBabyPet())
            {
                useItem(pet, item, activeChar);
                return;
            }
      else
      {
        activeChar.sendPacket(new SystemMessage(SystemMessageId.ITEM_NOT_FOR_PETS));
                return;
      }
    }
    else if (L2PetDataTable.isPetFood(itemId))
    {
      if (L2PetDataTable.isWolf(pet.getNpcId()) && L2PetDataTable.isWolfFood(itemId))
      {
        feed(activeChar, pet, item);
        return;
      }
      if (L2PetDataTable.isSinEater(pet.getNpcId()) && L2PetDataTable.isSinEaterFood(itemId))
      {
        feed(activeChar, pet, item);
        return;
      }
      else if (L2PetDataTable.isHatchling(pet.getNpcId()) && L2PetDataTable.isHatchlingFood(itemId))
      {
        feed(activeChar, pet, item);
        return;
      }
      else if (L2PetDataTable.isStrider(pet.getNpcId()) && L2PetDataTable.isStriderFood(itemId))
      {
        feed(activeChar, pet, item);
        return;
      }
      else if (L2PetDataTable.isWyvern(pet.getNpcId()) && L2PetDataTable.isWyvernFood(itemId))
      {
        feed(activeChar, pet, item);
        return;
      }
      else if (L2PetDataTable.isBaby(pet.getNpcId()) && L2PetDataTable.isBabyFood(itemId))
      {
        feed(activeChar, pet, item);
      }
    }
View Full Code Here

TOP

Related Classes of net.sf.l2j.gameserver.model.actor.instance.L2PetInstance$FeedTask

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.