Skip to content

Commit

Permalink
Фикс спавна ключей шифрования у КПБ (#238)
Browse files Browse the repository at this point in the history
<!-- ЭТО ШАБЛОН ВАШЕГО PULL REQUEST. Текст между стрелками - это
комментарии - они не будут видны в PR. -->

## Описание PR
<!-- Ниже опишите ваш Pull Request. Что он изменяет? На что еще это
может повлиять? Постарайтесь описать все внесённые вами изменения! -->
Исправил спавн КПБ без ключей шифрования 

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

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

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

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

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

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

-->

🆑 Котя
- fix: Исправлен спавн КПБ без ключей шифрования
  • Loading branch information
FaDeOkno authored Aug 14, 2024
1 parent 26e2a2f commit 0b2d3e5
Showing 1 changed file with 33 additions and 1 deletion.
34 changes: 33 additions & 1 deletion Content.Shared/Station/SharedStationSpawningSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
using Content.Shared.Storage.EntitySystems;
using Robust.Shared.Collections;
using Robust.Shared.Prototypes;
using Content.Shared.Radio.Components; // Parkstation-IPC
using Content.Shared.Containers; // Parkstation-IPC
using Robust.Shared.Containers; // Parkstation-IPC

namespace Content.Shared.Station;

Expand All @@ -18,6 +21,7 @@ public abstract class SharedStationSpawningSystem : EntitySystem
[Dependency] private readonly SharedHandsSystem _handsSystem = default!;
[Dependency] private readonly SharedStorageSystem _storage = default!;
[Dependency] private readonly SharedTransformSystem _xformSystem = default!;
[Dependency] private readonly SharedContainerSystem _container = default!;

private EntityQuery<HandsComponent> _handsQuery;
private EntityQuery<InventoryComponent> _inventoryQuery;
Expand Down Expand Up @@ -111,6 +115,34 @@ public void EquipStartingGear(EntityUid entity, StartingGearPrototype? startingG
}
}

// Parkstation-Ipc-Start
// Pretty much copied from StationSpawningSystem.SpawnStartingGear
if (TryComp<EncryptionKeyHolderComponent>(entity, out var keyHolderComp))
{
var earEquipString = startingGear.GetGear("ears");

if (!string.IsNullOrEmpty(earEquipString))
{
var earEntity = Spawn(earEquipString, Transform(entity).Coordinates);

if (TryComp<EncryptionKeyHolderComponent>(earEntity, out _) && // I had initially wanted this to spawn the headset, and simply move all the keys over, but the headset didn't seem to have any keys in it when spawned...
TryComp<ContainerFillComponent>(earEntity, out var fillComp) &&
fillComp.Containers.TryGetValue(EncryptionKeyHolderComponent.KeyContainerName, out var defaultKeys))
{
_container.CleanContainer(keyHolderComp.KeyContainer);

foreach (var key in defaultKeys)
{
var keyEntity = Spawn(key, Transform(entity).Coordinates);
_container.Insert(keyEntity, keyHolderComp.KeyContainer);
}
}

QueueDel(earEntity);
}
}
// Parkstation-Ipc-End

if (startingGear.Storage.Count > 0)
{
var coords = _xformSystem.GetMapCoordinates(entity);
Expand Down Expand Up @@ -145,4 +177,4 @@ public void EquipStartingGear(EntityUid entity, StartingGearPrototype? startingG
RaiseLocalEvent(entity, ref ev);
}
}
}
}

0 comments on commit 0b2d3e5

Please sign in to comment.