From f626a7fcc74c9d91e7843dcd290c43288058bb83 Mon Sep 17 00:00:00 2001 From: Andrei Kortunov Date: Sat, 10 Feb 2018 17:58:30 +0400 Subject: [PATCH] Take in account PC rank during disposition calculation (bug #4322) --- apps/openmw/mwmechanics/mechanicsmanagerimp.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apps/openmw/mwmechanics/mechanicsmanagerimp.cpp b/apps/openmw/mwmechanics/mechanicsmanagerimp.cpp index b51b554211..bd5fa1b11b 100644 --- a/apps/openmw/mwmechanics/mechanicsmanagerimp.cpp +++ b/apps/openmw/mwmechanics/mechanicsmanagerimp.cpp @@ -566,9 +566,16 @@ namespace MWMechanics { std::string itFaction = playerFactionIt->first; + // Ignore the faction, if a player was expelled from it. + if (playerStats.getExpelled(itFaction)) + continue; + int itReaction = MWBase::Environment::get().getDialogueManager()->getFactionReaction(npcFaction, itFaction); if (playerFactionIt == playerStats.getFactionRanks().begin() || itReaction < reaction) + { reaction = static_cast(itReaction); + rank = playerFactionIt->second; + } } } else