Pouch, Autoinjector, Smart Refill Tank, Wey-Med Update PR Remake#11357
Open
Puckaboo2 wants to merge 62 commits into
Open
Pouch, Autoinjector, Smart Refill Tank, Wey-Med Update PR Remake#11357Puckaboo2 wants to merge 62 commits into
Puckaboo2 wants to merge 62 commits into
Conversation
Autoinjector Update
pouch update Update pouch.dm
Update glass.dm Update glass.dm Update glass.dm Update glass.dm Update glass.dm
Update medical.dm Update medical.dm
Stop! Webbing and vest pocket disclosure time.
Contributor
|
Conflicts have been resolved. A maintainer will review the pull request shortly. |
…into 5uautoinjector
SpypigDev
requested changes
Mar 9, 2026
Comment on lines
+76
to
+122
| message_to_player("Good. Now, the third type of damage is <b>Oxy</b> damage. Oxy damage, or oxygen deprivation, is an indicator your organs are struggling to receive oxygen, either due to blood loss, heart and lung injuries, or breathing in a low oxygen environment. To simulate this, we're forcing you to hold your breath for a very long time.") | ||
| update_objective("Try not to pass out.") | ||
| var/mob/living/living_mob = tutorial_mob | ||
| living_mob.adjustOxyLoss(85) | ||
| addtimer(CALLBACK(src, PROC_REF(oxy_tutorial)), 4 SECONDS) | ||
|
|
||
| /datum/tutorial/marine/medical_basic/proc/oxy_tutorial() | ||
| message_to_player("<b>Dexalin Plus</b> is a miraculous medication that instantly removes all Oxy damage. Quickly, inject yourself with the <b>dexalin plus EZ autoinjector</b> before you pass out!") | ||
| update_objective("Inject yourself with the dexalin plus autoinjector.") | ||
| var/obj/item/reagent_container/hypospray/autoinjector/tutorial/dexalinp/oxy_injector = new(loc_from_corner(0, 4)) | ||
| add_to_tracking_atoms(oxy_injector) | ||
| add_highlight(oxy_injector) | ||
| RegisterSignal(tutorial_mob, COMSIG_LIVING_HYPOSPRAY_INJECTED, PROC_REF(on_oxy_inject)) | ||
|
|
||
| /datum/tutorial/marine/medical_basic/proc/on_oxy_inject(datum/source, obj/item/reagent_container/hypospray/injector) | ||
| SIGNAL_HANDLER | ||
|
|
||
| if(!istype(injector, /obj/item/reagent_container/hypospray/autoinjector/tutorial/dexalinp)) | ||
| return | ||
|
|
||
| UnregisterSignal(tutorial_mob, COMSIG_LIVING_HYPOSPRAY_INJECTED) | ||
| TUTORIAL_ATOM_FROM_TRACKING(/obj/item/reagent_container/hypospray/autoinjector/tutorial/dexalinp, oxy_injector) | ||
| remove_highlight(oxy_injector) | ||
| message_to_player("Amazing. A breath of fresh air without breathing. ... You can breathe, now. Good. The next type of damage is toxin damage, which accumulates from ingesting or breathing toxic chemicals, overdosing on medicine, drinking too much alcohol, and liver damage.") | ||
| update_objective("") | ||
| var/mob/living/living_mob = tutorial_mob | ||
| living_mob.adjustToxLoss(20) | ||
| addtimer(CALLBACK(src, PROC_REF(tox_tutorial)), 4 SECONDS) | ||
|
|
||
| /datum/tutorial/marine/medical_basic/proc/tox_tutorial() | ||
| message_to_player("<b>Dylovene</b> slowly removes toxin damage over time. Inject yourself with the <b>dylovene EZ autoinjector</b>.") | ||
| update_objective("Inject yourself with the dylovene autoinjector.") | ||
| var/obj/item/reagent_container/hypospray/autoinjector/tutorial/antitoxin/tox_injector = new(loc_from_corner(0, 4)) | ||
| add_to_tracking_atoms(tox_injector) | ||
| add_highlight(tox_injector) | ||
| RegisterSignal(tutorial_mob, COMSIG_LIVING_HYPOSPRAY_INJECTED, PROC_REF(on_tox_inject)) | ||
|
|
||
| /datum/tutorial/marine/medical_basic/proc/on_tox_inject(datum/source, obj/item/reagent_container/hypospray/injector) | ||
| SIGNAL_HANDLER | ||
|
|
||
| if(!istype(injector, /obj/item/reagent_container/hypospray/autoinjector/tutorial/antitoxin)) | ||
| return | ||
|
|
||
| UnregisterSignal(tutorial_mob, COMSIG_LIVING_HYPOSPRAY_INJECTED) | ||
| TUTORIAL_ATOM_FROM_TRACKING(/obj/item/reagent_container/hypospray/autoinjector/tutorial/dexalinp, tox_injector) | ||
| remove_highlight(tox_injector) | ||
| message_to_player("Good. Now, you may have noticed that toxins, in addition to other types of damage, cause <b>pain</b>. Pain slows you down and can knock you out if left unchecked.") |
Contributor
There was a problem hiding this comment.
this section of code is not within the scope of this PR, and needs to be atomized into its own
Contributor
Author
There was a problem hiding this comment.
o/ it will be done... But I can't make a PR for it until this goes though, so...
Contributor
Author
There was a problem hiding this comment.
I did it. Pls re-review.
Contributor
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Contributor
|
Conflicts have been resolved. A maintainer will review the pull request shortly. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
About the pull request
PART ONE: Autoinjectors
PART TWO: POUCHES (Was in #11118)
PART THREE: Tank and Canister Update
PART FOUR MEDI-VENDS
Explain why it's good for the game
PART ONE
PART TWO
PART THREE (Fixes #10916)
Smart Refill tanks were not very smart at all! They could not identify single-use autoinjectors; refilling pain-stop, first-aid, and ez autoinjectors were out of the question. In addition, it only recognized empty autoinjectors that needed refilling. Now, it intelligently differentiates between single-use and three-use autoinjectors AND can partially refill said autoinjectors with the precise amount of chemicals left in the tank.
It's a very smart tank! Now, it has several reasons for refusal:
It's a smart little tank.
It's a VERY smart little tank. If this is too OP, maybe this can be a research upgrade.
You can flush the canister while it's in the pouch... But not flush the canister by itself? That did not make any sense to me, so I decided to add this feature.
I forgot to add them after I resprited the reagent canister pouches.
PART FOUR MEDI-VENDS
Testing Photographs and Procedure
Screenshots & Videos
New Reagent Pouch lineup. On the floor is Damage Mend Mix, Oxycodone Revival Mix, and Surgery Prep Mix.

Reagent Pouch Autoinjectors in Weymed (Also Epi bottle)

New Hyposprays

Stimpack pouches

Medilathe autoinjector names

Slightly modified autoinjector overlay on the pouch

Flush autoinjector inside and outside pouch


Can flush pressurized reagent canister in-hand

New pain-stop and first-aid autoinjectors

Displays the types of autoinjectors you can use on smart tanks (You could only use regular and EZ bicaridine autoinjectors before, in this example. Now, you can fill one-use autoinjectors like pain-stop/first-aid and one-use EZs.)

Changelog
🆑 Puckaboo2
add: Adds 5u, 10u, and 20u reagent pouch autoinjectors. Also adds 5u, 10u, and 15u reagent pouch autoinjectors in Weymed Plus.
add: Adds several new reagent pouches for medics.
add: Adds the ability to flush a custom autoinjector outside and inside a pouch.
balance: Adds 1u Dex+ to emergency autoinjectors. You're welcome!
code: Renamed autoinjectors in the Medilathe to make the names easier to understand.
code: Repaths and sorts autoinjector types to facilitate path and parenting referencing.
del: Replaces tramadol EZ one-use autoinjectors with pain-stop autoinjectors. They do the same thing, and the pain-stops can be refilled.
del: Nukes some pouch options literally nobody uses in the Medbay Clothing Vend
imageadd: Re-sprited pain-stop and first-aid autoinjectors to look like one-use autoinjectors.
imagedel: Removed expended PS and FA autoinjector sprites because they can be refilled.
imagetweak: Tweaked autoinjector, fill sprites, and hypospray to look more detailed.
add: Adds names and sprites to variants of stimpack pouches.
add: All pouches, belts, and attachable storage articles of clothing will tell you how much storage space they have.
balance: The contents of stimpack pouches are limited to their stimpacks in question. (for example, speed stimpack pouches can only hold speed stimpacks)
balance: Oxycodone pouches come with a 5u autoinjector instead of a 15u to decrease the chance of overdosing.
fix: Fixes a misaligned reagent fill sprite for reagent pouches.
fix: You can no longer exploit the redemption stimpack pouch's limitation of 1 storage space by stuffing your redemption stimpacks in the speed or brain stimpack pouch.
imageadd: Adds sprites and overlays for redemption, brain, and speed stimpack pouches.
imagetweak: Re-shaded the autoinjector overlay on the pouch.
add: Smart Refill tanks have 6 complete reasons for refusing to fill an autoinjector.
add: Smart Refill tanks can now recognize autoinjectors that are not fully emptied and try to refill them without wasting chemicals.
add: Smart Refill tanks can now fill pain-stop/first-aid autoinjectors and one-use EZ autoinjectors. As a bonus, it can also fill Ultrazine and pathogen cure autoinjectors.
add: Adds the ability to flush a Pressurized Reagent Canister without the need for it to be in a pouch, first.
fix: Smart Refill tanks can now differentiate between ez/pain-stop/first-aid autoinjectors and standard Wey-Med varieties and fill both kinds without wasting chemicals.
add: Adds empty hyposprays to Wey-Med vending machines.
add: Gives vials and hyposprays with chemicals initialized into them unique names and descriptions.
add: Wey-Meds gives exact reasons for refusing to refill or accept an item for stocking.
balance: Adds Epinephrine bottles and epinephrine hyposprays exclusively to Wey-Med vending machines.
code: Alphabetizes things in Wey-Med.
fix: UPPs can now refill their epinephrine autoinjectors and their epinephrine bottles in their provided Wey-Med machine.
maptweak: Replaces the deleted Tricord reagent pouch on White Andre Research Facility with a Damage-mending pouch.
refactor: Did a thing with single-letter variables here in edited files.
/:cl: