90 lines
3.5 KiB
PHP
90 lines
3.5 KiB
PHP
<?php
|
||
//Феерверк
|
||
use Core\ConversionHelper;
|
||
|
||
if (!defined('GAME')) {
|
||
die();
|
||
}
|
||
if ($itm['magic_inci'] != 'feerverks') {
|
||
return;
|
||
}
|
||
if ($u->room['id'] != '9') {
|
||
$u->error = 'Вы не на Центральной Площади';
|
||
} elseif (isset($lif['id'])) {
|
||
$u->error = 'Запускать феерверки возможно не чаще одного раза в 10 сек.';
|
||
} else {
|
||
$chat = new Chat();
|
||
$cmsg = new ChatMessage();
|
||
$cmsg->setCity($u->info['city']);
|
||
$cmsg->setRoom($u->info['room']);
|
||
$cmsg->setType(6);
|
||
$cmsg->setTypeTime(2);
|
||
|
||
$po = ConversionHelper::dataStringToArray($itm['data']);
|
||
$fid = 'fw04';
|
||
if (isset($po['feerverk_eff'])) {
|
||
$fid = $po['feerverk_eff'];
|
||
}
|
||
mysql_query(
|
||
'INSERT INTO `feerverks` (`room`,`uid`,`time`,`fid`) VALUES ("' . $u->info['room'] . '","' . $u->info['id'] . '","' . time() . '","' . $fid . '")'
|
||
);
|
||
//
|
||
$a = $u->info['sex'] == 1 ? 'a' : ''; //окончание рода М\Ж в словах
|
||
|
||
//
|
||
if ($po['feerverk_sound'] == 1) {
|
||
$po['feerverk_sound'] = mt_rand(8, 10);
|
||
}
|
||
//
|
||
$cmsg->setText("[img[items/{$itm['img']}]] <b>{$u->info['login']}</b> запустил$a фейерверк!");
|
||
$cmsg->setFireworks($fid);
|
||
$chat->sendMsg($cmsg);
|
||
//
|
||
if (rand(0, 100) < 10) {
|
||
// У персонажа легкая травма - "Ожог от фейерверка" еще 3 мин. 43 сек.
|
||
// 22.02.14 21:14 лосенка пострадала от фейерверка! :fingal:
|
||
$spf = mysql_query(
|
||
'SELECT `id`,`login`,`sex` FROM `users` WHERE `online` > "' . (time() - 120) . '" AND `invis` = 0 AND `battle` = 0 AND `room` = "' . $u->info['room'] . '" ORDER BY `online` DESC LIMIT 100'
|
||
);
|
||
$fusr = [];
|
||
while ($plf = mysql_fetch_array($spf)) {
|
||
//Иммунитет от травм, либо травма
|
||
$nou = mysql_fetch_array(
|
||
mysql_query(
|
||
'SELECT `id` FROM `eff_users` WHERE ( `id_eff` = 4 OR `id_eff` = 263 ) AND `uid` = "' . $plf['id'] . '" AND `delete` = 0 LIMIT 1'
|
||
)
|
||
);
|
||
if (!isset($nou['id'])) {
|
||
$fusr[] = $plf;
|
||
}
|
||
}
|
||
unset($spf, $plf, $nou);
|
||
$fusr = $fusr[rand(0, (count($fusr) - 1))];
|
||
if (isset($fusr['id'])) {
|
||
//Пострадавший от фейерверка
|
||
$ins = mysql_query(
|
||
'INSERT INTO `eff_users` (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES (
|
||
0,
|
||
unix_timestamp(),
|
||
-1,
|
||
"Ожог от фейерверка",
|
||
"add_s' . mt_rand(1, 3) . '=-' . mt_rand(1, 3) . '|add_s' . mt_rand(1, 3) . '=-' . mt_rand(1, 3) . '",
|
||
"' . $fusr['id'] . '",
|
||
4,
|
||
"eff_travma1.gif",
|
||
300,
|
||
1)'
|
||
);
|
||
$a = $fusr['sex'] == 1 ? 'a' : ''; //окончание рода М\Ж в словах
|
||
$cmsg->setFireworks(null);
|
||
$cmsg->setText("[img[items/travma.gif]] <b>{$fusr['login']}</b> пострадал$a от фейерверка! :fingal:");
|
||
}
|
||
unset($fusr);
|
||
}
|
||
unset($lif, $po);
|
||
//
|
||
mysql_query('UPDATE `items_users` SET `iznosNOW` = `iznosNOW` + 1 WHERE `id` = ' . $itm['id'] . ' LIMIT 1');
|
||
//
|
||
$u->error = 'Вы успешно запустили феерверк "' . $itm['name'] . '"!';
|
||
}
|