Merge remote-tracking branch 'upstream/master' into ed-06-11-2024-upstream

This commit is contained in:
Ed
2024-11-06 16:51:42 +03:00
40 changed files with 3435 additions and 839 deletions

View File

@@ -47,8 +47,7 @@
<PanelContainer Name="AlertsDivider" Visible="False" StyleClasses="LowDivider" />
<BoxContainer Name="AlertsContainer" Visible="False" Margin="0 5" Orientation="Horizontal"
HorizontalExpand="True" HorizontalAlignment="Center">
<BoxContainer Name="AlertsContainer" Visible="False" Margin="0 5" Orientation="Vertical" HorizontalAlignment="Center">
</BoxContainer>

View File

@@ -110,18 +110,29 @@ namespace Content.Client.HealthAnalyzer.UI
// Alerts
AlertsDivider.Visible = msg.Bleeding == true;
AlertsContainer.Visible = msg.Bleeding == true;
var showAlerts = msg.Unrevivable == true || 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)
{
AlertsContainer.DisposeAllChildren();
AlertsContainer.AddChild(new Label
AlertsContainer.AddChild(new RichTextLabel
{
Text = Loc.GetString("health-analyzer-window-entity-bleeding-text"),
FontColorOverride = Color.Red,
Margin = new Thickness(0, 4),
MaxWidth = 300
});
}
// Damage Groups

View File

@@ -8,7 +8,7 @@
VerticalExpand="False"
VerticalAlignment="Bottom"
HorizontalAlignment="Center">
<controls:RecordedSplitContainer Name="ScreenContainer" HorizontalExpand="True"
<SplitContainer Name="ScreenContainer" HorizontalExpand="True"
VerticalExpand="True" SplitWidth="0"
StretchDirection="TopLeft">
<BoxContainer Orientation="Vertical" VerticalExpand="True" Name="SpawnContainer" MinWidth="200" SetWidth="600">
@@ -82,5 +82,5 @@
</BoxContainer>
</PanelContainer>
</LayoutContainer>
</controls:RecordedSplitContainer>
</SplitContainer>
</mapping:MappingScreen>

View File

@@ -197,7 +197,6 @@ public sealed partial class MappingScreen : InGameScreen
public override void SetChatSize(Vector2 size)
{
ScreenContainer.DesiredSplitCenter = size.X;
ScreenContainer.ResizeMode = SplitContainer.SplitResizeMode.RespectChildrenMinSize;
}

View File

@@ -1,29 +0,0 @@
using System.Numerics;
using Robust.Client.UserInterface.Controls;
namespace Content.Client.UserInterface.Controls;
/// <summary>
/// A split container that performs an action when the split resizing is finished.
/// </summary>
public sealed class RecordedSplitContainer : SplitContainer
{
public double? DesiredSplitCenter;
protected override Vector2 ArrangeOverride(Vector2 finalSize)
{
if (ResizeMode == SplitResizeMode.RespectChildrenMinSize
&& DesiredSplitCenter != null
&& !finalSize.Equals(Vector2.Zero))
{
SplitFraction = (float) DesiredSplitCenter.Value;
if (!Size.Equals(Vector2.Zero))
{
DesiredSplitCenter = null;
}
}
return base.ArrangeOverride(finalSize);
}
}

View File

@@ -14,7 +14,7 @@
VerticalExpand="False"
VerticalAlignment="Bottom"
HorizontalAlignment="Center">
<controls:RecordedSplitContainer Name="ScreenContainer" HorizontalExpand="True" VerticalExpand="True" SplitWidth="0" StretchDirection="TopLeft">
<SplitContainer Name="ScreenContainer" HorizontalExpand="True" VerticalExpand="True" SplitWidth="0" StretchDirection="TopLeft">
<LayoutContainer Name="ViewportContainer" HorizontalExpand="True" VerticalExpand="True">
<controls:MainViewport Name="MainViewport"/>
<widgets:GhostGui Name="Ghost" Access="Protected" />
@@ -26,7 +26,7 @@
</BoxContainer>
<alerts:AlertsUI Name="Alerts" Access="Protected" />
</LayoutContainer>
<PanelContainer HorizontalExpand="True" MinWidth="300">
<PanelContainer Name="SeparatedChatPanel" MinWidth="300">
<PanelContainer.PanelOverride>
<graphics:StyleBoxFlat BackgroundColor="#2B2C3B" />
</PanelContainer.PanelOverride>
@@ -36,5 +36,5 @@
<chat:ChatBox VerticalExpand="True" HorizontalExpand="True" Name="Chat" Access="Protected" MinSize="0 0"/>
</BoxContainer>
</PanelContainer>
</controls:RecordedSplitContainer>
</SplitContainer>
</screens:SeparatedChatGameScreen>

View File

@@ -40,7 +40,6 @@ public sealed partial class SeparatedChatGameScreen : InGameScreen
public override void SetChatSize(Vector2 size)
{
ScreenContainer.DesiredSplitCenter = size.X;
ScreenContainer.ResizeMode = SplitContainer.SplitResizeMode.RespectChildrenMinSize;
}
}

