Ejemplo n.º 1
0
QUEST.addTalkId(30501)
QUEST.addTalkId(30515)
QUEST.addTalkId(30565)
QUEST.addTalkId(30571)
QUEST.addTalkId(30615)
QUEST.addTalkId(30616)
QUEST.addTalkId(30617)
QUEST.addTalkId(30618)
QUEST.addTalkId(30619)
QUEST.addTalkId(30642)

for i in DROPLIST_COND_1.keys()+DROPLIST_COND_4.keys()+DROPLIST_COND_6.keys()+[20778,20779,27086] :
    QUEST.addKillId(i)

STARTED.addQuestDrop(30514,VOKIYANS_ORDER1,1)
STARTED.addQuestDrop(20563,MANASHEN_SHARD,1)
STARTED.addQuestDrop(20193,TYRANT_TALON,1)
STARTED.addQuestDrop(20550,GUARDIAN_BASILISK_FANG,1)
STARTED.addQuestDrop(30514,VOKIYANS_ORDER2,1)
STARTED.addQuestDrop(30615,SCEPTER_OF_BREKA,1)
STARTED.addQuestDrop(30616,SCEPTER_OF_ENKU,1)
STARTED.addQuestDrop(30619,SCEPTER_OF_VUKU,1)
STARTED.addQuestDrop(30617,SCEPTER_OF_TUREK,1)
STARTED.addQuestDrop(30618,SCEPTER_OF_TUNATH,1)
STARTED.addQuestDrop(30642,CHIANTAS_ORDER1,1)
STARTED.addQuestDrop(30515,MANAKIAS_LETTER1,1)
STARTED.addQuestDrop(30515,MANAKIAS_LETTER2,1)
STARTED.addQuestDrop(30501,KASMANS_LETTER1,1)
STARTED.addQuestDrop(30642,CHIANTAS_ORDER2,1)
STARTED.addQuestDrop(30571,TANAPIS_ORDER1,1)
Ejemplo n.º 2
0
   if not st : return 
   if st.getState() != STARTED : return 
   
   n = st.getRandom(100)
   if n > 95 :
     st.giveItems(TARANTULA_SPINNERETTE,1)
     st.playSound("ItemSound.quest_itemget")
   elif n > 45 :
     st.giveItems(TARANTULA_SPIDER_SILK,1)
     st.playSound("ItemSound.quest_itemget")
   return

QUEST       = Quest(296,qn,"Silk Of Tarantula")
CREATED     = State('Start', QUEST)
STARTING    = State('Starting', QUEST)
STARTED     = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30519)

QUEST.addTalkId(30519)

QUEST.addTalkId(30548)

QUEST.addKillId(20394)
QUEST.addKillId(20403)
QUEST.addKillId(20508)

STARTED.addQuestDrop(20508,TARANTULA_SPIDER_SILK,1)
STARTED.addQuestDrop(20394,TARANTULA_SPINNERETTE,1)
Ejemplo n.º 3
0
                    st.giveItems(CARGO, 1)
                    st.playSound("ItemSound.quest_itemget")
            elif npcId in MOBS_2:
                if (chanse < 15) and (not holy):
                    st.giveItems(HOLY, 1)
                    st.playSound("ItemSound.quest_middle")
                elif (chanse < 15) and (not rosary):
                    st.giveItems(ROSARY, 1)
                    st.playSound("ItemSound.quest_middle")
            elif npcId == BIFRON:
                st.addSpawn(CHEST, npc, 30000)
        return


QUEST = Quest(340, qn, "Subjugation of Lizardmen")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(WEIZ)

QUEST.addTalkId(WEIZ)
QUEST.addTalkId(ADONIUS)
QUEST.addTalkId(LEVIAN)
QUEST.addTalkId(CHEST)

STARTED.addQuestDrop(CHEST, TOTEM, 1)

for i in MOBS_1 + MOBS_2 + [25146]:
    QUEST.addKillId(i)
Ejemplo n.º 4
0
                                    FAIRY_TREES[i][2] + 70 * pow(-1, j % 2),
                                    FAIRY_TREES[i][3] + 70 * pow(-1, k % 2),
                                    FAIRY_TREES[i][4])
                        htmltext = FAIRY_TREES[i][5]
        return htmltext

    def onKill(self, npc, player, isPet):
        return


# Quest class and state definition
QUEST = Quest(QUEST_NUMBER,
              str(QUEST_NUMBER) + "_" + QUEST_NAME, QUEST_DESCRIPTION)
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)

