public function __construct() { $classes = new CharClassList(); foreach ($classes->iterate() as $cId => $_tpl) { // preselect misc subclasses $this->ubFilter[$cId] = [ITEM_CLASS_WEAPON => [14], ITEM_CLASS_ARMOR => [0]]; for ($i = 0; $i < 21; $i++) { if ($_tpl['weaponTypeMask'] & 1 << $i) { $this->ubFilter[$cId][ITEM_CLASS_WEAPON][] = $i; } } for ($i = 0; $i < 11; $i++) { if ($_tpl['armorTypeMask'] & 1 << $i) { $this->ubFilter[$cId][ITEM_CLASS_ARMOR][] = $i; } } } parent::__construct(); }
private function _searchCharClass($cndBase) { $result = []; $cnd = array_merge($cndBase, [$this->createLookup()]); $classes = new CharClassList($cnd); if ($data = $classes->getListviewData()) { if ($this->searchMask & SEARCH_TYPE_OPEN) { foreach ($classes->iterate() as $__) { $data[$classes->id]['param1'] = 'class_' . strToLower($classes->getField('fileString')); } } $result = array('type' => TYPE_CLASS, 'appendix' => ' (Class)', 'matches' => $classes->getMatches(), 'file' => CharClassList::$brickFile, 'data' => $data, 'params' => []); if ($classes->getMatches() > $this->maxResults) { // $result['params']['note'] = sprintf(Util::$tryNarrowingString, 'LANG.lvnote_', $classes->getMatches(), $this->maxResults); $result['params']['_truncated'] = 1; } } return $result; }
private function _searchCharClass($cndBase) { $cnd = array_merge($cndBase, [$this->createLookup()]); $classes = new CharClassList($cnd); if ($data = $classes->getListviewData()) { $result['data'] = array_values($data); $osInfo = [TYPE_CLASS, ' (Class)', $classes->getMatches(), []]; if ($this->searchMask & SEARCH_TYPE_OPEN) { foreach ($classes->iterate() as $id => $__) { $osInfo[3][$id] = 'class_' . strToLower($classes->getField('fileString')); } } if ($classes->getMatches() > $this->maxResults) { // $result['note'] = sprintf(Util::$tryNarrowingString, 'LANG.lvnote_', $classes->getMatches(), $this->maxResults); $result['_truncated'] = 1; } return ['class', $result, null, $osInfo]; } return false; }