diff --git a/Content.Server/Chemistry/Components/MeleeChemicalInjectorComponent.cs b/Content.Server/Chemistry/Components/MeleeChemicalInjectorComponent.cs
index 0bc5b3ae04..4b855f759a 100644
--- a/Content.Server/Chemistry/Components/MeleeChemicalInjectorComponent.cs
+++ b/Content.Server/Chemistry/Components/MeleeChemicalInjectorComponent.cs
@@ -14,5 +14,12 @@ namespace Content.Server.Chemistry.Components
[DataField("transferEfficiency")]
private float _transferEfficiency = 1f;
+
+ ///
+ /// Solution to inject from.
+ ///
+ [ViewVariables(VVAccess.ReadWrite)]
+ [DataField("solution")]
+ public string Solution { get; set; } = "default";
}
}
diff --git a/Content.Server/Weapons/Melee/MeleeWeaponSystem.cs b/Content.Server/Weapons/Melee/MeleeWeaponSystem.cs
index 05202f3397..526d8513f2 100644
--- a/Content.Server/Weapons/Melee/MeleeWeaponSystem.cs
+++ b/Content.Server/Weapons/Melee/MeleeWeaponSystem.cs
@@ -155,7 +155,7 @@ public sealed class MeleeWeaponSystem : SharedMeleeWeaponSystem
// If the user is using a long-range weapon, this probably shouldn't be happening? But I'll interpret melee as a
// somewhat messy scuffle. See also, heavy attacks.
- _interaction.DoContactInteraction(user, ev.Target);
+ _interaction.DoContactInteraction(user, ev.Target);
// For stuff that cares about it being attacked.
RaiseLocalEvent(ev.Target.Value, new AttackedEvent(component.Owner, user, targetXform.Coordinates));
@@ -555,7 +555,7 @@ public sealed class MeleeWeaponSystem : SharedMeleeWeaponSystem
private void OnChemicalInjectorHit(EntityUid owner, MeleeChemicalInjectorComponent comp, MeleeHitEvent args)
{
- if (!_solutions.TryGetInjectableSolution(owner, out var solutionContainer))
+ if (!_solutions.TryGetSolution(owner, comp.Solution, out var solutionContainer))
return;
var hitBloodstreams = new List();
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/spacetick.yml b/Resources/Prototypes/Entities/Mobs/NPCs/spacetick.yml
index 96abaaf59f..8124ddec4c 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/spacetick.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/spacetick.yml
@@ -60,19 +60,14 @@
damage:
groups:
Brute: 2
- - type: MeleeChemicalInjector
- type: SolutionContainerManager
solutions:
melee:
reagents:
- ReagentId: Toxin
Quantity: 5
- - type: RefillableSolution
+ - type: MeleeChemicalInjector
solution: melee
- - type: InjectableSolution
- solution: melee
- - type: SolutionTransfer
- maxTransferAmount: 5
- type: GhostTakeoverAvailable
prob: 0.33
makeSentient: true
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml
index ae92371085..8fe666334a 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml
@@ -370,19 +370,14 @@
damage:
types:
Piercing: 5
- - type: MeleeChemicalInjector
- type: SolutionContainerManager
solutions:
melee:
reagents:
- ReagentId: Toxin
Quantity: 50
- - type: RefillableSolution
+ - type: MeleeChemicalInjector
solution: melee
- - type: InjectableSolution
- solution: melee
- - type: SolutionTransfer
- maxTransferAmount: 3
- type: Fixtures
fixtures:
- shape:
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
index 065ff98e64..e16e356e72 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
@@ -132,10 +132,9 @@
seedId: nettle
- type: MeleeChemicalInjector
transferAmount: 6 #To OD someone you would need 2 nettles and about 6-7 hits, the DOT is likely to crit them if they are running away with almost no health
+ solution: food
- type: Extractable
grindableSolutionName: food
- - type: InjectableSolution
- solution: food
- type: entity
name: banana
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml
index 4460328371..cbb1316a30 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml
@@ -32,11 +32,12 @@
graph: Spear
node: spear
- type: ItemCooldown
- - type: MeleeChemicalInjector
- type: SolutionContainerManager
solutions:
melee:
maxVol: 5
+ - type: MeleeChemicalInjector
+ solution: melee
- type: RefillableSolution
solution: melee
- type: InjectableSolution