Переделка класса Item под новую базу.

This commit is contained in:
Igor Barkov (iwork)
2020-07-21 18:03:46 +03:00
parent bc40aa5004
commit 12feda506a
5 changed files with 151 additions and 216 deletions
+111 -173
View File
@@ -2,91 +2,30 @@
abstract class Item
{
public $id;
public $item_id;
public $name;
public $nalign;
public $massa;
public $maxdur;
public $img;
public $cost;
public $artefact;
public $type;
public $nlevel;
public $nsila;
public $nlovk;
public $ninta;
public $nvinos;
public $nintel;
public $nmudra;
public $nnoj;
public $ntopor;
public $ndubina;
public $nmech;
public $nfire;
public $nwater;
public $nair;
public $nearth;
public $nlight;
public $ngray;
public $ndark;
public $minu;
public $maxu;
public $gsila;
public $glovk;
public $ginta;
public $gintel;
public $gnoj;
public $gtopor;
public $gdubina;
public $gmech;
public $gfire;
public $gwater;
public $gair;
public $gearth;
public $glight;
public $ggray;
public $gdark;
public $ghp;
public $bron1;
public $bron2;
public $bron3;
public $bron4;
public $mfkrit;
public $mfakrit;
public $mfuvorot;
public $mfauvorot;
public $dategoden;
public $goden;
public $needident;
public $magic;
public $magic_name;
public $magic_img;
public $isrep;
public $gmp;
public $encicl;
public $koll;
public $prof;
public $prof1;
public $count;
public $razdel;
public $ecost;
public $zeton;
public $onlyone;
public $shshop;
public $otdel;
public $setsale;
public $item_type;
public $durability;
public $price;
public $need_strength;
public $need_dexterity;
public $need_intuition;
public $need_endurance;
public $need_intelligence;
public $need_wisdom;
public $add_strength;
public $add_dexterity;
public $add_intuition;
public $add_endurance;
public $add_intelligence;
public $add_wisdom;
public $add_accuracy;
public $add_evasion;
public $add_criticals;
public $add_min_physical_damage;
public $add_max_physical_damage;
public $weight;
public $image;
/**
* Item constructor.
@@ -101,46 +40,38 @@ abstract class Item
}
}
switch ($this->type) {
switch ($this->item_type) {
case 1:
$this->typename = 'Серьги';
break;
case 2:
$this->typename = 'Ожерелье';
break;
case 3:
$this->typename = 'Оружие';
break;
case 4:
$this->typename = 'Броня';
break;
case 5:
$this->typename = 'Кольцо';
break;
case 8:
$this->typename = 'Шлем';
break;
case 9:
case 2:
$this->typename = 'Броня';
break;
case 3:
$this->typename = 'Поножи';
break;
case 4:
$this->typename = 'Сапоги';
break;
case 5:
$this->typename = 'Перчатки';
break;
case 10:
case 6:
$this->typename = 'Оружие';
break;
case 7:
$this->typename = 'Щит';
break;
case 8:
$this->typename = 'Пояс';
break;
case 9:
case 10:
case 11:
$this->typename = 'Обувь';
$this->typename = 'Кольцо';
break;
case 12:
$this->typename = 'Магический свиток';
break;
case 22:
$this->typename = 'Рубашка';
break;
case 50:
$this->typename = 'Волшебное зелье';
break;
case 200:
$this->typename = 'Сувенир';
$this->typename = 'Амулет';
break;
default:
$this->typename = 'Хлам';
@@ -152,73 +83,80 @@ abstract class Item
public function printImage()
{
echo <<<IMG
<img src="//{$_SERVER['SERVER_NAME']}/i/sh/{$this->img}" class="item-wrap-normal">
<img src="//{$_SERVER['SERVER_NAME']}/i/sh/{$this->image}" class="item-wrap-normal">
IMG;
}
protected function wrap($number)
{
if ($number > 0) return ": <b>" . $number . "</b>";
else return ": <b style='color: maroon;'>" . $number . "</b>";
if ($number > 0) {
return ": <b>" . $number . "</b>";
} else {
return ": <b style='color: maroon;'>" . $number . "</b>";
}
}
protected function printBaseInfo()
protected function printAllInfo()
{
echo "<b>" . $this->name . "</b> (Масса: " . $this->massa . ")";
if ($this->nalign) echo " <img src=i/align_{$this->nalign}.gif title='Этот предмет могут использовать только игроки с определённой склонностью.'> ";
if ($this->maxdur > 0) echo "<br>Долговечность: {$this->maxdur}";
if ($this->maxdur == -1) echo "<br>Долговечность: <i>неразрушимо</i>";
echo "<br><i>{$this->typename}</i>";
}
protected function printRequirements()
{
if ($this->nlevel > 0) echo "<br>Требуется уровень" . $this->wrap($this->nlevel);
if ($this->nnoj > 0) echo "<br>Требуется владение колющим оружиием" . $this->wrap($this->nnoj);
if ($this->ndubina > 0) echo "<br>Требуется владение дробящим оружием" . $this->wrap($this->ndubina);
if ($this->ntopor > 0) echo "<br>Требуется владение рубящим оружием" . $this->wrap($this->ntopor);
if ($this->nmech > 0) echo "<br>Требуется владение режущим оружием" . $this->wrap($this->nmech);
if ($this->nsila > 0) echo "<br>Требуется сила" . $this->wrap($this->nsila);
if ($this->nlovk > 0) echo "<br>Требуется ловкость" . $this->wrap($this->nlovk);
if ($this->ninta > 0) echo "<br>Требуется интуиция" . $this->wrap($this->ninta);
if ($this->nvinos > 0) echo "<br>Требуется выносливость" . $this->wrap($this->nvinos);
if ($this->nintel > 0) echo "<br>Требуется интеллект" . $this->wrap($this->nintel);
}
protected function printBonuses()
{
if ($this->gsila) echo "<br>Сила" . $this->wrap($this->gsila);
if ($this->glovk) echo "<br>Ловкость" . $this->wrap($this->glovk);
if ($this->ginta) echo "<br>Интуиция" . $this->wrap($this->ginta);
if ($this->gintel) echo "<br>Интеллект" . $this->wrap($this->gintel);
if ($this->minu AND $this->maxu) echo "<br>Урон: {$this->minu} - {$this->maxu}";
if ($this->ghp) echo "<br>Здоровье" . $this->wrap($this->ghp);
if ($this->gnoj) echo "<br>Владение колющим оружиием" . $this->wrap($this->gnoj);
if ($this->gdubina) echo "<br>Владение дробящим оружием" . $this->wrap($this->gdubina);
if ($this->gtopor) echo "<br>Владение рубящим оружием" . $this->wrap($this->gtopor);
if ($this->gmech) echo "<br>Владение режущим оружием" . $this->wrap($this->gmech);
if ($this->gfire) echo "<br>Владение магией огня" . $this->wrap($this->gfire);
if ($this->gwater) echo "<br>Владение магией воды" . $this->wrap($this->gwater);
if ($this->gair) echo "<br>Владение магией воздуха" . $this->wrap($this->gair);
if ($this->gearth) echo "<br>Владение магией земли" . $this->wrap($this->gearth);
if ($this->glight) echo "<br>Владение магией света" . $this->wrap($this->glight);
if ($this->ggray) echo "<br>Владение магией серости" . $this->wrap($this->ggray);
if ($this->gdark) echo "<br>Владение магией тьмы" . $this->wrap($this->gdark);
if ($this->mfkrit) echo "<br>Шанс крита" . $this->wrap($this->mfkrit);
if ($this->mfakrit) echo "<br>Шанс антикрита" . $this->wrap($this->mfakrit);
if ($this->mfuvorot) echo "<br>Шанс уворота" . $this->wrap($this->mfuvorot);
if ($this->mfauvorot) echo "<br>Шанс антиуворота" . $this->wrap($this->mfauvorot);
if ($this->bron1) echo "<br>Броня головы" . $this->wrap($this->bron1);
if ($this->bron2) echo "<br>Броня корпуса" . $this->wrap($this->bron2);
if ($this->bron3) echo "<br>Броня пояса" . $this->wrap($this->bron3);
if ($this->bron4) echo "<br>Броня ног" . $this->wrap($this->bron4);
if ($this->magic AND $this->type != 12) {
echo "<br>Магические свойства:";
if ($this->magic_name) echo "<br><i style='color: dimgray;'>{$this->magic_name}</i>";
else echo "<br><i style='color: dimgray;'>Неопознанная магия</i>";
if ($this->magic_img AND $this->type != 50) echo <<<IMG
<br><img src="//{$_SERVER['SERVER_NAME']}/i/sh/{$this->magic_img}" class="item-wrap-normal">
IMG;
echo "<b>" . $this->name . "</b> (Масса: " . $this->weight . ")";
if ($this->durability) {
echo "<br> Долговечность:" . $this->durability;
}
echo "<br><em>{$this->typename}</em><br>";
if ($this->need_strength > 0) {
echo "<br>Требуется сила" . $this->wrap($this->need_strength);
}
if ($this->need_dexterity > 0) {
echo "<br>Требуется ловкость" . $this->wrap($this->need_dexterity);
}
if ($this->need_intuition > 0) {
echo "<br>Требуется интуиция" . $this->wrap($this->need_intuition);
}
if ($this->need_endurance > 0) {
echo "<br>Требуется выносливость" . $this->wrap($this->need_endurance);
}
if ($this->need_intelligence > 0) {
echo "<br>Требуется интеллект" . $this->wrap($this->need_intelligence);
}
if ($this->need_wisdom > 0) {
echo "<br>Требуется мудрость" . $this->wrap($this->need_wisdom);
}
if ($this->add_strength > 0) {
echo "<br>Сила" . $this->wrap($this->add_strength);
}
if ($this->add_dexterity) {
echo "<br>Ловкость" . $this->wrap($this->add_dexterity);
}
if ($this->add_intuition) {
echo "<br>Интуиция" . $this->wrap($this->add_intuition);
}
if ($this->add_endurance) {
echo "<br>Выносливость" . $this->wrap($this->add_endurance);
}
if ($this->add_intelligence) {
echo "<br>Интеллект" . $this->wrap($this->add_intelligence);
}
if ($this->add_wisdom) {
echo "<br>Мудрость" . $this->wrap($this->add_wisdom);
}
if ($this->add_accuracy) {
echo "<br>Точность" . $this->wrap($this->add_accuracy);
}
if ($this->add_evasion) {
echo "<br>Увёртливость" . $this->wrap($this->add_evasion);
}
if ($this->add_criticals) {
echo "<br>Шанс крита" . $this->wrap($this->add_criticals);
}
if ($this->add_min_physical_damage && !$this->add_max_physical_damage) {
$damage = $this->add_min_physical_damage . " - " . $this->add_min_physical_damage;
} elseif (!$this->add_min_physical_damage && $this->add_max_physical_damage) {
$damage = $this->add_max_physical_damage . " - " . $this->add_max_physical_damage;
} elseif ($this->add_min_physical_damage && $this->add_max_physical_damage) {
$damage = $this->add_min_physical_damage . " - " . $this->add_max_physical_damage;
}
if ($damage) {
echo "Урон: " . $damage;
}
}
}