private function _breakdown($leve_id = 0) { $leve = Leve::with('classjob', 'classjob.en_name', 'item', 'item.name', 'item.recipe', 'item.recipe.reagents', 'item.recipe.reagents.name')->find($leve_id); $experience = Experience::whereBetween('level', array($leve->level + 1, $leve->level + 10))->get(); $chart = array(); foreach ($experience as $xp) { // NQ Turnins $amount = $turnins = 0; if ($leve->xp > 0) { while ($amount < $xp->experience) { $amount += $leve->xp; $turnins++; } } // HQ Turnins $amount = $hq_turnins = 0; if ($leve->xp > 0) { while ($amount < $xp->experience) { $amount += $leve->xp * 2; // 2.1 patch changed it from 200% to 100% bonus $hq_turnins++; } } $chart[$xp->level] = array('level' => $xp->level, 'requires' => $xp->experience, 'turnins' => $turnins, 'hq_turnins' => $hq_turnins); } return array('leve' => $leve, 'chart' => $chart); }
private function _breakdown($leve_id = 0) { $leve = Leve::with('item', 'item.name', 'item.recipe', 'item.recipe.reagents', 'item.recipe.reagents.name')->find($leve_id); $experience = Experience::whereBetween('level', array($leve->level, $leve->level + 9))->get(); $xp_rewarded = $leve->xp * 2; // 2.1 patch changed it from 200% to 100% bonus $chart = array(); foreach ($experience as $xp) { $previous_overkill = isset($chart[$xp->level - 1]) ? $chart[$xp->level - 1]['overkill'] : 0; $needed = $xp->experience - $previous_overkill; $amount = $turnins = 0; if ($xp_rewarded > 0) { while ($amount < $needed) { $amount += $xp_rewarded; $turnins++; } } $chart[$xp->level] = array('level' => $xp->level, 'requires' => $xp->experience, 'previous_overkill' => $previous_overkill, 'turnins' => $turnins, 'overkill' => $amount - $needed); } return array('leve' => $leve, 'chart' => $chart); }