The super arena is a collection of arenas that share player lists, frequency assignments, and chats.
The ?arenas command would not show the individual arenas but instead show the single super arena. Entering players would be assigned into one of the constituent arenas by a placement module.
The core wouldn't offer a direct way for players to move between the arenas, but instead custom modules would be expected to move players between the arenas as determined by the game play. One example would be a module that warps players to a new arena when they enter a specific regions.
- A super arena struct would have to be created, and the arena structure would need a pointer to a super arena
- A way must be devised to organize the arenas/ directory to support super arenas. Subdirectories are the most obvious choice.
- Configuration files for super arenas would need to exist in the directory structure
- An additional Target union type would need to be added for the super arena, along with code to expand it into a player list.
- Chat would need to be altered to send public and team messages to the entire super arena. Private message handling may also need some tweaking.
- Core.c's player handling would need to be checked to ensure that players transitioning don't leave the super arena, and don't lose any messages.
- Flag and ball handling need to be addressed. At least the code should be checked over to make sure no inter-arena contamination is possible.
- Game.c would need a setting to enable or disable inter-arena attaches.
- Map downloads may optionally force a player into spectator mode, depending on the super arena settings (or the arena settings, if desired)
- It may be desirable to allow modules to attach to super arenas in a similar fashion to how they currently attach to arenas. This may be impossible because of C limitations, though.
Obviously this is quite an undertaking, but it offers significant advantages to certain types of games (especially ones without the extra complications of powerballs and flags).