game/_incl_data/class/Item.php

197 lines
10 KiB
PHP
Raw Normal View History

<?php
use Core\ConversionHelper;
class Item
{
private 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' => 'Мф. абс. блока щитом (%)',
// deprecated
'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 parseDataString(string $data)
{
$a = ConversionHelper::dataStringToArray($data);
$sex = ['Мужской', 'Женский'];
$requirements = [];
$bonuses = [];
foreach ($a as $k => $v) {
if (strpos($k, 'tr_')) {
$requirements[$k] = $v;
}
if (strpos($k, 'add_')) {
$bonuses[$k] = $v;
}
if (isset($requirements['tr_sex'])) {
$requirements['tr_sex'] = $sex[$requirements['tr_sex']];
}
}
return ['tr' => $requirements, 'add' => $bonuses,];
}
}