Урна устроена как транспорт: на E круговое меню - «Багажник» (своё окно с одной ячейкой под череп), сумка духа 6x2 (хранилище игры), «Починить» (5 костей из рюкзака), показать/скрыть зону 5x5 от -1 до +4, «Поднять» (деталь игры TEFeaturePickup; только с пустой сумкой, череп остаётся внутри - поднятая урна с черепом становится necroCinerariumSkull). Постановка: зоны урн не пересекаются, урн не больше ceil(убийств / 500); реестр урн - файл в папке сейва. Разбитая урна роняет череп. Сохранение - CinerariumWriteHelper, версия первым байтом. Рецепт - конец Адепта (уровень 15). Модель и иконка временные (кастрюля). Тексты - 13 языков. Дух-работник - следующий этап. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
19 lines
839 B
C#
19 lines
839 B
C#
namespace NecromancerTome
|
||
{
|
||
/// <summary>
|
||
/// Запись состояния урны-цинерария (TEFeatureCinerarium, HarmonySrc/Cinerarium.cs). Здесь, а не в
|
||
/// основном проекте, по той же причине, что и PyramidWardWriteHelper: PooledBinaryWriter.Write
|
||
/// оттуда не компилируется (см. NecromancerTEPersistence.csproj). Первым байтом - версия, чтобы
|
||
/// поля урны (дух, его работа) можно было дописывать, не ломая старые сейвы.
|
||
/// </summary>
|
||
public static class CinerariumWriteHelper
|
||
{
|
||
public static void Write(PooledBinaryWriter _bw, byte _version, bool _hasSkull, bool _zoneShown)
|
||
{
|
||
_bw.Write(_version);
|
||
_bw.Write(_hasSkull);
|
||
_bw.Write(_zoneShown);
|
||
}
|
||
}
|
||
}
|