Skip to content

Commit

Permalink
Blood cough (AdventureTimeSS14#388)
Browse files Browse the repository at this point in the history
<!-- ЭТО ШАБЛОН ВАШЕГО PULL REQUEST. Текст между стрелками - это
комментарии - они не будут видны в PR. -->

## Описание PR
Этот PR вводит систему автоэмоций для сущностей, сигнализирующих о
получении тяжелых повреждений.

Механика:
- Если общая величина урона, полученного сущностью, превышает 70, она
начинает публиковать в чат сообщения, отражающие ее плохое состояние.
- Сообщения и звуки будут специфичны для расы существа. Например, Люди
будут "Кашлять кровью", новакиды будут "кашлять плазмой", а Кпб -
"искрить проводами и жужать" и т.д.
- Будет появляться кровь ну или в зависимости что прописано у существа в
крови при кашле под персонажем.

**Проверки**
<!-- Выполнение всех следующих действий, если это приемлемо для вида
изменений сильно ускорит разбор вашего PR -->
- [x] PR полностью завершён и мне не нужна помощь чтобы его закончить.
- [x] Я внимательно просмотрел все свои изменения и багов в них не
нашёл.
- [x] Я запускал локальный сервер со своими изменениями и всё
протестировал.
- [x] Я добавил скриншот/видео демонстрации PR в игре, **или** этот PR
этого не требует.

**Изменения**
<!--
Здесь вы можете написать список изменений, который будет автоматически
добавлен в игру, когда ваш PR будет принят.

В журнал изменений следует помещать только то, что действительно важно
игрокам.

В списке изменений тип значка не является часть предложения, поэтому
явно указывайте - Добавлен, Удалён, Изменён.
плохо: - add: Новый инструмент для инженеров
хорошо: - add: Добавлен новый инструмент для инженеров

Вы можете указать своё имя после символа 🆑 именно оно будет
отображаться в журнале изменений (иначе будет использоваться ваше имя на
GitHub)
Например: 🆑 Ian

-->

🆑 Шрёдька
- add: Теперь если существо получило тяжелые повреждения, то будут
вызываться особые эмоции которые наглядно покажут о состоянии здоровья.
  • Loading branch information
Schrodinger71 authored Sep 5, 2024
1 parent 619b4d3 commit 1edaff0
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 23 deletions.
27 changes: 10 additions & 17 deletions Content.Server/ADT/BloodCough/BloodCoughSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
using Content.Server.Fluids.EntitySystems;
using Content.Shared.Mobs.Systems;
using Content.Shared.ADT.Silicon.Components;
using Content.Shared.Damage.Prototypes;
using Robust.Shared.Prototypes;


public sealed class BloodCoughSystem : EntitySystem
{
Expand All @@ -19,7 +16,6 @@ public sealed class BloodCoughSystem : EntitySystem
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly PuddleSystem _puddleSystem = default!;
[Dependency] private readonly MobStateSystem _mobState = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;

public override void Initialize()
{
Expand All @@ -31,28 +27,25 @@ private void OnMobStateDamage(EntityUid uid, BloodCoughComponent component, Dama
{
if (EntityManager.TryGetComponent<DamageableComponent>(uid, out var damageable))
{
var damagePerGroup = damageable.Damage.GetDamagePerGroup(_prototypeManager);
if (damagePerGroup.TryGetValue("Brute", out var bruteDamage))
var currentDamage = damageable.TotalDamage;
if (currentDamage > 70)
{
if (bruteDamage > 70)
if (TryComp<BloodCoughComponent>(uid, out var posting))
{
if (TryComp<BloodCoughComponent>(uid, out var posting))
{
posting.CheckCoughBlood = true;
}
posting.CheckCoughBlood = true;
}
if (bruteDamage <= 70)
}
if (currentDamage <= 70)
{
if (TryComp<BloodCoughComponent>(uid, out var posting))
{
if (TryComp<BloodCoughComponent>(uid, out var posting))
{
posting.CheckCoughBlood = false;
}
posting.CheckCoughBlood = false;
}
}
}
else
{
Log.Debug($"Сущность {ToPrettyString(uid)} не имеет компонента DamageableComponent.");
Log.Debug($"Сущность {ToPrettyString(uid)} не имеет компонента BloodCoughComponent.");
}
}

Expand Down
6 changes: 3 additions & 3 deletions Resources/Locale/ru-RU/ADT/Chat/blood-cough-system.ftl
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
blood-cough = Кашляет кровью
blood-cough-ipc = Искрит и раздраженно жужит
blood-cough-novakid = Кашляет плазмой
blood-cough = Кашляет кровью.
blood-cough-ipc = Искрит и раздраженно жужит.
blood-cough-novakid = Кашляет плазмой.
2 changes: 1 addition & 1 deletion Resources/Prototypes/ADT/Voice/speech_emotes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -209,4 +209,4 @@
- раздражённо жужжит.
- раздраженно жужжит
- раздраженно жужжит.
- Искрит и раздраженно жужит # ADT-Tweak-BloodCough
- искрит и раздраженно жужит. # ADT-Tweak-BloodCough
4 changes: 2 additions & 2 deletions Resources/Prototypes/Voice/disease_emotes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
- кашлянул
# Corvax-Localization-End
# Start-ADT-Tweak-AddComp-BloodCough
- Кашляет кровью
- Кашляет плазмой
- Кашляет кровью.
- Кашляет плазмой.
# End-ADT-Tweak-AddComp-BloodCough

- type: emote
Expand Down

0 comments on commit 1edaff0

Please sign in to comment.