Add health analyzer unrevivability warning (#32636)
* Add health analyzer unrevivability warning * Remove errornous comment
This commit is contained in:
@@ -47,8 +47,7 @@
|
|||||||
|
|
||||||
<PanelContainer Name="AlertsDivider" Visible="False" StyleClasses="LowDivider" />
|
<PanelContainer Name="AlertsDivider" Visible="False" StyleClasses="LowDivider" />
|
||||||
|
|
||||||
<BoxContainer Name="AlertsContainer" Visible="False" Margin="0 5" Orientation="Horizontal"
|
<BoxContainer Name="AlertsContainer" Visible="False" Margin="0 5" Orientation="Vertical" HorizontalAlignment="Center">
|
||||||
HorizontalExpand="True" HorizontalAlignment="Center">
|
|
||||||
|
|
||||||
</BoxContainer>
|
</BoxContainer>
|
||||||
|
|
||||||
|
|||||||
@@ -110,18 +110,29 @@ namespace Content.Client.HealthAnalyzer.UI
|
|||||||
|
|
||||||
// Alerts
|
// Alerts
|
||||||
|
|
||||||
AlertsDivider.Visible = msg.Bleeding == true;
|
var showAlerts = msg.Unrevivable == true || msg.Bleeding == true;
|
||||||
AlertsContainer.Visible = msg.Bleeding == true;
|
|
||||||
|
AlertsDivider.Visible = showAlerts;
|
||||||
|
AlertsContainer.Visible = showAlerts;
|
||||||
|
|
||||||
|
if (showAlerts)
|
||||||
|
AlertsContainer.DisposeAllChildren();
|
||||||
|
|
||||||
|
if (msg.Unrevivable == true)
|
||||||
|
AlertsContainer.AddChild(new RichTextLabel
|
||||||
|
{
|
||||||
|
Text = Loc.GetString("health-analyzer-window-entity-unrevivable-text"),
|
||||||
|
Margin = new Thickness(0, 4),
|
||||||
|
MaxWidth = 300
|
||||||
|
});
|
||||||
|
|
||||||
if (msg.Bleeding == true)
|
if (msg.Bleeding == true)
|
||||||
{
|
AlertsContainer.AddChild(new RichTextLabel
|
||||||
AlertsContainer.DisposeAllChildren();
|
|
||||||
AlertsContainer.AddChild(new Label
|
|
||||||
{
|
{
|
||||||
Text = Loc.GetString("health-analyzer-window-entity-bleeding-text"),
|
Text = Loc.GetString("health-analyzer-window-entity-bleeding-text"),
|
||||||
FontColorOverride = Color.Red,
|
Margin = new Thickness(0, 4),
|
||||||
|
MaxWidth = 300
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
// Damage Groups
|
// Damage Groups
|
||||||
|
|
||||||
|
|||||||
@@ -201,6 +201,7 @@ public sealed partial class CryoPodSystem : SharedCryoPodSystem
|
|||||||
? bloodSolution.FillFraction
|
? bloodSolution.FillFraction
|
||||||
: 0,
|
: 0,
|
||||||
null,
|
null,
|
||||||
|
null,
|
||||||
null
|
null
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using Content.Server.Body.Components;
|
|||||||
using Content.Server.Medical.Components;
|
using Content.Server.Medical.Components;
|
||||||
using Content.Server.PowerCell;
|
using Content.Server.PowerCell;
|
||||||
using Content.Server.Temperature.Components;
|
using Content.Server.Temperature.Components;
|
||||||
|
using Content.Server.Traits.Assorted;
|
||||||
using Content.Shared.Chemistry.EntitySystems;
|
using Content.Shared.Chemistry.EntitySystems;
|
||||||
using Content.Shared.Damage;
|
using Content.Shared.Damage;
|
||||||
using Content.Shared.DoAfter;
|
using Content.Shared.DoAfter;
|
||||||
@@ -196,6 +197,7 @@ public sealed class HealthAnalyzerSystem : EntitySystem
|
|||||||
|
|
||||||
var bloodAmount = float.NaN;
|
var bloodAmount = float.NaN;
|
||||||
var bleeding = false;
|
var bleeding = false;
|
||||||
|
var unrevivable = false;
|
||||||
|
|
||||||
if (TryComp<BloodstreamComponent>(target, out var bloodstream) &&
|
if (TryComp<BloodstreamComponent>(target, out var bloodstream) &&
|
||||||
_solutionContainerSystem.ResolveSolution(target, bloodstream.BloodSolutionName,
|
_solutionContainerSystem.ResolveSolution(target, bloodstream.BloodSolutionName,
|
||||||
@@ -205,12 +207,16 @@ public sealed class HealthAnalyzerSystem : EntitySystem
|
|||||||
bleeding = bloodstream.BleedAmount > 0;
|
bleeding = bloodstream.BleedAmount > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (HasComp<UnrevivableComponent>(target))
|
||||||
|
unrevivable = true;
|
||||||
|
|
||||||
_uiSystem.ServerSendUiMessage(healthAnalyzer, HealthAnalyzerUiKey.Key, new HealthAnalyzerScannedUserMessage(
|
_uiSystem.ServerSendUiMessage(healthAnalyzer, HealthAnalyzerUiKey.Key, new HealthAnalyzerScannedUserMessage(
|
||||||
GetNetEntity(target),
|
GetNetEntity(target),
|
||||||
bodyTemperature,
|
bodyTemperature,
|
||||||
bloodAmount,
|
bloodAmount,
|
||||||
scanMode,
|
scanMode,
|
||||||
bleeding
|
bleeding,
|
||||||
|
unrevivable
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,14 +13,16 @@ public sealed class HealthAnalyzerScannedUserMessage : BoundUserInterfaceMessage
|
|||||||
public float BloodLevel;
|
public float BloodLevel;
|
||||||
public bool? ScanMode;
|
public bool? ScanMode;
|
||||||
public bool? Bleeding;
|
public bool? Bleeding;
|
||||||
|
public bool? Unrevivable;
|
||||||
|
|
||||||
public HealthAnalyzerScannedUserMessage(NetEntity? targetEntity, float temperature, float bloodLevel, bool? scanMode, bool? bleeding)
|
public HealthAnalyzerScannedUserMessage(NetEntity? targetEntity, float temperature, float bloodLevel, bool? scanMode, bool? bleeding, bool? unrevivable)
|
||||||
{
|
{
|
||||||
TargetEntity = targetEntity;
|
TargetEntity = targetEntity;
|
||||||
Temperature = temperature;
|
Temperature = temperature;
|
||||||
BloodLevel = bloodLevel;
|
BloodLevel = bloodLevel;
|
||||||
ScanMode = scanMode;
|
ScanMode = scanMode;
|
||||||
Bleeding = bleeding;
|
Bleeding = bleeding;
|
||||||
|
Unrevivable = unrevivable;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ health-analyzer-window-entity-damage-total-text = Total Damage:
|
|||||||
health-analyzer-window-damage-group-text = {$damageGroup}: {$amount}
|
health-analyzer-window-damage-group-text = {$damageGroup}: {$amount}
|
||||||
health-analyzer-window-damage-type-text = {$damageType}: {$amount}
|
health-analyzer-window-damage-type-text = {$damageType}: {$amount}
|
||||||
|
|
||||||
health-analyzer-window-entity-bleeding-text = Patient is bleeding!
|
health-analyzer-window-entity-unrevivable-text = [color=red]Unique body composition detected! Patient can not be resuscitated by normal means![/color]
|
||||||
|
health-analyzer-window-entity-bleeding-text = [color=red]Patient is bleeding![/color]
|
||||||
|
|
||||||
health-analyzer-window-scan-mode-text = Scan Mode:
|
health-analyzer-window-scan-mode-text = Scan Mode:
|
||||||
health-analyzer-window-scan-mode-active = Active
|
health-analyzer-window-scan-mode-active = Active
|
||||||
|
|||||||
Reference in New Issue
Block a user