Files
Polaris/code/game/objects/items/contraband.dm
2022-10-18 09:36:41 +01:00

124 lines
4.3 KiB
Plaintext

/obj/item/storage/pill_bottle/happy
name = "bottle of Happy pills"
desc = "A recreational drug. When you want to see the rainbow. Probably not work-approved..."
wrapper_color = COLOR_PINK
starts_with = list(/obj/item/reagent_containers/pill/happy = 7)
/obj/item/storage/pill_bottle/zoom
name = "bottle of Zoom pills"
desc = "Probably illegal. Trade brain for speed."
wrapper_color = COLOR_BLUE
starts_with = list(/obj/item/reagent_containers/pill/zoom = 7)
/obj/item/reagent_containers/glass/beaker/vial/random
atom_flags = EMPTY_BITFIELD
var/list/random_reagent_list = list(list("water" = 15) = 1, list("cleaner" = 15) = 1)
/obj/item/reagent_containers/glass/beaker/vial/random/toxin
random_reagent_list = list(
list("mindbreaker" = 10, "bliss" = 20) = 3,
list("carpotoxin" = 15) = 2,
list("impedrezene" = 15) = 2,
list("zombiepowder" = 10) = 1)
/obj/item/reagent_containers/glass/beaker/vial/random/Initialize()
. = ..()
if(is_open_container())
atom_flags ^= ATOM_REAGENTS_IS_OPEN
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/datum/reagent/R in reagents.reagent_list)
names += R.name
desc = "Contains [english_list(names)]."
update_icon()
/obj/item/reagent_containers/powder
name = "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 = ITEMSIZE_TINY
volume = 50
/// The name of the reagent with the most volume in this powder.
var/main_reagent_name
/obj/item/reagent_containers/powder/Initialize(mapload, datum/reagents/initial_reagents)
. = ..()
if (istype(initial_reagents))
initial_reagents.trans_to_holder(reagents, volume)
else if (islist(initial_reagents))
var/list/initial_reagents_list = initial_reagents
for (var/reagent_type in initial_reagents_list)
reagents.add_reagent(reagent_type, initial_reagents[reagent_type])
if (!reagents.total_volume)
return INITIALIZE_HINT_QDEL
var/datum/reagent/main_reagent = reagents.get_master_reagent()
main_reagent_name = lowertext(main_reagent.name)
color = reagents.get_color()
/obj/item/reagent_containers/powder/examine(mob/user)
. = ..()
if (isliving(user) && get_dist(user, src) > 2)
return
. += "It seems to be about [reagents.total_volume] units of [main_reagent_name]."
/obj/item/reagent_containers/powder/attackby(obj/item/item, mob/living/user)
if (!ishuman(user))
return ..()
if (!istype(item, /obj/item/glass_extra/straw) && !istype(item, /obj/item/reagent_containers/rollingpaper))
return ..()
reagents.trans_to_mob(user, amount_per_transfer_from_this, CHEM_BLOOD)
var/used_up = !reagents.total_volume
user.visible_message(
SPAN_ITALIC("\The [user] snorts some [name] with \a [item]."),
SPAN_ITALIC("You snort [used_up ? "the last" : "some"] of the [main_reagent_name] with \the [item].")
)
playsound(loc, 'sound/effects/snort.ogg', 50, 1)
if (used_up)
qdel(src)
/obj/item/storage/pill_bottle/bliss
name = "unlabeled pill bottle"
desc = "A pill bottle with its label suspiciously scratched out."
starts_with = list(/obj/item/reagent_containers/pill/unidentified/bliss = 7)
/obj/item/storage/pill_bottle/snowflake
name = "unlabeled pill bottle"
desc = "A pill bottle with its label suspiciously scratched out."
starts_with = list(/obj/item/reagent_containers/pill/unidentified/snowflake = 7)
/obj/item/storage/pill_bottle/royale
name = "unlabeled pill bottle"
desc = "A pill bottle with its label suspiciously scratched out."
starts_with = list(/obj/item/reagent_containers/pill/unidentified/royale = 7)
/obj/item/storage/pill_bottle/sinkhole
name = "unlabeled pill bottle"
desc = "A pill bottle with its label suspiciously scratched out."
starts_with = list(/obj/item/reagent_containers/pill/unidentified/sinkhole = 7)
/obj/item/storage/pill_bottle/colorspace
name = "unlabeled pill bottle"
desc = "A pill bottle with its label suspiciously scratched out."
starts_with = list(/obj/item/reagent_containers/pill/unidentified/colorspace = 7)
/obj/item/storage/pill_bottle/schnappi
name = "unlabeled pill bottle"
desc = "A pill bottle with its label suspiciously scratched out."
starts_with = list(/obj/item/reagent_containers/pill/unidentified/schnappi = 7)