コード例 #1
0
 @Override
 public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) {
   QuestState st = player.getQuestState(getClass());
   if (st == null) {
     return getNoQuestMsg(player);
   }
   if (event.equalsIgnoreCase("glyvka_q0134_03.htm") && st.getState() == CREATED) {
     st.startQuest();
   } else if (event.equalsIgnoreCase("glyvka_q0134_06.htm") && st.getState() == STARTED) {
     st.setCond(2);
     st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
   } else if (event.equalsIgnoreCase("glyvka_q0134_11.htm")
       && st.getState() == STARTED
       && st.getCond() == 5) {
     st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH);
     st.unset("Report");
     st.giveAdena(15100, true);
     st.giveItems(Badge_Temple_Missionary, 1);
     st.addExpAndSp(30000, 2000);
     st.exitQuest(QuestType.ONE_TIME);
   } else if (event.equalsIgnoreCase("scroll_seller_rouke_q0134_03.htm")
       && st.getState() == STARTED) {
     st.setCond(3);
     st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
   } else if (event.equalsIgnoreCase("scroll_seller_rouke_q0134_09.htm")
       && st.getState() == STARTED
       && st.getInt("Report") == 1) {
     st.setCond(5);
     st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
     st.giveItems(Roukes_Report, 1);
     st.unset("Report");
   }
   return event;
 }
コード例 #2
0
  @Override
  public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet) {
    QuestState st = killer.getQuestState(getClass());

    if (npc == null || st == null) {
      return null;
    }

    if (st.getCond() == 1) {
      if (ArrayUtils.contains(ДревниеГерои, npc.getNpcId())) {
        if (killer.getParty() == null) {
          st.giveItem(ПроклятаяСлизь);
          st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
          if (st.getQuestItemsCount(ПроклятаяСлизь) >= 8) {
            st.setCond(2);
            st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
          }
        } else {
          QuestState pst = killer.getParty().getRandomPartyMember().getQuestState(getClass());
          if (pst != null && pst.getCond() == 1) {
            pst.giveItem(ПроклятаяСлизь);
            pst.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
            if (pst.getQuestItemsCount(ПроклятаяСлизь) >= 8) {
              pst.setCond(2);
              pst.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
            }
          }
        }
      }
    }
    return super.onKill(npc, killer, isPet);
  }
コード例 #3
0
  @Override
  public String onAsk(L2PcInstance player, L2Npc npc, QuestState st, int reply) {
    if (st == null) {
      return null;
    }

    int cond = st.getCond();
    int npcId = npc.getNpcId();
    switch (npcId) {
      case ELIYAH:
        if (reply == 1) {
          return "priest_eliyah_q10388_05.htm";
        }
        if (reply == 5) {
          return "priest_eliyah_q10388_06.htm";
        }
        if (reply == 6) {
          return "priest_eliyah_q10388_07.htm";
        }
        break;
      case KARGOS:
        if (reply == 1) {
          return "kargos_q10388_03.htm";
        }
        if (reply == 2) {
          return "kargos_q10388_04.htm";
        }
        if (reply == 3 && cond == 1) {
          st.setCond(2);
          st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
          return "kargos_q10388_05.htm";
        }
        break;
      case KITCHEN:
        if (reply == 1 && cond == 2) {
          st.setCond(3);
          st.giveItem(VISITOR_BADGE);
          st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
          return "kitchen_q10388_02.htm";
        }
        break;
      case RAZEN:
        if (reply == 1) {
          return "razen_q10388_02.htm";
        }
        if (reply == 2 && cond == 3) {
          st.takeItems(VISITOR_BADGE, -1);
          st.addExpAndSp(29638350, 7113);
          st.giveAdena(65136, true);
          st.exitQuest(QuestType.ONE_TIME);
          st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH);
          return "razen_q10388_03.htm";
        }
        break;
    }
    return getNoQuestMsg(st.getPlayer());
  }
