From fa00c5f5289b6053c03dbb9d99fd1230892799b7 Mon Sep 17 00:00:00 2001 From: CaypenNow <66198468+CaypenNow@users.noreply.github.com> Date: Tue, 2 Apr 2024 19:19:23 +0500 Subject: [PATCH] =?UTF-8?q?[Fixes]=20=D0=92=D1=81=D1=8F=D0=BA=D0=BE=D0=B5?= =?UTF-8?q?=20(#265)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * syndicate teleporter fixes * trigger fix --- .../EntitySystems/TriggerSystem.Voice.cs | 17 +++++++++++++++++ .../ExperimentalSyndicateTeleporter.cs | 16 +++++++--------- .../ExperimentalSyndicateTeleporterComponent.cs | 4 ++-- .../Entities/Objects/Specific/chemistry.yml | 1 + 4 files changed, 27 insertions(+), 11 deletions(-) diff --git a/Content.Server/Explosion/EntitySystems/TriggerSystem.Voice.cs b/Content.Server/Explosion/EntitySystems/TriggerSystem.Voice.cs index c00f591d92..d6f50a1f45 100644 --- a/Content.Server/Explosion/EntitySystems/TriggerSystem.Voice.cs +++ b/Content.Server/Explosion/EntitySystems/TriggerSystem.Voice.cs @@ -3,6 +3,7 @@ using Content.Server.Speech; using Content.Server.Speech.Components; using Content.Shared.Database; using Content.Shared.Examine; +using Content.Shared.Interaction.Events; using Content.Shared.Verbs; namespace Content.Server.Explosion.EntitySystems @@ -15,6 +16,7 @@ namespace Content.Server.Explosion.EntitySystems SubscribeLocalEvent(OnVoiceExamine); SubscribeLocalEvent>(OnVoiceGetAltVerbs); SubscribeLocalEvent(OnListen); + SubscribeLocalEvent(OnUseInHand); } private void OnVoiceInit(EntityUid uid, TriggerOnVoiceComponent component, ComponentInit args) @@ -81,6 +83,21 @@ namespace Content.Server.Explosion.EntitySystems }); } + public void OnUseInHand(Entity ent, ref UseInHandEvent args) + { + if(args.Handled) + return; + + if (ent.Comp.IsRecording) + { + StopRecording(ent); + } + else + { + StartRecording(ent, args.User); + } + } + public void StartRecording(Entity ent, EntityUid user) { var component = ent.Comp; diff --git a/Content.Server/_White/ExperimentalSyndicateTeleporter/ExperimentalSyndicateTeleporter.cs b/Content.Server/_White/ExperimentalSyndicateTeleporter/ExperimentalSyndicateTeleporter.cs index 5faa4afe2d..ba7d5b976b 100644 --- a/Content.Server/_White/ExperimentalSyndicateTeleporter/ExperimentalSyndicateTeleporter.cs +++ b/Content.Server/_White/ExperimentalSyndicateTeleporter/ExperimentalSyndicateTeleporter.cs @@ -47,16 +47,15 @@ public sealed class ExperimentalSyndicateTeleporter : EntitySystem if (component.Uses >= 4) continue; - component.ChargeCooldown += _timing.FrameTime; + component.ChargeCooldown += frameTime; - if (component.ChargeCooldown <= component.NextRechargeAttempt) + if (component.ChargeCooldown <= component.NextRechargeAttempt.TotalSeconds) continue; - if (_random.Next(0, 10) != 0) - { - component.ChargeCooldown = TimeSpan.Zero; + component.ChargeCooldown = 0F; + + if (!_random.Prob(0.1F)) continue; - } component.Uses++; } @@ -102,7 +101,7 @@ public sealed class ExperimentalSyndicateTeleporter : EntitySystem if (TryCheckWall(coords)) { - EmergencyTeleportation(args.User, xform, component, oldCoords); + EmergencyTeleportation(args.User, xform, component, oldCoords, newOffset); return; } @@ -119,9 +118,8 @@ public sealed class ExperimentalSyndicateTeleporter : EntitySystem args.PushMarkup(Loc.GetString("experimental-syndicate-teleporter-examine", ("uses", component.Uses))); } - private void EmergencyTeleportation(EntityUid uid, TransformComponent xform, ExperimentalSyndicateTeleporterComponent component, EntityCoordinates oldCoords) + private void EmergencyTeleportation(EntityUid uid, TransformComponent xform, ExperimentalSyndicateTeleporterComponent component, EntityCoordinates oldCoords, Vector2 offset) { - var offset = xform.LocalRotation.ToWorldVec().Normalized(); var newOffset = offset + VectorRandomDirection(component, offset, component.EmergencyLength); var coords = xform.Coordinates.Offset(newOffset).SnapToGrid(EntityManager); diff --git a/Content.Server/_White/ExperimentalSyndicateTeleporter/ExperimentalSyndicateTeleporterComponent.cs b/Content.Server/_White/ExperimentalSyndicateTeleporter/ExperimentalSyndicateTeleporterComponent.cs index a070a3c0f9..4806ddc3db 100644 --- a/Content.Server/_White/ExperimentalSyndicateTeleporter/ExperimentalSyndicateTeleporterComponent.cs +++ b/Content.Server/_White/ExperimentalSyndicateTeleporter/ExperimentalSyndicateTeleporterComponent.cs @@ -17,7 +17,7 @@ public sealed partial class ExperimentalSyndicateTeleporterComponent : Component public int MaxTeleportRange = 8; [ViewVariables(VVAccess.ReadWrite)] - public int EmergencyLength = 3; + public int EmergencyLength = 4; [ViewVariables(VVAccess.ReadWrite)] public List RandomRotations = new() {90, -90}; @@ -41,5 +41,5 @@ public sealed partial class ExperimentalSyndicateTeleporterComponent : Component public TimeSpan NextRechargeAttempt = TimeSpan.FromSeconds(1); [ViewVariables(VVAccess.ReadOnly)] - public TimeSpan ChargeCooldown = TimeSpan.Zero; + public float ChargeCooldown = 0F; } diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml index 2379c7746a..9041d8cd29 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml @@ -279,6 +279,7 @@ - type: Spillable solution: injector - type: Item + size: Tiny sprite: Objects/Specific/Chemistry/dropper.rsi - type: Appearance - type: SolutionContainerVisuals