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

        npcId = npc.getNpcId()
        if npcId == 27021:
            st.set("id", "0")
            if st.getInt("cond") == 1 and st.getQuestItemsCount(
                    KIRUNAK_SKULL_ID) == 0:
                st.giveItems(KIRUNAK_SKULL_ID, 1)
                st.playSound("ItemSound.quest_middle")
        return


QUEST = Quest(164, qn, "Blood Fiend")
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30149)

QUEST.addTalkId(30149)

QUEST.addKillId(27021)

STARTED.addQuestDrop(27021, KIRUNAK_SKULL_ID, 1)
Exemple #2
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)
Exemple #3
0
        st.set("cond","3")
        htmltext = "30957-04.htm"
     elif cond == 3 :
        htmltext = "30957-05.htm"
     elif cond == 2 :
        htmltext = "30957-03.htm"
   elif npcId == 30960 and cond :
        htmltext = "30960-01.htm"
   elif npcId == 30961 and cond :
        htmltext = "30961-01.htm"
   elif npcId == 30060 and st.getQuestItemsCount(BEER) :
        st.set("ok","1")
        st.takeItems(BEER,1)
        htmltext = "30060-01.htm"
   return htmltext

QUEST       = Quest(364,qn,"Ask What You Need to Do")
CREATED     = State('Start', QUEST)
STARTED     = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)


QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30959)

for npcId in [30959,30957,30060,30961,30960]:
  QUEST.addTalkId(npcId)

STARTED.addQuestDrop(30959,KEY_1,1)
STARTED.addQuestDrop(30959,KEY_2,1)
STARTED.addQuestDrop(30960,BEER,1)
Exemple #4
0

QUEST = Quest(171, qn, "Acts of Evil")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(ALVAH)

QUEST.addTalkId(ALVAH)

QUEST.addTalkId(ARODIN)
QUEST.addTalkId(TYRA)
QUEST.addTalkId(ROLENTO)
QUEST.addTalkId(NETI)
QUEST.addTalkId(BURAI)

STARTED.addQuestDrop(ALVAH, RANGERS_REPORT1, 1)
STARTED.addQuestDrop(ALVAH, RANGERS_REPORT2, 1)
STARTED.addQuestDrop(ALVAH, RANGERS_REPORT3, 1)
STARTED.addQuestDrop(ALVAH, RANGERS_REPORT4, 1)
STARTED.addQuestDrop(ALVAH, OL_MAHUM_HEAD, 1)
STARTED.addQuestDrop(ALVAH, CARGOBOX, 1)
STARTED.addQuestDrop(ALVAH, TYRAS_BILL, 1)
STARTED.addQuestDrop(ALVAH, CERTIFICATE, 1)
STARTED.addQuestDrop(ALVAH, BLADE_MOLD, 1)
STARTED.addQuestDrop(ALVAH, WEAPON_TRADE_CONTRACT, 1)

for i in range(20494, 20500) + [20062, 20066, 20438]:
    QUEST.addKillId(i)
Exemple #5
0
            if st.getQuestItemsCount(FAIRY_BREATH) == 0:
                htmltext = "30634-04.htm"
            else:
                htmltext = "30634-05.htm"
        return htmltext

    def onKill(self, npc, player, isPet):
        st = player.getQuestState(qn)
        if not st: return
        npcId = npc.getNpcId()
        if st.getInt("cond") == 1:
            chance = st.getRandom(100)
            if npcId in MOBS and chance < 90:
                st.giveItems(FAIRY_BREATH, 1)
                st.playSound("ItemSound.quest_itemget")
        return


QUEST = Quest(659, qn, "I'd Rather Be Collecting Fairy Breath")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)

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

for mob in MOBS:
    QUEST.addKillId(mob)

STARTED.addQuestDrop(GALATEA, FAIRY_BREATH, 1)
Exemple #6
0
     if cond == 6 :
       st.set("BENEDICT","1")
       if st.getInt("AGRIPEL") == 1 and st.getInt("DOMINIC") == 1 and st.getInt("BENEDICT") == 1 :
         htmltext = "31349-02.htm"
         st.set("cond","7")
         st.playSound("ItemSound.quest_middle")
         return htmltext
       htmltext = "31349-0"+str(st.getRandom(3))+".htm"
     elif cond == 7 :
       htmltext = "31349-03.htm"
   elif npcId == 31328:
     if cond == 7:
       if st.getQuestItemsCount(7140) == 1:
         htmltext = "31328-01.htm"
     elif cond == 0 and onlyone == 1:
       htmltext = "31328-06.htm"
   return htmltext

