USERID = $user_id; } private function getDressedItems() { try { $this->DB = db::c()->query('SELECT * FROM inventory WHERE owner_id = ?i AND dressed_slot > 0', $this->USERID); } catch (Exception $e) { echo '
Не прогрузилась таблица inventory (*) для класса DressedItems.
'; } } private function getDressedItemById($item_id) { return db::c()->query('SELECT * FROM inventory WHERE item_id = ?i AND dressed_slot > 0', $item_id)->fetch_assoc(); } private function getBonusesFromDressedItems() { try { $query = << 0 SQL; $this->DBSUM = db::c()->query($query, $this->USERID)->fetch_assoc(); } catch (Exception $e) { echo '
Не прогрузилась таблица inventory (SUM) для класса DressedItems:' . $e . '
'; } } public function getItemsInSlots() { if (!$this->DB) { self::getDressedItems(); } while ($row = $this->DB->fetch_assoc()) { $this->dressedItem[$row['dressed_slot']] = $row; } return $this->dressedItem; } private function getBonuses() { if (!$this->DBSUM) { self::getBonusesFromDressedItems(); } return $this->DBSUM; } public function getStrengthBonus() { return self::getBonuses()['sum_strength']; } public function getDexterityBonus() { return self::getBonuses()['sum_dexterity']; } public function getIntuitionBonus() { return self::getBonuses()['sum_intuition']; } public function getEnduranceBonus() { return self::getBonuses()['sum_endurance']; } public function getIntelliganceBonus() { return self::getBonuses()['sum_intelligence']; } public function getWisdomBonus() { return self::getBonuses()['sum_wisdom']; } public function getAccuracyBonus() { return self::getBonuses()['sum_accuracy'] ?? 0; } public function getEvasionBonus() { return self::getBonuses()['sum_evasion'] ?? 0; } public function getCriticalsBonus() { return self::getBonuses()['sum_criticals'] ?? 0; } public function getMinPhysDamage() { return self::getBonuses()['sum_min_phys_damage']; } public function getMaxPhysDamage() { return self::getBonuses()['sum_max_phys_damage']; } /** * Снимает с предмета статус одетого на персонажа в определённом слоте персонажа. * @param $slot_id - номер слота. * * @throws \Krugozor\Database\Mysql\Exception */ public function undressItem($slot_id) { self::getItemsInSlots(); // Проверяем, что используется один из 12 слотов и наличие предмета в слоте. if (in_array($slot_id, Item::ITEM_TYPES_ALLOWED_IN_SLOTS) && $this->dressedItem[$slot_id]) { db::c()->query('UPDATE inventory SET dressed_slot = 0 WHERE dressed_slot = ?i AND owner_id = ?i', $slot_id, $this->USERID); } } public function slotStatus($slot_id) { self::getItemsInSlots(); if ($this->dressedItem[$slot_id]) { } } }