diff --git a/HarmonySrc/PetFollowPatch.cs b/HarmonySrc/PetFollowPatch.cs index e73c140..eb8139a 100644 --- a/HarmonySrc/PetFollowPatch.cs +++ b/HarmonySrc/PetFollowPatch.cs @@ -597,6 +597,13 @@ namespace NecromancerTome continue; } + // Рой из плевка одержимого ранчера держится у одержимого, а не у тела (тест 13.10: телепорт к телу + // за 32 м сразу после плевка). Остальные питомцы охраняют тело. + if (Possession.Active && Possession.Zombie != null && + pet.entityClass == Patch_EntityAlive_SetAttackTarget_SwarmRetarget.SwarmOnlyClassId()) + { + continue; + } float distSq = (pet.position - owner.position).sqrMagnitude; if (distSq > LeashDistanceSq) { diff --git a/HarmonySrc/SummonPatch.cs b/HarmonySrc/SummonPatch.cs index e6afb5a..267d52a 100644 --- a/HarmonySrc/SummonPatch.cs +++ b/HarmonySrc/SummonPatch.cs @@ -743,7 +743,9 @@ namespace NecromancerTome } owner.AddOwnedEntity(__result); - if (petInfo.ConsumesBook && owner.inventory != null) + // Рой из плевка одержимого ранчера - не свиток: без !Possession.Active плевок списывал предмет, который + // держит тело игрока (тест 13.10). + if (petInfo.ConsumesBook && !Possession.Active && owner.inventory != null) { owner.inventory.DecHoldingItem(1); }