Обыск больше не превращает труп в мешок. Труп получает сумку со списком добычи zPackVictim и открывается игровым путём (LockRequestLocal -> LootBagOpened -> окно добычи с игровым таймером обыска). Запрет открывать мёртвых у EntityAlive снят префиксами только для таких трупов. Открытый и не опустошённый труп лежит час, опустошённый убирается сразу. После загрузки труп узнаётся по сохранённой сумке (баффы зомби в сейв не пишутся). LockRequestLocal вызывается из TEPersistence (перегрузка с ReadOnlySpan не компилируется в основном проекте). Класс EntityLootContainerVictim оставлен ради старых сейвов. Описание ножа исправлено на всех языках, README - текущее описание. Проверено в игре на 3.3: открытие, таймер, уборка опустошённых, восстановление после загрузки. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
44 lines
3.0 KiB
XML
44 lines
3.0 KiB
XML
<config>
|
||
<!-- "Жертва" (Victim) loot - BACKLOG.md item 5, Necromancer's Knife. С 1.5.0 это список
|
||
добычи САМОГО ТРУПА зомби, умершего с buffNecroVictim: труп получает сумку с этим
|
||
списком и открывается как ящик (HarmonySrc/CorpseLootPatch.cs, CorpseLoot.VictimLootList).
|
||
До 1.5.0 список наполнял мешок EntityLootContainerVictim, который появлялся при обыске.
|
||
|
||
Contents per user: random hides (usually one or none), rotten flesh, bones, and a chance
|
||
at "Кожа жертвы" (resourceVictimSkin, items.xml) - a crafting resource for summon books.
|
||
Exact counts/chance are a guess where the user didn't give numbers - count="0,1" for the
|
||
hide reads as "как правило одна или ноль" directly; flesh/bone ranges and the 15% skin
|
||
chance are otherwise reasonable defaults, not specified. Say if any of these should change.
|
||
|
||
UPDATED 2026-08-29 (BACKLOG.md item 8, dictated same day): foodRottingFlesh/resourceBone
|
||
removed per direct instruction - the mesh no longer drops the two generic zombie-corpse
|
||
staples. Replaced with a random chance at resourceZombieAsh ("Прах зомби") instead, a new
|
||
crafting resource fed into the other necromancy recipes (see recipes.xml - deliberately
|
||
NOT the Knife's own recipe, to avoid a craft-the-knife-to-get-ash-to-craft-the-knife loop).
|
||
Chance/count not specified by the user - guessed at the same shape as resourceVictimSkin's
|
||
own 15% (bumped the count up a little since ash is meant to actually get used as a
|
||
multi-unit crafting ingredient, unlike the skin). Say if this should change.
|
||
|
||
BUG FIXED 2026-08-28 (whole file failed to load, so NONE of this was active in-game -
|
||
"Loading and parsing 'loot.xml' failed" / "lootgroup 'groupZpackVictim' does not exist or
|
||
has not been defined before being referenced"): the lootgroup a lootcontainer's <item
|
||
group="..."/> points at must be defined EARLIER in load order, same file or not - vanilla
|
||
loot.xml itself always defines groupZpackReg etc. (~line 6589) well before the
|
||
lootcontainer that references it (~line 9971). Originally had the container's <append>
|
||
block first and the group's second; swapped so the group append comes first. Keep this
|
||
append-order intact when editing below - it's what makes the file load at all. -->
|
||
<append xpath="/lootcontainers">
|
||
<lootgroup name="groupZpackVictim" count="all">
|
||
<item name="resourceLeather" count="0,1"/>
|
||
<item name="resourceZombieAsh" count="1,4" prob="0.4"/>
|
||
<item name="resourceVictimSkin" count="1" prob="0.15"/>
|
||
</lootgroup>
|
||
</append>
|
||
|
||
<append xpath="/lootcontainers">
|
||
<lootcontainer name="zPackVictim" count="1" size="6,3" sound_open="UseActions/open_backpack" sound_close="UseActions/close_backpack" open_time="1" loot_quality_template="qualBaseTemplate">
|
||
<item group="groupZpackVictim"/>
|
||
</lootcontainer>
|
||
</append>
|
||
</config>
|