Крыса: E на зомби рядом переносит дух в него, крыса развеивается
Одержимой крысой E на зомби в прицеле (не дальше 3 м, в прямой видимости, не во время прохода сквозь постройки) - выход из крысы и вселение в зомби; крыса отзывается с чёрным облаком. Цепочки нет: после зомби дух в теле. Подсказка вселения и описание гримуара крысы - 13 языков. ModInfo 1.7.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
70a86e82c1
commit
87f3aaf295
File diff suppressed because one or more lines are too long
@@ -825,6 +825,11 @@ namespace NecromancerTome
|
||||
}
|
||||
if (IsPet && RatModel.Is(z))
|
||||
{
|
||||
// E на зомби в прицеле - дух переходит в него, крыса развеивается (указание 16.10).
|
||||
if (detonate && TryRatJump(world, z))
|
||||
{
|
||||
return;
|
||||
}
|
||||
// E - осмотреть контейнер без права взять (указание 08.10: крыса - разведчик).
|
||||
RatLoot.Tick(world, _player, z, detonate);
|
||||
// ПКМ (держать) - сквозь постройки, без полёта (BACKLOG, «Могильная крыса» п.4).
|
||||
@@ -1524,6 +1529,42 @@ namespace NecromancerTome
|
||||
return best;
|
||||
}
|
||||
|
||||
/// <summary>Перенос духа из крысы в зомби под прицелом (решения 16.10): E, зомби не дальше RatJumpRange от
|
||||
/// крысы и в прямой видимости (GroundAimTarget не видит сквозь стены, во время прохода - не работает);
|
||||
/// цена - как у «пиф-пафа» (никакой). Крыса отзывается и развеивается; цепочки нет - после зомби дух
|
||||
/// вернётся в тело ГГ (Exit). True - E израсходована: перенос сделан или начат.</summary>
|
||||
static bool TryRatJump(World _world, EntityAlive _rat)
|
||||
{
|
||||
if (RatPhase.On)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
EntityAlive victim = GroundAimTarget(_world, _rat);
|
||||
if (victim == null || !CanPossess(victim) ||
|
||||
(victim.position - _rat.position).sqrMagnitude > RatJumpRange * RatJumpRange)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
EntityPlayerLocal player = _player;
|
||||
int ratId = _rat.entityId;
|
||||
Exit("крыса: дух переходит в " + victim.EntityName + " (" + victim.entityId + ")");
|
||||
if (!Enter(player, victim))
|
||||
{
|
||||
Debug.Log("[NecromancerTome] Possession: перенос из крысы не удался - дух в теле, крыса осталась");
|
||||
return true;
|
||||
}
|
||||
if (NecroBurst.EnsureRegistered())
|
||||
{
|
||||
ParticleEffect pe = new ParticleEffect(NecroBurst.ParticleName, _rat.position,
|
||||
_world.GetLightBrightness(_rat.GetBlockPosition()), Color.white, null, null, _OLDCreateColliders: false);
|
||||
GameManager.Instance.SpawnParticleEffectServer(pe, ratId);
|
||||
}
|
||||
Patch_ItemActionSpawnEntity_Spawn_PetLimit.RecallPet(player, ratId, null, null); // без подсказки «отозвана» - её место у подсказки вселения
|
||||
return true;
|
||||
}
|
||||
|
||||
public const float RatJumpRange = 3f;
|
||||
|
||||
public const float GroundAimRange = 30f; // зрение зомби, как TauntRange
|
||||
public const float GroundAimRadius = 0.6f;
|
||||
|
||||
@@ -1678,7 +1719,8 @@ namespace NecromancerTome
|
||||
}
|
||||
if (IsPet && RatModel.Is(_z))
|
||||
{
|
||||
text += ", " + Localization.Get("necroPossessHintLook") + ", " + Localization.Get("necroPossessHintPhase");
|
||||
text += ", " + Localization.Get("necroPossessHintLook") + ", " + Localization.Get("necroPossessHintRatJump") + ", " +
|
||||
Localization.Get("necroPossessHintPhase");
|
||||
}
|
||||
if (IsPet && DogSense.Is(_z))
|
||||
{
|
||||
|
||||
@@ -562,7 +562,7 @@ namespace NecromancerTome
|
||||
{
|
||||
GiveBackSummonItem(owner, summonItemName);
|
||||
}
|
||||
if (world != null)
|
||||
if (world != null && recalledTooltipKey != null) // null - без подсказки (перенос духа крысой, 16.10)
|
||||
{
|
||||
GameManager.ShowTooltip(GameManager.Instance.World.GetPrimaryPlayer(), recalledTooltipKey);
|
||||
}
|
||||
|
||||
+1
-1
@@ -4,6 +4,6 @@
|
||||
<DisplayName value="Necromancer's Tome" />
|
||||
<Description value="A dark necromancy progression for 7 Days to Die 3.3: a skill that grows from the dead you put to rest, a bone knife, undead servants, possession of zombies and beasts, the Snake Spirit, the Mind Palace, the Blood Tide and a story-ending Black Portal. Fully localized into 13 languages. Single-player; requires EAC off." />
|
||||
<Author value="Alex Cube" />
|
||||
<Version value="1.6.0" />
|
||||
<Version value="1.7.0" />
|
||||
<Website value="https://www.alexcube.ru/7-days-to-die-moi-mody/kniga-nekromanta-necromancer-s-tome/" />
|
||||
</xml>
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user