1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-01 03:45:35 +00:00

Dialogue responses should be random only for persuasion results

This commit is contained in:
scrawl 2013-03-14 21:33:00 +01:00
parent d30b38f336
commit 7ab236337b
2 changed files with 4 additions and 4 deletions

View file

@ -241,7 +241,7 @@ namespace MWDialogue
} }
} }
void DialogueManager::executeTopic (const std::string& topic) void DialogueManager::executeTopic (const std::string& topic, bool randomResponse)
{ {
Filter filter (mActor, mChoice, mTalkedTo); Filter filter (mActor, mChoice, mTalkedTo);
@ -256,7 +256,7 @@ namespace MWDialogue
if (!infos.empty()) if (!infos.empty())
{ {
const ESM::DialInfo* info = infos[std::rand() % infos.size()]; const ESM::DialInfo* info = infos[randomResponse ? std::rand() % infos.size() : 0];
parseText (info->mResponse); parseText (info->mResponse);
@ -505,7 +505,7 @@ namespace MWDialogue
text = "Bribe"; text = "Bribe";
} }
executeTopic (text + (success ? " Success" : " Fail")); executeTopic (text + (success ? " Success" : " Fail"), true);
} }
int DialogueManager::getTemporaryDispositionChange() const int DialogueManager::getTemporaryDispositionChange() const

View file

@ -48,7 +48,7 @@ namespace MWDialogue
void printError (const std::string& error); void printError (const std::string& error);
void executeTopic (const std::string& topic); void executeTopic (const std::string& topic, bool randomResponse=false);
public: public: