diff --git a/New Text Document.txt b/New Text Document.txt index 2c6e2e2..1911ebc 100644 --- a/New Text Document.txt +++ b/New Text Document.txt @@ -1 +1 @@ -next: 17621 \ No newline at end of file +next: 17637 \ No newline at end of file diff --git a/data/XML/quests.xml b/data/XML/quests.xml index 48a6741..0b947ac 100644 --- a/data/XML/quests.xml +++ b/data/XML/quests.xml @@ -400,6 +400,19 @@ + + + + + + + + + + + + + @@ -414,5 +427,20 @@ + + + + + + + + + + + + + + + diff --git a/data/creaturescripts/scripts/killing_in_the_name_of.lua b/data/creaturescripts/scripts/killing_in_the_name_of.lua index 19adddf..dc9069b 100644 --- a/data/creaturescripts/scripts/killing_in_the_name_of.lua +++ b/data/creaturescripts/scripts/killing_in_the_name_of.lua @@ -1,21 +1,47 @@ local tasks = { - ['crocodile'] = {progressStorage = 17608, killsRequired = 100}, - ['tarantula'] = {progressStorage = 17608, killsRequired = 100}, - ['carniphila'] = {progressStorage = 17608, killsRequired = 50}, - ['merlkin'] = {progressStorage = 17608, killsRequired = 100}, - ['kongra'] = {progressStorage = 17608, killsRequired = 100}, - ['sibang'] = {progressStorage = 17608, killsRequired = 100}, - ['thornback tortoise'] = {progressStorage = 17608, killsRequired = 100}, - ['gargoyle'] = {progressStorage = 17608, killsRequired = 65}, - ['quara constrictor scout'] = {progressStorage = 17608, killsRequired = 200}, - ['quara hydromancer scout'] = {progressStorage = 17608, killsRequired = 200}, - ['quara mantassin scout'] = {progressStorage = 17608, killsRequired = 200}, - ['quara pincher scout'] = {progressStorage = 17608, killsRequired = 200}, - ['quara predator scout'] = {progressStorage = 17608, killsRequired = 200}, - ['ancient scarab'] = {progressStorage = 17608, killsRequired = 125}, - ['wyvern'] = {progressStorage = 17608, killsRequired = 100}, - ['bonebeast'] = {progressStorage = 17608, killsRequired = 100}, - ['dragon'] = {progressStorage = 17608, killsRequired = 200}, + -- Grizzly Adams + ['crocodile'] = {taskerStorage = 17608, progressStorage = 17609, killsRequired = 100}, + ['tarantula'] = {taskerStorage = 17608, progressStorage = 17610, killsRequired = 100}, + ['carniphila'] = {taskerStorage = 17608, progressStorage = 17611, killsRequired = 50}, + ['merlkin'] = {taskerStorage = 17608, progressStorage = 17612, killsRequired = 100}, + ['kongra'] = {taskerStorage = 17608, progressStorage = 17612, killsRequired = 100}, + ['sibang'] = {taskerStorage = 17608, progressStorage = 17612, killsRequired = 100}, + ['thornback tortoise'] = {taskerStorage = 17608, progressStorage = 17613, killsRequired = 100}, + ['gargoyle'] = {taskerStorage = 17608, progressStorage = 17614, killsRequired = 65}, + ['quara constrictor scout'] = {taskerStorage = 17608, progressStorage = 17616, killsRequired = 200}, + ['quara hydromancer scout'] = {taskerStorage = 17608, progressStorage = 17616, killsRequired = 200}, + ['quara mantassin scout'] = {taskerStorage = 17608, progressStorage = 17616, killsRequired = 200}, + ['quara pincher scout'] = {taskerStorage = 17608, progressStorage = 17616, killsRequired = 200}, + ['quara predator scout'] = {taskerStorage = 17608, progressStorage = 17616, killsRequired = 200}, + ['ancient scarab'] = {taskerStorage = 17608, progressStorage = 17617, killsRequired = 125}, + ['wyvern'] = {taskerStorage = 17608, progressStorage = 17618, killsRequired = 100}, + ['bonebeast'] = {taskerStorage = 17608, progressStorage = 17619, killsRequired = 100}, + ['dragon'] = {taskerStorage = 17608, progressStorage = 17620, killsRequired = 200}, + ['quara constrictor'] = {taskerStorage = 17608, progressStorage = 17621, killsRequired = 600}, + ['quara hydromancer'] = {taskerStorage = 17608, progressStorage = 17621, killsRequired = 600}, + ['quara mantassin'] = {taskerStorage = 17608, progressStorage = 17621, killsRequired = 600}, + ['quara pincher'] = {taskerStorage = 17608, progressStorage = 17621, killsRequired = 600}, + ['quara predator'] = {taskerStorage = 17608, progressStorage = 17621, killsRequired = 600}, + ['giant spider'] = {taskerStorage = 17608, progressStorage = 17622, killsRequired = 500}, + ['banshee'] = {taskerStorage = 17608, progressStorage = 17623, killsRequired = 300}, + ['lich'] = {taskerStorage = 17608, progressStorage = 17624, killsRequired = 500}, + ['acolyte of the cult'] = {taskerStorage = 17608, progressStorage = 17625, killsRequired = 500}, + ['adept of the cult'] = {taskerStorage = 17608, progressStorage = 17625, killsRequired = 500}, + ['enlightened of the cult'] = {taskerStorage = 17608, progressStorage = 17625, killsRequired = 500}, + ['novice of the cult'] = {taskerStorage = 17608, progressStorage = 17625, killsRequired = 500}, + ['hydra'] = {taskerStorage = 17608, progressStorage = 17626, killsRequired = 650}, + ['serpent spawn'] = {taskerStorage = 17608, progressStorage = 17627, killsRequired = 800}, + ['behemoth'] = {taskerStorage = 17608, progressStorage = 17628, killsRequired = 700}, + ['dragon lord'] = {taskerStorage = 17608, progressStorage = 17629, killsRequired = 600}, + ['hand of cursed fate'] = {taskerStorage = 17608, progressStorage = 17630, killsRequired = 200}, + ['juggernaut'] = {taskerStorage = 17608, progressStorage = 17631, killsRequired = 200}, + + -- Daniel Steelsoul + ['troll'] = {taskerStorage = 17632, progressStorage = 17633, killsRequired = 100}, + ['goblin'] = {taskerStorage = 17632, progressStorage = 17634, killsRequired = 150}, + ['rotworm'] = {taskerStorage = 17632, progressStorage = 17635, killsRequired = 150}, + ['carrion worm'] = {taskerStorage = 17632, progressStorage = 17635, killsRequired = 150}, + ['cyclops'] = {taskerStorage = 17632, progressStorage = 17636, killsRequired = 500}, } function onKill(player, target) @@ -25,11 +51,11 @@ function onKill(player, target) local task = tasks[target:getName():lower()] if task ~= nil then - local inProgressQuest = player:getStorageValue(task.progressStorage) - if inProgressQuest > 0 then - local playerQuestKills = player:getStorageValue(inProgressQuest) + local inProgressQuest = player:getStorageValue(task.taskerStorage) + if inProgressQuest == task.progressStorage then + local playerQuestKills = player:getStorageValue(task.progressStorage) if playerQuestKills < task.killsRequired then - player:setStorageValue(inProgressQuest, playerQuestKills + 1) + player:setStorageValue(task.progressStorage, playerQuestKills + 1) end end end diff --git a/data/npc/daniel.npc b/data/npc/daniel.npc index dbdc126..0d5d62f 100644 --- a/data/npc/daniel.npc +++ b/data/npc/daniel.npc @@ -87,4 +87,32 @@ VANISH,! -> "PRAISE TO BANOR!" Topic=2,"yes" -> "Take this!", Burning(10,1), EffectOpp(5), EffectMe(8) Topic=2 -> "Then be more careful with your words!" + +# Level 6-49 +"task",QuestValue(17632)=0,level>5,level<50 -> "I may have several tasks for you citizen. Edron needs a help in the hunting of: trolls, goblins, rotworms or cyclopes.", Topic=3 +Topic=3,"troll" -> Amount=17633, "The trolls living west of our city have become quite a nuisance lately. Not that they are really dangerous to us, but still, we must show them that there's a line they shouldn't cross. ...", + "I want you to kill 100 of them. If you succeed, I'll provide you some pretty coins and experience. Are you willing to take on this task?", Topic=4 +Topic=3,"goblin" -> Amount=17634, "It's not only the trolls invading from the west coast. Goblins also have a lair there where they constantly prepare for their next attack. ...", + "If you could kill 150 goblins for us, that'd be a good start. Would you be willing to help us in this matter?", Topic=4 +Topic=3,"rotworm" -> Amount=17635, "Maybe you have noticed the numerous rotworms that burrowed under Edron. They're quite a pest. You look strong enough to be able to vanquish a few for us. Do you think you can kill 150 rotworms?", Topic=4 +Topic=3,"cyclop" -> Amount=17636, "We've successfully driven the minotaurs off this island, but the underground city of the cyclopes - Cyclopolis - is still standing. ...", + "We're always looking for adventurers who'd help us decimate the number of cyclopes. Will you assist the city of Edron by killing 500 of them?", Topic=4 + +"task",QuestValue(17633)=100 -> Amount=1000, Price=1000, "Very nice, %N. That will push the trolls' forces back a little. Here is your reward!", SetQuestValue(QuestValue(17632),99999), SetQuestValue(17632,0), Experience(Amount), CreateMoney +"task",QuestValue(17634)=150 -> Amount=1500, Price=1000, "Congratulations, you've fought well against the goblin plague. Thank you! Here is your reward!", SetQuestValue(QuestValue(17632),99999), SetQuestValue(17632,0), Experience(Amount), CreateMoney +"task",QuestValue(17635)=150 -> Amount=1000, Price=1500, "Well done! Thanks to you the city is a bit safer. Here's your reward!", SetQuestValue(QuestValue(17632),99999), SetQuestValue(17632,0), Experience(Amount), CreateMoney +"task",QuestValue(17636)=500 -> Amount=15000, Price=5000, "Very good job, %N. You've been a great help. Here's your reward!", SetQuestValue(QuestValue(17632),99999), SetQuestValue(17632,0), Experience(Amount), CreateMoney + +# Speaks +"task",QuestValue(17632)>0 -> "Your current task is in progress. Follow the status of your task in the quest log. If you wish to cancel your in-progress task then don't be afraid and feel free to cancel." + +Topic=4,"yes" -> "I'm pleased with your eagerness. Good luck!", SetQuestValue(17632,Amount), SetQuestValue(Amount,0) +Topic=4 -> "Maybe next time." + +"cancel",QuestValue(17632)>0 -> "Are you sure you want to cancel your current task?", Topic=6 +Topic=6,"yes" -> "Alright! Feel free to do other tasks for us.", SetQuestValue(QuestValue(17632),99999), SetQuestValue(17632,0) +Topic=6 -> "Good! Speak to me again when you are done hunting." + +"task" -> "I don't have any tasks for your level." + } diff --git a/data/npc/grizzlyadams.npc b/data/npc/grizzlyadams.npc index 6ae261d..13dc2e2 100644 --- a/data/npc/grizzlyadams.npc +++ b/data/npc/grizzlyadams.npc @@ -7,6 +7,16 @@ Home = [32693,32767,6] Radius = 3 Behaviour = { +ADDRESS,"hello$",QuestValue(17615)>99,! -> "Welcome back elite hunter %N of the 'Paw and Fur - Hunting Elite'. Feel free to do tasks for us." +ADDRESS,"hi$",QuestValue(17615)>99,! -> * +ADDRESS,"hello$",QuestValue(17615)>69,! -> "Welcome back trophy hunter %N of the 'Paw and Fur - Hunting Elite'. Feel free to do tasks for us." +ADDRESS,"hi$",QuestValue(17615)>69,! -> * +ADDRESS,"hello$",QuestValue(17615)>39,! -> "Welcome back big game hunter %N of the 'Paw and Fur - Hunting Elite'. Feel free to do tasks for us." +ADDRESS,"hi$",QuestValue(17615)>39,! -> * +ADDRESS,"hello$",QuestValue(17615)>19,! -> "Welcome back ranger %N of the 'Paw and Fur - Hunting Elite'. Feel free to do tasks for us." +ADDRESS,"hi$",QuestValue(17615)>19,! -> * +ADDRESS,"hello$",QuestValue(17615)>9,! -> "Welcome back huntsman %N of the 'Paw and Fur - Hunting Elite'. Feel free to do tasks for us." +ADDRESS,"hi$",QuestValue(17615)>9,! -> * ADDRESS,"hello$",QuestValue(17607)=1,! -> "Welcome to the 'Paw and Fur - Hunting Elite' %N. Feel free to do tasks for us." ADDRESS,"hi$",QuestValue(17607)=1,! -> * ADDRESS,"hello$",! -> "Welcome %N. Would you like to join the 'Paw and Fur - Hunting Elite'?" @@ -26,6 +36,13 @@ VANISH,! -> "Happy hunting, old chap!" "task",QuestValue(17607)=0 -> "Firstly, you have to join us in our society %N. Would you like to join the 'Paw and Fur - Hunting Elite'?" "mission",QuestValue(17607)=0 -> * +# Trades +"do","you","sell" -> "I am looking for Sabrehaven talons however I will need them later." +"do","you","have" -> * +"offer" -> * +"trade" -> * +"sabrehaven","talon" -> "We as a hunting society know very interesting purposes of those magical talons. But only the loyal hunters of the 'Paw and Fur - Hunting Elite' are allowed to know." + # Level 6-49 "task",QuestValue(17608)=0,level>5,level<50 -> "Alright, what would you like to hunt? Crocodiles, tarantulas, carniphilas, apes, thornback tortoises or gargoyles.", Topic=1 Topic=1,"crocodile" -> Amount=17609, "They are a nuisance! You'll find them here in the jungle near the river. Hunt 100 crocodiles and you'll get a nice reward. Interested?", Topic=2 @@ -44,7 +61,7 @@ Topic=1 -> "Maybe next time." "task",QuestValue(17614)=65 -> Data=3, Amount=5000, Price=2500, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 # Level 50-79 -"task",QuestValue(17608)=0,level>49,level<80 -> "Alright, what would you like to hunt? Quara scouts, ancient scarabs, wyverns, bonebeasts, dragons.", Topic=5 +"task",QuestValue(17608)=0,level>49,level<80 -> "Alright, what would you like to hunt? Quara scouts, ancient scarabs, wyverns, bonebeasts or dragons.", Topic=5 Topic=5,"quara" -> Amount=17616, "The scouts can be found on Malada, one of the Shattered Isles. Your task is to kill 200 quara scouts. I accept quara constrictor scouts, quara hydromancer scouts, quara mantassin scouts, quara pincher scouts and quara predator scouts, are you in?", Topic=2 Topic=5,"scarab" -> Amount=17617, "They can be found in tombs beneath the desert around Ankrahmun. Hunt 125 of them. Interested?", Topic=2 Topic=5,"wyvern" -> Amount=17618, "They can be found all over Tibia. Hunt 100 wyverns. Interested?", Topic=2 @@ -57,6 +74,36 @@ Topic=5,"dragon" -> Amount=17620, "They can be found all over Tibia. Hunt 200 dr "task",QuestValue(17619)=100 -> Data=3, Amount=9000, Price=9000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 "task",QuestValue(17620)=200 -> Data=2, Amount=10000, Price=4000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 +# Level 80-129 +"task",QuestValue(17608)=0,level>79,level<130 -> "Alright, what would you like to hunt? Underwater quara, giant spiders, banshees, lichs or cults.", Topic=6 +Topic=6,"quara" -> Amount=17621, "As you wish. Seek out a quara settlement and hunt 600 quara, it doesn't matter which type you hunt except scouts. Alright?", Topic=2 +Topic=6,"spider" -> Amount=17622, "Never liked spiders. Simply too many legs. And I always find them in my bath! Those nasty creepy-crawlies are a threat to the hygiene of every living being in Tibia. Hunt 500 of them. Okay?", Topic=2 +Topic=6,"banshee" -> Amount=17623, "The Banshee is an undead creature of sheer terror. There is several places where you can hunt them. Hunt 300 of them. Okay?", Topic=2 +Topic=6,"lich" -> Amount=17624, "Lich hell. Ugh, to become a Lich is the ultimate goal of all those who follow the dark path of necromancy. Hunt 500 of them. Alright?", Topic=2 +Topic=6,"cult" -> Amount=17625, "I hate those strange cult fanatics. Hunt 500 of any cult follower. Alright?", Topic=2 + +"task",QuestValue(17621)=600 -> Data=4, Amount=80000, Price=25000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 +"task",QuestValue(17622)=500 -> Data=3, Amount=70000, Price=30000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 +"task",QuestValue(17623)=300 -> Data=5, Amount=100000, Price=20000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 +"task",QuestValue(17624)=500 -> Data=4, Amount=30000, Price=40000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 +"task",QuestValue(17625)=500 -> Data=2, Amount=35000, Price=35000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 + +# Level 130+ +"task",QuestValue(17608)=0,level>129 -> "Alright, what would you like to hunt? Hydras, serpent spawns, behemoths, dragon lords, hand of cursed fates, juggernauts.", Topic=7 +Topic=7,"hydra" -> Amount=17626, "The hydras are located in the eastern jungle of Tiquanda and there are several mountain caves that are inhabited by them. Your task is to hunt a mere 650 hydras. Are you willing to do that?", Topic=2 +Topic=7,"serpent" -> Amount=17627, "Very dangerous, nasty and slimy creatures. They live deep in the old ruins of Banuta. I think a mere 800 serpent spawns should do the trick. What do you say?", Topic=2 +Topic=7,"behemoth" -> Amount=17628, "Behemoths must be kept away from the settlements at all costs. You'll find them east of here in the taboo-area or under Cyclopolis in Edron. Go there and hunt a few of them - shall we say... 700? Are you up for that?", Topic=2 +Topic=7,"dragon" -> Amount=17629, "They can be found all over Tibia. Hunt 600 dragon lords. Interested?", Topic=2 +Topic=7,"hand" -> Amount=17630, "Those creatures are annoying and obviously lacking a head. Hunt 200 of them. Interested?", Topic=2 +Topic=7,"juggernaut" -> Amount=17631, "Juggernauts are known to be able to slash the head of a dragon with one hit. Hunt 200 of them. Interested?", Topic=2 + +"task",QuestValue(17626)=650 -> Data=4, Amount=200000, Price=50000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 +"task",QuestValue(17627)=800 -> Data=5, Amount=300000, Price=80000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 +"task",QuestValue(17628)=700 -> Data=5, Amount=250000, Price=60000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 +"task",QuestValue(17629)=600 -> Data=5, Amount=100000, Price=45000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 +"task",QuestValue(17630)=200 -> Data=5, Amount=150000, Price=100000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 +"task",QuestValue(17631)=200 -> Data=6, Amount=250000, Price=200000, "Spiffing work, old chap. What would you like to get for reward: %A EXP or %P gold?", Topic=4 + # Speaks "task",QuestValue(17608)>0 -> "Your current task is in progress. Follow the status of your task in the quest log. If you wish to cancel your in-progress task then don't be afraid and feel free to cancel." @@ -71,6 +118,19 @@ Topic=2 -> "Maybe later." Topic=3,"yes" -> "Alright! Feel free to do other tasks for us.", SetQuestValue(QuestValue(17608),99999), SetQuestValue(17608,0) Topic=3 -> "Good! Speak to me again when you are done hunting." +"rank",QuestValue(17615)>99 -> Amount=QuestValue(17615), "At this time, you have %A points and your rank is Elite Hunter." +"point",QuestValue(17615)>99 -> * +"rank",QuestValue(17615)>69 -> Amount=QuestValue(17615), "At this time, you have %A points and your rank is Trophy Hunter." +"point",QuestValue(17615)>69 -> * +"rank",QuestValue(17615)>39 -> Amount=QuestValue(17615), "At this time, you have %A points and your rank is Big Game Hunter." +"point",QuestValue(17615)>39 -> * +"rank",QuestValue(17615)>19 -> Amount=QuestValue(17615), "At this time, you have %A points and your rank is Ranger." +"point",QuestValue(17615)>19 -> * +"rank",QuestValue(17615)>9 -> Amount=QuestValue(17615), "At this time, you have %A points and your rank is Huntsman." +"point",QuestValue(17615)>9 -> * +"rank",QuestValue(17607)=1 -> Amount=QuestValue(17615), "At this time, you have %A points and your rank is Member." +"point",QuestValue(17607)=1 -> * + "mission" -> "We prefer to call that 'task' in the society of the 'Paw and Fur - Hunting Elite'." } diff --git a/data/talkactions/scripts/query_houses.lua b/data/talkactions/scripts/query_houses.lua index 13de481..e49b99d 100644 --- a/data/talkactions/scripts/query_houses.lua +++ b/data/talkactions/scripts/query_houses.lua @@ -23,7 +23,7 @@ function onSay(player, words, param) if isFound then local position = item:getPosition() - player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Your current position is: " .. position.x .. ", " .. position.y .. ", " .. position.z .. ".") + player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Item position is: " .. position.x .. ", " .. position.y .. ", " .. position.z .. ".") end end end