From b09f3868f85a719e6383978351a1d79f8db05432 Mon Sep 17 00:00:00 2001 From: Mooshimi <85910816+Mooshimi@users.noreply.github.com> Date: Thu, 4 Aug 2022 17:32:02 -0400 Subject: [PATCH] individual LOG_GAME (#68683) About The Pull Request replaces a ton of log_game with user.log_message so the log is added to individual and global logs. adds a few logs for individual LOG_VICTIM, LOG_ATTACK etc logging. adds logging for bluespace launchpad's tele coords being changed. took the word "has" out of log_combat, as it's extra and just lengthens the log. Why It's Good For The Admins It's extremely laggy to open game.txt so an alternative is individual game logs Changelog cl admin: A lot of game logs will now also be in individual game logs, for convenience in log diving. admin: Added logging for bluespace launchpad x and y offset changes, which go to individual game logs. admin: Attack logs will now be slightly shorter, one useless word was removed. /cl --- code/__DEFINES/logging.dm | 1 + code/__HELPERS/logging/atmos.dm | 2 +- code/__HELPERS/logging/attack.dm | 8 ++-- code/_onclick/telekinesis.dm | 2 +- code/controllers/subsystem/vote.dm | 2 +- code/datums/brain_damage/hypnosis.dm | 5 +-- code/datums/brain_damage/split_personality.dm | 4 +- code/datums/components/combustible_flooder.dm | 13 ++++--- code/datums/components/cult_ritual_item.dm | 4 +- code/datums/components/food_storage.dm | 4 +- code/datums/components/gps.dm | 2 +- code/datums/components/riding/riding_mob.dm | 16 ++++---- code/datums/components/tippable.dm | 4 +- code/datums/components/uplink.dm | 3 +- code/datums/elements/strippable.dm | 12 +++--- code/datums/helper_datums/teleport.dm | 1 + code/datums/mind.dm | 2 +- code/datums/status_effects/debuffs/debuffs.dm | 4 +- code/datums/status_effects/neutral.dm | 2 +- .../datums/storage/subtypes/bag_of_holding.dm | 2 +- code/datums/voice_of_god_command.dm | 4 +- code/game/machinery/announcement_system.dm | 4 +- code/game/machinery/computer/apc_control.dm | 12 +++--- code/game/machinery/computer/arcade/arcade.dm | 2 +- code/game/machinery/computer/arcade/orion.dm | 4 +- .../game/machinery/computer/communications.dm | 10 ++--- .../computer/prisoner/gulag_teleporter.dm | 3 +- code/game/machinery/computer/security.dm | 2 + code/game/machinery/computer/teleporter.dm | 5 +-- code/game/machinery/doors/airlock.dm | 2 +- code/game/machinery/doors/firedoor.dm | 2 +- code/game/machinery/firealarm.dm | 7 ++-- code/game/machinery/launch_pad.dm | 12 ++++-- code/game/machinery/shieldgen.dm | 4 +- code/game/machinery/syndicatebomb.dm | 1 + .../telecomms/machine_interactions.dm | 14 +++---- code/game/machinery/teleporter.dm | 2 +- code/game/objects/effects/anomalies.dm | 2 +- code/game/objects/items/blueprints.dm | 2 +- code/game/objects/items/cards_ids.dm | 4 +- code/game/objects/items/charter.dm | 4 +- code/game/objects/items/cigs_lighters.dm | 2 +- code/game/objects/items/devices/powersink.dm | 3 +- .../objects/items/devices/transfer_valve.dm | 3 +- code/game/objects/items/flamethrower.dm | 2 +- code/game/objects/items/food/meat.dm | 3 +- code/game/objects/items/grenades/_grenade.dm | 4 +- code/game/objects/items/grenades/plastic.dm | 3 +- code/game/objects/items/holy_weapons.dm | 3 +- .../objects/items/implants/implantchair.dm | 2 +- code/game/objects/items/plushes.dm | 4 +- code/game/objects/items/robot/ai_upgrades.dm | 2 +- code/game/objects/items/robot/robot_parts.dm | 3 +- .../objects/items/robot/robot_upgrades.dm | 4 +- .../objects/items/stacks/sheets/mineral.dm | 2 +- code/game/objects/items/tanks/watertank.dm | 2 +- code/game/objects/items/tools/weldingtool.dm | 7 ++-- .../game/objects/structures/cannons/cannon.dm | 3 +- .../structures/crates_lockers/closets.dm | 2 +- .../crates_lockers/closets/bodybag.dm | 2 +- code/modules/admin/verbs/SDQL2/SDQL_2.dm | 10 ++--- code/modules/admin/verbs/admin.dm | 2 +- code/modules/admin/verbs/adminhelp.dm | 4 +- code/modules/admin/verbs/beakerpanel.dm | 4 +- code/modules/admin/verbs/ert.dm | 2 +- code/modules/admin/verbs/fix_air.dm | 2 +- .../modules/admin/verbs/individual_logging.dm | 4 ++ code/modules/admin/verbs/secrets.dm | 2 +- .../antagonists/abductor/equipment/gland.dm | 2 +- .../abductor/equipment/glands/mindshock.dm | 2 +- .../abductor/equipment/glands/quantum.dm | 2 +- code/modules/antagonists/blob/blob_mobs.dm | 2 +- code/modules/antagonists/cult/cult_items.dm | 7 ++-- code/modules/antagonists/cult/runes.dm | 38 +++++++++++-------- .../antagonists/disease/disease_event.dm | 2 +- .../antagonists/heretic/heretic_knowledge.dm | 2 +- .../heretic/knowledge/flesh_lore.dm | 4 +- .../heretic/knowledge/side_void_blade.dm | 3 +- code/modules/antagonists/morph/morph.dm | 2 +- .../equipment/nuclear_authentication_disk.dm | 2 +- .../equipment/nuclear_bomb/_nuclear_bomb.dm | 4 +- code/modules/antagonists/revenant/revenant.dm | 2 +- .../revenant/revenant_spawn_event.dm | 2 +- .../antagonists/slaughter/slaughterevent.dm | 2 +- .../traitor/equipment/Malf_Modules.dm | 2 +- .../components/unary_devices/cryo.dm | 6 +-- .../machinery/portable/canister.dm | 2 +- code/modules/cargo/markets/market_item.dm | 2 +- code/modules/cargo/orderconsole.dm | 2 +- code/modules/cargo/packs.dm | 7 ++-- .../clothing/spacesuits/_spacesuits.dm | 2 +- code/modules/clothing/under/accessories.dm | 2 +- code/modules/events/_event.dm | 6 +-- code/modules/events/abductor.dm | 4 +- code/modules/events/alien_infestation.dm | 2 +- code/modules/events/blob.dm | 2 +- code/modules/events/disease_outbreak.dm | 2 +- code/modules/events/fugitive_spawning.dm | 2 +- code/modules/events/nightmare.dm | 2 +- code/modules/events/operative.dm | 2 +- code/modules/events/space_dragon.dm | 2 +- code/modules/events/space_ninja.dm | 2 +- code/modules/holodeck/computer.dm | 7 ++-- code/modules/hydroponics/hydroponics.dm | 4 +- .../modules/hydroponics/unique_plant_genes.dm | 3 +- code/modules/library/lib_machines.dm | 4 +- .../ruins/objects_and_mobs/necropolis_gate.dm | 2 +- .../mining/equipment/lazarus_injector.dm | 2 +- .../modules/mining/lavaland/megafauna_loot.dm | 8 ++-- code/modules/mob/dead/new_player/poll.dm | 6 +-- code/modules/mob/living/brain/MMI.dm | 4 +- .../living/carbon/alien/special/facehugger.dm | 3 +- .../mob/living/carbon/human/species.dm | 2 +- code/modules/mob/living/life.dm | 2 +- code/modules/mob/living/living.dm | 4 +- code/modules/mob/living/silicon/ai/ai.dm | 2 +- code/modules/mob/living/silicon/ai/ai_say.dm | 2 +- .../modules/mob/living/silicon/robot/robot.dm | 4 +- .../mob/living/simple_animal/bot/bot.dm | 4 +- .../living/simple_animal/guardian/guardian.dm | 3 +- .../simple_animal/hostile/giant_spider.dm | 2 +- .../living/simple_animal/hostile/regalrat.dm | 2 +- code/modules/mob/mob.dm | 8 ++-- .../ghost_roles/fugitive_hunter_roles.dm | 2 +- .../mob_spawn/ghost_roles/golem_roles.dm | 4 +- code/modules/mob_spawn/mob_spawn.dm | 2 +- .../file_system/programs/budgetordering.dm | 2 +- code/modules/power/apc/apc_power_proc.dm | 2 +- code/modules/power/cell.dm | 3 +- code/modules/power/singularity/emitter.dm | 6 +-- code/modules/power/smes.dm | 6 +-- .../supermatter/supermatter_hit_procs.dm | 4 +- .../projectiles/guns/special/blastcannon.dm | 5 ++- .../guns/special/grenade_launcher.dm | 3 +- code/modules/reagents/chemistry/holder.dm | 2 +- code/modules/reagents/chemistry/items.dm | 3 +- .../chemistry/machinery/smoke_machine.dm | 2 +- .../chemistry/recipes/slime_extracts.dm | 2 + code/modules/reagents/reagent_containers.dm | 2 +- .../reagents/reagent_containers/spray.dm | 4 +- code/modules/reagents/reagent_dispenser.dm | 4 +- .../modules/reagents/withdrawal/_addiction.dm | 2 +- code/modules/research/server.dm | 4 +- code/modules/research/stock_parts.dm | 2 +- .../research/xenobiology/xenobiology.dm | 2 +- .../security_levels/keycard_authentication.dm | 2 +- code/modules/shuttle/emergency.dm | 6 +-- .../spells/spell_types/madness_curse.dm | 2 +- .../spells/spell_types/right_and_wrong.dm | 10 ++--- code/modules/station_goals/bsa.dm | 4 +- code/modules/surgery/advanced/brainwashing.dm | 2 +- code/modules/surgery/bodyparts/head.dm | 2 +- code/modules/unit_tests/create_and_destroy.dm | 2 + code/modules/vehicles/cars/clowncar.dm | 2 +- .../mecha/equipment/tools/other_tools.dm | 6 +-- .../mecha/equipment/weapons/weapons.dm | 6 ++- .../vehicles/mecha/mecha_control_console.dm | 3 +- .../vehicles/mecha/mecha_mob_interaction.dm | 3 +- 158 files changed, 332 insertions(+), 274 deletions(-) diff --git a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm index bfe6a591c72..9332078be1f 100644 --- a/code/__DEFINES/logging.dm +++ b/code/__DEFINES/logging.dm @@ -41,6 +41,7 @@ #define LOG_SPEECH_INDICATORS (1 << 21) //Individual logging panel pages +#define INDIVIDUAL_GAME_LOG (LOG_GAME) #define INDIVIDUAL_ATTACK_LOG (LOG_ATTACK | LOG_VICTIM) #define INDIVIDUAL_SAY_LOG (LOG_SAY | LOG_WHISPER | LOG_DSAY | LOG_SPEECH_INDICATORS) #define INDIVIDUAL_EMOTE_LOG (LOG_EMOTE | LOG_RADIO_EMOTE) diff --git a/code/__HELPERS/logging/atmos.dm b/code/__HELPERS/logging/atmos.dm index a5a13e61a71..0fcded5c7ab 100644 --- a/code/__HELPERS/logging/atmos.dm +++ b/code/__HELPERS/logging/atmos.dm @@ -1,7 +1,7 @@ /// Logs the contents of the gasmix to the game log, prefixed by text /proc/log_atmos(text, datum/gas_mixture/mix) var/message = text - message += "TEMP=[mix.temperature],MOL=[mix.total_moles()],VOL=[mix.volume]" + message += "TEMP=[mix.temperature], MOL=[mix.total_moles()], VOL=[mix.volume] " for(var/key in mix.gases) var/list/gaslist = mix.gases[key] message += "[gaslist[GAS_META][META_GAS_ID]]=[gaslist[MOLES]];" diff --git a/code/__HELPERS/logging/attack.dm b/code/__HELPERS/logging/attack.dm index 9bcb54f97e2..e804c07e9f0 100644 --- a/code/__HELPERS/logging/attack.dm +++ b/code/__HELPERS/logging/attack.dm @@ -29,11 +29,11 @@ var/postfix = "[sobject][saddition][hp]" - var/message = "has [what_done] [starget][postfix]" + var/message = "[what_done] [starget][postfix]" user.log_message(message, LOG_ATTACK, color="red") if(user != target) - var/reverse_message = "has been [what_done] by [ssource][postfix]" + var/reverse_message = "was [what_done] by [ssource][postfix]" target.log_message(reverse_message, LOG_VICTIM, color="orange", log_globally=FALSE) /** @@ -53,7 +53,7 @@ /proc/log_wound(atom/victim, datum/wound/suffered_wound, dealt_damage, dealt_wound_bonus, dealt_bare_wound_bonus, base_roll) if(QDELETED(victim) || !suffered_wound) return - var/message = "has suffered: [suffered_wound][suffered_wound.limb ? " to [suffered_wound.limb.plaintext_zone]" : null]"// maybe indicate if it's a promote/demote? + var/message = "suffered: [suffered_wound][suffered_wound.limb ? " to [suffered_wound.limb.plaintext_zone]" : null]"// maybe indicate if it's a promote/demote? if(dealt_damage) message += " | Damage: [dealt_damage]" @@ -75,7 +75,7 @@ if(user) user.log_message(bomb_message, LOG_ATTACK) //let it go to individual logs as well as the game log - bomb_message = "[key_name(user)] at [AREACOORD(user)] [bomb_message]" + bomb_message = "[key_name(user)] at [AREACOORD(user)] [bomb_message]." else log_game(bomb_message) diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 7b6d12d8626..004d5331d6c 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -238,7 +238,7 @@ focus.throw_at(target, focus.tk_throw_range, 1,user) var/turf/start_turf = get_turf(focus) var/turf/end_turf = get_turf(target) - user.log_message("has thrown [focus] from [AREACOORD(start_turf)] towards [AREACOORD(end_turf)] using Telekinesis", LOG_ATTACK) + user.log_message("has thrown [focus] from [AREACOORD(start_turf)] towards [AREACOORD(end_turf)] using Telekinesis.", LOG_ATTACK) user.changeNext_move(CLICK_CD_MELEE) update_appearance() diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index caac0eed074..0c98a0e4f5d 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -274,7 +274,7 @@ SUBSYSTEM_DEF(vote) if(!voter.client?.holder) return - voter.log_message("[key_name_admin(voter)] cancelled a vote.", LOG_ADMIN) + voter.log_message("cancelled a vote.", LOG_ADMIN) message_admins("[key_name_admin(voter)] has cancelled the current vote.") reset() return TRUE diff --git a/code/datums/brain_damage/hypnosis.dm b/code/datums/brain_damage/hypnosis.dm index 259c1acc797..6e540489f93 100644 --- a/code/datums/brain_damage/hypnosis.dm +++ b/code/datums/brain_damage/hypnosis.dm @@ -24,7 +24,7 @@ /datum/brain_trauma/hypnosis/on_gain() message_admins("[ADMIN_LOOKUPFLW(owner)] was hypnotized with the phrase '[hypnotic_phrase]'.") - log_game("[key_name(owner)] was hypnotized with the phrase '[hypnotic_phrase]'.") + owner.log_message("was hypnotized with the phrase '[hypnotic_phrase]'.", LOG_GAME) to_chat(owner, "[hypnotic_phrase]") to_chat(owner, "[pick("You feel your thoughts focusing on this phrase... you can't seem to get it out of your head.",\ "Your head hurts, but this is all you can think of. It must be vitally important.",\ @@ -49,8 +49,7 @@ /datum/brain_trauma/hypnosis/on_lose() message_admins("[ADMIN_LOOKUPFLW(owner)] is no longer hypnotized with the phrase '[hypnotic_phrase]'.") - owner.log_message("is no longer hypnotized with the phrase '[hypnotic_phrase]'.", LOG_ATTACK) - log_game("[key_name(owner)] is no longer hypnotized with the phrase '[hypnotic_phrase]'.") + owner.log_message("is no longer hypnotized with the phrase '[hypnotic_phrase]'.", LOG_GAME) to_chat(owner, span_userdanger("You suddenly snap out of your hypnosis. The phrase '[hypnotic_phrase]' no longer feels important to you.")) owner.clear_alert(ALERT_HYPNOSIS) ..() diff --git a/code/datums/brain_damage/split_personality.dm b/code/datums/brain_damage/split_personality.dm index 588963437cd..80368abd0f8 100644 --- a/code/datums/brain_damage/split_personality.dm +++ b/code/datums/brain_damage/split_personality.dm @@ -37,7 +37,7 @@ if(LAZYLEN(candidates)) var/mob/dead/observer/C = pick(candidates) stranger_backseat.key = C.key - log_game("[key_name(stranger_backseat)] became [key_name(owner)]'s split personality.") + stranger_backseat.log_message("became [key_name(owner)]'s split personality.", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(stranger_backseat)] became [ADMIN_LOOKUPFLW(owner)]'s split personality.") else qdel(src) @@ -81,7 +81,7 @@ if(!current_backseat.client) //Make sure we never switch to a logged off mob. return - log_game("[key_name(current_backseat)] assumed control of [key_name(owner)] due to [src]. (Original owner: [current_controller == OWNER ? owner.key : current_backseat.key])") + current_backseat.log_message("assumed control of [key_name(owner)] due to [src]. (Original owner: [current_controller == OWNER ? owner.key : current_backseat.key])", LOG_GAME) to_chat(owner, span_userdanger("You feel your control being taken away... your other personality is in charge now!")) to_chat(current_backseat, span_userdanger("You manage to take control of your body!")) diff --git a/code/datums/components/combustible_flooder.dm b/code/datums/components/combustible_flooder.dm index 98c88e3290d..52530345c12 100644 --- a/code/datums/components/combustible_flooder.dm +++ b/code/datums/components/combustible_flooder.dm @@ -37,22 +37,23 @@ flooded_turf = parent_turf.ScrapeAway(1, CHANGETURF_INHERIT_AIR) delete_parent = FALSE - flooded_turf.atmos_spawn_air("[gas_id]=[gas_amount];TEMP=[temp_amount || trigger_temperature]") - + flooded_turf.atmos_spawn_air("[gas_id]=[gas_amount]; TEMP=[temp_amount || trigger_temperature]") + // Logging-related var/admin_message = "[parent] ignited in [ADMIN_VERBOSEJMP(flooded_turf)]" - var/log_message = "[parent] ignited in [AREACOORD(flooded_turf)]" + var/log_message = "ignited [parent]" if(user) admin_message += " by [ADMIN_LOOKUPFLW(user)]" - log_message += " by [key_name(user)]" + user.log_message(log_message, LOG_ATTACK, log_globally = FALSE)//only individual log else + log_message = "[key_name(user)] " + log_message admin_message += " by fire" log_message += " by fire" + log_attack(log_message) message_admins(admin_message) - log_game(log_message) if(delete_parent && !QDELETED(parent)) - qdel(parent) // For things with the explodable component like plasma mats this isn't necessary, but there's no harm. + qdel(parent) // For things with the explodable component like plasma mats this isn't necessary, but there's no harm. qdel(src) /// fire_act reaction. diff --git a/code/datums/components/cult_ritual_item.dm b/code/datums/components/cult_ritual_item.dm index bf22148117d..0ebf6193c0b 100644 --- a/code/datums/components/cult_ritual_item.dm +++ b/code/datums/components/cult_ritual_item.dm @@ -218,7 +218,7 @@ return if(rune.log_when_erased) - log_game("[rune.cultist_name] rune erased by [key_name(cultist)] with [parent].") + cultist.log_message("erased a [rune.cultist_name] rune with [parent].", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(cultist)] erased a [rune.cultist_name] rune with [parent].") to_chat(cultist, span_notice("You carefully erase the [lowertext(rune.cultist_name)] rune.")) @@ -328,7 +328,7 @@ made_rune.add_mob_blood(cultist) to_chat(cultist, span_cult("The [lowertext(made_rune.cultist_name)] rune [made_rune.cultist_desc]")) - cultist.log_message("scribed \a [lowertext(made_rune.cultist_name)] rune at [AREACOORD(made_rune)] using [parent] ([parent.type])", LOG_GAME) + cultist.log_message("scribed \a [lowertext(made_rune.cultist_name)] rune using [parent] ([parent.type])", LOG_GAME) SSblackbox.record_feedback("tally", "cult_runes_scribed", 1, made_rune.cultist_name) return TRUE diff --git a/code/datums/components/food_storage.dm b/code/datums/components/food_storage.dm index af5b462328e..326c97907ea 100644 --- a/code/datums/components/food_storage.dm +++ b/code/datums/components/food_storage.dm @@ -108,7 +108,7 @@ var/atom/food = parent to_chat(user, span_notice("You slip [inserted_item.name] inside \the [parent].")) inserted_item.forceMove(food) - user.log_message("[key_name(user)] inserted [inserted_item] into [parent] at [AREACOORD(user)]", LOG_ATTACK) + user.log_message("inserted [inserted_item] into [parent].", LOG_ATTACK) food.add_fingerprint(user) inserted_item.add_fingerprint(user) @@ -166,7 +166,7 @@ to_chat(target, span_warning("It feels like there's something in \the [parent]...!")) else if(prob(bad_chance_of_discovery)) //finding the item, BY biting it - user.log_message("[key_name(user)] just fed [key_name(target)] a/an [stored_item] which was hidden in [parent] at [AREACOORD(target)]", LOG_ATTACK) + user.log_message("just fed [key_name(target)] \a [stored_item] which was hidden in [parent].", LOG_ATTACK) discovered = stored_item.on_accidental_consumption(target, user, parent) update_stored_item() //make sure if the item was changed, the reference changes as well diff --git a/code/datums/components/gps.dm b/code/datums/components/gps.dm index 10ddca563aa..5e6ac3d348c 100644 --- a/code/datums/components/gps.dm +++ b/code/datums/components/gps.dm @@ -167,7 +167,7 @@ GLOBAL_LIST_EMPTY(GPS_list) gpstag = a . = TRUE - log_game("[key_name(usr)] renamed [parentasatom] to \"global positioning system ([gpstag])\".") + usr.log_message("renamed [parentasatom] to \"global positioning system ([gpstag])\".") parentasatom.name = "global positioning system ([gpstag])" if("power") diff --git a/code/datums/components/riding/riding_mob.dm b/code/datums/components/riding/riding_mob.dm index 471720cb6c4..f02a323baa7 100644 --- a/code/datums/components/riding/riding_mob.dm +++ b/code/datums/components/riding/riding_mob.dm @@ -43,8 +43,8 @@ if(!istype(living_parent) || !istype(rider)) return - living_parent.log_message("is now being ridden by [rider]", LOG_ATTACK, color="pink") - rider.log_message("started riding [living_parent]", LOG_ATTACK, color="pink") + living_parent.log_message("is now being ridden by [rider].", LOG_GAME, color="pink") + rider.log_message("started riding [living_parent].", LOG_GAME, color="pink") // this applies to humans and most creatures, but is replaced again for cyborgs /datum/component/riding/creature/ride_check(mob/living/rider, consequences = TRUE) @@ -77,8 +77,8 @@ /datum/component/riding/creature/vehicle_mob_unbuckle(mob/living/living_parent, mob/living/former_rider, force = FALSE) if(istype(living_parent) && istype(former_rider)) - living_parent.log_message("is no longer being ridden by [former_rider]", LOG_ATTACK, color="pink") - former_rider.log_message("is no longer riding [living_parent]", LOG_ATTACK, color="pink") + living_parent.log_message("is no longer being ridden by [former_rider].", LOG_GAME, color="pink") + former_rider.log_message("is no longer riding [living_parent].", LOG_GAME, color="pink") remove_abilities(former_rider) // We gotta reset those layers at some point, don't we? former_rider.layer = MOB_LAYER @@ -194,11 +194,11 @@ return if(ride_check_flags & RIDER_NEEDS_ARMS) // piggyback - living_parent.log_message("started giving [rider] a piggyback ride", LOG_ATTACK, color="pink") - rider.log_message("started piggyback riding [living_parent]", LOG_ATTACK, color="pink") + living_parent.log_message("started giving [rider] a piggyback ride.", LOG_GAME, color="pink") + rider.log_message("started piggyback riding [living_parent].", LOG_GAME, color="pink") else if(ride_check_flags & CARRIER_NEEDS_ARM) // fireman - living_parent.log_message("started fireman carrying [rider]", LOG_ATTACK, color="pink") - rider.log_message("was fireman carried by [living_parent]", LOG_ATTACK, color="pink") + living_parent.log_message("started fireman carrying [rider].", LOG_GAME, color="pink") + rider.log_message("was fireman carried by [living_parent].", LOG_GAME, color="pink") /datum/component/riding/creature/human/vehicle_mob_unbuckle(datum/source, mob/living/former_rider, force = FALSE) unequip_buckle_inhands(parent) diff --git a/code/datums/components/tippable.dm b/code/datums/components/tippable.dm index 9646e378504..45289f9756c 100644 --- a/code/datums/components/tippable.dm +++ b/code/datums/components/tippable.dm @@ -140,8 +140,8 @@ to_chat(tipper, span_warning("You tip over [tipped_mob].")) if (!isnull(tipped_mob.client)) - tipped_mob.log_message("[key_name(tipped_mob)] has been tipped over by [key_name(tipper)].", LOG_ATTACK) - tipper.log_message("[key_name(tipper)] has tipped over [key_name(tipped_mob)].", LOG_ATTACK) + tipped_mob.log_message("has been tipped over by [key_name(tipper)].", LOG_ATTACK) + tipper.log_message("has tipped over [key_name(tipped_mob)].", LOG_ATTACK) tipped_mob.visible_message( span_warning("[tipper] tips over [tipped_mob]."), span_userdanger("You are tipped over by [tipper]!"), diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm index fca9caab4ff..e166405795d 100644 --- a/code/datums/components/uplink.dm +++ b/code/datums/components/uplink.dm @@ -407,6 +407,7 @@ if(!T) return message_admins("[ADMIN_LOOKUPFLW(user)] has triggered an uplink failsafe explosion at [AREACOORD(T)] The owner of the uplink was [ADMIN_LOOKUPFLW(owner)].") - log_game("[key_name(user)] triggered an uplink failsafe explosion. The owner of the uplink was [key_name(owner)].") + user.log_message("triggered an uplink failsafe explosion. Uplink owner: [key_name(owner)].", LOG_ATTACK) + explosion(parent, devastation_range = 1, heavy_impact_range = 2, light_impact_range = 3) qdel(parent) //Alternatively could brick the uplink. diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm index bca2ae2042f..a61249798b0 100644 --- a/code/datums/elements/strippable.dm +++ b/code/datums/elements/strippable.dm @@ -157,8 +157,8 @@ ) to_chat(user, span_danger("You try to remove [source]'s [item]...")) - user.log_message("is stripping [key_name(source)] of [item]", LOG_ATTACK, color="red") - source.log_message("is being stripped of [item] by [key_name(user)]", LOG_VICTIM, color="orange", log_globally=FALSE) + user.log_message("is stripping [key_name(source)] of [item].", LOG_ATTACK, color="red") + source.log_message("is being stripped of [item] by [key_name(user)].", LOG_VICTIM, color="orange", log_globally=FALSE) item.add_fingerprint(src) if(ishuman(source)) @@ -295,8 +295,8 @@ /// A utility function for `/datum/strippable_item`s to finish equipping an item to a mob. /proc/finish_equip_mob(obj/item/item, mob/source, mob/user) - user.log_message("has put [item] on [key_name(source)]", LOG_ATTACK, color="red") - source.log_message("had [item] put on them by [key_name(user)]", LOG_VICTIM, color="orange", log_globally=FALSE) + user.log_message("has put [item] on [key_name(source)].", LOG_ATTACK, color="red") + source.log_message("had [item] put on them by [key_name(user)].", LOG_VICTIM, color="orange", log_globally=FALSE) /// A utility function for `/datum/strippable_item`s to start unequipping an item from a mob. /proc/start_unequip_mob(obj/item/item, mob/source, mob/user, strip_delay) @@ -310,8 +310,8 @@ if (!item.doStrip(user, source)) return FALSE - user.log_message("has stripped [key_name(source)] of [item]", LOG_ATTACK, color="red") - source.log_message("has been stripped of [item] by [key_name(user)]", LOG_VICTIM, color="orange", log_globally=FALSE) + user.log_message("has stripped [key_name(source)] of [item].", LOG_ATTACK, color="red") + source.log_message("has been stripped of [item] by [key_name(user)].", LOG_VICTIM, color="orange", log_globally=FALSE) // Updates speed in case stripped speed affecting item source.update_equipment_speed_mods() diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index 3838901ed6b..8e7603714b9 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -90,6 +90,7 @@ if(ismob(teleatom)) var/mob/M = teleatom + teleatom.log_message("teleported from [loc_name(curturf)] to [loc_name(destturf)].", LOG_GAME, log_globally = FALSE) M.cancel_camera() SEND_SIGNAL(teleatom, COMSIG_MOVABLE_POST_TELEPORT) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 51a8e941990..eba8e2cca43 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -299,7 +299,7 @@ if(antag_team) antag_team.add_member(src) INVOKE_ASYNC(A, /datum/antagonist.proc/on_gain) - log_game("[key_name(src)] has gained antag datum [A.name]([A.type])") + log_game("[key_name(src)] has gained antag datum [A.name]([A.type]).") return A /datum/mind/proc/remove_antag_datum(datum_type) diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm index 9dc029d6b7f..2455f0be0cd 100644 --- a/code/datums/status_effects/debuffs/debuffs.dm +++ b/code/datums/status_effects/debuffs/debuffs.dm @@ -807,8 +807,8 @@ var/mob/living/carbon/C = owner C.cure_trauma_type(/datum/brain_trauma/hypnosis, TRAUMA_RESILIENCE_SURGERY) //clear previous hypnosis // The brain trauma itself does its own set of logging, but this is the only place the source of the hypnosis phrase can be found. - hearing_speaker.log_message("has hypnotised [key_name(C)] with the phrase '[hearing_args[HEARING_RAW_MESSAGE]]'", LOG_ATTACK) - C.log_message("has been hypnotised by the phrase '[hearing_args[HEARING_RAW_MESSAGE]]' spoken by [key_name(hearing_speaker)]", LOG_VICTIM, log_globally = FALSE) + hearing_speaker.log_message("hypnotised [key_name(C)] with the phrase '[hearing_args[HEARING_RAW_MESSAGE]]'", LOG_ATTACK, color="red") + C.log_message("has been hypnotised by the phrase '[hearing_args[HEARING_RAW_MESSAGE]]' spoken by [key_name(hearing_speaker)]", LOG_VICTIM, color="orange", log_globally = FALSE) addtimer(CALLBACK(C, /mob/living/carbon.proc/gain_trauma, /datum/brain_trauma/hypnosis, TRAUMA_RESILIENCE_SURGERY, hearing_args[HEARING_RAW_MESSAGE]), 10) addtimer(CALLBACK(C, /mob/living.proc/Stun, 60, TRUE, TRUE), 15) //Take some time to think about it qdel(src) diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index 06861e64a9c..37f6eed34da 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -409,7 +409,7 @@ owner.set_timed_status_effect(100 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) to_chat(owner, span_userdanger("You feel your eigenstate settle, as \"you\" become an alternative version of yourself!")) owner.emote("me",1,"flashes into reality suddenly, gasping as they gaze around in a bewildered and highly confused fashion!",TRUE) - log_game("FERMICHEM: [owner] ckey: [owner.key] has become an alternative universe version of themselves.") + owner.log_message("has become an alternative universe version of themselves via EIGENSTASIUM.", LOG_GAME) //new you new stuff SSquirks.randomise_quirks(owner) owner.reagents.remove_all(1000) diff --git a/code/datums/storage/subtypes/bag_of_holding.dm b/code/datums/storage/subtypes/bag_of_holding.dm index b891cc6e68c..ac195686aba 100644 --- a/code/datums/storage/subtypes/bag_of_holding.dm +++ b/code/datums/storage/subtypes/bag_of_holding.dm @@ -27,7 +27,7 @@ playsound(loccheck,'sound/effects/supermatter.ogg', 200, TRUE) message_admins("[ADMIN_LOOKUPFLW(user)] detonated a bag of holding at [ADMIN_VERBOSEJMP(loccheck)].") - log_game("[key_name(user)] detonated a bag of holding at [loc_name(loccheck)].") + user.log_message("detonated a bag of holding at [loc_name(loccheck)].", LOG_ATTACK, color="red") user.gib(TRUE, TRUE, TRUE) new/obj/boh_tear(loccheck) diff --git a/code/datums/voice_of_god_command.dm b/code/datums/voice_of_god_command.dm index 39113080f62..b08c4a7c36a 100644 --- a/code/datums/voice_of_god_command.dm +++ b/code/datums/voice_of_god_command.dm @@ -95,8 +95,8 @@ GLOBAL_LIST_INIT(voice_of_god_commands, init_voice_of_god_commands()) break if(!forced) - message_admins("[ADMIN_LOOKUPFLW(user)] has said '[log_message]' with a Voice of God, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].") - log_game("[key_name(user)] has said '[log_message]' with a Voice of God[forced ? " forced by [forced]" : ""], affecting [english_list(listeners)], with a power multiplier of [power_multiplier].") + message_admins("[ADMIN_LOOKUPFLW(user)] said '[log_message]' with Voice of God, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].") + user.log_message("said '[log_message]' with Voice of God[forced ? " forced by [forced]" : ""], affecting [english_list(listeners)], with a power multiplier of [power_multiplier].", LOG_GAME, color="red") SSblackbox.record_feedback("tally", "voice_of_god", 1, log_message) /// Voice of god command datums that are used in [/proc/voice_of_god()] diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index a7c8f08064e..dd8f1b4d1f9 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -137,14 +137,14 @@ GLOBAL_LIST_EMPTY(announcement_systems) return if(NewMessage) arrival = NewMessage - log_game("The arrivals announcement was updated: [NewMessage] by:[key_name(usr)]") + usr.log_message("updated the arrivals announcement to: [NewMessage]", LOG_GAME) if("NewheadText") var/NewMessage = trim(html_encode(param["newText"]), MAX_MESSAGE_LEN) if(!usr.canUseTopic(src, !issilicon(usr))) return if(NewMessage) newhead = NewMessage - log_game("The head announcement was updated: [NewMessage] by:[key_name(usr)]") + usr.log_message("updated the head announcement to: [NewMessage]", LOG_GAME) if("NewheadToggle") newheadToggle = !newheadToggle update_appearance() diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm index 4711e41b968..4628c4dd811 100644 --- a/code/game/machinery/computer/apc_control.dm +++ b/code/game/machinery/computer/apc_control.dm @@ -114,7 +114,7 @@ auth_id = "\[NULL\]" if("toggle-logs") should_log = !should_log - log_game("[key_name(operator)] set the logs of [src] in [AREACOORD(src)] [should_log ? "On" : "Off"]") + operator.log_message("set the logs of [src] [should_log ? "On" : "Off"].") if("restore-console") restoring = TRUE addtimer(CALLBACK(src, .proc/restore_comp), rand(3,5) * 9) @@ -136,7 +136,7 @@ APC.remote_control = src APC.ui_interact(operator) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) - log_game("[key_name(operator)] remotely accessed [APC] from [src] at [AREACOORD(src)].") + operator.log_message("remotely accessed [APC] from [src].") log_activity("[auth_id] remotely accessed APC in [get_area_name(APC.area, TRUE)]") if(APC.locked) APC.say("Remote access detected. Interface unlocked.") @@ -163,7 +163,7 @@ target.vars[type] = value else message_admins("Warning: possible href exploit by [key_name(usr)] - attempted to set [html_encode(type)] on [target] to [html_encode(value)]") - log_game("Warning: possible href exploit by [key_name(usr)] - attempted to set [html_encode(type)] on [target] to [html_encode(value)]") + usr.log_message("possibly trying to href exploit - attempted to set [html_encode(type)] on [target] to [html_encode(value)]", LOG_ADMIN) return target.update_appearance() @@ -179,7 +179,7 @@ if(3) setTo = "Auto On" log_activity("Set APC [target.area.name] [type] to [setTo]") - log_game("[key_name(operator)] Set APC [target.area.name] [type] to [setTo]]") + operator.log_message("set APC [target.area.name] [type] to [setTo]]", LOG_GAME) if("breaker") var/ref = params["ref"] var/obj/machinery/power/apc/target = locate(ref) in GLOB.apcs_list @@ -191,7 +191,7 @@ if(obj_flags & EMAGGED) return obj_flags |= EMAGGED - log_game("[key_name(user)] emagged [src] at [AREACOORD(src)]") + usr.log_message("emagged [src].", LOG_ATTACK, color="red") playsound(src, SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) /obj/machinery/computer/apc_control/proc/log_activity(log_text) @@ -202,7 +202,7 @@ /obj/machinery/computer/apc_control/proc/restore_comp() obj_flags &= ~EMAGGED should_log = TRUE - log_game("[key_name(operator)] restored the logs of [src] in [AREACOORD(src)]") + operator.log_message("restored the logs of [src].", LOG_GAME) log_activity("-=- Logging restored to full functionality at this point -=-") restoring = FALSE diff --git a/code/game/machinery/computer/arcade/arcade.dm b/code/game/machinery/computer/arcade/arcade.dm index bf95cbed4b6..b6b71eeb1f3 100644 --- a/code/game/machinery/computer/arcade/arcade.dm +++ b/code/game/machinery/computer/arcade/arcade.dm @@ -555,7 +555,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( new /obj/effect/spawner/newbomb/plasma(loc, /obj/item/assembly/timer) new /obj/item/clothing/head/collectable/petehat(loc) message_admins("[ADMIN_LOOKUPFLW(usr)] has outbombed Cuban Pete and been awarded a bomb.") - log_game("[key_name(usr)] has outbombed Cuban Pete and been awarded a bomb.") + usr.log_message("outbombed Cuban Pete and has been awarded a bomb.", LOG_GAME) Reset() obj_flags &= ~EMAGGED xp_gained += 100 diff --git a/code/game/machinery/computer/arcade/orion.dm b/code/game/machinery/computer/arcade/orion.dm index a457500470a..212fe263e9a 100644 --- a/code/game/machinery/computer/arcade/orion.dm +++ b/code/game/machinery/computer/arcade/orion.dm @@ -375,6 +375,7 @@ GLOBAL_LIST_INIT(orion_events, generate_orion_events()) to_chat(gamer, span_userdanger("You're never going to make it to Orion...")) gamer.death() obj_flags &= ~EMAGGED //removes the emagged status after you lose + gamer.log_message("lost a Realism Mode Orion Trail game, changing the machine back to normal.", LOG_GAME) gameStatus = ORION_STATUS_START name = "The Orion Trail" desc = "Learn how our ancestors got to Orion, and have fun in the process!" @@ -481,7 +482,7 @@ GLOBAL_LIST_INIT(orion_events, generate_orion_events()) if(obj_flags & EMAGGED) new /obj/item/orion_ship(loc) message_admins("[ADMIN_LOOKUPFLW(usr)] made it to Orion on an emagged machine and got an explosive toy ship.") - log_game("[key_name(usr)] made it to Orion on an emagged machine and got an explosive toy ship.") + usr.log_message("made it to Orion on an emagged machine and got an explosive toy ship.", LOG_GAME) else prizevend(user) obj_flags &= ~EMAGGED @@ -492,6 +493,7 @@ GLOBAL_LIST_INIT(orion_events, generate_orion_events()) if(obj_flags & EMAGGED) return to_chat(user, span_notice("You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.")) + user.log_message("emagged [src], activating Realism Mode.") name = "The Orion Trail: Realism Edition" desc = "Learn how our ancestors got to Orion, and try not to die in the process!" newgame() diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index c1c4452ab3f..2c12d3b4d2d 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -209,7 +209,7 @@ playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) // Only notify people if an actual change happened - log_game("[key_name(usr)] has changed the security level to [params["newSecurityLevel"]] with [src] at [AREACOORD(usr)].") + usr.log_message("changed the security level to [params["newSecurityLevel"]] with [src].", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(usr)] has changed the security level to [params["newSecurityLevel"]] with [src] at [AREACOORD(usr)].") deadchat_broadcast(" has changed the security level to [params["newSecurityLevel"]] with [src] at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type=DEADCHAT_ANNOUNCEMENT) @@ -329,7 +329,7 @@ var/destination = params["destination"] - log_game("[key_name(usr)] is about to send the following message to [destination]: [message]") + usr.log_message("is about to send the following message to [destination]: [message]") to_chat( GLOB.admins, span_adminnotice( \ @@ -404,12 +404,12 @@ return if (GLOB.emergency_access) revoke_maint_all_access() - log_game("[key_name(usr)] disabled emergency maintenance access.") + usr.log_message("disabled emergency maintenance access.", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(usr)] disabled emergency maintenance access.") deadchat_broadcast(" disabled emergency maintenance access at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type = DEADCHAT_ANNOUNCEMENT) else make_maint_all_access() - log_game("[key_name(usr)] enabled emergency maintenance access.") + usr.log_message("enabled emergency maintenance access.", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(usr)] enabled emergency maintenance access.") deadchat_broadcast(" enabled emergency maintenance access at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type = DEADCHAT_ANNOUNCEMENT) // Request codes for the Captain's Spare ID safe. @@ -618,7 +618,7 @@ /obj/machinery/computer/communications/Topic(href, href_list) if (href_list["reject_cross_comms_message"]) if (!usr.client?.holder) - log_game("[key_name(usr)] tried to reject a cross-comms message without being an admin.") + usr.log_message("tried to reject a cross-comms message without being an admin.", LOG_ADMIN) message_admins("[key_name(usr)] tried to reject a cross-comms message without being an admin.") return diff --git a/code/game/machinery/computer/prisoner/gulag_teleporter.dm b/code/game/machinery/computer/prisoner/gulag_teleporter.dm index d7128612dd7..7199b5bdb11 100644 --- a/code/game/machinery/computer/prisoner/gulag_teleporter.dm +++ b/code/game/machinery/computer/prisoner/gulag_teleporter.dm @@ -142,7 +142,8 @@ id_goal_not_set = TRUE contained_id.goal = default_goal say("[contained_id]'s ID card goal defaulting to [contained_id.goal] points.") - log_game("[key_name(user)] teleported [key_name(prisoner)] to the Labor Camp [COORD(beacon)] for [id_goal_not_set ? "default goal of ":""][contained_id.goal] points.") + user.log_message("teleported [key_name(prisoner)] to the Labor Camp [COORD(beacon)] for [id_goal_not_set ? "default goal of ":""][contained_id.goal] points.", LOG_GAME) + prisoner.log_message("teleported to Labor Camp [COORD(beacon)] by [key_name(user)] for [id_goal_not_set ? "default goal of ":""][contained_id.goal] points.", LOG_GAME, log_globally = FALSE) teleporter.handle_prisoner(contained_id, temporary_record) playsound(src, 'sound/weapons/emitter.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) prisoner.forceMove(get_turf(beacon)) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 96009d46a06..a623edfa572 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -942,9 +942,11 @@ What a mess.*/ else message_admins("Warning: possible href exploit by [key_name(usr)] - attempted to set change a crew member rank to an invalid path: [path]") log_game("Warning: possible href exploit by [key_name(usr)] - attempted to set change a crew member rank to an invalid path: [path]") + usr.log_message("possibly trying to href exploit - attempted to set change a crew member rank to an invalid path: [path]", LOG_ADMIN, log_globally = FALSE) else if(!isnull(text)) message_admins("Warning: possible href exploit by [key_name(usr)] - attempted to set change a crew member rank to an invalid value: [text]") log_game("Warning: possible href exploit by [key_name(usr)] - attempted to set change a crew member rank to an invalid value: [text]") + usr.log_message("possibly trying to href exploit - attempted to set change a crew member rank to an invalid value: [text]", LOG_ADMIN, log_globally = FALSE) if("Change Criminal Status") if(active2) diff --git a/code/game/machinery/computer/teleporter.dm b/code/game/machinery/computer/teleporter.dm index 300fb564d8c..9cc3fb41814 100644 --- a/code/game/machinery/computer/teleporter.dm +++ b/code/game/machinery/computer/teleporter.dm @@ -188,8 +188,7 @@ if(isnull(desc)) return set_teleport_target(targets[desc]) - var/turf/target_turf = get_turf(targets[desc]) - log_game("[key_name(user)] has set the teleporter target to [targets[desc]] at [AREACOORD(target_turf)]") + user.log_message("set the teleporter target to [targets[desc]].]", LOG_GAME) else if (!length(targets)) to_chat(user, span_alert("No active connected stations located.")) @@ -202,7 +201,7 @@ if(!target_station || !target_station.teleporter_hub) return var/turf/target_station_turf = get_turf(target_station) - log_game("[key_name(user)] has set the teleporter target to [target_station] at [AREACOORD(target_station_turf)]") + user.log_message("set the teleporter target to [target_station_turf].", LOG_GAME) set_teleport_target(target_station.teleporter_hub) lock_in_station(target_station) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index ca26fdcfb35..e691a0af0d2 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1018,7 +1018,7 @@ welded = !welded user.visible_message(span_notice("[user] [welded? "welds shut":"unwelds"] [src]."), \ span_notice("You [welded ? "weld the airlock shut":"unweld the airlock"].")) - log_game("[key_name(user)] [welded ? "welded":"unwelded"] airlock [src] with [tool] at [AREACOORD(src)]") + user.log_message("[welded ? "welded":"unwelded"] airlock [src] with [tool].", LOG_GAME) update_appearance() /obj/machinery/door/airlock/proc/weld_checks(obj/item/weldingtool/W, mob/user) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index d8466c87e77..25c59cb943f 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -503,7 +503,7 @@ if(W.use_tool(src, user, DEFAULT_STEP_TIME, volume=50)) welded = !welded user.visible_message(span_danger("[user] [welded?"welds":"unwelds"] [src]."), span_notice("You [welded ? "weld" : "unweld"] [src].")) - log_game("[key_name(user)] [welded ? "welded":"unwelded"] firedoor [src] with [W] at [AREACOORD(src)]") + user.log_message("[welded ? "welded":"unwelded"] firedoor [src] with [W].", LOG_GAME) update_appearance() correct_state() diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 31be707ea87..2f9d776f6b6 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -172,6 +172,7 @@ if(user) user.visible_message(span_warning("Sparks fly out of [src]!"), span_notice("You override [src], disabling the speaker.")) + user.log_message("emagged [src].", LOG_ATTACK) playsound(src, SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) set_status() @@ -205,7 +206,7 @@ for(var/obj/machinery/door/firedoor/firelock in my_area.firedoors) firelock.activate(FIRELOCK_ALARM_TYPE_GENERIC) if(user) - log_game("[user] triggered a fire alarm at [COORD(src)]") + user.log_message("triggered a fire alarm.", LOG_GAME) soundloop.start() //Manually pulled fire alarms will make the sound, rather than the doors. SEND_SIGNAL(src, COMSIG_FIREALARM_ON_TRIGGER) update_use_power(ACTIVE_POWER_USE) @@ -225,7 +226,7 @@ for(var/obj/machinery/door/firedoor/firelock in my_area.firedoors) firelock.crack_open() if(user) - log_game("[user] reset a fire alarm at [COORD(src)]") + user.log_message("reset a fire alarm.", LOG_GAME) soundloop.stop() SEND_SIGNAL(src, COMSIG_FIREALARM_ON_RESET) update_use_power(IDLE_POWER_USE) @@ -420,7 +421,7 @@ for(var/obj/machinery/firealarm/fire_panel in my_area.firealarms) fire_panel.update_icon() to_chat(user, span_notice("You [ my_area.fire_detect ? "enable" : "disable" ] the local firelock thermal sensors!")) - log_game("[user] has [ my_area.fire_detect ? "enabled" : "disabled" ] firelock sensors using [src] at [COORD(src)]") + user.log_message("[ my_area.fire_detect ? "enabled" : "disabled" ] firelock sensors using [src].", LOG_GAME) MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/firealarm, 26) diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm index 4abca8d1f5a..2fe86a4dee2 100644 --- a/code/game/machinery/launch_pad.dm +++ b/code/game/machinery/launch_pad.dm @@ -112,10 +112,16 @@ /obj/machinery/launchpad/proc/set_offset(x, y) if(teleporting) return - if(!isnull(x)) + if(!isnull(x) && !isnull(y)) x_offset = clamp(x, -range, range) - if(!isnull(y)) y_offset = clamp(y, -range, range) + log_message("changed the launchpad's x and y-offset parameters to X: [x] Y: [y].", LOG_GAME, log_globally = FALSE) + else if(!isnull(x)) + x_offset = clamp(x, -range, range) + log_message("changed the launchpad's x-offset parameter to X: [x].", LOG_GAME, log_globally = FALSE) + else if(!isnull(y)) + y_offset = clamp(y, -range, range) + log_message("changed the launchpad's y-offset parameter to Y: [y].", LOG_GAME, log_globally = FALSE) update_indicator() /obj/effect/ebeam/launchpad/Initialize(mapload) @@ -257,7 +263,7 @@ /obj/machinery/launchpad/briefcase/Initialize(mapload, _briefcase) . = ..() if(!_briefcase) - log_game("[src] has been spawned without a briefcase.") + stack_trace("[src] spawned without a briefcase.") return INITIALIZE_HINT_QDEL briefcase = _briefcase diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 13a6c897a19..dba832bc7ba 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -433,13 +433,13 @@ span_notice("You turn off \the [src]."), \ span_hear("You hear heavy droning fade out.")) active = FALSE - log_game("[src] was deactivated by [key_name(user)] at [AREACOORD(src)]") + user.log_message("deactivated [src].") else user.visible_message(span_notice("[user] turned \the [src] on."), \ span_notice("You turn on \the [src]."), \ span_hear("You hear heavy droning.")) active = ACTIVE_SETUPFIELDS - log_game("[src] was activated by [key_name(user)] at [AREACOORD(src)]") + user.log_message("activated [src].") add_fingerprint(user) /obj/machinery/power/shieldwallgen/emag_act(mob/user) diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index dc100b4b3a4..37a80fcbe02 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -230,6 +230,7 @@ if(payload && !istype(payload, /obj/item/bombcore/training)) log_bomber(user, "has primed a", src, "for detonation (Payload: [payload.name])") payload.adminlog = "The [name] that [key_name(user)] had primed detonated!" + user.log_message("primed the [src]. (Payload: [payload.name])", LOG_GAME, log_globally = FALSE) ///Bomb Subtypes/// diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index ed85ff13a8d..8b19a4f70df 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -103,7 +103,7 @@ toggled = !toggled update_power() update_appearance() - log_game("[key_name(operator)] toggled [toggled ? "On" : "Off"] [src] at [AREACOORD(src)].") + operator.log_message("toggled [toggled ? "On" : "Off"] [src].", LOG_GAME) . = TRUE if("id") if(params["value"]) @@ -113,7 +113,7 @@ return else id = params["value"] - log_game("[key_name(operator)] has changed the ID for [src] at [AREACOORD(src)] to [id].") + operator.log_message("has changed the ID for [src] to [id].", LOG_GAME) . = TRUE if("network") if(params["value"]) @@ -126,7 +126,7 @@ remove_link(T) network = params["value"] links = list() - log_game("[key_name(operator)] has changed the network for [src] at [AREACOORD(src)] to [network].") + operator.log_message("has changed the network for [src] to [network].", LOG_GAME) . = TRUE if("tempfreq") if(params["value"]) @@ -138,11 +138,11 @@ else if(!(tempfreq in freq_listening)) freq_listening.Add(tempfreq) - log_game("[key_name(operator)] added frequency [tempfreq] for [src] at [AREACOORD(src)].") + operator.log_message("added frequency [tempfreq] for [src].", LOG_GAME) . = TRUE if("delete") freq_listening.Remove(params["value"]) - log_game("[key_name(operator)] added removed frequency [params["value"]] for [src] at [AREACOORD(src)].") + operator.log_message("removed frequency [params["value"]] for [src].", LOG_GAME) . = TRUE if("unlink") var/obj/machinery/telecomms/T = links[text2num(params["value"])] @@ -177,7 +177,7 @@ LAZYADDASSOCLIST(new_connection.links_by_telecomms_type, telecomms_type, src) if(user) - log_game("[key_name(user)] linked [src] for [new_connection] at [AREACOORD(src)].") + user.log_message("linked [src] for [new_connection].", LOG_GAME) return TRUE ///removes old_connection from src's links list AND vice versa. also updates links_by_telecomms_type @@ -194,7 +194,7 @@ LAZYREMOVEASSOC(old_connection.links_by_telecomms_type, telecomms_type, src) if(user) - log_game("[key_name(user)] unlinked [src] and [old_connection] at [AREACOORD(src)].") + user.log_message("unlinked [src] and [old_connection].", LOG_GAME) return TRUE diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 9765b36d384..d24939d5f05 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -86,7 +86,7 @@ if(human.dna && human.dna.species.id != initial(species_to_transform.id)) to_chat(M, span_hear("You hear a buzzing in your ears.")) human.set_species(species_to_transform) - log_game("[human] ([key_name(human)]) was turned into a [initial(species_to_transform.name)] through [src].") + human.log_message("was turned into a [initial(species_to_transform.name)] through [src].", LOG_GAME) calibrated = FALSE return diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index 3c67059522c..e65ab53dc21 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -370,7 +370,7 @@ var/policy = get_policy(ROLE_PYROCLASTIC_SLIME) if (policy) to_chat(S, policy) - log_game("[key_name(S.key)] was made into a slime by pyroclastic anomaly at [AREACOORD(T)].") + S.log_message("was made into a slime by pyroclastic anomaly at [AREACOORD(T)].", LOG_GAME) ///////////////////// diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 0426e92148e..aedec6dc473 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -200,7 +200,7 @@ rename_area(A, str) to_chat(usr, span_notice("You rename the '[prevname]' to '[str]'.")) - log_game("[key_name(usr)] has renamed [prevname] to [str]") + usr.log_message("has renamed [prevname] to [str]", LOG_GAME) A.update_areasize() interact() return TRUE diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 05d9e02963c..447c2055ffb 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -1577,7 +1577,7 @@ update_icon() forged = TRUE to_chat(user, span_notice("You successfully forge the ID card.")) - log_game("[key_name(user)] has forged \the [initial(name)] with name \"[registered_name]\", occupation \"[assignment]\" and trim \"[trim?.assignment]\".") + user.log_message("forged \the [initial(name)] with name \"[registered_name]\", occupation \"[assignment]\" and trim \"[trim?.assignment]\".", LOG_GAME) if(!registered_account) if(ishuman(user)) @@ -1594,7 +1594,7 @@ assignment = initial(assignment) SSid_access.remove_trim_from_chameleon_card(src) REMOVE_TRAIT(src, TRAIT_MAGNETIC_ID_CARD, CHAMELEON_ITEM_TRAIT) - log_game("[key_name(user)] has reset \the [initial(name)] named \"[src]\" to default.") + user.log_message("reset \the [initial(name)] named \"[src]\" to default.", LOG_GAME) update_label() update_icon() forged = FALSE diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm index c561a75c20c..748a6c55593 100644 --- a/code/game/objects/items/charter.dm +++ b/code/game/objects/items/charter.dm @@ -48,8 +48,8 @@ if(!new_name) return - log_game("[key_name(user)] has proposed to name the station as \ - [new_name]") + user.log_message("has proposed to name the station as \ + [new_name]", LOG_GAME) if(standard_station_regex.Find(new_name)) to_chat(user, span_notice("Your name has been automatically approved.")) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 80946f6e048..9389a278baf 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -87,7 +87,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(lit && M.ignite_mob()) message_admins("[ADMIN_LOOKUPFLW(user)] set [key_name_admin(M)] on fire with [src] at [AREACOORD(user)]") - log_game("[key_name(user)] set [key_name(M)] on fire with [src] at [AREACOORD(user)]") + user.log_message("set [key_name(M)] on fire with [src] at [AREACOORD(user)]", LOG_ATTACK) var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) if(!lit || !cig || user.combat_mode) diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index 905e7fdecab..04d5e49268c 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -123,7 +123,7 @@ span_notice("You activate \the [src]."), span_hear("You hear a click.")) message_admins("Power sink activated by [ADMIN_LOOKUPFLW(user)] at [ADMIN_VERBOSEJMP(src)]") - log_game("Power sink activated by [key_name(user)] at [AREACOORD(src)]") + user.log_message("activated a powersink at [AREACOORD(src)]", LOG_GAME) set_mode(OPERATING) if(OPERATING) @@ -131,6 +131,7 @@ "[user] deactivates \the [src]!", \ span_notice("You deactivate \the [src]."), span_hear("You hear a click.")) + user.log_message("deactivated the powersink at [AREACOORD(src)]", LOG_GAME) set_mode(CLAMPED_OFF) /// Removes internal heat and shares it with the atmosphere. diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index 8009ffa92cd..2daee9ddc0d 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -148,7 +148,7 @@ if(change_volume) target_mix.volume += other_mix.volume - + target_mix.merge(other_mix.remove_ratio(1)) return TRUE @@ -199,6 +199,7 @@ GLOB.bombers += admin_bomb_message message_admins(admin_bomb_message) log_game("Bomb valve opened in [AREACOORD(bombturf)][attachment_message][bomber_message]") + bomber.log_message("opened bomb valve at [AREACOORD(bombturf)].", LOG_GAME, log_globally = FALSE) valve_open = merge_gases(target, change_volume) diff --git a/code/game/objects/items/flamethrower.dm b/code/game/objects/items/flamethrower.dm index 730df0413be..805b7b93b60 100644 --- a/code/game/objects/items/flamethrower.dm +++ b/code/game/objects/items/flamethrower.dm @@ -256,7 +256,7 @@ if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15)) owner.visible_message(span_danger("\The [attack_text] hits the fuel tank on [owner]'s [name], rupturing it! What a shot!")) var/turf/target_turf = get_turf(owner) - log_game("A projectile ([hitby]) detonated a flamethrower tank held by [key_name(owner)] at [COORD(target_turf)]") + owner.log_message("held a flamethrower tank detonated by a projectile ([hitby]) at [COORD(target_turf)]", LOG_GAME) igniter.ignite_turf(src,target_turf, release_amount = 100) qdel(ptank) return 1 //It hit the flamethrower, not them diff --git a/code/game/objects/items/food/meat.dm b/code/game/objects/items/food/meat.dm index 58fbcf2fd9b..77bca678266 100644 --- a/code/game/objects/items/food/meat.dm +++ b/code/game/objects/items/food/meat.dm @@ -470,7 +470,7 @@ bananas.faction = faction if (!QDELETED(bananas)) visible_message(span_notice("[src] expands!")) - bananas.log_message("Spawned via [src] at [AREACOORD(src)], Last attached mob: [key_name(spammer)].", LOG_ATTACK) + bananas.log_message("spawned via [src], Last attached mob: [key_name(spammer)].", LOG_ATTACK) else if (!spammer) // Visible message in case there are no fingerprints visible_message(span_notice("[src] fails to expand!")) qdel(src) @@ -490,6 +490,7 @@ playsound(user, 'sound/items/eatfood.ogg', rand(10, 50), TRUE) user.temporarilyRemoveItemFromInventory(src) //removes from hands, keeps in M addtimer(CALLBACK(src, .proc/finish_suicide, user), 15) //you've eaten it, you can run now + return MANUAL_SUICIDE /obj/item/food/monkeycube/proc/finish_suicide(mob/living/user) ///internal proc called by a monkeycube's suicide_act using a timer and callback. takes as argument the mob/living who activated the suicide diff --git a/code/game/objects/items/grenades/_grenade.dm b/code/game/objects/items/grenades/_grenade.dm index 6f4252187ac..693f7072230 100644 --- a/code/game/objects/items/grenades/_grenade.dm +++ b/code/game/objects/items/grenades/_grenade.dm @@ -214,7 +214,9 @@ if(damage && attack_type == PROJECTILE_ATTACK && hit_projectile.damage_type != STAMINA && prob(15)) owner.visible_message(span_danger("[attack_text] hits [owner]'s [src], setting it off! What a shot!")) var/turf/source_turf = get_turf(src) - log_game("A projectile ([hitby]) detonated a grenade held by [key_name(owner)] at [COORD(source_turf)]") + var/logmsg = "held a grenade detonated by a projectile ([hitby]) at [COORD(source_turf)]" + owner.log_message(logmsg, LOG_GAME) + owner.log_message(logmsg, LOG_VICTIM) message_admins("A projectile ([hitby]) detonated a grenade held by [key_name_admin(owner)] at [ADMIN_COORDJMP(source_turf)]") detonate() diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index d32c7d6974d..bfd5c1494cd 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -103,7 +103,7 @@ active = TRUE message_admins("[ADMIN_LOOKUPFLW(user)] planted [name] on [target.name] at [ADMIN_VERBOSEJMP(target)] with [det_time] second fuse") - log_game("[key_name(user)] planted [name] on [target.name] at [AREACOORD(user)] with a [det_time] second fuse") + user.log_message("planted [name] on [target.name] with a [det_time] second fuse.", LOG_ATTACK) notify_ghosts("[user] has planted \a [src] on [target] with a [det_time] second fuse!", source = bomb_target, action = (isturf(target) ? NOTIFY_JUMP : NOTIFY_ORBIT), flashwindow = FALSE, header = "Explosive Planted") moveToNullspace() //Yep @@ -139,6 +139,7 @@ /obj/item/grenade/c4/suicide_act(mob/living/user) message_admins("[ADMIN_LOOKUPFLW(user)] suicided with [src] at [ADMIN_VERBOSEJMP(user)]") + user.log_message("suicided with [src].", LOG_ATTACK) log_game("[key_name(user)] suicided with [src] at [AREACOORD(user)]") user.visible_message(span_suicide("[user] activates [src] and holds it above [user.p_their()] head! It looks like [user.p_theyre()] going out with a bang!")) shout_syndicate_crap(user) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 5e404a2e9e2..e039b2db34e 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -49,12 +49,13 @@ var/obj/effect/rune/target_rune = target if(target_rune.log_when_erased) - log_game("[target_rune.cultist_name] rune erased by [key_name(user)] using a null rod.") + user.log_message("erased [target_rune.cultist_name] rune at [COORD(target_rune)] using a null rod", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(user)] erased a [target_rune.cultist_name] rune with a null rod.") SSshuttle.shuttle_purchase_requirements_met[SHUTTLE_UNLOCK_NARNAR] = TRUE /obj/item/nullrod/suicide_act(mob/user) user.visible_message(span_suicide("[user] is killing [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to get closer to god!")) + return (BRUTELOSS|FIRELOSS) /obj/item/nullrod/godhand diff --git a/code/game/objects/items/implants/implantchair.dm b/code/game/objects/items/implants/implantchair.dm index 61282d9246c..5b8f72456ed 100644 --- a/code/game/objects/items/implants/implantchair.dm +++ b/code/game/objects/items/implants/implantchair.dm @@ -195,7 +195,7 @@ return FALSE objective = tgui_input_text(user, "What order do you want to imprint on [C]?", "Brainwashing", max_length = 120) message_admins("[ADMIN_LOOKUPFLW(user)] set brainwash machine objective to '[objective]'.") - log_game("[key_name(user)] set brainwash machine objective to '[objective]'.") + user.log_message("set brainwash machine objective to '[objective]'.", LOG_GAME) if(HAS_TRAIT(C, TRAIT_MINDSHIELD)) return FALSE brainwash(C, objective) diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index cb34230721c..3976cff3242 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -112,7 +112,7 @@ if(stuffed || grenade) to_chat(user, span_notice("You pet [src]. D'awww.")) if(grenade && !grenade.active) - log_game("[key_name(user)] activated a hidden grenade in [src].") + user.log_message("activated a hidden grenade in [src].", LOG_VICTIM) grenade.arm_grenade(user, msg = FALSE, volume = 10) else to_chat(user, span_notice("You try to pet [src], but it has no stuffing. Aww...")) @@ -157,7 +157,7 @@ span_danger("You slide [I] into [src].")) grenade = I var/turf/grenade_turf = get_turf(src) - log_game("[key_name(user)] added a grenade ([I.name]) to [src] at [AREACOORD(grenade_turf)].") + user.log_message("added a grenade ([I.name]) to [src] at [AREACOORD(grenade_turf)].", LOG_GAME) return if(istype(I, /obj/item/toy/plush)) love(I, user) diff --git a/code/game/objects/items/robot/ai_upgrades.dm b/code/game/objects/items/robot/ai_upgrades.dm index 59e685692e7..6873b838ebd 100644 --- a/code/game/objects/items/robot/ai_upgrades.dm +++ b/code/game/objects/items/robot/ai_upgrades.dm @@ -48,7 +48,7 @@ to_chat(AI, span_userdanger("[user] has upgraded you with surveillance software!")) to_chat(AI, "Via a combination of hidden microphones and lip reading software, you are able to use your cameras to listen in on conversations.") to_chat(user, span_notice("You upgrade [AI]. [src] is consumed in the process.")) - log_game("[key_name(user)] has upgraded [key_name(AI)] with a [src].") + user.log_message("has upgraded [key_name(AI)] with a [src].", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].") qdel(src) return TRUE diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 44d490bf14e..f6ba06adb3c 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -310,7 +310,8 @@ forceMove(O) O.robot_suit = src - log_game("[key_name(user)] has put the MMI/posibrain of [key_name(M.brainmob)] into a cyborg shell at [AREACOORD(src)]") + user.log_message("put the MMI/posibrain of [key_name(M.brainmob)] into a cyborg shell at [AREACOORD(src)]", LOG_GAME) + M.brainmob.log_message("was put into a cyborg shell at [AREACOORD(src)] by [key_name(user)]", LOG_GAME, log_globally = FALSE) if(!locomotion) O.set_lockcharge(TRUE) diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index f0e765ce7e0..5acbc47e635 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -41,7 +41,7 @@ /obj/item/borg/upgrade/rename/attack_self(mob/user) heldname = sanitize_name(tgui_input_text(user, "Enter new robot name", "Cyborg Reclassification", heldname, MAX_NAME_LEN), allow_numbers = TRUE) - log_game("[key_name(user)] have set \"[heldname]\" as a name in a cyborg reclassification board at [loc_name(user)]") + user.log_message("set \"[heldname]\" as a name in a cyborg reclassification board at [loc_name(user)]", LOG_GAME) /obj/item/borg/upgrade/rename/action(mob/living/silicon/robot/R, user = usr) . = ..() @@ -52,7 +52,7 @@ R.updatename() if(oldname == R.real_name) R.notify_ai(AI_NOTIFICATION_CYBORG_RENAMED, oldname, R.real_name) - log_game("[key_name(user)] have used a cyborg reclassification board to rename [oldkeyname] to [key_name(R)] at [loc_name(user)]") + usr.log_message("used a cyborg reclassification board to rename [oldkeyname] to [key_name(R)] at [loc_name(user)]", LOG_GAME) /obj/item/borg/upgrade/disablercooler name = "cyborg rapid disabler cooling module" diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 3852db9239e..39765ed586e 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -448,7 +448,7 @@ GLOBAL_LIST_INIT(abductor_recipes, list ( \ if(W.get_temperature() > 300)//If the temperature of the object is over 300, then ignite var/turf/T = get_turf(src) message_admins("Coal ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)]") - log_game("Coal ignited by [key_name(user)] in [AREACOORD(T)]") + user.log_message("ignited coal in in [AREACOORD(T)]", LOG_GAME) fire_act(W.get_temperature()) return TRUE else diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index df71835cdfa..04e03651bfc 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -311,7 +311,7 @@ COOLDOWN_START(src, resin_cooldown, 10 SECONDS) R.remove_any(100) var/obj/effect/resin_container/resin = new (get_turf(src)) - log_game("[key_name(user)] used Resin Launcher at [AREACOORD(user)].") + user.log_message("used Resin Launcher at [AREACOORD(user)].", LOG_GAME) playsound(src,'sound/items/syringeproj.ogg',40,TRUE) var/delay = 2 var/datum/move_loop/loop = SSmove_manager.move_towards(resin, target, delay, timeout = delay * 5, priority = MOVEMENT_ABOVE_SPACE_PRIORITY) diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index ce468a70129..cb3bfd42b6d 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -152,7 +152,7 @@ var/mob/living/attacked_mob = attacked_atom if(attacked_mob.ignite_mob()) message_admins("[ADMIN_LOOKUPFLW(user)] set [key_name_admin(attacked_mob)] on fire with [src] at [AREACOORD(user)]") - log_game("[key_name(user)] set [key_name(attacked_mob)] on fire with [src] at [AREACOORD(user)]") + user.log_message("set [key_name(attacked_mob)] on fire with [src].", LOG_ATTACK) if(!status && attacked_atom.is_refillable()) reagents.trans_to(attacked_atom, reagents.total_volume, transfered_by = user) @@ -170,13 +170,14 @@ if(!QDELETED(attacked_atom) && isliving(attacked_atom)) // can't ignite something that doesn't exist var/mob/living/attacked_mob = attacked_atom if(attacked_mob.ignite_mob()) - message_admins("[ADMIN_LOOKUPFLW(user)] set [key_name_admin(attacked_mob)] on fire with [src] at [AREACOORD(user)]") - log_game("[key_name(user)] set [key_name(attacked_mob)] on fire with [src] at [AREACOORD(user)]") + message_admins("[ADMIN_LOOKUPFLW(user)] set [key_name_admin(attacked_mob)] on fire with [src] at [AREACOORD(user)].") + user.log_message("set [key_name(attacked_mob)] on fire with [src] at [AREACOORD(user)].", LOG_ATTACK) /obj/item/weldingtool/attack_self(mob/user) if(src.reagents.has_reagent(/datum/reagent/toxin/plasma)) message_admins("[ADMIN_LOOKUPFLW(user)] activated a rigged welder at [AREACOORD(user)].") + user.log_message("activated a rigged welder at [AREACOORD(user)].", LOG_VICTIM) explode() switched_on(user) diff --git a/code/game/objects/structures/cannons/cannon.dm b/code/game/objects/structures/cannons/cannon.dm index 6b04ee50f88..5b147db5519 100644 --- a/code/game/objects/structures/cannons/cannon.dm +++ b/code/game/objects/structures/cannons/cannon.dm @@ -75,7 +75,8 @@ balloon_alert(user, "needs [reagents.maximum_volume]u of charge!") return visible_message(ignition_message) - log_game("Cannon fired by [key_name(user)] in [AREACOORD(src)]") + user.log_message("fired a cannon in [AREACOORD(src)]", LOG_ATTACK) + log_game("[key_name(user)] fired a cannon in [AREACOORD(src)]") addtimer(CALLBACK(src, .proc/fire), fire_delay) charge_ignited = TRUE return diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 71cf495af18..a2b5add5d7f 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -408,7 +408,7 @@ user.visible_message(span_notice("[user] [welded ? "welds shut" : "unwelded"] \the [src]."), span_notice("You [welded ? "weld" : "unwelded"] \the [src] with \the [W]."), span_hear("You hear welding.")) - log_game("[key_name(user)] [welded ? "welded":"unwelded"] closet [src] with [W] at [AREACOORD(src)]") + user.log_message("[welded ? "welded":"unwelded"] closet [src] with [W] at [AREACOORD(src)]", LOG_GAME) update_appearance() else if (can_install_electronics && istype(W, /obj/item/electronics/airlock)\ && !secure && !electronics && !locked && (welded || !can_weld_shut) && !broken) diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm index 74ce58e7086..6bcc1685b1e 100644 --- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm +++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm @@ -309,7 +309,7 @@ user.visible_message(span_notice("[user] [sinched ? null : "un"]sinches [src]."), span_notice("You [sinched ? null : "un"]sinch [src]."), span_hear("You hear stretching followed by metal clicking from [src].")) - log_game("[key_name(user)] [sinched ? "sinched":"unsinched"] secure environmental bag [src] at [AREACOORD(src)]") + user.log_message("[sinched ? "sinched":"unsinched"] secure environmental bag [src] at [AREACOORD(src)]", LOG_GAME) update_appearance() /obj/structure/closet/body_bag/environmental/prisoner/pressurized diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index 0c0d9c371cb..2b95e966de1 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -202,7 +202,7 @@ set category = "Debug" if(!check_rights(R_DEBUG)) //Shouldn't happen... but just to be safe. message_admins(span_danger("ERROR: Non-admin [key_name(usr)] attempted to execute a SDQL query!")) - log_admin("Non-admin [key_name(usr)] attempted to execute a SDQL query!") + usr.log_message("non-admin attempted to execute a SDQL query!", LOG_ADMIN) return FALSE var/list/results = world.SDQL2_query(query_text, key_name_admin(usr), "[key_name(usr)]") if(length(results) == 3) @@ -215,7 +215,7 @@ if(!silent) message_admins("[log_entry1] [query_log]") query_log = "[log_entry2] [query_log]" - log_game(query_log) + usr.log_message(query_log, LOG_ADMIN) NOTICE(query_log) var/start_time_total = REALTIMEOFDAY @@ -1208,7 +1208,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/sdql2_vv_all, new(null /obj/effect/statclick/SDQL2_delete/Click() if(!usr.client?.holder) message_admins("[key_name_admin(usr)] non-holder clicked on a statclick! ([src])") - log_game("[key_name(usr)] non-holder clicked on a statclick! ([src])") + usr.log_message("non-holder clicked on a statclick! ([src])", LOG_ADMIN) return var/datum/sdql2_query/Q = target Q.delete_click() @@ -1216,7 +1216,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/sdql2_vv_all, new(null /obj/effect/statclick/SDQL2_action/Click() if(!usr.client?.holder) message_admins("[key_name_admin(usr)] non-holder clicked on a statclick! ([src])") - log_game("[key_name(usr)] non-holder clicked on a statclick! ([src])") + usr.log_message("non-holder clicked on a statclick! ([src])", LOG_ADMIN) return var/datum/sdql2_query/Q = target Q.action_click() @@ -1227,6 +1227,6 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/sdql2_vv_all, new(null /obj/effect/statclick/sdql2_vv_all/Click() if(!usr.client?.holder) message_admins("[key_name_admin(usr)] non-holder clicked on a statclick! ([src])") - log_game("[key_name(usr)] non-holder clicked on a statclick! ([src])") + usr.log_message("non-holder clicked on a statclick! ([src])", LOG_ADMIN) return usr.client.debug_variables(GLOB.sdql2_queries) diff --git a/code/modules/admin/verbs/admin.dm b/code/modules/admin/verbs/admin.dm index 5d4c12821f1..597b86cb0a7 100644 --- a/code/modules/admin/verbs/admin.dm +++ b/code/modules/admin/verbs/admin.dm @@ -80,7 +80,7 @@ return message_admins("[key_name_admin(usr)] triggered a CentCom recall, with the admiral message of: [message]") - log_game("[key_name(usr)] triggered a CentCom recall, with the message of: [message]") + usr.log_message("triggered a CentCom recall, with the message of: [message]", LOG_GAME) SSshuttle.centcom_recall(SSshuttle.emergency.timer, message) /datum/admins/proc/cmd_show_exp_panel(client/client_to_check) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 7d9a9492c83..480dd87a667 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -150,7 +150,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) /obj/effect/statclick/ticket_list/Click() if (!usr.client?.holder) message_admins("[key_name_admin(usr)] non-holder clicked on a ticket list statclick! ([src])") - log_game("[key_name(usr)] non-holder clicked on a ticket list statclick! ([src])") + usr.log_message("[key_name(usr)] non-holder clicked on a ticket list statclick! ([src])", LOG_ADMIN) return GLOB.ahelp_tickets.BrowseTickets(current_state) @@ -670,7 +670,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) /obj/effect/statclick/ahelp/Click() if (!usr.client?.holder) message_admins("[key_name_admin(usr)] non-holder clicked on an ahelp statclick! ([src])") - log_game("[key_name(usr)] non-holder clicked on an ahelp statclick! ([src])") + usr.log_message("non-holder clicked on an ahelp statclick! ([src])", LOG_ADMIN) return ahelp_datum.TicketPanel() diff --git a/code/modules/admin/verbs/beakerpanel.dm b/code/modules/admin/verbs/beakerpanel.dm index 4a2156d1402..5ba32ae7b6c 100644 --- a/code/modules/admin/verbs/beakerpanel.dm +++ b/code/modules/admin/verbs/beakerpanel.dm @@ -19,7 +19,7 @@ if ("spawncontainer") var/containerdata = json_decode(href_list["container"]) var/obj/item/reagent_containers/container = beaker_panel_create_container(containerdata, get_turf(usr)) - log_game("[key_name(usr)] spawned a [container] containing [pretty_string_from_reagent_list(container.reagents.reagent_list)]") + usr.log_message("spawned a [container] containing [pretty_string_from_reagent_list(container.reagents.reagent_list)]", LOG_GAME) if ("spawngrenade") var/obj/item/grenade/chem_grenade/grenade = new(get_turf(usr)) var/containersdata = json_decode(href_list["containers"]) @@ -34,7 +34,7 @@ var/det_time = text2num(grenadedata["grenade-timer"]) if (det_time) grenade.det_time = det_time - log_game("[key_name(usr)] spawned a [grenade] containing: [reagent_string]") + usr.log_message("spawned a [grenade] containing: [reagent_string]", LOG_GAME) /datum/admins/proc/beaker_panel_prep_assembly(obj/item/assembly/towrap, grenade) var/obj/item/assembly/igniter/igniter = new diff --git a/code/modules/admin/verbs/ert.dm b/code/modules/admin/verbs/ert.dm index 66386b831f1..78f45550c86 100644 --- a/code/modules/admin/verbs/ert.dm +++ b/code/modules/admin/verbs/ert.dm @@ -200,7 +200,7 @@ ert_operative.mind.set_assigned_role(SSjob.GetJobType(ert_antag.ert_job_path)) //Logging and cleanup - log_game("[key_name(ert_operative)] has been selected as an [ert_antag.name]") + ert_operative.log_message("has been selected as \a [ert_antag.name].", LOG_GAME) numagents-- teamSpawned++ diff --git a/code/modules/admin/verbs/fix_air.dm b/code/modules/admin/verbs/fix_air.dm index d1f535cb0f6..998214297c1 100644 --- a/code/modules/admin/verbs/fix_air.dm +++ b/code/modules/admin/verbs/fix_air.dm @@ -10,7 +10,7 @@ if(check_rights(R_ADMIN,1)) var/range=input("Enter range:","Num",2) as num message_admins("[key_name_admin(usr)] fixed air with range [range] in area [T.loc.name]") - log_game("[key_name_admin(usr)] fixed air with range [range] in area [T.loc.name]") + usr.log_message("fixed air with range [range] in area [T.loc.name]", LOG_ADMIN) var/datum/gas_mixture/GM = new for(var/turf/open/F in range(range,T)) if(F.blocks_air) diff --git a/code/modules/admin/verbs/individual_logging.dm b/code/modules/admin/verbs/individual_logging.dm index 2b0942c95be..4928089a35d 100644 --- a/code/modules/admin/verbs/individual_logging.dm +++ b/code/modules/admin/verbs/individual_logging.dm @@ -9,6 +9,8 @@ if(M.ckey) dat += "

Ckey

" dat += "
" + dat += individual_logging_panel_link(M, INDIVIDUAL_GAME_LOG, LOGSRC_CKEY, "Game Log", source, ntype) + dat += " | " dat += individual_logging_panel_link(M, INDIVIDUAL_ATTACK_LOG, LOGSRC_CKEY, "Attack Log", source, ntype) dat += " | " dat += individual_logging_panel_link(M, INDIVIDUAL_SAY_LOG, LOGSRC_CKEY, "Say Log", source, ntype) @@ -28,6 +30,8 @@ dat += "

Mob

" //Add the links for the mob specific log dat += "
" + dat += individual_logging_panel_link(M, INDIVIDUAL_GAME_LOG, LOGSRC_MOB, "Game Log", source, ntype) + dat += " | " dat += individual_logging_panel_link(M, INDIVIDUAL_ATTACK_LOG, LOGSRC_MOB, "Attack Log", source, ntype) dat += " | " dat += individual_logging_panel_link(M, INDIVIDUAL_SAY_LOG, LOGSRC_MOB, "Say Log", source, ntype) diff --git a/code/modules/admin/verbs/secrets.dm b/code/modules/admin/verbs/secrets.dm index 4ef0f6463f1..3aaefb1d7e1 100644 --- a/code/modules/admin/verbs/secrets.dm +++ b/code/modules/admin/verbs/secrets.dm @@ -572,7 +572,7 @@ GLOBAL_DATUM(everyone_a_traitor, /datum/everyone_is_a_traitor_controller) candidates -= chosen_candidate nerd = new /mob/living/simple_animal/drone/classic(spawnpoint) nerd.key = chosen_candidate.key - log_game("[key_name(nerd)] has been selected as a Nanotrasen emergency response drone") + nerd.log_message("has been selected as a Nanotrasen emergency response drone.", LOG_GAME) teamsize-- return TRUE diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index c84dbf580ee..155bb7b67f9 100644 --- a/code/modules/antagonists/abductor/equipment/gland.dm +++ b/code/modules/antagonists/abductor/equipment/gland.dm @@ -65,7 +65,7 @@ to_chat(owner, span_mind_control("[command]")) active_mind_control = TRUE message_admins("[key_name(user)] sent an abductor mind control message to [key_name(owner)]: [command]") - log_game("[key_name(user)] sent an abductor mind control message to [key_name(owner)]: [command]") + user.log_message("sent an abductor mind control message to [key_name(owner)]: [command]", LOG_GAME) update_gland_hud() var/atom/movable/screen/alert/mind_control/mind_alert = owner.throw_alert(ALERT_MIND_CONTROL, /atom/movable/screen/alert/mind_control) mind_alert.command = command diff --git a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm index 19db2828bd2..381d7e11218 100644 --- a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm +++ b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm @@ -50,7 +50,7 @@ to_chat(target_human, span_mind_control("[command]")) message_admins("[key_name(user)] broadcasted an abductor mind control message from [key_name(owner)] to [key_name(target_human)]: [command]") - log_game("[key_name(user)] broadcasted an abductor mind control message from [key_name(owner)] to [key_name(target_human)]: [command]") + user.log_message("broadcasted an abductor mind control message from [key_name(owner)] to [key_name(target_human)]: [command]", LOG_GAME) var/atom/movable/screen/alert/mind_control/mind_alert = target_human.throw_alert(ALERT_MIND_CONTROL, /atom/movable/screen/alert/mind_control) mind_alert.command = command diff --git a/code/modules/antagonists/abductor/equipment/glands/quantum.dm b/code/modules/antagonists/abductor/equipment/glands/quantum.dm index 39f3d5b1966..1c3ad4e9da9 100644 --- a/code/modules/antagonists/abductor/equipment/glands/quantum.dm +++ b/code/modules/antagonists/abductor/equipment/glands/quantum.dm @@ -38,7 +38,7 @@ var/atom/movable/screen/alert/mind_control/mind_alert = entangled_mob.throw_alert(ALERT_MIND_CONTROL, /atom/movable/screen/alert/mind_control) mind_alert.command = command message_admins("[key_name(owner)] mirrored an abductor mind control message to [key_name(entangled_mob)]: [command]") - log_game("[key_name(owner)] mirrored an abductor mind control message to [key_name(entangled_mob)]: [command]") + user.log_message("mirrored an abductor mind control message to [key_name(entangled_mob)]: [command]", LOG_GAME) update_gland_hud() /obj/item/organ/internal/heart/gland/quantum/clear_mind_control() diff --git a/code/modules/antagonists/blob/blob_mobs.dm b/code/modules/antagonists/blob/blob_mobs.dm index 4ca41d463e2..f4a2d17e678 100644 --- a/code/modules/antagonists/blob/blob_mobs.dm +++ b/code/modules/antagonists/blob/blob_mobs.dm @@ -167,7 +167,7 @@ to_chat(user, span_warning("Someone else already took this spore!")) return key = user.key - log_game("[key_name(src)] took control of [name].") + src.log_message("took control of [name].", LOG_GAME) /mob/living/simple_animal/hostile/blob/blobspore/proc/Zombify(mob/living/carbon/human/H) is_zombie = 1 diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 9b0ac88d53f..3c9520ead2c 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -690,20 +690,21 @@ Striking a noncultist, however, will tear their flesh."} return if(isnull(cultist_to_receive)) to_chat(user, "You require a destination!") - log_game("Void torch failed - no target") + log_game("[key_name(user)]'s Void torch failed - no target.") return if(cultist_to_receive.stat == DEAD) to_chat(user, "[cultist_to_receive] has died!") - log_game("Void torch failed - target died") + log_game("[key_name(user)]'s Void torch failed - target died.") return if(!IS_CULTIST(cultist_to_receive)) to_chat(user, "[cultist_to_receive] is not a follower of the Geometer!") - log_game("Void torch failed - target was deconverted") + log_game("[key_name(user)]'s Void torch failed - target was deconverted.") return if(A in user.get_all_contents()) to_chat(user, "[A] must be on a surface in order to teleport it!") return to_chat(user, "You ignite [A] with \the [src], turning it to ash, but through the torch's flames you see that [A] has reached [cultist_to_receive]!") + user.log_message("teleported [A] to [cultist_to_receive] with \the [src].", LOG_GAME) cultist_to_receive.put_in_hands(A) charges-- to_chat(user, "\The [src] now has [charges] charge\s.") diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index e73f1f2881e..d3b3ed66b8f 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -223,7 +223,7 @@ structure_check() searches for nearby cultist structures required for the invoca myriad_targets |= M if(!length(myriad_targets)) fail_invoke() - log_game("Offer rune failed - no eligible targets") + log_game("Offer rune failed - no eligible targets.") return rune_in_use = TRUE visible_message(span_warning("[src] pulses blood red!")) @@ -253,12 +253,12 @@ structure_check() searches for nearby cultist structures required for the invoca if(length(invokers) < 2) for(var/M in invokers) to_chat(M, span_warning("You need at least two invokers to convert [convertee]!")) - log_game("Offer rune failed - tried conversion with one invoker") + log_game("Offer rune with [convertee] on it failed - tried conversion with one invoker.") return FALSE if(convertee.can_block_magic(MAGIC_RESISTANCE|MAGIC_RESISTANCE_HOLY, charge_cost = 0)) //No charge_cost because it can be spammed for(var/M in invokers) to_chat(M, span_warning("Something is shielding [convertee]'s mind!")) - log_game("Offer rune failed - convertee had anti-magic") + log_game("Offer rune with [convertee] on it failed - convertee had anti-magic.") return FALSE var/brutedamage = convertee.getBruteLoss() var/burndamage = convertee.getFireLoss() @@ -300,14 +300,14 @@ structure_check() searches for nearby cultist structures required for the invoca if(ispAI(sacrificial)) for(var/M in invokers) to_chat(M, span_cultitalic("You don't think this is what Nar'Sie had in mind when She asked for blood sacrifices...")) - log_game("Offer rune failed - tried sacrificing pAI") + log_game("Offer rune with [sacrificial] on it failed - tried sacrificing pAI.") return FALSE var/big_sac = FALSE if((((ishuman(sacrificial) || iscyborg(sacrificial)) && sacrificial.stat != DEAD) || C.cult_team.is_sacrifice_target(sacrificial.mind)) && length(invokers) < 3) for(var/M in invokers) to_chat(M, span_cultitalic("[sacrificial] is too greatly linked to the world! You need three acolytes!")) - log_game("Offer rune failed - not enough acolytes and target is living or sac target") + log_game("Offer rune with [sacrificial] on it failed - not enough acolytes and target is living or sac target") return FALSE if(sacrificial.mind) LAZYADD(GLOB.sacrificed, WEAKREF(sacrificial.mind)) @@ -337,6 +337,7 @@ structure_check() searches for nearby cultist structures required for the invoca sacrificial.grab_ghost() make_new_construct_from_class(construct_class, THEME_CULT, sacrificial, first_invoker, TRUE, get_turf(src)) var/mob/living/silicon/robot/sacriborg = sacrificial + sacrificial.log_message("was sacrificed as a cyborg.", LOG_GAME) sacriborg.mmi = null qdel(sacrificial) return TRUE @@ -401,14 +402,14 @@ structure_check() searches for nearby cultist structures required for the invoca if(!length(potential_runes)) to_chat(user, span_warning("There are no valid runes to teleport to!")) - log_game("Teleport rune failed - no other teleport runes") + log_game("Teleport rune activated by [user] at [COORD(src)] failed - no other teleport runes.") fail_invoke() return var/turf/T = get_turf(src) if(is_away_level(T.z)) to_chat(user, "You are not in the right dimension!") - log_game("Teleport rune failed - user in away mission") + log_game("Teleport rune activated by [user] at [COORD(src)] failed - [user] is in away mission.") fail_invoke() return @@ -426,6 +427,7 @@ structure_check() searches for nearby cultist structures required for the invoca var/turf/target = get_turf(actual_selected_rune) if(target.is_blocked_turf(TRUE)) to_chat(user, span_warning("The target rune is blocked. Attempting to teleport to it would be massively unwise.")) + log_game("Teleport rune activated by [user] at [COORD(src)] failed - destination blocked.") fail_invoke() return var/movedsomething = FALSE @@ -534,7 +536,7 @@ structure_check() searches for nearby cultist structures required for the invoca if(locate(/obj/narsie) in SSpoints_of_interest.narsies) for(var/invoker in invokers) to_chat(invoker, span_warning("Nar'Sie is already on this plane!")) - log_game("Nar'Sie rune failed - already summoned") + log_game("Nar'Sie rune activated by [user] at [COORD(src)] failed - already summoned.") return //BEGIN THE SUMMONING @@ -581,7 +583,7 @@ structure_check() searches for nearby cultist structures required for the invoca potential_revive_mobs |= M if(!length(potential_revive_mobs)) to_chat(user, "There are no dead cultists on the rune!") - log_game("Raise Dead rune failed - no cultists to revive") + log_game("Raise Dead rune activated by [user] at [COORD(src)] failed - no cultists to revive.") fail_invoke() return if(length(potential_revive_mobs) > 1) @@ -635,7 +637,7 @@ structure_check() searches for nearby cultist structures required for the invoca return FALSE if(!(target_mob in T.contents)) to_chat(user, "The cultist to revive has been moved!") - log_game("Raise Dead rune failed - revival target moved") + log_game("Raise Dead rune activated by [user] at [COORD(src)] failed - revival target moved.") return FALSE return TRUE @@ -693,32 +695,38 @@ structure_check() searches for nearby cultist structures required for the invoca fail_invoke() return var/mob/living/cultist_to_summon = tgui_input_list(user, "Who do you wish to call to [src]?", "Followers of the Geometer", cultists) + var/fail_logmsg = "Summon Cultist rune activated by [user] at [COORD(src)] failed - " if(!Adjacent(user) || !src || QDELETED(src) || user.incapacitated()) return if(isnull(cultist_to_summon)) to_chat(user, "You require a summoning target!") + fail_logmsg += "no target." + log_game(fail_logmsg) fail_invoke() - log_game("Summon Cultist rune failed - no target") return if(cultist_to_summon.stat == DEAD) to_chat(user, "[cultist_to_summon] has died!") + fail_logmsg += "target died." + log_game(fail_logmsg) fail_invoke() - log_game("Summon Cultist rune failed - target died") return if(cultist_to_summon.pulledby || cultist_to_summon.buckled) to_chat(user, "[cultist_to_summon] is being held in place!") + fail_logmsg += "target restrained." + log_game(fail_logmsg) fail_invoke() - log_game("Summon Cultist rune failed - target restrained") return if(!IS_CULTIST(cultist_to_summon)) to_chat(user, "[cultist_to_summon] is not a follower of the Geometer!") + fail_logmsg += "target deconverted." + log_game(fail_logmsg) fail_invoke() - log_game("Summon Cultist rune failed - target was deconverted") return if(is_away_level(cultist_to_summon.z)) to_chat(user, "[cultist_to_summon] is not in our dimension!") + fail_logmsg += "target is in away mission." + log_game(fail_logmsg) fail_invoke() - log_game("Summon Cultist rune failed - target in away mission") return cultist_to_summon.visible_message(span_warning("[cultist_to_summon] suddenly disappears in a flash of red light!"), \ "Overwhelming vertigo consumes you as you are hurled through the air!") diff --git a/code/modules/antagonists/disease/disease_event.dm b/code/modules/antagonists/disease/disease_event.dm index 66986a99aa2..b96c90dfc53 100644 --- a/code/modules/antagonists/disease/disease_event.dm +++ b/code/modules/antagonists/disease/disease_event.dm @@ -22,6 +22,6 @@ virus.key = selected.key INVOKE_ASYNC(virus, /mob/camera/disease/proc/pick_name) message_admins("[ADMIN_LOOKUPFLW(virus)] has been made into a sentient disease by an event.") - log_game("[key_name(virus)] was spawned as a sentient disease by an event.") + virus.log_message("was spawned as a sentient disease by an event.", LOG_GAME) spawned_mobs += virus return SUCCESSFUL_SPAWN diff --git a/code/modules/antagonists/heretic/heretic_knowledge.dm b/code/modules/antagonists/heretic/heretic_knowledge.dm index 4a5d8e170ad..8826a6ad957 100644 --- a/code/modules/antagonists/heretic/heretic_knowledge.dm +++ b/code/modules/antagonists/heretic/heretic_knowledge.dm @@ -463,7 +463,7 @@ summoned.ghostize(FALSE) summoned.key = picked_candidate.key - log_game("[key_name(user)] created a [summoned.name], controlled by [key_name(picked_candidate)].") + user.log_message("created a [summoned.name], controlled by [key_name(picked_candidate)].", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(user)] created a [summoned.name], [ADMIN_LOOKUPFLW(summoned)].") var/datum/antagonist/heretic_monster/heretic_monster = summoned.mind.add_antag_datum(/datum/antagonist/heretic_monster) diff --git a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm index 473025e356c..98d955d52d6 100644 --- a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm @@ -103,7 +103,7 @@ /// Makes [victim] into a ghoul. /datum/heretic_knowledge/limited_amount/flesh_grasp/proc/make_ghoul(mob/living/user, mob/living/carbon/human/victim) - log_game("[key_name(user)] created a ghoul, controlled by [key_name(victim)].") + user.log_message("created a ghoul, controlled by [key_name(victim)].", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(user)] created a ghoul, [ADMIN_LOOKUPFLW(victim)].") victim.apply_status_effect( @@ -188,7 +188,7 @@ /// Makes [victim] into a ghoul. /datum/heretic_knowledge/limited_amount/flesh_ghoul/proc/make_ghoul(mob/living/user, mob/living/carbon/human/victim) - log_game("[key_name(user)] created a voiceless dead, controlled by [key_name(victim)].") + user.log_message("created a voiceless dead, controlled by [key_name(victim)].", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(user)] created a voiceless dead, [ADMIN_LOOKUPFLW(victim)].") victim.apply_status_effect( diff --git a/code/modules/antagonists/heretic/knowledge/side_void_blade.dm b/code/modules/antagonists/heretic/knowledge/side_void_blade.dm index f9445e8516c..e1aa8c2845e 100644 --- a/code/modules/antagonists/heretic/knowledge/side_void_blade.dm +++ b/code/modules/antagonists/heretic/knowledge/side_void_blade.dm @@ -68,7 +68,8 @@ /// Make [victim] into a shattered risen ghoul. /datum/heretic_knowledge/limited_amount/risen_corpse/proc/make_risen(mob/living/user, mob/living/carbon/human/victim) - log_game("[key_name(user)] created a shattered risen out of [key_name(victim)].") + user.log_message("created a shattered risen out of [key_name(victim)].", LOG_GAME) + victim.log_message("became a shattered risen of [key_name(user)]'s.", LOG_VICTIM, log_globally = FALSE) message_admins("[ADMIN_LOOKUPFLW(user)] created a shattered risen, [ADMIN_LOOKUPFLW(victim)].") victim.apply_status_effect( diff --git a/code/modules/antagonists/morph/morph.dm b/code/modules/antagonists/morph/morph.dm index d046d136130..02620776ec5 100644 --- a/code/modules/antagonists/morph/morph.dm +++ b/code/modules/antagonists/morph/morph.dm @@ -235,6 +235,6 @@ player_mind.add_antag_datum(/datum/antagonist/morph) SEND_SOUND(S, sound('sound/magic/mutate.ogg')) message_admins("[ADMIN_LOOKUPFLW(S)] has been made into a morph by an event.") - log_game("[key_name(S)] was spawned as a morph by an event.") + S.log_message("was spawned as a morph by an event.", LOG_GAME) spawned_mobs += S return SUCCESSFUL_SPAWN diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_authentication_disk.dm b/code/modules/antagonists/nukeop/equipment/nuclear_authentication_disk.dm index d3947232ebc..f6b6453b285 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_authentication_disk.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_authentication_disk.dm @@ -66,7 +66,7 @@ if(disk_comfort_level >= 2) visible_message(span_notice("[src] sleeps soundly. Sleep tight, disky.")) message_admins("[src] is unsecured in [ADMIN_VERBOSEJMP(new_turf)]. The weight of Lone Operative is now [loneop.weight].") - log_game("[src] is unsecured for too long in [loc_name(new_turf)], and has increased the weight of the Lone Operative event to [loneop.weight].") + log_game("[src] was left unsecured in [loc_name(new_turf)]. Weight of the Lone Operative event increased to [loneop.weight].") /obj/item/disk/nuclear/proc/is_secured() if (last_secured_location == get_turf(src)) diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm index b90b56ec743..7cd5ab599d8 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm @@ -449,7 +449,7 @@ GLOBAL_VAR(station_nuke_source) /obj/machinery/nuclearbomb/proc/arm_nuke(mob/armer) var/turf/our_turf = get_turf(src) message_admins("\The [src] was armed at [ADMIN_VERBOSEJMP(our_turf)] by [armer ? ADMIN_LOOKUPFLW(armer) : "an unknown user"].") - log_game("\The [src] was armed at [loc_name(our_turf)] by [armer ? key_name(armer) : "an unknown user"].") + armer.log_message("armed \the [src].", LOG_GAME) previous_level = SSsecurity_level.get_current_level_as_number() detonation_timer = world.time + (timer_set * 10) @@ -466,7 +466,7 @@ GLOBAL_VAR(station_nuke_source) /obj/machinery/nuclearbomb/proc/disarm_nuke(mob/disarmer) var/turf/our_turf = get_turf(src) message_admins("\The [src] at [ADMIN_VERBOSEJMP(our_turf)] was disarmed by [disarmer ? ADMIN_LOOKUPFLW(disarmer) : "an unknown user"].") - log_game("\The [src] at [loc_name(our_turf)] was disarmed by [disarmer ? key_name(disarmer) : "an unknown user"].") + disarmer.log_message("disarmed \the [src].", LOG_GAME) detonation_timer = null SSsecurity_level.set_level(previous_level) diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index 4d3f2a6c31e..37b9383c85c 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -482,7 +482,7 @@ return message_admins("[key_of_revenant] has been [old_key == key_of_revenant ? "re":""]made into a revenant by reforming ectoplasm.") - log_game("[key_of_revenant] was [old_key == key_of_revenant ? "re":""]made as a revenant by reforming ectoplasm.") + revenant.log_message("was [old_key == key_of_revenant ? "re":""]made as a revenant by reforming ectoplasm.") visible_message(span_revenboldnotice("[src] suddenly rises into the air before fading away.")) revenant.essence = essence diff --git a/code/modules/antagonists/revenant/revenant_spawn_event.dm b/code/modules/antagonists/revenant/revenant_spawn_event.dm index cb9df58961a..6f82d190f6a 100644 --- a/code/modules/antagonists/revenant/revenant_spawn_event.dm +++ b/code/modules/antagonists/revenant/revenant_spawn_event.dm @@ -57,6 +57,6 @@ var/mob/living/simple_animal/revenant/revvie = new(pick(spawn_locs)) revvie.key = selected.key message_admins("[ADMIN_LOOKUPFLW(revvie)] has been made into a revenant by an event.") - log_game("[key_name(revvie)] was spawned as a revenant by an event.") + revvie.log_message("was spawned as a revenant by an event.", LOG_GAME) spawned_mobs += revvie return SUCCESSFUL_SPAWN diff --git a/code/modules/antagonists/slaughter/slaughterevent.dm b/code/modules/antagonists/slaughter/slaughterevent.dm index 15a3746b237..7b3240b6179 100644 --- a/code/modules/antagonists/slaughter/slaughterevent.dm +++ b/code/modules/antagonists/slaughter/slaughterevent.dm @@ -44,6 +44,6 @@ Use your Blood Crawl ability near a pool of blood to manifest and wreak havoc.")) SEND_SOUND(S, 'sound/magic/demon_dies.ogg') message_admins("[ADMIN_LOOKUPFLW(S)] has been made into a slaughter demon by an event.") - log_game("[key_name(S)] was spawned as a slaughter demon by an event.") + S.log_message("was spawned as a slaughter demon by an event.", LOG_GAME) spawned_mobs += S return SUCCESSFUL_SPAWN diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index 7dd233bb6df..1b5d1d67468 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -480,7 +480,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) var/turf/machine_turf = get_turf(to_explode) message_admins("[ADMIN_LOOKUPFLW(caller)] overloaded [to_explode.name] ([to_explode.type]) at [ADMIN_VERBOSEJMP(machine_turf)].") - log_game("[key_name(caller)] overloaded [to_explode.name] ([to_explode.type]) at [AREACOORD(machine_turf)].") + caller.log_message("overloaded [to_explode.name] ([to_explode.type]) at [AREACOORD(machine_turf)].", LOG_ATTACK) explosion(to_explode, heavy_impact_range = 2, light_impact_range = 3) if(!QDELETED(to_explode)) //to check if the explosion killed it before we try to delete it qdel(to_explode) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index ad92bb2ee42..16c5e5e8165 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -424,7 +424,7 @@ GLOBAL_VAR_INIT(cryo_overlay_cover_off, mutable_appearance('icons/obj/cryogenics user.visible_message(span_notice("[user] places [I] in [src]."), \ span_notice("You place [I] in [src].")) var/reagentlist = pretty_string_from_reagent_list(I.reagents.reagent_list) - log_game("[key_name(user)] added an [I] to cryo containing [reagentlist]") + user.log_message("added an [I] to cryo containing [reagentlist].", LOG_GAME) return return ..() @@ -455,10 +455,10 @@ GLOBAL_VAR_INIT(cryo_overlay_cover_off, mutable_appearance('icons/obj/cryogenics else if (HAS_TRAIT(mob_occupant, TRAIT_KNOCKEDOUT)) data["occupant"]["stat"] = "Unconscious" data["occupant"]["statstate"] = "good" - else + else data["occupant"]["stat"] = "Conscious" data["occupant"]["statstate"] = "bad" - + data["occupant"]["bodyTemperature"] = round(mob_occupant.bodytemperature, 1) if(mob_occupant.bodytemperature < T0C) // Green if the mob can actually be healed by cryoxadone. data["occupant"]["temperaturestatus"] = "good" diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 7e061cca801..3900532a178 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -480,7 +480,7 @@ GLOBAL_LIST_INIT(gas_id_to_canister, init_gas_id_to_canister()) if(pressure > 300) to_chat(user, span_alert("The pressure gauge on [src] indicates a high pressure inside... maybe you want to reconsider?")) message_admins("[src] deconstructed by [ADMIN_LOOKUPFLW(user)]") - log_game("[src] deconstructed by [key_name(user)]") + user.log_message("deconstructed [src] with a welder.", LOG_GAME) to_chat(user, span_notice("You begin cutting [src] apart...")) if(I.use_tool(src, user, 3 SECONDS, volume=50)) to_chat(user, span_notice("You cut [src] apart.")) diff --git a/code/modules/cargo/markets/market_item.dm b/code/modules/cargo/markets/market_item.dm index 269cf89d6e1..867facf015b 100644 --- a/code/modules/cargo/markets/market_item.dm +++ b/code/modules/cargo/markets/market_item.dm @@ -53,7 +53,7 @@ // SSblackmarket takes care of the shipping. if(SSblackmarket.queue_item(purchase)) stock-- - log_game("[key_name(buyer)] has succesfully purchased [name] using [shipping_method] for shipping.") + buyer.log_message("has succesfully purchased [name] using [shipping_method] for shipping.", LOG_ECON) return TRUE return FALSE diff --git a/code/modules/cargo/orderconsole.dm b/code/modules/cargo/orderconsole.dm index 1987d3ce9e6..26be607049a 100644 --- a/code/modules/cargo/orderconsole.dm +++ b/code/modules/cargo/orderconsole.dm @@ -200,7 +200,7 @@ SSshuttle.shuttle_loan.loan_shuttle() say("The supply shuttle has been loaned to CentCom.") investigate_log("[key_name(usr)] accepted a shuttle loan event.", INVESTIGATE_CARGO) - log_game("[key_name(usr)] accepted a shuttle loan event.") + usr.log_message("accepted a shuttle loan event.", LOG_GAME) . = TRUE if("add") if(is_express) diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 5abb4ba7595..d0a682fc7cc 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -1954,9 +1954,10 @@ fourfiveeight.update_appearance() qdel(P) anomalous_box_provided = TRUE - log_game("An anomalous pizza box was provided in a pizza crate at during cargo delivery") + log_game("An anomalous pizza box was provided in a pizza crate at during cargo delivery.") if(prob(50)) addtimer(CALLBACK(src, .proc/anomalous_pizza_report), rand(300, 1800)) + message_admins("An anomalous pizza box was provided in a pizza crate at during cargo delivery.") else message_admins("An anomalous pizza box was silently created with no command report in a pizza crate delivery.") continue @@ -1974,8 +1975,8 @@ new boombox_type(C) qdel(P) boombox_provided = TRUE - log_game("A bomb pizza box was created by a pizza crate delivery.") - message_admins("A bomb pizza box has arrived in a pizza crate delivery.") + log_game("A pizza box bomb was created by a pizza crate delivery.") + message_admins("A pizza box bomb has arrived in a pizza crate delivery.") continue //here we randomly replace our pizzas for a chance at the full range diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index b72e8c08c1c..e5b9acd5ab0 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -219,7 +219,7 @@ if(!(obj_flags & EMAGGED)) obj_flags |= EMAGGED user.visible_message(span_warning("You emag [src], overwriting thermal regulator restrictions.")) - log_game("[key_name(user)] emagged [src] at [AREACOORD(src)], overwriting thermal regulator restrictions.") + user.log_message("emagged [src] at [AREACOORD(src)], overwriting thermal regulator restrictions.", LOG_GAME) playsound(src, SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) // update the HUD icon diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 30addddc00f..bc71c832079 100755 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -169,7 +169,7 @@ GLOB.commendations += "[user.real_name] awarded [M.real_name] the [name]! \n- [input]" commended = TRUE desc += "
The inscription reads: [input] - [user.real_name]" - log_game("[key_name(M)] was given the following commendation by [key_name(user)]: [input]") + M.log_message("was given the following commendation by [key_name(user)]: [input]", LOG_GAME, color = "green") message_admins("[key_name_admin(M)] was given the following commendation by [key_name_admin(user)]: [input]") add_memory_in_range(M, 7, MEMORY_RECEIVED_MEDAL, list(DETAIL_PROTAGONIST = M, DETAIL_MEDAL_TYPE = src, DETAIL_DEUTERAGONIST = user, DETAIL_MEDAL_REASON = input), STORY_VALUE_AMAZING) diff --git a/code/modules/events/_event.dm b/code/modules/events/_event.dm index b9582cf4456..7f39c3bebdf 100644 --- a/code/modules/events/_event.dm +++ b/code/modules/events/_event.dm @@ -121,7 +121,7 @@ Runs the event triggering = TRUE if (alert_observers && !admin_forced) - message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name] (CANCEL)") + message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name] (CANCEL).") sleep(RANDOM_EVENT_ADMIN_INTERVENTION_TIME) if(!triggering) @@ -131,10 +131,10 @@ Runs the event triggering = FALSE if(random) - log_game("Random Event triggering: [name] ([typepath])") + log_game("Random Event triggering: [name] ([typepath]).") if(alert_observers) - deadchat_broadcast(" has just been[random ? " randomly" : ""] triggered!", "[name]", message_type=DEADCHAT_ANNOUNCEMENT) //STOP ASSUMING IT'S BADMINS! + deadchat_broadcast(" has just been[random ? " randomly" : ""] triggered!", "[name].", message_type=DEADCHAT_ANNOUNCEMENT) //STOP ASSUMING IT'S BADMINS! SSblackbox.record_feedback("tally", "event_ran", 1, "[E]") return E diff --git a/code/modules/events/abductor.dm b/code/modules/events/abductor.dm index 8a2ccd0bc51..8e638d81c45 100755 --- a/code/modules/events/abductor.dm +++ b/code/modules/events/abductor.dm @@ -26,8 +26,8 @@ if(T.team_number > ABDUCTOR_MAX_TEAMS) return MAP_ERROR - log_game("[key_name(scientist)] has been selected as [T.name] abductor scientist.") - log_game("[key_name(agent)] has been selected as [T.name] abductor agent.") + scientist.log_message("has been selected as [T.name] abductor scientist.", LOG_GAME) + agent.log_message("has been selected as [T.name] abductor agent.", LOG_GAME) scientist.mind.add_antag_datum(/datum/antagonist/abductor/scientist, T) agent.mind.add_antag_datum(/datum/antagonist/abductor/agent, T) diff --git a/code/modules/events/alien_infestation.dm b/code/modules/events/alien_infestation.dm index 81469588055..65b0c7b28b7 100644 --- a/code/modules/events/alien_infestation.dm +++ b/code/modules/events/alien_infestation.dm @@ -76,7 +76,7 @@ spawncount-- message_admins("[ADMIN_LOOKUPFLW(new_xeno)] has been made into an alien by an event.") - log_game("[key_name(new_xeno)] was spawned as an alien by an event.") + new_xeno.log_message("was spawned as an alien by an event.", LOG_GAME) spawned_mobs += new_xeno return SUCCESSFUL_SPAWN diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm index 0b805926563..57f12f41415 100644 --- a/code/modules/events/blob.dm +++ b/code/modules/events/blob.dm @@ -34,5 +34,5 @@ var/mob/camera/blob/BC = new_blob.become_overmind() spawned_mobs += BC message_admins("[ADMIN_LOOKUPFLW(BC)] has been made into a blob overmind by an event.") - log_game("[key_name(BC)] was spawned as a blob overmind by an event.") + BC.log_message("was spawned as a blob overmind by an event.", LOG_GAME) return SUCCESSFUL_SPAWN diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index 56798f2a919..77f65781bb0 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -73,5 +73,5 @@ for(var/datum/symptom/S in A.symptoms) name_symptoms += S.name message_admins("An event has triggered a random advanced virus outbreak on [ADMIN_LOOKUPFLW(H)]! It has these symptoms: [english_list(name_symptoms)]") - log_game("An event has triggered a random advanced virus outbreak on [key_name(H)]! It has these symptoms: [english_list(name_symptoms)]") + log_game("An event has triggered a random advanced virus outbreak on [key_name(H)]! It has these symptoms: [english_list(name_symptoms)].") break diff --git a/code/modules/events/fugitive_spawning.dm b/code/modules/events/fugitive_spawning.dm index f300f825596..2d6a5657d06 100644 --- a/code/modules/events/fugitive_spawning.dm +++ b/code/modules/events/fugitive_spawning.dm @@ -83,7 +83,7 @@ if("synth") S.equipOutfit(/datum/outfit/synthetic) message_admins("[ADMIN_LOOKUPFLW(S)] has been made into a Fugitive by an event.") - log_game("[key_name(S)] was spawned as a Fugitive by an event.") + S.log_message("was spawned as a Fugitive by an event.", LOG_GAME) spawned_mobs += S return S diff --git a/code/modules/events/nightmare.dm b/code/modules/events/nightmare.dm index 2c65a6b76c9..bd540ff7bfd 100644 --- a/code/modules/events/nightmare.dm +++ b/code/modules/events/nightmare.dm @@ -41,6 +41,6 @@ S.set_species(/datum/species/shadow/nightmare) playsound(S, 'sound/magic/ethereal_exit.ogg', 50, TRUE, -1) message_admins("[ADMIN_LOOKUPFLW(S)] has been made into a Nightmare by an event.") - log_game("[key_name(S)] was spawned as a Nightmare by an event.") + S.log_message("was spawned as a Nightmare by an event.", LOG_GAME) spawned_mobs += S return SUCCESSFUL_SPAWN diff --git a/code/modules/events/operative.dm b/code/modules/events/operative.dm index bb3a5b8df1f..f6b9b24ab05 100644 --- a/code/modules/events/operative.dm +++ b/code/modules/events/operative.dm @@ -35,6 +35,6 @@ Mind.add_antag_datum(/datum/antagonist/nukeop/lone) message_admins("[ADMIN_LOOKUPFLW(operative)] has been made into lone operative by an event.") - log_game("[key_name(operative)] was spawned as a lone operative by an event.") + operative.log_message("was spawned as a lone operative by an event.", LOG_GAME) spawned_mobs += operative return SUCCESSFUL_SPAWN diff --git a/code/modules/events/space_dragon.dm b/code/modules/events/space_dragon.dm index f26d36e9645..ec1ead3a6fb 100644 --- a/code/modules/events/space_dragon.dm +++ b/code/modules/events/space_dragon.dm @@ -41,6 +41,6 @@ dragon.mind.add_antag_datum(/datum/antagonist/space_dragon) playsound(dragon, 'sound/magic/ethereal_exit.ogg', 50, TRUE, -1) message_admins("[ADMIN_LOOKUPFLW(dragon)] has been made into a Space Dragon by an event.") - log_game("[key_name(dragon)] was spawned as a Space Dragon by an event.") + dragon.log_message("was spawned as a Space Dragon by an event.", LOG_GAME) spawned_mobs += dragon return SUCCESSFUL_SPAWN diff --git a/code/modules/events/space_ninja.dm b/code/modules/events/space_ninja.dm index ab4aef5bafa..aeb0fe18b74 100644 --- a/code/modules/events/space_ninja.dm +++ b/code/modules/events/space_ninja.dm @@ -38,7 +38,7 @@ ninja.mind.add_antag_datum(/datum/antagonist/ninja) spawned_mobs += ninja message_admins("[ADMIN_LOOKUPFLW(ninja)] has been made into a space ninja by an event.") - log_game("[key_name(ninja)] was spawned as a ninja by an event.") + ninja.log_message("was spawned as a ninja by an event.", LOG_GAME) return SUCCESSFUL_SPAWN diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm index 6b1284ba5d1..bf860b7a525 100644 --- a/code/modules/holodeck/computer.dm +++ b/code/modules/holodeck/computer.dm @@ -185,7 +185,7 @@ GLOBAL_LIST_INIT(typecache_holodeck_linked_floorcheck_ok, typecacheof(list(/turf nerf(obj_flags & EMAGGED,FALSE) obj_flags ^= EMAGGED say("Safeties reset. Restarting...") - log_game("[key_name(usr)] disabled Holodeck safeties.") + usr.log_message("disabled Holodeck safeties.", LOG_GAME) ///this is what makes the holodeck not spawn anything on broken tiles (space and non engine plating / non holofloors) /datum/map_template/holodeck/update_blacklist(turf/placement, list/input_blacklist) @@ -226,7 +226,7 @@ GLOBAL_LIST_INIT(typecache_holodeck_linked_floorcheck_ok, typecacheof(list(/turf template.load(bottom_left) //this is what actually loads the holodeck simulation into the map if(template.restricted) - log_game("[key_name(usr)] loaded a restricted Holodeck program: [program].") + usr.log_message("loaded a restricted Holodeck program: [program].", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(usr)] loaded a restricted Holodeck program: [program].") spawned = template.created_atoms //populate the spawned list with the atoms belonging to the holodeck @@ -412,7 +412,8 @@ GLOBAL_LIST_INIT(typecache_holodeck_linked_floorcheck_ok, typecacheof(list(/turf obj_flags |= EMAGGED to_chat(user, span_warning("You vastly increase projector power and override the safety and security protocols.")) say("Warning. Automatic shutoff and derezzing protocols have been corrupted. Please call Nanotrasen maintenance and do not use the simulator.") - log_game("[key_name(user)] emagged the Holodeck Control Console") + user.log_message("emagged the Holodeck Control Console.", LOG_GAME) + message_admins("[ADMIN_LOOKUPFLW(user)] emagged the Holodeck Control Console.") nerf(!(obj_flags & EMAGGED),FALSE) /obj/machinery/computer/holodeck/emp_act(severity) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index aa27c4c9a17..14b6c72575c 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -798,8 +798,8 @@ */ /obj/machinery/hydroponics/proc/mutatepest(mob/user) if(pestlevel > 5) - message_admins("[ADMIN_LOOKUPFLW(user)] last altered a hydro tray's contents which spawned spiderlings") - log_game("[key_name(user)] last altered a hydro tray, which spiderlings spawned from.") + message_admins("[ADMIN_LOOKUPFLW(user)] last altered a hydro tray's contents which spawned spiderlings.") + user.log_message("last altered a hydro tray, which spiderlings spawned from.") visible_message(span_warning("The pests seem to behave oddly...")) spawn_atom_to_turf(/obj/structure/spider/spiderling/hunter, src, 3, FALSE) else if(myseed) diff --git a/code/modules/hydroponics/unique_plant_genes.dm b/code/modules/hydroponics/unique_plant_genes.dm index 7370e86f50a..6e895ce9425 100644 --- a/code/modules/hydroponics/unique_plant_genes.dm +++ b/code/modules/hydroponics/unique_plant_genes.dm @@ -127,7 +127,8 @@ target.adjust_fire_stacks(round(our_seed.potency / 20)) if(target.ignite_mob()) message_admins("[ADMIN_LOOKUPFLW(user)] set [ADMIN_LOOKUPFLW(target)] on fire with [our_plant] at [AREACOORD(user)]") - log_game("[key_name(user)] set [key_name(target)] on fire with [our_plant] at [AREACOORD(user)]") + user.log_message("set [key_name(target)] on fire with [our_plant] at [AREACOORD(user)].", LOG_ATTACK) + target.log_message("was set on fire by [key_name(user)] with [our_plant].", LOG_VICTIM, log_globally = FALSE) our_plant.investigate_log("was used by [key_name(user)] to burn [key_name(target)] at [AREACOORD(user)]", INVESTIGATE_BOTANY) /// Sunflower's attack effect (shows cute text) diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 91380368afd..aa4615650f6 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -607,7 +607,7 @@ if(!book.content) say("No content detected. Aborting") return - var/msg = "[key_name(usr)] has uploaded the book titled [book.title], [length(book.content)] signs" + var/msg = "has uploaded the book titled [book.title], [length(book.content)] signs" var/datum/db_query/query_library_upload = SSdbcore.NewQuery({" INSERT INTO [format_table_name("library")] (author, title, content, category, ckey, datetime, round_id_created) VALUES (:author, :title, :content, :category, :ckey, Now(), :round_id) @@ -616,7 +616,7 @@ qdel(query_library_upload) say("Database error encountered uploading to Archive") return - log_game(msg) + usr.log_message(msg, LOG_GAME) qdel(query_library_upload) say("Upload Complete. Uploaded title will be available for printing in a moment") ignore_hash = TRUE diff --git a/code/modules/mapfluff/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/mapfluff/ruins/objects_and_mobs/necropolis_gate.dm index 1c6a8fb98e6..5d4aeaec40a 100644 --- a/code/modules/mapfluff/ruins/objects_and_mobs/necropolis_gate.dm +++ b/code/modules/mapfluff/ruins/objects_and_mobs/necropolis_gate.dm @@ -181,7 +181,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) log_game("Legion took damage while the necropolis gate was closed and released itself.") else message_admins("[user ? ADMIN_LOOKUPFLW(user):"Unknown"] has released Legion!") - log_game("[user ? key_name(user) : "Unknown"] released Legion.") + user.log_message("released Legion.", LOG_GAME) var/sound/legion_sound = sound('sound/creatures/legion_spawn.ogg') for(var/mob/M in GLOB.player_list) diff --git a/code/modules/mining/equipment/lazarus_injector.dm b/code/modules/mining/equipment/lazarus_injector.dm index 3f0a92662f7..033a5829ddb 100644 --- a/code/modules/mining/equipment/lazarus_injector.dm +++ b/code/modules/mining/equipment/lazarus_injector.dm @@ -50,7 +50,7 @@ target_hostile.robust_searching = TRUE target_hostile.friends += user target_hostile.attack_same = TRUE - log_game("[key_name(user)] has revived hostile mob [key_name(target)] with a malfunctioning lazarus injector") + user.log_message("has revived hostile mob [key_name(target)] with a malfunctioning lazarus injector.", LOG_GAME) else target_hostile.attack_same = FALSE loaded = FALSE diff --git a/code/modules/mining/lavaland/megafauna_loot.dm b/code/modules/mining/lavaland/megafauna_loot.dm index 4da9233b681..ba95e8b0e39 100644 --- a/code/modules/mining/lavaland/megafauna_loot.dm +++ b/code/modules/mining/lavaland/megafauna_loot.dm @@ -176,7 +176,7 @@ user.update_action_buttons_icon() beacon.icon_state = "hierophant_tele_off" return - user.log_message("teleported self from [AREACOORD(source)] to [beacon]", LOG_GAME) + user.log_message("teleported self from [AREACOORD(source)] to [beacon].", LOG_GAME) new /obj/effect/temp_visual/hierophant/telegraph/teleport(T, user) new /obj/effect/temp_visual/hierophant/telegraph/teleport(source, user) for(var/t in RANGE_TURFS(1, T)) @@ -775,7 +775,7 @@ if(T.TerraformTurf(turf_type, flags = CHANGETURF_INHERIT_AIR)) user.visible_message(span_danger("[user] turns \the [old_name] into [transform_string]!")) message_admins("[ADMIN_LOOKUPFLW(user)] fired the lava staff at [ADMIN_VERBOSEJMP(T)]") - log_game("[key_name(user)] fired the lava staff at [AREACOORD(T)].") + user.log_message("fired the lava staff at [AREACOORD(T)].", LOG_ATTACK) timer = world.time + create_cooldown playsound(T,'sound/magic/fireball.ogg', 200, TRUE) else @@ -982,7 +982,7 @@ user.transform *= 1.2 animate(user, color = old_color, transform = old_transform, time = 1 SECONDS) affected_weather.wind_down() - log_game("[user] ([key_name(user)]) has dispelled a storm at [AREACOORD(user_turf)]") + user.log_message("has dispelled a storm at [AREACOORD(user_turf)].", LOG_GAME) /obj/item/storm_staff/afterattack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() @@ -1014,7 +1014,7 @@ addtimer(CALLBACK(src, .proc/throw_thunderbolt, target_turf, power_boosted), 1.5 SECONDS) thunder_charges-- addtimer(CALLBACK(src, .proc/recharge), thunder_charge_time) - log_game("[key_name(user)] fired the staff of storms at [AREACOORD(target_turf)].") + user.log_message("fired the staff of storms at [AREACOORD(target_turf)].", LOG_ATTACK) /obj/item/storm_staff/proc/recharge(mob/user) thunder_charges = min(thunder_charges + 1, max_thunder_charges) diff --git a/code/modules/mob/dead/new_player/poll.dm b/code/modules/mob/dead/new_player/poll.dm index c1cc72da248..9be971204c1 100644 --- a/code/modules/mob/dead/new_player/poll.dm +++ b/code/modules/mob/dead/new_player/poll.dm @@ -325,10 +325,10 @@ GLOBAL_PROTECT(poll_options) if(!poll || !href_list) return if(IsAdminAdvancedProcCall()) - log_game("[key_name(usr)] attempted to rig the vote by voting as [key]") - message_admins("[key_name_admin(usr)] attempted to rig the vote by voting as [key]") + usr.log_message("attempted to rig the vote by voting as [key].", LOG_ADMIN) + message_admins("[key_name_admin(usr)] attempted to rig the vote by voting as [key].") to_chat(usr, span_danger("You don't seem to be [key].")) - to_chat(src, span_danger("Something went horribly wrong processing your vote. Please contact an administrator, they should have gotten a message about this")) + to_chat(src, span_danger("Something went horribly wrong processing your vote. Please contact an administrator, they should have gotten a message about this.")) return var/admin_rank if(client.holder) diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm index 61415d2a9d3..bb6958fc9b6 100644 --- a/code/modules/mob/living/brain/MMI.dm +++ b/code/modules/mob/living/brain/MMI.dm @@ -107,7 +107,7 @@ SSblackbox.record_feedback("amount", "mmis_filled", 1) - log_game("[key_name(user)] has put the brain of [key_name(brainmob)] into an MMI at [AREACOORD(src)]") + user.log_message("has put the brain of [key_name(brainmob)] into an MMI at [AREACOORD(src)].", LOG_GAME) else if(brainmob) O.attack(brainmob, user) //Oh noooeeeee @@ -132,7 +132,7 @@ brainmob.emp_damage = 0 brainmob.reset_perspective() //so the brainmob follows the brain organ instead of the mmi. And to update our vision brain.brainmob = brainmob //Set the brain to use the brainmob - log_game("[key_name(user)] has ejected the brain of [key_name(brainmob)] from an MMI at [AREACOORD(src)]") + user.log_message("has ejected the brain of [key_name(brainmob)] from an MMI at [AREACOORD(src)].", LOG_GAME) brainmob = null //Set mmi brainmob var to null brain.forceMove(drop_location()) if(Adjacent(user)) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 535be8eeae0..0ae0a6a2e71 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -205,7 +205,8 @@ if((!LC || IS_ORGANIC_LIMB(LC)) && !target.getorgan(/obj/item/organ/internal/body_egg/alien_embryo)) new /obj/item/organ/internal/body_egg/alien_embryo(target) var/turf/T = get_turf(target) - log_game("[key_name(target)] was impregnated by a facehugger at [loc_name(T)]") + target.log_message("was impregnated by a facehugger at [loc_name(T)].", LOG_GAME) + target.log_message("was impregnated by a facehugger at [loc_name(T)].", LOG_VICTIM, log_globally = FALSE) else target.visible_message(span_danger("[src] violates [target]'s face!"), \ diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index cc4aa251ecf..7463c6b8253 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -974,7 +974,7 @@ GLOBAL_LIST_EMPTY(features_by_species) if(!chem.overdosed && chem.overdose_threshold && chem.volume >= chem.overdose_threshold) chem.overdosed = TRUE chem.overdose_start(H) - log_game("[key_name(H)] has started overdosing on [chem.name] at [chem.volume] units.") + H.log_message("has started overdosing on [chem.name] at [chem.volume] units.", LOG_GAME) /datum/species/proc/check_species_weakness(obj/item, mob/living/attacker) return 1 //This is not a boolean, it's the multiplier for the damage that the user takes from the item. The force of the item is multiplied by this value diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index c40fa5b8b56..6cae3e1d7bb 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -21,7 +21,7 @@ var/msg = "[ADMIN_LOOKUPFLW(src)] was found to have no .loc with an attached client, if the cause is unknown it would be wise to ask how this was accomplished." message_admins(msg) send2tgs_adminless_only("Mob", msg, R_ADMIN) - log_game("[key_name(src)] was found to have no .loc with an attached client.") + src.log_message("was found to have no .loc with an attached client.", LOG_GAME) // This is a temporary error tracker to make sure we've caught everything else if (registered_z != T.z) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 908486f4813..2ee4cddc392 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1358,7 +1358,7 @@ // Called when we are hit by a bolt of polymorph and changed // Generally the mob we are currently in is about to be deleted /mob/living/proc/wabbajack_act(mob/living/new_mob) - log_game("[key_name(src)] is being wabbajack polymorphed into: [new_mob.name]([new_mob.type]).") + log_message("was wabbajack polymorphed into: [new_mob.name]([new_mob.type]).", LOG_GAME) new_mob.name = real_name new_mob.real_name = real_name @@ -1490,7 +1490,7 @@ GLOBAL_LIST_EMPTY(fire_appearances) adjust_fire_stacks(-fire_stacks / 2, fire_status.type) spread_to.adjust_fire_stacks(fire_stacks, fire_status.type) if(spread_to.ignite_mob()) - log_game("[key_name(src)] bumped into [key_name(spread_to)] and set them on fire") + log_message("bumped into [key_name(spread_to)] and set them on fire.", LOG_ATTACK) return if(!their_fire_status || !their_fire_status.on_fire) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 15d973a5cab..88703333a0a 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -506,7 +506,7 @@ break if(!can_dominate_mechs && !mech_has_controlbeacon) message_admins("Warning: possible href exploit by [key_name(usr)] - attempted control of a mecha without can_dominate_mechs or a control beacon in the mech.") - log_game("Warning: possible href exploit by [key_name(usr)] - attempted control of a mecha without can_dominate_mechs or a control beacon in the mech.") + usr.log_message("possibly attempting href exploit - attempted control of a mecha without can_dominate_mechs or a control beacon in the mech.", LOG_ADMIN) return if(controlled_equipment) diff --git a/code/modules/mob/living/silicon/ai/ai_say.dm b/code/modules/mob/living/silicon/ai/ai_say.dm index 72484efb2bb..118fe88e4ff 100644 --- a/code/modules/mob/living/silicon/ai/ai_say.dm +++ b/code/modules/mob/living/silicon/ai/ai_say.dm @@ -121,7 +121,7 @@ announcing_vox = world.time + VOX_DELAY - log_game("[key_name(src)] made a vocal announcement with the following message: [message].") + log_message("made a vocal announcement with the following message: [message].", LOG_GAME) log_talk(message, LOG_SAY, tag="VOX Announcement") say(";[message]", forced = "VOX Announcement") diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index ac3d08a4847..38a55948af3 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -376,7 +376,9 @@ /mob/living/silicon/robot/proc/self_destruct(mob/usr) var/turf/groundzero = get_turf(src) message_admins(span_notice("[ADMIN_LOOKUPFLW(usr)] detonated [key_name_admin(src, client)] at [ADMIN_VERBOSEJMP(groundzero)]!")) - log_game("[key_name(usr)] detonated [key_name(src)]!") + usr.log_message("detonated [key_name(src)]!", LOG_ATTACK) + log_message("was detonated by [key_name(usr)]!", LOG_ATTACK, log_globally = FALSE) + log_combat(usr, src, "detonated cyborg") log_silicon("CYBORG: [key_name(src)] has been detonated by [key_name(usr)].") if(connected_ai) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 1323b7b66dc..02541722a8b 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -907,14 +907,14 @@ Pass a positive integer as an argument to override a bot's default speed. bot_cover_flags |= (BOT_COVER_EMAGGED|BOT_COVER_HACKED|BOT_COVER_LOCKED) to_chat(usr, span_warning("You overload [src]'s [hackables].")) message_admins("Safety lock of [ADMIN_LOOKUPFLW(src)] was disabled by [ADMIN_LOOKUPFLW(usr)] in [ADMIN_VERBOSEJMP(src)]") - log_game("Safety lock of [src] was disabled by [key_name(usr)] in [AREACOORD(src)]") + usr.log_message("disabled safety lock of [src] in [AREACOORD(src)].", LOG_GAME) bot_reset() else if(!(bot_cover_flags & BOT_COVER_HACKED)) to_chat(usr, span_boldannounce("You fail to repair [src]'s [hackables].")) else bot_cover_flags &= ~(BOT_COVER_EMAGGED|BOT_COVER_HACKED) to_chat(usr, span_notice("You reset the [src]'s [hackables].")) - log_game("Safety lock of [src] was re-enabled by [key_name(usr)] in [AREACOORD(src)]") + usr.log_message("re-enabled safety lock of [src] in [AREACOORD(src)].", LOG_GAME) bot_reset() if("eject_pai") if(paicard) diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 93a2b8a4377..3fe3e4ab2ee 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -608,7 +608,8 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians G.mind.enslave_mind_to_creator(user) G.copy_languages(user, LANGUAGE_MASTER) // make sure holoparasites speak same language as master G.update_atom_languages() - log_game("[key_name(user)] has summoned [key_name(G)], a [guardiantype] holoparasite.") + user.log_message("has summoned [key_name(G)], a [guardiantype] holoparasite.", LOG_GAME) + G.log_message("was summoned as a [guardiantype] holoparsite.", LOG_GAME) switch(theme) if("tech") to_chat(user, "[G.tech_fluff_string]") diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 4a8bd58ddea..a01f46de805 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -530,7 +530,7 @@ return FALSE message_admins("[ADMIN_LOOKUPFLW(owner)] set its directive to: '[spider.directive]'.") - log_game("[key_name(owner)] set its directive to: '[spider.directive]'.") + owner.log_message("set its directive to: '[spider.directive]'.", LOG_GAME) return TRUE /datum/action/innate/spider/comm diff --git a/code/modules/mob/living/simple_animal/hostile/regalrat.dm b/code/modules/mob/living/simple_animal/hostile/regalrat.dm index f2134a50270..de39271e269 100644 --- a/code/modules/mob/living/simple_animal/hostile/regalrat.dm +++ b/code/modules/mob/living/simple_animal/hostile/regalrat.dm @@ -81,7 +81,7 @@ to_chat(user, span_warning("Someone else already took the rat!")) return key = user.key - log_game("[key_name(src)] took control of [name].") + src.log_message("took control of [name].", LOG_GAME) /mob/living/simple_animal/hostile/regalrat/handle_automated_action() if(prob(20)) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 125f67ac03d..5f64eb862b3 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -745,22 +745,22 @@ to_chat(usr, span_boldnotice("You must be dead to use this!")) return - log_game("[key_name(usr)] used the respawn button.") + usr.log_message("used the respawn button.", LOG_GAME) to_chat(usr, span_boldnotice("Please roleplay correctly!")) if(!client) - log_game("[key_name(usr)] respawn failed due to disconnect.") + usr.log_message("respawn failed due to disconnect.", LOG_GAME) return client.screen.Cut() client.screen += client.void if(!client) - log_game("[key_name(usr)] respawn failed due to disconnect.") + usr.log_message("respawn failed due to disconnect.", LOG_GAME) return var/mob/dead/new_player/M = new /mob/dead/new_player() if(!client) - log_game("[key_name(usr)] respawn failed due to disconnect.") + usr.log_message("respawn failed due to disconnect.", LOG_GAME) qdel(M) return diff --git a/code/modules/mob_spawn/ghost_roles/fugitive_hunter_roles.dm b/code/modules/mob_spawn/ghost_roles/fugitive_hunter_roles.dm index cc589a98030..6022a747909 100644 --- a/code/modules/mob_spawn/ghost_roles/fugitive_hunter_roles.dm +++ b/code/modules/mob_spawn/ghost_roles/fugitive_hunter_roles.dm @@ -18,7 +18,7 @@ spawned_human.mind.add_antag_datum(fughunter) fughunter.greet() message_admins("[ADMIN_LOOKUPFLW(spawned_human)] has been made into a Fugitive Hunter by an event.") - log_game("[key_name(spawned_human)] was spawned as a Fugitive Hunter by an event.") + spawned_human.log_message("was spawned as a Fugitive Hunter by an event.", LOG_GAME) /obj/effect/mob_spawn/ghost_role/human/fugitive/spacepol name = "police pod" diff --git a/code/modules/mob_spawn/ghost_roles/golem_roles.dm b/code/modules/mob_spawn/ghost_roles/golem_roles.dm index 6e827f309a8..64d0280558e 100644 --- a/code/modules/mob_spawn/ghost_roles/golem_roles.dm +++ b/code/modules/mob_spawn/ghost_roles/golem_roles.dm @@ -55,7 +55,7 @@ try_keep_home(new_spawn) else new_spawn.mind.enslave_mind_to_creator(owner) - log_game("[key_name(new_spawn)] possessed a golem shell enslaved to [key_name(owner)].") + new_spawn.log_message("possessed a golem shell enslaved to [key_name(owner)].", LOG_GAME) log_admin("[key_name(new_spawn)] possessed a golem shell enslaved to [key_name(owner)].") if(ishuman(new_spawn)) var/mob/living/carbon/human/H = new_spawn @@ -85,7 +85,7 @@ return if(QDELETED(src) || uses <= 0) return - log_game("[key_name(H)] golem-swapped into [src]") + H.log_message("golem-swapped into [src].", LOG_GAME) H.visible_message(span_notice("A faint light leaves [H], moving to [src] and animating it!"),span_notice("You leave your old body behind, and transfer into [src]!")) show_flavor = FALSE var/mob/living/carbon/human/newgolem = create(newname = H.real_name) diff --git a/code/modules/mob_spawn/mob_spawn.dm b/code/modules/mob_spawn/mob_spawn.dm index 2348bef2a1f..f3ffdf4c1d4 100644 --- a/code/modules/mob_spawn/mob_spawn.dm +++ b/code/modules/mob_spawn/mob_spawn.dm @@ -162,7 +162,7 @@ return if(QDELETED(src) || QDELETED(user)) return - log_game("[key_name(user)] became a [prompt_name]") + user.log_message("became a [prompt_name].", LOG_GAME) create(user) /obj/effect/mob_spawn/ghost_role/special(mob/living/spawned_mob, mob/mob_possessor) diff --git a/code/modules/modular_computers/file_system/programs/budgetordering.dm b/code/modules/modular_computers/file_system/programs/budgetordering.dm index 017bbaa99aa..118c4bacf7f 100644 --- a/code/modules/modular_computers/file_system/programs/budgetordering.dm +++ b/code/modules/modular_computers/file_system/programs/budgetordering.dm @@ -187,7 +187,7 @@ SSshuttle.shuttle_loan.loan_shuttle() computer.say("The supply shuttle has been loaned to CentCom.") computer.investigate_log("[key_name(usr)] accepted a shuttle loan event.", INVESTIGATE_CARGO) - log_game("[key_name(usr)] accepted a shuttle loan event.") + usr.log_message("accepted a shuttle loan event.", LOG_GAME) . = TRUE if("add") var/id = text2path(params["id"]) diff --git a/code/modules/power/apc/apc_power_proc.dm b/code/modules/power/apc/apc_power_proc.dm index 0271640bf03..bdf77697533 100644 --- a/code/modules/power/apc/apc_power_proc.dm +++ b/code/modules/power/apc/apc_power_proc.dm @@ -39,7 +39,7 @@ return operating = !operating add_hiddenprint(user) - log_game("[key_name(user)] turned [operating ? "on" : "off"] the [src] in [AREACOORD(src)]") + user.log_message("turned [operating ? "on" : "off"] the [src] in [AREACOORD(src)].", LOG_GAME) update() update_appearance() diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index b2ad3beaeb7..a8ad745d7aa 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -178,7 +178,8 @@ return message_admins("[ADMIN_LOOKUPFLW(usr)] has triggered a rigged/corrupted power cell explosion at [AREACOORD(T)].") - log_game("[key_name(usr)] has triggered a rigged/corrupted power cell explosion at [AREACOORD(T)].") + usr.log_message("has triggered a rigged/corrupted power cell explosion at [AREACOORD(T)].", LOG_GAME) + usr.log_message("has triggered a rigged/corrupted power cell explosion at [AREACOORD(T)].", LOG_VICTIM) //explosion(T, 0, 1, 2, 2) explosion(src, devastation_range = range_devastation, heavy_impact_range = range_heavy, light_impact_range = range_light, flash_range = range_flash) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 8503777331f..734a95d640c 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -124,9 +124,9 @@ /obj/machinery/power/emitter/Destroy() if(SSticker.IsRoundInProgress()) var/turf/T = get_turf(src) - message_admins("[src] deleted at [ADMIN_VERBOSEJMP(T)]") - log_game("[src] deleted at [AREACOORD(T)]") - investigate_log("deleted at [AREACOORD(T)]", INVESTIGATE_ENGINE) + message_admins("[src] deleted at [ADMIN_VERBOSEJMP(T)].") + log_game("[src] deleted at [AREACOORD(T)].") + investigate_log("deleted at [AREACOORD(T)].", INVESTIGATE_ENGINE) QDEL_NULL(sparks) return ..() diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 51e5761a2bd..7e2e5abeaa5 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -151,9 +151,9 @@ //crowbarring it ! var/turf/T = get_turf(src) if(default_deconstruction_crowbar(I)) - message_admins("[src] has been deconstructed by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)]") - log_game("[src] has been deconstructed by [key_name(user)] at [AREACOORD(src)]") - investigate_log("deconstructed by [key_name(user)] at [AREACOORD(src)]", INVESTIGATE_ENGINE) + message_admins("[src] has been deconstructed by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)].") + user.log_message("deconstructed [src] at [AREACOORD(src)].", LOG_GAME) + investigate_log("deconstructed by [key_name(user)] at [AREACOORD(src)].", INVESTIGATE_ENGINE) return else if(panel_open && I.tool_behaviour == TOOL_CROWBAR) return diff --git a/code/modules/power/supermatter/supermatter_hit_procs.dm b/code/modules/power/supermatter/supermatter_hit_procs.dm index ce1d657aab7..a00c60e9fca 100644 --- a/code/modules/power/supermatter/supermatter_hit_procs.dm +++ b/code/modules/power/supermatter/supermatter_hit_procs.dm @@ -98,8 +98,8 @@ to_chat(user, span_warning("You begin to attach \the [destabilizing_crystal] to \the [src]...")) if(do_after(user, 3 SECONDS, src)) - message_admins("[ADMIN_LOOKUPFLW(user)] attached [destabilizing_crystal] to the supermatter at [ADMIN_VERBOSEJMP(src)]") - log_game("[key_name(user)] attached [destabilizing_crystal] to the supermatter at [AREACOORD(src)]") + message_admins("[ADMIN_LOOKUPFLW(user)] attached [destabilizing_crystal] to the supermatter at [ADMIN_VERBOSEJMP(src)].") + user.log_message("attached [destabilizing_crystal] to the supermatter at [AREACOORD(src)].", LOG_GAME) investigate_log("[key_name(user)] attached [destabilizing_crystal] to a supermatter crystal.", INVESTIGATE_ENGINE) to_chat(user, span_danger("\The [destabilizing_crystal] snaps onto \the [src].")) set_delam(SM_DELAM_PRIO_IN_GAME, /datum/sm_delam/cascade) diff --git a/code/modules/projectiles/guns/special/blastcannon.dm b/code/modules/projectiles/guns/special/blastcannon.dm index 3596105c4d3..b3fb22206b0 100644 --- a/code/modules/projectiles/guns/special/blastcannon.dm +++ b/code/modules/projectiles/guns/special/blastcannon.dm @@ -136,7 +136,7 @@ var/turf/current_turf = get_turf(src) var/turf/target_turf = get_turf(target) message_admins("Blastcannon transfer valve opened by [ADMIN_LOOKUPFLW(user)] at [ADMIN_VERBOSEJMP(current_turf)] while aiming at [ADMIN_VERBOSEJMP(target_turf)] (target).") - log_game("Blastcannon transfer valve opened by [key_name(user)] at [AREACOORD(current_turf)] while aiming at [AREACOORD(target_turf)] (target).") + user.log_message("opened blastcannon transfer valve at [AREACOORD(current_turf)] while aiming at [AREACOORD(target_turf)] (target).", LOG_GAME) bomb.toggle_valve() update_appearance() return @@ -221,7 +221,8 @@ var/turf/start_turf = get_turf(src) var/turf/target_turf = get_turf(target) message_admins("Blast wave fired from [ADMIN_VERBOSEJMP(start_turf)] at [ADMIN_VERBOSEJMP(target_turf)] ([target]) by [ADMIN_LOOKUPFLW(firer)] with power [heavy]/[medium]/[light].") - log_game("Blast wave fired from [AREACOORD(start_turf)] at [AREACOORD(target_turf)] ([target]) by [key_name(firer)] with power [heavy]/[medium]/[light].") + firer.log_message("fired a blast wave from [AREACOORD(start_turf)] at [AREACOORD(target_turf)] ([target]) with power [heavy]/[medium]/[light].", LOG_GAME) + firer.log_message("fired a blast wave from [AREACOORD(start_turf)] at [AREACOORD(target_turf)] ([target]) with power [heavy]/[medium]/[light].", LOG_ATTACK, log_globally = FALSE) fire_blastwave(target, heavy, medium, light, modifiers) return diff --git a/code/modules/projectiles/guns/special/grenade_launcher.dm b/code/modules/projectiles/guns/special/grenade_launcher.dm index 89b6e48cac1..8043eb0f849 100644 --- a/code/modules/projectiles/guns/special/grenade_launcher.dm +++ b/code/modules/projectiles/guns/special/grenade_launcher.dm @@ -41,7 +41,8 @@ F.forceMove(user.loc) F.throw_at(target, 30, 2, user) message_admins("[ADMIN_LOOKUPFLW(user)] fired a grenade ([F.name]) from a grenade launcher ([src]) from [AREACOORD(user)] at [target] [AREACOORD(target)].") - log_game("[key_name(user)] fired a grenade ([F.name]) with a grenade launcher ([src]) from [AREACOORD(user)] at [target] [AREACOORD(target)].") + user.log_message("fired a grenade ([F.name]) with a grenade launcher ([src]) from [AREACOORD(user)] at [target] [AREACOORD(target)].", LOG_GAME) + user.log_message("fired a grenade ([F.name]) with a grenade launcher ([src]) from [AREACOORD(user)] at [target] [AREACOORD(target)].", LOG_ATTACK, log_globally = FALSE) F.active = 1 F.icon_state = initial(F.icon_state) + "_active" playsound(user.loc, 'sound/weapons/armbomb.ogg', 75, TRUE, -3) diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 796b10f8af5..565f7557503 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -732,7 +732,7 @@ if(reagent.volume >= reagent.overdose_threshold && !reagent.overdosed) reagent.overdosed = TRUE need_mob_update += reagent.overdose_start(owner) - log_game("[key_name(owner)] has started overdosing on [reagent.name] at [reagent.volume] units.") + owner.log_message("has started overdosing on [reagent.name] at [reagent.volume] units.", LOG_GAME) for(var/addiction in reagent.addiction_types) owner.mind?.add_addiction_points(addiction, reagent.addiction_types[addiction] * REAGENTS_METABOLISM) diff --git a/code/modules/reagents/chemistry/items.dm b/code/modules/reagents/chemistry/items.dm index f698742f0dd..1c262995570 100644 --- a/code/modules/reagents/chemistry/items.dm +++ b/code/modules/reagents/chemistry/items.dm @@ -238,7 +238,8 @@ /obj/item/burner/attack(mob/living/carbon/M, mob/living/carbon/user) if(lit && M.ignite_mob()) message_admins("[ADMIN_LOOKUPFLW(user)] set [key_name_admin(M)] on fire with [src] at [AREACOORD(user)]") - log_game("[key_name(user)] set [key_name(M)] on fire with [src] at [AREACOORD(user)]") + user.log_message("set [key_name(M)] on fire with [src] at [AREACOORD(user)].", LOG_GAME) + M.log_message("was set on fire by [key_name(user)] with [src] at [AREACOORD(M)].", LOG_VICTIM) return ..() /obj/item/burner/process() diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm index 9617c37fcc1..0c3472d0e85 100644 --- a/code/modules/reagents/chemistry/machinery/smoke_machine.dm +++ b/code/modules/reagents/chemistry/machinery/smoke_machine.dm @@ -161,7 +161,7 @@ update_appearance() if(on) message_admins("[ADMIN_LOOKUPFLW(usr)] activated a smoke machine that contains [english_list(reagents.reagent_list)] at [ADMIN_VERBOSEJMP(src)].") - log_game("[key_name(usr)] activated a smoke machine that contains [english_list(reagents.reagent_list)] at [AREACOORD(src)].") + usr.log_message("activated a smoke machine that contains [english_list(reagents.reagent_list)] at [AREACOORD(src)].", LOG_GAME) log_combat(usr, src, "has activated [src] which contains [english_list(reagents.reagent_list)] at [AREACOORD(src)].") if("goScreen") screen = params["screen"] diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index bdea90f4bf2..d1f4cd10897 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -393,6 +393,7 @@ if(lastkey) var/mob/toucher = get_mob_by_key(lastkey) touch_msg = "[ADMIN_LOOKUPFLW(toucher)]." + toucher.log_message("was the last to touch the slime which has exploded at [AREACOORD(T)].", LOG_GAME, log_globally = FALSE) message_admins("Slime Explosion reaction started at [ADMIN_VERBOSEJMP(T)]. Last Fingerprint: [touch_msg]") log_game("Slime Explosion reaction started at [AREACOORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"].") T.visible_message(span_danger("The slime extract begins to vibrate violently !")) @@ -587,6 +588,7 @@ if(lastkey) var/mob/toucher = get_mob_by_key(lastkey) touch_msg = "[ADMIN_LOOKUPFLW(toucher)]." + toucher.log_message("was last to touch a Brorble Brorble that has been primed at [AREACOORD(T)].", LOG_GAME, log_globally = FALSE) message_admins("Brorble Brorble primed at [ADMIN_VERBOSEJMP(T)]. Last Fingerprint: [touch_msg]") log_game("Brorble Brorble primed at [AREACOORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"].") ..() diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 0980f89d9b5..078236539a2 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -194,7 +194,7 @@ else if(isturf(target) && reagents.reagent_list.len && thrown_by) log_combat(thrown_by, target, "splashed (thrown) [english_list(reagents.reagent_list)]", "in [AREACOORD(target)]") - log_game("[key_name(thrown_by)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [AREACOORD(target)].") + thrown_by.log_message("splashed (thrown) [english_list(reagents.reagent_list)] on [target].", LOG_ATTACK) message_admins("[ADMIN_LOOKUPFLW(thrown_by)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [ADMIN_VERBOSEJMP(target)].") visible_message(span_notice("[src] spills its contents all over [target].")) reagents.expose(target, TOUCH) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 20be73c8faa..ef578b8a39b 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -73,8 +73,8 @@ var/puff_reagent_string = reagent_puff.reagents.get_reagent_log_string() var/turf/src_turf = get_turf(src) - log_combat(user, src_turf, "fired a puff of reagents from", src, addition="with a range of \[[range]\], containing [puff_reagent_string]") - log_game("[key_name(user)] fired a puff of reagents from \a [src] with a range of \[[range]\] and containing [puff_reagent_string] at [AREACOORD(src_turf)].") + log_combat(user, src_turf, "fired a puff of reagents from", src, addition="with a range of \[[range]\], containing [puff_reagent_string].") + user.log_message("fired a puff of reagents from \a [src] with a range of \[[range]\] and containing [puff_reagent_string].", LOG_ATTACK) // do_spray includes a series of step_towards and sleeps. As a result, it will handle deletion of the chempuff. do_spray(target, wait_step, reagent_puff, range, puff_reagent_left, user) diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index eb2be09bd38..f5916317c6c 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -93,7 +93,7 @@ return FALSE leaking = !leaking balloon_alert(user, "[leaking ? "opened" : "closed"] [src]'s tap") - log_game("[key_name(user)] [leaking ? "opened" : "closed"] [src]") + user.log_message("[leaking ? "opened" : "closed"] [src].", LOG_GAME) tank_leak() return TOOL_ACT_TOOLTYPE_SUCCESS @@ -169,7 +169,7 @@ if(!do_after(user, 2 SECONDS, target = src)) return user.balloon_alert_to_viewers("detached rig") - log_message("[key_name(user)] detached [rig] from [src]", LOG_GAME) + user.log_message("detached [rig] from [src].", LOG_GAME) if(!user.put_in_hands(rig)) rig.forceMove(get_turf(user)) rig = null diff --git a/code/modules/reagents/withdrawal/_addiction.dm b/code/modules/reagents/withdrawal/_addiction.dm index 9096305509d..a6790904d10 100644 --- a/code/modules/reagents/withdrawal/_addiction.dm +++ b/code/modules/reagents/withdrawal/_addiction.dm @@ -35,7 +35,7 @@ /datum/addiction/proc/become_addicted(datum/mind/victim_mind) LAZYSET(victim_mind.active_addictions, type, 1) //Start at first cycle. SEND_SIGNAL(victim_mind.current, COMSIG_CARBON_GAIN_ADDICTION, victim_mind) - log_game("[key_name(victim_mind.current)] has become addicted to [name].") + victim_mind.current.log_message("has become addicted to [name].", LOG_GAME) ///Called when you lose addiction poitns somehow. Takes a mind as argument and sees if you lost the addiction diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index e76cb50e37f..508066ed20a 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -75,7 +75,7 @@ /// Toggles whether or not researched_disabled is, yknow, disabled /obj/machinery/rnd/server/proc/toggle_disable(mob/user) research_disabled = !research_disabled - log_game("[key_name(user)] [research_disabled ? "shut off" : "turned on"] [src] at [loc_name(user)]") + user.log_message("[research_disabled ? "shut off" : "turned on"] [src] at [loc_name(user)].", LOG_GAME) refresh_working() /// Gets status text based on this server's status for the computer. @@ -300,7 +300,7 @@ var/mob/user = usr message_admins("[ADMIN_LOOKUPFLW(user)] deconstructed [ADMIN_JMP(src)].") - log_game("[key_name(user)] deconstructed [src].") + user.log_message("deconstructed [src].", LOG_GAME) return ..() message_admins("[ADMIN_JMP(src)] has been deconstructed by an unknown user.") diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index 43dd4f30199..c84ca241644 100644 --- a/code/modules/research/stock_parts.dm +++ b/code/modules/research/stock_parts.dm @@ -125,7 +125,7 @@ If you create T5+ please take a pass at mech_fabricator.dm. The parts being good if(inserted_cell.rigged || inserted_cell.corrupted) message_admins("[ADMIN_LOOKUPFLW(usr)] has inserted rigged/corrupted [inserted_cell] into [src].") - log_game("[key_name(usr)] has inserted rigged/corrupted [inserted_cell] into [src].") + usr.log_message("has inserted rigged/corrupted [inserted_cell] into [src].", LOG_GAME) usr.log_message("inserted rigged/corrupted [inserted_cell] into [src]", LOG_ATTACK) /** diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 827eee38fa3..2b2efc7db28 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -998,7 +998,7 @@ M.visible_message(span_notice("[span_name("[M]")] has a new name, [span_name("[new_name]")]."), span_notice("Your old name of [span_name("[M.real_name]")] fades away, and your new name [span_name("[new_name]")] anchors itself in your mind.")) message_admins("[ADMIN_LOOKUPFLW(user)] used [src] on [ADMIN_LOOKUPFLW(M)], letting them rename themselves into [new_name].") - log_game("[key_name(user)] used [src] on [key_name(M)], letting them rename themselves into [new_name].") + user.log_message("used [src] on [key_name(M)], letting them rename themselves into [new_name].", LOG_GAME) // pass null as first arg to not update records or ID/PDA M.fully_replace_character_name(null, new_name) diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index 738b65ec868..ff6d65a00a7 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -121,7 +121,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/keycard_auth, 26) update_appearance() /obj/machinery/keycard_auth/proc/trigger_event(confirmer) - log_game("[key_name(triggerer)] triggered and [key_name(confirmer)] confirmed event [event]") + triggerer.log_message("triggered and [key_name(confirmer)] confirmed event [event].", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(triggerer)] triggered and [ADMIN_LOOKUPFLW(confirmer)] confirmed event [event]") var/area/A1 = get_area(triggerer) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 4c2084fb627..e173e4c72ed 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -219,13 +219,13 @@ say("Software override initiated.") var/turf/console_hijack_turf = get_turf(src) message_admins("[src] is being overriden for hijack by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(console_hijack_turf)]") - log_game("[src] is being overriden for hijack by [key_name(user)] at [AREACOORD(src)]") + user.log_message("is hijacking [src] at [AREACOORD(src)].", LOG_GAME) . = FALSE if(do_after(user, hijack_stage_time * (1 / user.mind.get_hijack_speed()), target = src)) increase_hijack_stage() console_hijack_turf = get_turf(src) - message_admins("[src] has had its hijack stage increased to stage [SSshuttle.emergency.hijack_status] out of [HIJACKED] by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(console_hijack_turf)]") - log_game("[src] has had its hijack stage increased to stage [SSshuttle.emergency.hijack_status] out of [HIJACKED] by [key_name(user)] at [AREACOORD(src)]") + message_admins("[ADMIN_LOOKUPFLW(user)] has hijacked [src] in [ADMIN_VERBOSEJMP(console_hijack_turf)]. Hijack stage increased to stage [SSshuttle.emergency.hijack_status] out of [HIJACKED].") + user.log_message("has hijacked [src] at [AREACOORD(src)]. Hijack stage increased to stage [SSshuttle.emergency.hijack_status] out of [HIJACKED].", LOG_GAME) . = TRUE to_chat(user, span_notice("You reprogram some of [src]'s programming, putting it on timeout for [hijack_stage_cooldown/10] seconds.")) hijack_hacking = FALSE diff --git a/code/modules/spells/spell_types/madness_curse.dm b/code/modules/spells/spell_types/madness_curse.dm index 330f8aa6ff1..91122b387bb 100644 --- a/code/modules/spells/spell_types/madness_curse.dm +++ b/code/modules/spells/spell_types/madness_curse.dm @@ -4,7 +4,7 @@ GLOBAL_VAR_INIT(curse_of_madness_triggered, FALSE) if(user) //in this case either someone holding a spellbook or a badmin to_chat(user, span_warning("You sent a curse of madness with the message \"[message]\"!")) message_admins("[ADMIN_LOOKUPFLW(user)] sent a curse of madness with the message \"[message]\"!") - log_game("[key_name(user)] sent a curse of madness with the message \"[message]\"!") + user.log_message("sent a curse of madness with the message \"[message]\"!", LOG_GAME) GLOB.curse_of_madness_triggered = message // So latejoiners are also afflicted. diff --git a/code/modules/spells/spell_types/right_and_wrong.dm b/code/modules/spells/spell_types/right_and_wrong.dm index 211a4a9414f..9657e0b3c6d 100644 --- a/code/modules/spells/spell_types/right_and_wrong.dm +++ b/code/modules/spells/spell_types/right_and_wrong.dm @@ -161,7 +161,7 @@ GLOBAL_LIST_INIT(summoned_magic_objectives, list( if(user) to_chat(user, span_warning("You summoned ghosts!")) message_admins("[ADMIN_LOOKUPFLW(user)] summoned ghosts!") - log_game("[key_name(user)] summoned ghosts!") + user.log_message("summoned ghosts!", LOG_GAME) else message_admins("Summon Ghosts was triggered!") log_game("Summon Ghosts was triggered!") @@ -180,7 +180,7 @@ GLOBAL_LIST_INIT(summoned_magic_objectives, list( if(user) to_chat(user, span_warning("You summoned magic!")) message_admins("[ADMIN_LOOKUPFLW(user)] summoned magic!") - log_game("[key_name(user)] summoned magic!") + user.log_message("summoned magic!", LOG_GAME) else message_admins("Summon Magic was triggered!") log_game("Summon Magic was triggered!") @@ -200,7 +200,7 @@ GLOBAL_LIST_INIT(summoned_magic_objectives, list( if(user) to_chat(user, span_warning("You summoned guns!")) message_admins("[ADMIN_LOOKUPFLW(user)] summoned guns!") - log_game("[key_name(user)] summoned guns!") + user.log_message("summoned guns!", LOG_GAME) else message_admins("Summon Guns was triggered!") log_game("Summon Guns was triggered!") @@ -226,7 +226,7 @@ GLOBAL_LIST_INIT(summoned_magic_objectives, list( if(user) to_chat(user, span_warning("You have intensified summon events, causing them to occur more often!")) message_admins("[ADMIN_LOOKUPFLW(user)] intensified summon events!") - log_game("[key_name(user)] intensified events!") + user.log_message("intensified events!", LOG_GAME) else log_game("Summon Events was intensified!") @@ -241,7 +241,7 @@ GLOBAL_LIST_INIT(summoned_magic_objectives, list( if(user) to_chat(user, span_warning("You have cast summon events!")) message_admins("[ADMIN_LOOKUPFLW(user)] summoned events!") - log_game("[key_name(user)] summoned events!") + user.log_message("summoned events!", LOG_GAME) else message_admins("Summon Events was triggered!") log_game("Summon Events was triggered!") diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm index d2fca6e1a24..e675378ceb8 100644 --- a/code/modules/station_goals/bsa.dm +++ b/code/modules/station_goals/bsa.dm @@ -216,11 +216,11 @@ GLOBAL_VAR_INIT(bsa_unlock, FALSE) if(!blocker) message_admins("[ADMIN_LOOKUPFLW(user)] has launched an artillery strike targeting [ADMIN_VERBOSEJMP(bullseye)].") - log_game("[key_name(user)] has launched an artillery strike targeting [AREACOORD(bullseye)].") + user.log_message("has launched an artillery strike targeting [AREACOORD(bullseye)].", LOG_GAME) explosion(bullseye, devastation_range = ex_power, heavy_impact_range = ex_power*2, light_impact_range = ex_power*4, explosion_cause = src) else message_admins("[ADMIN_LOOKUPFLW(user)] has launched an artillery strike targeting [ADMIN_VERBOSEJMP(bullseye)] but it was blocked by [blocker] at [ADMIN_VERBOSEJMP(target)].") - log_game("[key_name(user)] has launched an artillery strike targeting [AREACOORD(bullseye)] but it was blocked by [blocker] at [AREACOORD(target)].") + user.log_message("has launched an artillery strike targeting [AREACOORD(bullseye)] but it was blocked by [blocker] at [AREACOORD(target)].", LOG_GAME) /obj/machinery/bsa/full/proc/reload() diff --git a/code/modules/surgery/advanced/brainwashing.dm b/code/modules/surgery/advanced/brainwashing.dm index 6a242f0d0d0..81e4a7ab204 100644 --- a/code/modules/surgery/advanced/brainwashing.dm +++ b/code/modules/surgery/advanced/brainwashing.dm @@ -62,7 +62,7 @@ message_admins("[ADMIN_LOOKUPFLW(user)] surgically brainwashed [ADMIN_LOOKUPFLW(target)] with the objective '[objective]'.") user.log_message("has brainwashed [key_name(target)] with the objective '[objective]' using brainwashing surgery.", LOG_ATTACK) target.log_message("has been brainwashed with the objective '[objective]' by [key_name(user)] using brainwashing surgery.", LOG_VICTIM, log_globally=FALSE) - log_game("[key_name(user)] surgically brainwashed [key_name(target)] with the objective '[objective]'.") + user.log_message("surgically brainwashed [key_name(target)] with the objective '[objective]'.", LOG_GAME) return ..() /datum/surgery_step/brainwash/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index 30c0713aa76..eb0c3f28a2f 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -88,7 +88,7 @@ update_icon_dropped() if(!QDELETED(brainmob)) //this shouldn't happen without badminnery. message_admins("Brainmob: ([ADMIN_LOOKUPFLW(brainmob)]) was left stranded in [src] at [ADMIN_VERBOSEJMP(src)] without a brain!") - log_game("Brainmob: ([key_name(brainmob)]) was left stranded in [src] at [AREACOORD(src)] without a brain!") + brainmob.log_message(", brainmob, was left stranded in [src] at [AREACOORD(src)] without a brain!", LOG_GAME) if(head_atom == brainmob) brainmob = null if(head_atom == eyes) diff --git a/code/modules/unit_tests/create_and_destroy.dm b/code/modules/unit_tests/create_and_destroy.dm index f491b2adf9e..8e24fbb2ecd 100644 --- a/code/modules/unit_tests/create_and_destroy.dm +++ b/code/modules/unit_tests/create_and_destroy.dm @@ -27,6 +27,8 @@ /obj/item/bodypart, //This is meant to fail extremely loud every single time it occurs in any environment in any context, and it falsely alarms when this unit test iterates it. Let's not spawn it in. /obj/merge_conflict_marker, + //briefcase launchpads erroring + /obj/machinery/launchpad/briefcase, ) //Say it with me now, type template ignore += typesof(/obj/effect/mapping_helpers) diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm index 45660c43953..12e7e895c9b 100644 --- a/code/modules/vehicles/cars/clowncar.dm +++ b/code/modules/vehicles/cars/clowncar.dm @@ -42,7 +42,7 @@ if(is_clown_job(H.mind?.assigned_role)) //Ensures only clowns can drive the car. (Including more at once) add_control_flags(H, VEHICLE_CONTROL_DRIVE) RegisterSignal(H, COMSIG_MOB_CLICKON, .proc/fire_cannon_at) - M.log_message("has entered [src] as a possible driver", LOG_ATTACK) + M.log_message("has entered [src] as a possible driver", LOG_GAME) return add_control_flags(M, VEHICLE_CONTROL_KIDNAPPED) diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm index c06ec657a6e..767071aeee4 100644 --- a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm @@ -58,7 +58,7 @@ return var/list/obj/effect/portal/created = create_portal_pair(ourturf, target_turf, 300, 1, /obj/effect/portal/anom) message_admins("[ADMIN_LOOKUPFLW(source)] used a Wormhole Generator in [ADMIN_VERBOSEJMP(ourturf)]") - log_game("[key_name(source)] used a Wormhole Generator in [AREACOORD(ourturf)]") + source.log_message("used a Wormhole Generator in [AREACOORD(ourturf)].", LOG_GAME) QDEL_LIST_IN(created, rand(150,300)) return ..() @@ -103,7 +103,7 @@ var/turf/orig = get_turf(movable_target) movable_target.throw_at(target, 14, 1.5) movable_target = null - log_game("[key_name(source)] used a Gravitational Catapult to throw [movable_target] (From [AREACOORD(orig)]) at [target] ([AREACOORD(targ)]).") + source.log_message("used a Gravitational Catapult to throw [movable_target] (From [AREACOORD(orig)]) at [target] ([AREACOORD(targ)]).", LOG_GAME) return ..() movable_target = null to_chat(source, "[icon2html(src, source)][span_notice("Lock on [movable_target] disengaged.")]") @@ -123,7 +123,7 @@ continue do_scatter(scatter, target) var/turf/targetturf = get_turf(target) - log_game("[key_name(source)] used a Gravitational Catapult repulse wave on [AREACOORD(targetturf)]") + source.log_message("used a Gravitational Catapult repulse wave on [AREACOORD(targetturf)].", LOG_GAME) return ..() /obj/item/mecha_parts/mecha_equipment/gravcatapult/proc/do_scatter(atom/movable/scatter, atom/movable/target) diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index f431072dc29..20ea8d5913e 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -237,7 +237,8 @@ log_message("Honked from [src.name]. HONK!", LOG_MECHA) var/turf/T = get_turf(src) message_admins("[ADMIN_LOOKUPFLW(source)] used a Mecha Honker in [ADMIN_VERBOSEJMP(T)]") - log_game("[key_name(source)] used a Mecha Honker in [AREACOORD(T)]") + source.log_message("used a Mecha Honker at [AREACOORD(T)].", LOG_GAME) + source.log_message("used a Mecha Honker at [AREACOORD(T)].", LOG_ATTACK) return ..() @@ -408,7 +409,8 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/proj_init(obj/item/grenade/flashbang/F, mob/user) var/turf/T = get_turf(src) message_admins("[ADMIN_LOOKUPFLW(user)] fired a [F] in [ADMIN_VERBOSEJMP(T)]") - log_game("[key_name(user)] fired a [F] in [AREACOORD(T)]") + user.log_message("fired a [F] in [AREACOORD(T)].", LOG_GAME) + user.log_message("fired a [F] in [AREACOORD(T)].", LOG_ATTACK) addtimer(CALLBACK(F, /obj/item/grenade/flashbang.proc/detonate), det_time) /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/clusterbang //Because I am a heartless bastard -Sieve //Heartless? for making the poor man's honkblast? - Kaze diff --git a/code/modules/vehicles/mecha/mecha_control_console.dm b/code/modules/vehicles/mecha/mecha_control_console.dm index eef2a1de549..5386255986c 100644 --- a/code/modules/vehicles/mecha/mecha_control_console.dm +++ b/code/modules/vehicles/mecha/mecha_control_console.dm @@ -68,7 +68,8 @@ var/obj/vehicle/sealed/mecha/M = MT.chassis if(M) MT.shock() - log_game("[key_name(usr)] has activated remote EMP on exosuit [M], located at [loc_name(M)], which is currently [LAZYLEN(M.occupants) ? "occupied by [M.occupants.Join(",")][ADMIN_FLW(M)]." : "without a pilot."]") + usr.log_message("has activated remote EMP on exosuit [M], located at [loc_name(M)], which is currently [LAZYLEN(M.occupants) ? "occupied by [M.occupants.Join(", ")]." : "without a pilot."]", LOG_ATTACK) + usr.log_message("has activated remote EMP on exosuit [M], located at [loc_name(M)], which is currently [LAZYLEN(M.occupants) ? "occupied by [M.occupants.Join(", ")]." : "without a pilot."]", LOG_GAME, log_globally = FALSE) message_admins("[key_name_admin(usr)][ADMIN_FLW(usr)] has activated remote EMP on exosuit [M][ADMIN_JMP(M)], which is currently [LAZYLEN(M.occupants) ? "occupied by [M.occupants.Join(",")][ADMIN_FLW(M)]." : "without a pilot."]") . = TRUE diff --git a/code/modules/vehicles/mecha/mecha_mob_interaction.dm b/code/modules/vehicles/mecha/mecha_mob_interaction.dm index de2e6b68c75..bac1d8df4e3 100644 --- a/code/modules/vehicles/mecha/mecha_mob_interaction.dm +++ b/code/modules/vehicles/mecha/mecha_mob_interaction.dm @@ -98,7 +98,8 @@ log_message("[brain_obj] moved in as pilot.", LOG_MECHA) if(!internal_damage) SEND_SOUND(brain_obj, sound('sound/mecha/nominal.ogg',volume=50)) - log_game("[key_name(user)] has put the MMI/posibrain of [key_name(brain_mob)] into [src] at [AREACOORD(src)]") + user.log_message("has put the MMI/posibrain of [key_name(brain_mob)] into [src] at [AREACOORD(src)].", LOG_GAME) + brain_mob.log_message("was put into [src] by [key_name(user)] at [AREACOORD(src)].", LOG_GAME, log_globally = FALSE) return TRUE /obj/vehicle/sealed/mecha/mob_exit(mob/M, silent, forced)