Skip to content

[MDB IGNORE] [PORT] [COMMISSION] Hyposprays of Theseus (Hyposprays MK2)#10920

Merged
SirNightKnight merged 41 commits intoMonkestation:masterfrom
Mantlecrawler:Imnotacoderbut20dollarsis20dollars
Mar 14, 2026
Merged

[MDB IGNORE] [PORT] [COMMISSION] Hyposprays of Theseus (Hyposprays MK2)#10920
SirNightKnight merged 41 commits intoMonkestation:masterfrom
Mantlecrawler:Imnotacoderbut20dollarsis20dollars

Conversation

@Mantlecrawler
Copy link
Copy Markdown
Collaborator

@Mantlecrawler Mantlecrawler commented Feb 26, 2026

About The Pull Request

Commissioned by Isotope 436
Ports a significant majority of Hyposprays MK2 from yogs, which were originally ported from Whitesands in PR #14814, which themselves were originally ported from Citadel, in #20, and orignally created by Poojawa. This also includes better hypospray sprites, from Shiptest, created by Triplezeta in #31

Images

dreamseeker_l5xPbalNNE image

This includes

  • Vials; Small reagent containers that can be reskinned by altclicking, or renamed.
    • Bluespace Vials and large vials, for holding more chemicals. Cannot be used in every hypospray.
    • Large bluespace vials, exclusive to the CMO
  • Hyposprays; Advanced Injectors capable of rapidly swapping Vials, to use different chemicals. They come in various variants and have differnt upgrades, which can be purchased, made, or researched, including hardsuit piercing and quicker injecting of vials.
    • Hyposprays have 3 modes : Spray, Inject, and Draw.
    • Using any of the modes on yourself or objects is instant, whereas using it on other people takes time (1.5s for spray and inject, 0.5s for draw)
    • Hyposprays cannot pierce thick armor by default, but do have a upgrade to do so.
    • Hyposprays can control their transfer amount : Base hyposprays can transfer 1, 2, 3, 5, 10u at a time
    • The CMO gets a special hypospray which can support larger vials, alongside a box of special vials that store 120U, prefilled with advanced chems. It remains exclusive to the CMO and is still an objective for traitors.
    • Nukies also get access to special kits which include premixed vials, and a combat hypospray. Syndicate (Combat) Hyposprays pierce by default, and support large vials
    • Traitors get access to the combat hypospray itself, though not the kit.
  • The Hypospray Vendor; A new tab in the Nanomed Vendors, that contains assorted hypospray supplies - Vial kits, empty vial lockboxes, and hyposprays themselves. Hyposprays are priced at 300, basic kits at 400, and advanced kits at 500
  • Vial Lockboxes : Lockable boxes that can store a large amount of vials, and have special overlays that show the vials insde, along with the fill levels and chemical colors of each vial.

Differences from Yogs Hypos

  • Hypos start with quickswap by default
  • CMO gets special large bluespace vials, exclusive to them, rather than just normal large vials
  • Speed Upgrades moved to research, instead of being bought from the hypo vendor
  • Hypo vendor is now a tab in Nanomed, rather than a seperate vendor
  • Draw mode actually works now
  • Hyposprays can be used to handle reagent containers other than living beings - and spray mode works on anything. You can use hyposprays to draw chemicals from beakers or other sources with draw, or inject into them with inject
  • Assorted controls changes - Change mode by using inhand, remove a vial with rclick, change transfer size with ctrl left / right clcik
  • Assorted timings / delays changes
  • No hypo kits exclusively for one damage type. Ask the chemists!
  • Assorted chem changes, most replacements should be fairly similar in healing power, but I've not worked with the chems usable on monke enough to say with certainty.
Code Stuff

