mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 22:19:30 +01:00
## About The Pull Request Adds a new chemical: Carnivorous Blood. This chemical is acquirable via traitor uplinks, at the cost of 3 telecrystals for a 30 unit bottle. This chemical's purpose is to eat blood. When it enters its victim's bloodstream, it begins consuming their blood at a base rate of 2 units per second, consuming itself at a rate of 0.3 units per second. This means that a dose of 15 units of it will consume roughly 14% of its victim's bloodstream over the course of roughly a minute. That isn't anything to call home over, obviously. This is because you are supposed to pair it first. To pair it, you acquire a blood sample from your chosen victim, in any form that retains their intact DNA. You mix this with the carnivorous blood, and the blood is now three times as effective inside that specific person(or anyone sharing their DNA). The paired version, assuming a dose of a full 15 units that is allowed to fully metabolize, will take the paired victim's blood down to roughly 55% over the course of roughly a minute(assuming nothing is impairing or improving the person's natural blood regeneration). This is just slightly less than is required to knock out a victim from just blood loss, but is certainly enough to significantly impair them. (Up to three sets of DNA can be paired with a single set of carnivorous blood. It cannot be de-paired in any useful way.) Additionally, the chemical is twice as effective in the dead, allowing one fifteen unit dose to fully drain a paired person of their blood. The chemical can be duplicated using protein. As a necessity in order to let the thing be used how I want it to be used, this also makes it so that blood taken off the ground out of bloodstains has DNA(unique enzymes) in with it. As it'd be absurd to track how much of each specific DNA was in each specific bloodstain for just this purpose, and because blood(the reagent) can only have one set of DNA within it, it's been made such that the DNA you get from blood taken from bloodstains is a random pick of the DNA present within the bloodstain. If you don't get pure blood, you might not get what you want. ## Why It's Good For The Game A reasonably powerful traitor item that requires not just preparation on your part, but INVOLVED preparation. The chemical itself is fairly cheap(and could probably be cheaper but I'm being safe), but to get your benefit you have to actually involve yourself with your target. Hurt them a little bit, telegraphing yourself, or lurk around them until a carp bites them and they leave their blood on the floor. Get them in a rage cage, run a blood drive, whatever. There's a lot of ways to get someone's blood, but all of them require active involvement, and I think that that, on its own, will lead to interesting situations. Also, side benefit that isn't really material but is worth mentioning anyway, finding a body with no blood is currently absolute 100% no holds barred completely airtight proof of bloodworms unless some psychopath manually took a million years to slowly drain their blood manually. As one dose completely drains a dead person, this provides an alternate theory and reasonable means of faking. Balance-wise, I say this every feature PR I make, but I don't think this will be a problem. The chemical basically necessitates putting yourself at risk in order to set it up, and is not a one-hit-kill. That is more than can be said for several other crew-obtainable chemicals, BUT the benefit of this chemical is that it takes a very long time to recover from naturally. If someone succeeds the lexorin knowledge check and survives, the oxygen damage goes away in a flash. Losing half your blood takes an extremely long time to recover from naturally(and specific items to recover from quickly), and leaves you quite vulnerable in the meantime. ## Changelog 🆑 add: Added a new traitor item, Carnivorous Blood. It is purchasable in uplinks. Carnivorous Blood is a reagent that eats away at a victim's blood once in their bloodstream, doing so significantly faster if it has been mixed with the victim's blood beforehand. /🆑
611 lines
23 KiB
Plaintext
611 lines
23 KiB
Plaintext
//Not to be confused with /obj/item/reagent_containers/cup/glass/bottle
|
|
|
|
/obj/item/reagent_containers/cup/bottle
|
|
name = "bottle"
|
|
desc = "A small bottle."
|
|
icon_state = "bottle"
|
|
fill_icon_state = "bottle"
|
|
inhand_icon_state = "atoxinbottle"
|
|
worn_icon_state = "bottle"
|
|
obj_flags = UNIQUE_RENAME | RENAME_NO_DESC
|
|
possible_transfer_amounts = list(5, 10, 15, 25, 50)
|
|
volume = 50
|
|
fill_icon_thresholds = list(0, 1, 20, 40, 60, 80, 100)
|
|
can_lid = TRUE
|
|
assembly_pixel_y = 4
|
|
|
|
/obj/item/reagent_containers/cup/bottle/Initialize(mapload)
|
|
. = ..()
|
|
if(!icon_state)
|
|
icon_state = "bottle"
|
|
update_appearance()
|
|
|
|
/obj/item/reagent_containers/cup/bottle/epinephrine
|
|
name = "epinephrine bottle"
|
|
desc = "A small bottle. Contains epinephrine - used to stabilize patients."
|
|
list_reagents = list(/datum/reagent/medicine/epinephrine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/toxin
|
|
name = "toxin bottle"
|
|
desc = "A small bottle of toxins. Do not drink, it is poisonous."
|
|
list_reagents = list(/datum/reagent/toxin = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/cyanide
|
|
name = "cyanide bottle"
|
|
desc = "A small bottle of cyanide. Bitter almonds?"
|
|
list_reagents = list(/datum/reagent/toxin/cyanide = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/anacea
|
|
name = "anacea bottle"
|
|
desc = "A small bottle of anacea."
|
|
list_reagents = list(/datum/reagent/toxin/anacea = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/spewium
|
|
name = "spewium bottle"
|
|
desc = "A small bottle of spewium."
|
|
list_reagents = list(/datum/reagent/toxin/spewium = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syndol
|
|
name = "syndol bottle"
|
|
desc = "A small bottle of syndol."
|
|
list_reagents = list(/datum/reagent/drug/syndol = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/morphine
|
|
name = "morphine bottle"
|
|
desc = "A small bottle of morphine."
|
|
icon = 'icons/obj/medical/chemical.dmi'
|
|
list_reagents = list(/datum/reagent/medicine/morphine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/chloralhydrate
|
|
name = "chloral hydrate bottle"
|
|
desc = "A small bottle of Choral Hydrate. Mickey's Favorite!"
|
|
icon_state = "bottle20"
|
|
list_reagents = list(/datum/reagent/toxin/chloralhydrate = 15)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/mannitol
|
|
name = "mannitol bottle"
|
|
desc = "A small bottle of Mannitol. Useful for healing brain damage."
|
|
list_reagents = list(/datum/reagent/medicine/mannitol = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/multiver
|
|
name = "multiver bottle"
|
|
desc = "A small bottle of multiver, which removes toxins and other chemicals from the bloodstream but causes shortness of breath. All effects scale with the amount of reagents in the patient."
|
|
list_reagents = list(/datum/reagent/medicine/c2/multiver = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/calomel
|
|
name = "calomel bottle"
|
|
desc = "A small bottle of calomel, a toxic drug which quickly removes chemicals from the bloodstream. Does not cause additional harm in heavily-injured people."
|
|
list_reagents = list(/datum/reagent/medicine/calomel = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/phlogiston
|
|
name = "Phlogiston bottle"
|
|
desc = "A small bottle of Phlogiston, that will set you on fire if used."
|
|
list_reagents = list(/datum/reagent/phlogiston = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/ammoniated_mercury
|
|
name = "ammoniated mercury bottle"
|
|
desc = "Quickly purges the body of toxic chemicals. Heals toxin damage when in a good condition someone has \
|
|
no brute and fire damage. When hurt with brute or fire damage, it can deal a great amount of toxin damage. \
|
|
When there are no toxins present, it starts slowly purging itself."
|
|
list_reagents = list(/datum/reagent/medicine/ammoniated_mercury = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syriniver
|
|
name = "syriniver bottle"
|
|
desc = "A small bottle of syriniver."
|
|
list_reagents = list(/datum/reagent/medicine/c2/syriniver = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/mutagen
|
|
name = "unstable mutagen bottle"
|
|
desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact."
|
|
list_reagents = list(/datum/reagent/toxin/mutagen = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/plasma
|
|
name = "liquid plasma bottle"
|
|
desc = "A small bottle of liquid plasma. Extremely toxic and reacts with micro-organisms inside blood."
|
|
list_reagents = list(/datum/reagent/toxin/plasma = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/synaptizine
|
|
name = "synaptizine bottle"
|
|
desc = "A small bottle of synaptizine."
|
|
list_reagents = list(/datum/reagent/medicine/synaptizine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/ammonia
|
|
name = "ammonia bottle"
|
|
desc = "A small bottle of ammonia."
|
|
list_reagents = list(/datum/reagent/ammonia = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/diethylamine
|
|
name = "diethylamine bottle"
|
|
desc = "A small bottle of diethylamine."
|
|
list_reagents = list(/datum/reagent/diethylamine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/facid
|
|
name = "Fluorosulfuric Acid Bottle"
|
|
desc = "A small bottle. Contains a small amount of fluorosulfuric acid."
|
|
list_reagents = list(/datum/reagent/toxin/acid/fluacid = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/adminordrazine
|
|
name = "Adminordrazine Bottle"
|
|
desc = "A small bottle. Contains the liquid essence of the gods."
|
|
icon = 'icons/obj/drinks/bottles.dmi'
|
|
icon_state = "holyflask"
|
|
inhand_icon_state = "holyflask"
|
|
list_reagents = list(/datum/reagent/medicine/adminordrazine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/capsaicin
|
|
name = "Capsaicin Bottle"
|
|
desc = "A small bottle. Contains hot sauce."
|
|
list_reagents = list(/datum/reagent/consumable/capsaicin = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/frostoil
|
|
name = "Frost Oil Bottle"
|
|
desc = "A small bottle. Contains cold sauce."
|
|
list_reagents = list(/datum/reagent/consumable/frostoil = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/strange_reagent
|
|
name = "Strange Reagent Bottle"
|
|
desc = "A small bottle. May be used to revive people."
|
|
list_reagents = list(/datum/reagent/medicine/strange_reagent = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/fishy_reagent
|
|
name = "Fishy Reagent Bottle"
|
|
desc = "A small bottle. May be used to revive fish."
|
|
list_reagents = list(/datum/reagent/medicine/strange_reagent/fishy_reagent = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/traitor
|
|
name = "syndicate bottle"
|
|
desc = "A small bottle. Contains a random nasty chemical."
|
|
icon = 'icons/obj/medical/chemical.dmi'
|
|
var/extra_reagent = null
|
|
|
|
/obj/item/reagent_containers/cup/bottle/traitor/Initialize(mapload)
|
|
. = ..()
|
|
extra_reagent = pick(/datum/reagent/toxin/polonium, /datum/reagent/toxin/histamine, /datum/reagent/toxin/formaldehyde, /datum/reagent/toxin/venom, /datum/reagent/toxin/fentanyl, /datum/reagent/toxin/cyanide)
|
|
reagents.add_reagent(extra_reagent, 3)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/polonium
|
|
name = "polonium bottle"
|
|
desc = "A small bottle. Contains Polonium."
|
|
list_reagents = list(/datum/reagent/toxin/polonium = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/magillitis
|
|
name = "magillitis bottle"
|
|
desc = "A small bottle. Contains a serum known only as 'magillitis'."
|
|
list_reagents = list(/datum/reagent/magillitis = 5)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/venom
|
|
name = "venom bottle"
|
|
desc = "A small bottle. Contains Venom."
|
|
list_reagents = list(/datum/reagent/toxin/venom = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/fentanyl
|
|
name = "fentanyl bottle"
|
|
desc = "A small bottle. Contains Fentanyl."
|
|
list_reagents = list(/datum/reagent/toxin/fentanyl = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/formaldehyde
|
|
name = "formaldehyde bottle"
|
|
desc = "A small bottle. Contains formaldehyde, a chemical that prevents organs from decaying."
|
|
list_reagents = list(/datum/reagent/toxin/formaldehyde = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/initropidril
|
|
name = "initropidril bottle"
|
|
desc = "A small bottle. Contains initropidril."
|
|
list_reagents = list(/datum/reagent/toxin/initropidril = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/pancuronium
|
|
name = "pancuronium bottle"
|
|
desc = "A small bottle. Contains pancuronium."
|
|
list_reagents = list(/datum/reagent/toxin/pancuronium = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/sodium_thiopental
|
|
name = "sodium thiopental bottle"
|
|
desc = "A small bottle. Contains sodium thiopental."
|
|
list_reagents = list(/datum/reagent/toxin/sodium_thiopental = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/coniine
|
|
name = "coniine bottle"
|
|
desc = "A small bottle. Contains coniine."
|
|
list_reagents = list(/datum/reagent/toxin/coniine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/curare
|
|
name = "curare bottle"
|
|
desc = "A small bottle. Contains curare."
|
|
list_reagents = list(/datum/reagent/toxin/curare = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/amanitin
|
|
name = "amanitin bottle"
|
|
desc = "A small bottle. Contains amanitin."
|
|
list_reagents = list(/datum/reagent/toxin/amanitin = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/histamine
|
|
name = "histamine bottle"
|
|
desc = "A small bottle. Contains Histamine."
|
|
list_reagents = list(/datum/reagent/toxin/histamine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/carnivorous_blood
|
|
name = "carnivorous blood bottle"
|
|
desc = "A small bottle. Contains carnivorous blood."
|
|
list_reagents = list(/datum/reagent/toxin/carnivorousblood = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/diphenhydramine
|
|
name = "antihistamine bottle"
|
|
desc = "A small bottle of diphenhydramine."
|
|
list_reagents = list(/datum/reagent/medicine/diphenhydramine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/potass_iodide
|
|
name = "anti-radiation bottle"
|
|
desc = "A small bottle of potassium iodide."
|
|
list_reagents = list(/datum/reagent/medicine/potass_iodide = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/salglu_solution
|
|
name = "saline-glucose solution bottle"
|
|
desc = "A small bottle of saline-glucose solution."
|
|
list_reagents = list(/datum/reagent/medicine/salglu_solution = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/atropine
|
|
name = "atropine bottle"
|
|
desc = "A small bottle of atropine."
|
|
list_reagents = list(/datum/reagent/medicine/atropine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/random_buffer
|
|
name = "Buffer bottle"
|
|
desc = "A small bottle of chemical buffer."
|
|
|
|
/obj/item/reagent_containers/cup/bottle/random_buffer/Initialize(mapload)
|
|
. = ..()
|
|
if(prob(50))
|
|
name = "Acidic buffer bottle"
|
|
desc = "A small bottle of acidic buffer."
|
|
reagents.add_reagent(/datum/reagent/reaction_agent/acidic_buffer, 30)
|
|
else
|
|
name = "Basic buffer bottle"
|
|
desc = "A small bottle of basic buffer."
|
|
reagents.add_reagent(/datum/reagent/reaction_agent/basic_buffer, 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/acidic_buffer
|
|
name = "Acidic buffer bottle"
|
|
desc = "A small bottle of acidic buffer."
|
|
list_reagents = list(/datum/reagent/reaction_agent/acidic_buffer = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/basic_buffer
|
|
name = "Basic buffer bottle"
|
|
desc = "A small bottle of basic buffer."
|
|
list_reagents = list(/datum/reagent/reaction_agent/basic_buffer = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/inversing_buffer
|
|
name = "Chiral inversing buffer bottle"
|
|
desc = "A small bottle of chiral inversing buffer."
|
|
list_reagents = list(/datum/reagent/reaction_agent/inversing_buffer = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/romerol
|
|
name = "romerol bottle"
|
|
desc = "A small bottle of Romerol. The REAL zombie powder."
|
|
list_reagents = list(/datum/reagent/romerol = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/moltobeso
|
|
name = "Molt'Obeso bottle"
|
|
desc = "The revolutionary new sauce from Syndicate's culinary experts, designed to instantly reshape your figure! \
|
|
The key to the effectiveness of this product lies in its unique formulation, which combines carefully selected ingredients to stimulate appetite and enhance the absorption of calories."
|
|
list_reagents = list(/datum/reagent/consumable/moltobeso = 50)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/random_virus
|
|
name = "Experimental disease culture bottle"
|
|
desc = "A small bottle. Contains an untested viral culture in synthblood medium."
|
|
spawned_disease = /datum/disease/advance/random
|
|
|
|
/obj/item/reagent_containers/cup/bottle/pierrot_throat
|
|
name = "Pierrot's Throat culture bottle"
|
|
desc = "A small bottle. Contains H0NI<42 virion culture in synthblood medium."
|
|
spawned_disease = /datum/disease/pierrot_throat
|
|
|
|
/obj/item/reagent_containers/cup/bottle/cold
|
|
name = "Rhinovirus culture bottle"
|
|
desc = "A small bottle. Contains XY-rhinovirus culture in synthblood medium."
|
|
spawned_disease = /datum/disease/advance/cold
|
|
|
|
/obj/item/reagent_containers/cup/bottle/flu_virion
|
|
name = "Flu virion culture bottle"
|
|
desc = "A small bottle. Contains H13N1 flu virion culture in synthblood medium."
|
|
spawned_disease = /datum/disease/advance/flu
|
|
|
|
/obj/item/reagent_containers/cup/bottle/retrovirus
|
|
name = "Retrovirus culture bottle"
|
|
desc = "A small bottle. Contains a retrovirus culture in a synthblood medium."
|
|
spawned_disease = /datum/disease/dna_retrovirus
|
|
|
|
/obj/item/reagent_containers/cup/bottle/gbs
|
|
name = "GBS culture bottle"
|
|
desc = "A small bottle. Contains Gravitokinetic Bipotential SADS+ culture in synthblood medium."//Or simply - General BullShit
|
|
amount_per_transfer_from_this = 5
|
|
spawned_disease = /datum/disease/gbs
|
|
|
|
/obj/item/reagent_containers/cup/bottle/fake_gbs
|
|
name = "GBS culture bottle"
|
|
desc = "A small bottle. Contains Gravitokinetic Bipotential SADS- culture in synthblood medium."//Or simply - General BullShit
|
|
spawned_disease = /datum/disease/fake_gbs
|
|
|
|
/obj/item/reagent_containers/cup/bottle/brainrot
|
|
name = "Brainrot culture bottle"
|
|
desc = "A small bottle. Contains Cryptococcus Cosmosis culture in synthblood medium."
|
|
icon_state = "bottle3"
|
|
spawned_disease = /datum/disease/brainrot
|
|
|
|
/obj/item/reagent_containers/cup/bottle/magnitis
|
|
name = "Magnitis culture bottle"
|
|
desc = "A small bottle. Contains a small dosage of Fukkos Miracos."
|
|
spawned_disease = /datum/disease/magnitis
|
|
|
|
/obj/item/reagent_containers/cup/bottle/wizarditis
|
|
name = "Wizarditis culture bottle"
|
|
desc = "A small bottle. Contains a sample of Rincewindus Vulgaris."
|
|
spawned_disease = /datum/disease/wizarditis
|
|
|
|
/obj/item/reagent_containers/cup/bottle/anxiety
|
|
name = "Severe Anxiety culture bottle"
|
|
desc = "A small bottle. Contains a sample of Lepidopticides."
|
|
spawned_disease = /datum/disease/anxiety
|
|
|
|
/obj/item/reagent_containers/cup/bottle/beesease
|
|
name = "Beesease culture bottle"
|
|
desc = "A small bottle. Contains a sample of invasive Apidae."
|
|
spawned_disease = /datum/disease/beesease
|
|
|
|
/obj/item/reagent_containers/cup/bottle/fluspanish
|
|
name = "Spanish flu culture bottle"
|
|
desc = "A small bottle. Contains a sample of Inquisitius."
|
|
spawned_disease = /datum/disease/fluspanish
|
|
|
|
/obj/item/reagent_containers/cup/bottle/tuberculosis
|
|
name = "Fungal Tuberculosis culture bottle"
|
|
desc = "A small bottle. Contains a sample of Fungal Tubercle bacillus."
|
|
spawned_disease = /datum/disease/tuberculosis
|
|
|
|
/obj/item/reagent_containers/cup/bottle/tuberculosiscure
|
|
name = "BVAK bottle"
|
|
desc = "A small bottle containing Bio Virus Antidote Kit."
|
|
list_reagents = list(/datum/reagent/vaccine/fungal_tb = 30)
|
|
|
|
//Oldstation.dmm chemical storage bottles
|
|
|
|
/obj/item/reagent_containers/cup/bottle/hydrogen
|
|
name = "hydrogen bottle"
|
|
list_reagents = list(/datum/reagent/hydrogen = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/lithium
|
|
name = "lithium bottle"
|
|
list_reagents = list(/datum/reagent/lithium = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/carbon
|
|
name = "carbon bottle"
|
|
list_reagents = list(/datum/reagent/carbon = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/nitrogen
|
|
name = "nitrogen bottle"
|
|
list_reagents = list(/datum/reagent/nitrogen = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/oxygen
|
|
name = "oxygen bottle"
|
|
list_reagents = list(/datum/reagent/oxygen = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/fluorine
|
|
name = "fluorine bottle"
|
|
list_reagents = list(/datum/reagent/fluorine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/sodium
|
|
name = "sodium bottle"
|
|
list_reagents = list(/datum/reagent/sodium = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/aluminium
|
|
name = "aluminium bottle"
|
|
list_reagents = list(/datum/reagent/aluminium = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/silicon
|
|
name = "silicon bottle"
|
|
list_reagents = list(/datum/reagent/silicon = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/phosphorus
|
|
name = "phosphorus bottle"
|
|
list_reagents = list(/datum/reagent/phosphorus = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/sulfur
|
|
name = "sulfur bottle"
|
|
list_reagents = list(/datum/reagent/sulfur = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/chlorine
|
|
name = "chlorine bottle"
|
|
list_reagents = list(/datum/reagent/chlorine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/potassium
|
|
name = "potassium bottle"
|
|
list_reagents = list(/datum/reagent/potassium = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/iron
|
|
name = "iron bottle"
|
|
list_reagents = list(/datum/reagent/iron = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/copper
|
|
name = "copper bottle"
|
|
list_reagents = list(/datum/reagent/copper = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/mercury
|
|
name = "mercury bottle"
|
|
list_reagents = list(/datum/reagent/mercury = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/radium
|
|
name = "radium bottle"
|
|
list_reagents = list(/datum/reagent/uranium/radium = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/water
|
|
name = "water bottle"
|
|
list_reagents = list(/datum/reagent/water = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/ethanol
|
|
name = "ethanol bottle"
|
|
list_reagents = list(/datum/reagent/consumable/ethanol = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/sugar
|
|
name = "sugar bottle"
|
|
list_reagents = list(/datum/reagent/consumable/sugar = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/sacid
|
|
name = "sulfuric acid bottle"
|
|
list_reagents = list(/datum/reagent/toxin/acid = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/welding_fuel
|
|
name = "welding fuel bottle"
|
|
list_reagents = list(/datum/reagent/fuel = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/silver
|
|
name = "silver bottle"
|
|
list_reagents = list(/datum/reagent/silver = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/iodine
|
|
name = "iodine bottle"
|
|
list_reagents = list(/datum/reagent/iodine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/bromine
|
|
name = "bromine bottle"
|
|
list_reagents = list(/datum/reagent/bromine = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/thermite
|
|
name = "thermite bottle"
|
|
list_reagents = list(/datum/reagent/thermite = 50)
|
|
|
|
// Bottles for mail goodies.
|
|
|
|
/obj/item/reagent_containers/cup/bottle/clownstears
|
|
name = "bottle of distilled clown misery"
|
|
desc = "A small bottle. Contains a mythical liquid used by sublime bartenders; made from the unhappiness of clowns."
|
|
list_reagents = list(/datum/reagent/consumable/nutriment/soup/clown_tears = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/saltpetre
|
|
name = "saltpetre bottle"
|
|
desc = "A small bottle. Contains saltpetre."
|
|
list_reagents = list(/datum/reagent/saltpetre = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/flash_powder
|
|
name = "flash powder bottle"
|
|
desc = "A small bottle. Contains flash powder."
|
|
list_reagents = list(/datum/reagent/flash_powder = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/exotic_stabilizer
|
|
name = "exotic stabilizer bottle"
|
|
desc = "A small bottle. Contains exotic stabilizer."
|
|
list_reagents = list(/datum/reagent/exotic_stabilizer = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/leadacetate
|
|
name = "lead acetate bottle"
|
|
desc = "A small bottle. Contains lead acetate."
|
|
list_reagents = list(/datum/reagent/toxin/leadacetate = 30)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/caramel
|
|
name = "bottle of caramel"
|
|
desc = "A bottle containing caramelized sugar, also known as caramel. Do not lick."
|
|
list_reagents = list(/datum/reagent/consumable/caramel = 30)
|
|
|
|
/*
|
|
* Syrup bottles, basically a unspillable cup that transfers reagents upon clicking on it with a cup
|
|
*/
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle
|
|
name = "syrup bottle"
|
|
desc = "A bottle with a syrup pump to dispense the delicious substance directly into your coffee cup."
|
|
icon = 'icons/obj/food/containers.dmi'
|
|
icon_state = "syrup"
|
|
fill_icon_state = "syrup"
|
|
fill_icon_thresholds = list(0, 20, 40, 60, 80, 100)
|
|
possible_transfer_amounts = list(5, 10)
|
|
amount_per_transfer_from_this = 5
|
|
can_lid = FALSE
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/Initialize(mapload)
|
|
. = ..()
|
|
register_context()
|
|
// this is not done via initial_reagent_flags because it represents state
|
|
update_container_flags(SEALED_CONTAINER | TRANSPARENT)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/examine(mob/user)
|
|
. = ..()
|
|
. += span_notice("Alt-click to toggle the pump cap.")
|
|
. += span_notice("Use a pen on it to rename it.")
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
|
|
. = ..()
|
|
|
|
context[SCREENTIP_CONTEXT_ALT_LMB] = (is_open_container() ? "Add Pump Cap" : "Remove Pump Cap")
|
|
if(IS_WRITING_UTENSIL(held_item))
|
|
context[SCREENTIP_CONTEXT_LMB] = "Write Label"
|
|
else if(is_open_container() && held_item?.is_refillable())
|
|
context[SCREENTIP_CONTEXT_LMB] = "Use Pump"
|
|
|
|
return CONTEXTUAL_SCREENTIP_SET
|
|
|
|
//when you attack the syrup bottle with a container it refills it
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
|
|
if(is_open_container() && tool.is_refillable())
|
|
return refillable_act(user, tool)
|
|
return ..()
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/nameformat(input, user)
|
|
playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE)
|
|
return "[input? "[input] " : null]bottle"
|
|
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/proc/refillable_act(mob/user, obj/item/tool)
|
|
if(!reagents.total_volume)
|
|
balloon_alert(user, "bottle empty!")
|
|
return ITEM_INTERACT_BLOCKING
|
|
if(tool.reagents.holder_full())
|
|
balloon_alert(user, "container full!")
|
|
return ITEM_INTERACT_BLOCKING
|
|
|
|
var/transfer_amount = round(reagents.trans_to(tool, amount_per_transfer_from_this, transferred_by = user), CHEMICAL_VOLUME_ROUNDING)
|
|
if(transfer_amount)
|
|
balloon_alert(user, "transferred [transfer_amount] unit\s")
|
|
flick("syrup_anim",src)
|
|
tool.update_appearance()
|
|
update_appearance()
|
|
return ITEM_INTERACT_SUCCESS
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/update_icon_state()
|
|
. = ..()
|
|
if(is_open_container())
|
|
icon_state = "syrup_open"
|
|
else
|
|
icon_state = "syrup"
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/click_alt(mob/user)
|
|
if(is_open_container())
|
|
balloon_alert(user, "put pump cap on")
|
|
update_container_flags(SEALED_CONTAINER | TRANSPARENT)
|
|
else
|
|
balloon_alert(user, "removed pump cap")
|
|
reset_container_flags()
|
|
|
|
update_appearance()
|
|
return CLICK_ACTION_SUCCESS
|
|
|
|
//types of syrups
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/caramel
|
|
name = "bottle of caramel syrup"
|
|
desc = "A pump bottle containing caramelized sugar, also known as caramel. Do not lick."
|
|
list_reagents = list(/datum/reagent/consumable/caramel = 50)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/liqueur
|
|
name = "bottle of coffee liqueur syrup"
|
|
desc = "A pump bottle containing mexican coffee-flavoured liqueur syrup. In production since 1936, HONK."
|
|
list_reagents = list(/datum/reagent/consumable/ethanol/kahlua = 50)
|
|
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/korta_nectar
|
|
name = "bottle of korta syrup"
|
|
desc = "A pump bottle containing korta syrup. A sweet, sugary substance made from crushed sweet korta nuts."
|
|
list_reagents = list(/datum/reagent/consumable/korta_nectar = 50)
|
|
|
|
//secret syrup
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/laughsyrup
|
|
name = "bottle of laugh syrup"
|
|
desc = "A pump bottle containing laugh syrup. The product of juicing Laughin' Peas. Fizzy, and seems to change flavour based on what it's used with!"
|
|
list_reagents = list(/datum/reagent/consumable/laughsyrup = 50)
|