Тест 10.10: останки в игре бледно-бежевые, хотя в Unity тот же префаб тёмный -
игра рисует копию Standard из бандла иначе (как было у крысы). BundleShaderFix
ставит встроенный Standard останкам, черепу и ножу-мечу (очередь сохраняется).
Плёнка краснее (указание: «больше красного на не-кости»), модель x1.2,
иконка перерисована.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Красный труп «Жертвы» истлевает в лёгкий контейнер necroRemains (своя модель:
остов, обтянутый обугленной плёнкой, бандл necroremains) через 2 минуты,
раньше - если игрок дальше 80 м или трупов больше 30. Лут и остаток срока
переходят, звук разбитого пятна крови (organicdestroy). Команда necroremains
истлевает трупы рядом сразу (для проверки).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
necroKnifeTidePrefab = нож + tideBlade: плоский прозрачный фиолетовый меч
ромбического сечения (Standard Fade + свечение, текстура с тёмными
вкраплениями), собран NecroTideSetup.cs (ItemsUnityProject). На ночь
прилива MeshFile ножа подменяется на него (путь - из пути обычного ножа).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Тест 10.10: NRE в Hand.Unequip оставлял Hand.isSwitching = true - рука
переставала брать что-либо до перезапуска. Теперь: ножи в других слотах
помечаются к пересборке, нож в руке пересоздаётся, когда нет смены
предмета и удара; сбой перехватывается, isSwitching снимается, Reconcile.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Отдельный блок necroChalkboardPlayer (модель и надпись сюжетной доски):
крафт с начала игры - краска 2, дерево 8, гвозди 4, волокна 3, кости 2;
писать можно в обычной игре, записи свои у каждой доски; можно подобрать.
Сюжетная necroChalkboard (чертоги) по-прежнему пишется только модом.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
В чертогах игра держала две полные области мира (у чертогов и у тела).
Тело теперь сжато до 3 участков, как у змеи и одержимого; при выходе
возвращается. FreezeProbe пишет каждый кадр дольше 100 мс: длительность,
сборки мусора за кадр, режим, число наблюдателей областей, куча.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Книга: картинка главы при смене главы не удалялась (~2 МБ за смену) -
удаляем сами при смене, у главы без картинки и при закрытии окна.
- Пирамида: кольцо зоны создавало новый материал при каждой перезагрузке
чанка - теперь один общий.
- Прилив: не держать стат игрока после выхода из мира; забывать полосы
пересобранного HUD.
- SpatialVaultPatch: исправлен устаревший комментарий про очистку кэша.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
В прилив: урон, скорость ударов и вампиризм ножа вдвое, плата за силовую
вдвое меньше, выносливость вчетверо меньше, дальность 2.8, хват мачете
(модели меча пока нет). С ножом в руке: бег +50%, восстановление здоровья
и выносливости вдвое, полоски пульсируют фиолетовым, сердце 120 уд/мин.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Оглавление показывает по 10 глав и листается «Назад/Далее»; «Оглавление»
из главы возвращает на ту же страницу. На листе Fig. VII у луны убраны лучи
(походила на солнце), некропыль поднимается просто вверх, со стрелками.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Глава с листом-схемой (Fig. VII, подписи на эсперанто), пока открыта с 1 дня
для теста (по замыслу - с 5). Оглавление - до 10 глав. Доска чертогов на 5 день:
«Осторожно! Приближается лунный прилив!» вместо «излучения красной луны».
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Нет змеи, чертогов, одержимости зомби и питомцев; кто вне тела - выброшен
в тело; «коза» без эффекта. Подмешивание Стирателей в орду отключено.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Главы питомцев с чертежами (Fig. III-VI), команда necroobj для выгрузки моделей
- Книги призыва питомцев переименованы в гримуары (13 языков)
- Чертоги: второй этаж; таблички necroDoorNumber (только в редакторе) нумеруют двери,
дверь с номером закрыта до события (SetDoorOpen, necropalace door N open|close),
с начала открыты 2, 4, 5, 6
- Дух: плавный шаг по ступенькам, проход в проёмы с порогом
- Стервятник: снижение только C, без Ctrl-переключателя
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Книга некроманта: главы «Нож некроманта» и «Могильная крыса» - лист-чертёж сверху (Textures/,
три вида из Blender, подписи на эсперанто), управление и лор; окно книги непрозрачное, текст с контуром
- «Дух крысы» переименован в «Могильную крысу» на 13 языках (ключи прежние)
- Блоки (Dev): плакат-синька ножа (necroPosterKnife, 3:2 под полотно рамки), грифельная доска
necroChalkboard (надписи - TEFeatureSignable, писать только в редакторе/творческом; шрифт Neucha OFL,
свой шейдер текста с тестом глубины), дверь-книжный шкаф necroBookDoor (своя модель с аниматором,
хитбокс створки через RootTransformRefParent)
- Чертоги: префаб 25x8x25 (промежуточный); открываются только межкомнатные двери; надписи на досках
по дням игры: «Отомсти архимагу!», с 5-го дня «Берегись излучения красной луны»
- Нож: силовая атака стоит 20 здоровья, с «Мёртвой бурей» 40; не хватает - itembreak, «Недостаточно
здоровья» и обычный удар; описания на 13 языках
- Консольная команда necromodel - устройство модели блока в лог
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Прицел всех одержимых - всегда перекрестие (свой guiDrawCrosshair: точка бралась из проверки
камеры от 3-го лица у тела); краснеет на враге: у стервятника - цель рывка, у наземных - враг
на луче прицела до 30 м, не за стеной
- Падаль: отхил вдвое меньше (EatHealFrac 0.125); ест на F стервятник, медведь, собака, волк и
одержимые зомби
- E - действие: стервятник - клич (был F), крыса/волк - обыск, медведь - на дыбы (враги до 3.5 м
сбиты с ног и отброшены, откат 6 с)
- Рёв медведя: надписи «на медведя идут N» и откат, мимо очереди подсказок
- Крыса и волк обыскивают мешки с зомби (EntityLootContainer), волк берёт в сумку
- Багажник волка: окно сумки как у браслета, без рюкзака; выброс - у волка
- Отзыв волка: мешок на месте и метка «Сумка волка» на карте, снимается с мешком
- Тексты на 13 языках
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Могильная крыса: своя модель без волчьей шерсти; стоит на земле (центр капсулы);
E - осмотр контейнеров без права взять (окно игры, рюкзак скрыт, отказ «инвентарь
заполнен», контейнер не разрушается); ПКМ - проход сквозь постройки, полупрозрачная.
- Стервятник: курица в когтях - слепок с обвисшими крыльями и шеей, без хитбокса.
- Зомбособака: нюх - все существа рядом на компасе и карте.
- Медведь: толстая шкура (вдвое меньше урона), рёв-провокация, удар лапой по блокам.
- Лютоволк: бросок на цель с опрокидыванием, след крови раненых, сумка на 3 ячейки
(лут, выгрузка у тела, выпадает мешком при гибели и отзыве; отдельный файл сейва).
- Череп (останки): 2% при обычном обыске красного трупа вместо браслета.
- Прицел книги не рисуется в одержимости; подсказки вселения на 13 языках.
- Замер EntityLeakProbe: удалённые, но живые в памяти сущности - в лог.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Одержимость питомца: ПКМ с книгой - вселиться, E - отозвать (и изнутри питомца),
пояс скрыт, надпись о враге у тела.
- Одержимый стервятник: полёт, рывок на ЛКМ с 10 м с прямым уроном, звуком и
кровотечением, обычный прицел краснеет на цели; посадка в позу 0 и взлёт на пробел;
ПКМ - клич-приманка (паникующая курица, откат 0.5 с); F - питаться трупами и
блоками-падалью, доеденное исчезает.
- Дух змеи атакует только нежить; фиолетовая метка на карте у змеи и одержимого.
- Череп из красного трупа (этап 1 цинерария); глава книги «Письмо архимага» с видео.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Кровавые семена (50 семян травы + кровь некроманта), три этапа роста на грядке:
росток -> бутоны-черепа -> куст роз с черепом в сердцевине (бандл necrorose).
Урожай - чёрные розы (3 базово, бонусы фермерства через ванильные теги).
- Ступка (верстак, 1 куб, руны на боку; бандл necromortar) - на Подмастерье.
- Сок чёрной розы: 4 розы + пустая банка на ступке; банка - копия банки крови
с чернильно-чёрным содержимым (в бандле necroblood).
- Копии всех рецептов на крови некроманта с соком: банка сока = две банки крови
(при одной крови - одна), из сока 3 кровавые сферы вместо 2.
- Иконки семян, ступки, сока и чёрной розы; тексты на 13 языках.
- DecorColliderTagPatch: хитбокс ступки и куста роз.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Змея: проверка «внутри текстуры» лучами (земля игры - поверхность), каждый кадр выброс
на ближайшее свободное место (на земле - из любых текстур, в полёте - из грунта);
шаг и прыжок в текстуры не пускают. Полёт пока зажата ПКМ: 1.1 м/с (половина шага
зомби), сквозь постройки можно, в грунт нельзя; Пробел вверх, C/Ctrl вниз.
E - аварийный выход. Детализация зданий и область тела - как у одержимого.
- Одержимый: будит спящих (комнаты зданий и сам вид одержимого), приседание на C и Ctrl,
удар по точке под прицелом с наведением на грудь ближнего врага.
- Хваты: толчок руки к прицелу на ЛКМ; «пиф-паф» вселяет на пике толчка.
«Отрицание» стало «Козой» (13 языков): средний и безымянный поджаты, большой прижат;
звук - бросок змеи.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Чертоги разума: дух в префабе chertogi под землёй, книга памяти, нож и плакат;
кровать префаба - мебель necroPalaceBed (иначе становилась точкой возрождения);
охрана выбрасывает и игроков (их нет в EntityAlives).
- Хваты пустой руки по R: «отрицание» и «пиф-паф» - поза рук костями поверх аниматора,
остальные кости заморожены, ЛКМ - заклинание, прицел краснеет на зомби.
- «Отрицание»: зомби в ужасе бежит дальше 40 м и теряет игрока как цель.
- «Пиф-паф»: одержимость зомби-гуманоидом - бег, прыжок, удар, дальняя атака,
подрыв, крик крикуньи; тело цепенеет, зомби танкуют одержимого; область
вокруг тела сжата; полоска здоровья; спавн и прорисовка у одержимого.
- Книга с оглавлением (окно necroTome), глава «Некроэнергия».
- Прорисовка дверей у змеи и одержимого (CheckLODs от камеры, а не от тела).
- Почтовый ящик консоли и команды necrobones/necropose/necroshot для разработки.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Радиация: проверка раз в 2 с, в поясе змея сразу развеивается (таймер 30 с убран).
- Леденящий ужас: учуянные змеёй зомби (30 м) бегут, ломая препятствия;
очередь испуга, отметка места змеи для поиска пути, выключен в кровавую луну.
«Шум» (зомби шли к змее) удалён. Диагностика бегства в логе пока оставлена.
- Стиратель (zombieEraser): в орде игрока-змеи с шансом 0.5; взрывается на любой
атаке и при разрыве змеёй, отбрасывает змею; тело - чёрный разрыв. Вид: своя
раскраска на модели гавайца (Resources/Eraser), свечение маджента, звуки спайдера.
- Фиолетовая змея на карте (necroSnakeSpirit).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- пирамида: огонь убран; включённая модель светится ярко (кристалл, глазницы),
выключенная тускло; граница зоны - светящееся фиолетовое кольцо по земле
(LineRenderer, точки опущены на рельеф) вместо огоньков; старые огни снимаются
- банка крови: снято зеркалирование - стоит как ванильная, в руке
- нож: руны перенесены на противоположную плоскость клинка
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- модель: ступени из костей, черепа с тлеющими глазницами, костяная ось насквозь,
наверху цветок из рваной плоти на коротком шипастом стебле из скрученных жил,
в нём фиолетовый кристалл; бандл necroward (копия префаба оссуария)
- блок на Shape="ModelEntity" как оссуарий; шейдер и теги коллайдера ставит
GeoOssuaryPatch (теперь для обоих префабов); свой коллайдер-коробка
- «Пирамида духов» переименована в «Пирамиду отрицания» (13 языков, и в описаниях);
внутреннее имя блока прежнее - уже поставленные пирамиды в сейвах сохранятся
- иконка - рендер модели
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Камень в любой ячейке скакуна - вечно полный бак, сферы рядом не тратятся.
- Камень в отсеке топлива гео-оссуария - работает вечно (FuelTypes + removeFuel).
- Кровавая сфера чинится пакетом крови: 250 прочности за пакет (2 пакета - полная).
- Описания сферы, камня, оссуария и скакуна дополнены (13 языков); в описании
скакуна по-корейски и по-китайски название сферы приведено к принятому в моде.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Мотор не заводится без сфер и глохнет, когда кровь кончилась (ваниль заводила
его и с пустым баком - ехал на полной тяге); вставили сферу в седле - заводится.
- Звуки мотора у скакуна молчат; на ходу - стук педалей bicycle_pedal,
гудок и колёса - велосипедные.
- Частицы дыма/огня убраны (розовые кубы - ванильные частицы без материалов).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Топливо скакуна - кровавые сферы в 4 ячейках модификаций, тратятся по очереди
(одна сфера = 120 ед., бак 480); уровень бака считается по прочности сфер,
выработанная сфера исчезает. Заправка канистрой убрана. В ячейки - только сферы.
- Причина «не едет» и «-2147483648%»: Extends не наследует effect_group, у предмета
скакуна не было ни ячеек, ни прочности. Своя группа: ModSlots 4, DegradationMax 4000;
здоровье закреплено кодом (DegradationMax сфер в ячейках его перебивал бы).
- Ремонт - 50 костей за ход вместо ремкомплекта; подсказка при нехватке, 13 языков.
- Модель скакуна: сиденье и рама прогнуты по ванили, рога по оси руля,
череп меньше и короче, свет фары в глазнице, крыло над передним колесом,
зубы под черепом убраны.
- Книга крысы: повёрнута как ванильная (палец на корешке), без металлических уголков.
В игре не проверено.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Костяной скакун (necroBoneSteed): мотоцикл из костей, сухожилий и сосудов
с черепом-циклопом вместо фары; своя модель (бандл necrobonesteed),
ванильная система предмета-транспорта (necroBoneSteedPlaceable, предпросмотр
при установке); топливо - кровавая сфера, одна сфера = полный бак; теги
коллайдеров и шейдер копируются с ванильного мотоцикла; рецепт на верстаке,
Подмастерье
- Книга Духа крысы: своя модель (бандл necrobooks) - чёрная кожа, светящийся
узор со скелетом крысы и семиконечной звездой, ржавые уголки, ремешок
- Турели не стреляют по существам мода (питомцы, рой, змея)
- Гео-оссуарий тратит 1/10 прочности сферы на стак вместо целой сферы
В игре не проверено.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Питомцы:
- охрана хозяина: враг ближе 20 м (в режиме змеи - к телу) атакуется сам,
поводок 40 м, охраняют все кроме крысы; приказ прицелом охрана не перебивает
- IsFoe исключает существ мода (necro*): питомец выбирал целью себя
- призыв нового спутника отзывает прежнего
- прицел книг призыва - как у арбалета, краснеет на годной цели
Гео-оссуарий (necroGeoOssuary): станция добычи на кровавой сфере
- основа - коллектор росы; в 3 ячейки модов любой из 5 ресурсов
(камень, уголь, селитра, железо, сланец), 1 сфера = стак 6000 за 5-8 ч
- работает без открытого неба; верстак, Подмастерье (ур. 25)
- своя модель (бандл necroossuary): кости, корни, сосуды, клыки, черепа
с глазами-углями; шейдер и теги коллайдера берутся у ванильного коллектора
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
В первые RagdollDelay секунд после входа игра ещё обрабатывает ввод:
можно было взять ствол, и R разом перезаряжало его и выводило из змеи.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FPS сползал 60 -> 15-30 за 10-15 минут в любом мире; перезаход сбрасывал, в режиме
змеи (пояс скрыт) тормозов не было. Замер показал: группа окон toolbelt 2 -> 23 мс/кадр
при неизменном числе элементов. Причина - ошибка игры: BindingNcalcFunctions.cvar при
каждом вычислении регистрирует новый VariableStateCVar, RegisterVariable добавляет без
проверки, новая переменная стартует с 0 и в следующем кадре снова вызывает пересчёт.
Шкала fill="{% cvar('necroNecromancyProgressCVar') / 20 }" (с 1.3.0) набирала по одной
переменной за кадр. CVarBindingLeakPatch: одна CVar регистрируется в привязке один раз.
Проверено: 15 мин, 25 убийств - FPS 55-58 ровно, toolbelt ~1 мс/кадр.
Пирамида: на Texture Quality ниже Full атлас блоков игры меньше нашей текстуры 512, и
CustomBlockPaint её пропускал. Теперь берётся мип под размер атласа; бандл necroatlas
пересобран с ignoreMipmapLimit (иначе CopyTexture отказывает и пирамида чёрная).
Проверено на Half.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Серые копии были 4096x4096 RGBA32 без сжатия (64 МБ видеопамяти каждая плюс CPU-копия) - на стриме 28.09 это добавило к переполнению 8 ГБ видеокарты. Теперь как в CorpseLoot: уменьшение до MaxTintSize, Compress, Apply(makeNoLongerReadable). При выходе из мира копии уничтожаются, а не просто забываются.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Префикс EntityPlayer.AddKillXP пропускает начисление опыта для жертв
змеи. Некромантия и урон ножа растут как прежде: их счёт - постфикс на
том же методе, Harmony вызывает его и при отменённом оригинале.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>