Package lineage2.gameserver.model.quest

Examples of lineage2.gameserver.model.quest.QuestState


    {
      Quest q1 = QuestManager.getQuest(_184_NikolasCooperationContract.class);
      if (q1 != null)
      {
        st.giveItems(ADENA_ID, 26866);
        QuestState qs1 = q1.newQuestState(player, STARTED);
        q1.notifyEvent("30621-01.htm", qs1, npc);
        st.playSound(SOUND_MIDDLE);
        st.exitCurrentQuest(false);
      }
      return null;
    }
    else if (event.equalsIgnoreCase("Consideration"))
    {
      Quest q2 = QuestManager.getQuest(_185_NikolasCooperationConsideration.class);
      if (q2 != null)
      {
        st.giveItems(ADENA_ID, 18100);
        QuestState qs2 = q2.newQuestState(st.getPlayer(), STARTED);
        q2.notifyEvent("30621-01.htm", qs2, npc);
        st.playSound(SOUND_MIDDLE);
        st.exitCurrentQuest(false);
      }
      return null;
View Full Code Here


  public String onTalk(NpcInstance npc, QuestState st)
  {
    String htmltext = "noquest";
    int npcId = npc.getNpcId();
    int cond = st.getCond();
    QuestState GoodDayToFly = st.getPlayer().getQuestState(_10273_GoodDayToFly.class);
    if (npcId == Lekon)
    {
      if (cond == 0)
      {
        if ((st.getPlayer().getLevel() >= 75) && (GoodDayToFly != null) && GoodDayToFly.isCompleted())
        {
          htmltext = "lekon_q699_1.htm";
        }
        else
        {
View Full Code Here

            Party party = st.getPlayer().getParty();
            if (party != null)
            {
              for (Player member : party.getPartyMembers())
              {
                QuestState qs = member.getQuestState(getClass());
                if ((qs != null) && qs.isStarted())
                {
                  qs.giveItems(DungeonLeaderMark, RewardMarksCount / party.getMemberCount());
                  qs.playSound(SOUND_ITEMGET);
                  qs.getPlayer().sendPacket(new SystemMessage(SystemMessage.THIS_DUNGEON_WILL_EXPIRE_IN_S1_MINUTES).addNumber(5));
                }
              }
            }
            else
            {
View Full Code Here

        {
          if (isRaid() || (quest.getParty() == Quest.PARTY_ALL))
          {
            for (Player pl : players)
            {
              QuestState qs = pl.getQuestState(quest.getName());
              if ((qs != null) && !qs.isCompleted())
              {
                quest.notifyKill(this, qs);
              }
            }
            toReward = null;
          }
          else
          {
            List<Player> interested = new ArrayList<>(players.size());
            for (Player pl : players)
            {
              QuestState qs = pl.getQuestState(quest.getName());
              if ((qs != null) && !qs.isCompleted())
              {
                interested.add(pl);
              }
            }
            if (interested.isEmpty())
            {
              continue;
            }
            toReward = interested.get(Rnd.get(interested.size()));
            if (toReward == null)
            {
              toReward = killer;
            }
          }
        }
        if (toReward != null)
        {
          QuestState qs = toReward.getQuestState(quest.getName());
          if ((qs != null) && !qs.isCompleted())
          {
            quest.notifyKill(this, qs);
          }
        }
      }
View Full Code Here

      if (siegeClan != null)
      {
        showFlagInfo(player, siegeClans.indexOf(siegeClan));
        return;
      }
      QuestState questState = player.getQuestState(_655_AGrandPlanForTamingWildBeasts.class);
      if ((questState == null) || (questState.getQuestItemsCount(8293) != 1))
      {
        showChatWindow(player, "residence2/clanhall/farm_kel_mahum_messenger_27.htm");
        return;
      }
      questState.exitCurrentQuest(true);
      register(player);
    }
    else if (command.equalsIgnoreCase("registerAsMember"))
    {
      CTBSiegeClanObject siegeClan = siegeEvent.getSiegeClan(SiegeEvent.ATTACKERS, player.getClan());
View Full Code Here

    }
    if (!st.getPlayer().equals(clan_leader) && (clan_leader.getDistance(npc) > Config.ALT_PARTY_DISTRIBUTION_RANGE))
    {
      return null;
    }
    QuestState qs = clan_leader.getQuestState(getName());
    if ((qs == null) || !qs.isStarted() || (qs.getCond() != 1))
    {
      return null;
    }
    int raid = REWARDS_LIST[st.getInt("raid")][0];
    int item = REWARDS_LIST[st.getInt("raid")][1];
View Full Code Here

  }
 
  @Override
  public String onEvent(String event, QuestState st, NpcInstance npc)
  {
    QuestState qs = st.getPlayer().getQuestState(_255_Tutorial.class);
    if ((qs == null) || (st == null))
    {
      return null;
    }
    Player player = st.getPlayer();
    if (player == null)
    {
      return null;
    }
    String htmltext = event;
    int Ex = qs.getInt("Ex");
    int classId = player.getClassId().getId();
    boolean isMage = (player.getRace() != Race.orc) && player.getClassId().isMage();
    if (event.equalsIgnoreCase("TimerEx_NewbieHelper"))
    {
      if (Ex == 0)
      {
        if (isMage)
        {
          st.playTutorialVoice("tutorial_voice_009b");
        }
        else
        {
          st.playTutorialVoice("tutorial_voice_009a");
        }
        qs.set("Ex", "1");
      }
      else if (Ex == 3)
      {
        st.playTutorialVoice("tutorial_voice_010a");
        qs.set("Ex", "4");
      }
      return null;
    }
    else if (event.equalsIgnoreCase("TimerEx_GrandMaster"))
    {
      if (Ex >= 4)
      {
        st.showQuestionMark(7);
        st.playSound(SOUND_TUTORIAL);
        st.playTutorialVoice("tutorial_voice_025");
      }
      return null;
    }
    else if (event.equalsIgnoreCase("isle"))
    {
      st.addRadar(-119692, 44504, 380);
      player.teleToLocation(-120050, 44500, 360);
      String title = npc == null ? "" : npc.getTitle() + " " + npc.getName();
      htmltext = "<html><body>" + title + "<br>Go to the <font color=\"LEVEL\">Isle of Souls</font> and meet the <font color=\"LEVEL\">Newbie Guide</font> there to learn a number of important tips. He will also give you an item to assist your development.<br>Follow the direction arrow above your head and it will lead you to the Newbie Guide. Good luck!</body></html>";
    }
    else
    {
      Event e = events.get(event);
      if (e.radarX != 0)
      {
        st.addRadar(e.radarX, e.radarY, e.radarZ);
      }
      htmltext = e.htm;
      if ((st.getQuestItemsCount(e.item) > 0) && (st.getInt("onlyone") == 0))
      {
        st.addExpAndSp(0, 50);
        st.startQuestTimer("TimerEx_GrandMaster", 60000);
        st.takeItems(e.item, 1);
        if (Ex <= 3)
        {
          qs.set("Ex", "4");
        }
        if (classId == e.classId1)
        {
          st.giveItems(e.gift1, e.count1);
          if (e.gift1 == SPIRITSHOT_NOVICE)
View Full Code Here

 
  @Override
  public String onFirstTalk(NpcInstance npc, Player player)
  {
    String htmltext = "";
    QuestState qs = player.getQuestState(_255_Tutorial.class);
    if (qs == null)
    {
      return htmltext;
    }
    QuestState st = player.getQuestState(getClass());
    if (st == null)
    {
      newQuestState(player, CREATED);
      st = player.getQuestState(getClass());
    }
    int Ex = qs.getInt("Ex");
    int npcId = npc.getNpcId();
    int step = st.getInt("step");
    int onlyone = st.getInt("onlyone");
    int level = player.getLevel();
    boolean isMage = (player.getRace() != Race.orc) && player.getClassId().isMage();
    Talk t = talks.get(npcId);
    if (t == null)
    {
      return "";
    }
    if (((level >= 10) || (onlyone == 1)) && (t.npcTyp == 1))
    {
      htmltext = "30575-05.htm";
    }
    else if ((onlyone == 0) && (level < 10))
    {
      if (player.getRace().ordinal() == t.raceId)
      {
        htmltext = t.htmlfiles[0];
      }
      if (t.npcTyp == 1)
      {
        if ((step == 0) && (Ex < 0))
        {
          qs.set("Ex", "0");
          st.startQuestTimer("TimerEx_NewbieHelper", 30000);
          if (isMage)
          {
            st.set("step", "1");
            st.setState(STARTED);
          }
          else
          {
            htmltext = "30530-01.htm";
            st.set("step", "1");
            st.setState(STARTED);
          }
        }
        else if ((step == 1) && (st.getQuestItemsCount(t.item) == 0) && (Ex <= 2))
        {
          if (st.getQuestItemsCount(BLUE_GEM) > 0)
          {
            st.takeItems(BLUE_GEM, st.getQuestItemsCount(BLUE_GEM));
            st.giveItems(t.item, 1);
            st.set("step", "2");
            qs.set("Ex", "3");
            st.startQuestTimer("TimerEx_NewbieHelper", 30000);
            qs.set("ucMemo", "3");
            if (isMage)
            {
              st.playTutorialVoice("tutorial_voice_027");
              st.giveItems(SPIRITSHOT_NOVICE, 100);
              htmltext = t.htmlfiles[2];
              if (htmltext.isEmpty())
              {
                htmltext = "<html><body>" + (npc.getTitle().isEmpty() ? "" : npc.getTitle() + " ") + npc.getName() + "<br>I am sorry. I only help warriors. Please go to another Newbie Helper who may assist you.</body></html>";
              }
            }
            else
            {
              st.playTutorialVoice("tutorial_voice_026");
              st.giveItems(SOULSHOT_NOVICE, 200);
              htmltext = t.htmlfiles[1];
              if (htmltext.isEmpty())
              {
                htmltext = "<html><body>" + (npc.getTitle().isEmpty() ? "" : npc.getTitle() + " ") + npc.getName() + "<br>I am sorry. I only help mystics. Please go to another Newbie Helper who may assist you.</body></html>";
              }
View Full Code Here

  }
 
  @Override
  public String onKill(NpcInstance npc, QuestState st)
  {
    QuestState qs = st.getPlayer().getQuestState(_255_Tutorial.class);
    if (qs == null)
    {
      return null;
    }
    int Ex = qs.getInt("Ex");
    if (Ex <= 1)
    {
      st.playTutorialVoice("tutorial_voice_011");
      st.showQuestionMark(3);
      qs.set("Ex", "2");
    }
    if ((Ex <= 2) && (st.getQuestItemsCount(BLUE_GEM) < 1))
    {
      ThreadPoolManager.getInstance().schedule(new DropGem(npc, st), 3000);
    }
View Full Code Here

    Player player = qs.getRandomPartyMember(STARTED, Config.ALT_PARTY_DISTRIBUTION_RANGE);
    if (player == null)
    {
      return null;
    }
    QuestState st = player.getQuestState(qs.getQuest().getName());
    Integer _chance = common_chances.get(npc.getNpcId());
    if (_chance == null)
    {
      return null;
    }
    if (Rnd.chance(_chance))
    {
      st.giveItems(Rnd.chance(Urn_Chance) ? Ancient_Ash_Urn : Ancient_Porcelain, 1);
      st.playSound(SOUND_ITEMGET);
    }
    return null;
  }
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.