Режим змеи: леденящий ужас, Стиратель, радиация без таймера

- Радиация: проверка раз в 2 с, в поясе змея сразу развеивается (таймер 30 с убран).
- Леденящий ужас: учуянные змеёй зомби (30 м) бегут, ломая препятствия;
  очередь испуга, отметка места змеи для поиска пути, выключен в кровавую луну.
  «Шум» (зомби шли к змее) удалён. Диагностика бегства в логе пока оставлена.
- Стиратель (zombieEraser): в орде игрока-змеи с шансом 0.5; взрывается на любой
  атаке и при разрыве змеёй, отбрасывает змею; тело - чёрный разрыв. Вид: своя
  раскраска на модели гавайца (Resources/Eraser), свечение маджента, звуки спайдера.
- Фиолетовая змея на карте (necroSnakeSpirit).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
AlexCube
2026-10-03 00:32:20 +03:00
co-authored by Claude Opus 5.5
parent 6ded684d2c
commit c828202c66
12 changed files with 662 additions and 85 deletions
+9 -1
View File
@@ -77,6 +77,9 @@ namespace NecromancerTome
/// светятся сильнее обычного; плотнее и крупнее, чем у девиантов.</summary>
public static readonly GlowConfig SnakeSightGlow = new GlowConfig { Tint = new Color(1.1f, 1.5f, 0.15f), SizeFactor = 0.4f, AlphaFactor = 1f, DensityFactor = 3f };
public const string SnakeSightBuffName = "buffNecroSnakeSight";
/// <summary>«Стиратель» (02.10): маджента - этим цветом зомби больше никто не светится.</summary>
public static readonly GlowConfig EraserGlow = new GlowConfig { Tint = new Color(1f, 0.1f, 0.65f), SizeFactor = 0.4f, AlphaFactor = 1f, DensityFactor = 3f };
public const string EraserBuffName = "buffNecroEraser";
public static readonly GlowConfig PortalChannelGlow = new GlowConfig { Tint = new Color(0.1f, 0.85f, 0.8f), SizeFactor = 0.9f, AlphaFactor = 0.9f, DensityFactor = 5f };
public static void Postfix(MinEventActionAttachParticleEffectToEntity __instance, MinEventParams _params)
@@ -97,7 +100,8 @@ namespace NecromancerTome
bool isVictim = entity.Buffs.HasBuff(Patch_EntityAlive_dropItemOnDeath_VictimBag.VictimBuffName);
bool isCharm = entity.Buffs.HasBuff(Patch_EntityBuffs_AddBuff_DeviatorCharm.CharmBuffName);
bool isSnakeSight = entity.Buffs.HasBuff(SnakeSightBuffName);
if (!isPortalChannel && !isVictim && !isCharm && !isSnakeSight)
bool isEraser = entity.Buffs.HasBuff(EraserBuffName);
if (!isPortalChannel && !isVictim && !isCharm && !isSnakeSight && !isEraser)
{
return;
}
@@ -109,6 +113,10 @@ namespace NecromancerTome
{
config = PortalChannelGlow;
}
else if (isEraser)
{
config = EraserGlow;
}
else if (isSnakeSight)
{
config = SnakeSightGlow;