コード例 #4
0
  @Override
  public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) {
    QuestState st = player.getQuestState(getClass());
    if (st == null) {
      return null;
    }

    switch (event) {
      case "32593-04.htm":
        st.startQuest();
        break;
      case "30857-04.htm":
        st.setCond(2);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        break;
      case "32594-03.htm":
        st.setCond(3);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        break;
      case "32595-04.htm":
        L2Npc monster = addSpawn(SHILENSEVIL, 152520, -57685, -3438, 0, false, 60000, true);
        monster.broadcastPacket(
            new NS(
                monster.getObjectId(),
                ChatType.NPC_ALL,
                monster.getNpcId(),
                NpcStringId.YOU_ARE_NOT_THE_OWNER_OF_THAT_ITEM));
        monster.setRunning();
        monster.getAttackable().attackCharacter(player);
        break;
      case "32595-08.htm":
        st.setCond(5);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        break;
      case "32596-04.htm":
        st.setCond(6);
        st.giveItems(TEXT, 1);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        break;
      case "32593-08.htm":
        if (player.isSubClassActive()) {
          return "subclass_forbidden.htm";
        }
        st.takeItems(TEXT, 1);
        st.takeItems(SCULPTURE, 1);
        st.addExpAndSp(10000000, 2500000);
        st.unset("cond");
        st.exitQuest(QuestType.ONE_TIME);
        st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH);
        break;
    }
    return event;
  }
コード例 #5
0
  @Override
  public String onAsk(L2PcInstance player, L2Npc npc, QuestState st, int reply) {
    int npcId = npc.getNpcId();
    int cond = st.getCond();

    if (npcId == Kusto) {
      if (reply == 1 && cond == 2) {
        st.setCond(3);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        return "head_blacksmith_kusto_q0190_06.htm";
      }
    } else if (npcId == Juris) {
      if (reply == 1) {
        return "juria_q0190_02.htm";
      } else if (reply == 2 && cond == 1) {
        st.setCond(2);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        return "juria_q0190_03.htm";
      }
    }
    return null;
  }
コード例 #6
0
 @Override
 public String onKill(L2Npc npc, L2PcInstance player, boolean isPet) {
   QuestState st = player.getQuestState(getClass());
   if (st == null) {
     return null;
   }
   if (npc.getNpcId() == SHILENSEVIL && st.getCond() == 3) {
     npc.broadcastPacket(
         new NS(
                 npc.getObjectId(),
                 ChatType.NPC_ALL,
                 npc.getNpcId(),
                 NpcStringId.S1_YOU_MAY_HAVE_WON_THIS_TIME_BUT_NEXT_TIME_I_WILL_SURELY_CAPTURE_YOU)
             .addStringParameter(player.getName()));
     st.giveItems(SCULPTURE, 1);
     st.setCond(4);
   }
   return null;
 }
コード例 #7
0
  @Override
  public String onKill(L2Npc npc, L2PcInstance player, boolean isPet) {
    QuestState qs = player.getQuestState(getClass());
    if (qs == null) {
      return null;
    }

    if (qs.getState() == STARTED && qs.getCond() == 3) {
      if (npc.getNpcId() == Cruma_Marshlands_Traitor) {
        qs.giveItems(Giants_Technology_Report, 1);
        if (qs.getQuestItemsCount(Giants_Technology_Report) < 3) {
          qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
        } else {
          qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
          qs.setCond(4);
        }
      } else if (qs.getQuestItemsCount(Giants_Experimental_Tool) < 1) {
        if (Rnd.getChance(Giants_Experimental_Tool_Fragment_chance)) {
          qs.giveItems(Giants_Experimental_Tool_Fragment, 1);
        }
      } else {
        qs.takeItems(Giants_Experimental_Tool, 1);
        if (Rnd.getChance(Cruma_Marshlands_Traitor_spawnchance)) {
          qs.addSpawn(
              Cruma_Marshlands_Traitor,
              qs.getPlayer().getX(),
              qs.getPlayer().getY(),
              qs.getPlayer().getZ(),
              0,
              true,
              900000);
        }
      }
    }
    return null;
  }
コード例 #8
0
  @Override
  public String onEvent(String event, QuestState st) {
    String htmltext = event;

    switch (event) {
      case "32114-05.htm":
        st.startQuest();
        break;
      case "32114-12.htm":
        st.giveItems(GAZKHFRAG, 1);
        st.setCond(2);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        break;
      case "32114-13.htm":
        st.setCond(2);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        break;
      case "32117-08.htm":
        st.setCond(3);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        break;
      case "32117-16.htm":
        st.setCond(5);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        break;
      case "32119-20.htm":
        st.setCond(6);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        break;
      case "32120-19.htm":
        st.setCond(7);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        break;
      case "32121-23.htm":
        st.giveItems(EPITAPH, 1);
        st.setCond(8);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
        break;
      case "T32119":
        htmltext = "32119-05.htm";
        if (st.getInt("T32119") < 1) {
          st.set("T32119", "1");
        }
        break;
      case "E32119":
        htmltext = "32119-06.htm";
        if (st.getInt("E32119") < 1) {
          st.set("E32119", "1");
        }
        break;
      case "P32119":
        htmltext = "32119-07.htm";
        if (st.getInt("P32119") < 1) {
          st.set("P32119", "1");
        }
        break;
      case "U32119":
        if (st.getInt("U32119") < 1) {
          st.set("U32119", "1");
        }
        htmltext = getWordText32119(st);
        break;
      case "T32120":
        htmltext = "32120-05.htm";
        if (st.getInt("T32120") < 1) {
          st.set("T32120", "1");
        }
        break;
      case "O32120":
        htmltext = "32120-06.htm";
        if (st.getInt("O32120") < 1) {
          st.set("O32120", "1");
        }
        break;
      case "O32120_2":
        htmltext = "32120-07.htm";
        if (st.getInt("O32120_2") < 1) {
          st.set("O32120_2", "1");
        }
        break;
      case "N32120":
        if (st.getInt("N32120") < 1) {
          st.set("N32120", "1");
        }
        htmltext = getWordText32120(st);
        break;
      case "W32121":
        htmltext = "32121-05.htm";
        if (st.getInt("W32121") < 1) {
          st.set("W32121", "1");
        }
        break;
      case "A32121":
        htmltext = "32121-06.htm";
        if (st.getInt("A32121") < 1) {
          st.set("A32121", "1");
        }
        break;
      case "G32121":
        htmltext = "32121-07.htm";
        if (st.getInt("G32121") < 1) {
          st.set("G32121", "1");
        }
        break;
      case "U32121":
        if (st.getInt("U32121") < 1) {
          st.set("U32121", "1");
        }
        htmltext = getWordText32121(st);
        break;
    }
    return htmltext;
  }