QUEST     = Quest(21,qn,"Hidden Truth")
CREATED   = State('Start',     QUEST)
STARTED   = State('Started',   QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(31522)

for NPC in [31522,31523,31524,31525,31526,31348,31349,31350,31328]:
  QUEST.addTalkId(NPC)

STARTED.addQuestDrop(31526,7140,1)
Exemple #7
0
        if st.getState() != STARTED: return

        item = ORC_AMULET
        if npc.getNpcId() in range(20471, 20474):
            item = ORC_NECKLACE
        if st.getRandom(10) > 4:
            st.giveItems(item, 1)
            st.playSound("ItemSound.quest_itemget")
        return


QUEST = Quest(260, qn, "Hunt For Orcs1")
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30221)

QUEST.addTalkId(30221)

QUEST.addKillId(20468)
QUEST.addKillId(20469)
QUEST.addKillId(20470)
QUEST.addKillId(20471)
QUEST.addKillId(20472)
QUEST.addKillId(20473)

STARTED.addQuestDrop(20468, ORC_AMULET, 1)
STARTED.addQuestDrop(20472, ORC_NECKLACE, 1)
Exemple #8
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)
Exemple #9
0
                    htmltext = "31662-0.htm"
                elif cond > 4:
                    htmltext = "31662-2.htm"
            elif npcId == FORGOTTEN_MONUMENT_3:
                if cond == 5:
                    htmltext = "31663-0.htm"
                elif cond > 5:
                    htmltext = "31663-2.htm"
            elif npcId == FORGOTTEN_MONUMENT_4:
                if cond == 6:
                    htmltext = "31664-0.htm"
                elif cond > 6:
                    htmltext = "31664-2.htm"
        return htmltext


QUEST = Quest(31, qn, "Secret Buried In The Swamp")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(ABERCROMBIE)

QUEST.addTalkId(ABERCROMBIE)

for i in range(31661, 31666):
    QUEST.addTalkId(i)

STARTED.addQuestDrop(ABERCROMBIE, KRORINS_JOURNAL, 1)
Exemple #10
0
        st = player.getQuestState(qn)
        if not st: return
        if st.getState() != STARTED: return

        npcId = npc.getNpcId()
        if npcId == 20333:
            if st.getInt(
                    "cond") == 1 and st.getQuestItemsCount(STARSTONE1_ID) < 20:
                if st.getRandom(2) == 0:
                    st.giveItems(STARSTONE1_ID, 1)
                    if st.getQuestItemsCount(STARSTONE1_ID) == 20:
                        st.playSound("ItemSound.quest_middle")
                        st.set("cond", "2")
                    else:
                        st.playSound("ItemSound.quest_itemget")
        return


QUEST = Quest(277, qn, "Gatekeepers Offering")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)

QUEST.addStartNpc(30576)
QUEST.addTalkId(30576)

QUEST.addKillId(20333)
STARTED.addQuestDrop(20333, STARSTONE1_ID, 1)
Exemple #11
0
                if st.getQuestItemsCount(ENCHT_GARGOYLES_NAIL_ID) < 5:
                    st.playSound("ItemSound.quest_itemget")
                else:
                    st.playSound("ItemSound.quest_middle")
                    if st.getQuestItemsCount(
                            GHOULS_SKIN_ID) == 10 and st.getQuestItemsCount(
                                MEDUSAS_BLOOD_ID
                            ) == 12 and st.getQuestItemsCount(
                                FETTEREDSOULS_ICHOR_ID
                            ) == 5 and st.getQuestItemsCount(
                                ENCHT_GARGOYLES_NAIL_ID) == 5:
                        st.set("cond", "29")
        return


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

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(NPC[0])

for npcId in NPC:
    for i in range(2674, 2721):
        QUEST.addTalkId(npcId)
        STARTED.addQuestDrop(npcId, i, 1)

for mobId in MOBS:
    QUEST.addKillId(mobId)
