Проверка на то, повышается здоровье на константу или на процент.

This commit is contained in:
lopar 2019-12-23 21:53:10 +02:00
parent c34b7a54a1
commit d1dde3e38f

View File

@ -53,7 +53,13 @@ $receiver = db::c()->query('SELECT *, (select `id` from `online` WHERE `id` = `u
//Если не указано, лечим на случайное значение от 0 до уровня интеллекта мага. //Если не указано, лечим на случайное значение от 0 до уровня интеллекта мага.
$magic_power = mt_rand(0, $mage_intellect); $magic_power = mt_rand(0, $mage_intellect);
$magic_power = $_POST['magic_power']; $magic_power = $_POST['magic_power'];
//Статус, отображаемый игроку //Является ли сила лечения процентом?
$percentage = false;
if (!empty($_POST['percentage'])) {
$percentage = true;
if ($magic_power > 100) $magic_power = 100;
}
//Статус, отображаемый магу
$status = ''; $status = '';
if ($receiver['battle'] != $user['battle']) { if ($receiver['battle'] != $user['battle']) {
@ -68,15 +74,17 @@ if ($receiver['battle'] != $user['battle']) {
//IDEA: Можно добавить проверку на интеллект, где при определённом интеллекте шанс на успех становится 95-100%. //IDEA: Можно добавить проверку на интеллект, где при определённом интеллекте шанс на успех становится 95-100%.
//FIXME Пять раз перепроверить!!! //FIXME Пять раз перепроверить!!!
if ($chance >= mt_rand(1,100)) { if ($chance >= mt_rand(1, 100)) {
//TODO: В нескольких файлах добавлялся процент от максимального(?) здоровья, а не константа. Надо внедрить. //Проверка на то, повышается здоровье на константу или на процент.
if (($receiver['hp'] + $magic_power) > $receiver['maxhp']) { if ($percentage) {
$new_hp = $receiver['maxhp']; $new_hp = $receiver['hp'] + $receiver['maxhp'] / 100 * $magic_power;
} else { } else {
$new_hp = $receiver['hp'] + $magic_power; $new_hp = $receiver['hp'] + $magic_power;
} }
if ($new_hp >= $receiver['maxhp']) $new_hp = $receiver['maxhp'];
if ($user['battle'] > 0) { if ($user['battle'] > 0) {
db::c()->query('UPDATE `battle` SET `to1` = ?i, `to2` = ?i WHERE `id` = ?i', time(), time(), $user['battle']); db::c()->query('UPDATE `battle` SET `to1` = ?i, `to2` = ?i WHERE `id` = ?i', time(), time(), $user['battle']);
$fbattle->AddToLog('<span class=date>' . date("H:i") . '</span> ' . nick::id($user['id'])->short() . ' колдует заклятие лечения и восстанавливает ' . (($receiver['id'] != $user['id']) ? nick::id($receiver['id'])->short() : "себе") . ' здоровье <B>' . $magic_power . '</B> [' . ($new_hp) . '/' . $receiver['maxhp'] . ']<BR>'); $fbattle->AddToLog('<span class=date>' . date("H:i") . '</span> ' . nick::id($user['id'])->short() . ' колдует заклятие лечения и восстанавливает ' . (($receiver['id'] != $user['id']) ? nick::id($receiver['id'])->short() : "себе") . ' здоровье <B>' . $magic_power . '</B> [' . ($new_hp) . '/' . $receiver['maxhp'] . ']<BR>');