Improve implanter descriptions (#18403)
* Rewrite all implanter and implant descriptions * Make implanter status control resemble syringe's * Add implant description to implanter examine * Remove unused usings
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using Content.Client.Message;
|
||||
using Content.Client.Message;
|
||||
using Content.Client.Stylesheets;
|
||||
using Content.Shared.Implants.Components;
|
||||
using Robust.Client.UserInterface;
|
||||
@@ -16,6 +16,7 @@ public sealed class ImplanterStatusControl : Control
|
||||
{
|
||||
_parent = parent;
|
||||
_label = new RichTextLabel { StyleClasses = { StyleNano.StyleClassItemStatus } };
|
||||
_label.MaxWidth = 350;
|
||||
AddChild(_label);
|
||||
|
||||
Update();
|
||||
@@ -41,13 +42,17 @@ public sealed class ImplanterStatusControl : Control
|
||||
_ => Loc.GetString("injector-invalid-injector-toggle-mode")
|
||||
};
|
||||
|
||||
var entitiesStringLocalized = _parent.ImplanterSlot.HasItem switch
|
||||
var (implantName, implantDescription) = _parent.ImplanterSlot.HasItem switch
|
||||
{
|
||||
false => Loc.GetString("implanter-empty-text"),
|
||||
true => Loc.GetString("implanter-implant-text", ("implantName", _parent.ImplantData.Item1), ("implantDescription", _parent.ImplantData.Item2), ("lineBreak", "\n")),
|
||||
false => (Loc.GetString("implanter-empty-text"), ""),
|
||||
true => (_parent.ImplantData.Item1, _parent.ImplantData.Item2),
|
||||
};
|
||||
|
||||
|
||||
_label.SetMarkup(Loc.GetString("implanter-label", ("currentEntities", entitiesStringLocalized), ("modeString", modeStringLocalized), ("lineBreak", "\n")));
|
||||
_label.SetMarkup(Loc.GetString("implanter-label",
|
||||
("implantName", implantName),
|
||||
("implantDescription", implantDescription),
|
||||
("modeString", modeStringLocalized),
|
||||
("lineBreak", "\n")));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Content.Shared.Containers.ItemSlots;
|
||||
using Content.Shared.DoAfter;
|
||||
using Content.Shared.Examine;
|
||||
using Content.Shared.IdentityManagement;
|
||||
using Content.Shared.Implants.Components;
|
||||
using Content.Shared.Popups;
|
||||
using Robust.Shared.Containers;
|
||||
using Robust.Shared.Player;
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.Implants;
|
||||
@@ -25,6 +24,7 @@ public abstract class SharedImplanterSystem : EntitySystem
|
||||
|
||||
SubscribeLocalEvent<ImplanterComponent, ComponentInit>(OnImplanterInit);
|
||||
SubscribeLocalEvent<ImplanterComponent, EntInsertedIntoContainerMessage>(OnEntInserted);
|
||||
SubscribeLocalEvent<ImplanterComponent, ExaminedEvent>(OnExamine);
|
||||
}
|
||||
|
||||
private void OnImplanterInit(EntityUid uid, ImplanterComponent component, ComponentInit args)
|
||||
@@ -41,6 +41,13 @@ public abstract class SharedImplanterSystem : EntitySystem
|
||||
component.ImplantData = (implantData.EntityName, implantData.EntityDescription);
|
||||
}
|
||||
|
||||
private void OnExamine(EntityUid uid, ImplanterComponent component, ExaminedEvent args)
|
||||
{
|
||||
if (!component.ImplanterSlot.HasItem || !args.IsInDetailsRange)
|
||||
return;
|
||||
|
||||
args.PushMarkup(Loc.GetString("implanter-contained-implant-text", ("desc", component.ImplantData.Item2)));
|
||||
}
|
||||
|
||||
//Instantly implant something and add all necessary components and containers.
|
||||
//Set to draw mode if not implant only
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
## Implanter Attempt Messages
|
||||
## Implanter Attempt Messages
|
||||
|
||||
implanter-component-implanting-target = {$user} is trying to implant you with something!
|
||||
implanter-draw-failed-permanent = The {$implant} in {$target} is fused with them and cannot be removed!
|
||||
@@ -9,9 +9,10 @@ implanter-draw-text = Draw
|
||||
implanter-inject-text = Inject
|
||||
|
||||
implanter-empty-text = None
|
||||
implanter-implant-text = {$implantName}{$lineBreak}{$implantDescription}
|
||||
|
||||
implanter-label = [color=white]Implant: {$currentEntities}{$lineBreak}Mode: {$modeString}[/color]
|
||||
implanter-label = Implant: [color=green]{$implantName}[/color] | [color=white]{$modeString}[/color]{$lineBreak}{$implantDescription}
|
||||
|
||||
implanter-contained-implant-text = [color=green]{$desc}[/color]
|
||||
|
||||
## Implanter Actions
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Implanters
|
||||
# Implanters
|
||||
|
||||
- type: entity
|
||||
name: implanter
|
||||
description: a syringe fitted to be used exclusively with implants
|
||||
description: A syringe exclusively designed for the injection and extraction of subdermal implants.
|
||||
id: BaseImplanter
|
||||
parent: BaseItem
|
||||
abstract: true
|
||||
@@ -48,6 +48,7 @@
|
||||
- type: entity
|
||||
id: Implanter
|
||||
parent: BaseImplanter
|
||||
description: A disposable syringe exclusively designed for the injection and extraction of subdermal implants.
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
@@ -56,7 +57,7 @@
|
||||
- type: entity
|
||||
id: BaseImplantOnlyImplanter
|
||||
parent: Implanter
|
||||
description: a single use implanter
|
||||
description: A disposable syringe exclusively designed for the injection of subdermal implants.
|
||||
abstract: true
|
||||
components:
|
||||
- type: Sprite
|
||||
@@ -78,7 +79,6 @@
|
||||
- type: entity
|
||||
id: SadTromboneImplanter
|
||||
name: sad trombone implanter
|
||||
description: a single use implanter, the implant plays a sad tune on death
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
@@ -87,7 +87,6 @@
|
||||
- type: entity
|
||||
id: LightImplanter
|
||||
name: light implanter
|
||||
description: a single use implanter, the implant emits light on activation
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
@@ -96,7 +95,6 @@
|
||||
- type: entity
|
||||
id: BikeHornImplanter
|
||||
name: bike horn implanter
|
||||
description: a single use implanter, the implant makes you able to honk anywhere at any time
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
@@ -107,7 +105,6 @@
|
||||
- type: entity
|
||||
id: TrackingImplanter
|
||||
name: tracking implanter
|
||||
description: a single use implanter, the implant tracks
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
@@ -118,7 +115,6 @@
|
||||
- type: entity
|
||||
id: StorageImplanter
|
||||
name: storage implanter
|
||||
description: a single use implanter, the implant grants hidden storage
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
@@ -127,7 +123,6 @@
|
||||
- type: entity
|
||||
id: FreedomImplanter
|
||||
name: freedom implanter
|
||||
description: a single use implanter, the implant lets the user break out of hand restraints three times
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
@@ -136,7 +131,6 @@
|
||||
- type: entity
|
||||
id: UplinkImplanter
|
||||
name: uplink implanter
|
||||
description: a single use implanter, the implant lets the user access a syndicate uplink at will
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
@@ -145,7 +139,6 @@
|
||||
- type: entity
|
||||
id: EmpImplanter
|
||||
name: EMP implanter
|
||||
description: a single use implanter, the implant creates an EMP pulse when you activate it.
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
@@ -153,8 +146,7 @@
|
||||
|
||||
- type: entity
|
||||
id: DnaScramblerImplanter
|
||||
name: dna scrambler implanter
|
||||
description: a single use implanter, the implant allows you to randomly change your appearance and name once.
|
||||
name: DNA scrambler implanter
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
@@ -166,8 +158,7 @@
|
||||
|
||||
- type: entity
|
||||
id: MicroBombImplanter
|
||||
name: micro bomb implanter
|
||||
description: a single use implanter, the implant is permanent and blows the user up on death
|
||||
name: micro-bomb implanter
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
@@ -175,8 +166,7 @@
|
||||
|
||||
- type: entity
|
||||
id: MacroBombImplanter
|
||||
name: macro bomb implanter
|
||||
description: a single use implanter, the implant creates a large explosion on death after the alloted time
|
||||
name: macro-bomb implanter
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
@@ -184,8 +174,7 @@
|
||||
|
||||
- type: entity
|
||||
id: DeathRattleImplanter
|
||||
name: Deathrattle implanter
|
||||
description: a single use implanter, the implant will inform anyone with access to the syndicate radio channel of your death.
|
||||
name: death rattle implanter
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
parent: BaseItem
|
||||
id: BaseSubdermalImplant
|
||||
name: implant
|
||||
description: a microscopic chip that's injected under the skin
|
||||
description: A microscopic chip that's injected under the skin.
|
||||
abstract: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
@@ -17,7 +17,7 @@
|
||||
parent: BaseSubdermalImplant
|
||||
id: SadTromboneImplant
|
||||
name: sad trombone implant
|
||||
description: plays a sad tune when the user dies
|
||||
description: This implant plays a sad tune when the user dies.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
@@ -34,7 +34,7 @@
|
||||
parent: BaseSubdermalImplant
|
||||
id: LightImplant
|
||||
name: light implant
|
||||
description: makes your skin emit a faint light
|
||||
description: This implant emits light from the user's skin on activation.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
@@ -62,7 +62,7 @@
|
||||
parent: BaseSubdermalImplant
|
||||
id: BikeHornImplant
|
||||
name: bike horn implant
|
||||
description: Makes you honk
|
||||
description: This implant lets the user honk anywhere at any time.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
@@ -83,7 +83,7 @@
|
||||
parent: BaseSubdermalImplant
|
||||
id: TrackingImplant
|
||||
name: tracking implant
|
||||
description: tracks whoever was implanted via the suit sensor network
|
||||
description: This implant has a tracking device attached to the suit sensor network, as well as a condition monitor for the Security radio channel.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
@@ -110,7 +110,7 @@
|
||||
parent: BaseSubdermalImplant
|
||||
id: StorageImplant
|
||||
name: storage implant
|
||||
description: made with bluespace technology, allows the user to fit a few items in hidden storage
|
||||
description: This implant grants hidden storage within a person's body using bluespace technology.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
@@ -132,7 +132,7 @@
|
||||
parent: BaseSubdermalImplant
|
||||
id: FreedomImplant
|
||||
name: freedom implant
|
||||
description: you can break these cuffs
|
||||
description: This implant lets the user break out of hand restraints up to three times before ceasing to function anymore.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
@@ -142,7 +142,7 @@
|
||||
parent: BaseSubdermalImplant
|
||||
id: UplinkImplant
|
||||
name: uplink implant
|
||||
description: allows the user to open a hidden uplink at will
|
||||
description: This implant lets the user access a hidden Syndicate uplink at will.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
@@ -160,7 +160,7 @@
|
||||
parent: BaseSubdermalImplant
|
||||
id: EmpImplant
|
||||
name: EMP implant
|
||||
description: allows the user to release a small EMP pulse
|
||||
description: This implant creates an electromagnetic pulse when activated.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
@@ -175,7 +175,7 @@
|
||||
parent: BaseSubdermalImplant
|
||||
id: DnaScramblerImplant
|
||||
name: DNA scrambler implant
|
||||
description: allows the user to change their appearance and name
|
||||
description: This implant lets the user randomly change their appearance and name once.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
@@ -186,8 +186,8 @@
|
||||
- type: entity
|
||||
parent: BaseSubdermalImplant
|
||||
id: MicroBombImplant
|
||||
name: micro bomb implant
|
||||
description: mission failed, user blows up on death to prevent company equipment from being stolen
|
||||
name: micro-bomb implant
|
||||
description: This implant detonates the user upon death.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
@@ -216,8 +216,8 @@
|
||||
- type: entity
|
||||
parent: BaseSubdermalImplant
|
||||
id: MacroBombImplant
|
||||
name: macro bomb implant
|
||||
description: a large explosion packed into a small implant, be warned as this could be dangerous for your teammates
|
||||
name: macro-bomb implant
|
||||
description: This implant creates a large explosion on death after a preprogrammed countdown.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
@@ -250,8 +250,8 @@
|
||||
- type: entity
|
||||
parent: BaseSubdermalImplant
|
||||
id: DeathRattleImplant
|
||||
name: deathrattle implant
|
||||
description: sends a message with your location to the syndicate radio channel when you fall into a critical state or die.
|
||||
name: death rattle implant
|
||||
description: This implant will inform the Syndicate radio channel should the user fall into critical condition or die.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
|
||||
Reference in New Issue
Block a user