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

Возврат к Беехимии #2

Open
wants to merge 2 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion maps/exodus/exodus.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
#include "../../mods/gamemodes/mixed/_mixed.dme"

#include "../../mods/content/mundane.dm"
#include "../../mods/content/bigpharma/_bigpharma.dme"
#include "../../mods/content/baychems/_baychems.dme"
// #include "../../mods/content/bigpharma/_bigpharma.dme"
#include "../../mods/content/corporate/_corporate.dme"
#include "../../mods/content/government/_government.dme"
#include "../../mods/content/matchmaking/_matchmaking.dme"
Expand Down
1 change: 1 addition & 0 deletions maps/modpack_testing/modpack_testing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include "../../mods/content/scaling_descriptors.dm"

#include "../../mods/content/dungeon_loot/_dungeon_loot.dme"
#include "../../mods/content/baychems/_baychems.dme"
#include "../../mods/content/bigpharma/_bigpharma.dme"
#include "../../mods/content/byond_membership/_byond_membership.dm"
#include "../../mods/content/corporate/_corporate.dme"
Expand Down
3 changes: 3 additions & 0 deletions mods/content/baychems/_baychems.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
// Renames chems to their Bay equivalent.

Check failure on line 1 in mods/content/baychems/_baychems.dm

View workflow job for this annotation

GitHub Actions / Code

DME Validator

File is not included
/decl/modpack/baychems
name = "Baystation 12 Chemical Names"
11 changes: 11 additions & 0 deletions mods/content/baychems/_baychems.dme
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#ifndef MODPACK_BAYCHEMS
#define MODPACK_BAYCHEMS
#include "_baychems.dm"
#include "chems_drugs.dm"
#include "chems_medicines.dm"
#include "chems_painkillers.dm"
#include "chems_poisons.dm"
#include "items.dm"
#include "reactions.dm"
#include "pills.dm"
#endif
28 changes: 28 additions & 0 deletions mods/content/baychems/chems_drugs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/decl/material/liquid/amphetamines

Check failure on line 1 in mods/content/baychems/chems_drugs.dm

View workflow job for this annotation

GitHub Actions / Code

DME Validator

File is not included
name = "hyperzine"

/decl/material/liquid/narcotics
name = "impedrezene"

/decl/material/liquid/sedatives
name = "midazolam"

/decl/material/liquid/hallucinogenics
name = "mindbreaker toxin"

/decl/material/liquid/opium
name = "opium"
lore_text = "A milky substance extracted from space poppy. Very useful in the creation of opiates."
taste_description = "incredible bitterness"
color = "#a68480"
overdose = REAGENTS_OVERDOSE * 0.5
value = 2
uid = "chem_opium"

/decl/material/liquid/opium/affect_blood(var/mob/living/M, var/alien, var/removed, var/datum/reagents/holder)
M.add_chemical_effect(CE_PAINKILLER, 40)
M.add_chemical_effect(CE_BLOCKAGE, 10) //raw plant matter in bloodstream
M.add_chemical_effect(CE_TOXIN, 1)
SET_STATUS_MAX(M, STAT_SLUR, 40)
SET_STATUS_MAX(M, STAT_DIZZY, 40)
SET_STATUS_MAX(M, STAT_BLURRY, 40)
116 changes: 116 additions & 0 deletions mods/content/baychems/chems_medicines.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
// RENAMED:

Check failure on line 1 in mods/content/baychems/chems_medicines.dm

View workflow job for this annotation

GitHub Actions / Code

DME Validator

File is not included
/decl/material/liquid/stabilizer
name = "inaprovaline"

/decl/material/liquid/brute_meds
name = "bicaridine"
lore_text = "Bicaridine is an analgesic medication and can be used to treat blunt trauma."

/decl/material/liquid/burn_meds
name = "kelotane"
lore_text = "Kelotane is a drug used to treat burns."

/decl/material/liquid/antitoxins
name = "dylovene"
lore_text = "Dylovene is a broad-spectrum antitoxin used to neutralize poisons before they can do significant harm."

