2023-09-30 15:18:58 +00:00
|
|
|
|
<?php
|
|
|
|
|
|
2023-11-02 13:57:39 +00:00
|
|
|
|
|
|
|
|
|
use Helper\Conversion;
|
2023-09-30 15:18:58 +00:00
|
|
|
|
|
|
|
|
|
class Item
|
|
|
|
|
{
|
2023-11-02 13:57:39 +00:00
|
|
|
|
public static array $parameterName = [
|
2023-09-30 15:18:58 +00:00
|
|
|
|
'sex' => 'Пол',
|
|
|
|
|
'align' => 'Склонность',
|
|
|
|
|
'lvl' => 'Уровень',
|
|
|
|
|
|
|
|
|
|
'antm3' => 'Мф. против мощности крита',
|
|
|
|
|
'spasenie' => 'Спасение после смерти',
|
|
|
|
|
'exp' => 'Получаемый опыт (%)',
|
|
|
|
|
'gold' => 'Благодать Ангела',
|
|
|
|
|
'repair_discount' => 'Скидка на ремонт вещей',
|
|
|
|
|
'repair_z' => 'Бесплатное извлечение заточек',
|
|
|
|
|
'repair_r' => 'Бесплатное извлечение рун',
|
|
|
|
|
'speed_dungeon' => 'Скорость передвижения по подземельям',
|
|
|
|
|
|
|
|
|
|
's1' => 'Сила',
|
|
|
|
|
's2' => 'Ловкость',
|
|
|
|
|
's3' => 'Интуиция',
|
|
|
|
|
's4' => 'Выносливость',
|
|
|
|
|
's5' => 'Интеллект',
|
|
|
|
|
's6' => 'Мудрость',
|
|
|
|
|
's7' => 'Духовность',
|
|
|
|
|
|
|
|
|
|
'a1' => 'Мастерство владения ножами, кинжалами',
|
|
|
|
|
'a2' => 'Мастерство владения топорами, секирами',
|
|
|
|
|
'a3' => 'Мастерство владения дубинами, молотами',
|
|
|
|
|
'a4' => 'Мастерство владения мечами',
|
|
|
|
|
'a5' => 'Мастерство владения магическими посохами',
|
|
|
|
|
'aall' => 'Мастерство владения оружием',
|
|
|
|
|
|
|
|
|
|
'mg1' => 'Мастерство владения магией огня',
|
|
|
|
|
'mg2' => 'Мастерство владения магией воздуха',
|
|
|
|
|
'mg3' => 'Мастерство владения магией воды',
|
|
|
|
|
'mg4' => 'Мастерство владения магией земли',
|
|
|
|
|
'mg7' => 'Мастерство владения серой магией',
|
|
|
|
|
'mall' => 'Мастерство владения магией стихий',
|
|
|
|
|
|
|
|
|
|
'hpAll' => "Уровень жизни (HP)",
|
|
|
|
|
'mpAll' => "Уровень маны (МP)",
|
|
|
|
|
|
|
|
|
|
'pa1' => 'Мф. мощности колющего урона',
|
|
|
|
|
'pa2' => 'Мф. мощности рубящего урона',
|
|
|
|
|
'pa3' => 'Мф. мощности дробящего урона',
|
|
|
|
|
'pa4' => 'Мф. мощности режущего урона',
|
|
|
|
|
'pm1' => 'Мф. мощности магии огня',
|
|
|
|
|
'pm2' => 'Мф. мощности магии воздуха',
|
|
|
|
|
'pm3' => 'Мф. мощности магии воды',
|
|
|
|
|
'pm4' => 'Мф. мощности магии земли',
|
|
|
|
|
|
|
|
|
|
'zona' => 'Дополнительная зона атаки',
|
|
|
|
|
'zonb' => '???',
|
|
|
|
|
|
|
|
|
|
'speedhp' => 'Регенерация здоровья (%)',
|
|
|
|
|
'speedmp' => 'Регенерация маны (%)',
|
|
|
|
|
|
|
|
|
|
'za' => 'Защита от урона',
|
|
|
|
|
'zm' => 'Защита от магии стихий',
|
|
|
|
|
'magic_cast' => 'Дополнительный каст за ход',
|
|
|
|
|
|
|
|
|
|
'm1' => 'Мф. критического удара (%)',
|
|
|
|
|
'm2' => 'Мф. против критического удара (%)',
|
|
|
|
|
'm3' => 'Мф. мощности крит. удара (%)',
|
|
|
|
|
'm4' => 'Мф. увертывания (%)',
|
|
|
|
|
'm5' => 'Мф. против увертывания (%)',
|
|
|
|
|
'm6' => 'Мф. контрудара (%)',
|
|
|
|
|
'm7' => 'Мф. парирования (%)',
|
|
|
|
|
'm8' => 'Мф. блока щитом (%)',
|
|
|
|
|
'm9' => 'Мф. удара сквозь броню (%)',
|
|
|
|
|
'm10' => 'Мф. мощности урона',
|
|
|
|
|
'm11' => 'Мф. мощности магии стихий',
|
|
|
|
|
'm14' => 'Мф. абс. критического удара (%)',
|
|
|
|
|
'm15' => 'Мф. абс. увертывания (%)',
|
|
|
|
|
'm18' => 'Мф. абс. блока щитом (%)',
|
|
|
|
|
|
2023-11-02 13:57:39 +00:00
|
|
|
|
'mib1' => 'Броня головы минимум',
|
|
|
|
|
'mab1' => 'Броня головы максимум',
|
|
|
|
|
'mib2' => 'Броня груди и живота минимум',
|
|
|
|
|
'mab2' => 'Броня груди и живота максимум',
|
|
|
|
|
'mib3' => 'Броня пояса минимум',
|
|
|
|
|
'mab3' => 'Броня пояса максимум',
|
|
|
|
|
'mib4' => 'Броня ног минимум',
|
|
|
|
|
'mab4' => 'Броня ног максимум',
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
public static array $parameterNameDeprecated = [
|
2023-09-30 15:18:58 +00:00
|
|
|
|
'acestar' => 'Следующий каст будет критическим',
|
|
|
|
|
'more_awards' => 'Повышеная награда %',
|
|
|
|
|
'align_bs' => 'Служитель закона',
|
|
|
|
|
'nopryh' => 'Прямое поподание',
|
|
|
|
|
'puti' => 'Запрет перемещения',
|
|
|
|
|
'enAll' => 'Уровень энергии',
|
|
|
|
|
'm21' => 'Мф. абс. попадания (%)',
|
|
|
|
|
'm16' => 'Мф. абс. парирования (%)',
|
|
|
|
|
'm17' => 'Мф. абс. контрудара (%)',
|
|
|
|
|
'm19' => 'Мф. абс. магический промах (%)',
|
|
|
|
|
'm20' => 'Мф. удача (%)',
|
|
|
|
|
'a6' => 'Мастерство владения луками',
|
|
|
|
|
'a7' => 'Мастерство владения арбалетами',
|
|
|
|
|
'm2all' => 'Мастерство владения магией',
|
|
|
|
|
'mg5' => 'Мастерство владения магией Света',
|
|
|
|
|
'mg6' => 'Мастерство владения магией Тьмы',
|
|
|
|
|
'tj' => 'Тяжелая броня',
|
|
|
|
|
'lh' => 'Легкая броня',
|
|
|
|
|
'minAtack' => 'Минимальный урон',
|
|
|
|
|
'maxAtack' => 'Максимальный урон',
|
|
|
|
|
'm11a' => 'Мф. мощности магии',
|
|
|
|
|
'pm5' => 'Мф. мощности магии Света',
|
|
|
|
|
'pm6' => 'Мф. мощности магии Тьмы',
|
|
|
|
|
'zma' => 'Защита от магии',
|
|
|
|
|
'za1' => 'Защита от колющего урона',
|
|
|
|
|
'za2' => 'Защита от рубящего урона',
|
|
|
|
|
'za3' => 'Защита от дробящего урона',
|
|
|
|
|
'za4' => 'Защита от режущего урона',
|
|
|
|
|
'zm1' => 'Защита от магии огня',
|
|
|
|
|
'zm2' => 'Защита от магии воздуха',
|
|
|
|
|
'zm3' => 'Защита от магии воды',
|
|
|
|
|
'zm4' => 'Защита от магии земли',
|
|
|
|
|
'zm5' => 'Защита от магии Света',
|
|
|
|
|
'zm6' => 'Защита от магии Тьмы',
|
|
|
|
|
'zm7' => 'Защита от серой магии',
|
|
|
|
|
'pza' => 'Понижение защиты от урона',
|
|
|
|
|
'pzm' => 'Понижение защиты от магии',
|
|
|
|
|
'pza1' => 'Понижение защиты от колющего урона',
|
|
|
|
|
'min_heal_proc' => 'Эффект лечения (%)',
|
|
|
|
|
'notravma' => 'Защита от травм',
|
|
|
|
|
'yron_min' => 'Минимальный урон',
|
|
|
|
|
'yron_max' => 'Максимальный урон',
|
|
|
|
|
'zaproc' => 'Блокировка Физического Урона (%)',
|
|
|
|
|
'zmproc' => 'Блокировка Магического Урона (%)',
|
|
|
|
|
'zm2proc' => 'Защита от магии Воздуха (%)',
|
|
|
|
|
'pza2' => 'Понижение защиты от рубящего урона',
|
|
|
|
|
'pza3' => 'Понижение защиты от дробящего урона',
|
|
|
|
|
'pza4' => 'Понижение защиты от режущего урона',
|
|
|
|
|
'pzm1' => 'Понижение защиты от магии огня',
|
|
|
|
|
'pzm2' => 'Понижение защиты от магии воздуха',
|
|
|
|
|
'pzm3' => 'Понижение защиты от магии воды',
|
|
|
|
|
'pzm4' => 'Понижение защиты от магии земли',
|
|
|
|
|
'pzm5' => 'Понижение защиты от магии Света',
|
|
|
|
|
'pzm6' => 'Понижение защиты от магии Тьмы',
|
|
|
|
|
'pzm7' => 'Понижение защиты от серой магии',
|
|
|
|
|
'tya1' => 'Колющие атаки',
|
|
|
|
|
'tya2' => 'Рубящие атаки',
|
|
|
|
|
'tya3' => 'Дробящие атаки',
|
|
|
|
|
'tya4' => 'Режущие атаки',
|
|
|
|
|
'tym1' => 'Огненные атаки',
|
|
|
|
|
'mg2static_points' => 'Уровень заряда (Воздух)',
|
|
|
|
|
'tym2' => 'Электрические атаки',
|
|
|
|
|
'tym3' => 'Ледяные атаки',
|
|
|
|
|
'tym4' => 'Земляные атаки',
|
|
|
|
|
'hpProc' => 'Уровень жизни (%)',
|
|
|
|
|
'mpProc' => 'Уровень маны (%)',
|
|
|
|
|
'tym5' => 'Атаки Света',
|
|
|
|
|
'tym6' => 'Атаки Тьмы',
|
|
|
|
|
'tym7' => 'Серые атаки',
|
|
|
|
|
'min_use_mp' => 'Уменьшает расход маны',
|
|
|
|
|
'pog' => 'Поглощение урона',
|
|
|
|
|
'pog2' => 'Поглощение урона',
|
|
|
|
|
'pog2p' => 'Процент поглощение урона',
|
|
|
|
|
'pog2mp' => 'Цена поглощение урона',
|
|
|
|
|
'maxves' => 'Увеличивает рюкзак',
|
|
|
|
|
'bonusexp' => 'Увеличивает получаемый опыт',
|
|
|
|
|
'speeden' => 'Регенерация энергии (%)',
|
|
|
|
|
'yza' => 'Уязвимость физическому урона (%)',
|
|
|
|
|
'yzm' => 'Уязвимость магии стихий (%)',
|
|
|
|
|
'yzma' => 'Уязвимость магии (%)',
|
|
|
|
|
'yza1' => 'Уязвимость колющему урона (%)',
|
|
|
|
|
'yza2' => 'Уязвимость рубящему урона (%)',
|
|
|
|
|
'yza3' => 'Уязвимость дробящему урона (%)',
|
|
|
|
|
'yza4' => 'Уязвимость режущему урона (%)',
|
|
|
|
|
'yzm1' => 'Уязвимость магии огня (%)',
|
|
|
|
|
'yzm2' => 'Уязвимость магии воздуха (%)',
|
|
|
|
|
'yzm3' => 'Уязвимость магии воды (%)',
|
|
|
|
|
'yzm4' => 'Уязвимость магии земли (%)',
|
|
|
|
|
'yzm5' => 'Уязвимость магии (%)',
|
|
|
|
|
'yzm6' => 'Уязвимость магии (%)',
|
|
|
|
|
'yzm7' => 'Уязвимость магии (%)',
|
|
|
|
|
'rep' => 'Репутация Рыцаря',
|
|
|
|
|
'hpVinos' => 'Бонус жизни',
|
|
|
|
|
'bronze' => 'Bronze Premium Account',
|
|
|
|
|
'silvers' => 'Silver Premium Account',
|
|
|
|
|
];
|
|
|
|
|
|
2023-11-02 13:57:39 +00:00
|
|
|
|
public static function test(string $data)
|
|
|
|
|
{
|
|
|
|
|
$t = self::parseDataString($data);
|
|
|
|
|
$r = [];
|
|
|
|
|
$b = [];
|
|
|
|
|
foreach ($t['tr'] as $k => $v) {
|
|
|
|
|
if (isset(self::$parameterName[explode('_', $k)[1]])) {
|
|
|
|
|
$k = "($k) " . self::$parameterName[explode('_', $k)[1]];
|
|
|
|
|
}
|
|
|
|
|
$r[$k] = $v;
|
|
|
|
|
}
|
|
|
|
|
foreach ($t['add'] as $k2 => $v2) {
|
|
|
|
|
if (isset(self::$parameterName[explode('_', $k2)[1]])) {
|
|
|
|
|
$k2 = "($k2) " . self::$parameterName[explode('_', $k2)[1]];
|
|
|
|
|
}
|
|
|
|
|
$b[$k2] = $v2;
|
|
|
|
|
}
|
|
|
|
|
return ['tr' => $r, 'add' => $b,];
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-30 15:18:58 +00:00
|
|
|
|
public static function parseDataString(string $data)
|
|
|
|
|
{
|
2023-11-02 13:57:39 +00:00
|
|
|
|
$a = Conversion::dataStringToArray($data);
|
2023-09-30 15:18:58 +00:00
|
|
|
|
$sex = ['Мужской', 'Женский'];
|
|
|
|
|
$requirements = [];
|
|
|
|
|
$bonuses = [];
|
|
|
|
|
foreach ($a as $k => $v) {
|
2023-11-02 13:57:39 +00:00
|
|
|
|
if (str_starts_with($k, 'tr_')) {
|
2023-09-30 15:18:58 +00:00
|
|
|
|
$requirements[$k] = $v;
|
|
|
|
|
}
|
2023-11-02 13:57:39 +00:00
|
|
|
|
if (str_starts_with($k, 'add_')) {
|
2023-09-30 15:18:58 +00:00
|
|
|
|
$bonuses[$k] = $v;
|
|
|
|
|
}
|
|
|
|
|
if (isset($requirements['tr_sex'])) {
|
|
|
|
|
$requirements['tr_sex'] = $sex[$requirements['tr_sex']];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ['tr' => $requirements, 'add' => $bonuses,];
|
|
|
|
|
}
|
|
|
|
|
}
|