license: "CC0-1.0"
copyright: "Created by romulofs, converted to OGG, and edited by TiniestShark (Github)"
source: "https://freesound.org/s/127541/"
+
+- files: ["jet_injector.ogg"]
+ license: "CC-BY-3.0"
+ copyright: "Orginal audio by EminYILDIRIM -- https://freesound.org/s/548009/ -- License: Attribution 4.0, 2imitk -- https://freesound.org/s/279044/ -- License: Attribution 3.0 and brunoboselli -- https://freesound.org/s/457294/ -- License: Creative Commons 0, modified by Princess-Cheeseballs (GitHub)"
+ source: "https://github.com/space-wizards/space-station-14/pull/40076"
injector-component-needle-injecting-target = {CAPITALIZE(THE($user))} is trying to inject a needle into you!
injector-component-needle-drawing-user = You start drawing the needle.
injector-component-needle-drawing-target = {CAPITALIZE(THE($user))} is trying to use a needle to draw from you!
+injector-component-spray-injecting-user = You start preparing the spray nozzle.
+injector-component-spray-injecting-target = {CAPITALIZE(THE($user))} is trying to place a spray nozzle onto you!
## Target Popup Success messages
injector-component-feel-prick-message = You feel a tiny prick!
- id: UniformScrubsColorPurple
weight: 0.05
- id: ClothingMaskSterile
+ - id: JetInjector
- type: entity
parent: LockerMedical
- id: HandheldGPSBasic
- id: MedkitFilled
prob: 0.3
+ - id: JetInjector
- type: entity
parent: LockerParamedic
ChemistryBottleEpinephrine: 3
ChemistryBottleBicaridine: 1
Syringe: 5
+ JetInjector: 2
BoxBottle: 3
PillCanisterTricordrazine: 3
PillCanisterIron: 1
contrabandInventory:
PillCanisterRandom: 1
PillSpaceDrugs: 3
- FoodApple: 1
\ No newline at end of file
+ FoodApple: 1
injectSound: /Audio/Items/hypospray.ogg
injectPopupTarget: injector-component-feel-prick-message
injectOnUse: true
- mobTime: 0
delayPerVolume: 0
transferAmounts:
- 5
- type: injectorMode
- parent: [ BaseHyposprayMode, BaseInjectMode ]
+ abstract: true
+ parent: BaseHyposprayMode
+ id: BaseInstantHyposprayMode
+ mobTime: 0
+
+- type: injectorMode
+ parent: [ BaseInstantHyposprayMode, BaseInjectMode ]
id: HyposprayInjectMode
- type: injectorMode
- parent: [ BaseHyposprayMode, BaseDynamicMode ]
+ parent: [ BaseInstantHyposprayMode, BaseDynamicMode ]
id: HyposprayDynamicMode
- type: injectorMode
parent: HyposprayDynamicMode
id: HypopenDynamicMode
containerDrawTime: 0.75
+
+- type: injectorMode
+ abstract: true
+ parent: BaseHyposprayMode
+ id: BaseJetInjectorMode
+ injectSound: /Audio/Items/jet_injector.ogg
+ popupUserAttempt: injector-component-spray-injecting-user
+ popupTargetAttempt: injector-component-spray-injecting-target
+
+- type: injectorMode
+ parent: [ BaseJetInjectorMode, BaseInjectMode ]
+ id: JetInjectorInjectMode
+
+- type: injectorMode
+ parent: [ BaseJetInjectorMode, BaseDynamicMode ]
+ id: JetInjectorDynamicMode
+
+- type: injectorMode
+ abstract: true
+ parent: BaseJetInjectorMode
+ id: BaseAdvancedJetInjectorMode
+ mobTime: 2.5
+
+- type: injectorMode
+ parent: [ BaseAdvancedJetInjectorMode, BaseInjectMode ]
+ id: AdvancedJetInjectorInjectMode
+
+- type: injectorMode
+ parent: [ BaseAdvancedJetInjectorMode, BaseDynamicMode ]
+ id: AdvancedJetInjectorDynamicMode
- type: UseDelay
delay: 0.5
+- type: entity
+ parent: BaseHypospray
+ id: JetInjector
+ name: jet injector
+ description: A sterile injector for convenient administration of drugs to patients.
+ components:
+ - type: Sprite
+ sprite: Objects/Specific/Medical/jetinjector.rsi
+ layers:
+ - state: jetinjector_base
+ map: [ "enum.SolutionContainerLayers.Base" ]
+ - state: jetinjector_filled1
+ map: [ "enum.SolutionContainerLayers.Fill" ]
+ visible: false
+ - type: Item
+ sprite: Objects/Specific/Medical/jetinjector.rsi
+ - type: UseDelay
+ delay: 2.0
+ - type: SolutionContainerManager
+ solutions:
+ hypospray:
+ maxVol: 15
+ - type: SolutionContainerVisuals
+ maxFillLevels: 3
+ fillBaseName: jetinjector_filled
+ solutionName: hypospray
+ - type: Injector
+ solutionName: hypospray
+ currentTransferAmount: null # Inject everything on injection.
+ activeModeProtoId: JetInjectorDynamicMode
+ allowedModes:
+ - JetInjectorDynamicMode
+ - JetInjectorInjectMode
+
+- type: entity
+ parent: JetInjector
+ id: AdvancedJetInjector
+ name: advanced jet injector
+ description: A pristine, fashionable, high quality injector. Allows for a faster injection, with a slightly larger capacity.
+ components:
+ - type: Sprite
+ sprite: Objects/Specific/Medical/advanced_jetinjector.rsi
+ layers:
+ - state: jetinjector_base
+ map: [ "enum.SolutionContainerLayers.Base" ]
+ - state: jetinjector_filled1
+ map: [ "enum.SolutionContainerLayers.Fill" ]
+ visible: false
+ - type: Item
+ sprite: Objects/Specific/Medical/advanced_jetinjector.rsi
+ - type: SolutionContainerManager
+ solutions:
+ hypospray:
+ maxVol: 20
+ - type: SolutionContainerVisuals
+ maxFillLevels: 4
+ - type: Injector
+ activeModeProtoId: AdvancedJetInjectorDynamicMode
+ allowedModes:
+ - AdvancedJetInjectorDynamicMode
+ - AdvancedJetInjectorInjectMode
+
- type: entity
parent: SyndiHypo
id: AdminHypo
- WhiteCane
- OffsetCane
- OffsetCaneWood
+ - JetInjector
- type: latheRecipePack
id: RollerBedsStatic
- SyringeBluespace
- LauncherSyringe
- MiniSyringe
+ - AdvancedJetInjector
- type: latheRecipePack
id: MedicalBoards
Glass: 100
Plastic: 100
+- type: latheRecipe
+ id: JetInjector
+ result: JetInjector
+ categories:
+ - Tools
+ completetime: 5
+ materials:
+ Steel: 500
+ Glass: 500
+ Plastic: 250
+ Silver: 250
+
+- type: latheRecipe
+ id: AdvancedJetInjector
+ result: AdvancedJetInjector
+ categories:
+ - Tools
+ completetime: 5
+ materials:
+ Steel: 500
+ Glass: 500
+ Plastic: 250
+ Silver: 400
+ Gold: 50 # A bit of gold for the gold ornaments on it!
cost: 5000
recipeUnlocks:
- BorgModuleAdvancedChemical
+ - AdvancedJetInjector
- type: technology
id: AdvancedCleaning
--- /dev/null
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Sprites made by @Sir_Warock on Discord, remastered by @Phantasai on Github",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "jetinjector_base"
+ },
+ {
+ "name": "jetinjector_filled1"
+ },
+ {
+ "name": "jetinjector_filled2"
+ },
+ {
+ "name": "jetinjector_filled3"
+ },
+ {
+ "name": "jetinjector_filled4"
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ }
+ ]
+}
--- /dev/null
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Sprites made by @Sir_Warock on Discord, remastered by @Phantasai on Github",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "jetinjector_base"
+ },
+ {
+ "name": "jetinjector_filled1"
+ },
+ {
+ "name": "jetinjector_filled2"
+ },
+ {
+ "name": "jetinjector_filled3"
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ }
+ ]
+}