Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Static anomaly #1103

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open

Conversation

AnderFan
Copy link
Contributor

@AnderFan AnderFan commented Feb 15, 2025

Описание PR

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

Ссылка на публикацию в Discord

Добавление статической аномалии.
Это аномалия, которая будет вызывать у окружающих её персонажей в радиусе 12 тайлов слабый эффект белого шума (как у кпб после эми), при пульсе она должна создавать объекты со своим спрайтом "Фальшивый телевизор" у которых 75 хп, а так же заставляет людей кричать или плакать(если это вообще реализуемо). При взрыве она оставляет после себя сущность в виде телевизора со спрайтом пульса, который создаёт непроглядный белый шум(как у КПБ сразу после взрыва эми) в радиусе 15 тайлов и имеет 500 здоровья, а так же обескровливает окружающих.

Медиа

image

Требования

  • [ X] Я прочитал(а) и следую Руководство по созданию пулл реквестов. Я понимаю, что в противном случае мой ПР может быть закрыт по усмотрению мейнтейнера.
  • [ X] Я добавил скриншоты/видео к этому пулл реквесту, демонстрирующие его изменения в игре, или этот пулл реквест не требует демонстрации в игре

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

Добавлены компоненты и системы для работы статической аномалии

Чейнджлог

add: добавлена статическая аномалия и её производные: фальшивый телевизор и статический телевизор

@github-actions github-actions bot added size/M Changes: Sprites Изменение спрайтов Changes: Localization Изменение локализации S: Untriaged and removed size/M labels Feb 15, 2025
Copy link
Contributor

github-actions bot commented Feb 15, 2025

RSI Diff Bot; head commit c4c9a08 merging into 0d767e8
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/ADT/Objects/Misc/fakeTV.rsi

State Old New Status
fakeTV Added

Resources/Textures/ADT/Structures/Specific/Anomalies/Cores/static_core.rsi

State Old New Status
core Added
pulse Added

Resources/Textures/ADT/Structures/Specific/Anomalies/static_anum.rsi

State Old New Status
anom Added
pulse Added

Edit: diff updated after c4c9a08

@KashRas2
Copy link
Collaborator

Ты моя умничка

Copy link
Collaborator

@KashRas2 KashRas2 left a comment

Choose a reason for hiding this comment

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

В коде чего-то супер страшного не увидел, поэтому живи.

@@ -22,6 +22,7 @@
- AnomalyFlora
- AnomalyShadow
- AnomalyTech
- ADTAnomalyStatic
Copy link
Collaborator

Choose a reason for hiding this comment

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

Комментарии

@@ -143,6 +143,7 @@
- Adrenaline # ADT-Medicine
- ADTHallucinations # ADT-Tweak
- ADTStarvation # ADT-Tweak
- SeeingStatic
Copy link
Collaborator

Choose a reason for hiding this comment

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

Комментарии

Comment on lines 15 to 30

#ADT
# Nervous
- type: autoEmote
id: NervousCrying
emote: Crying
interval: 15.0
chance: 0.5
withChat: false

- type: autoEmote
id: NervousSream
emote: Scream
interval: 15.0
chance: 0.5
withChat: false
Copy link
Collaborator

Choose a reason for hiding this comment

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

Можно и к нам в файлы

Copy link
Collaborator

@FaDeOkno FaDeOkno left a comment

Choose a reason for hiding this comment

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

Помимо прочего я, хотел добавить еще пару вещей лично

Copy link
Collaborator

Choose a reason for hiding this comment

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

Если оставить так, на всех будет действовать ЭМИ, по крайней мере статика от него

Copy link
Collaborator

Choose a reason for hiding this comment

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

Так вроде статика должна как раз на всех, разве нет?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Так вроде статика должна как раз на всех, разве нет?

От ЭМИ гранат? С чего бы?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Но ведь это не так. Я много раз проверял. Эми всё так же действует только на КПБ

Copy link
Collaborator

Choose a reason for hiding this comment

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

Данная система не учитывает то, что игрок может просто отойти и остаться с компонентом навсегда

Copy link
Contributor Author

@AnderFan AnderFan Feb 15, 2025

Choose a reason for hiding this comment

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

Учитывает

             if (Transform(uid).Coordinates.TryDistance(EntityManager, Transform(ent).Coordinates, out var distance)
                && distance >= comp.NervousRange)
            {
                _autoEmote.RemoveEmote(ent, "NervousSream");
            }

var query = EntityQueryEnumerator<NervousSourceComponent>();
while (query.MoveNext(out var uid, out var comp))
{
foreach (var ent in _lookup.GetEntitiesInRange(uid, comp.NervousRange))
Copy link
Collaborator

Choose a reason for hiding this comment

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

Это будет добавлять компонент всему - людям, стенам, трубам, обсерверам. Нам такого определенно не надо

Copy link
Collaborator

Choose a reason for hiding this comment

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

Зачем делить систему для одной аномалии на две?

Copy link
Collaborator

Choose a reason for hiding this comment

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

А я думал мне показалось

Copy link
Contributor Author

@AnderFan AnderFan Feb 15, 2025

Choose a reason for hiding this comment

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

Потому что аномалия просто немного глушит, а то что она создаёт после взрыва полностью перекрывает экран и ещё отнимает кровь

Copy link
Collaborator

Choose a reason for hiding this comment

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

Это все можно и нужно расположить в одной системе. Нет смысла плодить их

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Подскажи как это реализовать

Copy link
Collaborator

Choose a reason for hiding this comment

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

Перенеси все функции и их регистрации в одну систему просто

Copy link
Collaborator

Choose a reason for hiding this comment

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

Я ближе к вечеру/ночи смогу нормально объяснить, пингани в диск лучше через часа 2-3

Copy link
Contributor Author

@AnderFan AnderFan Feb 15, 2025

Choose a reason for hiding this comment

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

А я не помню какой у тебя ник в дискорде ;(
Просто как вспомнишь/освободишься пингани и я скорректирую

@KashRas2
Copy link
Collaborator

KashRas2 commented Feb 17, 2025

Помимо прочего я, хотел добавить еще пару вещей лично

Это вроде не часть BFUU. Ты решил основательно взяться за заказы Иллюми?

base.Update(frameTime);

//Anomaly
var AnomalyQuery = EntityQueryEnumerator<StaticAnomalyComponent>();
Copy link
Collaborator

Choose a reason for hiding this comment

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

локальные переменные функции должны называться с маленькой буквы

EnsureComp<AutoEmoteComponent>(ent);
_autoEmote.AddEmote(ent, "NervousSream");
if (Transform(uid).Coordinates.TryDistance(EntityManager, Transform(ent).Coordinates, out var distance)
&& distance >= comp.NervousRange)
Copy link
Collaborator

Choose a reason for hiding this comment

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

в игре достаточно способов это сломать, чего только телепорт стоит.
глянь как работает стационарная вспышка, либо добавь список в компонент
(ну или просто не используй автоэмоут систему, а пропиши всю логику тут, ещё лучше будет)

acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 250
Copy link
Collaborator

Choose a reason for hiding this comment

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

  1. Тут два раза прописаны одинаковые триггеры с разным значением
  2. 250 хп - слишком жирно для аномального объекта

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: Localization Изменение локализации Changes: Sprites Изменение спрайтов S: Untriaged size/M
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants