@Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { if (event.startsWith("DESPAWN")) { npc.deleteMe(); return super.onAdvEvent(event, npc, player); } final QuestState qs = getQuestState(player, false); if (qs == null) { return null; } String htmltext = null; switch (event) { case "30760-08.html": { if (qs.isCreated()) { giveItems(player, GUSTAVS_1ST_LETTER, 1); qs.startQuest(); qs.setMemoState(1000); htmltext = event; } break; } case "30760-12.html": { giveItems(player, GUSTAVS_2ND_LETTER, 1); qs.setMemoState(4000); qs.setCond(4); htmltext = event; break; } case "30760-16.html": { giveItems(player, GUSTAVS_3RD_LETTER, 1); qs.setMemoState(7000); qs.setCond(7); htmltext = event; break; } case "30760-20.html": { if (hasQuestItems(player, SCEPTER_OF_JUDGMENT)) { giveItems(player, SEAL_OF_ASPIRATION, 1); addExpAndSp(player, 0, 250000); qs.exitQuest(false, true); htmltext = event; } break; } case "30760-22.html": { qs.setMemoState(10000); qs.setCond(12); htmltext = event; break; } case "30760-23.html": { if (hasQuestItems(player, SCEPTER_OF_JUDGMENT)) { giveItems(player, SEAL_OF_ASPIRATION, 1); addExpAndSp(player, 0, 250000); qs.exitQuest(false, true); htmltext = event; } break; } case "30512-03.html": { if (hasQuestItems(player, BROOCH_OF_THE_MAGPIE)) { takeItems(player, BROOCH_OF_THE_MAGPIE, -1); giveItems(player, BLACK_ANVIL_COIN, 1); } htmltext = event; break; } case "30645-03.html": { takeItems(player, GUSTAVS_1ST_LETTER, -1); qs.setMemoState(2000); qs.setCond(2, true); htmltext = event; break; } case "30761-02.html": { if (qs.isMemoState(2000) || qs.isMemoState(2011) || qs.isMemoState(2010) || qs.isMemoState(2001)) { giveItems(player, BLITZ_WYRM_EGG, 3); qs.setMemoState(qs.getMemoState() + 100); addAttackPlayerDesire(addSpawn(BLITZ_WYRM, npc, true, 0, false), player); addAttackPlayerDesire(addSpawn(BLITZ_WYRM, npc, true, 0, false), player); startQuestTimer("DESPAWN", 10000, npc, player); htmltext = event; } else if (qs.isMemoState(2100) || qs.isMemoState(2111) || qs.isMemoState(2110) || qs.isMemoState(2101)) { addAttackPlayerDesire(addSpawn(BLITZ_WYRM, npc, true, 0, false), player); addAttackPlayerDesire(addSpawn(BLITZ_WYRM, npc, true, 0, false), player); startQuestTimer("DESPAWN", 10000, npc, player); htmltext = "30761-03.html"; } break; } case "30762-02.html": { if (qs.isMemoState(2000) || qs.isMemoState(2101) || qs.isMemoState(2001) || qs.isMemoState(2100)) { giveItems(player, BLITZ_WYRM_EGG, 3); giveItems(player, MIST_DRAKES_EGG, 4); qs.setMemoState(qs.getMemoState() + 10); addAttackPlayerDesire(addSpawn(BLITZ_WYRM, npc, true, 0, false), player); addAttackPlayerDesire(addSpawn(BLITZ_WYRM, npc, true, 0, false), player); startQuestTimer("DESPAWN", 10000, npc, player); htmltext = event; } else if (qs.isMemoState(2100) || qs.isMemoState(2111) || qs.isMemoState(2011) || qs.isMemoState(2110)) { addAttackPlayerDesire(addSpawn(BLITZ_WYRM, npc, true, 0, false), player); addAttackPlayerDesire(addSpawn(BLITZ_WYRM, npc, true, 0, false), player); startQuestTimer("DESPAWN", 10000, npc, player); htmltext = "30762-03.html"; } break; } case "30763-02.html": { if (qs.isMemoState(2000) || qs.isMemoState(2110) || qs.isMemoState(2010) || qs.isMemoState(2100)) { giveItems(player, BROOCH_OF_THE_MAGPIE, 1); giveItems(player, MIST_DRAKES_EGG, 6); qs.setMemoState(qs.getMemoState() + 1); npc.deleteMe(); htmltext = event; } break; } case "30764-03.html": { takeItems(player, GUSTAVS_2ND_LETTER, -1); qs.setMemoState(5000); qs.setCond(5, true); htmltext = event; break; } case "30764-06.html": { takeItems(player, GUSTAVS_2ND_LETTER, -1); takeItems(player, BLACK_ANVIL_COIN, -1); giveItems(player, RECIPE_SPITEFUL_SOUL_ENERGY, 1); qs.setMemoState(5000); qs.setCond(5, true); htmltext = event; break; } case "30765-04.html": { takeItems(player, IMPERIAL_KEY, -1); giveItems(player, SCEPTER_OF_JUDGMENT, 1); qs.setMemoState(8700); htmltext = event; break; } case "30766-04.html": { qs.setMemoState(8100); qs.setCond(9, true); npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.BLOOD_AND_HONOR)); startQuestTimer("SPAWN_WITCH", 5000, npc, player); htmltext = event; break; } case "30766-08.html": { if (hasQuestItems(player, SCEPTER_OF_JUDGMENT)) { giveItems(player, SEAL_OF_ASPIRATION, 1); addExpAndSp(player, 0, 250000); qs.exitQuest(false, true); htmltext = event; } break; } case "30868-04.html": { takeItems(player, GUSTAVS_3RD_LETTER, -1); qs.setMemoState(8000); qs.setCond(8, true); htmltext = event; break; } case "30868-10.html": { qs.setMemoState(9000); qs.setCond(11, true); htmltext = event; break; } case "30645-06.html": case "30760-05.html": case "30760-06.html": case "30760-07.html": case "30760-21.html": case "30764-05.html": case "30765-02.html": case "30765-05a.html": case "30766-03.html": case "30868-03.html": case "30868-06a.html": { htmltext = event; break; } case "SPAWN_WITCH": { final L2Npc athrea = addSpawn(WITCH_ATHREA, 160688, 21296, -3714, 0, false, 0); athrea.setScriptValue(50301); final L2Npc kalis = addSpawn(WITCH_KALIS, 160690, 21176, -3712, 0, false, 0); kalis.setScriptValue(50302); break; } } return htmltext; }