Merge remote-tracking branch 'citadel/master' into eldritch_affairs
This commit is contained in:
@@ -356,7 +356,6 @@
|
||||
replace_beaker(user, B)
|
||||
to_chat(user, "<span class='notice'>You add [B] to [src].</span>")
|
||||
updateUsrDialog()
|
||||
update_icon()
|
||||
else if(user.a_intent != INTENT_HARM && !istype(I, /obj/item/card/emag))
|
||||
to_chat(user, "<span class='warning'>You can't load [I] into [src]!</span>")
|
||||
return ..()
|
||||
@@ -487,6 +486,7 @@
|
||||
/datum/reagent/consumable/pwr_game,
|
||||
/datum/reagent/consumable/shamblers,
|
||||
/datum/reagent/consumable/sugar,
|
||||
/datum/reagent/consumable/pineapplejuice,
|
||||
/datum/reagent/consumable/orangejuice,
|
||||
/datum/reagent/consumable/grenadine,
|
||||
/datum/reagent/consumable/limejuice,
|
||||
@@ -495,15 +495,22 @@
|
||||
/datum/reagent/consumable/menthol
|
||||
)
|
||||
upgrade_reagents = list(
|
||||
/datum/reagent/drug/mushroomhallucinogen,
|
||||
/datum/reagent/consumable/nothing,
|
||||
/datum/reagent/medicine/cryoxadone
|
||||
/datum/reagent/consumable/banana,
|
||||
/datum/reagent/consumable/berryjuice,
|
||||
/datum/reagent/consumable/strawberryjuice
|
||||
)
|
||||
upgrade_reagents2 = list(
|
||||
/datum/reagent/consumable/banana,
|
||||
/datum/reagent/consumable/berryjuice
|
||||
/datum/reagent/consumable/applejuice,
|
||||
/datum/reagent/consumable/carrotjuice,
|
||||
/datum/reagent/consumable/pumpkinjuice,
|
||||
/datum/reagent/consumable/watermelonjuice
|
||||
)
|
||||
upgrade_reagents3 = list(
|
||||
/datum/reagent/drug/mushroomhallucinogen,
|
||||
/datum/reagent/consumable/nothing,
|
||||
/datum/reagent/medicine/cryoxadone,
|
||||
/datum/reagent/consumable/peachjuice
|
||||
)
|
||||
upgrade_reagents3 = null
|
||||
emagged_reagents = list(
|
||||
/datum/reagent/consumable/ethanol/thirteenloko,
|
||||
/datum/reagent/consumable/ethanol/changelingsting,
|
||||
@@ -552,6 +559,7 @@
|
||||
/datum/reagent/consumable/ethanol/hcider,
|
||||
/datum/reagent/consumable/ethanol/creme_de_menthe,
|
||||
/datum/reagent/consumable/ethanol/creme_de_cacao,
|
||||
/datum/reagent/consumable/ethanol/creme_de_coconut,
|
||||
/datum/reagent/consumable/ethanol/triple_sec,
|
||||
/datum/reagent/consumable/ethanol/sake,
|
||||
/datum/reagent/consumable/ethanol/applejack
|
||||
|
||||
@@ -958,14 +958,14 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
|
||||
/datum/reagent/consumable/ethanol/bahama_mama
|
||||
name = "Bahama Mama"
|
||||
description = "Tropical cocktail."
|
||||
description = "A tropical cocktail with a complex blend of flavors."
|
||||
color = "#FF7F3B" // rgb: 255, 127, 59
|
||||
boozepwr = 35
|
||||
quality = DRINK_GOOD
|
||||
taste_description = "lime and orange"
|
||||
taste_description = "pineapple, coconut, and a hint of coffee"
|
||||
glass_icon_state = "bahama_mama"
|
||||
glass_name = "Bahama Mama"
|
||||
glass_desc = "Tropical cocktail."
|
||||
glass_desc = "A tropical cocktail with a complex blend of flavors."
|
||||
value = 2
|
||||
|
||||
/datum/reagent/consumable/ethanol/singulo
|
||||
@@ -1156,6 +1156,17 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
playsound(get_turf(M), 'sound/effects/explosionfar.ogg', 100, 1)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/consumable/ethanol/hiveminderaser
|
||||
name = "Hivemind Eraser"
|
||||
description = "A vessel of pure flavor."
|
||||
color = "#FF80FC" // rgb: 255, 128, 252
|
||||
boozepwr = 40
|
||||
quality = DRINK_GOOD
|
||||
taste_description = "psychic links"
|
||||
glass_icon_state = "hiveminderaser"
|
||||
glass_name = "Hivemind Eraser"
|
||||
glass_desc = "For when even mindshields can't save you."
|
||||
|
||||
/datum/reagent/consumable/ethanol/erikasurprise
|
||||
name = "Erika Surprise"
|
||||
description = "The surprise is, it's green!"
|
||||
@@ -1563,6 +1574,16 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
glass_desc = "A million hazing lawsuits and alcohol poisonings have started with this humble ingredient."
|
||||
value = 1
|
||||
|
||||
/datum/reagent/consumable/ethanol/creme_de_coconut
|
||||
name = "Creme de Coconut"
|
||||
description = "A coconut liqueur for smooth, creamy, tropical drinks."
|
||||
color = "#F7F0D0"
|
||||
boozepwr = 20
|
||||
taste_description = "a sweet milky flavor with notes of toasted sugar"
|
||||
glass_icon_state = "glass_white"
|
||||
glass_name = "Creme de Coconut"
|
||||
glass_desc = "An unintimidating glass of coconut liqueur."
|
||||
|
||||
/datum/reagent/consumable/ethanol/quadruple_sec
|
||||
name = "Quadruple Sec"
|
||||
description = "Kicks just as hard as licking the powercell on a baton, but tastier."
|
||||
@@ -1604,6 +1625,28 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
. = 1
|
||||
return ..()
|
||||
|
||||
/datum/reagent/consumable/ethanol/painkiller
|
||||
name = "Painkiller"
|
||||
description = "Dulls your pain. Your emotional pain, that is."
|
||||
boozepwr = 20
|
||||
color = "#EAD677"
|
||||
quality = DRINK_NICE
|
||||
taste_description = "sugary tartness"
|
||||
glass_icon_state = "painkiller"
|
||||
glass_name = "Painkiller"
|
||||
glass_desc = "A combination of tropical juices and rum. Surely this will make you feel better."
|
||||
|
||||
/datum/reagent/consumable/ethanol/pina_colada
|
||||
name = "Pina Colada"
|
||||
description = "A fresh pineapple drink with coconut rum. Yum."
|
||||
boozepwr = 40
|
||||
color = "#FFF1B2"
|
||||
quality = DRINK_FANTASTIC
|
||||
taste_description = "pineapple, coconut, and a hint of the ocean"
|
||||
glass_icon_state = "pina_colada"
|
||||
glass_name = "Pina Colada"
|
||||
glass_desc = "If you like pina coladas, and getting caught in the rain... well, you'll like this drink."
|
||||
|
||||
/datum/reagent/consumable/ethanol/grasshopper
|
||||
name = "Grasshopper"
|
||||
description = "A fresh and sweet dessert shooter. Difficult to look manly while drinking this."
|
||||
@@ -1852,6 +1895,17 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
glass_desc = "A drink that looks as refreshing as it tastes."
|
||||
value = 1
|
||||
|
||||
/datum/reagent/consumable/ethanol/moscow_mule
|
||||
name = "Moscow Mule"
|
||||
description = "A chilly drink that reminds you of the Derelict."
|
||||
color = "#EEF1AA"
|
||||
boozepwr = 30
|
||||
quality = DRINK_GOOD
|
||||
taste_description = "refreshing spiciness"
|
||||
glass_icon_state = "moscow_mule"
|
||||
glass_name = "Moscow Mule"
|
||||
glass_desc = "A chilly drink that reminds you of the Derelict."
|
||||
|
||||
/datum/reagent/consumable/ethanol/fernet
|
||||
name = "Fernet"
|
||||
description = "An incredibly bitter herbal liqueur used as a digestif."
|
||||
@@ -2159,6 +2213,25 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
glass_desc = "Although historians believe the drink was originally created to commemorate the end of an important conflict in man's past, its origins have largely been forgotten and it is today seen more as a general symbol of human supremacy."
|
||||
value = 1
|
||||
|
||||
/datum/reagent/consumable/ethanol/mauna_loa
|
||||
name = "Mauna Loa"
|
||||
description = "Extremely hot; not for the faint of heart!"
|
||||
boozepwr = 40
|
||||
color = "#fe8308" // 254, 131, 8
|
||||
quality = DRINK_FANTASTIC
|
||||
taste_description = "fiery, with an aftertaste of burnt flesh"
|
||||
glass_icon_state = "mauna_loa"
|
||||
glass_name = "Mauna Loa"
|
||||
glass_desc = "Lavaland in a drink... mug... volcano... thing."
|
||||
|
||||
/datum/reagent/consumable/ethanol/mauna_loa/on_mob_life(mob/living/carbon/M)
|
||||
// Heats the user up while the reagent is in the body. Occasionally makes you burst into flames.
|
||||
M.adjust_bodytemperature(25 * TEMPERATURE_DAMAGE_COEFFICIENT)
|
||||
if (prob(5))
|
||||
M.adjust_fire_stacks(1)
|
||||
M.IgniteMob()
|
||||
..()
|
||||
|
||||
/datum/reagent/consumable/ethanol/commander_and_chief
|
||||
name = "Commander and Chief"
|
||||
description = "A cocktail for the captain on the go."
|
||||
@@ -2182,6 +2255,107 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
. = 1
|
||||
return ..()
|
||||
|
||||
/datum/reagent/consumable/ethanol/gunfire
|
||||
name = "Gunfire"
|
||||
description = "A drink that tastes like tiny explosions."
|
||||
color = "#e4830d"
|
||||
boozepwr = 40
|
||||
quality = DRINK_GOOD
|
||||
taste_description = "tiny explosions"
|
||||
glass_icon_state = "gunfire"
|
||||
glass_name = "Gunfire"
|
||||
glass_desc = "It pops constantly as you look at it, giving off tiny sparks."
|
||||
|
||||
/datum/reagent/consumable/ethanol/gunfire/on_mob_life(mob/living/carbon/M)
|
||||
if (prob(3))
|
||||
to_chat(M,"<span class='notice'>You feel the gunfire pop in your mouth.</span>")
|
||||
return ..()
|
||||
|
||||
/datum/reagent/consumable/ethanol/hellfire
|
||||
name = "Hellfire"
|
||||
description = "A nice drink that isn't quite as hot as it looks."
|
||||
color = "#fb2203"
|
||||
boozepwr = 60
|
||||
quality = DRINK_VERYGOOD
|
||||
taste_description = "cold flames that lick at the top of your mouth"
|
||||
glass_icon_state = "hellfire"
|
||||
glass_name = "Hellfire"
|
||||
glass_desc = "An amber colored drink that isn't quite as hot as it looks."
|
||||
|
||||
/datum/reagent/consumable/ethanol/hellfire/on_mob_life(mob/living/carbon/M)
|
||||
M.adjust_bodytemperature(30 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, BODYTEMP_NORMAL + 30)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/consumable/ethanol/sins_delight
|
||||
name = "Sin's Delight"
|
||||
description = "The drink smells like the seven sins."
|
||||
color = "#330000"
|
||||
boozepwr = 66
|
||||
quality = DRINK_FANTASTIC
|
||||
taste_description = "sin"
|
||||
glass_icon_state = "sins_delight"
|
||||
glass_name = "Sin's Delight"
|
||||
glass_desc = "You can smell the seven sins rolling off the top of the glass."
|
||||
|
||||
/datum/reagent/consumable/ethanol/strawberry_daiquiri
|
||||
name = "Strawberry Daiquiri"
|
||||
description = "Pink looking alcoholic drink."
|
||||
boozepwr = 20
|
||||
color = "#FF4A74"
|
||||
quality = DRINK_NICE
|
||||
taste_description = "sweet strawberry, lime and the ocean breeze"
|
||||
glass_icon_state = "strawberry_daiquiri"
|
||||
glass_name = "Strawberry Daiquiri"
|
||||
glass_desc = "Pink looking drink with flowers and a big straw to sip it. Looks sweet and refreshing, perfect for warm days."
|
||||
|
||||
/datum/reagent/consumable/ethanol/liz_fizz
|
||||
name = "Liz Fizz"
|
||||
description = "Triple citrus layered with some ice and cream."
|
||||
boozepwr = 0
|
||||
color = "#D8FF59"
|
||||
taste_description = "brain freezing sourness"
|
||||
glass_icon_state = "liz_fizz"
|
||||
glass_name = "Liz Fizz"
|
||||
glass_desc = "Looks like a citrus sherbet seperated in layers? Why would anyone want that is beyond you."
|
||||
|
||||
/datum/reagent/consumable/ethanol/miami_vice
|
||||
name = "Miami Vice"
|
||||
description = "A drink layering Pina Colada and Strawberry Daiquiri"
|
||||
boozepwr = 30
|
||||
color = "#D8FF59"
|
||||
quality = DRINK_FANTASTIC
|
||||
taste_description = "sweet and refreshing flavor, complemented with strawberries and coconut, and hints of citrus"
|
||||
glass_icon_state = "miami_vice"
|
||||
glass_name = "Miami Vice"
|
||||
glass_desc = "Strawberries and coconut, like yin and yang."
|
||||
|
||||
/datum/reagent/consumable/ethanol/malibu_sunset
|
||||
name = "Malibu Sunset"
|
||||
description = "A drink consisting of creme de coconut and tropical juices"
|
||||
boozepwr = 20
|
||||
color = "#FF9473"
|
||||
quality = DRINK_NICE
|
||||
taste_description = "coconut, with orange and grenadine accents"
|
||||
glass_icon_state = "malibu_sunset"
|
||||
glass_name = "Malibu Sunset"
|
||||
glass_desc = "Tropical looking drinks, with ice cubes hovering on the surface and grenadine coloring the bottom."
|
||||
|
||||
/datum/reagent/consumable/ethanol/hotlime_miami
|
||||
name = "Hotlime Miami"
|
||||
description = "The essence of the 90's, if they were a bloody mess that is."
|
||||
boozepwr = 40
|
||||
color = "#A7FAE8"
|
||||
quality = DRINK_FANTASTIC
|
||||
taste_description = "coconut and aesthetic violence"
|
||||
glass_icon_state = "hotlime_miami"
|
||||
glass_name = "Hotlime Miami"
|
||||
glass_desc = "This looks very aesthetically pleasing."
|
||||
|
||||
/datum/reagent/consumable/ethanol/hotlime_miami/on_mob_life(mob/living/carbon/M)
|
||||
M.set_drugginess(50)
|
||||
M.adjustStaminaLoss(-2)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/consumable/ethanol/fruit_wine
|
||||
name = "Fruit Wine"
|
||||
description = "A wine made from grown plants."
|
||||
|
||||
@@ -136,6 +136,14 @@
|
||||
. = 1
|
||||
..()
|
||||
|
||||
/datum/reagent/consumable/strawberryjuice
|
||||
name = "Strawberry Juice"
|
||||
description = "Refreshing seasonal summer drink."
|
||||
color = "#E50D31"
|
||||
taste_description = "strawberry"
|
||||
glass_name = "glass of strawberry juice"
|
||||
glass_desc = "Refreshing seasonal summer drink."
|
||||
|
||||
/datum/reagent/consumable/nothing
|
||||
name = "Nothing"
|
||||
description = "Absolutely nothing."
|
||||
@@ -812,6 +820,14 @@
|
||||
taste_description = "peaches"
|
||||
glass_name = "glass of peach juice"
|
||||
|
||||
/datum/reagent/consumable/pineapplejuice
|
||||
name = "Pineapple Juice"
|
||||
description = "Tart, tropical, and hotly debated."
|
||||
color = "#F7D435"
|
||||
taste_description = "pineapple"
|
||||
glass_name = "glass of pineapple juice"
|
||||
glass_desc = "Tart, tropical, and hotly debated."
|
||||
|
||||
/datum/reagent/consumable/cream_soda
|
||||
name = "Cream Soda"
|
||||
description = "A classic space-American vanilla flavored soft drink."
|
||||
@@ -826,6 +842,19 @@
|
||||
M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
|
||||
..()
|
||||
|
||||
/datum/reagent/consumable/sol_dry
|
||||
name = "Sol Dry"
|
||||
description = "A soothing, mellow drink made from ginger."
|
||||
color = "#f7d26a"
|
||||
quality = DRINK_NICE
|
||||
taste_description = "sweet ginger spice"
|
||||
glass_name = "Sol Dry"
|
||||
glass_desc = "A soothing, mellow drink made from ginger."
|
||||
|
||||
/datum/reagent/consumable/sol_dry/on_mob_life(mob/living/carbon/M)
|
||||
M.adjust_disgust(-5)
|
||||
..()
|
||||
|
||||
/datum/reagent/consumable/red_queen
|
||||
name = "Red Queen"
|
||||
description = "DRINK ME."
|
||||
|
||||
@@ -171,9 +171,11 @@
|
||||
/datum/reagent/drug/methamphetamine/on_mob_metabolize(mob/living/L)
|
||||
..()
|
||||
L.ignore_slowdown(type)
|
||||
ADD_TRAIT(L, TRAIT_TASED_RESISTANCE, type)
|
||||
|
||||
/datum/reagent/drug/methamphetamine/on_mob_end_metabolize(mob/living/L)
|
||||
L.unignore_slowdown(type)
|
||||
REMOVE_TRAIT(L, TRAIT_TASED_RESISTANCE, type)
|
||||
..()
|
||||
|
||||
/datum/reagent/drug/methamphetamine/on_mob_life(mob/living/carbon/M)
|
||||
@@ -465,7 +467,9 @@
|
||||
if(H.physiology)
|
||||
H.physiology.stamina_mod *= 0.5
|
||||
if(H.dna && H.dna.species)
|
||||
H.dna.species.punchdamagehigh *= 5
|
||||
H.dna.species.punchdamagehigh *= 4
|
||||
H.dna.species.punchdamagelow *= 4
|
||||
H.dna.species.punchstunthreshold *= 2
|
||||
|
||||
/datum/reagent/drug/skooma/on_mob_end_metabolize(mob/living/L)
|
||||
. = ..()
|
||||
@@ -476,7 +480,9 @@
|
||||
if(H.physiology)
|
||||
H.physiology.stamina_mod *= 2
|
||||
if(H.dna && H.dna.species)
|
||||
H.dna.species.punchdamagehigh *= 0.2
|
||||
H.dna.species.punchdamagehigh *= 0.25
|
||||
H.dna.species.punchdamagelow *= 0.25
|
||||
H.dna.species.punchstunthreshold *= 0.5
|
||||
|
||||
/datum/reagent/drug/skooma/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REM)
|
||||
|
||||
@@ -218,7 +218,8 @@
|
||||
. = ..()
|
||||
if(iscarbon(M))
|
||||
var/mob/living/carbon/patient = M
|
||||
if(reac_volume >= 5 && HAS_TRAIT_FROM(patient, TRAIT_HUSK, "burn") && patient.getFireLoss() < THRESHOLD_UNHUSK) //One carp yields 12u rezadone.
|
||||
var/vol = reac_volume + M.reagents.get_reagent_amount(/datum/reagent/medicine/rezadone)
|
||||
if(vol >= 5 && HAS_TRAIT_FROM(patient, TRAIT_HUSK, "burn") && patient.getFireLoss() < THRESHOLD_UNHUSK) //One carp yields 12u rezadone.
|
||||
patient.cure_husk("burn")
|
||||
patient.visible_message("<span class='nicegreen'>[patient]'s body rapidly absorbs moisture from the enviroment, taking on a more healthy appearance.")
|
||||
|
||||
@@ -425,7 +426,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
|
||||
overdose_threshold = 40
|
||||
value = 6
|
||||
|
||||
/datum/reagent/medicine/synthflesh/reaction_mob(mob/living/M, method=TOUCH, reac_volume,show_message = 1)
|
||||
/datum/reagent/medicine/synthflesh/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1)
|
||||
if(iscarbon(M))
|
||||
if (M.stat == DEAD)
|
||||
show_message = 0
|
||||
@@ -442,8 +443,9 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='danger'>You feel your burns and bruises healing! It stings like hell!</span>")
|
||||
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine)
|
||||
var/vol = reac_volume + M.reagents.get_reagent_amount(/datum/reagent/medicine/synthflesh)
|
||||
//Has to be at less than THRESHOLD_UNHUSK burn damage and have 100 synthflesh before unhusking. Corpses dont metabolize.
|
||||
if(HAS_TRAIT_FROM(M, TRAIT_HUSK, "burn") && M.getFireLoss() < THRESHOLD_UNHUSK && M.reagents.has_reagent(/datum/reagent/medicine/synthflesh, 100))
|
||||
if(HAS_TRAIT_FROM(M, TRAIT_HUSK, "burn") && M.getFireLoss() < THRESHOLD_UNHUSK && (vol > 100))
|
||||
M.cure_husk("burn")
|
||||
M.visible_message("<span class='nicegreen'>Most of [M]'s burnt off or charred flesh has been restored.")
|
||||
..()
|
||||
@@ -957,7 +959,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
|
||||
/datum/reagent/medicine/mutadone/on_mob_life(mob/living/carbon/M)
|
||||
M.jitteriness = 0
|
||||
if(M.has_dna())
|
||||
M.dna.remove_all_mutations()
|
||||
M.dna.remove_all_mutations(mutadone = TRUE)
|
||||
if(!QDELETED(M)) //We were a monkey, now a human
|
||||
..()
|
||||
|
||||
@@ -992,9 +994,11 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
|
||||
/datum/reagent/medicine/stimulants/on_mob_metabolize(mob/living/L)
|
||||
..()
|
||||
L.add_movespeed_modifier(type, update=TRUE, priority=100, multiplicative_slowdown=-0.5, blacklisted_movetypes=(FLYING|FLOATING))
|
||||
ADD_TRAIT(L, TRAIT_TASED_RESISTANCE, type)
|
||||
|
||||
/datum/reagent/medicine/stimulants/on_mob_end_metabolize(mob/living/L)
|
||||
L.remove_movespeed_modifier(type)
|
||||
REMOVE_TRAIT(L, TRAIT_TASED_RESISTANCE, type)
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/stimulants/on_mob_life(mob/living/carbon/M)
|
||||
@@ -1299,6 +1303,14 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
|
||||
color = "#918e53"
|
||||
overdose_threshold = 30
|
||||
|
||||
/datum/reagent/medicine/changelingadrenaline/on_mob_metabolize(mob/living/L)
|
||||
..()
|
||||
ADD_TRAIT(L, TRAIT_TASED_RESISTANCE, type)
|
||||
|
||||
/datum/reagent/medicine/changelingadrenaline/on_mob_end_metabolize(mob/living/L)
|
||||
REMOVE_TRAIT(L, TRAIT_TASED_RESISTANCE, type)
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/changelingadrenaline/on_mob_life(mob/living/carbon/M as mob)
|
||||
M.AdjustUnconscious(-20, 0)
|
||||
M.AdjustAllImmobility(-20, 0)
|
||||
|
||||
@@ -231,6 +231,7 @@
|
||||
description = "An ubiquitous chemical substance that is composed of hydrogen and oxygen."
|
||||
color = "#AAAAAA77" // rgb: 170, 170, 170, 77 (alpha)
|
||||
taste_description = "water"
|
||||
overdose_threshold = 150 //Imagine drinking a gallon of water
|
||||
var/cooling_temperature = 2
|
||||
glass_icon_state = "glass_clear"
|
||||
glass_name = "glass of water"
|
||||
@@ -297,6 +298,10 @@
|
||||
M.ExtinguishMob()
|
||||
..()
|
||||
|
||||
/datum/reagent/water/overdose_start(mob/living/M)
|
||||
metabolization_rate = 45 * REAGENTS_METABOLISM
|
||||
. = 1
|
||||
|
||||
/datum/reagent/water/holywater
|
||||
name = "Holy Water"
|
||||
description = "Water blessed by some deity."
|
||||
@@ -378,6 +383,7 @@
|
||||
|
||||
/datum/reagent/fuel/unholywater //if you somehow managed to extract this from someone, dont splash it on yourself and have a smoke
|
||||
name = "Unholy Water"
|
||||
overdose_threshold = 150 //Same as normal water
|
||||
description = "Something that shouldn't exist on this plane of existence."
|
||||
taste_description = "suffering"
|
||||
pH = 6.5
|
||||
@@ -409,6 +415,10 @@
|
||||
holder.remove_reagent(type, 1)
|
||||
return TRUE
|
||||
|
||||
/datum/reagent/fuel/unholywater/overdose_start(mob/living/M)
|
||||
metabolization_rate = 60 * REAGENTS_METABOLISM
|
||||
. = 1
|
||||
|
||||
/datum/reagent/hellwater //if someone has this in their system they've really pissed off an eldrich god
|
||||
name = "Hell Water"
|
||||
description = "YOUR FLESH! IT BURNS!"
|
||||
|
||||
@@ -40,9 +40,9 @@
|
||||
if((method==VAPOR && prob(min(33, reac_volume))) || method==INGEST || method==PATCH || method==INJECT)
|
||||
M.randmuti()
|
||||
if(prob(98))
|
||||
M.randmutb()
|
||||
M.easy_randmut(NEGATIVE+MINOR_NEGATIVE)
|
||||
else
|
||||
M.randmutg()
|
||||
M.easy_randmut(POSITIVE)
|
||||
M.updateappearance()
|
||||
M.domutcheck()
|
||||
..()
|
||||
@@ -495,6 +495,24 @@
|
||||
toxpwr = 0.5
|
||||
taste_description = "bad cooking"
|
||||
|
||||
/datum/reagent/toxin/condensed_cooking_oil
|
||||
name = "Condensed Cooking Oil"
|
||||
description = "Taste the consequences of your mistakes."
|
||||
reagent_state = LIQUID
|
||||
color = "#d6d6d8"
|
||||
metabolization_rate = 0.25 * REAGENTS_METABOLISM
|
||||
toxpwr = 0
|
||||
taste_mult = -2
|
||||
taste_description = "awful cooking"
|
||||
|
||||
/datum/reagent/toxin/condensed_cooking_oil/on_mob_life(mob/living/carbon/M)
|
||||
if(prob(15))
|
||||
M.vomit()
|
||||
else
|
||||
if(prob(40))
|
||||
M.adjustOrganLoss(ORGAN_SLOT_HEART, 0.5) //For reference, bungotoxin does 3
|
||||
..()
|
||||
|
||||
/datum/reagent/toxin/itching_powder
|
||||
name = "Itching Powder"
|
||||
description = "A powder that induces itching upon contact with the skin. Causes the victim to scratch at their itches and has a very low chance to decay into Histamine."
|
||||
|
||||
@@ -75,6 +75,28 @@
|
||||
for(var/i = 1, i <= multiplier, i++)
|
||||
new /obj/item/stack/sheet/mineral/gold(location)
|
||||
|
||||
/datum/chemical_reaction/uraniumsolidification
|
||||
name = "Solid Uranium"
|
||||
id = "soliduranium"
|
||||
required_reagents = list(/datum/reagent/consumable/frostoil = 5, /datum/reagent/uranium = 20, /datum/reagent/bromine = 1)
|
||||
mob_react = FALSE
|
||||
|
||||
/datum/chemical_reaction/uraniumsolidification/on_reaction(datum/reagents/holder, multiplier)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
for(var/i = 1, i <= multiplier, i++)
|
||||
new /obj/item/stack/sheet/mineral/uranium(location)
|
||||
|
||||
/datum/chemical_reaction/bluespacecrystalifaction
|
||||
name = "Crystal Bluespace"
|
||||
id = "crystalbluespace"
|
||||
required_reagents = list(/datum/reagent/consumable/frostoil = 5, /datum/reagent/bluespace = 20, /datum/reagent/iron = 1)
|
||||
mob_react = FALSE
|
||||
|
||||
/datum/chemical_reaction/bluespacecrystalifaction/on_reaction(datum/reagents/holder, multiplier)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
for(var/i = 1, i <= multiplier, i++)
|
||||
new /obj/item/stack/sheet/bluespace_crystal(location)
|
||||
|
||||
/datum/chemical_reaction/capsaicincondensation
|
||||
name = "Capsaicincondensation"
|
||||
id = /datum/reagent/consumable/condensedcapsaicin
|
||||
|
||||
@@ -43,14 +43,14 @@
|
||||
set_APTFT()
|
||||
return TRUE
|
||||
|
||||
/obj/item/reagent_containers/proc/set_APTFT(mob/user) //set amount_per_transfer_from_this
|
||||
/obj/item/reagent_containers/proc/set_APTFT() //set amount_per_transfer_from_this
|
||||
set name = "Set Transfer Amount"
|
||||
set category = "Object"
|
||||
set waitfor = FALSE
|
||||
var/N = input("Amount per transfer from this:","[src]") as null|anything in possible_transfer_amounts
|
||||
if(N)
|
||||
amount_per_transfer_from_this = N
|
||||
to_chat(user, "<span class='notice'>[src]'s transfer amount is now [amount_per_transfer_from_this] units.</span>")
|
||||
to_chat(usr, "<span class='notice'>[src]'s transfer amount is now [amount_per_transfer_from_this] units.</span>")
|
||||
|
||||
/obj/item/reagent_containers/proc/add_initial_reagents()
|
||||
if(list_reagents)
|
||||
@@ -134,6 +134,7 @@
|
||||
throwerstring = " THROWN BY [key_name(thrownby)] at [AT] (AREACOORD(AT)]"
|
||||
log_reagent("SPLASH: [src] mob SplashReagents() onto [key_name(target)] at [TT] ([AREACOORD(TT)])[throwerstring] - [R]")
|
||||
reagents.reaction(target, TOUCH)
|
||||
reagents.clear_reagents()
|
||||
|
||||
else if(bartender_check(target) && thrown)
|
||||
visible_message("<span class='notice'>[src] lands without spilling a single drop.</span>")
|
||||
@@ -154,8 +155,6 @@
|
||||
visible_message("<span class='notice'>[src] spills its contents all over [target].</span>")
|
||||
reagents.reaction(target, TOUCH)
|
||||
reagents.clear_reagents()
|
||||
if(QDELETED(src))
|
||||
return
|
||||
|
||||
//melts plastic beakers
|
||||
/obj/item/reagent_containers/microwave_act(obj/machinery/microwave/M)
|
||||
|
||||
@@ -28,7 +28,7 @@ Borg Hypospray
|
||||
|
||||
var/list/datum/reagents/reagent_list = list()
|
||||
var/list/reagent_ids = list(/datum/reagent/medicine/dexalin, /datum/reagent/medicine/kelotane, /datum/reagent/medicine/bicaridine, /datum/reagent/medicine/antitoxin,
|
||||
/datum/reagent/medicine/epinephrine, /datum/reagent/medicine/spaceacillin, /datum/reagent/medicine/salglu_solution, /datum/reagent/medicine/insulin)
|
||||
/datum/reagent/medicine/epinephrine, /datum/reagent/medicine/spaceacillin, /datum/reagent/medicine/salglu_solution, /datum/reagent/medicine/insulin, /datum/reagent/medicine/potass_iodide)
|
||||
var/accepts_reagent_upgrades = TRUE //If upgrades can increase number of reagents dispensed.
|
||||
var/list/modes = list() //Basically the inverse of reagent_ids. Instead of having numbers as "keys" and strings as values it has strings as keys and numbers as values.
|
||||
//Used as list for input() in shakers.
|
||||
@@ -164,7 +164,7 @@ Borg Hypospray
|
||||
icon_state = "borghypo_s"
|
||||
charge_cost = 20
|
||||
recharge_time = 2
|
||||
reagent_ids = list(/datum/reagent/medicine/syndicate_nanites, /datum/reagent/medicine/potass_iodide, /datum/reagent/medicine/morphine, /datum/reagent/medicine/insulin)
|
||||
reagent_ids = list(/datum/reagent/medicine/syndicate_nanites, /datum/reagent/medicine/prussian_blue, /datum/reagent/medicine/morphine, /datum/reagent/medicine/insulin)
|
||||
bypass_protection = 1
|
||||
accepts_reagent_upgrades = FALSE
|
||||
|
||||
@@ -261,5 +261,5 @@ Borg Shaker
|
||||
/obj/item/reagent_containers/borghypo/epi
|
||||
name = "Stabilizer injector"
|
||||
desc = "An advanced chemical synthesizer and injection system, designed to stabilize patients."
|
||||
reagent_ids = list(/datum/reagent/medicine/epinephrine, /datum/reagent/medicine/insulin)
|
||||
reagent_ids = list(/datum/reagent/medicine/epinephrine, /datum/reagent/medicine/insulin, /datum/reagent/medicine/potass_iodide)
|
||||
accepts_reagent_upgrades = FALSE
|
||||
|
||||
@@ -388,3 +388,67 @@
|
||||
|
||||
/obj/item/reagent_containers/glass/get_belt_overlay()
|
||||
return mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "bottle")
|
||||
|
||||
//Mortar & Pestle
|
||||
|
||||
/obj/item/pestle
|
||||
name = "pestle"
|
||||
desc = "An ancient, simple tool used in conjunction with a mortar to grind or juice items."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "pestle"
|
||||
force = 4
|
||||
|
||||
/obj/item/reagent_containers/glass/mortar
|
||||
name = "mortar"
|
||||
desc = "A specially formed bowl of ancient design. It is possible to crush or juice items placed in it using a pestle; however the process, unlike modern methods, is slow and physically exhausting. Alt click to eject the item."
|
||||
icon_state = "mortar"
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5, 10, 15, 20, 25, 30, 50)
|
||||
item_flags = NO_MAT_REDEMPTION
|
||||
reagent_flags = OPENCONTAINER
|
||||
spillable = TRUE
|
||||
var/obj/item/grinded
|
||||
|
||||
/obj/item/reagent_containers/glass/mortar/AltClick(mob/user)
|
||||
. = ..()
|
||||
if(grinded)
|
||||
grinded.forceMove(drop_location())
|
||||
grinded = null
|
||||
to_chat(user, "<span class='notice'>You eject the item inside.</span>")
|
||||
return TRUE
|
||||
|
||||
/obj/item/reagent_containers/glass/mortar/attackby(obj/item/I, mob/living/carbon/human/user)
|
||||
..()
|
||||
if(istype(I,/obj/item/pestle))
|
||||
if(grinded)
|
||||
if(IS_STAMCRIT(user))
|
||||
to_chat(user, "<span class='warning'>You are too tired to work!</span>")
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start grinding...</span>")
|
||||
if((do_after(user, 25, target = src)) && grinded)
|
||||
user.adjustStaminaLoss(20)
|
||||
if(grinded.juice_results) //prioritize juicing
|
||||
grinded.on_juice()
|
||||
reagents.add_reagent_list(grinded.juice_results)
|
||||
to_chat(user, "<span class='notice'>You juice [grinded] into a fine liquid.</span>")
|
||||
QDEL_NULL(grinded)
|
||||
return
|
||||
grinded.on_grind()
|
||||
reagents.add_reagent_list(grinded.grind_results)
|
||||
if(grinded.reagents) //food and pills
|
||||
grinded.reagents.trans_to(src, grinded.reagents.total_volume)
|
||||
to_chat(user, "<span class='notice'>You break [grinded] into powder.</span>")
|
||||
QDEL_NULL(grinded)
|
||||
return
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='warning'>There is nothing to grind!</span>")
|
||||
return
|
||||
if(grinded)
|
||||
to_chat(user, "<span class='warning'>There is something inside already!</span>")
|
||||
return
|
||||
if(I.juice_results || I.grind_results)
|
||||
I.forceMove(src)
|
||||
grinded = I
|
||||
return
|
||||
to_chat(user, "<span class='warning'>You can't grind this!</span>")
|
||||
|
||||
Reference in New Issue
Block a user