Alongside this, the code around medipens & hyposprays has been cleaned up and organized better.

  • Items can now have the var discountable set to false, preventing them from receiving job based discounts when in a vending machine.
  • A significant portion of hypospray code has been rewritten to be cleaner and or more efficient, alongside fixing a few bugs that remained on yogs.
  • Sprites for large bluespace vials created by myself
  • The anurifen, ibaltifen, emergency painkiller, and survival painkiller, and morphine medipens have been moved out of pain_mangement.dm and into medipens.dm.
  • Deforest Medipens have been moved to medipens.dm, from deforest.dm
  • All medipens can now have a delay when injecting others, rather than just deforest medipens. Deforest delay remains the same (1.5 seconds)
  • Medipens have been split into medipens.dm and survival_medipens.dm. Medipens.dm is further split up by comment seperators between advanced and normal medipens, survival medipens has recieved the same between normal survival and luxury medipens.
  • survival medipens now have two addtional vars, which allows the time for a pen to inject stationside to be changed, alongside the ability to inject stationside at all, to be toggled on and off. The time for survival pens to be injected is still the same at 10 seconds.

Too many other minor changes to list.

Full list of ported PRs
yogstation13/Yogstation#14814
yogstation13/Yogstation#15024
yogstation13/Yogstation#14904
yogstation13/Yogstation#19681

Used regexs for the PR
(?<!cup|drinks)/glass/bottle : Repathing vials from .../containers/glass/bottle to just .../containers/cup/vial

Why It's Good For The Game

Hyposprays provide a faster and more unique way to manage reagents, handle outbreaks, spread diseases, and preform on the field healing. There are varying tiers of hypos to give progression throughout the round, and syndicate & command exclusive items for hyposprays. Also cleans up code, so thats good.

Testing

Everything i can think of has been tested, though I've probably missed something. This should really be tmed.
Off the major list
Hypospray modes all work - Switching between them, loading and unloading vials, etc. Spraying applies reagents via Vapor, same as foam, inject injects, and draw draws the appropriate amount of blood.

Changelog

🆑 Mantle, Poojawa, Ynot, Njmask, Triplezeta, Marksuckerberg, assorted other coders and spriters - Port of a port of a port
add: Ported Hyposprays Mk2 from Yogs, inturn from Whitesands, from Citadel, and shiptest. - Effectively advanced syringes that can draw blood, inject reagents, and spray reagents
add: Vials - Special containers meant for hyposprays. They come in various sizes - 15u, 30u, 60u, and 120u. Not every type is usable in every hypospray, and the 120u vials are exclusive to the CMO
add: Hypospray's mode can be changed by using inhand, their vials removed by rclick, and the transfer size changed by ctrl left / right clicking
add: Hyposprays have special upgrade, unlockable via research
add: Hyposprays and hypospray accessories can be found for purchase in a new tab in the Nanomed Vendor.
image: Hypospray, Vial, lockbox sprites
code: This PR changes a significant amount around autoinjectors (medipens), and adds hyposprays. Please report any bugs to the PR on GitHub, or ping @Mantlecrawler in discord. There should also be a thread up for it in PR-Discusssion
admin: Minor ERT loadout tweaks - ERTs now have hyposprays, rather than single or multi use injectors.
/:cl:

Pre-Merge Checklist

  • You tested this on a local server.
  • This code did not runtime during testing.
  • You documented all of your changes.

…AAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!
@JohnFulpWillard
Copy link
Copy Markdown
Contributor

I remember MD hyposprays being like a white/grey colored CMO hypospray, why does it look like a holopara/nukie stims injector?

@Mantlecrawler
Copy link
Copy Markdown
Collaborator Author

I remember MD hyposprays being like a white/grey colored CMO hypospray, why does it look like a holopara/nukie stims injector?

Iirc when they were ported to yogs the sprites were changed around a bit, and I personally think the current sprites are good

@Mantlecrawler Mantlecrawler changed the title [PORT] [COMMISSION] Hyposprays of Theseus (Hyposprays MK2) [MDB IGNORE] [PORT] [COMMISSION] Hyposprays of Theseus (Hyposprays MK2) Feb 27, 2026
@ChiefMonkengineer
Copy link
Copy Markdown
Contributor

ChiefMonkengineer commented Mar 3, 2026

Test merge deployment history:

Test Merge Deployed @ 03/03/2026 00:41:08 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 4619fac
Pull Request: d08d4b7
Server: 487228cf73e6e8d72e7dd953db16149dc70ee636

