Skip to content

Commit

Permalink
spawns with goal
Browse files Browse the repository at this point in the history
  • Loading branch information
TheShuEd committed Jun 25, 2024
1 parent 5c91777 commit 15b7908
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 5 deletions.
10 changes: 7 additions & 3 deletions Content.Server/Corvax/StationGoal/StationGoalPaperSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -93,16 +93,20 @@ public bool SendStationGoal(EntityUid? ent, StationGoalPrototype goal)

var wasSent = false;
var query = EntityQueryEnumerator<FaxMachineComponent>();
while (query.MoveNext(out var uid, out var fax))
while (query.MoveNext(out var faxUid, out var fax))
{
if (!fax.ReceiveStationGoal)
continue;

var largestGrid = _station.GetLargestGrid(stationData);
var grid = Transform(uid).GridUid;
var grid = Transform(faxUid).GridUid;
if (grid is not null && largestGrid == grid.Value)
{
_fax.Receive(uid, printout, null, fax);
_fax.Receive(faxUid, printout, null, fax);
foreach (var spawnEnt in goal.Spawns)
{
SpawnAtPosition(spawnEnt, Transform(faxUid).Coordinates);
}
wasSent = true;
}
}
Expand Down
6 changes: 6 additions & 0 deletions Content.Server/Corvax/StationGoal/StationGoalPrototype.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,11 @@ public sealed class StationGoalPrototype : IPrototype
[DataField]
public int? MaxPlayers;

/// <summary>
/// purpose may require certain items. These items will appear near the captain's fax machine at the start of the round
/// TODO: They should be spun up at the tradepost instead of at the fax machine, but I'm too lazy to do that right now. Maybe in the future.
/// </summary>
[DataField]
public List<EntProtoId> Spawns = new();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,4 @@ station-goal-delta-xeno-repair =
Цель смены станции {$station} - восстановление заброшенного ксенобиологического сектора научного отдела. Вам необходимо полностью восстановить электропитание, атмос, привести внешний вид к изначальному состоянию, и поймать минимум трех слаймов любых форм в ксенобиологические клетки, для их изучения последующей сменой.
station-goal-delta-ambusol =
Цель смены станции {$station} - восстановление заброшенного вирусологического сектора медицинского отдела. Вам необходимо полностью восстановить электропитание, атмос, привести внешний вид к изначальному состоянию, и в стерильных условиях вирусологии провести синтезацию 500u Амбузола, из предоставленного шприца Ромерола.
Цель смены станции {$station} - восстановление заброшенного вирусологического сектора медицинского отдела. Вам необходимо полностью восстановить электропитание, атмос, привести внешний вид к изначальному состоянию, и в стерильных условиях вирусологии провести синтезацию 500u Амбузола, из предоставленных трех пилюль Ромерола.
6 changes: 5 additions & 1 deletion Resources/Prototypes/Corvax/Objectives/goals.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,8 @@

- type: stationGoal
id: VirusologyAmbusol
text: station-goal-delta-ambusol
text: station-goal-delta-ambusol
spawns:
- PillRomerol
- PillRomerol
- PillRomerol

0 comments on commit 15b7908

Please sign in to comment.