Package l2p.gameserver.model.instances

Examples of l2p.gameserver.model.instances.L2MonsterInstance


        try
        {
          L2ItemInstance item = L2ItemInstance.restoreFromDb(rset.getInt("object_id"), true);
          if(temp.size() > 0)
          {
            L2MonsterInstance monster = (L2MonsterInstance) temp.toArray()[Rnd.get(temp.size())];
            monster.giveItem(item, false);
          }
          else
          {
            NpcTable.getTemplate(rset.getInt("owner_id")).giveItem(item, false);
          }
View Full Code Here


    {
      if(targ == null || !targ.isMonster() || !targ.isDead() || !((L2MonsterInstance) targ).isSpoiled())
      {
        continue;
      }
      L2MonsterInstance target = (L2MonsterInstance) targ;
      if(!target.isSpoiled(player))
      {
        activeChar.sendPacket(Msg.THERE_ARE_NO_PRIORITY_RIGHTS_ON_A_SWEEPER);
        continue;
      }
      L2ItemInstance[] items = target.takeSweep();
      if(items == null)
      {
        activeChar.getAI().setAttackTarget(null);
        target.endDecayTask();
        continue;
      }
      target.setSpoiled(false, null);
      for(L2ItemInstance item : items)
      {
        if(player.isInParty() && player.getParty().isDistributeSpoilLoot())
        {
          player.getParty().distributeItem(player, item);
          continue;
        }
        long itemCount = item.getCount();
        if(player.getInventoryLimit() <= player.getInventory().getSize() && (!item.isStackable() || player.getInventory().getItemByItemId(item.getItemId()) == null))
        {
          item.dropToTheGround(player, target);
          continue;
        }
        item = player.getInventory().addItem(item);
        Log.LogItem(player, target, Log.SweepItem, item);
        SystemMessage smsg;
        if(itemCount == 1)
        {
          smsg = new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S1);
          smsg.addItemName(item.getItemId());
          player.sendPacket(smsg);
        }
        else
        {
          smsg = new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S2_S1);
          smsg.addItemName(item.getItemId());
          smsg.addNumber(itemCount);
          player.sendPacket(smsg);
        }
        if(player.isInParty())
        {
          if(itemCount == 1)
          {
            smsg = new SystemMessage(SystemMessage.S1_HAS_OBTAINED_S2_BY_USING_SWEEPER);
            smsg.addString(player.getName());
            smsg.addItemName(item.getItemId());
            player.getParty().broadcastToPartyMembers(player, smsg);
          }
          else
          {
            smsg = new SystemMessage(SystemMessage.S1_HAS_OBTAINED_3_S2_S_BY_USING_SWEEPER);
            smsg.addString(player.getName());
            smsg.addItemName(item.getItemId());
            smsg.addNumber(itemCount);
            player.getParty().broadcastToPartyMembers(player, smsg);
          }
        }
      }
      activeChar.getAI().setAttackTarget(null);
      target.endDecayTask();
    }
  }
View Full Code Here

    if(player.isImobilised() || player.isCastingNow())
    {
      player.sendActionFailed();
      return;
    }
    L2MonsterInstance target = (L2MonsterInstance) player.getTarget();
    // u can use soul crystal only when target hp goes to <50%
    if(target.getCurrentHpPercents() >= 50)
    {
      player.sendPacket(Msg.THE_SOUL_CRYSTAL_WAS_NOT_ABLE_TO_ABSORB_A_SOUL, Msg.ActionFail);
      return;
    }
    // Soul Crystal Casting section
