Одержимость: плевок мутанта на E, ошибочный подрыв мутанта убран
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
37ad57f1bc
commit
bbe1b52ea4
@@ -562,7 +562,8 @@ namespace NecromancerTome
|
||||
Crouching = input != null && !gui && (input.Crouch.IsPressed || _crouchToggled);
|
||||
// E у питомца больше не отзыв (указание 08.10: «R - всегда вернуться в тело у всех одержимых,
|
||||
// E - для других целей»). Отозвать питомца - E с книгой в руке, уже из тела.
|
||||
if (detonate && z is EntityZombieCop cop && !cop.isPrimed)
|
||||
// Мутант тоже EntityZombieCop, но в игре не взрывается (ExplodeHealthThreshold 0) - у него E плевок.
|
||||
if (detonate && z is EntityZombieCop cop && !cop.isPrimed && PossessionPowers.Current != PossessionPowers.Kind.Mutant)
|
||||
{
|
||||
Debug.Log("[NecromancerTome] Possession: подрыв " + z.EntityName);
|
||||
cop.HandlePrimingDetonator();
|
||||
@@ -590,6 +591,9 @@ namespace NecromancerTome
|
||||
PossessionPowers.Scream(_player, z);
|
||||
}
|
||||
break;
|
||||
case PossessionPowers.Kind.Mutant:
|
||||
Ranged(z, detonate, detonate); // E - плевок веером вокруг себя (указание 13.10)
|
||||
break;
|
||||
default:
|
||||
Ranged(z, ranged, rangedHeld);
|
||||
break;
|
||||
@@ -1423,6 +1427,9 @@ namespace NecromancerTome
|
||||
case PossessionPowers.Kind.Screamer:
|
||||
text += ", " + Localization.Get("necroPossessHintScream");
|
||||
break;
|
||||
case PossessionPowers.Kind.Mutant:
|
||||
text += ", " + Localization.Get("necroPossessHintSpitE");
|
||||
break;
|
||||
default:
|
||||
if (_hasRanged)
|
||||
{
|
||||
@@ -1465,7 +1472,7 @@ namespace NecromancerTome
|
||||
{
|
||||
text += ", " + Localization.Get("necroPossessHintLeap");
|
||||
}
|
||||
if (_z is EntityZombieCop)
|
||||
if (_z is EntityZombieCop && PossessionPowers.Current != PossessionPowers.Kind.Mutant)
|
||||
{
|
||||
text += ", " + Localization.Get("necroPossessHintDetonate");
|
||||
}
|
||||
@@ -1756,6 +1763,9 @@ namespace NecromancerTome
|
||||
case PossessionPowers.Kind.Screamer:
|
||||
_out[n++] = new Cooldown { Rmb = false, Left = PossessionPowers.HordeCooldownLeft, Total = PossessionPowers.HordeCooldown };
|
||||
break;
|
||||
case PossessionPowers.Kind.Mutant:
|
||||
_out[n++] = new Cooldown { Rmb = false, Left = Mathf.Max(0f, _rNext - now), Total = _rCooldown };
|
||||
break;
|
||||
default:
|
||||
if (_hasRanged)
|
||||
{
|
||||
|
||||
@@ -14,13 +14,15 @@ namespace NecromancerTome
|
||||
/// не видят и бросают погоню, модель полупрозрачна; удар или плевок её снимают.
|
||||
/// Крикунья: E - крик зовёт орду разведчиков по стадии игры (как в игре, ScoutGSList), и вся орда сразу под
|
||||
/// девиацией. Чужих зомби крик больше не стягивает (решение 13.10).
|
||||
/// Мутант: E - его плевок веером вокруг себя (был на ПКМ). Подрыва у него нет: он EntityZombieCop, но в игре
|
||||
/// не взрывается (ExplodeHealthThreshold 0), а E подрывал его по ошибке.
|
||||
/// Откаты видны в PossessionHud (там, где полоска выносливости игрока).
|
||||
///
|
||||
/// ПАМЯТЬ. Только числа и очередь id классов орды; ссылок на сущности нет. Очередь чистится при выходе из мира.
|
||||
/// </summary>
|
||||
public static class PossessionPowers
|
||||
{
|
||||
public enum Kind { None, Thrower, Rancher, Screamer }
|
||||
public enum Kind { None, Thrower, Rancher, Screamer, Mutant }
|
||||
public static Kind Current;
|
||||
|
||||
public const float InvisTime = 15f, InvisCooldown = 30f;
|
||||
@@ -68,6 +70,10 @@ namespace NecromancerTome
|
||||
{
|
||||
return Kind.Screamer;
|
||||
}
|
||||
if (n.StartsWith("zombieMutated"))
|
||||
{
|
||||
return Kind.Mutant;
|
||||
}
|
||||
return Kind.None;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user