Merge remote-tracking branch 'upstream/stable' into ed-08-07-2025-upstream

# Conflicts:
#	Content.Server/Audio/ContentAudioSystem.cs
#	Content.Server/Medical/HealthAnalyzerSystem.cs
#	Content.Server/Shuttles/Systems/ShuttleSystem.cs
#	Resources/Locale/en-US/navmap-beacons/station-beacons.ftl
This commit is contained in:
Ed
2025-07-08 00:40:30 +03:00
920 changed files with 19950 additions and 9262 deletions

View File

@@ -174,7 +174,7 @@ public sealed class DrainSystem : SharedDrainSystem
// but queuedelete should be pretty safe.
if (!_solutionContainerSystem.ResolveSolution(puddle.Owner, puddle.Comp.SolutionName, ref puddle.Comp.Solution, out var puddleSolution))
{
EntityManager.QueueDeleteEntity(puddle);
QueueDel(puddle);
continue;
}

View File

@@ -55,7 +55,7 @@ public sealed class PuddleDebugDebugOverlaySystem : SharedPuddleDebugOverlaySyst
if (session.AttachedEntity is not { Valid: true } entity)
continue;
var transform = EntityManager.GetComponent<TransformComponent>(entity);
var transform = Comp<TransformComponent>(entity);
var worldBounds = Box2.CenteredAround(_transform.GetWorldPosition(transform),

View File

@@ -69,7 +69,8 @@ public sealed partial class PuddleSystem
if (totalSplit == 0)
return;
args.Handled = true;
// Optionally allow further melee handling occur
args.Handled = entity.Comp.PreventMelee;
// First update the hit count so anything that is not reactive wont count towards the total!
foreach (var hit in args.HitEntities)

View File

@@ -47,7 +47,6 @@ public sealed partial class PuddleSystem : SharedPuddleSystem
[Dependency] private readonly SharedMapSystem _map = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly ITileDefinitionManager _tileDefMan = default!;
[Dependency] private readonly AudioSystem _audio = default!;
[Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly ReactiveSystem _reactive = default!;
@@ -59,6 +58,7 @@ public sealed partial class PuddleSystem : SharedPuddleSystem
[Dependency] private readonly SpeedModifierContactsSystem _speedModContacts = default!;
[Dependency] private readonly TileFrictionController _tile = default!;
[Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly TurfSystem _turf = default!;
[ValidatePrototypeId<ReagentPrototype>]
private const string Blood = "Blood";
@@ -686,7 +686,7 @@ public sealed partial class PuddleSystem : SharedPuddleSystem
}
// If space return early, let that spill go out into the void
if (tileRef.Tile.IsEmpty || tileRef.IsSpace(_tileDefMan))
if (tileRef.Tile.IsEmpty || _turf.IsSpace(tileRef))
{
puddleUid = EntityUid.Invalid;
return false;
@@ -741,7 +741,7 @@ public sealed partial class PuddleSystem : SharedPuddleSystem
}
var coords = _map.GridTileToLocal(gridId, mapGrid, tileRef.GridIndices);
puddleUid = EntityManager.SpawnEntity("Puddle", coords);
puddleUid = Spawn("Puddle", coords);
EnsureComp<PuddleComponent>(puddleUid);
if (TryAddSolution(puddleUid, solution, sound))
{

View File

@@ -1,8 +1,8 @@
using Content.Server.Administration.Logs;
using Content.Server.Body.Components;
using Content.Server.Body.Systems;
using Content.Shared.EntityEffects.Effects;
using Content.Server.Spreader;
using Content.Shared.Body.Components;
using Content.Shared.Chemistry;
using Content.Shared.Chemistry.Components;
using Content.Shared.Chemistry.EntitySystems;
@@ -288,7 +288,7 @@ public sealed class SmokeSystem : EntitySystem
if (blockIngestion)
return;
if (_blood.TryAddToChemicals(entity, transferSolution, bloodstream))
if (_blood.TryAddToChemicals((entity, bloodstream), transferSolution))
{
// Log solution addition by smoke
_logger.Add(LogType.ForceFeed, LogImpact.Medium, $"{ToPrettyString(entity):target} ingested smoke {SharedSolutionContainerSystem.ToPrettyString(transferSolution)}");