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 4f2d055..9b0744e 100644 Binary files a/data/world/map.otbm and b/data/world/map.otbm differ