rendered paste bodyimport sys
from net.sf.l2j.gameserver.model.quest import State
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
CHANCE = 30
CHANCE2 = 100
HARIT_LIZARDMAN = 640
LAKIN = 604
TIMAK_ORC = 583
TIMAK_ORC_SOLDIER = 585
TIMAK_ORC_ARCHER = 584
PUNISHMENT_OF_UNDEAD = 678
FORMOR = 568
FORMOR_ELDER = 569
VANOR_SILENOS_SHAMAN = 685
OL_MAHUM = 161
OL_MAHUM_WARRIOR = 575
TARIK_BUGBEAR_HIGH_WARRIOR = 572
TIMAK_ORC_SHAMAN = 587
HATAR_HANISHEE = 663
ROYAL_CAVE_SERVANT = 240
ROYAL_CAVE_SERVANT2 = 276
SHACKLE = 235
SHACKLE2 = 279
MALRUK_SUCCUBUS_TUREN = 245
MALRUK_SUCCUBUS_TUREN2 = 284
HEADLESS_KNIGHT = 146
HEADLESS_KNIGHT2 = 280
COIN_DIAGRAM = 3811
KALDIS_COIN = 3812
COIN_COLLECTOR_LVL1 = 3813
COIN_COLLECTOR_LVL2 = 3814
COIN_COLLECTOR_LVL3 = 3815
BLOOD_MEDUSA = 3472
SILVER_UNICORN = 3490
GOLDEN_WYVERN = 3482
BLOOD_WEREWOLF = 3473
BLOOD_DRE_VANUL = 3475
GOLD_DRAKE = 3485
GOLD_KNIGHT = 3483
SILVER_FAIRY = 3491
SILVER_GOLEM = 3494
SILVER_DRYAD = 3492
SILVER_UNDINE = 3495
BLOOD_BASILISK = 3474
BLOOD_SUCCUBUS = 3476
GOLD_GIANT = 3484
GOLD_WYRM = 3486
NIAS_MEDUSA_BLOOD = 3480
NIAS_GOLD_WYVERN = 3489
NIAS_SILVER_FAIRY = 3498
MANAKS_SILVER_DRYAD = 3497
MANAKS_BLOOD_WEREWOLF = 3479
MANAKS_GOLD_GIANT = 3488
BELETHS_BLOOD_DRAGON = 3478
BELETHS_GOLD_DRAGON = 3487
BELETHS_SILVER_DRAGON = 3496
BLOOD_DRAGON = 3477
SILVER_DRAGON = 3493
GOLD_DRAGON = 3481
WAREHOUSE_SORINT = 7232
PRESIDENT_BERNARD = 7702
MAGISTER_PAGE = 7696
RESEARCHER_LORAIN = 7673
WAREHOUSE_HAGGER = 7183
GUARD_STAN = 7200
RALFORD = 7165
BLACKSMITH_FERIS = 7847
WAREHOUSE_COLLOB = 7092
GROCER_PANO = 7078
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st) :
htmltext = event
if event == 1 :
htmltext = "7232-03.htm"
if event == 2 :
htmltext = "7232-05.htm"
st.set("cond","1")
st.setState(STARTED)
st.giveItems(COIN_DIAGRAM,1)
st.playSound("ItemSound.quest_accept")
if event == 3 :
htmltext = "7232-04.htm"
st.unset("step")
st.exitQuest(1)
if event == 4 :
htmltext = "7702-02.htm"
if event == 5 :
htmltext = "7702-02a.htm"
st.set("step","1")
st.playSound("ItemSound.quest_middle")
if event == 6 :
htmltext = "7703-03.htm"
st.set("step","1")
st.playSound("ItemSound.quest_middle")
if event == 7 :
htmltext = "7703-06.htm"
if event == 8 :
htmltext = "7703-08.htm"
if event == 9 :
htmltext = "7232-09.htm"
if event == 18 :
htmltext = "7232-18.htm"
if event == 19 :
htmltext = "7232-18a.htm"
st.takeItems(COIN_COLLECTOR_LVL3,-1)
st.takeItems(COIN_COLLECTOR_LVL2,-1)
st.takeItems(COIN_COLLECTOR_LVL1,-1)
st.exitQuest(1)
if event == 104 :
if st.getQuestItemsCount(COIN_COLLECTOR_LVL3) :
event = 13
if st.getQuestItemsCount(COIN_COLLECTOR_LVL2) :
event = 14
if st.getQuestItemsCount(COIN_COLLECTOR_LVL1) :
event = 15
if event == 13 :
htmltext = "7232-13.htm"
if npcId == WAREHOUSE_SORINT and st.getQuestItemsCount(COIN_COLLECTOR_LVL3) == 1 and st.getQuestItemsCount(BLOOD_WEREWOLF) == 1 and st.getQuestItemsCount(BLOOD_DRE_VANUL) == 1 and st.getQuestItemsCount(GOLD_DRAKE) == 1 and st.getQuestItemsCount(GOLD_KNIGHT) == 1 and st.getQuestItemsCount(SILVER_FAIRY) == 1 and st.getQuestItemsCount(SILVER_GOLEM) == 1 :
st.takeItems(COIN_COLLECTOR_LVL3,1)
st.takeItems(BLOOD_WEREWOLF,1)
st.takeItems(BLOOD_DRE_VANUL,1)
st.takeItems(GOLD_DRAKE,1)
st.takeItems(GOLD_KNIGHT,1)
st.takeItems(SILVER_FAIRY,1)
st.takeItems(SILVER_GOLEM,1)
st.giveItems(COIN_COLLECTOR_LVL2,1)
st.playSound("ItemSound.quest_middle")
htmltext = "7232-16.htm"
if event == 14 :
htmltext = "7232-14.htm"
if npcId == WAREHOUSE_SORINT and st.getQuestItemsCount(COIN_COLLECTOR_LVL2) == 1 and st.getQuestItemsCount(BLOOD_BASILISK) == 1 and st.getQuestItemsCount(BLOOD_SUCCUBUS) == 1 and st.getQuestItemsCount(GOLD_GIANT) == 1 and st.getQuestItemsCount(GOLD_WYRM) == 1 and st.getQuestItemsCount(SILVER_DRYAD) == 1 and st.getQuestItemsCount(SILVER_UNDINE) == 1 :
st.takeItems(COIN_COLLECTOR_LVL2,1)
st.takeItems(BLOOD_BASILISK,1)
st.takeItems(BLOOD_SUCCUBUS,1)
st.takeItems(GOLD_GIANT,1)
st.takeItems(GOLD_WYRM,1)
st.takeItems(SILVER_DRYAD,1)
st.takeItems(SILVER_UNDINE,1)
st.giveItems(COIN_COLLECTOR_LVL1,1)
st.playSound("ItemSound.quest_middle")
htmltext = "7232-17.htm"
if event == 15 :
htmltext = "7232-15.htm"
if event == 22 :
htmltext = "7232-22.htm"
if event == 23 :
htmltext = "7232-23.htm"
if event == 103 and int(st.get("cond")) == 1 and st.getQuestItemsCount(COIN_COLLECTOR_LVL3) or st.getQuestItemsCount(COIN_COLLECTOR_LVL2) or st.getQuestItemsCount(COIN_COLLECTOR_LVL1) :
htmltext = ".htm"
if event == 102 and int(st.get("cond")) == 1 and st.getQuestItemsCount(COIN_COLLECTOR_LVL2) or st.getQuestItemsCount(COIN_COLLECTOR_LVL1) :
htmltext = ".htm"
if event == 101 and int(st.get("cond")) == 1 and st.getQuestItemsCount(COIN_COLLECTOR_LVL1) :
htmltext = ".htm"
return htmltext
#onTalk vrode sdelal
def onTalk (Self,npc,st):
npcId = npc.getNpcId()
htmltext = "<html><head><body>I have nothing to say you</body></html>"
id = st.getState()
if id == CREATED :
st.set("step","0")
st.set("cond","0")
if npcId == WAREHOUSE_SORINT and int(st.get("cond")) == 0 :
if st.getPlayer().getLevel() >= 40 :
htmltext = "7232-02.htm"
else:
htmltext = "7232-01.htm"
st.unset("step")
st.exitQuest(1)
if npcId == PRESIDENT_BERNARD and int(st.get("cond")) == 1 and int(st.get("step")) == 0 :
htmltext = "7702-01.htm"
elif npcId == PRESIDENT_BERNARD and int(st.get("cond")) == 0 :
htmltext = "<html><head><body>I have nothing to say you</body></html>"
elif npcId == PRESIDENT_BERNARD and int(st.get("cond")) == 1 and int(st.get("step")) == 1 :
htmltext = "7702-05.htm"
elif npcId == PRESIDENT_BERNARD and int(st.get("step")) > 1 :
htmltext = "7702-05.htm"
if npcId == WAREHOUSE_SORINT and int(st.get("step")) == 0 and int(st.get("cond")) == 1 :
htmltext = "7232-06.htm"
if npcId == WAREHOUSE_SORINT and int(st.get("step")) == 1 and st.getQuestItemsCount(KALDIS_COIN) == 1 :
htmltext = "7232-07.htm"
st.takeItems(KALDIS_COIN,-1)
st.giveItems(COIN_COLLECTOR_LVL3,1)
st.set("step","2")
st.playSound("ItemSound.quest_middle")
elif npcId == WAREHOUSE_SORINT and int(st.get("step")) == 1 and st.getQuestItemsCount(KALDIS_COIN) == 0 :
htmltext = "7232-06.htm"
elif npcId == WAREHOUSE_SORINT and int(st.get("step")) == 0 and int(st.get("cond")) == 1 :
htmltext = "7232-06.htm"
if npcId == WAREHOUSE_SORINT and st.getQuestItemsCount(COIN_COLLECTOR_LVL3) == 1 :
htmltext = "7232-10.htm"
if npcId == WAREHOUSE_SORINT and st.getQuestItemsCount(COIN_COLLECTOR_LVL2) == 1 :
htmltext = "7232-11.htm"
if npcId == WAREHOUSE_SORINT and st.getQuestItemsCount(COIN_COLLECTOR_LVL3) == 1 :
htmltext = "7232-12.htm"
if npcId == MAGISTER_PAGE and int(st.get("cond")) and st.getQuestItemsCount(COIN_COLLECTOR_LVL3) or st.getQuestItemsCount(COIN_COLLECTOR_LVL2) or st.getQuestItemsCount(COIN_COLLECTOR_LVL1) :
htmltext = ".htm"
elif npcId == MAGISTER_PAGE :
htmltext = "<html><head><body>I have nothing to say you</body></html>"
if npcId == RESEARCHER_LORAIN and int(st.get("cond")) and st.getQuestItemsCount(COIN_COLLECTOR_LVL3) or st.getQuestItemsCount(COIN_COLLECTOR_LVL2) or st.getQuestItemsCount(COIN_COLLECTOR_LVL1) :
htmltext = ".htm"
elif npcId == RESEARCHER_LORAIN :
htmltext = "<html><head><body>I have nothing to say you</body></html>"
if npcId == WAREHOUSE_HAGGER and int(st.get("cond")) and st.getQuestItemsCount(COIN_COLLECTOR_LVL3) or st.getQuestItemsCount(COIN_COLLECTOR_LVL2) or st.getQuestItemsCount(COIN_COLLECTOR_LVL1) :
htmltext = ".htm"
elif npcId == WAREHOUSE_HAGGER :
htmltext = "<html><head><body>I have nothing to say you</body></html>"
if npcId == GUARD_STAN and int(st.get("cond")) and st.getQuestItemsCount(COIN_COLLECTOR_LVL2) or st.getQuestItemsCount(COIN_COLLECTOR_LVL1) :
htmltext = ".htm"
elif npcId == GUARD_STAN :
htmltext = "<html><head><body>I have nothing to say you</body></html>"
if npcId == RALFORD and int(st.get("cond")) and st.getQuestItemsCount(COIN_COLLECTOR_LVL2) or st.getQuestItemsCount(COIN_COLLECTOR_LVL1) :
htmltext = ".htm"
elif npcId == RALFORD :
htmltext = "<html><head><body>I have nothing to say you</body></html>"
if npcId == BLACKSMITH_FERIS and int(st.get("cond")) and st.getQuestItemsCount(COIN_COLLECTOR_LVL1) :
htmltext = ".htm"
elif npcId == BLACKSMITH_FERIS :
htmltext = "<html><head><body>I have nothing to say you</body></html>"
if npcId == WAREHOUSE_COLLOB and int(st.get("cond")) and st.getQuestItemsCount(COIN_COLLECTOR_LVL1) :
htmltext = ".htm"
elif npcId == WAREHOUSE_COLLOB :
htmltext = "<html><head><body>I have nothing to say you</body></html>"
if npcId == GROCER_PANO and int(st.get("cond")) and st.getQuestItemsCount(COIN_COLLECTOR_LVL1) :
htmltext = ".htm"
elif npcId == GROCER_PANO :
htmltext = "<html><head><body>I have nothing to say you</body></html>"
return htmltext
def onKill (self,npc,st):
npcId = npc.getNpcId()
if npcId == HARIT_LIZARDMAN and int(st.get("step")) == 1 and st.getQuestItemsCount(KALDIS_COIN) == 0 :
if st.getRandom(100) <= CHANCE :
st.giveItems(KALDIS_COIN,1)
st.playSound("ItemSound.quest_itemget")
if npcId == LAKIN or npcId == TIMAK_ORC or npcId == TIMAK_ORC_SOLDIER or npcId == TIMAK_ORC_ARCHER or npcId == PUNISHMENT_OF_DEAD and st.getQuestItemsCount(COIN_COLLECTOR_LVL3) == 1 or st.getQuestItemsCount(COIN_COLLECTOR_LVL2) == 1 or st.getQuestItemsCount(COIN_COLLECTOR_LVL1) == 1 :
if st.getRandom(100) <= CHANCE2 :
st.giveItems(BLOOD_MEDUSA,1)
st.playSound("ItemSound.quest_itemget")
if npcId == FORMOR or npcId == FORMOR_ELDER or npcId == VANOR_SILENOS_SHAMAN or npcId == OL_MAHUM or npcId == OL_MAHUM_WARIOR or npcId == TARIK_BUGBEAR_HIGH_WARRIOR and st.getQuestItemsCount(COIN_COLLECTOR_LVL3) == 1 or st.getQuestItemsCount(COIN_COLLECTOR_LVL2) == 1 or st.getQuestItemsCount(COIN_COLLECTOR_LVL1) == 1 :
if st.getRandom(100) <= CHANCE2 :
st.giveItems(SILVER_UNICORN,1)
st.playSound("ItemSound.quest_itemget")
if npcId == TIMAK_ORC_SHAMAN or npcId == HATAR_HANISHEE or npcId == ROYAL_CAVE_SERVANT or npcId == ROYAL_CAVE_SERVANT2 or npcId == SHACKLE or npcId == SHACKLE2 or npcId == MARLUK_SUCCUBUS_TUREN or npcId == MARLUK_SUCCUBUS_TUREN2 or npcId == HEADLESS_KNIGHT or npcId == HEADLESS_KNIGHT2 and st.getQuestItemsCount(COIN_COLLECTOR_LVL3) == 1 or st.getQuestItemsCount(COIN_COLLECTOR_LVL2) == 1 or st.getQuestItemsCount(COIN_COLLECTOR_LVL1) == 1 :
if st.getRandom(100) <= CHANCE2 :
st.giveItems(GOLDEN_WYVERN,1)
st.playSound("ItemSound.quest_itemget")
return
QUEST = Quest(336,"336_CoinOfMagic","Coin Of Magic")
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)
QUEST.setInitialState(CREATED)
QUEST.addStartNpc(WAREHOUSE_SORINT)
CREATED.addTalkId(WAREHOUSE_SORINT)
STARTING.addTalkId(WAREHOUSE_SORINT)
STARTED.addTalkId(WAREHOUSE_SORINT)
STARTED.addTalkId(PRESIDENT_BERNARD)
STARTED.addTalkId(MAGISTER_PAGE)
STARTED.addTalkId(RESEARCHER_LORAIN)
STARTED.addTalkId(WAREHOUSE_HAGGER)
STARTED.addTalkId(GUARD_STAN)
STARTED.addTalkId(RALFORD)
STARTED.addTalkId(BLACKSMITH_FERIS)
STARTED.addTalkId(WAREHOUSE_COLLOB)
STARTED.addTalkId(GROCER_PANO)
STARTED.addKillId(HARIT_LIZARDMAN)
STARTED.addKillId(LAKIN)
STARTED.addKillId(TIMAK_ORC)
STARTED.addKillId(TIMAK_ORC_SOLDIER)
STARTED.addKillId(TIMAK_ORC_ARCHER)
STARTED.addKillId(PUNISHMENT_OF_UNDEAD)
STARTED.addKillId(OL_MAHUM)
STARTED.addKillId(OL_MAHUM_WARRIOR)
STARTED.addKillId(TARIK_BUGBEAR_HIGH_WARRIOR)
STARTED.addKillId(TIMAK_ORC_SHAMAN)
STARTED.addKillId(HATAR_HANISHEE)
STARTED.addKillId(ROYAL_CAVE_SERVANT)
STARTED.addKillId(SHACKLE)
STARTED.addKillId(MARLUK_SUCCUBUS_TUREN)
STARTED.addKillId(HEADLESS_KNIGHT)
STARTED.addQuestDrop(HARIT_LIZARDMAN,KADIS_COIN,1)
STARTED.addQuestDrop(LAKIN,BLOOD_MEDUSA,1)
STARTED.addQuestDrop(TIMAK_ORC,BLOOD_MEDUSA,1)
STARTED.addQuestDrop(TIMAK_ORC_SOLDIER,BLOOD_MEDUSA,1)
STARTED.addQuestDrop(TIMAK_ORC_ARCHER,BLOOD_MEDUSA,1)
STARTED.addQuestDrop(PUNISHMENT_OF_UNDEAD,BLOOD_MEDUSA,1)
STARTED.addQuestDrop(FORMOR,SILVER_UNICORN,1)
STARTED.addQuestDrop(FORMOR_ELDER,SILVER_UNICORN,1)
STARTED.addQuestDrop(VANOR_SILENOS_SHAMAN,SILVER_UNICORN,1)
STARTED.addQuestDrop(OL_MAHUM,SILVER_UNICORN,1)
STARTED.addQuestDrop(OL_MAHUM_WARRIOR,SILVER_UNICORN,1)
STARTED.addQuestDrop(TARIK_BUGBEAR_HIGH_WARRIOR,SILVER_UNICORN,1)
STARTED.addQuestDrop(TIMAK_ORC_SHAMAN,GOLDEN_WYVERN,1)
STARTED.addQuestDrop(HATAR_HANISHEE,GOLDEN_WYVERN,1)
STARTED.addQuestDrop(SHACKLE,GOLDEN_WYVERN,1)
STARTED.addQuestDrop(MALRUK_SUCCUBUS_TUREN,GOLDEN_WYVERN,1)
STARTED.addQuestDrop(ROYAL_CAVE_SERVANT,GOLDEN_WYVERN,1)
STARTED.addQuestDrop(HEADLESS_KNIGHT,GOLDEN_WYVERN,1)
print "importing quests: 336: Coin Of Magic"