Station crafts bypass XUiC_RecipeStack entirely - the queue lives in
TileEntityWorkstation and HandleRecipeQueue completes it server-side -
so neither the knife gate nor the 90% max-HP cost ever fired there.
Veto the recipe in XUiC_WorkstationWindowGroup.CraftingRequirementsValid
(greys the entry, disables the Craft action, blocks AddItemToQueue) and
supply the tooltip via CraftingRequirementsInvalidMessage. Personal
inventory crafting uses the base class and is unaffected. New
localization key resourceNecromancerBloodStationForbidden (13 languages).
Co-Authored-By: Claude Code <noreply@anthropic.com>
Было: 90% текущего HP на момент выдачи — очередь банок дешевела
геометрически, убить могло только при 1-4 HP. Стало: RoundToInt(
GetMaxHealth()*0.9); не хватило — HP уходит в 0, ваниль убивает
на следующем апдейте (disease). Выжить можно только при строго
больше 90% максимума.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Новый предмет necroCarvedBone: бедренная кость с железным колпачком, кольцом
и светящимися рунами; в руке как нож некроманта, хват всегда нитяной и делает
всё то же. Рецепт: кость, 10 кованого железа, щепоть праха; открывается вместе
с цинерариями. Иконка, лист книги, тексты на 13 языках.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Сетка «Где работать» в «Содержимом» урны, квадраты очерчены линиями при
показе границ; выключенные квадраты обход пропускает. Сохраняется пятым
числом v6 (старая DLL его пропустит). Консоль: necrourn x y z sectors.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Пояс - нижний ряд сумки зомби; оружие ближнего боя в руку, если этот тип зомби
им владеет (ZombieWeapons: таблица умений, утверждена 25.10). Удар как у персонажа:
ItemActionAttack.Hit, урон предмета без перков зомби, износ, темп оружия.
Модель на кость RightWeapon, хват WeaponHoldType; иконки и износ на поясе HUD.
Неумелое или сломанное - кулаки и подсказка (13 языков). Выключатель
necroarms weapon on|off; dev-команда necropossess для проверок без мыши.
- M в зомби и волке открывал сумку вместо карты (перехват windowpaging) - исправлено;
туман карты и карта на одержимом - у любого одержимого зомби, как у стервятника.
- Глава «Одержимость» (EN/RU): пояс - оружие, M - карта.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Блоки без материалов откладываются (_lacking) и не держат очередь;
к ним ремонтник возвращается, когда чинить больше нечего, и чинит, как
только материал появился. Зона не останавливается, пока они есть.
- Кнопка жёлтая, только когда кроме ждущих чинить нечего; ячейка «не
хватает» видна, пока хоть один блок ждёт.
- «Запустить» повторно отпускает старые взятые блоки (Claimed) - раньше
они не попадали в обход заново.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Пока ремонтник ждёт материал, под блоком лимита урн видна ячейка: иконка
материала, сколько доложить в ящики с нитями, красный «!» и подпись.
Только показ, не ячейка сумки.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
После изготовления очередь до подкладки не доходила: переплавленного
каждый шаг хватало на один цемент. Теперь подкладка первой, но только
в пустую или наполовину опустевшую ячейку входа.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Сырьё подкладывалось, только когда переплавленного не хватало на одну
штуку - кузня плавила остатки, цемент шёл по одному. Теперь отдельное
дело: есть место во входе под материал рецепта образца - доложить сырьё
до стака (после изготовления).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Проверка «нет рецепта» не отличала камни от булыжника: у камня тоже есть
рецепты (разбор, выплавка из переплавленного), и дух брал то, что лежит
в ящике раньше. Теперь «сделано руками» = есть рецепт изготовления, не
разбор и не выплавка; такое в кузню не кладётся.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Рецепт ставится в очередь сразу на столько, на сколько хватает всех
ингредиентов, не больше стака любого ингредиента и стака готового
(было по одной штуке за шаг - «очень медленно»).
- Пока партия предмета в очереди станции, второй такой не ставится -
прочие ячейки остаются другим урнам на той же станции.
- Горючее сырьё (нефтяной сланец) в кузню не кладётся.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Inventory.SetStackAt до записи в слот зовёт LogToolBeltUsageEvent, та считает
passive_effect без сущности и падает на значении из CVar (@$necroKnifeDamageCVar;
в игре так же у мода modMeleeFortifyingGrip и админской одежды). Исключение
телеметрии глотается финализатором, слот пишется как обычно.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 3.4 убрала XUiC_ContainerStandardControls.ToggleLockMode: замок при обыске
крысой/волком и у сумки волка запрещается в сеттере UserLockMode.
- 3.4 кладёт предмет, брошенный на пустое место окна, прямо в ящик/мешок/
рюкзак (dropItemToGrid) мимо запертых ячеек - при обыске отказ.
- GameVersionGuard: мод собран под 3.4.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Лимит считает урны любого рода (сборщик, логист, рабочий, ремонтник, лутер, старатель); пересечение зон -
только у сборщика. Блок справа от ячеек урны (windowBagStorage, CinerariumLimitPanel.cs). Тексты описаний
урн и отказа по лимиту - на 13 языках.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Замер necrourn budget: тики всех урн приходят пачкой раз в ~1.4 с в порядке участков от ближних к игроку;
лимит «3 за кадр» доставался трём ближним, 11 урн (сборщики, логист, дальние) не получали шага никогда -
«стою в 19 м - не работают, подхожу - работают». Теперь 30 дел/с, запас 2 с, пополнение по реальному
времени; отказанная урна в очереди и обслуживается первой. После: 578 с, 19 урн по ~128 шагов, отказов 0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CinerariumKeepAlive: группа - клетка 64x64 по реестру урн сейва, наблюдатель без видимой
геометрии держит 7x7 участков. Консоль: necrournkeep on|off|dim N.
Проверено в test8: игрок в 500 блоках, старатель сделал ходку; 3 наблюдателя, +61 участок,
RSS +110 МБ, куча ровная 2.35-2.5 ГБ, FPS 52-56, исключений 0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PetFarRecall: при выходе из одержимости питомцем - отзыв как книгой, если до тела хозяина дальше
порога; ближе - идёт своим ходом. Консоль: necropetfar <блоки>|off.
Логист: строки LogistForm в логе на нажатие R и на сборку меню блока - временно, до причины #77.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Из книги ушли: три банки и патч консервов (items.xml), кипячение на костре (recipes.xml),
6 строк локализации, бандл necrocan, иконки (цветные и серые). Имена предметов прежние -
сейвы находят их по имени (itemmappings.nim), в каком бы моде они ни лежали.
DLL: исправления оссуария (окно топлива) и логиста (банки - в «Напитки»).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Бандл necroossuary - только котёл (19.3 -> 8.6 МБ, без копии коллектора росы).
Постфикс шейдера коллектора - только для пирамиды (necroWardPrefab).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
22.10: «Переименуй». У коллекторов игры заголовок общий - «Инструменты»
(xuiTools); для котла при открытии окна ставится «Образцы» (13 языков),
у остальных возвращается родной. Проверено в test8.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 22.10: «Пусть можно будет положить 3 разных образца, и тогда в ячейки под
ними пойдут такие же ресурсы»: выходы os1/os4 - образец 1, os2/os5 - 2,
os3/os6 - 3. Описание на 13 языках поправлено.
- Лишние ячейки топлива снова показывались: сетка топлива каждый кадр
выставляет видимость по высоте - прятать в Update. Видна одна.
- Огонёк: окошки на 30°, 90°... (на 0°, 60°... - полосы металла; 22.10
«Светлячок заходит в полосы металла, и игнорирует окошки»).
- necroossuary wisp trace - линии путей огонька; necroossuary open - окно
как по E.
Проверено в test8: окно (3 образца, 1 топливо, хранилище 2x3), уголь во
втором образце -> стак угля в 5-й ячейке; трассер - путь через центр окошка.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
22.10: «Огонёк летит сквозь котёл. А надо чтобы поднимался почти на
уровень окошка, и по дуге летел прямо через его центр». Путь - гладкая
кривая через точки: нутро, центр окошка, дуга снаружи, вертикаль на 25 см
дальше самого широкого места котла (по модели), земля. Скорость по пути
ровная. necroossuary wisp log - вылет/влёт в лог (чтобы снять).
Проверено в test8 снимками по сигналу из лога.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- blocks.xml: 6 ячеек хранилища (цикл вдвое дольше - добыча прежняя);
видно одну ячейку образца и одну топлива, остальные спрятаны (в данных
их по-прежнему 3 и 6 - сейвы не режутся).
- Перенос: содержимое спрятанных ячеек у уже поставленных оссуариев
уходит в хранилище (проверено на test8: уголь, камень, сферы).
- Свечение рун и окошек и сфера на крышке - пока работает (OssuaryGlow).
- Огонёк дикого духа: вылет из окошка с уходом в землю и затуханием,
возврат с другой стороны в противоположное окошко; только пока работает.
В игре пока не увиден - разобрать (necroossuary wisp on|off).
- Рецепт - кузня, железо вместо дерева и юкки (плавильня / лом).
- Описание на 13 языках под котёл и вольных духов.
- Консоль: necroossuary info / put (отладка ячеек).
- DLL включает и #72, #74.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
necroOssuaryCauldronPrefab в бандле necroossuary: body (котёл, ноги, прах,
три кости; карты 2048), lid (купол с окошками, ручки, держатель; 1024),
sphere (кровавая сфера), glow (свет внутри, выключен). Свечение рун и
нутра - карта _e, включает код (#66). Блок necroGeoOssuary прежний, сменена
только модель; тег коллайдеру - DecorColliderTagPatch. Старый префаб пока
в бандле.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Пункт «Разобрать» мешку даёт сама игра (материал Mleather, вес 5 как у кожи);
разборку перехватываем: вся стопка сразу, на кролика мясо 10, кожа 2,
кости 5. ПКМ убран. Исправлены поля немецкой строки подсказки (запятая).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Кролику дан ванильный PickupItem (как у курицы); RabbitGrab.cs кладёт
мешок necroRabbitSack в рюкзак, своя подсказка. ЛКМ с мешком - выпустить,
ПКМ - разделать на мясо 10, кожу 2, кости 5. Выключатель necrorabbit.
Иконка пока временная.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Урна necroCinerariumProspector (и ...Skull): в «Содержимом» череп и образец - один из девяти ресурсов (камень, глина,
песок, древесина, железо, свинец, уголь, селитра, сланец), нить к ящику. Дух отлетает на соседнюю свободную клетку и
уходит на 5 блоков под землю, растворяясь; раз в игровой час поднимается так же, кладёт добычу в ящик и уходит снова.
За сутки: камень/глина/песок/древесина 30000, руды 18000, ходка ±20%. Из руды - шанс на алмаз, серебро, золото по
шансам игры на каждый «блок» руды. Ящик полон - дух ждёт с добычей. Без зоны и вне лимита урн.
Рецепт - кузня: латунь 40, прах 100, кости 10, кровь/сок, железная кирка; открывается с остальными урнами.
Консоль necroprospector: on/off, trip, yield, spread, depth, состояние. Тексты - 13 языков; глава книги
«Цинерарии» - лист Fig. VIII с шестой урной и фраза про prospektisto.
Проверено в игре (test8): ходка железа 625 в ящике, спуск и подъём духа, лист и страница книги помещаются.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Духи снова полупрозрачные (Solid = false) - поза принята.
- Отказ в постановке - с цифрами: пересечение зон (сколько блоков до соседнего сборщика,
зоны 5x5); лимит - сколько стоит из скольких, сколько упокоено и сколько ещё до следующей,
с обоснованием (сила некроманта держит духов). Логист/рабочий/ремонтник/лутер не в лимите.
- Лимит сборщиков: одна урна на 50 упокоенных (было 200); описание урны - 13 языков.
- Команда necrocanplace - текст отказа для клетки.
Проверено в игре: подсказка о пересечении (2 блока, 5x5), логист рядом - можно.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Лутер: вместо мешка - банка из свёрнутого железного листа (шов внахлёст, пропай свинцом),
крышка-купол как у кадила с окнами и широким отверстием, внутри кучка пепла (светится
с черепом), чеканка: девиз, витые пояса, знаки некромантии над звонками, рамки окон.
Дух лутера - сдвиг вперёд 0.08 (подобран в Blender). Рецепт: в кузне железо 40 и
свинец 5 (вместо глины), отмычка.
- Ремонтник: горлышко шире (внутри 0.09) - хвост духа входит без касаний; рецепт + латунь 5
(розетки звонков).
- Иконки обеих урн и лист книги Fig. VIII перерисованы под новые формы.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Гашение было только в настоящем шаге, а он запускается, лишь когда пробный нашёл дело -
пробный гашение делом не считал, огонь горел до конца топлива. Теперь погасить - дело:
дух летит к станции и гасит.
Проверено в игре: верстак (патроны), химстанция (клей), бетономешалка (песок), кузня
(переплавка лома и глины -> дротики), костёр; огонь гаснет у костра, химстанции и кузни;
разрушение урны - выпадают череп и образец; окно «Содержимое» - череп и образец.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Три страницы (EN/RU): откуда в урне дух-некротехнолог, пять ремёсел урн (rikoltisto,
portisto, laboristo, riparisto, kolektisto), нити, черепа-ретрансляторы, прилив. Лист -
пять урн эскизом тушью в одном масштабе, подписи на эсперанто, знак некромантии
(BlenderWork/render_urn_sketch.py + make_urn_sheet.py). Открывается вместе с рецептом урны.
Команда necrotome <ключ главы> [страница] - открыть главу без мыши.
Проверено в игре: лист и все страницы помещаются (RU).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Модели (BlenderWork/necroCinerariumRepair, necroCinerariumLoot): ремонтник - квадратная
фляга, лутер - глазурованный мешок с верёвкой; на обоих - четыре латунных звонка с
черепом-кнопкой (деталь *_button - подсветка состояния) и руны кровью футарком
(«RIPARU ĜIS LA LASTA BRIKO», «KOLEKTU ĜIS LA LASTA PECETO»), светятся по черепу.
- Лутер: цели, из которых за проход нечего взять, второй раз не обыскиваются (не зацикливается).
- Разработка: necroclear (убрать только растения), necrobag с сумкой по списку добычи.
Проверено в игре: мешок с зомби и красный труп (прах, кожа жертвы) - в ящик, проход
заканчивается сам.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- necroCinerariumRepair/+Skull и necroCinerariumLoot/+Skull (пока на модели урны сборщика),
рецепты (урна + ремкомплект / отмычка, на крови и на соке), открываются с урнами.
- Зона - сторона притязания сервера или 31/21/11 (пункт «Размер зоны»), весь столб мира,
каркас по «Показать границы»; работа - по «Запустить», один проход, «Остановить».
- Ремонтник: обход столбов из общего бюджета клеток, очередь повреждённых блоков с
RepairItems (зоны пересекаются - блок берёт первый), ремонт раз в 2.5 с материалами из
ящиков по нитям (доля по повреждению), не хватает - ждёт с мигающей кнопкой.
- Лутер: предметы на земле, мешки с зомби, красные трупы (тем же путём, что игрок, с
находкой черепа) - в ящик с любой нитью; рюкзаки игроков и аэродроп не трогает.
- Кнопки на модели (рендереры «button»): жёлтая - ждёт, мигает - нехватка/ящик полон,
зелёная - работа, красная - прилив. Запись урны v6 (зона, проход, курсор, кто нажал).
- Тексты 13 языков; команды разработки necrodamage, necrodrop, necrobag, necrocorpse,
necrourn run|stop|size.
Проверено в игре: ремонтник (нехватка -> материалы -> починил 2 блока), лутер (предметы
с земли). Мешки и красные трупы - не проверены.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Череп-ретранслятор: нить урны проходит через черепа-декор (цепочка), каждый пролёт до
15 м; черепа хранятся у нити (запись урны v5, старые - без черепов). ПКМ ножом по черепу
- провести нить, ЛКМ - снять нити через него; убрали череп - нить снимается.
- Прилив: ночью кровавой луны духи всех урн исчезают, работа стоит, утром - сама.
- Нагрузка: общий бюджет дел духов на кадр (3), анимируются только 16 ближайших духов;
лимит урн сборщика смягчён - одна на 200 убийств (было 500), тексты на 13 языках.
- Описание логиста (кадило, два вида, маленький дух, мигание), черепа-декора (передаёт
нить), подсказки ножа - на 13 языках.
- Разработка: necrogod, necrofps [uncap], necrotide, necroshot серией, necroclick по клетке,
necrobox fill, necrourn с черепами на пути.
Проверено в игре (test8): мигание, нить 28 м через череп и её разрыв, прилив, 63 урны
сборщика: 13.0 мс на кадр против 11.8 мс без работы урн.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Блоки логиста на модели кадила: по центру на подставке (necroCinerariumLogist) и новый вид у
стены на кронштейне (necroCinerariumLogistWall/+Skull); выбор вида - R с урной в руке.
- Дух логиста втрое меньше, в покое сидит в кадиле, на перевозку вылетает через окно крышки
(у стены - не в стену) и возвращается тем же окном.
- Застрял (ящик «куда» полон) - урна мигает (CinerariumBlink) вместо почерневшего духа;
прежняя зелёная подмена свечения старой модели убрана.
- Команды разработки без мыши: necrospawn, necroexit [quit], necrolook, necroaim, necroplace,
necrohold, necrobox, necrourn, necroclick.
Проверено в игре (test8): перевозка обоими видами, вылет духа, вид у стены от стены.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Смирно (pose_attention.json) запечено в позу покоя при выгрузке FBX; там же новые кости
пальцев, веса кисти и хребет. Код больше не ставит руки и пальцы в покое - жест уводит руки
из позы модели и возвращает. Поза покойника (cross) и сведение пальцев кодом убраны.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>