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