mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-18 13:12:50 +00:00
Dialogue responses should be random only for persuasion results
This commit is contained in:
parent
d30b38f336
commit
7ab236337b
@ -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);
|
||||
|
||||
@ -256,7 +256,7 @@ namespace MWDialogue
|
||||
|
||||
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);
|
||||
|
||||
@ -505,7 +505,7 @@ namespace MWDialogue
|
||||
text = "Bribe";
|
||||
}
|
||||
|
||||
executeTopic (text + (success ? " Success" : " Fail"));
|
||||
executeTopic (text + (success ? " Success" : " Fail"), true);
|
||||
}
|
||||
|
||||
int DialogueManager::getTemporaryDispositionChange() const
|
||||
|
@ -48,7 +48,7 @@ namespace MWDialogue
|
||||
|
||||
void printError (const std::string& error);
|
||||
|
||||
void executeTopic (const std::string& topic);
|
||||
void executeTopic (const std::string& topic, bool randomResponse=false);
|
||||
|
||||
public:
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user