Skip to content

Conversation

@AndrewFenriz
Copy link
Collaborator

Описание PR

Переработал рул зомби: Теперь он не вызывает эвак при 70% заражённых, а вызывает РХБЗЗ.
70% экипажа заражены -> Оповещение от ЦК -> 3 минуты ожидания -> Код "Сьерра" -> 7 минут ожидания -> Спавн РХБЗЗ
Для РХБЗЗ сделан отдельный шаттл (спасибо Dai_Suda), ему добавлен геймрул. Старый шаттл РХБЗЗ слишком фу и давно планировался под замену.

Почему / Зачем / Баланс

Всем надоело раздражающее оповещение "станцию захватили зомби, вот вам эвак". Так лучше, автоматизация всегда хорошо. На баланс не влияет

Технические детали

Из кода затронут только Content.Server/GameTicking/Rules/ZombieRuleSystem.cs
Автоконец и прочий неиспользуемый код закомментирован, нововедения отмечены // DS14

Медиа

Content Client_SD5e9pFtOu Content Client_H8yy4x248P image

Требования

  • PR полностью завершён и мне не нужна помощь чтобы его закончить.
  • Я внимательно просмотрел все свои изменения и багов в них не нашёл.
  • Я запускал локальный сервер со своими изменениями и всё протестировал.
  • Я добавил скриншот/видео демонстрации PR в игре, или этот PR этого не требует.

Критические изменения

Нет?

Список изменений
🆑

  • tweak: Режим зомби был изменён: Теперь вместо вызова эвакуации при заражении 70% будет происходить вызов РХБЗЗ. Через 3 минуты после вызова будет установлен код "Сьерра". Через 10 минут после вызова - появится шаттл РХБЗЗ.
@github-actions github-actions bot added S: Needs Review Статус: PR ждёт ревью от разработчика. size/XL PR изменяет 5000+ строк. Changes: Map Изменение затронуло файлы ".yml" в неймспейсе "Maps". Changes: Localization Изменение затронуло файлы ".ftl". Changes: C# Изменение затронуло файлы ".cs". labels Sep 29, 2025
@qrtDaniil
Copy link

Хотим ли мы вообще делать так что режимы будут скатываться в рутину не зависящую от игроков когда всё автоматизировано, командованию не нужно вызывать РХБЗЗ и так далее?

@smiler009
Copy link

Честно говоря я против. Я против изначально всё видящих сенсоров центкома которые фиксируют заражение большого количества экипажа. Но не фиксируют в таком случае яо. Я за то что бы антаги типо зомби или пауков могли победить ,а не магические сенсоры ЦК

@AndrewFenriz
Copy link
Collaborator Author

Хотим ли мы вообще делать так что режимы будут скатываться в рутину не завися��ую от игроков когда всё автоматизировано, командованию не нужно вызывать РХБЗЗ и так далее?

Сейчас так и происходит. Зомби заражают с одного укуса и довольно быстро вылазит плашка "Все заражены, вот вам эвак". Я просто убираю неудобный момент с постоянным отзывом эвакуации и делаю удобный и предсказуемый РХБЗЗ

В целом автоматизация это здорово, когда админы не могут определиться с тем, кто делает рхбзз, когда делать и тд

@KloopRE KloopRE added S: Awaiting Changes Статус: Требуются изменения перед тем, как можно будет провести повторное ревью. and removed S: Needs Review Статус: PR ждёт ревью от разработчика. labels Nov 2, 2025
@AndrewFenriz AndrewFenriz added S: Needs Review Статус: PR ждёт ревью от разработчика. and removed S: Awaiting Changes Статус: Требуются изменения перед тем, как можно будет провести повторное ревью. labels Nov 9, 2025
@AndrewFenriz AndrewFenriz requested a review from KloopRE November 9, 2025 17:54
Copy link
Collaborator

@KloopRE KloopRE left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

com


protected override void ActiveTick(EntityUid uid, ZombieRuleComponent component, GameRuleComponent gameRule, float frameTime)
{
base.ActiveTick(uid, component, gameRule, frameTime);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Зачем?

base.Started(uid, component, gameRule, args);

component.NextRoundEndCheck = _timing.CurTime + component.EndCheckDelay;
_currentStage = ZombieEventStage.None; // DS14
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Зачем?

case ZombieEventStage.None:
if (fraction >= component.ZombieShuttleCallPercentage)
{
foreach (var station in _station.GetStations())
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Зачем применять логику к станциям на которых нет зомби?


// DS14-start
private ZombieEventStage _currentStage = ZombieEventStage.None;
private TimeSpan _timeUtilNextStage;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Until

@KloopRE KloopRE added S: Awaiting Changes Статус: Требуются изменения перед тем, как можно будет провести повторное ревью. and removed S: Needs Review Статус: PR ждёт ревью от разработчика. labels Nov 10, 2025
@KloopRE
Copy link
Collaborator

KloopRE commented Nov 13, 2025

Считаю, что автоматизация зомби не нужна, ибо автоматизация некро и пауков делалась потому что нельзя вызвать авто обр. ОПНУ и ОППУ. Режимы требуют чёткого времени для вызова обр., вызвать рано = без шансов для антагонистов, поздно = затягивание раунда.
Тут же просто попытка затянуть раунд после заражения всего экипажа? Зачем вы так делаете? Почему не взять задумку офов и закончить раунд победой зомби?

@AndrewFenriz
Copy link
Collaborator Author

Тут же просто попытка затянуть раунд после заражения всего экипажа? Зачем в�� так делаете? Почему не взять задумку офов и закончить раунд победой зомби?

Это будет происходить в любом случае. Концепция оффов "ну вот короче вам эвак если уж заразили" - провальная и всё равно тупо отзывается. Я вижу два пути - удаление автоэвака и автоматизация РХБЗЗ. Второе упростит жизнь, да и даст немножко геймплея, ибо зомби сейчас сильные

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changes: C# Изменение затронуло файлы ".cs". Changes: Localization Изменение затронуло файлы ".ftl". Changes: Map Изменение затронуло файлы ".yml" в неймспейсе "Maps". S: Awaiting Changes Статус: Требуются изменения перед тем, как можно будет провести повторное ревью. size/XL PR изменяет 5000+ строк.

4 participants