Update mLastTopic before executing scripts. In case the script contains ClearInfoActor it erase not the correct topic.

Other correction not linked with the bug:
- reset mActorKnownTopicsFlag at the same time as mActorKnownTopics
- don't call updateTopics in addResponse, it is already handled by the response
callback
pull/581/head
Frederic Chardon 4 years ago committed by psi29a
parent ae1af0e103
commit 12ee42c6f3

@ -41,6 +41,7 @@
Bug #5502: Dead zone for analogue stick movement is too small
Bug #5507: Sound volume is not clamped on ingame settings update
Bug #5531: Actors flee using current rotation by axis x
Bug #5548: Certain exhausted topics can be highlighted again even though there's no new dialogue
Feature #390: 3rd person look "over the shoulder"
Feature #2386: Distant Statics in the form of Object Paging
Feature #5297: Add a search function to the "Datafiles" tab of the OpenMW launcher

@ -121,6 +121,7 @@ namespace MWDialogue
mTalkedTo = creatureStats.hasTalkedToPlayer();
mActorKnownTopics.clear();
mActorKnownTopicsFlag.clear();
//greeting
const MWWorld::Store<ESM::Dialogue> &dialogs =
@ -300,11 +301,11 @@ namespace MWDialogue
}
}
mLastTopic = topic;
executeScript (info->mResultScript, mActor);
parseText (info->mResponse);
mLastTopic = topic;
}
}
@ -323,6 +324,7 @@ namespace MWDialogue
updateGlobals();
mActorKnownTopics.clear();
mActorKnownTopicsFlag.clear();
const auto& dialogs = MWBase::Environment::get().getWorld()->getStore().get<ESM::Dialogue>();

@ -678,7 +678,6 @@ namespace MWGui
{
mHistoryContents.push_back(new Response(text, title, needMargin));
updateHistory();
updateTopics();
}
void DialogueWindow::addMessageBox(const std::string& text)

Loading…
Cancel
Save