# Quest NPC starter initialization
QUEST.addStartNpc(SG_CRONOS)
# Quest initialization
QUEST.addTalkId(SG_CRONOS)

QUEST.addTalkId(FY_MYMYU)

STARTING.addQuestDrop(SG_CRONOS, FT_LEAF, 1)

for i in range(4):
    QUEST.addTalkId(FAIRY_TREES[i][0])
Ejemplo n.º 5
0
                # no longer participate in the party-quest pool for this item)
                if st.getQuestItemsCount(FLARE_SHARD) == max:
                    st.unset("awaitsFlare")
                elif st.getQuestItemsCount(FREEZING_SHARD) == max:
                    st.unset("awaitsFreezing")

                if st.getQuestItemsCount(FLARE_SHARD) == st.getQuestItemsCount(
                        FREEZING_SHARD) == max:
                    st.set("cond", str(cond + 1))
                    st.playSound("ItemSound.quest_middle")
                else:
                    st.playSound("ItemSound.quest_itemget")
        return


QUEST = Quest(369, qn, "Collector of Jewels")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(NELL)

QUEST.addTalkId(NELL)

for mob in DROPLIST_FREEZE.keys():
    QUEST.addKillId(mob)
for mob in DROPLIST_FLARE.keys():
    QUEST.addKillId(mob)

STARTED.addQuestDrop(NELL, FLARE_SHARD, 1)
STARTED.addQuestDrop(NELL, FREEZING_SHARD, 1)
Ejemplo n.º 6
0
            elif npcId == 30090 and st.getInt("cond")==3 :
                htmltext = "30090-01.htm"
            elif npcId == 30090 and st.getInt("cond")==4 :
                htmltext = "30090-03.htm"
            elif npcId == 30116 and st.getInt("cond")==5 :
                htmltext = "30116-01.htm"
            elif npcId == 30116 and st.getInt("cond")==6 :
                htmltext = "30116-03.htm"

        return htmltext

QUEST       = Quest(47,qn,"Into The Dark Forest")
CREATED     = State('Start', QUEST)
STARTED     = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30097)

QUEST.addTalkId(30097)

QUEST.addTalkId(30094)
QUEST.addTalkId(30090)
QUEST.addTalkId(30116)

STARTED.addQuestDrop(30097,GALLADUCCIS_ORDER_DOCUMENT_ID_1,1)
STARTED.addQuestDrop(30097,GALLADUCCIS_ORDER_DOCUMENT_ID_2,1)
STARTED.addQuestDrop(30097,GALLADUCCIS_ORDER_DOCUMENT_ID_3,1)
STARTED.addQuestDrop(30094,MAGIC_SWORD_HILT_ID,1)
STARTED.addQuestDrop(30090,GEMSTONE_POWDER_ID,1)
STARTED.addQuestDrop(30116,PURIFIED_MAGIC_NECKLACE_ID,1)
Ejemplo n.º 7
0
                if st.getRandom(10) < 4 and st.getQuestItemsCount(
                        DARK_BEZOAR_ID) < 13:
                    st.giveItems(DARK_BEZOAR_ID, 1)
                    if st.getQuestItemsCount(DARK_BEZOAR_ID) == 13:
                        st.playSound("ItemSound.quest_middle")
                    else:
                        st.playSound("ItemSound.quest_itemget")
        return


QUEST = Quest(165, qn, "Wild Hunt")
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30348)

QUEST.addTalkId(30348)

QUEST.addKillId(20456)
QUEST.addKillId(20529)
QUEST.addKillId(20532)
QUEST.addKillId(20536)

STARTED.addQuestDrop(20529, DARK_BEZOAR_ID, 1)
STARTED.addQuestDrop(20532, DARK_BEZOAR_ID, 1)
STARTED.addQuestDrop(20536, DARK_BEZOAR_ID, 1)
STARTED.addQuestDrop(20456, DARK_BEZOAR_ID, 1)
Ejemplo n.º 8
0
            htmltext = "30935-01.htm"
     return htmltext

 def onKill(self,npc,player,isPet):
     st = player.getQuestState(qn)
     if not st : return 
     if st.getState() != STARTED : return 
   
     npcId = npc.getNpcId()
     if st.getRandom(100) < CHANCE :
         st.giveItems(ORB,1)
         st.playSound("ItemSound.quest_itemget")
     return

