From 8a8540719d830f44980986fb4baf87a5e6ab8482 Mon Sep 17 00:00:00 2001 From: stribog Date: Fri, 19 Jun 2026 17:54:40 +0200 Subject: [PATCH] =?UTF-8?q?feat(reboot):=20=D1=80=D0=B0=D0=BD=D0=B4=D0=BE?= =?UTF-8?q?=D0=BC=D0=BD=D1=8B=D0=B5=20=D0=BF=D1=80=D0=B8=D0=BA=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=BF=D1=80=D0=B8=D1=81=D0=BA=D0=B0?= =?UTF-8?q?=D0=B7=D0=BA=D0=B8=20=D0=B2=20=D0=BE=D1=82=D1=81=D1=87=D1=91?= =?UTF-8?q?=D1=82=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B7=D0=B0=D0=B3=D1=80?= =?UTF-8?q?=D1=83=D0=B7=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit В shutting_down() на отметках отсчёта (10/30/60/120/300с) к строке "ПЕРЕЗАГРУЗКА через N" добавляется случайная былинная присказка из пула (Перун, Велес, Баба-Яга, Кощей и т.п.). Только для ребута, не для остановки/паузы. Выбор через number(). Co-Authored-By: Claude Opus 4.8 (1M context) --- src/engine/core/comm.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/engine/core/comm.cpp b/src/engine/core/comm.cpp index 6c166c9ae..62ade7ac3 100644 --- a/src/engine/core/comm.cpp +++ b/src/engine/core/comm.cpp @@ -1227,6 +1227,25 @@ int shutting_down(void) { else sprintf(buf + strlen(buf), "%d %s.\r\n", wait / 60, grammar::GetDeclensionInNumber(wait / 60, grammar::EWhat::kMinU)); SendMsgToAll(buf); + // прикольная присказка к перезагрузке (только при ребуте, не при остановке) + if (shutdown_parameters.reboot_after_shutdown()) { + static const char *const reboot_flavor[] = { + "&WС небес падает звёздочка! Загадайте поскорее желание - вдруг после ребута станете сильнее всех в своей профессии!&n\r\n", + "&WПерун начищает молнии до блеска - загадайте, чтоб после ребута и ваш удар бил поярче!&n\r\n", + "&WВелес пересчитывает стада - замрите тихонько, вдруг зачтёт вам лишнюю жизнь.&n\r\n", + "&WДомовой прибирает мир перед гостями - Авось и в вашей котомке порядок наведёт.&n\r\n", + "&WБаба-яга поворачивает избушку к лесу задом - попроситесь, вдруг подвезёт поближе к добыче.&n\r\n", + "&WКощей перепрятывает свою смерть - приберитесь и вы, глядишь, отыщется что-то забытое.&n\r\n", + "&WЛеший переставляет деревья по-своему - может, после ребута и тропку к кладу подскажет.&n\r\n", + "&WВодяной меняет воду в реках - кто первым зачерпнёт свежей, тому, бают, удача на весь день.&n\r\n", + "&WБоги ненадолго отлучились - замолвите словечко, глядишь, вернутся к вам подобрее.&n\r\n", + "&WМир свернётся в свиток и развернётся вновь - держитесь за шапку да загадайте местечко потеплее!&n\r\n", + "&WСейчас всё на миг померкнет - это не порча, это боги моргнули; моргните и вы - на удачу.&n\r\n", + "&WГрянет гром, сверкнёт молния - и мир народится заново. Загадайте, кем вернуться!&n\r\n", + }; + constexpr int flavor_count = sizeof(reboot_flavor) / sizeof(reboot_flavor[0]); + SendMsgToAll(reboot_flavor[number(0, flavor_count - 1)]); + } lastmessage = time(nullptr); // на десятой секунде засейвим нужное нам в сислог if (wait == 10)