Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 26 additions & 4 deletions Content.Server/Antag/AntagSelectionSystem.API.Assignment.cs
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,18 @@
ICommonSession session,
int players)
{
#region Starlight
return TryAssignNextAvailableAntag(gameRule, session, players, out _);

Check warning on line 342 in Content.Server/Antag/AntagSelectionSystem.API.Assignment.cs

View workflow job for this annotation

GitHub Actions / build

[C# diagnostics] reported by reviewdog 🐶 Use expression body for method Raw Output: {"level":"warning","locations":[{"physicalLocation":{"artifactLocation":{"uri":"file:///home/runner/work/space-station-14/space-station-14/Content.Server/Antag/AntagSelectionSystem.API.Assignment.cs"},"region":{"endColumn":79,"endLine":342,"startColumn":9,"startLine":342}}}],"message":{"text":"Use expression body for method"},"properties":{},"relatedLocations":[{"physicalLocation":{"artifactLocation":{"uri":"file:///home/runner/work/space-station-14/space-station-14/Content.Server/Antag/AntagSelectionSystem.API.Assignment.cs"},"region":{"endColumn":6,"endLine":343,"startColumn":5,"startLine":337}}}],"ruleId":"IDE0022","ruleIndex":663}
}

/// <summary>
/// Tries to find an open antag slot for a given player and returns the definition that was assigned.
/// </summary>
private bool TryAssignNextAvailableAntag(Entity<AntagSelectionComponent> gameRule, ICommonSession session, int players, [NotNullWhen(true)] out AntagSpecifierPrototype? assignedAntag)
{
assignedAntag = null;
#endregion
Comment thread
wonderfulnewworld marked this conversation as resolved.

foreach (var selector in gameRule.Comp.Antags)
{
if (!Proto.Resolve(selector.Proto, out var antag))
Expand All @@ -348,8 +360,13 @@
continue;

// Try and assign this antag, if we fail, then try the next definition!
if (TryMakeAntag(gameRule, antag, session))
return true;
#region Starlight
if (!TryMakeAntag(gameRule, antag, session))
continue;

assignedAntag = antag;
return true;
#endregion
}

return false;
Expand Down Expand Up @@ -385,8 +402,13 @@

foreach (var (uid, antag) in rules)
{
if (TryAssignNextAvailableAntag((uid, antag), session, players))
return true;
#region Starlight
if (!TryAssignNextAvailableAntag((uid, antag), session, players, out var assignedAntag))
continue;

RecordLateJoinAntagAssignment((uid, antag), assignedAntag); // logging
return true;
#endregion
}

return false;
Expand Down
Loading
Loading