From 68e770844684baab137ce56b62069b0a5bfea6ca Mon Sep 17 00:00:00 2001 From: AlexCube Date: Tue, 13 Oct 2026 18:11:20 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=B2=D0=B5=D1=80=D0=B8=20=D0=BE=D0=B4?= =?UTF-8?q?=D0=B5=D1=80=D0=B6=D0=B8=D0=BC=D0=BE=D0=B3=D0=BE:=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20=D1=81=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=B2=D0=BD=D1=8B=D1=85=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=BE?= =?UTF-8?q?=D0=B2=20=D1=81=20=D0=BF=D1=80=D0=B8=D1=81=D1=82=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=BE=D0=B9=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8?= =?UTF-8?q?=20(TEFeatureDoor:open)=20-=20=D1=81=D1=80=D0=B0=D0=B2=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=20=D0=B8=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=B4=D0=B2?= =?UTF-8?q?=D0=BE=D0=B5=D1=82=D0=BE=D1=87=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- HarmonySrc/Possession.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/HarmonySrc/Possession.cs b/HarmonySrc/Possession.cs index 9739808..7b4442a 100644 --- a/HarmonySrc/Possession.cs +++ b/HarmonySrc/Possession.cs @@ -2258,7 +2258,11 @@ namespace NecromancerTome BlockActivationCommand[] cmds = b.GetBlockActivationCommands(_world, bv, pos, _player); for (int i = 0; cmds != null && i < cmds.Length; i++) { - if (!cmds[i].enabled || System.Array.IndexOf(UseCommands, cmds[i].text) < 0) + // У составных блоков команда с приставкой функции: «TEFeatureDoor:open» (тест 13.10) - сравниваем имя после + // двоеточия, выполняем полное (по приставке блок находит функцию). + string name = cmds[i].text ?? ""; + name = name.Substring(name.LastIndexOf(':') + 1); + if (!cmds[i].enabled || System.Array.IndexOf(UseCommands, name) < 0) { continue; }