diff --git a/code/game/gamemodes/changeling/implements/powers/stings.dm b/code/game/gamemodes/changeling/implements/powers/stings.dm index 8de4e59df84..77df5fb358c 100644 --- a/code/game/gamemodes/changeling/implements/powers/stings.dm +++ b/code/game/gamemodes/changeling/implements/powers/stings.dm @@ -86,7 +86,7 @@ /datum/changeling_sting/hallucinate/do_sting(mob/living/target) ..() if(target.reagents) - addtimer(target.reagents.add_reagent(/singleton/reagent/mindbreaker, 3), rand(5 SECONDS, 15 SECONDS)) + addtimer(target.reagents.add_reagent(/singleton/reagent/drugs/mindbreaker, 3), rand(5 SECONDS, 15 SECONDS)) /mob/proc/changeling_silence_sting() set category = "Changeling" diff --git a/code/game/machinery/vending_types.dm b/code/game/machinery/vending_types.dm index 12ce9d1a5df..fe19a6d1982 100644 --- a/code/game/machinery/vending_types.dm +++ b/code/game/machinery/vending_types.dm @@ -510,11 +510,14 @@ /obj/item/storage/chewables/rollable/unathi = 6, /obj/item/storage/chewables/rollable/fine = 5, /obj/item/storage/chewables/rollable/nico = 3, + /obj/item/storage/chewables/rollable/oracle = 5, + /obj/item/storage/chewables/rollable/vedamor = 3, /obj/item/storage/chewables/tobacco/bad = 6, /obj/item/storage/chewables/tobacco = 8, /obj/item/storage/chewables/tobacco/fine = 5, /obj/item/storage/chewables/tobacco/federation = 2, /obj/item/storage/chewables/tobacco/dyn = 2, + /obj/item/storage/chewables/oracle = 4, /obj/item/storage/box/fancy/chewables/tobacco/nico = 3, /obj/item/storage/cigfilters = 6, /obj/item/storage/box/fancy/cigpaper = 6, @@ -858,6 +861,7 @@ /obj/item/seeds/mintseed = 3, /obj/item/seeds/nifberries = 2, /obj/item/seeds/onionseed = 3, + /obj/item/seeds/oracleseed = 3, /obj/item/seeds/orangeseed = 3, /obj/item/seeds/peanutseed = 3, /obj/item/seeds/peppercornseed = 3, @@ -896,6 +900,7 @@ ) contraband = list( /obj/item/seeds/amanitamycelium = 3, + /obj/item/seeds/cocaseed = 3, /obj/item/seeds/glowshroom = 3, /obj/item/seeds/libertymycelium = 3, /obj/item/seeds/nettleseed = 3 @@ -937,6 +942,7 @@ /obj/item/seeds/mintseed = 70, /obj/item/seeds/nifberries = 70, /obj/item/seeds/onionseed = 30, + /obj/item/seeds/oracleseed = 50, /obj/item/seeds/orangeseed = 40, /obj/item/seeds/peanutseed = 30, /obj/item/seeds/peppercornseed = 30, diff --git a/code/game/objects/items/contraband.dm b/code/game/objects/items/contraband.dm index bc983a4c866..5689618be67 100644 --- a/code/game/objects/items/contraband.dm +++ b/code/game/objects/items/contraband.dm @@ -16,6 +16,31 @@ desc = "Highly illegal drug. Bang - and your stress is gone." starts_with = list(/obj/item/reagent_containers/pill/joy = 3) +/obj/item/storage/pill_bottle/heroin + name = "bottle of heroin pills" + desc = "Highly illegal drug. For quick pain removal." + starts_with = list(/obj/item/reagent_containers/pill/heroin = 3) + +/obj/item/storage/pill_bottle/cocaine + name = "bottle of cocaine tablets" + desc = "Supposedly a highly illegal drug... yet the labeling on the bottle is suspiciously perfect..." + starts_with = list(/obj/item/reagent_containers/pill/cocaine = 5) + +/obj/item/storage/pill_bottle/contemplus + name = "bottle of Contemplus tablets" + desc = "A Yomi Genetics bottle clearly marked as 'for animal testing only.' You doubt this is followed often on Venus..." + starts_with = list(/obj/item/reagent_containers/pill/contemplus = 5) + +/obj/item/storage/pill_bottle/spotlight + name = "bottle of Spotlight tablets" + desc = "A Zavodskoi bottle with a conspicuous 'defective' stamp on it. You doubt this was actually defective." + starts_with = list(/obj/item/reagent_containers/pill/spotlight = 5) + +/obj/item/storage/pill_bottle/sparkle + name = "bottle of Sparkle tablets" + desc = "A Zeng-Hu bottle clearly marked as being for 'medical testing purposes only.' As if..." + starts_with = list(/obj/item/reagent_containers/pill/sparkle = 5) + /obj/item/storage/pill_bottle/smart name = "bottle of Smart pills" desc = "Highly illegal drug. For exam season." @@ -27,13 +52,13 @@ /obj/item/reagent_containers/glass/beaker/vial/random/toxin random_reagent_list = list( - list(/singleton/reagent/mindbreaker = 10, /singleton/reagent/space_drugs = 20) = 3, + list(/singleton/reagent/drugs/mindbreaker = 10, /singleton/reagent/drugs/mms = 20) = 3, list(/singleton/reagent/mercury = 15) = 3, list(/singleton/reagent/toxin/carpotoxin = 15) = 2, - list(/singleton/reagent/impedrezene = 15) = 2, + list(/singleton/reagent/drugs/impedrezene = 15) = 2, list(/singleton/reagent/toxin/dextrotoxin = 10) = 1, list(/singleton/reagent/toxin/spectrocybin = 15) = 1, - list(/singleton/reagent/joy = 10, /singleton/reagent/water = 20) = 1, + list(/singleton/reagent/drugs/joy = 10, /singleton/reagent/water = 20) = 1, list(/singleton/reagent/toxin/berserk = 10) = 1, list(/singleton/reagent/ammonia = 15) = 3) diff --git a/code/game/objects/items/devices/lighting/flashlight.dm b/code/game/objects/items/devices/lighting/flashlight.dm index 3e3d97b36a0..20485f9eeed 100644 --- a/code/game/objects/items/devices/lighting/flashlight.dm +++ b/code/game/objects/items/devices/lighting/flashlight.dm @@ -279,7 +279,7 @@ to_chat(user, SPAN_NOTICE("There's visible lag between the left and right pupils' reactions.")) var/list/pinpoint = list(/singleton/reagent/oxycomorphine=1,/singleton/reagent/mortaphenyl=5) - var/list/dilating = list(/singleton/reagent/space_drugs=5,/singleton/reagent/mindbreaker=1) + var/list/dilating = list(/singleton/reagent/drugs/mms=5,/singleton/reagent/drugs/mindbreaker=1) var/datum/reagents/ingested = H.get_ingested_reagents() if(H.reagents.has_any_reagent(pinpoint) || ingested.has_any_reagent(pinpoint)) to_chat(user, SPAN_NOTICE("\The [H]'s pupils are already pinpoint and cannot narrow any more.")) diff --git a/code/game/objects/items/tajara.dm b/code/game/objects/items/tajara.dm index 54d0e0ad5eb..26d6969cba6 100644 --- a/code/game/objects/items/tajara.dm +++ b/code/game/objects/items/tajara.dm @@ -32,7 +32,7 @@ desc_extended = "Imported from the New Kingdom of Adhomai." icon_state = "nkapacket" item_state = "Fpacket" - cigarette_to_spawn = /obj/item/clothing/mask/smokable/cigarette/adhomai + cigarette_to_spawn = /obj/item/clothing/mask/smokable/cigarette/adhomai/menthol /obj/item/tajcard name = "collectable tajaran card" diff --git a/code/game/objects/items/weapons/chewables.dm b/code/game/objects/items/weapons/chewables.dm index dca14d184e5..b043ccc8443 100644 --- a/code/game/objects/items/weapons/chewables.dm +++ b/code/game/objects/items/weapons/chewables.dm @@ -159,6 +159,11 @@ /singleton/reagent/drink/dynjuice = 1 ) +/obj/item/clothing/mask/chewable/oracle + name = "chewing oracle" + desc = "A chewy wad of oracle. Cut in long strands." + reagents_to_add = list(/singleton/reagent/toxin/oracle = 2) + /obj/item/clothing/mask/chewable/candy name = "wad" desc = "A chewy wad of wadding material." diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 23b05ad3cdd..c1dffc97735 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -143,6 +143,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM //FINE SMOKABLES// ////////////////// /obj/item/clothing/mask/smokable + abstract_type = /obj/item/clothing/mask/smokable name = "smokable item" desc = "You're not sure what this is. You should probably ahelp it." icon = 'icons/obj/smokables.dmi' @@ -382,7 +383,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /singleton/reagent/toxin/tobacco = 5, /singleton/reagent/mental/nicotine = 5, /singleton/reagent/lexorin = 2, - /singleton/reagent/serotrotium = 3 + /singleton/reagent/drugs/serotrotium = 3 ) /obj/item/clothing/mask/smokable/cigarette/blank @@ -416,6 +417,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM /singleton/reagent/mental/nicotine = 5 ) +/obj/item/clothing/mask/smokable/cigarette/adhomai/menthol + name = "adhomian menthol cigarette" + desc = "An adhomian cigarette made from processed S'rendarr's Hand, with menthol added." + reagents_to_add = list( + /singleton/reagent/toxin/tobacco = 5, + /singleton/reagent/mental/nicotine = 5, + /singleton/reagent/menthol = 5 + ) + /obj/item/clothing/mask/smokable/cigarette/sweet reagents_to_add = list( /singleton/reagent/toxin/tobacco/sweet = 10, @@ -436,6 +446,14 @@ CIGARETTE PACKETS ARE IN FANCY.DM desc = "A wulumunusha cigarette commonly smoked by Skrell for religious purposes." reagents_to_add = list(/singleton/reagent/wulumunusha = 15) +/obj/item/clothing/mask/smokable/cigarette/oracle + name = "oracle cigarette" + desc = "A roll of oracle and caromeg." + reagents_to_add = list( + /singleton/reagent/toxin/oracle = 10, + /singleton/reagent/mental/caromeg = 5 + ) + //////////// // CIGARS // //////////// @@ -499,6 +517,18 @@ CIGARETTE PACKETS ARE IN FANCY.DM /singleton/reagent/fuel = 5 ) +/obj/item/clothing/mask/smokable/cigarette/cigar/oracle + name = "\improper Vedamor cigar" + desc = "A premium oracle cigar, originating from Vedamor." + icon_state = "vedamor_cigaroff" + icon_on = "vedamor_cigaron" + icon_off = "vedamor_cigaroff" + item_state = "vedamor_cigaroff" + reagents_to_add = list( + /singleton/reagent/toxin/oracle/rich = 25, + /singleton/reagent/mental/caromeg = 5 + ) + /obj/item/trash/cigbutt name = "cigarette butt" desc = "A manky old cigarette butt." @@ -1064,6 +1094,20 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/reagent_containers/food/snacks/grown/dried_tobacco/pure plantname = "puretobacco" +//oracle sold seperately if you're too snobby to grow it yourself. +/obj/item/reagent_containers/food/snacks/grown/dried_oracle + plantname = "oracle" + w_class = ITEMSIZE_TINY + +/obj/item/reagent_containers/food/snacks/grown/dried_oracle/Initialize() + . = ..() + dry = TRUE + name = "dried [name]" + color = "#ff6f6f" + +/obj/item/reagent_containers/food/snacks/grown/dried_oracle/fine + plantname = "vedamororacle" + /obj/item/clothing/mask/smokable/cigarette/rolled/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/cigarette_filter)) if(filter) diff --git a/code/game/objects/items/weapons/ecigs.dm b/code/game/objects/items/weapons/ecigs.dm index 84d1738afbe..aa77fbc0d53 100644 --- a/code/game/objects/items/weapons/ecigs.dm +++ b/code/game/objects/items/weapons/ecigs.dm @@ -272,6 +272,11 @@ desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its tobacco flavored, with extra nicotine." reagents_to_add = list(/singleton/reagent/toxin/tobacco/liquid = 10, /singleton/reagent/water = 10) +/obj/item/reagent_containers/ecig_cartridge/menthol + name = "menthol flavour cartridge" + desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says it's menthol flavored." + reagents_to_add = list(/singleton/reagent/toxin/tobacco/liquid = 5, /singleton/reagent/water = 10, /singleton/reagent/menthol = 5) + /obj/item/reagent_containers/ecig_cartridge/orange name = "orange flavour cartridge" desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its orange flavored." @@ -296,3 +301,8 @@ name = "coffee flavour cartridge" desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its coffee flavored." reagents_to_add = list(/singleton/reagent/toxin/tobacco/liquid = 10, /singleton/reagent/water = 10, /singleton/reagent/drink/coffee = 5) + +/obj/item/reagent_containers/ecig_cartridge/caromeg + name = "flavorless caromeg cartridge" + desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says you can add whatever flavoring agents you want." + reagents_to_add = list(/singleton/reagent/toxin/oracle/liquid = 5, /singleton/reagent/water = 10) diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index f515240be50..6e49dfc6f3c 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -425,6 +425,13 @@ /obj/item/storage/box/fancy/cigarettes/cigar/prank cigarette_to_spawn = /obj/item/clothing/mask/smokable/cigarette/cigar/prank +/obj/item/storage/box/fancy/cigarettes/oracle + name = "\improper Natural Vysokan Soothsayer oracle cigarette packet" + desc = "Featuring an illustration of a soothsayer from Vysoka on its packaging, these cigarettes are advertised as containing oracle instead of the normal tobacco. A warning box stating \"These oracle cigarettes are not healthier than tobacco alternatives\" appears to have been haphazardly placed on the packet." + icon_state = "Opacket" + item_state = "Fpacket" + cigarette_to_spawn = /obj/item/clothing/mask/smokable/cigarette/oracle + /* * Vial Box */ diff --git a/code/game/objects/items/weapons/storage/misc.dm b/code/game/objects/items/weapons/storage/misc.dm index 9c8c564b77a..56f75a48feb 100644 --- a/code/game/objects/items/weapons/storage/misc.dm +++ b/code/game/objects/items/weapons/storage/misc.dm @@ -163,6 +163,13 @@ item_state = "Dpacket" starts_with = list(/obj/item/clothing/mask/chewable/tobacco/fine = 6) +/obj/item/storage/chewables/oracle + name = "can of Natural Vysokan Fields chewing oracle" + desc = "A can of chewing oracle, advertising Vysoka's natural beauty. A warning box stating \"This chewing oracle is not healthier than tobacco alternatives\" appears to have been haphazardly placed on the can." + icon_state = "oracle_chew" + item_state = "Fpacket" + starts_with = list(/obj/item/clothing/mask/chewable/oracle = 6) + /obj/item/storage/box/fancy/chewables/tobacco/nico name = "box of Nico-Tine gum" desc = "A Sol-approved brand of nicotine gum. Cut out the middleman for your addiction fix." @@ -223,3 +230,17 @@ starts_with = list(/obj/item/reagent_containers/food/snacks/grown/dried_tobacco/pure = 8) icon_state = "roll_nico" item_state = "Epacket" + +/obj/item/storage/chewables/rollable/oracle + name = "box of Vysokan Plains oracle leaves" + desc = "This box gives a large list of potential sources for the oracle inside of it, reflecting the unstable and volatile state of Vysokan politics." + starts_with = list(/obj/item/reagent_containers/food/snacks/grown/dried_oracle = 8) + icon_state = "roll_oracle" + item_state = "Dpacket" + +/obj/item/storage/chewables/rollable/vedamor + name = "box of Velhalktai Marathon oracle leaves" + desc = "Packaged by a major sponsor of the Velhalktai races, and exported by NanoTrasen, this box promises quality oracle grown directly in the city-state of Vedamor." + starts_with = list(/obj/item/reagent_containers/food/snacks/grown/dried_oracle/fine = 8) + icon_state = "roll_vedamor" + item_state = "Epacket" diff --git a/code/modules/cargo/bounties/reagent.dm b/code/modules/cargo/bounties/reagent.dm index a4868157ea9..62bc4fe68f3 100644 --- a/code/modules/cargo/bounties/reagent.dm +++ b/code/modules/cargo/bounties/reagent.dm @@ -142,7 +142,7 @@ var/list/possible_reagents = list( /singleton/reagent/leporazine, /singleton/reagent/clonexadone, - /singleton/reagent/space_drugs, + /singleton/reagent/drugs/mms, /singleton/reagent/thermite, /singleton/reagent/cetahydramine, /singleton/reagent/sterilizine, @@ -164,11 +164,11 @@ /singleton/reagent/pneumalin, /singleton/reagent/acid/polyacid, /singleton/reagent/mutagen, - /singleton/reagent/impedrezene, - /singleton/reagent/night_juice, + /singleton/reagent/drugs/impedrezene, + /singleton/reagent/drugs/night_juice, /singleton/reagent/toxin/cardox, /singleton/reagent/toxin/stimm, - /singleton/reagent/ambrosia_extract) + /singleton/reagent/drugs/ambrosia_extract) var/reagent_type = pick(possible_reagents) wanted_reagent = new reagent_type diff --git a/code/modules/client/preference_setup/loadout/items/smoking.dm b/code/modules/client/preference_setup/loadout/items/smoking.dm index ff1d88fe7ed..c656e5f2f91 100644 --- a/code/modules/client/preference_setup/loadout/items/smoking.dm +++ b/code/modules/client/preference_setup/loadout/items/smoking.dm @@ -58,6 +58,7 @@ cigarettes["Royal Choice cigarette packet"] = /obj/item/storage/box/fancy/cigarettes/nka cigarettes["Eriuyushi Sunset cigarette packet"] = /obj/item/storage/box/fancy/cigarettes/federation cigarettes["Xaqixal Dyn Fields cigarette packet"] = /obj/item/storage/box/fancy/cigarettes/dyn + cigarettes["Natural Vysokan Soothsayer oracle cigarette packet"] = /obj/item/storage/box/fancy/cigarettes/oracle gear_tweaks += new /datum/gear_tweak/path(cigarettes) /datum/gear/smoking/chew @@ -79,8 +80,8 @@ gear_tweaks += new /datum/gear_tweak/path(chews) /datum/gear/smoking/leaves - display_name = "tobacco leaf selection" - description = "A selection of tobacco leaves." + display_name = "smokable leaf selection" + description = "A selection of smokable leaves." path = /obj/item/storage/chewables/rollable cost = 2 flags = GEAR_HAS_DESC_SELECTION @@ -92,6 +93,8 @@ leaves["Agyre Lake tobacco leaves"] = /obj/item/storage/chewables/rollable leaves["Excelsior Epsilon tobacco leaves"] = /obj/item/storage/chewables/rollable/fine leaves["Golden Sol tobacco leaves"] = /obj/item/storage/chewables/rollable/nico + leaves["Vysokan Plains oracle leaves"] = /obj/item/storage/chewables/rollable/oracle + leaves["Velhalktai Marathon oracle leaves"] = /obj/item/storage/chewables/rollable/vedamor gear_tweaks += new /datum/gear_tweak/path(leaves) /datum/gear/smoking/pipe diff --git a/code/modules/cooking/recipes/recipes_baked.dm b/code/modules/cooking/recipes/recipes_baked.dm index 80c10099564..f3525f4b168 100644 --- a/code/modules/cooking/recipes/recipes_baked.dm +++ b/code/modules/cooking/recipes/recipes_baked.dm @@ -47,7 +47,7 @@ /singleton/recipe/spacylibertyduff appliance = OVEN - reagents = list(/singleton/reagent/water = 5, /singleton/reagent/alcohol/vodka = 5, /singleton/reagent/psilocybin = 5) + reagents = list(/singleton/reagent/water = 5, /singleton/reagent/alcohol/vodka = 5, /singleton/reagent/drugs/psilocybin = 5) result = /obj/item/reagent_containers/food/snacks/spacylibertyduff /singleton/recipe/hotdiggitydonk //heated donk, in lieu of a microwave diff --git a/code/modules/cooking/recipes/recipes_pastries.dm b/code/modules/cooking/recipes/recipes_pastries.dm index 656f0c67048..1496622f4ef 100644 --- a/code/modules/cooking/recipes/recipes_pastries.dm +++ b/code/modules/cooking/recipes/recipes_pastries.dm @@ -55,7 +55,7 @@ /singleton/recipe/rofflewaffles appliance = OVEN - reagents = list(/singleton/reagent/psilocybin = 5, /singleton/reagent/sugar = 10) + reagents = list(/singleton/reagent/drugs/psilocybin = 5, /singleton/reagent/sugar = 10) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/dough diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index 9b16482b77a..6fbc249e65f 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -11,10 +11,10 @@ /singleton/reagent/spacecleaner = 6, /singleton/reagent/nutriment = 6, /singleton/reagent/capsaicin/condensed = 2, - /singleton/reagent/mindbreaker = 0.5, + /singleton/reagent/drugs/mindbreaker = 0.5, /singleton/reagent/lube = 4, /singleton/reagent/drink/banana = 3, - /singleton/reagent/space_drugs = 3, + /singleton/reagent/drugs/mms = 3, /singleton/reagent/water/holywater = 1, /singleton/reagent/drink/hot_coco = 3, /singleton/reagent/hyperzine = 0.75, @@ -38,12 +38,12 @@ /singleton/reagent/sodiumchloride = 2, /singleton/reagent/drink/zorasoda/venomgrass = 1, /singleton/reagent/nutriment/protein/egg = 2, - /singleton/reagent/serotrotium = 1, - /singleton/reagent/psilocybin = 0.5, + /singleton/reagent/drugs/serotrotium = 1, + /singleton/reagent/drugs/psilocybin = 0.5, /singleton/reagent/toxin/spectrocybin = 0.1, - /singleton/reagent/ambrosia_extract = 0.3, - /singleton/reagent/skrell_nootropic = 0.5, - /singleton/reagent/xuxigas = 2 + /singleton/reagent/drugs/ambrosia_extract = 0.3, + /singleton/reagent/drugs/skrell_nootropic = 0.5, + /singleton/reagent/drugs/xuxigas = 2 ) /datum/event/vent_clog/setup() diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 25bdeea2c2d..aa8ea3a0647 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -92,7 +92,7 @@ descriptors |= "radioactive" if(reagents.has_reagent(/singleton/reagent/toxin/amatoxin) || reagents.has_reagent(/singleton/reagent/toxin)) descriptors |= "poisonous" - if(reagents.has_reagent(/singleton/reagent/psilocybin) || reagents.has_reagent(/singleton/reagent/ambrosia_extract) || reagents.has_reagent(/singleton/reagent/space_drugs) || reagents.has_reagent(/singleton/reagent/mindbreaker)) + if(reagents.has_reagent(/singleton/reagent/drugs/psilocybin) || reagents.has_reagent(/singleton/reagent/drugs/ambrosia_extract) || reagents.has_reagent(/singleton/reagent/drugs/mms) || reagents.has_reagent(/singleton/reagent/drugs/mindbreaker)) descriptors |= "hallucinogenic" if(reagents.has_reagent(/singleton/reagent/bicaridine) || reagents.has_reagent(/singleton/reagent/dylovene)) descriptors |= "medicinal" diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 7ced923b1a8..74f94c602e1 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -426,7 +426,7 @@ /singleton/reagent/butazoline, /singleton/reagent/blood, /singleton/reagent/cryoxadone, - /singleton/reagent/cryptobiolin, + /singleton/reagent/drugs/cryptobiolin, /singleton/reagent/toxin/cyanide, /singleton/reagent/dermaline, /singleton/reagent/dexalin, @@ -434,9 +434,9 @@ /singleton/reagent/hydrazine, /singleton/reagent/hyperzine, /singleton/reagent/hyronalin, - /singleton/reagent/impedrezene, + /singleton/reagent/drugs/impedrezene, /singleton/reagent/mercury, - /singleton/reagent/mindbreaker, + /singleton/reagent/drugs/mindbreaker, /singleton/reagent/inaprovaline, /singleton/reagent/peridaxon, /singleton/reagent/toxin/phoron, @@ -446,7 +446,7 @@ /singleton/reagent/rezadone, /singleton/reagent/ryetalyn, /singleton/reagent/slimejelly, - /singleton/reagent/space_drugs, + /singleton/reagent/drugs/mms, /singleton/reagent/soporific, /singleton/reagent/sugar, /singleton/reagent/synaptizine, @@ -455,8 +455,8 @@ /singleton/reagent/mortaphenyl, /singleton/reagent/water, /singleton/reagent/woodpulp, - /singleton/reagent/ambrosia_extract, - /singleton/reagent/skrell_nootropic, + /singleton/reagent/drugs/ambrosia_extract, + /singleton/reagent/drugs/skrell_nootropic, /singleton/reagent/toxin/berserk ) diff --git a/code/modules/hydroponics/seed_datums/flowers.dm b/code/modules/hydroponics/seed_datums/flowers.dm index d42a4f36c3d..a62f70b4fdd 100644 --- a/code/modules/hydroponics/seed_datums/flowers.dm +++ b/code/modules/hydroponics/seed_datums/flowers.dm @@ -23,7 +23,7 @@ name = "poppies" seed_name = "poppy" display_name = "poppies" - chems = list(/singleton/reagent/nutriment = list(1,20), /singleton/reagent/bicaridine = list(1,10)) + chems = list(/singleton/reagent/nutriment = list(1,20), /singleton/reagent/morphine = list(1,10)) kitchen_tag = "poppy" /datum/seed/flower/poppy/setup_traits() @@ -79,3 +79,4 @@ set_trait(TRAIT_PLANT_COLOUR,"#6B8C5E") set_trait(TRAIT_PLANT_ICON,"flower") set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + diff --git a/code/modules/hydroponics/seed_datums/herbs.dm b/code/modules/hydroponics/seed_datums/herbs.dm index b68b2086d1f..b48615c5b3e 100644 --- a/code/modules/hydroponics/seed_datums/herbs.dm +++ b/code/modules/hydroponics/seed_datums/herbs.dm @@ -41,4 +41,25 @@ set_trait(TRAIT_IDEAL_LIGHT, 6) /obj/item/seeds/teaseed - seed_type = "tea" \ No newline at end of file + seed_type = "tea" + +/datum/seed/coca + name = "coca" + seed_name = "coca leaf" + display_name = "coca plant" + chems = list(/singleton/reagent/nutriment/cocagrounds = list(2,10)) + kitchen_tag = "coca" + +/datum/seed/coca/setup_traits() + ..() + set_trait(TRAIT_MATURATION, 3) + set_trait(TRAIT_PRODUCTION, 3) + set_trait(TRAIT_YIELD, 3) + set_trait(TRAIT_POTENCY, 2) + set_trait(TRAIT_PRODUCT_ICON, "herb") + set_trait(TRAIT_PRODUCT_COLOUR, "#056608") + set_trait(TRAIT_PLANT_ICON, "herb") + set_trait(TRAIT_IDEAL_LIGHT, 6) + +/obj/item/seeds/cocaseed + seed_type = "coca" diff --git a/code/modules/hydroponics/seed_datums/mushrooms.dm b/code/modules/hydroponics/seed_datums/mushrooms.dm index 8405108b983..cb179eecc71 100644 --- a/code/modules/hydroponics/seed_datums/mushrooms.dm +++ b/code/modules/hydroponics/seed_datums/mushrooms.dm @@ -147,7 +147,7 @@ seed_name = "reishi" display_name = "reishi" mutants = list("libertycap","glowshroom") - chems = list(/singleton/reagent/nutriment = list(1,50), /singleton/reagent/psilocybin = list(3,5)) + chems = list(/singleton/reagent/nutriment = list(1,50), /singleton/reagent/drugs/psilocybin = list(3,5)) /datum/seed/mushroom/hallucinogenic/setup_traits() ..() @@ -168,7 +168,7 @@ seed_name = "liberty cap" display_name = "liberty cap mushrooms" mutants = list("ghostmushroom") - chems = list(/singleton/reagent/nutriment = list(1), /singleton/reagent/soporific = list(3,3), /singleton/reagent/psilocybin = list(1,25)) + chems = list(/singleton/reagent/nutriment = list(1), /singleton/reagent/soporific = list(3,3), /singleton/reagent/drugs/psilocybin = list(1,25)) /datum/seed/mushroom/hallucinogenic/strong/setup_traits() ..() @@ -187,7 +187,7 @@ seed_name = "fly amanita" display_name = "fly amanita mushrooms" mutants = list("destroyingangel","plastic","panocelium") - chems = list(/singleton/reagent/nutriment = list(1), /singleton/reagent/toxin/amatoxin = list(3,3), /singleton/reagent/psilocybin = list(1,25)) + chems = list(/singleton/reagent/nutriment = list(1), /singleton/reagent/toxin/amatoxin = list(3,3), /singleton/reagent/drugs/psilocybin = list(1,25)) /datum/seed/mushroom/poison/setup_traits() ..() @@ -208,7 +208,7 @@ seed_name = "destroying angel" display_name = "destroying angel mushrooms" mutants = null - chems = list(/singleton/reagent/nutriment = list(1,50), /singleton/reagent/toxin/amatoxin = list(13,3), /singleton/reagent/psilocybin = list(1,25)) + chems = list(/singleton/reagent/nutriment = list(1,50), /singleton/reagent/toxin/amatoxin = list(13,3), /singleton/reagent/drugs/psilocybin = list(1,25)) /datum/seed/mushroom/poison/death/setup_traits() ..() @@ -228,7 +228,7 @@ seed_name = "panocelium" display_name = "panocelium mushrooms" mutants = null - chems = list(/singleton/reagent/nutriment = list(1,50), /singleton/reagent/toxin/panotoxin = list(10,3), /singleton/reagent/psilocybin = list(1,25)) + chems = list(/singleton/reagent/nutriment = list(1,50), /singleton/reagent/toxin/panotoxin = list(10,3), /singleton/reagent/drugs/psilocybin = list(1,25)) /datum/seed/mushroom/poison/panocelium/setup_traits() ..() diff --git a/code/modules/hydroponics/seed_datums/smokables.dm b/code/modules/hydroponics/seed_datums/smokables.dm index 16079ac3405..1ddb25d642c 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(/singleton/reagent/nutriment = list(1), /singleton/reagent/ambrosia_extract = list(4,8), /singleton/reagent/kelotane = list(1,8,1), /singleton/reagent/bicaridine = list(1,10,1), /singleton/reagent/toxin = list(1,10)) + chems = list(/singleton/reagent/nutriment = list(1), /singleton/reagent/drugs/ambrosia_extract = list(4,8), /singleton/reagent/kelotane = list(1,8,1), /singleton/reagent/bicaridine = list(1,10,1), /singleton/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(/singleton/reagent/nutriment = list(1), /singleton/reagent/bicaridine = list(1,8), /singleton/reagent/synaptizine = list(1,8,1), /singleton/reagent/ambrosia_extract = list(4,10)) + chems = list(/singleton/reagent/nutriment = list(1), /singleton/reagent/bicaridine = list(1,8), /singleton/reagent/synaptizine = list(1,8,1), /singleton/reagent/drugs/ambrosia_extract = list(4,10)) kitchen_tag = "ambrosiadeus" /datum/seed/ambrosia/deus/setup_traits() @@ -103,3 +103,44 @@ /obj/item/seeds/ambrosiadeusseed seed_type = "ambrosiadeus" + +//////////////// +// Oracle // +//////////////// +/datum/seed/oracle + name = "oracle" + seed_name = "oracle" + display_name = "oracle" + mutants = list("vedamororacle") + chems = list(/singleton/reagent/nutriment = list(1,5), /singleton/reagent/toxin/oracle = list(4,8)) + +/datum/seed/oracle/setup_traits() + ..() + set_trait(TRAIT_HARVEST_REPEAT, 1) + set_trait(TRAIT_MATURATION, 6) + set_trait(TRAIT_PRODUCTION, 6) + set_trait(TRAIT_YIELD, 6) + set_trait(TRAIT_POTENCY, 5) + set_trait(TRAIT_PRODUCT_ICON, "tobacco") + set_trait(TRAIT_PRODUCT_COLOUR, "#ad5555") + set_trait(TRAIT_PLANT_COLOUR, "#ffa2a2") + set_trait(TRAIT_PLANT_ICON, "flower") + set_trait(TRAIT_IDEAL_LIGHT, 6) + +/obj/item/seeds/oracleseed + seed_type = "oracle" + +/datum/seed/oracle/vedamor + name = "vedamororacle" + seed_name = "vedamor oracle" + display_name = "vedamor oracle" + mutants = null + chems = list(/singleton/reagent/nutriment = list(1,5), /singleton/reagent/toxin/oracle/rich = list(4,8)) + +/datum/seed/oracle/vedamor/setup_traits() + ..() + set_trait(TRAIT_PRODUCT_COLOUR,"#ed1c1c") + set_trait(TRAIT_PLANT_COLOUR,"#ad5555") + +/obj/item/seeds/vedamororacleseed + seed_type = "vedamororacle" diff --git a/code/modules/hydroponics/seed_storage.dm b/code/modules/hydroponics/seed_storage.dm index 3d2d1ba65cb..43c8726a17d 100644 --- a/code/modules/hydroponics/seed_storage.dm +++ b/code/modules/hydroponics/seed_storage.dm @@ -80,6 +80,7 @@ /obj/item/seeds/mollusc = 15, /obj/item/seeds/nifberries = 2, /obj/item/seeds/onionseed = 3, + /obj/item/seeds/oracleseed = 3, /obj/item/seeds/orangeseed = 3, /obj/item/seeds/peanutseed = 3, /obj/item/seeds/peppercornseed = 3, @@ -137,6 +138,7 @@ /obj/item/seeds/chantermycelium = 3, /obj/item/seeds/cherryseed = 3, /obj/item/seeds/chiliseed = 3, + /obj/item/seeds/cocaseed = 3, /obj/item/seeds/cocoapodseed = 3, /obj/item/seeds/coffeeseed = 3, /obj/item/seeds/cornseed = 3, @@ -159,6 +161,7 @@ /obj/item/seeds/nettleseed = 2, /obj/item/seeds/nifberries = 2, /obj/item/seeds/onionseed = 3, + /obj/item/seeds/oracleseed = 3, /obj/item/seeds/orangeseed = 3, /obj/item/seeds/peanutseed = 3, /obj/item/seeds/peppercornseed = 3, diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm index e62e6b213f7..46ccec8ebcd 100644 --- a/code/modules/hydroponics/trays/tray.dm +++ b/code/modules/hydroponics/trays/tray.dm @@ -62,7 +62,7 @@ /singleton/reagent/toxin/plantbgone = 3, /singleton/reagent/cryoxadone = -3, /singleton/reagent/radium = 2, - /singleton/reagent/raskara_dust = 2.5 + /singleton/reagent/drugs/raskara_dust = 2.5 ) var/global/list/nutrient_reagents = list( /singleton/reagent/drink/milk = 0.1, diff --git a/code/modules/item_worth/reagents.dm b/code/modules/item_worth/reagents.dm index ef68dd09f81..b6f892d0d9e 100644 --- a/code/modules/item_worth/reagents.dm +++ b/code/modules/item_worth/reagents.dm @@ -765,22 +765,22 @@ /singleton/reagent/polysomnine/beer2 value = 2.2 -/singleton/reagent/space_drugs +/singleton/reagent/drugs/mms value = 2.8 -/singleton/reagent/serotrotium +/singleton/reagent/drugs/serotrotium value = 2.5 -/singleton/reagent/cryptobiolin +/singleton/reagent/drugs/cryptobiolin value = 2 -/singleton/reagent/impedrezene +/singleton/reagent/drugs/impedrezene value = 1.8 -/singleton/reagent/mindbreaker +/singleton/reagent/drugs/mindbreaker value = 0.6 -/singleton/reagent/psilocybin +/singleton/reagent/drugs/psilocybin value = 0.7 /singleton/reagent/aslimetoxin @@ -813,5 +813,5 @@ /singleton/reagent/toxin/undead value = 300 -/singleton/reagent/ambrosia_extract +/singleton/reagent/drugs/ambrosia_extract value = 2.8 diff --git a/code/modules/mob/living/carbon/human/MedicalSideEffects.dm b/code/modules/mob/living/carbon/human/MedicalSideEffects.dm index 05d36071a83..2e3f00023b8 100644 --- a/code/modules/mob/living/carbon/human/MedicalSideEffects.dm +++ b/code/modules/mob/living/carbon/human/MedicalSideEffects.dm @@ -134,7 +134,7 @@ // ==== /datum/medical_effect/itch name = "Itch" - triggers = list(/singleton/reagent/space_drugs = 10) + triggers = list(/singleton/reagent/drugs/mms = 10) cures = list(/singleton/reagent/inaprovaline) cure_message = "The itching stops..." diff --git a/code/modules/mob/living/simple_animal/hostile/sarlacc.dm b/code/modules/mob/living/simple_animal/hostile/sarlacc.dm index edcb54e9f5d..d207d48f54c 100644 --- a/code/modules/mob/living/simple_animal/hostile/sarlacc.dm +++ b/code/modules/mob/living/simple_animal/hostile/sarlacc.dm @@ -396,7 +396,7 @@ if(istype(A, /mob/living)) var/mob/living/L = A if(L.reagents) - var/madhouse = pick(/singleton/reagent/psilocybin,/singleton/reagent/mindbreaker,/singleton/reagent/impedrezene,/singleton/reagent/cryptobiolin,/singleton/reagent/soporific,/singleton/reagent/mutagen) + var/madhouse = pick(/singleton/reagent/drugs/psilocybin,/singleton/reagent/drugs/mindbreaker,/singleton/reagent/drugs/impedrezene,/singleton/reagent/drugs/cryptobiolin,/singleton/reagent/soporific,/singleton/reagent/mutagen) var/madhouse_verbal_component = pick(thoughts) L.reagents.add_reagent(madhouse, 3) to_chat(L, "[madhouse_verbal_component]") diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 85aa7b9baaf..d25123ff979 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -225,7 +225,7 @@ icon_state = "pen_blue" colour = "blue" origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) - reagents_to_add = list(/singleton/reagent/wulumunusha = 2, /singleton/reagent/pacifier = 15, /singleton/reagent/cryptobiolin = 10) + reagents_to_add = list(/singleton/reagent/wulumunusha = 2, /singleton/reagent/pacifier = 15, /singleton/reagent/drugs/cryptobiolin = 10) /obj/item/pen/reagent/hyperzine icon_state = "pen_yellow" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm index 19b4c63e53b..97a893d61bb 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm @@ -1,27 +1,53 @@ -/singleton/reagent/space_drugs - 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." +#define DRUG_MESSAGE_DELAY 90 SECONDS +/singleton/reagent/drugs + name = null + description = DESC_PARENT + taste_description = "a bad investment" + taste_mult = 1.2 + color = "#1a1414" + reagent_state = LIQUID - color = "#60A584" metabolism = REM * 0.5 + breathe_met = REM + ingest_met = REM * 1.5 overdose = REAGENTS_OVERDOSE - taste_description = "bitterness" - taste_mult = 0.4 - breathe_met = REM * 0.5 * 0.5 -/singleton/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."))) + var/effect_messages = TRUE + var/list/initial_effect_message_list = list("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.") + var/list/sober_message_list = list("You feel like garbage now...", "Your head aches.") -/singleton/reagent/space_drugs/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + var/power = 0 + var/ignores_drug_resistance = FALSE + +/singleton/reagent/drugs/initial_effect(mob/living/carbon/human/M, alien, datum/reagents/holder) + if (effect_messages) + var/msg = pick(initial_effect_message_list) + to_chat(M, SPAN_GOOD("[msg]")) + +/singleton/reagent/drugs/affect_blood(mob/living/carbon/M, alien, removed, 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. - if(HAS_TRAIT(M, TRAIT_ORIGIN_DRUG_RESISTANCE)) + power = (M.chem_doses[type] + REAGENT_VOLUME(holder, type))/2 //Larger the dose and volume, the more affected you are by the chemical. + if(HAS_TRAIT(M, TRAIT_ORIGIN_DRUG_RESISTANCE) && !ignores_drug_resistance) power = max(power - 2, 0) +/singleton/reagent/drugs/final_effect(mob/living/carbon/M, datum/reagents/holder) + if (effect_messages) + var/msg = pick(sober_message_list) + to_chat(M, SPAN_WARNING("[msg]")) + +/singleton/reagent/drugs/mms + 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." + color = "#60A584" + taste_description = "bitterness" + taste_mult = 0.4 + +/singleton/reagent/drugs/mms/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) + ..() + M.druggy = max(M.druggy, power) M.add_chemical_effect(CE_PAINKILLER, 5 + round(power,5)) @@ -40,14 +66,14 @@ if(prob(probmod) && isturf(M.loc) && !istype(M.loc, /turf/space) && M.canmove && !M.restrained()) step(M, pick(cardinal)) - if(prob(3)) + if(prob(7)) M.emote(pick("smile","giggle","moan","yawn","laugh","drool","twitch")) -/singleton/reagent/space_drugs/overdose(var/mob/living/carbon/M, var/alien, var/removed = 0, var/scale = 1, var/datum/reagents/holder) - . = ..() +/singleton/reagent/drugs/mms/overdose(mob/living/carbon/M, alien, removed = 0, scale = 1, datum/reagents/holder) + ..() M.hallucination = max(M.hallucination, 30 * scale) -/singleton/reagent/serotrotium +/singleton/reagent/drugs/serotrotium name = "Serotrotium" description = "A chemical compound that promotes concentrated production of the serotonin neurotransmitter in humans." reagent_state = LIQUID @@ -56,51 +82,62 @@ overdose = REAGENTS_OVERDOSE taste_description = "bitterness" fallback_specific_heat = 1.2 + effect_messages = FALSE + +/singleton/reagent/drugs/serotrotium/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) + ..() -/singleton/reagent/serotrotium/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) || (istype(H) && (H.species.flags & NO_BLOOD))) //If we're not human OR if we're human but don't have blood. - return if(prob(7)) M.emote(pick("twitch", "drool", "moan", "gasp")) return -/singleton/reagent/cryptobiolin +/singleton/reagent/drugs/serotrotium/overdose(mob/living/carbon/M, alien, removed = 0, scale = 1, datum/reagents/holder) + ..() + M.bodytemperature = max(M.bodytemperature + 1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0) + M.add_chemical_effect(CE_PULSE, 2) + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("You feel so hot...", "Why is it so hot!?"))) + M.make_jittery(10) + M.dizziness = max(150, M.dizziness) + M.make_dizzy(10) + +/singleton/reagent/drugs/cryptobiolin name = "Cryptobiolin" - description = "Cryptobiolin causes confusion and dizzyness." + description = "Cryptobiolin causes confusion and dizziness." reagent_state = LIQUID color = "#000055" metabolism = REM * 0.5 overdose = REAGENTS_OVERDOSE taste_description = "sourness" + effect_messages = FALSE -/singleton/reagent/cryptobiolin/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 +/singleton/reagent/drugs/cryptobiolin/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) + ..() M.dizziness = max(150, M.dizziness)//Setting dizziness directly works as long as the make_dizzy proc is called after to spawn the process M.make_dizzy(4) - M.add_chemical_effect(CE_HALLUCINATE, 1) - M.confused = max(M.confused, 20) + M.add_chemical_effect(CE_HALLUCINATE, power) + M.confused = max(M.confused, power) -/singleton/reagent/impedrezene +/singleton/reagent/drugs/impedrezene name = "Impedrezene" description = "Impedrezene is a narcotic that impedes one's ability by slowing down the higher brain cell functions." reagent_state = LIQUID color = "#C8A5DC" overdose = REAGENTS_OVERDOSE taste_description = "numbness" + effect_messages = FALSE -/singleton/reagent/impedrezene/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/impedrezene/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) + ..() M.jitteriness = max(M.jitteriness - 5, 0) - M.confused = max(M.confused, 10) + M.confused = max(M.confused, power) M.add_chemical_effect(CE_NEUROTOXIC, 2*removed) if(prob(50)) M.drowsiness = max(M.drowsiness, 3) if(prob(10) && ishuman(M)) M.emote("drool") -/singleton/reagent/mindbreaker +/singleton/reagent/drugs/mindbreaker name = "Mindbreaker Toxin" description = "An incredibly potent hallucinogen designed to wreak havoc on the brain, resulting in disturbing hallucinations with long-term impacts on those given the drug - this drug is not pleasant, thus the name, and only hardcore addicts use the drug recreationally." reagent_state = LIQUID @@ -108,19 +145,21 @@ metabolism = REM * 0.25 overdose = REAGENTS_OVERDOSE taste_description = "sourness" + ignores_drug_resistance = TRUE -/singleton/reagent/mindbreaker/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/mindbreaker/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) + ..() M.hallucination = max(M.hallucination, 100) M.add_chemical_effect(CE_HALLUCINATE, 2) M.add_chemical_effect(CE_NEUROTOXIC, 2*removed) -/singleton/reagent/mindbreaker/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/mindbreaker/overdose(mob/living/carbon/M, alien, removed, 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) + 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!"))) -/singleton/reagent/psilocybin +/singleton/reagent/drugs/psilocybin name = "Psilocybin" description = "A strong psychotropic derived from certain species of mushroom." color = "#E700E7" @@ -133,10 +172,9 @@ condiment_icon_state = "psilocybin" condiment_center_of_mass = list("x"=16, "y"=8) -/singleton/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."))) + initial_effect_message_list = list("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.") -/singleton/reagent/psilocybin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/psilocybin/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) var/mob/living/carbon/human/H = M if(istype(H) && (H.species.flags & NO_BLOOD)) return @@ -148,7 +186,7 @@ if(dose < 1) M.apply_effect(3, STUTTER) M.make_dizzy(5) - if(prob(3)) + if(prob(5)) 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) @@ -156,7 +194,7 @@ M.dizziness = max(150, M.dizziness) M.make_dizzy(5) M.druggy = max(M.druggy, 35) - if(prob(3)) + if(prob(5)) 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) @@ -164,19 +202,18 @@ M.dizziness = max(150, M.dizziness) M.make_dizzy(10) M.druggy = max(M.druggy, 40) - if(prob(3)) + if(prob(5)) 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")) -/singleton/reagent/psilocybin/overdose(var/mob/living/carbon/M, var/datum/reagents/holder) +/singleton/reagent/drugs/psilocybin/overdose(mob/living/carbon/M, 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."))) + 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) -/singleton/reagent/raskara_dust +/singleton/reagent/drugs/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 @@ -187,32 +224,33 @@ breathe_met = REM * 0.2 ingest_met = REM * 0.3 -/singleton/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."))) + initial_effect_message_list = list("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.") -/singleton/reagent/raskara_dust/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + var/effect_message_list = list("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.") + +/singleton/reagent/drugs/raskara_dust/affect_ingest(mob/living/carbon/M, alien, removed, 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."))) + to_chat(M, SPAN_GOOD(pick(effect_message_list))) -/singleton/reagent/raskara_dust/affect_breathe(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/raskara_dust/affect_breathe(mob/living/carbon/M, alien, removed, 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."))) + to_chat(M, SPAN_GOOD(pick(effect_message_list))) -/singleton/reagent/raskara_dust/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/raskara_dust/affect_blood(mob/living/carbon/M, alien, removed, 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."))) + if(prob(3)) + to_chat(M, SPAN_GOOD(pick(effect_message_list))) -/singleton/reagent/raskara_dust/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/raskara_dust/overdose(mob/living/carbon/M, alien, removed, 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)) @@ -221,7 +259,7 @@ else M.seizure() -/singleton/reagent/night_juice +/singleton/reagent/drugs/night_juice name = "Nightlife" description = "A liquid narcotic commonly used by the more wealthy drug-abusing citizens of the Eridani Federation. Works as a potent stimulant that causes extreme awakefulness. Lethal in high doses." reagent_state = LIQUID @@ -233,16 +271,14 @@ breathe_mul = 0.5 ingest_mul = 0.125 -/singleton/reagent/night_juice/initialize_data(newdata, datum/reagents/holder) + initial_effect_message_list = list("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!") + +/singleton/reagent/drugs/night_juice/initialize_data(newdata, datum/reagents/holder) . = ..() LAZYSET(., "special", 0) -/singleton/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!"))) - -/singleton/reagent/night_juice/affect_blood(var/mob/living/carbon/human/M, var/alien, var/removed, var/datum/reagents/holder) - if(!istype(M)) - return +/singleton/reagent/drugs/night_juice/affect_blood(mob/living/carbon/human/M, alien, removed, datum/reagents/holder) + ..() holder.reagent_data[type]["special"] += (REAGENT_VOLUME(holder, type)/10)*removed @@ -260,16 +296,16 @@ var/obj/item/organ/H = M.internal_organs_by_name[BP_HEART] H.take_damage(holder.reagent_data[type]["special"] * removed * 0.025) -/singleton/reagent/night_juice/overdose(var/mob/living/carbon/human/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/night_juice/overdose(mob/living/carbon/human/M, alien, removed, 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) -/singleton/reagent/guwan_painkillers + +/singleton/reagent/drugs/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 crippling pain." reagent_state = LIQUID @@ -278,11 +314,13 @@ metabolism = REM * 0.25 overdose = 10 fallback_specific_heat = 1 + ignores_drug_resistance = TRUE + effect_messages = FALSE -/singleton/reagent/guwan_painkillers/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/guwan_painkillers/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) affect_ingest(M, alien, removed*0.5, holder) -/singleton/reagent/guwan_painkillers/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/guwan_painkillers/affect_ingest(mob/living/carbon/M, alien, removed, datum/reagents/holder) var/dose = M.chem_doses[type] if(dose > 5 && REAGENT_VOLUME(holder, type) <= 3) M.adjustHalLoss(removed*300) //So oxycomorphine can't be used with it. @@ -304,7 +342,7 @@ overdose = 10 strength = 3 -/singleton/reagent/toxin/stimm/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/toxin/stimm/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) if(alien == IS_TAJARA) removed *= 1.25 ..() @@ -324,7 +362,7 @@ metabolism = REM overdose = 15 -/singleton/reagent/toxin/krok/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/toxin/krok/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) var/mob/living/carbon/human/H = M if(!istype(H)) return @@ -364,7 +402,7 @@ condiment_desc = "A small dropper bottle full of a stoner's paradise. A warning label warns of muteness as a side effect." condiment_icon_state = "wuluextract" -/singleton/reagent/wulumunusha/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/wulumunusha/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) M.druggy = max(M.druggy, 100) M.silent = max(M.silent, 5) if(prob(3) && !isskrell(M)) @@ -372,11 +410,11 @@ 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."))) -/singleton/reagent/wulumunusha/overdose(var/mob/living/carbon/M, var/alien, var/removed = 0, var/scale = 1, var/datum/reagents/holder) +/singleton/reagent/wulumunusha/overdose(mob/living/carbon/M, alien, removed = 0, scale = 1, datum/reagents/holder) if(isskrell(M)) M.hallucination = max(M.hallucination, 10 * scale) //light hallucinations that afflict skrell -/singleton/reagent/ambrosia_extract +/singleton/reagent/drugs/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 @@ -392,16 +430,10 @@ condiment_center_of_mass = list("x"=16, "y"=8) -/singleton/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 +/singleton/reagent/drugs/ambrosia_extract/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) + ..() 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. - if(HAS_TRAIT(M, TRAIT_ORIGIN_DRUG_RESISTANCE)) - power = max(power - 5, 0) - M.add_chemical_effect(CE_PAINKILLER, 5 + round(power,5)) if(power < 15) @@ -418,11 +450,11 @@ 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?"))) -/singleton/reagent/ambrosia_extract/overdose(var/mob/living/carbon/M, var/alien, var/removed = 0, var/scale = 1, var/datum/reagents/holder) - . = ..() +/singleton/reagent/drugs/ambrosia_extract/overdose(mob/living/carbon/M, alien, removed = 0, scale = 1, datum/reagents/holder) + ..() M.hallucination = max(M.hallucination, 30 * scale) -/singleton/reagent/joy +/singleton/reagent/drugs/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 @@ -432,12 +464,13 @@ od_minimum_dose = 2 taste_description = "tranquility" -/singleton/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."))) + initial_effect_message_list = list("You feel a numbing sensation spread from within you.", "A numbing sensation builds within you.", "Everything will be okay... just relax.") + sober_message_list = list("You feel grounded in the real world again... for better or worse.") -/singleton/reagent/joy/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/joy/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) M.add_chemical_effect(CE_PAINKILLER, 100) M.add_chemical_effect(CE_NEUROTOXIC, 4*removed) + M.adjustCloneLoss(6*removed) M.add_chemical_effect(CE_PACIFIED, 1) M.eye_blurry = max(M.eye_blurry, 30) M.drowsiness = max(M.drowsiness, 10) @@ -449,7 +482,7 @@ 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."))) -/singleton/reagent/joy/overdose(var/mob/living/carbon/M, var/alien, var/removed = 0, var/datum/reagents/holder) +/singleton/reagent/drugs/joy/overdose(mob/living/carbon/M, alien, removed, scale, datum/reagents/holder) M.ear_deaf = 20 M.add_chemical_effect(CE_EMETIC, M.chem_doses[type]) M.adjustOxyLoss(2 * removed) @@ -458,10 +491,7 @@ 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."))) -/singleton/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.")) - -/singleton/reagent/xuxigas +/singleton/reagent/drugs/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 Nralakk Federation are cheap, synthetic substitutes. Only works when inhaled." color = "#58D373" @@ -470,21 +500,26 @@ overdose = REAGENTS_OVERDOSE breathe_met = REM*0.2 -/singleton/reagent/xuxigas/affect_breathe(var/mob/living/carbon/human/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/xuxigas/affect_breathe(mob/living/carbon/human/M, alien, removed, 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?"))) + var/message_list = list("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.") + var/message_type = "good" + if(isskrell(M)) + message_list += list("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?") + message_type = "alium" + else + message_list += list("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.") -/singleton/reagent/xuxigas/overdose(var/mob/living/carbon/human/M, var/alien, var/removed, var/datum/reagents/holder) + if(prob(5)) + to_chat(M, span(message_type, pick(message_list))) + + +/singleton/reagent/drugs/xuxigas/overdose(mob/living/carbon/human/M, alien, removed, scale, 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."))) -/singleton/reagent/skrell_nootropic +/singleton/reagent/drugs/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" @@ -496,7 +531,7 @@ var/psi_boosted = FALSE var/initial_stamina -/singleton/reagent/skrell_nootropic/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/skrell_nootropic/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) if(M.psi && !psi_boosted) initial_stamina = M.psi.max_stamina M.psi.max_stamina = M.psi.max_stamina*1.25 @@ -504,14 +539,121 @@ 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!"))) -/singleton/reagent/skrell_nootropic/final_effect(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/skrell_nootropic/final_effect(mob/living/carbon/M, alien, removed, datum/reagents/holder) if(M.psi && psi_boosted) M.psi.max_stamina = initial_stamina psi_boosted = FALSE -/singleton/reagent/skrell_nootropic/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) +/singleton/reagent/drugs/skrell_nootropic/overdose(mob/living/carbon/M, alien, removed, 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..."))) + +/singleton/reagent/drugs/cocaine + name = "Cocaine" + description = "A recreational drug known for its sharp, but short, energy boost. Very commonly used by cytherians on Venus." + taste_description = "numbing powder" + color = "#FFFFFF" + + initial_effect_message_list = list("You feel... happy...", "A numbing sensation comes over you...", "Reality feels... distant now...") + sober_message_list = list("You feel like garbage now...", "Your head aches.") + + overdose = 10 + ingest_met = REM * 0.25 // Stomach acid slows rate of absorption + + var/painkiller_mul = 1 + +/singleton/reagent/drugs/cocaine/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) + ..() + M.add_chemical_effect(CE_PAINKILLER, painkiller_mul * power * 40) + if(prob(7)) + M.emote(pick("shiver", "sniff")) + +/singleton/reagent/drugs/cocaine/overdose(mob/living/carbon/M, alien, removed, scale, datum/reagents/holder) + ..() + M.add_chemical_effect(CE_HALLUCINATE, power) + M.apply_effect(1, STUTTER) + M.make_jittery(power - 6) + M.add_chemical_effect(CE_NEUROTOXIC, removed / 3) + M.add_chemical_effect(CE_CARDIOTOXIC, removed * 2) + if(prob(10)) + M.add_chemical_effect(CE_NOPULSE, power) + +/singleton/reagent/drugs/cocaine/contemplus + name = "Contemplus" + description = "A designer varient of cocaine originating from Venus. This is designed to enhance the brain activity to provide enhanced thinking abilities." + color = "#fff200" + + sober_message_list = list("You don't feel quite so knowledgable anymore...") + + painkiller_mul = 0.8 // Not as good a painkiller + +/singleton/reagent/drugs/cocaine/contemplus/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) + ..() + if(prob(7)) + to_chat(M, SPAN_GOOD(pick("You've got an idea for something.", "You figured out that problem you were having trouble with.", "You think you know what to do now."))) + + +/singleton/reagent/drugs/cocaine/spotlight + name = "Spotlight" + description = "A designer varient of cocaine originating from Venus. Commonly used by the acting scene, this is designed to increase the user's confidence." + color = "#8dff64" + + sober_message_list = list("Your newfound confidence is gone...", "You don't feel so sure about yourself anymore...") + + painkiller_mul = 1.2 // Actors that do their own stunts will want this + +/singleton/reagent/drugs/cocaine/sparkle + name = "Sparkle" + description = "A designer variant of cocaine originating from Venus. Primarily present in the nightlife scene, this is designed to decrease a user's inhibitions and increase pleasure." + color = "#f704d6" + + painkiller_mul = 1.5 + +/singleton/reagent/drugs/cocaine/sparkle/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) + ..() + if(prob(7)) + to_chat(M, SPAN_GOOD(pick("You begin to notice a rhythm to all the sounds around you.", "You feel euphoric!", "You could start a party right now!", "Live in the moment!", "All your anxieties seem to fade away."))) + + M.druggy = max(M.druggy, power) + if(prob(15)) + M.emote(pick("laugh", "chuckle", "giggle")) + +/singleton/reagent/drugs/heroin + name = "Heroin" + description = "An extremely potent but dangerous and addictive opiate refined from morphine, its use is nearly-universally banned across the Orion Spur. The possession and usage of heroin is illegal in the Republic of Biesel." + reagent_state = SOLID + color = "#ffffff" + metabolism_min = 0.5 + overdose = 5 + od_minimum_dose = 2 + +/singleton/reagent/drugs/heroin/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) + ..() + if(prob(7)) + 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, 180) + if(!M.chem_effects[CE_CLEARSIGHT]) + M.eye_blurry = max(M.eye_blurry, 10) + if(!M.chem_effects[CE_STRAIGHTWALK]) + M.confused = max(M.confused, 20) + + var/mob/living/carbon/human/H = M + if(!istype(H)) + return + var/bac = H.get_blood_alcohol() + if(bac >= 0.01) + overdose(M, alien, removed, holder) // Straight to overdose + +/singleton/reagent/drugs/heroin/overdose(mob/living/carbon/M, alien, removed, datum/reagents/holder) + ..() + M.druggy = max(M.druggy, 20) + M.add_chemical_effect(CE_EMETIC, M.chem_doses[type]) + if(M.losebreath < 15) + M.losebreath++ + +#undef DRUG_MESSAGE_DELAY 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 3fa419ef571..f52f73ca19b 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -514,6 +514,18 @@ M.adjustToxLoss(1.5 * removed) //Copied from tea. though i feel it should be stronger as its not diluted with water +/singleton/reagent/nutriment/cocagrounds + name = "Coca Grounds" + description = "Enjoy the great taste of tea." + reagent_state = SOLID + nutriment_factor = 1 + color = "#056608" + taste_description = "potent gritty tea" + taste_mult = 0.4 + condiment_name = "ground tea" + condiment_icon_state = "tea" + condiment_center_of_mass = list("x"=16, "y"=8) + /singleton/reagent/nutriment/soysauce name = "Soy Sauce" description = "A salty sauce made from the soy plant." @@ -1732,6 +1744,18 @@ glass_name = "glass of tropical iced tea" glass_desc = "For maximum enjoyment, drink while at the beach on a warm summer day." +/singleton/reagent/drink/tea/cocatea + name = "Mate de Coca" + description = "An herbal tea made of coca leaves, this tea originated in South America in the Andean countries, and is still consumed there and in Mictlan to this day." + color = "#adff2f" + taste_description = "mildly bitter, but sweet" + + glass_icon_state = "bigteacup" + glass_name = "cup of mate de coca" + glass_desc = "An herbal tea made of coca leaves, this tea originated in South America in the Andean countries, and is still consumed there and in Mictlan to this day." + adj_dizzy = -1 + adj_drowsy = -3 + adj_sleepy = -3 //Coffee //========== @@ -2168,6 +2192,22 @@ glass_desc = "A glass of refreshing Comet Cola" glass_center_of_mass = list("x"=17, "y"=6) +/singleton/reagent/drink/coca_cola + name = "Coca Cola" + description = "A very refreshing beverage, not for children." + reagent_state = LIQUID + color = "#080400" + adj_dizzy = -1 + adj_drowsy = -5 + adj_sleepy = -3 + taste_description = "a very strong cola" + carbonated = TRUE + + glass_icon_state = "spacecola" + glass_name = "glass of coca cola" + glass_desc = "A glass of very refreshing coca cola." + glass_center_of_mass = list("x"=17, "y"=6) + /singleton/reagent/drink/spacemountainwind name = "Stellar Jolt" description = "For those who have a stronger need for caffeine than they have sense." diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm index 4cf97649c03..c508adb1889 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm @@ -345,9 +345,120 @@ if(!M.chem_effects[CE_STRAIGHTWALK]) M.confused = max(M.confused, 6) +/singleton/reagent/morphine + name = "Morphine" + description = "Morphine is a very strong medication derived from the opium plant. It is extremely effective at treating severe pain. The drug is highly addictive and sense-numbing. Unlike other painkillers, morphine can be inhaled." + reagent_state = LIQUID + color = "#5c4033" + overdose = 20 + od_minimum_dose = 2 + specific_heat = 1 + scannable = TRUE + metabolism = REM / 3.33 // 0.06ish units per tick + ingest_met = REM / 1.5 // Should be 0.13 units per tick + breathe_met = REM * 4 // .8 units per tick + specific_heat = 1.2 + +/singleton/reagent/morphine/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."))) + +/singleton/reagent/morphine/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, 120) + M.add_chemical_effect(CE_SLOWDOWN, 1) + if(!M.chem_effects[CE_CLEARSIGHT]) + M.eye_blurry = max(M.eye_blurry, 5) + if(!M.chem_effects[CE_STRAIGHTWALK]) + M.confused = max(M.confused, 15) + + var/mob/living/carbon/human/H = M + if(!istype(H)) + return + var/bac = H.get_blood_alcohol() + if(bac >= 0.02) + M.hallucination = max(M.hallucination, bac * 300) + M.druggy = max(M.druggy, bac * 100) + M.add_chemical_effect(CE_EMETIC, M.chem_doses[type]/6) + if(bac >= 0.04) + if(prob(3)) + to_chat(M, SPAN_WARNING(pick("You're having trouble breathing.", "You begin to feel a bit light headed.", "Your breathing is very shallow.", ""))) + if(M.losebreath < 15) + M.losebreath++ + +/singleton/reagent/morphine/overdose(var/mob/living/carbon/M, var/alien, var/datum/reagents/holder) + ..() + M.druggy = max(M.druggy, 20) + M.add_chemical_effect(CE_EMETIC, M.chem_doses[type]/6) + if(M.losebreath < 15) + M.losebreath++ + +/singleton/reagent/tramarine + name = "Tramarine" + description = "Tramarine is a synthetic form of morphine developed by NanoTrasen early in its history, that can be used in its place for most medical purposes. It is known to be more dangerous however with alcohol, other opiods, or an overdose." + reagent_state = LIQUID + color = "#c4a05d" + overdose = 20 + od_minimum_dose = 2 + scannable = TRUE + metabolism = REM / 3.33 // 0.06ish units per tick + ingest_met = REM / 1.5 // Should be 0.13 units per tick + breathe_met = REM * 4 // .8 units per tick + +/singleton/reagent/tramarine/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."))) + +/singleton/reagent/tramarine/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, 90) + M.add_chemical_effect(CE_SLOWDOWN, 2) + if(!M.chem_effects[CE_CLEARSIGHT]) + M.eye_blurry = max(M.eye_blurry, 5) + if(!M.chem_effects[CE_STRAIGHTWALK]) + M.confused = max(M.confused, 15) + if(prob(7)) + M.emote(pick("twitch", "drool", "moan", "gasp")) + + var/mob/living/carbon/human/H = M + if(!istype(H)) + return + var/bac = H.get_blood_alcohol() + if(bac >= 0.02) + M.hallucination = max(M.hallucination, bac * 300) + M.druggy = max(M.druggy, bac * 100) + M.add_chemical_effect(CE_EMETIC, M.chem_doses[type]/6) + if(bac >= 0.04) + if(prob(3)) + to_chat(M, SPAN_WARNING(pick("You're having trouble breathing.", "You begin to feel a bit light headed.", "Your breathing is very shallow.", ""))) + if(M.losebreath < 15) + M.losebreath++ + M.bodytemperature = max(M.bodytemperature + 1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0) + M.add_chemical_effect(CE_PULSE, 2) + if(prob(3)) + to_chat(M, SPAN_WARNING(pick("You feel so hot...", "Why is it so hot!?"))) + +/singleton/reagent/tramarine/overdose(mob/living/carbon/M, alien, datum/reagents/holder) + ..() + M.druggy = max(M.druggy, 20) + M.add_chemical_effect(CE_EMETIC, M.chem_doses[type]/6) + if(M.losebreath < 15) + M.losebreath++ + M.bodytemperature = max(M.bodytemperature + 1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0) + M.add_chemical_effect(CE_PULSE, 2) + if(prob(3)) + to_chat(M, SPAN_WARNING(pick("You feel so hot...", "Why is it so hot!?"))) + M.make_jittery(10) + M.dizziness = max(150, M.dizziness) + M.make_dizzy(10) + /singleton/reagent/oxycomorphine name = "Oxycomorphine" - description = "Oxycomorphine is a highly advanced, powerful analgesic medication which is extremely effective at treating severe-agonising pain as a result of injuries usually incompatible with life. The drug is highly addictive and sense-numbing. Oxycomorphine is not effective when inhaled." + description = "Oxycomorphine is a highly advanced, powerful analgesic medication which is extremely effective at treating severe-agonising pain as a result of injuries usually incompatible with life. The drug is highly addictive and sense-numbing. Unlike other painkillers, oxycomorphine can be inhaled." reagent_state = LIQUID color = "#800080" overdose = 10 @@ -358,7 +469,6 @@ breathe_met = REM * 4 // .8 units per tick taste_description = "bitterness" metabolism_min = 0.005 - breathe_mul = 0 /singleton/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."))) @@ -369,6 +479,7 @@ if(check_min_dose(M)) M.add_chemical_effect(CE_PAINKILLER, 200) + M.add_chemical_effect(CE_SLOWDOWN, 2) if(!M.chem_effects[CE_CLEARSIGHT]) M.eye_blurry = max(M.eye_blurry, 5) if(!M.chem_effects[CE_STRAIGHTWALK]) @@ -416,7 +527,7 @@ M.AdjustParalysis(-1) M.AdjustStunned(-1) M.AdjustWeakened(-1) - holder.remove_reagent(/singleton/reagent/mindbreaker, 5) + holder.remove_reagent(/singleton/reagent/drugs/mindbreaker, 5) M.hallucination = max(0, M.hallucination - 10) M.eye_blurry = max(M.eye_blurry - 5, 0) M.confused = max(M.confused - 10, 0) @@ -1001,7 +1112,6 @@ if(H.chem_doses[type] < overdose && H.shock_stage < 5) //Don't want feel-good messages when we're suffering an OD or particularly hurt/injured to_chat(H, SPAN_GOOD("[pick(goodmessage)]")) - LAZYINITLIST(holder.reagent_data) LAZYSET(holder.reagent_data[type], "last_tick_time", world.time + (messagedelay)) /singleton/reagent/mental/overdose(var/mob/living/carbon/M, var/alien, var/datum/reagents/holder) @@ -1020,10 +1130,29 @@ goodmessage = list("You feel good.","You feel relaxed.","You feel alert and focused.") /singleton/reagent/mental/nicotine/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/scale, var/datum/reagents/holder) - . = ..() + ..() M.adjustOxyLoss(10 * removed * scale) M.add_chemical_effect(CE_PULSE, 0.5) +/singleton/reagent/mental/caromeg + name = "Caromeg" + description = "Caromeg is a stimulant commonly found in oracle products. It encourages sociability and pleasure, but in high doses can promote paranoia, severe fever, and brain damage." + reagent_state = LIQUID + color = "#230101" + metabolism = 0.0016 * REM + overdose = 15 + od_minimum_dose = 3 + taste_description = "sour staleness" + messagedelay = MEDICATION_MESSAGE_DELAY * 0.75 + goodmessage = list("You feel like talking a bit more.", "You feel better than usual.", "Your anxieties disappear.") + +/singleton/reagent/mental/caromeg/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/scale, var/datum/reagents/holder) + ..() + M.bodytemperature = max(M.bodytemperature + 1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0) + M.add_chemical_effect(CE_NEUROTOXIC, 1 * removed * scale) + if (prob(3)) + to_chat(M, SPAN_DANGER(pick("Everyone around you is plotting against you...", "They are laughing at you, not with you...", "They'll kill you if you're not careful...", "You can't trust anybody..."))) + /singleton/reagent/mental/corophenidate name = "Corophenidate" description = "Corophenidate is a new generation, psychoactive stimulant used in the treatment of ADHD and ADD. It has far fewer side effects than previous generations of CNS stimulants. Withdrawal symptoms include hallucinations and disruption of focus." @@ -1523,6 +1652,17 @@ var/obj/item/organ/internal/heart = M.internal_organs_by_name[BP_HEART] M.add_chemical_effect(CE_CARDIOTOXIC, heart.max_damage * 0.05) +/singleton/reagent/menthol + name = "Menthol" + description = "Tastes naturally minty, and imparts a very mild numbing sensation." + taste_description = "mint" + reagent_state = LIQUID + color = "#80af9c" + metabolism = REM * 0.002 + overdose = REAGENTS_OVERDOSE + scannable = TRUE + specific_heat = 1.0 + //Secret Chems /singleton/reagent/elixir name = "Elixir of Life" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm index 1ed62e8b428..9d3454abc90 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm @@ -674,6 +674,33 @@ nicotine = REM * 0.1 taste_mult = 2 +/singleton/reagent/toxin/oracle + name = "Oracle" + description = "Oracle originates from Vysoka, where it is often chewed, or dried and smoked or snorted. This is a common variant." + reagent_state = SOLID + color = "#ad5555" + taste_description = "tartness" + strength = 0 + taste_mult = 10 + var/caromeg = 0.2 + +/singleton/reagent/toxin/oracle/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + holder.add_reagent(/singleton/reagent/mental/caromeg, removed * caromeg) + +/singleton/reagent/toxin/oracle/rich + name = "Vedamor Oracle" + color = "#ed1c1c" + description = "Vedamor is a city-state on Vysoka, renown for its high-quality soil. Their oracle is renown for being sweeter and more effective than the common variety." + taste_description = "sweetness" + caromeg = 0.5 + +/singleton/reagent/toxin/oracle/liquid + name = "Caromeg Solution" + description = "A diluted caromeg solution, refined from oracle." + reagent_state = LIQUID + caromeg = REM * 0.1 + taste_mult = 2 + /mob/living/carbon/human/proc/berserk_start() to_chat(src, SPAN_DANGER("An uncontrollable rage courses through your body and overtakes your thoughts - your blood begins to boil with fury!")) add_client_color(/datum/client_color/berserk) diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index f8877e44c6b..0bbef8d7e34 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -175,8 +175,30 @@ name = "Oxycomorphine" id = "oxycomorphine" result = /singleton/reagent/oxycomorphine - required_reagents = list(/singleton/reagent/alcohol = 1, /singleton/reagent/mortaphenyl = 1) + required_reagents = list(/singleton/reagent/morphine = 1, /singleton/reagent/mortaphenyl = 1) catalysts = list(/singleton/reagent/toxin/phoron = 5) + result_amount = 2 + +/datum/chemical_reaction/tramarineoxycomorphine + name = "Oxycomorphine (Artificial)" + id = "oxycomorphineartificial" + result = /singleton/reagent/oxycomorphine + required_reagents = list(/singleton/reagent/tramarine = 1, /singleton/reagent/mortaphenyl = 1) + catalysts = list(/singleton/reagent/toxin/phoron = 5) + result_amount = 1 + +/datum/chemical_reaction/heroin + name = "Heroin" + id = "heroin" + result = /singleton/reagent/drugs/heroin + required_reagents = list(/singleton/reagent/morphine = 2, /singleton/reagent/acetone = 2) + result_amount = 1 + +/datum/chemical_reaction/tramarineheroin + name = "Heroin (Artificial)" + id = "heroinartificial" + result = /singleton/reagent/drugs/heroin + required_reagents = list(/singleton/reagent/tramarine = 3, /singleton/reagent/acetone = 2) result_amount = 1 /datum/chemical_reaction/sterilizine @@ -207,13 +229,41 @@ required_reagents = list(/singleton/reagent/aluminum = 1, /singleton/reagent/iron = 1, /singleton/reagent/acetone = 1) result_amount = 3 -/datum/chemical_reaction/space_drugs +/datum/chemical_reaction/mms name = "Mercury Monolithium Sucrose" id = "space_drugs" - result = /singleton/reagent/space_drugs + result = /singleton/reagent/drugs/mms required_reagents = list(/singleton/reagent/mercury = 1, /singleton/reagent/sugar = 1, /singleton/reagent/lithium = 1) result_amount = 3 +/datum/chemical_reaction/cocaine + name = "Cocaine" + id = "cocaine" + result = /singleton/reagent/drugs/cocaine + required_reagents = list(/singleton/reagent/nutriment/cocagrounds = 1, /singleton/reagent/acid/hydrochloric = 1) + result_amount = 1 + +/datum/chemical_reaction/contemplus + name = "Contemplus" + id = "contemplus" + result = /singleton/reagent/drugs/cocaine/contemplus + required_reagents = list(/singleton/reagent/drugs/cocaine = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/mental/emoxanyl = 1) + result_amount = 2 + +/datum/chemical_reaction/spotlight + name = "Spotlight" + id = "spotlight" + result = /singleton/reagent/drugs/cocaine/spotlight + required_reagents = list(/singleton/reagent/drugs/cocaine = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/mental/parvosil = 1) + result_amount = 2 + +/datum/chemical_reaction/sparkle + name = "Sparkle" + id = "sparkle" + result = /singleton/reagent/drugs/cocaine/sparkle + required_reagents = list(/singleton/reagent/drugs/cocaine = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/mental/minaphobin = 1) + result_amount = 2 + /datum/chemical_reaction/lube name = "Space Lube" id = "lube" @@ -252,7 +302,7 @@ /datum/chemical_reaction/impedrezene name = "Impedrezene" id = "impedrezene" - result = /singleton/reagent/impedrezene + result = /singleton/reagent/drugs/impedrezene required_reagents = list(/singleton/reagent/mercury = 1, /singleton/reagent/acetone = 1, /singleton/reagent/sugar = 1) result_amount = 2 @@ -290,7 +340,7 @@ /datum/chemical_reaction/cryptobiolin name = "Cryptobiolin" id = "cryptobiolin" - result = /singleton/reagent/cryptobiolin + result = /singleton/reagent/drugs/cryptobiolin required_reagents = list(/singleton/reagent/potassium = 1, /singleton/reagent/acetone = 1, /singleton/reagent/sugar = 1) result_amount = 3 @@ -379,7 +429,7 @@ name = "Thetamycin" id = "thetamycin" result = /singleton/reagent/thetamycin - required_reagents = list(/singleton/reagent/cryptobiolin = 1, /singleton/reagent/dylovene = 1) + required_reagents = list(/singleton/reagent/drugs/cryptobiolin = 1, /singleton/reagent/dylovene = 1) result_amount = 2 /datum/chemical_reaction/steramycin @@ -407,7 +457,7 @@ name = "Cetahydramine" id = "cetahydramine" result = /singleton/reagent/cetahydramine - required_reagents = list(/singleton/reagent/cryptobiolin = 1, /singleton/reagent/inaprovaline = 1) + required_reagents = list(/singleton/reagent/drugs/cryptobiolin = 1, /singleton/reagent/inaprovaline = 1) result_amount = 2 /datum/chemical_reaction/asinodryl @@ -492,7 +542,7 @@ /datum/chemical_reaction/mindbreaker name = "Mindbreaker Toxin" id = "mindbreaker" - result = /singleton/reagent/mindbreaker + result = /singleton/reagent/drugs/mindbreaker required_reagents = list(/singleton/reagent/silicon = 1, /singleton/reagent/hydrazine = 1, /singleton/reagent/dylovene = 1) result_amount = 3 @@ -603,7 +653,7 @@ name = "Rezadone" id = "rezadone" result = /singleton/reagent/rezadone - required_reagents = list(/singleton/reagent/toxin/carpotoxin = 1, /singleton/reagent/cryptobiolin = 1, /singleton/reagent/copper = 1) + required_reagents = list(/singleton/reagent/toxin/carpotoxin = 1, /singleton/reagent/drugs/cryptobiolin = 1, /singleton/reagent/copper = 1) result_amount = 3 /datum/chemical_reaction/lexorin @@ -693,20 +743,28 @@ required_reagents = list(/singleton/reagent/dylovene = 1, /singleton/reagent/carbon = 1, /singleton/reagent/sulfur = 1) result_amount = 2 +/datum/chemical_reaction/tramarine + name = "Tramarine" + id = "tramarine" + result = /singleton/reagent/tramarine + required_reagents = list(/singleton/reagent/toxin/potassium_chloride = 1, /singleton/reagent/polysomnine = 1) + catalysts = list(/singleton/reagent/sodium = 5) + result_amount = 1 + //Mental Medication /datum/chemical_reaction/corophenidate name = "Corophenidate" id = "corophenidate" result = /singleton/reagent/mental/corophenidate - required_reagents = list(/singleton/reagent/mindbreaker = 1, /singleton/reagent/hydrazine = 1) + required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/hydrazine = 1) result_amount = 2 /datum/chemical_reaction/minaphobin name = "Minaphobin" id = "minaphobin" result = /singleton/reagent/mental/minaphobin - required_reagents = list(/singleton/reagent/mindbreaker = 1, /singleton/reagent/carbon = 1) + required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/carbon = 1) result_amount = 2 /datum/chemical_reaction/adrenaline @@ -719,49 +777,49 @@ name = "Neurostabin" id = "neurostabin" result = /singleton/reagent/mental/neurostabin - required_reagents = list(/singleton/reagent/mindbreaker = 1, /singleton/reagent/iron = 1, /singleton/reagent/potassium = 1) + required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/iron = 1, /singleton/reagent/potassium = 1) result_amount = 3 /datum/chemical_reaction/parvosil name = "Parvosil" id = "parvosil" result = /singleton/reagent/mental/parvosil - required_reagents = list(/singleton/reagent/mindbreaker = 1, /singleton/reagent/aluminum = 1, /singleton/reagent/potassium = 1) + required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/aluminum = 1, /singleton/reagent/potassium = 1) result_amount = 3 /datum/chemical_reaction/emoxanyl name = "Emoxanyl" id = "emoxanyl" result = /singleton/reagent/mental/emoxanyl - required_reagents = list(/singleton/reagent/mindbreaker = 1, /singleton/reagent/silicon = 1, /singleton/reagent/alcohol = 1) + required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/silicon = 1, /singleton/reagent/alcohol = 1) result_amount = 3 /datum/chemical_reaction/orastabin name = "Orastabin" id = "orastabin" result = /singleton/reagent/mental/orastabin - required_reagents = list(/singleton/reagent/mindbreaker = 1, /singleton/reagent/sodium = 1, /singleton/reagent/tungsten = 1) + required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/sodium = 1, /singleton/reagent/tungsten = 1) result_amount = 3 /datum/chemical_reaction/neurapan name = "Neurapan" id = "neurapan" result = /singleton/reagent/mental/neurapan - required_reagents = list(/singleton/reagent/mindbreaker = 1, /singleton/reagent/space_drugs = 1, /singleton/reagent/alcohol = 1) + required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/drugs/mms = 1, /singleton/reagent/alcohol = 1) result_amount = 3 /datum/chemical_reaction/nerospectan name = "Nerospectan" id = "nerospectan" result = /singleton/reagent/mental/nerospectan - required_reagents = list(/singleton/reagent/mindbreaker = 1, /singleton/reagent/space_drugs = 1, /singleton/reagent/silicon = 1) + required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/drugs/mms = 1, /singleton/reagent/silicon = 1) result_amount = 3 /datum/chemical_reaction/truthserum name = "Truthserum" id = "truthserum" result = /singleton/reagent/mental/truthserum - required_reagents = list(/singleton/reagent/mindbreaker = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/toxin/phoron = 0.1) + required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/toxin/phoron = 0.1) result_amount = 2 /datum/chemical_reaction/pacifier @@ -781,22 +839,22 @@ /datum/chemical_reaction/joy name = "Joy" id = "joy" - result = /singleton/reagent/joy - required_reagents = list(/singleton/reagent/mental/neurapan = 1, /singleton/reagent/oxycomorphine = 2) + result = /singleton/reagent/drugs/joy + required_reagents = list(/singleton/reagent/mental/neurapan = 1, /singleton/reagent/drugs/heroin = 2) result_amount = 1 /datum/chemical_reaction/xuxigas name = "Xu'Xi Gas" id = "xuxigas" - result = /singleton/reagent/xuxigas - required_reagents = list(/singleton/reagent/dexalin = 2, /singleton/reagent/space_drugs = 2, /singleton/reagent/mental/truthserum = 1) + result = /singleton/reagent/drugs/xuxigas + required_reagents = list(/singleton/reagent/dexalin = 2, /singleton/reagent/drugs/mms = 2, /singleton/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 = /singleton/reagent/skrell_nootropic + result = /singleton/reagent/drugs/skrell_nootropic required_reagents = list(/singleton/reagent/wulumunusha = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/mental/emoxanyl = 1) result_amount = 3 @@ -819,7 +877,7 @@ /datum/chemical_reaction/raskara_dust name = "Raskara Dust" id = "raskara_dust" - result = /singleton/reagent/raskara_dust + result = /singleton/reagent/drugs/raskara_dust required_reagents = list(/singleton/reagent/toxin/fertilizer/monoammoniumphosphate = 1, /singleton/reagent/spacecleaner = 1, /singleton/reagent/sodiumchloride = 2) // extinguisher, cleaner, salt required_temperature_min = T0C + 127 // barely over boiling point of water, 400C result_amount = 2 @@ -827,7 +885,7 @@ /datum/chemical_reaction/nightjuice name = "Nightlife" id = "night_juice" - result = /singleton/reagent/night_juice + result = /singleton/reagent/drugs/night_juice required_reagents = list(/singleton/reagent/mental/corophenidate = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/nitroglycerin = 1) required_temperature_min = T0C + 200 result_amount = 3 @@ -1934,6 +1992,13 @@ required_reagents = list(/singleton/reagent/nutriment/teagrounds = 1, /singleton/reagent/water = 5) result_amount = 5 +/datum/chemical_reaction/drink/cocatea + name = "Mate de Coca" + id = "cocatea" + result = /singleton/reagent/drink/tea/cocatea + required_reagents = list(/singleton/reagent/nutriment/cocagrounds = 1, /singleton/reagent/water = 5) + result_amount = 5 + /datum/chemical_reaction/drink/greentea name = "Green Tea" id = "greentea" @@ -1962,6 +2027,13 @@ required_reagents = list(/singleton/reagent/uranium = 1, /singleton/reagent/drink/space_cola = 5) result_amount = 5 +/datum/chemical_reaction/drink/coca_cola + name = "Coca Cola" + id = "coca_cola" + result = /singleton/reagent/drink/coca_cola + required_reagents = list(/singleton/reagent/nutriment/cocagrounds = 1, /singleton/reagent/drink/space_cola = 5) + result_amount = 5 + /datum/chemical_reaction/moonshine name = "Moonshine" id = "moonshine" @@ -2604,7 +2676,7 @@ name = "Hippies Delight" id = "hippiesdelight" result = /singleton/reagent/alcohol/hippiesdelight - required_reagents = list(/singleton/reagent/psilocybin = 1, /singleton/reagent/alcohol/gargleblaster = 1) + required_reagents = list(/singleton/reagent/drugs/psilocybin = 1, /singleton/reagent/alcohol/gargleblaster = 1) result_amount = 2 /datum/chemical_reaction/drink/bananahonk diff --git a/code/modules/reagents/reagent_containers/food/snacks/baked.dm b/code/modules/reagents/reagent_containers/food/snacks/baked.dm index b61ea87d5e7..af0846a6023 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/baked.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/baked.dm @@ -128,6 +128,6 @@ trash = /obj/item/trash/snack_bowl filling_color = "#42B873" center_of_mass = list("x"=16, "y"=8) - reagents_to_add = list(/singleton/reagent/nutriment = 6, /singleton/reagent/psilocybin = 6) + reagents_to_add = list(/singleton/reagent/nutriment = 6, /singleton/reagent/drugs/psilocybin = 6) reagent_data = list(/singleton/reagent/nutriment = list("mushroom" = 6)) bitesize = 3 diff --git a/code/modules/reagents/reagent_containers/food/snacks/meat.dm b/code/modules/reagents/reagent_containers/food/snacks/meat.dm index 08290e84a56..05228a7db70 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/meat.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/meat.dm @@ -203,7 +203,7 @@ icon_state = "vannameat" item_state = "vannameat" contained_sprite = TRUE - reagents_to_add = list(/singleton/reagent/nutriment/protein = 6, /singleton/reagent/mindbreaker = 6) + reagents_to_add = list(/singleton/reagent/nutriment/protein = 6, /singleton/reagent/drugs/mindbreaker = 6) /obj/item/reagent_containers/food/snacks/meat/bat name = "bat wings" @@ -220,7 +220,7 @@ icon_state = "hugemushroomslice" filling_color = "#E0D7C5" - reagents_to_add = list(/singleton/reagent/nutriment = 3, /singleton/reagent/psilocybin = 3) + reagents_to_add = list(/singleton/reagent/nutriment = 3, /singleton/reagent/drugs/psilocybin = 3) reagent_data = list(/singleton/reagent/nutriment = list("raw" = 2, "mushroom" = 2)) bitesize = 6 diff --git a/code/modules/reagents/reagent_containers/food/snacks/pastries.dm b/code/modules/reagents/reagent_containers/food/snacks/pastries.dm index 35dd73d0a22..1fef916c651 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/pastries.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/pastries.dm @@ -82,7 +82,7 @@ drop_sound = /singleton/sound_category/tray_hit_sound filling_color = "#FF00F7" center_of_mass = list("x"=15, "y"=11) - reagents_to_add = list(/singleton/reagent/nutriment = 8, /singleton/reagent/psilocybin = 8) + reagents_to_add = list(/singleton/reagent/nutriment = 8, /singleton/reagent/drugs/psilocybin = 8) reagent_data = list(/singleton/reagent/nutriment = list("waffle" = 7, "sweetness" = 1)) bitesize = 4 @@ -149,7 +149,7 @@ trash = /obj/item/trash/brownies filling_color = "#301301" center_of_mass = list("x"=15, "y"=9) - reagents_to_add = list(/singleton/reagent/nutriment = 8, /singleton/reagent/browniemix = 4, /singleton/reagent/ambrosia_extract = 4, /singleton/reagent/bicaridine = 2, /singleton/reagent/kelotane = 2, /singleton/reagent/toxin = 2) + reagents_to_add = list(/singleton/reagent/nutriment = 8, /singleton/reagent/browniemix = 4, /singleton/reagent/drugs/ambrosia_extract = 4, /singleton/reagent/bicaridine = 2, /singleton/reagent/kelotane = 2, /singleton/reagent/toxin = 2) reagent_data = list(/singleton/reagent/nutriment = list("brownies" = 5)) bitesize = 3 @@ -164,7 +164,7 @@ center_of_mass = list("x"=16, "y"=12) /obj/item/reagent_containers/food/snacks/cosmicbrowniesslice/filled - reagents_to_add = list(/singleton/reagent/nutriment = 1, /singleton/reagent/browniemix = 1, /singleton/reagent/ambrosia_extract = 1, /singleton/reagent/bicaridine = 1, /singleton/reagent/kelotane = 1, /singleton/reagent/toxin = 1) + reagents_to_add = list(/singleton/reagent/nutriment = 1, /singleton/reagent/browniemix = 1, /singleton/reagent/drugs/ambrosia_extract = 1, /singleton/reagent/bicaridine = 1, /singleton/reagent/kelotane = 1, /singleton/reagent/toxin = 1) reagent_data = list(/singleton/reagent/nutriment = list("brownies" = 2)) // Cakes. @@ -518,7 +518,7 @@ icon_state = "amanita_pie" filling_color = "#FFCCCC" center_of_mass = list("x"=17, "y"=9) - reagents_to_add = list(/singleton/reagent/nutriment = 5, /singleton/reagent/toxin/amatoxin = 3, /singleton/reagent/psilocybin = 1) + reagents_to_add = list(/singleton/reagent/nutriment = 5, /singleton/reagent/toxin/amatoxin = 3, /singleton/reagent/drugs/psilocybin = 1) reagent_data = list(/singleton/reagent/nutriment = list("sweetness" = 3, "mushroom" = 3, "pie" = 2)) bitesize = 3 diff --git a/code/modules/reagents/reagent_containers/food/snacks/processed.dm b/code/modules/reagents/reagent_containers/food/snacks/processed.dm index 56244a21458..4e37c75bbb1 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/processed.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/processed.dm @@ -617,7 +617,7 @@ trash = /obj/item/trash/snack_bowl filling_color = "#ED0758" center_of_mass = list("x"=16, "y"=5) - reagents_to_add = list(/singleton/reagent/nutriment = 6, /singleton/reagent/toxin/amatoxin = 6, /singleton/reagent/psilocybin = 3) + reagents_to_add = list(/singleton/reagent/nutriment = 6, /singleton/reagent/toxin/amatoxin = 6, /singleton/reagent/drugs/psilocybin = 3) reagent_data = list(/singleton/reagent/nutriment = list("jelly" = 3, "mushroom" = 3)) bitesize = 3 diff --git a/code/modules/reagents/reagent_containers/inhaler.dm b/code/modules/reagents/reagent_containers/inhaler.dm index 9eebbd1ff24..ca99be1178f 100644 --- a/code/modules/reagents/reagent_containers/inhaler.dm +++ b/code/modules/reagents/reagent_containers/inhaler.dm @@ -193,7 +193,7 @@ /obj/item/reagent_containers/inhaler/xuxigas/Initialize() . =..() - reagents.add_reagent(/singleton/reagent/xuxigas, volume) + reagents.add_reagent(/singleton/reagent/drugs/xuxigas, volume) update_icon() return @@ -241,7 +241,7 @@ /obj/item/reagent_containers/inhaler/space_drugs/Initialize() . =..() - reagents.add_reagent(/singleton/reagent/space_drugs, volume) + reagents.add_reagent(/singleton/reagent/drugs/mms, volume) update_icon() return @@ -286,6 +286,6 @@ /obj/item/reagent_containers/inhaler/raskara_dust/Initialize() . =..() - reagents.add_reagent(/singleton/reagent/raskara_dust, volume) + reagents.add_reagent(/singleton/reagent/drugs/raskara_dust, volume) update_icon() return diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 9fb5f1e90c5..44f3ab4fd19 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -243,19 +243,49 @@ name = "Happy Pill" desc = "Happy happy joy joy!" icon_state = "pill_happy" - reagents_to_add = list(/singleton/reagent/space_drugs = 15, /singleton/reagent/sugar = 15) + reagents_to_add = list(/singleton/reagent/drugs/mms = 15, /singleton/reagent/sugar = 15) /obj/item/reagent_containers/pill/zoom name = "Zoom Pill" desc = "Zoooom!" icon_state = "pill18" - reagents_to_add = list(/singleton/reagent/impedrezene = 5, /singleton/reagent/synaptizine = 5, /singleton/reagent/hyperzine = 5) + reagents_to_add = list(/singleton/reagent/drugs/impedrezene = 5, /singleton/reagent/synaptizine = 5, /singleton/reagent/hyperzine = 5) /obj/item/reagent_containers/pill/joy name = "Joy Pill" desc = "Peace, at last." icon_state = "pill8" - reagents_to_add = list(/singleton/reagent/joy = 5) + reagents_to_add = list(/singleton/reagent/drugs/joy = 5) + +/obj/item/reagent_containers/pill/heroin + name = "heroin pill" + desc = "The pain will pass..." + icon_state = "pill7" + reagents_to_add = list(/singleton/reagent/drugs/heroin = 5) + +/obj/item/reagent_containers/pill/cocaine + name = "cocaine tablet" + desc = "For those long nights out." + icon_state = "pill18" + reagents_to_add = list(/singleton/reagent/drugs/cocaine = 10) + +/obj/item/reagent_containers/pill/contemplus + name = "\improper Contemplus tablet" + desc = "For that essay that is due tomorrow." + icon_state = "pill19" + reagents_to_add = list(/singleton/reagent/drugs/cocaine/contemplus = 10) + +/obj/item/reagent_containers/pill/spotlight + name = "\improper Spotlight tablet" + desc = "For that acting audition today." + icon_state = "pill2" + reagents_to_add = list(/singleton/reagent/drugs/cocaine/spotlight = 10) + +/obj/item/reagent_containers/pill/sparkle + name = "\improper Sparkle tablet" + desc = "For those long nights out at the club." + icon_state = "pill20" + reagents_to_add = list(/singleton/reagent/drugs/cocaine/sparkle = 10) /obj/item/reagent_containers/pill/thetamycin name = "15u Thetamycin Pill" @@ -290,7 +320,7 @@ name = "5u Co'qnixq Wuxi Pill" desc = "Used to treat dementia." icon_state = "pill8" - reagents_to_add = list(/singleton/reagent/skrell_nootropic = 5) + reagents_to_add = list(/singleton/reagent/drugs/skrell_nootropic = 5) /obj/item/reagent_containers/pill/hyronalin name = "7u Hyronalin" diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 27cd6337959..00323f83dbf 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -414,7 +414,7 @@ /obj/item/reagent_containers/syringe/drugs name = "Syringe (drugs)" desc = "Contains aggressive drugs meant for torture." - reagents_to_add = list(/singleton/reagent/toxin/panotoxin = 5, /singleton/reagent/mindbreaker = 10) + reagents_to_add = list(/singleton/reagent/toxin/panotoxin = 5, /singleton/reagent/drugs/mindbreaker = 10) /obj/item/reagent_containers/syringe/drugs/Initialize() . = ..() diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_unknown.dm b/code/modules/research/xenoarchaeology/artifact/artifact_unknown.dm index 2c04e145b5e..8db2a7d44b7 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_unknown.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_unknown.dm @@ -207,7 +207,7 @@ my_effect.ToggleActivate() if(secondary_effect?.trigger == TRIGGER_VOLATILE) secondary_effect.ToggleActivate() - else if(W.reagents.has_reagent(/singleton/reagent/toxin, 1) || W.reagents.has_reagent(/singleton/reagent/toxin/cyanide, 1) || W.reagents.has_reagent(/singleton/reagent/cryptobiolin, 1) || W.reagents.has_reagent(/singleton/reagent/impedrezene, 1) || W.reagents.has_reagent(/singleton/reagent/toxin/amatoxin, 1) || W.reagents.has_reagent(/singleton/reagent/alcohol/neurotoxin, 1)) + else if(W.reagents.has_reagent(/singleton/reagent/toxin, 1) || W.reagents.has_reagent(/singleton/reagent/toxin/cyanide, 1) || W.reagents.has_reagent(/singleton/reagent/drugs/cryptobiolin, 1) || W.reagents.has_reagent(/singleton/reagent/drugs/impedrezene, 1) || W.reagents.has_reagent(/singleton/reagent/toxin/amatoxin, 1) || W.reagents.has_reagent(/singleton/reagent/alcohol/neurotoxin, 1)) if(my_effect.trigger == TRIGGER_TOXIN) my_effect.ToggleActivate() if(secondary_effect?.trigger == TRIGGER_TOXIN) diff --git a/html/changelogs/GeneralCamo - Drug Expansion.yml b/html/changelogs/GeneralCamo - Drug Expansion.yml new file mode 100644 index 00000000000..5c3600d29d7 --- /dev/null +++ b/html/changelogs/GeneralCamo - Drug Expansion.yml @@ -0,0 +1,52 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: GeneralCamo + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added morphine, which replaces bicaridine in poppies. Morphine is an effective but potentially dangerous painkiller." + - tweak: "Oxycomorphine is now created from one unit of mortaphenyl and one unit of morphine, and produces two units." + - rscadd: "Added tramarine, an artificial replacement of morphine. It can be used in the creation of oxycomorphine, but only produces one unit." + - tweak: "Oxycomorphine is now effective when inhaled." + - rscadd: "Added heroin, an extremely potent but dangerous drug." + - rscadd: "Added cocaine, a potent drug that can be refined from coca leaves." + - rscadd: "Added oracle, a plant originating from Vysoka that contains caromeg, and can be used as a tobacco alternative. Sprites by Wezzy." + - rscadd: "Added caromeg, a nicotine alternative that promotes sociability and pleasure." + - tweak: "Joy now causes genetic damage, and requires heroin in its recipe instead of oxycomorphine." + - tweak: "Adhomian cigarettes from the NKA now contain menthol, a minty additive." + - refactor: "Refactored drugs to be more consistent in their effects." + - tweak: "Serotrotium now has unique effects for overdosing." diff --git a/icons/obj/cigs_lighters.dmi b/icons/obj/cigs_lighters.dmi index 0d46fc0bff2..d163a065723 100644 Binary files a/icons/obj/cigs_lighters.dmi and b/icons/obj/cigs_lighters.dmi differ diff --git a/icons/obj/smokables.dmi b/icons/obj/smokables.dmi index c4c6d726705..2815f2f878a 100644 Binary files a/icons/obj/smokables.dmi and b/icons/obj/smokables.dmi differ