QUEST       = Quest(343,qn,"Under The Shadow Of The Ivory Tower")
CREATED     = State('Start', QUEST)
STARTED     = State('Started', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30834)

QUEST.addTalkId(30834)
QUEST.addTalkId(30835)
QUEST.addTalkId(30935)
QUEST.addTalkId(30934)

for i in range(20563,20567) :
    QUEST.addKillId(i)

STARTED.addQuestDrop(30834,ORB,1)
Ejemplo n.º 9
0
QUEST.addTalkId(30585)

QUEST.addTalkId(30502)
QUEST.addTalkId(30592)
QUEST.addTalkId(30593)

QUEST.addKillId(20335)
QUEST.addKillId(20038)
QUEST.addKillId(20415)
QUEST.addKillId(20043)
QUEST.addKillId(20478)
QUEST.addKillId(20479)
QUEST.addKillId(27056)

STARTED.addQuestDrop(30592,TOTEM_SPIRIT_CLAW,1)
STARTED.addQuestDrop(30585,FIRE_CHARM,1)
STARTED.addQuestDrop(20479,KASHA_BEAR_PELT,1)
STARTED.addQuestDrop(20478,KASHA_BSPIDER_HUSK,1)
STARTED.addQuestDrop(20415,FIERY_EGG1,1)
STARTED.addQuestDrop(30585,HESTUI_MASK,1)
STARTED.addQuestDrop(30585,FIERY_EGG2,1)
STARTED.addQuestDrop(30585,TATARUS_LETTER,1)
STARTED.addQuestDrop(30502,FLAME_CHARM,1)
STARTED.addQuestDrop(20335,GRIZZLY_BLOOD,1)
STARTED.addQuestDrop(30593,TOTEM_SPIRIT_BLOOD,1)
STARTED.addQuestDrop(30502,BLOOD_CAULDRON,1)
STARTED.addQuestDrop(27056,BOUND_DURKA_SPIRIT,1)
STARTED.addQuestDrop(20038,DURKA_PARASITE,1)
STARTED.addQuestDrop(20043,DURKA_PARASITE,1)
STARTED.addQuestDrop(30593,SPIRIT_NET,1)
Ejemplo n.º 10
0
                count = st.getQuestItemsCount(TOP_QUALITY_MEAT)
                if st.getInt("cond") == 1 and count < 120:
                    chance = 100 * Config.RATE_DROP_QUEST
                    numItems, chance = divmod(chance, 100)
                    if st.getRandom(100) < chance:
                        numItems += 1
                    if numItems:
                        if count + numItems >= 120:
                            numItems = 120 - count
                            st.playSound("ItemSound.quest_middle")
                            st.set("cond", "2")
                        else:
                            st.playSound("ItemSound.quest_itemget")
                        st.giveItems(TOP_QUALITY_MEAT, int(numItems))
        return


QUEST = Quest(631, qn, "Delicious Top Choice Meat")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(TUNATUN)

QUEST.addTalkId(TUNATUN)

for npcId in range(21460, 21468) + range(21479, 21487) + range(21498, 21506):
    QUEST.addKillId(npcId)

STARTED.addQuestDrop(21460, TOP_QUALITY_MEAT, 1)
Ejemplo n.º 11
0
                st.giveItems(item, 1)
                if count + 1 >= 65:
                    st.playSound("ItemSound.quest_middle")
                    st.unset(partyCond)
                else:
                    st.playSound("ItemSound.quest_itemget")
        return


# Quest class and state definition
QUEST = Quest(QUEST_NUMBER,
              str(QUEST_NUMBER) + "_" + QUEST_NAME, QUEST_DESCRIPTION)

CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)

# Quest NPC starter initialization
QUEST.addStartNpc(MANAKIA)
# Quest initialization
QUEST.addTalkId(MANAKIA)

QUEST.addTalkId(TORAI)

for i in DROPLIST.keys():
    QUEST.addKillId(i)
    STARTING.addQuestDrop(i, DROPLIST[i][0], 1)
Ejemplo n.º 12
0
          w_bil = st.getQuestItemsCount(WINDSUS_BILE1)
          if h_egg ==30 and m_ven == 30 and w_bil == 30:
             st.set("cond",str(cond+1))
       else:
          st.set("cond",str(cond+1))
     else:
       st.giveItems(itemid,1)
       st.playSound("Itemsound.quest_itemget")
   return

