diff --git a/Resources/Prototypes/_DV/Entities/Objects/Specific/Medical/hypospray.yml b/Resources/Prototypes/_DV/Entities/Objects/Specific/Medical/hypospray.yml new file mode 100644 index 00000000000..079dd70e4d8 --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Objects/Specific/Medical/hypospray.yml @@ -0,0 +1,105 @@ +- type: entity + id: CombatHypospray + name: combat hypospray + parent: [BaseItem, BaseRestrictedContraband] + description: A small hypospray intended for combat and rapid response teams, uses pre-built cartridges + components: + - type: Sprite + sprite: _DV/Objects/Specific/Medical/combathypo.rsi + state: hypo + - type: Item + sprite: _DV/Objects/Specific/Medical/combathypo.rsi + - type: SolutionContainerManager + solutions: + hypospray: + maxVol: 30 # Keep in sync with BaseEmptyHypoCartridge + reagents: [] + - type: ExaminableSolution + solution: hypospray + - type: Hypospray + solutionName: hypospray + transferAmount: 5 + onlyAffectsMobs: false + injectOnly: true + - type: HyposprayBlockNonMobInjection + - type: UseDelay + delay: 0.5 + - type: SolutionCartridgeReceiver + cartridgeSlot: + whitelist: + tags: + - HyposprayCartridge + - type: ContainerContainer + containers: + cartridge-slot: !type:ContainerSlot {} + +- type: entity + id: BaseEmptyHypoCartridge + name: cartridge + parent: [BaseItem, BaseRestrictedContraband] + # TODO: Make these destructible + components: + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: Destructible + thresholds: + - trigger: !type:DamageTrigger + damage: 5 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + params: + volume: -4 + - !type:SpillBehavior + solution: cartridge + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 1 + max: 1 + transferForensics: true + - !type:DoActsBehavior + acts: ["Destruction"] + - type: DamageOnLand + damage: + types: + Blunt: 10 # glass resistance set reduces damage. Need to land twice (w/o hitting wall) + - type: DamageOtherOnHit + damage: + types: + Blunt: 5 + - type: DamageOnHighSpeedImpact + minimumSpeed: 2 + damage: + types: + Blunt: 5 + - type: SolutionContainerManager + solutions: + cartridge: + maxVol: 30 # Keep in sync with the CombatHypospray + reagents: [] + - type: Tag + tags: + - HyposprayCartridge + - type: Drink # So we can view how much is IN the cartridge + solution: cartridge + - type: BlockDrinking # So we can stop people drinking the cartridge + - type: Sprite + sprite: Objects/Specific/Chemistry/bottle.rsi + layers: + - state: bottle-1 + - state: bottle-1-1 + map: ["enum.SolutionContainerLayers.Fill"] + visible: false + - type: ExaminableSolution + solution: cartridge + - type: SolutionItemStatus + solution: cartridge + - type: SolutionContainerVisuals + maxFillLevels: 6 + fillBaseName: bottle-1- + - type: Item + size: Tiny + sprite: Objects/Specific/Chemistry/bottle.rsi diff --git a/Resources/Prototypes/_DV/tags.yml b/Resources/Prototypes/_DV/tags.yml index 76b96a7595e..4125ab67097 100644 --- a/Resources/Prototypes/_DV/tags.yml +++ b/Resources/Prototypes/_DV/tags.yml @@ -68,7 +68,7 @@ - type: Tag id: HidesHarpyWings - + - type: Tag id: HudMedicalSecurity #Craftable Corpsman Glasses @@ -107,3 +107,6 @@ - type: Tag id: PermissibleForSurgery # Can be worn on the body during surgery + +- type: Tag + id: HyposprayCartridge diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/borghypo.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/borghypo.png new file mode 100644 index 00000000000..e0eafad0f57 Binary files /dev/null and b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/borghypo.png differ diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/borghypo_s.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/borghypo_s.png new file mode 100644 index 00000000000..4adc13c448a Binary files /dev/null and b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/borghypo_s.png differ diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/combat_hypo.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/combat_hypo.png new file mode 100644 index 00000000000..022d0a1988a Binary files /dev/null and b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/combat_hypo.png differ diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/equipped-BELT.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/equipped-BELT.png new file mode 100644 index 00000000000..ad53beead53 Binary files /dev/null and b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/hypo.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/hypo.png new file mode 100644 index 00000000000..cab29e5b0af Binary files /dev/null and b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/hypo.png differ diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/inhand-left.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/inhand-left.png new file mode 100644 index 00000000000..e2007ee06ab Binary files /dev/null and b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/inhand-left.png differ diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/inhand-right.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/inhand-right.png new file mode 100644 index 00000000000..e2007ee06ab Binary files /dev/null and b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/inhand-right.png differ diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/meta.json b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/meta.json new file mode 100644 index 00000000000..0095919b632 --- /dev/null +++ b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/1cdfb0230cc96d0ba751fa002d04f8aa2f25ad7d", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "borghypo" + }, + { + "name": "borghypo_s" + }, + { + "name": "combat_hypo" + }, + { + "name": "hypo" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BELT", + "directions": 4 + } + ] +}