Skip to content

Commit

Permalink
Фикс бага, который только начали абузить (#832)
Browse files Browse the repository at this point in the history
## Описание PR
<!-- Что вы изменили в этом пулл реквесте? -->
Фикс бага, из-за которого вентили блокировали любые взрывы. Обычные всё
ещё блокируют, но создаваемые РРТ - нет

## Почему / Баланс
<!-- Почему оно было изменено? Ссылайтесь на любые обсуждения или
вопросы здесь. Пожалуйста, обсудите, как это повлияет на игровой баланс.
-->
**Ссылка на публикацию в Discord**
<!-- Укажите ссылки на соответствующие обсуждения, проблемы, баги,
заказы в разработку или предложения
- [Технические проблемы](ссылка)
- [Баги](ссылка)
- [Заказы-разработка](ссылка)
- [Предложения](ссылка)
- [Перенос контента](ссылка)-->
-
[Предложка](https://discord.com/channels/901772674865455115/1310573532500987924)

## Техническая информация
<!-- Если речь идет об изменении кода, кратко изложите на высоком уровне
принцип работы нового кода. Это облегчает рецензирование.- -->
Добавлено одно поле в компонент и проверка на него. Всё.

## Медиа
<!--
Пулл реквесты, которые вносят внутриигровые изменения (добавление
одежды, предметов, новых возможностей и т.д.), должны содержать медиа,
демонстрирующие изменения.
Небольшие исправления/рефакторы не требуют медиа.

Если Вы не уверены в том, что Ваш пулл реквест требует медиа, спросите
мейнтейнера.
-->

## Требования
<!--
В связи с наплывом ПР'ов нам необходимо убедиться, что ПР'ы следуют
правильным рекомендациям.

Пожалуйста, уделите время прочтению, если делаете пулл реквест (ПР)
впервые.

Отметьте поля ниже, чтобы подтвердить, что Вы действительно видели их
(поставьте X в скобках, например [X]):
-->
- [ ] Я прочитал(а) и следую [Руководство по созданию пулл
реквестов](https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html).
Я понимаю, что в противном случае мой ПР может быть закрыт по усмотрению
мейнтейнера.
- [ ] Я добавил скриншоты/видео к этому пулл реквесту, демонстрирующие
его изменения в игре, **или** этот пулл реквест не требует демонстрации
в игре

## Критические изменения
<!--
Перечислите все критические изменения, включая изменения пространства
имён, публичных классов/методов/полей, переименования прототипов, и
предоставьте инструкции по их исправлению.
-->

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

Чтобы игроки узнали о новых возможностях и изменениях, которые могут
повлиять на их игру, добавьте запись в журнал изменений.

Не считайте суффикс типа записи (например, add) "частью" предложения:
плохо: - add: новый инструмент для инженеров
хорошо: - add: добавлен новый инструмент для инженеров

Помещение имени после символа 🆑 изменит имя, которое будет
отображаться в журнале изменений (в противном случае будет
использоваться ваше имя пользователя GitHub).
Например: 🆑 AruMoon
-->
<!--
Чтобы шаблон Чейнджлога отображался, уберите его из блока комментариев. 
Чейнджлог должен содержать cl символ, 
чтобы бот распознал изменения и добавил их в журнал изменений игры. 
Используйте ключевые слова add, remove, tweak и fix.
-->
🆑 Котя
- fix: Маленькие вентиляторы, созданные РРТ, больше не блокируют взрывы.
  • Loading branch information
FaDeOkno authored Nov 25, 2024
1 parent cc68c92 commit 1f8afa3
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 3 deletions.
5 changes: 5 additions & 0 deletions Content.Server/Atmos/Components/AirtightComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,10 @@ public sealed partial class AirtightComponent : Component
/// <inheritdoc cref="CurrentAirBlockedDirection"/>
[Access(Other = AccessPermissions.ReadWriteExecute)]
public AtmosDirection AirBlockedDirection => (AtmosDirection)CurrentAirBlockedDirection;

// ADT fan abuse fix start
[DataField]
public bool BlockExplosions { get; set; } = true;
// ADT fan abuse fix start
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ public void UpdateAirtightMap(EntityUid gridId, MapGridComponent grid, Vector2i
{
if (!query.Value.TryGetComponent(uid, out var airtight) || !airtight.AirBlocked)
continue;
if (!airtight.BlockExplosions) // ADT fan abuse fix
continue; // ADT fan abuse fix

blockedDirections |= airtight.AirBlockedDirection;
var entityTolerances = GetExplosionTolerance(uid.Value, damageQuery, destructibleQuery);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ent-ADTAtmosDeviceFanRPD = маленький вентилятор
.desc = Маленький вентилятор, создающий лёгкий поток воздуха.
.suffix = РРТ, Не блокирует взрывы

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
- type: entity
id: ADTAtmosDeviceFanRPD
name: tiny fan
description: A tiny fan, releasing a thin gust of air.
placement:
mode: SnapgridCenter
components:
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Sprite
sprite: Structures/Piping/Atmospherics/tinyfan.rsi
state: icon
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.5,0.5,0.5"
- type: Airtight
noAirWhenFullyAirBlocked: false
blockExplosions: false
- type: Clickable
- type: Tag
tags:
- SpreaderIgnore
# ADT-RPD-Start
- type: RPDDeconstructable
cost: 4
delay: 2
fx: EffectRCDDeconstruct2
# ADT-RPD-End
4 changes: 2 additions & 2 deletions Resources/Prototypes/ADT/Interface/Radial/RPD.yml
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@
category: Devices
sprite: /Textures/ADT/Interface/Radial/RPD/AtmosDeviceFanTiny.png
mode: ConstructObject
prototype: AtmosDeviceFanTiny
prototype: ADTAtmosDeviceFanRPD
cost: 6
delay: 2
collisionMask: FullTileMask
Expand Down Expand Up @@ -622,4 +622,4 @@
collisionMask: FullTileMask
collisionBounds: "-0.23,-0.49,0.23,-0.36"
rotation: User
fx: EffectRCDConstruct2
fx: EffectRCDConstruct2

0 comments on commit 1f8afa3

Please sign in to comment.