Add switchbot (自动洗练) window for the server mt_switchbot command

Embedded module mt_switchbot: a paced request queue (0.3 s gap, one in
flight, 4 s timeout -> unsupported), atomic attrs lists from the server,
two alternatives of up to 5 targets, 10-1000 roll limits, live state and
stop reasons. Entry button under the wiki button by the minimap. The
selection follows the server-reported cell when the item moves mid-run
and falls back to the same vnum when it moves while idle.

Live tested against 203 (channel-5 test core, port 13040) with the macOS
native client.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-10-15 19:45:14 +09:00
co-authored by Claude Opus 5.5
parent 4e2d39b612
commit 6b1d21a2c5
6 changed files with 585 additions and 0 deletions
+2
View File
@@ -999,6 +999,7 @@ namespace PythonBoot
#include "DungeonScript.inc"
#include "CalendarScript.inc"
#include "WikiEntryScript.inc"
#include "SwitchbotScript.inc"
static void install_script_module(const char* c_szModule, const char* c_szScript)
{
@@ -1072,6 +1073,7 @@ bool RunMainScript(const char* lpCmdLine, std::string* error)
install_script_module("mt_dungeons", c_szDungeonScript);
install_script_module("mt_calendar", c_szCalendarScript);
install_script_module("mt_wiki_entries", c_szWikiEntryScript);
install_script_module("mt_switchbot", c_szSwitchbotScript);
if (g_touch_input)
install_script_module("mt_mobile_hud", c_szMobileHUDScript);
}