/** * Show itemset's shop page * GET * * @param int $id * @param string $name * @return Response */ public function showItemset($id, $name) { $itemset = ItemsetManager::find($id); $items = ItemTemplateManager::where('panoplie', $itemset->ID)->orderBy('level', 'desc')->get(); $otherItemsets = ItemsetManager::where('shop', 1)->where('ID', '!=', $itemset->ID)->orderByRaw('RAND()')->take(4)->get(); $players = PlayerManager::where('account', Auth::user()->guid)->orderBy('xp', 'asc')->get(); return view('shop.itemset', compact('itemset', 'items', 'players', 'otherItemsets')); }
public function showItem($id, $name) { $item = ItemTemplateManager::find($id); $craft = CraftManager::find($item->id); $itemset = ItemsetManager::find($item->panoplie); $itemsetObjects = $itemset ? ItemTemplateManager::where('panoplie', $itemset->ID)->orderBy('level', 'asc')->get() : []; $drops = DropManager::join('monsters', 'monsters.id', '=', 'drops.mob')->where('item', $item->id)->get(); return view('encyclopedia.item', compact('item', 'craft', 'itemset', 'itemsetObjects', 'drops')); }
/** * Show homepage * GET * * @return Response */ public function showIndex() { $blogs = Cache::remember('blogs', 60, function () { return BlogManager::orderBy('date', 'desc')->take(8)->get(); }); $video = Cache::remember('video', 60, function () { return VideoManager::first(); }); $item = Cache::remember('itemShop', 60, function () { return \App\Model\ItemTemplate::where('shop', 1)->orderByRaw('RAND()')->first(); }); return view('home.home', compact('blogs', 'video', 'item')); }
/** * Return itemset's effects when wearing all items * * @param string $items * @param string $bonus */ public function bonusComplete($itemsetId, $bonus) { $effectLib = new Effect(); $effectsArray = [111, 112, 115, 116, 117, 118, 119, 121, 122, 123, 123, 124, 125, 126, 128, 138, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 162, 168, 169, 171, 174, 175, 176, 177, 178, 179, 182, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249]; $items = ItemTemplateManager::where('panoplie', $itemsetId)->get(); $k = 0; $bonus = explode(';', $bonus); $last = $bonus[count($items) - 2]; $lastEffects = explode(',', $last); $html = '<div class="ak-container ak-content-list ak-displaymode-col"><div class="row ak-container">'; foreach ($effectsArray as $effectId) { $min = 0; $max = 0; /** * Gestion des bonus de panoplies */ foreach ($lastEffects as $lastEffect) { list($id, $value) = explode(':', $lastEffect); if ($id == $effectId) { $min += $value; $max += $value; } } /** * Gestion des bonus des items */ foreach ($items as $item) { if (!empty($item->statsTemplate)) { $bonusEffects = explode(',', $item->statsTemplate); foreach ($bonusEffects as $bonus) { if (!empty($bonus)) { list($id, $minValue, $maxValue) = explode('#', $bonus); if (hexdec($id) == $effectId) { $min += hexdec($minValue); $max += $maxValue != 0 ? hexdec($maxValue) : hexdec($minValue); } } } } } if ($min != 0 && $max != 0) { $html .= '<div class="ak-column ak-container col-sm-6"><div class="ak-list-element"><div class="ak-main"><div class="ak-main-content"><div class="ak-content"><div class="ak-title">' . $effectLib->get($effectId, $min, $max) . '</div></div><div class="ak-aside"><span class="ak-tooltip ak-icon-small ' . $effectLib->icon($effectId) . '" data-hasqtip="19"></span><script type="application/json">{"manual":true,"tooltip":{"content":{"title":"","text":"' . $effectLib->name($effectId) . '"},"style":{"classes":"ak-tooltip-content"}},"forceOnTouch":true}</script></div></div></div></div></div>'; $k++; if ($k % 2 == 0) { $html .= '<div class="clearfix visible-sm visible-md visible-lg"></div>'; } } } $html .= '</div></div>'; return $html; }