# Christmas quest made by eyerobot # Run the following query # REPLACE INTO `npc` VALUES ('13006', '13006', 'Christmas Tree', '1', 'Christmas Event', '1', 'Deco.x_mas_tree', '24.00', '40.00', '40', 'male', 'L2Monster', '40', '9000', '1493', '11.85', '2.78', '40', '43', '30', '21', '20', '10', '0', '0', '5', '470', '5', '470', '278', '500', '333', '0', '0', '0', '33', '132', null, '0', '0', '0', 'LAST_HIT'); import sys from net.sf.l2j.gameserver.datatables import EventDroplist from net.sf.l2j.gameserver import Announcements from net.sf.l2j.gameserver.script import DateRange from java.util import GregorianCalendar from java.util import Iterator 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 qn = "998_xmas" NPCID = 31863 # santa trainee - Spawn them where you like temp1 = GregorianCalendar(2007,11,22) #From dec 22 2007 StartDate = temp1.getTime() temp1.set(2008,0,1) #To jan 1 2008 EndDate = temp1.getTime() EventDates = DateRange(StartDate, EndDate) DropsCommon = [5557, 5558] # gule, vetvicky - bezne moby DropsMed = [5556, 5583, 5584, 5585, 5586, 5587] # hviezda a echo krystaly - bezne moby DropsRare = [5562, 5563, 5564, 5565, 5566, 5559] # kvetinac - bezne moby count = [1,1] chanceCommon = 100000 chanceMed = 20000 chanceRare = 10000 EventDroplist.getInstance().addGlobalDrop(DropsCommon, count, chanceCommon, EventDates) EventDroplist.getInstance().addGlobalDrop(DropsMed, count, chanceMed, EventDates) EventDroplist.getInstance().addGlobalDrop(DropsRare, count, chanceRare, EventDates) Announcements.getInstance().addEventAnnouncement(EventDates,['Stastne a vesele Vianoce! Navstivte pomocnika Santa Clausa']) REWARD1 = 1463 #Soulshot D grade - drop zo stromceka co musi najprv hrac zlozit REWARD2 = 1464 #Soulshot C grade - drop zo stromceka co musi najprv hrac zlozit REWARD3 = 1465 #Soulshot B grade - drop zo stromceka co musi najprv hrac zlozit REWARD4 = 3948 #B Spiritshot D grade - drop zo stromceka co musi najprv hrac zlozit REWARD5 = 3949 #B Spiritshot C grade - drop zo stromceka co musi najprv hrac zlozit REWARD6 = 3950 #B Spiritshot B grade - drop zo stromceka co musi najprv hrac zlozit REWARD7 = 6403 #Star Shard - drop zo stromceka co musi najprv hrac zlozit REWARD8 = 6406 #Firework - drop zo stromceka co musi najprv hrac zlozit REWARD9 = 6407 #Large Firework - drop zo stromceka co musi najprv hrac zlozit REWARD10 = 5234 #Mystery Potion - drop zo stromceka co musi najprv hrac zlozit REWARD_AMOUNT1 = 1000 REWARD_AMOUNT2 = 750 REWARD_AMOUNT3 = 500 REWARD_AMOUNT4 = 500 REWARD_AMOUNT5 = 250 REWARD_AMOUNT6 = 100 REWARD_AMOUNT7 = 75 REWARD_AMOUNT8 = 50 REWARD_AMOUNT9 = 25 REWARD_AMOUNT10 = 5 REWARD_DROP_CHANCE = 75 class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onTalk (self,npc,player): st = player.getQuestState(qn) npcId = npc.getNpcId() htmltext = "Stastne a vesele Vianoce !
Dones mi 1 hviezdu, 10 guli, 15 vetviciek, 1 kvetinac a urobim ti tvoj vlastny vianocny stromcek." if npcId == 31863 : if st.getQuestItemsCount(5556) >= 1 and st.getQuestItemsCount(5557) >= 10 and st.getQuestItemsCount(5558) >= 15 and st.getQuestItemsCount(5559) >= 1 : st.giveItems(5560,1) # christmas tree item st.takeItems(5556,1) st.takeItems(5557,10) st.takeItems(5558,15) st.takeItems(5559,1) htmltext = "Gratulujem ti k stromceku a prajem ti vela stastia! Co s nim mas robit urcite vies." st.setState(STARTED) return htmltext 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) <= REWARD_DROP_CHANCE : rr = st.getRandom(9) if rr == 0 : #randomize the drop reward st.giveItems(REWARD1,REWARD_AMOUNT1) st.playSound("ItemSound.quest_itemget") elif rr == 1 : st.giveItems(REWARD2,REWARD_AMOUNT2) st.playSound("ItemSound.quest_itemget") elif rr == 2 : st.giveItems(REWARD3,REWARD_AMOUNT3) st.playSound("ItemSound.quest_itemget") elif rr == 3 : st.giveItems(REWARD4,REWARD_AMOUNT4) st.playSound("ItemSound.quest_itemget") elif rr == 4 : st.giveItems(REWARD5,REWARD_AMOUNT5) st.playSound("ItemSound.quest_itemget") elif rr == 5 : st.giveItems(REWARD6,REWARD_AMOUNT6) st.playSound("ItemSound.quest_itemget") elif rr == 6 : st.giveItems(REWARD7,REWARD_AMOUNT7) st.playSound("ItemSound.quest_itemget") elif rr == 7 : st.giveItems(REWARD8,REWARD_AMOUNT8) st.playSound("ItemSound.quest_itemget") elif rr == 8 : st.giveItems(REWARD9,REWARD_AMOUNT9) st.playSound("ItemSound.quest_itemget") elif rr == 9 : st.giveItems(REWARD10,REWARD_AMOUNT10) st.playSound("ItemSound.quest_itemget") QUEST = Quest(998,qn,"xmas") CREATED = State('Start', QUEST) STARTED = State('Started', QUEST) COMPLETED = State('Completed', QUEST) QUEST.setInitialState(CREATED) QUEST.addStartNpc(NPCID) QUEST.addTalkId(NPCID) for mobId in [13006]: #christmas tree QUEST.addKillId(mobId) print "imported quest: 998: xmas"