@Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { QuestState st = getQuestState(player, false); if (st == null) { return getNoQuestMsg(player); } if (Util.isDigit(event)) { int i = Integer.valueOf(event); final ClassId cid = player.getClassId(); if ((cid.getRace() == Race.DARK_ELF) && (cid.getId() == CLASSES[i][1])) { int suffix; final boolean item = st.hasQuestItems(CLASSES[i][6]); if (player.getLevel() < 20) { suffix = (!item) ? CLASSES[i][2] : CLASSES[i][3]; } else { if (!item) { suffix = CLASSES[i][4]; } else { suffix = CLASSES[i][5]; st.giveItems(SHADOW_WEAPON_COUPON_DGRADE, 15); st.takeItems(CLASSES[i][6], -1); player.setClassId(CLASSES[i][0]); player.setBaseClass(CLASSES[i][0]); st.playSound(QuestSound.ITEMSOUND_QUEST_FANFARE_2); player.broadcastUserInfo(); st.exitQuest(false); } } event = npc.getId() + "-" + suffix + ".html"; } } return event; }
private String ClassChangeRequested(L2PcInstance player, int classId) { String htmltext = null; if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP)) { htmltext = "30115-21.htm"; // fnYouAreThirdClass } else if ((classId == SORCERER) && (player.getClassId() == ClassId.wizard)) { if (player.getLevel() < 40) { if (hasQuestItems(player, MARK_OF_SCHOLAR, MARK_OF_TRUST, MARK_OF_MAGUS)) { htmltext = "30115-22.htm"; // fnLowLevel11 } else { htmltext = "30115-23.htm"; // fnLowLevelNoProof11 } } else if (hasQuestItems(player, MARK_OF_SCHOLAR, MARK_OF_TRUST, MARK_OF_MAGUS)) { takeItems(player, -1, MARK_OF_SCHOLAR, MARK_OF_TRUST, MARK_OF_MAGUS); player.setClassId(SORCERER); player.setBaseClass(SORCERER); // SystemMessage and cast skill is done by setClassId player.broadcastUserInfo(); giveItems(player, SHADOW_ITEM_EXCHANGE_COUPON_C_GRADE, 15); htmltext = "30115-24.htm"; // fnAfterClassChange11 } else { htmltext = "30115-25.htm"; // fnNoProof11 } } else if ((classId == NECROMANCER) && (player.getClassId() == ClassId.wizard)) { if (player.getLevel() < 40) { if (hasQuestItems(player, MARK_OF_SCHOLAR, MARK_OF_TRUST, MARK_OF_WITCHCRAFT)) { htmltext = "30115-26.htm"; // fnLowLevel12 } else { htmltext = "30115-27.htm"; // fnLowLevelNoProof12 } } else if (hasQuestItems(player, MARK_OF_SCHOLAR, MARK_OF_TRUST, MARK_OF_WITCHCRAFT)) { takeItems(player, -1, MARK_OF_SCHOLAR, MARK_OF_TRUST, MARK_OF_WITCHCRAFT); player.setClassId(NECROMANCER); player.setBaseClass(NECROMANCER); // SystemMessage and cast skill is done by setClassId player.broadcastUserInfo(); giveItems(player, SHADOW_ITEM_EXCHANGE_COUPON_C_GRADE, 15); htmltext = "30115-28.htm"; // fnAfterClassChange12 } else { htmltext = "30115-29.htm"; // fnNoProof12 } } else if ((classId == WARLOCK) && (player.getClassId() == ClassId.wizard)) { if (player.getLevel() < 40) { if (hasQuestItems(player, MARK_OF_SCHOLAR, MARK_OF_TRUST, MARK_OF_SUMMONER)) { htmltext = "30115-30.htm"; // fnLowLevel13 } else { htmltext = "30115-31.htm"; // fnLowLevelNoProof13 } } else if (hasQuestItems(player, MARK_OF_SCHOLAR, MARK_OF_TRUST, MARK_OF_SUMMONER)) { takeItems(player, -1, MARK_OF_SCHOLAR, MARK_OF_TRUST, MARK_OF_SUMMONER); player.setClassId(WARLOCK); player.setBaseClass(WARLOCK); // SystemMessage and cast skill is done by setClassId player.broadcastUserInfo(); giveItems(player, SHADOW_ITEM_EXCHANGE_COUPON_C_GRADE, 15); htmltext = "30115-32.htm"; // fnAfterClassChange13 } else { htmltext = "30115-33.htm"; // fnNoProof13 } } else if ((classId == SPELLSINGER) && (player.getClassId() == ClassId.elvenWizard)) { if (player.getLevel() < 40) { if (hasQuestItems(player, MARK_OF_SCHOLAR, MARK_OF_LIFE, MARK_OF_MAGUS)) { htmltext = "30115-34.htm"; // fnLowLevel21 } else { htmltext = "30115-35.htm"; // fnLowLevelNoProof21 } } else if (hasQuestItems(player, MARK_OF_SCHOLAR, MARK_OF_LIFE, MARK_OF_MAGUS)) { takeItems(player, -1, MARK_OF_SCHOLAR, MARK_OF_LIFE, MARK_OF_MAGUS); player.setClassId(SPELLSINGER); player.setBaseClass(SPELLSINGER); // SystemMessage and cast skill is done by setClassId player.broadcastUserInfo(); giveItems(player, SHADOW_ITEM_EXCHANGE_COUPON_C_GRADE, 15); htmltext = "30115-36.htm"; // fnAfterClassChange21 } else { htmltext = "30115-37.htm"; // fnNoProof21 } } else if ((classId == ELEMENTAL_SUMMONER) && (player.getClassId() == ClassId.elvenWizard)) { if (player.getLevel() < 40) { if (hasQuestItems(player, MARK_OF_SCHOLAR, MARK_OF_LIFE, MARK_OF_SUMMONER)) { htmltext = "30115-38.htm"; // fnLowLevel22 } else { htmltext = "30115-39.htm"; // fnLowLevelNoProof22 } } else if (hasQuestItems(player, MARK_OF_SCHOLAR, MARK_OF_LIFE, MARK_OF_SUMMONER)) { takeItems(player, -1, MARK_OF_SCHOLAR, MARK_OF_LIFE, MARK_OF_SUMMONER); player.setClassId(ELEMENTAL_SUMMONER); player.setBaseClass(ELEMENTAL_SUMMONER); // SystemMessage and cast skill is done by setClassId player.broadcastUserInfo(); giveItems(player, SHADOW_ITEM_EXCHANGE_COUPON_C_GRADE, 15); htmltext = "30115-40.htm"; // fnAfterClassChange22 } else { htmltext = "30115-41.htm"; // fnNoProof22 } } return htmltext; }