diff --git a/includes/components/Conditions/Conditions.class.php b/includes/components/Conditions/Conditions.class.php index 03331e7c..5830157e 100644 --- a/includes/components/Conditions/Conditions.class.php +++ b/includes/components/Conditions/Conditions.class.php @@ -288,6 +288,9 @@ class Conditions while (substr_count($groupKey, ':') < 3) $groupKey .= ':0'; // pad with missing srcEntry, SrcId, cndTarget to group key + if (!$this->prepareSource($srcType, ...explode(':', $groupKey))) + return; + if ($c = $this->prepareCondition($cId, $cVal1, $cVal2, $cVal3)) { if ($orGroup) diff --git a/pages/quest.php b/pages/quest.php index 7dce4fef..00b21f22 100644 --- a/pages/quest.php +++ b/pages/quest.php @@ -1028,10 +1028,10 @@ class QuestPage extends GenericPage ->prepare(); if ($_ = $this->subject->getField('reqMinRepFaction')) - $cnd->addExternalCondition(Conditions::SRC_QUEST_AVAILABLE, $this->typeId, [Conditions::REPUTATION_RANK, $_, 1 << Game::getReputationLevelForPoints($this->subject->getField('reqMinRepValue'))]); + $cnd->addExternalCondition(Conditions::SRC_QUEST_AVAILABLE, '0:'.$this->typeId, [Conditions::REPUTATION_RANK, $_, 1 << Game::getReputationLevelForPoints($this->subject->getField('reqMinRepValue'))]); if ($_ = $this->subject->getField('reqMaxRepFaction')) - $cnd->addExternalCondition(Conditions::SRC_QUEST_AVAILABLE, $this->typeId, [-Conditions::REPUTATION_RANK, $_, 1 << Game::getReputationLevelForPoints($this->subject->getField('reqMaxRepValue'))]); + $cnd->addExternalCondition(Conditions::SRC_QUEST_AVAILABLE, '0:'.$this->typeId, [-Conditions::REPUTATION_RANK, $_, 1 << Game::getReputationLevelForPoints($this->subject->getField('reqMaxRepValue'))]); if ($tab = $cnd->toListviewTab()) {