Exemple #12
0
        elif npcId == MIRABEL and cond == 1:
            htmltext = "30146-04.htm"
        elif id == STARTED:
            if npcId == ARIEL and cond:
                if st.getQuestItemsCount(ARIELS_RECOMMENDATION) == 0:
                    htmltext = "30148-01.htm"
                else:
                    htmltext = "30148-03.htm"
            elif npcId == ASTERIOS and cond == 2 and st.getQuestItemsCount(
                    ARIELS_RECOMMENDATION) > 0:
                htmltext = "30154-01.htm"
            elif npcId == MIRABEL and cond == 3:
                htmltext = "30146-05.htm"
        return htmltext


QUEST = Quest(7, qn, "A Trip Begins")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(MIRABEL)

QUEST.addTalkId(MIRABEL)

QUEST.addTalkId(ARIEL)
QUEST.addTalkId(ASTERIOS)

STARTED.addQuestDrop(MIRABEL, ARIELS_RECOMMENDATION, 1)
Exemple #13
0
        if st:
            if st.getState() == STARTED:
                count = st.getQuestItemsCount(EYE_OF_DARKNESS)
                chance = CHANCE[npc.getNpcId()] * Config.RATE_DROP_QUEST
                numItems, chance = divmod(chance, 100)
                if st.getInt("cond") == 1:
                    if st.getRandom(100) < chance:
                        numItems = numItems + 1
                    if count + numItems >= 100:
                        numItems = 100 - count
                        st.playSound("ItemSound.quest_middle")
                        st.set("cond", "2")
                    else:
                        st.playSound("ItemSound.quest_itemget")
                    st.giveItems(EYE_OF_DARKNESS, int(numItems))
        return


QUEST = Quest(602, qn, "Shadow Of Light")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)

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

for i in MOBS:
    QUEST.addKillId(i)

STARTED.addQuestDrop(EYE_OF_ARGOS, EYE_OF_DARKNESS, 1)
Exemple #14
0
                        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)
Exemple #15
0
                st.addSpawn(20158)
            if count == maxcount-1:
              st.playSound("ItemSound.quest_middle")
              st.set(var,str(isValue+1))
            else:
              st.playSound("ItemSound.quest_itemget")
            return


QUEST     = Quest(233,qn,"Test Of Warspirit")
CREATED   = State('Start', QUEST)
PART1     = State('Part1', QUEST)
PART2     = State('Part2', QUEST)
COMPLETED = State('Completed', QUEST)


QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30510)

for npcId in NPC:
  QUEST.addTalkId(npcId)

for mobId in PART1_MOBS:
  QUEST.addKillId(mobId)

for mobId in PART2_MOBS:
  QUEST.addKillId(mobId)

for item in range(2880,2915):
  PART2.addQuestDrop(30510,item,1)
Exemple #16
0
STARTING     = State('Starting', QUEST)
STARTED     = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)


QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30414)

QUEST.addTalkId(30414)

QUEST.addTalkId(30157)
QUEST.addTalkId(30371)
QUEST.addTalkId(30423)

QUEST.addKillId(20019)
QUEST.addKillId(20466)
QUEST.addKillId(20047)

STARTED.addQuestDrop(30414,ROGELLIAS_LETTER,1)
STARTED.addQuestDrop(20466,RED_DOWN,1)
STARTED.addQuestDrop(30157,CHARM_OF_GRAIN,1)
STARTED.addQuestDrop(30414,APPETIZING_APPLE,1)
STARTED.addQuestDrop(20019,GOLD_LEAVES,1)
STARTED.addQuestDrop(30371,SAP_OF_WORLD_TREE,1)
STARTED.addQuestDrop(30414,IMMORTAL_LOVE,1)
STARTED.addQuestDrop(20047,AMETHYST,1)
STARTED.addQuestDrop(30423,LUCKY_POTPOURI,1)
STARTED.addQuestDrop(30157,MAGICAL_POWERS_RUBY,1)
STARTED.addQuestDrop(30371,PURE_AQUAMARINE,1)
STARTED.addQuestDrop(30423,NOBILITY_AMETHYST,1)
STARTED.addQuestDrop(30414,FERTILITY_PERIDOT,1)
Exemple #17
0
            st.exitQuest(1)
         else :
            htmltext = "30078-03.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()
     cond = st.getInt("cond")
     if cond==1 :
         st.dropQuestItems(BEAR_SKIN,1,20,CHANCE,1)
     return

QUEST       = Quest(341,qn,"Hunting For Wild Beasts")
CREATED     = State('Start', QUEST)
STARTED     = State('Started', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30078)

QUEST.addTalkId(30078)

STARTED.addQuestDrop(30078,BEAR_SKIN,1)

QUEST.addKillId(20021)
QUEST.addKillId(20203)
QUEST.addKillId(20310)
QUEST.addKillId(20335)
Exemple #18
0
                            elif id == 2 and item != 0:
                                giveReward(st, item, chance, MAX, drop)
                        elif id == 2 and item != 0:
                            giveReward(st, item, chance, MAX, drop)
                    elif npcId in Varka_Silenos:
                        decreaseAlliance(st)
                        party = partyMember.getParty()
                        if party:
                            for player in party.getPartyMembers().toArray():
                                pst = player.getQuestState(qn)
                                if pst:
                                    decreaseAlliance(pst)
        return


QUEST = Quest(611, qn, "Alliance With Varka Silenos")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(Naran_Ashanuk)

QUEST.addTalkId(Naran_Ashanuk)

for mobId in Chance.keys():
    QUEST.addKillId(mobId)
STARTED.addQuestDrop(Naran_Ashanuk, Ketra_Badge_Soldier, 1)
STARTED.addQuestDrop(Naran_Ashanuk, Ketra_Badge_Officer, 1)
STARTED.addQuestDrop(Naran_Ashanuk, Ketra_Badge_Captain, 1)
for mobId in Varka_Silenos:
    QUEST.addKillId(mobId)
Exemple #19
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)
Exemple #20
0
        st = partyMember.getQuestState(qn)
        numItems, chance = divmod(DROP_RATE, MAX)
        drop = st.getRandom(MAX)
        if drop < chance:
            numItems = numItems + 1
        if int(numItems) != 0:
            st.giveItems(ANC_BOOK, 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)
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)

for i in MOBS:
    QUEST.addKillId(i)

STARTED.addQuestDrop(HR_SOBLING, DICT2, 1)
Exemple #21
0
        return htmltext

    def onKill(self, npc, player, isPet):
        st = player.getQuestState(qn)
        if st:
            if st.getState() == STARTED:
                count = st.getQuestItemsCount(THIEF_GUILD_MARK)
                if st.getInt("cond") == 1 and count < 200 and st.getRandom(
                        100) < DROP_CHANCE:
                    st.giveItems(THIEF_GUILD_MARK, 1)
                    if count == 199:
                        st.playSound("ItemSound.quest_middle")
                        st.set("cond", "2")
                    else:
                        st.playSound("ItemSound.quest_itemget")
        return


QUEST = Quest(649, qn, "A Looter and a Railroad Man")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)

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

for BANDITS in [22017, 22018, 22019, 22021, 22022, 22023, 22024, 22026]:
    QUEST.addKillId(BANDITS)

STARTED.addQuestDrop(OBI, THIEF_GUILD_MARK, 1)
Exemple #22
0
                st.set("cond", "5")
        return


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

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30293)

QUEST.addTalkId(30293)

QUEST.addTalkId(30424)
QUEST.addTalkId(30428)

QUEST.addKillId(27032)
QUEST.addKillId(27033)
QUEST.addKillId(27034)
QUEST.addKillId(27035)

STARTED.addQuestDrop(30428, MONEY_OF_SWINDLER, 1)
STARTED.addQuestDrop(30424, DAIRY_OF_ALLANA, 1)
STARTED.addQuestDrop(27032, LIZARD_CAPTAIN_ORDER, 1)
STARTED.addQuestDrop(27033, LIZARD_CAPTAIN_ORDER, 1)
STARTED.addQuestDrop(27034, LIZARD_CAPTAIN_ORDER, 1)
STARTED.addQuestDrop(30293, CRYSTAL_MEDALLION, 1)
STARTED.addQuestDrop(30424, HALF_OF_DAIRY, 1)
STARTED.addQuestDrop(27035, TAMATOS_NECKLACE, 1)
Exemple #23
0
                    htmltext = "30042-02.htm"
                    st.exitQuest(1)
            elif st.getInt("cond") and st.getQuestItemsCount(
                    OFFICIAL_LETTER_ID):
                htmltext = "30042-05.htm"
        elif npcId == 30311 and st.getInt("cond") and st.getQuestItemsCount(
                OFFICIAL_LETTER_ID) and id == STARTED:
            st.takeItems(OFFICIAL_LETTER_ID, -1)
            st.giveItems(HASTE_POTION_ID, int(Config.RATE_QUESTS_REWARD))
            st.unset("cond")
            st.setState(COMPLETED)
            st.playSound("ItemSound.quest_finish")
            htmltext = "30311-01.htm"
        return htmltext


QUEST = Quest(155, qn, "Find Sir Windawood")
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30042)

QUEST.addTalkId(30042)

QUEST.addTalkId(30311)

STARTED.addQuestDrop(30042, OFFICIAL_LETTER_ID, 1)
                        npc.broadcastPacket(
                            CreatureSay(
                                spawnedNpc.getObjectId(), 0,
                                spawnedNpc.getName(),
                                "Curse of the gods on the one that defiles the property of the empire!"
                            ))
                        leader_st.set("ImpGraveKeeper", "3")
                        self.ImpGraveKepperStat = 1
                    else:
                        leader_st.addSpawn(27179)
        return

QUEST = Quest(503, qn, "Pursuit of Clan Ambition")
CREATED = State('Start', QUEST)
PROGRESS = State('Progress', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(NPC[3])

for npcId in NPC:
    QUEST.addTalkId(npcId)

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

QUEST.addAttackId(27181)

for i in range(3839, 3848) + range(3866, 3870):
    PROGRESS.addQuestDrop(27181, i, 1)
Exemple #25
0
            else:
                htmltext = "30357-04.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(10) < (5 + ((npc.getNpcId() - 20000) ^ 4)):
            st.giveItems(IMP_SHACKLES, 1)
            st.playSound("ItemSound.quest_itemget")
        return


QUEST = Quest(265, qn, "Chains Of Slavery")
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30357)

QUEST.addTalkId(30357)

QUEST.addKillId(20004)
QUEST.addKillId(20005)

STARTED.addQuestDrop(20004, IMP_SHACKLES, 1)
Exemple #26
0
    def onKill(self, npc, player, isPet):
        npcId = npc.getNpcId()
        partyMember = self.getRandomPartyMember(player, "2")
        if (partyMember and npcId != ARANEID):
            drop(partyMember, NECKLACE[npcId])
        else:
            partyMember = self.getRandomPartyMember(player, "4")
            if (partyMember and npcId != M_LIZARDMAN):
                drop(partyMember, DROPLIST[npcId])
        return


QUEST = Quest(39, qn, "Red Eyed Invaders")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(BABENCO)
QUEST.addTalkId(BABENCO)
QUEST.addTalkId(BATHIS)

QUEST.addKillId(M_LIZARDMAN)
QUEST.addKillId(M_LIZARDMAN_SCOUT)
QUEST.addKillId(M_LIZARDMAN_GUARD)
QUEST.addKillId(ARANEID)

for item in range(7178, 7182):
    STARTED.addQuestDrop(BABENCO, item, 1)
Exemple #27
0
CREATED = State('Start', QUEST)
STARTED = State('started', QUEST)
#Following states kept for backwards compatibility only.
MIDDLE = State('middle', QUEST)
END = State('end', QUEST)
COMPLETED = State('completed', QUEST)

QUEST.setInitialState(CREATED)

QUEST.addStartNpc(ALCHEMIST_MATILD)

QUEST.addTalkId(ALCHEMIST_MATILD)
QUEST.addTalkId(TORAI)
QUEST.addTalkId(RUPINA)
QUEST.addTalkId(WISDOM_CHEST)

QUEST.addKillId(SECRET_KEEPER_TREE)

for mob in DROPLIST.keys():
    QUEST.addKillId(mob)
    STARTED.addQuestDrop(mob, DROPLIST[mob][0], 1)

