server
server copied to clipboard
[Nyzul] Random layout generation implementation
I affirm:
- [x] I understand that if I do not agree to the following points by completing the checkboxes my PR will be ignored.
- [x] I understand I should leave resolving conversations to the LandSandBoat team so that reviewers won't miss what was said.
- [x] I have read and understood the Contributing Guide and the Code of Conduct.
- [x] I have tested my code and the things my code has changed since the last commit in the PR and will test after any later commits.
What does this pull request do?
- Adds logic to generate a truly random layout for Nyzul Isle Investigation assault.
- Defines 1 of the 6 blocks of rooms, as an example.
Currently, while we randomize mobs and objectives, we do not truly randomize the layouts. This is because we do not handle door opening nor closing, for statrters. So this attempts to randomize in a logical way which doors open and close.
Process:
- We select a block (Currently 1 only defined, but there are 6)
- We select a room group at random to act as the start.
- We loop using the previous group as a start and using the groups connected to it as the choices to continue. From there, we add the possible groups, while removing the ones we use AND we do not allow the ones we used to be re-added. All until we reach the requested amount of groups.
- Once we have the room list, we populate several tables with the information we want, and we are done.
Steps to test these changes
Experimental. Not implemented.
This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.