mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-25 06:35:30 +00:00
every filters are check during dialogue now. There is a problem with journal.
This commit is contained in:
parent
7f2ff6f5f1
commit
00d3bc9d23
@ -318,19 +318,7 @@ namespace MWDialogue
|
||||
case '4'://journal
|
||||
if(select.type==ESM::VT_Int)
|
||||
{
|
||||
//std::cout << "vtint: " << select.i << std::endl;
|
||||
bool isInJournal;
|
||||
if(mEnvironment.mJournal->begin()!=mEnvironment.mJournal->end())
|
||||
{
|
||||
for(std::deque<MWDialogue::StampedJournalEntry>::const_iterator it = mEnvironment.mJournal->begin();it!=mEnvironment.mJournal->end();it++)
|
||||
{
|
||||
|
||||
if(it->mTopic == name) isInJournal = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
isInJournal = false;
|
||||
if(!selectCompare<int,int>(comp,int(isInJournal),select.i)) return false;
|
||||
if(!selectCompare<int,int>(comp,mEnvironment.mJournal->getJournalIndex(name),select.i)) return false;
|
||||
}
|
||||
else
|
||||
throw std::runtime_error (
|
||||
@ -728,7 +716,7 @@ namespace MWDialogue
|
||||
for(std::list<ESM::DialInfo>::iterator it = actorKnownTopics[keyword].begin(); it != actorKnownTopics[keyword].end();it++)
|
||||
{
|
||||
ESM::DialInfo dial = *it;
|
||||
if(functionFilter(mActor,dial,true))
|
||||
if(functionFilter(mActor,dial,true) && isMatching (mActor,dial))
|
||||
{
|
||||
std::string text = it->response;
|
||||
std::string script = it->resultScript;
|
||||
@ -770,7 +758,7 @@ namespace MWDialogue
|
||||
for(std::list<ESM::DialInfo>::iterator it = iter; it!=actorKnownTopics[mLastTopic].begin();)
|
||||
{
|
||||
it--;
|
||||
if(functionFilter(mActor,*it,true))
|
||||
if(functionFilter(mActor,*it,true) && isMatching (mActor,*it))
|
||||
{
|
||||
mChoiceMap.clear();
|
||||
mChoice = -1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user