QUEST.addKillId(SUCCUBUS_OF_SEDUCTION)
QUEST.addKillId(GRIMA)
QUEST.addKillId(SANCHES)
QUEST.addKillId(RAMSEBALIUS)
QUEST.addKillId(BONAPARTERIUS)
QUEST.addKillId(GREAT_DEMON_KING)

for item in range(3678, 3683):
    STARTED.addQuestDrop(ALCHEMIST_MATILD, item, 1)
Exemple #28
0
QUEST.addTalkId(TALIEN)

QUEST.addTalkId(STEDMIEL)
QUEST.addTalkId(GABRIELLE)
QUEST.addTalkId(GILMORE)
QUEST.addTalkId(KANTABILON)
QUEST.addTalkId(NOEL)
QUEST.addTalkId(RAHORAKTI)
QUEST.addTalkId(CARADINE)
QUEST.addTalkId(VIRGIL)
QUEST.addTalkId(KASSANDRA)
QUEST.addTalkId(OGMAR)

QUEST.addKillId(BARAHAM)
QUEST.addKillId(20244)
QUEST.addKillId(20245)
QUEST.addKillId(20283)
QUEST.addKillId(21508)

QUEST.addKillId(21509)
QUEST.addKillId(21510)
QUEST.addKillId(21511)
QUEST.addKillId(21512)

STARTED.addQuestDrop(BARAHAM, LEGEND_OF_SEVENTEEN, 1)
STARTED.addQuestDrop(BARAHAM, MALRUK_SUCCUBUS_CLAW, 1)
STARTED.addQuestDrop(BARAHAM, ECHO_CRYSTAL, 1)
STARTED.addQuestDrop(BARAHAM, POETRY_BOOK, 1)
STARTED.addQuestDrop(BARAHAM, CRIMSON_MOSS, 1)
STARTED.addQuestDrop(BARAHAM, RAHORAKTIS_MEDICINE, 1)
STARTED.addQuestDrop(BARAHAM, VIRGILS_LETTER, 1)
Exemple #29
0
        if not st: return
        npcId = npc.getNpcId()
        chance = st.getRandom(100)
        if npcId in MOBS.keys():
            urnchance, porcchance = MOBS[npcId]
            if chance < urnchance:
                st.giveItems(URN, 1)
                st.playSound("ItemSound.quest_itemget")
            elif chance < porcchance:
                st.giveItems(PORCELAIN, 1)
                st.playSound("ItemSound.quest_itemget")
        return


QUEST = Quest(371, qn, "Shriek Of Ghosts")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(REVA)

QUEST.addTalkId(REVA)
QUEST.addTalkId(PATRIN)

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

for rew in PORC.keys():
    STARTED.addQuestDrop(PATRIN, rew, 1)
Exemple #30
0
           st.takeItems(POETRY_BOOK,-1) 
           st.giveItems(GREENIS_LETTER,1) 
           st.set("cond","5") 
           st.set("id","5") 
           st.playSound("ItemSound.quest_middle") 
       elif npcId == GREENIS and st.getQuestItemsCount(GREENIS_LETTER) : 
         htmltext = "30157-03.htm" 
       elif npcId == GREENIS and (st.getQuestItemsCount(ARUJIENS_LETTER1) or st.getQuestItemsCount(ARUJIENS_LETTER2) or st.getQuestItemsCount(ARUJIENS_LETTER3)) : 
         htmltext = "30157-01.htm" 
   return htmltext

QUEST     = Quest(2,qn,"What Women Want") 
CREATED   = State('Start',     QUEST) 
STARTED   = State('Started',   QUEST) 
COMPLETED = State('Completed', QUEST) 

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(ARUJIEN) 

QUEST.addTalkId(ARUJIEN) 

QUEST.addTalkId(MIRABEL) 
QUEST.addTalkId(HERBIEL) 
QUEST.addTalkId(GREENIS) 
QUEST.addTalkId(ARUJIEN) 

STARTED.addQuestDrop(ARUJIEN,GREENIS_LETTER,1) 
STARTED.addQuestDrop(ARUJIEN,ARUJIENS_LETTER3,1) 
STARTED.addQuestDrop(ARUJIEN,ARUJIENS_LETTER1,1) 
STARTED.addQuestDrop(ARUJIEN,ARUJIENS_LETTER2,1) 
STARTED.addQuestDrop(ARUJIEN,POETRY_BOOK,1)