Урна-цинерарий: блок, багажник с черепом, сумка духа, зона, лимит

Урна устроена как транспорт: на E круговое меню - «Багажник» (своё окно
с одной ячейкой под череп), сумка духа 6x2 (хранилище игры), «Починить»
(5 костей из рюкзака), показать/скрыть зону 5x5 от -1 до +4, «Поднять»
(деталь игры TEFeaturePickup; только с пустой сумкой, череп остаётся
внутри - поднятая урна с черепом становится necroCinerariumSkull).
Постановка: зоны урн не пересекаются, урн не больше ceil(убийств / 500);
реестр урн - файл в папке сейва. Разбитая урна роняет череп.
Сохранение - CinerariumWriteHelper, версия первым байтом.
Рецепт - конец Адепта (уровень 15). Модель и иконка временные (кастрюля).
Тексты - 13 языков. Дух-работник - следующий этап.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
AlexCube
2026-10-16 15:10:02 +03:00
co-authored by Claude Opus 5.5
parent 87f3aaf295
commit bd76360eeb
12 changed files with 812 additions and 1 deletions
File diff suppressed because one or more lines are too long
+17
View File
@@ -208,4 +208,21 @@
<sprite depth="9" pos="0,20" height="8" color="[black]" sprite="menu_empty2px" globalopacitymod="0" type="sliced" fillcenter="false" />
<sprite depth="4" pos="0,20" height="8" width="750" color="150,60,220,200" globalopacitymod="0" type="filled" fill="{% cvar('necroNecromancyProgressCVar') / 20 }" />
</append>
<!-- «Багажник» урны-цинерария (1.7.0, 16.10, HarmonySrc/CinerariumTrunk.cs): одна ячейка под череп - та же
ячейка игры для обязательного предмета, что в панели модификаций коллектора росы (windowDewCollectorMods),
не больше одного черепа (override_stack_count). -->
<append xpath="/windows">
<window name="windowNecroCinerariumTrunk" width="228" height="121" panel="Right" cursor_area="true">
<rect style="header.panel">
<headerbg />
<sprite style="header.icon" sprite="ui_game_symbol_skull"/>
<label style="header.name.shrink" text_key="necroCinerariumTrunk" />
</rect>
<rect name="content" depth="0" pos="0,-46" height="75" disablefallthrough="true">
<grid name="inventory" rows="1" cols="1" pos="3,-3" depth="1" cell_width="75" cell_height="75" controller="NecromancerTome.XUiC_NecroCinerariumSkullGrid, NecromancerHarmony" repeat_content="true">
<item_stack controller="RequiredItemStack" name="0" override_stack_count="1"/>
</grid>
</rect>
</window>
</append>
</windows>
+6
View File
@@ -59,4 +59,10 @@
<window name="windowNonPagingHeader" />
</window_group>
</append>
<!-- «Багажник» урны-цинерария (1.7.0): ячейка черепа и рюкзак рядом, как у транспорта. -->
<append xpath="/xui/ruleset">
<window_group name="necroCinerariumTrunk" open_backpack_on_open="true" close_compass_on_open="true">
<window name="windowNecroCinerariumTrunk" />
</window_group>
</append>
</xui>
+45
View File
@@ -513,4 +513,49 @@
<property name="ItemTypeIcon" value="all_blocks"/>
</block>
</append>
<!-- Урна-цинерарий (Harvest Cinerarium), 1.7.0, 16.10.2026: этап 2 некротехнолога (BACKLOG «Некротехнолог v2»).
Составной блок, как земельный камень: TEFeatureStorage - сумка духа (окно хранилища 6x2, «Открыть»),
TEFeatureCinerarium (HarmonySrc/Cinerarium.cs) - череп (положить/забрать), показ зоны 5x5, -1..+4,
лимит ceil(убийств / 500) и запрет пересечения зон при постановке. Всё - в радиальном меню на E (решение 16.10).
Модель и иконка ВРЕМЕННЫЕ - кастрюля игры; своя урна будет из Blender. -->
<append xpath="/blocks">
<block name="necroCinerarium">
<property name="CreativeMode" value="Player"/>
<property name="DescriptionKey" value="necroCinerariumDesc"/>
<property name="UnlockedBy" value="craftingNecroNecromancy"/>
<property name="Class" value="CompositeTileEntity"/>
<property class="CompositeFeatures">
<property class="TEFeatureStorage">
<property name="LootList" value="necroCinerariumBag"/>
</property>
<property class="TEFeatureCinerarium"/>
<property class="TEFeaturePickup">
<property name="TakeDelay" value="2"/>
</property>
</property>
<property name="Material" value="Mstone"/>
<property name="Shape" value="ModelEntity"/>
<property name="Model" value="@:Other/Items/Crafting/cookingPot_01Prefab.prefab"/>
<property name="CustomIcon" value="toolCookingPot"/>
<property name="WaterFlow" value="permitted"/>
<property name="OnlySimpleRotations" value="true"/>
<property name="Collide" value="movement,melee,bullet,arrow,rocket"/>
<property name="StabilitySupport" value="false"/>
<property name="MaxDamage" value="500"/>
<property name="EconomicValue" value="0"/>
<property name="SellableToTrader" value="false"/>
<property name="FilterTags" value="MC_playerBlocks,SC_decor"/>
<property class="RepairItems">
<property name="resourceBone" value="5"/>
</property>
</block>
<!-- Урна, поднятая с черепом внутри (как транспорт держит модификации): тот же блок, при постановке череп
уже в багажнике. Получается только подъёмом (Patch_Block_OnBlockPickedUp_Cinerarium). -->
<block name="necroCinerariumSkull">
<property name="Extends" value="necroCinerarium"/>
<property name="CreativeMode" value="None"/>
<property name="DescriptionKey" value="necroCinerariumDesc"/>
</block>
</append>
</config>
+7
View File
@@ -45,4 +45,11 @@
<item group="groupZpackVictim"/>
</lootcontainer>
</append>
<!-- Сумка духа урны-цинерария (1.7.0): пустое хранилище игрока, 6x2. -->
<append xpath="/lootcontainers">
<lootcontainer name="necroCinerariumBag" count="0" size="6,2" sound_open="UseActions/open_backpack" sound_close="UseActions/close_backpack" open_time="0" loot_quality_template="qualBaseTemplate">
<item name="cobweb" count="0"/>
</lootcontainer>
</append>
</config>
+1 -1
View File
@@ -181,7 +181,7 @@
пользуется, вода сидит на necroNecromancyLvl20. -->
<unlock_entry item="necroModKnifeScavengersFeast,bookSummonRatSpirit" unlock_tier="3"/>
<unlock_entry item="necroModKnifeGravesRepose" unlock_tier="4"/>
<unlock_entry item="necroModKnifeDarkSense" unlock_tier="5"/>
<unlock_entry item="necroModKnifeDarkSense,necroCinerarium" unlock_tier="5"/>
</display_entry>
<!-- Ступенчатая разблокировка внутри группы. ПЕРЕРАСПРЕДЕЛЕНО 2026-09-09: четыре из
шести модов ножа (вода/еда/покой/чутьё) уехали отсюда в группу 1 - см. большой
+9
View File
@@ -605,4 +605,13 @@
<ingredient name="necroSkullDecor" count="1"/>
</recipe>
</append>
<!-- Урна-цинерарий (1.7.0, 16.10): конец Адепта - уровень 15, 300 убийств (решение 06.10). Состав - черновой. -->
<append xpath="/recipes">
<recipe name="necroCinerarium" count="1" tags="learnable,packMuleCrafting,necroNecromancyLvl300">
<ingredient name="resourceClayLump" count="30"/>
<ingredient name="resourceZombieAsh" count="100"/>
<ingredient name="resourceBone" count="10"/>
</recipe>
</append>
</config>