RanvierMUD / ranviermud

A node.js based MUD game engine
https://ranviermud.com
MIT License
796 stars 247 forks source link

RFC: Refactor Quest System #296

Closed shawncplus closed 6 years ago

shawncplus commented 7 years ago

Currently quests have to be written in a javascript file which is a pretty terrible experience for builders that aren't also programmers.

High level plans

Allow quests to be defined in a YAML file like items and npcs. This will allow for quests to be created entirely in Soma (assuming the required goal and reward type classes exist)

Implementation Details

Rewards

Quest#reward should be an array of QuestReward objects that have give and display methods.

Example reward types

Goals

Quest Goals should have the option to require completion in order and to only reveal subsequent goals when preceding goals are completed, e.g., travel to Room A, once that's done, Travel to Room B appears as the goal

Core changes

Bundle changes

shawncplus commented 6 years ago

Please test #315 for the proposed change