diff --git a/Content.Server/DeltaV/StationEvents/Events/FugitiveRule.cs b/Content.Server/DeltaV/StationEvents/Events/FugitiveRule.cs index 009f15faa64..5aed54bc976 100644 --- a/Content.Server/DeltaV/StationEvents/Events/FugitiveRule.cs +++ b/Content.Server/DeltaV/StationEvents/Events/FugitiveRule.cs @@ -1,5 +1,6 @@ using Content.Server.Antag; using Content.Server.Communications; +using Content.Server.Forensics; using Content.Server.StationEvents.Components; using Content.Shared.GameTicking.Components; using Content.Shared.Ghost; @@ -105,9 +106,9 @@ private Entity SpawnReport(FugitiveRuleComponent rule, Transform private FormattedMessage GenerateReport(EntityUid uid, FugitiveRuleComponent rule) { var report = new FormattedMessage(); - report.PushMarkup(Loc.GetString("fugitive-report-title", ("name", uid))); + report.PushMarkup(Loc.GetString("fugitive-report-title")); report.PushNewline(); - report.PushMarkup(Loc.GetString("fugitive-report-first-line", ("name", uid))); + report.PushMarkup(Loc.GetString("fugitive-report-first-line")); report.PushNewline(); if (!TryComp(uid, out var humanoid)) @@ -125,6 +126,13 @@ private FormattedMessage GenerateReport(EntityUid uid, FugitiveRuleComponent rul if (TryComp(uid, out var physics)) report.PushMarkup(Loc.GetString("fugitive-report-weight", ("weight", Math.Round(physics.FixturesMass)))); + // add a random identifying quality that officers can use to track them down + report.PushMarkup(RobustRandom.Next(0, 2) switch + { + 0 => Loc.GetString("fugitive-report-detail-dna", ("dna", GetDNA(uid))), + _ => Loc.GetString("fugitive-report-detail-prints", ("prints", GetPrints(uid))) + }); + report.PushNewline(); report.PushMarkup(Loc.GetString("fugitive-report-crimes-header")); @@ -139,6 +147,16 @@ private FormattedMessage GenerateReport(EntityUid uid, FugitiveRuleComponent rul return report; } + private string GetDNA(EntityUid uid) + { + return CompOrNull(uid)?.DNA ?? "?"; + } + + private string GetPrints(EntityUid uid) + { + return CompOrNull(uid)?.Fingerprint ?? "?"; + } + private void AddCharges(FormattedMessage report, FugitiveRuleComponent rule) { var crimeTypes = PrototypeManager.Index(rule.CrimesDataset); diff --git a/Resources/Locale/en-US/deltav/game-ticking/game-rules/rule-fugitive.ftl b/Resources/Locale/en-US/deltav/game-ticking/game-rules/rule-fugitive.ftl index 4593b2257fd..67f73578391 100644 --- a/Resources/Locale/en-US/deltav/game-ticking/game-rules/rule-fugitive.ftl +++ b/Resources/Locale/en-US/deltav/game-ticking/game-rules/rule-fugitive.ftl @@ -5,8 +5,8 @@ fugitive-spawn = You fall from the ceiling! station-event-fugitive-hunt-announcement = Please check communications consoles for a sensitive message. fugitive-announcement-GALPOL = GALPOL -fugitive-report-title = WANTED: {$name} -fugitive-report-first-line = Escaped fugitive {$name} has been spotted in the sector. They may be a stowaway on a station somewhere. +fugitive-report-title = WANTED FUGITIVE! +fugitive-report-first-line = An escaped fugitive has been spotted in the sector and disguised their identity. They may be a stowaway on a station somewhere. fugitive-report-inhuman = {CAPITALIZE(THE($name))} {CONJUGATE-BE($name)} inhuman. We have no further details. fugitive-report-morphotype = MORPHOTYPE: {$species} fugitive-report-age = AGE: {$age} @@ -16,6 +16,11 @@ fugitive-report-sex = SEX: {$sex -> *[none] N/A } fugitive-report-weight = WEIGHT: {$weight} kg + +# Random details +fugitive-report-detail-dna = DNA: {$dna} +fugitive-report-detail-prints = FINGERPRINT: {$prints} + fugitive-report-crimes-header = The above individual is wanted across the sector for the following: fugitive-report-crime = - {$count -> [1] One count