diff --git a/aurorastation.dme b/aurorastation.dme index e6707ddce67..a217dade10f 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -1507,6 +1507,7 @@ #include "code\modules\clothing\factions\goldendeep.dm" #include "code\modules\clothing\factions\himeo.dm" #include "code\modules\clothing\factions\idris.dm" +#include "code\modules\clothing\factions\jargon.dm" #include "code\modules\clothing\factions\konyang.dm" #include "code\modules\clothing\factions\vysoka.dm" #include "code\modules\clothing\glasses\glasses.dm" diff --git a/code/__defines/chemistry.dm b/code/__defines/chemistry.dm index f17e0289a49..cc7ee692edb 100644 --- a/code/__defines/chemistry.dm +++ b/code/__defines/chemistry.dm @@ -70,6 +70,7 @@ #define CE_CLEARSIGHT "clearsight" // prevents the blurry eye chem side effect #define CE_STRAIGHTWALK "straightwalk" // prevents the confused walking chem side effect #define CE_NOSTUTTER "nostutter" // helps alleviate stuttering +#define CE_HAUNTED "haunted" // Spectrocybin's ghost vision // Apply healing effects #define CE_ANTIBIOTIC "antibiotic" // Thetamycin diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index 0f569210939..4543976bc2b 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -147,16 +147,15 @@ desc = "It controls blast doors, remotely." /obj/machinery/button/remote/blast_door/trigger() + var/new_state for(var/obj/machinery/door/blast/M in SSmachinery.all_machines) - if(M.id == src.id) - if(M.density) - spawn(0) - M.open() - return + if(M.id == id) + if(isnull(new_state)) + new_state = M.density + if(new_state) + M.open() else - spawn(0) - M.close() - return + M.close() /obj/machinery/button/remote/blast_door/open_only/trigger() for(var/obj/machinery/door/blast/M in SSmachinery.all_machines) @@ -221,4 +220,4 @@ if(!active || (stat & NOPOWER)) icon_state = "launcherbtt" else - icon_state = "launcheract" \ No newline at end of file + icon_state = "launcheract" diff --git a/code/game/machinery/vending_types.dm b/code/game/machinery/vending_types.dm index 3ed6ce9cd73..6da99d22894 100644 --- a/code/game/machinery/vending_types.dm +++ b/code/game/machinery/vending_types.dm @@ -595,6 +595,7 @@ /obj/item/stack/medical/bruise_pack = 2, /obj/item/stack/medical/ointment = 2, /obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 4, + /obj/item/reagent_containers/hypospray/autoinjector/dylovene = 4, /obj/item/device/healthanalyzer = 1, /obj/item/device/breath_analyzer = 1 ) @@ -1171,34 +1172,34 @@ desc = "An energy drink vendor provided by the Getmore Corporation in partnership with the brood of Ta'Akaix'Xakt'yagz'isk Zo'ra." icon_state = "zoda" icon_vend = "zoda-vend" - product_slogans = "Safe for human consumption!;Made by hard-working bound drones!;The most refreshing taste in the sector!;A product of two thousand years!" - product_ads = "Refreshing!;Hope you're thirsty!;Thirsty? Why not Zora?;Please, have some!;Drink up!;ZZZOOODDDAAA!" + product_slogans = "Safe for consumption by all species!;Made by hard-working bound drones!;The most refreshing energy drink around!;A product of two thousand years!" + product_ads = "Tired? Try some Zo'ra Soda!;Thirsty? Why not Zo'ra Soda?;Bored? Have some Zo'ra Soda!;Zo'ra Soda. Drink up!;ZZZOOO'RRRAAA SSSOOODDDAAA!" vend_id = "zora" products = list( - /obj/item/reagent_containers/food/drinks/cans/zorasoda = 5, - /obj/item/reagent_containers/food/drinks/cans/zorakois = 5, - /obj/item/reagent_containers/food/drinks/cans/zoraklax = 4, - /obj/item/reagent_containers/food/drinks/cans/zoraphoron = 5, - /obj/item/reagent_containers/food/drinks/cans/zoravenom = 5, - /obj/item/reagent_containers/food/drinks/cans/zoradrone = 5, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/cherry = 5, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/phoron = 5, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/klax = 5, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/cthur = 5, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/venomgrass = 5, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/kois = 5, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/drone = 5 ) contraband = list( - /obj/item/reagent_containers/food/drinks/cans/zoracthur = 2, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/hozm = 5 ) premium = list( - /obj/item/reagent_containers/food/drinks/cans/zorajelly = 2, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/jelly = 3 ) prices = list( - /obj/item/reagent_containers/food/drinks/cans/zorasoda = 30, - /obj/item/reagent_containers/food/drinks/cans/zorakois = 27, - /obj/item/reagent_containers/food/drinks/cans/zoraklax = 30, - /obj/item/reagent_containers/food/drinks/cans/zoraphoron = 30, - /obj/item/reagent_containers/food/drinks/cans/zoravenom = 30, - /obj/item/reagent_containers/food/drinks/cans/zorahozm = 50, - /obj/item/reagent_containers/food/drinks/cans/zoraklax = 31, - /obj/item/reagent_containers/food/drinks/cans/zoradrone = 30, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/cherry = 29, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/phoron = 29, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/klax = 29, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/cthur = 29, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/venomgrass = 29, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/kois = 29, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/drone = 29 ) - idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan. + idle_power_usage = 211 temperature_setting = -1 light_color = COLOR_CULT_REINFORCED diff --git a/code/game/objects/items/contraband.dm b/code/game/objects/items/contraband.dm index 906a813bc70..ff4821bdae5 100644 --- a/code/game/objects/items/contraband.dm +++ b/code/game/objects/items/contraband.dm @@ -11,10 +11,15 @@ desc = "Highly illegal drug. Trade brain for speed." starts_with = list(/obj/item/reagent_containers/pill/zoom = 7) -/obj/item/storage/pill_bottle/tranquility - name = "bottle of Tranquility pills" +/obj/item/storage/pill_bottle/joy + name = "bottle of Joy pills" desc = "Highly illegal drug. Bang - and your stress is gone." - starts_with = list(/obj/item/reagent_containers/pill/tranquility = 7) + starts_with = list(/obj/item/reagent_containers/pill/joy = 3) + +/obj/item/storage/pill_bottle/smart + name = "bottle of Smart pills" + desc = "Highly illegal drug. For exam season." + starts_with = list(/obj/item/reagent_containers/pill/skrell_nootropic = 7) /obj/item/reagent_containers/glass/beaker/vial/random flags = 0 @@ -27,8 +32,9 @@ list(/decl/reagent/toxin/carpotoxin = 15) = 2, list(/decl/reagent/impedrezene = 15) = 2, list(/decl/reagent/toxin/dextrotoxin = 10) = 1, - list(/decl/reagent/mental/neurapan = 15) = 2, - list(/decl/reagent/toxin/spectrocybin = 15) = 1) + list(/decl/reagent/toxin/spectrocybin = 15) = 1, + list(/decl/reagent/joy = 10, /decl/reagent/water = 20) = 1, + list(/decl/reagent/ammonia = 15) = 3) /obj/item/reagent_containers/glass/beaker/vial/random/Initialize() . = ..() diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index 8d39e8a6326..ffcac4ebf7e 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -45,10 +45,11 @@ /obj/item/storage/firstaid/regular icon_state = "firstaid" starts_with = list( - /obj/item/stack/medical/bruise_pack = 3, + /obj/item/stack/medical/bruise_pack = 2, /obj/item/stack/medical/ointment = 2, /obj/item/device/healthanalyzer = 1, - /obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 1 + /obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 1, + /obj/item/reagent_containers/hypospray/autoinjector/dylovene = 1 ) /obj/item/storage/firstaid/toxin diff --git a/code/modules/cargo/bounties/reagent.dm b/code/modules/cargo/bounties/reagent.dm index 53b5335299f..022b9cc7cce 100644 --- a/code/modules/cargo/bounties/reagent.dm +++ b/code/modules/cargo/bounties/reagent.dm @@ -168,7 +168,8 @@ /decl/reagent/night_juice, /decl/reagent/toxin/cardox, /decl/reagent/toxin/lean, - /decl/reagent/toxin/stimm) + /decl/reagent/toxin/stimm, + /decl/reagent/ambrosia_extract) var/reagent_type = pick(possible_reagents) wanted_reagent = new reagent_type diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno/skrell.dm b/code/modules/client/preference_setup/loadout/loadout_xeno/skrell.dm index d9959906ea2..5b307a79ce6 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno/skrell.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno/skrell.dm @@ -276,4 +276,40 @@ datum/gear_tweak/social_credit/tweak_item(var/obj/item/clothing/accessory/badge/ workcloak["ix cloak"] = /obj/item/clothing/accessory/poncho/shouldercape/cloak/ix workcloak["oqi cloak"] = /obj/item/clothing/accessory/poncho/shouldercape/cloak/oqi workcloak["iqi cloak"] = /obj/item/clothing/accessory/poncho/shouldercape/cloak/iqi - gear_tweaks += new /datum/gear_tweak/path(workcloak) \ No newline at end of file + gear_tweaks += new /datum/gear_tweak/path(workcloak) + +/datum/gear/accessory/skrell/tees + display_name = "skrellian wetshirts" + path = /obj/item/clothing/accessory/tshirt/skrell + whitelisted = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI) + sort_category = "Xenowear - Skrell" + flags = GEAR_HAS_DESC_SELECTION + +/datum/gear/accessory/skrell/tees/New() + ..() + var/list/tees = list() + tees["ocean wetshirt"] = /obj/item/clothing/accessory/tshirt/skrell/ocean + tees["maelstrom wetshirt"] = /obj/item/clothing/accessory/tshirt/skrell/maelstrom + tees["reef wetshirt"] = /obj/item/clothing/accessory/tshirt/skrell/reef + tees["pink eriuyushi nebula shirt"] = /obj/item/clothing/accessory/tshirt/skrell/nebula + tees["purple eriuyushi nebula shirt"] = /obj/item/clothing/accessory/tshirt/skrell/nebula/purple + tees["teal eriuyushi nebula shirt"] = /obj/item/clothing/accessory/tshirt/skrell/nebula/teal + tees["black eriuyushi nebula shirt"] = /obj/item/clothing/accessory/tshirt/skrell/nebula/black + tees["white eriuyushi nebula shirt"] = /obj/item/clothing/accessory/tshirt/skrell/nebula/white + tees["jargon eriuyushi nebula shirt"] = /obj/item/clothing/accessory/tshirt/skrell/nebula/jargon + gear_tweaks += new /datum/gear_tweak/path(tees) + +/datum/gear/accessory/skrell/dress + display_name = "skrellian formal wetshirts" + path = /obj/item/clothing/accessory/dressshirt/skrell + whitelisted = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI) + sort_category = "Xenowear - Skrell" + flags = GEAR_HAS_DESC_SELECTION + +/datum/gear/accessory/skrell/dress/New() + ..() + var/list/dress = list() + dress["ocean formal wetshirt"] = /obj/item/clothing/accessory/dressshirt/skrell/ocean + dress["maelstrom formal wetshirt"] = /obj/item/clothing/accessory/dressshirt/skrell/maelstrom + dress["reef formal wetshirt"] = /obj/item/clothing/accessory/dressshirt/skrell/reef + gear_tweaks += new /datum/gear_tweak/path(dress) diff --git a/code/modules/clothing/factions/jargon.dm b/code/modules/clothing/factions/jargon.dm new file mode 100644 index 00000000000..ffc527141d2 --- /dev/null +++ b/code/modules/clothing/factions/jargon.dm @@ -0,0 +1,80 @@ +/obj/item/clothing/accessory/dressshirt/skrell + desc = "A formal wetshirt in Skrell style." + icon = 'icons/clothing/under/shirts/skrell_casual.dmi' + +/obj/item/clothing/accessory/dressshirt/skrell/ocean + name = "ocean formal wetshirt" + desc = "This wetshirt is meant to resemble the waves of Qerrbalak's homeworld. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell." + icon_state = "ocean_dressshirt" + item_state = "ocean_dressshirt" + +/obj/item/clothing/accessory/dressshirt/skrell/maelstrom + name = "maelstrom formal wetshirt" + desc = "This ferocious wetshirt resembles that of a maelstrom; a common occurance on Skrell planets. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell." + icon_state = "maelstrom_dressshirt" + item_state = "maelstrom_dressshirt" + +/obj/item/clothing/accessory/dressshirt/skrell/reef + name = "reef formal wetshirt" + desc = "This slightly tacky wetshirt resembles the coral reefs found throughout Jargon Space. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell." + icon_state = "reef_dressshirt" + item_state = "reef_dressshirt" + +/obj/item/clothing/accessory/tshirt/skrell + icon = 'icons/clothing/under/shirts/skrell_casual.dmi' + desc = "A wetshirt in Skrell style." + contained_sprite = TRUE + +/obj/item/clothing/accessory/tshirt/skrell/ocean + name = "ocean wetshirt" + desc = "This wetshirt is meant to resemble the waves of Qerrbalak's homeworld. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell." + icon_state = "ocean_tee" + item_state = "ocean_tee" + +/obj/item/clothing/accessory/tshirt/skrell/maelstrom + name = "maelstrom wetshirt" + desc = "This ferocious wetshirt resembles that of a maelstrom; a common occurance on Skrell planets. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell." + icon_state = "maelstrom_tee" + item_state = "maelstrom_tee" + +/obj/item/clothing/accessory/tshirt/skrell/reef + name = "reef wetshirt" + desc = "This slightly tacky wetshirt resembles the coral reefs found throughout Jargon Space. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell." + icon_state = "reef_tee" + item_state = "reef_tee" + +/obj/item/clothing/accessory/tshirt/skrell/nebula + name = "pink eriuyushi nebula shirt" + desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell." + icon_state = "pink_skrell_hawaiian" + item_state = "pink_skrell_hawaiian" + +/obj/item/clothing/accessory/tshirt/skrell/nebula/purple + name = "purple eriuyushi nebula shirt" + desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell." + icon_state = "purple_skrell_hawaiian" + item_state = "purple_skrell_hawaiian" + +/obj/item/clothing/accessory/tshirt/skrell/nebula/teal + name = "teal eriuyushi nebula shirt" + desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell." + icon_state = "teal_skrell_hawaiian" + item_state = "teal_skrell_hawaiian" + +/obj/item/clothing/accessory/tshirt/skrell/nebula/black + name = "black eriuyushi nebula shirt" + desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell." + icon_state = "black_skrell_hawaiian" + item_state = "black_skrell_hawaiian" + +/obj/item/clothing/accessory/tshirt/skrell/nebula/white + name = "white eriuyushi nebula shirt" + desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell." + icon_state = "white_skrell_hawaiian" + item_state = "white_skrell_hawaiian" + +/obj/item/clothing/accessory/tshirt/skrell/nebula/jargon + name = "jargon eriuyushi nebula shirt" + desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell." + icon_state = "jargon_skrell_hawaiian" + item_state = "jargon_skrell_hawaiian" diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index c7c009aa985..66ea39de689 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -26,7 +26,6 @@ /decl/reagent/toxin/fertilizer/monoammoniumphosphate = 1, /decl/reagent/saline = 2, /decl/reagent/mental/kokoreed = 0.5, - /decl/reagent/mental/vaam = 0.5, /decl/reagent/toxin/tobacco = 3, /decl/reagent/stone_dust = 0.5, /decl/reagent/crayon_dust = 1, @@ -41,7 +40,10 @@ /decl/reagent/nutriment/protein/egg = 2, /decl/reagent/serotrotium = 1, /decl/reagent/psilocybin = 0.5, - /decl/reagent/toxin/spectrocybin = 0.1 + /decl/reagent/toxin/spectrocybin = 0.1, + /decl/reagent/ambrosia_extract = 0.3, + /decl/reagent/skrell_nootropic = 0.5, + /decl/reagent/xuxigas = 2 ) /datum/event/vent_clog/setup() diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index f6d4548b6cb..9f18723b33d 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -92,7 +92,7 @@ descriptors |= "radioactive" if(reagents.has_reagent(/decl/reagent/toxin/amatoxin) || reagents.has_reagent(/decl/reagent/toxin)) descriptors |= "poisonous" - if(reagents.has_reagent(/decl/reagent/psilocybin) || reagents.has_reagent(/decl/reagent/space_drugs)) + if(reagents.has_reagent(/decl/reagent/psilocybin) || reagents.has_reagent(/decl/reagent/ambrosia_extract) || reagents.has_reagent(/decl/reagent/space_drugs) || reagents.has_reagent(/decl/reagent/mindbreaker)) descriptors |= "hallucinogenic" if(reagents.has_reagent(/decl/reagent/bicaridine) || reagents.has_reagent(/decl/reagent/dylovene)) descriptors |= "medicinal" diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 6f9a6c2ea3f..8f981cd0d9c 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -456,6 +456,8 @@ /decl/reagent/mortaphenyl, /decl/reagent/water, /decl/reagent/woodpulp, + /decl/reagent/ambrosia_extract, + /decl/reagent/skrell_nootropic ) for(var/x=1;x<=additional_chems;x++) diff --git a/code/modules/hydroponics/seed_datums/mushrooms.dm b/code/modules/hydroponics/seed_datums/mushrooms.dm index 880bb4f2c5f..38ece6e6115 100644 --- a/code/modules/hydroponics/seed_datums/mushrooms.dm +++ b/code/modules/hydroponics/seed_datums/mushrooms.dm @@ -168,7 +168,7 @@ seed_name = "liberty cap" display_name = "liberty cap mushrooms" mutants = list("ghostmushroom") - chems = list(/decl/reagent/nutriment = list(1), /decl/reagent/soporific = list(3,3), /decl/reagent/space_drugs = list(1,25)) + chems = list(/decl/reagent/nutriment = list(1), /decl/reagent/soporific = list(3,3), /decl/reagent/psilocybin = list(1,25)) /datum/seed/mushroom/hallucinogenic/strong/setup_traits() ..() diff --git a/code/modules/hydroponics/seed_datums/smokables.dm b/code/modules/hydroponics/seed_datums/smokables.dm index 4cd866d54af..ea1bb3de777 100644 --- a/code/modules/hydroponics/seed_datums/smokables.dm +++ b/code/modules/hydroponics/seed_datums/smokables.dm @@ -70,7 +70,7 @@ seed_name = "ambrosia vulgaris" display_name = "ambrosia vulgaris" mutants = list("ambrosiadeus") - chems = list(/decl/reagent/nutriment = list(1), /decl/reagent/space_drugs = list(1,8), /decl/reagent/kelotane = list(1,8,1), /decl/reagent/bicaridine = list(1,10,1), /decl/reagent/toxin = list(1,10)) + chems = list(/decl/reagent/nutriment = list(1), /decl/reagent/ambrosia_extract = list(4,8), /decl/reagent/kelotane = list(1,8,1), /decl/reagent/bicaridine = list(1,10,1), /decl/reagent/toxin = list(1,10)) kitchen_tag = "ambrosia" /datum/seed/ambrosia/setup_traits() @@ -93,7 +93,7 @@ seed_name = "ambrosia deus" display_name = "ambrosia deus" mutants = null - chems = list(/decl/reagent/nutriment = list(1), /decl/reagent/bicaridine = list(1,8), /decl/reagent/synaptizine = list(1,8,1), /decl/reagent/hyperzine = list(1,10,1), /decl/reagent/space_drugs = list(1,10)) + chems = list(/decl/reagent/nutriment = list(1), /decl/reagent/bicaridine = list(1,8), /decl/reagent/synaptizine = list(1,8,1), /decl/reagent/ambrosia_extract = list(4,10)) kitchen_tag = "ambrosiadeus" /datum/seed/ambrosia/deus/setup_traits() diff --git a/code/modules/item_worth/reagents.dm b/code/modules/item_worth/reagents.dm index b74b266095f..b22771f060f 100644 --- a/code/modules/item_worth/reagents.dm +++ b/code/modules/item_worth/reagents.dm @@ -806,3 +806,6 @@ /decl/reagent/toxin/undead value = 300 + +/decl/reagent/ambrosia_extract + value = 2.8 diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 43cd91dc8a3..8026eefe707 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -626,6 +626,25 @@ if(prob(2)) to_chat(src, SPAN_WARNING(pick("The itch is becoming progressively worse.", "You need to scratch that itch!", "The itch isn't going!"))) + if(CE_HAUNTED in chem_effects) + var/haunted = chem_effects[CE_HAUNTED] + if(haunted < 5) + if(prob(20)) + set_see_invisible(SEE_INVISIBLE_CULT) + if(prob(5)) + emote("shiver") + to_chat(src, SPAN_GOOD(pick("You hear the clinking of dinner plates and laughter.", "You hear a distant voice of someone you know talking to you.", "Fond memories of a departed loved one flocks to your mind.", "You feel the reassuring presence of a departed loved one.", "You feel a hand squeezing yours."))) + if(haunted >= 5) + set_see_invisible(SEE_INVISIBLE_CULT) + make_jittery(5) + if(prob(5)) + visible_message("[src] trembles uncontrollably.", "You tremble uncontrollably.") + to_chat(src, SPAN_CULT(pick("You feel fingers tracing up your back.", "You hear the distant wailing and sobbing of a departed loved one.", "You feel like you are being closely watched.", "You hear the hysterical laughter of a departed loved one.", "You no longer feel the reassuring presence of a departed loved one.", "You feel a hand taking hold of yours, digging its nails into you as it clings on."))) + if(haunted >= 10) + if(prob(5)) + emote(pick("shiver", "twitch")) + to_chat(src, SPAN_CULT(pick("You feel a cold and threatening air wrapping around you.", "Whispering shadows, ceaseless in their demands, twist your thoughts...", "The whispering, anything to make them stop!", "Your head spins amid the cacophony of screaming, wailing and maniacal laughter of distant loved ones.", "You feel vestiges of decaying souls cling to you, trying to re-enter the world of the living."))) + sprint_speed_factor = species.sprint_speed_factor max_stamina = species.stamina stamina_recovery = species.stamina_recovery diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 2b411ed85b6..b38b960526f 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -956,7 +956,7 @@ default behaviour is: /mob/living/proc/seizure() if(!paralysis && stat == CONSCIOUS) visible_message("\The [src] starts having a seizure!") - Paralyse(rand(8,16)) + Paralyse(rand(16,24)) make_jittery(rand(150,200)) adjustHalLoss(rand(50,60)) diff --git a/code/modules/organs/internal/_internal.dm b/code/modules/organs/internal/_internal.dm index 6d0f6db46c6..84215072e53 100644 --- a/code/modules/organs/internal/_internal.dm +++ b/code/modules/organs/internal/_internal.dm @@ -139,8 +139,12 @@ tick_surge_damage() //Yes, this is intentional. /obj/item/organ/internal/proc/handle_regeneration() - if(!damage || BP_IS_ROBOTIC(src) || !istype(owner) || owner.chem_effects[CE_TOXIN] || (toxin_type in owner.chem_effects) || owner.is_asystole()) - return - var/repair_modifier = owner.chem_effects[CE_ORGANREPAIR] || 0.1 - if(damage < repair_modifier*max_damage) - heal_damage(repair_modifier) \ No newline at end of file + SHOULD_CALL_PARENT(TRUE) + if(damage && !BP_IS_ROBOTIC(src) && istype(owner)) + if(!owner.is_asystole()) + if(!(owner.chem_effects[CE_TOXIN] || (toxin_type in owner.chem_effects))) + var/repair_modifier = owner.chem_effects[CE_ORGANREPAIR] || 0.1 + if(damage < repair_modifier*max_damage) + heal_damage(repair_modifier) + return TRUE // regeneration is allowed + return FALSE // regeneration is prevented diff --git a/code/modules/organs/internal/brain.dm b/code/modules/organs/internal/brain.dm index f00288ab3a7..1dad9e4ed41 100644 --- a/code/modules/organs/internal/brain.dm +++ b/code/modules/organs/internal/brain.dm @@ -105,7 +105,7 @@ if(!oxygen_reserve) //(hardcrit) owner.Paralyse(10) - var/can_heal = damage && damage < max_damage && (damage % damage_threshold_value || owner.chem_effects[CE_BRAIN_REGEN] || (!past_damage_threshold(3) && owner.chem_effects[CE_STABLE])) + var/can_heal = (damage && damage < max_damage && (damage % damage_threshold_value || owner.chem_effects[CE_BRAIN_REGEN] || (!past_damage_threshold(3) && owner.chem_effects[CE_STABLE]))) && (!(owner.chem_effects[CE_NEUROTOXIC]) || owner.chem_effects[CE_ANTITOXIN]) var/damprob var/brain_regen_amount = owner.chem_effects[CE_BRAIN_REGEN] / 10 //Effects of bloodloss diff --git a/code/modules/organs/internal/liver.dm b/code/modules/organs/internal/liver.dm index ea157cda7a4..a524df28c51 100644 --- a/code/modules/organs/internal/liver.dm +++ b/code/modules/organs/internal/liver.dm @@ -47,13 +47,6 @@ if(owner.intoxication > 0) owner.adjustToxLoss(0.5 * max(2 - filter_effect, 0)) - // Heal a bit if needed and we're not busy. This allows recovery from low amounts of toxloss. - if(!owner.total_radiation && damage > 0) - if(damage < min_broken_damage) - heal_damage(0.2) - if(damage < min_bruised_damage) - heal_damage(0.3) - var/filter_strength = INTOX_FILTER_HEALTHY if(is_bruised()) filter_strength = INTOX_FILTER_BRUISED @@ -76,6 +69,13 @@ if(is_damaged()) owner.adjustToxLoss(owner.chem_effects[toxin_type] * 0.1 * PROCESS_ACCURACY) // as actual organ damage is handled elsewhere -//We got it covered in Process with more detailed thing /obj/item/organ/internal/liver/handle_regeneration() - return \ No newline at end of file + if(..()) + testing("Liver regenerating!") + if(!owner.total_radiation && damage > 0) + if(damage < min_broken_damage) + heal_damage(0.2) + if(damage < min_bruised_damage) + heal_damage(0.3) + return TRUE + return FALSE diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm index 18270c2216a..3b8e3107b0b 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm @@ -49,7 +49,30 @@ fallback_specific_heat = 1.048 /decl/reagent/ammonia/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) - M.adjustToxLoss(removed * 1.5) + if(alien == IS_DIONA) + M.adjustNutritionLoss(-removed*3) + else + if(prob(15)) + M.add_chemical_effect(CE_NEPHROTOXIC, 1) + +/decl/reagent/ammonia/affect_breathe(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(alien == IS_DIONA) + M.adjustNutritionLoss(-removed*3) + else if(REAGENT_VOLUME(holder, type) > 15) + M.adjustOxyLoss(2 * removed) + if(M.losebreath < 15) + M.losebreath++ + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat burns!", "Your insides are on fire!", "Your feel a burning pain in your chest!"))) + else + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat stings a bit.", "You can taste something really digusting.", "Your chest doesn't feel so great."))) + +/decl/reagent/ammonia/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(!(alien == IS_DIONA)) + M.adjustFireLoss(20) + to_chat(M, SPAN_WARNING(pick("Your skin burns!", "The chemical is melting your skin!", "Wash it off, wash it off!"))) + remove_self(REAGENT_VOLUME(holder, type), holder) /decl/reagent/carbon name = "Carbon" @@ -286,7 +309,7 @@ /decl/reagent/lithium name = "Lithium" - description = "A chemical element, used as antidepressant." + description = "A chemical element, used as an antidepressant." reagent_state = SOLID color = "#808080" taste_description = "metal" @@ -315,7 +338,7 @@ fallback_specific_heat = 0.631 /decl/reagent/mercury/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) - M.add_chemical_effect(CE_NEUROTOXIC, 2*removed) + M.add_chemical_effect(CE_NEUROTOXIC, 1*removed) var/dose = M.chem_doses[type] if(dose > 1) if(prob(dose/2)) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm index 4e601a0e993..140db20322b 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm @@ -1,6 +1,6 @@ /decl/reagent/space_drugs - name = "Space Drugs" - description = "Mercury Monolithium Sucrose, or space drugs, is a potent relaxant commonly found in Ambrosia plants. Lasts twice as long when inhaled." + name = "Mercury Monolithium Sucrose" + description = "Mercury Monolithium Sucrose, or MMS, is a synthetic relaxant. It's both abused and used as a chemical precursor. Lasts twice as long when inhaled." reagent_state = LIQUID color = "#60A584" metabolism = REM * 0.5 @@ -9,6 +9,9 @@ taste_mult = 0.4 breathe_met = REM * 0.5 * 0.5 +/decl/reagent/space_drugs/initial_effect(var/mob/living/carbon/human/M, var/alien, var/holder) + to_chat(M, SPAN_GOOD(pick("You close your eyes, and when they open, everything appears so much more vibrant.", "You feel a wave of pleasure suddenly rush over you.", "This is already the best decision you've ever made."))) + /decl/reagent/space_drugs/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) var/mob/living/carbon/human/H = M if(istype(H) && (H.species.flags & NO_BLOOD)) @@ -20,15 +23,15 @@ M.druggy = max(M.druggy, power) M.add_chemical_effect(CE_PAINKILLER, 5 + round(power,5)) - if(power > 5) + if(power < 10) M.drowsiness = min(20,max(M.drowsiness,power - 5)) + if(prob(5)) + to_chat(M, SPAN_GOOD(pick("Your anxieties fade away.","Just be yourself - stop caring about what others think.","Everything will be alright...","The world feels so much more vibrant!","You feel relaxed."))) if(power > 10) - var/nutrition_percent = M.nutrition/M.max_nutrition - M.adjustNutritionLoss(power*removed*nutrition_percent) - var/hunger_strength = 1 - nutrition_percent - if(prob( round(hunger_strength*removed) )) - to_chat(M, SPAN_NOTICE(pick("You could really go for some munchies.","You feel the need to eat more.","You crave chips for some reason.","You kind of really want pizza."))) + M.drowsiness = min(20,max(M.drowsiness,power - 5)) + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("It's difficult to focus.","You feel... really... lethargic.","It's difficult to pay attention to what you're meant to be doing.", "Am I forgetting something?", "What was I doing again?"))) if(power > 20) var/probmod = 5 + (power-20) @@ -89,8 +92,7 @@ /decl/reagent/impedrezene/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.jitteriness = max(M.jitteriness - 5, 0) M.confused = max(M.confused, 10) - if(prob(80)) - M.add_chemical_effect(CE_NEUROTOXIC, 3*removed) + M.add_chemical_effect(CE_NEUROTOXIC, 2*removed) if(prob(50)) M.drowsiness = max(M.drowsiness, 3) if(prob(10) && ishuman(M)) @@ -108,8 +110,13 @@ /decl/reagent/mindbreaker/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.hallucination = max(M.hallucination, 100) M.add_chemical_effect(CE_HALLUCINATE, 2) - if(prob(10)) - M.add_chemical_effect(CE_NEUROTOXIC, 5*removed) + M.add_chemical_effect(CE_NEUROTOXIC, 2*removed) + +/decl/reagent/mindbreaker/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + M.add_chemical_effect(CE_NEUROTOXIC, 4*removed) + if(prob(5)) + to_chat(M, SPAN_DANGER(pick("You feel the strongest of pains deeply rooted beneath your skull.", "Your head feels like it's going to burst!", "Your head stings!"))) + M.adjustHalLoss(20) /decl/reagent/psilocybin name = "Psilocybin" @@ -120,6 +127,9 @@ taste_description = "mushroom" fallback_specific_heat = 1.2 +/decl/reagent/psilocybin/initial_effect(var/mob/living/carbon/human/M, var/alien, var/holder) + to_chat(M, SPAN_GOOD(pick("You lean back and begin to fall... and fall... and fall.", "Your eyes open wide and you look upon this new world you now see.", "You close your eyes, and when they open, everything appears so much more vibrant.", "You feel a wave of pleasure suddenly rush over you.", "This is already the best decision you've ever made."))) + /decl/reagent/psilocybin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) var/mob/living/carbon/human/H = M if(istype(H) && (H.species.flags & NO_BLOOD)) @@ -130,47 +140,78 @@ if(dose < 1) M.apply_effect(3, STUTTER) M.make_dizzy(5) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("You feel giddy.", "You can't put your finger on it, but whatever it is, it's really funny.", "You feel full of energy.", "Your anxieties no longer cloud your mind."))) else if(dose < 2) M.apply_effect(3, STUTTER) M.make_jittery(5) M.dizziness = max(150, M.dizziness) M.make_dizzy(5) M.druggy = max(M.druggy, 35) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("Everything is so vibrant...", "Look at all those colours...", "Shapes dance across your vision.", "You feel like you're looking through a kaleidoscope.", "That's so funny!"))) else M.apply_effect(3, STUTTER) M.make_jittery(10) M.dizziness = max(150, M.dizziness) M.make_dizzy(10) M.druggy = max(M.druggy, 40) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("Everything is so vibrant...", "Look at all those colours...", "Shapes dance across your vision.", "You feel like you're looking through a kaleidoscope.", "That's so funny!"))) if(ishuman(M) && prob(min(15, dose*5))) M.emote(pick("twitch", "giggle")) +/decl/reagent/psilocybin/overdose(var/mob/living/carbon/M, var/datum/reagents/holder) + M.add_chemical_effect(CE_EMETIC, M.chem_doses[type]) + if(prob(3)) + to_chat(M, SPAN_WARNING(pick("You feel... disconnected from your body - is it your body?", "You are dying... but that's okay, right?", "You are at peace with the universe.", "The stars are beckoning you to them."))) + if(prob(5)) + M.custom_pain("You feel a sharp pain in your stomach!", 10) + /decl/reagent/raskara_dust name = "Raskara Dust" description = "A powdery narcotic found in the gang-ridden slums of Biesel and Sol. Known for it's relaxing poperties that cause trance-like states when inhaled. Casual users tend to snort or inhale, while hardcore users inject." reagent_state = SOLID color = "#AABBAA" - overdose = REAGENTS_OVERDOSE + overdose = 10 taste_description = "baking soda" metabolism = REM * 0.1 breathe_met = REM * 0.2 ingest_met = REM * 0.3 +/decl/reagent/raskara_dust/initial_effect(var/mob/living/carbon/human/M, var/alien, var/holder) + to_chat(M, SPAN_GOOD(pick("You gradually begin to slow down, and so does everything around you.", "You lean back and begin to fall... and fall... and fall.", "This is already the best decision you've ever made."))) + /decl/reagent/raskara_dust/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.add_chemical_effect(CE_PAINKILLER, 10) M.drowsiness += 1 * removed + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("You feel so relaxed...", "Nothing's really bothering you right now...", "You should lay down and just... take it easy.", "You deserve a break from all your hard work today."))) /decl/reagent/raskara_dust/affect_breathe(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.add_chemical_effect(CE_PAINKILLER, 10) M.drowsiness += 2 * removed if(prob(5) && ishuman(M)) M.emote("cough") + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("You feel so relaxed...", "Nothing's really bothering you right now...", "You should lay down and just... take it easy.", "You deserve a break from all your hard work today."))) /decl/reagent/raskara_dust/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.add_chemical_effect(CE_PAINKILLER, 30) M.drowsiness += 3 * removed if(prob(5)) M.emote("twitch") + if(prob(5)) + to_chat(M, SPAN_GOOD(pick("You feel so relaxed...", "Nothing's really bothering you right now...", "You should lay down and just... take it easy.", "You deserve a break from all your hard work today."))) + +/decl/reagent/raskara_dust/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(prob(3)) + to_chat(M, SPAN_WARNING(pick("You feel... disconnected from your body - is it your body?", "Are you ascending to another plane of existence... that's so cool?", "You are dying... but that's okay, right?", "You feel a tingly sensation in your body.", "You can smell something unusual.", "You can taste something unusual."))) + if(prob(M.chem_doses[type] / 3)) + if(prob(85)) + M.emote(pick("twitch", "shiver")) + else + M.seizure() /decl/reagent/night_juice name = "Nightlife" @@ -178,6 +219,7 @@ reagent_state = LIQUID color = "#FFFF44" taste_description = "salted sugar" + overdose = 10 metabolism = REM * 0.2 breathe_met = REM * 0.1 breathe_mul = 0.5 @@ -187,6 +229,9 @@ . = ..() LAZYSET(., "special", 0) +/decl/reagent/night_juice/initial_effect(var/mob/living/carbon/human/M, var/alien, var/holder) + to_chat(M, SPAN_GOOD(pick("You feel a wave of pleasure smash into you and liven you up!", "You're startled by the sheer strength and speed of this drug!", "You already feel so damn good!", "This is the best decision you've ever made!"))) + /decl/reagent/night_juice/affect_blood(var/mob/living/carbon/human/M, var/alien, var/removed, var/datum/reagents/holder) if(!istype(M)) return @@ -199,16 +244,26 @@ M.add_chemical_effect(CE_SPEEDBOOST, 1) M.apply_effect(1 + holder.reagent_data[type]["special"]*0.25, STUTTER) M.druggy = max(M.druggy, holder.reagent_data[type]["special"]*0.25) - M.hallucination = max(M.hallucination, holder.reagent_data[type]["special"]*5 - 100) M.make_jittery(holder.reagent_data[type]["special"]) if(prob(holder.reagent_data[type]["special"])) M.emote("twitch") + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("You begin to notice a rhythm to all the sounds around you.", "You feel euphoric!", "Your sense of hearing seems heightened.", "You can't sit still, you gotta move!", "You could start a party right now!", "Live in the moment!", "All your anxieties seem to fade away."))) var/obj/item/organ/H = M.internal_organs_by_name[BP_HEART] H.take_damage(holder.reagent_data[type]["special"] * removed * 0.025) +/decl/reagent/night_juice/overdose(var/mob/living/carbon/human/M, var/alien, var/removed, var/datum/reagents/holder) + M.bodytemperature = max(M.bodytemperature + 1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0) + if(prob(2)) + M.emote("shiver") + if(prob(2)) + to_chat(M, SPAN_WARNING(pick("You feel so hot...", "Why is it so hot!?"))) + if(prob(25)) + M.add_chemical_effect(CE_NEPHROTOXIC, 1) + /decl/reagent/guwan_painkillers name = "Tremble" - description = "An ancient tribal Unathi narcotic based on the outer gel layer of the seeds of a poisonous flower. The chemical itself acts as a very potent omni-healer when consumed, however as the chemical metabolizes, it causes immense and cripling pain." + description = "An ancient tribal Unathi narcotic based on the outer gel layer of the seeds of a poisonous flower. The chemical itself acts as a very potent omni-healer when consumed, however as the chemical metabolizes, it causes immense and crippling pain." reagent_state = LIQUID color = "#FFFF44" taste_description = "sunflower seeds" @@ -247,6 +302,8 @@ ..() if(prob(15)) M.emote(pick("twitch", "blink_r", "shiver")) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("You feel pumped!", "Energy, energy, energy - so much energy!", "You could run a marathon!", "You can't sit still!", "It's difficult to focus right now... but that's not important!"))) if(prob(5)) // average of 6 brute every 20 seconds. M.visible_message("[M] shudders violently.", "You shudder uncontrollably, it hurts.") M.take_organ_damage(6 * removed, 0) @@ -305,6 +362,13 @@ H.drop_r_hand() if(robo) H.add_chemical_effect(CE_PAINKILLER, 30) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("You feel a pleasant tingling sensation in your cybernetics.", "You feel a jolt of pain in your cybernetic limb, but it feels oddly nice.", "The sensations in your cybernetics feel heightened.", "Your cybernetics feel magnitudes better than your organic body parts."))) + else + H.add_chemical_effect(CE_PAINKILLER, 10) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("You feel a little bit more comfortable.", "You feel alright.", "Your joints feel warm and tingly.", "You feel soothed and at ease."))) + var/obj/item/organ/internal/eyes/eyes = H.internal_organs_by_name[H.species.vision_organ || BP_EYES] if(eyes.status & ORGAN_ROBOT) M.hallucination = max(M.hallucination, 40) @@ -317,10 +381,149 @@ fallback_specific_heat = 1 overdose = 10 +/decl/reagent/wulumunusha/initial_effect(var/mob/living/carbon/human/M, var/alien, var/holder) + to_chat(M, SPAN_GOOD(pick("Your eyes open wide and you look upon this new world you now see.", "You close your eyes, and when they open, everything appears so much more vibrant."))) + /decl/reagent/wulumunusha/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.druggy = max(M.druggy, 100) M.silent = max(M.silent, 5) + if(prob(3) && !isskrell(M)) + to_chat(M, SPAN_GOOD(pick("You can almost see the currents of air as they dance around you.", "You see the colours around you beginning to bleed together.", "You feel safe and comfortable."))) + if(prob(3) && isskrell(M)) + to_chat(M, SPAN_ALIEN(pick("You can see the thoughts of those around you dancing in the air.", "You feel as if your mind has opened even further, your thought-field expanding.", "It's difficult to contain your thoughts - but why hide them anyway?", "You feel safe and comfortable."))) /decl/reagent/wulumunusha/overdose(var/mob/living/carbon/M, var/alien, var/removed = 0, var/scale = 1, var/datum/reagents/holder) if(isskrell(M)) M.hallucination = max(M.hallucination, 10 * scale) //light hallucinations that afflict skrell + +/decl/reagent/ambrosia_extract + name = "Ambrosia Extract" + description = "Ambrosia Extract is a fairly strong relaxant commonly found in Ambrosia plants. It's one of the most widely available drugs in human space." + reagent_state = LIQUID + color = "#60A584" + metabolism = REM / 3.33 + overdose = 30 + taste_description = "spicy earth" + taste_mult = 0.4 + +/decl/reagent/ambrosia_extract/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + var/mob/living/carbon/human/H = M + if(istype(H) && (H.species.flags & NO_BLOOD)) + return + M.add_chemical_effect(CE_PULSE, -1) + + var/power = (M.chem_doses[type] + REAGENT_VOLUME(holder, type))/2 //Larger the dose and volume, the more affected you are by the chemical. + + M.add_chemical_effect(CE_PAINKILLER, 5 + round(power,5)) + + if(power < 15) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("Your anxieties fade away.","Just be yourself - stop caring about what others think.","Everything will be alright...","The world feels so much more vibrant!","You feel relaxed."))) + + if(power > 15) + M.drowsiness = min(20,max(M.drowsiness,power - 5)) + var/nutrition_percent = M.nutrition/M.max_nutrition + M.adjustNutritionLoss(power*removed*nutrition_percent) + var/hunger_strength = 1 - nutrition_percent + if(prob( round(hunger_strength*removed) )) + to_chat(M, SPAN_NOTICE(pick("You could really go for some munchies.","You feel the need to eat more.","You crave chips for some reason.","You kind of really want pizza.","Some cosmic brownies would be nice."))) + if(prob(3)) + to_chat(M, SPAN_WARNING(pick("It's a little bit difficult to focus.","You feel a bit lethargic."," It's kinda hard to pay attention to what you're doing.", "Am I forgetting something?", "What was I doing again?"))) + +/decl/reagent/ambrosia_extract/overdose(var/mob/living/carbon/M, var/alien, var/removed = 0, var/scale = 1, var/datum/reagents/holder) + . = ..() + M.hallucination = max(M.hallucination, 30 * scale) + +/decl/reagent/joy + name = "Joy" + description = "An expensive and illegal drug often abused by those who find no other means to numb their physical and mental pains. A Joy addict is a truly sad sight." + reagent_state = LIQUID + color = "#FFFFFF" + metabolism = REM*0.1 + overdose = 5 + od_minimum_dose = 2 + taste_description = "tranquility" + +/decl/reagent/joy/initial_effect(var/mob/living/carbon/human/M, var/alien, var/holder) + to_chat(M, SPAN_GOOD(pick("You feel a numbing sensation spread from within you.", "A numbing sensation builds within you.", "Everything will be okay... just relax."))) + +/decl/reagent/joy/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + M.add_chemical_effect(CE_PAINKILLER, 100) + M.add_chemical_effect(CE_NEUROTOXIC, 4*removed) + M.add_chemical_effect(CE_PACIFIED, 1) + M.eye_blurry = max(M.eye_blurry, 30) + M.drowsiness = max(M.drowsiness, 10) + M.make_dizzy(15) + if(M.chem_doses[type] < 1) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("Stress was an inconvenience that you are now free of.", "You feel somewhat dettached from reality.", "You can feel time passing by and it no longer bothers you.", "You feel so incredibly relaxed.", "You haven't felt this care-free since you were a child...", "Why can't it always be like this?", "You're watching yourself from afar - detached from your physical body."))) + if(M.chem_doses[type] >= 1) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("Stress was an inconvenience that you are now free of.", "You lose all sense of connection to the real world.", "Everything is so tranquil.", "You feel totaly detached from reality.", "Your feel disconnected from your body.", "You are aware of nothing but your conscious thoughts.", "You keep falling... and falling... and falling - never stopping.", "Is this what it feels like to be dead?", "Your memories are hazy... all you have ever known is this feeling.", "You're watching yourself from afar - detached from your physical body."))) + +/decl/reagent/joy/overdose(var/mob/living/carbon/M, var/alien, var/removed = 0, var/datum/reagents/holder) + M.ear_deaf = 20 + M.add_chemical_effect(CE_EMETIC, M.chem_doses[type]) + M.adjustOxyLoss(2 * removed) + if(M.losebreath < 15) + M.losebreath++ + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("You're dying... but you don't care.", "The numbing sensation continues to build and build.", "One more hit... and maybe even death will cease to exist."))) + +/decl/reagent/joy/final_effect(var/mob/living/carbon/human/M, var/alien, var/holder) + to_chat(M, SPAN_GOOD("You feel grounded in the real world again... for better or worse.")) + +/decl/reagent/xuxigas + name = "Xu'Xi Gas" + description = "A recreational drug hailing from Qerr'Malic that must be inhaled. It produces a mild high similar to Wulumunusha and is known to make users susceptible to persuasion. Most forms of Xu'Xi Gas found outside of the Jargon Federation are cheap, synthetic substitutes. Only works when inhaled." + color = "#58D373" + taste_description = "algae" + reagent_state = GAS + overdose = REAGENTS_OVERDOSE + breathe_met = REM*0.2 + +/decl/reagent/xuxigas/affect_breathe(var/mob/living/carbon/human/M, var/alien, var/removed, var/datum/reagents/holder) + M.druggy = max(M.druggy, M.chem_doses[type]/2) + M.add_chemical_effect(CE_PULSE, -1) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("You feel soothed and at ease.", "You feel like sharing the wonderful memories and feelings you're experiencing.", "You feel like you're floating off the ground.", "You don't want this feeling to end.", "You wish to please all those around you.", "You feel particularly susceptible to persuasion.", "Everyone is so trustworthy nowadays."))) + if(prob(2) && !isskrell(M)) + to_chat(M, SPAN_GOOD(pick("You can almost see the currents of air as they dance around you.", "You see the colours around you beginning to bleed together.", "You feel safe and comfortable."))) + if(prob(2) && isskrell(M)) + to_chat(M, SPAN_ALIEN(pick("You can see the thoughts of those around you dancing in the air.", "You feel as if your mind has opened even further, your thought-field expanding.", "It's difficult to contain your thoughts - but why hide them anyway?"))) + +/decl/reagent/xuxigas/overdose(var/mob/living/carbon/human/M, var/alien, var/removed, var/datum/reagents/holder) + if(prob(3)) + to_chat(M, SPAN_WARNING(pick("You feel particularly vulnerable to being swayed by those around you...", "You have an urge to please those around you.", "This high cannot end... where can you get more?", "You don't want this feeling to end."))) + +/decl/reagent/skrell_nootropic + name = "Co'qnixq Wuxi" + description = "Co'qnixq Wuxi, or Co'qnixq Nootropic, has existed since before Glorsh, and was developed as a cognitive enhancer for Skrell with on-set dementia. When taken, one's consciousness is heightened greatly alongside receiving mild energy boost. Frequently used as a 'smart drug' by students and scientists." + color = "#E3B0E5" + taste_description = "concentration" + reagent_state = LIQUID + overdose = 10 + od_minimum_dose = 2 + metabolism = REM*0.05 + var/psi_boosted = FALSE + var/initial_stamina + +/decl/reagent/skrell_nootropic/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(M.psi && !psi_boosted) + initial_stamina = M.psi.max_stamina + M.psi.max_stamina = M.psi.max_stamina*1.25 + psi_boosted = TRUE + if(prob(2)) + to_chat(M, SPAN_GOOD(pick("You have a renewed sense of focus.", "You feel more determined to get things done.", "You feel more confident in your own abilities.", "Your head-space feels tidy and organised - now's the time to get to work.", "You could climb a mountain right now!"))) + +/decl/reagent/skrell_nootropic/final_effect(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(M.psi && psi_boosted) + M.psi.max_stamina = initial_stamina + psi_boosted = FALSE + +/decl/reagent/skrell_nootropic/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + M.add_chemical_effect(CE_SPEEDBOOST, 0.5) + if(prob(25)) + M.add_chemical_effect(CE_NEPHROTOXIC, 0.5) + if(prob(2)) + to_chat(M, SPAN_WARNING(pick("You can't allow anyone to get between you and your tasks.", "You feel like screaming at the next person who interrupts you.", "No one can stop you!", "You can power through this..."))) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index f0efe9a9dae..db3afb5168c 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -587,7 +587,7 @@ description = "A salt made of sodium chloride. Commonly used to season food." reagent_state = SOLID color = "#FFFFFF" - overdose = REAGENTS_OVERDOSE + overdose = 30 taste_description = "salt" condiment_name = "salt shaker" condiment_desc = "Salt. From space oceans, presumably." @@ -599,9 +599,17 @@ M.adjustHydrationLoss(2*removed) /decl/reagent/sodiumchloride/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + overdose(M, alien, holder) + +/decl/reagent/sodiumchloride/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.intoxication -= min(M.intoxication,removed*20) M.adjustHydrationLoss(20*removed) M.adjustToxLoss(removed*2) + M.confused = max(M.confused, 20) + if(prob(2)) + M.emote("twitch") + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("You're beginning to lose your appetite.","Your mouth is so incredibly dry.","You feel really confused.","What was I just thinking of?","Where am I?","Your muscles are tingling."))) /decl/reagent/blackpepper name = "Black Pepper" @@ -4649,105 +4657,82 @@ glass_name = "cup of xuizi pulque" glass_desc = "A variation of Mictlanian pulque that is safe to consume for Unathi." -//ZZZZOOOODDDDAAAAA - +// Zo'ra Sodas /decl/reagent/drink/zorasoda - name = "Zo'ra Soda Cherry" - description = "Zo'ra Soda, cherry edition. All good drinks come in cherry." - color = "#102000" + name = "Zo'ra Soda" + description = "Zo'ra Soda. You aren't supposed to see this." + color = "#000000" + adj_dizzy = -5 + adj_drowsy = -3 adj_sleepy = -2 + overdose = 45 caffeine = 0.4 - taste_description = "electric cherry" + taste_description = "zo'ra soda" carbonated = TRUE +/decl/reagent/drink/zorasoda/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(alien != IS_DIONA) + if(prob(2)) + to_chat(M, SPAN_GOOD(pick("You feel great!", "You feel full of energy!", "You feel alert and focused!"))) + +/decl/reagent/drink/zorasoda/overdose(var/mob/living/carbon/M, var/alien, var/datum/reagents/holder) + if(!(alien in list(IS_DIONA, IS_VAURCA))) + M.make_jittery(5) + +/decl/reagent/drink/zorasoda/cherry + name = "Zo'ra Cherry" + description = "Zo'ra Soda, cherry edition. All good energy drinks come in cherry." + color = "#102000" + taste_description = "bitter cherry" + /decl/reagent/drink/zorasoda/phoron - name = "Zo'ra Soda Phoron Passion" - description = "Reported to taste nothing like phoron, but everything like grapes." + name = "Zo'ra Phoron Passion" + description = "Tastes nothing like phoron, but everything like grapes." color = "#863333" - adj_sleepy = -2 - caffeine = 0.4 - taste_description = "electric grape" - carbonated = TRUE - -/decl/reagent/drink/zorasoda/kois - name = "Zo'ra Soda K'ois Twist" - description = "Whoever approved this in marketing needs to be drawn and quartered." - color = "#dcd9cd" - adj_sleepy = -2 - caffeine = 0.4 - taste_description = "sugary cabbage" - carbonated = TRUE - -/decl/reagent/drink/zorasoda/kois/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) - ..() - if(alien != IS_DIONA) - M.make_jittery(5) - -/decl/reagent/drink/zorasoda/hozm - name = "Zo'ra Soda High Octane Zorane Might" - description = "It feels like someone is just driving a freezing cold spear through the bottom of your mouth." - color = "#365000" - adj_sleepy = -3 - caffeine = 0.6 - taste_description = "a full-body bite into an acidic lemon" - carbonated = TRUE - -/decl/reagent/drink/zorasoda/hozm/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) - ..() - if(alien != IS_DIONA) - M.make_jittery(20) - M.dizziness += 5 - M.drowsiness = 0 - -/decl/reagent/drink/zorasoda/venomgrass - name = "Zo'ra Soda Sour Venom Grass" - description = "The 'diet' version of High Energy Zorane Might, still tastes like a cloud of stinging polytrinic bees." - color = "#100800" - adj_sleepy = -3 - caffeine = 0.4 - taste_description = "fizzy nettles" - carbonated = TRUE - -/decl/reagent/drink/zorasoda/venomgrass/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) - ..() - if(alien != IS_DIONA) - M.make_jittery(5) + taste_description = "fruity grape" /decl/reagent/drink/zorasoda/klax - name = "Klaxan Energy Crush" - description = "An orange, cream soda. It's a wonder it got here." + name = "K'laxan Energy Crush" + description = "An orange zest cream soda with a delicious smooth taste." color = "#E78108" - adj_sleepy = -3 - caffeine = 0.4 - unaffected_species = IS_MACHINE - taste_description = "orange cream" - carbonated = TRUE - -/decl/reagent/drink/zorasoda/klax/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) - ..() - if(alien != IS_DIONA) - M.make_jittery(5) + taste_description = "fizzy and creamy orange zest" /decl/reagent/drink/zorasoda/cthur name = "C'thur Rockin' Raspberry" description = "A raspberry concoction you're pretty sure is already on recall." color = "#0000CD" - adj_sleepy = -3 - caffeine = 0.4 - taste_description = "flat raspberry" - carbonated = TRUE + taste_description = "sweet flowery raspberry" -/decl/reagent/drink/zorasoda/cthur/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/decl/reagent/drink/zorasoda/venomgrass + name = "Zo'ra Sour Venom Grass" + description = "The milder version of High Energy Zorane Might. Still tastes like a cloud of angry stinging acidic bees, though." + color = "#100800" + taste_description = "fizzy acidic nettles" + +/decl/reagent/drink/zorasoda/hozm // "Contraband" + name = "Zo'ra High Octane Zorane Might" + description = "It feels like someone is driving a freezing cold spear through the bottom of your mouth." + color = "#365000" + overdose = 20 + caffeine = 0.6 + taste_description = "biting into an acidic lemon mixed with strong mint" + +/decl/reagent/drink/zorasoda/hozm/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) ..() - if(alien != IS_DIONA) - M.make_jittery(15) + if(!(alien in list(IS_DIONA, IS_VAURCA))) + M.make_jittery(10) + +/decl/reagent/drink/zorasoda/kois + name = "Zo'ra K'ois Twist" + description = "Tastes exactly like how a kitchen smells after boiling brussel sprouts." + color = "#DCD9CD" + taste_description = "sugary cabbage" /decl/reagent/drink/zorasoda/drone - name = "Drone Fuel" - description = "It's thick as syrup and smells of gas. Why." + name = "Vaurca Drone Fuel" + description = "It's as thick as syrup and smells of gasoline. Why." color = "#31004A" - adj_sleepy = -3 - taste_description = "viscous cola" + taste_description = "viscous stale cola mixed with gasoline" carbonated = TRUE /decl/reagent/drink/zorasoda/drone/affect_ingest(var/mob/living/carbon/human/M, var/alien, var/removed, var/datum/reagents/holder) @@ -4760,27 +4745,21 @@ M.add_chemical_effect(CE_BLOODRESTORE, 2 * removed) M.make_jittery(5) else if(alien != IS_DIONA) - if (prob(10+M.chem_doses[type])) - to_chat(M, pick("You feel nauseous!", "Ugh...", "Your stomach churns uncomfortably!", "You feel like you're about to throw up!", "You feel queasy!","You feel pressure in your abdomen!")) - if (prob(M.chem_doses[type])) + to_chat(M, pick(SPAN_WARNING("You feel nauseous!"), SPAN_WARNING("Ugh... You're going to be sick!"), SPAN_WARNING("Your stomach churns uncomfortably!"), SPAN_WARNING("You feel like you're about to throw up!"), SPAN_WARNING("You feel queasy!"))) M.vomit() /decl/reagent/drink/zorasoda/jelly - name = "Royal Jelly" - description = "It looks of mucus, but tastes like Heaven." + name = "Royal Vaurca Jelly" + description = "It looks like mucus, but tastes like heaven. Royal jelly is a nutritious concentrated substance commonly created by Caretaker Vaurca in order to feed larvae. It is known to have a stimulating effect in most, if not all, species." color = "#FFFF00" - adj_sleepy = -3 caffeine = 0.3 - taste_description = "a reassuring spectrum of color" - carbonated = TRUE + taste_description = "sweet flowers and nectar mixed with aromatic spices" /decl/reagent/drink/zorasoda/jelly/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) ..() if(alien != IS_DIONA) M.druggy = max(M.druggy, 30) - M.dizziness += 5 - M.drowsiness = 0 /decl/reagent/drink/hrozamal_soda name = "Hro'zamal Soda" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm index 72add7f686f..576b742e761 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm @@ -176,7 +176,7 @@ //Hyperoxia causes brain and eye damage /decl/reagent/dexalin/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) - M.add_chemical_effect(CE_NEUROTOXIC, removed * (strength / 6)) + M.add_chemical_effect(CE_NEUROTOXIC, removed*0.5) if(ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/internal/eyes/E = H.get_eyes(no_synthetic = TRUE) @@ -294,7 +294,13 @@ metabolism_min = 0.005 breathe_mul = 0 +/decl/reagent/mortaphenyl/initial_effect(var/mob/living/carbon/human/M, var/alien, var/holder) + to_chat(M, SPAN_GOOD(pick("You lean back and begin to fall... and fall... and fall.", "A feeling of ecstasy builds within you.", "You're startled by just how amazing you suddenly feel."))) + /decl/reagent/mortaphenyl/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("You feel soothed and at ease.", "You feel content and at peace.", "You feel a pleasant emptiness.", "You feel like sharing the wonderful memories and feelings you're experiencing.", "All your anxieties fade away.", "You feel like you're floating off the ground.", "You don't want this feeling to end."))) + if(check_min_dose(M)) M.add_chemical_effect(CE_PAINKILLER, 50) if(!M.chem_effects[CE_CLEARSIGHT]) @@ -314,10 +320,7 @@ M.losebreath++ if(REAGENT_VOLUME(M.reagents, /decl/reagent/oxycomorphine)) //Straight to overdose. - M.hallucination = max(M.hallucination, 40) - M.add_chemical_effect(CE_EMETIC, M.chem_doses[type]/6) - if(M.losebreath < 15) - M.losebreath++ + overdose(M, alien, holder) /decl/reagent/mortaphenyl/overdose(var/mob/living/carbon/M, var/alien, var/datum/reagents/holder) ..() @@ -357,7 +360,13 @@ metabolism_min = 0.005 breathe_mul = 0 +/decl/reagent/oxycomorphine/initial_effect(var/mob/living/carbon/human/M, var/alien, var/holder) + to_chat(M, SPAN_GOOD(pick("You lean back and begin to fall... and fall... and fall.", "A feeling of ecstasy builds within you.", "You're startled by just how amazing you suddenly feel."))) + /decl/reagent/oxycomorphine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("You feel soothed and at ease.", "You feel content and at peace.", "You feel a pleasant emptiness.", "You feel like sharing the wonderful memories and feelings you're experiencing.", "All your anxieties fade away.", "You feel like you're floating off the ground.", "You don't want this feeling to end."))) + if(check_min_dose(M)) M.add_chemical_effect(CE_PAINKILLER, 200) if(!M.chem_effects[CE_CLEARSIGHT]) @@ -576,6 +585,7 @@ /decl/reagent/hyperzine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(prob(5)) M.emote(pick("twitch", "blink_r", "shiver")) + to_chat(M, SPAN_GOOD(pick("You feel pumped!", "Energy, energy, energy - so much energy!", "You could run a marathon!", "You can't sit still!", "It's difficult to focus right now... but that's not important!"))) if(check_min_dose(M, 0.5)) M.add_chemical_effect(CE_SPEEDBOOST, 1) M.add_chemical_effect(CE_PULSE, 1) @@ -584,7 +594,7 @@ M.adjustNutritionLoss(5*removed) M.add_chemical_effect(CE_PULSE, 2) if(prob(5)) - to_chat(M, SPAN_DANGER(pick("Your heart is beating rapidly!", "Your chest hurts!"))) + to_chat(M, SPAN_DANGER(pick("Your heart is beating rapidly!", "Your chest hurts!", "You've totally over-exerted yourself!"))) if(prob(M.chem_doses[type] / 3)) M.visible_message("[M] twitches violently, grimacing.", "You twitch violently and feel yourself sprain a joint.") M.take_organ_damage(5 * removed, 0) @@ -799,7 +809,7 @@ if(prob(7)) M.emote(pick("twitch", "drool", "moan", "giggle")) if(prob(7)) - M.add_chemical_effect(CE_NEUROTOXIC, 3 * removed) + M.add_chemical_effect(CE_NEUROTOXIC, 5) if(prob(50)) M.drowsiness = max(M.drowsiness, 3) @@ -854,6 +864,34 @@ for(var/obj/effect/decal/cleanable/blood/B in T) qdel(B) +/decl/reagent/sterilizine/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(REAGENT_VOLUME(holder, type) > 15) + M.add_chemical_effect(CE_EMETIC, 5) + if(M.losebreath < 15) + M.losebreath++ + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat burns!", "All you can taste is blood!", "Your insides are on fire!", "Your feel a burning pain in your gut!"))) + else + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat stings a bit.", "You can taste something chemical."))) + +/decl/reagent/sterilizine/affect_breathe(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(REAGENT_VOLUME(holder, type) > 15) + M.add_chemical_effect(CE_EMETIC, 5) + if(M.losebreath < 15) + M.losebreath++ + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat burns!", "All you can taste is blood!", "Your insides are on fire!", "Your feel a burning pain in your gut!"))) + else + if(prob(5)) + to_chat(M, SPAN_NOTICE(pick("You get a strong whiff of sterilizine fumes - careful."))) + +/decl/reagent/sterilizine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(REAGENT_VOLUME(holder, type) > 15) + M.add_chemical_effect(CE_EMETIC, 5) + if(prob(25)) + M.add_chemical_effect(CE_NEPHROTOXIC, 1) + /decl/reagent/leporazine name = "Leporazine" description = "Leporazine is a complex medication which improves thermal homeostasis, stabilising and regulating the body's core temperature. Leporazine often results in hyperventilation which should be monitored." @@ -1048,15 +1086,8 @@ /decl/reagent/mental/neurapan/overdose(var/mob/living/carbon/M, var/alien, var/datum/reagents/holder) M.add_chemical_effect(CE_PACIFIED, 1) M.eye_blurry = max(M.eye_blurry, 30) - if(REAGENT_VOLUME(M.reagents, /decl/reagent/oxycomorphine)) - M.ear_deaf = 20 - M.drowsiness = max(M.drowsiness, 10) - M.make_dizzy(15) - if(prob(3)) - to_chat(M, SPAN_GOOD(pick("You lose all sense of connection to the real world.", "Everything is so tranquil.", "You feel dettached from reality.", "Your feel disconnected from your body.", "You are aware of nothing but your conscious thoughts."))) - else - if(prob(3)) - to_chat(M, SPAN_GOOD(pick("Stress was an inconvenience that you are now free of.", "You feel somewhat dettached from reality.", "You can feel time passing by and it no longer bothers you."))) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick("Stress was an inconvenience that you are now free of.", "You feel somewhat dettached from reality.", "You can feel time passing by and it no longer bothers you."))) /decl/reagent/mental/nerospectan name = "Nerospectan" @@ -1092,33 +1123,6 @@ /decl/reagent/mental/truthserum/overdose(var/mob/living/carbon/M, var/alien, var/datum/reagents/holder) M.add_chemical_effect(CE_PACIFIED, 1) -/decl/reagent/mental/vaam - name = "V'krexi Amino Acid Mixture" - description = "A mixture of several high-energy amino acids, based on the secretions and saliva of V'krexi larvae." - reagent_state = LIQUID - color = "#bcd827" - metabolism = 0.4 * REM - taste_description = "bitterness" - metabolism_min = 0.5 - breathe_mul = 0 - goodmessage = list("You feel great!","You feel full of energy!","You feel alert and focused.") - -/decl/reagent/mental/vaam/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) - . = ..() - M.add_chemical_effect(CE_PAINKILLER, 5) - M.drowsiness = 0 - -/decl/reagent/mental/vaam/overdose(var/mob/living/carbon/human/M, var/alien, var/removed, var/scale, var/datum/reagents/holder) - . = ..() - M.adjustOxyLoss(1 * removed * scale) - M.Weaken(10 * removed * scale) - M.make_jittery(20) - M.make_dizzy(10) - - if (prob(10)) - to_chat(M, pick("You feel nauseous", "Ugghh....", "Your stomach churns uncomfortably", "You feel like you're about to throw up", "You feel queasy","You feel pressure in your abdomen")) - - /decl/reagent/mental/kokoreed name = "Koko Reed Juice" description = "Juice from the Koko reed plant. Causes unique mental effects in Unathi." @@ -1400,6 +1404,8 @@ M.make_jittery(5) if(prob(2)) M.emote("twitch") + if(prob(2)) + to_chat(M, SPAN_WARNING(pick("You're beginning to lose your appetite.","Your mouth is so incredibly dry.","You feel really confused.","What was I just thinking of?","Where am I?","Your muscles are tingling."))) /decl/reagent/adrenaline name = "Adrenaline" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm index a50abf6432d..9923c4ff65d 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm @@ -299,7 +299,6 @@ return M.clean_blood() - if(istype(M,/mob/living/carbon/slime)) var/mob/living/carbon/slime/S = M S.adjustToxLoss( REAGENT_VOLUME(holder, type) * (removed/REM) * 0.5 ) @@ -309,6 +308,34 @@ ++S.discipline if(M.chem_doses[type] == removed) S.visible_message(SPAN_WARNING("[S]'s flesh sizzles where the space cleaner touches it!"), SPAN_DANGER("Your flesh burns in the space cleaner!")) + +/decl/reagent/spacecleaner/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(REAGENT_VOLUME(holder, type) > 15) + M.add_chemical_effect(CE_EMETIC, 5) + if(M.losebreath < 15) + M.losebreath++ + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat burns!", "All you can taste is blood!", "Your insides are on fire!", "Your feel a burning pain in your gut!"))) + else + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat stings a bit.", "You can taste something sour."))) + +/decl/reagent/spacecleaner/affect_breathe(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(REAGENT_VOLUME(holder, type) > 15) + M.add_chemical_effect(CE_EMETIC, 5) + if(M.losebreath < 15) + M.losebreath++ + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat burns!", "All you can taste is blood!", "Your insides are on fire!", "Your feel a burning pain in your gut!"))) + else + if(prob(5)) + to_chat(M, SPAN_NOTICE(pick("You get a strong whiff of space cleaner fumes - careful."))) + +/decl/reagent/spacecleaner/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(REAGENT_VOLUME(holder, type) > 15) + M.add_chemical_effect(CE_EMETIC, 5) + if(prob(25)) + M.add_chemical_effect(CE_NEPHROTOXIC, 1) /decl/reagent/lube name = "Space Lube" @@ -329,6 +356,7 @@ reagent_state = LIQUID color = "#C7FFFF" taste_description = "plastic" + ingest_mul = 0 /decl/reagent/silicate/touch_obj(var/obj/O, var/amount, var/datum/reagents/holder) if(istype(O, /obj/structure/window)) @@ -337,6 +365,19 @@ remove_self(amount, holder) return +/decl/reagent/silicate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + M.adjustToxLoss(2 * removed) + M.add_chemical_effect(CE_ITCH, M.chem_doses[type]) + +/decl/reagent/silicate/affect_breathe(var/mob/living/carbon/human/H, var/alien, var/removed, var/datum/reagents/holder) + if(check_min_dose(H, 5)) + if(prob(50)) + H.visible_message("[H] splutters.", "You cough up a bunch of silicate.") + remove_self(5, holder) + else + H.adjustOxyLoss(2) + H.add_chemical_effect(CE_PNEUMOTOXIC, 0.2) + /decl/reagent/glycerol name = "Glycerol" description = "Glycerol is a simple polyol compound. Glycerol is sweet-tasting and of low toxicity." diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm index a175bbf77f2..5412470dfee 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm @@ -9,6 +9,7 @@ taste_description = "bitterness" taste_mult = 1.2 fallback_specific_heat = 0.75 + overdose = 10 var/target_organ // needs to be null by default var/strength = 2 // How much damage it deals per unit @@ -36,6 +37,7 @@ C.take_damage(removed * 2) if(dam) M.adjustToxLoss(target_organ ? (dam * 0.5) : dam) + M.add_chemical_effect(CE_TOXIN, removed * strength) /decl/reagent/toxin/plasticide name = "Plasticide" @@ -285,6 +287,7 @@ color = "#664330" taste_description = "plant food" taste_mult = 0.5 + touch_mul = 0 unaffected_species = IS_MACHINE /decl/reagent/toxin/fertilizer/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) @@ -292,7 +295,27 @@ M.adjustNutritionLoss(-removed*3) //Fertilizer is good for plants else - ..() + if(prob(15)) + M.add_chemical_effect(CE_NEPHROTOXIC, 1) + +/decl/reagent/toxin/fertilizer/affect_breathe(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(alien == IS_DIONA) + M.adjustNutritionLoss(-removed*3) + else if(REAGENT_VOLUME(holder, type) > 15) + M.adjustOxyLoss(2 * removed) + if(M.losebreath < 15) + M.losebreath++ + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat burns!", "Your insides are on fire!", "Your feel a burning pain in your chest!"))) + else + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat stings a bit.", "You can taste something really digusting.", "Your chest doesn't feel so great."))) + +/decl/reagent/toxin/fertilizer/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(!(alien == IS_DIONA)) + M.adjustFireLoss(10) + to_chat(M, SPAN_WARNING(pick("Your skin burns!", "The chemical is melting your skin!", "Wash it off, wash it off!"))) + remove_self(REAGENT_VOLUME(holder, type), holder) /decl/reagent/toxin/fertilizer/eznutrient name = "EZ Nutrient" @@ -677,48 +700,31 @@ color = "#800080" strength = 5 overdose = 5 //5 units per ghostmushroom. - od_minimum_dose = 1 + od_minimum_dose = 11 taste_description = "acid" metabolism = REM * 0.5 unaffected_species = IS_DIONA | IS_MACHINE + var/berserked = FALSE /decl/reagent/toxin/spectrocybin/affect_blood(var/mob/living/carbon/M, var/removed, var/datum/reagents/holder) - ..() - if(!(REAGENT_VOLUME(holder, type) > 5)) - M.hallucination = max(M.hallucination, 20) - if(prob(20)) - M.see_invisible = SEE_INVISIBLE_CULT - if(M.chem_doses[type] < 5) - if(prob(10)) - M.emote("shiver") - to_chat(M, SPAN_GOOD(pick("You hear the clinking of dinner plates and laughter.", "You hear a distant voice of someone you know talking to you.", "Fond memories of a departed loved one flocks to your mind.", "You feel the reassuring presence of a departed loved one.", "You feel a hand squeezing yours."))) + M.add_chemical_effect(CE_HAUNTED, M.chem_doses[type]) /decl/reagent/toxin/spectrocybin/overdose(var/mob/living/carbon/M, var/datum/reagents/holder) - M.see_invisible = SEE_INVISIBLE_CULT - M.make_jittery(5) - if(M.chem_doses[type] < 5) - if(prob(5)) - M.visible_message("[M] trembles uncontrollably.", "You tremble uncontrollably.") - to_chat(M, SPAN_CULT(pick("You feel fingers tracing up your back.", "You hear the distant wailing and sobbing of a departed loved one.", "You feel like you are being closely watched.", "You hear the hysterical laughter of a departed loved one.", "You no longer feel the reassuring presence of a departed loved one.", "You feel a hand taking hold of yours, digging its nails into you as it clings on."))) - else - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(M.chem_doses[type] <= (get_overdose(H, holder = holder) + metabolism)) - H.berserk_start() - else - H.berserk_process() - M.hallucination = 0 //Brings down hallucination quickly to prevent message spam from being switched between harm and help by hallucinoatory pacification and berserk. - M.add_chemical_effect(CE_BERSERK, 1) - if(M.a_intent != I_HURT) - M.a_intent_change(I_HURT) - if(prob(10)) - M.emote(pick("shiver", "twitch")) - to_chat(M, SPAN_CULT(pick("You feel a cold and threatening air wrapping around you.", "Whispering shadows, ceaseless in their demands, twist your thoughts...", "The whispering, anything to make them stop!", "Your head spins amid the cacophony of screaming, wailing and maniacal laughter of distant loved ones.", "You feel vestiges of decaying souls cling to you, trying to re-enter the world of the living."))) - + var/mob/living/carbon/human/H = M + if(ishuman(M) && !berserked) + H.berserk_start() + berserked = TRUE + else if(ishuman(M) && berserked) + H.berserk_process() + M.add_chemical_effect(CE_BERSERK, 1) + if(M.a_intent != I_HURT) + M.a_intent_change(I_HURT) + /decl/reagent/toxin/spectrocybin/final_effect(mob/living/carbon/human/H, datum/reagents/holder) . = ..() if(istype(H) && H.chem_doses[type] >= get_overdose(H, holder = holder)) H.berserk_stop() + berserked = FALSE /decl/reagent/toxin/trioxin name = "Trioxin" @@ -764,8 +770,6 @@ playsound(H.loc, 'sound/hallucinations/far_noise.ogg', 50, 1) to_chat(H,"You return back to life as the undead, all that is left is the hunger to consume the living and the will to spread the infection.") - - /decl/reagent/toxin/dextrotoxin name = "Dextrotoxin" description = "A complicated to make and highly illegal drug that cause paralysis mostly focused on the limbs." diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 34f3a2da51d..36bf4766735 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -208,7 +208,7 @@ result_amount = 3 /datum/chemical_reaction/space_drugs - name = "Space Drugs" + name = "Mercury Monolithium Sucrose" id = "space_drugs" result = /decl/reagent/space_drugs required_reagents = list(/decl/reagent/mercury = 1, /decl/reagent/sugar = 1, /decl/reagent/lithium = 1) @@ -757,6 +757,28 @@ required_reagents = list(/decl/reagent/psilocybin = 1, /decl/reagent/alcohol/moonshine = 1) result_amount = 1 +/datum/chemical_reaction/joy + name = "Joy" + id = "joy" + result = /decl/reagent/joy + required_reagents = list(/decl/reagent/mental/neurapan = 1, /decl/reagent/oxycomorphine = 2) + result_amount = 1 + +/datum/chemical_reaction/xuxigas + name = "Xu'Xi Gas" + id = "xuxigas" + result = /decl/reagent/xuxigas + required_reagents = list(/decl/reagent/dexalin = 2, /decl/reagent/space_drugs = 2, /decl/reagent/mental/truthserum = 1) + required_temperature_min = T0C + 134 + result_amount = 5 + +/datum/chemical_reaction/skrell_nootropic + name = "Co'qnixq Wuxi" + id = "skrell_nootropic" + result = /decl/reagent/skrell_nootropic + required_reagents = list(/decl/reagent/wulumunusha = 1, /decl/reagent/synaptizine = 1, /decl/reagent/mental/emoxanyl = 1) + result_amount = 3 + /* Makeshift Chemicals and Drugs */ /datum/chemical_reaction/stimm diff --git a/code/modules/reagents/reagent_containers/food/cans.dm b/code/modules/reagents/reagent_containers/food/cans.dm index 6572ed7ccc6..0c465fe807d 100644 --- a/code/modules/reagents/reagent_containers/food/cans.dm +++ b/code/modules/reagents/reagent_containers/food/cans.dm @@ -347,78 +347,66 @@ reagents_to_add = list(/decl/reagent/drink/root_beer = 30) -//zoda - +// Zo'ra Sodas /obj/item/reagent_containers/food/drinks/cans/zorasoda + name = "\improper Zo'ra Soda" + desc = "A can of Zo'ra Soda energy drink, with V'krexi additives. You aren't supposed to see this." + center_of_mass = list("x" = 16, "y" = 8) + can_size_overrides = list("x" = 1) + reagents_to_add = list(/decl/reagent/drink/zorasoda = 30) + +/obj/item/reagent_containers/food/drinks/cans/zorasoda/cherry name = "\improper Zo'ra Soda Cherry" - desc = "A can of cherry energy drink, with V'krexi additives. All good colas come in cherry." + desc = "A can of cherry flavoured Zo'ra Soda energy drink, with V'krexi additives. All good energy drinks come in cherry." icon_state = "zoracherry" - center_of_mass = list("x"=16, "y"=8) - can_size_overrides = list("x" = 1) - reagents_to_add = list(/decl/reagent/drink/zorasoda = 20, /decl/reagent/mental/vaam = 15) + reagents_to_add = list(/decl/reagent/drink/zorasoda/cherry = 30) -/obj/item/reagent_containers/food/drinks/cans/zorakois - name = "\improper Zo'ra Soda Kois Twist" - desc = "A can of K'ois flavored energy drink, with V'krexi additives. Contains no K'ois, probably contains no palatable flavor." - icon_state = "koistwist" - center_of_mass = list("x"=16, "y"=8) - can_size_overrides = list("x" = 1) - reagents_to_add = list(/decl/reagent/drink/zorasoda/kois = 20, /decl/reagent/mental/vaam = 15) - -/obj/item/reagent_containers/food/drinks/cans/zoraphoron +/obj/item/reagent_containers/food/drinks/cans/zorasoda/phoron name = "\improper Zo'ra Soda Phoron Passion" - desc = "A can of grape flavored energy drink, with V'krexi additives. Tastes nothing like phoron according to Unbound taste testers." + desc = "A can of grape flavoured Zo'ra Soda energy drink, with V'krexi additives. Tastes nothing like phoron according to Unbound vaurca taste testers." icon_state = "phoronpassion" - center_of_mass = list("x"=16, "y"=8) - can_size_overrides = list("x" = 1) - reagents_to_add = list(/decl/reagent/drink/zorasoda/phoron = 20, /decl/reagent/mental/vaam = 15) + reagents_to_add = list(/decl/reagent/drink/zorasoda/phoron = 30) -/obj/item/reagent_containers/food/drinks/cans/zorahozm - name = "\improper High Octane Zorane Might" - desc = "A can of fizzy, acidic energy, with plenty of V'krexi additives. Tastes like impaling the bottom of your mouth with a freezing cold spear laced with bees and salt." - icon_state = "hozm" - center_of_mass = list("x"=16, "y"=8) - can_size_overrides = list("x" = 1) - reagents_to_add = list(/decl/reagent/drink/zorasoda/hozm = 20, /decl/reagent/mental/vaam = 15) - -/obj/item/reagent_containers/food/drinks/cans/zoravenom - name = "\improper Zo'ra Soda Sour Venom Grass (Diet!)" - desc = "A diet can of Venom Grass flavored energy drink, with V'krexi additives. Still tastes like a cloud of stinging polytrinic bees, but calories are nowhere to be found." - icon_state = "sourvenomgrass" - center_of_mass = list("x"=16, "y"=8) - can_size_overrides = list("x" = 1) - reagents_to_add = list(/decl/reagent/drink/zorasoda/venomgrass = 20, /decl/reagent/mental/vaam = 15) - -/obj/item/reagent_containers/food/drinks/cans/zoraklax - name = "\improper Klaxan Energy Crush" - desc = "A can of orange cream flavored energy drink, with V'krexi additives. Engineered nearly to perfection." +/obj/item/reagent_containers/food/drinks/cans/zorasoda/klax + name = "\improper K'laxan Energy Crush" + desc = "A can of nitrogen-infused creamy orange zest flavoured Zo'ra Soda energy drink, with V'krexi additives. The smooth taste is engineered to near perfection." icon_state = "klaxancrush" - center_of_mass = list("x"=16, "y"=8) - can_size_overrides = list("x" = 1) - reagents_to_add = list(/decl/reagent/drink/zorasoda/klax = 20, /decl/reagent/mental/vaam = 15) + reagents_to_add = list(/decl/reagent/drink/zorasoda/klax = 30) -/obj/item/reagent_containers/food/drinks/cans/zoracthur +/obj/item/reagent_containers/food/drinks/cans/zorasoda/cthur name = "\improper C'thur Rockin' Raspberry" - desc = "A can of blue raspberry flavored energy drink, with V'krexi additives. You're pretty sure this was shipped by mistake, the previous K'laxan Energy Crush wrapper is still partly visible underneath the current one." + desc = "A can of \"blue raspberry\" flavoured Zo'ra Soda energy drink, with V'krexi additives. Tastes like a more flowery and aromatic raspberry." icon_state = "cthurberry" - center_of_mass = list("x"=16, "y"=8) - can_size_overrides = list("x" = 1) - reagents_to_add = list(/decl/reagent/drink/zorasoda/cthur = 20, /decl/reagent/mental/vaam = 15) + reagents_to_add = list(/decl/reagent/drink/zorasoda/cthur = 30) -/obj/item/reagent_containers/food/drinks/cans/zoradrone - name = "\improper Drone Fuel" - desc = "A can of some kind of industrial fluid flavored energy drink, with V'krexi additives meant for Vaurca. Known to induce vomiting in humans!." +/obj/item/reagent_containers/food/drinks/cans/zorasoda/venomgrass + name = "\improper Zo'ra Sour Venom Grass" + desc = "A can of sour \"venom grass\" flavoured Zo'ra Soda energy drink, with V'krexi additives. Tastes like a cloud of angry stinging acidic bees." + icon_state = "sourvenomgrass" + reagents_to_add = list(/decl/reagent/drink/zorasoda/venomgrass = 30) + +/obj/item/reagent_containers/food/drinks/cans/zorasoda/hozm // "Contraband" + name = "\improper High Octane Zorane Might" + desc = "A can of mint flavoured Zo'ra Soda energy drink, with a lot of V'krexi additives. Tastes like impaling the roof of your mouth with a freezing cold spear laced with angry bees and road salt.
" + SPAN_DANGER(" WARNING: Not for the faint hearted!") + icon_state = "hozm" + reagents_to_add = list(/decl/reagent/drink/zorasoda/hozm = 30) + +/obj/item/reagent_containers/food/drinks/cans/zorasoda/kois + name = "\improper Zo'ra Soda K'ois Twist" + desc = "A can of K'ois-imitation flavoured Zo'ra Soda energy drink, with V'krexi additives. Contains no K'ois, contrary to what the name may imply." + icon_state = "koistwist" + reagents_to_add = list(/decl/reagent/drink/zorasoda/kois = 30) + +/obj/item/reagent_containers/food/drinks/cans/zorasoda/drone + name = "\improper Vaurca Drone Fuel" + desc = "A can of industrial fluid flavoured Zo'ra Soda energy drink, with V'krexi additives, meant for Vaurca.
" + SPAN_DANGER(" WARNING: Known to induce vomiting in all species except vaurcae and dionae!") icon_state = "dronefuel" - center_of_mass = list("x"=16, "y"=8) - can_size_overrides = list("x" = 1) - reagents_to_add = list(/decl/reagent/drink/zorasoda/drone = 30, /decl/reagent/mental/vaam = 10) + reagents_to_add = list(/decl/reagent/drink/zorasoda/drone = 30) -/obj/item/reagent_containers/food/drinks/cans/zorajelly - name = "\improper Royal Jelly" - desc = "A can of... You aren't sure, but it smells pleasant already." +/obj/item/reagent_containers/food/drinks/cans/zorasoda/jelly + name = "\improper Royal Vaurca Jelly" + desc = "A can of..." + SPAN_ITALIC(" sludge?") + " It smells kind of pleasant either way. Royal jelly is a nutritious concentrated substance commonly created by Caretaker Vaurca in order to feed larvae. It is known to have a stimulating effect in most, if not all, species." icon_state = "royaljelly" - center_of_mass = list("x"=16, "y"=8) - can_size_overrides = list("x" = 1) reagents_to_add = list(/decl/reagent/drink/zorasoda/jelly = 30) /obj/item/reagent_containers/food/drinks/cans/adhomai_milk diff --git a/code/modules/reagents/reagent_containers/food/drinks/yoke.dm b/code/modules/reagents/reagent_containers/food/drinks/yoke.dm index 57c57672bad..0957713fd02 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/yoke.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/yoke.dm @@ -58,26 +58,26 @@ /obj/item/storage/box/fancy/yoke/attackby(obj/item/W, mob/user) to_chat(user, SPAN_WARNING("\The [src] cannot be refilled with items!")) -/obj/item/storage/box/fancy/yoke/zorasoda - starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda = 6) - -/obj/item/storage/box/fancy/yoke/zorakois - starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorakois = 6) +/obj/item/storage/box/fancy/yoke/zoracherry + starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/cherry = 6) /obj/item/storage/box/fancy/yoke/zoraphoron - starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zoraphoron = 6) - -/obj/item/storage/box/fancy/yoke/zorahozm - starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorahozm = 6) - -/obj/item/storage/box/fancy/yoke/zoravenom - starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zoravenom = 6) + starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/phoron = 6) /obj/item/storage/box/fancy/yoke/zoraklax - starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zoraklax = 6) + starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/klax = 6) /obj/item/storage/box/fancy/yoke/zoracthur - starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zoracthur = 6) + starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/cthur = 6) + +/obj/item/storage/box/fancy/yoke/zoravenom + starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/venomgrass = 6) + +/obj/item/storage/box/fancy/yoke/zorahozm + starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/hozm = 6) + +/obj/item/storage/box/fancy/yoke/zorakois + starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/kois = 6) /obj/item/storage/box/fancy/yoke/random starts_with = list() @@ -85,13 +85,13 @@ /obj/item/storage/box/fancy/yoke/random/fill() for(var/i = 1 to 6) var/list/energy_options = list( - /obj/item/reagent_containers/food/drinks/cans/zorasoda, - /obj/item/reagent_containers/food/drinks/cans/zorakois, - /obj/item/reagent_containers/food/drinks/cans/zoraphoron, - /obj/item/reagent_containers/food/drinks/cans/zorahozm, - /obj/item/reagent_containers/food/drinks/cans/zoravenom, - /obj/item/reagent_containers/food/drinks/cans/zoraklax, - /obj/item/reagent_containers/food/drinks/cans/zoracthur + /obj/item/reagent_containers/food/drinks/cans/zorasoda/cherry, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/phoron, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/klax, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/cthur, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/venomgrass, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/hozm, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/kois ) var/path = pick(energy_options) if(starts_with[path]) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index eee99da5c7c..e9478c0af4e 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -3175,7 +3175,7 @@ trash = /obj/item/trash/brownies filling_color = "#301301" center_of_mass = list("x"=15, "y"=9) - reagents_to_add = list(/decl/reagent/nutriment = 8, /decl/reagent/browniemix = 4, /decl/reagent/space_drugs = 4, /decl/reagent/bicaridine = 2, /decl/reagent/kelotane = 2, /decl/reagent/toxin = 2) + reagents_to_add = list(/decl/reagent/nutriment = 8, /decl/reagent/browniemix = 4, /decl/reagent/ambrosia_extract = 4, /decl/reagent/bicaridine = 2, /decl/reagent/kelotane = 2, /decl/reagent/toxin = 2) reagent_data = list(/decl/reagent/nutriment = list("brownies" = 5)) bitesize = 3 @@ -3189,7 +3189,7 @@ center_of_mass = list("x"=16, "y"=12) /obj/item/reagent_containers/food/snacks/cosmicbrowniesslice/filled - reagents_to_add = list(/decl/reagent/nutriment = 1, /decl/reagent/browniemix = 1, /decl/reagent/space_drugs = 1, /decl/reagent/bicaridine = 1, /decl/reagent/kelotane = 1, /decl/reagent/toxin = 1) + reagents_to_add = list(/decl/reagent/nutriment = 1, /decl/reagent/browniemix = 1, /decl/reagent/ambrosia_extract = 1, /decl/reagent/bicaridine = 1, /decl/reagent/kelotane = 1, /decl/reagent/toxin = 1) reagent_data = list(/decl/reagent/nutriment = list("brownies" = 2)) /////////////////////////////////////////////////PIZZA//////////////////////////////////////// diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 10501aef855..5a1f16a53ab 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -28,16 +28,22 @@ if(!..(user, 2)) return if(LAZYLEN(reagents.reagent_volumes)) - to_chat(user, "It contains [round(reagents.total_volume, accuracy)] units of liquid.") + to_chat(user, SPAN_NOTICE("It contains [round(reagents.total_volume, accuracy)] units of a reagent.")) for(var/_T in reagents.reagent_volumes) var/decl/reagent/T = decls_repository.get_decl(_T) - if(T.reagent_state == SOLID) - to_chat(user, "You see something solid in the beaker.") + if(T.reagent_state == LIQUID) + to_chat(user, SPAN_NOTICE("You see something liquid in the beaker.")) break // to stop multiple messages of this + if(T.reagent_state == GAS) + to_chat(user, SPAN_NOTICE("You see something gaseous in the beaker.")) + break + if(T.reagent_state == SOLID) + to_chat(user, SPAN_NOTICE("You see something solid in the beaker.")) + break else - to_chat(user, "It is empty.") + to_chat(user, SPAN_NOTICE("It is empty.")) if(!is_open_container()) - to_chat(user, "Airtight lid seals it completely.") + to_chat(user, SPAN_NOTICE("An airtight lid seals it completely.")) /obj/item/reagent_containers/glass/get_additional_forensics_swab_info() var/list/additional_evidence = ..() diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index e7bd4ac648c..58c8e952d7d 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -194,6 +194,10 @@ name_label = "inaprovaline" reagents_to_add = list(/decl/reagent/inaprovaline = 5) +/obj/item/reagent_containers/hypospray/autoinjector/dylovene + name_label = "dylovene" + reagents_to_add = list(/decl/reagent/dylovene = 5) + /obj/item/reagent_containers/hypospray/autoinjector/emergency name_label = "emergency" reagents_to_add = list(/decl/reagent/inaprovaline = 2.5, /decl/reagent/dexalin = 2.5) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 231a6903ee3..1597ea56bb2 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -233,13 +233,13 @@ name = "Zoom Pill" desc = "Zoooom!" icon_state = "pill18" - reagents_to_add = list(/decl/reagent/impedrezene = 10, /decl/reagent/synaptizine = 5, /decl/reagent/hyperzine = 5) + reagents_to_add = list(/decl/reagent/impedrezene = 5, /decl/reagent/synaptizine = 5, /decl/reagent/hyperzine = 5) -obj/item/reagent_containers/pill/tranquility - name = "Tranquility Pill" +obj/item/reagent_containers/pill/joy + name = "Joy Pill" desc = "Peace, at last." icon_state = "pill8" - reagents_to_add = list(/decl/reagent/mental/neurapan = 15, /decl/reagent/impedrezene = 10) + reagents_to_add = list(/decl/reagent/joy = 5) /obj/item/reagent_containers/pill/thetamycin name = "15u Thetamycin Pill" @@ -269,3 +269,9 @@ obj/item/reagent_containers/pill/tranquility desc = "Used to treat coughing, sneezing and itching." icon_state = "pill19" reagents_to_add = list(/decl/reagent/cetahydramine = 5) + +/obj/item/reagent_containers/pill/skrell_nootropic + name = "5u Co'qnixq Wuxi Pill" + desc = "Used to treat dementia." + icon_state = "pill8" + reagents_to_add = list(/decl/reagent/skrell_nootropic = 5) diff --git a/html/changelog.html b/html/changelog.html index e73110ee785..9724a3ccd2b 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -35,6 +35,43 @@ -->
+

09 April 2022

+

MattAtlas updated:

+ +

SleepyGem updated:

+ +

kermit updated:

+ +

mikomyazaki updated:

+ +

04 April 2022

MattAtlas updated: