All pastes #33588 Raw Edit

Stuff

public text v1 · immutable
#33588 ·published 2005-12-13 22:55 UTC
rendered paste body
# Special Christmas Event by Fulminus
print "importing quests: 9998: XmasEvent"
import 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

# event items
XMAS_STAR = 5556
XMAS_BEAD = 5557
XMAS_BRANCH = 5558
XMAS_FLOWER = 5559
TOKEN_OF_LOVE = 5555
XMAS_TREE = 5560
XMAS_SPECIAL_TREE = 5561

#rewards
CHRONO_CAMPANA = 5817

VARNISH_PURITY = 1887
SYNTHETIC_COKES = 1888
CRAFTED_LEATHER = 1894
METALIC_FIBER = 1895

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 = "rewards.htm"
    elif event=="2" :
        if st.getQuestItemsCount(CHRONO_CAMPANA) == 0 :
            st.giveItems(CHRONO_CAMPANA,1)
        htmltext = "chrono.htm"
    elif event=="3" :
        htmltext = "gremlins.htm"
    elif event=="4" :
        varnish=0
        sCokes=0
        cLeather=0
        mFiber=0
        for i in range(1, st.getQuestItemsCount(XMAS_BEAD)) :
            mFiber = mFiber + st.getRandom(4)+2
        for i in range(1, st.getQuestItemsCount(XMAS_STAR)) :
            varnish = varnish + st.getRandom(4)+2
        for i in range(1, st.getQuestItemsCount(XMAS_BRANCH)) :
            cLeather = cLeather + st.getRandom(4)+2
        for i in range(1, st.getQuestItemsCount(XMAS_FLOWER)) :
            mFiber = mFiber + st.getRandom(4)+2
            varnish = varnish + st.getRandom(4)+2
        for i in range(1, st.getQuestItemsCount(TOKEN_OF_LOVE)) :
            sCokes = sCokes + st.getRandom(4)+2
            cLeather = cLeather + st.getRandom(4)+2
        for i in range(1, st.getQuestItemsCount(XMAS_TREE)) :
            varnish = varnish + st.getRandom(4)+2
            cLeather = cLeather + st.getRandom(4)+2
            mFiber = mFiber + st.getRandom(4)+2
        for i in range(1, st.getQuestItemsCount(XMAS_SPECIAL_TREE)) :
            varnish = varnish + st.getRandom(4)+2
            cLeather = cLeather + st.getRandom(4)+2
            mFiber = mFiber + st.getRandom(4)+2
            sCokes = sCokes + st.getRandom(4)+2
        if varnish > 0 :
            st.giveItems(VARNISH_PURITY, varnish)
        if cLeather > 0:
            st.giveItems(CRAFTED_LEATHER, varnish)
        if mFiber > 0:
            st.giveItems(METALIC_FIBER, varnish)
        if sCokes > 0:
            st.giveItems(SYNTHETIC_COKES, varnish)
        st.takeItems(XMAS_BEAD, st.getQuestItemsCount(XMAS_BEAD))
        st.takeItems(XMAS_STAR, st.getQuestItemsCount(XMAS_STAR))
        st.takeItems(XMAS_BRANCH, st.getQuestItemsCount(XMAS_BRANCH))
        st.takeItems(XMAS_FLOWER, st.getQuestItemsCount(XMAS_FLOWER))
        st.takeItems(TOKEN_OF_LOVE, st.getQuestItemsCount(TOKEN_OF_LOVE))
        st.takeItems(XMAS_TREE, st.getQuestItemsCount(XMAS_TREE))
        st.takeItems(XMAS_SPECIAL_TREE, st.getQuestItemsCount(XMAS_SPECIAL_TREE))
        htmltext = "<html><head><body>Hohoho!  Merry Christmas!!</body></html>"
    return htmltext


 def onTalk (self,npc,st):
    npcId = npc.getNpcId()
    htmltext = "<html><head><body>Hohoho!  Merry Christmas!!</body></html>"
    id = st.getState()
    if id == CREATED :
        st.setState(STARTING)
        st.set("cond","0")
        st.set("onlyone","0")
        st.set("id","0")
    if st.getQuestItemsCount(CHRONO_CAMPANA)== 0 :
        st.giveItems(CHRONO_CAMPANA,1)
    htmltext = "main.htm"
    return htmltext

 def onKill (self,npc,st):
   npcId = npc.getNpcId()
   if npcId == 1 :
        if st.getPlayer().getActiveWeaponItem().getItemId() == CHRONO_CAMPANA :
            soundPlayed = 0
            if st.getRandom(100) < 15 :
                st.giveItems(XMAS_BEAD,1)
                st.playSound("ItemSound.quest_itemget")
                soundPlayed = 1
            if st.getRandom(100) < 10 :
                st.giveItems(XMAS_STAR,1)
                if soundPlayed==0 :
                    st.playSound("ItemSound.quest_itemget")
                    soundPlayed = 1
            if st.getRandom(100) < 7 :
                st.giveItems(XMAS_BRANCH,1)
                if soundPlayed==0 :
                    st.playSound("ItemSound.quest_itemget")
                    soundPlayed = 1
            if st.getRandom(100) < 5 :
                st.giveItems(XMAS_FLOWER,1)
                if soundPlayed==0 :
                    st.playSound("ItemSound.quest_itemget")
                    soundPlayed = 1
            if st.getRandom(100) < 3 :
                st.giveItems(TOKEN_OF_LOVE,1)
                if soundPlayed==0 :
                    st.playSound("ItemSound.quest_itemget")
                    soundPlayed = 1
            if st.getRandom(100) < 1 :
                st.giveItems(XMAS_TREE,1)
                if soundPlayed==0 :
                    st.playSound("ItemSound.quest_itemget")
                    soundPlayed = 1
            if st.getRandom(1000) < 8 :
                st.giveItems(XMAS_SPECIAL_TREE,1)
                if soundPlayed==0 :
                    st.playSound("ItemSound.quest_itemget")
                    soundPlayed = 1
   return

QUEST       = Quest(9998,"9998_XmasEvent","Custom")
CREATED     = State('Start', QUEST)
STARTING     = State('Starting', QUEST)
STARTED     = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(12617)
QUEST.addStartNpc(12618)
QUEST.addStartNpc(7469)
STARTING.addTalkId(12617)
STARTING.addTalkId(12618)
STARTED.addTalkId(12617)
STARTED.addTalkId(12618)

STARTING.addKillId(1)