correctly check if a Character has solved a Questgroup by checking last child Questgroup if Questgroup has so Quests itself
This commit is contained in:
parent
bf8d452ecf
commit
f6a2149696
1 changed files with 17 additions and 2 deletions
|
|
@ -328,10 +328,26 @@
|
||||||
{
|
{
|
||||||
// Get data of Questgroup
|
// Get data of Questgroup
|
||||||
$questgroup = $this->getQuestgroupById($questgroupId);
|
$questgroup = $this->getQuestgroupById($questgroupId);
|
||||||
|
$questgroup['hierarchy'] = $this->Questgroupshierarchy->getHierarchyForQuestgroup($questgroup['id']);
|
||||||
|
|
||||||
// Check last Quest(s)
|
// Check last Quest(s) of this Questgroup
|
||||||
$solvedLastQuest = false;
|
$solvedLastQuest = false;
|
||||||
$lastQuests = $this->Quests->getLastQuestsOfQuestgroup($questgroup['id']);
|
$lastQuests = $this->Quests->getLastQuestsOfQuestgroup($questgroup['id']);
|
||||||
|
// Check last Quest(s) of last child Questgroup
|
||||||
|
if(empty($lastQuests) && !empty($questgroup['hierarchy']))
|
||||||
|
{
|
||||||
|
$childQuestgroupshierarchy = $this->Questgroupshierarchy->getChildQuestgroupshierarchy($questgroup['hierarchy']['id']);
|
||||||
|
if(!empty($childQuestgroupshierarchy))
|
||||||
|
{
|
||||||
|
$childQuestgroupshierarchy = array_pop($childQuestgroupshierarchy);
|
||||||
|
$childQuestgroups = $this->getQuestgroupsForHierarchy($childQuestgroupshierarchy['id'], $questgroupId);
|
||||||
|
if(!empty($childQuestgroups))
|
||||||
|
{
|
||||||
|
$childQuestgroup = array_pop($childQuestgroups);
|
||||||
|
$lastQuests = $this->Quests->getLastQuestsOfQuestgroup($childQuestgroup['id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach($lastQuests as &$lastQuest)
|
foreach($lastQuests as &$lastQuest)
|
||||||
{
|
{
|
||||||
if($this->Quests->hasCharacterSolvedQuest($lastQuest['id'], $characterId))
|
if($this->Quests->hasCharacterSolvedQuest($lastQuest['id'], $characterId))
|
||||||
|
|
@ -345,7 +361,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check all child Questgroups
|
// Check all child Questgroups
|
||||||
$questgroup['hierarchy'] = $this->Questgroupshierarchy->getHierarchyForQuestgroup($questgroup['id']);
|
|
||||||
if(!empty($questgroup['hierarchy']))
|
if(!empty($questgroup['hierarchy']))
|
||||||
{
|
{
|
||||||
$childQuestgroupshierarchy = $this->Questgroupshierarchy->getChildQuestgroupshierarchy($questgroup['hierarchy']['id']);
|
$childQuestgroupshierarchy = $this->Questgroupshierarchy->getChildQuestgroupshierarchy($questgroup['hierarchy']['id']);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue