Big Pharma's Blessing: Snorting Mechanics

This commit is contained in:
Casey
2022-04-17 17:16:33 -04:00
committed by CHOMPStation2
parent 414b01d8bc
commit c9eb919583
25 changed files with 424 additions and 290 deletions

View File

@@ -47,7 +47,7 @@
// Chemistry lists.
var/list/tachycardics = list("coffee", "inaprovaline", "hyperzine", "nitroglycerin", "thirteenloko", "nicotine") // Increase heart rate.
var/list/bradycardics = list("neurotoxin", "cryoxadone", "clonexadone", "space_drugs", "stoxin") // Decrease heart rate.
var/list/bradycardics = list("neurotoxin", "cryoxadone", "clonexadone", "bliss", "stoxin", "ambrosia_extract") // Decrease heart rate.
var/list/heartstopper = list("potassium_chlorophoride", "zombie_powder") // This stops the heart.
var/list/cheartstopper = list("potassium_chloride") // This stops the heart when overdose is met. -- c = conditional

View File

@@ -1081,8 +1081,8 @@ datum
return 0
drugs
steal_target = /datum/reagent/space_drugs
explanation_text = "Steal some space drugs."
steal_target = /datum/reagent/drugs/bliss
explanation_text = "Steal some bliss."
weight = 40
get_points(var/job)

View File

@@ -1,5 +1,7 @@
// Let's get some REAL contraband stuff in here. Because come on, getting brigged for LIPSTICK is no fun.
//
// Includes drug powder.
//
// Illicit drugs~
/obj/item/weapon/storage/pill_bottle/happy
name = "bottle of Happy pills"
@@ -19,7 +21,7 @@
/obj/item/weapon/reagent_containers/glass/beaker/vial/random/toxin
random_reagent_list = list(
list("mindbreaker" = 10, "space_drugs" = 20) = 3,
list("mindbreaker" = 10, "bliss" = 20) = 3,
list("carpotoxin" = 15) = 2,
list("impedrezene" = 15) = 2,
list("zombiepowder" = 10) = 1)
@@ -39,3 +41,56 @@
desc = "Contains [english_list(names)]."
update_icon()
//
// Drug Powder
//
/obj/item/weapon/reagent_containers/powder
name = "powder"
desc = "A powdered form of... something."
icon = 'icons/obj/chemical.dmi'
icon_state = "powder"
item_state = "powder"
amount_per_transfer_from_this = 2
possible_transfer_amounts = 2
w_class = ITEMSIZE_TINY
volume = 50
/obj/item/weapon/reagent_containers/powder/examine(mob/user)
if(reagents)
var/datum/reagent/R = reagents.get_master_reagent()
desc = "A powdered form of what appears to be [R.name]. There's about [reagents.total_volume] units here."
return ..()
/obj/item/weapon/reagent_containers/powder/Initialize()
..()
get_appearance()
/obj/item/weapon/reagent_containers/powder/proc/get_appearance()
/// Names and colors based on dominant reagent.
if (reagents.reagent_list.len > 0)
color = reagents.get_color()
var/datum/reagent/R = reagents.get_master_reagent()
var/new_name = lowertext(R)
name = "powdered [new_name]"
/// Snorting.
/obj/item/weapon/reagent_containers/powder/attackby(var/obj/item/weapon/W, var/mob/living/user)
if(!ishuman(user)) /// You gotta be fleshy to snort the naughty drugs.
return ..()
if(!istype(W, /obj/item/weapon/glass_extra/straw) && !istype(W, /obj/item/weapon/reagent_containers/rollingpaper))
return ..()
user.visible_message("<span class='warning'>[user] snorts [src] with [W]!</span>")
playsound(loc, 'sound/effects/snort.ogg', 50, 1)
if(reagents)
reagents.trans_to_mob(user, amount_per_transfer_from_this, CHEM_BLOOD)
if(!reagents.total_volume) /// Did we use all of it?
qdel(src)
////// End powder. /////////

View File

@@ -144,7 +144,7 @@
to_chat(user, "<span class='notice'>There's visible lag between left and right pupils' reactions.</span>")
var/list/pinpoint = list("oxycodone"=1,"tramadol"=5)
var/list/dilating = list("space_drugs"=5,"mindbreaker"=1)
var/list/dilating = list("bliss"=5,"ambrosia_extract"=5,"mindbreaker"=1)
if(M.reagents.has_any_reagent(pinpoint) || H.ingested.has_any_reagent(pinpoint))
to_chat(user, "<span class='notice'>\The [M]'s pupils are already pinpoint and cannot narrow any more.</span>")
else if(M.reagents.has_any_reagent(dilating) || H.ingested.has_any_reagent(dilating))

View File

@@ -116,7 +116,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(ishuman(loc))
var/mob/living/carbon/human/C = loc
if (src == C.wear_mask && C.check_has_mouth()) // if it's in the human/monkey mouth, transfer reagents to the mob
reagents.trans_to_mob(C, REM, CHEM_INGEST, 0.2) // Most of it is not inhaled... balance reasons.
reagents.trans_to_mob(C, amount, CHEM_INGEST, 1.5) // I don't predict significant balance issues by letting blunts actually WORK.
else // else just remove some of the reagents
reagents.remove_any(REM)

View File

@@ -32,7 +32,7 @@ much more likely to show up. This is done for several purposes;
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/stimm/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/space_drugs/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bliss/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/expired/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/serotrotium/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cryptobiolin/unidentified,
@@ -108,7 +108,7 @@ much more likely to show up. This is done for several purposes;
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified,
prob(40);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified,
prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/stimm/unidentified,
prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/space_drugs/unidentified,
prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bliss/unidentified,
prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/serotrotium/unidentified,
prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cryptobiolin/unidentified,
prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/mindbreaker/unidentified,

View File

@@ -90,4 +90,13 @@
/datum/gear/textmug
display_name = "mug with text"
description = "A mug with something written on it."
<<<<<<< HEAD
path = /obj/item/weapon/reagent_containers/food/drinks/textmug
=======
path = /obj/item/weapon/reagent_containers/food/drinks/textmug
/datum/gear/schnapsen
display_name = "schnapsen playing cards"
description = "French-suit playing cards! Pre-picked for 2-player mode."
path = /obj/item/weapon/deck/schnapsen
>>>>>>> b042467fe4... Merge pull request #12767 from GhostActual/powder_drugs

View File

@@ -1089,7 +1089,7 @@
icon_state = "dankpocket"
nutriment_amt = 2
nutriment_desc = list("heartiness" = 1, "dough" = 2)
heated_reagents = list("space_drugs" = 5)
heated_reagents = list("bliss" = 5)
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket
name = "\improper Sin-pocket"
@@ -3289,7 +3289,7 @@
/obj/item/weapon/reagent_containers/food/snacks/sliceable/cosmicbrownies/Initialize()
. = ..()
reagents.add_reagent("protein", 2)
reagents.add_reagent("space_drugs", 2)
reagents.add_reagent("ambrosia_extract", 2)
reagents.add_reagent("bicaridine", 1)
reagents.add_reagent("kelotane", 1)
reagents.add_reagent("toxin", 1)
@@ -4092,7 +4092,7 @@
reagents.add_reagent("oxycodone", 1)
reagents.add_reagent("sifsap", 5)
reagents.add_reagent("space_drugs", 5)
reagents.add_reagent("bliss", 5)
/obj/item/weapon/reagent_containers/food/snacks/bellefritter
name = "frostbelle fritters"

View File

@@ -202,7 +202,7 @@
desc = "A mysterious slice, coated in purple frosting that smells like grapes."
nutriment_desc = list("The desire to show off an party" = 10)
reagents.add_reagent("stoxin", 2)
reagents.add_reagent("space_drugs", 10)
reagents.add_reagent("bliss", 10)
reagents.add_reagent("serotrotium", 4)
reagents.add_reagent("cryptobiolin", 8)
reagents.add_reagent("mindbreaker", 10)

