battles/classes/Item.php

190 lines
7.3 KiB
PHP
Raw Normal View History

2019-01-11 16:02:57 +00:00
<?php
2019-01-11 19:16:39 +00:00
abstract class Item
2019-01-11 16:02:57 +00:00
{
public $name;
public $massa;
public $nalign;
public $maxdur;
public $img;
2019-01-11 22:18:18 +00:00
public $type;
2019-01-11 16:02:57 +00:00
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;
2019-01-11 16:26:33 +00:00
/**
* Item constructor.
*
* @param $row
*/
2019-01-11 16:02:57 +00:00
public function __construct($row)
{
$this->name = $row['name'];
$this->massa = $row['massa'];
$this->maxdur = $row['maxdur'];
$this->img = $row['img'];
2019-01-11 22:18:18 +00:00
$this->type = $row['type'];
2019-01-11 16:02:57 +00:00
$this->nlevel = $row['nlevel'];
$this->nalign = $row['nalign'];
$this->nsila = $row['nsila'];
$this->nlovk = $row['nlovk'];
$this->ninta = $row['ninta'];
$this->nvinos = $row['nvinos'];
$this->nintel = $row['nintel'];
$this->nmudra = $row['nmudra'];
$this->nnoj = $row['nnoj'];
$this->ntopor = $row['ntopor'];
$this->ndubina = $row['ndubina'];
$this->nmech = $row['nmech'];
$this->nfire = $row['nfire'];
$this->nwater = $row['nwater'];
$this->nair = $row['nair'];
$this->nearth = $row['nearth'];
$this->nlight = $row['nlight'];
$this->ngray = $row['ngray'];
$this->ndark = $row['ndark'];
$this->minu = $row['minu'];
$this->maxu = $row['maxu'];
$this->gsila = $row['gsila'];
$this->glovk = $row['glovk'];
$this->ginta = $row['ginta'];
$this->gintel = $row['gintel'];
$this->gnoj = $row['gnoj'];
$this->gtopor = $row['gtopor'];
$this->gdubina = $row['gdubina'];
$this->gmech = $row['gmech'];
$this->gfire = $row['gfire'];
$this->gwater = $row['gwater'];
$this->gair = $row['gair'];
$this->gearth = $row['gearth'];
$this->glight = $row['glight'];
$this->ggray = $row['ggray'];
$this->gdark = $row['gdark'];
$this->ghp = $row['ghp'];
$this->bron1 = $row['bron1'];
$this->bron2 = $row['bron2'];
$this->bron3 = $row['bron3'];
$this->bron4 = $row['bron4'];
$this->mfkrit = $row['mfkrit'];
$this->mfakrit = $row['mfakrit'];
$this->mfuvorot = $row['mfuvorot'];
$this->mfauvorot = $row['mfauvorot'];
2019-01-11 22:50:10 +00:00
switch ($this->type) {
case 1: $this->typename = 'Шлем'; break;
default: $this->typename = '<i style="color: maroon;">Нечто</i>';
}
2019-01-11 16:02:57 +00:00
}
2019-01-11 19:39:37 +00:00
public function printImage()
{
2019-01-11 20:29:54 +00:00
echo "<img src='/i/sh/{$this->img}'>";
2019-01-11 19:39:37 +00:00
}
2019-01-11 19:49:00 +00:00
2019-01-11 20:05:09 +00:00
protected function wrap($number)
{
if ($number > 0) return ": <b>" . $number . "</b>";
else return ": <b style='color: maroon;'>" . $number . "</b>";
}
2019-01-11 19:49:00 +00:00
protected function printBaseInfo()
{
echo $this->name . " (Масса: " . $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>";
2019-01-11 22:50:10 +00:00
echo "<br>{$this->typename}";
2019-01-11 19:49:00 +00:00
}
2019-01-11 20:05:09 +00:00
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->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);
2019-01-11 20:05:09 +00:00
}
2019-01-11 16:02:57 +00:00
}