From 9a8d1dbf06ecf9e43a9f64c8e7563a784d69551c Mon Sep 17 00:00:00 2001 From: JAJames Date: Mon, 8 Feb 2016 07:01:44 -0500 Subject: [PATCH] Updated some RCON parsing Updated the "gameover" IRCCommand's help message. --- Release/Plugins/RenX.Core.lib | Bin 192518 -> 192518 bytes RenX.Commands/RenX_Commands.cpp | 2 +- RenX.Core/RenX_Server.cpp | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index bd893403cff11fe474284dfe5d8544d91938b37c..2b39927b36a4a2bdc1d29c29c2578f87526973ed 100644 GIT binary patch delta 11693 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 B`wsvB diff --git a/RenX.Commands/RenX_Commands.cpp b/RenX.Commands/RenX_Commands.cpp index 62468ee..d87e54d 100644 --- a/RenX.Commands/RenX_Commands.cpp +++ b/RenX.Commands/RenX_Commands.cpp @@ -1350,7 +1350,7 @@ void GameOverIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString const Jupiter::ReadableString &GameOverIRCCommand::getHelp(const Jupiter::ReadableString &) { - static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Forcefully ends the game in progress. Syntax: Gameover [NOW | STOP | Empty | Seconds = 10]"); + static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Forcefully ends the game in progress. Syntax: Gameover [NOW | STOP | [If] Empty | Seconds = 10]"); return defaultHelp; } diff --git a/RenX.Core/RenX_Server.cpp b/RenX.Core/RenX_Server.cpp index a7e15e0..95b3f2b 100644 --- a/RenX.Core/RenX_Server.cpp +++ b/RenX.Core/RenX_Server.cpp @@ -1812,6 +1812,38 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) onAction(); } else if (subHeader.equals("Exploded;")) + { + // Pre-5.15: + // Explosive | "at" | Location + // Explosive | "at" | Location | "by" | Owner + // 5.15+: + // Explosive | "near" | Spot Location | "at" | Location | "by" | Owner + // Explosive | "near" | Spot Location | "at" | Location + Jupiter::ReferenceString explosive = tokens.getToken(2); + if (tokens.getToken(5).equals("at")) // 5.15+ + { + if (tokens.getToken(7).equals("by")) // Player information specified + { + RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(8)); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnExplode(this, player, explosive); + } + else // No player information specified + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnExplode(this, explosive); + } + else if (tokens.getToken(5).equals("by")) // Pre-5.15 with player information specified + { + RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(6)); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnExplode(this, player, explosive); + } + else // Pre-5.15 with no player information specified + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnExplode(this, explosive); + onAction(); + } + else if (subHeader.equals("ProjectileExploded;")) { // Explosive | "at" | Location // Explosive | "at" | Location | "by" | Owner