Files
SyncIt21andGitHub 9284cc3c1d Fixes math for chiral inversion buffer & reagent display messages (#93946)
## About The Pull Request
- Chiral inversion buffer now converts multiple reagents with 1u being
able to convert 10u of the entire solution & not just one reagent in the
target. This means if we have say 5u of reagent A & 5u of reagent B
where both can be inverted, then 1u of the inversing buffer can convert
both reagents
- Chiral inversion buffer can now be transferred to another reagent
holder if no conversion occurred instead of just disappearing into the
wind
- Fixes some objects displaying 0u of reagent transferred which happens
when reagent intercept occurs

## Changelog
🆑
fix: Chiral inversion buffer now converts multiple reagents
fix: Chiral inversion buffer can now be transferred into another reagent
holder if no conversion took place instead of just evaporating
fix: dropper, bottles & syringes now won't display messages like 0u of
reagent transferred
/🆑
2025-11-20 23:19:19 -05:00

598 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)
/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/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/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
/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)