Accidental Consumption post-food refactor cleanup (#55152)

Renames a bunch of vars to be more descriptive
    Removes old references to snacks
    Updates some code slightly
This commit is contained in:
MrMelbert
2020-11-26 14:41:26 +00:00
committed by GitHub
parent aa992c119b
commit c8536907fc
5 changed files with 91 additions and 112 deletions
+46 -52
View File
@@ -7,8 +7,8 @@
sheet_type = /obj/item/stack/sheet/metal
value_per_unit = 0.0025
/datum/material/iron/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5)
/datum/material/iron/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5)
return TRUE
///Breaks extremely easily but is transparent.
@@ -25,8 +25,8 @@
beauty_modifier = 0.05
armor_modifiers = list(MELEE = 0.2, BULLET = 0.2, LASER = 0, ENERGY = 1, BOMB = 0, BIO = 0.2, RAD = 0.2, FIRE = 1, ACID = 0.2)
/datum/material/glass/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5, sharpness = TRUE) //cronch
/datum/material/glass/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5, sharpness = TRUE) //cronch
return TRUE
/*
@@ -44,8 +44,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
value_per_unit = 0.025
beauty_modifier = 0.075
/datum/material/silver/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5)
/datum/material/silver/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5)
return TRUE
///Slight force increase
@@ -60,8 +60,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
beauty_modifier = 0.15
armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 1.15, ENERGY = 1.15, BOMB = 1, BIO = 1, RAD = 1, FIRE = 0.7, ACID = 1.1)
/datum/material/gold/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5)
/datum/material/gold/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5)
return TRUE
///Has no special properties
@@ -76,8 +76,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
beauty_modifier = 0.3
armor_modifiers = list(MELEE = 1.3, BULLET = 1.3, LASER = 0.6, ENERGY = 1, BOMB = 1.2, BIO = 1, RAD = 1, FIRE = 1, ACID = 1)
/datum/material/diamond/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7)
/datum/material/diamond/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7)
return TRUE
///Is slightly radioactive
@@ -99,9 +99,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
. = ..()
qdel(source.GetComponent(/datum/component/radioactive))
/datum/material/uranium/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.reagents.add_reagent(/datum/reagent/uranium, rand(4, 6))
S?.reagents?.add_reagent(/datum/reagent/uranium, S.reagents.total_volume*(2/5))
/datum/material/uranium/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.reagents.add_reagent(/datum/reagent/uranium, rand(4, 6))
source_item?.reagents?.add_reagent(/datum/reagent/uranium, source_item.reagents.total_volume*(2/5))
return TRUE
///Adds firestacks on hit (Still needs support to turn into gas on destruction)
@@ -127,9 +127,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
source.RemoveElement(/datum/element/firestacker, amount=1)
qdel(source.GetComponent(/datum/component/explodable))
/datum/material/plasma/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.reagents.add_reagent(/datum/reagent/toxin/plasma, rand(6, 8))
S?.reagents?.add_reagent(/datum/reagent/toxin/plasma, S.reagents.total_volume*(2/5))
/datum/material/plasma/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.reagents.add_reagent(/datum/reagent/toxin/plasma, rand(6, 8))
source_item?.reagents?.add_reagent(/datum/reagent/toxin/plasma, source_item.reagents.total_volume*(2/5))
return TRUE
///Can cause bluespace effects on use. (Teleportation) (Not yet implemented)
@@ -143,9 +143,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
sheet_type = /obj/item/stack/sheet/bluespace_crystal
value_per_unit = 0.15
/datum/material/bluespace/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.reagents.add_reagent(/datum/reagent/bluespace, rand(5, 8))
S?.reagents?.add_reagent(/datum/reagent/bluespace, S.reagents.total_volume*(2/5))
/datum/material/bluespace/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.reagents.add_reagent(/datum/reagent/bluespace, rand(5, 8))
source_item?.reagents?.add_reagent(/datum/reagent/bluespace, source_item.reagents.total_volume*(2/5))
return TRUE
///Honks and slips
@@ -169,9 +169,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
qdel(source.GetComponent(/datum/component/slippery))
qdel(source.GetComponent(/datum/component/squeak))
/datum/material/bananium/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.reagents.add_reagent(/datum/reagent/consumable/banana, rand(8, 12))
S?.reagents?.add_reagent(/datum/reagent/consumable/banana, S.reagents.total_volume*(2/5))
/datum/material/bananium/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.reagents.add_reagent(/datum/reagent/consumable/banana, rand(8, 12))
source_item?.reagents?.add_reagent(/datum/reagent/consumable/banana, source_item.reagents.total_volume*(2/5))
return TRUE
///Mediocre force increase
@@ -186,8 +186,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
beauty_modifier = 0.05
armor_modifiers = list(MELEE = 1.35, BULLET = 1.3, LASER = 1.3, ENERGY = 1.25, BOMB = 1.25, BIO = 1, RAD = 1, FIRE = 0.7, ACID = 1)
/datum/material/titanium/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7)
/datum/material/titanium/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7)
return TRUE
/datum/material/runite
@@ -201,8 +201,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
beauty_modifier = 0.5
armor_modifiers = list(MELEE = 1.35, BULLET = 2, LASER = 0.5, ENERGY = 1.25, BOMB = 1.25, BIO = 1, RAD = 1, FIRE = 1.4, ACID = 1) //rune is weak against magic lasers but strong against bullets. This is the combat triangle.
/datum/material/runite/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10)
/datum/material/runite/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10)
return TRUE
///Force decrease
@@ -254,13 +254,11 @@ Unless you know what you're doing, only use the first three numbers. They're in
var/obj/wooden = source
wooden.resistance_flags &= ~FLAMMABLE
/datum/material/wood/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.apply_damage(5, BRUTE, BODY_ZONE_HEAD)
/datum/material/wood/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(5, BRUTE, BODY_ZONE_HEAD)
victim.reagents.add_reagent(/datum/reagent/cellulose, rand(8, 12))
source_item?.reagents?.add_reagent(/datum/reagent/cellulose, source_item.reagents.total_volume*(2/5))
var/obj/item/reagent_containers/food/snacks/food_S = S
if(istype(food_S) && food_S?.tastes?.len)
food_S.tastes += "wood chips and sawdust"
food_S.tastes["wood chips and sawdust"] = 3
return TRUE
///Stronk force increase
@@ -275,8 +273,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
beauty_modifier = 0.4
armor_modifiers = list(MELEE = 1.5, BULLET = 1.5, LASER = 1.3, ENERGY = 1.3, BOMB = 1, BIO = 1, RAD = 1, FIRE = 2.5, ACID = 1)
/datum/material/adamantine/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10)
/datum/material/adamantine/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10)
return TRUE
///RPG Magic.
@@ -301,8 +299,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
if(istype(source, /obj/item))
qdel(source.GetComponent(/datum/component/fantasy))
/datum/material/mythril/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10)
/datum/material/mythril/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10)
return TRUE
//formed when freon react with o2, emits a lot of plasma when heated
@@ -324,13 +322,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
qdel(source.GetComponent(/datum/component/hot_ice, "plasma", amount*150, amount*20+300))
return ..()
/datum/material/hot_ice/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.reagents.add_reagent(/datum/reagent/toxin/plasma, rand(5, 6))
S?.reagents?.add_reagent(/datum/reagent/toxin/plasma, S.reagents.total_volume*(3/5))
var/obj/item/reagent_containers/food/snacks/food_S = S
if(istype(food_S) && food_S?.tastes?.len)
food_S.tastes += "salt"
food_S.tastes["salt"] = 3
/datum/material/hot_ice/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.reagents.add_reagent(/datum/reagent/toxin/plasma, rand(5, 6))
source_item?.reagents?.add_reagent(/datum/reagent/toxin/plasma, source_item.reagents.total_volume*(3/5))
return TRUE
/datum/material/metalhydrogen
@@ -345,8 +339,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
strength_modifier = 1.2
armor_modifiers = list(MELEE = 1.35, BULLET = 1.3, LASER = 1.3, ENERGY = 1.25, BOMB = 0.7, BIO = 1, RAD = 1, FIRE = 1.3, ACID = 1)
/datum/material/metalhydrogen/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7)
/datum/material/metalhydrogen/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7)
return TRUE
/datum/material/otherworld_crystal
@@ -375,8 +369,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
turf_sound_override = FOOTSTEP_SAND
texture_layer_icon_state = "sand"
/datum/material/sand/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.adjust_disgust(17)
/datum/material/sand/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.adjust_disgust(17)
return TRUE
//And now for our lavaland dwelling friends, sand, but in stone form! Truly revolutionary.
@@ -404,8 +398,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
turf_sound_override = FOOTSTEP_SAND
texture_layer_icon_state = "sand"
/datum/material/snow/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.reagents.add_reagent(/datum/reagent/water, rand(5, 10))
/datum/material/snow/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.reagents.add_reagent(/datum/reagent/water, rand(5, 10))
return TRUE
/datum/material/runedmetal
@@ -419,9 +413,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
beauty_modifier = -0.15
texture_layer_icon_state = "runed"
/datum/material/runedmetal/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S)
M.reagents.add_reagent(/datum/reagent/fuel/unholywater, rand(8, 12))
M.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5)
/datum/material/runedmetal/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.reagents.add_reagent(/datum/reagent/fuel/unholywater, rand(8, 12))
victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5)
return TRUE
/datum/material/bronze
+31 -39
View File
@@ -1004,7 +1004,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
return TRUE
/// How many different types of mats will be counted in a bite?
#define MAX_BONUS_MATS_PER_BITE 2
#define MAX_MATS_PER_BITE 2
/*
* On accidental consumption: when you somehow end up eating an item accidentally (currently, this is used for when items are hidden in food like bread or cake)
@@ -1023,43 +1023,35 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
* * source_item - the item that held the item being consumed - bread, cake, etc
* * discover_after - if the item will be discovered after being chomped (FALSE will usually mean it was swallowed, TRUE will usually mean it was bitten into and discovered)
*/
/obj/item/proc/on_accidental_consumption(mob/living/carbon/M, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE)
/// If source_item is a snack, we can adjust its taste
var/obj/item/reagent_containers/food/snacks/S = source_item
if(!istype(S))
S = null
/obj/item/proc/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE)
if(get_sharpness() && force >= 5) //if we've got something sharp with a decent force (ie, not plastic)
INVOKE_ASYNC(M, /mob.proc/emote, "scream")
M.visible_message("<span class='warning'>[M] looks like [M.p_theyve()] just bit something they shouldn't have!</span>", \
INVOKE_ASYNC(victim, /mob.proc/emote, "scream")
victim.visible_message("<span class='warning'>[victim] looks like [victim.p_theyve()] just bit something they shouldn't have!</span>", \
"<span class='boldwarning'>OH GOD! Was that a crunch? That didn't feel good at all!!</span>")
M.apply_damage(max(15, force), BRUTE, BODY_ZONE_HEAD, wound_bonus = 10, sharpness = TRUE)
M.losebreath += 2
if(tryEmbed(M.get_bodypart(BODY_ZONE_CHEST), TRUE, TRUE)) //and if it embeds successfully in their chest, cause a lot of pain
M.apply_damage(max(25, force*1.5), BRUTE, BODY_ZONE_CHEST, wound_bonus = 7, sharpness = TRUE)
M.losebreath += 6
victim.apply_damage(max(15, force), BRUTE, BODY_ZONE_HEAD, wound_bonus = 10, sharpness = TRUE)
victim.losebreath += 2
if(tryEmbed(victim.get_bodypart(BODY_ZONE_CHEST), TRUE, TRUE)) //and if it embeds successfully in their chest, cause a lot of pain
victim.apply_damage(max(25, force*1.5), BRUTE, BODY_ZONE_CHEST, wound_bonus = 7, sharpness = TRUE)
victim.losebreath += 6
discover_after = FALSE
if(QDELETED(src)) // in case trying to embed it caused its deletion (say, if it's DROPDEL)
return
if(S?.tastes?.len) //is that blood in my mouth?
S.tastes += "iron"
S.tastes["iron"] = 2
source_item?.reagents?.add_reagent(/datum/reagent/blood, 2)
else if(custom_materials?.len) //if we've got materials, lets see whats in it
/// How many 'bonus' mats have we found? You can only be affected by two 'bonus' material datums by default
/// How many mats have we found? You can only be affected by two material datums by default
var/found_mats = 0
/// How much of each material is in it? Used to determine if the glass should break
var/total_material_amount = 0
for(var/mats in custom_materials)
total_material_amount += custom_materials[mats]
if(found_mats >= MAX_BONUS_MATS_PER_BITE)
if(found_mats >= MAX_MATS_PER_BITE)
continue //continue instead of break so we can finish adding up all the mats to the total
var/datum/material/FM = mats
if(FM.on_accidental_mat_consumption(M, S))
var/datum/material/discovered_mat = mats
if(discovered_mat.on_accidental_mat_consumption(victim, source_item))
found_mats++
//if there's glass in it and the glass is more than 60% of the item, then we can shatter it
@@ -1069,38 +1061,38 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
var/obj/item/shard/broken_glass = new /obj/item/shard(loc)
broken_glass.name = "broken [name]"
broken_glass.desc = "This used to be \a [name], but it sure isn't anymore."
playsound(M, "shatter", 25, TRUE)
playsound(victim, "shatter", 25, TRUE)
qdel(src)
if(QDELETED(S))
broken_glass.on_accidental_consumption(M, user)
if(QDELETED(source_item))
broken_glass.on_accidental_consumption(victim, user)
else //33% chance to just "crack" it (play a sound) and leave it in the bread
playsound(M, "shatter", 15, TRUE)
playsound(victim, "shatter", 15, TRUE)
discover_after = FALSE
M.adjust_disgust(33)
M.visible_message("<span class='warning'>[M] looks like [M.p_theyve()] just bitten into something hard.</span>", \
victim.adjust_disgust(33)
victim.visible_message("<span class='warning'>[victim] looks like [victim.p_theyve()] just bitten into something hard.</span>", \
"<span class='warning'>Eugh! Did I just bite into something?</span>")
else if(w_class == WEIGHT_CLASS_TINY) //small items like soap or toys that don't have mat datums
/// M's chest (for cavity implanting the item)
var/obj/item/bodypart/chest/CV = M.get_bodypart(BODY_ZONE_CHEST)
if(CV.cavity_item)
M.vomit(5, FALSE, FALSE, distance = 0)
/// victim's chest (for cavity implanting the item)
var/obj/item/bodypart/chest/victim_cavity = victim.get_bodypart(BODY_ZONE_CHEST)
if(victim_cavity.cavity_item)
victim.vomit(5, FALSE, FALSE, distance = 0)
forceMove(drop_location())
to_chat(M, "<span class='warning'>You vomit up a [name]! [source_item? "Was that in \the [source_item]?" : ""]</span>")
to_chat(victim, "<span class='warning'>You vomit up a [name]! [source_item? "Was that in \the [source_item]?" : ""]</span>")
else
M.transferItemToLoc(src, M, TRUE)
M.losebreath += 2
CV.cavity_item = src
to_chat(M, "<span class='warning'>You swallow hard. [source_item? "Something small was in \the [source_item]..." : ""]</span>")
victim.transferItemToLoc(src, victim, TRUE)
victim.losebreath += 2
victim_cavity.cavity_item = src
to_chat(victim, "<span class='warning'>You swallow hard. [source_item? "Something small was in \the [source_item]..." : ""]</span>")
discover_after = FALSE
else
to_chat(M, "<span class='warning'>[source_item? "Something strange was in the \the [source_item]..." : "I just bit something strange..."] </span>")
to_chat(victim, "<span class='warning'>[source_item? "Something strange was in the \the [source_item]..." : "I just bit something strange..."] </span>")
return discover_after
#undef MAX_BONUS_MATS_PER_BITE
#undef MAX_MATS_PER_BITE
// Update icons if this is being carried by a mob
/obj/item/wash(clean_types)
@@ -50,19 +50,12 @@
/*
* On accidental consumption, 'spend' the ammo, and add in some gunpowder
*/
/obj/item/ammo_casing/on_accidental_consumption(mob/living/carbon/M, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE)
/obj/item/ammo_casing/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE)
if(BB)
BB = null
update_icon()
var/obj/item/reagent_containers/food/snacks/S = source_item
if(istype(S))
if(S.reagents)
S.reagents.add_reagent(/datum/reagent/gunpowder, S.reagents.total_volume*(2/3))
if(S.tastes?.len)
S.tastes += "salt"
S.tastes["salt"] = 3
M.reagents?.add_reagent(/datum/reagent/gunpowder, 3)
victim.reagents?.add_reagent(/datum/reagent/gunpowder, 3)
source_item?.reagents?.add_reagent(/datum/reagent/gunpowder, source_item.reagents.total_volume*(2/3))
return ..()
@@ -77,12 +77,9 @@
/*
* On accidental consumption, consume the pill
*/
/obj/item/reagent_containers/pill/on_accidental_consumption(mob/living/carbon/M, mob/living/carbon/user, obj/item/source_item, discover_after = FALSE)
to_chat(M, "<span class='warning'>You swallow something small. Was that in \the [source_item]?</span>")
if(reagents?.total_volume)
reagents.trans_to(M, reagents.total_volume, transfered_by = user, methods = INGEST)
source_item?.contents -= src
/obj/item/reagent_containers/pill/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = FALSE)
to_chat(victim, "<span class='warning'>You swallow something small. [source_item ? "Was that in [source_item]?" : ""]</span>")
reagents?.trans_to(victim, reagents.total_volume, transfered_by = user, methods = INGEST)
qdel(src)
return discover_after
@@ -160,11 +160,14 @@
/*
* On accidental consumption, inject the eater with 2/3rd of the syringe and reveal it
*/
/obj/item/reagent_containers/syringe/on_accidental_consumption(mob/living/carbon/M, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE)
to_chat(M, "<span class='boldwarning'>There's a syringe in \the [source_item]!!</span>")
M.apply_damage(5, BRUTE, BODY_ZONE_HEAD)
if(reagents?.total_volume)
reagents.trans_to(M, round(reagents.total_volume*(2/3)), transfered_by = user, methods = INJECT)
/obj/item/reagent_containers/syringe/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE)
if(source_item)
to_chat(victim, "<span class='boldwarning'>There's a [src] in [source_item]!!</span>")
else
to_chat(victim, "<span class='boldwarning'>[src] injects you!</span>")
victim.apply_damage(5, BRUTE, BODY_ZONE_HEAD)
reagents?.trans_to(victim, round(reagents.total_volume*(2/3)), transfered_by = user, methods = INJECT)
return discover_after