Make xenoborg round end text better (#41623)

* make xenoborg win color easier to read

* display the max number of xenoborgs and the number of crew alive in the end

* make it a datafield

* add : (literally)

* add period

* make text better
This commit is contained in:
Samuka 2025-11-30 00:09:50 -03:00 committed by GitHub
parent 4a8198a88b
commit b58a7f69a2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 21 additions and 7 deletions

View file

@ -25,6 +25,12 @@ public sealed partial class XenoborgsRuleComponent : Component
[DataField]
public float XenoborgShuttleCallPercentage = 0.7f;
/// <summary>
/// The most xenoborgs that existed at one point.
/// </summary>
[DataField]
public int MaxNumberXenoborgs = 0;
/// <summary>
/// If the announcment of the death of the mothership core was sent
/// </summary>

View file

@ -75,7 +75,12 @@ public sealed class XenoborgsRuleSystem : GameRuleSystem<XenoborgsRuleComponent>
else if (numXenoborgs == 0)
args.AddLine(Loc.GetString("xenoborgs-cond-all-xenoborgs-dead-core-alive"));
else
args.AddLine(Loc.GetString("xenoborgs-cond-xenoborgs-alive", ("count", numXenoborgs)));
{
args.AddLine(Loc.GetString("xenoborg-number-xenoborg-alive-end", ("count", numXenoborgs)));
args.AddLine(Loc.GetString("xenoborg-number-crew-alive-end", ("count", numHumans)));
}
args.AddLine(Loc.GetString("xenoborg-max-number", ("count", component.MaxNumberXenoborgs)));
args.AddLine(Loc.GetString("xenoborgs-list-start"));
@ -93,6 +98,8 @@ public sealed class XenoborgsRuleSystem : GameRuleSystem<XenoborgsRuleComponent>
var numXenoborgs = GetNumberXenoborgs();
var numHumans = _mindSystem.GetAliveHumans().Count;
xenoborgsRuleComponent.MaxNumberXenoborgs = Math.Max(xenoborgsRuleComponent.MaxNumberXenoborgs, numXenoborgs);
if ((float)numXenoborgs / (numHumans + numXenoborgs) > xenoborgsRuleComponent.XenoborgShuttleCallPercentage)
{
foreach (var station in _station.GetStations())

View file

@ -7,18 +7,19 @@ mothership-welcome = You're the mothership core. Guide the xenoborgs so they can
xenoborg-shuttle-call = We have detected that Xenoborgs have overtaken the station. Dispatching an emergency shuttle to collect remaining personnel.
xenoborgs-borgsmajor = [color=blue]Xenoborg major victory![/color]
xenoborgs-borgsminor = [color=blue]Xenoborg minor victory![/color]
xenoborgs-borgsmajor = [color=deepskyblue]Xenoborg major victory![/color]
xenoborgs-borgsminor = [color=deepskyblue]Xenoborg minor victory![/color]
xenoborgs-neutral = [color=white]Neutral outcome![/color]
xenoborgs-crewminor = [color=yellow]Crew minor victory![/color]
xenoborgs-crewmajor = [color=yellow]Crew major victory![/color]
xenoborgs-cond-all-xenoborgs-dead-core-alive = All xenoborgs were destroyed. The mothership core remains adrift in space.
xenoborgs-cond-all-xenoborgs-dead-core-dead = The mothership core was destroyed and there are no xenoborgs left.
xenoborgs-cond-xenoborgs-alive = {$count ->
[one] Only one xenoborg survived.
*[other] There were {$count} xenoborgs in the end.
}
xenoborg-number-xenoborg-alive-end = Number of xenoborgs alive: {$count}
xenoborg-number-crew-alive-end = Number of crew alive: {$count}
xenoborg-max-number = The highest number of xenoborgs was: {$count}
xenoborgs-list-start = The starting xenoborg team were:
xenoborgs-list = - [color=White]{$name}[/color] ([color=gray]{$user}[/color])