Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds NanoPharm and Misc Fluff Meds, now with less Merge Conflicts #19779

Merged
merged 11 commits into from
Aug 20, 2024
49 changes: 45 additions & 4 deletions code/game/machinery/vending_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -716,7 +716,7 @@
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?"
icon_state = "wallmed"
req_access = list(ACCESS_MEDICAL)
density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude
density = FALSE //It is wall-mounted, and thus, not dense. --Superxpdude
vend_id = "meds"
products = list(
/obj/item/stack/medical/bruise_pack = 3,
Expand All @@ -736,7 +736,7 @@
premium = list(
/obj/item/reagent_containers/pill/mortaphenyl = 4
)
random_itemcount = 0
random_itemcount = FALSE
temperature_setting = -1
light_color = LIGHT_COLOR_GREEN
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
Expand All @@ -747,7 +747,7 @@
desc = "A wall-mounted version of the NanoMed, containing only vital first aid equipment."
icon_state = "wallmed"
req_access = list(ACCESS_MEDICAL)
density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude
density = FALSE //It is wall-mounted, and thus, not dense. --Superxpdude
vend_id = "meds"
products = list(
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 5,
Expand All @@ -767,12 +767,53 @@
premium = list(
/obj/item/reagent_containers/pill/mortaphenyl = 4
)
random_itemcount = 0
random_itemcount = FALSE
temperature_setting = -1
light_color = LIGHT_COLOR_GREEN
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
manufacturer = "zenghu"

/obj/machinery/vending/wallpharm
name = "\improper NanoPharm Mini"
desc = "A wall-mounted pharmaceuticals vending machine packed with over-the-counter bottles. For the sick salaried worker in you."
icon_state = "wallpharm"
density = FALSE
products = list(
/obj/item/storage/pill_bottle/antidexafen = 4,
/obj/item/storage/pill_bottle/dexalin = 4,
/obj/item/storage/pill_bottle/dylovene = 4,
/obj/item/stack/medical/bruise_pack = 5,
/obj/item/stack/medical/ointment = 5,
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 2,
/obj/item/storage/pill_bottle/vitamin = 5,
/obj/item/storage/pill_bottle/cetahydramine = 4,
/obj/item/storage/pill_bottle/caffeine = 3,
/obj/item/storage/pill_bottle/nicotine = 4,
/obj/item/storage/pill_bottle/rmt = 2
)
prices = list(
/obj/item/storage/pill_bottle/antidexafen = 70,
/obj/item/storage/pill_bottle/dexalin = 60,
/obj/item/storage/pill_bottle/dylovene = 75,
/obj/item/stack/medical/bruise_pack = 5,
/obj/item/stack/medical/ointment = 8,
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 14,
/obj/item/storage/pill_bottle/vitamin = 55,
/obj/item/storage/pill_bottle/cetahydramine = 60,
/obj/item/storage/pill_bottle/caffeine = 90,
/obj/item/storage/pill_bottle/nicotine = 85,
/obj/item/storage/pill_bottle/rmt = 550
)
contraband = list(
/obj/item/reagent_containers/pill/tox = 3,
/obj/item/storage/pill_bottle/perconol = 3
)
random_itemcount = FALSE
temperature_setting = -1
light_color = COLOR_GOLD
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
manufacturer = "nanotrasen"

/obj/machinery/vending/security
name = "SecTech"
desc = "A security equipment vendor."
Expand Down
16 changes: 16 additions & 0 deletions code/game/objects/items/weapons/storage/pill_bottle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -180,3 +180,19 @@
name = "bottle of 10u Ryetalyn pills"
desc = "Contains pills used to treat genetic and immune diseases."
starts_with = list(/obj/item/reagent_containers/pill/ryetalyn = 4)

/obj/item/storage/pill_bottle/caffeine
name = "bottle of 5u Caffeine pills"
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."
starts_with = list(/obj/item/reagent_containers/pill/caffeine = 7)

/obj/item/storage/pill_bottle/nicotine
name = "bottle of 10u Nicotine pills"
desc = "Contains pills used to treat nicotine addiction."
starts_with = list(/obj/item/reagent_containers/pill/nicotine = 7)

/obj/item/storage/pill_bottle/vitamin
name = "bottle of Vitamin supplements"
desc = "Contains pills used to treat vitamin deficiency."
starts_with = list(/obj/item/reagent_containers/pill/bio_vitamin/cheap = 7)

Original file line number Diff line number Diff line change
Expand Up @@ -1918,3 +1918,42 @@
var/obj/item/organ/external/E = Z.parent_organ
Z.curing = TRUE
to_chat(M, SPAN_WARNING("Your [E.name] tightens, pulses, and squirms as \the [Z] fights back against the antibodies!"))

/singleton/reagent/caffeine // Copied from Hyperzine
name = "Caffeine"
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."
reagent_state = SOLID
color = "#f9edea"
metabolism = REM * 0.15
overdose = 11
var/datum/modifier = null
taste_description = "bitter"
metabolism_min = REM * 0.025
breathe_met = REM * 0.15 * 0.5

/singleton/reagent/caffeine/get_od_min_dose(mob/living/carbon/M, location, datum/reagents/holder)
if(REAGENT_VOLUME(M.reagents, /singleton/reagent/adrenaline) > 5)
return 0 // Takes effect instantly.
. = od_minimum_dose

/singleton/reagent/caffeine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder)
if(prob(5))
to_chat(M, SPAN_GOOD(pick("You feel alert!", "You feel awake!", "You feel pumped!")))
if(check_min_dose(M, 0.5))
M.add_chemical_effect(CE_PULSE, 1)

/singleton/reagent/caffeine/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder)
M.adjustNutritionLoss(5*removed)
M.add_chemical_effect(CE_PULSE, 2)
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.
M.make_jittery(5)
if(prob(5))
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!")))
if(prob(M.chem_doses[type] / 3))
M.emote(pick("twitch", "blink_r", "shiver"))
M.take_organ_damage(5 * removed, 0)
M.adjustHalLoss(15)

