diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-09-09 20:52:06 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-09 20:52:06 +1000 |
commit | 8457c2e9542230ce6c71d7fc696d4f79e4a5456c (patch) | |
tree | b896e742f817f859cc5e926422dd080fcc7460d6 /source/frontend/StarClientCommandProcessor.cpp | |
parent | 06b865fb844c1e2bbe18f329b7ed5126ce53f5c6 (diff) | |
parent | f59f6be5d33c64f8d0f335f6f6993f05a939afb5 (diff) |
Merge pull request #110 from Lonaasan/main
[Small Addition] Added respawnInWorld Command
Diffstat (limited to 'source/frontend/StarClientCommandProcessor.cpp')
-rw-r--r-- | source/frontend/StarClientCommandProcessor.cpp | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/source/frontend/StarClientCommandProcessor.cpp b/source/frontend/StarClientCommandProcessor.cpp index 2d98289..ac87397 100644 --- a/source/frontend/StarClientCommandProcessor.cpp +++ b/source/frontend/StarClientCommandProcessor.cpp @@ -15,9 +15,9 @@ namespace Star { ClientCommandProcessor::ClientCommandProcessor(UniverseClientPtr universeClient, CinematicPtr cinematicOverlay, - MainInterfacePaneManager* paneManager, StringMap<StringList> macroCommands) + MainInterfacePaneManager* paneManager, StringMap<StringList> macroCommands) : m_universeClient(std::move(universeClient)), m_cinematicOverlay(std::move(cinematicOverlay)), - m_paneManager(paneManager), m_macroCommands(std::move(macroCommands)) { + m_paneManager(paneManager), m_macroCommands(std::move(macroCommands)) { m_builtinCommands = { {"reload", bind(&ClientCommandProcessor::reload, this)}, {"whoami", bind(&ClientCommandProcessor::whoami, this)}, @@ -51,7 +51,8 @@ ClientCommandProcessor::ClientCommandProcessor(UniverseClientPtr universeClient, {"maketechavailable", bind(&ClientCommandProcessor::makeTechAvailable, this, _1)}, {"enabletech", bind(&ClientCommandProcessor::enableTech, this, _1)}, {"upgradeship", bind(&ClientCommandProcessor::upgradeShip, this, _1)}, - {"swap", bind(&ClientCommandProcessor::swap, this, _1)} + {"swap", bind(&ClientCommandProcessor::swap, this, _1)}, + {"respawnInWorld", bind(&ClientCommandProcessor::respawnInWorld, this, _1)} }; } @@ -128,7 +129,7 @@ String ClientCommandProcessor::reload() { String ClientCommandProcessor::whoami() { return strf("Client: You are {}. You are {}an Admin.", - m_universeClient->mainPlayer()->name(), m_universeClient->mainPlayer()->isAdmin() ? "" : "not "); + m_universeClient->mainPlayer()->name(), m_universeClient->mainPlayer()->isAdmin() ? "" : "not "); } String ClientCommandProcessor::gravity() { @@ -186,7 +187,7 @@ String ClientCommandProcessor::setGravity(String const& argumentsString) { return "You must be an admin to use this command."; m_universeClient->worldClient()->overrideGravity(lexicalCast<float>(arguments.at(0))); - return strf("Gravity set to {}, the change is LOCAL ONLY", arguments.at(0)); + return strf("Gravity set to {} (This is client-side!)", arguments.at(0)); } String ClientCommandProcessor::resetGravity() { @@ -273,8 +274,8 @@ String ClientCommandProcessor::previewNewQuest(String const& argumentsString) { return "You must be an admin to use this command."; return previewQuestPane(arguments, [this](QuestPtr const& quest) { - return make_shared<NewQuestInterface>(m_universeClient->questManager(), quest, m_universeClient->mainPlayer()); - }); + return make_shared<NewQuestInterface>(m_universeClient->questManager(), quest, m_universeClient->mainPlayer()); + }); } String ClientCommandProcessor::previewQuestComplete(String const& argumentsString) { @@ -283,8 +284,8 @@ String ClientCommandProcessor::previewQuestComplete(String const& argumentsStrin return "You must be an admin to use this command."; return previewQuestPane(arguments, [this](QuestPtr const& quest) { - return make_shared<QuestCompleteInterface>(quest, m_universeClient->mainPlayer(), CinematicPtr{}); - }); + return make_shared<QuestCompleteInterface>(quest, m_universeClient->mainPlayer(), CinematicPtr{}); + }); } String ClientCommandProcessor::previewQuestFailed(String const& argumentsString) { @@ -293,8 +294,8 @@ String ClientCommandProcessor::previewQuestFailed(String const& argumentsString) return "You must be an admin to use this command."; return previewQuestPane(arguments, [this](QuestPtr const& quest) { - return make_shared<QuestFailedInterface>(quest, m_universeClient->mainPlayer()); - }); + return make_shared<QuestFailedInterface>(quest, m_universeClient->mainPlayer()); + }); } String ClientCommandProcessor::clearScannedObjects() { @@ -427,4 +428,16 @@ String ClientCommandProcessor::swap(String const& argumentsString) { return "Failed to swap player"; } +String ClientCommandProcessor::respawnInWorld(String const& argumentsString) { + auto arguments = m_parser.tokenizeToStringList(argumentsString); + auto worldClient = m_universeClient->worldClient(); + + if (arguments.size() == 0) + return strf("Respawn in this world is currently {}", worldClient->respawnInWorld() ? "true" : "false"); + + bool respawnInWorld = Json::parse(arguments.at(0)).toBool(); + worldClient->setRespawnInWorld(respawnInWorld); + return strf("Respawn in this world set to {} (This is client-side!)", respawnInWorld ? "true" : "false"); } + +}
\ No newline at end of file |