From 9390512c7edd5a2067dc6adfe0038fe425230974 Mon Sep 17 00:00:00 2001 From: Lazzi0706 Date: Sun, 11 Feb 2024 16:42:34 +0700 Subject: [PATCH 01/10] new files stucture + renaming + code refactor --- .../Implants/SubdermalImplantSystem.cs | 28 +++--- .../Components/SubdermalImplantComponent.cs | 2 +- .../Implants/SharedImplanterSystem.cs | 7 +- .../ChemicalImplantComponent.cs | 10 ++ .../ReagentCapsuleComponent.cs | 12 --- .../chemimplanters.yml} | 30 +++--- .../chemimplants.yml} | 99 +++---------------- .../reagents.yml} | 0 .../SS220/ChemicalImplants/uplink.yml | 83 ++++++++++++++++ Resources/Prototypes/Store/categories.yml | 4 +- Resources/Prototypes/Store/presets.yml | 2 +- Resources/Prototypes/tags.yml | 9 +- client_output.txt | 9 ++ 13 files changed, 153 insertions(+), 142 deletions(-) create mode 100644 Content.Shared/SS220/ChemicalImplant/ChemicalImplantComponent.cs delete mode 100644 Content.Shared/SS220/ReagentImplanter/ReagentCapsuleComponent.cs rename Resources/Prototypes/SS220/{ReagentInjector/reagents_implanter.yml => ChemicalImplants/chemimplanters.yml} (69%) rename Resources/Prototypes/SS220/{ReagentInjector/reagents_capsule.yml => ChemicalImplants/chemimplants.yml} (58%) rename Resources/Prototypes/SS220/{ReagentInjector/unical_reagents.yml => ChemicalImplants/reagents.yml} (100%) create mode 100644 Resources/Prototypes/SS220/ChemicalImplants/uplink.yml create mode 100644 client_output.txt diff --git a/Content.Server/Implants/SubdermalImplantSystem.cs b/Content.Server/Implants/SubdermalImplantSystem.cs index a1287584ab9f..212034c2f824 100644 --- a/Content.Server/Implants/SubdermalImplantSystem.cs +++ b/Content.Server/Implants/SubdermalImplantSystem.cs @@ -21,7 +21,8 @@ using Robust.Shared.Physics.Components; using Robust.Shared.Random; using System.Numerics; -using Content.Shared.SS220.ReagentImplanter; +using Content.Shared.SS220.ChemicalImplant; +using FastAccessors; namespace Content.Server.Implants; @@ -47,7 +48,7 @@ public override void Initialize() _physicsQuery = GetEntityQuery(); - SubscribeLocalEvent(OnReagentCapsuleImplant); + SubscribeLocalEvent(OnChemicaImplant); // SS220 - chemical-implants start SubscribeLocalEvent(OnFreedomImplant); SubscribeLocalEvent>(OnStoreRelay); SubscribeLocalEvent(OnActivateImplantEvent); @@ -56,28 +57,25 @@ public override void Initialize() } - private void OnReagentCapsuleImplant(EntityUid uid, SubdermalImplantComponent component, UseReagentCapsuleImplantEvent args) + // SS220 - chemical-implants start + private void OnChemicaImplant(EntityUid uid, SubdermalImplantComponent component, UseChemicalImplantEvent args) { - if (!TryComp(args.Performer, out var ownerSolutionContainerComp) - || !TryComp(uid, out var reagentCapsule) - || !TryComp(uid, out var capsuleContainer)) + if (component.ImplantedEntity is not { } ent + ||!TryComp(args.Performer, out var performerSolution) + || !TryComp(uid, out var implantSolution)) return; - if (args.Handled || reagentCapsule.IsUsed) - return; - - if (!_solutionContainer.TryGetSolution(new(args.Performer, ownerSolutionContainerComp), "chemicals", out var chemicals)) - return; - - if (!_solutionContainer.TryGetSolution(new(uid, capsuleContainer), "beaker", out var beaker)) + if (args.Handled) return; - _solutionContainer.TryTransferSolution(chemicals.Value, beaker.Value.Comp.Solution, beaker.Value.Comp.Solution.Volume); - reagentCapsule.IsUsed = true; args.Handled = true; + QueueDel(uid); + } + // SS220 - chemical-implants end + private void OnStoreRelay(EntityUid uid, StoreComponent store, ImplantRelayEvent implantRelay) { var args = implantRelay.Event; diff --git a/Content.Shared/Implants/Components/SubdermalImplantComponent.cs b/Content.Shared/Implants/Components/SubdermalImplantComponent.cs index 9e9a08e8d4d0..2b710b5fade3 100644 --- a/Content.Shared/Implants/Components/SubdermalImplantComponent.cs +++ b/Content.Shared/Implants/Components/SubdermalImplantComponent.cs @@ -51,7 +51,7 @@ public sealed partial class SubdermalImplantComponent : Component public EntityWhitelist? Blacklist; } -public sealed partial class UseReagentCapsuleImplantEvent : InstantActionEvent +public sealed partial class UseChemicalImplantEvent : InstantActionEvent { } diff --git a/Content.Shared/Implants/SharedImplanterSystem.cs b/Content.Shared/Implants/SharedImplanterSystem.cs index a2d6ff1fcbd1..0199398fc417 100644 --- a/Content.Shared/Implants/SharedImplanterSystem.cs +++ b/Content.Shared/Implants/SharedImplanterSystem.cs @@ -7,7 +7,7 @@ using Content.Shared.IdentityManagement; using Content.Shared.Implants.Components; using Content.Shared.Popups; -using Content.Shared.SS220.ReagentImplanter; +using Content.Shared.SS220.ChemicalImplant; using Content.Shared.Whitelist; using Robust.Shared.Containers; using Robust.Shared.Serialization; @@ -100,11 +100,6 @@ public bool CanImplant( return false; } - if(TryComp(implant, out var capsuleComp) && capsuleComp.IsUsed) - { - _popup.PopupEntity(Loc.GetString("implanter-inject-used-capsule"), target); - } - var ev = new AddImplantAttemptEvent(user, target, implant.Value, implanter); RaiseLocalEvent(target, ev); return !ev.Cancelled; diff --git a/Content.Shared/SS220/ChemicalImplant/ChemicalImplantComponent.cs b/Content.Shared/SS220/ChemicalImplant/ChemicalImplantComponent.cs new file mode 100644 index 000000000000..349619edabec --- /dev/null +++ b/Content.Shared/SS220/ChemicalImplant/ChemicalImplantComponent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.SS220.ChemicalImplant +{ + [RegisterComponent, NetworkedComponent] + public sealed partial class ChemicalImplantComponent : Component + { + } + +} diff --git a/Content.Shared/SS220/ReagentImplanter/ReagentCapsuleComponent.cs b/Content.Shared/SS220/ReagentImplanter/ReagentCapsuleComponent.cs deleted file mode 100644 index 720fda969b9c..000000000000 --- a/Content.Shared/SS220/ReagentImplanter/ReagentCapsuleComponent.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Robust.Shared.GameStates; - -namespace Content.Shared.SS220.ReagentImplanter -{ - [RegisterComponent, NetworkedComponent] - public sealed partial class ReagentCapsuleComponent : Component - { - [DataField("isUsed")] - public bool IsUsed = false; - } - -} diff --git a/Resources/Prototypes/SS220/ReagentInjector/reagents_implanter.yml b/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml similarity index 69% rename from Resources/Prototypes/SS220/ReagentInjector/reagents_implanter.yml rename to Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml index 6fc81392d4d6..cfd33aacf08c 100644 --- a/Resources/Prototypes/SS220/ReagentInjector/reagents_implanter.yml +++ b/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml @@ -1,7 +1,7 @@ # Base - type: entity - name: Reagents Capsule Implanter - id: BaseReagentsCapsuleImplanter + name: Chemical Implanter + id: BaseChemicalImplanter parent: BaseItem abstract: true noSpawn: true @@ -34,18 +34,22 @@ sprite: SS220/Objects/ReagentInjector/injector.rsi heldPrefix: 0 - type: Appearance + - type: Tag + tags: + - SubdermalImplant + - ChemicalImplant - type: entity - id: ReagentsCapsuleInjector + id: ChemicalImplanter name: reagent-injector-name description: reagent-injector-desc - parent: BaseReagentsCapsuleImplanter + parent: BaseChemicalImplanter components: - type: Implanter - implant: EmptyCapsule + implant: EmptyChemicalImplant - type: entity - id: ActionOpenReagentsCapsule + id: ActionUseChemicalImplant name: reagent-injector-action-name description: reagent-injector-action-desc noSpawn: true @@ -58,16 +62,4 @@ icon: sprite: SS220/Objects/ReagentInjector/injector.rsi state: icon_empty - event: !type:UseReagentCapsuleImplantEvent - -# Other -- type: listing - id: UplinkReagentsCapsuleInjector - name: reagent-injector-name - description: uplink-reagent-injector-desc - icon: { sprite: SS220/Objects/ReagentInjector/injector.rsi, state: injector } - productEntity: ReagentsCapsuleInjector - cost: - Telecrystal: 6 - categories: - - UplinkInjectors \ No newline at end of file + event: !type:UseChemicalImplantEvent diff --git a/Resources/Prototypes/SS220/ReagentInjector/reagents_capsule.yml b/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml similarity index 58% rename from Resources/Prototypes/SS220/ReagentInjector/reagents_capsule.yml rename to Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml index ffe1bc4b2973..bfb050cb2e5b 100644 --- a/Resources/Prototypes/SS220/ReagentInjector/reagents_capsule.yml +++ b/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml @@ -1,10 +1,10 @@ # Base - type: entity parent: BaseSubdermalImplant - id: BaseReagentsCapsule - name: reagents capsule + id: BaseChemicalImplant + name: chemical capsule components: - - type: ReagentCapsule + - type: ChemicalImplant - type: SubdermalImplant permanent: true implantAction: ActionOpenReagentsCapsule @@ -24,6 +24,7 @@ solution: beaker - type: ExaminableSolution solution: beaker + - type: InteractionOutline - type: Appearance - type: SolutionContainerVisuals maxFillLevels: 1 @@ -32,26 +33,24 @@ # capsules - type: entity - parent: BaseReagentsCapsule - id: EmptyCapsule + parent: BaseChemicalImplant + id: EmptyChemicalImplant name: empty-reagent-capsule-name description: empty-reagent-capsule-desk components: - type: SubdermalImplant permanent: false - - type: Appearance - type: SolutionContainerManager solutions: beaker: maxVol: 30 - type: entity - parent: BaseReagentsCapsule - id: CombatCapsule + parent: BaseChemicalImplant + id: CombatChemicalImplant name: combat-reagent-capsule-name description: combat-reagent-capsule-desk components: - - type: Appearance - type: Sprite sprite: SS220/Objects/ReagentInjector/capsules.rsi layers: @@ -68,8 +67,8 @@ Quantity: 5 - type: entity - parent: BaseReagentsCapsule - id: DABCapsule + parent: BaseChemicalImplant + id: DABChemicalImplant name: dab-reagent-capsule-name description: dab-reagent-capsule-desc components: @@ -91,8 +90,8 @@ Quantity: 10 - type: entity - parent: BaseReagentsCapsule - id: ExperementalReanimatorCapsule + parent: BaseChemicalImplant + id: ExpReanimatorChemicalImplant name: unstable-reanimator-reagent-capsule-name description: unstable-reanimator-reagent-capsule-desc components: @@ -114,8 +113,8 @@ Quantity: 10 - type: entity - parent: BaseReagentsCapsule - id: SuicideCapsule + parent: BaseChemicalImplant + id: SuicideChemicalImplant name: suicide-reagent-capsule-name description: suicide-reagent-capsule-desc components: @@ -133,73 +132,3 @@ reagents: - ReagentId: Amatoxin Quantity: 10 -# Uplink -- type: listing - id: UplinkEmptyCapsule - name: uplink-empty-reagent-capsule-name - description: uplink-empty-reagent-capsule-desk - icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: capsule } - productEntity: EmptyCapsule - cost: - Telecrystal: 1 - categories: - - UplinkInjectors - -- type: listing - id: UplinkCombatCapsule - name: uplink-combat-reagent-capsule-name - description: uplink-combat-reagent-capsule-desk - icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: combat } - productEntity: CombatCapsule - cost: - Telecrystal: 4 - categories: - - UplinkInjectors - conditions: - - !type:StoreWhitelistCondition - whitelist: - tags: - - NukeOpsUplink - -- type: listing - id: UplinkDABCapsule - name: uplink-dab-reagent-capsule-name - description: uplink-dab-reagent-capsule-desc - icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: dab } - productEntity: DABCapsule - cost: - Telecrystal: 2 - categories: - - UplinkInjectors - -- type: listing - id: UplinkExperementalReanimatorCapsule - name: uplink-expadrenaline-reagent-capsule-name - description: uplink-expadrenaline-reagent-capsule-desc - icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: reanim } - productEntity: ExperementalReanimatorCapsule - cost: - Telecrystal: 4 - categories: - - UplinkInjectors - conditions: - - !type:StoreWhitelistCondition - whitelist: - tags: - - NukeOpsUplink - -- type: listing - id: UplinkSuicideCapsule - name: uplink-suicide-reagent-capsule-name - description: uplink-suicide-reagent-capsule-desc - icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: dead } - productEntity: SuicideCapsule - cost: - Telecrystal: 2 - categories: - - UplinkInjectors - conditions: - - !type:StoreWhitelistCondition - blacklist: - tags: - - NukeOpsUplink diff --git a/Resources/Prototypes/SS220/ReagentInjector/unical_reagents.yml b/Resources/Prototypes/SS220/ChemicalImplants/reagents.yml similarity index 100% rename from Resources/Prototypes/SS220/ReagentInjector/unical_reagents.yml rename to Resources/Prototypes/SS220/ChemicalImplants/reagents.yml diff --git a/Resources/Prototypes/SS220/ChemicalImplants/uplink.yml b/Resources/Prototypes/SS220/ChemicalImplants/uplink.yml new file mode 100644 index 000000000000..e69dc8e6c650 --- /dev/null +++ b/Resources/Prototypes/SS220/ChemicalImplants/uplink.yml @@ -0,0 +1,83 @@ +# Implanters + +- type: listing + id: UplinkChemicalImplanter + name: reagent-injector-name + description: uplink-reagent-injector-desc + icon: { sprite: SS220/Objects/ReagentInjector/injector.rsi, state: injector } + productEntity: ChemicalImplanter + cost: + Telecrystal: 6 + categories: + - UplinkChemicalImplants + +# Implants +- type: listing + id: UplinkEmptyChemicalImplant + name: uplink-empty-reagent-capsule-name + description: uplink-empty-reagent-capsule-desk + icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: capsule } + productEntity: EmptyChemicalImplant + cost: + Telecrystal: 1 + categories: + - UplinkChemicalImplants + +- type: listing + id: UplinkCombatChemicalImplant + name: uplink-combat-reagent-capsule-name + description: uplink-combat-reagent-capsule-desk + icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: combat } + productEntity: CombatChemicalImplant + cost: + Telecrystal: 4 + categories: + - UplinkChemicalImplants + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkDABChemicalImplant + name: uplink-dab-reagent-capsule-name + description: uplink-dab-reagent-capsule-desc + icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: dab } + productEntity: DABChemicalImplant + cost: + Telecrystal: 2 + categories: + - UplinkChemicalImplants + +- type: listing + id: UplinkExpReanimatorChemicalImplant + name: uplink-expadrenaline-reagent-capsule-name + description: uplink-expadrenaline-reagent-capsule-desc + icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: reanim } + productEntity: ExpReanimatorChemicalImplant + cost: + Telecrystal: 4 + categories: + - UplinkChemicalImplants + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkSuicideChemicalImplant + name: uplink-suicide-reagent-capsule-name + description: uplink-suicide-reagent-capsule-desc + icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: dead } + productEntity: SuicideChemicalImplant + cost: + Telecrystal: 2 + categories: + - UplinkChemicalImplants + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - NukeOpsUplink diff --git a/Resources/Prototypes/Store/categories.yml b/Resources/Prototypes/Store/categories.yml index 8dcc2d15eeb8..7c6ab6f5265e 100644 --- a/Resources/Prototypes/Store/categories.yml +++ b/Resources/Prototypes/Store/categories.yml @@ -48,10 +48,12 @@ name: store-category-implants priority: 7 +# SS220 - chemical-implants start - type: storeCategory - id: UplinkInjectors + id: UplinkChemicalImplants name: store-category-injectors priority: 8 +# SS220 - chemical-implants end - type: storeCategory id: UplinkJob diff --git a/Resources/Prototypes/Store/presets.yml b/Resources/Prototypes/Store/presets.yml index fb3f41d3f3a8..b114d7d7a56e 100644 --- a/Resources/Prototypes/Store/presets.yml +++ b/Resources/Prototypes/Store/presets.yml @@ -10,7 +10,7 @@ - UplinkTools - UplinkUtility - UplinkImplants - - UplinkInjectors + - UplinkChemicalImplants # SS220 - chemical-implants - UplinkJob - UplinkArmor - UplinkPointless diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index f2c722567a8b..0224d7bc2b5d 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -252,7 +252,7 @@ - type: Tag id: CannonBall - + - type: Tag id: CannonRestrict @@ -801,7 +801,7 @@ id: Matchstick - type: Tag - id: Mayo + id: Mayo - type: Tag id: Meat @@ -1230,6 +1230,11 @@ - type: Tag id: boots +# SS220 - chemical-implants start +- type: Tag + id: ChemicalImplant +# SS220- - chemical-implants end + # SS220 no-animal-zombs - type: Tag id: ZombifyableByMelee diff --git a/client_output.txt b/client_output.txt new file mode 100644 index 000000000000..55a8f019358b --- /dev/null +++ b/client_output.txt @@ -0,0 +1,9 @@ +[DEBG] root: OS: Microsoft Windows 10.0.18363 X64 +[DEBG] root: .NET Runtime: .NET 8.0.0 win-x64 +[DEBG] root: Server GC: False +[DEBG] root: Processor: 8x Intel(R) Core(TM) i7-3612QM CPU @ 2.10GHz +[DEBG] root: Architecture: X64 +[DEBG] root: Robust Version: 207.1.0.0 +[DEBG] root: Compile Options: DEVELOPMENT;TOOLS;DEBUG;CLIENT_SCRIPTING +[DEBG] root: Intrinsics: X86Aes;Avx;Pclmulqdq;Popcnt;Sse;Sse2;Sse3;Ssse3;Sse41;Sse42;X86Base +[INFO] cfg: Configuration loaded from file From 629f203ccf2c328afdb56182f4d074d669aec60c Mon Sep 17 00:00:00 2001 From: Lazzi0706 Date: Sun, 11 Feb 2024 17:00:25 +0700 Subject: [PATCH 02/10] Implants are clickable now!! --- .../SS220/ChemicalImplants/chemimplanters.yml | 5 ++- .../SS220/ChemicalImplants/chemimplants.yml | 36 +++++++------------ 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml b/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml index cfd33aacf08c..578c2e52b636 100644 --- a/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml +++ b/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml @@ -19,7 +19,7 @@ priority: 0 whitelist: tags: - - SubdermalImplant + - ChemicalImplant - type: Sprite sprite: SS220/Objects/ReagentInjector/injector.rsi state: injector @@ -29,14 +29,13 @@ injector_full: whitelist: tags: - - SubdermalImplant + - ChemicalImplant - type: Item sprite: SS220/Objects/ReagentInjector/injector.rsi heldPrefix: 0 - type: Appearance - type: Tag tags: - - SubdermalImplant - ChemicalImplant - type: entity diff --git a/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml b/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml index bfb050cb2e5b..a20eca48156d 100644 --- a/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml +++ b/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml @@ -1,13 +1,13 @@ -# Base +# capsules - type: entity - parent: BaseSubdermalImplant - id: BaseChemicalImplant - name: chemical capsule + id: EmptyChemicalImplant + name: empty-reagent-capsule-name + description: empty-reagent-capsule-desk components: - type: ChemicalImplant - type: SubdermalImplant permanent: true - implantAction: ActionOpenReagentsCapsule + implantAction: ActionUseChemicalImplant - type: Sprite sprite: SS220/Objects/ReagentInjector/capsules.rsi state: capsule @@ -25,28 +25,18 @@ - type: ExaminableSolution solution: beaker - type: InteractionOutline + - type: Clickable - type: Appearance - type: SolutionContainerVisuals maxFillLevels: 1 changeColor: false emptySpriteName: capsule_used - -# capsules -- type: entity - parent: BaseChemicalImplant - id: EmptyChemicalImplant - name: empty-reagent-capsule-name - description: empty-reagent-capsule-desk - components: - - type: SubdermalImplant - permanent: false - - type: SolutionContainerManager - solutions: - beaker: - maxVol: 30 + - type: Tag + tags: + - ChemicalImplant - type: entity - parent: BaseChemicalImplant + parent: EmptyChemicalImplant id: CombatChemicalImplant name: combat-reagent-capsule-name description: combat-reagent-capsule-desk @@ -67,7 +57,7 @@ Quantity: 5 - type: entity - parent: BaseChemicalImplant + parent: EmptyChemicalImplant id: DABChemicalImplant name: dab-reagent-capsule-name description: dab-reagent-capsule-desc @@ -90,7 +80,7 @@ Quantity: 10 - type: entity - parent: BaseChemicalImplant + parent: EmptyChemicalImplant id: ExpReanimatorChemicalImplant name: unstable-reanimator-reagent-capsule-name description: unstable-reanimator-reagent-capsule-desc @@ -113,7 +103,7 @@ Quantity: 10 - type: entity - parent: BaseChemicalImplant + parent: EmptyChemicalImplant id: SuicideChemicalImplant name: suicide-reagent-capsule-name description: suicide-reagent-capsule-desc From d62ad2ba7a5b5c50cf5a5fde6bd1975132cf233d Mon Sep 17 00:00:00 2001 From: Lazzi0706 Date: Mon, 12 Feb 2024 19:16:35 +0700 Subject: [PATCH 03/10] another code refactor --- .../Implants/SubdermalImplantSystem.cs | 13 ++++-- .../ss220/chemicalimplant/chemimplant.ftl | 11 +++++ .../ss220/chemicalimplant/chemimplanters.ftl | 5 +++ .../ru-RU/ss220/chemicalimplant/store.ftl | 11 +++++ .../ru-RU/ss220/reagentinjector/capsules.ftl | 40 ------------------ .../reagentinjector/reagents_implanter.ftl | 12 ------ .../SS220/ChemicalImplants/chemimplanters.yml | 8 ++-- .../SS220/ChemicalImplants/chemimplants.yml | 39 ++++-------------- .../SS220/ChemicalImplants/reagents.yml | 41 ------------------- .../SS220/ChemicalImplants/uplink.yml | 36 +++++----------- Resources/Prototypes/Store/categories.yml | 2 +- 11 files changed, 59 insertions(+), 159 deletions(-) create mode 100644 Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplant.ftl create mode 100644 Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplanters.ftl create mode 100644 Resources/Locale/ru-RU/ss220/chemicalimplant/store.ftl delete mode 100644 Resources/Locale/ru-RU/ss220/reagentinjector/capsules.ftl delete mode 100644 Resources/Locale/ru-RU/ss220/reagentinjector/reagents_implanter.ftl delete mode 100644 Resources/Prototypes/SS220/ChemicalImplants/reagents.yml diff --git a/Content.Server/Implants/SubdermalImplantSystem.cs b/Content.Server/Implants/SubdermalImplantSystem.cs index c7e465ab622a..421d9d33f033 100644 --- a/Content.Server/Implants/SubdermalImplantSystem.cs +++ b/Content.Server/Implants/SubdermalImplantSystem.cs @@ -23,6 +23,7 @@ using System.Numerics; using Content.Shared.SS220.ChemicalImplant; using FastAccessors; +using Content.Shared.Chemistry.Components; namespace Content.Server.Implants; @@ -60,20 +61,24 @@ public override void Initialize() // SS220 - chemical-implants start private void OnChemicaImplant(EntityUid uid, SubdermalImplantComponent component, UseChemicalImplantEvent args) { - if (component.ImplantedEntity is not { } ent - ||!TryComp(args.Performer, out var performerSolution) - || !TryComp(uid, out var implantSolution)) + if (component.ImplantedEntity is not { } ent) + return; + + if (!TryComp(uid, out var implantSolution)) + return; + if (!_solutionContainer.TryGetSolution(args.Performer, "chemicals", out var performerSolution)) return; if (args.Handled) return; + _solutionContainer.TryTransferSolution(performerSolution.Value, implantSolution.Solution, implantSolution.Solution.Volume); + args.Handled = true; QueueDel(uid); } - // SS220 - chemical-implants end private void OnStoreRelay(EntityUid uid, StoreComponent store, ImplantRelayEvent implantRelay) diff --git a/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplant.ftl b/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplant.ftl new file mode 100644 index 000000000000..1e2866ce9aa5 --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplant.ftl @@ -0,0 +1,11 @@ +ent-EmptyChemicalImplant = Пустой химический имплант + .desc = Пустая белая капсула + +ent-CombatChemicalImplant = Имплант с боевым стимулятором + .desc = Капсула с розовой смесью внутри + +ent-DABChemicalImplant = Имплант с антирадом "DAB" + .desc = Капсула с тёмно-оранджевой смесью внутри + +ent-SuicideChemicalImplant = Капсула с аматоксином + .desc = Капсула с белой смесью внутри diff --git a/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplanters.ftl b/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplanters.ftl new file mode 100644 index 000000000000..504d9d52b1eb --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplanters.ftl @@ -0,0 +1,5 @@ +ent-ChemicalImplanter = Химический имплантер + .desc = Необычное устройство с иглой и съёмным контейнером + +chemical-implant-action-name = Вскрыть {name} +chemical-implant-action-desc = Выпускает в кровь содержимое химического импланта diff --git a/Resources/Locale/ru-RU/ss220/chemicalimplant/store.ftl b/Resources/Locale/ru-RU/ss220/chemicalimplant/store.ftl new file mode 100644 index 000000000000..1c3083fc7dc8 --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/chemicalimplant/store.ftl @@ -0,0 +1,11 @@ +store-category-chemical-implants = Химические импланты + +uplink-chemical-implanter-desc = Многоразовое средство имплантирования особых имплантов с препаратами внутрь тела + +uplink-empty-chemical-implant-desc = Пустая капсула объёмом 30u для внедрения собственных смесей + +uplink-combat-chemical-implant-desc = Содержит в себе препараты из боевого медипена + +uplink-dab-chemical-implant-desc = Содержит препараты для лечения острой лучевой болезни + +uplink-suicide-chemical-implant-desc = Содержит сильнейший яд, способный лишить цель жизни в течении нескольких секунд. diff --git a/Resources/Locale/ru-RU/ss220/reagentinjector/capsules.ftl b/Resources/Locale/ru-RU/ss220/reagentinjector/capsules.ftl deleted file mode 100644 index fc0121f04cb3..000000000000 --- a/Resources/Locale/ru-RU/ss220/reagentinjector/capsules.ftl +++ /dev/null @@ -1,40 +0,0 @@ -ent-EmptyCapsule = Пустая капсула - .desc = Пустая капсула, в которую можно что-то залить - -ent-CombatCapsule = Капсула боевого стимулятора - .desc = Капсула с розовой смесью внутри - -ent-DABCapsule = Капсула с антитоксином "DAB" - .desc = Капсула с тёмно-оранджевой смесью внутри - -ent-ExperementalReanimatorCapsule = Капсула с эксперементальным веществом "Реаниматор" - .desc = Капсула с белой смесью внутри - -ent-SuicideCapsule = Капсула аматоксина - .desc = Капсула с голубой смесью внутри - -uplink-empty-reagent-capsule-name = Пустая капсула -uplink-empty-reagent-capsule-desk = Пустая капсула объёмом 30u для имплантирования собственных смесей - -uplink-combat-reagent-capsule-name = Капсула боевого стимулятора -uplink-combat-reagent-capsule-desk = Содержит в себе препараты из боевого медипена - -uplink-dab-reagent-capsule-name = Капсула с антирадом "DAB" -uplink-dab-reagent-capsule-desc = Содержит препараты для лечения острой лучевой болезни - -uplink-expadrenaline-reagent-capsule-name = Капсула с эксперементальным веществом "Реаниматор" -uplink-expadrenaline-reagent-capsule-desc = Средство последнего шанса, содержащее вещество, способное вернуть человека из критического состояния и ускорить восстановление организма от повреждений в течении непродолжительного времени. Гарантирован летальный исход - -uplink-suicide-reagent-capsule-name = Капсула с аматоксином -uplink-suicide-reagent-capsule-desc = Содержит сильнейший яд, способный лишить вас жизни в течении нескольких секунд. - -implanter-inject-used-capsule = Попытка имплантировать использованную капсулу! - -reagent-name-unstable-reanimator = Эксперементальное вещество "Реаниматор" -unstable-reanimator-reagent-capsule-desc = Нестабильное вещество на основе аматоксина, способное восстановить работоспособность организма. Возможен летальный исход - -unstable-reanimator-reagent-capsule-name = Эксперементальное вещество "Реаниматор" -reagent-desc-unstable-reanimator = Нестабильное вещество на основе аматоксина, способное восстановить работоспособность организма. Возможен летальный исход - -reagent-name-reanimator = Реаниматор -reagent-desc-reanimator = Стабильное вещество, ускоряющее восстановление организма даже при тяжелейших повреждениях \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ss220/reagentinjector/reagents_implanter.ftl b/Resources/Locale/ru-RU/ss220/reagentinjector/reagents_implanter.ftl deleted file mode 100644 index eaa6224c9a29..000000000000 --- a/Resources/Locale/ru-RU/ss220/reagentinjector/reagents_implanter.ftl +++ /dev/null @@ -1,12 +0,0 @@ -store-category-injectors = Капсулы-импланты - -ent-ReagentsCapsuleInjector = Инъектор капсул-имплантов - .desc = Необычное устройство с иглой и съёмным контейнером - - - -reagent-injector-action-name = Вскрыть капсулу -reagent-injector-action-desc = Выпускает в кровь содержимое имплантированной капсулы - -reagent-injector-name = Инъектор капсул-имплантов -uplink-reagent-injector-desc = Многоразовое средство имплантирования капсул с препаратами внутрь тела \ No newline at end of file diff --git a/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml b/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml index 578c2e52b636..dd301dd63ab2 100644 --- a/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml +++ b/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml @@ -40,8 +40,8 @@ - type: entity id: ChemicalImplanter - name: reagent-injector-name - description: reagent-injector-desc + name: chemical implanter + description: chemical-implanter-desc parent: BaseChemicalImplanter components: - type: Implanter @@ -49,8 +49,8 @@ - type: entity id: ActionUseChemicalImplant - name: reagent-injector-action-name - description: reagent-injector-action-desc + name: chemical-implant-action-name + description: chemical-implant-action-desc noSpawn: true components: - type: InstantAction diff --git a/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml b/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml index a20eca48156d..bc86fee17cc1 100644 --- a/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml +++ b/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml @@ -1,8 +1,8 @@ # capsules - type: entity id: EmptyChemicalImplant - name: empty-reagent-capsule-name - description: empty-reagent-capsule-desk + name: empty chemical implant + description: empty-chemical-implant-desc components: - type: ChemicalImplant - type: SubdermalImplant @@ -38,8 +38,8 @@ - type: entity parent: EmptyChemicalImplant id: CombatChemicalImplant - name: combat-reagent-capsule-name - description: combat-reagent-capsule-desk + name: combat chemical implant + description: combat-chemical-implant-desc components: - type: Sprite sprite: SS220/Objects/ReagentInjector/capsules.rsi @@ -59,8 +59,8 @@ - type: entity parent: EmptyChemicalImplant id: DABChemicalImplant - name: dab-reagent-capsule-name - description: dab-reagent-capsule-desc + name: dab chemical implant + description: dab-chemical-implant-desc components: - type: Sprite sprite: SS220/Objects/ReagentInjector/capsules.rsi @@ -79,34 +79,11 @@ - ReagentId: Bicaridine Quantity: 10 -- type: entity - parent: EmptyChemicalImplant - id: ExpReanimatorChemicalImplant - name: unstable-reanimator-reagent-capsule-name - description: unstable-reanimator-reagent-capsule-desc - components: - - type: Sprite - sprite: SS220/Objects/ReagentInjector/capsules.rsi - layers: - - state: reanim - map: ["enum.SolutionContainerLayers.Fill"] - - type: SolutionContainerManager - solutions: - beaker: - maxVol: 35 - reagents: - - ReagentId: TranexamicAcid - Quantity: 5 - - ReagentId: UnstableReanimator - Quantity: 20 - - ReagentId: Epinephrine - Quantity: 10 - - type: entity parent: EmptyChemicalImplant id: SuicideChemicalImplant - name: suicide-reagent-capsule-name - description: suicide-reagent-capsule-desc + name: suicide chemical implant + description: suicide-chemical-implant-desc components: - type: SubdermalImplant permanent: false diff --git a/Resources/Prototypes/SS220/ChemicalImplants/reagents.yml b/Resources/Prototypes/SS220/ChemicalImplants/reagents.yml deleted file mode 100644 index e296325af9bc..000000000000 --- a/Resources/Prototypes/SS220/ChemicalImplants/reagents.yml +++ /dev/null @@ -1,41 +0,0 @@ -- type: reagent - id: UnstableReanimator - name: reagent-name-unstable-reanimator - group: Narcotics - desc: reagent-desc-unstable-reanimator - physicalDesc: reagent-physical-desc-soothing - flavor: medicine - color: "#fcf7f9" - metabolisms: - Narcotic: - metabolismRate: 1.0 - effects: - - !type:MovespeedModifier - walkSpeedModifier: 1.25 - sprintSpeedModifier: 1.25 - - !type:Jitter - - !type:GenericStatusEffect - key: Stun - time: 1 - type: Remove - - !type:GenericStatusEffect - key: KnockedDown - time: 1 - type: Remove - Medicine: - metabolismRate: 1.0 - effects: - - !type:HealthChange - conditions: - - !type:TotalDamage - max: 5 - damage: - groups: - Toxin: 320 - - !type:HealthChange - damage: - groups: - Burn: -60 - Toxin: -60 - Airloss: -60 - Brute: -60 \ No newline at end of file diff --git a/Resources/Prototypes/SS220/ChemicalImplants/uplink.yml b/Resources/Prototypes/SS220/ChemicalImplants/uplink.yml index e69dc8e6c650..52e158a3adff 100644 --- a/Resources/Prototypes/SS220/ChemicalImplants/uplink.yml +++ b/Resources/Prototypes/SS220/ChemicalImplants/uplink.yml @@ -2,8 +2,8 @@ - type: listing id: UplinkChemicalImplanter - name: reagent-injector-name - description: uplink-reagent-injector-desc + name: ent-ChemicalImplanter + description: uplink-chemical-implanter-desc icon: { sprite: SS220/Objects/ReagentInjector/injector.rsi, state: injector } productEntity: ChemicalImplanter cost: @@ -14,8 +14,8 @@ # Implants - type: listing id: UplinkEmptyChemicalImplant - name: uplink-empty-reagent-capsule-name - description: uplink-empty-reagent-capsule-desk + name: ent-EmptyChemicalImplant + description: uplink-empty-chemical-implant-desc icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: capsule } productEntity: EmptyChemicalImplant cost: @@ -25,8 +25,8 @@ - type: listing id: UplinkCombatChemicalImplant - name: uplink-combat-reagent-capsule-name - description: uplink-combat-reagent-capsule-desk + name: ent-CombatChemicalImplant + description: uplink-combat-chemical-implant-desc icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: combat } productEntity: CombatChemicalImplant cost: @@ -41,8 +41,8 @@ - type: listing id: UplinkDABChemicalImplant - name: uplink-dab-reagent-capsule-name - description: uplink-dab-reagent-capsule-desc + name: ent-DABChemicalImplant + description: uplink-dab-chemical-implant-desc icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: dab } productEntity: DABChemicalImplant cost: @@ -50,26 +50,10 @@ categories: - UplinkChemicalImplants -- type: listing - id: UplinkExpReanimatorChemicalImplant - name: uplink-expadrenaline-reagent-capsule-name - description: uplink-expadrenaline-reagent-capsule-desc - icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: reanim } - productEntity: ExpReanimatorChemicalImplant - cost: - Telecrystal: 4 - categories: - - UplinkChemicalImplants - conditions: - - !type:StoreWhitelistCondition - whitelist: - tags: - - NukeOpsUplink - - type: listing id: UplinkSuicideChemicalImplant - name: uplink-suicide-reagent-capsule-name - description: uplink-suicide-reagent-capsule-desc + name: ent-SuicideChemicalImplant + description: uplink-suicide-chemical-implant-desc icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: dead } productEntity: SuicideChemicalImplant cost: diff --git a/Resources/Prototypes/Store/categories.yml b/Resources/Prototypes/Store/categories.yml index 7c6ab6f5265e..13cc954dc3bd 100644 --- a/Resources/Prototypes/Store/categories.yml +++ b/Resources/Prototypes/Store/categories.yml @@ -51,7 +51,7 @@ # SS220 - chemical-implants start - type: storeCategory id: UplinkChemicalImplants - name: store-category-injectors + name: store-category-chemical-implants priority: 8 # SS220 - chemical-implants end From 11af370dc37921f08e37269db8498dcbb2659779 Mon Sep 17 00:00:00 2001 From: Lazzi0706 Date: Wed, 14 Feb 2024 09:19:05 +0700 Subject: [PATCH 04/10] i don't remember what is this --- Content.Server/Implants/SubdermalImplantSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Implants/SubdermalImplantSystem.cs b/Content.Server/Implants/SubdermalImplantSystem.cs index 421d9d33f033..87610df65311 100644 --- a/Content.Server/Implants/SubdermalImplantSystem.cs +++ b/Content.Server/Implants/SubdermalImplantSystem.cs @@ -64,7 +64,7 @@ private void OnChemicaImplant(EntityUid uid, SubdermalImplantComponent component if (component.ImplantedEntity is not { } ent) return; - if (!TryComp(uid, out var implantSolution)) + if (!TryComp(uid, out var implantSolution)) // Это не работает return; if (!_solutionContainer.TryGetSolution(args.Performer, "chemicals", out var performerSolution)) return; From e83df3a0468dcfb5b0e98fae4a5f48fbaedb445a Mon Sep 17 00:00:00 2001 From: Lazzi0706 Date: Wed, 14 Feb 2024 12:29:39 +0700 Subject: [PATCH 05/10] renamed sprites, some code refactor --- .../Implants/SubdermalImplantSystem.cs | 16 ++++++---------- .../SS220/ChemicalImplants/chemimplanters.yml | 12 ++++++------ .../SS220/ChemicalImplants/chemimplants.yml | 14 +++++++------- .../SS220/ChemicalImplants/uplink.yml | 10 +++++----- .../implanters.rsi}/icon_death.png | Bin .../implanters.rsi}/icon_empty.png | Bin .../implanters.rsi/implanter.png} | Bin .../implanters.rsi/implanter_full.png} | Bin .../implanters.rsi/implanter_full_mask.png} | Bin .../implanters.rsi}/meta.json | 7 +++---- .../implants.rsi}/adrenaline.png | Bin .../implants.rsi}/combat.png | Bin .../implants.rsi}/dab.png | Bin .../implants.rsi}/dead.png | Bin .../implants.rsi/implant.png} | Bin .../implants.rsi/implant_mask.png} | Bin .../implants.rsi/implant_used.png} | Bin .../implants.rsi}/meta.json | 7 +++---- .../implants.rsi}/nanite.png | Bin .../implants.rsi}/reanim.png | Bin 20 files changed, 30 insertions(+), 36 deletions(-) rename Resources/Textures/SS220/Objects/{ReagentInjector/injector.rsi => ChemicalImplants/implanters.rsi}/icon_death.png (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/injector.rsi => ChemicalImplants/implanters.rsi}/icon_empty.png (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/injector.rsi/injector.png => ChemicalImplants/implanters.rsi/implanter.png} (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/injector.rsi/injector_full.png => ChemicalImplants/implanters.rsi/implanter_full.png} (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/injector.rsi/injector_full_mask.png => ChemicalImplants/implanters.rsi/implanter_full_mask.png} (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/injector.rsi => ChemicalImplants/implanters.rsi}/meta.json (81%) rename Resources/Textures/SS220/Objects/{ReagentInjector/capsules.rsi => ChemicalImplants/implants.rsi}/adrenaline.png (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/capsules.rsi => ChemicalImplants/implants.rsi}/combat.png (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/capsules.rsi => ChemicalImplants/implants.rsi}/dab.png (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/capsules.rsi => ChemicalImplants/implants.rsi}/dead.png (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/capsules.rsi/capsule.png => ChemicalImplants/implants.rsi/implant.png} (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/capsules.rsi/capsule_mask.png => ChemicalImplants/implants.rsi/implant_mask.png} (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/capsules.rsi/capsule_used.png => ChemicalImplants/implants.rsi/implant_used.png} (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/capsules.rsi => ChemicalImplants/implants.rsi}/meta.json (86%) rename Resources/Textures/SS220/Objects/{ReagentInjector/capsules.rsi => ChemicalImplants/implants.rsi}/nanite.png (100%) rename Resources/Textures/SS220/Objects/{ReagentInjector/capsules.rsi => ChemicalImplants/implants.rsi}/reanim.png (100%) diff --git a/Content.Server/Implants/SubdermalImplantSystem.cs b/Content.Server/Implants/SubdermalImplantSystem.cs index 87610df65311..25dbe43cb00f 100644 --- a/Content.Server/Implants/SubdermalImplantSystem.cs +++ b/Content.Server/Implants/SubdermalImplantSystem.cs @@ -16,14 +16,9 @@ using Content.Shared.Preferences; using Robust.Shared.Audio.Systems; using Robust.Shared.Map; -using Robust.Shared.Maths; using Robust.Shared.Physics; using Robust.Shared.Physics.Components; using Robust.Shared.Random; -using System.Numerics; -using Content.Shared.SS220.ChemicalImplant; -using FastAccessors; -using Content.Shared.Chemistry.Components; namespace Content.Server.Implants; @@ -63,16 +58,17 @@ private void OnChemicaImplant(EntityUid uid, SubdermalImplantComponent component { if (component.ImplantedEntity is not { } ent) return; - - if (!TryComp(uid, out var implantSolution)) // Это не работает + if (!TryComp(args.Performer, out var _performerSolutionComp) + || !TryComp(uid, out var _implantSolutionComp)) return; - if (!_solutionContainer.TryGetSolution(args.Performer, "chemicals", out var performerSolution)) + + if (!_solutionContainer.TryGetSolution(new(args.Performer, _performerSolutionComp), "chemicals", out var chemicalSolution)) return; - if (args.Handled) + if (!_solutionContainer.TryGetSolution(new(uid, _implantSolutionComp), "beaker", out var beakerSolution)) return; - _solutionContainer.TryTransferSolution(performerSolution.Value, implantSolution.Solution, implantSolution.Solution.Volume); + _solutionContainer.TryTransferSolution(chemicalSolution.Value, beakerSolution.Value.Comp.Solution, beakerSolution.Value.Comp.Solution.Volume); args.Handled = true; diff --git a/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml b/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml index dd301dd63ab2..058cc4de9569 100644 --- a/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml +++ b/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml @@ -21,17 +21,17 @@ tags: - ChemicalImplant - type: Sprite - sprite: SS220/Objects/ReagentInjector/injector.rsi - state: injector + sprite: SS220/Objects/ChemicalImplants/implanters.rsi + state: implanter - type: ItemMapper - sprite: SS220/Objects/ReagentInjector/injector.rsi + sprite: SS220/Objects/ChemicalImplants/implanters.rsi mapLayers: - injector_full: + implanter_full: whitelist: tags: - ChemicalImplant - type: Item - sprite: SS220/Objects/ReagentInjector/injector.rsi + sprite: SS220/Objects/ChemicalImplants/implanters.rsi heldPrefix: 0 - type: Appearance - type: Tag @@ -59,6 +59,6 @@ itemIconStyle: BigAction priority: -20 icon: - sprite: SS220/Objects/ReagentInjector/injector.rsi + sprite: SS220/Objects/ChemicalImplants/implanters.rsi state: icon_empty event: !type:UseChemicalImplantEvent diff --git a/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml b/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml index bc86fee17cc1..8dfddeb348ea 100644 --- a/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml +++ b/Resources/Prototypes/SS220/ChemicalImplants/chemimplants.yml @@ -9,10 +9,10 @@ permanent: true implantAction: ActionUseChemicalImplant - type: Sprite - sprite: SS220/Objects/ReagentInjector/capsules.rsi - state: capsule + sprite: SS220/Objects/ChemicalImplants/implants.rsi + state: implant - type: Item - sprite: SS220/Objects/ReagentInjector/capsules.rsi + sprite: SS220/Objects/ChemicalImplants/implants.rsi size: Small - type: SolutionContainerManager solutions: @@ -30,7 +30,7 @@ - type: SolutionContainerVisuals maxFillLevels: 1 changeColor: false - emptySpriteName: capsule_used + emptySpriteName: implant_used - type: Tag tags: - ChemicalImplant @@ -42,7 +42,7 @@ description: combat-chemical-implant-desc components: - type: Sprite - sprite: SS220/Objects/ReagentInjector/capsules.rsi + sprite: SS220/Objects/ChemicalImplants/implants.rsi layers: - state: combat map: ["enum.SolutionContainerLayers.Fill"] @@ -63,7 +63,7 @@ description: dab-chemical-implant-desc components: - type: Sprite - sprite: SS220/Objects/ReagentInjector/capsules.rsi + sprite: SS220/Objects/ChemicalImplants/implants.rsi layers: - state: dab map: ["enum.SolutionContainerLayers.Fill"] @@ -88,7 +88,7 @@ - type: SubdermalImplant permanent: false - type: Sprite - sprite: SS220/Objects/ReagentInjector/capsules.rsi + sprite: SS220/Objects/ChemicalImplants/implants.rsi layers: - state: dead map: ["enum.SolutionContainerLayers.Fill"] diff --git a/Resources/Prototypes/SS220/ChemicalImplants/uplink.yml b/Resources/Prototypes/SS220/ChemicalImplants/uplink.yml index 52e158a3adff..721f306784ff 100644 --- a/Resources/Prototypes/SS220/ChemicalImplants/uplink.yml +++ b/Resources/Prototypes/SS220/ChemicalImplants/uplink.yml @@ -4,7 +4,7 @@ id: UplinkChemicalImplanter name: ent-ChemicalImplanter description: uplink-chemical-implanter-desc - icon: { sprite: SS220/Objects/ReagentInjector/injector.rsi, state: injector } + icon: { sprite: SS220/Objects/ChemicalImplants/implanters.rsi, state: implanter } productEntity: ChemicalImplanter cost: Telecrystal: 6 @@ -16,7 +16,7 @@ id: UplinkEmptyChemicalImplant name: ent-EmptyChemicalImplant description: uplink-empty-chemical-implant-desc - icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: capsule } + icon: { sprite: SS220/Objects/ChemicalImplants/implants.rsi, state: implant } productEntity: EmptyChemicalImplant cost: Telecrystal: 1 @@ -27,7 +27,7 @@ id: UplinkCombatChemicalImplant name: ent-CombatChemicalImplant description: uplink-combat-chemical-implant-desc - icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: combat } + icon: { sprite: SS220/Objects/ChemicalImplants/implants.rsi, state: combat } productEntity: CombatChemicalImplant cost: Telecrystal: 4 @@ -43,7 +43,7 @@ id: UplinkDABChemicalImplant name: ent-DABChemicalImplant description: uplink-dab-chemical-implant-desc - icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: dab } + icon: { sprite: SS220/Objects/ChemicalImplants/implants.rsi, state: dab } productEntity: DABChemicalImplant cost: Telecrystal: 2 @@ -54,7 +54,7 @@ id: UplinkSuicideChemicalImplant name: ent-SuicideChemicalImplant description: uplink-suicide-chemical-implant-desc - icon: { sprite: SS220/Objects/ReagentInjector/capsules.rsi, state: dead } + icon: { sprite: SS220/Objects/ChemicalImplants/implants.rsi, state: dead } productEntity: SuicideChemicalImplant cost: Telecrystal: 2 diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/icon_death.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/icon_death.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/icon_death.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/icon_death.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/icon_empty.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/icon_empty.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/icon_empty.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/icon_empty.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/injector.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/implanter.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/injector.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/implanter.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/injector_full.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/implanter_full.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/injector_full.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/implanter_full.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/injector_full_mask.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/implanter_full_mask.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/injector_full_mask.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/implanter_full_mask.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/meta.json b/Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/meta.json similarity index 81% rename from Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/meta.json rename to Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/meta.json index 6c6a66d74fea..00bbcec3eabd 100644 --- a/Resources/Textures/SS220/Objects/ReagentInjector/injector.rsi/meta.json +++ b/Resources/Textures/SS220/Objects/ChemicalImplants/implanters.rsi/meta.json @@ -8,13 +8,13 @@ }, "states": [ { - "name": "injector" + "name": "implanter" }, { - "name": "injector_full" + "name": "implanter_full" }, { - "name": "injector_full_mask" + "name": "implanter_full_mask" }, { "name": "icon_empty" @@ -24,4 +24,3 @@ } ] } - \ No newline at end of file diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/adrenaline.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/adrenaline.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/adrenaline.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/adrenaline.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/combat.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/combat.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/combat.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/combat.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/dab.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/dab.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/dab.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/dab.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/dead.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/dead.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/dead.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/dead.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/capsule.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/implant.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/capsule.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/implant.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/capsule_mask.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/implant_mask.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/capsule_mask.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/implant_mask.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/capsule_used.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/implant_used.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/capsule_used.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/implant_used.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/meta.json b/Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/meta.json similarity index 86% rename from Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/meta.json rename to Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/meta.json index 518ec4270282..ce27880171b1 100644 --- a/Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/meta.json +++ b/Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/meta.json @@ -11,13 +11,13 @@ "name": "adrenaline" }, { - "name": "capsule" + "name": "implant" }, { - "name": "capsule_mask" + "name": "implant_mask" }, { - "name": "capsule_used" + "name": "implant_used" }, { "name": "combat" @@ -36,4 +36,3 @@ } ] } - \ No newline at end of file diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/nanite.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/nanite.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/nanite.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/nanite.png diff --git a/Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/reanim.png b/Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/reanim.png similarity index 100% rename from Resources/Textures/SS220/Objects/ReagentInjector/capsules.rsi/reanim.png rename to Resources/Textures/SS220/Objects/ChemicalImplants/implants.rsi/reanim.png From a45b7a0781531be0ef0ea553554d575e21a51b27 Mon Sep 17 00:00:00 2001 From: Lazzi0706 Date: Wed, 14 Feb 2024 19:13:33 +0700 Subject: [PATCH 06/10] final touches --- Content.Server/Implants/SubdermalImplantSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Implants/SubdermalImplantSystem.cs b/Content.Server/Implants/SubdermalImplantSystem.cs index 25dbe43cb00f..839ff8380407 100644 --- a/Content.Server/Implants/SubdermalImplantSystem.cs +++ b/Content.Server/Implants/SubdermalImplantSystem.cs @@ -1,3 +1,4 @@ +using Content.Server.Actions; using Content.Server.Chemistry.Containers.EntitySystems; using Content.Server.Cuffs; using Content.Server.Forensics; @@ -35,7 +36,6 @@ public sealed class SubdermalImplantSystem : SharedSubdermalImplantSystem [Dependency] private readonly SharedTransformSystem _xform = default!; [Dependency] private readonly SolutionContainerSystem _solutionContainer = default!; [Dependency] private readonly ForensicsSystem _forensicsSystem = default!; - private EntityQuery _physicsQuery; public override void Initialize() From 03de49b1fd994ff37bc4554101fe877ae2487c5f Mon Sep 17 00:00:00 2001 From: Lazzi0706 Date: Wed, 14 Feb 2024 19:14:35 +0700 Subject: [PATCH 07/10] now it's done --- Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplanters.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplanters.ftl b/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplanters.ftl index 504d9d52b1eb..e3929b335cf5 100644 --- a/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplanters.ftl +++ b/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplanters.ftl @@ -1,5 +1,5 @@ ent-ChemicalImplanter = Химический имплантер .desc = Необычное устройство с иглой и съёмным контейнером -chemical-implant-action-name = Вскрыть {name} +chemical-implant-action-name = Вскрыть chemical-implant-action-desc = Выпускает в кровь содержимое химического импланта From 7524f065d4662ee9ef5625248d1f8ee6f103d39e Mon Sep 17 00:00:00 2001 From: Lazzi0706 Date: Thu, 15 Feb 2024 08:25:20 +0700 Subject: [PATCH 08/10] added migrations and locale fix --- .../Locale/ru-RU/ss220/chemicalimplant/chemimplant.ftl | 2 +- Resources/migration.yml | 9 +++++++++ client_output.txt | 9 --------- 3 files changed, 10 insertions(+), 10 deletions(-) delete mode 100644 client_output.txt diff --git a/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplant.ftl b/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplant.ftl index 1e2866ce9aa5..1edf881ed173 100644 --- a/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplant.ftl +++ b/Resources/Locale/ru-RU/ss220/chemicalimplant/chemimplant.ftl @@ -7,5 +7,5 @@ ent-CombatChemicalImplant = Имплант с боевым стимулятор ent-DABChemicalImplant = Имплант с антирадом "DAB" .desc = Капсула с тёмно-оранджевой смесью внутри -ent-SuicideChemicalImplant = Капсула с аматоксином +ent-SuicideChemicalImplant = Имплант с аматоксином .desc = Капсула с белой смесью внутри diff --git a/Resources/migration.yml b/Resources/migration.yml index 680d3a80a633..99f90456aae0 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -8,6 +8,15 @@ # WallSolid: Window # Table: null +# 2024-02-15 - SS220 +BaseReagentsCapsule: null +BaseReagentsCapsuleImplanter: BaseChemicalImplanter +ReagentsCapsuleInjector: ChemicalImplanter +EmptyCapsule: EmptyChemicalImplant +CombatCapsule: CombatChemicalImplant +DABCapsule: DABChemicalImplant +SuicideCapsule: SuicideChemicalImplant + # 2023-07-03 ClothingHeadHelmetBasic: ClothingHeadHelmetBasic ClothingHeadHelmetBasicOld: ClothingHeadHelmetBasic diff --git a/client_output.txt b/client_output.txt deleted file mode 100644 index 55a8f019358b..000000000000 --- a/client_output.txt +++ /dev/null @@ -1,9 +0,0 @@ -[DEBG] root: OS: Microsoft Windows 10.0.18363 X64 -[DEBG] root: .NET Runtime: .NET 8.0.0 win-x64 -[DEBG] root: Server GC: False -[DEBG] root: Processor: 8x Intel(R) Core(TM) i7-3612QM CPU @ 2.10GHz -[DEBG] root: Architecture: X64 -[DEBG] root: Robust Version: 207.1.0.0 -[DEBG] root: Compile Options: DEVELOPMENT;TOOLS;DEBUG;CLIENT_SCRIPTING -[DEBG] root: Intrinsics: X86Aes;Avx;Pclmulqdq;Popcnt;Sse;Sse2;Sse3;Ssse3;Sse41;Sse42;X86Base -[INFO] cfg: Configuration loaded from file From 4450bcc4d45945a89bc8ce3a40135f63fdc7b78a Mon Sep 17 00:00:00 2001 From: Lazzi0706 Date: Sat, 17 Feb 2024 12:42:41 +0700 Subject: [PATCH 09/10] removed field "nospawn" --- Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml b/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml index 058cc4de9569..4b4aaaff2288 100644 --- a/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml +++ b/Resources/Prototypes/SS220/ChemicalImplants/chemimplanters.yml @@ -4,7 +4,6 @@ id: BaseChemicalImplanter parent: BaseItem abstract: true - noSpawn: true components: - type: ItemSlots - type: ContainerContainer From d6a0d81f376dc07ab18ad4559b337704d3a3c0e4 Mon Sep 17 00:00:00 2001 From: Lazzi0706 Date: Wed, 21 Feb 2024 10:27:27 +0700 Subject: [PATCH 10/10] tests must live --- Resources/migration.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/migration.yml b/Resources/migration.yml index 90a780d036fe..99014ed41352 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -10,7 +10,6 @@ # 2024-02-15 - SS220 BaseReagentsCapsule: null -BaseReagentsCapsuleImplanter: BaseChemicalImplanter ReagentsCapsuleInjector: ChemicalImplanter EmptyCapsule: EmptyChemicalImplant CombatCapsule: CombatChemicalImplant