1.7.0: костяной скакун, книга Духа крысы, турели, расход сфер в оссуарии

- Костяной скакун (necroBoneSteed): мотоцикл из костей, сухожилий и сосудов
  с черепом-циклопом вместо фары; своя модель (бандл necrobonesteed),
  ванильная система предмета-транспорта (necroBoneSteedPlaceable, предпросмотр
  при установке); топливо - кровавая сфера, одна сфера = полный бак; теги
  коллайдеров и шейдер копируются с ванильного мотоцикла; рецепт на верстаке,
  Подмастерье
- Книга Духа крысы: своя модель (бандл necrobooks) - чёрная кожа, светящийся
  узор со скелетом крысы и семиконечной звездой, ржавые уголки, ремешок
- Турели не стреляют по существам мода (питомцы, рой, змея)
- Гео-оссуарий тратит 1/10 прочности сферы на стак вместо целой сферы

В игре не проверено.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
AlexCube
2026-10-01 01:58:18 +03:00
co-authored by Claude Opus 5.5
parent f2dfeed126
commit 11db1116b0
15 changed files with 448 additions and 16 deletions
+32
View File
@@ -0,0 +1,32 @@
using HarmonyLib;
namespace NecromancerTome
{
/// <summary>
/// Турели не стреляют по существам мода. Жалоба 01.10: «мои питомцы враги, их атакуют
/// турели». Питомцы, рой и змея сделаны на зомби-основе и для игры остаются EntityEnemy, а
/// обе турели (стационарная AutoTurretFireController и переносная MiniTurretFireController)
/// решают в shouldIgnoreTarget: EntityEnemy - стрелять, если включено «по зомби». Здесь
/// ответ «пропустить» для всех necro*-сущностей (SnakeControl.IsNecroEntity) - тот же признак,
/// по которому их не выбирает целью охрана.
/// </summary>
[HarmonyPatch(typeof(AutoTurretFireController), nameof(AutoTurretFireController.shouldIgnoreTarget))]
public static class Patch_AutoTurretFireController_shouldIgnoreTarget_Pets
{
public static void Postfix(Entity _target, ref bool __result)
{
if (!__result && _target is EntityAlive alive && SnakeControl.IsNecroEntity(alive))
__result = true;
}
}
[HarmonyPatch(typeof(MiniTurretFireController), nameof(MiniTurretFireController.shouldIgnoreTarget))]
public static class Patch_MiniTurretFireController_shouldIgnoreTarget_Pets
{
public static void Postfix(Entity _target, ref bool __result)
{
if (!__result && _target is EntityAlive alive && SnakeControl.IsNecroEntity(alive))
__result = true;
}
}
}