QUEST     = Quest(223,qn,"Test Of Champion")
CREATED   = State('Start',     QUEST)
STARTING  = State('Starting',  QUEST)
STARTED   = State('Started',   QUEST)
COMPLETED = State('Completed', QUEST)


QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30624)

QUEST.addTalkId(30624)

for npcId in [30093,30196,30625]:
    QUEST.addTalkId(npcId)

for mobId in [20145,20158,27088,27089,20551,20553,20577,20578,20579,20580,20581,20582,20780]:
    QUEST.addKillId(mobId)

for item in range(3277,3293):
    STARTED.addQuestDrop(30093,item,1)
Ejemplo n.º 13
0
            if partyMember2:
                if Rnd.get(2): partyMember = partyMember2

        st = partyMember.getQuestState(qn)
        if not st: return
        if st.getState() != STARTED: return

        count = st.getQuestItemsCount(SPINNERET)
        if count < 10:
            st.giveItems(SPINNERET, 1)
            if count == 9:
                st.playSound("ItemSound.quest_middle")
                st.set("cond", "5")
            else:
                st.playSound("ItemSound.quest_itemget")
        return


QUEST = Quest(34, qn, "In Search of Clothes")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30088)
QUEST.addTalkId(30088)

QUEST.addTalkId(30165)
QUEST.addTalkId(30294)
QUEST.addKillId(20560)
STARTED.addQuestDrop(20560, SPINNERET, 1)
Ejemplo n.º 14
0
        st = player.getQuestState(qn)
        if st:
            if npcId == SOUL_OF_WELL:
                self.well = 0
            elif npcId in MOBS:
                if st.getRandom(10) < 1 and st.getQuestItemsCount(SKULL) < 1:
                    st.giveItems(SKULL, 1)
                    st.playSound("ItemSound.quest_itemget")
                    st.set("cond", "5")
        return


QUEST = Quest(22, qn, "Tragedy In Von Hellmann Forest")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(INNOCENTIN)
QUEST.addStartNpc(TIFAREN)

for npcid in NPCS:
    QUEST.addTalkId(npcid)

for item in range(7141, 7148):
    STARTED.addQuestDrop(INNOCENTIN, item, 1)

QUEST.addAttackId(SOUL_OF_WELL)

for mobid in MOBS + [SOUL_OF_WELL]:
    QUEST.addKillId(mobid)
Ejemplo n.º 15
0
        id = st.getState()
        cond = st.getInt("cond")
        if id == CREATED:
            st.set("cond", "0")
        if npcId == FUNDIN and cond == 0:
            if id == COMPLETED:
                htmltext = "<html><body>This quest has already been completed.</body></html>"
            elif player.getLevel() < 74:
                htmltext = "31274-1.htm"
                st.exitQuest(1)
            elif player.getLevel() >= 74:
                htmltext = "31274-0.htm"
        elif npcId == FUNDIN and cond == 1:
            htmltext = "31274-2.htm"
        elif npcId == VULCAN and cond == 1 and id == STARTED:
            htmltext = "31539-0.htm"
        return htmltext


QUEST = Quest(13, qn, "Parcel Delivery")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(31274)
QUEST.addTalkId(31274)
QUEST.addTalkId(31539)

STARTED.addQuestDrop(31539, PACKAGE, 1)
Ejemplo n.º 16
0
    def onKill(self, npc, player, isPet):
        st = player.getQuestState(qn)
        if not st: return
        if st.getState() != STARTED: return

        st.giveItems(SUPPLY_ITEM, 1)
        if st.getRandom(10) == 1:  # % chance is custom
            st.giveItems(SUSPICIOUS_DOCUMENT, 1)
            if st.getQuestItemsCount(SUSPICIOUS_DOCUMENT) == 5:
                st.takeItems(SUSPICIOUS_DOCUMENT, 5)
                st.giveItems(RECIPE_OF_SUPPLY, 1)
                st.playSound("ItemSound.quest_itemget")
        st.playSound("ItemSound.quest_itemget")
        return


QUEST = Quest(360, qn, "Plunder Their Supplies")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(COLEMAN)
QUEST.addTalkId(COLEMAN)

QUEST.addKillId(TAIK_SEEKER)
QUEST.addKillId(TAIK_LEADER)

