7.4 to the go
This commit is contained in:
@@ -93,7 +93,7 @@ class Achievements
|
||||
],
|
||||
];
|
||||
|
||||
public function __construct(\user $user)
|
||||
public function __construct(\User $user)
|
||||
{
|
||||
$this->user = $user;
|
||||
$this->info = Db::getRow('select * from users_achiv where id = ?', [$user->info['id']]);
|
||||
|
||||
@@ -10,7 +10,6 @@ require_once 'Tournament/Tournament.php';
|
||||
require_once 'Tournament/TournamentModel.php';
|
||||
require_once 'Achievements.php';
|
||||
|
||||
|
||||
//Âìåñòî êðîíà äëÿ òóðíèðà.
|
||||
if (Tournament::IS_ENABLED) {
|
||||
(new Tournament())->startAllBattles();
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
|
||||
namespace Insallah;
|
||||
|
||||
use Core\Database;
|
||||
use Exception;
|
||||
use http\Message;
|
||||
use PDO;
|
||||
use PDOException;
|
||||
use PDOStatement;
|
||||
@@ -35,21 +37,23 @@ class Db
|
||||
* DB constructor.
|
||||
* @throws Exception
|
||||
*/
|
||||
public function __construct(){
|
||||
if (self::$instance === null){
|
||||
public function __construct()
|
||||
{
|
||||
if (self::$instance === null) {
|
||||
try {
|
||||
self::$db = new PDO(
|
||||
'mysql:host='.self::DB_HOST.';dbname='.self::DB_NAME,
|
||||
'mysql:host=' . self::DB_HOST . ';dbname=' . self::DB_PREFIX . self::DB_NAME,
|
||||
self::DB_USER,
|
||||
self::DB_PASSWORD,
|
||||
$options = [
|
||||
[
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES ".self::CHARSET
|
||||
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES " . self::CHARSET,
|
||||
]
|
||||
);
|
||||
// self::$db = Database::pdoinit();
|
||||
} catch (PDOException $e) {
|
||||
throw new Exception ($e->getMessage());
|
||||
throw new Exception($e->getMessage());
|
||||
}
|
||||
}
|
||||
return self::$instance;
|
||||
@@ -59,7 +63,8 @@ class Db
|
||||
* @param $stmt
|
||||
* @return PDOStatement
|
||||
*/
|
||||
public static function query($stmt) {
|
||||
public static function query($stmt)
|
||||
{
|
||||
return self::$db->query($stmt);
|
||||
}
|
||||
|
||||
@@ -67,7 +72,8 @@ class Db
|
||||
* @param $stmt
|
||||
* @return PDOStatement
|
||||
*/
|
||||
public static function prepare($stmt) {
|
||||
public static function prepare($stmt)
|
||||
{
|
||||
return self::$db->prepare($stmt);
|
||||
}
|
||||
|
||||
@@ -75,25 +81,28 @@ class Db
|
||||
* @param $query
|
||||
* @return int
|
||||
*/
|
||||
static public function exec($query) {
|
||||
static public function exec($query)
|
||||
{
|
||||
return self::$db->exec($query);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
static public function lastInsertId() {
|
||||
static public function lastInsertId()
|
||||
{
|
||||
return self::$db->lastInsertId();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $query
|
||||
* @param $query
|
||||
* @param array $args
|
||||
* @return PDOStatement
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function run($query, $args = []) {
|
||||
try{
|
||||
public static function run($query, $args = [])
|
||||
{
|
||||
try {
|
||||
if (!$args) {
|
||||
return self::query($query);
|
||||
}
|
||||
@@ -106,29 +115,32 @@ class Db
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $query
|
||||
* @param $query
|
||||
* @param array $args
|
||||
* @return mixed
|
||||
*/
|
||||
public static function getRow($query, $args = []) {
|
||||
public static function getRow($query, $args = [])
|
||||
{
|
||||
return self::run($query, $args)->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $query
|
||||
* @param $query
|
||||
* @param array $args
|
||||
* @return array
|
||||
*/
|
||||
public static function getRows($query, $args = []) {
|
||||
public static function getRows($query, $args = [])
|
||||
{
|
||||
return self::run($query, $args)->fetchAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $query
|
||||
* @param $query
|
||||
* @param array $args
|
||||
* @return mixed
|
||||
*/
|
||||
public static function getValue($query, $args = []) {
|
||||
public static function getValue($query, $args = [])
|
||||
{
|
||||
$result = self::getRow($query, $args);
|
||||
if (!empty($result)) {
|
||||
$result = array_shift($result);
|
||||
@@ -137,11 +149,12 @@ class Db
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $query
|
||||
* @param $query
|
||||
* @param array $args
|
||||
* @return array
|
||||
*/
|
||||
public static function getColumn($query, $args = []) {
|
||||
public static function getColumn($query, $args = [])
|
||||
{
|
||||
return self::run($query, $args)->fetchAll(PDO::FETCH_COLUMN);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,8 +4,7 @@ namespace Insallah;
|
||||
|
||||
class Runes
|
||||
{
|
||||
/** Создаём руну в зависимости от уровня.
|
||||
*
|
||||
/** Ñîçäà¸ì ðóíó â çàâèñèìîñòè îò óðîâíÿ.
|
||||
* @param $level
|
||||
*
|
||||
* @return array
|
||||
@@ -15,7 +14,7 @@ class Runes
|
||||
if (!in_array($level, [8, 9, 10])) {
|
||||
return [];
|
||||
}
|
||||
$power = [8 => 3, 9 => 5, 10 => 7];
|
||||
$power = [8 => 3, 9 => 3, 10 => 5];
|
||||
$stats = [8 => 1, 9 => 3, 10 => 3];
|
||||
$rand9 = array_rand(array_flip(['hpAll', 'm2', 'm5']));
|
||||
$runes = [
|
||||
@@ -27,24 +26,24 @@ class Runes
|
||||
['s5', 'm11', 'mpAll', 'pzm']
|
||||
];
|
||||
$vars = [
|
||||
's1' => ['Сила', mt_rand(1, $stats[$level])],
|
||||
's2' => ['Ловкость', mt_rand(1, $stats[$level])],
|
||||
's3' => ['Интуиция', mt_rand(1, $stats[$level])],
|
||||
's5' => ['Интеллект', mt_rand(1, $stats[$level])],
|
||||
'pa1' => ['Мощности Колющего урона', mt_rand(1, $power[$level])],
|
||||
'pa2' => ['Мощности Рубящего урона', mt_rand(1, $power[$level])],
|
||||
'pa3' => ['Мощности Дробящего урона', mt_rand(1, $power[$level])],
|
||||
'pa4' => ['Мощности Режущего урона', mt_rand(1, $power[$level])],
|
||||
'm2' => ['мф. Против Критического Удара', mt_rand(5, 15)],
|
||||
'm3' => ['МК', mt_rand(1, 3)],
|
||||
'antm3' => ['ПМК', mt_rand(1, 3)],
|
||||
'm5' => ['мф. Против Увертывания', mt_rand(5, 10)],
|
||||
'm11' => ['Мощности Магии стихии', mt_rand(1, $power[$level])],
|
||||
's1' => ['Ñèëà', mt_rand(1, $stats[$level])],
|
||||
's2' => ['Ëîâêîñòü', mt_rand(1, $stats[$level])],
|
||||
's3' => ['Èíòóèöèÿ', mt_rand(1, $stats[$level])],
|
||||
's5' => ['Èíòåëëåêò', mt_rand(1, $stats[$level])],
|
||||
'pa1' => ['Ìîùíîñòè Êîëþùåãî óðîíà', mt_rand(1, $power[$level])],
|
||||
'pa2' => ['Ìîùíîñòè Ðóáÿùåãî óðîíà', mt_rand(1, $power[$level])],
|
||||
'pa3' => ['Ìîùíîñòè Äðîáÿùåãî óðîíà', mt_rand(1, $power[$level])],
|
||||
'pa4' => ['Ìîùíîñòè Ðåæóùåãî óðîíà', mt_rand(1, $power[$level])],
|
||||
'm2' => ['ìô. Ïðîòèâ Êðèòè÷åñêîãî Óäàðà', mt_rand(5, 15)],
|
||||
'm3' => ['ÌÊ', mt_rand(1, 3)],
|
||||
'antm3' => ['ÏÌÊ', mt_rand(1, 3)],
|
||||
'm5' => ['ìô. Ïðîòèâ Óâåðòûâàíèÿ', mt_rand(5, 10)],
|
||||
'm11' => ['Ìîùíîñòè Ìàãèè ñòèõèè', mt_rand(1, $power[$level])],
|
||||
'hpAll' => ['HP', mt_rand(5, 15)],
|
||||
'mpAll' => ['MP', mt_rand(10, 20)],
|
||||
'pzm' => ['Подавление защиты от магии', 1],
|
||||
'za' => ['Защита от Урона', mt_rand(5, 10)],
|
||||
'zma' => ['Защита от Магии', mt_rand(5, 10)]
|
||||
'pzm' => ['Ïîäàâëåíèå çàùèòû îò ìàãèè', 1],
|
||||
'za' => ['Çàùèòà îò Óðîíà', mt_rand(5, 10)],
|
||||
'zma' => ['Çàùèòà îò Ìàãèè', mt_rand(5, 10)]
|
||||
];
|
||||
|
||||
$rune = $runes[array_rand($runes)]; // arr (s, pa\m, rand9\mpAll, other)
|
||||
@@ -52,40 +51,40 @@ class Runes
|
||||
$runeVals = [$vars[$rune[0]][1], $vars[$rune[1]][1], $vars[$rune[2]][1], $vars[$rune[3]][1]];
|
||||
$resultRune = array_combine($rune, $runeVals);
|
||||
$resultText = array_combine($runeTxt, $runeVals);
|
||||
if ($level < 10) { // Отрезаем параметр 4.
|
||||
if ($level < 10) { // Îòðåçàåì ïàðàìåòð 4.
|
||||
array_pop($resultRune);
|
||||
array_pop($resultText);
|
||||
}
|
||||
if ($level < 9) { // Отрезаем параметр 3.
|
||||
if ($level < 9) { // Îòðåçàåì ïàðàìåòð 3.
|
||||
array_pop($resultRune);
|
||||
array_pop($resultText);
|
||||
}
|
||||
//Строчка data в базу
|
||||
//Ñòðî÷êà data â áàçó
|
||||
$returnData = '|' . http_build_query($resultRune, '', '|');
|
||||
$returnData = str_replace('|', '|add_', $returnData);
|
||||
//Строчка человекопонятных параметров в статус.
|
||||
$returnText = urldecode(http_build_query($resultText, '', ', '));
|
||||
$returnText = 'Характеристики Руны: ' . str_replace('=', ': +', $returnText) . '.';
|
||||
//Ñòðî÷êà ÷åëîâåêîïîíÿòíûõ ïàðàìåòðîâ â ñòàòóñ.
|
||||
$returnText = urldecode(http_build_query($resultText, '', ', '));
|
||||
$returnText = 'Õàðàêòåðèñòèêè Ðóíû: ' . str_replace('=', ': +', $returnText) . '.';
|
||||
return [$returnData, $returnText];
|
||||
}
|
||||
|
||||
/** Выкусывает руну из предмета.
|
||||
/** Âûêóñûâàåò ðóíó èç ïðåäìåòà.
|
||||
*
|
||||
* @param array $itemDataArray
|
||||
* data предмета
|
||||
* data ïðåäìåòà
|
||||
*
|
||||
* @return array массив, item - предмет, rune - руна из предмета, rune_id - id руны.
|
||||
* Оба в подготовленном строчном формате для data
|
||||
* @return array ìàññèâ, item - ïðåäìåò, rune - ðóíà èç ïðåäìåòà, rune_id - id ðóíû.
|
||||
* Îáà â ïîäãîòîâëåííîì ñòðî÷íîì ôîðìàòå äëÿ data
|
||||
*/
|
||||
public static function removeRuneData($itemDataArray)
|
||||
{
|
||||
# Ищем есть ли в предмете руна определённого типа.
|
||||
# Èùåì åñòü ëè â ïðåäìåòå ðóíà îïðåäåë¸ííîãî òèïà.
|
||||
$runeid = array_search('rune_id', array_flip($itemDataArray));
|
||||
if (!in_array($runeid, [6001, 6002, 6003])) {
|
||||
return [];
|
||||
}
|
||||
$bonusArgs = 0;
|
||||
# В зависимости от типа руны считаем количество элементов-бонусов.
|
||||
#  çàâèñèìîñòè îò òèïà ðóíû ñ÷èòàåì êîëè÷åñòâî ýëåìåíòîâ-áîíóñîâ.
|
||||
if ($runeid === 6001) {
|
||||
$bonusArgs = 2;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user