View Full Code Here

    }
    for(L2NpcInstance npc : L2World.getAroundNpc(actor, 1000, 200))
    {
      if(Rnd.chance(10) && npc != null && npc.getNpcId() == 20235)
      {
        L2MonsterInstance monster = (L2MonsterInstance) npc;
        if(Rnd.chance(20))
        {
          addTaskCast(monster, actor.getKnownSkill(1467));
        }
        else
View Full Code Here

  }

  private static void spawn(int id, GArray<Location> points)
  {
    L2NpcTemplate template = NpcTable.getTemplate(id);
    L2MonsterInstance monster = new L2MonsterInstance(IdFactory.getInstance().getNextId(), template);
    monster.setCurrentHpMp(monster.getMaxHp(), monster.getMaxMp(), true);
    monster.setXYZ(points.get(0).x, points.get(0).y, points.get(0).z);
    MonstersAI ai = new MonstersAI(monster);
    monster.setAI(ai);
    monster.spawnMe();
    ai.setPoints(points);
    ai.startAITask();
    _spawns.add(monster);
  }
View Full Code Here

    if(target != null)
    {
      oldGilmore = target.getStoredId();
      target.decayMe();
      L2NpcTemplate template = NpcTable.getTemplate(Gilmore);
      L2MonsterInstance monster = new L2MonsterInstance(IdFactory.getInstance().getNextId(), template);
      monster.setCurrentHpMp(monster.getMaxHp(), monster.getMaxMp(), true);
      monster.setXYZ(73329, 117705, -3741);
      GilmoreAI ai = new GilmoreAI(monster);
      monster.setAI(ai);
      monster.spawnMe();
      ai.startAITask();
      _spawns.add(monster);
    }
  }
View Full Code Here

    if(!player.getTarget().isMonster() || player.getTarget() instanceof L2RaidBossInstance || player.getTarget() instanceof L2MinionInstance && ((L2MinionInstance) player.getTarget()).getLeader() instanceof L2RaidBossInstance || player.getTarget() instanceof L2ChestInstance || ((L2MonsterInstance) playable.getTarget()).getChampion() > 0 && !item.isAltSeed())
    {
      player.sendPacket(Msg.THE_TARGET_IS_UNAVAILABLE_FOR_SEEDING);
      return;
    }
    L2MonsterInstance target = (L2MonsterInstance) playable.getTarget();
    if(target == null)
    {
      player.sendPacket(Msg.INVALID_TARGET);
      return;
    }
    // Моб мертв
    if(target.isDead())
    {
      player.sendPacket(Msg.INVALID_TARGET);
      return;
    }
    // Уже посеяно
    if(target.isSeeded())
    {
      player.sendPacket(Msg.THE_SEED_HAS_BEEN_SOWN);
      return;
    }
    int seedId = item.getItemId();