View File

@@ -88,7 +88,7 @@
descriptors |= "radioactive"
if(reagents.has_reagent("amatoxin") || reagents.has_reagent("toxin"))
descriptors |= "poisonous"
if(reagents.has_reagent("psilocybin") || reagents.has_reagent("space_drugs") || reagents.has_reagent("earthsblood"))
if(reagents.has_reagent("psilocybin") || reagents.has_reagent("bliss") || reagents.has_reagent("earthsblood"))
descriptors |= "hallucinogenic"
if(reagents.has_reagent("bicaridine") || reagents.has_reagent("earthsblood"))
descriptors |= "medicinal"

View File

@@ -5,7 +5,7 @@
display_name = "ambrosia vulgaris"
kitchen_tag = "ambrosia"
mutants = list("ambrosiadeus")
chems = list("nutriment" = list(1), "space_drugs" = list(1,8), "kelotane" = list(1,8,1), "bicaridine" = list(1,10,1), "toxin" = list(1,10))
chems = list("nutriment" = list(1), "ambrosia_extract" = list(1,8), "kelotane" = list(1,8,1), "bicaridine" = list(1,10,1))
/datum/seed/ambrosia/New()
..()
@@ -25,7 +25,7 @@
display_name = "ambrosia deus"
kitchen_tag = "ambrosiadeus"
mutants = list("ambrosiainfernus", "ambrosiagaia")
chems = list("nutriment" = list(1), "bicaridine" = list(1,8), "synaptizine" = list(1,8,1), "hyperzine" = list(1,10,1), "space_drugs" = list(1,10))
chems = list("nutriment" = list(1), "bicaridine" = list(1,8), "synaptizine" = list(1,8,1), "hyperzine" = list(1,10,1), "ambrosia_extract" = list(1,10))
/datum/seed/ambrosia/deus/New()
..()
@@ -38,7 +38,7 @@
display_name = "ambrosia infernus"
kitchen_tag = "ambrosiainfernus"
mutants = null
chems = list("nutriment" = list(1,3), "oxycodone" = list(1,8), "impedrezene" = list(1,10), "mindbreaker" = list(1,10))
chems = list("nutriment" = list(1,3), "oxycodone" = list(1,8), "impedrezene" = list(1,10), "mindbreaker" = list(1,10), "ambrosia_extract" = list(1,10))
/datum/seed/ambrosia/infernus/New()
..()

View File

@@ -80,7 +80,7 @@
seed_name = "liberty cap"
display_name = "liberty cap mushrooms"
mutants = null
chems = list("nutriment" = list(1), "stoxin" = list(3,3), "space_drugs" = list(1,25))
chems = list("nutriment" = list(1), "stoxin" = list(3,3), "bliss" = list(1,25))
/datum/seed/mushroom/hallucinogenic/strong/New()
..()

View File

@@ -134,7 +134,7 @@
// ====
/datum/medical_effect/itch
name = "Itch"
triggers = list("space_drugs" = 10)
triggers = list("bliss" = 10)
cures = list("inaprovaline")
cure_message = "The itching stops..."

View File

@@ -82,10 +82,10 @@
required_reagents = list("aluminum" = 1, "iron" = 1, "oxygen" = 1)
result_amount = 3
/decl/chemical_reaction/instant/space_drugs
name = "Space Drugs"
id = "space_drugs"
result = "space_drugs"
/decl/chemical_reaction/instant/bliss
name = "Bliss"
id = "bliss"
result = "bliss"
required_reagents = list("mercury" = 1, "sugar" = 1, "lithium" = 1)
result_amount = 3
@@ -1185,7 +1185,7 @@
name = "Talum-quem"
id = "talum_quem"
result = "talum_quem"
required_reagents = list("space_drugs" = 2, "sugar" = 1, "amatoxin" = 1)
required_reagents = list("bliss" = 2, "sugar" = 1, "amatoxin" = 1)
result_amount = 4
/decl/chemical_reaction/instant/qerr_quem

View File