/decl/material/liquid/oxy_meds
name = "dexalin"
lore_text = "Dexalin is used in the treatment of oxygen deprivation."
color = "#0080ff"
uid = "chem_dexalin"

/decl/material/liquid/oxy_meds/dexalinp
name = "dexalin plus"
lore_text = "Dexalin Plus is used in the treatment of oxygen deprivation. It is highly effective."
color = "#0040ff"
overdose = REAGENTS_OVERDOSE * 0.5
value = 3.7
uid = "chem_dexalin_plus"

/decl/material/liquid/oxy_meds/dexalinp/affect_blood(var/mob/living/M, var/alien, var/removed, var/datum/reagents/holder)
M.add_chemical_effect(CE_OXYGENATED, 2) // change to add_chemical_effect_max later
holder.remove_reagent(/decl/material/gas/carbon_monoxide, 3 * removed)

/decl/material/liquid/regenerator
name = "tricordrazine"
lore_text = "Tricordrazine is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries."

/decl/material/liquid/neuroannealer
name = "alkysine"
lore_text = "Alkysine is a drug used to lessen the damage to neurological tissue after a injury. Can aid in healing brain tissue."

/decl/material/liquid/eyedrops
name = "imidazoline"

/decl/material/liquid/retrovirals
name = "ryetalyn"
lore_text = "Ryetalyn can cure all genetic abnomalities via a catalytic process."

/decl/material/liquid/antirads
name = "hyronalin"
lore_text = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning."

/decl/material/liquid/antibiotics
name = "spaceacillin"
lore_text = "An all-purpose antiviral agent."

/decl/material/liquid/antiseptic
name = "sterilizine"

/decl/material/liquid/stimulants
name = "methylphenidate"
lore_text = "Improves the ability to concentrate."

/decl/material/liquid/antidepressants
name = "citalopram"
lore_text = "Stabilizes the mind a little."

// NEW, NOT RENAMED:
/decl/material/liquid/antidepressants/paroxetine
name = "paroxetine"
value = 3.5
uid = "chem_paroxetine"

/decl/material/liquid/antidepressants/paroxetine/affect_blood(var/mob/living/M, var/alien, var/removed, var/datum/reagents/holder)
var/volume = REAGENT_VOLUME(holder, type)
if(volume <= 0.1 && LAZYACCESS(M.chem_doses, type) >= 0.5 && world.time > REAGENT_DATA(holder, type) + 5 MINUTES)
LAZYSET(holder.reagent_data, type, world.time)
to_chat(M, SPAN_WARNING("Your mind feels much less stable..."))
else
M.add_chemical_effect(CE_MIND, 2)
M.adjust_hallucination(-10)
if(world.time > REAGENT_DATA(holder, type) + 5 MINUTES)
LAZYSET(holder.reagent_data, type, world.time)
if(prob(90))
to_chat(M, SPAN_NOTICE("Your mind feels much more stable."))
else
to_chat(M, SPAN_WARNING("Your mind breaks apart..."))
M.set_hallucination(200, 100)

/decl/material/liquid/burn_meds/dermaline
name = "dermaline"
lore_text = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue."
taste_description = "bitterness"
taste_mult = 1.5
color = "#ff8000"
overdose = REAGENTS_OVERDOSE * 0.5
scannable = 1
value = 3.9
uid = "chem_dermaline"

/decl/material/liquid/burn_meds/dermaline/affect_blood(mob/living/M, alien, removed, var/datum/reagents/holder)
..()
M.heal_organ_damage(0, 6 * removed) // 6 extra damage on top of kelotane's 6

/decl/material/liquid/antirads/arithrazine
name = "arithrazine"
lore_text = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning."
color = "#008000"
value = 2.7
uid = "chem_arithrazine"

