Решили: «Собиратель костей» срабатывает на смерть ЛЮБОГО своего скелета — и поднятого активкой, и выставленного пассивкой «Скелеты-защитники», — а взрыв костяного щита несёт физический подтип Дробящий.

Почему: оба пункта — вердикт Макса, снимающий ограничения, которые я ввела сама. Сужение до призывов одной способности выглядело точным исполнением формулировки «призыв от его активки», но в игре дало бы неотличимые на вид скелеты с разным поведением: «этот даёт кости, а этот нет» читается как дефект, а не как правило. Поле сужения у компонента осталось — оно может понадобиться киту, где два разных призыва должны работать по-разному, — но в контенте пустое.

Подтип у взрыва не передавался вообще без всякой причины: DamageRequest научился нести его в этот же заход (под хрупкость холодной статуи), а вызов в ShieldBurstComponent я просто не дописала. Цена недоделки была не в числах, а в связке: кости, летящие «физикой без подтипа», не попадали в +20% по ледяной статуе, и состав «некромант + крио» молча не работал.

Грабли: такие пропуски не ловятся тестами и не видны в консоли — поле просто остаётся дефолтным. Ловится это чтением ЦЕПОЧКИ: если завёл в контракте новое поле, пройди по всем, кто создаёт этот контракт, а не только по тому, ради кого его заводил.

Владелец правды: ShieldBurstComponent.cs, BoneCollectorComponent.cs, карточка gdd/relics/the-bonewright (§Шаг 5, п. 2).