Package lineage2.gameserver.model.quest

Examples of lineage2.gameserver.model.quest.QuestState


    final Quest q = QuestManager.getQuest(_024_InhabitantsOfTheForestOfTheDead.class);
    if (q != null)
    {
      for (Player player : World.getAroundPlayers(getActor(), 300, 200))
      {
        QuestState questState = player.getQuestState(_024_InhabitantsOfTheForestOfTheDead.class);
        if ((questState != null) && (questState.getCond() == 3))
        {
          q.notifyEvent("seePlayer", questState, getActor());
        }
      }
    }
View Full Code Here


    final Quest q = QuestManager.getQuest(_024_InhabitantsOfTheForestOfTheDead.class);
    if (q != null)
    {
      for (Player player : World.getAroundPlayers(getActor(), 300, 200))
      {
        QuestState questState = player.getQuestState(_024_InhabitantsOfTheForestOfTheDead.class);
        if ((questState != null) && (questState.getCond() == 3))
        {
          q.notifyEvent("seePlayer", questState, getActor());
        }
      }
    }
View Full Code Here

          htmltext = "32140-05.htm";
          break;
        case CREATED:
          if (st.getPlayer().getLevel() >= 80)
          {
            QuestState qs = st.getPlayer().getQuestState(_10375_SuccubusDisciples.class);
            if ((st.getPlayer().getClassId().level() == 4) && (qs != null) && qs.isCompleted())
            {
              htmltext = "32140-01.htm";
            }
            else
            {
View Full Code Here

  }
 
  @Override
  public String onFirstTalk(NpcInstance npc, Player player)
  {
    QuestState qs = player.getQuestState(_137_TempleChampionPart1.class);
    if ((qs != null) && qs.isCompleted() && (player.getQuestState(getClass()) == null))
    {
      newQuestState(player, STARTED);
    }
    return "";
  }
View Full Code Here

  }
 
  public QuestState getLeader(QuestState st)
  {
    Clan clan = st.getPlayer().getClan();
    QuestState leader = null;
    if ((clan != null) && (clan.getLeader() != null) && (clan.getLeader().getPlayer() != null))
    {
      leader = clan.getLeader().getPlayer().getQuestState(getName());
    }
    return leader;
View Full Code Here

    if ((st.getPlayer() == null) || (st.getPlayer().getClan() == null))
    {
      st.exitCurrentQuest(true);
      return;
    }
    QuestState l;
    Player pleader = null;
    if (leader)
    {
      l = getLeader(st);
      if (l != null)
      {
        pleader = l.getPlayer();
      }
    }
    if (pleader != null)
    {
      pleader.stopImmobilized();
View Full Code Here

    if ((st.getPlayer() == null) || (st.getPlayer().getClan() == null))
    {
      st.exitCurrentQuest(true);
      return "noquest";
    }
    QuestState leader = getLeader(st);
    if (leader == null)
    {
      removeQuestFromMembers(st, true);
      return "Quest Failed";
    }
    String htmltext = event;
    if (st.getPlayer().isClanLeader())
    {
      if (event.equalsIgnoreCase("30756-03.htm"))
      {
        st.setCond(1);
        st.setState(STARTED);
        st.playSound(SOUND_ACCEPT);
      }
      else if (event.equalsIgnoreCase("30759-03.htm"))
      {
        st.setCond(2);
        st.set("dead_list", " ");
      }
      else if (event.equalsIgnoreCase("30759-07.htm"))
      {
        st.takeItems(SYMBOL_OF_LOYALTY, -1);
        st.giveItems(ANTIDOTE_RECIPE, 1);
        st.addNotifyOfDeath(st.getPlayer(), false);
        st.setCond(3);
        st.set("chest_count", "0");
        st.set("chest_game", "0");
        st.set("chest_try", "0");
        st.startQuestTimer("poison_timer", 3600000);
        st.getPlayer().altUseSkill(SkillTable.getInstance().getInfo(4082, 1), st.getPlayer());
        st.getPlayer().startImmobilized();
        htmltext = "30759-07.htm";
      }
    }
    if (event.equalsIgnoreCase("poison_timer"))
    {
      removeQuestFromMembers(st, true);
      htmltext = "30759-09.htm";
    }
    else if (event.equalsIgnoreCase("chest_timer"))
    {
      htmltext = "";
      if (leader.getInt("chest_game") < 2)
      {
        stop_chest_game(st);
      }
    }
    else if (event.equalsIgnoreCase("30757-04.htm"))
    {
      List<String> deadlist = new ArrayList<>();
      deadlist.addAll(Arrays.asList(leader.get("dead_list").split(" ")));
      deadlist.add(st.getPlayer().getName());
      String deadstr = "";
      for (String s : deadlist)
      {
        deadstr += s + " ";
      }
      leader.set("dead_list", deadstr);
      st.addNotifyOfDeath(leader.getPlayer(), false);
      if (Rnd.chance(50))
      {
        st.getPlayer().reduceCurrentHp(st.getPlayer().getCurrentHp() * 8, 0, st.getPlayer(), null, true, true, false, false, false, false, false);
      }
      st.giveItems(SYMBOL_OF_LOYALTY, 1);
View Full Code Here

    if ((st.getPlayer() == null) || (st.getPlayer().getClan() == null))
    {
      st.exitCurrentQuest(true);
      return htmltext;
    }
    QuestState leader = getLeader(st);
    if (leader == null)
    {
      removeQuestFromMembers(st, true);
      return "Quest Failed";
    }
    int npcId = npc.getNpcId();
    if (npcId == SIR_KRISTOF_RODEMAI)
    {
      if (!st.getPlayer().isClanLeader())
      {
        st.exitCurrentQuest(true);
        return "30756-10.htm";
      }
      else if (st.getPlayer().getClan().getLevel() <= 2)
      {
        st.exitCurrentQuest(true);
        return "30756-08.htm";
      }
      else if (st.getPlayer().getClan().getLevel() >= 4)
      {
        st.exitCurrentQuest(true);
        return "30756-09.htm";
      }
      else if (st.getQuestItemsCount(VOUCHER_OF_FAITH) > 0)
      {
        st.playSound(SOUND_FANFARE2);
        st.takeItems(VOUCHER_OF_FAITH, -1);
        st.giveItems(PROOF_OF_ALLIANCE, 1);
        st.addExpAndSp(0, 120000);
        htmltext = "30756-07.htm";
        st.exitCurrentQuest(true);
      }
      else if ((cond == 1) || (cond == 2))
      {
        return "30756-06.htm";
      }
      else if (st.getQuestItemsCount(PROOF_OF_ALLIANCE) == 0)
      {
        st.setCond(0);
        return "30756-01.htm";
      }
      else
      {
        st.exitCurrentQuest(true);
        return htmltext;
      }
    }
    else if (npcId == WITCH_KALIS)
    {
      if (st.getPlayer().isClanLeader())
      {
        if (cond == 1)
        {
          return "30759-01.htm";
        }
        else if (cond == 2)
        {
          htmltext = "30759-05.htm";
          if (st.getQuestItemsCount(SYMBOL_OF_LOYALTY) == 3)
          {
            int deads = 0;
            try
            {
              deads = st.get("dead_list").split(" ").length;
            }
            finally
            {
              if (deads == 3)
              {
                htmltext = "30759-06.htm";
              }
            }
          }
        }
        else if (cond == 3)
        {
          if ((st.getQuestItemsCount(HERB_OF_HARIT) > 0) && (st.getQuestItemsCount(HERB_OF_VANOR) > 0) && (st.getQuestItemsCount(HERB_OF_OEL_MAHUM) > 0) && (st.getQuestItemsCount(BLOOD_OF_EVA) > 0) && (st.getQuestItemsCount(ANTIDOTE_RECIPE) > 0))
          {
            st.takeItems(ANTIDOTE_RECIPE, 1);
            st.takeItems(HERB_OF_HARIT, 1);
            st.takeItems(HERB_OF_VANOR, 1);
            st.takeItems(HERB_OF_OEL_MAHUM, 1);
            st.takeItems(BLOOD_OF_EVA, 1);
            st.giveItems(POTION_OF_RECOVERY, 1);
            st.giveItems(VOUCHER_OF_FAITH, 1);
            st.cancelQuestTimer("poison_timer");
            removeQuestFromMembers(st, false);
            st.getPlayer().stopImmobilized();
            st.getPlayer().getEffectList().stopEffect(4082);
            st.setCond(4);
            st.playSound(SOUND_FINISH);
            return "30759-08.htm";
          }
          else if (st.getQuestItemsCount(VOUCHER_OF_FAITH) == 0)
          {
            return "30759-10.htm";
          }
        }
      }
      else if (leader.getCond() == 3)
      {
        return "30759-11.htm";
      }
    }
    else if (npcId == STATUE_OF_OFFERING)
    {
      if (st.getPlayer().isClanLeader())
      {
        return "30757-03.htm";
      }
      else if (st.getPlayer().getLevel() <= 39)
      {
        st.exitCurrentQuest(true);
        return "30757-02.htm";
      }
      else
      {
        String[] dlist;
        int deads;
        try
        {
          dlist = leader.get("dead_list").split(" ");
          deads = dlist.length;
        }
        catch (Exception e)
        {
          removeQuestFromMembers(st, true);
          return "Who are you?";
        }
        if (deads < 3)
        {
          for (String str : dlist)
          {
            if (st.getPlayer().getName().equalsIgnoreCase(str))
            {
              return "you cannot die again!";
            }
          }
          return "30757-01.htm";
        }
      }
    }
    else if (npcId == WITCH_ATHREA)
    {
      if (st.getPlayer().isClanLeader())
      {
        return "30757-03.htm";
      }
      String[] dlist;
      try
      {
        dlist = leader.get("dead_list").split(" ");
      }
      catch (Exception e)
      {
        st.exitCurrentQuest(true);
        return "Who are you?";
      }
      Boolean flag = false;
      if (dlist != null)
      {
        for (String str : dlist)
        {
          if (st.getPlayer().getName().equalsIgnoreCase(str))
          {
            flag = true;
          }
        }
      }
      if (!flag)
      {
        st.exitCurrentQuest(true);
        return "Who are you?";
      }
      int game_state = leader.getInt("chest_game");
      if (game_state == 0)
      {
        if (leader.getInt("chest_try") == 0)
        {
          return "30758-01.htm";
        }
        return "30758-05.htm";
      }
      else if (game_state == 1)
      {
        return "30758-09.htm";
      }
      else if (game_state == 2)
      {
        st.playSound(SOUND_FINISH);
        st.giveItems(BLOOD_OF_EVA, 1);
        st.cancelQuestTimer("chest_timer");
        stop_chest_game(st);
        leader.set("chest_game", "3");
        return "30758-08.htm";
      }
    }
    return htmltext;
  }
View Full Code Here

    if ((st.getPlayer() == null) || (st.getPlayer().getClan() == null))
    {
      st.exitCurrentQuest(true);
      return "noquest";
    }
    QuestState leader = getLeader(st);
    if (leader == null)
    {
      removeQuestFromMembers(st, true);
      return "Quest Failed";
    }
    int npcId = npc.getNpcId();
    if (!leader.isRunningQuestTimer("poison_timer"))
    {
      stop_chest_game(st);
      return "Quest Failed";
    }
    for (int[] m : MOBS)
    {
      if ((npcId == m[0]) && (st.getInt(String.valueOf(m[1])) == 0))
      {
        if (Rnd.chance(RATE))
        {
          st.giveItems(m[1], 1);
          leader.set(String.valueOf(m[1]), "1");
          st.playSound(SOUND_MIDDLE);
          return null;
        }
      }
    }
    for (int i : CHESTS)
    {
      if (npcId == i)
      {
        if (!leader.isRunningQuestTimer("chest_timer"))
        {
          stop_chest_game(st);
          return "Time is up!";
        }
        if (Rnd.chance(25))
        {
          Functions.npcSay(npc, "###### BINGO! ######");
          int count = leader.getInt("chest_count");
          if (count < 4)
          {
            count += 1;
            leader.set("chest_count", String.valueOf(count));
          }
          if (count >= 4)
          {
            stop_chest_game(st);
            leader.set("chest_game", "2");
            leader.cancelQuestTimer("chest_timer");
            st.playSound(SOUND_MIDDLE);
          }
          else
          {
            st.playSound(SOUND_ITEMGET);
View Full Code Here

    {
      if (player.getClassLevel() == 1)
      {
        if (player.getVar("NewGuidReward") == null)
        {
          QuestState qs = player.getQuestState("_999_T1Tutorial");
          if (qs != null)
          {
            qs.unset("step");
          }
          player.setVar("NewGuidReward", "1", -1);
          boolean isMage = (player.getRace() != Race.orc) && player.getClassId().isMage();
          if (isMage)
          {
View Full Code Here

TOP

Related Classes of lineage2.gameserver.model.quest.QuestState

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.