STARTED.addQuestDrop(COLEMAN, RECIPE_OF_SUPPLY, 1)
STARTED.addQuestDrop(COLEMAN, SUPPLY_ITEM, 1)
STARTED.addQuestDrop(COLEMAN, SUSPICIOUS_DOCUMENT, 1)
Ejemplo n.º 17
0
                if cm_sponsor.isOnline():
                    sponsor = cm_sponsor.getPlayerInstance()
                    if sponsor:
                        if player.isInsideRadius(sponsor, 1100, 1, 0):
                            enabled = True
        if st.getInt("cond") == cond and count < max and st.getRandom(
                100) < chance and enabled:
            st.giveItems(item, 1)
            if count == max - 1:
                st.set("cond", str(cond + 1))
                st.playSound("ItemSound.quest_middle")
            else:
                st.playSound("ItemSound.quest_itemget")
        return


QUEST = Quest(118, qn, "To Lead And Be Led")
CREATED = State('Start', QUEST)
PROGRESS = State('Progress', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(PINTER)

QUEST.addTalkId(PINTER)

for mob in DROPLIST.keys():
    QUEST.addKillId(mob)

PROGRESS.addQuestDrop(PINTER, BLOOD, 1)
PROGRESS.addQuestDrop(PINTER, LEG, 1)
Ejemplo n.º 18
0
            else:
                htmltext = "30361-05.htm"
        return htmltext

    def onKill(self, npc, player, isPet):
        st = player.getQuestState(qn)
        if not st: return
        if st.getState() != STARTED: return

        if st.getRandom(100) < 50:
            st.giveItems(WIND_SHARD, 1)
            st.playSound("ItemSound.quest_itemget")
        return


QUEST = Quest(317, qn, "Catch The Wind")
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30361)

QUEST.addTalkId(30361)

QUEST.addKillId(20036)
QUEST.addKillId(20044)

STARTED.addQuestDrop(20036, WIND_SHARD, 1)
Ejemplo n.º 19
0
   st = player.getQuestState(qn)
   if not st : return 
   if st.getState() != STARTED : return 
   
   item=ORC_NECKLACE
   if npc.getNpcId() == 20385 :
     item = ORC_AMULET
   if st.getRandom(10)>4 :
     st.giveItems(item,1)
     st.playSound("ItemSound.quest_itemget")
   return

QUEST       = Quest(263,qn,"Kill All Sylphs1")
CREATED     = State('Start', QUEST)
STARTING    = State('Starting', QUEST)
STARTED     = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)


QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30346)

QUEST.addTalkId(30346)

QUEST.addKillId(20385)
QUEST.addKillId(20386)
QUEST.addKillId(20387)
QUEST.addKillId(20388)

STARTED.addQuestDrop(20385,ORC_AMULET,1)
STARTED.addQuestDrop(20386,ORC_NECKLACE,1)
Ejemplo n.º 20
0
QUEST.addKillId(20156)
QUEST.addKillId(20168)
QUEST.addKillId(20200)
QUEST.addKillId(20201)
QUEST.addKillId(20202)
QUEST.addKillId(20223)
QUEST.addKillId(20267)
QUEST.addKillId(20268)
QUEST.addKillId(20269)
QUEST.addKillId(20270)
QUEST.addKillId(20271)
QUEST.addKillId(20079)
QUEST.addKillId(20080)
QUEST.addKillId(20081)
QUEST.addKillId(20083)

STARTED.addQuestDrop(30283,RP_JOURNEYMAN_RING_ID,1)
STARTED.addQuestDrop(30283,ALLTRANS_INSTRUCTIONS_ID,1)
STARTED.addQuestDrop(30283,RP_JOURNEYMAN_RING_ID,1)
STARTED.addQuestDrop(30103,VALKONS_RECOMMEND_ID,1)
STARTED.addQuestDrop(20223,MANDRAGORA_BERRY_ID,1)
STARTED.addQuestDrop(30283,ALLTRANS_RECOMMEND1_ID,1)
STARTED.addQuestDrop(20267,DUNINGS_KEY_ID,1)
STARTED.addQuestDrop(30210,NORMANS_INSTRUCTIONS_ID,1)
STARTED.addQuestDrop(30210,NORMANS_LIST_ID,1)
STARTED.addQuestDrop(30210,NORMANS_RECEIPT_ID,1)
STARTED.addQuestDrop(30283,ALLTRANS_RECOMMEND2_ID,1)
STARTED.addQuestDrop(30298,PINTERS_INSTRUCTIONS_ID,1)
STARTED.addQuestDrop(30298,RP_AMBER_BEAD_ID,1)
STARTED.addQuestDrop(20079,AMBER_BEAD_ID,1)
STARTED.addQuestDrop(30688,DUNINGS_INSTRUCTIONS_ID,1)
Ejemplo n.º 21
0
QUEST.addKillId(20157)
QUEST.addKillId(20158)
QUEST.addKillId(20192)
QUEST.addKillId(20193)
QUEST.addKillId(20202)
QUEST.addKillId(20230)
QUEST.addKillId(20232)
QUEST.addKillId(20233)
QUEST.addKillId(20234)
QUEST.addKillId(20270)
QUEST.addKillId(27079)
QUEST.addKillId(20554)
QUEST.addKillId(20582)
QUEST.addKillId(20600)

