|
@@ -1,224 +0,0 @@
|
|
|
-# Made by Mr. Have fun! Version 0.2
|
|
|
-# Shadow Weapon Coupons contributed by BiTi for the Official L2J Datapack Project
|
|
|
-# Visit http://www.l2jdp.com/forum/ for more details
|
|
|
-import sys
|
|
|
-from com.l2jserver.gameserver.model.quest import State
|
|
|
-from com.l2jserver.gameserver.model.quest import QuestState
|
|
|
-from com.l2jserver.gameserver.model.quest import Quest as JQuest
|
|
|
-from com.l2jserver.gameserver.network.serverpackets import SocialAction
|
|
|
-
|
|
|
-qn = "408_PathToElvenwizard"
|
|
|
-
|
|
|
-ROGELLIAS_LETTER = 1218
|
|
|
-RED_DOWN = 1219
|
|
|
-MAGICAL_POWERS_RUBY = 1220
|
|
|
-PURE_AQUAMARINE = 1221
|
|
|
-APPETIZING_APPLE = 1222
|
|
|
-GOLD_LEAVES = 1223
|
|
|
-IMMORTAL_LOVE = 1224
|
|
|
-AMETHYST = 1225
|
|
|
-NOBILITY_AMETHYST = 1226
|
|
|
-FERTILITY_PERIDOT = 1229
|
|
|
-ETERNITY_DIAMOND = 1230
|
|
|
-CHARM_OF_GRAIN = 1272
|
|
|
-SAP_OF_WORLD_TREE = 1273
|
|
|
-LUCKY_POTPOURI = 1274
|
|
|
-
|
|
|
-class Quest (JQuest) :
|
|
|
-
|
|
|
- def __init__(self,id,name,descr):
|
|
|
- JQuest.__init__(self,id,name,descr)
|
|
|
- self.questItemIds = range(1218,1230)+range(1272,1275)
|
|
|
-
|
|
|
- def onEvent (self,event,st) :
|
|
|
- htmltext = event
|
|
|
- player = st.getPlayer()
|
|
|
- if event == "1" :
|
|
|
- st.set("id","0")
|
|
|
- if player.getClassId().getId() != 0x19 :
|
|
|
- if player.getClassId().getId() == 0x1a :
|
|
|
- htmltext = "30414-02a.htm"
|
|
|
- else:
|
|
|
- htmltext = "30414-03.htm"
|
|
|
- else:
|
|
|
- if player.getLevel()<18 :
|
|
|
- htmltext = "30414-04.htm"
|
|
|
- else:
|
|
|
- if st.getQuestItemsCount(ETERNITY_DIAMOND) != 0 :
|
|
|
- htmltext = "30414-05.htm"
|
|
|
- else:
|
|
|
- st.set("cond","1")
|
|
|
- st.setState(State.STARTED)
|
|
|
- st.playSound("ItemSound.quest_accept")
|
|
|
- if st.getQuestItemsCount(FERTILITY_PERIDOT) == 0 :
|
|
|
- st.giveItems(FERTILITY_PERIDOT,1)
|
|
|
- htmltext = "30414-06.htm"
|
|
|
- elif event == "408_1" :
|
|
|
- if st.getInt("cond") != 0 and st.getQuestItemsCount(MAGICAL_POWERS_RUBY) != 0 :
|
|
|
- htmltext = "30414-10.htm"
|
|
|
- elif st.getInt("cond") != 0 and st.getQuestItemsCount(MAGICAL_POWERS_RUBY) == 0 and st.getQuestItemsCount(FERTILITY_PERIDOT) != 0 :
|
|
|
- if st.getQuestItemsCount(ROGELLIAS_LETTER) == 0 :
|
|
|
- st.giveItems(ROGELLIAS_LETTER,1)
|
|
|
- htmltext = "30414-07.htm"
|
|
|
- elif event == "408_4" :
|
|
|
- if st.getInt("cond") != 0 and st.getQuestItemsCount(ROGELLIAS_LETTER) != 0 :
|
|
|
- st.takeItems(ROGELLIAS_LETTER,st.getQuestItemsCount(ROGELLIAS_LETTER))
|
|
|
- if st.getQuestItemsCount(CHARM_OF_GRAIN) == 0 :
|
|
|
- st.giveItems(CHARM_OF_GRAIN,1)
|
|
|
- htmltext = "30157-02.htm"
|
|
|
- elif event == "408_2" :
|
|
|
- if st.getInt("cond") != 0 and st.getQuestItemsCount(PURE_AQUAMARINE) != 0 :
|
|
|
- htmltext = "30414-13.htm"
|
|
|
- elif st.getInt("cond") != 0 and st.getQuestItemsCount(PURE_AQUAMARINE) == 0 and st.getQuestItemsCount(FERTILITY_PERIDOT) != 0 :
|
|
|
- if st.getQuestItemsCount(APPETIZING_APPLE) == 0 :
|
|
|
- st.giveItems(APPETIZING_APPLE,1)
|
|
|
- htmltext = "30414-14.htm"
|
|
|
- elif event == "408_5" :
|
|
|
- if st.getInt("cond") != 0 and st.getQuestItemsCount(APPETIZING_APPLE) != 0 :
|
|
|
- st.takeItems(APPETIZING_APPLE,st.getQuestItemsCount(APPETIZING_APPLE))
|
|
|
- if st.getQuestItemsCount(SAP_OF_WORLD_TREE) == 0 :
|
|
|
- st.giveItems(SAP_OF_WORLD_TREE,1)
|
|
|
- htmltext = "30371-02.htm"
|
|
|
- elif event == "408_3" :
|
|
|
- if st.getInt("cond") != 0 and st.getQuestItemsCount(NOBILITY_AMETHYST) != 0 :
|
|
|
- htmltext = "30414-17.htm"
|
|
|
- elif st.getInt("cond") != 0 and st.getQuestItemsCount(NOBILITY_AMETHYST) == 0 and st.getQuestItemsCount(FERTILITY_PERIDOT) != 0 :
|
|
|
- if st.getQuestItemsCount(IMMORTAL_LOVE) == 0 :
|
|
|
- st.giveItems(IMMORTAL_LOVE,1)
|
|
|
- htmltext = "30414-18.htm"
|
|
|
- return htmltext
|
|
|
-
|
|
|
-
|
|
|
- def onTalk (self,npc,player):
|
|
|
- htmltext = Quest.getNoQuestMsg(player)
|
|
|
- st = player.getQuestState(qn)
|
|
|
- if not st : return htmltext
|
|
|
-
|
|
|
- npcId = npc.getId()
|
|
|
- id = st.getState()
|
|
|
- if npcId != 30414 and id != State.STARTED : return htmltext
|
|
|
-
|
|
|
- if npcId == 30414 and st.getInt("cond")==0 :
|
|
|
- htmltext = "30414-01.htm"
|
|
|
- elif npcId == 30414 and st.getInt("cond")!=0 and st.getQuestItemsCount(ROGELLIAS_LETTER)==0 and st.getQuestItemsCount(APPETIZING_APPLE)==0 and st.getQuestItemsCount(IMMORTAL_LOVE)==0 and st.getQuestItemsCount(CHARM_OF_GRAIN)==0 and st.getQuestItemsCount(SAP_OF_WORLD_TREE)==0 and st.getQuestItemsCount(LUCKY_POTPOURI)==0 and st.getQuestItemsCount(FERTILITY_PERIDOT)!=0 and (st.getQuestItemsCount(MAGICAL_POWERS_RUBY)==0 or st.getQuestItemsCount(NOBILITY_AMETHYST)==0 or st.getQuestItemsCount(PURE_AQUAMARINE)==0) :
|
|
|
- htmltext = "30414-11.htm"
|
|
|
- elif npcId == 30414 and st.getInt("cond")!=0 and st.getQuestItemsCount(ROGELLIAS_LETTER)!=0 :
|
|
|
- htmltext = "30414-08.htm"
|
|
|
- elif npcId == 30157 and st.getInt("cond")!=0 and st.getQuestItemsCount(ROGELLIAS_LETTER)!=0 :
|
|
|
- htmltext = "30157-01.htm"
|
|
|
- elif npcId == 30157 and st.getInt("cond")!=0 and st.getQuestItemsCount(CHARM_OF_GRAIN)!=0 and st.getQuestItemsCount(RED_DOWN)<5 :
|
|
|
- htmltext = "30157-03.htm"
|
|
|
- elif npcId == 30157 and st.getInt("cond")!=0 and st.getQuestItemsCount(CHARM_OF_GRAIN)!=0 and st.getQuestItemsCount(RED_DOWN)>=5 :
|
|
|
- st.takeItems(RED_DOWN,st.getQuestItemsCount(RED_DOWN))
|
|
|
- st.takeItems(CHARM_OF_GRAIN,st.getQuestItemsCount(CHARM_OF_GRAIN))
|
|
|
- if st.getQuestItemsCount(MAGICAL_POWERS_RUBY) == 0 :
|
|
|
- st.giveItems(MAGICAL_POWERS_RUBY,1)
|
|
|
- htmltext = "30157-04.htm"
|
|
|
- elif npcId == 30414 and st.getInt("cond")!=0 and st.getQuestItemsCount(CHARM_OF_GRAIN)!=0 and st.getQuestItemsCount(RED_DOWN)<5 :
|
|
|
- htmltext = "30414-09.htm"
|
|
|
- elif npcId == 30414 and st.getInt("cond")!=0 and st.getQuestItemsCount(CHARM_OF_GRAIN)!=0 and st.getQuestItemsCount(RED_DOWN)>=5 :
|
|
|
- htmltext = "30414-25.htm"
|
|
|
- elif npcId == 30414 and st.getInt("cond")!=0 and st.getQuestItemsCount(APPETIZING_APPLE)!=0 :
|
|
|
- htmltext = "30414-15.htm"
|
|
|
- elif npcId == 30371 and st.getInt("cond")!=0 and st.getQuestItemsCount(APPETIZING_APPLE)!=0 :
|
|
|
- htmltext = "30371-01.htm"
|
|
|
- elif npcId == 30371 and st.getInt("cond")!=0 and st.getQuestItemsCount(SAP_OF_WORLD_TREE)!=0 and st.getQuestItemsCount(GOLD_LEAVES)<5 :
|
|
|
- htmltext = "30371-03.htm"
|
|
|
- elif npcId == 30371 and st.getInt("cond")!=0 and st.getQuestItemsCount(SAP_OF_WORLD_TREE)!=0 and st.getQuestItemsCount(GOLD_LEAVES)>=5 :
|
|
|
- st.takeItems(GOLD_LEAVES,st.getQuestItemsCount(GOLD_LEAVES))
|
|
|
- st.takeItems(SAP_OF_WORLD_TREE,st.getQuestItemsCount(SAP_OF_WORLD_TREE))
|
|
|
- if st.getQuestItemsCount(PURE_AQUAMARINE) == 0 :
|
|
|
- st.giveItems(PURE_AQUAMARINE,1)
|
|
|
- htmltext = "30371-04.htm"
|
|
|
- elif npcId == 30414 and st.getInt("cond")!=0 and st.getQuestItemsCount(SAP_OF_WORLD_TREE)!=0 and st.getQuestItemsCount(GOLD_LEAVES)<5 :
|
|
|
- htmltext = "30414-16.htm"
|
|
|
- elif npcId == 30414 and st.getInt("cond")!=0 and st.getQuestItemsCount(CHARM_OF_GRAIN)!=0 and st.getQuestItemsCount(GOLD_LEAVES)>=5 :
|
|
|
- htmltext = "30414-26.htm"
|
|
|
- elif npcId == 30414 and st.getInt("cond")!=0 and st.getQuestItemsCount(IMMORTAL_LOVE)!=0 :
|
|
|
- htmltext = "30414-19.htm"
|
|
|
- elif npcId == 30423 and st.getInt("cond")!=0 and st.getQuestItemsCount(IMMORTAL_LOVE)!=0 :
|
|
|
- st.takeItems(IMMORTAL_LOVE,st.getQuestItemsCount(IMMORTAL_LOVE))
|
|
|
- if st.getQuestItemsCount(LUCKY_POTPOURI) == 0 :
|
|
|
- st.giveItems(LUCKY_POTPOURI,1)
|
|
|
- htmltext = "30423-01.htm"
|
|
|
- elif npcId == 30423 and st.getInt("cond")!=0 and st.getQuestItemsCount(LUCKY_POTPOURI)!=0 and st.getQuestItemsCount(AMETHYST)<2 :
|
|
|
- htmltext = "30423-02.htm"
|
|
|
- elif npcId == 30423 and st.getInt("cond")!=0 and st.getQuestItemsCount(LUCKY_POTPOURI)!=0 and st.getQuestItemsCount(AMETHYST)>=2 :
|
|
|
- st.takeItems(AMETHYST,st.getQuestItemsCount(AMETHYST))
|
|
|
- st.takeItems(LUCKY_POTPOURI,st.getQuestItemsCount(LUCKY_POTPOURI))
|
|
|
- if st.getQuestItemsCount(NOBILITY_AMETHYST) == 0 :
|
|
|
- st.giveItems(NOBILITY_AMETHYST,1)
|
|
|
- htmltext = "30423-03.htm"
|
|
|
- elif npcId == 30414 and st.getInt("cond")!=0 and st.getQuestItemsCount(LUCKY_POTPOURI)!=0 and st.getQuestItemsCount(AMETHYST)<2 :
|
|
|
- htmltext = "30414-20.htm"
|
|
|
- elif npcId == 30414 and st.getInt("cond")!=0 and st.getQuestItemsCount(LUCKY_POTPOURI)!=0 and st.getQuestItemsCount(AMETHYST)>=2 :
|
|
|
- htmltext = "30414-27.htm"
|
|
|
- elif npcId == 30414 and st.getInt("cond")!=0 and st.getQuestItemsCount(ROGELLIAS_LETTER)==0 and st.getQuestItemsCount(APPETIZING_APPLE)==0 and st.getQuestItemsCount(IMMORTAL_LOVE)==0 and st.getQuestItemsCount(CHARM_OF_GRAIN)==0 and st.getQuestItemsCount(SAP_OF_WORLD_TREE)==0 and st.getQuestItemsCount(LUCKY_POTPOURI)==0 and st.getQuestItemsCount(FERTILITY_PERIDOT)!=0 and st.getQuestItemsCount(MAGICAL_POWERS_RUBY)!=0 and st.getQuestItemsCount(NOBILITY_AMETHYST)!=0 and st.getQuestItemsCount(PURE_AQUAMARINE)!=0 :
|
|
|
- st.takeItems(MAGICAL_POWERS_RUBY,st.getQuestItemsCount(MAGICAL_POWERS_RUBY))
|
|
|
- st.takeItems(PURE_AQUAMARINE,st.getQuestItemsCount(PURE_AQUAMARINE))
|
|
|
- st.takeItems(NOBILITY_AMETHYST,st.getQuestItemsCount(NOBILITY_AMETHYST))
|
|
|
- st.takeItems(FERTILITY_PERIDOT,st.getQuestItemsCount(FERTILITY_PERIDOT))
|
|
|
- isFinished = st.getGlobalQuestVar("1ClassQuestFinished")
|
|
|
- if isFinished == "" :
|
|
|
- if player.getLevel() >= 20 :
|
|
|
- st.addExpAndSp(320534, 22532)
|
|
|
- elif player.getLevel() == 19 :
|
|
|
- st.addExpAndSp(456128, 29230)
|
|
|
- else:
|
|
|
- st.addExpAndSp(591724, 35928)
|
|
|
- st.giveItems(57, 163800)
|
|
|
- st.set("cond","0")
|
|
|
- st.exitQuest(False)
|
|
|
- st.saveGlobalQuestVar("1ClassQuestFinished","1")
|
|
|
- st.playSound("ItemSound.quest_finish")
|
|
|
- player.sendPacket(SocialAction(player.getObjectId(),3))
|
|
|
- if st.getQuestItemsCount(ETERNITY_DIAMOND) == 0 :
|
|
|
- st.giveItems(ETERNITY_DIAMOND,1)
|
|
|
- htmltext = "30414-24.htm"
|
|
|
- return htmltext
|
|
|
-
|
|
|
- def onKill(self,npc,player,isPet):
|
|
|
- st = player.getQuestState(qn)
|
|
|
- if not st : return
|
|
|
- if st.getState() != State.STARTED : return
|
|
|
-
|
|
|
- npcId = npc.getId()
|
|
|
- if npcId == 20466 :
|
|
|
- st.set("id","0")
|
|
|
- if st.getInt("cond") != 0 and st.getQuestItemsCount(CHARM_OF_GRAIN) != 0 and st.getQuestItemsCount(RED_DOWN)<5 and self.getRandom(100)<70 :
|
|
|
- st.giveItems(RED_DOWN,1)
|
|
|
- if st.getQuestItemsCount(RED_DOWN) == 5 :
|
|
|
- st.playSound("ItemSound.quest_middle")
|
|
|
- else:
|
|
|
- st.playSound("ItemSound.quest_itemget")
|
|
|
- elif npcId == 20019 :
|
|
|
- st.set("id","0")
|
|
|
- if st.getInt("cond") != 0 and st.getQuestItemsCount(SAP_OF_WORLD_TREE) != 0 and st.getQuestItemsCount(GOLD_LEAVES)<5 and self.getRandom(100)<40 :
|
|
|
- st.giveItems(GOLD_LEAVES,1)
|
|
|
- if st.getQuestItemsCount(GOLD_LEAVES) == 5 :
|
|
|
- st.playSound("ItemSound.quest_middle")
|
|
|
- else:
|
|
|
- st.playSound("ItemSound.quest_itemget")
|
|
|
- elif npcId == 20047 :
|
|
|
- st.set("id","0")
|
|
|
- if st.getInt("cond") != 0 and st.getQuestItemsCount(LUCKY_POTPOURI) != 0 and st.getQuestItemsCount(AMETHYST)<2 and self.getRandom(100)<40 :
|
|
|
- st.giveItems(AMETHYST,1)
|
|
|
- if st.getQuestItemsCount(AMETHYST) == 2 :
|
|
|
- st.playSound("ItemSound.quest_middle")
|
|
|
- else:
|
|
|
- st.playSound("ItemSound.quest_itemget")
|
|
|
- return
|
|
|
-
|
|
|
-QUEST = Quest(408,qn,"Path To Elvenwizard")
|
|
|
-
|
|
|
-QUEST.addStartNpc(30414)
|
|
|
-
|
|
|
-QUEST.addTalkId(30414)
|
|
|
-
|
|
|
-QUEST.addTalkId(30157)
|
|
|
-QUEST.addTalkId(30371)
|
|
|
-QUEST.addTalkId(30423)
|
|
|
-
|
|
|
-QUEST.addKillId(20019)
|
|
|
-QUEST.addKillId(20466)
|
|
|
-QUEST.addKillId(20047)
|