[wip] code smell, psr-12, mvc, other, forgot by 1 year.
This commit is contained in:
@@ -17,6 +17,7 @@ class UserStats extends User
|
||||
protected $health;
|
||||
protected $mana;
|
||||
protected $free_stat_points;
|
||||
private Models\UserStats $db;
|
||||
private const STAT_MAXIMUM_AMOUNT = 40;
|
||||
private const ERROR_STAT_IS_MAXIMUM = 'Ошибка: Параметр достиг своего лимита!';
|
||||
private const ERROR_STAT_UNKNOWN = 'Ошибка: Неизвестный параметр!';
|
||||
@@ -87,6 +88,8 @@ class UserStats extends User
|
||||
} else {
|
||||
$query = "UPDATE users SET {$stat_name} = {$stat_name} + 1, free_stat_points = free_stat_points - 1 WHERE id = ?";
|
||||
Db::getInstance()->execute($query, $this->id);
|
||||
//$this->db = new \Battles\Models\UserStats(23);
|
||||
$this->db->addPoint($stat_name);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,51 +164,7 @@ class UserStats extends User
|
||||
|
||||
public function getFullStats(): object
|
||||
{
|
||||
$stats = Db::getInstance()->ofetch("
|
||||
select
|
||||
strength,
|
||||
dexterity,
|
||||
intuition,
|
||||
endurance,
|
||||
intelligence,
|
||||
wisdom
|
||||
from users where id = $this->id");
|
||||
$itemBonuses = Db::getInstance()->ofetch("
|
||||
select
|
||||
sum(add_strength) as item_strength,
|
||||
sum(add_dexterity) as item_dexterity,
|
||||
sum(add_intuition) as item_intuition,
|
||||
sum(add_endurance) as item_endurance,
|
||||
sum(add_intelligence) as item_intelligence,
|
||||
sum(add_wisdom) as item_wisdom,
|
||||
sum(add_accuracy) as item_accuracy,
|
||||
sum(add_evasion) as item_evasion,
|
||||
sum(add_criticals) as item_criticals,
|
||||
sum(add_min_physical_damage) as item_min_physical_damage,
|
||||
sum(add_max_physical_damage) as item_max_physical_damage
|
||||
from inventory where dressed_slot != 0 and owner_id = $this->id");
|
||||
$effectBonuses = Db::getInstance()->ofetch("
|
||||
select
|
||||
sum(mod_strength) as effect_strength,
|
||||
sum(mod_dexterity) as effect_dexterity,
|
||||
sum(mod_intuition) as effect_intuition,
|
||||
sum(mod_endurance) as effect_endurance,
|
||||
sum(mod_intelligence) as effect_intelligence,
|
||||
sum(mod_wisdom) as effect_wisdom
|
||||
from users_effects where owner_id = $this->id");
|
||||
$obj = (object)[];
|
||||
$obj->strength = max(0,$stats->strength + $itemBonuses->item_strength + $effectBonuses->effect_strength);
|
||||
$obj->dexterity = max(0,$stats->dexterity + $itemBonuses->item_dexterity + $effectBonuses->effect_dexterity);
|
||||
$obj->intuition = max(0,$stats->intuition + $itemBonuses->item_intuition + $effectBonuses->effect_intuition);
|
||||
$obj->endurance = max(0,$stats->endurance + $itemBonuses->item_endurance + $effectBonuses->effect_endurance);
|
||||
$obj->intelligence = max(0,$stats->intelligence + $itemBonuses->item_intelligence + $effectBonuses->effect_intelligence);
|
||||
$obj->wisdom = max(0,$stats->wisdom + $itemBonuses->item_wisdom + $effectBonuses->effect_wisdom);
|
||||
$obj->accuracy = max(0, $itemBonuses->item_accuracy);
|
||||
$obj->evasion = max(0, $itemBonuses->item_evasion);
|
||||
$obj->criticals = max(0, $itemBonuses->item_criticals);
|
||||
$obj->min_physical_damage = max($this->minDamage, $this->minDamage + $itemBonuses->item_min_physical_damage);
|
||||
$obj->max_physical_damage = max($this->maxDamage, $this->maxDamage + $itemBonuses->item_max_physical_damage);
|
||||
return $obj;
|
||||
return (new Models\UserStats($this->id))->getFull();
|
||||
}
|
||||
|
||||
public function levelUp(): string
|
||||
@@ -222,6 +181,7 @@ class UserStats extends User
|
||||
*/
|
||||
private function saveStats()
|
||||
{
|
||||
//$this->db->save();
|
||||
$query = 'update users set strength = ?, dexterity = ?, intuition = ?, endurance = ?,
|
||||
intelligence = ?, wisdom = ?, health = ?, mana = ?, free_stat_points = ?,
|
||||
level = ? where id = ?';
|
||||
|
||||
Reference in New Issue
Block a user