From 48ee8fd536e9e6bed6cd339bc2f8732c00487807 Mon Sep 17 00:00:00 2001 From: David Cernat Date: Wed, 24 May 2017 12:19:11 +0300 Subject: [PATCH] [Client] Send PlayerFaction packets when getting expelled from factions --- apps/openmw/mwmechanics/mechanicsmanagerimp.cpp | 11 +++++++++++ apps/openmw/mwscript/statsextensions.cpp | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/apps/openmw/mwmechanics/mechanicsmanagerimp.cpp b/apps/openmw/mwmechanics/mechanicsmanagerimp.cpp index b060ace3e..da4ca0695 100644 --- a/apps/openmw/mwmechanics/mechanicsmanagerimp.cpp +++ b/apps/openmw/mwmechanics/mechanicsmanagerimp.cpp @@ -15,6 +15,7 @@ Include additional headers for multiplayer purposes */ #include "../mwmp/Main.hpp" +#include "../mwmp/LocalPlayer.hpp" #include "../mwmp/PlayerList.hpp" #include "../mwmp/CellController.hpp" /* @@ -1226,6 +1227,16 @@ namespace MWMechanics const std::map& playerRanks = player.getClass().getNpcStats(player).getFactionRanks(); if (playerRanks.find(Misc::StringUtils::lowerCase(factionID)) != playerRanks.end()) { + /* + Start of tes3mp addition + + Send an ID_PLAYER_FACTION packet every time a player is expelled from a faction + */ + mwmp::Main::get().getLocalPlayer()->sendFaction(Misc::StringUtils::lowerCase(factionID), playerRanks.at(Misc::StringUtils::lowerCase(factionID)), true); + /* + End of tes3mp addition + */ + player.getClass().getNpcStats(player).expell(factionID); } } diff --git a/apps/openmw/mwscript/statsextensions.cpp b/apps/openmw/mwscript/statsextensions.cpp index 3194528d6..0c8189df1 100644 --- a/apps/openmw/mwscript/statsextensions.cpp +++ b/apps/openmw/mwscript/statsextensions.cpp @@ -1035,7 +1035,7 @@ namespace MWScript Send an ID_PLAYER_FACTION packet every time a player is expelled from a faction */ - mwmp::Main::get().getLocalPlayer()->sendFaction(factionID, player.getClass().getNpcStats(player).getFactionRanks().at(factionID), true); + mwmp::Main::get().getLocalPlayer()->sendFaction(Misc::StringUtils::lowerCase(factionID), player.getClass().getNpcStats(player).getFactionRanks().at(Misc::StringUtils::lowerCase(factionID)), true); /* End of tes3mp addition */ @@ -1072,7 +1072,7 @@ namespace MWScript Send an ID_PLAYER_FACTION packet every time a player is no longer expelled from a faction */ if (factionID != "") - mwmp::Main::get().getLocalPlayer()->sendFaction(factionID, player.getClass().getNpcStats(player).getFactionRanks().at(factionID), false); + mwmp::Main::get().getLocalPlayer()->sendFaction(Misc::StringUtils::lowerCase(factionID), player.getClass().getNpcStats(player).getFactionRanks().at(Misc::StringUtils::lowerCase(factionID)), false); /* End of tes3mp addition */