diff --git a/packages/server/data/quests/herbalistdesperation.json b/packages/server/data/quests/herbalistdesperation.json new file mode 100644 index 0000000000..c83d4fcf8d --- /dev/null +++ b/packages/server/data/quests/herbalistdesperation.json @@ -0,0 +1,73 @@ +{ + "name": "Herbalist's Desperation", + "description": "A local herbalist is in dire need of rare herbs.|The small village of Lakesworld relies on the potions of a local herbalist for their daily needs. However, the herbalist has run out of their most important ingredients and seeks the aid of a brave adventurer. Travel to the Misty Marshlands and obtain these elusive herbs for them.", + "rewards": ["Mystical Potion", "1500 Foraging experience"], + "stages": { + "0": { + "task": "talk", + "npc": "herbalist", + "text": [ + "Ah, adventurer! Just the person I was hoping to see.", + "You see, I have a bit of a predicament.", + "The herbs I need for my potions are all gone!", + "Could you fetch me 3 Blue Lilies?", + "I would go myself, but the marshes are treacherous and I am no fighter." + ], + "completedText": [ + "The villagers are crossing their fingers, toes, and spaghetti noodles in anticipation.", + "Please bring back 3 Blue Lilies." + ] + }, + "1": { + "task": "talk", + "npc": "herbalist", + "hasItemText": [ + "Ah! These are perfect! However...", + "It seems I've omitted to mention a few more ingredients.", + "My bad, it's been a wacky day.", + "Could you kindly round up 2 paprikas and 2 tomatoes for me?", + "I have a hunch they're lurking nearby", + "I promise, this will be the last request." + ], + "completedText": ["The villagers are getting restless.", "Please bring back 2 paprikas and 2 tomatoes."], + "itemRequirements": [ + { + "key": "bluelily", + "count": 3 + } + ] + }, + "2": { + "task": "talk", + "npc": "herbalist", + "hasItemText": [ + "You've done it! The potions can now be made.", + "Thank you, brave adventurer. Take this potion as a token of my never-ending gratitude.", + "See you around!" + ], + "itemRequirements": [ + { + "key": "tomato", + "count": 2 + }, + { + "key": "paprika", + "count": 2 + } + ], + "skill": "foraging", + "experience": 1500, + "itemRewards": [ + { + "key": "hotsauce", + "count": 1 + } + ], + "popup": { + "title": "Quest completed!", + "text": "@green@You have just finished @crimson@Herbalist's Desperation@green@. You've been awarded a @crimson@Hot Sauce@green@ and @crimson@1500@green@ Foragingexperience!", + "colour": "#33cc33" + } + } + } +} diff --git a/packages/server/data/quests/ricksroll.json b/packages/server/data/quests/ricksroll.json new file mode 100644 index 0000000000..4441e5a314 --- /dev/null +++ b/packages/server/data/quests/ricksroll.json @@ -0,0 +1,52 @@ +{ + "name": "Rick's roll", + "description": "Rick needs help to make his famous roll to be together forever with his girlfriend.|Rick finds himself in need of assistance to create his famous roll. Go talk to him and see what he needs! ", + "rewards": ["1987 Cooking experience"], + "stages": { + "0": { + "task": "cooking", + "npc": "rick", + "text": [ + "Hello adventurer please help me.", + "Me and my girlfriend are no strangers to love", + "She knows the rules and so do I", + "A full commitment’s what I’m thinking of", + "She wouldn’t get this from any other guy", + "I just wanna tell her how I’m feeling", + "Gotta make her understand", + "That's why I need your help", + "Please bring me 10 cooked shrimps", + "They are the key ingredients of my perfect rolls", + "I need to make it so we could be together forever" + ], + "completedText": [ + "Don't give up on me", + "Don't let me down", + "Don't let me say goodbye.", + "Please bring me 10 cooked shrimps" + ] + }, + "1": { + "task": "cooking", + "npc": "rick", + "hasItemText": [ + "Thank you. I'm so touched", + "I'll never gonna go around and desert you", + "Come back any time you want a good rick's roll!" + ], + "itemRequirements": [ + { + "key": "cookedshrimp", + "count": 10 + } + ], + "skill": "cooking", + "experience": 1987, + "popup": { + "title": "Quest completed!", + "text": "@green@You have just finished @crimson@Rick's Roll@green@. You've been awarded @crimson@1987@green@ Cooking experience!", + "colour": "#33cc33" + } + } + } +} diff --git a/packages/server/src/game/entity/character/player/quest/impl/herbalistdesperation.ts b/packages/server/src/game/entity/character/player/quest/impl/herbalistdesperation.ts new file mode 100644 index 0000000000..6183c40a80 --- /dev/null +++ b/packages/server/src/game/entity/character/player/quest/impl/herbalistdesperation.ts @@ -0,0 +1,8 @@ +import Quest from '../quest'; +import Data from '../../../../../../../data/quests/herbalistdesperation.json'; + +export default class Scavenger extends Quest { + public constructor(key: string) { + super(key, Data); + } +} diff --git a/packages/server/src/game/entity/character/player/quest/impl/index.ts b/packages/server/src/game/entity/character/player/quest/impl/index.ts index 95622a3635..b5e71b24f5 100644 --- a/packages/server/src/game/entity/character/player/quest/impl/index.ts +++ b/packages/server/src/game/entity/character/player/quest/impl/index.ts @@ -14,6 +14,8 @@ import clamchowder from './clamchowder'; import royalpet from './royalpet'; import scientistspotion from './scientistspotion'; import anvilsechoes from './anvilsechoes.ts'; +import herbalistdesperation from './herbalistdesperation'; +import ricksroll from './ricksroll'; export default { tutorial, @@ -31,5 +33,7 @@ export default { clamchowder, royalpet, scientistspotion, - anvilsechoes + anvilsechoes, + herbalistdesperation, + ricksroll }; diff --git a/packages/server/src/game/entity/character/player/quest/impl/ricksroll.ts b/packages/server/src/game/entity/character/player/quest/impl/ricksroll.ts new file mode 100644 index 0000000000..7dcda4258f --- /dev/null +++ b/packages/server/src/game/entity/character/player/quest/impl/ricksroll.ts @@ -0,0 +1,8 @@ +import Quest from '../quest'; +import Data from '../../../../../../../data/quests/ricksroll.json'; + +export default class RicksRoll extends Quest { + public constructor(key: string) { + super(key, Data); + } +}