Решили: «Собиратель костей» срабатывает на смерть ЛЮБОГО своего скелета — и поднятого активкой, и
выставленного пассивкой «Скелеты-защитники», — а взрыв костяного щита несёт физический подтип
Дробящий.
Почему: оба пункта — вердикт Макса, снимающий ограничения, которые я ввела сама. Сужение до призывов одной способности выглядело точным исполнением формулировки «призыв от его активки», но в игре дало бы неотличимые на вид скелеты с разным поведением: «этот даёт кости, а этот нет» читается как дефект, а не как правило. Поле сужения у компонента осталось — оно может понадобиться киту, где два разных призыва должны работать по-разному, — но в контенте пустое.
Подтип у взрыва не передавался вообще без всякой причины: DamageRequest научился нести его в этот же
заход (под хрупкость холодной статуи), а вызов в ShieldBurstComponent я просто не дописала. Цена
недоделки была не в числах, а в связке: кости, летящие «физикой без подтипа», не попадали в +20% по
ледяной статуе, и состав «некромант + крио» молча не работал.
Грабли: такие пропуски не ловятся тестами и не видны в консоли — поле просто остаётся дефолтным. Ловится это чтением ЦЕПОЧКИ: если завёл в контракте новое поле, пройди по всем, кто создаёт этот контракт, а не только по тому, ради кого его заводил.
Владелец правды: ShieldBurstComponent.cs, BoneCollectorComponent.cs,
карточка gdd/relics/the-bonewright (§Шаг 5, п. 2).