#pragma once #include #include #include "Client.hh" #include "ServerState.hh" std::shared_ptr create_game_generic( std::shared_ptr s, std::shared_ptr c, const std::string& name, const std::string& password = "", Episode episode = Episode::EP1, GameMode mode = GameMode::NORMAL, uint8_t difficulty = 0, bool allow_v1 = false, std::shared_ptr watched_lobby = nullptr, std::shared_ptr battle_player = nullptr); void set_lobby_quest(std::shared_ptr l, std::shared_ptr q); void on_connect(std::shared_ptr c); void on_disconnect(std::shared_ptr c); void on_login_complete(std::shared_ptr c); void on_command(std::shared_ptr c, uint16_t command, uint32_t flag, std::string& data); void on_command_with_header(std::shared_ptr c, const std::string& data); void send_client_to_login_server(std::shared_ptr c); void send_client_to_lobby_server(std::shared_ptr c); void send_client_to_proxy_server(std::shared_ptr c);