From 251bd3e06b1b223d30944dd9ad5b7133e23598d0 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Thu, 31 Dec 2020 12:33:05 -0800
Subject: [PATCH] logging
---
code/modules/food_and_drinks/drinks/drinks.dm | 6 +++---
code/modules/food_and_drinks/food/condiment.dm | 8 ++++----
code/modules/food_and_drinks/food/snacks.dm | 4 ++--
code/modules/food_and_drinks/food/snacks_pie.dm | 2 +-
code/modules/hydroponics/hydroponics.dm | 6 +++---
.../chemistry/machinery/chem_dispenser.dm | 16 ++++++++++++++--
.../modules/reagents/reagent_containers/glass.dm | 2 +-
.../reagents/reagent_containers/hypospray.dm | 4 ++--
.../reagents/reagent_containers/medspray.dm | 2 +-
code/modules/reagents/reagent_containers/pill.dm | 5 +++--
code/modules/reagents/reagent_containers/rags.dm | 4 ++--
.../modules/reagents/reagent_containers/spray.dm | 4 ++++
.../reagents/reagent_containers/syringes.dm | 4 ++--
code/modules/reagents/reagent_dispenser.dm | 2 +-
code/modules/surgery/dental_implant.dm | 2 +-
15 files changed, 44 insertions(+), 27 deletions(-)
diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm
index 140923c1ef..3f51da22b3 100644
--- a/code/modules/food_and_drinks/drinks/drinks.dm
+++ b/code/modules/food_and_drinks/drinks/drinks.dm
@@ -48,7 +48,7 @@
var/fraction = min(gulp_size/reagents.total_volume, 1)
checkLiked(fraction, M)
reagents.reaction(M, INGEST, fraction)
- reagents.trans_to(M, gulp_size)
+ reagents.trans_to(M, gulp_size, log = TRUE)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
return 1
@@ -71,7 +71,7 @@
return
var/refill = reagents.get_master_reagent_id()
- var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
+ var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this, log = TRUE)
to_chat(user, "You transfer [trans] units of the solution to [target].")
if(iscyborg(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
@@ -92,7 +92,7 @@
to_chat(user, "[src] is full.")
return
- var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this)
+ var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, log = TRUE)
to_chat(user, "You fill [src] with [trans] units of the contents of [target].")
/obj/item/reagent_containers/food/drinks/attackby(obj/item/I, mob/user, params)
diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm
index 95e5c9fb56..dca12aa4f8 100644
--- a/code/modules/food_and_drinks/food/condiment.dm
+++ b/code/modules/food_and_drinks/food/condiment.dm
@@ -55,7 +55,7 @@
var/fraction = min(10/reagents.total_volume, 1)
reagents.reaction(M, INGEST, fraction)
- reagents.trans_to(M, 10)
+ reagents.trans_to(M, 10, log = TRUE)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
return 1
@@ -73,7 +73,7 @@
to_chat(user, "[src] is full!")
return
- var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this)
+ var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, log = TRUE)
to_chat(user, "You fill [src] with [trans] units of the contents of [target].")
//Something like a glass or a food item. Player probably wants to transfer TO it.
@@ -84,7 +84,7 @@
if(target.reagents.total_volume >= target.reagents.maximum_volume)
to_chat(user, "you can't add anymore to [target]!")
return
- var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
+ var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this, log = TRUE)
to_chat(user, "You transfer [trans] units of the condiment to [target].")
/obj/item/reagent_containers/food/condiment/on_reagent_change(changetype)
@@ -270,7 +270,7 @@
return
else
to_chat(user, "You tear open [src] above [target] and the condiments drip onto it.")
- src.reagents.trans_to(target, amount_per_transfer_from_this)
+ src.reagents.trans_to(target, amount_per_transfer_from_this, log = TRUE)
qdel(src)
/obj/item/reagent_containers/food/condiment/pack/on_reagent_change(changetype)
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index 4d5f4e2dd0..cb1ed628c4 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -160,7 +160,7 @@ All foods are distributed among various categories. Use common sense.
SEND_SIGNAL(src, COMSIG_FOOD_EATEN, M, user)
var/fraction = min(bitesize / reagents.total_volume, 1)
reagents.reaction(M, INGEST, fraction)
- reagents.trans_to(M, bitesize)
+ reagents.trans_to(M, bitesize, log = TRUE)
bitecount++
On_Consume(M)
checkLiked(fraction, M)
@@ -359,7 +359,7 @@ All foods are distributed among various categories. Use common sense.
if(!M.is_drainable())
to_chat(user, "[M] is unable to be dunked in!")
return
- if(M.reagents.trans_to(src, dunk_amount)) //if reagents were transfered, show the message
+ if(M.reagents.trans_to(src, dunk_amount, log = TRUE)) //if reagents were transfered, show the message
to_chat(user, "You dunk the [M].")
return
if(!M.reagents.total_volume)
diff --git a/code/modules/food_and_drinks/food/snacks_pie.dm b/code/modules/food_and_drinks/food/snacks_pie.dm
index 24522503c1..a4287d3d19 100644
--- a/code/modules/food_and_drinks/food/snacks_pie.dm
+++ b/code/modules/food_and_drinks/food/snacks_pie.dm
@@ -54,7 +54,7 @@
H.visible_message("[H] is creamed by [src]!", "You've been creamed by [src]!")
playsound(H, "desceration", 50, TRUE)
if(!H.is_mouth_covered())
- reagents.trans_to(H,15) //Cream pie combat
+ reagents.trans_to(H, 15, log = TRUE) //Cream pie combat
if(!H.creamed) // one layer at a time
H.add_overlay(creamoverlay)
H.creamed = TRUE
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index a1a177c028..8467d00124 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -130,7 +130,7 @@
reagents.remove_any(min(0.5, nutridrain))
else
reagents.remove_any(nutridrain)
-
+
// Lack of nutrients hurts non-weeds
if(reagents.total_volume <= 0 && !myseed.get_gene(/datum/plant_gene/trait/plant_type/weed_hardy))
adjustHealth(-rand(1,3))
@@ -501,7 +501,7 @@
if(visi_msg)
visible_message("[visi_msg].")
-
+
for(var/obj/machinery/hydroponics/H in trays)
//cause I don't want to feel like im juggling 15 tamagotchis and I can get to my real work of ripping flooring apart in hopes of validating my life choices of becoming a space-gardener
//This was originally in apply_chemicals, but due to apply_chemicals only holding nutrients, we handle it here now.
@@ -675,7 +675,7 @@
idle_power_usage = 0
self_sustaining = FALSE
update_icon()
-
+
/// Tray Setters - The following procs adjust the tray or plants variables, and make sure that the stat doesn't go out of bounds.///
/obj/machinery/hydroponics/proc/adjustWater(adjustamt)
waterlevel = clamp(waterlevel + adjustamt, 0, maxwater)
diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index db16a10d1d..7e6635af15 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -259,6 +259,7 @@
say("Not enough energy to complete operation!")
return
R.add_reagent(reagent, actual)
+ log_reagent("DISPENSER: ([COORD(src)]) ([REF(src)]) [key_name(usr)] dispensed [actual] of [reagent] to [beaker] ([REF(beaker)]).")
work_animation()
else
@@ -281,11 +282,14 @@
var/list/chemicals_to_dispense = saved_recipes[params["recipe"]]
if(!LAZYLEN(chemicals_to_dispense))
return
+ var/list/logstring = list()
+ var/earlyabort = TRUE
for(var/key in chemicals_to_dispense)
var/reagent = GLOB.name2reagent[translate_legacy_chem_id(key)]
var/dispense_amount = chemicals_to_dispense[key]
+ logstring += "[reagent] = [dispense_amount]"
if(!dispensable_reagents.Find(reagent))
- return
+ break
if(!recording_recipe)
if(!beaker)
return
@@ -295,11 +299,15 @@
if(actual)
if(!cell.use(actual / powerefficiency))
say("Not enough energy to complete operation!")
- return
+ earlyabort = TRUE
+ break
R.add_reagent(reagent, actual)
work_animation()
else
recording_recipe[key] += dispense_amount
+ logstring = logstring.Join(", ")
+ if(!recording_recipe)
+ log_reagent("DISPENSER: [key_name(usr)] dispensed recipe [params["recipe"]] with chemicals [logstring] to [beaker] ([REF(beaker)])[earlyabort? " (aborted early)":""]")
. = TRUE
if("clear_recipes")
if(!is_operational())
@@ -322,15 +330,19 @@
if(saved_recipes[name] && alert("\"[name]\" already exists, do you want to overwrite it?",, "Yes", "No") == "No")
return
if(name && recording_recipe)
+ var/logstring = list()
for(var/reagent in recording_recipe)
var/reagent_id = GLOB.name2reagent[translate_legacy_chem_id(reagent)]
+ logstring += "[reagent_id] = [recording_recipe[reagent]]"
if(!dispensable_reagents.Find(reagent_id))
visible_message("[src] buzzes.", "You hear a faint buzz.")
to_chat(usr, "[src] cannot find [reagent]!")
playsound(src, 'sound/machines/buzz-two.ogg', 50, TRUE)
return
saved_recipes[name] = recording_recipe
+ logstring = logstring.Join(", ")
recording_recipe = null
+ log_reagent("DISPENSER: [key_name(usr)] recorded recipe [name] with chemicals [logstring]")
. = TRUE
if("cancel_recording")
if(!is_operational())
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index ec26182813..6e1b753c32 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -455,7 +455,7 @@
grinded.on_grind()
reagents.add_reagent_list(grinded.grind_results)
if(grinded.reagents) //food and pills
- grinded.reagents.trans_to(src, grinded.reagents.total_volume)
+ grinded.reagents.trans_to(src, grinded.reagents.total_volume, log = "mortar powdering")
to_chat(user, "You break [grinded] into powder.")
QDEL_NULL(grinded)
return
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 5aeac1bc38..1f89af420e 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -41,7 +41,7 @@
if(M.reagents)
var/trans = 0
if(!infinite)
- trans = reagents.trans_to(M, amount_per_transfer_from_this)
+ trans = reagents.trans_to(M, amount_per_transfer_from_this, log = TRUE)
else
trans = reagents.copy_to(M, amount_per_transfer_from_this)
@@ -427,7 +427,7 @@
var/fraction = min(vial.amount_per_transfer_from_this/vial.reagents.total_volume, 1)
vial.reagents.reaction(L, method, fraction)
- vial.reagents.trans_to(target, vial.amount_per_transfer_from_this)
+ vial.reagents.trans_to(target, vial.amount_per_transfer_from_this, log = TRUE)
var/long_sound = vial.amount_per_transfer_from_this >= 15
playsound(loc, long_sound ? 'sound/items/hypospray_long.ogg' : pick('sound/items/hypospray.ogg','sound/items/hypospray2.ogg'), 50, 1, -1)
to_chat(user, "You [fp_verb] [vial.amount_per_transfer_from_this] units of the solution. The hypospray's cartridge now contains [vial.reagents.total_volume] units.")
diff --git a/code/modules/reagents/reagent_containers/medspray.dm b/code/modules/reagents/reagent_containers/medspray.dm
index 052e85a3d1..8d30f25db2 100644
--- a/code/modules/reagents/reagent_containers/medspray.dm
+++ b/code/modules/reagents/reagent_containers/medspray.dm
@@ -80,7 +80,7 @@
playsound(src, 'sound/effects/spray2.ogg', 50, 1, -6)
var/fraction = min(amount_per_transfer_from_this/reagents.total_volume, 1)
reagents.reaction(L, apply_type, fraction)
- reagents.trans_to(L, amount_per_transfer_from_this)
+ reagents.trans_to(L, amount_per_transfer_from_this, log = TRUE)
return
/obj/item/reagent_containers/medspray/styptic
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index 3c23794e5a..a5b4e5b8ab 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -56,7 +56,7 @@
log_combat(user, M, "fed", reagents.log_list())
if(reagents.total_volume)
reagents.reaction(M, apply_type)
- reagents.trans_to(M, reagents.total_volume)
+ reagents.trans_to(M, reagents.total_volume, log = TRUE)
qdel(src)
return TRUE
@@ -76,7 +76,8 @@
user.visible_message("[user] slips something into [target]!",
"You dissolve [src] in [target].", vision_distance = 2)
- reagents.trans_to(target, reagents.total_volume)
+ log_combat(user, target, "spiked", src, reagents.log_list())
+ reagents.trans_to(target, reagents.total_volume, log = TRUE)
qdel(src)
return STOP_ATTACK_PROC_CHAIN
diff --git a/code/modules/reagents/reagent_containers/rags.dm b/code/modules/reagents/reagent_containers/rags.dm
index 469a8ef907..5d94e78809 100644
--- a/code/modules/reagents/reagent_containers/rags.dm
+++ b/code/modules/reagents/reagent_containers/rags.dm
@@ -39,7 +39,7 @@
C.visible_message("[user] is trying to smother \the [C] with \the [src]!", "[user] is trying to smother you with \the [src]!", "You hear some struggling and muffled cries of surprise.")
if(do_after(user, 20, target = C))
reagents.reaction(C, INGEST)
- reagents.trans_to(C, 5)
+ reagents.trans_to(C, 5, log = TRUE)
C.visible_message("[user] has smothered \the [C] with \the [src]!", "[user] has smothered you with \the [src]!", "You hear some struggling and a heavy breath taken.")
log_combat(user, C, "smothered", log_object)
else
@@ -107,7 +107,7 @@
reagents.clear_reagents()
else
msg += "'s liquids into \the [target]"
- reagents.trans_to(target, reagents.total_volume)
+ reagents.trans_to(target, reagents.total_volume, log = TRUE)
to_chat(user, "[msg].")
return TRUE
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 926ed27854..af053b592a 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -81,6 +81,10 @@
else
reagents.trans_to(D, amount_per_transfer_from_this, 1/range)
D.color = mix_color_from_reagents(D.reagents.reagent_list)
+ var/turf/T = get_turf(src)
+ if(!T)
+ return
+ log_reagent("SPRAY: [key_name(usr)] fired [src] ([REF(src)]) [COORD(T)] at [A] ([REF(A)]) [COORD(A)] (chempuff: [D.reagents.log_string()])")
var/wait_step = max(round(2+ spray_delay * INVERSE(range)), 2)
last_spray = world.time
INVOKE_ASYNC(src, .proc/do_spray, A, wait_step, D, range, puff_reagent_left)
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index f42ae668c7..93a07b1a6e 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -113,7 +113,7 @@
to_chat(user, "You cannot directly remove reagents from [target]!")
return
- var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares?
+ var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, log = TRUE) // transfer from, transfer to - who cares?
to_chat(user, "You fill [src] with [trans] units of the solution. It now contains [reagents.total_volume] units.")
if (round(reagents.total_volume, 0.1) >= reagents.maximum_volume)
@@ -158,7 +158,7 @@
L.log_message("injected themselves ([contained]) with [src.name]", LOG_ATTACK, color="orange")
var/fraction = min(amount_per_transfer_from_this/reagents.total_volume, 1)
reagents.reaction(L, INJECT, fraction)
- reagents.trans_to(target, amount_per_transfer_from_this)
+ reagents.trans_to(target, amount_per_transfer_from_this, log = TRUE)
to_chat(user, "You inject [amount_per_transfer_from_this] units of the solution. The syringe now contains [reagents.total_volume] units.")
if (reagents.total_volume <= 0 && mode==SYRINGE_INJECT)
mode = SYRINGE_DRAW
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index ffa3f7478b..39ccdd23a2 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -182,7 +182,7 @@
if(W.reagents.has_reagent(/datum/reagent/fuel, W.max_fuel))
to_chat(user, "Your [W.name] is already full!")
return
- reagents.trans_to(W, W.max_fuel)
+ reagents.trans_to(W, W.max_fuel, log = TRUE)
user.visible_message("[user] refills [user.p_their()] [W.name].", "You refill [W].")
playsound(src, 'sound/effects/refill.ogg', 50, 1)
W.update_icon()
diff --git a/code/modules/surgery/dental_implant.dm b/code/modules/surgery/dental_implant.dm
index 9d304b0727..311c886c9d 100644
--- a/code/modules/surgery/dental_implant.dm
+++ b/code/modules/surgery/dental_implant.dm
@@ -36,6 +36,6 @@
log_combat(owner, null, "swallowed an implanted pill", target)
if(target.reagents.total_volume)
target.reagents.reaction(owner, INGEST)
- target.reagents.trans_to(owner, target.reagents.total_volume)
+ target.reagents.trans_to(owner, target.reagents.total_volume, log = TRUE)
qdel(target)
return 1