Commit Graph
8 Commits
Author SHA1 Message Date
AlexCubeandClaude Opus 5.5 5e1d30d7d0 Ничейные питомцы чистятся при призыве и отзыве, не по таймеру
Уборка раз в 5 с снята. RemoveOrphans зовут призыв (после записи нового во владение) и отзыв; E с книгой без своего питомца убирает ничейных. Поиск ближайшего ничейного для отзыва убран.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 14:15:29 +03:00
AlexCubeandClaude Opus 5.5 74bd9eb2a1 Ничейные питомцы мода убираются сами
Раз в 5 с (на сервере, через 20 с после появления игрока) питомец нашего вида, которого нет в списке владения ни у одного игрока, удаляется.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 14:13:59 +03:00
AlexCubeandClaude Opus 5.5 2b39efd024 Рой ранчера: не списывает предмет из руки тела и не телепортируется к телу
- CreateEntity: рой из плевка одержимого не тратит предмет, который держит игрок (у свитка ConsumesBook).
- Поводок 32 м не тянет рой к телу, пока идёт одержимость.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 14:02:20 +03:00
AlexCubeandClaude Opus 5.5 beab1640b0 Одержимость питомцев, стервятник-разведчик, метки на карте, череп, глава письма
- Одержимость питомца: ПКМ с книгой - вселиться, E - отозвать (и изнутри питомца),
  пояс скрыт, надпись о враге у тела.
- Одержимый стервятник: полёт, рывок на ЛКМ с 10 м с прямым уроном, звуком и
  кровотечением, обычный прицел краснеет на цели; посадка в позу 0 и взлёт на пробел;
  ПКМ - клич-приманка (паникующая курица, откат 0.5 с); F - питаться трупами и
  блоками-падалью, доеденное исчезает.
- Дух змеи атакует только нежить; фиолетовая метка на карте у змеи и одержимого.
- Череп из красного трупа (этап 1 цинерария); глава книги «Письмо архимага» с видео.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 22:09:28 +03:00
AlexCubeandClaude Opus 5.5 f2dfeed126 1.7.0: охрана питомцами, один питомец за раз, прицел книг, гео-оссуарий
Питомцы:
- охрана хозяина: враг ближе 20 м (в режиме змеи - к телу) атакуется сам,
  поводок 40 м, охраняют все кроме крысы; приказ прицелом охрана не перебивает
- IsFoe исключает существ мода (necro*): питомец выбирал целью себя
- призыв нового спутника отзывает прежнего
- прицел книг призыва - как у арбалета, краснеет на годной цели

Гео-оссуарий (necroGeoOssuary): станция добычи на кровавой сфере
- основа - коллектор росы; в 3 ячейки модов любой из 5 ресурсов
  (камень, уголь, селитра, железо, сланец), 1 сфера = стак 6000 за 5-8 ч
- работает без открытого неба; верстак, Подмастерье (ур. 25)
- своя модель (бандл necroossuary): кости, корни, сосуды, клыки, черепа
  с глазами-углями; шейдер и теги коллайдера берутся у ванильного коллектора

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 00:36:45 +03:00
AlexCubeandClaude Opus 5 98ddcd7bce Добыча «Жертвы» переехала в сам труп: он красится, лежит час и обыскивается
Указание: «зомби после упокоения оставляет свой труп. Можем ли мы подменять
этот труп точно таким же, но с другой текстурой и с функцией мешка жертвы?»

ПОДМЕНЯТЬ НЕ ПРИШЛОСЬ НИЧЕГО. Труп - не отдельная модель, а та же скелетная
модель зомби в позе смерти, так что «такой же, но другой текстуры» делается
перекраской уже лежащего трупа. Ни нового префаба, ни новой сущности.

Три части, каждая на своём ванильном механизме:

  НЕ ИСЧЕЗАЕТ. EntityAlive.timeStayAfterDeath - обычное публичное поле в тиках,
  у зомби 30 секунд, у ванильного мешка 3600. Пишем второе.

  ОБЫСКИВАЕТСЯ. У сущностей своя система команд, отдельная от блочной:
  InitLocalActivationCommands / AllowActivationCommand / OnEntityActivated.
  Объявляем ту же команду "search", что и ванильный мешок (EntityItem), поэтому
  подпись достаётся готовой и локализованной. Список команд кешируется при
  первом обращении - пока зомби жив, - поэтому на смерти он обнуляется.

  ВНУТРИ ЛУТ. Обход сознательный: хранилище живёт внутри EntityLootContainer
  вместе со своим сейвом и сетевой синхронизацией, и приделывать это трупу
  значит трогать сейвы. Поэтому обыск ПРЕВРАЩАЕТ труп в мешок «Жертва».

