]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Voice trigger fixes, death acidifier typos (#24941)
authorKrunklehorn <42424291+Krunklehorn@users.noreply.github.com>
Wed, 21 Feb 2024 06:57:23 +0000 (01:57 -0500)
committerGitHub <noreply@github.com>
Wed, 21 Feb 2024 06:57:23 +0000 (23:57 -0700)
* Fixed length check, added attempt event, added popups on failure

* Fixed file name typo, fixed description

* Converted to else-if

Content.Server/Explosion/EntitySystems/TriggerSystem.Voice.cs
Resources/Locale/en-US/weapons/grenades/voice-trigger.ftl
Resources/Prototypes/Entities/Effects/acidifier.yml [moved from Resources/Prototypes/Entities/Effects/acidifer.yml with 100% similarity]
Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml

index c00f591d92bf83955936bfde584691cf46801f4b..c78a8923cd21f6fdc7144de45c239035a1eb5da0 100644 (file)
@@ -32,8 +32,19 @@ namespace Content.Server.Explosion.EntitySystems
 
             if (component.IsRecording)
             {
-                if (message.Length >= component.MinLength || message.Length <= component.MaxLength)
+                var ev = new ListenAttemptEvent(args.Source);
+                RaiseLocalEvent(ent, ev);
+
+                if (ev.Cancelled)
+                    return;
+
+                if (message.Length >= component.MinLength && message.Length <= component.MaxLength)
                     FinishRecording(ent, args.Source, args.Message);
+                else if (message.Length > component.MaxLength)
+                    _popupSystem.PopupEntity(Loc.GetString("popup-trigger-voice-record-failed-too-long"), ent);
+                else if (message.Length < component.MinLength)
+                    _popupSystem.PopupEntity(Loc.GetString("popup-trigger-voice-record-failed-too-short"), ent);
+
                 return;
             }
 
@@ -55,7 +66,7 @@ namespace Content.Server.Explosion.EntitySystems
             var @event = args;
             args.Verbs.Add(new AlternativeVerb()
             {
-                Text = Loc.GetString(component.IsRecording ? "verb-trigger-voice-record-stop" : "verb-trigger-voice-record"),
+                Text = Loc.GetString(component.IsRecording ? "verb-trigger-voice-stop" : "verb-trigger-voice-record"),
                 Act = () =>
                 {
                     if (component.IsRecording)
index f20d68871273d4a2ed22c2e0dc39589099ff857f..07ee5948d54890f830f558e15957eda4cafc1039 100644 (file)
@@ -2,8 +2,11 @@ examine-trigger-voice = The display reads: "{$keyphrase}"
 trigger-voice-uninitialized = The display reads: Uninitialized...
 
 verb-trigger-voice-record = Record
+verb-trigger-voice-stop = Stop
 verb-trigger-voice-clear = Clear recording
 
 popup-trigger-voice-start-recording = Started recording
 popup-trigger-voice-stop-recording = Stopped recording
-popup-trigger-voice-recorded = Recorded
\ No newline at end of file
+popup-trigger-voice-record-failed-too-long = Message too long, try again
+popup-trigger-voice-record-failed-too-short = Message too short, try again
+popup-trigger-voice-recorded = Recorded successfully
index 092b013f5b776c96592f3c22f6b48f0c8e381dba..dcdb316b7ec6a23fbaa11f5b9838c4bfbe056f9d 100644 (file)
       range: 1.75
       energyConsumption: 50000
       disableDuration: 10
-      
+
 - type: entity
   parent: BaseSubdermalImplant
   id: ScramImplant
   parent: BaseSubdermalImplant
   id: MicroBombImplant
   name: micro-bomb implant
-  description: This implant detonates the user upon death.
+  description: This implant detonates the user upon activation or upon death.
   noSpawn: true
   components:
     - type: SubdermalImplant