Test Merge Updated @ 03/03/2026 02:53:51 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 731cf8b
Pull Request: d08d4b7
Server: c7b0391d335836c32287b7dcde60b3dfdd053d90

Test Merge Updated @ 03/03/2026 07:12:56 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 731cf8b
Pull Request: d08d4b7
Server: f97f79a4fbf68ebf2c53a3c7f814d7e9813d0ee4

Test Merge Updated @ 03/03/2026 10:17:44 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 731cf8b
Pull Request: 9790156
Server: a51d8acb54bf024697f72430e4815ba125e3e1f1

Test Merge Updated @ 03/03/2026 10:28:50 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 2f6a04c
Pull Request: 9790156
Server: 472a00f188c6497ad6ef0cda58afb7a8385a2f4d

Test Merge Updated @ 03/03/2026 16:57:37 +00:00:
Server Instance

Monkestation

Merged By

notghosti

Revision

Origin: fc25d8c
Pull Request: 3960ca5
Server: eac5b90e8bce9c84a08a111840e810388cdb7c36

Test Merge Updated @ 03/04/2026 00:48:32 +00:00:
Server Instance

Monkestation

Merged By

notghosti

Revision

Origin: fc25d8c
Pull Request: ea8f270
Server: 53efa45cdf3e52857ba3812f56ced7e629c515ca

Test Merge Updated @ 03/04/2026 03:20:29 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 97c782e
Pull Request: ea8f270
Server: 97e807ac787592a0c2d377f6958cdd9bd34246b2

Test Merge Updated @ 03/04/2026 07:52:01 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: f9bb822
Pull Request: 6984fd6
Server: 4bd39f9a0e409a250a9919b1b4f26b3f28424072

Test Merge Updated @ 03/05/2026 07:16:39 +00:00:
Server Instance

Monkestation

Merged By

flleeppyy2

Revision

Origin: 8bd565f
Pull Request: 6984fd6
Server: 104c13f3de945f180e5ffab111f1ee9da8f4968f

Test Merge Updated @ 03/05/2026 17:07:01 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 158a4e6
Pull Request: 6984fd6
Server: cffbcfe6841d997359f85ae0a2524e4176b9825f

Test Merge Removed @ 03/06/2026 09:55:54 +00:00:
Server Instance

Monkestation

Test Merge Deployed @ 03/06/2026 10:48:55 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 88a19ee
Pull Request: fa4a96a
Server: 5a46ced5389cbaa8cfffbd43b3ee9961469b6c0e

Test Merge Updated @ 03/06/2026 13:39:17 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 88a19ee
Pull Request: 104bbd9
Server: c81a589ba71bdbc8bef694cd814e23f14b06259c

Test Merge Updated @ 03/07/2026 11:49:34 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 4de0d25
Pull Request: 104bbd9
Server: 17deeddabecbb529b234208a768c3236b32ee399

Test Merge Updated @ 03/07/2026 11:52:22 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 461cb70
Pull Request: 104bbd9
Server: 9c536448c64ae6d6e126bfc8c13c6f388abef1bf

Test Merge Updated @ 03/07/2026 13:14:55 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 36a26df
Pull Request: 104bbd9
Server: 5dad9886d63e3be417e3a8c106a3f15cdd2db463

Test Merge Updated @ 03/07/2026 15:05:39 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 93d1039
Pull Request: 104bbd9
Server: 54a05fa6d2c91a985583a68e357168c977fa9dbb

Test Merge Updated @ 03/07/2026 20:29:39 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 93d1039
Pull Request: 104bbd9
Server: 922722369848dfd0ba78260b9ba07ce3d980e6a8

Test Merge Updated @ 03/07/2026 21:47:01 +00:00:
Server Instance

Monkestation

Merged By

notghosti

Revision

Origin: 7cb0112
Pull Request: 104bbd9
Server: 88aa43987f5df5a366cb294439728937828b1b69

Test Merge Updated @ 03/08/2026 17:09:30 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 9bbbdde
Pull Request: 3802015
Server: 9bf1710592f7446fd649c344571a935ef79a1c8e

