Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
TheShuEd committed Jun 25, 2024
1 parent c97d3ad commit 5c91777
Show file tree
Hide file tree
Showing 7 changed files with 56 additions and 49 deletions.
43 changes: 24 additions & 19 deletions Content.Server/Corvax/StationGoal/StationGoalPaperSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,35 +26,40 @@ public sealed class StationGoalPaperSystem : EntitySystem
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<StationGoalComponent ,MapInitEvent>(OnMapInit);
SubscribeLocalEvent<RoundStartingEvent>(OnRoundStarting);
}

private void OnMapInit(Entity<StationGoalComponent> station, ref MapInitEvent args)
private void OnRoundStarting(RoundStartingEvent ev)
{
var playerCount = _playerManager.PlayerCount;

StationGoalPrototype? selGoal = null;
while (station.Comp.Goals.Count > 0)
var query = EntityQueryEnumerator<StationGoalComponent>();
while (query.MoveNext(out var uid, out var station))
{
var goalId = _random.Pick(station.Comp.Goals);
var goalProto = _proto.Index(goalId);

if (playerCount > goalProto.MaxPlayers ||
playerCount < goalProto.MinPlayers)
StationGoalPrototype? selGoal = null;
while (station.Goals.Count > 0)
{
station.Comp.Goals.Remove(goalId);
continue;
}
var goalId = _random.Pick(station.Goals);
var goalProto = _proto.Index(goalId);

selGoal = goalProto;
}
if (playerCount > goalProto.MaxPlayers ||
playerCount < goalProto.MinPlayers)
{
station.Goals.Remove(goalId);
continue;
}

if (selGoal is null)
return;
selGoal = goalProto;
break;
}

