From fc684da88de8f893cd49022cb1dfa516d79ac677 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Fri, 24 Jan 2020 04:31:54 -0700
Subject: [PATCH] more reasonable
---
code/game/objects/items/cigs_lighters.dm | 9 ++++-----
code/modules/reagents/chemistry/holder.dm | 20 +++++++++++--------
.../reagents/reagent_containers/glass.dm | 10 +++++-----
3 files changed, 21 insertions(+), 18 deletions(-)
diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm
index 49985f5c23..1186ea8001 100644
--- a/code/game/objects/items/cigs_lighters.dm
+++ b/code/game/objects/items/cigs_lighters.dm
@@ -146,7 +146,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(!proximity || lit) //can't dip if cigarette is lit (it will heat the reagents in the glass instead)
return
if(istype(glass)) //you can dip cigarettes into beakers
- if(glass.reagents.trans_to(src, chem_volume)) //if reagents were transfered, show the message
+ if(glass.reagents.trans_to(src, chem_volume, log = "cigar fill: dip cigarette")) //if reagents were transfered, show the message
to_chat(user, "You dip \the [src] into \the [glass].")
else //if not, either the beaker was empty, or the cigarette was full
if(!glass.reagents.total_volume)
@@ -154,7 +154,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
else
to_chat(user, "[src] is full.")
-
/obj/item/clothing/mask/cigarette/proc/light(flavor_text = null)
if(lit)
return
@@ -438,7 +437,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
packeditem = 1
name = "[O.name]-packed [initial(name)]"
if(O.reagents)
- O.reagents.trans_to(src, O.reagents.total_volume)
+ O.reagents.trans_to(src, O.reagents.total_volume, log = "cigar fill: pipe pack")
qdel(O)
else
to_chat(user, "It has to be dried first!")
@@ -687,7 +686,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(O.dry)
var/obj/item/clothing/mask/cigarette/rollie/R = new /obj/item/clothing/mask/cigarette/rollie(user.loc)
R.chem_volume = target.reagents.total_volume
- target.reagents.trans_to(R, R.chem_volume)
+ target.reagents.trans_to(R, R.chem_volume, log = "cigar fill: rolling paper afterattack")
qdel(target)
qdel(src)
user.put_in_active_hand(R)
@@ -903,7 +902,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
//Transfer reagents and remove the plant
user.show_message("You stuff the [DP] into the [src]'s bowl.", MSG_VISUAL)
- DP.reagents.trans_to(src, 100)
+ DP.reagents.trans_to(src, 100, log = "cigar fill: bong")
qdel(DP)
return
else
diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm
index 4342439cd8..e2bb1d55a3 100644
--- a/code/modules/reagents/chemistry/holder.dm
+++ b/code/modules/reagents/chemistry/holder.dm
@@ -171,7 +171,7 @@
return master
-/datum/reagents/proc/trans_to(obj/target, amount=1, multiplier=1, preserve_data=1, no_react = 0)//if preserve_data=0, the reagents data will be lost. Usefull if you use data for some strange stuff and don't want it to be transferred.
+/datum/reagents/proc/trans_to(obj/target, amount = 1, multiplier = 1, preserve_data = 1, no_react = 0, log = FALSE)//if preserve_data=0, the reagents data will be lost. Usefull if you use data for some strange stuff and don't want it to be transferred.
var/list/cached_reagents = reagent_list
if(!target || !total_volume)
return
@@ -199,8 +199,11 @@
R.add_reagent(T.type, transfer_amount * multiplier, trans_data, chem_temp, T.purity, pH, no_react = TRUE, ignore_pH = TRUE) //we only handle reaction after every reagent has been transfered.
remove_reagent(T.type, transfer_amount, ignore_pH = TRUE)
- var/location_string = "FROM [(us && "[us] [COORD(us)]") || "NULL"] TO [(them && "[them] [COORD(them)]") || "NULL"]"
- log_reagent_transfer("[location_string] - [key_name(usr)]: trans_to with arguments [target] [amount] [multiplier] [preserve_data] [no_react] and reagents [english_list(trasnferred)]")
+ if(log && amount > 0)
+ var/atom/us = my_atom
+ var/atom/them = their_atom
+ var/location_string = "FROM [(us && "[us] [COORD(us)]") || "NULL"] TO [(them && "[them] [COORD(them)]") || "NULL"]"
+ log_reagent_transfer("[location_string] - [key_name(usr)][istext(log) && [" - [log]"]]: trans_to with arguments [target] [amount] [multiplier] [preserve_data] [no_react] and reagents [english_list(trasnferred)]")
update_total()
R.update_total()
@@ -240,7 +243,7 @@
src.handle_reactions()
return amount
-/datum/reagents/proc/trans_id_to(obj/target, reagent, amount=1, preserve_data=1)//Not sure why this proc didn't exist before. It does now! /N
+/datum/reagents/proc/trans_id_to(obj/target, reagent, amount = 1, preserve_data = TRUE, log = FALSE)//Not sure why this proc didn't exist before. It does now! /N
var/list/cached_reagents = reagent_list
if (!target)
return
@@ -261,10 +264,11 @@
trans_data = current_reagent.data
R.add_reagent(current_reagent.type, amount, trans_data, chem_temp, current_reagent.purity, pH, no_react = TRUE)
remove_reagent(current_reagent.type, amount, 1)
- var/atom/us = my_atom
- var/atom/them = their_atom
- var/location_string = "FROM [(us && "[us] [COORD(us)]") || "NULL"] TO [(them && "[them] [COORD(them)]") || "NULL"]"
- log_reagent_transfer("[location_string] - [key_name(usr)]: trans_id_to with arguments [target] [reagent] [amount] [preserve_data]")
+ if(log && amount > 0)
+ var/atom/us = my_atom
+ var/atom/them = their_atom
+ var/location_string = "FROM [(us && "[us] [COORD(us)]") || "NULL"] TO [(them && "[them] [COORD(them)]") || "NULL"]"
+ log_reagent_transfer("[location_string] - [key_name(usr)][istext(log) && [" - [log]"]: trans_id_to with arguments [target] [reagent] [amount] [preserve_data]")
break
src.update_total()
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 624a5e62cb..a9bdb64dfb 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -49,7 +49,7 @@
to_chat(user, "You swallow a gulp of [src].")
var/fraction = min(5/reagents.total_volume, 1)
reagents.reaction(M, INGEST, fraction)
- addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5), 5)
+ addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5, log = "feed/swallow"), 5)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
/obj/item/reagent_containers/glass/afterattack(obj/target, mob/user, proximity)
@@ -66,7 +66,7 @@
to_chat(user, "[target] is full.")
return
- var/trans = reagents.trans_to(target, amount_per_transfer_from_this)
+ var/trans = reagents.trans_to(target, amount_per_transfer_from_this, log = "reagentcontainer-glass afterattack transfer to")
to_chat(user, "You transfer [trans] unit\s of the solution to [target].")
else if(target.is_drainable()) //A dispenser. Transfer FROM it TO us.
@@ -78,7 +78,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 = "reagentcontainer-glass afterattack fill from")
to_chat(user, "You fill [src] with [trans] unit\s of the contents of [target].")
else if(reagents.total_volume)
@@ -101,7 +101,7 @@
to_chat(user, "[src] is full.")
else
to_chat(user, "You break [E] in [src].")
- E.reagents.trans_to(src, E.reagents.total_volume)
+ E.reagents.trans_to(src, E.reagents.total_volume, log = "reagentcontainer-glass break egg in")
qdel(E)
return
..()
@@ -298,7 +298,7 @@
if(reagents.total_volume < 1)
to_chat(user, "[src] is out of water!")
else
- reagents.trans_to(O, 5)
+ reagents.trans_to(O, 5, log = "reagentcontainer-bucket fill mop")
to_chat(user, "You wet [O] in [src].")
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
else if(isprox(O))