From e508450c1c8a0806e86736a8a16993001837a97d Mon Sep 17 00:00:00 2001 From: scrawl Date: Sun, 17 Aug 2014 03:41:15 +0200 Subject: [PATCH] Add persuasion GMST to ensureNeededRecords (Fixes #1817) --- apps/openmw/mwdialogue/dialoguemanagerimp.cpp | 3 +++ apps/openmw/mwworld/worldimp.cpp | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/apps/openmw/mwdialogue/dialoguemanagerimp.cpp b/apps/openmw/mwdialogue/dialoguemanagerimp.cpp index 6c801f755c..f09b81b40d 100644 --- a/apps/openmw/mwdialogue/dialoguemanagerimp.cpp +++ b/apps/openmw/mwdialogue/dialoguemanagerimp.cpp @@ -290,6 +290,9 @@ namespace MWDialogue std::string title; if (dialogue.mType==ESM::Dialogue::Persuasion) { + // Determine GMST from dialogue topic. GMSTs are: + // sAdmireSuccess, sAdmireFail, sIntimidateSuccess, sIntimidateFail, + // sTauntSuccess, sTauntFail, sBribeSuccess, sBribeFail std::string modifiedTopic = "s" + topic; modifiedTopic.erase (std::remove (modifiedTopic.begin(), modifiedTopic.end(), ' '), modifiedTopic.end()); diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp index 881f01285b..1e89408401 100644 --- a/apps/openmw/mwworld/worldimp.cpp +++ b/apps/openmw/mwworld/worldimp.cpp @@ -372,6 +372,14 @@ namespace MWWorld gmst["sHard"] = ESM::Variant("Hard"); gmst["sDeleteNote"] = ESM::Variant("Delete Note"); gmst["sEditNote"] = ESM::Variant("Edit Note"); + gmst["sAdmireSuccess"] = ESM::Variant("Admire Success"); + gmst["sAdmireFail"] = ESM::Variant("Admire Fail"); + gmst["sIntimidateSuccess"] = ESM::Variant("Intimidate Success"); + gmst["sIntimidateFail"] = ESM::Variant("Intimidate Fail"); + gmst["sTauntSuccess"] = ESM::Variant("Taunt Success"); + gmst["sTauntFail"] = ESM::Variant("Taunt Fail"); + gmst["sBribeSuccess"] = ESM::Variant("Bribe Success"); + gmst["sBribeFail"] = ESM::Variant("Bribe Fail"); // Werewolf (BM) gmst["fWereWolfRunMult"] = ESM::Variant(1.f);