forked from teamnwah/openmw-tes3coop
Feature #764: Quest completetion status in quest book
This commit is contained in:
parent
849ee54399
commit
70264eae3b
1 changed files with 7 additions and 4 deletions
|
@ -39,21 +39,24 @@ namespace MWDialogue
|
||||||
const ESM::Dialogue *dialogue =
|
const ESM::Dialogue *dialogue =
|
||||||
MWBase::Environment::get().getWorld()->getStore().get<ESM::Dialogue>().find (mTopic);
|
MWBase::Environment::get().getWorld()->getStore().get<ESM::Dialogue>().find (mTopic);
|
||||||
|
|
||||||
|
bool found=false;
|
||||||
for (std::vector<ESM::DialInfo>::const_iterator iter (dialogue->mInfo.begin());
|
for (std::vector<ESM::DialInfo>::const_iterator iter (dialogue->mInfo.begin());
|
||||||
iter!=dialogue->mInfo.end(); ++iter)
|
iter!=dialogue->mInfo.end(); ++iter)
|
||||||
if (iter->mData.mDisposition==index && iter->mQuestStatus!=ESM::DialInfo::QS_Name)
|
if (iter->mData.mDisposition==index && iter->mQuestStatus!=ESM::DialInfo::QS_Name)
|
||||||
{
|
{
|
||||||
mIndex = index;
|
|
||||||
|
|
||||||
if (iter->mQuestStatus==ESM::DialInfo::QS_Finished)
|
if (iter->mQuestStatus==ESM::DialInfo::QS_Finished)
|
||||||
mFinished = true;
|
mFinished = true;
|
||||||
else if (iter->mQuestStatus==ESM::DialInfo::QS_Restart)
|
else if (iter->mQuestStatus==ESM::DialInfo::QS_Restart)
|
||||||
mFinished = false;
|
mFinished = false;
|
||||||
|
|
||||||
return;
|
found = true;
|
||||||
|
// Don't return here. Quest status may actually be in a different info record, since we don't merge these (yet?)
|
||||||
}
|
}
|
||||||
|
|
||||||
throw std::runtime_error ("unknown journal index for topic " + mTopic);
|
if (found)
|
||||||
|
mIndex = index;
|
||||||
|
else
|
||||||
|
throw std::runtime_error ("unknown journal index for topic " + mTopic);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Quest::isFinished() const
|
bool Quest::isFinished() const
|
||||||
|
|
Loading…
Reference in a new issue