refactor
This commit is contained in:
@@ -2,77 +2,23 @@
|
||||
|
||||
namespace Item\Data;
|
||||
|
||||
use Model\Constant\Stat;
|
||||
|
||||
class Bonuses
|
||||
{
|
||||
public static array $names = [
|
||||
'hpAll' => 'Уровень жизни (HP)',
|
||||
'mpAll' => 'Уровень маны',
|
||||
's1' => 'Сила',
|
||||
's2' => 'Ловкость',
|
||||
's3' => 'Интуиция',
|
||||
's4' => 'Выносливость',
|
||||
's5' => 'Интелект',
|
||||
's6' => 'Мудрость',
|
||||
'm1' => 'Мф. критического удара (%)',
|
||||
'm2' => 'Мф. против критического удара (%)',
|
||||
'm3' => 'Мф. мощности критического удара (%)',
|
||||
'm4' => 'Мф. увертывания (%)',
|
||||
'm5' => 'Мф. против увертывания (%)',
|
||||
'm6' => 'Мф. контрудара (%)',
|
||||
'm7' => 'Мф. парирования (%)',
|
||||
'm8' => 'Мф. блока щитом (%)',
|
||||
'm9' => 'Мф. пробоя брони (%)',
|
||||
'm10' => 'Мф. мощности урона',
|
||||
'm11' => 'Мф. мощности магии стихий',
|
||||
'm14' => 'Мф. абс. критического удара (%)',
|
||||
'm15' => 'Мф. абс. увертывания (%)',
|
||||
'm18' => 'Мф. абс. блока щитом (%)',
|
||||
'a1' => 'Мастерство владения ножами, кинжалами',
|
||||
'a2' => 'Мастерство владения топорами, секирами',
|
||||
'a3' => 'Мастерство владения дубинами, молотами',
|
||||
'a4' => 'Мастерство владения мечами',
|
||||
'a5' => 'Мастерство владения магическими посохами',
|
||||
'aall' => 'Мастерство владения оружием',
|
||||
'mall' => 'Мастерство владения магией стихий',
|
||||
'mg1' => 'Мастерство владения магией огня',
|
||||
'mg2' => 'Мастерство владения магией воздуха',
|
||||
'mg3' => 'Мастерство владения магией воды',
|
||||
'mg4' => 'Мастерство владения магией земли',
|
||||
'mg7' => 'Мастерство владения серой магией',
|
||||
'pa1' => 'Мф. мощности колющего урона',
|
||||
'pa2' => 'Мф. мощности рубящего урона',
|
||||
'pa3' => 'Мф. мощности дробящий урона',
|
||||
'pa4' => 'Мф. мощности режущий урона',
|
||||
'pm1' => 'Мф. мощности магии огня',
|
||||
'pm2' => 'Мф. мощности магии воздуха',
|
||||
'pm3' => 'Мф. мощности магии воды',
|
||||
'pm4' => 'Мф. мощности магии земли',
|
||||
'za' => 'Защита от урона',
|
||||
'zm' => 'Защита от магии стихий',
|
||||
'speedhp' => 'Регенерация здоровья (НР)',
|
||||
'speedmp' => 'Регенерация маны (МР)',
|
||||
'zona' => 'Дополнительная зона атаки',
|
||||
'zonb' => 'Дополнительная зона блока',
|
||||
'speed_dungeon' => 'Скорость перемещения по пещерам',
|
||||
'antm3' => 'Мф. против мощности крит. удара',
|
||||
'spasenie' => 'Спасение после смерти',
|
||||
'exp' => 'Получаемый опыт (%)',
|
||||
'repair_z' => 'Бесплатное извлечение заточек',
|
||||
'repair_r' => 'Бесплатное извлечение рун',
|
||||
'repair_discount' => 'Скидка на ремонт вещей',
|
||||
'gold' => 'Благодать Ангела',
|
||||
'magic_cast' => 'Дополнительное заклинание за ход',
|
||||
];
|
||||
|
||||
private Stat $stat;
|
||||
private array $result = [];
|
||||
|
||||
public function __construct(array $data)
|
||||
{
|
||||
$this->stat = new Stat();
|
||||
|
||||
foreach ($data as $bonusName => $value) {
|
||||
if (!self::$names[$bonusName]) {
|
||||
continue;
|
||||
if (!$this->stat->getBonusNames()[$bonusName]) {
|
||||
$this->result[$bonusName] = $value; //fixme на период отладки для отлова забытых
|
||||
//continue;
|
||||
}
|
||||
$this->result[self::$names[$bonusName]] = $value;
|
||||
$this->result[$this->stat->getBonusNames()[$bonusName]] = $value;
|
||||
}
|
||||
$this->armor($data);
|
||||
}
|
||||
@@ -112,16 +58,10 @@ class Bonuses
|
||||
|
||||
public function addZonb(): void
|
||||
{
|
||||
if (isset($this->result[self::$names['zonb']])) {
|
||||
$this->result[self::$names['zonb']]++;
|
||||
if (isset($this->result[$this->stat->getBonusNames()['zonb']])) {
|
||||
$this->result[$this->stat->getBonusNames()['zonb']]++;
|
||||
} else {
|
||||
$this->result[self::$names['zonb']] = 1;
|
||||
$this->result[$this->stat->getBonusNames()['zonb']] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
public static function getBonusSystemNames(): array
|
||||
{
|
||||
return array_keys(self::$names);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,29 +2,10 @@
|
||||
|
||||
namespace Item\Data;
|
||||
|
||||
use Model\Constant\Stat;
|
||||
|
||||
class Requirements
|
||||
{
|
||||
public static array $names = [
|
||||
'sex' => 'Пол',
|
||||
'lvl' => 'Уровень',
|
||||
's1' => 'Сила',
|
||||
's2' => 'Ловкость',
|
||||
's3' => 'Интуиция',
|
||||
's4' => 'Выносливость',
|
||||
's5' => 'Интелект',
|
||||
's6' => 'Мудрость',
|
||||
'a1' => 'Мастерство владения ножами, кинжалами',
|
||||
'a2' => 'Мастерство владения топорами, секирами',
|
||||
'a3' => 'Мастерство владения дубинами, молотами',
|
||||
'a4' => 'Мастерство владения мечами',
|
||||
'a5' => 'Мастерство владения магическими посохами',
|
||||
'mg1' => 'Мастерство владения магией огня',
|
||||
'mg2' => 'Мастерство владения магией воздуха',
|
||||
'mg3' => 'Мастерство владения магией воды',
|
||||
'mg4' => 'Мастерство владения магией земли',
|
||||
'mg7' => 'Мастерство владения серой магией',
|
||||
'align' => 'Склонность',
|
||||
];
|
||||
private static array $sex = [
|
||||
0 => 'Мужской',
|
||||
1 => 'Женский',
|
||||
@@ -39,12 +20,15 @@ class Requirements
|
||||
private int $alignValue = 0;
|
||||
|
||||
private array $result = [];
|
||||
private Stat $stat;
|
||||
|
||||
public function __construct(array $data)
|
||||
{
|
||||
$this->stat = new Stat();
|
||||
foreach ($data as $requirementName => $value) {
|
||||
if (!self::$names[$requirementName]) {
|
||||
continue;
|
||||
if (!$this->stat->getRequirementNames()[$requirementName]) {
|
||||
$this->result[$requirementName] = $value; //fixme на период отладки для отлова забытых
|
||||
//continue;
|
||||
}
|
||||
if ($requirementName === 'sex') {
|
||||
if (self::$sex[$value]) {
|
||||
@@ -56,16 +40,20 @@ class Requirements
|
||||
if ($requirementName === 'align') {
|
||||
if (self::$align[$value]) {
|
||||
$this->alignValue = $value;
|
||||
$this->result[$requirementName]['sysvalue'] = $value;
|
||||
$value = self::$align[$value];
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
//$this->result[$this->stat->getRequirementNames()[$requirementName]] = $value;
|
||||
|
||||
$this->result[$requirementName] = [
|
||||
'name' => self::$names[$requirementName],
|
||||
'name' => $this->stat->getRequirementNames()[$requirementName],
|
||||
'value' => $value,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function get(): array
|
||||
|
||||
Reference in New Issue
Block a user