コード例 #9
0
  @Override
  public String onTalk(L2Npc npc, QuestState st) {
    String htmltext = getNoQuestMsg(st.getPlayer());
    int npcId = npc.getNpcId();
    int cond = st.getCond();
    if (npcId == Mushika) {
      QuestState qs124 = st.getPlayer().getQuestState(_00124_MeetingTheElroki.class);
      if (cond == 0) {
        if (st.getPlayer().getLevel() < 76) {
          htmltext = "32114-02.htm";
          st.exitQuest(QuestType.REPEATABLE);
        } else if (qs124 != null && qs124.isCompleted()) {
          htmltext = "32114-01.htm";
        } else {
          htmltext = "32114-04.htm";
          st.exitQuest(QuestType.REPEATABLE);
        }
      } else if (cond == 1) {
        htmltext = "32114-10.htm";
      } else if (cond > 1 && cond < 8) {
        htmltext = "32114-14.htm";
      } else if (cond == 8) {
        st.unset("T32119");
        st.unset("E32119");
        st.unset("P32119");
        st.unset("U32119");
        st.unset("T32120");
        st.unset("O32120");
        st.unset("O32120_2");
        st.unset("N32120");
        st.unset("W32121");
        st.unset("A32121");
        st.unset("G32121");
        st.unset("U32121");
        st.unset("cond");

        htmltext = "32114-15.htm";
        st.addExpAndSp(898056, 1008100);
        st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH);
        st.exitQuest(QuestType.ONE_TIME);
      }
    } else if (npcId == Karakawei) {
      if (cond == 1) {
        htmltext = "32117-02.htm";
      } else if (cond == 2) {
        htmltext = "32117-01.htm";
      } else if (cond == 3
          && (st.getQuestItemsCount(OrClaw) < 2 || st.getQuestItemsCount(DienBone) < 2)) {
        htmltext = "32117-12.htm";
      } else if (cond == 3
          && st.getQuestItemsCount(OrClaw) == 2
          && st.getQuestItemsCount(DienBone) == 2) {
        htmltext = "32117-11.htm";
        st.takeItems(OrClaw, 2);
        st.takeItems(DienBone, 2);
        st.setCond(4);
        st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
      } else if (cond > 4 && cond < 8) {
        htmltext = "32117-19.htm";
      } else if (cond == 8) {
        htmltext = "32117-20.htm";
      }
    } else if (npcId == UluKaimu) {
      if (cond == 5) {
        htmltext = "32119-01.htm";
      } else if (cond < 5) {
        htmltext = "32119-02.htm";
      } else if (cond > 5) {
        htmltext = "32119-03.htm";
      }
    } else if (npcId == BaluKaimu) {
      if (cond == 6) {
        htmltext = "32120-01.htm";
      } else if (cond < 6) {
        htmltext = "32120-02.htm";
      } else if (cond > 6) {
        htmltext = "32120-03.htm";
      }
    } else if (npcId == ChutaKaimu) {
      if (cond == 7) {
        htmltext = "32121-01.htm";
      } else if (cond < 7) {
        htmltext = "32121-02.htm";
      } else if (cond > 7) {
        htmltext = "32121-03.htm";
      } else if (cond == 8) {
        htmltext = "32121-24.htm";
      }
    } else {
      htmltext = getAlreadyCompletedMsg(st.getPlayer(), QuestType.ONE_TIME);
    }
    return htmltext;
  }
コード例 #10
0
  @Override
  public String onTalk(L2Npc npc, QuestState st) {
    int npcId = npc.getNpcId();
    int cond = st.getCond();

    if (npcId == Kusto) {
      switch (st.getState()) {
        case CREATED:
          QuestState pqs = st.getPlayer().getQuestState(_00187_NikolasHeart.class);
          if (st.getPlayer().getLevel() >= 42) {
            return pqs != null && pqs.isCompleted()
                ? "head_blacksmith_kusto_q0190_01.htm"
                : getNeedCompletedQuest(187);
          } else {
            return "head_blacksmith_kusto_q0190_02.htm";
          }
        case STARTED:
          switch (cond) {
            case 1:
              return "head_blacksmith_kusto_q0190_04.htm";
            case 2:
              return "head_blacksmith_kusto_q0190_05.htm";
            case 3:
              return "head_blacksmith_kusto_q0190_07.htm";
            case 5:
              st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH);
              st.giveAdena(127224, true);
              st.addExpAndSp(634158, 443538);
              st.exitQuest(QuestType.ONE_TIME);
              return "head_blacksmith_kusto_q0190_08.htm";
          }
          break;
        case COMPLETED:
          return getAlreadyCompletedMsg(st.getPlayer(), QuestType.ONE_TIME);
      }
    } else if (npcId == Juris) {
      if (st.isStarted()) {
        return cond == 1 ? "juria_q0190_01.htm" : "juria_q0190_04.htm";
      }
    } else if (npcId == Lorain) {
      if (st.isStarted()) {
        if (cond == 3) {
          st.setCond(4);
          st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
          return "researcher_lorain_q0190_01.htm";
        } else {
          return "researcher_lorain_q0190_02.htm";
        }
      }
    } else if (npcId == Nikola) {
      if (st.isStarted()) {
        if (cond == 4) {
          st.setCond(5);
          st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
          return "maestro_nikola_q0190_01.htm";
        } else {
          return "maestro_nikola_q0190_02.htm";
        }
      }
    }
    return null;
  }
