@Override public boolean onDialogEvent(QuestCookie env) { final Player player = env.getPlayer(); QuestState qs = player.getQuestStateList().getQuestState(questId); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); if (targetId == 0) { if (env.getDialogId() == 1002) { QuestService.startQuest(env, QuestStatus.START); PacketSendUtility.sendPacket(player, new SM_DIALOG_WINDOW(0, 0)); return true; } } else if (targetId == 799939) // Emma { if (qs != null) { if (env.getDialogId() == 26 && qs.getStatus() == QuestStatus.START) { return sendQuestDialog(env, 2375); } else if (env.getDialogId() == 1009) { qs.setQuestVar(1); qs.setStatus(QuestStatus.REWARD); updateQuestStatus(env); return defaultQuestEndDialog(env); } else return defaultQuestEndDialog(env); } } return false; }
@Override public boolean onDialogEvent(QuestCookie env) { if (env.getPlayer().getTribe().equals("PC_DARK")) { final Player player = env.getPlayer(); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); QuestTemplate template = DataManager.QUEST_DATA.getQuestById(questId); QuestState qs = player.getQuestStateList().getQuestState(questId); if (targetId == 730330) { PlayerClass playerClass = player.getCommonData().getPlayerClass(); if (playerClass == PlayerClass.RANGER || playerClass == PlayerClass.ASSASSIN || playerClass == PlayerClass.MAGE || playerClass == PlayerClass.PRIEST || playerClass == PlayerClass.GLADIATOR || playerClass == PlayerClass.WARRIOR || playerClass == PlayerClass.SCOUT) { if (qs == null || qs.getStatus() == QuestStatus.NONE || (qs.getStatus() == QuestStatus.COMPLETE && (qs.getCompleteCount() <= template.getMaxRepeatCount()))) { if (env.getDialogId() == -1) return sendQuestDialog(env, 1011); else return defaultQuestStartDialog(env); } else if (qs != null && qs.getStatus() == QuestStatus.START && qs.getQuestVarById(0) == 0) { if (env.getDialogId() == -1) return sendQuestDialog(env, 2375); else if (env.getDialogId() == 34) { if (player.getInventory().getItemCountByItemId(185000102) >= 1) { player.getInventory().removeFromBagByItemId(185000102, 1); qs.setStatus(QuestStatus.REWARD); qs.setQuestVar(1); qs.setCompliteCount(0); updateQuestStatus(env); return sendQuestDialog(env, 5); } else return sendQuestDialog(env, 2716); } } else if (qs != null && qs.getStatus() == QuestStatus.REWARD) { int var = qs.getQuestVarById(0); switch (env.getDialogId()) { case -1: if (var == 1) return sendQuestDialog(env, 5); case 17: QuestService.questFinish(env, qs.getQuestVars().getQuestVars() - 1); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } } } return false; } return false; } else { return false; } }
@Override public boolean onDialogEvent(QuestCookie env) { Player player = env.getPlayer(); QuestState qs = player.getQuestStateList().getQuestState(questId); if ((qs == null || qs.getStatus() == QuestStatus.NONE) && !onLvlUpEvent(env)) return false; if (qs == null || qs.getStatus() == QuestStatus.NONE || qs.getStatus() == QuestStatus.COMPLETE && qs.getCompleteCount() < 10) { if (env.getTargetId() == 799778) { switch (env.getDialogId()) { case -1: return sendQuestDialog(env, 1011); case 1002: { PacketSendUtility.sendPacket( player, new SM_QUEST_ACCEPTED(1, questId, QuestStatus.START, 0)); if (qs == null) player.getQuestStateList().addQuest(questId, qs); else { qs.setStatus(QuestStatus.START); qs.setQuestVar(0); } player.getController().updateNearbyQuests(); return sendQuestDialog(env, 1003); } default: return defaultQuestStartDialog(env); } } return false; } int var = qs.getQuestVarById(0); if (qs.getStatus() == QuestStatus.START) { if (env.getTargetId() == 799778) { switch (env.getDialogId()) { case -1: case 26: if (var == 0) return sendQuestDialog(env, 2375); case 34: return defaultQuestItemCheck(env, 0, 1, true, 5, 2716); } } } return defaultQuestRewardDialog(env, 799778, 0); }
@Override public boolean onDialogEvent(QuestCookie env) { final Player player = env.getPlayer(); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); QuestState qs = player.getQuestStateList().getQuestState(questId); if (targetId == 278501) { if (qs == null || qs.getStatus() == QuestStatus.NONE) { if (env.getDialogId() == 26) return sendQuestDialog(env, 1011); else if (env.getDialogId() == 1002) { if (ItemService.addItems(player, Collections.singletonList(new QuestItems(182202151, 1)))) return defaultQuestStartDialog(env); else return true; } else return defaultQuestStartDialog(env); } else if (qs.getStatus() == QuestStatus.START) { if (env.getDialogId() == 26) return sendQuestDialog(env, 2375); } } else if (targetId == 278503) { if (qs != null && qs.getStatus() == QuestStatus.START && qs.getQuestVarById(0) == 0) { if (env.getDialogId() == 26) return sendQuestDialog(env, 1352); else if (env.getDialogId() == 10000) { qs.setQuestVarById(0, qs.getQuestVarById(0) + 1); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } else return defaultQuestStartDialog(env); } } else if (targetId == 278502) { if (qs != null && qs.getStatus() == QuestStatus.START && qs.getQuestVarById(0) == 1) { if (env.getDialogId() == 26) return sendQuestDialog(env, 1693); else if (env.getDialogId() == 10001) { qs.setQuestVar(2); qs.setStatus(QuestStatus.REWARD); updateQuestStatus(env); player.getInventory().removeFromBagByItemId(182202151, 1); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } else return defaultQuestStartDialog(env); } } else if (targetId == 278518) { if (qs != null && qs.getStatus() == QuestStatus.REWARD) { return defaultQuestEndDialog(env); } } return false; }
@Override public boolean onDialogEvent(QuestCookie env) { final Player player = env.getPlayer(); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); QuestState qs = player.getQuestStateList().getQuestState(questId); if (targetId == 798928) { if (qs == null || qs.getStatus() == QuestStatus.NONE) { if (env.getDialogId() == 26) return sendQuestDialog(env, 4762); else return defaultQuestStartDialog(env); } else if (qs != null && qs.getStatus() == QuestStatus.REWARD) { if (env.getDialogId() == -1) return sendQuestDialog(env, 10002); else if (env.getDialogId() == 1009) return sendQuestDialog(env, 5); else return defaultQuestEndDialog(env); } } else if (targetId == 799069) { if (qs != null && qs.getStatus() == QuestStatus.START && qs.getQuestVarById(0) == 0) { if (env.getDialogId() == 26) return sendQuestDialog(env, 1011); else if (env.getDialogId() == 10000) { qs.setQuestVarById(0, qs.getQuestVarById(0) + 1); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } else return defaultQuestStartDialog(env); } } else if (targetId == 700948) { if (qs != null && qs.getStatus() == QuestStatus.START && qs.getQuestVarById(0) == 1) { if (env.getDialogId() == -1) { if (!ItemService.addItems( player, Collections.singletonList(new QuestItems(182202193, 1)))) return true; final int targetObjectId = env.getVisibleObject().getObjectId(); PacketSendUtility.sendPacket( player, new SM_USE_OBJECT(player.getObjectId(), targetObjectId, 3000, 0)); PacketSendUtility.broadcastPacket( player, new SM_EMOTION(player, EmotionType.START_LOOT, 0, targetObjectId), true); qs.setQuestVar(2); updateQuestStatus(env); } } } return false; }
public static boolean startQuest(QuestCookie env, QuestStatus questStatus) { Player player = env.getPlayer(); int id = env.getQuestId(); QuestTemplate template = questsData.getQuestById(env.getQuestId()); if (id < 80000 && questStatus != QuestStatus.LOCKED) { if (!canStart(env)) return false; } PacketSendUtility.sendPacket(player, new SM_QUEST_ACCEPTED(1, id, questStatus, 0)); QuestState qs = player.getQuestStateList().getQuestState(id); if (qs == null) { qs = new QuestState(template.getId(), questStatus, 0, 0); player.getQuestStateList().addQuest(id, qs); } else { if (template.getMaxRepeatCount() >= qs.getCompleteCount()) { qs.setStatus(questStatus); qs.setQuestVar(0); } } player.getController().updateNearbyQuests(); return true; }
@Override public boolean onDialogEvent(QuestCookie env) { final Player player = env.getPlayer(); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); QuestState qs = player.getQuestStateList().getQuestState(questId); if (targetId == 799234) // Nep { if (qs == null || qs.getStatus() == QuestStatus.NONE) { if (env.getDialogId() == 26) return sendQuestDialog(env, 1011); else return defaultQuestStartDialog(env); } else if (qs != null && qs.getStatus() == QuestStatus.START) { if (env.getDialogId() == 26) return sendQuestDialog(env, 2375); else if (env.getDialogId() == 1009) { qs.setQuestVar(3); updateQuestStatus(env); qs.setStatus(QuestStatus.REWARD); updateQuestStatus(env); return defaultQuestEndDialog(env); } else return defaultQuestEndDialog(env); } else if (qs != null && qs.getStatus() == QuestStatus.REWARD) { return defaultQuestEndDialog(env); } } else if (targetId == 204433) // Kistig { if (qs != null && qs.getStatus() == QuestStatus.START && qs.getQuestVarById(0) == 0) { if (env.getDialogId() == 26) return sendQuestDialog(env, 1352); else if (env.getDialogId() == 10000) { qs.setQuestVarById(0, qs.getQuestVarById(0) + 1); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } else return defaultQuestStartDialog(env); } } return false; }
@Override public boolean onDialogEvent(QuestCookie env) { final Player player = env.getPlayer(); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); QuestState qs = player.getQuestStateList().getQuestState(questId); if (targetId == 204327) // Sveinn { if (qs == null || qs.getStatus() == QuestStatus.NONE) { if (env.getDialogId() == 26) return sendQuestDialog(env, 4762); else return defaultQuestStartDialog(env); } else if (qs != null && qs.getStatus() == QuestStatus.START && qs.getQuestVarById(0) == 0) { if (env.getDialogId() == 26) return sendQuestDialog(env, 1011); else if (env.getDialogId() == 10000) { qs.setQuestVar(2); ItemService.addItems(player, Collections.singletonList(new QuestItems(182204221, 1))); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } else if (env.getDialogId() == 10002) { qs.setQuestVar(2); ItemService.addItems(player, Collections.singletonList(new QuestItems(182204221, 1))); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } else if (env.getDialogId() == 10006) { qs.setQuestVar(2); ItemService.addItems(player, Collections.singletonList(new QuestItems(182204221, 1))); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } else return defaultQuestStartDialog(env); } else if (qs != null && qs.getStatus() == QuestStatus.REWARD) { player.getInventory().removeFromBagByItemId(182204222, 1); return defaultQuestEndDialog(env); } } else if (targetId == 204377) // Grall { if (qs != null && qs.getStatus() == QuestStatus.START && qs.getQuestVarById(0) == 2) { if (env.getDialogId() == 26) return sendQuestDialog(env, 1693); else if (env.getDialogId() == 1009) { qs.setQuestVar(4); player.getInventory().removeFromBagByItemId(182204221, 1); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } else return defaultQuestStartDialog(env); } } else if (targetId == 798078) // Hugorunerk { if (qs != null && qs.getStatus() == QuestStatus.START && qs.getQuestVarById(0) == 4) { if (env.getDialogId() == 26) return sendQuestDialog(env, 2034); else if (env.getDialogId() == 10003) { qs.setQuestVar(5); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } else return defaultQuestStartDialog(env); } } else if (targetId == 798081) // Pararinirerk { if (qs != null && qs.getStatus() == QuestStatus.START && qs.getQuestVarById(0) == 5) { if (env.getDialogId() == 26) return sendQuestDialog(env, 2375); else if (env.getDialogId() == 10004) { qs.setQuestVar(6); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } else return defaultQuestStartDialog(env); } } else if (targetId == 798082) // Bicorunerk { if (qs != null && qs.getStatus() == QuestStatus.START && qs.getQuestVarById(0) == 6) { if (env.getDialogId() == 26) return sendQuestDialog(env, 2716); else if (env.getDialogId() == 10005) { qs.setQuestVar(8); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } else return defaultQuestStartDialog(env); } } else if (targetId == 204300) // Bolverk { if (qs != null && qs.getStatus() == QuestStatus.START && qs.getQuestVarById(0) == 8) { if (env.getDialogId() == 26) return sendQuestDialog(env, 3057); else if (env.getDialogId() == 1009) // Need check Item { qs.setStatus(QuestStatus.REWARD); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } else return defaultQuestStartDialog(env); } else if (qs != null && qs.getStatus() == QuestStatus.REWARD) { player.getInventory().removeFromBagByItemId(182204222, 1); return defaultQuestEndDialog(env); } } return false; }
@Override public boolean onDialogEvent(QuestCookie env) { final Player player = env.getPlayer(); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); QuestState qs = player.getQuestStateList().getQuestState(questId); if (targetId == 798927) { if (qs == null) { if (env.getDialogId() == 26) return sendQuestDialog(env, 1011); else if (env.getDialogId() == 1002) { if (ItemService.addItems(player, Collections.singletonList(new QuestItems(182206710, 1)))) return defaultQuestStartDialog(env); else return true; } else return defaultQuestStartDialog(env); } } if (qs == null) return false; if (qs.getStatus() == QuestStatus.START) { switch (targetId) { case 798934: { switch (env.getDialogId()) { case 26: { return sendQuestDialog(env, 1352); } case 10000: { qs.setQuestVarById(0, qs.getQuestVarById(0) + 1); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } } } case 798997: { switch (env.getDialogId()) { case 26: { return sendQuestDialog(env, 2375); } case 1009: { qs.setQuestVar(2); qs.setStatus(QuestStatus.REWARD); updateQuestStatus(env); return defaultQuestEndDialog(env); } default: return defaultQuestEndDialog(env); } } } } else if (qs.getStatus() == QuestStatus.REWARD) { if (targetId == 798997) { switch (env.getDialogId()) { case 1009: { return sendQuestDialog(env, 5); } default: return defaultQuestEndDialog(env); } } } return false; }
@Override public boolean onDialogEvent(QuestCookie env) { Player player = env.getPlayer(); if (defaultQuestNoneDialog(env, questStartNpc, 4762)) return true; QuestState qs = player.getQuestStateList().getQuestState(questId); if (qs == null) return false; int var = qs.getQuestVarById(0); if (qs.getStatus() == QuestStatus.START) { switch (env.getTargetId()) { case secondNpc: switch (env.getDialogId()) { case 26: if (var == 0) return sendQuestDialog(env, 1011); else if (var == 1) return sendQuestDialog(env, 4081); else if (var == 3) return sendQuestDialog(env, 1352); else if (var == 4) return sendQuestDialog(env, 4166); else if (var == 6) return sendQuestDialog(env, 1693); else if (var == 7) return sendQuestDialog(env, 4251); else if (var == 9) return sendQuestDialog(env, 2034); else if (var == 10) return sendQuestDialog(env, 4336); case 10009: if (player.getInventory().decreaseKinah(6500)) return defaultCloseDialog(env, var, 2, recipesItemIds[0], 1, 0, 0); else return sendQuestDialog(env, 4400); case 10019: if (player.getInventory().decreaseKinah(6500)) return defaultCloseDialog(env, var, 5, recipesItemIds[1], 1, 0, 0); else return sendQuestDialog(env, 4400); case 10029: if (player.getInventory().decreaseKinah(6500)) return defaultCloseDialog(env, var, 8, recipesItemIds[2], 1, 0, 0); else return sendQuestDialog(env, 4400); case 10039: if (player.getInventory().decreaseKinah(6500)) return defaultCloseDialog(env, var, 11, recipesItemIds[3], 1, 0, 0); else return sendQuestDialog(env, 4400); } break; case questStartNpc: switch (env.getDialogId()) { case 26: if (var == 2) return sendQuestDialog(env, 1097); else if (var == 5) return sendQuestDialog(env, 1438); else if (var == 8) return sendQuestDialog(env, 1779); else if (var == 11) return sendQuestDialog(env, 2120); case 10010: if (var == 2) { if (player.getInventory().getItemCountByItemId(products[0]) > 0) { player.getInventory().removeFromBagByItemId(products[0], 1); qs.setQuestVar(3); updateQuestStatus(env); return sendQuestDialog(env, 1182); } else { int checkFailId = 3398; if (player.getRecipeList().isRecipePresent(recipesIds[0])) checkFailId = 2716; else if (player.getInventory().getItemCountByItemId(recipesItemIds[0]) > 0) checkFailId = 3057; if (checkFailId == 3398) { qs.setQuestVar(1); updateQuestStatus(env); } return sendQuestDialog(env, checkFailId); } } break; case 10020: if (var == 5) { if (player.getInventory().getItemCountByItemId(products[1]) > 0) { player.getInventory().removeFromBagByItemId(products[1], 1); qs.setQuestVar(6); updateQuestStatus(env); return sendQuestDialog(env, 1523); } else { int checkFailId = 3398; if (player.getRecipeList().isRecipePresent(recipesIds[1])) checkFailId = 2716; else if (player.getInventory().getItemCountByItemId(recipesItemIds[1]) > 0) checkFailId = 3057; if (checkFailId == 3398) { qs.setQuestVar(4); updateQuestStatus(env); } return sendQuestDialog(env, checkFailId); } } break; case 10030: if (var == 8) { if (player.getInventory().getItemCountByItemId(products[2]) > 0) { player.getInventory().removeFromBagByItemId(products[2], 1); qs.setQuestVar(9); updateQuestStatus(env); return sendQuestDialog(env, 1864); } else { int checkFailId = 3398; if (player.getRecipeList().isRecipePresent(recipesIds[2])) checkFailId = 2716; else if (player.getInventory().getItemCountByItemId(recipesItemIds[2]) > 0) checkFailId = 3057; if (checkFailId == 3398) { qs.setQuestVar(7); updateQuestStatus(env); } return sendQuestDialog(env, checkFailId); } } break; case 10040: if (var == 11) { if (player.getInventory().getItemCountByItemId(products[3]) > 0) { player.getInventory().removeFromBagByItemId(products[3], 1); qs.setStatus(QuestStatus.REWARD); updateQuestStatus(env); return sendQuestDialog(env, 5); } else { int checkFailId = 3398; if (player.getRecipeList().isRecipePresent(recipesIds[3])) checkFailId = 2716; else if (player.getInventory().getItemCountByItemId(recipesItemIds[3]) > 0) checkFailId = 3057; if (checkFailId == 3398) { qs.setQuestVar(10); updateQuestStatus(env); } return sendQuestDialog(env, checkFailId); } } break; } } } return defaultQuestRewardDialog(env, questStartNpc, 0); }
@Override public boolean onDialogEvent(QuestCookie env) { final Player player = env.getPlayer(); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); QuestState qs = player.getQuestStateList().getQuestState(questId); if (qs == null || qs.getStatus() == QuestStatus.NONE) { if (targetId == 204146) // Kanensa { if (env.getDialogId() == 26) { int plate = player.getEquipment().itemSetPartsEquipped(9); int chain = player.getEquipment().itemSetPartsEquipped(8); int leather = player.getEquipment().itemSetPartsEquipped(7); int cloth = player.getEquipment().itemSetPartsEquipped(6); if (plate != 5 && chain != 5 && leather != 5 && cloth != 5) return sendQuestDialog(env, 4848); else return sendQuestDialog(env, 4762); } else return defaultQuestStartDialog(env); } } if (qs == null) return false; int var = qs.getQuestVarById(0); int var1 = qs.getQuestVarById(1); if (qs.getStatus() == QuestStatus.START) { if (targetId == 204146) { switch (env.getDialogId()) { case 26: if (var == 0) return sendQuestDialog(env, 1011); if (var == 1) return sendQuestDialog(env, 1352); if (var == 2 && var1 == 60) return sendQuestDialog(env, 1693); if (var == 3 && player.getInventory().getItemCountByItemId(186000040) > 0) return sendQuestDialog(env, 2034); case 34: if (var == 0) { if (QuestService.collectItemCheck(env, true)) { qs.setQuestVarById(0, var + 1); updateQuestStatus(env); return sendQuestDialog(env, 10000); } else return sendQuestDialog(env, 10001); } break; case 1352: if (var == 0) return sendQuestDialog(env, 1352); case 2035: if (var == 3) { if (player.getCommonData().getDp() < 4000) { return sendQuestDialog(env, 2120); } else { player.getInventory().removeFromBagByItemId(186000040, 1); player.getCommonData().setDp(0); qs.setStatus(QuestStatus.REWARD); updateQuestStatus(env); return sendQuestDialog(env, 5); } } break; case 10001: if (var == 1) { qs.setQuestVarById(0, var + 1); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } break; case 10002: if (var == 2) { qs.setQuestVar(var + 1); updateQuestStatus(env); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } break; } } return false; } else if (qs.getStatus() == QuestStatus.REWARD) { if (targetId == 204146) // Kanensa { return defaultQuestEndDialog(env); } return false; } return false; }