mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-12 15:44:53 +01:00
98d00638ce
Two major changes to Horizon maints: 1. Updated maint door access to actually be consistent across the ship. That is to say, you should have access to the maints behind your own department, you should be able to make meaningful use out of them (no random useless dead ends), but you shouldn't automatically get free access to the entirety of the ship maints due to lack of hatch access control. This was a non-issue until the Horizon expansion that greatly increased maint interconnectivity. Now, everyone has consistent maint access, and free access remains for Code Blue (or manually Command disabling access controls). 2. Maint loot should be more interesting. Static contraband spawns were reduced but a large number of new spawners were added that should make loot, contraband, tools, trash, etc., spawn in more varied places. This should make maint travel involve more Happy Surprises rather than strictly being a rote process of 'lets see what spawned in XYZ room this time). Miscellaneous other bugfixes and spawn tweaks based on my observation; on repeatedly re-loading the Horizon, the numbers chosen seemed to repeatedly give me the most satisfying results. See file changes.
193 lines
7.1 KiB
Plaintext
193 lines
7.1 KiB
Plaintext
//Let's get some REAL contraband stuff in here. Because come on, getting brigged for LIPSTICK is no fun.
|
|
|
|
//Illicit drugs~
|
|
/obj/item/storage/pill_bottle/happy
|
|
name = "bottle of Happy pills"
|
|
desc = "Highly illegal drug. When you want to see the rainbow."
|
|
starts_with = list(/obj/item/reagent_containers/pill/happy = 7)
|
|
|
|
/obj/item/storage/pill_bottle/zoom
|
|
name = "bottle of Zoom pills"
|
|
desc = "Highly illegal drug. Trade brain for speed."
|
|
starts_with = list(/obj/item/reagent_containers/pill/zoom = 7)
|
|
|
|
/obj/item/storage/pill_bottle/joy
|
|
name = "bottle of Joy pills"
|
|
desc = "Highly illegal drug. Bang - and your stress is gone."
|
|
starts_with = list(/obj/item/reagent_containers/pill/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."
|
|
starts_with = list(/obj/item/reagent_containers/pill/skrell_nootropic = 7)
|
|
|
|
/obj/item/reagent_containers/glass/beaker/vial/random
|
|
atom_flags = 0
|
|
var/list/random_reagent_list = list(list(/singleton/reagent/water = 15) = 1, list(/singleton/reagent/spacecleaner = 15) = 1)
|
|
|
|
/obj/item/reagent_containers/glass/beaker/vial/random/toxin
|
|
random_reagent_list = list(
|
|
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/drugs/impedrezene = 15) = 2,
|
|
list(/singleton/reagent/toxin/dextrotoxin = 10) = 1,
|
|
list(/singleton/reagent/toxin/spectrocybin = 15) = 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)
|
|
|
|
/obj/item/reagent_containers/glass/beaker/vial/random/Initialize()
|
|
. = ..()
|
|
if(is_open_container())
|
|
atom_flags ^= ATOM_FLAG_OPEN_CONTAINER
|
|
|
|
var/list/picked_reagents = pickweight(random_reagent_list)
|
|
for(var/reagent in picked_reagents)
|
|
reagents.add_reagent(reagent, picked_reagents[reagent])
|
|
|
|
var/list/names = new
|
|
for(var/_R in reagents.reagent_volumes)
|
|
var/singleton/reagent/R = GET_SINGLETON(_R)
|
|
names += R.name
|
|
|
|
desc = "Contains [english_list(names)]."
|
|
update_icon()
|
|
|
|
|
|
/obj/item/reagent_containers/glass/beaker/vial/venenum
|
|
atom_flags = 0
|
|
|
|
/obj/item/reagent_containers/glass/beaker/vial/venenum/Initialize()
|
|
. = ..()
|
|
if(is_open_container())
|
|
atom_flags ^= ATOM_FLAG_OPEN_CONTAINER
|
|
reagents.add_reagent(/singleton/reagent/venenum,volume)
|
|
desc = "Contains venenum."
|
|
update_icon()
|
|
|
|
/obj/item/reagent_containers/glass/beaker/vial/nerveworm_eggs
|
|
atom_flags = 0
|
|
|
|
/obj/item/reagent_containers/glass/beaker/vial/nerveworm_eggs/Initialize()
|
|
. = ..()
|
|
if(is_open_container())
|
|
atom_flags ^= ATOM_FLAG_OPEN_CONTAINER
|
|
reagents.add_reagent(/singleton/reagent/toxin/nerveworm_eggs, 5)
|
|
desc = "<b>BIOHAZARDOUS! - Nerve Fluke eggs.</b> Purchased from <i>SciSupply Eridani</i>, recently incorporated into <i>Zeng-Hu Pharmaceuticals' Keiretsu</i>!"
|
|
update_icon()
|
|
|
|
/obj/item/reagent_containers/glass/beaker/vial/heartworm_eggs
|
|
atom_flags = 0
|
|
|
|
/obj/item/reagent_containers/glass/beaker/vial/heartworm_eggs/Initialize()
|
|
. = ..()
|
|
if(is_open_container())
|
|
atom_flags ^= ATOM_FLAG_OPEN_CONTAINER
|
|
reagents.add_reagent(/singleton/reagent/toxin/heartworm_eggs, 5)
|
|
desc = "<b>BIOHAZARDOUS! - Heart Fluke eggs.</b> Purchased from <i>SciSupply Eridani</i>, recently incorporated into <i>Zeng-Hu Pharmaceuticals' Keiretsu</i>!"
|
|
update_icon()
|
|
|
|
/obj/item/reagent_containers/glass/beaker/vial/greimorian_eggs
|
|
atom_flags = 0
|
|
|
|
/obj/item/reagent_containers/glass/beaker/vial/greimorian_eggs/Initialize()
|
|
. = ..()
|
|
if(is_open_container())
|
|
atom_flags ^= ATOM_FLAG_OPEN_CONTAINER
|
|
reagents.add_reagent(/singleton/reagent/toxin/greimorian_eggs, 5)
|
|
desc = "<b>BIOHAZARDOUS! - Greimorian eggs.</b> Purchased from <i>SciSupply Eridani</i>, recently incorporated into <i>Zeng-Hu Pharmaceuticals' Keiretsu</i>!"
|
|
update_icon()
|
|
|
|
/obj/item/reagent_containers/powder
|
|
name = "chemical powder"
|
|
desc = "A powdered form of... something."
|
|
icon = 'icons/obj/chemical.dmi'
|
|
icon_state = "powder"
|
|
item_state = "powder"
|
|
amount_per_transfer_from_this = 5
|
|
possible_transfer_amounts = 5
|
|
w_class = WEIGHT_CLASS_TINY
|
|
volume = 50
|
|
|
|
/obj/item/reagent_containers/powder/feedback_hints(mob/user, distance, is_adjacent)
|
|
. += ..()
|
|
if(reagents)
|
|
. += SPAN_NOTICE("There's about <b>[reagents.total_volume] unit\s</b> here.")
|
|
|
|
/obj/item/reagent_containers/powder/Initialize()
|
|
. = ..()
|
|
get_appearance()
|
|
|
|
/obj/item/reagent_containers/powder/proc/get_appearance()
|
|
/// Color based on dominant reagent.
|
|
color = reagents.get_color()
|
|
|
|
// Proc to shove them up your nose
|
|
|
|
/obj/item/reagent_containers/powder/attackby(obj/item/attacking_item, mob/user)
|
|
if(istype(attacking_item, /obj/item/paper/cig) || attacking_item.type == /obj/item/spacecash)
|
|
var/mob/living/carbon/human/H = user
|
|
var/obj/item/blocked = H.check_mouth_coverage()
|
|
if(blocked)
|
|
to_chat(user, SPAN_WARNING("\The [blocked] is in the way!"))
|
|
return TRUE
|
|
if(!H.check_has_mouth())
|
|
to_chat(user, SPAN_WARNING("You cannot seem to snort \the [src]."))
|
|
return TRUE
|
|
|
|
user.visible_message(
|
|
SPAN_WARNING("\The [user] starts to snort some of \the [src] with \a [attacking_item]!"),
|
|
SPAN_NOTICE("You start to snort some of \the [src] with \the [attacking_item]!")
|
|
)
|
|
playsound(loc, 'sound/effects/snort.ogg', 50, 1)
|
|
if (!do_after(user, 2 SECONDS))
|
|
return TRUE
|
|
|
|
user.visible_message(
|
|
SPAN_WARNING("\The [user] snorts some of \the [src] with \a [attacking_item]!"),
|
|
SPAN_NOTICE("You snort \the [src] with \the [attacking_item]!")
|
|
)
|
|
playsound(loc, 'sound/effects/snort.ogg', 50, 1)
|
|
|
|
if(reagents)
|
|
var/contained = reagentlist()
|
|
var/temp = reagents.get_temperature()
|
|
var/trans = reagents.trans_to_mob(H, amount_per_transfer_from_this, CHEM_BREATHE, bypass_checks = TRUE)
|
|
admin_inject_log(user, H, src, contained, temp, trans)
|
|
if(!reagents.total_volume)
|
|
qdel(src)
|
|
return TRUE
|
|
return ..()
|