Files
Alex CubeandClaude Opus 5 e8f064f5ec Книга некроманта 1.0 — первая публичная версия
Мод для 7 Days to Die 3.2: навык «Некромантия», растущий от счётчика убитых
зомби, тёмное оружие с шестью собственными модами, призывная нежить, пирамида
духов и сюжетный финал через Чёрный портал. Локализация на 13 языках.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MaNro5hAGTzcQ7rJNN2tCX
2026-09-09 21:13:03 +03:00

380 lines
26 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<config>
<!-- Tin can water boiling - user request 2026-08-30 ("Вода в консервных банках должна
кипятиться на костре даже если там нету кастрюли... так было сделано в другом моём моде
'Энерголук'" = AC-EnergyBow, the same __NoMods reference the tin can items themselves were
ported from - see items.xml's own comment on tinCanEmpty/tinCanRiverWater/
tinCanBoiledWater).
Root cause this was missing at all: `Extends` copies an item's PROPERTIES, never its
RECIPES - recipes are separate top-level <recipe> nodes matched by name, with no
inheritance mechanism of their own (confirmed by grepping this mod's own recipes.xml -
zero "tinCan" hits before this entry). tinCanRiverWater/tinCanBoiledWater extending
drinkJarRiverWater/drinkJarBoiledWater therefore got NONE of the vanilla mason-jar-boiling
recipe (`<recipe name="drinkJarBoiledWater" craft_area="campfire"
craft_tool="toolCookingPot">`, Data/Config/recipes.xml) - boiling a tin can was never
possible at all until this recipe existed, not merely pot-gated.
No `craft_tool="toolCookingPot"` here BY DESIGN, per the direct request - a metal can can
sit right in a campfire's coals on its own, unlike a mason jar. Confirmed real vanilla
precedent for a pot-less campfire recipe existing at all: `foodBakedPotato`/
`foodCharredMeat` both use craft_area="campfire" with no craft_tool attribute at all - a
campfire recipe is not implicitly pot-gated, craft_tool is an opt-in extra requirement,
not something `craft_area="campfire"` implies on its own. -->
<append xpath="/recipes">
<recipe name="tinCanBoiledWater" count="1" craft_area="campfire">
<ingredient name="tinCanRiverWater" count="1"/>
</recipe>
</append>
<!-- "Камень духов" (Spirit Stone): craftable from the start, no perk/skill gate -
packMuleCrafting is a weight-while-crafting tag, not a gate (see vanilla
campfire/candle recipes for the same pattern). Per BACKLOG.md item 1: 1 rock +
20 grass fiber (resourceRockSmall doubles as both the crafted item's own mesh/icon
source and its craft ingredient here, same as vanilla's own resourceRockSmallBundle). -->
<append xpath="/recipes">
<!-- resourceZombieAsh added 2026-08-29 (BACKLOG.md item 8) - count is a guess, not
specified by the user, kept modest like the rest of this recipe's ingredients. -->
<!-- resourceZombieAsh REMOVED 2026-08-31, direct user correction: this is the starter
weapon, craftable before the player has the Knife at all - same circular-dependency
problem items.xml's own resourceZombieAsh comment already flags and deliberately avoids
for the Knife's own recipe ("the knife has to stay craftable from scratch, and ash only
exists because the knife already tagged a zombie as a Victim"). Ash got added here
anyway during the 2026-08-29 item-8 blanket rollout ("becomes a crafting ingredient
across the other necromancy recipes") without checking this one against that same rule
- missed it then, fixed now. Back to the original 2026-08-28 recipe (1 rock + 20
fibers, BACKLOG.md item 1), nothing else changed. -->
<recipe name="thrownStoneSpirit" count="1" tags="packMuleCrafting">
<ingredient name="resourceRockSmall" count="1"/>
<ingredient name="resourceYuccaFibers" count="20"/>
</recipe>
</append>
<!-- Two portal stones, BACKLOG.md item 6. Blue: no gate, simple early recipe by analogy with
the Spirit Stone (per that backlog note) - not specified exactly by the user. Black:
necroNecromancyMaster (level 5000, the existing "Мастер" tier, group 5) per direct
instruction. Both carry resourceZombieAsh like the other necromancy recipes
(BACKLOG.md item 8). -->
<append xpath="/recipes">
<!-- resourceZombieAsh bumped 5 -> 150, direct user correction 2026-08-31: unlike the Spirit
Stone (removed entirely, see that fix above), the Blue Portal Stone is NOT a starter
weapon - "он не является начальным оружием... больше про комфорт" - so the same
circular-dependency concern doesn't apply, and the user wants it to actually cost a
real chunk of ash rather than a token amount. -->
<recipe name="thrownStonePortalBlue" count="1" tags="packMuleCrafting">
<ingredient name="resourceRockSmall" count="1"/>
<ingredient name="drinkJarPureMineralWater" count="3"/>
<ingredient name="resourceYuccaFibers" count="15"/>
<ingredient name="resourceZombieAsh" count="150"/>
</recipe>
</append>
<!-- resourceNecromancerBlood x10 added 2026-08-30, direct instruction ("10 крови некроманта
нужно будет для рецепта чёрного портала"). ADDITIVE to the existing medicalBloodBag
ingredient, not a replacement - the user said "также" (also/additionally), not "instead
of"; the plain blood bag stays as the mundane-blood component, Necromancer's Blood as the
new, harder-to-get one. Say if this should replace medicalBloodBag instead. -->
<append xpath="/recipes">
<recipe name="thrownStonePortalBlack" count="1" tags="learnable,packMuleCrafting,necroNecromancyMaster">
<ingredient name="resourceRockSmall" count="1"/>
<ingredient name="medicalBloodBag" count="5"/>
<ingredient name="resourceNecromancerBlood" count="10"/>
<ingredient name="casinoCoin" count="20"/>
<ingredient name="resourceYuccaFibers" count="15"/>
<ingredient name="resourceZombieAsh" count="20"/>
</recipe>
</append>
<!-- "Кровь некроманта" (Necromancer's Blood): dictated 2026-08-30, see items.xml for the item
itself and HarmonySrc/NecromancerBloodPatch.cs for the knife-requirement/HP-cost mechanic
this recipe alone can't express. No level gate given by the user and none applied - same
"base" tier as the jar it's made from being a mundane always-available item; the real
gate on this ritual is the HP cost + knife requirement, not a skill level. drinkJarEmpty
confirmed as the real vanilla empty-jar item (Data/Config/items.xml) - not invented. -->
<append xpath="/recipes">
<recipe name="resourceNecromancerBlood" count="1" tags="packMuleCrafting">
<ingredient name="drinkJarEmpty" count="1"/>
</recipe>
</append>
<!-- "Пирамида Ереси" (Pyramid of Heresy): user request 2026-08-31, see blocks.xml/
HarmonySrc/PyramidWardPatch.cs for the block itself. "Рецепт доступен сразу" - no
"learnable" tag and no gate beyond necroNecromancyAdept (Group 1 "Адепт", unlocked from
level 1 - see progression.xml's own comment: a recipe with no unlock tag at all is already
always-available, the tag here is added anyway purely so the intent ("this is a Tier-1,
immediately-available necromancy recipe") is visible directly in this file, matching how
braceletSpatialVault documents itself with necroNecromancyLvl20 below rather than staying
unmarked). craft_area="workbench" (unlike the hand-craftable Knife/Spirit Stone) - this is
a heavy placeable structure, not a pocket item, matching braceletSpatialVault's own
workbench gate.
INGREDIENTS: resourceZombieAsh(1200)/resourceRockSmall/resourceYuccaFibers dictated
directly by the user ("прах зомби, камень, трава"). The rest chosen to fit a "necromantic
iron pylon" ("остальные ингредиенты добавь сам исходя из контекста"):
- resourceScrapIron: the block's own structural frame (real vanilla resource, matches
its own Destroy-drop in blocks.xml).
- resourceNecromancerBlood: the mod's existing magic-binding reagent (see above) - ties
the ward's charm magic to the same "blood" reagent already used elsewhere in this
mod's necromancy recipes, kept to a small count (3) since it costs the player 90% of
their current HP per unit to make (NecromancerBloodPatch.cs) - this recipe shouldn't
demand many. -->
<append xpath="/recipes">
<recipe name="necroHeresyPyramid" count="1" craft_area="workbench" tags="workbenchCrafting,necroNecromancyAdept">
<ingredient name="resourceZombieAsh" count="1200"/>
<ingredient name="resourceRockSmall" count="300"/>
<ingredient name="resourceYuccaFibers" count="200"/>
<ingredient name="resourceScrapIron" count="300"/>
<ingredient name="resourceNecromancerBlood" count="3"/>
</recipe>
</append>
<!-- "Гримуар девиации" (Grimoire of Deviation): BACKLOG.md item 2. Gated at
necroNecromancyJourneyman - group 2 "Подмастерье" (level 500), one of the 5 real skill
tiers (see progression.xml; REDISTRIBUTED 2026-08-30, was a one-off level-50 tag before -
direct user correction, "уровень скилла ты распределил идиотски"). -->
<append xpath="/recipes">
<recipe name="thrownBookGrimoireDeviation" count="1" tags="learnable,packMuleCrafting,necroNecromancyJourneyman">
<ingredient name="resourcePaper" count="20"/>
<ingredient name="resourceGlue" count="2"/>
<ingredient name="resourceCoal" count="5"/>
<ingredient name="resourceWood" count="10"/>
<ingredient name="resourceYuccaFibers" count="10"/>
<ingredient name="resourceZombieAsh" count="5"/>
</recipe>
</append>
<!-- "Призыв зомбособаки" (Summon Zombie Dog): BACKLOG.md item 3. Gated at
necroNecromancyApprentice - group 3 "Ученик" (level 2000), one of the 5 real skill tiers
(see progression.xml; REDISTRIBUTED 2026-08-30, was a one-off level-200 tag before -
direct user correction, "уровень скилла ты распределил идиотски"). Per user request,
crafted at a workbench specifically (craft_area="workbench"), same as advanced-tier weapons
(e.g. vanilla gunHandgunT3SMG5) - NOT available from the player's own personal crafting
menu like the Spirit Stone/Grimoire above (those have no craft_area, so default to
personal crafting). workbenchCrafting is just the same UI-categorization tag vanilla's
own workbench recipes carry alongside craft_area, not a separate gate. -->
<append xpath="/recipes">
<recipe name="bookSummonZombieDog" count="1" craft_area="workbench" tags="learnable,workbenchCrafting,necroNecromancyApprentice">
<ingredient name="foodRottingFlesh" count="50"/>
<ingredient name="medicalBloodBag" count="3"/>
<ingredient name="drinkJarBoiledWater" count="4"/>
<ingredient name="resourceYuccaFibers" count="50"/>
<ingredient name="resourceCloth" count="3"/>
<ingredient name="resourceLeather" count="10"/>
<ingredient name="resourceBone" count="40"/>
<ingredient name="casinoCoin" count="5"/>
<ingredient name="resourceZombieAsh" count="10"/>
</recipe>
</append>
<!-- "Жуки Властелина": user request 2026-08-28. Personal crafting (no craft_area) - unlike the
Dog, unconfirmed whether this should be workbench-gated too; see items.xml. Same
necroNecromancyApprentice gate as the Dog - group 3 "Ученик" (level 2000, see
progression.xml; REDISTRIBUTED 2026-08-30 like the others above). Ingredients per
explicit user instruction: 1 resourceQueenBee ("одна пчеломатка") is required; the rest
("сам додумай, но без фанатизма") is a modest hive/bait theme (honey to draw and bind the
swarm, wood for a hive, fiber to hold it together) - kept deliberately small, no rare
currency/high counts like the Dog's recipe. -->
<append xpath="/recipes">
<recipe name="bookSummonInsectSwarm" count="1" tags="learnable,necroNecromancyApprentice">
<ingredient name="resourceQueenBee" count="1"/>
<ingredient name="foodHoney" count="20"/>
<ingredient name="resourceWood" count="10"/>
<ingredient name="resourceYuccaFibers" count="15"/>
<ingredient name="resourceZombieAsh" count="5"/>
</recipe>
</append>
<!-- "Книга банши" (Banshee's Book): BACKLOG.md item 7. Gated at necroNecromancyNecromancer -
group 4 "Некромант" (level 3000), alongside Bear/Wolf (see progression.xml;
REDISTRIBUTED 2026-08-30, was necroNecromancyLvl200 before) - not specified by the user,
guessed consistent with the other "advanced ritual" summon items. -->
<append xpath="/recipes">
<recipe name="bookBanshee" count="1" craft_area="workbench" tags="learnable,workbenchCrafting,necroNecromancyNecromancer">
<ingredient name="resourcePaper" count="15"/>
<ingredient name="resourceGlue" count="3"/>
<ingredient name="foodRottingFlesh" count="10"/>
<ingredient name="resourceYuccaFibers" count="15"/>
<ingredient name="resourceZombieAsh" count="10"/>
</recipe>
</append>
<!-- "Нож некроманта" (Necromancer's Knife): BACKLOG.md item 5, user request 2026-08-28.
No recipe/gate specified beyond the item's own mechanics - guessed modest and available
from the start (personal crafting, no craft_area, no level tag), same tier as the Spirit
Stone, since its real power comes from playing the necromancer build over time (damage
scales with kill count), not an expensive unlock. Say if this should change.
resourceZombieAsh (BACKLOG.md item 8) deliberately NOT added here, unlike the other
necromancy recipes - per explicit user instruction 2026-08-29: ash only drops from
zombies the knife itself has already marked as "Жертва", so requiring ash to craft the
knife would make the knife uncraftable from a fresh start (circular dependency).
medicalBloodBag SWAPPED for resourceNecromancerBlood 2026-08-30, direct instruction
("для ножа некроманта пусть используется кровь некроманта"). NOT a circular dependency
like the ash case above, even though this item needs a knife to craft (see
NecromancerBloodPatch.cs) - resourceNecromancerBlood's own requirement is "ANY knife"
(ItemClass.DisplayType == "meleeKnife"), which vanilla's own starting/craftable knives
(e.g. the plain bone knife) already satisfy - it does NOT require this specific
necroWpnBladeNecroKnife to already exist. Count kept at 1, same as the medicalBloodBag it
replaces - not inflated further, since the blood itself is now a genuinely costly
ingredient (90% current HP + a knife + a jar per unit). -->
<append xpath="/recipes">
<recipe name="necroWpnBladeNecroKnife" count="1" tags="packMuleCrafting">
<ingredient name="resourceBone" count="5"/>
<ingredient name="resourceNecromancerBlood" count="1"/>
<ingredient name="resourceYuccaFibers" count="10"/>
</recipe>
</append>
<!-- Three more summon-book recipes, BACKLOG.md item 4a. REPLACED 2026-08-29 - Griffin/Bear/
Wolf instead of Stripper/Cop/Soldier (see entityclasses.xml). Same workbench shape as the
Dog's own recipe; Griffin shares the Dog's gate (necroNecromancyApprentice, group 3
"Ученик", level 2000), Bear/Wolf are one tier higher (necroNecromancyNecromancer, group 4
"Некромант", level 3000, alongside the Banshee) - split REDISTRIBUTED 2026-08-30 across
the real 5 skill tiers instead of one shared one-off level-200 tag (see progression.xml).
Ingredient lists are a themed guess per creature (not specified by the user) -
resourceFeather/foodRawMeat both verified to exist in vanilla items.xml before use, same
lesson as the earlier wrong guesses. -->
<append xpath="/recipes">
<recipe name="bookSummonZombieGriffin" count="1" craft_area="workbench" tags="learnable,workbenchCrafting,necroNecromancyApprentice">
<ingredient name="resourceFeather" count="30"/>
<ingredient name="resourceBone" count="20"/>
<ingredient name="casinoCoin" count="5"/>
<ingredient name="resourceYuccaFibers" count="20"/>
<ingredient name="resourceZombieAsh" count="10"/>
</recipe>
</append>
<append xpath="/recipes">
<recipe name="bookSummonZombieBear" count="1" craft_area="workbench" tags="learnable,workbenchCrafting,necroNecromancyNecromancer">
<ingredient name="resourceLeather" count="20"/>
<ingredient name="foodRawMeat" count="10"/>
<ingredient name="resourceBone" count="20"/>
<ingredient name="resourceYuccaFibers" count="20"/>
<ingredient name="resourceZombieAsh" count="10"/>
</recipe>
</append>
<append xpath="/recipes">
<recipe name="bookSummonZombieWolf" count="1" craft_area="workbench" tags="learnable,workbenchCrafting,necroNecromancyNecromancer">
<ingredient name="resourceLeather" count="15"/>
<ingredient name="foodRawMeat" count="10"/>
<ingredient name="resourceBone" count="15"/>
<ingredient name="resourceYuccaFibers" count="20"/>
<ingredient name="resourceZombieAsh" count="10"/>
</recipe>
</append>
<!-- "Петля вора" (Thief's Loop) recipe REMOVED 2026-08-30 along with the item itself - see
items.xml for why. -->
<!-- "Пространственный браслет" (Spatial Bracelet) - gate moved 2026-08-30 from
necroNecromancyLvl200 to necroNecromancyLvl20 per direct instruction ("нож, камень духов
и хранилище - это база... хранилище, когда убито минимум 20 зомби"). craft_area/workbench
left as-is (not specified either way) - still an "advanced" build, just unlocked much
earlier than before. -->
<append xpath="/recipes">
<recipe name="braceletSpatialVault" count="1" craft_area="workbench" tags="learnable,workbenchCrafting,necroNecromancyLvl20">
<ingredient name="resourceLeather" count="10"/>
<ingredient name="resourceMechanicalParts" count="5"/>
<ingredient name="resourceScrapIron" count="10"/>
<ingredient name="resourceYuccaFibers" count="15"/>
<ingredient name="resourceZombieAsh" count="10"/>
</recipe>
</append>
<!-- СТУПЕНЧАТАЯ РАЗБЛОКИРОВКА МОДОВ НОЖА. Изначально (2026-09-07) продиктовано: "механика
скиллов даёт возможность сделать их доступными не сразу, а по мере набора количества
убитых зомби. Т.е. грейд открылся, а рецепт ещё нет, на нём замочек. Еда/вода должны
открываться на грейде сразу. Чутьё чуть позже, хватка ещё позже. Но всё в рамках грейда."
ПЕРЕСТАВЛЕНО 2026-09-09 - прямая правка баланса от пользователя: "Питьё важно в тот же
день. Оно должно быть доступно после 30 убитых зомби. Еда - 60. Это самые важные для
начала выживания модификации. Модификация на покой - 100 зомби. Модификацию на тёмное
чутьё я бы сделал доступной после 300 убитых зомби. Дальше уже не так принципиально."
ЧТО БЫЛО НЕ ТАК. Первая раскладка держала все шесть модов внутри группы 2, то есть в
диапазоне 500-1700 убийств. Ошибка не в коде (тег рецепта, RecipeTagUnlocked и
unlock_tier сходились по всем шести), а в балансе: вода и еда нужны в ПЕРВЫЕ ДНИ, а к
500 убийствам у игрока уже есть ферма, костёр, банки и фильтр - мод, дающий +2 воды с
трупа, к этому моменту бесполезен. Теперь порог у мода стоит там, где мод реально нужен,
а не там, где он "по силе" смотрится ровно.
Итоговая раскладка:
30 - Слёзы мертвеца (вода) группа 1 "Адепт"
60 - Пир падальщика (еда) группа 1
100 - Могильный покой (тепло/холод) группа 1
300 - Тёмное чутьё (радар) группа 1
1400 - Хватка мертвеца (замедление) группа 2 "Подмастерье"
1700 - Мёртвая буря (силовая) группа 2
Первые четыре - выживание и информация, они переехали в группу 1 к самому ножу (он там и
доступен с уровня 1). Последние два - чистый бой, остались в группе 2 на прежних порогах:
пользователь про них сказал "дальше уже не так принципиально".
Двигать - тройка "тег в рецепте + RecipeTagUnlocked в progression.xml + unlock_tier в
display_entry", все три должны совпадать, иначе замок на панели соврёт. -->
<!-- Модификации Ножа некроманта (см. Config/item_modifiers.xml), 2026-09-07. Пользователь
выбрал получение через "Крафт по скиллу Некромантии", поэтому все три идут обычными
рецептами с тегом группы, а не через лут.
Пороги у каждого свои, см. комментарий выше - изначально все шесть сидели в группе 2
("Подмастерье", 500 убийств), но 2026-09-09 четыре из них уехали в группу 1 к самому
ножу. Распределение остальных тиров скилла эта правка не трогает - его пользователь уже
правил вручную (см. progression.xml).
Ингредиенты - только из уже существующих ресурсов мода плюс ванильная база, как и просил
("Ингредиенты из уже существующих ресурсов мода"). Прах зомби и Кожа жертвы обе падают
из мешка "Жертва", то есть добываются этим же ножом - моды для ножа делаются из того, что
нож добыл. Крафт личный (без craft_area), как у Камня духов и самого ножа: моды дешевле
призывов и не должны требовать верстак. Тег learnable, как у остальных гейтованных
рецептов мода, чтобы рецепт не светился в меню до открытия группы. -->
<append xpath="/recipes">
<recipe name="necroModKnifeTearsOfTheDead" count="1" tags="learnable,packMuleCrafting,necroNecromancyLvl30">
<ingredient name="resourceZombieAsh" count="10"/>
<ingredient name="resourceVictimSkin" count="1"/>
<ingredient name="drinkJarEmpty" count="2"/>
<ingredient name="resourceYuccaFibers" count="10"/>
</recipe>
<recipe name="necroModKnifeScavengersFeast" count="1" tags="learnable,packMuleCrafting,necroNecromancyLvl60">
<ingredient name="resourceZombieAsh" count="10"/>
<ingredient name="resourceVictimSkin" count="1"/>
<ingredient name="foodRawMeat" count="5"/>
<ingredient name="resourceYuccaFibers" count="10"/>
</recipe>
<recipe name="necroModKnifeDeadMansGrip" count="1" tags="learnable,packMuleCrafting,necroNecromancyLvl1400">
<ingredient name="resourceZombieAsh" count="10"/>
<ingredient name="resourceBone" count="15"/>
<ingredient name="resourceNecromancerBlood" count="1"/>
<ingredient name="resourceYuccaFibers" count="10"/>
</recipe>
<!-- "Могильный покой" (термозащита), добавлен 2026-09-07, порог 100 с 2026-09-09. Тот же
личный крафт, что у остальных модов ножа. Кожа жертвы тут не косметика: мод по смыслу - обмотка
рукояти, поэтому её взято 2 (больше всех), плюс перо как утеплитель - ванильный
resourceFeather, существование проверено. -->
<recipe name="necroModKnifeGravesRepose" count="1" tags="learnable,packMuleCrafting,necroNecromancyLvl100">
<ingredient name="resourceZombieAsh" count="10"/>
<ingredient name="resourceVictimSkin" count="2"/>
<ingredient name="resourceFeather" count="10"/>
<ingredient name="resourceYuccaFibers" count="10"/>
</recipe>
<!-- "Мёртвая буря" (переделка силовой атаки), 2026-09-07. Единственный мод ножа с
электрическими деталями в рецепте - искрение берётся из ванильного buffShocked, того
же, что у электродубинки, так что ингредиент тематически честный. Существование
resourceElectricParts проверено. -->
<!-- "Тёмное чутьё" (радар зомби), 2026-09-07. Глаз мертвеца как линза - отсюда кожа
жертвы и прах. Стекло взято resourceBrokenGlass (обычный лут), а НЕ resourceScopeLens:
та линза крафтится только в кузне и под перком perkAdvancedEngineering, то есть
утащила бы рецепт ножа в зависимость от чужой ветки прокачки. resourceGlass, которое
напрашивалось по названию, в игре не существует вовсе - проверено. -->
<recipe name="necroModKnifeDarkSense" count="1" tags="learnable,packMuleCrafting,necroNecromancyLvl300">
<ingredient name="resourceZombieAsh" count="15"/>
<ingredient name="resourceVictimSkin" count="1"/>
<ingredient name="resourceBrokenGlass" count="10"/>
<ingredient name="resourceYuccaFibers" count="10"/>
</recipe>
<recipe name="necroModKnifeDeadStorm" count="1" tags="learnable,packMuleCrafting,necroNecromancyLvl1700">
<ingredient name="resourceZombieAsh" count="15"/>
<ingredient name="resourceElectricParts" count="5"/>
<ingredient name="resourceNecromancerBlood" count="1"/>
<ingredient name="resourceYuccaFibers" count="10"/>
</recipe>
</append>
</config>