ПЕРЕКРАСКА ЧЕРЕЗ ТЕКСТУРУ, А НЕ ЧЕРЕЗ _Color. Первая версия не работала вовсе:
у шейдеров Game/Character и Game/Animal/Fur свойства цвета НЕТ (видно в пробе,
которую печатает GhostTraderPatch: "tint property: <none>"). Красится сама
текстура - прогоном через RenderTexture, как обесцвечиваются торговцы, только
вместо сведения к яркости умножение на цвет. Результат кешируется по исходной
текстуре. Если модель на кадре смерти не собрана, труп встаёт в очередь и
докрашивается односекундным тиком.

ПОДСКАЗКА ПРИ НАВЕДЕНИИ - отдельный механизм, и сначала я настроил не тот.
Иконка EntityActivationCommand рисуется в РАДИАЛЬНОМ меню, то есть на зажатии.
А то, что видно при простом наведении, приходит из Entity.GetActivationText(),
и у EntityAlive он для существа возвращает пустую строку. Теперь возвращает то
же, что ванильный лутаемый объект: строку lootTooltipNew со значком клавиши из
разметки [action:...]. Имя берётся у зомби, так что читается «обыскать Арлин».

ОБЫСК НЕ МГНОВЕННЫЙ: три секунды с круговым индикатором (XUiC_Timer, тот же,
что при снятии верстака). Поле activateTime у команды не подошло - по нему игра
дёргает игровое событие из entity_class, а не наш код.

Обычный мешок это не отменяет: бросок вероятности остался как был, и теперь он
печатается в лог целиком (шанс против броска) - чтобы «не повезло» отличалось
от «сломано» без гадания. У ванильного зомби шанс 4%, то есть ноль мешков на
два десятка убийств - исход с вероятностью около 40%.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-18 23:23:15 +03:00
AlexCubeandClaude Opus 5 d97f83e972 ИИ питомцев переписан, добавлен Дух крысы, пороги разнесены по шкале
Работа по указаниям 2026-09-18. В релиз пока не выходит.

НОВЫЙ ПИТОМЕЦ "Дух крысы" (necroRatSpirit), Некромантия 3 (60 убийств):
модель зомбоволка в масштабе 0.28, урон 5, кроличьи звуки. Сам не нападает
никогда, держится справа-сзади в двух блоках, упёршись в препятствие проходит
СКВОЗЬ него и блоков не ломает. Укус замедляет, оставляет метку духа (видна на
компасе, +25% получаемого урона) и рвёт жилу. Обгрызая труп, лечится.

СВОЯ ЗАДАЧА ИИ. Задачи "иди за сущностью" в игре нет вовсе - проверены все 32
типа EAI*. Написана NecroFollowOwnerTask по образцу EAIApproachSpot: сектор
"3-6 часов" от хозяина, FindPath с canBreak:false, проход сквозь препятствие
через Entity.IsStuck. Вешается в рантайме, минуя Type.GetType.

ПРИКАЗ АТАКОВАТЬ. Повторное применение свитка при живом питомце натравливает
его на цель под прицелом: EntityPlayerLocal.HitInfo + ItemActionAttack.
GetEntityFromHit. Торговцы и игроки отсеяны. Нет цели - "Нет цели для атаки".

ЗОМБОЖИВОТНЫЕ ПРИВЕДЕНЫ К ТОМУ ЖЕ ОБРАЗЦУ. Сняты BreakBlock, Territorial,
ApproachSpot, Wander, BlockingTargetTask и поедание трупов; цель они больше не
выбирают сами. Лестница урона 20/35/45/60 плюс расчленение у Пса, Медведя и
Волка. Кровотечение всем, метка и ослабление - только у крысы.

УБИЙСТВА ПИТОМЦЕМ ЗАСЧИТЫВАЮТСЯ ВЛАДЕЛЬЦУ, включая добивание кровотечением.
Префикс на AwardKillXPServer подменяет убийцу владельцем; для смерти от баффа
заведена память укусов, потому что в DamageSource от баффа нет того, кто его
наложил. Зомби под Камнем духов это не задело - решение от 17.09 в силе.

ГРИФ откачен на летающую ветку EntityVulture и переименован в Могильного
стервятника: модель наконец соответствует имени. Держится у игрока сам, через
собственный механизм "дома" (setHomeArea), на время погони дом отвязывается.
Попытка натянуть птичий префаб на наземный класс провалилась и записана - так
делать нельзя.

ПРОЧЕЕ: призрачный вид распространён с торговцев на питомцев (у Пса, Медведя и
Волка выключен по указанию), у Пса светятся фиолетовые глаза, белая иконка
книги снята со всех свитков призыва, "Жуки Властелина" переименованы в "Рой
фараона" на всех 13 языках.

ПОРОГИ: крыса 60, стервятник 500, пёс 1300, медведь 2000, волк 4000.

ИСПРАВЛЕНО ПО ХОДУ ИГРОВЫХ ПРОВЕРОК: питомцы не призывались обычным кликом
(AnimWait требовал удержания), отзыв срабатывал не с первого раза (автомат
состояний ItemActionSpawnEntity), крыса проваливалась сквозь мир (IsStuck
отключает и пол), питомец подбрасывал хозяина (коллайдеры разводились до
появления модели).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-18 20:51:42 +03:00
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