battles/repair.php

502 lines
25 KiB
PHP
Raw Normal View History

2018-01-28 16:40:49 +00:00
<?php
session_start();
if ($_SESSION['uid'] == null) header("Location: index.php");
require_once("functions.php");
$d = db::c()->query('SELECT SUM(`massa`) FROM `inventory` WHERE `dressed` = 0 AND `owner` = ?i', $_SESSION['uid'])->fetch_assoc();
if ($user['room'] != 23) {
header("Location: main.php");
die();
}
if ($user['battle'] != 0) {
header('location: fbattle.php');
die();
}
2018-01-28 16:40:49 +00:00
// Гравировка 30 кред. Максимум 32 символа.
if (input::post('gravirovka_text') AND input::post('itemId') AND ($user['money'] >= 30)) {
if (33 > iconv_strlen(input::post('gravirovka_text'))) {
db::c()->query('UPDATE `inventory` SET `text` = "?s" WHERE `dressed` = 0 AND `setsale` = 0 AND `owner` = ?i AND `id` = ?i', input::post('gravirovka_text'), $_SESSION['uid'], input::post('itemId'));
db::c()->query('UPDATE `users` SET `money` = `money` - 30 WHERE `id` = ?i', $_SESSION['uid']);
$status = 'Гравировка добавлена!';
} else $status = 'Превышен лимит в 32 символа!';
2018-01-28 16:40:49 +00:00
}
// Снять гравировку.
if (input::post('gravirovka_remove')) {
db::c()->query('UPDATE `inventory` SET `text` = ?n WHERE `dressed` = 0 AND `setsale` = 0 AND `id` = ?i AND `owner` = ?i', null, input::post('gravirovka_remove'), $_SESSION['uid']);
$status = 'Гравировка удалена!';
2018-01-28 16:40:49 +00:00
}
2018-12-12 16:09:39 +00:00
// Ремонт 0,5 кред за единицу.
if (input::post('action') == 'repair' AND input::post('itemId')) {
2018-12-12 16:09:39 +00:00
$q = db::c()->query('SELECT `name`, `duration` FROM `inventory` WHERE id = ?i', input::post('itemId'))->fetch_assoc();
if (ceil($q['duration'] / 2) < $user['money']) {
db::c()->query('UPDATE `inventory` SET `maxdur` = `maxdur` - 1, `duration` = 0 WHERE `dressed` = 0 AND `setsale` = 0 AND `id` = ?i AND `owner` = ?i', input::post('itemId'), $_SESSION['uid']);
2018-12-12 16:09:39 +00:00
db::c()->query('UPDATE `users` SET `money` = `money` - ?i WHERE `id` = ?i', ceil($q['duration'] / 2), $_SESSION['uid']);
addToDelo('Отремонтирован предмет «' . $q['name'] . '» id:(' . input::post('itemId') . ') за ' . ceil($q['duration'] / 2) . ' кр.');
$status = 'Предмет отремонтирован!';
} else $status = 'Недостаточно денег!';
}
// Перезарядка магии
if ($_GET['it']) {
$row = mysql_fetch_array(mysql_query("SELECT * FROM `inventory` WHERE `owner` = '{$user['id']}' AND `dressed` = 0 AND `includemagicmax` > 0 AND `id` = '{$_GET['it']}' LIMIT 1;"));
if ($user['money'] < $row['includemagiccost'] && $row['includemagicdex'] == 0) {
$err = "<font color=red><b>У вас не хватает денег на перезарядку.</b></font>";
} else {
if ($row['includemagicuses'] <= 1) {
$onecost = $row['includemagiccost'];
$err = "<font color=red><b>Мы сожалеем, свиток исчерпал все свои ресурсы, и мы уже не можем его перезарядить.</b></font>";
mysql_query("UPDATE `users` set `money` = `money`- '" . ($row['includemagiccost']) . "' WHERE id = {$user['id']}");
mysql_query("INSERT INTO `delo` (`id` , `author` ,`pers`, `text`, `type`, `date`) VALUES ('','0','{$user['id']}','Перезаряжена магия \"" . $row['name'] . "\" id:(cap" . $row['id'] . ") [" . $newduration . "/" . $row['maxdur'] . "] у \"" . $user['login'] . "\" за " . round($onecost, 2) . " кр. ',1,'" . time() . "');");
mysql_query("UPDATE `inventory` SET `includemagic` = '', `includemagicdex` = '', `includemagicmax` = '', `includemagicname` = '', `includemagicuses` = '', `includemagiccost` = '' WHERE `id` = '{$_GET['it']}' LIMIT 1;");
} else {
$onecost = $row['includemagiccost'];
$err = "<font color=red><b>Магия успешно перезаряжена.</b></font>";
mysql_query("UPDATE `users` set `money` = `money`- '" . ($row['includemagiccost']) . "' WHERE id = {$user['id']}");
mysql_query("INSERT INTO `delo` (`id` , `author` ,`pers`, `text`, `type`, `date`) VALUES ('','0','{$user['id']}','Перезаряжена магия \"" . $row['name'] . "\" id:(cap" . $row['id'] . ") [" . $newduration . "/" . $row['maxdur'] . "] у \"" . $user['login'] . "\" за " . round($onecost, 2) . " кр. ',1,'" . time() . "');");
mysql_query("UPDATE `inventory` SET `includemagicdex` = `includemagicmax`, `includemagicuses` = `includemagicuses`-1 WHERE `id` = '{$_GET['it']}' LIMIT 1;");
}
}
}
// Модификация предмета
if ($_GET['mf']) {
$row = mysql_fetch_array(mysql_query("SELECT * FROM `inventory` WHERE `type` < 12 AND `type` != 3 AND `owner` = '{$_SESSION['uid']}' AND `dressed` = 0 AND `id` = '{$_GET['mf']}' AND `name` NOT LIKE '% (мф)%' LIMIT 1;"));
if ($user['money'] < $row['cost'] OR !$row) {
$err = "<font color=red><b>У вас не хватает денег на модификацию.</b></font>";
} else {
srand(make_seed());
$type = rand(1, 4);
$mfintel = round($user['intel'] / 5 - 10);
if ($mfintel > -1) {
$mfintel = -1;
}
$statintel = round($user['intel'] / 25 - 2);
if ($statintel > -1) {
$statintel = -1;
}
$nstatintel = round(2 - $user['intel'] / 25);
if ($nstatintel < 1) {
$statintel = 1;
}
srand(make_seed());
$mf1 = rand($mfintel, 10);
srand(make_seed());
$mf2 = rand($mfintel, 10);
srand(make_seed());
$st1 = rand($statintel, 2);
srand(make_seed());
$st2 = rand(-2, $nstatintel);
srand(make_seed());
$min = rand($statintel, 2);
srand(make_seed());
$max = rand($statintel, 4);
switch ($type) {
case 1:
// крит
$mfkrit = $mf1;
$mfantiuvorot = $mf2;
$inta = $st1;
$hp = rand(0, 15);
$ninta = $st2;
break;
case 2:
// ловкость
$mfuvorot = $mf1;
$mfantikrit = $mf2;
$lovk = $st1;
$hp = rand(1, 15);
$nlovk = $st2;
break;
case 3:
// сила
$mfminu = $min;
$mfmaxu = $max;
$sila = $st1;
$hp = rand(6, 20);
$nsila = $st2;
$mfantikrit = $mf2;
break;
case 4:
// вынос
$nvinos = $st2;
$mfantikrit = $mf1;
$bron1 = rand(0, 3);
$bron2 = rand(0, 3);
$bron3 = rand(0, 3);
$bron4 = rand(0, 3);
$hp = rand(0, 15);
break;
}
if (mysql_query("UPDATE `inventory` SET
`ghp` = `ghp`+'" . (int)$hp . "',
`bron1` = `bron1`+'" . (int)$bron1 . "',
`bron2` = `bron2`+'" . (int)$bron2 . "',
`bron3` = `bron3`+'" . (int)$bron3 . "',
`bron4` = `bron4`+'" . (int)$bron4 . "',
`mfkrit` = `mfkrit`+'" . (int)$mfkrit . "',
`mfakrit` = `mfakrit`+'" . (int)$mfantikrit . "',
`mfuvorot` = `mfuvorot`+'" . (int)$mfuvorot . "',
`mfauvorot` = `mfauvorot`+'" . (int)$mfantiuvorot . "',
`gsila` = `gsila`+'" . (int)$sila . "',
`glovk` = `glovk`+'" . (int)$lovk . "',
`ginta` = `ginta`+'" . (int)$inta . "',
`nsila` = `nsila`+'" . (int)$nsila . "',
`nlovk` = `nlovk`+'" . (int)$nlovk . "',
`ninta` = `ninta`+'" . (int)$ninta . "',
`nvinos` = `nvinos`+'" . (int)$nvinos . "',
`cost` = `cost` + '" . round($row['cost'] / 2) . "',
`name` = CONCAT(`name`, ' (мф)')
WHERE `id` = '{$_GET['mf']}' LIMIT 1;")) {
//echo $row['cost'];
mysql_query("UPDATE `users` set `money` = `money`- '" . ($row['cost']) . "' WHERE id = {$_SESSION['uid']}");
mysql_query("INSERT INTO `delo` (`id` , `author` ,`pers`, `text`, `type`, `date`) VALUES ('','0','{$_SESSION['uid']}','Моцифицирована вещь \"" . $row['name'] . "\" id:(cap" . $row['id'] . ") [" . $newduration . "/" . $row['maxdur'] . "] у \"" . $user['login'] . "\" за " . round($onecost, 2) . " кр. ',1,'" . time() . "');");
$err = "<font color=red><b>Вещь модифицирована.</b></font>";
}
}
}
// Подгонка предмета
if ($_GET['podgon']) {
$row = mysql_fetch_array(mysql_query("SELECT * FROM `inventory` WHERE `type` < 12 AND `type` != 3 AND `owner` = '{$user['id']}' AND `dressed` = 0 AND `id` = '{$_GET['podgon']}' AND `modif`='1' AND `podgon`<'5' LIMIT 1;"));
if ($row['point'] > 0) {
$cost = round(($row['point'] / 2), 0);
} else {
$cost = round(($row['cost'] / 2), 0);
}
if ($user['money'] < $cost || !$row) {
$err = "<font color=red><b>У вас не хватает денег на подгонку.</b></font>";
} else {
$kol_mf = round($row['mfkrit'] + $row['mfakrit'] + $row['mfuvorot'] + $row['mfauvorot'], 0);
if ($row['podgon'] == 0) {
if ($row['point'] > 0) {
$new_cena = round(($row['point'] * 20) / 100, 0);
$sql = '`point` = `point`+' . $new_cena;
$user['doblest'] -= $cost;
$usql = '`doblest` = "' . $user['doblest'] . '"';
$cost_t = 'реп';
} else {
$new_cena = round(($row['cost'] * 20) / 100, 0);
$sql = '`cost` = `cost`+' . $new_cena;
$user['money'] -= $cost;
$usql = '`money` = "' . $user['money'] . '"';
$cost_t = 'кр';
}
$gmf = 2;
} elseif ($row['podgon'] == 1) {
if ($row['point'] > 0) {
$new_cena = round(($row['point'] * 20) / 100, 0);
$sql = '`point` = `point`+' . $new_cena;
$user['doblest'] -= $cost;
$usql = '`doblest` = "' . $user['doblest'] . '"';
$cost_t = 'реп';
} else {
$new_cena = round(($row['cost'] * 20) / 100, 0);
$sql = '`cost` = `cost`+' . $new_cena;
$user['money'] -= $cost;
$usql = '`money` = "' . $user['money'] . '"';
$cost_t = 'кр';
}
$gmf = 3;
} elseif ($row['podgon'] == 2) {
if ($row['point'] > 0) {
$new_cena = round(($row['point'] * 40) / 100, 0);
$sql = '`point` = `point`+' . $new_cena;
$user['doblest'] -= $cost;
$usql = '`doblest` = "' . $user['doblest'] . '"';
$cost_t = 'реп';
} else {
$new_cena = round(($row['cost'] * 40) / 100, 0);
$sql = '`cost` = `cost`+' . $new_cena;
$user['money'] -= $cost;
$usql = '`money` = "' . $user['money'] . '"';
$cost_t = 'кр';
}
$gmf = 4;
} elseif ($row['podgon'] == 3) {
if ($row['point'] > 0) {
$new_cena = round(($row['point'] * 70) / 100, 0);
$sql = '`point` = `point`+' . $new_cena;
$user['doblest'] -= $cost;
$usql = '`doblest` = "' . $user['doblest'] . '"';
$cost_t = 'реп';
} else {
$new_cena = round(($row['cost'] * 70) / 100, 0);
$sql = '`cost` = `cost`+' . $new_cena;
$user['money'] -= $cost;
$usql = '`money` = "' . $user['money'] . '"';
$cost_t = 'кр';
}
$gmf = 6;
} elseif ($row['podgon'] == 4) {
if ($row['point'] > 0) {
$new_cena = round(($row['point'] * 100) / 100, 0);
$sql = '`point` = `point`+' . $new_cena;
$user['doblest'] -= $cost;
$usql = '`doblest` = "' . $user['doblest'] . '"';
$cost_t = 'реп';
} else {
$new_cena = round(($row['cost'] * 100) / 100, 0);
$sql = '`cost` = `cost`+' . $new_cena;
$user['money'] -= $cost;
$usql = '`money` = "' . $user['money'] . '"';
$cost_t = 'кр';
}
$gmf = 10;
}
if ($row['mfkrit'] == 0 && $row['mfakrit'] == 0 && $row['mfuvorot'] == 0 && $row['mfauvorot'] == 0) {
$gmf = 0;
}
if (mysql_query("UPDATE `inventory` SET
`free_mf` = `free_mf`+'" . (int)$gmf . "',
$sql,
`podgon`=`podgon`+'1'
WHERE `id` = '{$_GET['podgon']}' LIMIT 1")) {
mysql_query("UPDATE `users` set $usql WHERE id = {$user['id']}");
mysql_query("INSERT INTO `delo` (`author` ,`pers`, `text`, `type`, `date`) VALUES ('0','{$user['id']}','Подогнана вещь \"" . $row['name'] . "\" id:(cap" . $row['id'] . ") [" . $newduration . "/" . $row['maxdur'] . "] у \"" . $user['login'] . "\" за " . round($cost, 2) . " " . $cost_t . ". ',1,'" . time() . "');");
$err = "<font color=red><b>Вещь подогнана.</b></font>";
}
}
}
if (input::post('goto') == 'remont') {
$remont_query = db::c()->query('SELECT `id`,`name`,`img`,`duration`,`maxdur` FROM `inventory` WHERE `type` < 12 AND `dressed` = 0 AND `isrep` = 1 AND `setsale` = 0 AND `duration` > 0 AND `owner` = ?i ORDER BY `update` DESC', $_SESSION['uid']);
}
if (input::post('goto') == 'gravirovka') {
$gravirovka_query = db::c()->query('SELECT `id`,`name`,`img`,`text` FROM `inventory` WHERE `owner` = ?i AND `dressed` = 0 AND `type` = 3 AND `name` NOT LIKE "?S" AND `setsale` = 0 OR `text` <> "?s" AND `owner` = ?i ORDER by `update` DESC', $_SESSION['uid'], '%Букет%', '', $_SESSION['uid']);
}
2018-01-28 16:40:49 +00:00
?>
<HTML>
<HEAD>
<meta charset="utf-8">
<link rel=stylesheet href="css/main.css">
<link href="css/secondary.css" rel="stylesheet"/>
2018-01-28 16:40:49 +00:00
</HEAD>
<body>
<h1>Ремонтная мастерская</h1>
<a href=# onclick=leave()> ← выйти из мастерской</a><br>
2018-12-12 14:18:11 +00:00
<div class="appblock appblock-main">
<span class="legend">Информация</span>
<span class="wrap">Кредиты<span class="num"><?= $user['money'] ?></span></span>
<span class="wrap">Масса вещей<span class="num"><?= getItemsMassaInfo() ?></span></span>
</div>
<div class="appblock">
<span class="legend">Зал ремонта</span>
<form method="post">
<input type="hidden" name="goto" value="remont">
<input type="submit" value="Войти">
</form>
<span class="wrap">Починка поврежденных предметов. В процессе ремонта состояние предмета
уменьшится на единицу!</span>
2018-12-12 14:18:11 +00:00
</div>
<div class="appblock">
<span class="legend">Зал гравировки</span>
<form method="post">
<input type="hidden" name="goto" value="gravirovka">
<input type="submit" value="Войти">
</form>
<span class="wrap">Нанесение надписей на оружие и удаление надписей из любого обмундирования.
Максимум 32 символа!</span>
2018-12-12 14:18:11 +00:00
</div>
<div class="appblock">
<span class="legend">Зал зачарований</span>
<form method="post">
<input type="hidden" name="goto" value="magic">
<input type="submit" value="Войти">
</form>
<span class="wrap">Перезарядка встроеной магии. Если в предмет встроена магия, мы поможем ее перезарядить
2018-12-12 14:00:10 +00:00
за умеренную плату. Учтите, ничто не вечно под луной, в том числе и магия, рано или поздно встроенный
свиток исчерпает все свои ресурсы, и мы уже не сможем его перезарядить.</span>
2018-12-12 14:18:11 +00:00
</div>
<div class="appblock">
<span class="legend">Зал модификаций</span>
<form method="post">
<input type="hidden" name="goto" value="modding">
<input type="submit" value="Войти">
</form>
<span class="wrap">Модификация предметов. Наши мастера помогут вам модифицировать ваши доспехи. К сожалению,
2018-12-12 14:00:10 +00:00
технология не позволяет повторно модифицировать вещи. Чем выше у вас интеллект, тем яснее вы сможете
объяснить мастерам желаемый результат. Результат может быть непредсказуем!</span>
</div>
2018-12-12 14:18:11 +00:00
<div class="appblock">
<span class="legend">Экспериментальный цех</span>
<form method="post">
<input type="hidden" name="goto" value="modding">
<input type="submit" value="Войти">
</form>
<span class="wrap">Подгонка предметов. И прочие нерегулярные штуки.</span>
</div>
<div style="clear: both;">
<?php if (isset($status)): ?>
<span class="wrap"><?= $status ?></span>
<?php endif; ?>
</div>
<?php if (input::post('goto') == 'remont'):
while ($row = $remont_query->fetch_assoc()): ?>
<div class="appblock">
<span class="legend"><?= $row['name'] ?></span>
2018-12-12 16:09:39 +00:00
<span class="wrap">Состояние предмета<span class="num"><?= $row['duration'] ?>/<?= $row['maxdur'] ?></span></span>
<span class="wrap">Стоимость услуги<span class="num"><?= ceil($row['duration'] / 2) ?></span></span>
<div style="text-align: center">
<img src="i/sh/<?= $row['img'] ?>">
2018-12-12 16:09:39 +00:00
<form method="post">
<input type="hidden" name="itemId" value="<?= $row['id'] ?>">
<input type="hidden" name="action" value="repair">
<input type="submit" value="Ремонт">
</form>
</div>
</div>
<?php endwhile; endif; ?>
<?php if (input::post('goto') == 'gravirovka'):
while ($row = $gravirovka_query->fetch_assoc()): ?>
<div class="appblock">
<span class="legend"><?= $row['name'] ?></span>
<span class="wrap">Стоимость услуги<span class="num">30</span></span>
<div style="text-align: center">
<?php if (empty($row['text'])): ?>
<form method="post" id="gravirovka">
<input maxlength="32" placeholder="Текст гравировки" name="gravirovka_text">
<br><img src="i/sh/<?= $row['img'] ?>"><br>
<input type="hidden" name="itemId" value="<?= $row['id'] ?>">
<input type="submit" value="Добавить надпись">
</form>
<?php else: ?>
<form method="post" id="gravirovka">
<input value="<?= $row['text'] ?>" readonly title>
<br><img src="i/sh/<?= $row['img'] ?>"><br>
<input type="hidden" name="gravirovka_remove" value="<?= $row['id'] ?>">
<input type="submit" value="Удалить надпись">
</form>
<?php endif; ?>
</div>
</div>
<?php endwhile; endif; ?>
<TABLE width=100%>
<TR>
<INPUT TYPE="hidden" name="sid" value="">
<INPUT TYPE="hidden" name="id" value="1">
<TD valign=top align=left>
<TABLE WIDTH=100% BGCOLOR="#A5A5A5">
<?php
if (input::post('goto') == 'magic') {
$data = mysql_query("SELECT * FROM `inventory` WHERE `owner` = '{$user['id']}' AND `dressed` = 0 AND `includemagicmax` > 0 AND `setsale`=0 ORDER by `update` DESC; ");
while ($row = mysql_fetch_array($data)) {
$row['count'] = 1;
if ($i == 0) {
$i = 1;
$color = '#C7C7C7';
} else {
$i = 0;
$color = '#D5D5D5';
}
?>
<TR bgcolor=<?= $color ?>>
<TD align=center><IMG SRC="i/sh/<?= $row['img'] ?>" BORDER=0>";
<BR>
<small>
<?
if ($row['includemagicdex'] == 0) {
?><A HREF="?razdel=2&it=<?= $row['id'] ?>">Перезарядить
за <?= $row['includemagiccost'] ?> кр.</A><BR><?
} else {
echo 'Не нуждается в перезарядке';
}
?>
</small>
</TD>
<TD valign=top><?= showitem($row) ?></TD>
</TR>
<?php
}
}
if (input::post('goto') == 'modding') {
$data = mysql_query("SELECT * FROM `inventory` WHERE `type` < 12 AND `type` != 3 AND `owner` = '{$_SESSION['uid']}' AND `dressed` = 0 AND `name` NOT LIKE '% (мф)%' AND `name` NOT LIKE '%Букет%' AND `setsale`=0 ORDER by `update` DESC; ");
while ($row = mysql_fetch_array($data)) {
$row['count'] = 1;
if ($i == 0) {
$i = 1;
$color = '#C7C7C7';
} else {
$i = 0;
$color = '#D5D5D5';
}
?>
<TR bgcolor=<?= $color ?>>
<TD align=center><IMG SRC="i/sh/<?= $row['img'] ?>" BORDER=0>";
<BR>
<small>
<A HREF="?razdel=3&mf=<?= $row['id'] ?>"
onClick="if(!confirm('Вы действительно хотите модифицировать эту вещь?')){ return false;}">Модифицировать
за <?= $row['cost'] ?> кр.</A><BR>
</small>
</TD>
<TD valign=top><?= showitem($row) ?></TD>
</TR>
<?php
}
}
if (input::post('goto') == 'podgon') {
$data = mysql_query("SELECT * FROM `inventory` WHERE `type` < 12 AND `type` != 3 AND `owner` = '{$user['id']}' AND `dressed` = 0 AND `modif`='1' AND `podgon`<'5' AND `name` NOT LIKE '%Букет%' AND `setsale`=0 ORDER by `update` DESC; ");
while ($row = mysql_fetch_array($data)) {
$row['count'] = 1;
if ($i == 0) {
$i = 1;
$color = '#C7C7C7';
} else {
$i = 0;
$color = '#D5D5D5';
}
?>
<TR bgcolor=<?= $color ?>>
<TD align=center><IMG SRC="i/sh/<?= $row['img'] ?>" BORDER=0>";
<BR>
<small>
<?
if ($row['point'] > 0) {
$babki = round(($row['point'] / 2), 0);
$cost_t = 'Реп';
} else {
$babki = round(($row['cost'] / 2), 0);
$cost_t = 'Кр';
}
?>
<A HREF="?razdel=4&podgon=<?= $row['id'] ?>"
onclick="if(!confirm('Вы действительно хотите подогнать эту вещь?')){ return false;}">Подогнать
за <?= $babki ?> <?= $cost_t ?>.</A><BR>
</small>
</TD>
<TD valign=top><?= showitem($row) ?></TD>
</TR>
<?php
}
}
?>
</TABLE>
</TD>
</TR>
2018-01-28 16:40:49 +00:00
</TABLE>
<script>
function leave() {
top.frames['main'].location = 'city.php?cp'
}
</script>
2018-01-28 16:40:49 +00:00
</body>
</html>