@@ -308,11 +308,11 @@
This one is filled with serotrotium, which causes concentrated production of the serotonin neurotransmitter in humans."
filled_reagents = list("serotrotium" = 15)
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/space_drugs
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bliss
name = "illicit injector"
desc = "A refined version of the standard autoinjector, allowing greater capacity. \
This one contains various illicit drugs, held inside a hypospray to make smuggling easier."
filled_reagents = list("space_drugs" = 15)
filled_reagents = list("bliss" = 15)
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cryptobiolin
name = "cryptobiolin injector"

View File

@@ -91,6 +91,29 @@
return
/obj/item/weapon/reagent_containers/pill/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(is_sharp(W))
var/obj/item/weapon/reagent_containers/powder/J = new /obj/item/weapon/reagent_containers/powder(src.loc)
user.visible_message("<span class='warning'>[user] gently cuts up [src] with [W]!</span>")
playsound(src.loc, 'sound/effects/chop.ogg', 50, 1)
if(reagents)
reagents.trans_to_obj(J, reagents.total_volume)
J.get_appearance()
qdel(src)
if(istype(W, /obj/item/weapon/card/id))
var/obj/item/weapon/reagent_containers/powder/J = new /obj/item/weapon/reagent_containers/powder(src.loc)
user.visible_message("<span class='warning'>[user] clumsily chops up [src] with [W]!</span>")
playsound(src.loc, 'sound/effects/chop.ogg', 50, 1)
if(reagents)
reagents.trans_to_obj(J, reagents.total_volume)
J.get_appearance()
qdel(src)
return ..()
////////////////////////////////////////////////////////////////////////////////
/// Pills. END
////////////////////////////////////////////////////////////////////////////////
@@ -294,7 +317,7 @@
/obj/item/weapon/reagent_containers/pill/happy/Initialize()
. = ..()
reagents.add_reagent("space_drugs", 15)
reagents.add_reagent("bliss", 15)
reagents.add_reagent("sugar", 15)
color = reagents.get_color()

View File

@@ -58,7 +58,7 @@
init_hide_identity = TRUE
flags = 0
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/space_drugs/unidentified
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bliss/unidentified
init_hide_identity = TRUE
flags = 0

View File

