diff --git a/classes/DressedItems.php b/classes/DressedItems.php index 8388ec0..b4dd240 100644 --- a/classes/DressedItems.php +++ b/classes/DressedItems.php @@ -9,23 +9,36 @@ class DressedItems { protected $DB; protected $DBSUM; + protected $USERID; private $dressedItem; + public $sumStrength = 0; + public $sumDexterity = 0; + public $sumIntuition = 0; + public $sumEndurance = 0; + public $sumIntelligence = 0; + public $sumWisdom = 0; + public $sumAccuracy = 0; + public $sumDodge = 0; + public $sumCriticals = 0; /** * DressedItems constructor. */ - public function __construct() {} + public function __construct($user_id) + { + $this->USERID = $user_id; + } - private function getDressedItems($user_id) + private function getDressedItems() { try { - $this->DB = db::c()->query('SELECT * FROM inventory WHERE owner_id = ?i AND dressed_slot > 0', $user_id); + $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 getBonusesFromDressedItems($user_id) + protected function getBonusesFromDressedItems() { try { $query = << 0' SQL; - $this->DBSUM = db::c()->query($query, $user_id)->fetch_assoc(); + $this->DBSUM = db::c()->query($query, $this->USERID)->fetch_assoc(); } catch (Exception $e) { - echo '
Не прогрузилась таблица inventory (SUM) для класса DressedItems.
'; + echo '
Не прогрузилась таблица inventory (SUM) для класса DressedItems:' . $e . '
'; } } - public function getItemsInSlots($user_id) + public function getItemsInSlots() { if (!$this->DB) { - $this->getDressedItems($user_id); + $this->getDressedItems(); } while ($row = $this->DB->fetch_assoc()) { $dressed_item[$row['dressed_slot']] = $row; @@ -57,12 +70,50 @@ SQL; } } - public function getBonusesAmount($user_id) + protected function getBonuses() { if (!$this->DBSUM) { - $this->getBonusesFromDressedItems($user_id); + $this->getBonusesFromDressedItems(); } return $this->DBSUM; } + public function getStrengthBonus() + { + return $this->getBonuses()['sum_strength']; + } + public function getDexterityBonus() + { + return $this->getBonuses()['sum_dexterity']; + } + public function getIntuitionBonus() + { + return $this->getBonuses()['sum_intuition']; + } + public function getEnduranceBonus() + { + return $this->getBonuses()['sum_endurance']; + } + public function getIntelliganceBonus() + { + return $this->getBonuses()['sum_intelligence']; + } + public function getWisdomBonus() + { + return $this->getBonuses()['sum_wisdom']; + } + public function getAccuracyBonus() + { + return $this->getBonuses()['sum_accuracy']; + } + public function getDodgeBonus() + { + return $this->getBonuses()['sum_dodge']; + } + public function getCriticalsBonus() + { + return $this->getBonuses()['sum_criticals']; + } + + } \ No newline at end of file diff --git a/classes/User.php b/classes/User.php index 1cb1265..788b081 100644 --- a/classes/User.php +++ b/classes/User.php @@ -68,8 +68,8 @@ class User private function UserInfoDoll($isBattle = 0, $isMain = 0) { //https://jsfiddle.net/ngx0yvhc - $di = new DressedItems(); - $dressedItems = $di->getItemsInSlots($this->id); + $di = new DressedItems($this->id); + $dressedItems = $di->getItemsInSlots(); for ($i = 1; $i <= 12; $i++) { echo sprintf('
', $i); diff --git a/main.php b/main.php index d3dc861..21bdf74 100644 --- a/main.php +++ b/main.php @@ -329,8 +329,8 @@ function countmf() $sokr = db::c()->query('SELECT 1 FROM `users_effects` WHERE `type` = 202 AND `owner_id` = ?i', $_SESSION['uid'])->getNumRows(); $user = new User($_SESSION['uid']); - $userDressedItems = new DressedItems(); - $allBonuses = $userDressedItems->getBonusesAmount($_SESSION['uid']) ?? []; + $userDressedItemsBonuses = new DressedItems(); + function GetWeaponType($idwep) { @@ -367,22 +367,17 @@ function countmf() $mf = []; //$user_dress = db::c()->query('SELECT SUM(`minu`), SUM(`maxu`), SUM(`mfkrit`), SUM(`mfakrit`), SUM(`mfuvorot`), SUM(`mfauvorot`), SUM(`bron1`), SUM(`bron2`), SUM(`bron3`), SUM(`bron4`) FROM `inventory` WHERE `dressed` = 1 AND `owner` = ?i', $user['id'])->fetch_row(); + //FIXME Брони стало 3, а не 4. + $user_dress[6] = $bmfbron + $user->headArmor; + $user_dress[7] = $bmfbron + $user->chestArmor; + $user_dress[8] = $bmfbron + $user->legArmor; + $user_dress[9] = $bmfbron + $user->legArmor; - $user_dress[6] = $bmfbron; - $user_dress[7] = $bmfbron; - $user_dress[8] = $bmfbron; - $user_dress[9] = $bmfbron; + $mykrit = $allBonuses['sum_intuition'] * 2.95; /* + SUM(mfkrit) */ + $myakrit = $allBonuses['sum_intuition'] * 2.75; /* + SUM(mfakrit) */ + $myuvorot = $allBonuses['sum_dexterity'] * 5; /* + SUM(mfuvorot) */ + $myauvorot = $allBonuses['sum_dexterity'] * 5; /* + SUM(mfauvorot) */ - $user_dress[6] += $user['ubron1']; - $user_dress[7] += $user['ubron2']; - $user_dress[8] += $user['ubron3']; - $user_dress[9] += $user['ubron4']; - - $mykrit = $user_dress[2] + ($user['inta'] * 2.95); - $myakrit = $user_dress[3] + ($user['inta'] * 2.75); - - $myuvorot = $user_dress[4] + ($user['lovk'] * 5); - $myauvorot = $user_dress[5] + ($user['lovk'] * 4); $mf['me'] = ['udar' => (floor($user['sila'] / 3) + 1 + $user_dress[0]), 'maxudar' => (floor($user['sila'] / 3) + 4 + $user_dress[1])]; @@ -946,6 +941,7 @@ if (input::get('edit')) { showUserDoll(0, 1); + $showItemsBonuses = new DressedItems(); ?>
Снять все
@@ -989,14 +985,18 @@ if (input::get('edit')) {
- Сила: getStrength(1) ?>
- Ловкость: getDexterity(1) ?>
- Интуиция: getIntuition(1) ?>
- Выносливость: getEndurance(1) ?>
- Интеллект: getIntelligence(1) ?>
- Мудрость: getWisdom(1) ?>
+ Сила: getStrength(1) + $showItemsBonuses->sumStrength ?>
+ Ловкость: getDexterity(1) + $showItemsBonuses->sumDexterity ?>
+ Интуиция: getIntuition(1) + $showItemsBonuses->sumIntuition ?>
+ Выносливость: getEndurance(1) + $showItemsBonuses->sumEndurance ?>
+ Интеллект: getIntelligence(1) + $showItemsBonuses->sumIntelligence ?>
+ Мудрость: getWisdom(1) + $showItemsBonuses->sumWisdom ?>
Возможных увеличений: stat_points ?>

+ Здоровье: getHealth() ?>
+ Уворот: ?? + sumDodge ?>
+ Точность: ?? + sumAccuracy ?>
+ Шанс крита: ?? + sumCriticals ?>