correctly reuse calculations of cumulated data for Quests (Issue #235)

This commit is contained in:
coderkun 2014-05-10 13:44:13 +02:00
commit 2c52f6db9c

View file

@ -533,13 +533,17 @@
); );
foreach($nextQuests as &$nextQuest) foreach($nextQuests as &$nextQuest)
{ {
if(!in_array($nextQuest['id'], $calculatedQuests)) if(!array_key_exists($nextQuest['id'], $calculatedQuests))
{ {
$nextData = $this->getCumulatedDataForQuest($nextQuest, $characterId, $calculatedQuests); $nextData = $this->getCumulatedDataForQuest($nextQuest, $characterId, $calculatedQuests);
$allNextData['xps'][] = $nextData['xps']; $calculatedQuests[$nextQuest['id']] = array(
$allNextData['character_xps'][] = $nextData['character_xps']; 'xps' => $nextData['xps'],
$calculatedQuests[] = $nextQuest['id']; '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['xps'] += max($allNextData['xps']);
$data['character_xps'] += max($allNextData['character_xps']); $data['character_xps'] += max($allNextData['character_xps']);