View Full Code Here

    }
    for(L2Character target : targets)
    {
      if(target != null)
      {
        L2MonsterInstance monster = (L2MonsterInstance) target;
        if(monster.isSeeded())
        {
          continue;
        }
        // обработка
        double SuccessRate = Config.MANOR_SOWING_BASIC_SUCCESS;
        double diffPlayerTarget = Math.abs(activeChar.getLevel() - target.getLevel());
        double diffSeedTarget = Math.abs(L2Manor.getInstance().getSeedLevel(seed_id) - target.getLevel());
        // Штраф, на разницу уровней между мобом и игроком
        // 5% на каждый уровень при разнице >5 - по умолчанию
        if(diffPlayerTarget > Config.MANOR_DIFF_PLAYER_TARGET)
        {
          SuccessRate -= (diffPlayerTarget - Config.MANOR_DIFF_PLAYER_TARGET) * Config.MANOR_DIFF_PLAYER_TARGET_PENALTY;
        }
        // Штраф, на разницу уровней между семечкой и мобом
        // 5% на каждый уровень при разнице >5 - по умолчанию
        if(diffSeedTarget > Config.MANOR_DIFF_SEED_TARGET)
        {
          SuccessRate -= (diffSeedTarget - Config.MANOR_DIFF_SEED_TARGET) * Config.MANOR_DIFF_SEED_TARGET_PENALTY;
        }
        if(ItemTable.getInstance().getTemplate(seed_id).isAltSeed())
        {
          SuccessRate *= Config.MANOR_SOWING_ALT_BASIC_SUCCESS / Config.MANOR_SOWING_BASIC_SUCCESS;
        }
        // Минимальный шанс успеха всегда 1%
        if(SuccessRate < 1)
        {
          SuccessRate = 1;
        }
        if(Config.SKILLS_SHOW_CHANCE && !player.getVarB("SkillsHideChance"))
        {
          activeChar.sendMessage(new CustomMessage("l2p.gameserver.skills.skillclasses.Sowing.Chance", activeChar).addNumber((long) SuccessRate));
        }
        if(Rnd.chance(SuccessRate))
        {
          monster.setSeeded(seedItem.getItem(), player);
          activeChar.sendPacket(Msg.THE_SEED_WAS_SUCCESSFULLY_SOWN);
        }
        else
        {
          activeChar.sendPacket(Msg.THE_SEED_WAS_NOT_SOWN);
View Full Code Here

      {
        if(!target.isMonster())
        {
          continue;
        }
        L2MonsterInstance monster = (L2MonsterInstance) target;
        // Не посеяно
        if(!monster.isSeeded())
        {
          activeChar.sendPacket(Msg.THE_HARVEST_FAILED_BECAUSE_THE_SEED_WAS_NOT_SOWN);
          continue;
        }
        if(!monster.isSeeded(player))
        {
          activeChar.sendPacket(Msg.YOU_ARE_NOT_AUTHORIZED_TO_HARVEST);
          continue;
        }
        double SuccessRate = Config.MANOR_HARVESTING_BASIC_SUCCESS;
        int diffPlayerTarget = Math.abs(activeChar.getLevel() - monster.getLevel());
        // Штраф, на разницу уровней между мобом и игроком
        // 5% на каждый уровень при разнице >5 - по умолчанию
        if(diffPlayerTarget > Config.MANOR_DIFF_PLAYER_TARGET)
        {
          SuccessRate -= (diffPlayerTarget - Config.MANOR_DIFF_PLAYER_TARGET) * Config.MANOR_DIFF_PLAYER_TARGET_PENALTY;
        }
        // Минимальный шанс успеха всегда 1%
        if(SuccessRate < 1)
        {
          SuccessRate = 1;
        }
        if(Config.SKILLS_SHOW_CHANCE && !player.getVarB("SkillsHideChance"))
        {
          player.sendMessage(new CustomMessage("l2p.gameserver.skills.skillclasses.Harvesting.Chance", player).addNumber((long) SuccessRate));
        }
        if(!Rnd.chance(SuccessRate))
        {
          activeChar.sendPacket(Msg.THE_HARVEST_HAS_FAILED);
          monster.takeHarvest();
          continue;
        }
        L2ItemInstance item = monster.takeHarvest();
        if(item == null)
        {
          System.out.println("Harvesting :: monster.takeHarvest() == null :: monster == " + monster);
          continue;
        }
View Full Code Here

  @Override
  public String onKill(L2NpcInstance npc, QuestState st)
  {
    int npcId = npc.getNpcId();
    L2MonsterInstance mob = (L2MonsterInstance) npc;
    boolean cond = st.getInt("cond") > 0;
    if(npcId == HunterBear)
    {
      if(cond && st.getQuestItemsCount(BEAR_PIC) == 1 && st.getQuestItemsCount(HONEY_JAR) < 5 && Rnd.chance(20))
      {
        st.addSpawn(HoneyBear);
      }
    }
    else if(npcId == HoneyBear)
    {
      if(cond && st.getQuestItemsCount(BEAR_PIC) == 1 && st.getQuestItemsCount(HONEY_JAR) < 5)
      {
        if(mob.isSpoiled())
        {
          st.giveItems(HONEY_JAR, 1);
          if(st.getQuestItemsCount(HONEY_JAR) == 5)
          {
            st.playSound(SOUND_MIDDLE);
            st.set("cond", "6");
          }
          else
          {
            st.playSound(SOUND_ITEMGET);
          }
        }
      }
    }
    else if(npcId == HunterTarantula || npcId == PlunderTarantula)
    {
      if(cond && st.getQuestItemsCount(TARANTULA_PIC) == 1 && st.getQuestItemsCount(BEAD) < 20)
      {
        if(mob.isSpoiled())
        {
          if(Rnd.chance(50))
          {
            st.giveItems(BEAD, 1);
            if(st.getQuestItemsCount(BEAD) == 20)
View Full Code Here

TOP

Related Classes of l2p.gameserver.model.instances.L2MonsterInstance

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.