@Override public boolean onDialogEvent(QuestEnv env) { final Player player = env.getPlayer(); int targetId = 0; QuestState qs2 = player.getQuestStateList().getQuestState(3968); if (qs2 == null || qs2.getStatus() != QuestStatus.COMPLETE) return false; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); QuestState qs = player.getQuestStateList().getQuestState(questId); if (targetId == 798390) // Palentine { if (qs == null || qs.getStatus() == QuestStatus.NONE) { if (env.getDialogId() == -1) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 1011); else if (env.getDialogId() == 1002) { if (ItemService.addItems( player, Collections.singletonList(new QuestItems(182206126, 1)))) { return defaultQuestStartDialog(env); } return true; } else return defaultQuestStartDialog(env); } } if (qs == null) return false; int var = qs.getQuestVarById(0); if (targetId == 798391) // Andu { if (qs.getStatus() == QuestStatus.START && var == 0) { if (env.getDialogId() == -1) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 1352); else if (env.getDialogId() == 10000) { if (ItemService.removeItemFromInventoryByItemId(player, 182206126)) { qs.setQuestVar(1); qs.setStatus(QuestStatus.REWARD); updateQuestStatus(player, qs); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); } return true; } else return defaultQuestStartDialog(env); } } else if (targetId == 798390) // Palentine { if (qs.getStatus() == QuestStatus.REWARD) { if (env.getDialogId() == -1) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 2375); return defaultQuestEndDialog(env); } } return false; }
@Override public boolean onDialogEvent(QuestEnv env) { final Player player = env.getPlayer(); int targetId = 0; final QuestState qs = player.getQuestStateList().getQuestState(questId); if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); if (targetId == 0) { if (qs == null || qs.getStatus() == QuestStatus.NONE) { if (env.getDialogId() == 1002) { questService.startQuest(env, QuestStatus.START); if (!itemService.addItems( player, Collections.singletonList(new QuestItems(182200226, 1)))) ; player.getInventory().removeFromBagByItemId(182200214, 1); PacketSendUtility.sendPacket(player, new SM_DIALOG_WINDOW(0, 0)); return true; } else PacketSendUtility.sendPacket(player, new SM_DIALOG_WINDOW(0, 0)); } } if (qs == null) return false; int var = qs.getQuestVarById(0); if (qs.getStatus() == QuestStatus.REWARD) { if (targetId == 203075 && var == 4) { if (env.getDialogId() == -1) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 2375); else if (env.getDialogId() == 1009) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 6); else return defaultQuestEndDialog(env); } else if (targetId == 203058 && var == 3) return defaultQuestEndDialog(env); } else if (qs.getStatus() != QuestStatus.START) return false; if (targetId == 203075) { switch (env.getDialogId()) { case 25: if (var == 0) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 1011); else if (var == 2) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 1693); else if (var == 3) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 2375); case 1009: if (var == 2) { qs.setQuestVarById(0, var + 2); qs.setStatus(QuestStatus.REWARD); updateQuestStatus(player, qs); player.getInventory().removeFromBagByItemId(182200217, 1); return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 6); } if (var == 3) { qs.setQuestVarById(0, var + 1); qs.setStatus(QuestStatus.REWARD); updateQuestStatus(player, qs); player.getInventory().removeFromBagByItemId(182200217, 1); return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 6); } case 10000: if (var == 0) { qs.setQuestVarById(0, var + 1); updateQuestStatus(player, qs); player.getInventory().removeFromBagByItemId(182200226, 1); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } case 10001: if (var == 2) { qs.setQuestVarById(0, var + 1); updateQuestStatus(player, qs); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } } } else if (targetId == 700008) { switch (env.getDialogId()) { case -1: if (var == 1) { // final Npc npc = (Npc)env.getVisibleObject(); final int targetObjectId = env.getVisibleObject().getObjectId(); PacketSendUtility.sendPacket( player, new SM_USE_OBJECT(player.getObjectId(), targetObjectId, 3000, 1)); PacketSendUtility.broadcastPacket( player, new SM_EMOTION(player, 37, 0, targetObjectId), true); ThreadPoolManager.getInstance() .schedule( new Runnable() { @Override public void run() { PacketSendUtility.sendPacket( player, new SM_USE_OBJECT(player.getObjectId(), targetObjectId, 3000, 0)); PacketSendUtility.broadcastPacket( player, new SM_EMOTION(player, 38, 0, targetObjectId), true); for (VisibleObject obj : player.getKnownList()) { if (!(obj instanceof Npc)) continue; if (((Npc) obj).getNpcId() != 203175) continue; if (((Npc) obj).getNpcId() != 203175) return; ((Npc) obj).getAggroList().addDamage(player, 50); } if (!itemService.addItems( player, Collections.singletonList(new QuestItems(182200217, 1)))) ; qs.setQuestVarById(0, 2); updateQuestStatus(player, qs); } }, 3000); } return true; } } if (targetId == 203058) { switch (env.getDialogId()) { case 25: if (var == 3) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 2034); case 10002: if (var == 3) { qs.setStatus(QuestStatus.REWARD); updateQuestStatus(player, qs); player.getInventory().removeFromBagByItemId(182200217, 1); return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 5); } case 10001: if (var == 3) { PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } } } return false; }
@Override public boolean onDialogEvent(QuestEnv env) { final Player player = env.getPlayer(); final int instanceId = player.getInstanceId(); final QuestState qs = player.getQuestStateList().getQuestState(questId); if (qs == null) return false; int var = qs.getQuestVars().getQuestVars(); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); if (qs.getStatus() == QuestStatus.START) { if (targetId == 790001) { switch (env.getDialogId()) { case 25: if (var == 0) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 1011); else if (var == 3) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 1693); else if (var == 5) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 2034); case 10000: if (var == 0) { if (player.getInventory().getItemCountByItemId(182200007) == 0) if (!itemService.addItems( player, Collections.singletonList(new QuestItems(182200007, 1)))) return true; qs.setQuestVarById(0, var + 1); updateQuestStatus(player, qs); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } case 10002: if (var == 3) { player.getInventory().removeFromBagByItemId(182200009, 1); qs.setQuestVar(99); updateQuestStatus(player, qs); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 0)); WorldMapInstance newInstance = instanceService.getNextAvailableInstance(310010000); instanceService.registerPlayerWithInstance(newInstance, player); teleportService.teleportTo( player, 310010000, newInstance.getInstanceId(), 52, 174, 229, 0); return true; } case 10003: if (var == 5) { PlayerClass playerClass = player.getCommonData().getPlayerClass(); if (playerClass == PlayerClass.WARRIOR) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 2375); else if (playerClass == PlayerClass.SCOUT) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 2716); else if (playerClass == PlayerClass.MAGE) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 3057); else if (playerClass == PlayerClass.PRIEST) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 3398); } case 10004: if (var == 5) return setPlayerClass(env, qs, PlayerClass.GLADIATOR); case 10005: if (var == 5) return setPlayerClass(env, qs, PlayerClass.TEMPLAR); case 10006: if (var == 5) return setPlayerClass(env, qs, PlayerClass.ASSASSIN); case 10007: if (var == 5) return setPlayerClass(env, qs, PlayerClass.RANGER); case 10008: if (var == 5) return setPlayerClass(env, qs, PlayerClass.SORCERER); case 10009: if (var == 5) return setPlayerClass(env, qs, PlayerClass.SPIRIT_MASTER); case 10010: if (var == 5) return setPlayerClass(env, qs, PlayerClass.CLERIC); case 10011: if (var == 5) return setPlayerClass(env, qs, PlayerClass.CHANTER); } } else if (targetId == 730008) { switch (env.getDialogId()) { case 25: if (var == 2) { if (player.getInventory().getItemCountByItemId(182200008) != 0) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 1352); else return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 1354); } case 1353: if (var == 2) { PacketSendUtility.sendPacket(player, new SM_PLAY_MOVIE(0, 14)); player.getInventory().removeFromBagByItemId(182200008, 1); itemService.addItems(player, Collections.singletonList(new QuestItems(182200009, 1))); } return false; case 10001: if (var == 2) { qs.setQuestVarById(0, var + 1); updateQuestStatus(player, qs); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } } } else if (targetId == 205000) { switch (env.getDialogId()) { case 25: if (var == 99) { PacketSendUtility.sendPacket(player, new SM_EMOTION(player, 6, 1001, 0)); qs.setQuestVar(50); updateQuestStatus(player, qs); ThreadPoolManager.getInstance() .schedule( new Runnable() { @Override public void run() { qs.setQuestVar(51); updateQuestStatus(player, qs); List<Npc> mobs = new ArrayList<Npc>(); mobs.add( (Npc) questService.addNewSpawn( 310010000, instanceId, 211042, (float) 224.073, (float) 239.1, (float) 206.7, (byte) 0, true)); mobs.add( (Npc) questService.addNewSpawn( 310010000, instanceId, 211042, (float) 233.5, (float) 241.04, (float) 206.365, (byte) 0, true)); mobs.add( (Npc) questService.addNewSpawn( 310010000, instanceId, 211042, (float) 229.6, (float) 265.7, (float) 205.7, (byte) 0, true)); mobs.add( (Npc) questService.addNewSpawn( 310010000, instanceId, 211042, (float) 222.8, (float) 262.5, (float) 205.7, (byte) 0, true)); for (Npc mob : mobs) { // TODO: Tempt decrease P attack. mob.getGameStats() .setStat( StatEnum.MAIN_HAND_POWER, mob.getGameStats().getCurrentStat(StatEnum.MAIN_HAND_POWER) / 3); mob.getGameStats().setStat(StatEnum.PHYSICAL_DEFENSE, 0); mob.getAggroList().addDamage(player, 1000); } } }, 43000); return true; } return false; default: return false; } } } else if (qs.getStatus() == QuestStatus.REWARD) { if (targetId == 790001) { return defaultQuestEndDialog(env); } } return false; }
@Override public boolean onDialogEvent(QuestEnv env) { final Player player = env.getPlayer(); final QuestState qs = player.getQuestStateList().getQuestState(questId); if (qs == null) return false; int var = qs.getQuestVarById(0); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); if (qs.getStatus() == QuestStatus.REWARD) { if (targetId == 204501) return defaultQuestEndDialog(env); } else if (qs.getStatus() != QuestStatus.START) { return false; } if (targetId == 204501) { switch (env.getDialogId()) { case 25: if (var == 0) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 1011); else if (var == 4) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 2375); return false; case 10000: if (var == 0) { qs.setQuestVarById(0, var + 1); updateQuestStatus(player, qs); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } case 10004: if (var == 4) { qs.setQuestVarById(0, var + 1); updateQuestStatus(player, qs); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } return false; } } else if (targetId == 204582) { switch (env.getDialogId()) { case 25: if (var == 1) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 1352); else if (var == 3) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 2034); return false; case 10001: if (var == 1) { qs.setQuestVarById(0, var + 1); updateQuestStatus(player, qs); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } case 10003: if (var == 3) { qs.setQuestVarById(0, var + 1); updateQuestStatus(player, qs); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); ItemService.decreaseItemCountByItemId(player, 182201601, 1); return true; } return false; } } else if (targetId == 203882) { switch (env.getDialogId()) { case 25: if (var == 5) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 2716); case 10005: if (var == 5) { qs.setQuestVarById(0, var + 1); updateQuestStatus(player, qs); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } return false; } } else if (targetId == 278503) { switch (env.getDialogId()) { case 25: if (var == 6) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 3057); else if (var == 7) return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 3398); case 33: if (QuestService.collectItemCheck(env, true)) { qs.setQuestVarById(0, var + 1); qs.setStatus(QuestStatus.REWARD); updateQuestStatus(player, qs); return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 10000); } else return sendQuestDialog(player, env.getVisibleObject().getObjectId(), 10001); case 10006: if (var == 6) { qs.setQuestVarById(0, var + 1); updateQuestStatus(player, qs); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } case 10007: if (var == 7) { qs.setQuestVarById(0, var + 1); updateQuestStatus(player, qs); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10)); return true; } return false; } } else if (targetId == 700217 && qs.getQuestVarById(0) == 2) { if (env.getDialogId() == -1) { final int targetObjectId = env.getVisibleObject().getObjectId(); PacketSendUtility.sendPacket( player, new SM_USE_OBJECT(player.getObjectId(), targetObjectId, 3000, 1)); PacketSendUtility.broadcastPacket( player, new SM_EMOTION(player, EmotionType.NEUTRALMODE2, 0, targetObjectId), true); ThreadPoolManager.getInstance() .schedule( new Runnable() { @Override public void run() { 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); sendQuestDialog(player, targetObjectId, 1693); } }, 3000); } else if (qs.getQuestVarById(0) == 2 && env.getDialogId() == 10002) { PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 0)); ItemService.addItems(player, Collections.singletonList(new QuestItems(182201601, 1))); qs.setQuestVarById(0, 3); updateQuestStatus(player, qs); return true; } } else if (targetId == 700303 && qs.getQuestVarById(0) == 7) { if (env.getDialogId() == -1) { final int targetObjectId = env.getVisibleObject().getObjectId(); PacketSendUtility.sendPacket( player, new SM_USE_OBJECT(player.getObjectId(), targetObjectId, 3000, 1)); PacketSendUtility.broadcastPacket( player, new SM_EMOTION(player, EmotionType.NEUTRALMODE2, 0, targetObjectId), true); ThreadPoolManager.getInstance() .schedule( new Runnable() { @Override public void run() { 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); ItemService.addItems( player, Collections.singletonList(new QuestItems(182201602, 1))); } }, 3000); } } return false; }