@@ -0,0 +1,255 @@
/*
/// Recreational and psychiatric drugs go here! Please keep them separated in the file.
/// Due to concerns and safety for our repo, illegal real-world drug names should generally be avoided.
*/
/datum/reagent/drugs
name = "generic drugs"
id = "drugs"
description = "Some generic drugs."
taste_description = "a bad investment"
taste_mult = 1.2 /// The overwhelming flavor of a good(?) time!
color = "#f2f2f2"
var/high_messages = TRUE
var/list/high_message_list = list("You feel great! For now...", "You feel a wave of happiness!")
var/list/sober_message_list = list("You feel like garbage...", "Your head aches.")
data = 0
var/prob_proc = FALSE /// ANY probabilities in specific drugs should check for this to be TRUE + the desired probability AND set this back to false.
reagent_state = LIQUID
metabolism = REM * 0.5
ingest_met = REM * 1.5 /// Be very careful with this, ingestion is weird and will spam high/sober messages horribly!
mrate_static = TRUE
overdose = REAGENTS_OVERDOSE
/datum/reagent/drugs/affect_blood(mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
return
if(high_messages == TRUE)
if(world.time > data + 90 SECONDS && volume > 0.5) /// Spam prevention.
data = world.time
var/msg = pick(high_message_list)
to_chat(M, "<span class='warning'>[msg]</span>")
else if(volume <= 0.2 && data != -1)
data = -1
var/msg = pick(sober_message_list)
to_chat(M, "<span class='warning'>[msg]</span>")
if(prob(5) && prob_proc == FALSE) /// Enables procs to activate, remains true until THAT PROC sets it to false again.
prob_proc = TRUE
/datum/reagent/drugs/bliss /// Replaces Space Drugs.
name = "Bliss"
id = "bliss"
description = "Known for providing a euphoric high, this psychoactive drug is often used recreationally."
taste_description = "unpleasant bitterness"
taste_mult = 0.4
high_message_list = list("You don't quite know what up or down is anymore...",
"Colors just seem much more amazing.",
"You feel incredibly confident. No one can stop you.",
"You clench your jaw involuntarily.",
"You feel... unsteady.",
"You really feel like talking about your feelings!")
sober_message_list = list("Everything feels a little more grounded.",
"Colors seem... flatter.",
"Everything feels a little dull, now.")
/datum/reagent/drugs/bliss/affect_blood(mob/living/carbon/M, var/alien, var/removed)
..()
var/drug_strength = 15
if(alien == IS_SKRELL)
drug_strength = drug_strength * 0.8
if(alien == IS_SLIME)
drug_strength = drug_strength * 1.2
M.druggy = max(M.druggy, drug_strength)
if(prob_proc == TRUE && prob(10) && isturf(M.loc) && !istype(M.loc, /turf/space) && M.canmove && !M.restrained())
step(M, pick(cardinal))
prob_proc = FALSE
if(prob_proc == TRUE && prob(7))
M.emote(pick("twitch", "drool", "moan", "giggle"))
prob_proc = FALSE
/datum/reagent/drugs/bliss/overdose(var/mob/living/M as mob)
if(prob_proc == TRUE && prob(20))
M.hallucination = max(M.hallucination, 5)
prob_proc = FALSE
M.adjustBrainLoss(0.25*REM)
M.adjustToxLoss(0.25*REM)
..()
/datum/reagent/drugs/ambrosia_extract
name = "Ambrosia extract"
id = "ambrosia_extract"
description = "The extract from the plant family ambrosia, responsible for the more \"recreational\" effects."
taste_description = "a strong-tasting plant"
color = "#358f49"
high_message_list = list("You feel so much more relaxed.",
"You can't quite focus on anything.",
"Colors around you seem much more intense.",
"You could snack on something right now...",
"You feel lightheaded and giggly.",
"Everything seems so hilarious.",
"You really could go for some takeout right now.",
"You momentarily forget where you are.",
"You have a mild urge to look over your shoulder.")
sober_message_list = list("You feel the urge to just sit there and do nothing.",
"Reality seems like a real pain in the ass to deal with right now.",
"Things feel really colourless to you all of a sudden.",
"You feel the urge to lie down and nap.")
/datum/reagent/drugs/ambrosia_extract/affect_blood(mob/living/carbon/M, var/alien, var/removed)
..()
var/drug_strength = 3
if(alien == IS_SKRELL)
drug_strength = drug_strength * 0.8
if(alien == IS_SLIME)
drug_strength = drug_strength * 1.2
M.adjustToxLoss(-2)
M.druggy = max(M.druggy, drug_strength)
M.heal_organ_damage(6)
M.adjustOxyLoss(-3)
M.AdjustStunned(-1)
if(prob(5) && prob_proc == TRUE)
M.emote("giggle")
prob_proc = FALSE
if(prob(10) && prob_proc == TRUE)
M.adjust_nutrition(-10)
prob_proc = FALSE
/datum/reagent/drugs/psilocybin
name = "Psilocybin"
id = "psilocybin"
description = "A strong psycotropic derived from certain species of mushroom."
taste_description = "mushroom"
color = "#E700E7"
high_message_list = list("The world distorts around you...!",
"The walls look like they're moving...",
"Nothing really makes sense right now.",
"It feels like you've melded with the world around you...")
sober_message_list = list("Everything feels... flat.", "You feel almost TOO grounded in your surroundings.")
/datum/reagent/drugs/psilocybin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
..()
var/threshold = 1 * M.species.chem_strength_tox
if(alien == IS_SKRELL)
threshold = 1.2
if(alien == IS_SLIME)
threshold = 0.8
M.druggy = max(M.druggy, 30)
var/effective_dose = dose
if(issmall(M)) effective_dose *= 2
if(effective_dose < 1 * threshold)
M.apply_effect(3, STUTTER)
M.make_dizzy(5)
if(prob(3) && prob_proc == TRUE)
M.emote(pick("twitch", "giggle"))
prob_proc = FALSE
else if(effective_dose < 2 * threshold)
M.apply_effect(3, STUTTER)
M.make_jittery(5)
M.make_dizzy(5)
M.druggy = max(M.druggy, 35)
if(prob(5) && prob_proc == TRUE)
M.emote(pick("twitch", "giggle"))
prob_proc = FALSE
else
M.apply_effect(3, STUTTER)
M.make_jittery(10)
M.make_dizzy(10)
M.druggy = max(M.druggy, 40)
if(prob(10) && prob_proc == TRUE)
M.emote(pick("twitch", "giggle"))
prob_proc = FALSE
/datum/reagent/drugs/talum_quem
name = "Talum-quem"
id = "talum_quem"
description = " A very carefully tailored hallucinogen, for use of the Talum-Katish."
taste_description = "bubblegum"
taste_mult = 1.6
color = "#db2ed8"
high_message_list = list("The world distorts around you...!",
"The walls look like they're moving...",
"Nothing really makes sense right now.",
"It feels like you've melded with the world around you...")
sober_message_list = list("Everything feels... flat.", "You feel almost TOO grounded in your surroundings.")
/datum/reagent/drugs/talum_quem/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
..()
var/drug_strength = 29 * M.species.chem_strength_tox
if(alien == IS_SKRELL)
drug_strength = drug_strength * 0.8
else
M.adjustToxLoss(10 * removed) //Given incorporations of other toxins with similiar damage, this seems right.
M.druggy = max(M.druggy, drug_strength)
if(prob(10) && prob_proc == TRUE && isturf(M.loc) && !istype(M.loc, /turf/space) && M.canmove && !M.restrained())
step(M, pick(cardinal))
prob_proc = FALSE
if(prob(7) && prob_proc == TRUE)
M.emote(pick("twitch", "drool", "moan", "giggle"))
prob_proc = FALSE
/datum/reagent/drugs/nicotine
name = "Nicotine"
id = "nicotine"
description = "A highly addictive stimulant extracted from the tobacco plant."
taste_description = "sour staleness"
color = "#181818"
high_messages = FALSE
/*///////////////////////////////////////////////////////////////////////////
/// PSYCHIATRIC DRUGS /////
/// /////
/// Psychiatric drugs use similar mechanics and will go under "drugs". /////
*////////////////////////////////////////////////////////////////////////////
/datum/reagent/drugs/methylphenidate
name = "Methylphenidate"
id = "methylphenidate"
description = "Improves the ability to concentrate."
taste_description = "mild grape" ///Referencing real life oral solutions for these meds.
color = "#BF80BF"
high_message_list = list("You feel focused.", "Your attention is undivided.")
sober_message_list = list("It becomes harder to focus...", "You feel distractible.")
/datum/reagent/drugs/citalopram
name = "Citalopram"
id = "citalopram"
description = "Stabilizes the mind a little."
taste_description = "mild peppermint"
color = "#FF80FF"
high_message_list = list("Everything feels a bit more steady.", "Your mind feels stable.")
sober_message_list = list("You feel a little tired.", "You feel a little more listless...")
/datum/reagent/drugs/paroxetine
name = "Paroxetine"
id = "paroxetine"
description = "Stabilizes the mind greatly, but has a chance of adverse effects."
taste_description = "mild oranges"
color = "#FF80BF"
high_message_list = list("Everything feels good, stable.", "You feel grounded.")
sober_message_list = list("The stability is gone...", "Everything is much less stable.")
/datum/reagent/drugs/paroxetine/affect_blood(mob/living/carbon/M, var/alien, var/removed)
..()
if(prob(5) && prob_proc == TRUE)
to_chat(M, "<span class='warning'>Everything feels out of control...</span>")
M.hallucination += 200
prob_proc = FALSE
/datum/reagent/drugs/qerr_quem
name = "Qerr-quem"
id = "qerr_quem"
description = "A potent sedative and anti-anxiety medication, made for the Qerr-Katish."
taste_description = "mint"
color = "#e6efe3"
high_message_list = list("You feel sluggish...", "You feel calm and collected.")
sober_message_list = list("You feel so much more antsy...", "Your concentration wavers.")

View File

@@ -1411,106 +1411,6 @@
M.make_dizzy(5)
M.make_jittery(5)
/* Antidepressants */
#define ANTIDEPRESSANT_MESSAGE_DELAY 5*60*10
/datum/reagent/methylphenidate
name = "Methylphenidate"
id = "methylphenidate"
description = "Improves the ability to concentrate."
taste_description = "bitterness"
reagent_state = LIQUID
color = "#BF80BF"
metabolism = 0.01
ingest_met = 0.25
mrate_static = TRUE
data = 0
/datum/reagent/methylphenidate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
return
if(volume <= 0.1 && data != -1)
data = -1
to_chat(M, "<span class='warning'>You lose focus...</span>")
else
if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY)
data = world.time
to_chat(M, "<span class='notice'>Your mind feels focused and undivided.</span>")
/datum/reagent/citalopram
name = "Citalopram"
id = "citalopram"
description = "Stabilizes the mind a little."
taste_description = "bitterness"
reagent_state = LIQUID
color = "#FF80FF"
metabolism = 0.01
ingest_met = 0.25
mrate_static = TRUE
data = 0
/datum/reagent/citalopram/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
return
if(volume <= 0.1 && data != -1)
data = -1
to_chat(M, "<span class='warning'>Your mind feels a little less stable...</span>")
else
if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY)
data = world.time
to_chat(M, "<span class='notice'>Your mind feels stable... a little stable.</span>")
/datum/reagent/paroxetine
name = "Paroxetine"
id = "paroxetine"
description = "Stabilizes the mind greatly, but has a chance of adverse effects."
taste_description = "bitterness"
reagent_state = LIQUID
color = "#FF80BF"
metabolism = 0.01
ingest_met = 0.25
mrate_static = TRUE
data = 0
/datum/reagent/paroxetine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
return
if(volume <= 0.1 && data != -1)
data = -1
to_chat(M, "<span class='warning'>Your mind feels much less stable...</span>")
else
if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY)
data = world.time
if(prob(90))
to_chat(M, "<span class='notice'>Your mind feels much more stable.</span>")
else
to_chat(M, "<span class='warning'>Your mind breaks apart...</span>")
M.hallucination += 200
/datum/reagent/qerr_quem
name = "Qerr-quem"
id = "qerr_quem"
description = "A potent stimulant and anti-anxiety medication, made for the Qerr-Katish."
taste_description = "mint"
reagent_state = LIQUID
color = "#e6efe3"
metabolism = 0.01
ingest_met = 0.25
mrate_static = TRUE
data = 0
/datum/reagent/qerr_quem/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
return
if(volume <= 0.1 && data != -1)
data = -1
to_chat(M, "<span class='warning'>You feel antsy, your concentration wavers...</span>")
else
if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY)
data = world.time
to_chat(M, "<span class='notice'>You feel invigorated and calm.</span>")
// This exists to cut the number of chemicals a merc borg has to juggle on their hypo.
/datum/reagent/healing_nanites
name = "Restorative Nanites"

