diff --git a/Bot/Bot.vcxproj b/Bot/Bot.vcxproj index e5b5f64..5d7b0e5 100644 --- a/Bot/Bot.vcxproj +++ b/Bot/Bot.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -20,13 +20,13 @@ Application true - v120 + v140 Unicode Application false - v120 + v140 true Unicode diff --git a/CoreCommands/CoreCommands.vcxproj b/CoreCommands/CoreCommands.vcxproj index 773e88f..c3ffabd 100644 --- a/CoreCommands/CoreCommands.vcxproj +++ b/CoreCommands/CoreCommands.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -19,13 +19,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/ExtraCommands/ExtraCommands.vcxproj b/ExtraCommands/ExtraCommands.vcxproj index 16619e9..c789d45 100644 --- a/ExtraCommands/ExtraCommands.vcxproj +++ b/ExtraCommands/ExtraCommands.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/FunCommands/FunCommands.vcxproj b/FunCommands/FunCommands.vcxproj index 94ac5ae..a2f1bca 100644 --- a/FunCommands/FunCommands.vcxproj +++ b/FunCommands/FunCommands.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/Jupiter b/Jupiter index 884357b..95bc71a 160000 --- a/Jupiter +++ b/Jupiter @@ -1 +1 @@ -Subproject commit 884357b443381ac8034c7ec6ce30bc46a20c08e7 +Subproject commit 95bc71a5f6701aa8442ae77bcdcaa51699413189 diff --git a/Plugin.Example/Plugin.Example.vcxproj b/Plugin.Example/Plugin.Example.vcxproj index 2b14ef8..5ef3426 100644 --- a/Plugin.Example/Plugin.Example.vcxproj +++ b/Plugin.Example/Plugin.Example.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/Plugin.Template/Plugin.Template.vcxproj b/Plugin.Template/Plugin.Template.vcxproj index 14331ec..02a6afe 100644 --- a/Plugin.Template/Plugin.Template.vcxproj +++ b/Plugin.Template/Plugin.Template.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/PluginManager/PluginManager.vcxproj b/PluginManager/PluginManager.vcxproj index 65afd4e..3abf96b 100644 --- a/PluginManager/PluginManager.vcxproj +++ b/PluginManager/PluginManager.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -19,13 +19,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/Release/Bot.lib b/Release/Bot.lib index 8509c81..6141454 100644 Binary files a/Release/Bot.lib and b/Release/Bot.lib differ diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index 04f4cb0..8886d02 100644 Binary files a/Release/Plugins/RenX.Core.lib and b/Release/Plugins/RenX.Core.lib differ diff --git a/RenX.Announcements/RenX.Announcements.vcxproj b/RenX.Announcements/RenX.Announcements.vcxproj index a96afff..c613ef0 100644 --- a/RenX.Announcements/RenX.Announcements.vcxproj +++ b/RenX.Announcements/RenX.Announcements.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.Commands/RenX.Commands.vcxproj b/RenX.Commands/RenX.Commands.vcxproj index 72baa28..ac81f7c 100644 --- a/RenX.Commands/RenX.Commands.vcxproj +++ b/RenX.Commands/RenX.Commands.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.Core/RenX.Core.vcxproj b/RenX.Core/RenX.Core.vcxproj index 5811436..18d2c1f 100644 --- a/RenX.Core/RenX.Core.vcxproj +++ b/RenX.Core/RenX.Core.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -19,13 +19,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.Core/RenX_Functions.cpp b/RenX.Core/RenX_Functions.cpp index 6cf0cc6..720e548 100644 --- a/RenX.Core/RenX_Functions.cpp +++ b/RenX.Core/RenX_Functions.cpp @@ -123,6 +123,7 @@ Jupiter::ReferenceString translated_Weapon_DeployedProxyC4 = STRING_LITERAL_AS_R Jupiter::ReferenceString translated_Weapon_DeployedATMine = STRING_LITERAL_AS_REFERENCE("Anti-Tank Mine"); Jupiter::ReferenceString translated_Weapon_DeployedIonCannonBeacon = STRING_LITERAL_AS_REFERENCE("Ion Cannon Beacon"); Jupiter::ReferenceString translated_Weapon_DeployedNukeBeacon = STRING_LITERAL_AS_REFERENCE("Nuclear Missile Beacon"); +Jupiter::ReferenceString translated_Weapon_CrateNuke = STRING_LITERAL_AS_REFERENCE("Nuclear Crate Explosion"); /** Projectiles */ Jupiter::ReferenceString translated_Projectile_EMPGrenade = STRING_LITERAL_AS_REFERENCE("EMP Grenade"); @@ -438,7 +439,7 @@ const Jupiter::ReferenceString &translateCharacter(Jupiter::ReferenceString &obj return object; } -const Jupiter::ReadableString &RenX::translateName(const Jupiter::ReadableString &obj) +const Jupiter::ReferenceString RenX::translateName(const Jupiter::ReadableString &obj) { if (obj.isEmpty()) return Jupiter::ReferenceString::empty; @@ -508,6 +509,7 @@ const Jupiter::ReadableString &RenX::translateName(const Jupiter::ReadableString if (object.equals(STRING_LITERAL_AS_REFERENCE("DeployedATMine"))) return translated_Weapon_DeployedATMine; if (object.equals(STRING_LITERAL_AS_REFERENCE("DeployedIonCannonBeacon"))) return translated_Weapon_DeployedIonCannonBeacon; if (object.equals(STRING_LITERAL_AS_REFERENCE("DeployedNukeBeacon"))) return translated_Weapon_DeployedNukeBeacon; + if (object.equals(STRING_LITERAL_AS_REFERENCE("CrateNuke"))) return translated_Weapon_CrateNuke; } else if (object.find(STRING_LITERAL_AS_REFERENCE("Projectile_")) == 0) { diff --git a/RenX.Core/RenX_Functions.h b/RenX.Core/RenX_Functions.h index 9deb647..8d38bac 100644 --- a/RenX.Core/RenX_Functions.h +++ b/RenX.Core/RenX_Functions.h @@ -98,7 +98,7 @@ namespace RenX * @param object Preset to translate. * @return Translated name of the preset. */ - RENX_API const Jupiter::ReadableString &translateName(const Jupiter::ReadableString &object); + RENX_API const Jupiter::ReferenceString translateName(const Jupiter::ReadableString &object); /** * @brief Translates a WinType into a human-readable string. diff --git a/RenX.Core/RenX_Plugin.cpp b/RenX.Core/RenX_Plugin.cpp index edf3e7d..7f50a47 100644 --- a/RenX.Core/RenX_Plugin.cpp +++ b/RenX.Core/RenX_Plugin.cpp @@ -80,6 +80,11 @@ void RenX::Plugin::RenX_OnPart(Server *, const RenX::PlayerInfo *) return; } +void RenX::Plugin::RenX_OnKick(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &reason) +{ + return; +} + void RenX::Plugin::RenX_OnNameChange(Server *, const PlayerInfo *, const Jupiter::ReadableString &) { return; @@ -270,6 +275,36 @@ void RenX::Plugin::RenX_OnRefillCrate(Server *, const PlayerInfo *) return; } +void RenX::Plugin::RenX_OnTimeBombCrate(Server *server, const PlayerInfo *player) +{ + return; +} + +void RenX::Plugin::RenX_OnSpeedCrate(Server *server, const PlayerInfo *player) +{ + return; +} + +void RenX::Plugin::RenX_OnNukeCrate(Server *server, const PlayerInfo *player) +{ + return; +} + +void RenX::Plugin::RenX_OnAbductionCrate(Server *server, const PlayerInfo *player) +{ + return; +} + +void RenX::Plugin::RenX_OnUnspecifiedCrate(Server *server, const PlayerInfo *player) +{ + return; +} + +void RenX::Plugin::RenX_OnOtherCrate(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &) +{ + return; +} + void RenX::Plugin::RenX_OnSteal(Server *, const PlayerInfo *, const Jupiter::ReadableString &) { return; diff --git a/RenX.Core/RenX_Plugin.h b/RenX.Core/RenX_Plugin.h index 5f2a175..4bb0be6 100644 --- a/RenX.Core/RenX_Plugin.h +++ b/RenX.Core/RenX_Plugin.h @@ -52,6 +52,7 @@ namespace RenX /** Player type logs */ virtual void RenX_OnJoin(Server *server, const PlayerInfo *player); virtual void RenX_OnPart(Server *server, const PlayerInfo *player); + virtual void RenX_OnKick(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &reason); virtual void RenX_OnNameChange(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &newPlayerName); virtual void RenX_OnTeamChange(Server *server, const PlayerInfo *player, const TeamType &oldTeam); virtual void RenX_OnIDChange(Server *server, const PlayerInfo *player, int oldID); @@ -94,6 +95,12 @@ namespace RenX virtual void RenX_OnCharacterCrate(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &character); virtual void RenX_OnSpyCrate(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &character); virtual void RenX_OnRefillCrate(Server *server, const PlayerInfo *player); + virtual void RenX_OnTimeBombCrate(Server *server, const PlayerInfo *player); + virtual void RenX_OnSpeedCrate(Server *server, const PlayerInfo *player); + virtual void RenX_OnNukeCrate(Server *server, const PlayerInfo *player); + virtual void RenX_OnAbductionCrate(Server *server, const PlayerInfo *player); + virtual void RenX_OnUnspecifiedCrate(Server *server, const PlayerInfo *player); + virtual void RenX_OnOtherCrate(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &type); virtual void RenX_OnSteal(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &vehicle); virtual void RenX_OnSteal(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &vehicle, const PlayerInfo *victim); virtual void RenX_OnDonate(Server *server, const PlayerInfo *donor, const PlayerInfo *player, double amount); diff --git a/RenX.Core/RenX_Server.cpp b/RenX.Core/RenX_Server.cpp index c695c4e..55b3e50 100644 --- a/RenX.Core/RenX_Server.cpp +++ b/RenX.Core/RenX_Server.cpp @@ -906,6 +906,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) r = new RenX::PlayerInfo(); r->id = id; r->name = name; + r->name.processEscapeSequences(); r->team = team; r->ip = ip; r->ip32 = Jupiter::Socket::pton4(Jupiter::CStringS(r->ip).c_str()); @@ -1066,7 +1067,10 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) if (player != nullptr) { if (player->name.isEmpty()) + { player->name = table.get(STRING_LITERAL_AS_REFERENCE("Name")); + player->name.processEscapeSequences(); + } if (player->ip.isEmpty()) player->ip = table.get(STRING_LITERAL_AS_REFERENCE("IP")); if (player->steamid == 0) @@ -1203,7 +1207,10 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) if (player != nullptr) { if (player->name.isEmpty()) + { player->name = table.get(STRING_LITERAL_AS_REFERENCE("Name")); + player->name.processEscapeSequences(); + } pair = table.getPair(STRING_LITERAL_AS_REFERENCE("TeamNum")); if (pair != nullptr) @@ -1242,8 +1249,16 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) buff.shiftLeft(1); } else if (this->lastCommand.equalsi("map")) - { this->map = buff.substring(1); + else if (this->lastCommand.equalsi("changename")) + { + buff.shiftRight(1); + RenX::PlayerInfo *player = parseGetPlayerOrAdd(buff.getToken(0, RenX::DelimC)); + Jupiter::StringS newName = buff.getToken(2, RenX::DelimC); + newName.processEscapeSequences(); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnNameChange(this, player, newName); + player->name = newName; } break; case 'l': @@ -1398,10 +1413,16 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { // "vehicle" | Vehicle | "by" | Player // "death" | "by" | Player + // "suicide" | "by" | Player // "money" | Amount | "by" | Player // "character" | Character | "by" | Player // "spy" | Character | "by" | Player // "refill" | "by" | Player + // "timebomb" | "by" | Player + // "speed" | "by" | Player + // "nuke" | "by" | Player + // "abduction" | "by" | Player + // "by" | Player Jupiter::ReferenceString type = buff.getToken(2, RenX::DelimC); if (type.equals("vehicle")) { @@ -1410,7 +1431,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) for (size_t i = 0; i < xPlugins.size(); i++) xPlugins.get(i)->RenX_OnVehicleCrate(this, player, vehicle); } - else if (type.equals("death")) + else if (type.equals("death") || type.equals("suicide")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(buff.getToken(4, RenX::DelimC)); for (size_t i = 0; i < xPlugins.size(); i++) @@ -1445,6 +1466,46 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) for (size_t i = 0; i < xPlugins.size(); i++) xPlugins.get(i)->RenX_OnRefillCrate(this, player); } + else if (type.equals("timebomb")) + { + RenX::PlayerInfo *player = parseGetPlayerOrAdd(buff.getToken(4, RenX::DelimC)); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnTimeBombCrate(this, player); + } + else if (type.equals("speed")) + { + RenX::PlayerInfo *player = parseGetPlayerOrAdd(buff.getToken(4, RenX::DelimC)); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnSpeedCrate(this, player); + } + else if (type.equals("nuke")) + { + RenX::PlayerInfo *player = parseGetPlayerOrAdd(buff.getToken(4, RenX::DelimC)); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnNukeCrate(this, player); + } + else if (type.equals("abduction")) + { + RenX::PlayerInfo *player = parseGetPlayerOrAdd(buff.getToken(4, RenX::DelimC)); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnAbductionCrate(this, player); + } + else if (type.equals("by")) + { + RenX::PlayerInfo *player = parseGetPlayerOrAdd(buff.getToken(3, RenX::DelimC)); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnUnspecifiedCrate(this, player); + } + else + { + RenX::PlayerInfo *player = nullptr; + if (buff.getToken(3, RenX::DelimC).equals("by")) + player = parseGetPlayerOrAdd(buff.getToken(4, RenX::DelimC)); + + if (player != nullptr) + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnOtherCrate(this, player, type); + } } else if (subHeader.equals("Death;")) { @@ -1725,11 +1786,20 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) xPlugins.get(i)->RenX_OnPart(this, player); this->removePlayer(player); } + else if (subHeader.equals("Kick;")) + { + // Player | "for" | Reason + const Jupiter::ReadableString &reason = buff.getToken(4, RenX::DelimC); + RenX::PlayerInfo *player = parseGetPlayerOrAdd(buff.getToken(2, RenX::DelimC)); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnKick(this, player, reason); + } else if (subHeader.equals("NameChange;")) { // Player | "to:" | New Name RenX::PlayerInfo *player = parseGetPlayerOrAdd(buff.getToken(2, RenX::DelimC)); - Jupiter::ReferenceString newName = buff.getToken(4, RenX::DelimC); + Jupiter::StringS newName = buff.getToken(4, RenX::DelimC); + newName.processEscapeSequences(); for (size_t i = 0; i < xPlugins.size(); i++) xPlugins.get(i)->RenX_OnNameChange(this, player, newName); player->name = newName; diff --git a/RenX.DNS/RenX.DNS.vcxproj b/RenX.DNS/RenX.DNS.vcxproj index 62dd4ea..1c7be39 100644 --- a/RenX.DNS/RenX.DNS.vcxproj +++ b/RenX.DNS/RenX.DNS.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.ExcessiveHeadshots/RenX.ExcessiveHeadshots.vcxproj b/RenX.ExcessiveHeadshots/RenX.ExcessiveHeadshots.vcxproj index 7318eef..a5ea79d 100644 --- a/RenX.ExcessiveHeadshots/RenX.ExcessiveHeadshots.vcxproj +++ b/RenX.ExcessiveHeadshots/RenX.ExcessiveHeadshots.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.ExtraLogging/RenX.ExtraLogging.vcxproj b/RenX.ExtraLogging/RenX.ExtraLogging.vcxproj index cbc85d5..47e4882 100644 --- a/RenX.ExtraLogging/RenX.ExtraLogging.vcxproj +++ b/RenX.ExtraLogging/RenX.ExtraLogging.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.Greetings/RenX.Greetings.vcxproj b/RenX.Greetings/RenX.Greetings.vcxproj index 2ad44a3..3aa47a4 100644 --- a/RenX.Greetings/RenX.Greetings.vcxproj +++ b/RenX.Greetings/RenX.Greetings.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -19,13 +19,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.HybridUUID/RenX.HybridUUID.vcxproj b/RenX.HybridUUID/RenX.HybridUUID.vcxproj index d1d9d02..c3f9f47 100644 --- a/RenX.HybridUUID/RenX.HybridUUID.vcxproj +++ b/RenX.HybridUUID/RenX.HybridUUID.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.IRCJoin/RenX.IRCJoin.vcxproj b/RenX.IRCJoin/RenX.IRCJoin.vcxproj index 7fba758..0488448 100644 --- a/RenX.IRCJoin/RenX.IRCJoin.vcxproj +++ b/RenX.IRCJoin/RenX.IRCJoin.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.Logging/RenX.Logging.vcxproj b/RenX.Logging/RenX.Logging.vcxproj index 0b76907..9dfdcd7 100644 --- a/RenX.Logging/RenX.Logging.vcxproj +++ b/RenX.Logging/RenX.Logging.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.Logging/RenX_Logging.cpp b/RenX.Logging/RenX_Logging.cpp index 7868681..646287d 100644 --- a/RenX.Logging/RenX_Logging.cpp +++ b/RenX.Logging/RenX_Logging.cpp @@ -26,8 +26,10 @@ void RenX_LoggingPlugin::init() { + RenX_LoggingPlugin::muteOwnExecute = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("MuteOwnExecute"), true); RenX_LoggingPlugin::joinPublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("JoinPublic"), true); RenX_LoggingPlugin::partPublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("PartPublic"), true); + RenX_LoggingPlugin::kickPublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("KickPublic"), true); RenX_LoggingPlugin::nameChangePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("NameChangePublic"), true); RenX_LoggingPlugin::teamChangePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("TeamChangePublic"), true); RenX_LoggingPlugin::playerPublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("PlayerPublic"), false); @@ -56,11 +58,17 @@ void RenX_LoggingPlugin::init() RenX_LoggingPlugin::spawnPublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("SpawnPublic"), true); RenX_LoggingPlugin::botJoinPublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("BotJoinPublic"), true); RenX_LoggingPlugin::vehicleCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("VehicleCratePublic"), false); - RenX_LoggingPlugin::deathCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("DeathCratePublic"), false); + RenX_LoggingPlugin::deathCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("DeathCratePublic"), true); RenX_LoggingPlugin::moneyCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("MoneyCratePublic"), false); RenX_LoggingPlugin::characterCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("CharacterCratePublic"), false); RenX_LoggingPlugin::spyCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("SpyCratePublic"), false); RenX_LoggingPlugin::refillCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("RefillCratePublic"), false); + RenX_LoggingPlugin::timeBombCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("TimeBombCratePublic"), false); + RenX_LoggingPlugin::speedCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("SpeedCratePublic"), false); + RenX_LoggingPlugin::nukeCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("NukeCratePublic"), true); + RenX_LoggingPlugin::abductionCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("AbductionCratePublic"), true); + RenX_LoggingPlugin::unspecifiedCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("UnspecifiedCratePublic"), false); + RenX_LoggingPlugin::otherCratePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("OtherCratePublic"), false); RenX_LoggingPlugin::stealPublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("StealPublic"), true); RenX_LoggingPlugin::donatePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("DonatePublic"), true); RenX_LoggingPlugin::gamePublic = Jupiter::IRC::Client::Config->getBool(RenX_LoggingPlugin::getName(), STRING_LITERAL_AS_REFERENCE("GamePublic"), true); @@ -102,6 +110,9 @@ void RenX_LoggingPlugin::init() RenX_LoggingPlugin::partFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("PartFormat"), Jupiter::StringS::Format(IRCCOLOR "12[Part] " IRCBOLD "%.*s" IRCBOLD " left the %.*s.", RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr(), RenX::tags->teamLongTag.size(), RenX::tags->teamLongTag.ptr())); + RenX_LoggingPlugin::kickFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("KickFormat"), + Jupiter::StringS::Format(IRCCOLOR "04[Kick] " IRCBOLD "%.*s" IRCCOLOR IRCBOLD " was " IRCBOLD IRCCOLOR "04kicked" IRCCOLOR IRCBOLD " from the server for \"" IRCCOLOR "04%.*s" IRCCOLOR "\".", RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr(), RenX::tags->messageTag.size(), RenX::tags->messageTag.ptr())); + RenX_LoggingPlugin::playerExecuteFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("PlayerExecuteFormat"), Jupiter::StringS::Format("%.*s" IRCCOLOR "07 executed: %.*s", RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr(), RenX::tags->messageTag.size(), RenX::tags->messageTag.ptr())); @@ -136,7 +147,7 @@ void RenX_LoggingPlugin::init() RenX_LoggingPlugin::deployFmt); RenX_LoggingPlugin::disarmFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("DisarmFormat"), - Jupiter::StringS::Format(IRCBOLD "%.*s" IRCBOLD " disarmed %.*s's " IRCBOLD "%.*s" IRCBOLD, RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr(), RenX::tags->victimNameTag.size(), RenX::tags->victimNameTag.ptr(), RenX::tags->objectTag.size(), RenX::tags->objectTag.ptr())); + Jupiter::StringS::Format(IRCBOLD "%.*s" IRCCOLOR IRCBOLD " disarmed %.*s" IRCBOLD IRCCOLOR "'s " IRCCOLOR "12%.*s" IRCBOLD, RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr(), RenX::tags->victimNameTag.size(), RenX::tags->victimNameTag.ptr(), RenX::tags->objectTag.size(), RenX::tags->objectTag.ptr())); RenX_LoggingPlugin::mineDisarmFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("MineDisarmFormat"), RenX_LoggingPlugin::disarmFmt); @@ -234,6 +245,24 @@ void RenX_LoggingPlugin::init() RenX_LoggingPlugin::refillCrateFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("RefillCrateFormat"), Jupiter::StringS::Format(IRCBOLD "%.*s" IRCCOLOR IRCBOLD " picked up a " IRCCOLOR "%.*srefill" IRCCOLOR " crate.", RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr(), RenX::tags->teamColorTag.size(), RenX::tags->teamColorTag.ptr())); + RenX_LoggingPlugin::timeBombCrateFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("TimeBombCrateFormat"), + Jupiter::StringS::Format(IRCBOLD "%.*s" IRCCOLOR IRCBOLD " picked up a " IRCCOLOR "11time-bomb" IRCCOLOR " crate.", RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr())); + + RenX_LoggingPlugin::speedCrateFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("SpeedCrateFormat"), + Jupiter::StringS::Format(IRCBOLD "%.*s" IRCCOLOR IRCBOLD " picked up a " IRCCOLOR "11speed" IRCCOLOR " crate.", RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr())); + + RenX_LoggingPlugin::nukeCrateFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("NukeCrateFormat"), + Jupiter::StringS::Format(IRCBOLD "%.*s" IRCCOLOR IRCBOLD " picked up a " IRCCOLOR "04nuke" IRCCOLOR " crate.", RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr())); + + RenX_LoggingPlugin::abductionCrateFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("AbductionCrateFormat"), + Jupiter::StringS::Format(IRCBOLD "%.*s" IRCCOLOR IRCBOLD " has been " IRCBOLD IRCCOLOR "06abducted" IRCCOLOR IRCBOLD " by the " IRCBOLD IRCCOLOR "06Scrin" IRCCOLOR IRCBOLD "!", RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr())); + + RenX_LoggingPlugin::unspecifiedCrateFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("UnspecifiedCrateFormat"), + Jupiter::StringS::Format(IRCBOLD "%.*s" IRCCOLOR IRCBOLD " picked up an " IRCCOLOR "13unspecified" IRCCOLOR " crate.", RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr())); + + RenX_LoggingPlugin::otherCrateFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("OtherCrateFormat"), + Jupiter::StringS::Format(IRCBOLD "%.*s" IRCCOLOR IRCBOLD " picked up a " IRCCOLOR "13%.*s" IRCCOLOR " crate.", RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr(), RenX::tags->objectTag.size(), RenX::tags->objectTag.ptr())); + RenX_LoggingPlugin::stealFmt = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("StealFormat"), Jupiter::StringS::Format(IRCBOLD "%.*s" IRCCOLOR IRCBOLD " stole " IRCBOLD "%.*s" IRCBOLD "'s " IRCBOLD "%.*s" IRCBOLD "!", RenX::tags->nameTag.size(), RenX::tags->nameTag.ptr(), RenX::tags->victimNameTag.size(), RenX::tags->victimNameTag.ptr(), RenX::tags->objectTag.size(), RenX::tags->objectTag.ptr())); @@ -338,6 +367,7 @@ void RenX_LoggingPlugin::init() RenX::sanitizeTags(joinAdminFmt); RenX::sanitizeTags(joinNoSteamAdminFmt); RenX::sanitizeTags(partFmt); + RenX::sanitizeTags(kickFmt); RenX::sanitizeTags(nameChangeFmt); RenX::sanitizeTags(teamChangeFmt); RenX::sanitizeTags(playerFmt); @@ -379,6 +409,12 @@ void RenX_LoggingPlugin::init() RenX::sanitizeTags(characterCrateFmt); RenX::sanitizeTags(spyCrateFmt); RenX::sanitizeTags(refillCrateFmt); + RenX::sanitizeTags(timeBombCrateFmt); + RenX::sanitizeTags(speedCrateFmt); + RenX::sanitizeTags(nukeCrateFmt); + RenX::sanitizeTags(abductionCrateFmt); + RenX::sanitizeTags(unspecifiedCrateFmt); + RenX::sanitizeTags(otherCrateFmt); RenX::sanitizeTags(stealFmt); RenX::sanitizeTags(stealNoOwnerFmt); RenX::sanitizeTags(donateFmt); @@ -458,6 +494,23 @@ void RenX_LoggingPlugin::RenX_OnPart(RenX::Server *server, const RenX::PlayerInf } } +void RenX_LoggingPlugin::RenX_OnKick(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &reason) +{ + logFuncType func; + if (RenX_LoggingPlugin::kickPublic) + func = &RenX::Server::sendLogChan; + else + func = &RenX::Server::sendAdmChan; + + Jupiter::String msg = this->kickFmt; + if (msg.isEmpty() == false) + { + RenX::processTags(msg, server, player); + msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, reason); + (server->*func)(msg); + } +} + void RenX_LoggingPlugin::RenX_OnNameChange(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &newPlayerName) { logFuncType func; @@ -1124,6 +1177,7 @@ void RenX_LoggingPlugin::RenX_OnSpyCrate(RenX::Server *server, const RenX::Playe if (msg.isEmpty() == false) { RenX::processTags(msg, server, player); + msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(RenX::getEnemy(player->team))); msg.replace(RenX::tags->INTERNAL_VICTIM_CHARACTER_TAG, RenX::translateName(character)); (server->*func)(msg); } @@ -1145,6 +1199,103 @@ void RenX_LoggingPlugin::RenX_OnRefillCrate(RenX::Server *server, const RenX::Pl } } +void RenX_LoggingPlugin::RenX_OnTimeBombCrate(RenX::Server *server, const RenX::PlayerInfo *player) +{ + logFuncType func; + if (RenX_LoggingPlugin::timeBombCratePublic) + func = &RenX::Server::sendLogChan; + else + func = &RenX::Server::sendAdmChan; + + Jupiter::String msg = this->timeBombCrateFmt; + if (msg.isEmpty() == false) + { + RenX::processTags(msg, server, player); + (server->*func)(msg); + } +} + +void RenX_LoggingPlugin::RenX_OnSpeedCrate(RenX::Server *server, const RenX::PlayerInfo *player) +{ + logFuncType func; + if (RenX_LoggingPlugin::speedCratePublic) + func = &RenX::Server::sendLogChan; + else + func = &RenX::Server::sendAdmChan; + + Jupiter::String msg = this->speedCrateFmt; + if (msg.isEmpty() == false) + { + RenX::processTags(msg, server, player); + (server->*func)(msg); + } +} + +void RenX_LoggingPlugin::RenX_OnNukeCrate(RenX::Server *server, const RenX::PlayerInfo *player) +{ + logFuncType func; + if (RenX_LoggingPlugin::nukeCratePublic) + func = &RenX::Server::sendLogChan; + else + func = &RenX::Server::sendAdmChan; + + Jupiter::String msg = this->nukeCrateFmt; + if (msg.isEmpty() == false) + { + RenX::processTags(msg, server, player); + (server->*func)(msg); + } +} + +void RenX_LoggingPlugin::RenX_OnAbductionCrate(RenX::Server *server, const RenX::PlayerInfo *player) +{ + logFuncType func; + if (RenX_LoggingPlugin::abductionCratePublic) + func = &RenX::Server::sendLogChan; + else + func = &RenX::Server::sendAdmChan; + + Jupiter::String msg = this->abductionCrateFmt; + if (msg.isEmpty() == false) + { + RenX::processTags(msg, server, player); + (server->*func)(msg); + } +} + +void RenX_LoggingPlugin::RenX_OnUnspecifiedCrate(RenX::Server *server, const RenX::PlayerInfo *player) +{ + logFuncType func; + if (RenX_LoggingPlugin::unspecifiedCratePublic) + func = &RenX::Server::sendLogChan; + else + func = &RenX::Server::sendAdmChan; + + Jupiter::String msg = this->unspecifiedCrateFmt; + if (msg.isEmpty() == false) + { + RenX::processTags(msg, server, player); + (server->*func)(msg); + } +} + +void RenX_LoggingPlugin::RenX_OnOtherCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &type) +{ + logFuncType func; + if (RenX_LoggingPlugin::otherCratePublic) + func = &RenX::Server::sendLogChan; + else + func = &RenX::Server::sendAdmChan; + + Jupiter::String msg = this->otherCrateFmt; + if (msg.isEmpty() == false) + { + RenX::processTags(msg, server, player); + msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, type); + (server->*func)(msg); + } +} + void RenX_LoggingPlugin::RenX_OnSteal(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle) { logFuncType func; @@ -1333,21 +1484,23 @@ void RenX_LoggingPlugin::RenX_OnGame(RenX::Server *server, const Jupiter::Readab void RenX_LoggingPlugin::RenX_OnExecute(RenX::Server *server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &command) { - logFuncType func; - if (RenX_LoggingPlugin::executePublic) - func = &RenX::Server::sendLogChan; - else - func = &RenX::Server::sendAdmChan; - - Jupiter::String msg = this->executeFmt; - if (msg.isEmpty() == false) + if (RenX_LoggingPlugin::muteOwnExecute == false || server->getUser().equals(user) == false) { - processTags(msg, server); - msg.replace(RenX::tags->INTERNAL_NAME_TAG, user); - msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, command); - (server->*func)(msg); + logFuncType func; + if (RenX_LoggingPlugin::executePublic) + func = &RenX::Server::sendLogChan; + else + func = &RenX::Server::sendAdmChan; + + Jupiter::String msg = this->executeFmt; + if (msg.isEmpty() == false) + { + processTags(msg, server); + msg.replace(RenX::tags->INTERNAL_NAME_TAG, user); + msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, command); + (server->*func)(msg); + } } - // Add a format check later for if user == us. } void RenX_LoggingPlugin::RenX_OnSubscribe(RenX::Server *server, const Jupiter::ReadableString &user) diff --git a/RenX.Logging/RenX_Logging.h b/RenX.Logging/RenX_Logging.h index 8343d03..6355cef 100644 --- a/RenX.Logging/RenX_Logging.h +++ b/RenX.Logging/RenX_Logging.h @@ -26,6 +26,7 @@ class RenX_LoggingPlugin : public RenX::Plugin public: // RenX::Plugin void RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) override; void RenX_OnPart(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnKick(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &reason) override; void RenX_OnNameChange(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &newPlayerName) override; void RenX_OnTeamChange(RenX::Server *server, const RenX::PlayerInfo *player, const RenX::TeamType &oldTeam) override; void RenX_OnExecute(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &command) override; @@ -65,6 +66,12 @@ public: // RenX::Plugin void RenX_OnCharacterCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &character) override; void RenX_OnSpyCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &character) override; void RenX_OnRefillCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnTimeBombCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnSpeedCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnNukeCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnAbductionCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnUnspecifiedCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnOtherCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &type) override; void RenX_OnSteal(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle) override; void RenX_OnSteal(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle, const RenX::PlayerInfo *victim) override; void RenX_OnDonate(RenX::Server *server, const RenX::PlayerInfo *donor, const RenX::PlayerInfo *player, double amount) override; @@ -112,8 +119,10 @@ private: void init(); STRING_LITERAL_AS_NAMED_REFERENCE(name, "RenX.Logging"); + unsigned int muteOwnExecute : 1; unsigned int joinPublic : 1; unsigned int partPublic : 1; + unsigned int kickPublic : 1; unsigned int nameChangePublic : 1; unsigned int teamChangePublic : 1; unsigned int playerPublic : 1; @@ -147,6 +156,12 @@ private: unsigned int characterCratePublic : 1; unsigned int spyCratePublic : 1; unsigned int refillCratePublic : 1; + unsigned int timeBombCratePublic : 1; + unsigned int speedCratePublic : 1; + unsigned int nukeCratePublic : 1; + unsigned int abductionCratePublic : 1; + unsigned int unspecifiedCratePublic : 1; + unsigned int otherCratePublic : 1; unsigned int stealPublic : 1; unsigned int donatePublic : 1; unsigned int gameOverPublic : 1; @@ -178,6 +193,7 @@ private: /** Event formats */ Jupiter::StringS joinPublicFmt, joinAdminFmt, joinNoSteamAdminFmt; Jupiter::StringS partFmt; + Jupiter::StringS kickFmt; Jupiter::StringS nameChangeFmt; Jupiter::StringS teamChangeFmt; Jupiter::StringS playerFmt; @@ -221,6 +237,12 @@ private: Jupiter::StringS characterCrateFmt; Jupiter::StringS spyCrateFmt; Jupiter::StringS refillCrateFmt; + Jupiter::StringS timeBombCrateFmt; + Jupiter::StringS speedCrateFmt; + Jupiter::StringS nukeCrateFmt; + Jupiter::StringS abductionCrateFmt; + Jupiter::StringS unspecifiedCrateFmt; + Jupiter::StringS otherCrateFmt; Jupiter::StringS stealFmt; Jupiter::StringS stealNoOwnerFmt; Jupiter::StringS donateFmt; diff --git a/RenX.Medals/RenX.Medals.vcxproj b/RenX.Medals/RenX.Medals.vcxproj index 8dd4a76..3420b1a 100644 --- a/RenX.Medals/RenX.Medals.vcxproj +++ b/RenX.Medals/RenX.Medals.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -19,13 +19,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.Medals/RenX_Medals.cpp b/RenX.Medals/RenX_Medals.cpp index ec14719..4b14905 100644 --- a/RenX.Medals/RenX_Medals.cpp +++ b/RenX.Medals/RenX_Medals.cpp @@ -326,7 +326,7 @@ void RecsGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, co const Jupiter::ReadableString &RecsGameCommand::getHelp(const Jupiter::ReadableString &) { - STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Gets a count of a player's recommendations and noobs. Syntax: recs [player]"); + static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Gets a count of a player's recommendations and noobs. Syntax: recs [player]"); return defaultHelp; } @@ -372,7 +372,7 @@ void RecGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, con const Jupiter::ReadableString &RecGameCommand::getHelp(const Jupiter::ReadableString &) { - STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Recommends a player for their gameplay. Syntax: rec [player]"); + static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Recommends a player for their gameplay. Syntax: rec [player]"); return defaultHelp; } @@ -413,7 +413,7 @@ void NoobGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, co const Jupiter::ReadableString &NoobGameCommand::getHelp(const Jupiter::ReadableString &) { - STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Tells people that a player is bad. Syntax: noob [player]"); + static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Tells people that a player is bad. Syntax: noob [player]"); return defaultHelp; } diff --git a/RenX.ModSystem/RenX.ModSystem.vcxproj b/RenX.ModSystem/RenX.ModSystem.vcxproj index 74cbfc8..787ee50 100644 --- a/RenX.ModSystem/RenX.ModSystem.vcxproj +++ b/RenX.ModSystem/RenX.ModSystem.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.NicknameUUID/RenX.NicknameUUID.vcxproj b/RenX.NicknameUUID/RenX.NicknameUUID.vcxproj index 44e9394..4bc6055 100644 --- a/RenX.NicknameUUID/RenX.NicknameUUID.vcxproj +++ b/RenX.NicknameUUID/RenX.NicknameUUID.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.Plugin.Template/RenX.Plugin.Template.vcxproj b/RenX.Plugin.Template/RenX.Plugin.Template.vcxproj index 4bd0d9c..696ab3e 100644 --- a/RenX.Plugin.Template/RenX.Plugin.Template.vcxproj +++ b/RenX.Plugin.Template/RenX.Plugin.Template.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.SetJoin/RenX.SetJoin.vcxproj b/RenX.SetJoin/RenX.SetJoin.vcxproj index 45c5570..079d664 100644 --- a/RenX.SetJoin/RenX.SetJoin.vcxproj +++ b/RenX.SetJoin/RenX.SetJoin.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/RenX.SetJoin/RenX_SetJoin.cpp b/RenX.SetJoin/RenX_SetJoin.cpp index 3829b00..035037f 100644 --- a/RenX.SetJoin/RenX_SetJoin.cpp +++ b/RenX.SetJoin/RenX_SetJoin.cpp @@ -55,7 +55,7 @@ void ViewJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player const Jupiter::ReadableString &ViewJoinGameCommand::getHelp(const Jupiter::ReadableString &) { - STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Displays your join message. Syntax: viewjoin"); + static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Displays your join message. Syntax: viewjoin"); return defaultHelp; } @@ -83,7 +83,7 @@ void ShowJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player const Jupiter::ReadableString &ShowJoinGameCommand::getHelp(const Jupiter::ReadableString &) { - STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Displays your join message. Syntax: showjoin"); + static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Displays your join message. Syntax: showjoin"); return defaultHelp; } @@ -112,7 +112,7 @@ void DelJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, const Jupiter::ReadableString &DelJoinGameCommand::getHelp(const Jupiter::ReadableString &) { - STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Removes your automatic join message. Syntax: deljoin"); + static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Removes your automatic join message. Syntax: deljoin"); return defaultHelp; } @@ -143,7 +143,7 @@ void SetJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, const Jupiter::ReadableString &SetJoinGameCommand::getHelp(const Jupiter::ReadableString &) { - STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Sets an automatic join message. Syntax: setjoin [message]"); + static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Sets an automatic join message. Syntax: setjoin [message]"); return defaultHelp; } diff --git a/RenX.Warn/RenX.Warn.vcxproj b/RenX.Warn/RenX.Warn.vcxproj index 5676bc8..0dac73d 100644 --- a/RenX.Warn/RenX.Warn.vcxproj +++ b/RenX.Warn/RenX.Warn.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode diff --git a/SetJoin/SetJoin.vcxproj b/SetJoin/SetJoin.vcxproj index 02e318d..2c74eed 100644 --- a/SetJoin/SetJoin.vcxproj +++ b/SetJoin/SetJoin.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -18,13 +18,13 @@ Application true - v120 + v140 MultiByte DynamicLibrary false - v120 + v140 true Unicode