Test Merge Updated @ 03/08/2026 21:14:29 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 9bbbdde
Pull Request: b6575d5
Server: e64b7462e784bf996c67217e3cee9ad9fcc9a06e

Test Merge Updated @ 03/09/2026 15:29:20 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 83b33ae
Pull Request: b6575d5
Server: 19bf9ff5f452598adaaceef3f1e3af789dc82eb0

Test Merge Updated @ 03/09/2026 19:10:19 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 83b33ae
Pull Request: b6575d5
Server: c3712ea8e19c9fb03c0a14df6bcbceb703106811

Test Merge Updated @ 03/09/2026 23:23:58 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: f508135
Pull Request: b6575d5
Server: 3ca623715d2fe67e1a2cc92bbcab177e38fdf779

Test Merge Updated @ 03/10/2026 23:55:29 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 2e0d507
Pull Request: b6575d5
Server: 3549bb50ddd858f89df0eb7d391b7820c9fb0ca8

Test Merge Updated @ 03/11/2026 17:39:24 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 181c3ff
Pull Request: a63dbe8
Server: d9ffcdbeec5faf9c2b84b7b226083410bda11cae

Test Merge Updated @ 03/12/2026 01:03:30 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 181c3ff
Pull Request: a63dbe8
Server: 0ed925381426b3fb79eb0db8e065a3091245db8a

Test Merge Updated @ 03/12/2026 02:52:21 +00:00:
Server Instance

Monkestation

Merged By

wraith_54321

Revision

Origin: 63e7efb
Pull Request: a63dbe8
Server: 3e6d468716a4a36b56a93c3d276f304e1b221880

Test Merge Updated @ 03/12/2026 03:06:36 +00:00:
Server Instance

Monkestation

Merged By

wraith_54321

Revision

Origin: f4877c1
Pull Request: a63dbe8
Server: 85f52a1067d45b6f4a785d3452f18218166b5359

Test Merge Updated @ 03/12/2026 04:56:14 +00:00:
Server Instance

Monkestation

Merged By

wraith_54321

Revision

Origin: f4877c1
Pull Request: a63dbe8
Server: d144e115c672777ac639092f43e14f66fac8b3e9

Test Merge Updated @ 03/12/2026 23:05:04 +00:00:
Server Instance

Monkestation

Merged By

lovesiro

Revision

Origin: d591ac4
Pull Request: a63dbe8
Server: 3867514560d70b620be33eb1e2333b3289669c7f

Test Merge Updated @ 03/13/2026 01:27:10 +00:00:
Server Instance

Monkestation

Merged By

notghosti

Revision

Origin: ee39169
Pull Request: a63dbe8
Server: 9cefa1c1757d182dfe575a52587716b8df0f35a1

Test Merge Updated @ 03/13/2026 01:34:10 +00:00:
Server Instance

Monkestation

Merged By

notghosti

Revision

Origin: ee39169
Pull Request: a63dbe8
Server: 0b531791fad09b1dad682bf753b585dba9f14b4f

Test Merge Updated @ 03/13/2026 19:12:42 +00:00:
Server Instance

Monkestation

Merged By

notghosti

Revision

Origin: 0b42128
Pull Request: a63dbe8
Server: 226590492a7b19e28ae71260a74ab53920c7897a

Test Merge Updated @ 03/14/2026 21:13:29 +00:00:
Server Instance

Monkestation

Merged By

sirnightknight

Revision

Origin: 0e724bd
Pull Request: a63dbe8
Server: 03637faea08a281b547bae4a18d4c9322ffa35b4

Test Merge Removed @ 03/14/2026 21:47:59 +00:00:
Server Instance

Monkestation

Comment thread code/game/objects/items/storage/lockbox.dm
@SirNightKnight SirNightKnight merged commit 01f4c33 into Monkestation:master Mar 14, 2026
27 checks passed
@github-project-automation github-project-automation bot moved this from In progress to Close in Monkestation-TG Issues Tracker Mar 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Change: spriting Code: Improvement exactly what it says on the tin Feature: Feature The creature feature. featuring: the creature.

Projects

Development

Successfully merging this pull request may close these issues.

6 participants