From cc01b6270e79bbd7f1eb2a5a3cc0134fa38f51fc Mon Sep 17 00:00:00 2001 From: Luan Santos Date: Sun, 27 Aug 2023 21:02:26 -0700 Subject: [PATCH] fix: many npc fixes (quests/traders/etc) --- data-otservbr-global/npc/ariella.lua | 12 +- data-otservbr-global/npc/aruda.lua | 2 +- data-otservbr-global/npc/brengus.lua | 1 + data-otservbr-global/npc/bron.lua | 20 +-- data-otservbr-global/npc/cael.lua | 2 + .../npc/captain_dreadnought.lua | 4 +- data-otservbr-global/npc/captain_fearless.lua | 1 - data-otservbr-global/npc/captain_gulliver.lua | 1 - data-otservbr-global/npc/captain_jack_rat.lua | 2 +- data-otservbr-global/npc/chondur.lua | 26 ++-- data-otservbr-global/npc/duncan.lua | 34 ++--- data-otservbr-global/npc/eremo.lua | 4 +- data-otservbr-global/npc/fiona.lua | 2 +- data-otservbr-global/npc/haroun.lua | 1 - data-otservbr-global/npc/inigo.lua | 2 +- data-otservbr-global/npc/morgan.lua | 18 ++- data-otservbr-global/npc/petros.lua | 1 - data-otservbr-global/npc/sandra.lua | 2 +- data-otservbr-global/npc/talila.lua | 2 +- data-otservbr-global/npc/telas.lua | 128 ++++-------------- data-otservbr-global/npc/the_bone_master.lua | 3 + data-otservbr-global/npc/the_dream_master.lua | 1 + data-otservbr-global/npc/the_lootmonger.lua | 81 ++++++++++- data-otservbr-global/npc/valindara.lua | 2 +- 24 files changed, 170 insertions(+), 182 deletions(-) diff --git a/data-otservbr-global/npc/ariella.lua b/data-otservbr-global/npc/ariella.lua index 626bf608c0d..7eb536b817f 100644 --- a/data-otservbr-global/npc/ariella.lua +++ b/data-otservbr-global/npc/ariella.lua @@ -88,16 +88,14 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("Are you here to bring me the 100 pieces of bread that I requested?", npc, creature) npcHandler:setTopic(playerId, 3) elseif player:getStorageValue(Storage.TheShatteredIsles.ReputationInSabrehaven) == 10 then - npcHandler:say( - { - "The sailors always tell tales about the famous beer of Carlin. \ + npcHandler:say({ + "The sailors always tell tales about the famous beer of Carlin. \z You must know, alcohol is forbidden in that city. ...", - "The beer is served in a secret whisper bar anyway. \ + "The beer is served in a secret whisper bar anyway. \z Bring me a sample of the whisper beer, NOT the usual beer but whisper beer. I hope you are listening." - }, - npc, creature) + }, npc, creature) player:setStorageValue(Storage.TheShatteredIsles.ReputationInSabrehaven, 11) - elseif player:getStorageValue(Storage.TheShatteredIsles.ReputationInSabrehaven) == 12 then + elseif player:getStorageValue(Storage.TheShatteredIsles.ReputationInSabrehaven) == 12 or player:getStorageValue(Storage.TheShatteredIsles.ReputationInSabrehaven) == 11 then npcHandler:say("Did you get a sample of the whisper beer from Carlin?", npc, creature) npcHandler:setTopic(playerId, 4) end diff --git a/data-otservbr-global/npc/aruda.lua b/data-otservbr-global/npc/aruda.lua index 64c75d37208..60c7b677319 100644 --- a/data-otservbr-global/npc/aruda.lua +++ b/data-otservbr-global/npc/aruda.lua @@ -12,7 +12,7 @@ npcConfig.walkRadius = 2 npcConfig.outfit = { lookType = 140, - lookHead = 77, + lookHead = 96, lookBody = 81, lookLegs = 79, lookFeet = 95, diff --git a/data-otservbr-global/npc/brengus.lua b/data-otservbr-global/npc/brengus.lua index b08902f19e2..cbc5b1ec76d 100644 --- a/data-otservbr-global/npc/brengus.lua +++ b/data-otservbr-global/npc/brengus.lua @@ -154,6 +154,7 @@ npcConfig.shop = { { itemName = "tarsal arrow", clientId = 14251, buy = 6 }, { itemName = "throwing knife", clientId = 3298, buy = 25 }, { itemName = "throwing star", clientId = 3287, buy = 42 }, + { itemName = "tribal mask", clientId = 3403, buy = 250 }, { itemName = "tusk shield", clientId = 3443, sell = 850 }, { itemName = "two handed sword", clientId = 3265, buy = 950 }, { itemName = "viking helmet", clientId = 3367, buy = 265 }, diff --git a/data-otservbr-global/npc/bron.lua b/data-otservbr-global/npc/bron.lua index c5c1a97f67d..320706311ef 100644 --- a/data-otservbr-global/npc/bron.lua +++ b/data-otservbr-global/npc/bron.lua @@ -101,12 +101,12 @@ local function creatureSayCallback(npc, creature, type, message) end elseif (MsgContains(message, "cloth")) then if player:getStorageValue(Storage.OutfitQuest.BarbarianAddon) == 7 then - npcHandler:say("Have you really managed to fulfil the task and brought me 50 pieces of red cloth and 50 pieces of green cloth?", npc, creature) + npcHandler:say("Have you really managed to fulfil the task and brought me 25 pieces of red cloth and 25 pieces of green cloth?", npc, creature) npcHandler:setTopic(playerId, 8) end elseif (MsgContains(message, "silk")) then if player:getStorageValue(Storage.OutfitQuest.BarbarianAddon) == 8 then - npcHandler:say("Oh, did you bring 10 rolls of spider silk yarn for me?", npc, creature) + npcHandler:say("Oh, did you bring 5 rolls of spider silk yarn for me?", npc, creature) npcHandler:setTopic(playerId, 9) end elseif (MsgContains(message, "sweat")) then @@ -143,26 +143,26 @@ local function creatureSayCallback(npc, creature, type, message) elseif (npcHandler:getTopic(playerId) == 6) then npcHandler:say({ "Great! You see, I really would love to sew a nice shirt for him. I just need a few things for that, so please listen closely: ...", - "He loves green and red, so I will need about 50 pieces of red cloth - like the material heroes make their capes of - and 50 pieces of the green cloth Djinns like. ...", - "Secondly, I need about 10 rolls of spider silk yarn. I think mermaids can yarn silk of large spiders to create a smooth thread. ...", + "He loves green and red, so I will need about 25 pieces of red cloth - like the material heroes make their capes of - and 25 pieces of the green cloth Djinns like. ...", + "Secondly, I need about 5 rolls of spider silk yarn. I think mermaids can yarn silk of large spiders to create a smooth thread. ...", "The only remaining thing needed would be a bottle of warrior's sweat to spray it over the shirt... he just loves this smell. ...", "Have you understood everything I told you and are willing to handle this task?" }, npc, creature) npcHandler:setTopic(playerId, 7) elseif (npcHandler:getTopic(playerId) == 7) then - npcHandler:say("Thank you, my friend! Come back to me once you have collected 50 pieces of red cloth and 50 pieces of green cloth.", npc, creature) + npcHandler:say("Thank you, my friend! Come back to me once you have collected 25 pieces of red cloth and 25 pieces of green cloth.", npc, creature) player:setStorageValue(Storage.OutfitQuest.BarbarianAddon, 7) npcHandler:setTopic(playerId, 0) elseif (npcHandler:getTopic(playerId) == 8) then - if player:getItemCount(5910) >= 50 and player:getItemCount(5911) >= 50 then - npcHandler:say("Terrific! I will start to trim it while you gather 10 rolls of spider silk. I'm sure that Ajax will love it.", npc, creature) - player:removeItem(5910, 50) - player:removeItem(5911, 50) + if player:getItemCount(5910) >= 25 and player:getItemCount(5911) >= 25 then + npcHandler:say("Terrific! I will start to trim it while you gather 5 rolls of spider silk. I'm sure that Ajax will love it.", npc, creature) + player:removeItem(5910, 25) + player:removeItem(5911, 25) player:setStorageValue(Storage.OutfitQuest.BarbarianAddon, 8) npcHandler:setTopic(playerId, 0) end elseif (npcHandler:getTopic(playerId) == 9) then - if player:removeItem(5886, 10) then + if player:removeItem(5886, 5) then npcHandler:say("I'm impressed! You really managed to get spider silk yarn for me! I will immediately start to work on this shirt. Please don't forget to bring me warrior's sweat!", npc, creature) player:setStorageValue(Storage.OutfitQuest.BarbarianAddon, 9) npcHandler:setTopic(playerId, 0) diff --git a/data-otservbr-global/npc/cael.lua b/data-otservbr-global/npc/cael.lua index 7820fcb449e..93d89ef2a8e 100644 --- a/data-otservbr-global/npc/cael.lua +++ b/data-otservbr-global/npc/cael.lua @@ -31,6 +31,8 @@ local tomes = Storage.Quest.U8_54.TheNewFrontier.TomeofKnowledge npcConfig.shop = { { itemName = "didgeridoo", clientId = 2965, buy = 5000, storageKey = tomes, storageValue = 6 }, { itemName = "war drum", clientId = 2966, buy = 1000, storageKey = tomes, storageValue = 6 }, + { itemName = "Dragon Statue Kit", clientId = 10216, buy = 2500, storageKey = tomes, storageValue = 11 }, + { itemName = "Dragon Throne Kit", clientId = 10288, buy = 5000, storageKey = tomes, storageValue = 12 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/captain_dreadnought.lua b/data-otservbr-global/npc/captain_dreadnought.lua index 35dd168291b..10482a25b38 100644 --- a/data-otservbr-global/npc/captain_dreadnought.lua +++ b/data-otservbr-global/npc/captain_dreadnought.lua @@ -188,7 +188,7 @@ local towns = { } } -local defaultTown = TOWNS_LIST.VENORE +local defaultTown = TOWNS_LIST.THAIS local townNames = { all = "", free = "", premium = "" } -- Function to build town names strings and adds additional data to sailable/premium towns about @@ -322,7 +322,7 @@ keywordHandler:addKeyword({ "ship" }, StdModule.say, { npcHandler = npcHandler, text = "She's pretty, isn't she? Will ship you safely to any port. Though a young landlubber such as you should \z - consider to travel to Venore first. The travel is for free. Just once though! You have to ask for a {passage}." + consider to travel to Thais first. The travel is for free. Just once though! You have to ask for a {passage}." }) keywordHandler:addKeyword({ "mainland" }, StdModule.say, { diff --git a/data-otservbr-global/npc/captain_fearless.lua b/data-otservbr-global/npc/captain_fearless.lua index f467cbe2462..c64be9c1c70 100644 --- a/data-otservbr-global/npc/captain_fearless.lua +++ b/data-otservbr-global/npc/captain_fearless.lua @@ -78,7 +78,6 @@ addTravelKeyword('svargrond', 150, Position(32341, 31108, 6)) addTravelKeyword('liberty bay', 180, Position(32285, 32892, 6)) addTravelKeyword('yalahar', 185, Position(32816, 31272, 6), function(player) return player:getStorageValue(Storage.SearoutesAroundYalahar.Venore) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 end) addTravelKeyword('ankrahmun', 150, Position(33092, 32883, 6)) -addTravelKeyword('travora', 1000, Position(32055, 32368, 6)) addTravelKeyword('issavi', 130, Position(33900, 31463, 6)) -- Darashia diff --git a/data-otservbr-global/npc/captain_gulliver.lua b/data-otservbr-global/npc/captain_gulliver.lua index b315d7dbca8..b4d2d50322e 100644 --- a/data-otservbr-global/npc/captain_gulliver.lua +++ b/data-otservbr-global/npc/captain_gulliver.lua @@ -65,7 +65,6 @@ end addTravelKeyword('thais', 150, Position(32311, 32210, 6)) addTravelKeyword('krailos', 180, Position(33493, 31712, 6)) -addTravelKeyword('travora', 1000, Position(32055, 32368, 6)) addTravelKeyword('issavi', 130, Position(33902, 31462, 6)) -- Kick diff --git a/data-otservbr-global/npc/captain_jack_rat.lua b/data-otservbr-global/npc/captain_jack_rat.lua index 441c30c5a13..e94a6e75168 100644 --- a/data-otservbr-global/npc/captain_jack_rat.lua +++ b/data-otservbr-global/npc/captain_jack_rat.lua @@ -70,7 +70,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "sail") and player:getStorageValue(Storage.Quest.U12_60.APiratesTail.TentuglyKilled) == 1 then - npcHandler:say("There are two different routes. The dangerous one will be available once a day and it is likely that a seemonster will attack the ship once again. ...", npc, creature) + npcHandler:say("There are two different routes. The dangerous one will be available once a day and it is likely that a seemonster will attack the ship once again. And a {safe} route that we can take directly there.", npc, creature) npcHandler:setTopic(playerId, 1) elseif MsgContains(message, "safe") and npcHandler:getTopic(playerId) == 1 then npcHandler:say("Do you want to take the safe route?", npc, creature) diff --git a/data-otservbr-global/npc/chondur.lua b/data-otservbr-global/npc/chondur.lua index 81d02af263c..ecc8a9d2d23 100644 --- a/data-otservbr-global/npc/chondur.lua +++ b/data-otservbr-global/npc/chondur.lua @@ -134,18 +134,18 @@ end notReadyKeyword( 'outfit', { - "Hum? Sorry, but I don't sense enough spiritual wisdom in you to even allow \ + "Hum? Sorry, but I don't sense enough spiritual wisdom in you to even allow \z you to touch the mask and staff I'm wearing... yet. ...", - 'I know of a really wise ape healer, though, who might be able to bless you with shamanic energy. \ + 'I know of a really wise ape healer, though, who might be able to bless you with shamanic energy. \z You should become his apprentice first if you desire to become mine.' } ) notReadyKeyword( 'addon', { - "Hum? Sorry, but I don't sense enough spiritual wisdom in you to even allow \ + "Hum? Sorry, but I don't sense enough spiritual wisdom in you to even allow \z you to touch the mask and staff I'm wearing... yet. ...", - 'I know of a really wise ape healer, though, who might be able to bless you with shamanic energy. \ + 'I know of a really wise ape healer, though, who might be able to bless you with shamanic energy. \z You should become his apprentice first if you desire to become mine.' } ) @@ -196,14 +196,14 @@ end -- Staff addTaskKeyword( { - "If you fulfil a task for me, I'll grant you a staff like the one I'm wearing. \ + "If you fulfil a task for me, I'll grant you a staff like the one I'm wearing. \z Do you want to hear the requirements?", { - 'Deep in the Tiquandian jungle a monster lurks which is seldom seen. \ + 'Deep in the Tiquandian jungle a monster lurks which is seldom seen. \z It is the revenge of the jungle against humankind. ...', - 'This monster, if slain, carries a rare root called Mandrake. If you find it, bring it to me. \ + 'This monster, if slain, carries a rare root called Mandrake. If you find it, bring it to me. \z Also, gather 5 of the voodoo dolls used by the mysterious dworc voodoomasters. ...', - 'If you manage to fulfil this task, I will grant you your own staff. \ + 'If you manage to fulfil this task, I will grant you your own staff. \z Have you understood everything and are ready for this test?' }, "Good! Come back once you've found a mandrake and collected 5 dworcish voodoo dolls." @@ -215,15 +215,15 @@ addTaskKeyword( -- Mask addTaskKeyword( { - "You have successfully passed the first task. \ - If you can fulfil my second task, I'll grant you a mask like the one I'm wearing. \ + "You have successfully passed the first task. \z + If you can fulfil my second task, I'll grant you a mask like the one I'm wearing. \z Do you want to hear the requirements?", { - "The dworcs of Tiquanda like to wear certain tribal masks which I'd like to take a look at. \ + "The dworcs of Tiquanda like to wear certain tribal masks which I'd like to take a look at. \z Please bring me 5 of these masks. ...", - "Secondly, the high ape magicians of Banuta use banana staffs. \ + "Secondly, the high ape magicians of Banuta use banana staffs. \z I'd love to learn more about theses staffs, so please bring me 5 of them, too. ...", - "If you manage to fulfil this task, I'll grant you your own mask. \ + "If you manage to fulfil this task, I'll grant you your own mask. \z Have you understood everything and are you ready for this test?" }, 'Good! Come back once you have collected 5 tribal masks and 5 banana staffs.' diff --git a/data-otservbr-global/npc/duncan.lua b/data-otservbr-global/npc/duncan.lua index 2b3f1496c09..3dbb9586bc9 100644 --- a/data-otservbr-global/npc/duncan.lua +++ b/data-otservbr-global/npc/duncan.lua @@ -62,16 +62,16 @@ local function creatureSayCallback(npc, creature, type, message) if table.contains({ 'outfit', 'addon' }, message) and player:getStorageValue(Storage.OutfitQuest.PirateBaseOutfit) == 1 then npcHandler:say( - "You're talking about my sabre? Well, even though you earned our trust, \ + "You're talking about my sabre? Well, even though you earned our trust, \z you'd have to fulfill a task first before you are granted to wear such a sabre.", - creature) + npc, creature) elseif MsgContains(message, 'mission') then if player:getStorageValue(Storage.TheShatteredIsles.ReputationInSabrehaven) == 6 then npcHandler:say( - 'I need a new quality atlas for our captains. Only one of the best will do it. \ - I heard the explorers society sells the best, but only to members of a certain rank. \ + 'I need a new quality atlas for our captains. Only one of the best will do it. \z + I heard the explorers society sells the best, but only to members of a certain rank. \z You will have to get this rank or ask a high ranking member to buy it for you.', - creature) + npc, creature) player:setStorageValue(Storage.TheShatteredIsles.ReputationInSabrehaven, 7) npcHandler:setTopic(playerId, 0) elseif player:getStorageValue(Storage.TheShatteredIsles.ReputationInSabrehaven) == 7 then @@ -82,10 +82,9 @@ local function creatureSayCallback(npc, creature, type, message) player:getStorageValue(Storage.TheShatteredIsles.TortoiseEggNargorDoor) < 0 then npcHandler:say( - 'You did some impressive things. I think people here start considering you as one of us. \ - But these are dire times and everyone of us is expected to give his best and even exceed himself. \ - Do you think you can handle that?', - creature) + 'You did some impressive things. I think people here start considering you as one of us. \z + But these are dire times and everyone of us is expected to give his best and even exceed himself. \z + Do you think you can handle that?', npc, creature) npcHandler:setTopic(playerId, 7) elseif player:getStorageValue(Storage.TheShatteredIsles.TortoiseEggNargorDoor) == 1 then npcHandler:say('Did you rescue one of those poor soon-to-be baby tortoises from Nargor?', npc, creature) @@ -95,7 +94,7 @@ local function creatureSayCallback(npc, creature, type, message) if player:getStorageValue(storage) < 1 then npcHandler:say( "Are you up to the task which I'm going to give you and willing to prove you're worthy of wearing such a sabre?", - creature) + npc, creature) npcHandler:setTopic(playerId, 1) end elseif MsgContains(message, 'eye patches') then @@ -115,14 +114,12 @@ local function creatureSayCallback(npc, creature, type, message) end elseif MsgContains(message, 'yes') then if npcHandler:getTopic(playerId) == 1 then - npcHandler:say( - { - 'Listen, the task is not that hard. Simply prove that you are with us and not with the \ + npcHandler:say({ + 'Listen, the task is not that hard. Simply prove that you are with us and not with the \z pirates from Nargor by bringingme some of their belongings. ...', - 'Bring me 100 of their eye patches, 100 of their peg legs and 100 of their hooks, in that order. ...', - 'Have you understood everything I told you and are willing to handle this task?' - }, - creature) + 'Bring me 100 of their eye patches, 100 of their peg legs and 100 of their hooks, in that order. ...', + 'Have you understood everything I told you and are willing to handle this task?' + }, npc, creature) npcHandler:setTopic(playerId, 2) elseif npcHandler:getTopic(playerId) == 2 then player:setStorageValue(storage, 1) @@ -178,8 +175,7 @@ local function creatureSayCallback(npc, creature, type, message) This is the opportunity to save a tortoise from a gruesome fate! ...', 'I will ask Sebastian to bring you there. \ Travel to Nargor, find their tortoise eggs and bring me at least one of them.' - }, - creature) + }, npc, creature) player:setStorageValue(Storage.TheShatteredIsles.TortoiseEggNargorDoor, 1) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/npc/eremo.lua b/data-otservbr-global/npc/eremo.lua index fce10cada17..d658361867f 100644 --- a/data-otservbr-global/npc/eremo.lua +++ b/data-otservbr-global/npc/eremo.lua @@ -63,9 +63,9 @@ local function creatureSayCallback(npc, creature, type, message) if player:getItemCount(3506) > 0 then if player:removeItem(3506, 1) then npcHandler:say( - 'A letter from that youngster Morgan? I believed him dead since years. \ + 'A letter from that youngster Morgan? I believed him dead since years. \z These news are good news indeed. Thank you very much, my friend.', - creature) + npc, creature) player:setStorageValue(Storage.TheShatteredIsles.ReputationInSabrehaven, 5) end end diff --git a/data-otservbr-global/npc/fiona.lua b/data-otservbr-global/npc/fiona.lua index 48ce4be9ae5..ff8f7f81b39 100644 --- a/data-otservbr-global/npc/fiona.lua +++ b/data-otservbr-global/npc/fiona.lua @@ -89,7 +89,7 @@ npcConfig.shop = { { itemName = "demon horn", clientId = 5954, sell = 1000 }, { itemName = "demonic skeletal hand", clientId = 9647, sell = 80 }, { itemName = "dragon priests wandtip", clientId = 10444, sell = 175 }, - { itemName = "dragons tail", clientId = 11457, sell = 100 }, + { itemName = "dragon's tail", clientId = 11457, sell = 100 }, { itemName = "draken sulphur", clientId = 11658, sell = 550 }, { itemName = "elder bonelord tentacle", clientId = 10276, sell = 150 }, { itemName = "elven astral observer", clientId = 11465, sell = 90 }, diff --git a/data-otservbr-global/npc/haroun.lua b/data-otservbr-global/npc/haroun.lua index 63387c698cb..33dcc08e9c5 100644 --- a/data-otservbr-global/npc/haroun.lua +++ b/data-otservbr-global/npc/haroun.lua @@ -126,7 +126,6 @@ npcConfig.shop = { { itemName = "stone skin amulet", clientId = 3081, buy = 5000, sell = 500, count = 5 }, { itemName = "sword ring", clientId = 3091, buy = 500, sell = 100 }, { itemName = "wand of cosmic energy", clientId = 3073, sell = 2000 }, - { itemName = "wand of cosmic energy", clientId = 3073, sell = 2000 }, { itemName = "wand of decay", clientId = 3072, sell = 1000 }, { itemName = "wand of defiance", clientId = 16096, sell = 6500 }, { itemName = "wand of draconia", clientId = 8093, sell = 1500 }, diff --git a/data-otservbr-global/npc/inigo.lua b/data-otservbr-global/npc/inigo.lua index 12782b57fbf..ca1e64d4f90 100644 --- a/data-otservbr-global/npc/inigo.lua +++ b/data-otservbr-global/npc/inigo.lua @@ -607,7 +607,7 @@ local function creatureSayCallback(npc, creature, type, message) end end elseif MsgContains(message, "rookgaard") and player:getLevel() <= 9 then - if Player.getAccountStorage(player, accountId, Storage.Dawnport.Mainland, true) == 1 then + if Player.getAccountStorage(player, Storage.Dawnport.Mainland, true) == 1 then npcHandler:say("Hmmm. Long time I visited that isle. Not very exciting place. \z Why do you ask? Do you wish to go there?", npc, creature) npcHandler:setTopic(playerId, 1) diff --git a/data-otservbr-global/npc/morgan.lua b/data-otservbr-global/npc/morgan.lua index 0a3a30c6ddb..c2766317c32 100644 --- a/data-otservbr-global/npc/morgan.lua +++ b/data-otservbr-global/npc/morgan.lua @@ -67,21 +67,19 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say( 'Ahh. So Duncan sent you, eh? You must have done something really impressive. \ Okay, take this fine sabre from me, mate.', - creature) + npc, creature) end elseif MsgContains(message, 'mission') then if player:getStorageValue(Storage.TheShatteredIsles.ReputationInSabrehaven) == 3 then - npcHandler:say( - { - 'Hm, if you are that eager to work I have an idea how you could help me out. \ + npcHandler:say({ + 'Hm, if you are that eager to work I have an idea how you could help me out. \z A distant relative of mine, the old sage Eremo lives on the isle Cormaya, near Edron. ...', - "He has not heard from me since ages. He might assume that I am dead. \ - Since I don't want him to get into trouble for receiving a letter from a \ + "He has not heard from me since ages. He might assume that I am dead. \z + Since I don't want him to get into trouble for receiving a letter from a \z pirate I ask you to deliver it personally. ...", - "Of course it's a long journey but you asked for it. \ - You will have to prove us your worth. Are you up to that?" - }, - creature) + "Of course it's a long journey but you asked for it. \z + You will have to prove us your worth. Are you up to that?", + }, npc, creature) npcHandler:setTopic(playerId, 2) elseif player:getStorageValue(Storage.TheShatteredIsles.ReputationInSabrehaven) == 5 then npcHandler:say('Thank you for delivering my letter to Eremo. I have no more missions for you.', npc, creature) diff --git a/data-otservbr-global/npc/petros.lua b/data-otservbr-global/npc/petros.lua index bc425426b2f..6945d14d481 100644 --- a/data-otservbr-global/npc/petros.lua +++ b/data-otservbr-global/npc/petros.lua @@ -68,7 +68,6 @@ addTravelKeyword('ankrahmun', 150, Position(33092, 32883, 6)) addTravelKeyword('yalahar', 210, Position(32816, 31272, 6), function(player) return player:getStorageValue(Storage.SearoutesAroundYalahar.Darashia) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 end) addTravelKeyword('gray island', 160, Position(33196, 31984, 7)) addTravelKeyword('krailos', 200, Position(33493, 31712, 6)) -addTravelKeyword('travora', 1000, Position(32055, 32368, 6)) addTravelKeyword('issavi', 130, Position(33902, 31462, 6)) -- Kick diff --git a/data-otservbr-global/npc/sandra.lua b/data-otservbr-global/npc/sandra.lua index 3e8c98956d4..bd61324e889 100644 --- a/data-otservbr-global/npc/sandra.lua +++ b/data-otservbr-global/npc/sandra.lua @@ -80,7 +80,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "prize") then npcHandler:say("Are you here to claim a prize?", npc, creature) npcHandler:setTopic(playerId, 4) - elseif MsgContains(message, "fafnar fire") then + elseif string.match(message:lower(), "fafnar") then if player:getStorageValue(Storage.TheShatteredIsles.RaysMission1) == 1 then npcHandler:say("Pssht, not that loud. So they have sent you to get... the stuff?", npc, creature) npcHandler:setTopic(playerId, 5) diff --git a/data-otservbr-global/npc/talila.lua b/data-otservbr-global/npc/talila.lua index f9a6fcbe9a5..be4bf4a32d7 100644 --- a/data-otservbr-global/npc/talila.lua +++ b/data-otservbr-global/npc/talila.lua @@ -153,7 +153,7 @@ npcConfig.shop = { { itemName = "red crystal fragment", clientId = 16126, sell = 800 }, { itemName = "red rose", clientId = 3658, sell = 10 }, { itemName = "ruby necklace", clientId = 3016, buy = 3560 }, - { itemName = "shimmering beatles", clientId = 25693, sell = 150 }, + { itemName = "shimmering beetles", clientId = 25693, sell = 150 }, { itemName = "silver goblet", clientId = 5806, buy = 3000 }, { itemName = "skull coin", clientId = 32583, sell = 12000 }, { itemName = "sling herb", clientId = 3738, sell = 10 }, diff --git a/data-otservbr-global/npc/telas.lua b/data-otservbr-global/npc/telas.lua index 6f16ad03a85..577ae7ebe4d 100644 --- a/data-otservbr-global/npc/telas.lua +++ b/data-otservbr-global/npc/telas.lua @@ -121,107 +121,33 @@ npcHandler:setMessage(MESSAGE_GREET, "Hello!") npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -npcConfig.shop = { { - itemName = "ancient stone", - clientId = 9632, - sell = 200 -}, { - itemName = "battle stone", - clientId = 11447, - sell = 290 -}, { - itemName = "broken gladiator shield", - clientId = 9656, - sell = 190 -}, { - itemName = "coal", - clientId = 12600, - sell = 20 -}, { - itemName = "crystal of balance", - clientId = 9028, - sell = 1000 -}, { - itemName = "crystal of focus", - clientId = 9027, - sell = 2000 -}, { - itemName = "crystal of power", - clientId = 9067, - sell = 3000 -}, { - itemName = "crystal pedestal", - clientId = 9063, - sell = 500 -}, { - itemName = "crystalline spikes", - clientId = 16138, - sell = 440 -}, { - itemName = "flintstone", - clientId = 12806, - sell = 800 -}, { - itemName = "gear crystal", - clientId = 9655, - sell = 200 -}, { - itemName = "gear wheel", - clientId = 8775, - sell = 500 -}, { - itemName = "huge chunk of crude iron", - clientId = 5892, - sell = 15000 -}, { - itemName = "magma clump", - clientId = 16130, - sell = 570 -}, { - itemName = "metal spike", - clientId = 10298, - sell = 320 -}, { - itemName = "piece of draconian steel", - clientId = 5889, - sell = 3000 -}, { - itemName = "piece of hell steel", - clientId = 5888, - sell = 500 -}, { - itemName = "piece of hellfire armor", - clientId = 9664, - sell = 550 -}, { - itemName = "piece of royal steel", - clientId = 5887, - sell = 10000 -}, { - itemName = "pulverized ore", - clientId = 16133, - sell = 400 -}, { - itemName = "shiny stone", - clientId = 10310, - sell = 500 -}, { - itemName = "stone nose", - clientId = 16137, - sell = 590 -}, { - itemName = "sulphurous stone", - clientId = 10315, - sell = 100 -}, { - itemName = "vein of ore", - clientId = 16135, - sell = 330 -}, { - itemName = "war crystal", - clientId = 9654, - sell = 460 -} } +npcConfig.shop = { + { itemName = "ancient stone", clientId = 9632, sell = 200 }, + { itemName = "battle stone", clientId = 11447, sell = 290 }, + { itemName = "broken gladiator shield", clientId = 9656, sell = 190 }, + { itemName = "coal", clientId = 12600, sell = 20 }, + { itemName = "crystal of balance", clientId = 9028, sell = 1000 }, + { itemName = "crystal of focus", clientId = 9027, sell = 2000 }, + { itemName = "crystal of power", clientId = 9067, sell = 3000 }, + { itemName = "crystal pedestal", clientId = 9063, sell = 500 }, + { itemName = "crystalline spikes", clientId = 16138, sell = 440 }, + { itemName = "flintstone", clientId = 12806, sell = 800 }, + { itemName = "gear crystal", clientId = 9655, sell = 200 }, + { itemName = "gear wheel", clientId = 8775, sell = 500 }, + { itemName = "huge chunk of crude iron", clientId = 5892, sell = 15000 }, + { itemName = "magma clump", clientId = 16130, sell = 570 }, + { itemName = "metal spike", clientId = 10298, sell = 320 }, + { itemName = "piece of draconian steel", clientId = 5889, sell = 3000 }, + { itemName = "piece of hell steel", clientId = 5888, sell = 500 }, + { itemName = "piece of hellfire armor", clientId = 9664, sell = 550 }, + { itemName = "piece of royal steel", clientId = 5887, sell = 10000 }, + { itemName = "pulverized ore", clientId = 16133, sell = 400 }, + { itemName = "shiny stone", clientId = 10310, sell = 500 }, + { itemName = "stone nose", clientId = 16137, sell = 590 }, + { itemName = "sulphurous stone", clientId = 10315, sell = 100 }, + { itemName = "vein of ore", clientId = 16135, sell = 330 }, + { itemName = "war crystal", clientId = 9654, sell = 460 } +} -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) npc:sellItem(player, itemId, amount, subType, 0, ignore, inBackpacks) diff --git a/data-otservbr-global/npc/the_bone_master.lua b/data-otservbr-global/npc/the_bone_master.lua index d044b719f0e..d61ae8b983c 100644 --- a/data-otservbr-global/npc/the_bone_master.lua +++ b/data-otservbr-global/npc/the_bone_master.lua @@ -95,10 +95,12 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.OutfitQuest.BrotherhoodOutfit, 1) player:addAchievement('Bone Brother') npcHandler:setTopic(playerId, 0) + player:addItem(768, 1) elseif npcHandler:getTopic(playerId) == 3 then if player:removeItem(6499, 500) then player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) player:setStorageValue(Storage.OutfitQuest.BrotherhoodOutfit, 2) + player:addItem(769, 1) npcHandler:say("You advanced to {Hyaena} rank! You are now able to use teleports of second floor of Knightwatch Tower.", npc, creature) else npcHandler:say("Come back when you gather all essences.", npc, creature) @@ -108,6 +110,7 @@ local function creatureSayCallback(npc, creature, type, message) if player:removeItem(6499, 1000) then player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) player:setStorageValue(Storage.OutfitQuest.BrotherhoodOutfit, 3) + player:addItem(770, 1) player:addItem(6432, 1) player:addAchievement('Skull and Bones') npcHandler:say("You advanced to {Death Dealer} rank!", npc, creature) diff --git a/data-otservbr-global/npc/the_dream_master.lua b/data-otservbr-global/npc/the_dream_master.lua index 8f907ec471b..fb463f17971 100644 --- a/data-otservbr-global/npc/the_dream_master.lua +++ b/data-otservbr-global/npc/the_dream_master.lua @@ -88,6 +88,7 @@ local function creatureSayCallback(npc, creature, type, message) "So I welcome you as the latest member of the order of the Nightmare Knights. You entered this place as a stranger, butyou will leave this place as a friend ...", "You can always ask me about your current rank and about the privileges the ranks grant to those who hold them." }, npc, creature) + player:addItem(768, 1) player:setStorageValue(Storage.OutfitQuest.NightmareOutfit, 1) player:addAchievement('Nightmare Knight') npcHandler:setTopic(playerId, 0) diff --git a/data-otservbr-global/npc/the_lootmonger.lua b/data-otservbr-global/npc/the_lootmonger.lua index e0e02f3ef69..d21ddb4de53 100644 --- a/data-otservbr-global/npc/the_lootmonger.lua +++ b/data-otservbr-global/npc/the_lootmonger.lua @@ -53,8 +53,13 @@ end npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) npcConfig.shop = { + { itemName = "abomination's eye", clientId = 36792, sell = 650000 }, + { itemName = "abomination's tail", clientId = 36791, sell = 700000 }, + { itemName = "abomination's tongue", clientId = 36793, sell = 950000 }, { itemName = "abyss hammer", clientId = 7414, sell = 20000 }, { itemName = "acorn", clientId = 10296, sell = 10 }, + { itemName = "afflicted strider head", clientId = 36789, sell = 900 }, + { itemName = "afflicted strider worms", clientId = 36790, sell = 500 }, { itemName = "albino plate", clientId = 19358, sell = 1500 }, { itemName = "alloy legs", clientId = 21168, sell = 11000 }, { itemName = "alptramun's toothbrush", clientId = 29943, sell = 270000 }, @@ -62,6 +67,7 @@ npcConfig.shop = { { itemName = "amber with a bug", clientId = 32624, sell = 41000 }, { itemName = "amber with a dragonfly", clientId = 32625, sell = 56000 }, { itemName = "amber", clientId = 32626, sell = 20000 }, + { itemName = "amulet of loss", clientId = 3057, sell = 45000 }, { itemName = "ancient amulet", clientId = 3025, sell = 200 }, { itemName = "ancient belt buckle", clientId = 24384, sell = 260 }, { itemName = "ancient coin", clientId = 24390, sell = 350 }, @@ -88,6 +94,9 @@ npcConfig.shop = { { itemName = "bar of gold", clientId = 14112, sell = 10000 }, { itemName = "basalt fetish", clientId = 17856, sell = 210 }, { itemName = "basalt figurine", clientId = 17857, sell = 160 }, + { itemName = "bashmu fang", clientId = 36820, sell = 600 }, + { itemName = "bashmu feather", clientId = 36823, sell = 350 }, + { itemName = "bashmu tongue", clientId = 36821, sell = 400 }, { itemName = "bat decoration", clientId = 6491, sell = 2000 }, { itemName = "bat wing", clientId = 5894, sell = 50 }, { itemName = "battle axe", clientId = 3266, sell = 80 }, @@ -116,6 +125,9 @@ npcConfig.shop = { { itemName = "blacksteel sword", clientId = 7406, sell = 6000 }, { itemName = "blade of corruption", clientId = 11693, sell = 60000 }, { itemName = "blazing bone", clientId = 16131, sell = 610 }, + { itemName = "blemished spawn abdomen", clientId = 36779, sell = 550 }, + { itemName = "blemished spawn head", clientId = 36778, sell = 800 }, + { itemName = "blemished spawn tail", clientId = 36780, sell = 1000 }, { itemName = "blessed sceptre", clientId = 7429, sell = 40000 }, { itemName = "blood goblet", clientId = 8531, sell = 10000 }, { itemName = "blood herb", clientId = 3734, sell = 500 }, @@ -159,6 +171,9 @@ npcConfig.shop = { { itemName = "brain head's giant neuron", clientId = 32578, sell = 100000 }, { itemName = "brain head's left hemisphere", clientId = 32579, sell = 90000 }, { itemName = "brain head's right hemisphere", clientId = 32580, sell = 50000 }, + { itemName = "brainstealer's brain", clientId = 36795, sell = 300000 }, + { itemName = "brainstealer's brainwave", clientId = 36796, sell = 440000 }, + { itemName = "brainstealer's tissue", clientId = 36794, sell = 240000 }, { itemName = "brass armor", clientId = 3359, sell = 150 }, { itemName = "brass helmet", clientId = 3354, sell = 30 }, { itemName = "brass legs", clientId = 3372, sell = 49 }, @@ -174,9 +189,13 @@ npcConfig.shop = { { itemName = "broken gladiator shield", clientId = 9656, sell = 190 }, { itemName = "broken halberd", clientId = 10418, sell = 100 }, { itemName = "broken helmet", clientId = 11453, sell = 20 }, + { itemName = "broken iks cuirass", clientId = 40533, sell = 640 }, { itemName = "broken iks faulds", clientId = 40531, sell = 530 }, + { itemName = "broken iks headpiece", clientId = 40532, sell = 560 }, + { itemName = "broken iks sandals", clientId = 40534, sell = 440 }, { itemName = "broken key ring", clientId = 11652, sell = 8000 }, { itemName = "broken longbow", clientId = 34161, sell = 130 }, + { itemName = "broken macuahuitl", clientId = 40530, sell = 1000 }, { itemName = "broken ring of ending", clientId = 12737, sell = 4000 }, { itemName = "broken shamanic staff", clientId = 11452, sell = 35 }, { itemName = "broken slicer", clientId = 11661, sell = 120 }, @@ -201,10 +220,14 @@ npcConfig.shop = { { itemName = "carapace shield", clientId = 14088, sell = 32000 }, { itemName = "carlin sword", clientId = 3283, sell = 118 }, { itemName = "carniphila seeds", clientId = 10300, sell = 50 }, + { itemName = "carnisylvan bark", clientId = 36806, sell = 230 }, + { itemName = "carnisylvan finger", clientId = 36805, sell = 250 }, { itemName = "carnivostrich feathers", clientId = 40586, sell = 550 }, { itemName = "carrion worm fang", clientId = 10275, sell = 35 }, { itemName = "castle shield", clientId = 3435, sell = 5000 }, { itemName = "cat's paw", clientId = 5479, sell = 2000 }, + { itemName = "cave chimera head", clientId = 36787, sell = 1200 }, + { itemName = "cave chimera leg", clientId = 36788, sell = 650 }, { itemName = "cave devourer eyes", clientId = 27599, sell = 550 }, { itemName = "cave devourer legs", clientId = 27601, sell = 350 }, { itemName = "cave devourer maw", clientId = 27600, sell = 600 }, @@ -224,6 +247,7 @@ npcConfig.shop = { { itemName = "cheesy membership card", clientId = 35614, sell = 120000 }, { itemName = "chicken feather", clientId = 5890, sell = 30 }, { itemName = "chitinous mouth", clientId = 27626, sell = 10000 }, + { itemName = "chitinous mouth", clientId = 27622, sell = 10000 }, { itemName = "claw of 'the noxious spawn'", clientId = 9392, sell = 15000 }, { itemName = "cliff strider claw", clientId = 16134, sell = 800 }, { itemName = "closed trap", clientId = 3481, sell = 75 }, @@ -241,6 +265,7 @@ npcConfig.shop = { { itemName = "collar of red plasma", clientId = 23544, sell = 6000 }, { itemName = "colourful feather", clientId = 11514, sell = 110 }, { itemName = "colourful feathers", clientId = 25089, sell = 400 }, + { itemName = "colourful snail shell", clientId = 25696, sell = 250 }, { itemName = "compass", clientId = 10302, sell = 45 }, { itemName = "composite hornbow", clientId = 8027, sell = 25000 }, { itemName = "compound eye", clientId = 14083, sell = 150 }, @@ -293,6 +318,7 @@ npcConfig.shop = { { itemName = "cultish robe", clientId = 9639, sell = 150 }, { itemName = "cultish symbol", clientId = 11455, sell = 500 }, { itemName = "curious matter", clientId = 23511, sell = 430 }, + { itemName = "curl of hair", clientId = 36809, sell = 320000 }, { itemName = "cursed bone", clientId = 32774, sell = 6000 }, { itemName = "cursed shoulder spikes", clientId = 10410, sell = 320 }, { itemName = "cyan crystal fragment", clientId = 16125, sell = 800 }, @@ -310,6 +336,7 @@ npcConfig.shop = { { itemName = "daramian waraxe", clientId = 3328, sell = 1000 }, { itemName = "dark armor", clientId = 3383, sell = 400 }, { itemName = "dark bell", clientId = 32596, sell = 310000 }, + { itemName = "dark bell", clientId = 30325, sell = 250 }, { itemName = "dark helmet", clientId = 3384, sell = 250 }, { itemName = "dark mushroom", clientId = 3728, sell = 100 }, { itemName = "dark rosary", clientId = 10303, sell = 48 }, @@ -418,12 +445,14 @@ npcConfig.shop = { { itemName = "enchanted chicken wing", clientId = 5891, sell = 20000 }, { itemName = "energy ball", clientId = 23523, sell = 300 }, { itemName = "energy ring", clientId = 3051, sell = 100 }, + { itemName = "energy soil", clientId = 945, sell = 2000 }, { itemName = "energy vein", clientId = 23508, sell = 270 }, { itemName = "enigmatic voodoo skull", clientId = 5669, sell = 4000 }, { itemName = "ensouled essence", clientId = 32698, sell = 820 }, { itemName = "epee", clientId = 3326, sell = 8000 }, { itemName = "essence of a bad dream", clientId = 10306, sell = 360 }, { itemName = "ethno coat", clientId = 8064, sell = 200 }, + { itemName = "eternal flames", clientId = 946, sell = 5000 }, { itemName = "execowtioner axe", clientId = 21176, sell = 12000 }, { itemName = "execowtioner mask", clientId = 21201, sell = 240 }, { itemName = "executioner", clientId = 7453, sell = 55000 }, @@ -431,6 +460,9 @@ npcConfig.shop = { { itemName = "eye of a deepling", clientId = 12730, sell = 150 }, { itemName = "eye of a weeper", clientId = 16132, sell = 650 }, { itemName = "eye of corruption", clientId = 11671, sell = 390 }, + { itemName = "eyeless devourer legs", clientId = 36776, sell = 650 }, + { itemName = "eyeless devourer maw", clientId = 36775, sell = 420 }, + { itemName = "eyeless devourer tongue", clientId = 36777, sell = 900 }, { itemName = "fafnar symbol", clientId = 31443, sell = 950 }, { itemName = "fairy wings", clientId = 25694, sell = 200 }, { itemName = "falcon crest", clientId = 28823, sell = 650 }, @@ -453,6 +485,7 @@ npcConfig.shop = { { itemName = "fishing rod", clientId = 3483, sell = 40 }, { itemName = "flask of embalming fluid", clientId = 11466, sell = 30 }, { itemName = "flask of warrior's sweat", clientId = 5885, sell = 10000 }, + { itemName = "flawless ice crystal", clientId = 942, sell = 5000 }, { itemName = "flintstone", clientId = 12806, sell = 800 }, { itemName = "flotsam", clientId = 39407, sell = 330 }, { itemName = "flower dress", clientId = 9015, sell = 1000 }, @@ -493,6 +526,7 @@ npcConfig.shop = { { itemName = "giant tentacle", clientId = 27619, sell = 10000 }, { itemName = "giant topaz", clientId = 32623, sell = 80000 }, { itemName = "girlish hair decoration", clientId = 11443, sell = 30 }, + { itemName = "girtablilu warrior carapace", clientId = 36971, sell = 520 }, { itemName = "glacial rod", clientId = 16118, sell = 6500 }, { itemName = "glacier amulet", clientId = 815, sell = 1500 }, { itemName = "glacier kilt", clientId = 823, sell = 11000 }, @@ -578,14 +612,15 @@ npcConfig.shop = { { itemName = "hand", clientId = 33936, sell = 1450 }, { itemName = "hardened bone", clientId = 5925, sell = 70 }, { itemName = "harpoon of a giant snail", clientId = 27625, sell = 15000 }, - { itemName = "harpy feather", clientId = 40585, sell = 730 }, + { itemName = "harpy feathers", clientId = 40585, sell = 730 }, { itemName = "hatched rorc egg", clientId = 18997, sell = 30 }, { itemName = "hatchet", clientId = 3276, sell = 25 }, { itemName = "haunted blade", clientId = 7407, sell = 8000 }, { itemName = "haunted piece of wood", clientId = 9683, sell = 115 }, { itemName = "hazardous heart", clientId = 34140, sell = 5000 }, { itemName = "hazardous robe", clientId = 34147, sell = 3000 }, - { itemName = "head", clientId = 33937, sell = 3500 }, + { itemName = "head", clientId = 33937, sell = 3200 }, + { itemName = "head", clientId = 33932, sell = 3500 }, { itemName = "headchopper", clientId = 7380, sell = 6000 }, { itemName = "headpecker beak", clientId = 39387, sell = 2800 }, { itemName = "headpecker feather", clientId = 39388, sell = 1300 }, @@ -626,6 +661,7 @@ npcConfig.shop = { { itemName = "hydrophytes", clientId = 39410, sell = 220 }, { itemName = "ice flower", clientId = 30058, sell = 370 }, { itemName = "ice rapier", clientId = 3284, sell = 1000 }, + { itemName = "iced soil", clientId = 944, sell = 2000 }, { itemName = "incantation notes", clientId = 18929, sell = 90 }, { itemName = "infernal heart", clientId = 34139, sell = 2100 }, { itemName = "infernal robe", clientId = 34146, sell = 1200 }, @@ -659,6 +695,11 @@ npcConfig.shop = { { itemName = "lamassu horn", clientId = 31442, sell = 240 }, { itemName = "lancer beetle shell", clientId = 10455, sell = 80 }, { itemName = "lancet", clientId = 18925, sell = 90 }, + { itemName = "lava fungus head", clientId = 36785, sell = 900 }, + { itemName = "lava fungus ring", clientId = 36786, sell = 390 }, + { itemName = "lavaworm jaws", clientId = 36771, sell = 1100 }, + { itemName = "lavaworm spike roots", clientId = 36769, sell = 600 }, + { itemName = "lavaworm spikes", clientId = 36770, sell = 750 }, { itemName = "lavos armor", clientId = 8049, sell = 16000 }, { itemName = "leaf legs", clientId = 9014, sell = 500 }, { itemName = "leaf star", clientId = 25735, sell = 50 }, @@ -766,7 +807,11 @@ npcConfig.shop = { { itemName = "moonlight rod", clientId = 3070, sell = 200 }, { itemName = "moonstone", clientId = 32771, sell = 13000 }, { itemName = "morbid tapestry", clientId = 34170, sell = 30000 }, + { itemName = "morgaroth's heart", clientId = 5943, sell = 15000 }, + { itemName = "morshabaal's brain", clientId = 37613, sell = 15000 }, + { itemName = "morshabaal's extract", clientId = 37810, sell = 3250000 }, { itemName = "morning star", clientId = 3282, sell = 100 }, + { itemName = "mother soil", clientId = 947, sell = 5000 }, { itemName = "mould heart", clientId = 34141, sell = 2100 }, { itemName = "mould robe", clientId = 34148, sell = 1200 }, { itemName = "mouldy powder", clientId = 35596, sell = 200 }, @@ -782,13 +827,20 @@ npcConfig.shop = { { itemName = "mystic blade", clientId = 7384, sell = 30000 }, { itemName = "mystic turban", clientId = 3574, sell = 150 }, { itemName = "mystical hourglass", clientId = 9660, sell = 700 }, + { itemName = "naga archer scales", clientId = 39413, sell = 340 }, + { itemName = "naga armring", clientId = 39411, sell = 390 }, + { itemName = "naga earring", clientId = 39412, sell = 380 }, + { itemName = "naga warrior scales", clientId = 39414, sell = 340 }, { itemName = "naginata", clientId = 3314, sell = 2000 }, + { itemName = "natural soil", clientId = 940, sell = 2000 }, { itemName = "necklace of the deep", clientId = 13990, sell = 3000 }, { itemName = "necromantic robe", clientId = 11475, sell = 250 }, { itemName = "necromantic rust", clientId = 21196, sell = 390 }, { itemName = "necrotic rod", clientId = 3069, sell = 1000 }, { itemName = "nettle blossom", clientId = 10314, sell = 75 }, { itemName = "nettle spit", clientId = 11476, sell = 25 }, + { itemName = "neutral matter", clientId = 954, sell = 5000 }, + { itemName = "nighthunter wing", clientId = 39381, sell = 2000 }, { itemName = "nightmare blade", clientId = 7418, sell = 35000 }, { itemName = "noble amulet", clientId = 31595, sell = 430000 }, { itemName = "noble armor", clientId = 3380, sell = 900 }, @@ -803,6 +855,7 @@ npcConfig.shop = { { itemName = "ogre ear stud", clientId = 22188, sell = 180 }, { itemName = "ogre nose ring", clientId = 22189, sell = 210 }, { itemName = "old parchment", clientId = 4831, sell = 500 }, + { itemName = "old girtablilu carapace", clientId = 36972, sell = 570 }, { itemName = "one of timira's many heads", clientId = 39399, sell = 215000 }, { itemName = "onyx chip", clientId = 22193, sell = 500 }, { itemName = "onyx flail", clientId = 7421, sell = 22000 }, @@ -813,6 +866,7 @@ npcConfig.shop = { { itemName = "orc leather", clientId = 11479, sell = 30 }, { itemName = "orc tooth", clientId = 10196, sell = 150 }, { itemName = "orc trophy", clientId = 7395, sell = 1000 }, + { itemName = "orc tusk", clientId = 7786, sell = 700 }, { itemName = "orcish axe", clientId = 3316, sell = 350 }, { itemName = "orcish gear", clientId = 11477, sell = 85 }, { itemName = "orcish maul", clientId = 7392, sell = 6000 }, @@ -826,6 +880,7 @@ npcConfig.shop = { { itemName = "ornate locket", clientId = 30056, sell = 18000 }, { itemName = "ornate mace", clientId = 14001, sell = 42000 }, { itemName = "ornate shield", clientId = 14000, sell = 42000 }, + { itemName = "orshabaal's brain", clientId = 5808, sell = 12000 }, { itemName = "pair of hellflayer horns", clientId = 22729, sell = 1300 }, { itemName = "pair of iron fists", clientId = 17828, sell = 4000 }, { itemName = "pair of old bracers", clientId = 32705, sell = 500 }, @@ -901,7 +956,6 @@ npcConfig.shop = { { itemName = "purple tome", clientId = 2848, sell = 2000 }, { itemName = "quara bone", clientId = 11491, sell = 500 }, { itemName = "quara eye", clientId = 11488, sell = 350 }, - { itemName = "quara eye", clientId = 11491, sell = 350 }, { itemName = "quara pincers", clientId = 11490, sell = 410 }, { itemName = "quara tentacle", clientId = 11487, sell = 140 }, { itemName = "queen's sceptre", clientId = 7410, sell = 20000 }, @@ -924,7 +978,7 @@ npcConfig.shop = { { itemName = "red piece of cloth", clientId = 5911, sell = 300 }, { itemName = "red tome", clientId = 2852, sell = 2000 }, { itemName = "relic sword", clientId = 7383, sell = 25000 }, - { itemName = "rhindeer antler", clientId = 40587, sell = 680 }, + { itemName = "rhindeer antlers", clientId = 40587, sell = 680 }, { itemName = "rhino hide", clientId = 24388, sell = 175 }, { itemName = "rhino horn carving", clientId = 24386, sell = 300 }, { itemName = "rhino horn", clientId = 24389, sell = 265 }, @@ -974,6 +1028,7 @@ npcConfig.shop = { { itemName = "scarab pincers", clientId = 9631, sell = 280 }, { itemName = "scarab shield", clientId = 3440, sell = 2000 }, { itemName = "scimitar", clientId = 3307, sell = 150 }, + { itemName = "scorpion charm", clientId = 36822, sell = 620 }, { itemName = "scorpion tail", clientId = 9651, sell = 25 }, { itemName = "scroll of heroic deeds", clientId = 11510, sell = 230 }, { itemName = "scythe leg", clientId = 10312, sell = 450 }, @@ -992,9 +1047,9 @@ npcConfig.shop = { { itemName = "shaggy tail", clientId = 10407, sell = 25 }, { itemName = "shamanic hood", clientId = 11478, sell = 45 }, { itemName = "shamanic talisman", clientId = 22184, sell = 200 }, + { itemName = "shard", clientId = 7290, sell = 2000 }, { itemName = "shark fins", clientId = 35574, sell = 250 }, - { itemName = "shimmering beatles", clientId = 25693, sell = 150 }, - { itemName = "shimmering beetles", clientId = 25686, sell = 150 }, + { itemName = "shimmering beetles", clientId = 25693, sell = 150 }, { itemName = "shiny stone", clientId = 10310, sell = 500 }, { itemName = "shockwave amulet", clientId = 9304, sell = 3000 }, { itemName = "short sword", clientId = 3294, sell = 10 }, @@ -1016,7 +1071,6 @@ npcConfig.shop = { { itemName = "silver rune emblem heavy magic missile", clientId = 11605, sell = 5000 }, { itemName = "silver rune emblem sudden death", clientId = 11609, sell = 5000 }, { itemName = "silver rune emblem ultimate healing", clientId = 11603, sell = 5000 }, - { itemName = "single human eye", clientId = 25696, sell = 1000 }, { itemName = "single human eye", clientId = 25701, sell = 1000 }, { itemName = "skeleton decoration", clientId = 6525, sell = 3000 }, { itemName = "skull belt", clientId = 11480, sell = 80 }, @@ -1028,6 +1082,7 @@ npcConfig.shop = { { itemName = "skullcracker armor", clientId = 8061, sell = 18000 }, { itemName = "skunk tail", clientId = 10274, sell = 50 }, { itemName = "slime heart", clientId = 21194, sell = 160 }, + { itemName = "slime mould", clientId = 12601, sell = 175 }, { itemName = "slimy leaf tentacle", clientId = 21197, sell = 320 }, { itemName = "slimy leg", clientId = 27623, sell = 4500 }, { itemName = "sling herb", clientId = 3738, sell = 10 }, @@ -1060,6 +1115,7 @@ npcConfig.shop = { { itemName = "souleater trophy", clientId = 11679, sell = 7500 }, { itemName = "sparkion claw", clientId = 23502, sell = 290 }, { itemName = "sparkion legs", clientId = 23504, sell = 310 }, + { itemName = "spark sphere", clientId = 23518, sell = 350 }, { itemName = "sparkion stings", clientId = 23505, sell = 280 }, { itemName = "sparkion tail", clientId = 23503, sell = 300 }, { itemName = "spectral gold nugget", clientId = 32724, sell = 500 }, @@ -1089,6 +1145,7 @@ npcConfig.shop = { { itemName = "spooky blue eye", clientId = 9642, sell = 95 }, { itemName = "springsprout rod", clientId = 8084, sell = 3600 }, { itemName = "srezz' eye", clientId = 34103, sell = 300 }, + { itemName = "spool of yarn", clientId = 5886, sell = 1000 }, { itemName = "stalking seeds", clientId = 39384, sell = 1800 }, { itemName = "stampor horn", clientId = 12312, sell = 280 }, { itemName = "stampor talons", clientId = 12313, sell = 150 }, @@ -1112,6 +1169,9 @@ npcConfig.shop = { { itemName = "strange proto matter", clientId = 23513, sell = 300 }, { itemName = "strange symbol", clientId = 3058, sell = 200 }, { itemName = "strange talisman", clientId = 3045, sell = 30, count = 200 }, + { itemName = "streaked devourer eyes", clientId = 36772, sell = 500 }, + { itemName = "streaked devourer legs", clientId = 36774, sell = 600 }, + { itemName = "streaked devourer maw", clientId = 36773, sell = 400 }, { itemName = "striped fur", clientId = 10293, sell = 50 }, { itemName = "studded armor", clientId = 3378, sell = 25 }, { itemName = "studded club", clientId = 3336, sell = 10 }, @@ -1174,6 +1234,8 @@ npcConfig.shop = { { itemName = "tortoise shield", clientId = 6131, sell = 150 }, { itemName = "tower shield", clientId = 3428, sell = 8000 }, { itemName = "trapped bad dream monster", clientId = 20203, sell = 900 }, + { itemName = "tremendous tyrant head", clientId = 36783, sell = 930 }, + { itemName = "tremendous tyrant shell", clientId = 36784, sell = 740 }, { itemName = "tribal mask", clientId = 3403, sell = 250 }, { itemName = "troll green", clientId = 3741, sell = 25 }, { itemName = "trollroot", clientId = 11515, sell = 50 }, @@ -1202,6 +1264,8 @@ npcConfig.shop = { { itemName = "vampire shield", clientId = 3434, sell = 15000 }, { itemName = "vampire teeth", clientId = 9685, sell = 275 }, { itemName = "vampire's cape chain", clientId = 18927, sell = 150 }, + { itemName = "varnished diremaw brainpan", clientId = 36781, sell = 750 }, + { itemName = "varnished diremaw legs", clientId = 36782, sell = 670 }, { itemName = "veal", clientId = 32009, sell = 40 }, { itemName = "vein of ore", clientId = 16135, sell = 330 }, { itemName = "venison", clientId = 18995, sell = 55 }, @@ -1263,6 +1327,8 @@ npcConfig.shop = { { itemName = "werewolf amulet", clientId = 22060, sell = 3000 }, { itemName = "werewolf fangs", clientId = 22052, sell = 180 }, { itemName = "werewolf fur", clientId = 10317, sell = 380 }, + { itemName = "white deer antlers", clientId = 12544, sell = 400 }, + { itemName = "white deer skin", clientId = 12545, sell = 245 }, { itemName = "white gem", clientId = 32769, sell = 12000 }, { itemName = "white pearl", clientId = 3026, sell = 160 }, { itemName = "white piece of cloth", clientId = 5909, sell = 100 }, @@ -1293,6 +1359,7 @@ npcConfig.shop = { { itemName = "wyvern talisman", clientId = 9644, sell = 265 }, { itemName = "yellow gem", clientId = 3037, sell = 1000 }, { itemName = "yellow piece of cloth", clientId = 5914, sell = 150 }, + { itemName = "yielocks", clientId = 12805, sell = 600 }, { itemName = "yielowax", clientId = 12742, sell = 600 }, { itemName = "yirkas' egg", clientId = 34102, sell = 280 }, { itemName = "young lich worm", clientId = 31590, sell = 25000 }, diff --git a/data-otservbr-global/npc/valindara.lua b/data-otservbr-global/npc/valindara.lua index 43ea8f64d16..5c3d9aeca94 100644 --- a/data-otservbr-global/npc/valindara.lua +++ b/data-otservbr-global/npc/valindara.lua @@ -158,7 +158,7 @@ npcConfig.shop = { { itemName = "red crystal fragment", clientId = 16126, sell = 800 }, { itemName = "red rose", clientId = 3658, sell = 10 }, { itemName = "ruby necklace", clientId = 3016, buy = 3560 }, - { itemName = "shimmering beatles", clientId = 25693, sell = 150 }, + { itemName = "shimmering beetles", clientId = 25693, sell = 150 }, { itemName = "silver goblet", clientId = 5806, buy = 3000 }, { itemName = "skull coin", clientId = 32583, sell = 12000 }, { itemName = "sling herb", clientId = 3738, sell = 10 },