magicDifficulty = $magicDifficulty; if (!$this->isUsable()) { return $this->status; } $item = DressedItems::getDressedItemBySlot(Item::ITEM_TYPE_WEAPON, $_SESSION['uid']); // Проверяем, что в названии предмета нет цифр и плюсов. if (preg_match('/[\W\S]+\+\[?[\d]]?/', $item['name'])) { return 'Этот предмет точить нельзя!'; } $newMinPhysicalDamage = $item['add_min_physical_damage'] + $sharpenStrength; $newMaxPhysicalDamage = $item['add_max_physical_damage'] + $sharpenStrength; $newItemName = $item['name'] . " [+$sharpenStrength]"; DBPDO::INIT()->execute('UPDATE battles.inventory SET name = ?, add_min_physical_damage = ?, add_max_physical_damage = ? WHERE item_id = ? ', [$newItemName, $newMinPhysicalDamage, $newMaxPhysicalDamage, $item['item_id']]); return "У вас получилось изготовить предмет $newItemName!"; } private function isUsable(): bool { $caster = new User($_SESSION['uid']); return $this->isNotInBattle($caster) && $this->isSuccess($caster, $this->magicDifficulty); } }