/singleton/reagent/caffeine/Destroy()
QDEL_NULL(modifier)
return ..()
21 changes: 19 additions & 2 deletions code/modules/reagents/reagent_containers/pill.dm
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@
icon_state = "pill19"
reagents_to_add = list(/singleton/reagent/thetamycin = 15)

/obj/item/reagent_containers/pill/bio_vitamin
/obj/item/reagent_containers/pill/bio_vitamin //Biogenerator Version
name = "Vitamin Pill"
desc = "Contains a meal's worth of nutrients."
icon_state = "pill11"
Expand All @@ -302,7 +302,12 @@
/obj/item/reagent_containers/pill/bio_vitamin/Initialize()
. = ..()
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)
reagents.add_reagent(juice, 1)
reagents.add_reagent(juice, 5)

/obj/item/reagent_containers/pill/bio_vitamin/cheap //Vending machine version
name = "Vitamin Pill"
desc = "Has all the vitamins a person needs."
reagents_to_add = list(/singleton/reagent/nutriment = 2)

/obj/item/reagent_containers/pill/rmt
name = "15u Regenerative-Muscular Tissue Supplement Pill"
Expand Down Expand Up @@ -375,3 +380,15 @@
desc = "A medicine used to treat genetic conditions, including benign and malignant tumours."
icon_state = "pill11"
reagents_to_add = list(/singleton/reagent/ryetalyn = 10)

/obj/item/reagent_containers/pill/caffeine
name = "5u Caffeine Pill"
desc = "A stimulant used to help with alertness and fatigue."
icon_state = "pill18"
reagents_to_add = list(/singleton/reagent/caffeine = 5)

/obj/item/reagent_containers/pill/nicotine
name = "5u Nicotine Pill"
desc = "A pill used to treat nicotine addiction."
icon_state = "pill18"
reagents_to_add = list(/singleton/reagent/mental/nicotine = 5)
59 changes: 59 additions & 0 deletions html/changelogs/nanopharm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
################################
# Example Changelog File
#
# 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.
#
# 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.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# - (fixes bugs)
# wip
# - (work in progress)
# qol
# - (quality of life)
# soundadd
# - (adds a sound)
# sounddel
# - (removes a sound)
# rscadd
# - (adds a feature)
# rscdel
# - (removes a feature)
# imageadd
# - (adds an image or sprite)
# imagedel
# - (removes an image or sprite)
# spellcheck
# - (fixes spelling or grammar)
# experiment
# - (experimental change)
# balance
# - (balance changes)
# code_imp
# - (misc internal code change)
# refactor
# - (refactors code)
# config
# - (makes a change to the config files)
# admin
# - (makes changes to administrator tools)
# server
# - (miscellaneous changes to server)
#################################

# Your name.
author: HanSolo1519

# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True

# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
# 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.
changes:
- rscadd: "Added the NanoPharm, a vending machine for over-the-counter medical items."
- rscadd: "Added NanoPharm to Infirmary Lobby (Thanks CourierBravo!)"
Binary file modified icons/obj/vending.dmi
Binary file not shown.
19 changes: 6 additions & 13 deletions maps/sccv_horizon/sccv_horizon.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -95944,24 +95944,17 @@
},
/area/antag/wizard)
"orz" = (
/obj/machinery/light{
dir = 8
},
/obj/effect/floor_decal/corner_wide/lime{
dir = 9
},
/obj/structure/closet/walllocker/medical{
pixel_x = -32
/obj/machinery/vending/wallpharm{
pixel_x = -28
},
/obj/effect/floor_decal/industrial/outline_corner{
dir = 8;
color = "#8daf6a"
},
/obj/item/stack/medical/ointment,
/obj/item/stack/medical/ointment,
/obj/item/stack/medical/bruise_pack,
/obj/item/stack/medical/bruise_pack,
/obj/effect/floor_decal/industrial/outline/medical,
/obj/item/reagent_containers/hypospray/autoinjector/dylovene,
/obj/item/reagent_containers/hypospray/autoinjector/dylovene,
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline,
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline,
/turf/simulated/floor/tiled/white,
/area/medical/reception)
"orQ" = (
Expand Down
Loading