From 0fade681f441834f33f7a4490241a0880e28671e Mon Sep 17 00:00:00 2001 From: ErikasKontenis Date: Mon, 16 Dec 2019 21:35:37 +0200 Subject: [PATCH] finish hunter outfit quest --- New Text Document.txt | 2 +- data/actions/actions.xml | 6 ++ .../actions/scripts/liberty_bay/cult_hymn.lua | 21 ++++++ .../liberty_bay/cult_piano_teleport.lua | 18 +++++ data/movements/movements.xml | 5 ++ .../scripts/liberty_bay/back_cult_piano.lua | 11 ++++ data/npc/ajax.npc | 28 ++++---- data/npc/elane.npc | 62 +++++++++++++++++- data/world/map.otbm | Bin 79805627 -> 79807702 bytes 9 files changed, 137 insertions(+), 16 deletions(-) create mode 100644 data/actions/scripts/liberty_bay/cult_hymn.lua create mode 100644 data/actions/scripts/liberty_bay/cult_piano_teleport.lua create mode 100644 data/movements/scripts/liberty_bay/back_cult_piano.lua diff --git a/New Text Document.txt b/New Text Document.txt index 3667316..ab76566 100644 --- a/New Text Document.txt +++ b/New Text Document.txt @@ -1 +1 @@ -next: 17538 \ No newline at end of file +next: 17541 \ No newline at end of file diff --git a/data/actions/actions.xml b/data/actions/actions.xml index 3e360fa..a735460 100644 --- a/data/actions/actions.xml +++ b/data/actions/actions.xml @@ -85,9 +85,14 @@ + + + + + @@ -189,6 +194,7 @@ + diff --git a/data/actions/scripts/liberty_bay/cult_hymn.lua b/data/actions/scripts/liberty_bay/cult_hymn.lua new file mode 100644 index 0000000..0a87948 --- /dev/null +++ b/data/actions/scripts/liberty_bay/cult_hymn.lua @@ -0,0 +1,21 @@ +local config = { + [6087] = {storage = 1053, text = 'first', effect = CONST_ME_SOUND_GREEN}, + [6088] = {storage = 1054, text = 'second', effect = CONST_ME_SOUND_RED}, + [6089] = {storage = 1055, text = 'third', effect = CONST_ME_SOUND_YELLOW}, + [6090] = {storage = 1056, text = 'fourth', effect = CONST_ME_SOUND_BLUE} +} + +function onUse(player, item, fromPosition, target, toPosition, isHotkey) + local playerPosition = player:getPosition() + local useItem = config[item.itemid] + if player:getStorageValue(useItem.storage) ~= 1 then + player:setStorageValue(useItem.storage, 1) + player:say("You have learned the ".. useItem.text .." part of a hymn.", TALKTYPE_MONSTER_SAY, false, 0, playerPosition) + playerPosition:sendMagicEffect(useItem.effect) + item:remove(1) + else + player:say("You already know the ".. useItem.text .." verse of the hymn.", TALKTYPE_MONSTER_SAY, false, 0, playerPosition) + end + + return true +end \ No newline at end of file diff --git a/data/actions/scripts/liberty_bay/cult_piano_teleport.lua b/data/actions/scripts/liberty_bay/cult_piano_teleport.lua new file mode 100644 index 0000000..791a58a --- /dev/null +++ b/data/actions/scripts/liberty_bay/cult_piano_teleport.lua @@ -0,0 +1,18 @@ +local storages = {1053, 1054, 1055, 1056} + +function onUse(player, item, fromPosition, target, toPosition, isHotkey) + local playerPosition = player:getPosition() + + for i = 1, #storages do + if player:getStorageValue(storages[i]) ~= 1 then + player:say("You have not learned all the verses of the hymn.", TALKTYPE_MONSTER_SAY, false, 0, toPosition) + playerPosition:sendMagicEffect(CONST_ME_POFF) + return true + end + end + + player:teleportTo(Position(32402, 32794, 9)) + player:say("You have sucessfully played the secret hymn of the cult.", TALKTYPE_MONSTER_SAY) + Game.sendMagicEffect({x = 32402, y = 32794, z = 9}, CONST_ME_SOUND_PURPLE) + return true +end \ No newline at end of file diff --git a/data/movements/movements.xml b/data/movements/movements.xml index 0092325..2df3eb6 100644 --- a/data/movements/movements.xml +++ b/data/movements/movements.xml @@ -423,6 +423,11 @@ + + + + + diff --git a/data/movements/scripts/liberty_bay/back_cult_piano.lua b/data/movements/scripts/liberty_bay/back_cult_piano.lua new file mode 100644 index 0000000..3fc72c2 --- /dev/null +++ b/data/movements/scripts/liberty_bay/back_cult_piano.lua @@ -0,0 +1,11 @@ +function onStepIn(creature, item, position, fromPosition) + doRelocate(item:getPosition(),{x = 32410, y = 32794, z = 9}) + item:getPosition():sendMagicEffect(11) + Game.sendMagicEffect({x = 32410, y = 32794, z = 9}, 11) +end + +function onAddItem(item, tileitem, position) + doRelocate(item:getPosition(),{x = 32410, y = 32794, z = 9}) + item:getPosition():sendMagicEffect(11) + Game.sendMagicEffect({x = 32410, y = 32794, z = 9}, 11) +end diff --git a/data/npc/ajax.npc b/data/npc/ajax.npc index 804e44b..151bfd2 100644 --- a/data/npc/ajax.npc +++ b/data/npc/ajax.npc @@ -50,31 +50,31 @@ Topic=7 -> "Maybe later." "iron","ore",QuestValue(17532)=13 -> Type=5880, Amount=100, "You bring 100 iron ore?", Topic=8 Topic=8,"yes",Count(Type)>=Amount -> "Good! Now bring crude iron.", Delete(Type), SetQuestValue(17532,14) -Topic=8,"yes" -> "You do not have that many." -Topic=8 -> "Maybe another time." +Topic=8,"yes" -> "You do not have that many." +Topic=8 -> "Maybe another time." "crude","iron",QuestValue(17532)=14 -> Type=5892, Amount=1, "You bring crude iron?", Topic=9 Topic=9,"yes",Count(Type)>=Amount -> "Good! Now bring 50 behemoth fangs.", Delete(Type), SetQuestValue(17532,14) -Topic=9,"yes" -> "You do not have it." -Topic=9 -> "Maybe another time." +Topic=9,"yes" -> "You do not have it." +Topic=9 -> "Maybe another time." "behemoth","fang",QuestValue(17532)=14 -> Type=5893, Amount=50, "You bring 50 behemoth fangs?", Topic=10 Topic=10,"yes",Count(Type)>=Amount -> "Good! Now bring 50 lizard leather.", Delete(Type), SetQuestValue(17532,15) -Topic=10,"yes" -> "You do not have that many." -Topic=10 -> "Maybe another time." +Topic=10,"yes" -> "You do not have that many." +Topic=10 -> "Maybe another time." "lizard","leather",QuestValue(17532)=15 -> Type=5876, Amount=50, "You bring 50 lizard leather?", Topic=11 Topic=11,"yes",Count(Type)>=Amount -> "Ah! All stuff there. I will start making axes now. Come later and ask me for axe.", Delete(Type), SetQuestValue(17532,16), SetExpiringQuestValue(17534, 7200000) -Topic=11,"yes" -> "You do not have that many." -Topic=11 -> "Maybe another time." +Topic=11,"yes" -> "You do not have that many." +Topic=11 -> "Maybe another time." -"addon",ExpiringQuestValue(17534)>0 -> "Wait! I making axes now. Come later, okey?" -"axe",ExpiringQuestValue(17534)>0 -> * +"addon",ExpiringQuestValue(17534)>0 -> "Wait! I making axes now. Come later, okey?" +"axe",ExpiringQuestValue(17534)>0 -> * -"addon",ExpiringQuestValue(17534)<0,QuestValue(17532)=16 -> "Axe is done! For you. Take. Wear like me.", SetQuestValue(17532,17), AddOutfitAddon(147,1), AddOutfitAddon(143,1) -"axe",ExpiringQuestValue(17534)<0,QuestValue(17532)=16 -> * +"addon",ExpiringQuestValue(17534)<0,QuestValue(17532)=16 -> "Axe is done! For you. Take. Wear like me.", SetQuestValue(17532,17), AddOutfitAddon(147,1), AddOutfitAddon(143,1) +"axe",ExpiringQuestValue(17534)<0,QuestValue(17532)=16 -> * -"addon",QuestValue(17532)=17 -> "Nice axe. Nice axe." -"axe",QuestValue(17532)=17 -> * +"addon",QuestValue(17532)=17 -> "Nice axe. Nice axe." +"axe",QuestValue(17532)=17 -> * } diff --git a/data/npc/elane.npc b/data/npc/elane.npc index 92cf4df..059d7e3 100644 --- a/data/npc/elane.npc +++ b/data/npc/elane.npc @@ -47,7 +47,6 @@ VANISH,! -> "Bye." "lugri" -> "A follower of evil that will get what he deserves one day." "excalibug" -> "A weapon of myth. I don't believe that this weapon exists." "news" -> "I am a paladin, not a storyteller." -"Sniper gloves" -> "We are always looking for sniper gloves. They are supposed to raise accuracy. If you find a pair, bring them here. Maybe I can offer you a nice trade." "member" -> "Every paladin profits from his vocation. It has many advantages to be a paladin." "profit" -> "We will help you to improve your skills. Besides I offer spells for paladins." @@ -113,4 +112,65 @@ Topic=3,"yes",Level Amount=SpellLevel(String), "You mus Topic=3,"yes",CountMoney "Oh. You do not have enough money." Topic=3,"yes" -> "Here you are. Look in your spellbook for the pronunciation of this spell.", DeleteMoney, EffectOpp(13), TeachSpell(String) Topic=3 -> "Ok. Then not." + +"sniper","gloves",Count(5875)<=0 -> "We are always looking for sniper gloves. They are supposed to raise accuracy. If you find a pair, bring them here. Maybe I can offer you a nice trade." +"sniper","gloves",QuestValue(17538)=0 -> Type=5875, Amount=1, "You found sniper gloves?! Incredible! Listen, if you give them to me, I will grant you the right to wear the sniper gloves accessory. How about it?", Topic=4 +Topic=4,"yes",Count(Type)>=Amount -> "Great! I hereby grant you the right to wear the sniper gloves as accessory. Congratulations!", Delete(Type), SetQuestValue(17538,1), AddOutfitAddon(137,1), AddOutfitAddon(129,1), EffectOpp(13) +Topic=4,"yes" -> "You don't have it." +Topic=4 -> "Maybe another time." + +"sniper","gloves",QuestValue(17538)=1 -> Type=5875, Amount=1, Price=2000, "You found sniper gloves?! Incredible! I would pay you 2000 gold pieces for them. How about it?", Topic=5 +Topic=5,"yes",Count(Type)>=Amount -> "Congratulations.", Delete(Type), CreateMoney +Topic=5,"yes" -> "You don't have it." +Topic=5 -> "Maybe another time." + +"outfit" -> "Oh, my winged tiara? Those are traditionally awarded after having completed a difficult task for our guild, only to female aspirants though. Male warriors will receive a hooded cloak." +"addon" -> * + +"task",QuestValue(17539)=0,male -> "So you are saying that you would like to prove that you deserve to wear such a hooded cloak?", Topic=6 +"mission",QuestValue(17539)=0,male -> * +"task",QuestValue(17539)=0,female -> "So you are saying that you would like to prove that you deserve to wear such a winged tiara?", Topic=6 +"mission",QuestValue(17539)=0,female -> * +Topic=6,"yes" -> "Alright, I will give you a chance. Pay close attention to what I'm going to tell you now. ...", + "Recently, one of our members moved to Liberty Bay out of nowhere, talking about some strange cult. That is not the problem, but he took my favourite crossbow with him. ...", + "Please find my crossbow. It has my name engraved on it and is very special to me. ...", + "Secondly, we need a lot of leather for new quivers. 100 pieces of lizard leather and 100 pieces of red dragon leather should suffice. ...", + "Third, since we are giving out tiaras, we are always in need of enchanted chicken wings. Please bring me 5, that would help us tremendously. ...", + "Lastly, for our arrow heads we need a lot of steel. Best would be one piece of royal steel, one piece of draconian steel and one piece of hell steel. ...", + "Did you understand everything I told you and are willing to handle this task?", Topic=7 +Topic=6 -> "However." +Topic=7,"yes" -> "That's the spirit! I hope you will find my crossbow, %N.", SetQuestValue(17539,1) +Topic=7 -> "Maybe another time." + +"crossbow",QuestValue(17539)=1 -> Type=5947, Amount=1, "I'm so excited! Have you really found my crossbow?", Topic=8 +"mission",QuestValue(17539)=1 -> * +"task",QuestValue(17539)=1 -> * +Topic=8,"yes",Count(Type)>=Amount,male -> "Yeah! I could kiss you right here and there! Besides, you're a handsome one. Please bring me 100 pieces of lizard leather and 100 pieces of red dragon leather now!", Delete(Type), SetQuestValue(17539,2) +Topic=8,"yes",Count(Type)>=Amount,female -> "Good work, %N! Please bring me 100 pieces of lizard leather and 100 pieces of red dragon leather now!", Delete(Type), SetQuestValue(17539,2) +Topic=8,"yes" -> "You don't have it." +Topic=8 -> "Maybe another time." + +"leather",QuestValue(17539)=2 -> "Did you bring me 100 pieces of lizard leather and 100 pieces of red dragon leather?", Topic=9 +"mission",QuestValue(17539)=2 -> * +"task",QuestValue(17539)=2 -> * +Topic=9,"yes",Count(5948)>=100,Count(5876)>=100 -> "Good work, %N! That is enough leather for a lot of sturdy quivers. Now, please bring me 5 enchanted chicken wings.", DeleteAmount(5948,100), DeleteAmount(5876,100), SetQuestValue(17539,3) +Topic=9,"yes" -> "You don't have that many." +Topic=9 -> "Maybe another time." + +"enchanted","chicken","wing",QuestValue(17539)=3 -> Type=5891, Amount=5, "Were you able to get hold of 5 enchanted chicken wings?", Topic=10 +"mission",QuestValue(17539)=3 -> * +"task",QuestValue(17539)=3 -> * +Topic=10,"yes",Count(Type)>=Amount -> "Great! Now we can create a few more Tiaras. If only they weren't that expensive... Well anyway, please obtain one piece of royal steel, draconian steel and hell steel each.", Delete(Type), SetQuestValue(17539,4) +Topic=10,"yes" -> "You don't have that many." +Topic=10 -> "Maybe another time." + +"steel",QuestValue(17539)=4 -> "Ah, have you brought one piece of royal steel, draconian steel and hell steel each?", Topic=11 +"mission",QuestValue(17539)=4 -> * +"task",QuestValue(17539)=4 -> * +Topic=11,"yes",Count(5888)>=1,Count(5889)>=1,Count(5887)>=1 -> "Wow, I'm impressed, %N. Your really are a valuable member of our paladin guild. I shall grant you your reward now. Wear it proudly!", DeleteAmount(5888,1), DeleteAmount(5889,1), DeleteAmount(5887,1), SetQuestValue(17539,5), AddOutfitAddon(137,2), AddOutfitAddon(129,2), EffectOpp(13) +Topic=11,"yes" -> "You don't have that many." +Topic=11 -> "Maybe another time." + +"mission",QuestValue(17539)=5 -> "Paladin guild has no more tasks for you our loyal %N." +"task",QuestValue(17539)=5 -> * } diff --git a/data/world/map.otbm b/data/world/map.otbm index 4f2d0557c9994f18e0428745e6a97826d848521a..9b0744ebfbbd33275ff450b96c7c1e5453d96edc 100644 GIT binary patch delta 12257 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 delta 17714 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