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