From 2c52f6db9c2ca78a2f83489d8e64094355290eaf Mon Sep 17 00:00:00 2001 From: coderkun Date: Sat, 10 May 2014 13:44:13 +0200 Subject: [PATCH] correctly reuse calculations of cumulated data for Quests (Issue #235) --- models/QuestgroupsModel.inc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/models/QuestgroupsModel.inc b/models/QuestgroupsModel.inc index 0f5c81a8..b95389c0 100644 --- a/models/QuestgroupsModel.inc +++ b/models/QuestgroupsModel.inc @@ -533,13 +533,17 @@ ); foreach($nextQuests as &$nextQuest) { - if(!in_array($nextQuest['id'], $calculatedQuests)) + if(!array_key_exists($nextQuest['id'], $calculatedQuests)) { $nextData = $this->getCumulatedDataForQuest($nextQuest, $characterId, $calculatedQuests); - $allNextData['xps'][] = $nextData['xps']; - $allNextData['character_xps'][] = $nextData['character_xps']; - $calculatedQuests[] = $nextQuest['id']; + $calculatedQuests[$nextQuest['id']] = array( + 'xps' => $nextData['xps'], + 'character_xps' => $nextData['character_xps'] + ); } + + $allNextData['xps'][] = $calculatedQuests[$nextQuest['id']]['xps']; + $allNextData['character_xps'][] = $calculatedQuests[$nextQuest['id']]['character_xps']; } $data['xps'] += max($allNextData['xps']); $data['character_xps'] += max($allNextData['character_xps']);