STARTED.addQuestDrop(30614, ALDERS_SKULL1_ID, 1)
STARTED.addQuestDrop(30476, KAIRAS_INSTRUCTIONS_ID, 1)
STARTED.addQuestDrop(30210, REVELATIONS_MANUSCRIPT_ID, 1)
STARTED.addQuestDrop(30476, KAIRAS_LETTER1_ID, 1)
STARTED.addQuestDrop(20144, KASANDRAS_REMAINS_ID, 1)
STARTED.addQuestDrop(30463, BELLADONNA_ID, 1)
STARTED.addQuestDrop(30614, HERBALISM_TEXTBOOK_ID, 1)
STARTED.addQuestDrop(30463, IXIAS_LIST_ID, 1)
STARTED.addQuestDrop(20158, MEDUSA_ICHOR_ID, 1)
STARTED.addQuestDrop(20192, TYRANTS_BLOOD_ID, 1)
STARTED.addQuestDrop(20233, M_SPIDER_FLUIDS_ID, 1)
STARTED.addQuestDrop(20202, DEAD_SEEKER_DUNG_ID, 1)
STARTED.addQuestDrop(20230, NIGHTSHADE_ROOT_ID, 1)
STARTED.addQuestDrop(30476, ALDERS_SKULL2_ID, 1)
STARTED.addQuestDrop(30114, ALDERS_RECEIPT_ID, 1)
STARTED.addQuestDrop(30476, KAIRAS_RECOMMEND_ID, 1)
Ejemplo n.º 22
0
QUEST = Quest(418, qn, "Path To Artisan")
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30527)

QUEST.addTalkId(30527)

QUEST.addTalkId(30298)
QUEST.addTalkId(30317)

QUEST.addKillId(20017)
QUEST.addKillId(20389)
QUEST.addKillId(20390)

STARTED.addQuestDrop(30527, SILVERYS_RING, 1)
STARTED.addQuestDrop(20389, RATMAN_TOOTH, 1)
STARTED.addQuestDrop(20390, BIG_RATMAN_TOOTH, 1)
STARTED.addQuestDrop(30527, PASS_1ST, 1)
STARTED.addQuestDrop(30298, PASS_2ND, 1)
STARTED.addQuestDrop(30298, SECRET_BOX2, 1)
STARTED.addQuestDrop(30527, PASS_1ST, 1)
STARTED.addQuestDrop(30298, PASS_2ND, 1)
STARTED.addQuestDrop(30298, SECRET_BOX2, 1)
STARTED.addQuestDrop(30317, KLUTOS_LETTER, 1)
STARTED.addQuestDrop(20017, SECRET_BOX1, 1)
STARTED.addQuestDrop(30298, FOOTPRINT, 1)
Ejemplo n.º 23
0
          if st.getQuestItemsCount(UNDRES_LETTER_ID) :
             if not st.getQuestItemsCount(GARMIELS_SCRIPTURE_ID) :
                st.giveItems(GARMIELS_SCRIPTURE_ID,1)
                htmltext = "30143-01.htm"
             else :
                htmltext = "30143-02.htm"
       if st.getQuestItemsCount(UNDRES_LETTER_ID) and (st.getQuestItemsCount(CEREMONIAL_DAGGER_ID) + st.getQuestItemsCount(DREVIANT_WINE_ID) + st.getQuestItemsCount(GARMIELS_SCRIPTURE_ID) >= 3) :
         st.set("cond","2")
         st.playSound("ItemSound.quest_middle")
   return htmltext

QUEST       = Quest(166,qn,"Dark Mass")
CREATED     = State('Start', QUEST)
STARTING    = State('Starting', QUEST)
STARTED     = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)


QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30130)

QUEST.addTalkId(30130)

QUEST.addTalkId(30135)
QUEST.addTalkId(30139)
QUEST.addTalkId(30143)

STARTED.addQuestDrop(30135,CEREMONIAL_DAGGER_ID,1)
STARTED.addQuestDrop(30139,DREVIANT_WINE_ID,1)
STARTED.addQuestDrop(30143,GARMIELS_SCRIPTURE_ID,1)
STARTED.addQuestDrop(30130,UNDRES_LETTER_ID,1)
Ejemplo n.º 24
0
        return


QUEST = Quest(401, qn, "Path To Warrior")
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30010)

QUEST.addTalkId(30010)

QUEST.addTalkId(30253)

QUEST.addKillId(20035)
QUEST.addKillId(20038)
QUEST.addKillId(20042)
QUEST.addKillId(20043)

STARTED.addQuestDrop(30253, SIMPLONS_LETTER, 1)
STARTED.addQuestDrop(30253, RUSTED_BRONZE_SWORD2, 1)
STARTED.addQuestDrop(30010, EINS_LETTER, 1)
STARTED.addQuestDrop(30253, WARRIOR_GUILD_MARK, 1)
STARTED.addQuestDrop(20035, RUSTED_BRONZE_SWORD1, 1)
STARTED.addQuestDrop(20042, RUSTED_BRONZE_SWORD1, 1)
STARTED.addQuestDrop(20043, POISON_SPIDER_LEG2, 1)
STARTED.addQuestDrop(20038, POISON_SPIDER_LEG2, 1)
STARTED.addQuestDrop(30010, RUSTED_BRONZE_SWORD3, 1)
Ejemplo n.º 25
0
         htmltext = "30350-03.htm"
       else:
         htmltext = "30350-02.htm"
         st.exitQuest(1)
     elif cond == 1 and collette :
       htmltext = "30350-05.htm"
   elif id == STARTED :    
       if npcId == HAPROCK :
         if cond == 1 and collette :
           htmltext = "30255-01.htm"
         elif cond == 2 and norman :
           htmltext = "30255-05.htm"
       elif npcId == NORMAN and cond == 2 and norman :
          htmltext = "30210-01.htm"
   return htmltext

QUEST       = Quest(167,qn,"Dwarven Kinship")
CREATED     = State('Start', QUEST)
STARTED     = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(COLLETTE)

QUEST.addTalkId(COLLETTE)

QUEST.addTalkId(NORMAN)
QUEST.addTalkId(HAPROCK)

STARTED.addQuestDrop(NORMAN,COLLETTE_LETTER,1)
STARTED.addQuestDrop(NORMAN,NORMANS_LETTER,1)
Ejemplo n.º 26
0
            if cond == 10 and not st.getQuestItemsCount(HAIR_OF_NAHIR):
                st.giveItems(HAIR_OF_NAHIR, 1)
                st.set("cond", "11")
                st.playSound("ItemSound.quest_middle")
        elif npcId == 27118:
            if cond == 13 and not st.getQuestItemsCount(DEBRIS_OF_WILLOW):
                if not st.getRandom(5):
                    st.giveItems(DEBRIS_OF_WILLOW, 1)
                    st.set("cond", "14")
                    st.playSound("ItemSound.quest_middle")
        return


QUEST = Quest(215, qn, "Trial Of Pilgrim")
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30648)

for npcId in [
        30648, 30036, 30117, 30362, 30550, 30571, 30612, 30649, 30650, 30651,
        30652
]:
    for itemId in range(2721, 2734):
        QUEST.addTalkId(npcId)
        STARTED.addQuestDrop(npcId, itemId, 1)
for mobId in range(27116, 27119):
    QUEST.addKillId(mobId)
Ejemplo n.º 27
0
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30391)

QUEST.addTalkId(30391)

QUEST.addTalkId(30409)
QUEST.addTalkId(30410)
QUEST.addTalkId(30411)
QUEST.addTalkId(30412)
QUEST.addTalkId(30413)

QUEST.addKillId(20021)
QUEST.addKillId(20359)
QUEST.addKillId(27030)