/decl/material/liquid/antirads/arithrazine/affect_blood(var/mob/living/M, var/alien, var/removed, var/datum/reagents/holder)
M.radiation = max(M.radiation - 70 * removed, 0)
if(prob(60))
M.take_organ_damage(4 * removed, 0)
82 changes: 82 additions & 0 deletions mods/content/baychems/chems_painkillers.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
// RENAMED:

Check failure on line 1 in mods/content/baychems/chems_painkillers.dm

View workflow job for this annotation

GitHub Actions / Code

DME Validator

File is not included
/decl/material/liquid/painkillers/strong
name = "tramadol"
lore_text = "A simple, yet effective opioid painkiller. Don't mix with alcohol."
sedation = 0.05
additional_effect_threshold = 20
breathloss_severity = 1
slowdown_severity = 1.2
blurred_vision = 0.5
stuttering_severity = 0.5
weakness_severity = 0
slur_severity = 0
confusion_severity = 0.2
dizziness_severity = 1

// NEW, NOT RENAMED:
/decl/material/liquid/painkillers
name = "paracetamol"
lore_text = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller."
overdose = 60
pain_power = 35
narcotic = FALSE
breathloss_severity = 0 //Not an opioid. Should not suppress breathing.
uid = "chem_paracetamol"

// NEW:
/decl/material/liquid/painkillers/nefopam
name = "nefopam" //better in every way than paracetamol. Very minor side effects.
lore_text = "A strong, effective non-opioid alternative to tramadol."
color = "#cfe2f3"
narcotic = FALSE
sedation = 0
additional_effect_threshold = 15
breathloss_severity = 0 //Not an opioid. Should not suppress breathing.
slowdown_severity = 0.8 //we should still prevent SOME abuse.
blurred_vision = 2 //balance
weakness_severity = 0
stuttering_severity = 0.2
slur_severity = 0.2
confusion_severity = 0
dizziness_severity = 0.5
uid = "chem_nefopam"

/decl/material/liquid/painkillers/morphine
name = "morphine" //similar to tramadol, more effective but more expensive to prepare, also greater side effects
lore_text = "An effective, strong opioid painkiller. Don't mix with alcohol."
color = "#864794"
overdose = 10
metabolism = 0.02
pain_power = 160
effective_dose = 0.20
sedation = 1
additional_effect_threshold = 5 //160 pain power is no joke.
breathloss_severity = 2
slowdown_severity = 2
blurred_vision = 0.5
stuttering_severity = 0.5
slur_severity = 1
confusion_severity = 1
dizziness_severity = 1
narcotic = TRUE
uid = "chem_morphine"

/decl/material/liquid/painkillers/fentanyl
name = "fentanyl" //similar to morphine, but should hit you like a truck and prevent pain shock at all costs
lore_text = "An incredibly powerful opioid painkiller, often utilized as a surgical sedative. Don't mix with alcohol."
color = "#cfe2f3"
overdose = 2 //mix it with water or something else first
metabolism = 0.01 //but also lasts for a long time
pain_power = 500
effective_dose = 0.10
sedation = 3 //Acts as a sedative, and also prevents antags from taking fentanyl and becoming invincible.
additional_effect_threshold = 0.25 //Very low threshold. Hard to abuse.
breathloss_severity = 4
slowdown_severity = 2
blurred_vision = 1
stuttering_severity = 1
slur_severity = 1
confusion_severity = 1
dizziness_severity = 2
narcotic = TRUE
uid = "chem_fentanyl"
6 changes: 6 additions & 0 deletions mods/content/baychems/chems_poisons.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/decl/material/liquid/paralytics

Check failure on line 1 in mods/content/baychems/chems_poisons.dm

View workflow job for this annotation

GitHub Actions / Code

DME Validator

File is not included
name = "vecuronium bromide"

/decl/material/liquid/presyncopics
name = "cryptobiolin"
lore_text = "Cryptobiolin causes presyncopic effects such as confusion and dizziness."
71 changes: 71 additions & 0 deletions mods/content/baychems/items.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
/obj/item/chems/hypospray/autoinjector/pouch_auto/oxy_meds