View File

@@ -762,34 +762,6 @@
/* Drugs */
/datum/reagent/space_drugs
name = "Space drugs"
id = "space_drugs"
description = "An illegal chemical compound used as drug."
taste_description = "bitterness"
taste_mult = 0.4
reagent_state = LIQUID
color = "#60A584"
metabolism = REM * 0.5
overdose = REAGENTS_OVERDOSE
/datum/reagent/space_drugs/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
return
var/drug_strength = 15 * M.species.chem_strength_tox
if(alien == IS_SKRELL)
drug_strength = drug_strength * 0.8
if(alien == IS_SLIME)
drug_strength = drug_strength * 1.2
M.druggy = max(M.druggy, drug_strength)
if(prob(10) && isturf(M.loc) && !istype(M.loc, /turf/space) && M.canmove && !M.restrained())
step(M, pick(cardinal))
if(prob(7))
M.emote(pick("twitch", "drool", "moan", "giggle"))
/datum/reagent/serotrotium
name = "Serotrotium"
id = "serotrotium"
@@ -892,85 +864,6 @@
M.hallucination = max(M.hallucination, drug_strength)
/datum/reagent/psilocybin
name = "Psilocybin"
id = "psilocybin"
description = "A strong psycotropic derived from certain species of mushroom."
taste_description = "mushroom"
color = "#E700E7"
overdose = REAGENTS_OVERDOSE
metabolism = REM * 0.5
/datum/reagent/psilocybin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
return
var/threshold = 1 * M.species.chem_strength_tox
if(alien == IS_SKRELL)
threshold = 1.2
if(alien == IS_SLIME)
threshold = 0.8
M.druggy = max(M.druggy, 30)
var/effective_dose = dose
if(issmall(M)) effective_dose *= 2
if(effective_dose < 1 * threshold)
M.apply_effect(3, STUTTER)
M.make_dizzy(5)
if(prob(5))
M.emote(pick("twitch", "giggle"))
else if(effective_dose < 2 * threshold)
M.apply_effect(3, STUTTER)
M.make_jittery(5)
M.make_dizzy(5)
M.druggy = max(M.druggy, 35)
if(prob(10))
M.emote(pick("twitch", "giggle"))
else
M.apply_effect(3, STUTTER)
M.make_jittery(10)
M.make_dizzy(10)
M.druggy = max(M.druggy, 40)
if(prob(15))
M.emote(pick("twitch", "giggle"))
/datum/reagent/nicotine
name = "Nicotine"
id = "nicotine"
description = "A highly addictive stimulant extracted from the tobacco plant."
taste_description = "bitterness"
reagent_state = LIQUID
color = "#181818"
/datum/reagent/talum_quem
name = "Talum-quem"
id = "talum_quem"
description = " A very carefully tailored hallucinogen, for use of the Talum-Katish."
taste_description = "bubblegum"
taste_mult = 1.6
reagent_state = LIQUID
color = "#db2ed8"
metabolism = REM * 0.5
overdose = REAGENTS_OVERDOSE
/datum/reagent/talum_quem/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
return
var/drug_strength = 29 * M.species.chem_strength_tox
if(alien == IS_SKRELL)
drug_strength = drug_strength * 0.8
else
M.adjustToxLoss(10 * removed) //Given incorporations of other toxins with similiar damage, this seems right.
M.druggy = max(M.druggy, drug_strength)
if(prob(10) && isturf(M.loc) && !istype(M.loc, /turf/space) && M.canmove && !M.restrained())
step(M, pick(cardinal))
if(prob(7))
M.emote(pick("twitch", "drool", "moan", "giggle"))
/* Transformations */
/datum/reagent/slimetoxin

View File

@@ -337,7 +337,7 @@
if(c_data)
data = c_data
else
data = pick("bicaridine", "kelotane", "anti_toxin", "inaprovaline", "space_drugs", "sugar",
data = pick("bicaridine", "kelotane", "anti_toxin", "inaprovaline", "bliss", "sugar",
"tramadol", "dexalin", "cryptobiolin", "impedrezene", "hyperzine", "ethylredoxrazine",
"mindbreaker", "glucose")
var/datum/reagent/R = SSchemistry.chemical_reagents[data]

View File

@@ -53,7 +53,7 @@ var/global/list/xenoChemList = list("mutationtoxin",
"mindbreaker",
"impedrezene",
"cryptobiolin",
"space_drugs",
"bliss",
"chloralhydrate",
"stoxin",
"mutagen",
@@ -214,4 +214,3 @@ var/global/list/xenoChemList = list("mutationtoxin",
var/list/chems

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

BIN
sound/effects/chop.ogg Normal file

Binary file not shown.

BIN
sound/effects/snort.ogg Normal file

Binary file not shown.