diff --git a/Content.IntegrationTests/Tests/DoAfter/DoAfterCancellationTests.cs b/Content.IntegrationTests/Tests/DoAfter/DoAfterCancellationTests.cs index d47eb13273..6cec4cf30a 100644 --- a/Content.IntegrationTests/Tests/DoAfter/DoAfterCancellationTests.cs +++ b/Content.IntegrationTests/Tests/DoAfter/DoAfterCancellationTests.cs @@ -69,6 +69,15 @@ public async Task CancelTilePry() { await SetTile(Floor); await Interact(Pry, awaitDoAfters: false); + + // WD EDIT START + if (!ActiveDoAfters.Any()) + { + await AssertTile(Plating); + return; + } + // WD EDIT END + await CancelDoAfters(); await AssertTile(Floor); @@ -82,6 +91,10 @@ public async Task CancelRepeatedTilePry() await SetTile(Floor); await Interact(Pry, awaitDoAfters: false); await RunTicks(1); + + if (!ActiveDoAfters.Any()) // WD EDIT + return; + Assert.That(ActiveDoAfters.Count(), Is.EqualTo(1)); await AssertTile(Floor); diff --git a/Content.Shared/Prying/Components/PryingComponent.cs b/Content.Shared/Prying/Components/PryingComponent.cs index 7a7f304d8f..4bb4f175a0 100644 --- a/Content.Shared/Prying/Components/PryingComponent.cs +++ b/Content.Shared/Prying/Components/PryingComponent.cs @@ -75,6 +75,7 @@ public record struct GetPryTimeModifierEvent public readonly EntityUid User; public float PryTimeModifier = 1.0f; public float BaseTime = 5.0f; + public float Neglect = 5f; // WD EDIT public GetPryTimeModifierEvent(EntityUid user) { diff --git a/Content.Shared/Prying/Systems/PryingSystem.cs b/Content.Shared/Prying/Systems/PryingSystem.cs index fa7a135e6c..8dc6efd4de 100644 --- a/Content.Shared/Prying/Systems/PryingSystem.cs +++ b/Content.Shared/Prying/Systems/PryingSystem.cs @@ -133,7 +133,14 @@ private bool StartPry(EntityUid target, EntityUid user, EntityUid? tool, float t var modEv = new GetPryTimeModifierEvent(user); RaiseLocalEvent(target, ref modEv); - var doAfterArgs = new DoAfterArgs(EntityManager, user, TimeSpan.FromSeconds(modEv.BaseTime * modEv.PryTimeModifier / toolModifier), new DoorPryDoAfterEvent(), target, target, tool) + + // WD EDIT START + var time = modEv.BaseTime * modEv.PryTimeModifier / toolModifier; + + if (time <= modEv.Neglect) + time = 0; + + var doAfterArgs = new DoAfterArgs(EntityManager, user, TimeSpan.FromSeconds(time), new DoorPryDoAfterEvent(), target, target, tool) // WD EDIT END { BreakOnDamage = true, BreakOnUserMove = true, @@ -167,7 +174,7 @@ private void OnDoAfter(EntityUid uid, DoorComponent door, DoorPryDoAfterEvent ar return; } - if (args.Used != null && comp != null) + if (args.Used != null && comp != null && door.State is not DoorState.Closing and not DoorState.Opening) // WD EDIT { _audioSystem.PlayPredicted(comp.UseSound, args.Used.Value, args.User); } diff --git a/Content.Shared/Tools/Components/ToolTileCompatibleComponent.cs b/Content.Shared/Tools/Components/ToolTileCompatibleComponent.cs index caac41a3de..4bddf5a2fd 100644 --- a/Content.Shared/Tools/Components/ToolTileCompatibleComponent.cs +++ b/Content.Shared/Tools/Components/ToolTileCompatibleComponent.cs @@ -18,7 +18,7 @@ public sealed partial class ToolTileCompatibleComponent : Component /// The time it takes to modify the tile. /// [DataField, ViewVariables(VVAccess.ReadWrite)] - public TimeSpan Delay = TimeSpan.FromSeconds(1); + public TimeSpan Delay = TimeSpan.FromSeconds(0); // WD EDIT /// /// Whether or not the tile being modified must be unobstructed diff --git a/Resources/Locale/ru-RU/chat/managers/chat-manager.ftl b/Resources/Locale/ru-RU/chat/managers/chat-manager.ftl index ca119bae8f..b3d596f33e 100644 --- a/Resources/Locale/ru-RU/chat/managers/chat-manager.ftl +++ b/Resources/Locale/ru-RU/chat/managers/chat-manager.ftl @@ -31,7 +31,7 @@ chat-manager-entity-whisper-unknown-wrap-message = [font size=11][italic][Bubble chat-manager-entity-me-wrap-message = { $entityName } { $message } chat-manager-entity-looc-wrap-message = LOOC: [bold]{$entityName}:[/bold] {$message} -chat-manager-send-ooc-wrap-message = OOC: [bold]{$playerName}{$rep}:[/bold] {$message} +chat-manager-send-ooc-wrap-message = OOC: [bold]{$playerName}:[/bold] {$message} chat-manager-send-ooc-patron-wrap-message = OOC: [bold][color={$patronColor}]{$playerName}[/color]{$rep}:[/bold] {$message} chat-manager-send-dead-chat-wrap-message = {$deadChannelName}: [bold][BubbleHeader]{$playerName}[/BubbleHeader]:[/bold] [BubbleContent]{$message}[/BubbleContent]