Check failure on line 1 in mods/content/baychems/items.dm

View workflow job for this annotation

GitHub Actions / Code

DME Validator

File is not included
name = "emergency oxygenation autoinjector"

/obj/item/rig_module/chem_dispenser
charges = list(
list("dexalin", "dexalin", /decl/material/liquid/oxy_meds, 80),
list("inaprovaline", "inaprovaline", /decl/material/liquid/stabilizer, 80),
list("dylovene", "dylovene", /decl/material/liquid/antitoxins, 80),
list("hyronalin", "hyronalin", /decl/material/liquid/antirads, 80),
list("spaceacillin", "spaceacillin", /decl/material/liquid/antibiotics, 80),
list("tramadol", "tramadol", /decl/material/liquid/painkillers, 80)
)

/obj/item/rig_module/chem_dispenser/ninja
//just over a syringe worth of each. Want more? Go refill. Gives the ninja another reason to have to show their face.
charges = list(
list("dexalin", "dexalin", /decl/material/liquid/oxy_meds, 20),
list("inaprovaline", "inaprovaline", /decl/material/liquid/stabilizer, 20),
list("dylovene", "dylovene", /decl/material/liquid/antitoxins, 20),
list("glucose", "glucose", /decl/material/liquid/nutriment/glucose, 80),
list("hyronalin", "hyronalin", /decl/material/liquid/antirads, 20),
list("kelotane", "kelotane", /decl/material/liquid/burn_meds, 20),
list("spaceacillin", "spaceacillin", /decl/material/liquid/antibiotics, 20),
list("tramadol", "tramadol", /decl/material/liquid/painkillers, 20)
)


/obj/item/chems/glass/bottle/opium/populate_reagents()
add_to_reagents(/decl/material/liquid/opium, volume)
. = ..()


DEFINE_CARTRIDGE_FOR_CHEM(opium, /decl/material/liquid/opium)

/obj/item/chems/glass/bottle/opium/populate_reagents()
var/opium_amount = round(reagents.maximum_volume / 2)
add_to_reagents(/decl/material/liquid/opium, opium_amount)
. = ..()

/obj/machinery/chemical_dispenser/full
spawn_cartridges = list(
/obj/item/chems/chem_disp_cartridge/hydrazine,
/obj/item/chems/chem_disp_cartridge/lithium,
/obj/item/chems/chem_disp_cartridge/carbon,
/obj/item/chems/chem_disp_cartridge/ammonia,
/obj/item/chems/chem_disp_cartridge/acetone,
/obj/item/chems/chem_disp_cartridge/sodium,
/obj/item/chems/chem_disp_cartridge/aluminium,
/obj/item/chems/chem_disp_cartridge/silicon,
/obj/item/chems/chem_disp_cartridge/phosphorus,
/obj/item/chems/chem_disp_cartridge/sulfur,
/obj/item/chems/chem_disp_cartridge/hclacid,
/obj/item/chems/chem_disp_cartridge/potassium,
/obj/item/chems/chem_disp_cartridge/iron,
/obj/item/chems/chem_disp_cartridge/copper,
/obj/item/chems/chem_disp_cartridge/mercury,
/obj/item/chems/chem_disp_cartridge/radium,
/obj/item/chems/chem_disp_cartridge/water,
/obj/item/chems/chem_disp_cartridge/ethanol,
/obj/item/chems/chem_disp_cartridge/sugar,
/obj/item/chems/chem_disp_cartridge/sacid,
/obj/item/chems/chem_disp_cartridge/tungsten,
/obj/item/chems/chem_disp_cartridge/opium
)

/obj/item/chems/glass/bottle/tramadol
desc = "A small bottle of tramadol, an effective but dangerous and addictive painkiller. Do not mix with alcohol."

/obj/item/chems/glass/bottle/tramadol/populate_reagents()
add_to_reagents(/decl/material/liquid/painkillers/strong, reagents.maximum_volume)
. = ..()
Loading
Loading