Skip to content

Commit e3a54ab

Browse files
authored
Adds NanoPharm and Misc Fluff Meds, now with less Merge Conflicts (#19779)
Your coworkers getting you down? Struggling to keep that headache at bay during a day at the office? Just need a pick-me-up? Look no further! Adds the Nanopharm, a simple vending machine giving access to some over-the-counter pharmaceuticals. Caffine pills, Cough medicine, that sort of thing. Amazing for 'My coworkers are such a headache I need to pop pills over it' rp. Please actually do feel free to give feedback over what should be added or omitted. I want to give some variety without adding things that should be prescription and controlled substances. Current things of note are caffeine pills, nicotine pills, and vitamins which this PR adds. Same as #19740, but with less conflicts hopefully. Credit to Courierbravo for helping with the map when my SDMM install messed up --------- Signed-off-by: HanSolo1519 <[email protected]>
1 parent 60603e6 commit e3a54ab

File tree

7 files changed

+184
-19
lines changed

7 files changed

+184
-19
lines changed

code/game/machinery/vending_types.dm

+45-4
Original file line numberDiff line numberDiff line change
@@ -716,7 +716,7 @@
716716
product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?"
717717
icon_state = "wallmed"
718718
req_access = list(ACCESS_MEDICAL)
719-
density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude
719+
density = FALSE //It is wall-mounted, and thus, not dense. --Superxpdude
720720
vend_id = "meds"
721721
products = list(
722722
/obj/item/stack/medical/bruise_pack = 3,
@@ -736,7 +736,7 @@
736736
premium = list(
737737
/obj/item/reagent_containers/pill/mortaphenyl = 4
738738
)
739-
random_itemcount = 0
739+
random_itemcount = FALSE
740740
temperature_setting = -1
741741
light_color = LIGHT_COLOR_GREEN
742742
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
@@ -747,7 +747,7 @@
747747
desc = "A wall-mounted version of the NanoMed, containing only vital first aid equipment."
748748
icon_state = "wallmed"
749749
req_access = list(ACCESS_MEDICAL)
750-
density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude
750+
density = FALSE //It is wall-mounted, and thus, not dense. --Superxpdude
751751
vend_id = "meds"
752752
products = list(
753753
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 5,
@@ -767,12 +767,53 @@
767767
premium = list(
768768
/obj/item/reagent_containers/pill/mortaphenyl = 4
769769
)
770-
random_itemcount = 0
770+
random_itemcount = FALSE
771771
temperature_setting = -1
772772
light_color = LIGHT_COLOR_GREEN
773773
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
774774
manufacturer = "zenghu"
775775

776+
/obj/machinery/vending/wallpharm
777+
name = "\improper NanoPharm Mini"
778+
desc = "A wall-mounted pharmaceuticals vending machine packed with over-the-counter bottles. For the sick salaried worker in you."
779+
icon_state = "wallpharm"
780+
density = FALSE
781+
products = list(
782+
/obj/item/storage/pill_bottle/antidexafen = 4,
783+
/obj/item/storage/pill_bottle/dexalin = 4,
784+
/obj/item/storage/pill_bottle/dylovene = 4,
785+
/obj/item/stack/medical/bruise_pack = 5,
786+
/obj/item/stack/medical/ointment = 5,
787+
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 2,
788+
/obj/item/storage/pill_bottle/vitamin = 5,
789+
/obj/item/storage/pill_bottle/cetahydramine = 4,
790+
/obj/item/storage/pill_bottle/caffeine = 3,
791+
/obj/item/storage/pill_bottle/nicotine = 4,
792+
/obj/item/storage/pill_bottle/rmt = 2
793+
)
794+
prices = list(
795+
/obj/item/storage/pill_bottle/antidexafen = 70,
796+
/obj/item/storage/pill_bottle/dexalin = 60,
797+
/obj/item/storage/pill_bottle/dylovene = 75,
798+
/obj/item/stack/medical/bruise_pack = 5,
799+
/obj/item/stack/medical/ointment = 8,
800+
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 14,
801+
/obj/item/storage/pill_bottle/vitamin = 55,
802+
/obj/item/storage/pill_bottle/cetahydramine = 60,
803+
/obj/item/storage/pill_bottle/caffeine = 90,
804+
/obj/item/storage/pill_bottle/nicotine = 85,
805+
/obj/item/storage/pill_bottle/rmt = 550
806+
)
807+
contraband = list(
808+
/obj/item/reagent_containers/pill/tox = 3,
809+
/obj/item/storage/pill_bottle/perconol = 3
810+
)
811+
random_itemcount = FALSE
812+
temperature_setting = -1
813+
light_color = COLOR_GOLD
814+
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
815+
manufacturer = "nanotrasen"
816+
776817
/obj/machinery/vending/security
777818
name = "SecTech"
778819
desc = "A security equipment vendor."

code/game/objects/items/weapons/storage/pill_bottle.dm

+16
Original file line numberDiff line numberDiff line change
@@ -180,3 +180,19 @@
180180
name = "bottle of 10u Ryetalyn pills"
181181
desc = "Contains pills used to treat genetic and immune diseases."
182182
starts_with = list(/obj/item/reagent_containers/pill/ryetalyn = 4)
183+
184+
/obj/item/storage/pill_bottle/caffeine
185+
name = "bottle of 5u Caffeine pills"
186+
desc = "Contains pills used to help with alertness and fatigue. The label warns against taking more than 2 in a 6-hour period. Possible side effects include jitteriness, heart palpitations, difficulty with concentrating, and even death."
187+
starts_with = list(/obj/item/reagent_containers/pill/caffeine = 7)
188+
189+
/obj/item/storage/pill_bottle/nicotine
190+
name = "bottle of 10u Nicotine pills"
191+
desc = "Contains pills used to treat nicotine addiction."
192+
starts_with = list(/obj/item/reagent_containers/pill/nicotine = 7)
193+
194+
/obj/item/storage/pill_bottle/vitamin
195+
name = "bottle of Vitamin supplements"
196+
desc = "Contains pills used to treat vitamin deficiency."
197+
starts_with = list(/obj/item/reagent_containers/pill/bio_vitamin/cheap = 7)
198+

code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm

+39
Original file line numberDiff line numberDiff line change
@@ -1920,3 +1920,42 @@
19201920
var/obj/item/organ/external/E = Z.parent_organ
19211921
Z.curing = TRUE
19221922
to_chat(M, SPAN_WARNING("Your [E.name] tightens, pulses, and squirms as \the [Z] fights back against the antibodies!"))
1923+
1924+
/singleton/reagent/caffeine // Copied from Hyperzine
1925+
name = "Caffeine"
1926+
description = "Caffeine is a central nervous system stimulant found naturally in many plants. It's used as a mild cognitive enhancer to increase alertness, attentional performance, and improve cardiovascular health."
1927+
reagent_state = SOLID
1928+
color = "#f9edea"
1929+
metabolism = REM * 0.15
1930+
overdose = 11
1931+
var/datum/modifier = null
1932+
taste_description = "bitter"
1933+
metabolism_min = REM * 0.025
1934+
breathe_met = REM * 0.15 * 0.5
1935+
1936+
/singleton/reagent/caffeine/get_od_min_dose(mob/living/carbon/M, location, datum/reagents/holder)
1937+
if(REAGENT_VOLUME(M.reagents, /singleton/reagent/adrenaline) > 5)
1938+
return 0 // Takes effect instantly.
1939+
. = od_minimum_dose
1940+
1941+
/singleton/reagent/caffeine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder)
1942+
if(prob(5))
1943+
to_chat(M, SPAN_GOOD(pick("You feel alert!", "You feel awake!", "You feel pumped!")))
1944+
if(check_min_dose(M, 0.5))
1945+
M.add_chemical_effect(CE_PULSE, 1)
1946+
1947+
/singleton/reagent/caffeine/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder)
1948+
M.adjustNutritionLoss(5*removed)
1949+
M.add_chemical_effect(CE_PULSE, 2)
1950+
M.add_chemical_effect(CE_SPEEDBOOST, 0.35) // Coffee = 0.3, Zora Soda = 0.4, Thirteen Loko = 0.5. Seems fine here, if a bit low.
1951+
M.make_jittery(5)
1952+
if(prob(5))
1953+
to_chat(M, SPAN_WARNING(pick("You have a headache!", "Energy, energy, energy - so much energy!", "You can't sit still!", "It's difficult to focus right now... but that's not important!", "Your heart is beating rapidly!", "Your chest hurts!", "You've totally over-exerted yourself!")))
1954+
if(prob(M.chem_doses[type] / 3))
1955+
M.emote(pick("twitch", "blink_r", "shiver"))
1956+
M.take_organ_damage(5 * removed, 0)
1957+
M.adjustHalLoss(15)
1958+
1959+
/singleton/reagent/caffeine/Destroy()
1960+
QDEL_NULL(modifier)
1961+
return ..()

code/modules/reagents/reagent_containers/pill.dm

+19-2
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@
293293
icon_state = "pill19"
294294
reagents_to_add = list(/singleton/reagent/thetamycin = 15)
295295

296-
/obj/item/reagent_containers/pill/bio_vitamin
296+
/obj/item/reagent_containers/pill/bio_vitamin //Biogenerator Version
297297
name = "Vitamin Pill"
298298
desc = "Contains a meal's worth of nutrients."
299299
icon_state = "pill11"
@@ -302,7 +302,12 @@
302302
/obj/item/reagent_containers/pill/bio_vitamin/Initialize()
303303
. = ..()
304304
var/juice = pick(/singleton/reagent/drink/banana, /singleton/reagent/drink/berryjuice, /singleton/reagent/drink/grapejuice, /singleton/reagent/drink/lemonjuice, /singleton/reagent/drink/limejuice, /singleton/reagent/drink/orangejuice, /singleton/reagent/drink/watermelonjuice)
305-
reagents.add_reagent(juice, 1)
305+
reagents.add_reagent(juice, 5)
306+
307+
/obj/item/reagent_containers/pill/bio_vitamin/cheap //Vending machine version
308+
name = "Vitamin Pill"
309+
desc = "Has all the vitamins a person needs."
310+
reagents_to_add = list(/singleton/reagent/nutriment = 2)
306311

307312
/obj/item/reagent_containers/pill/rmt
308313
name = "15u Regenerative-Muscular Tissue Supplement Pill"
@@ -375,3 +380,15 @@
375380
desc = "A medicine used to treat genetic conditions, including benign and malignant tumours."
376381
icon_state = "pill11"
377382
reagents_to_add = list(/singleton/reagent/ryetalyn = 10)
383+
384+
/obj/item/reagent_containers/pill/caffeine
385+
name = "5u Caffeine Pill"
386+
desc = "A stimulant used to help with alertness and fatigue."
387+
icon_state = "pill18"
388+
reagents_to_add = list(/singleton/reagent/caffeine = 5)
389+
390+
/obj/item/reagent_containers/pill/nicotine
391+
name = "5u Nicotine Pill"
392+
desc = "A pill used to treat nicotine addiction."
393+
icon_state = "pill18"
394+
reagents_to_add = list(/singleton/reagent/mental/nicotine = 5)

html/changelogs/nanopharm.yml

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
################################
2+
# Example Changelog File
3+
#
4+
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
5+
#
6+
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
7+
# When it is, any changes listed below will disappear.
8+
#
9+
# Valid Prefixes:
10+
# bugfix
11+
# - (fixes bugs)
12+
# wip
13+
# - (work in progress)
14+
# qol
15+
# - (quality of life)
16+
# soundadd
17+
# - (adds a sound)
18+
# sounddel
19+
# - (removes a sound)
20+
# rscadd
21+
# - (adds a feature)
22+
# rscdel
23+
# - (removes a feature)
24+
# imageadd
25+
# - (adds an image or sprite)
26+
# imagedel
27+
# - (removes an image or sprite)
28+
# spellcheck
29+
# - (fixes spelling or grammar)
30+
# experiment
31+
# - (experimental change)
32+
# balance
33+
# - (balance changes)
34+
# code_imp
35+
# - (misc internal code change)
36+
# refactor
37+
# - (refactors code)
38+
# config
39+
# - (makes a change to the config files)
40+
# admin
41+
# - (makes changes to administrator tools)
42+
# server
43+
# - (miscellaneous changes to server)
44+
#################################
45+
46+
# Your name.
47+
author: HanSolo1519
48+
49+
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
50+
delete-after: True
51+
52+
# Any changes you've made. See valid prefix list above.
53+
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
54+
# SCREW THIS UP AND IT WON'T WORK.
55+
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
56+
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
57+
changes:
58+
- rscadd: "Added the NanoPharm, a vending machine for over-the-counter medical items."
59+
- rscadd: "Added NanoPharm to Infirmary Lobby (Thanks CourierBravo!)"

icons/obj/vending.dmi

2.99 KB
Binary file not shown.

maps/sccv_horizon/sccv_horizon.dmm

+6-13
Original file line numberDiff line numberDiff line change
@@ -96037,24 +96037,17 @@
9603796037
},
9603896038
/area/antag/wizard)
9603996039
"orz" = (
96040-
/obj/machinery/light{
96041-
dir = 8
96042-
},
9604396040
/obj/effect/floor_decal/corner_wide/lime{
9604496041
dir = 9
9604596042
},
96046-
/obj/structure/closet/walllocker/medical{
96047-
pixel_x = -32
96043+
/obj/machinery/vending/wallpharm{
96044+
pixel_x = -28
96045+
},
96046+
/obj/effect/floor_decal/industrial/outline_corner{
96047+
dir = 8;
96048+
color = "#8daf6a"
9604896049
},
96049-
/obj/item/stack/medical/ointment,
96050-
/obj/item/stack/medical/ointment,
96051-
/obj/item/stack/medical/bruise_pack,
96052-
/obj/item/stack/medical/bruise_pack,
9605396050
/obj/effect/floor_decal/industrial/outline/medical,
96054-
/obj/item/reagent_containers/hypospray/autoinjector/dylovene,
96055-
/obj/item/reagent_containers/hypospray/autoinjector/dylovene,
96056-
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline,
96057-
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline,
9605896051
/turf/simulated/floor/tiled/white,
9605996052
/area/medical/reception)
9606096053
"orQ" = (

0 commit comments

Comments
 (0)