stat = new Stat(); foreach ($data as $bonusName => $value) { if (!$this->stat->getBonusNames()[$bonusName]) { $this->result[$bonusName] = $value; //fixme на период отладки для отлова забытых //continue; } $this->result[$this->stat->getBonusNames()[$bonusName]] = $value; } $this->armor($data); } private function armor(array $data): void { $min = 0; $max = 0; $type = [ 1 => 'головы', 2 => 'корпуса', 3 => 'пояса', 4 => 'ног', ]; foreach ($type as $k => $v) { if (!empty($data['mib' . $k])) { $min = $data['mib' . $k]; $max = $data['mib' . $k]; } if (!empty($data['mab' . $k])) { if (empty($data['mib' . $k])) { $min = $data['mab' . $k]; } $max = $data['mab' . $k]; } if (empty($min) && empty($max)) { return; } $this->result['Броня ' . $v] = $min . ' - ' . $max; } } public function get(): array { return $this->result; } public function addZonb(): void { if (isset($this->result[$this->stat->getBonusNames()['zonb']])) { $this->result[$this->stat->getBonusNames()['zonb']]++; } else { $this->result[$this->stat->getBonusNames()['zonb']] = 1; } } }