Quests & Reputation
QuestX brings to you custom quests. You can design every aspect of a quest, anyone can design a quest using QuestX script. Quests will have customisable rewards and an effect on your characters reputation. Your character's reputation is an important feature in determining how you are treated by NPC's and other players. You will have to reach a certain reputation level in order to unlock some quests.
Quests support the same customisation as tasks except you can have multiple objectives and include a variety of NPC's in the quest.
In addition to quests you will also be able to create your own tasks, these are similar to quests but are much shorter and are intended to provide further immersion and interaction with the world. These tasks will also have custom rewards and affect your reputation.
What you will be able to customise for each Task:
- Name of the task
- Task description
- What items need to be gathered
- How many entities need to be killed (Supports multiple entity types)
- What NPC's need to be killed
- The speech shown to a player if he has not completed a task
- The speech shown to a player upon completing a task
- The items the player receives as an award (Supports multiple items and data values)
- The exp a player will be awarded for completing a task.
- The reputation a player will receive for completing a task.
- The gold (economy currency) a player will receive for completing a task.
- The permission nodes to add/remove from a player when completing a task.
A key feature of QuestX is that there will be roaming NPC's. No longer will you have to travel to a fixed location to find an NPC. They will be randomly walking around a pre-defined area. There will be fixed 'areas' where you have to go to start a certain quest or task but many NPC's you encounter will spawn dynamically so you never know who you might encounter.
NPC's themselves are highly customisable. You will be able to customise the following:
- Whether the NPC will load or not, easy to toggle on/off if you don't want certain NPC's spawning,
- The name of the NPC
- The colour of the NPC's name (optional - will require TagAPI)
- If the NPC will move around a fixed location or just stay in a certain spot all the time.
- If the NPC can be attacked
- If the NPC is agressive (Will attack players in a certain 'reputation' threshold, more on this later)
- Minimum and maximum number of ticks the NPC will wait between moving (A random number is chosen between these 2 values)
- The distance they will travel from their spawn point when they are walking about randomly.
- How many server ticks until the NPC will respawn if killed.
- The health of the NPC
- The damage the NPC will do when it hits a player
- How far the NPC will chase a player if attacked
- What the NPC will drop when it is killed, supports multiple items, item data and percentage chance drops with 0.01% precision.
- What armour the NPC will wear, including weapon.
- The reputation to award a player upon killing an NPC.
- The gold to award a player upon killing an NPC.
- The exp to award a player upon killing an NPC.
- The commands a player will execute upon killing an NPC.
- The commands the server wil lexecute upon killing an NPC.
With QuestX I am also trying to fill the gap that is interactivity with NPC's. Every NPC will have its own dialogue file which is fully customisable, it has to conform to a certain format so that it can be parsed and interpreted into a Dialogue tree. This means you can have multiple chat dialogues for an npc. Put simply every chat option you choose to say to an NPC will be met by a different response and a different selection set in turn. Speech options can be set so that only players with a certain reputation level can say certain things which will result in different responses. Each Speech option can have a trigger to start a task or quest.