228 lines
12 KiB
PHP
228 lines
12 KiB
PHP
<?php
|
||
|
||
|
||
use Helper\Conversion;
|
||
|
||
class Item
|
||
{
|
||
public static array $parameterName = [
|
||
'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' => 'Мф. абс. блока щитом (%)',
|
||
|
||
'mib1' => 'Броня головы минимум',
|
||
'mab1' => 'Броня головы максимум',
|
||
'mib2' => 'Броня груди и живота минимум',
|
||
'mab2' => 'Броня груди и живота максимум',
|
||
'mib3' => 'Броня пояса минимум',
|
||
'mab3' => 'Броня пояса максимум',
|
||
'mib4' => 'Броня ног минимум',
|
||
'mab4' => 'Броня ног максимум',
|
||
];
|
||
|
||
public static array $parameterNameDeprecated = [
|
||
'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',
|
||
];
|
||
|
||
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,];
|
||
}
|
||
|
||
public static function parseDataString(string $data)
|
||
{
|
||
$a = Conversion::dataStringToArray($data);
|
||
$sex = ['Мужской', 'Женский'];
|
||
$requirements = [];
|
||
$bonuses = [];
|
||
foreach ($a as $k => $v) {
|
||
if (str_starts_with($k, 'tr_')) {
|
||
$requirements[$k] = $v;
|
||
}
|
||
if (str_starts_with($k, 'add_')) {
|
||
$bonuses[$k] = $v;
|
||
}
|
||
if (isset($requirements['tr_sex'])) {
|
||
$requirements['tr_sex'] = $sex[$requirements['tr_sex']];
|
||
}
|
||
}
|
||
return ['tr' => $requirements, 'add' => $bonuses,];
|
||
}
|
||
} |