Подсчёт бонусных очков

This commit is contained in:
Igor Barkov (iwork)
2020-07-20 15:07:49 +03:00
parent 6e73380b82
commit 0cc3454086
3 changed files with 85 additions and 34 deletions

View File

@@ -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 '<div class="debug">Не прогрузилась таблица inventory (*) для класса DressedItems.</div>';
}
}
private function getBonusesFromDressedItems($user_id)
protected function getBonusesFromDressedItems()
{
try {
$query = <<<SQL
@@ -40,16 +53,16 @@ SELECT SUM(add_strength) as sum_strength,
SUM(add_criticals) as sum_criticals
FROM inventory WHERE owner_id = ?i AND dressed_slot > 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 '<div class="debug">Не прогрузилась таблица inventory (SUM) для класса DressedItems.</div>';
echo '<div class="debug">Не прогрузилась таблица inventory (SUM) для класса DressedItems:' . $e . '</div>';
}
}
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'];
}
}