From 946ca7f9315b703c5b77051b53d73f347dccf224 Mon Sep 17 00:00:00 2001
From: Chris Robinson <chris.kcat@gmail.com>
Date: Thu, 8 Aug 2013 03:57:32 -0700
Subject: [PATCH] Return the appropriate name for werewolf NPCs

---
 apps/openmw/mwclass/npc.cpp | 29 ++++++++++++++++++++---------
 1 file changed, 20 insertions(+), 9 deletions(-)

diff --git a/apps/openmw/mwclass/npc.cpp b/apps/openmw/mwclass/npc.cpp
index 0db99417dd..4771e9e393 100644
--- a/apps/openmw/mwclass/npc.cpp
+++ b/apps/openmw/mwclass/npc.cpp
@@ -290,9 +290,15 @@ namespace MWClass
 
     std::string Npc::getName (const MWWorld::Ptr& ptr) const
     {
-        MWWorld::LiveCellRef<ESM::NPC> *ref =
-            ptr.get<ESM::NPC>();
+        if(getNpcStats(ptr).isWerewolf())
+        {
+            const MWBase::World *world = MWBase::Environment::get().getWorld();
+            const MWWorld::Store<ESM::GameSetting> &gmst = world->getStore().get<ESM::GameSetting>();
 
+            return gmst.find("sWerewolfPopup")->getString();
+        }
+
+        MWWorld::LiveCellRef<ESM::NPC> *ref = ptr.get<ESM::NPC>();
         return ref->mBase->mName;
     }
 
@@ -795,16 +801,21 @@ namespace MWClass
 
     MWGui::ToolTipInfo Npc::getToolTipInfo (const MWWorld::Ptr& ptr) const
     {
-        MWWorld::LiveCellRef<ESM::NPC> *ref =
-            ptr.get<ESM::NPC>();
+        MWWorld::LiveCellRef<ESM::NPC> *ref = ptr.get<ESM::NPC>();
 
+        bool fullHelp = MWBase::Environment::get().getWindowManager()->getFullHelp();
         MWGui::ToolTipInfo info;
-        info.caption = ref->mBase->mName;
 
-        std::string text;
-        if (MWBase::Environment::get().getWindowManager()->getFullHelp())
-            text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
-        info.text = text;
+        info.caption = getName(ptr);
+        if(fullHelp && getNpcStats(ptr).isWerewolf())
+        {
+            info.caption += " (";
+            info.caption += ref->mBase->mName;
+            info.caption += ")";
+        }
+
+        if(fullHelp)
+            info.text = MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
 
         return info;
     }