server
server copied to clipboard
[DRAFT] The Stronghold of Security
This draft adds support for the Stronghold of Security.
Features of this change include:
- The ability to interact with the stronghold doors, and receive quiz questions to answer. (After 3 incorrect attempts, you are teleported through)
- A quiz file that loads the quiz data.
- The vast majority of NPC spawns for the four levels of the dungeon (Some are missing in the Catacomb of Famine).
- Proper rewards for completing each level of the dungeon (Money, emotes, and the ability to use the portals to jump to the treasure room).
- All interactable objects function as expected, such as ladders, escape ropes, portals, etc.
- Proper sounds, animations and messages.
- Progress is saved to the Player's character file.
- You can choose which style of boots you want at the end of the dungeon. Swapping boots, and replacement boots if they're lost is also supported.
- Pit of Pestilence map file was added to the cache from the 455 revision, with their proper xteas.
- You can search the dead explorer's body and find the stronghold book.
- You can read the stronghold notes book.
Aspects not yet implemented are:
- There are some question responses without official dialogue yet, I'm still working on those.
- Some NPCs are missing from the Catacomb of Famine.
- Supplying a list of doors that are exempt from questions. (Doors that lead into a room with no monsters don't have questions, the player can just teleport through.)
- Ensuring the player doesn't receive two identical questions in a row.
- The Barbarian Village map that allows the player to enter the dungeon isn't in the cache, so players cannot access it through regular means.
In addition to these changes, this commit also:
- Allows dialogues longer than 4 lines to wrap into a new dialogue tree.
- Replaces the traditional login screen music with Scape Scared, since this is a Halloween server.
I still need to work on the books a bit more, definitely.
Right now it's only really applied for one case. But I want to make it more generic so that any BookData object can take the methods and use them to display their info easily.