diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index 5618ca9a91e..ef8b0b07344 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -289,7 +289,7 @@ if(M) more = "[ADMIN_LOOKUPFLW(M)] " message_admins("Smoke: ([whereLink])[contained]. Key: [more ? more : carry.my_atom.fingerprintslast].") - log_game("A chemical smoke reaction has taken place in ([where])[contained]. Last associated key is [carry.my_atom.fingerprintslast].") + log_game("A chemical smoke reaction has taken place in ([where])[contained]. Last touched by [carry.my_atom.fingerprintslast].") else message_admins("Smoke: ([whereLink])[contained]. No associated key.") log_game("A chemical smoke reaction has taken place in ([where])[contained]. No associated key.") diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index bed7ba24e4b..7055d17a085 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -75,6 +75,10 @@ return to_chat(user, "You add [I] to the [initial(name)] assembly.") beakers += I + for(var/datum/reagent/R in I.reagents.reagent_list) + var/reagent_vol = R.volume + add_logs(user, src, "inserted [I]", additional = "[reagent_vol] units of [R] inside.") + log_game("[key_name(user)] inserted [I] into [src] containing [reagent_vol] units of [R] ") else to_chat(user, "[I] is empty!") @@ -111,6 +115,12 @@ if(beakers.len) for(var/obj/O in beakers) O.forceMove(drop_location()) + if(!O.reagents) + continue + for(var/datum/reagent/R in O.reagents.reagent_list) + var/reagent_vol = R.volume + add_logs(user, src, "removed [O]", additional = "[reagent_vol] units of [R] inside.") + log_game("[key_name(user)] removed [O] from [src] containing [reagent_vol] units of [R]") beakers = list() to_chat(user, "You open the [initial(name)] assembly and remove the payload.") return // First use of the wrench remove beakers, then use the wrench to remove the activation mechanism. @@ -155,6 +165,19 @@ if(nadeassembly) nadeassembly.on_found(finder) +/obj/item/grenade/chem_grenade/log_grenade(mob/user, turf/T) + ..() + for(var/obj/exploded_beaker in beakers) + if(!exploded_beaker.reagents) + continue + for(var/datum/reagent/R in exploded_beaker.reagents.reagent_list) + var/reagent_volume = R.volume + var/message = "[src] primed by [user] at [ADMIN_VERBOSEJMP(T)] contained [reagent_volume] units of [R]." + GLOB.bombers += message + message_admins(message) + log_game("[src] primed by [user] at [AREACOORD(T)] contained [reagent_volume] units of [R].") + add_logs(user, src, "primed", additional = "[reagent_volume] units of [R] inside.") + /obj/item/grenade/chem_grenade/prime() if(stage != READY) return