View File

@@ -168,7 +168,7 @@ public sealed class SuicideCommandTests
await pair.CleanReturnAsync();
}
/// <summary>
/// <summary>
/// Run the suicide command in the console
/// Should only ghost the player but not kill them
/// </summary>
@@ -241,6 +241,7 @@ public sealed class SuicideCommandTests
var mindSystem = entManager.System<SharedMindSystem>();
var mobStateSystem = entManager.System<MobStateSystem>();
var transformSystem = entManager.System<TransformSystem>();
var damageableSystem = entManager.System<DamageableSystem>();
// We need to know the player and whether they can be hurt, killed, and whether they have a mind
var player = playerMan.Sessions.First().AttachedEntity!.Value;
@@ -276,6 +277,8 @@ public sealed class SuicideCommandTests
// and that all the damage is concentrated in the Slash category
await server.WaitAssertion(() =>
{
// Heal all damage first (possible low pressure damage taken)
damageableSystem.SetAllDamage(player, damageableComp, 0);
consoleHost.GetSessionShell(playerMan.Sessions.First()).ExecuteCommand("suicide");
var lethalDamageThreshold = mobThresholdsComp.Thresholds.Keys.Last();
@@ -313,6 +316,7 @@ public sealed class SuicideCommandTests
var mindSystem = entManager.System<SharedMindSystem>();
var mobStateSystem = entManager.System<MobStateSystem>();
var transformSystem = entManager.System<TransformSystem>();
var damageableSystem = entManager.System<DamageableSystem>();
// We need to know the player and whether they can be hurt, killed, and whether they have a mind
var player = playerMan.Sessions.First().AttachedEntity!.Value;
@@ -348,6 +352,8 @@ public sealed class SuicideCommandTests
// and that slash damage is split in half
await server.WaitAssertion(() =>
{
// Heal all damage first (possible low pressure damage taken)
damageableSystem.SetAllDamage(player, damageableComp, 0);
consoleHost.GetSessionShell(playerMan.Sessions.First()).ExecuteCommand("suicide");
var lethalDamageThreshold = mobThresholdsComp.Thresholds.Keys.Last();

View File

@@ -651,7 +651,7 @@ public sealed partial class AdminVerbSystem
{
Text = "admin-smite-become-mouse-name",
Category = VerbCategory.Smite,
Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Fun/Instruments/h_synthesizer.rsi"), "icon"),
Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Fun/Instruments/h_synthesizer.rsi"), "supersynth"),
Act = () =>
{
_polymorphSystem.PolymorphEntity(args.Target, "AdminInstrumentSmite");

View File

@@ -0,0 +1,82 @@
using Content.Shared.EntityEffects;
using Content.Server.Flash;
using Robust.Server.GameObjects;
using Robust.Shared.Audio;
using Robust.Shared.Prototypes;
namespace Content.Server.EntityEffects.Effects;
[DataDefinition]
public sealed partial class FlashReactionEffect : EntityEffect
{
/// <summary>
/// Flash range per unit of reagent.
/// </summary>
[DataField]
public float RangePerUnit = 0.2f;
/// <summary>
/// Maximum flash range.
/// </summary>
[DataField]
public float MaxRange = 10f;
/// <summary>
/// How much to entities are slowed down.
/// </summary>
[DataField]
public float SlowTo = 0.5f;
/// <summary>
/// The time entities will be flashed in seconds.
/// The default is chosen to be better than the hand flash so it is worth using it for grenades etc.
/// </summary>
[DataField]
public float Duration = 4f;
/// <summary>
/// The prototype ID used for the visual effect.
/// </summary>
[DataField]
public EntProtoId? FlashEffectPrototype = "ReactionFlash";
/// <summary>
/// The sound the flash creates.
/// </summary>
[DataField]
public SoundSpecifier? Sound = new SoundPathSpecifier("/Audio/Weapons/flash.ogg");
protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
=> Loc.GetString("reagent-effect-guidebook-flash-reaction-effect", ("chance", Probability));
public override void Effect(EntityEffectBaseArgs args)
{
var transform = args.EntityManager.GetComponent<TransformComponent>(args.TargetEntity);
var transformSystem = args.EntityManager.System<SharedTransformSystem>();
var range = 1f;
if (args is EntityEffectReagentArgs reagentArgs)
range = MathF.Min((float)(reagentArgs.Quantity * RangePerUnit), MaxRange);
args.EntityManager.System<FlashSystem>().FlashArea(
args.TargetEntity,
null,
range,
Duration * 1000,
slowTo: SlowTo,
sound: Sound);
if (FlashEffectPrototype == null)
return;
var uid = args.EntityManager.SpawnEntity(FlashEffectPrototype, transformSystem.GetMapCoordinates(transform));
transformSystem.AttachToGridOrMap(uid);
if (!args.EntityManager.TryGetComponent<PointLightComponent>(uid, out var pointLightComp))
return;
var pointLightSystem = args.EntityManager.System<SharedPointLightSystem>();
// PointLights with a radius lower than 1.1 are too small to be visible, so this is hardcoded
pointLightSystem.SetRadius(uid, MathF.Max(1.1f, range), pointLightComp);
}
}

View File

@@ -213,14 +213,7 @@ namespace Content.Server.Ghost
private void OnMapInit(EntityUid uid, GhostComponent component, MapInitEvent args)
{
if (_actions.AddAction(uid, ref component.BooActionEntity, out var act, component.BooAction)
&& act.UseDelay != null)
{
var start = _gameTiming.CurTime;
var end = start + act.UseDelay.Value;
_actions.SetCooldown(component.BooActionEntity.Value, start, end);
}
_actions.AddAction(uid, ref component.BooActionEntity, component.BooAction);
_actions.AddAction(uid, ref component.ToggleGhostHearingActionEntity, component.ToggleGhostHearingAction);
_actions.AddAction(uid, ref component.ToggleLightingActionEntity, component.ToggleLightingAction);
_actions.AddAction(uid, ref component.ToggleFoVActionEntity, component.ToggleFoVAction);

View File

@@ -201,6 +201,7 @@ public sealed partial class CryoPodSystem : SharedCryoPodSystem
? bloodSolution.FillFraction
: 0,
null,
null,
null
));
}

View File

@@ -2,6 +2,7 @@ using Content.Server.Body.Components;
using Content.Server.Medical.Components;
using Content.Server.PowerCell;
using Content.Server.Temperature.Components;
using Content.Server.Traits.Assorted;
using Content.Shared.Chemistry.EntitySystems;
using Content.Shared.Damage;
using Content.Shared.DoAfter;
@@ -196,6 +197,7 @@ public sealed class HealthAnalyzerSystem : EntitySystem
var bloodAmount = float.NaN;
var bleeding = false;
var unrevivable = false;
if (TryComp<BloodstreamComponent>(target, out var bloodstream) &&
_solutionContainerSystem.ResolveSolution(target, bloodstream.BloodSolutionName,
@@ -205,12 +207,16 @@ public sealed class HealthAnalyzerSystem : EntitySystem
bleeding = bloodstream.BleedAmount > 0;
}
if (HasComp<UnrevivableComponent>(target))
unrevivable = true;
_uiSystem.ServerSendUiMessage(healthAnalyzer, HealthAnalyzerUiKey.Key, new HealthAnalyzerScannedUserMessage(
GetNetEntity(target),
bodyTemperature,
bloodAmount,
scanMode,
bleeding
bleeding,
unrevivable
));
}
}

View File

@@ -41,7 +41,9 @@ namespace Content.Server.Nutrition.EntitySystems
protected override void SplattedCreamPie(EntityUid uid, CreamPieComponent creamPie)
{
_audio.PlayPvs(_audio.GetSound(creamPie.Sound), uid, AudioParams.Default.WithVariation(0.125f));
// The entity is deleted, so play the sound at its position rather than parenting
var coordinates = Transform(uid).Coordinates;
_audio.PlayPvs(_audio.GetSound(creamPie.Sound), coordinates, AudioParams.Default.WithVariation(0.125f));
if (EntityManager.TryGetComponent(uid, out FoodComponent? foodComp))
{

View File

@@ -76,6 +76,11 @@ public abstract partial class BaseActionComponent : Component
// TODO serialization
public (TimeSpan Start, TimeSpan End)? Cooldown;
/// <summary>
/// If true, the action will have an initial cooldown applied upon addition.
/// </summary>
[DataField] public bool StartDelay = false;
/// <summary>
/// Time interval between action uses.
/// </summary>

View File

@@ -813,6 +813,9 @@ public abstract class SharedActionsSystem : EntitySystem
if (action.AttachedEntity != null)
RemoveAction(action.AttachedEntity.Value, actionId, action: action);
if (action.StartDelay && action.UseDelay != null)
SetCooldown(actionId, action.UseDelay.Value);
DebugTools.AssertOwner(performer, comp);
comp ??= EnsureComp<ActionsComponent>(performer);
action.AttachedEntity = performer;

View File

@@ -130,9 +130,6 @@ public sealed partial class SleepingSystem : EntitySystem
RaiseLocalEvent(ent, ref ev);
_blindableSystem.UpdateIsBlind(ent.Owner);
_actionsSystem.AddAction(ent, ref ent.Comp.WakeAction, WakeActionId, ent);
// TODO remove hardcoded time.
_actionsSystem.SetCooldown(ent.Comp.WakeAction, _gameTiming.CurTime, _gameTiming.CurTime + TimeSpan.FromSeconds(2f));
}
private void OnSpeakAttempt(Entity<SleepingComponent> ent, ref SpeakAttemptEvent args)

View File

@@ -13,14 +13,16 @@ public sealed class HealthAnalyzerScannedUserMessage : BoundUserInterfaceMessage
public float BloodLevel;
public bool? ScanMode;
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;
Temperature = temperature;
BloodLevel = bloodLevel;
ScanMode = scanMode;
Bleeding = bleeding;
Unrevivable = unrevivable;
}
}

View File

@@ -1,74 +1,4 @@
Entries:
- author: Errant
changes:
- message: Medical Mask sprite now works on vox.
type: Fix
id: 7052
time: '2024-08-07T03:41:40.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/30702
- author: Lyroth001
changes:
- message: Dragons are immune to flashes
type: Tweak
id: 7053
time: '2024-08-07T07:42:00.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/30658
- author: ShadowCommander
changes:
- message: Rollerbeds can now be dragged to the player to fold and pick them up.
type: Add
id: 7054
time: '2024-08-07T09:19:10.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/30002
- author: Errant
changes:
- message: Survivors arriving via the Unknown Shuttle event, ERT and CBURN agents,
and Death Squad members are now equipped with the appropriate species-specific
survival gear.
type: Fix
- message: Unknown Shuttle event can once again spawn vox characters.
type: Tweak
id: 7055
time: '2024-08-07T09:26:40.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29746
- author: IProduceWidgets
changes:
- message: butter is slippery
type: Tweak
id: 7056
time: '2024-08-07T21:47:03.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29772
- author: Mervill
changes:
- message: Gas Miners now have detailed examine text
type: Tweak
id: 7057
time: '2024-08-08T02:14:31.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/30480
- author: BackeTako
changes:
- message: "!, \u203D and multiple punctuations now work for Spanish."
type: Tweak
id: 7058
time: '2024-08-08T03:08:28.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/30551
- author: strO0pwafel
changes:
- message: Fixed inconsistent naming of CentComm.
type: Fix
id: 7059
time: '2024-08-08T10:04:20.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29217
- author: Plykiya
changes:
- message: Buffed the range of EMP implants from a radius of 1.75 tiles to 2.75
tiles.
type: Tweak
- message: Buffed the range of EMP grenades from a radius of 4 tiles to 5.5 tiles.
type: Tweak
id: 7060
time: '2024-08-08T10:04:50.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/30660
- author: Plykiya
changes:
- message: You can drop food or drinks from your hands to interrupt eating it, again.
@@ -3959,3 +3889,69 @@
id: 7551
time: '2024-10-24T03:41:03.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/32965
- author: slarticodefast
changes:
- message: Mix 1u aluminium, 1u potassium and 1u sulfur for a flash reaction effect.
The radius scales with the reagent amount.
type: Add
id: 7552
time: '2024-10-25T22:47:12.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/32377
- author: BramvanZijp
changes:
- message: Fixed the Lone Nuclear Operative mid-round antagonist being extremely
rare.
type: Fix
id: 7553
time: '2024-10-26T02:16:45.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/32942
- author: Moomoobeef
changes:
- message: Bowls no longer make an eating sound when drinking from them.
type: Fix
id: 7554
time: '2024-10-26T04:00:49.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/32819
- author: SaphireLattice
changes:
- message: Added a warning about unrevivability in the health analyzer UI.
type: Add
id: 7555
time: '2024-10-26T17:22:09.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/32636
- author: slarticodefast
changes:
- message: Fixed pie throwing sound not playing.
type: Fix
id: 7556
time: '2024-10-27T04:25:55.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/33017
- author: stalengd
changes:
- message: Fixed playtime labels not being able to correctly display time greater
than 24 hours
type: Fix
id: 7557
time: '2024-10-28T18:00:00.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/32974
- author: august-sun
changes:
- message: Extended the minimum round time for meteor swarm events.
type: Tweak
id: 7558
time: '2024-10-28T21:25:34.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/32876
- author: deltanedas
changes:
- message: Fixed lava planet expeditions not working.
type: Fix
id: 7559
time: '2024-10-29T05:00:29.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/33042
- author: metalgearsloth
changes:
- message: Fix separated game screen bumping slightly.
type: Fix
id: 7560
time: '2024-10-29T05:07:57.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/33046

File diff suppressed because one or more lines are too long

View File

@@ -37,6 +37,12 @@ reagent-effect-guidebook-emp-reaction-effect =
*[other] cause
} an electromagnetic pulse
reagent-effect-guidebook-flash-reaction-effect =
{ $chance ->
[1] Causes
*[other] cause
} a blinding flash
reagent-effect-guidebook-foam-area-reaction-effect =
{ $chance ->
[1] Creates

View File

@@ -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-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-active = Active

View File

@@ -73,3 +73,4 @@ station-beacon-tools = Tools
station-beacon-disposals = Disposals
station-beacon-cryosleep = Cryosleep
station-beacon-escape-pod = Escape Pod
station-beacon-vox = Vox Break Room

File diff suppressed because it is too large Load Diff

View File

@@ -62944,11 +62944,6 @@ entities:
- type: Transform
pos: 35.5,16.5
parent: 60
- uid: 24676
components:
- type: Transform
pos: 11.5,-11.5
parent: 60
- proto: DefaultStationBeaconAICore
entities:
- uid: 18703
@@ -63342,6 +63337,13 @@ entities:
- type: Transform
pos: 3.5,-6.5
parent: 60
- proto: DefaultStationBeaconVox
entities:
- uid: 23890
components:
- type: Transform
pos: 11.5,-11.5
parent: 60
- proto: DefaultStationBeaconWardensOffice
entities:
- uid: 24426

View File

@@ -11584,7 +11584,7 @@ entities:
pos: 24.5,16.5
parent: 8364
- type: Door
secondsUntilStateChange: -18243.016
secondsUntilStateChange: -18318.04
state: Opening
- type: DeviceLinkSource
lastSignals:
@@ -72442,6 +72442,13 @@ entities:
- type: Transform
pos: -31.5,4.5
parent: 8364
- proto: DefaultStationBeaconVox
entities:
- uid: 27921
components:
- type: Transform
pos: -42.5,-11.5
parent: 8364
- proto: DefaultStationBeaconWardensOffice
entities:
- uid: 27736
@@ -84431,7 +84438,7 @@ entities:
pos: -34.5,-14.5
parent: 8364
- type: Door
secondsUntilStateChange: -12431.553
secondsUntilStateChange: -12506.576
state: Closing
- uid: 15010
components:
@@ -84924,7 +84931,7 @@ entities:
pos: -4.5,-71.5
parent: 8364
- type: Door
secondsUntilStateChange: -4179.284
secondsUntilStateChange: -4254.308
state: Closing
- proto: Fireplace
entities:

View File

@@ -16747,7 +16747,7 @@ entities:
pos: -44.5,68.5
parent: 12
- type: Door
secondsUntilStateChange: -5764.909
secondsUntilStateChange: -5937.642
state: Opening
- type: DeviceLinkSource
lastSignals:
@@ -84185,6 +84185,13 @@ entities:
- type: Transform
pos: -30.5,9.5
parent: 12
- proto: DefaultStationBeaconVox
entities:
- uid: 30179
components:
- type: Transform
pos: 4.5,69.5
parent: 12
- proto: DefaultStationBeaconWardensOffice
entities:
- uid: 20823

View File

@@ -63749,6 +63749,13 @@ entities:
- type: Transform
pos: 54.5,-33.5
parent: 2
- proto: DefaultStationBeaconVox
entities:
- uid: 16173
components:
- type: Transform
pos: -31.5,-2.5
parent: 2
- proto: DefaultStationBeaconWardensOffice
entities:
- uid: 20871
@@ -106044,11 +106051,11 @@ entities:
After several simulations where Superconducting Magnetic Energy Storage units were drained from the main system from [italic]a variety[/italic] of user errors and other shenanigans, it has been determined that the Singularity should be put on its own power loop, disconnected from the main station. The upsides of this include but are not limited to:
[bold]1.[/bold] Limited external forces from the containments power.
[bold]1.[/bold] Limited external forces from the containments power.
[bold]2.[/bold] An "early warning" system, if you see JUST the PA room run out of power, you know there is an issue.
[bold]2.[/bold] An "early warning" system, if you see JUST the PA room run out of power, you know there is an issue.
[bold]3.[/bold] Due to being on its own small loop, its much easier to spot faults in the system.
[bold]3.[/bold] Due to being on its own small loop, its much easier to spot faults in the system.
[italic]While we have listed the upsides we also acknowledge the downside,[/italic] for it being on its own loop you will need an external force if the system "runs out of juice". Our recommendation for this is simply attaching a generator to said SMES and letting it get to full charge before continuing operations but as said from another of our technicians... "just attach it to the main grid for like, a hot moment, and kickstart the thing!"

View File

@@ -14470,7 +14470,7 @@ entities:
lastSignals:
DoorStatus: True
- type: Door
secondsUntilStateChange: -76151.9
secondsUntilStateChange: -76213.97
state: Opening
- uid: 6934
components:
@@ -14482,7 +14482,7 @@ entities:
lastSignals:
DoorStatus: True
- type: Door
secondsUntilStateChange: -76154.53
secondsUntilStateChange: -76216.6
state: Opening
- uid: 6935
components:
@@ -14494,7 +14494,7 @@ entities:
lastSignals:
DoorStatus: True
- type: Door
secondsUntilStateChange: -76153.38
secondsUntilStateChange: -76215.45
state: Opening
- uid: 6936
components:
@@ -14505,7 +14505,7 @@ entities:
lastSignals:
DoorStatus: True
- type: Door
secondsUntilStateChange: -76152.6
secondsUntilStateChange: -76214.67
state: Opening
- proto: AirlockTheatreLocked
entities:
@@ -81255,6 +81255,13 @@ entities:
- type: Transform
pos: -54.5,-11.5
parent: 2
- proto: DefaultStationBeaconVox
entities:
- uid: 29615
components:
- type: Transform
pos: -14.5,17.5
parent: 2
- proto: DefaultStationBeaconWardensOffice
entities:
- uid: 11912
@@ -94258,7 +94265,7 @@ entities:
pos: -13.5,-1.5
parent: 2
- type: Door
secondsUntilStateChange: -67475.88
secondsUntilStateChange: -67537.95
- type: DeviceNetwork
deviceLists:
- 18275
@@ -138807,7 +138814,7 @@ entities:
pos: 36.5,-35.5
parent: 2
- type: Door
secondsUntilStateChange: -104307.73
secondsUntilStateChange: -104369.8
state: Opening
- uid: 5211
components:
@@ -190162,7 +190169,7 @@ entities:
pos: 24.5,2.5
parent: 21002
- type: Door
secondsUntilStateChange: -449512.38
secondsUntilStateChange: -449574.44
state: Opening
- uid: 28863
components:

View File

@@ -280,6 +280,8 @@
checkCanInteract: false
checkConsciousness: false
event: !type:WakeActionEvent
startDelay: true
useDelay: 2
- type: entity
id: ActionActivateHonkImplant

View File

@@ -219,7 +219,6 @@
- Howe
- Huey
- Hughes
- Hujsak
- Hunt
- Hunter
- Hussain

View File

@@ -222,3 +222,16 @@
state: metal_foam-north
- map: [ "enum.EdgeLayer.West" ]
state: metal_foam-west
- type: entity
id: ReactionFlash
categories: [ HideSpawnMenu ]
components:
- type: PointLight
enabled: true
radius: 2
energy: 8
- type: LightFade
duration: 0.5
- type: TimedDespawn
lifetime: 0.5

View File

@@ -79,6 +79,7 @@
icon: Interface/Actions/scream.png
checkCanInteract: false
event: !type:BooActionEvent
startDelay: true
useDelay: 120
- type: entity

View File

@@ -70,6 +70,8 @@
canShuttle: false
title: comms-console-announcement-title-station-ai
color: "#2ed2fd"
- type: Speech
speechVerb: Robotic
- type: entity
id: AiHeldIntellicard

View File

@@ -21,6 +21,10 @@
visible: false
- type: MixableSolution
solution: food
- type: Drink
solution: food
useSound:
path: /Audio/Items/drink.ogg
- type: DamageOnLand
damage:
types:

View File

@@ -639,3 +639,11 @@
components:
- type: NavMapBeacon
defaultText: station-beacon-escape-pod
- type: entity
parent: DefaultStationBeacon
id: DefaultStationBeaconVox
suffix: Vox
components:
- type: NavMapBeacon
defaultText: station-beacon-vox

View File

@@ -113,6 +113,14 @@
- type: GasMiner
spawnGas: Tritium
- type: entity
name: frezon gas miner
parent: GasMinerBase
id: GasMinerFrezon
components:
- type: GasMiner
spawnGas: Frezon
- type: entity
name: water vapor gas miner
parent: GasMinerBase

View File

@@ -57,7 +57,7 @@
components:
- type: GameRule
- type: BasicStationEventScheduler
minimumTimeUntilFirstEvent: 300 # 5 min
minimumTimeUntilFirstEvent: 600 # 10 min
minMaxEventTiming:
min: 750 # 12.5 min
max: 930 # 17.5 min
@@ -70,7 +70,7 @@
components:
- type: GameRule
- type: BasicStationEventScheduler
minimumTimeUntilFirstEvent: 300 # 5 min
minimumTimeUntilFirstEvent: 600 # 10 min
minMaxEventTiming:
min: 750 # 12.5 min
max: 930 # 17.5 min

View File

@@ -127,6 +127,8 @@
Junction: BaseAirlock
WallMounts: ScienceLabsWalls
Window: BaseWindow
tiles:
FallbackTile: FloorDark
whitelists:
Rooms:
tags:

View File

@@ -81,7 +81,7 @@
amount: 1
Sulfur:
amount: 1
Oxygen:
Oxygen:
amount: 2
products:
SulfuricAcid: 3
@@ -205,6 +205,20 @@
energyConsumption: 12500
duration: 15
- type: reaction
id: Flash
impact: High
priority: 20
reactants:
Aluminium:
amount: 1
Potassium:
amount: 1
Sulfur:
amount: 1
effects:
- !type:FlashReactionEffect
- type: reaction
id: TableSalt
minTemp: 370
@@ -501,3 +515,4 @@
amount: 1
products:
Tazinide: 1