STARTED.addQuestDrop(20359, KEY_OF_FLAME, 1)
STARTED.addQuestDrop(30411, MAP_OF_LUSTER, 1)
STARTED.addQuestDrop(30410, WIND_FEATHER, 1)
STARTED.addQuestDrop(30412, BROKEN_BRONZE_MIRROR, 1)
STARTED.addQuestDrop(27030, SPARKLE_PEBBLE, 1)
STARTED.addQuestDrop(30413, RAMAS_DIARY, 1)
STARTED.addQuestDrop(20021, RED_SOIL, 1)
STARTED.addQuestDrop(30409, RUST_GOLD_COIN, 1)
STARTED.addQuestDrop(30411, FLAME_EARING, 1)
STARTED.addQuestDrop(30412, WIND_BANGEL, 1)
STARTED.addQuestDrop(30413, WATER_NECKLACE, 1)
STARTED.addQuestDrop(30409, EARTH_RING, 1)
Ejemplo n.º 28
0
   if npcId == 20085 :
      if n<5 :
         st.giveItems(GOLEM_HEARTSTONE,1)
         st.playSound("ItemSound.quest_itemget")
      elif n<58 :
         st.giveItems(BROKEN_HEARTSTONE,1)
         st.playSound("ItemSound.quest_itemget")
   elif npcId == 20083 :
      if n<6 :
         st.giveItems(GOLEM_HEARTSTONE,1)
         st.playSound("ItemSound.quest_itemget")
      elif n<56 :
         st.giveItems(BROKEN_HEARTSTONE,1)
         st.playSound("ItemSound.quest_itemget")
   return

QUEST       = Quest(329,qn,"Curiosity Of Dwarf")
CREATED     = State('Start', QUEST)
STARTED     = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)

QUEST.setInitialState(CREATED)

QUEST.addStartNpc(30437)
QUEST.addTalkId(30437)

QUEST.addKillId(20083)
QUEST.addKillId(20085)

STARTED.addQuestDrop(20085,BROKEN_HEARTSTONE,1)
STARTED.addQuestDrop(20085,GOLEM_HEARTSTONE,1)
Ejemplo n.º 29
0
     st = partyMember.getQuestState(qn)  
     numItems, chance = divmod(DROP_RATE,MAX)
     if st.getRandom(MAX) < chance :
        numItems = numItems + 1
     if int(numItems) != 0 :
        st.giveItems(ANC_SCROLL,int(numItems))
        st.playSound("ItemSound.quest_itemget")
     return  

# Quest class and state definition
QUEST       = Quest(QUEST_NUMBER, str(QUEST_NUMBER)+"_"+QUEST_NAME, QUEST_DESCRIPTION)

CREATED     = State('Start',     QUEST)
STARTING    = State('Starting',  QUEST)
STARTED     = State('Started',   QUEST)
COMPLETED   = State('Completed', QUEST)

QUEST.setInitialState(CREATED)

# Quest NPC starter initialization
QUEST.addStartNpc(HR_SOBLING)
# Quest initialization
QUEST.addTalkId(HR_SOBLING)

QUEST.addTalkId(WF_CLIFF)

for i in MOBS :
  QUEST.addKillId(i)
  
STARTED.addQuestDrop(HR_SOBLING,DICT1,1)
STARTED.addQuestDrop(HR_SOBLING,MST_BK,1)
Ejemplo n.º 30
0
STARTED     = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)


QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30421)

QUEST.addTalkId(30421)

QUEST.addTalkId(30415)
QUEST.addTalkId(30418)
QUEST.addTalkId(30419)

QUEST.addKillId(20015)
QUEST.addKillId(20022)
QUEST.addKillId(20045)
QUEST.addKillId(20517)
QUEST.addKillId(20518)

STARTED.addQuestDrop(30418,SEEDS_OF_HORROR,1)
STARTED.addQuestDrop(30415,SEEDS_OF_ANGER,1)
STARTED.addQuestDrop(30419,SEEDS_OF_LUNACY,1)
STARTED.addQuestDrop(30421,SEEDS_OF_DESPAIR,1)
STARTED.addQuestDrop(20045,HEART_OF_LUNACY,1)
STARTED.addQuestDrop(30419,HUB_SCENT,1)
STARTED.addQuestDrop(20015,FAMILYS_ASHES,1)
STARTED.addQuestDrop(30415,LUCKY_KEY,1)
STARTED.addQuestDrop(30418,CANDLE,1)
STARTED.addQuestDrop(20517,KNEE_BONE,1)
STARTED.addQuestDrop(20518,KNEE_BONE,1)
STARTED.addQuestDrop(20022,KNEE_BONE,1)