Одержимость: плевок мутанта на E, ошибочный подрыв мутанта убран

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
AlexCube
2026-10-13 11:57:00 +03:00
co-authored by Claude Opus 5.5
parent 37ad57f1bc
commit bbe1b52ea4
5 changed files with 20 additions and 3 deletions
+1
View File
@@ -229,6 +229,7 @@ necroPossessHintThrow,items,Item,,,,"E - lift a boulder, RMB - throw it",,"E - F
necroPossessHintSwarm,items,Item,,,,RMB - spew Pharaoh's beetles,,RMT - Käfer des Pharao ausspeien,RMB: escupir escarabajos del faraón,Clic droit : cracher les scarabées du pharaon,RMB - sputa gli scarabei del faraone,右クリック: ファラオの甲虫を吐く,우클릭 - 파라오의 딱정벌레 뱉기,PPM - wypluj żuki faraona,RMB - cuspir besouros do faraó,ПКМ - изрыгнуть жуков фараона,Sağ tık - firavun böceklerini kus,右键 - 喷出法老甲虫,右鍵 - 噴出法老甲蟲 necroPossessHintSwarm,items,Item,,,,RMB - spew Pharaoh's beetles,,RMT - Käfer des Pharao ausspeien,RMB: escupir escarabajos del faraón,Clic droit : cracher les scarabées du pharaon,RMB - sputa gli scarabei del faraone,右クリック: ファラオの甲虫を吐く,우클릭 - 파라오의 딱정벌레 뱉기,PPM - wypluj żuki faraona,RMB - cuspir besouros do faraó,ПКМ - изрыгнуть жуков фараона,Sağ tık - firavun böceklerini kus,右键 - 喷出法老甲虫,右鍵 - 噴出法老甲蟲
necroPossessHintInvis,items,Item,,,,E - invisibility (a strike breaks it),,E - Unsichtbarkeit (ein Schlag bricht sie),E: invisibilidad (un golpe la rompe),E : invisibilité (un coup la rompt),E - invisibilità (un colpo la spezza),E: 透明化(攻撃すると解ける),E - 투명화 (공격하면 풀림),E - niewidzialność (cios ją przerywa),E - invisibilidade (um golpe a quebra),E - невидимость (удар снимает),E - görünmezlik (vuruş bozar),E - 隐身(攻击会解除),E - 隱身(攻擊會解除) necroPossessHintInvis,items,Item,,,,E - invisibility (a strike breaks it),,E - Unsichtbarkeit (ein Schlag bricht sie),E: invisibilidad (un golpe la rompe),E : invisibilité (un coup la rompt),E - invisibilità (un colpo la spezza),E: 透明化(攻撃すると解ける),E - 투명화 (공격하면 풀림),E - niewidzialność (cios ją przerywa),E - invisibilidade (um golpe a quebra),E - невидимость (удар снимает),E - görünmezlik (vuruş bozar),E - 隐身(攻击会解除),E - 隱身(攻擊會解除)
necroPossessKeyRmb,items,Item,,,,RMB,,RMT,RMB,Clic droit,RMB,右クリック,우클릭,PPM,RMB,ПКМ,Sağ tık,右键,右鍵 necroPossessKeyRmb,items,Item,,,,RMB,,RMT,RMB,Clic droit,RMB,右クリック,우클릭,PPM,RMB,ПКМ,Sağ tık,右键,右鍵
necroPossessHintSpitE,items,Item,,,,E - spit around you,,E - um sich speien,E: escupir a tu alrededor,E : cracher autour de soi,E - sputa tutto intorno,E: 周囲に吐きかける,E - 주변에 침 뱉기,E - pluj wokół siebie,E - cuspir ao redor,E - плевок вокруг себя,E - etrafına tükür,E - 向四周喷吐,E - 向四周噴吐
necroPossessHintZoom,items,Item,,,,RMB (hold) - keen eye: zoom like a scope,,RMT (halten) - scharfes Auge: Zoom wie ein Zielfernrohr,"RMB (mantener): ojo avizor, zoom como una mira","Clic droit (maintenir) : œil perçant, zoom comme une lunette",RMB (tieni premuto) - occhio acuto: zoom come un mirino,右クリック(長押し): 鋭い目・スコープのようにズーム,우클릭(누르기) - 매의 눈: 조준경처럼 확대,PPM (przytrzymaj) - bystre oko: przybliżenie jak luneta,RMB (segurar) - olho aguçado: zoom como uma luneta,"ПКМ (удерживать) - зоркий глаз: приближение, как у прицела",Sağ tık (basılı tut) - keskin göz: dürbün gibi yakınlaştır,右键(按住)- 锐眼:像瞄准镜一样放大,右鍵(按住)- 銳眼:像瞄準鏡一樣放大 necroPossessHintZoom,items,Item,,,,RMB (hold) - keen eye: zoom like a scope,,RMT (halten) - scharfes Auge: Zoom wie ein Zielfernrohr,"RMB (mantener): ojo avizor, zoom como una mira","Clic droit (maintenir) : œil perçant, zoom comme une lunette",RMB (tieni premuto) - occhio acuto: zoom come un mirino,右クリック(長押し): 鋭い目・スコープのようにズーム,우클릭(누르기) - 매의 눈: 조준경처럼 확대,PPM (przytrzymaj) - bystre oko: przybliżenie jak luneta,RMB (segurar) - olho aguçado: zoom como uma luneta,"ПКМ (удерживать) - зоркий глаз: приближение, как у прицела",Sağ tık (basılı tut) - keskin göz: dürbün gibi yakınlaştır,右键(按住)- 锐眼:像瞄准镜一样放大,右鍵(按住)- 銳眼:像瞄準鏡一樣放大
necroPossessHintLeap,items,Item,,,,Space - long leap,,Leertaste - weiter Sprung,Espacio: salto largo,Espace : grand bond,Spazio - balzo lungo,スペース: 大ジャンプ,스페이스 - 멀리뛰기,Spacja - daleki skok,Espaço - salto longo,Пробел - дальний прыжок,Boşluk - uzun sıçrayış,空格 - 远跳,空白鍵 - 遠跳 necroPossessHintLeap,items,Item,,,,Space - long leap,,Leertaste - weiter Sprung,Espacio: salto largo,Espace : grand bond,Spazio - balzo lungo,スペース: 大ジャンプ,스페이스 - 멀리뛰기,Spacja - daleki skok,Espaço - salto longo,Пробел - дальний прыжок,Boşluk - uzun sıçrayış,空格 - 远跳,空白鍵 - 遠跳
necroPetRecallHint,items,Item,,,,Recall pet - E,,Diener zurückrufen - E,Devolver al sirviente - E,Rappeler le serviteur - E,Richiama il servitore - E,僕を呼び戻す - E,종복 불러들이기 - E,Odwołaj sługę - E,Chamar o servo de volta - E,Отозвать питомца - E,Hizmetkârı geri çağır - E,召回仆从 - E,召回僕從 - E necroPetRecallHint,items,Item,,,,Recall pet - E,,Diener zurückrufen - E,Devolver al sirviente - E,Rappeler le serviteur - E,Richiama il servitore - E,僕を呼び戻す - E,종복 불러들이기 - E,Odwołaj sługę - E,Chamar o servo de volta - E,Отозвать питомца - E,Hizmetkârı geri çağır - E,召回仆从 - E,召回僕從 - E
1 Key File Type UsedInMainMenu NoTranslate KeepLoaded english Context / Alternate Text german spanish french italian japanese koreana polish brazilian russian turkish schinese tchinese
229 necroPossessHintSwarm items Item RMB - spew Pharaoh's beetles RMT - Käfer des Pharao ausspeien RMB: escupir escarabajos del faraón Clic droit : cracher les scarabées du pharaon RMB - sputa gli scarabei del faraone 右クリック: ファラオの甲虫を吐く 우클릭 - 파라오의 딱정벌레 뱉기 PPM - wypluj żuki faraona RMB - cuspir besouros do faraó ПКМ - изрыгнуть жуков фараона Sağ tık - firavun böceklerini kus 右键 - 喷出法老甲虫 右鍵 - 噴出法老甲蟲
230 necroPossessHintInvis items Item E - invisibility (a strike breaks it) E - Unsichtbarkeit (ein Schlag bricht sie) E: invisibilidad (un golpe la rompe) E : invisibilité (un coup la rompt) E - invisibilità (un colpo la spezza) E: 透明化(攻撃すると解ける) E - 투명화 (공격하면 풀림) E - niewidzialność (cios ją przerywa) E - invisibilidade (um golpe a quebra) E - невидимость (удар снимает) E - görünmezlik (vuruş bozar) E - 隐身(攻击会解除) E - 隱身(攻擊會解除)
231 necroPossessKeyRmb items Item RMB RMT RMB Clic droit RMB 右クリック 우클릭 PPM RMB ПКМ Sağ tık 右键 右鍵
232 necroPossessHintSpitE items Item E - spit around you E - um sich speien E: escupir a tu alrededor E : cracher autour de soi E - sputa tutto intorno E: 周囲に吐きかける E - 주변에 침 뱉기 E - pluj wokół siebie E - cuspir ao redor E - плевок вокруг себя E - etrafına tükür E - 向四周喷吐 E - 向四周噴吐
233 necroPossessHintZoom items Item RMB (hold) - keen eye: zoom like a scope RMT (halten) - scharfes Auge: Zoom wie ein Zielfernrohr RMB (mantener): ojo avizor, zoom como una mira Clic droit (maintenir) : œil perçant, zoom comme une lunette RMB (tieni premuto) - occhio acuto: zoom come un mirino 右クリック(長押し): 鋭い目・スコープのようにズーム 우클릭(누르기) - 매의 눈: 조준경처럼 확대 PPM (przytrzymaj) - bystre oko: przybliżenie jak luneta RMB (segurar) - olho aguçado: zoom como uma luneta ПКМ (удерживать) - зоркий глаз: приближение, как у прицела Sağ tık (basılı tut) - keskin göz: dürbün gibi yakınlaştır 右键(按住)- 锐眼:像瞄准镜一样放大 右鍵(按住)- 銳眼:像瞄準鏡一樣放大
234 necroPossessHintLeap items Item Space - long leap Leertaste - weiter Sprung Espacio: salto largo Espace : grand bond Spazio - balzo lungo スペース: 大ジャンプ 스페이스 - 멀리뛰기 Spacja - daleki skok Espaço - salto longo Пробел - дальний прыжок Boşluk - uzun sıçrayış 空格 - 远跳 空白鍵 - 遠跳
235 necroPetRecallHint items Item Recall pet - E Diener zurückrufen - E Devolver al sirviente - E Rappeler le serviteur - E Richiama il servitore - E 僕を呼び戻す - E 종복 불러들이기 - E Odwołaj sługę - E Chamar o servo de volta - E Отозвать питомца - E Hizmetkârı geri çağır - E 召回仆从 - E 召回僕從 - E
+12 -2
View File
@@ -562,7 +562,8 @@ namespace NecromancerTome
Crouching = input != null && !gui && (input.Crouch.IsPressed || _crouchToggled); Crouching = input != null && !gui && (input.Crouch.IsPressed || _crouchToggled);
// E у питомца больше не отзыв (указание 08.10: «R - всегда вернуться в тело у всех одержимых, // E у питомца больше не отзыв (указание 08.10: «R - всегда вернуться в тело у всех одержимых,
// E - для других целей»). Отозвать питомца - E с книгой в руке, уже из тела. // 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); Debug.Log("[NecromancerTome] Possession: подрыв " + z.EntityName);
cop.HandlePrimingDetonator(); cop.HandlePrimingDetonator();
@@ -590,6 +591,9 @@ namespace NecromancerTome
PossessionPowers.Scream(_player, z); PossessionPowers.Scream(_player, z);
} }
break; break;
case PossessionPowers.Kind.Mutant:
Ranged(z, detonate, detonate); // E - плевок веером вокруг себя (указание 13.10)
break;
default: default:
Ranged(z, ranged, rangedHeld); Ranged(z, ranged, rangedHeld);
break; break;
@@ -1423,6 +1427,9 @@ namespace NecromancerTome
case PossessionPowers.Kind.Screamer: case PossessionPowers.Kind.Screamer:
text += ", " + Localization.Get("necroPossessHintScream"); text += ", " + Localization.Get("necroPossessHintScream");
break; break;
case PossessionPowers.Kind.Mutant:
text += ", " + Localization.Get("necroPossessHintSpitE");
break;
default: default:
if (_hasRanged) if (_hasRanged)
{ {
@@ -1465,7 +1472,7 @@ namespace NecromancerTome
{ {
text += ", " + Localization.Get("necroPossessHintLeap"); text += ", " + Localization.Get("necroPossessHintLeap");
} }
if (_z is EntityZombieCop) if (_z is EntityZombieCop && PossessionPowers.Current != PossessionPowers.Kind.Mutant)
{ {
text += ", " + Localization.Get("necroPossessHintDetonate"); text += ", " + Localization.Get("necroPossessHintDetonate");
} }
@@ -1756,6 +1763,9 @@ namespace NecromancerTome
case PossessionPowers.Kind.Screamer: case PossessionPowers.Kind.Screamer:
_out[n++] = new Cooldown { Rmb = false, Left = PossessionPowers.HordeCooldownLeft, Total = PossessionPowers.HordeCooldown }; _out[n++] = new Cooldown { Rmb = false, Left = PossessionPowers.HordeCooldownLeft, Total = PossessionPowers.HordeCooldown };
break; break;
case PossessionPowers.Kind.Mutant:
_out[n++] = new Cooldown { Rmb = false, Left = Mathf.Max(0f, _rNext - now), Total = _rCooldown };
break;
default: default:
if (_hasRanged) if (_hasRanged)
{ {
+7 -1
View File
@@ -14,13 +14,15 @@ namespace NecromancerTome
/// не видят и бросают погоню, модель полупрозрачна; удар или плевок её снимают. /// не видят и бросают погоню, модель полупрозрачна; удар или плевок её снимают.
/// Крикунья: E - крик зовёт орду разведчиков по стадии игры (как в игре, ScoutGSList), и вся орда сразу под /// Крикунья: E - крик зовёт орду разведчиков по стадии игры (как в игре, ScoutGSList), и вся орда сразу под
/// девиацией. Чужих зомби крик больше не стягивает (решение 13.10). /// девиацией. Чужих зомби крик больше не стягивает (решение 13.10).
/// Мутант: E - его плевок веером вокруг себя (был на ПКМ). Подрыва у него нет: он EntityZombieCop, но в игре
/// не взрывается (ExplodeHealthThreshold 0), а E подрывал его по ошибке.
/// Откаты видны в PossessionHud (там, где полоска выносливости игрока). /// Откаты видны в PossessionHud (там, где полоска выносливости игрока).
/// ///
/// ПАМЯТЬ. Только числа и очередь id классов орды; ссылок на сущности нет. Очередь чистится при выходе из мира. /// ПАМЯТЬ. Только числа и очередь id классов орды; ссылок на сущности нет. Очередь чистится при выходе из мира.
/// </summary> /// </summary>
public static class PossessionPowers public static class PossessionPowers
{ {
public enum Kind { None, Thrower, Rancher, Screamer } public enum Kind { None, Thrower, Rancher, Screamer, Mutant }
public static Kind Current; public static Kind Current;
public const float InvisTime = 15f, InvisCooldown = 30f; public const float InvisTime = 15f, InvisCooldown = 30f;
@@ -68,6 +70,10 @@ namespace NecromancerTome
{ {
return Kind.Screamer; return Kind.Screamer;
} }
if (n.StartsWith("zombieMutated"))
{
return Kind.Mutant;
}
return Kind.None; return Kind.None;
} }
Binary file not shown.
Binary file not shown.