if (SendStationGoal(station, selGoal))
{
Log.Info($"Goal {selGoal.ID} has been sent to station {MetaData(station).EntityName}");
if (selGoal is null)
return;

if (SendStationGoal(uid, selGoal))
{
Log.Info($"Goal {selGoal.ID} has been sent to station {MetaData(uid).EntityName}");
}
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
station-goal-fax-paper-name = бумага
station-goal-shuttle =
Цель вашей смены построить пилотируемый шаттл в космосе и обеспечить его всем необходимым для выживания.
Цель смены станции {$station} - постройка пилотируемого шаттла в космосе и обеспечение его всем необходимым для выживания.
Чтобы её выполнить отделу снабжения нужно заказать все необходимые ресурсы для инженерного и научного отделов.
Инженерному отделу необходимо построить его, а научный отдел должен предоставить инженерному отделу и шаттлу всю необходимую экипировку.
station-goal-singularity =
Цель вашей смены построить генератор основанный на сверхмассивной Сингулярности.
Чтобы её выполнить инженерному отделу понадобится построить сдерживающую клетку, отделу снабжения потребуется заказать все необходимые материалы.
Цель смены станции {$station} - постройка генератора основанного на сверхмассивной Сингулярности.
Чтобы её выполнить, инженерному отделу понадобится построить сдерживающую клетку, отделу снабжения потребуется заказать все необходимые материалы.
Сдерживающая клетка должна быть способна сдержать сингулярность третьего класса.
station-goal-solar-panels =
Цель вашей смены организовать систему запасного питания для станции на основе солнечных панелей.
Цель смены станции {$station} - организовать систему запасного питания для станции на основе солнечных панелей.
Для этого вам понадобится заказать все необходимые материалы в отделе снабжения и после построить 2 новые ветки солнечных панелей инженерным отделом.
А так же обеспечить изолированность производимой ими энергии в новые 3 СМЭСа не подключённые к общей сети станции.
station-goal-artifacts =
Цель вашей смены обнаружить, исследовать и доставить космические артефакты.
Цель смены станции {$station} - обнаружение, исследование и доставка космических артефактов.
Для её выполнения будет необходима работа утилизаторов для поиска и доставки артефактов с обломков вокруг станции.
После доставки их необходимо передать в специальном контейнере отделу исследования для изучения и документирования их свойств.
Необходимо доставить на шаттле эвакуации в специальных контейнерах как минимум 2 полностью изученных и задокументированных артефакта.
Expand All @@ -28,7 +28,7 @@ station-goal-artifacts =
Документ должен быть удостоверен печатью научного руководителя.
station-goal-bank =
Цель вашей смены постройка орбитального хранилища с припасами и технологиями.
Цель смены станции {$station} - постройка орбитального хранилища с припасами и технологиями.
Хранилище должно быть размещено в космосе отдельно от основной станции, проследите за прочностью его конструкции, случайный метеорит не должен повредить его.
В хранилище необходимо разместить 4 ящика:
- ящик с продвинутыми медикаментами
Expand All @@ -38,12 +38,12 @@ station-goal-bank =
Проследите за сохранностью содержимого в хранилище до окончания смены.
station-goal-zoo =
Цель вашей смены улучшить рекреацию персонала на станции.
Цель смены станции {$station} - улучшение рекреации персонала на станции.
Инженерному отделу необходимо построить зоопарк в недалёкой доступности от дорматориев с как минимум тремя вольерами разных видов животных заказанных в отделе снабжения.
Обеспечьте животных пищей, как минимум одним роботом уборщиком в каждый вольер и всем необходимым для жизни в зависимости от вида животного.
station-goal-mining-outpost =
Цель вашей смены постройка орбитального шахтёрского аванпоста для добычи руды и ресурсов с астероидов.
Цель смены станции {$station} - постройка орбитального шахтёрского аванпоста для добычи руды и ресурсов с астероидов.
Аванпост должен быть размещён в космосе отдельно от основной станции.
Проследите за прочностью его конструкции, случайный метеорит не должен повредить его.
Аванпост должен иметь следующее:
Expand All @@ -58,17 +58,17 @@ station-goal-mining-outpost =
Проследите за сохранностью аванпоста до окончания смены.
station-goal-tesla =
Цель вашей смены построить генератор основанный на высоковольтной Тесле.
Цель смены станции {$station} - постройка генератора основанного на высоковольтной Тесле.
Чтобы её выполнить инженерному отделу понадобится построить сдерживающую клетку, отделу снабжения потребуется заказать все необходимые материалы.
Сдерживающая клетка должна быть способна сдерживать теслу без риска разрушения эмиттеров.
station-goal-frame-repair =
Цель вашей смены - завершить строительство станции типа Frame, достроив каждому отделу помещения, необходимые для успешной работы. Также вам необходимо построить кухню и гидропонику для сервисного отдела, оружейную и место содержания заключенных для отдела Службы безопасности и обеспечить свободный проход пассажиров станции до отбытия, без необходимости выхода в открытый космос.
Цель вашей смены - завершить строительство станции {$station}, достроив каждому отделу помещения, необходимые для успешной работы. Также вам необходимо построить кухню и гидропонику для сервисного отдела, оружейную и место содержания заключенных для отдела Службы безопасности и обеспечить свободный проход пассажиров станции до отбытия, без необходимости выхода в открытый космос.
Для помощи в выполнении цели мы будет каждые 5 минут высылать вам припасы на специальной посадочной площадке в центре станции.
Слава НТ!
station-goal-delta-xeno-repair =
Цель вашей смены - восстановление заброшенного ксенобиологического сектора научного отдела. Вам необходимо полностью восстановить электропитание, атмос, привести внешний вид к изначальному состоянию, и поймать минимум трех слаймов любых форм в ксенобиологические клетки, для их изучения последующей сменой.
Цель смены станции {$station} - восстановление заброшенного ксенобиологического сектора научного отдела. Вам необходимо полностью восстановить электропитание, атмос, привести внешний вид к изначальному состоянию, и поймать минимум трех слаймов любых форм в ксенобиологические клетки, для их изучения последующей сменой.
station-goal-delta-ambusol =
Цель вашей смены - восстановление заброшенного вирусологического сектора медицинского отдела. Вам необходимо полностью восстановить электропитание, атмос, привести внешний вид к изначальному состоянию, и в стерильных условиях вирусологии провести синтезацию 500u Амбузола, из предоставленного шприца Ромерола.
Цель смены станции {$station} - восстановление заброшенного вирусологического сектора медицинского отдела. Вам необходимо полностью восстановить электропитание, атмос, привести внешний вид к изначальному состоянию, и в стерильных условиях вирусологии провести синтезацию 500u Амбузола, из предоставленного шприца Ромерола.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
id: NanotrasenStationNoArrivals
parent:
- BaseStation
- BaseStationGoal
- BaseStationNews
- BaseStationCargo
- BaseStationJobsSpawning
Expand Down
15 changes: 11 additions & 4 deletions Resources/Prototypes/Corvax/Maps/astra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,14 @@
Quartermaster: [ 1, 1 ]
SalvageSpecialist: [ 3, 3 ]
CargoTechnician: [ 4, 5 ]




- type: StationGoal
goals:
- Shuttle
- Singularity
- SolarPanels
- Artifacts
- Bank
- Zoo
- MiningOutpost
- Tesla
- VirusologyAmbusol
4 changes: 2 additions & 2 deletions Resources/Prototypes/Corvax/Maps/delta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,5 +66,5 @@
- Zoo
- MiningOutpost
- Tesla
- Delta_XenoRepair
- Delta_Ambusol
- XenobiologyRepair
- VirusologyAmbusol
12 changes: 3 additions & 9 deletions Resources/Prototypes/Corvax/Maps/frame.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,12 +64,6 @@
CargoTechnician: [ 2, 2 ]
- type: StationGoal
goals:
#- Shuttle
#- Singularity
#- SolarPanels
#- Artifacts
#- Bank
#- Zoo
#- MiningOutpost
- Tesla
- Frame_Repair
- Shuttle
- SolarPanels
- FrameRepair
6 changes: 3 additions & 3 deletions Resources/Prototypes/Corvax/Objectives/goals.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@
# Special goals

- type: stationGoal
id: Frame_Repair
id: FrameRepair
text: station-goal-frame-repair

- type: stationGoal
id: Delta_XenoRepair
id: XenobiologyRepair
text: station-goal-delta-xeno-repair

- type: stationGoal
id: Delta_Ambusol
id: VirusologyAmbusol
text: station-goal-delta-ambusol

0 comments on commit 5c91777

Please sign in to comment.