コード例 #11
0
  @Override
  public String onKill(L2Npc npc, QuestState st) {
    int tempCount = st.getInt("over_tempcount");
    if (ArrayUtils.contains(_mobsGrendel, npc.getNpcId())) {
      int g0 = st.getInt("grendel_kill");
      int g1 = st.getInt("over_hit");

      if (g0 < 10) {
        g0++;
        if (((L2Attackable) npc).isOverhit()) {
          g1++;
          tempCount++;
          st.set("over_tempcount", String.valueOf(tempCount));
          st.set("over_hit", String.valueOf(g1));
          st.set("grendel_kill", String.valueOf(g0));
        } else {
          st.set("grendel_kill", String.valueOf(g0)); // всего киллов моба
          st.set("count", String.valueOf(tempCount)); // записываем предыдущее комбо оверхитов
          st.set("over_tempcount", "0"); // Обнуляем временный счетчик оверхитов
        }
      }
    } else if (ArrayUtils.contains(_mobsBuffalo, npc.getNpcId())) {
      int g0 = st.getInt("buffalo_kill");
      int g1 = st.getInt("over_hit");

      if (g0 < 10) {
        g0++;
        if (((L2Attackable) npc).isOverhit()) {
          g1++;
          tempCount++;
          st.set("over_tempcount", String.valueOf(tempCount));
          st.set("over_hit", String.valueOf(g1));
          st.set("buffalo_kill", String.valueOf(g0));
        } else {
          st.set("buffalo_kill", String.valueOf(g0));
          st.set("count", String.valueOf(tempCount)); // записываем предыдущее комбо оверхитов
          st.set("over_tempcount", "0"); // Обнуляем временный счетчик оверхитов
        }
      }
    } else if (ArrayUtils.contains(_mobsCougar, npc.getNpcId())) {
      int g0 = st.getInt("cougar_kill");
      int g1 = st.getInt("over_hit");
      if (g0 < 10) {
        g0++;
        if (((L2Attackable) npc).isOverhit()) {
          g1++;
          tempCount++;
          st.set("over_tempcount", String.valueOf(tempCount));
          st.set("over_hit", String.valueOf(g1));
          st.set("cougar_kill", String.valueOf(g0));
        } else {
          st.set("cougar_kill", String.valueOf(g0));
          st.set("count", String.valueOf(tempCount)); // записываем предыдущее комбо оверхитов
          st.set("over_tempcount", "0"); // Обнуляем временный счетчик оверхитов
        }
      }
    } else if (ArrayUtils.contains(_mobsKookaburra, npc.getNpcId())) {
      int g0 = st.getInt("kookaburra_kill");
      int g1 = st.getInt("over_hit");
      if (g0 < 10) {
        g0++;
        if (((L2Attackable) npc).isOverhit()) {
          g1++;
          tempCount++;
          st.set("over_tempcount", String.valueOf(tempCount));
          st.set("over_hit", String.valueOf(g1));
          st.set("kookaburra_kill", String.valueOf(g0));
        } else {
          st.set("kookaburra_kill", String.valueOf(g0));
          st.set("count", String.valueOf(tempCount)); // записываем предыдущее комбо оверхитов
          st.set("over_tempcount", "0"); // Обнуляем временный счетчик оверхитов
        }
      }
    }
    if (st.getInt("grendel_kill")
            + st.getInt("buffalo_kill")
            + st.getInt("cougar_kill")
            + st.getInt("kookaburra_kill")
        >= 40) {
      st.setCond(2);
    }
    if (st.getInt("over_hit") == 40) // Заглушка на случай совершения 40 из 40 оверхитов
    {
      st.set("count", "40");
    }
    return super.onKill(npc, st);
  }
コード例 #12
0
 @Override
 public String onAsk(L2PcInstance player, L2Npc npc, QuestState st, int reply) {
   int npcId = npc.getNpcId();
   int cond = st.getCond();
   if (npcId == Rafforty) {
     switch (reply) {
       case 1:
         return "repre_q10283_04.htm";
       case 2:
         if (cond == 1) {
           return "repre_q10283_07.htm";
         }
       case 3:
         if (cond == 1) {
           return "repre_q10283_08.htm";
         }
       case 4:
         if (cond == 1) {
           st.setCond(2);
           st.setMemoState(2);
           st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
           return "repre_q10283_09.htm";
         }
     }
   } else if (npcId == Kier) {
     switch (reply) {
       case 1:
         if (cond == 2) {
           return "keier_q10283_01.htm";
         }
       case 2:
         if (cond == 2) {
           if (currentTalkingWithKier == -1) {
             st.setCond(3);
             st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
             currentTalkingWithKier = player.getObjectId();
             L2Npc jinia = addSpawn(Jinia, 104476, -107535, -3688, 44954, false, 60000);
             jinia.setOwner(player);
             startQuestTimer("resetCurrentTalkingWithKier", 60000, npc, player);
           } else {
             return currentTalkingWithKier == player.getObjectId()
                 ? "keier_q10283_03.htm"
                 : "keier_q10283_02.htm";
           }
         }
     }
   } else if (npcId == Jinia) {
     switch (reply) {
       case 1:
         if (st.getMemoState() == 2) {
           return "jinia_npc_q10283_01.htm";
         }
         break;
       case 2:
         if (st.getMemoState() == 2) {
           return "jinia_npc_q10283_02.htm";
         }
         break;
       case 3:
         if (st.getMemoState() == 2) {
           st.giveAdena(190000, true);
           st.addExpAndSp(627000, 50300);
           st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH);
           st.exitQuest(QuestType.ONE_TIME);
           npc.getLocationController()
               .delete(); // TODO: myself->AddFleeDesire(talker,1000000); бежать в рандомном
           // направлении и deleteMe
           return "jinia_npc_q10283_03.htm";
         }
     }
   }
   return null;
 }
コード例 #13
0
  @Override
  public String onTalk(L2Npc npc, QuestState st) {
    L2PcInstance player = st.getPlayer();

    if (st.getState() == COMPLETED) {
      return getAlreadyCompletedMsg(player, QuestType.ONE_TIME);
    }

    int npcId = npc.getNpcId();
    if (st.getState() == CREATED) {
      if (npcId != Glyvka) {
        return getNoQuestMsg(player);
      }
      if (player.getLevel() < 35) {
        st.exitQuest(QuestType.REPEATABLE);
        return "glyvka_q0134_02.htm";
      }
      st.setCond(0);
      return "glyvka_q0134_01.htm";
    }

    int cond = st.getCond();

    if (npcId == Glyvka && st.getState() == STARTED) {
      if (cond == 1) {
        return "glyvka_q0134_03.htm";
      }
      if (cond == 5) {
        if (st.getInt("Report") == 1) {
          return "glyvka_q0134_09.htm";
        }
        if (st.getQuestItemsCount(Roukes_Report) > 0) {
          st.takeItems(Roukes_Report, -1);
          st.set("Report", "1");
          return "glyvka_q0134_08.htm";
        }
        return getNoQuestMsg(player);
      }
      return "glyvka_q0134_07.htm";
    }

    if (npcId == Rouke && st.getState() == STARTED) {
      if (cond == 2) {
        return "scroll_seller_rouke_q0134_02.htm";
      }
      if (cond == 5) {
        return "scroll_seller_rouke_q0134_10.htm";
      }
      if (cond == 3) {
        long Tools = st.getQuestItemsCount(Giants_Experimental_Tool_Fragment) / 10;
        if (Tools < 1) {
          return "scroll_seller_rouke_q0134_04.htm";
        }
        st.takeItems(Giants_Experimental_Tool_Fragment, Tools * 10);
        st.giveItems(Giants_Experimental_Tool, Tools);
        return "scroll_seller_rouke_q0134_05.htm";
      }
      if (cond == 4) {
        if (st.getInt("Report") == 1) {
          return "scroll_seller_rouke_q0134_07.htm";
        }
        if (st.getQuestItemsCount(Giants_Technology_Report) > 2) {
          st.takeItems(Giants_Experimental_Tool_Fragment, -1);
          st.takeItems(Giants_Experimental_Tool, -1);
          st.takeItems(Giants_Technology_Report, -1);
          st.set("Report", "1");
          return "scroll_seller_rouke_q0134_06.htm";
        }
        return getNoQuestMsg(player);
      }
    }
    return getNoQuestMsg(player);
  }