Display legally required classification notices.

This commit is contained in:
Condorra 2023-02-20 22:42:51 +11:00
parent d4fd71d839
commit ea5b5ef70d
2 changed files with 36 additions and 3 deletions

View File

@ -40,6 +40,8 @@ have legal obligations not to distribute it to anyone under a certain age.
Regarding the use of official Blastmud resources such as our GitHub project and game server instance: to ensure minors are protected, you must not post versions of Blastmud that disable the checking of `age-verification.yml` (or post any other complete unclassified game or game that is unsuitable for minors of any age), nor post patches, pull requests, or instructions for doing the same. You may be blocked from further interaction with the project if you do this (unless we are satisfied it was accidental).
Please note the game displays an "R18+" symbol from the Classifications (Publications, Films and Computer Games) (Markings and Consumer Advice) Determination 2014, which is a symbol that can only legally be displayed if your game has that classification. If you fork the code and distribute a modified version, you will be required to change the name, but if you change the name, you will need to get your fork formally classified (for example, by submitting it to the Google Play store and obtaining a classification via the Ratings Tool).
# Architecture
Blastmud consists of the following main components:

View File

@ -5,11 +5,42 @@ use ansi::ansi;
use std::default::Default;
use crate::models::session::Session;
// ANSI art version of the symbol we are legally required to display per:
// https://www.legislation.gov.au/Details/F2017C00102
// https://dom111.github.io/image-to-ansi/ can help convert it.
const AUS_RATING_SYMBOL: &'static str = "\x1b[48;5;234m \x1b[38;5;252;48;5;235m▄\x1b[38;5;255;48;5;242m▄\x1b[38;5;15;48;5;250m▄\x1b[38;5;15;48;5;254m▄\x1b[38;5;15;48;5;255m▄▄▄\x1b[38;5;15;48;5;254m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\x1b[38;5;15;48;5;255m▄\x1b[38;5;255;48;5;254m▄\x1b[38;5;15;48;5;250m▄\x1b[38;5;15;48;5;242m▄\x1b[38;5;249;48;5;236m▄\x1b[38;5;237;48;5;234m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;235;48;5;234m▄\x1b[m
\x1b[38;5;242;48;5;235m\x1b[38;5;255;48;5;251m\x1b[38;5;254;48;5;15m\x1b[38;5;240;48;5;254m\x1b[38;5;233;48;5;245m\x1b[38;5;233;48;5;239m\x1b[38;5;234;48;5;238m\x1b[38;5;234;48;5;239m\x1b[38;5;233;48;5;238m\x1b[38;5;234;48;5;237m\x1b[38;5;234;48;5;238m\x1b[38;5;234;48;5;237m\x1b[38;5;233;48;5;240m\x1b[38;5;232;48;5;8m\x1b[38;5;239;48;5;255m\x1b[38;5;188;48;5;15m\x1b[38;5;15;48;5;250m\x1b[38;5;8;48;5;234m\x1b[38;5;232;48;5;234m\x1b[m
\x1b[38;5;254;48;5;250m\x1b[48;5;15m \x1b[38;5;239;48;5;246m\x1b[38;5;233;48;5;233m\x1b[38;5;236;48;5;233m\x1b[38;5;236;48;5;234m\x1b[38;5;233;48;5;233m\x1b[38;5;235;48;5;235m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;234m\x1b[38;5;233;48;5;233m\x1b[38;5;240;48;5;8m\x1b[38;5;15;48;5;15m\x1b[38;5;254;48;5;251m\x1b[38;5;235;48;5;233m\x1b[m
\x1b[38;5;254;48;5;254m\x1b[38;5;15;48;5;15m\x1b[38;5;238;48;5;238m\x1b[38;5;235;48;5;234m\x1b[38;5;232;48;5;233m\x1b[38;5;234;48;5;235m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;233m\x1b[48;5;234m \x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;234m\x1b[48;5;234m \x1b[38;5;235;48;5;233m\x1b[38;5;236;48;5;233m\x1b[38;5;235;48;5;234m\x1b[38;5;236;48;5;238m\x1b[38;5;15;48;5;15m\x1b[38;5;254;48;5;254m\x1b[48;5;235m \x1b[m
\x1b[38;5;254;48;5;254m\x1b[48;5;15m \x1b[38;5;238;48;5;236m\x1b[38;5;233;48;5;235m\x1b[38;5;235;48;5;235m\x1b[48;5;235m \x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;234m\x1b[48;5;234m \x1b[38;5;235;48;5;234m\x1b[38;5;236;48;5;234m\x1b[38;5;233;48;5;232m\x1b[38;5;239;48;5;238m\x1b[38;5;255;48;5;15m\x1b[38;5;254;48;5;255m\x1b[38;5;235;48;5;234m\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;234;48;5;235m\x1b[38;5;233;48;5;234m\x1b[38;5;234;48;5;235m\x1b[38;5;236;48;5;234m\x1b[38;5;234;48;5;234m\x1b[38;5;233;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;233;48;5;234m\x1b[48;5;234m \x1b[38;5;235;48;5;234m\x1b[38;5;236;48;5;233m\x1b[38;5;232;48;5;236m\x1b[38;5;235;48;5;234m\x1b[38;5;233;48;5;234m\x1b[38;5;235;48;5;234m\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;234;48;5;234m\x1b[38;5;234;48;5;235m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;233m\x1b[38;5;236;48;5;232m\x1b[38;5;247;48;5;238m\x1b[38;5;254;48;5;245m\x1b[38;5;251;48;5;239m\x1b[38;5;237;48;5;232m\x1b[38;5;232;48;5;235m\x1b[38;5;235;48;5;232m\x1b[38;5;235;48;5;235m\x1b[38;5;234;48;5;235m\x1b[38;5;234;48;5;232m\x1b[38;5;234;48;5;235m\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;235;48;5;235m\x1b[38;5;233;48;5;234m\x1b[38;5;235;48;5;233m\x1b[38;5;252;48;5;235m\x1b[38;5;247;48;5;7m\x1b[38;5;232;48;5;145m\x1b[38;5;235;48;5;234m\x1b[38;5;0;48;5;247m\x1b[38;5;248;48;5;254m\x1b[38;5;254;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;234m\x1b[38;5;232;48;5;235m\x1b[38;5;237;48;5;233m\x1b[38;5;233;48;5;235m\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;234;48;5;233m\x1b[38;5;251;48;5;236m\x1b[38;5;247;48;5;7m\x1b[38;5;0;48;5;145m\x1b[38;5;0;48;5;234m\x1b[38;5;235;48;5;232m\x1b[38;5;232;48;5;235m\x1b[38;5;233;48;5;235m\x1b[38;5;234;48;5;0m\x1b[38;5;0;48;5;145m\x1b[38;5;248;48;5;254m\x1b[38;5;254;48;5;236m\x1b[38;5;236;48;5;233m\x1b[38;5;232;48;5;234m\x1b[38;5;235;48;5;235m\x1b[38;5;233;48;5;235m\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;238;48;5;238m\x1b[38;5;232;48;5;234m\x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;235;48;5;234m\x1b[38;5;233;48;5;235m\x1b[38;5;236;48;5;233m\x1b[38;5;251;48;5;235m\x1b[38;5;248;48;5;251m\x1b[38;5;233;48;5;247m\x1b[38;5;247;48;5;59m\x1b[38;5;15;48;5;242m\x1b[38;5;255;48;5;8m\x1b[38;5;15;48;5;243m\x1b[38;5;15;48;5;242m\x1b[38;5;254;48;5;237m\x1b[38;5;247;48;5;233m\x1b[48;5;232m \x1b[38;5;233;48;5;248m\x1b[38;5;248;48;5;254m\x1b[38;5;7;48;5;237m\x1b[38;5;237;48;5;233m\x1b[38;5;233;48;5;235m\x1b[38;5;234;48;5;235m\x1b[38;5;235;48;5;235m\x1b[38;5;235;48;5;233m\x1b[38;5;233;48;5;236m\x1b[38;5;237;48;5;233m\x1b[38;5;8;48;5;233m\x1b[38;5;236;48;5;234m\x1b[38;5;233;48;5;234m\x1b[38;5;241;48;5;233m\x1b[38;5;245;48;5;233m\x1b[38;5;8;48;5;233m\x1b[38;5;234;48;5;236m\x1b[38;5;234;48;5;233m\x1b[38;5;236;48;5;234m\x1b[38;5;234;48;5;236m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;234m\x1b[48;5;234m \x1b[38;5;238;48;5;236m\x1b[38;5;15;48;5;15m\x1b[38;5;253;48;5;255m\x1b[38;5;234;48;5;235m\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;236;48;5;238m\x1b[38;5;235;48;5;233m\x1b[38;5;234;48;5;234m\x1b[38;5;232;48;5;235m\x1b[38;5;235;48;5;234m\x1b[38;5;7;48;5;234m\x1b[38;5;249;48;5;7m\x1b[38;5;233;48;5;248m\x1b[38;5;236;48;5;233m\x1b[38;5;232;48;5;0m\x1b[38;5;250;48;5;252m\x1b[48;5;15m \x1b[38;5;145;48;5;255m\x1b[38;5;234;48;5;188m\x1b[38;5;235;48;5;251m\x1b[38;5;236;48;5;255m\x1b[38;5;251;48;5;15m\x1b[38;5;15;48;5;15m\x1b[38;5;250;48;5;243m\x1b[38;5;234;48;5;0m\x1b[38;5;232;48;5;234m\x1b[38;5;233;48;5;249m\x1b[38;5;145;48;5;253m\x1b[38;5;252;48;5;237m\x1b[38;5;235;48;5;233m\x1b[38;5;236;48;5;233m\x1b[38;5;233;48;5;234m\x1b[38;5;102;48;5;238m\x1b[38;5;246;48;5;255m\x1b[38;5;254;48;5;255m\x1b[38;5;235;48;5;237m\x1b[38;5;251;48;5;239m\x1b[38;5;246;48;5;188m\x1b[38;5;0;48;5;247m\x1b[38;5;235;48;5;252m\x1b[38;5;254;48;5;250m\x1b[38;5;240;48;5;235m\x1b[38;5;234;48;5;233m\x1b[38;5;233;48;5;236m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;232m\x1b[38;5;235;48;5;234m\x1b[38;5;236;48;5;234m\x1b[38;5;233;48;5;233m\x1b[38;5;237;48;5;238m\x1b[48;5;15m \x1b[38;5;255;48;5;254m\x1b[38;5;234;48;5;235m\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;239;48;5;239m\x1b[38;5;0;48;5;234m\x1b[38;5;238;48;5;232m\x1b[38;5;249;48;5;236m\x1b[38;5;248;48;5;251m\x1b[38;5;232;48;5;248m\x1b[38;5;232;48;5;235m\x1b[38;5;235;48;5;232m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;232m\x1b[38;5;7;48;5;249m\x1b[38;5;15;48;5;15m\x1b[38;5;253;48;5;246m\x1b[38;5;238;48;5;0m\x1b[38;5;237;48;5;234m\x1b[38;5;102;48;5;0m\x1b[38;5;254;48;5;145m\x1b[48;5;15m \x1b[38;5;248;48;5;252m\x1b[38;5;233;48;5;232m\x1b[38;5;234;48;5;236m\x1b[38;5;236;48;5;0m\x1b[38;5;233;48;5;233m\x1b[38;5;233;48;5;248m\x1b[38;5;247;48;5;253m\x1b[38;5;252;48;5;237m\x1b[38;5;235;48;5;234m\x1b[38;5;233;48;5;234m\x1b[38;5;238;48;5;237m\x1b[38;5;255;48;5;188m\x1b[38;5;236;48;5;235m\x1b[38;5;238;48;5;249m\x1b[38;5;254;48;5;247m\x1b[38;5;250;48;5;0m\x1b[38;5;253;48;5;237m\x1b[38;5;248;48;5;254m\x1b[38;5;234;48;5;239m\x1b[38;5;232;48;5;234m\x1b[38;5;232;48;5;233m\x1b[38;5;102;48;5;239m\x1b[38;5;247;48;5;59m\x1b[38;5;234;48;5;233m\x1b[38;5;233;48;5;234m\x1b[38;5;233;48;5;233m\x1b[38;5;238;48;5;237m\x1b[48;5;15m \x1b[38;5;254;48;5;255m\x1b[38;5;235;48;5;234m\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;239;48;5;236m\x1b[38;5;233;48;5;232m\x1b[38;5;235;48;5;102m\x1b[38;5;251;48;5;15m\x1b[38;5;247;48;5;233m\x1b[38;5;233;48;5;235m\x1b[38;5;234;48;5;235m\x1b[38;5;235;48;5;234m\x1b[38;5;235;48;5;233m\x1b[38;5;232;48;5;233m\x1b[38;5;249;48;5;7m\x1b[38;5;15;48;5;255m\x1b[38;5;15;48;5;15m\x1b[38;5;253;48;5;15m\x1b[48;5;15m \x1b[38;5;15;48;5;15m\x1b[38;5;254;48;5;15m\x1b[38;5;237;48;5;252m\x1b[38;5;234;48;5;237m\x1b[38;5;235;48;5;233m\x1b[38;5;235;48;5;234m\x1b[38;5;235;48;5;233m\x1b[38;5;234;48;5;234m\x1b[38;5;232;48;5;234m\x1b[38;5;247;48;5;232m\x1b[38;5;188;48;5;254m\x1b[38;5;235;48;5;252m\x1b[38;5;234;48;5;0m\x1b[38;5;237;48;5;237m\x1b[38;5;252;48;5;255m\x1b[38;5;238;48;5;233m\x1b[38;5;252;48;5;243m\x1b[38;5;240;48;5;188m\x1b[38;5;232;48;5;8m\x1b[38;5;233;48;5;145m\x1b[38;5;252;48;5;145m\x1b[38;5;243;48;5;235m\x1b[38;5;239;48;5;239m\x1b[38;5;248;48;5;246m\x1b[38;5;252;48;5;249m\x1b[38;5;252;48;5;254m\x1b[38;5;145;48;5;243m\x1b[38;5;8;48;5;240m\x1b[38;5;0;48;5;234m\x1b[38;5;237;48;5;239m\x1b[48;5;15m \x1b[38;5;253;48;5;253m\x1b[38;5;235;48;5;235m\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;239;48;5;237m\x1b[38;5;233;48;5;235m\x1b[38;5;235;48;5;233m\x1b[38;5;233;48;5;235m\x1b[38;5;235;48;5;251m\x1b[38;5;252;48;5;248m\x1b[38;5;249;48;5;234m\x1b[38;5;233;48;5;234m\x1b[38;5;235;48;5;233m\x1b[38;5;234;48;5;233m\x1b[38;5;249;48;5;249m\x1b[38;5;255;48;5;15m\x1b[38;5;145;48;5;250m\x1b[38;5;232;48;5;0m\x1b[38;5;235;48;5;247m\x1b[38;5;255;48;5;15m\x1b[38;5;15;48;5;255m\x1b[38;5;251;48;5;240m\x1b[38;5;235;48;5;232m\x1b[38;5;234;48;5;234m\x1b[38;5;236;48;5;234m\x1b[38;5;0;48;5;234m\x1b[38;5;248;48;5;232m\x1b[38;5;252;48;5;248m\x1b[38;5;237;48;5;254m\x1b[38;5;233;48;5;236m\x1b[38;5;234;48;5;233m\x1b[38;5;238;48;5;238m\x1b[38;5;253;48;5;254m\x1b[38;5;238;48;5;236m\x1b[38;5;242;48;5;251m\x1b[38;5;253;48;5;243m\x1b[38;5;145;48;5;0m\x1b[38;5;249;48;5;233m\x1b[38;5;251;48;5;188m\x1b[38;5;237;48;5;242m\x1b[38;5;232;48;5;233m\x1b[38;5;235;48;5;232m\x1b[38;5;239;48;5;102m\x1b[38;5;242;48;5;248m\x1b[38;5;233;48;5;233m\x1b[38;5;234;48;5;233m\x1b[38;5;233;48;5;233m\x1b[38;5;238;48;5;238m\x1b[48;5;15m \x1b[38;5;254;48;5;253m\x1b[38;5;235;48;5;235m\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;238;48;5;237m\x1b[38;5;233;48;5;235m\x1b[38;5;236;48;5;233m\x1b[38;5;233;48;5;236m\x1b[38;5;234;48;5;234m\x1b[38;5;234;48;5;232m\x1b[38;5;235;48;5;188m\x1b[38;5;252;48;5;248m\x1b[38;5;249;48;5;233m\x1b[38;5;0;48;5;232m\x1b[38;5;7;48;5;251m\x1b[38;5;15;48;5;255m\x1b[38;5;249;48;5;250m\x1b[38;5;233;48;5;232m\x1b[38;5;234;48;5;233m\x1b[38;5;236;48;5;246m\x1b[38;5;255;48;5;15m\x1b[38;5;254;48;5;239m\x1b[38;5;234;48;5;232m\x1b[38;5;246;48;5;233m\x1b[38;5;254;48;5;247m\x1b[38;5;236;48;5;254m\x1b[38;5;232;48;5;237m\x1b[38;5;235;48;5;232m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;235m\x1b[38;5;235;48;5;235m\x1b[38;5;233;48;5;235m\x1b[38;5;234;48;5;242m\x1b[38;5;233;48;5;235m\x1b[38;5;234;48;5;233m\x1b[38;5;232;48;5;240m\x1b[38;5;233;48;5;246m\x1b[38;5;234;48;5;243m\x1b[38;5;233;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;234m\x1b[38;5;235;48;5;233m\x1b[38;5;234;48;5;236m\x1b[38;5;233;48;5;236m\x1b[38;5;235;48;5;234m\x1b[48;5;235m \x1b[38;5;233;48;5;233m\x1b[38;5;238;48;5;237m\x1b[38;5;15;48;5;15m\x1b[38;5;255;48;5;255m\x1b[38;5;234;48;5;234m\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;238;48;5;237m\x1b[38;5;232;48;5;234m\x1b[38;5;236;48;5;235m\x1b[38;5;235;48;5;233m\x1b[38;5;235;48;5;235m\x1b[38;5;232;48;5;236m\x1b[38;5;235;48;5;233m\x1b[38;5;232;48;5;235m\x1b[38;5;234;48;5;251m\x1b[38;5;188;48;5;248m\x1b[38;5;247;48;5;242m\x1b[38;5;235;48;5;245m\x1b[38;5;233;48;5;243m\x1b[38;5;233;48;5;235m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;234m\x1b[38;5;0;48;5;243m\x1b[38;5;233;48;5;247m\x1b[48;5;246m \x1b[38;5;252;48;5;7m\x1b[38;5;237;48;5;253m\x1b[38;5;233;48;5;236m\x1b[38;5;234;48;5;232m\x1b[38;5;234;48;5;235m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;234m\x1b[38;5;235;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;234;48;5;235m\x1b[38;5;234;48;5;236m\x1b[38;5;235;48;5;233m\x1b[38;5;233;48;5;234m\x1b[38;5;234;48;5;236m\x1b[38;5;234;48;5;234m\x1b[38;5;233;48;5;234m\x1b[38;5;235;48;5;235m\x1b[38;5;235;48;5;234m\x1b[38;5;235;48;5;235m\x1b[38;5;233;48;5;234m\x1b[38;5;233;48;5;233m\x1b[38;5;239;48;5;239m\x1b[38;5;15;48;5;255m\x1b[48;5;255m \x1b[38;5;235;48;5;234m\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;238;48;5;238m\x1b[38;5;235;48;5;235m\x1b[38;5;234;48;5;233m\x1b[38;5;233;48;5;235m\x1b[38;5;237;48;5;233m\x1b[38;5;234;48;5;235m\x1b[38;5;233;48;5;235m\x1b[38;5;234;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;252m\x1b[38;5;251;48;5;246m\x1b[38;5;145;48;5;235m\x1b[38;5;234;48;5;232m\x1b[38;5;233;48;5;234m\x1b[38;5;233;48;5;235m\x1b[38;5;247;48;5;234m\x1b[38;5;254;48;5;246m\x1b[38;5;237;48;5;252m\x1b[38;5;232;48;5;238m\x1b[38;5;233;48;5;232m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;236m\x1b[38;5;234;48;5;232m\x1b[38;5;233;48;5;234m\x1b[38;5;236;48;5;234m\x1b[38;5;234;48;5;233m\x1b[38;5;234;48;5;235m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;235m\x1b[38;5;235;48;5;233m\x1b[38;5;234;48;5;235m\x1b[38;5;233;48;5;236m\x1b[38;5;235;48;5;233m\x1b[38;5;234;48;5;235m\x1b[38;5;233;48;5;236m\x1b[38;5;235;48;5;233m\x1b[38;5;234;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;233m\x1b[38;5;238;48;5;238m\x1b[38;5;15;48;5;15m\x1b[38;5;254;48;5;254m\x1b[38;5;234;48;5;235m\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;235;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;233;48;5;235m\x1b[38;5;237;48;5;7m\x1b[38;5;248;48;5;145m\x1b[38;5;254;48;5;233m\x1b[38;5;251;48;5;248m\x1b[38;5;237;48;5;253m\x1b[38;5;233;48;5;238m\x1b[38;5;234;48;5;0m\x1b[38;5;236;48;5;235m\x1b[38;5;234;48;5;235m\x1b[38;5;233;48;5;234m\x1b[38;5;235;48;5;235m\x1b[38;5;234;48;5;235m\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;234;48;5;233m\x1b[38;5;234;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;235m\x1b[38;5;234;48;5;232m\x1b[38;5;232;48;5;238m\x1b[38;5;233;48;5;247m\x1b[38;5;233;48;5;238m\x1b[38;5;235;48;5;232m\x1b[38;5;235;48;5;233m\x1b[38;5;234;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;235m\x1b[38;5;234;48;5;233m\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;233;48;5;235m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;234m\x1b[48;5;234m \x1b[38;5;235;48;5;234m\x1b[48;5;234m \x1b[38;5;235;48;5;234m\x1b[38;5;233;48;5;236m\x1b[38;5;233;48;5;234m\x1b[38;5;235;48;5;235m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;234m\x1b[38;5;234;48;5;233m\x1b[38;5;234;48;5;235m\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;234;48;5;234m\x1b[38;5;234;48;5;236m\x1b[38;5;235;48;5;233m\x1b[38;5;234;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;235m\x1b[38;5;233;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;234m\x1b[38;5;234;48;5;235m\x1b[38;5;234;48;5;234m\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[38;5;253;48;5;255m\x1b[38;5;15;48;5;15m\x1b[38;5;240;48;5;237m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;235m\x1b[38;5;233;48;5;235m\x1b[38;5;235;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;235;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;233;48;5;236m\x1b[38;5;235;48;5;234m\x1b[38;5;234;48;5;232m\x1b[38;5;239;48;5;238m\x1b[38;5;255;48;5;15m\x1b[38;5;255;48;5;255m\x1b[38;5;234;48;5;234m\x1b[m
\x1b[38;5;242;48;5;145m\x1b[48;5;15m \x1b[38;5;255;48;5;245m\x1b[38;5;239;48;5;0m\x1b[38;5;234;48;5;233m\x1b[38;5;234;48;5;235m\x1b[38;5;234;48;5;234m\x1b[38;5;234;48;5;235m\x1b[38;5;232;48;5;233m\x1b[38;5;233;48;5;235m\x1b[38;5;232;48;5;236m\x1b[38;5;233;48;5;234m\x1b[38;5;239;48;5;233m\x1b[38;5;254;48;5;102m\x1b[38;5;15;48;5;15m\x1b[38;5;8;48;5;253m\x1b[38;5;0;48;5;233m\x1b[m
\x1b[38;5;233;48;5;236m\x1b[38;5;237;48;5;249m\x1b[38;5;249;48;5;15m\x1b[38;5;15;48;5;253m\x1b[38;5;15;48;5;102m\x1b[38;5;15;48;5;238m\x1b[38;5;15;48;5;239m\x1b[38;5;15;48;5;238m\x1b[38;5;15;48;5;59m\x1b[38;5;15;48;5;8m\x1b[38;5;15;48;5;254m\x1b[38;5;248;48;5;15m\x1b[38;5;238;48;5;145m\x1b[38;5;233;48;5;235m\x1b[38;5;235;48;5;234m\x1b[m
\x1b[49;38;5;233m\x1b[49;38;5;235m\x1b[49;38;5;242m\x1b[49;38;5;249m\x1b[49;38;5;254m\x1b[49;38;5;255m\x1b[49;38;5;253m\x1b[49;38;5;255m\x1b[49;38;5;254m\x1b[49;38;5;255m\x1b[49;38;5;254m\x1b[49;38;5;7m\x1b[49;38;5;243m\x1b[49;38;5;235m\x1b[49;38;5;233m\x1b[49;38;5;234m\x1b[49;38;5;233m\x1b[m";
pub async fn handle(session: &ListenerSession, source: String, pool: &DBPool) -> DResult<()> {
pool.start_session(session, &Session { source, ..Default::default() }).await?;
pool.queue_for_session(&session, Some(&ansi!("\
pool.queue_for_session(&session, Some(&(ansi!("\
Welcome to <red>BlastMud<reset> - a text-based post-apocalyptic \
game <bold>restricted to adults (18+)<reset>\r\n\
game <bold>restricted to adults (18+)<reset>\r\n").to_owned() + AUS_RATING_SYMBOL + ansi!("\r\n\
Restricted to 18 and over. High impact violence. Online interactivity.\r\n\
\r\n\
Some commands to get you started:\r\n\
\t<bold>register <lt>username> <lt>password> <lt>email><reset> to register as a new user.\r\n\
\t<bold>login <lt>username> <lt>password><reset> to log in as an existing user.\r\n\
@ -17,6 +48,6 @@ pub async fn handle(session: &ListenerSession, source: String, pool: &DBPool) ->
[Please contact staff@blastmud.org with any feedback or suggestions on how to \r\n\
improve Blastmud, to report any inappropriate user generated content or behaviour, or if you \r\n\
need any other help from the game's operators].\r\n\
Blastmud's privacy policy: https://blastmud.org/privacy/\r\n"))).await?;
Blastmud's privacy policy: https://blastmud.org/privacy/\r\n")))).await?;
Ok(())
}