diff --git a/code/WorkInProgress/Chemistry-Tools.dm b/code/WorkInProgress/Chemistry-Tools.dm index c48c4e77d7b..9d35627aad4 100644 --- a/code/WorkInProgress/Chemistry-Tools.dm +++ b/code/WorkInProgress/Chemistry-Tools.dm @@ -177,6 +177,7 @@ if (!src.state && stage == 2 && !crit_fail) user << "\red You prime the grenade! 3 seconds!" message_admins("[key_name_admin(user)] used a chemistry grenade ([src.name]).") + log_game("[key_name_admin(user)] used a chemistry grenade ([src.name]).") src.state = 1 src.icon_state = initial(icon_state)+"_armed" playsound(src.loc, 'armbomb.ogg', 75, 1, -3) @@ -192,6 +193,7 @@ if (!src.state && stage == 2 && !crit_fail) user << "\red You prime the grenade! 3 seconds!" message_admins("[key_name_admin(user)] used a chemistry grenade ([src.name]).") + log_game("[key_name_admin(user)] used a chemistry grenade ([src.name]).") src.state = 1 src.icon_state = initial(icon_state)+"_armed" playsound(src.loc, 'armbomb.ogg', 75, 1, -3) diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 8155442e253..040cb389a48 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -204,4 +204,5 @@ if(blobstart.len > 0) var/obj/D = new /obj/item/weapon/disk/nuclear(pick(blobstart)) message_admins("[src] has been destroyed. Spawning [D] at ([D.x], [D.y], [D.z]).") + log_game("[src] has been destroyed. Spawning [D] at ([D.x], [D.y], [D.z]).") ..() diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 3a7ba7e7a14..4012cb6e242 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -38,7 +38,7 @@ if(!input) return captain_announce(input) - log_admin("[key_name(usr)] has made a captain announcement: [input]") + log_say("[key_name(usr)] has made a captain announcement: [input]") message_admins("[key_name_admin(usr)] has made a captain announcement.", 1) if("call-prison") call_prison_shuttle(usr) @@ -424,7 +424,7 @@ // These modes are no longer used so I am commenting them out. N emergency_shuttle.incall() - log_admin("[key_name(user)] has called the shuttle.") + log_game("[key_name(user)] has called the shuttle.") message_admins("[key_name_admin(user)] has called the shuttle.", 1) world << "\blue Alert: The emergency shuttle has been called. It will arrive in [round(emergency_shuttle.timeleft()/60)] minutes." world << sound('shuttlecalled.ogg') @@ -438,7 +438,7 @@ return emergency_shuttle.recall() - log_admin("[key_name(user)] has uncalled the shuttle.") + log_game("[key_name(user)] has uncalled the shuttle.") message_admins("[key_name_admin(user)] has uncalled the shuttle.", 1) return diff --git a/code/game/machinery/computer/explosive.dm b/code/game/machinery/computer/explosive.dm index 8da0d5836fa..cad516959d9 100644 --- a/code/game/machinery/computer/explosive.dm +++ b/code/game/machinery/computer/explosive.dm @@ -120,6 +120,7 @@ if(prob(95)) R.gib() message_admins("\blue [key_name_admin(usr)] killswitched [R.name]") + log_game("[key_name(usr)] killswitched [R.name]") else R << "\blue you hear a click as the implant fails to detonate and disintegrates." diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index e537eb0ff43..b8e91766138 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -147,6 +147,7 @@ if(src.check_access(I)) if (!status) message_admins("\blue [key_name_admin(usr)] has initiated the global cyborg killswitch!") + log_game("\blue [key_name(usr)] has initiated the global cyborg killswitch!") src.status = 1 src.start_sequence() src.temp = null @@ -186,6 +187,7 @@ if(choice == "Confirm") if(R) message_admins("\blue [key_name_admin(usr)] detonated [R.name]!") + log_game("\blue [key_name_admin(usr)] detonated [R.name]!") R.self_destruct() else usr << "\red Access Denied." @@ -197,7 +199,8 @@ var/choice = input("Are you certain you wish to [R.canmove ? "lock down" : "release"] [R.name]?") in list("Confirm", "Abort") if(choice == "Confirm") if(R) -// message_admins("\blue [key_name_admin(usr)] [R.canmove ? "locked down" : "released"] [R.name]!") + message_admins("\blue [key_name_admin(usr)] [R.canmove ? "locked down" : "released"] [R.name]!") + log_game("[key_name(usr)] [R.canmove ? "locked down" : "released"] [R.name]!") R.canmove = !R.canmove if (R.lockcharge) // R.cell.charge = R.lockcharge @@ -218,6 +221,8 @@ var/choice = input("Are you certain you wish to hack [R.name]?") in list("Confirm", "Abort") if(choice == "Confirm") if(R) + message_admins("\blue [key_name_admin(usr)] emagged [R.name] using robotic console!") + log_game("[key_name(usr)] emagged [R.name] using robotic console!") R.emagged = 1 src.add_fingerprint(usr) diff --git a/code/game/magic/ritual.dm b/code/game/magic/ritual.dm index 115ab33cb76..2f1dbcf51dc 100644 --- a/code/game/magic/ritual.dm +++ b/code/game/magic/ritual.dm @@ -117,6 +117,7 @@ var/list/cultists = list() S.pixel_x = -89 S.pixel_y = -85 message_admins("

[key_name_admin(usr)] has summoned a Tear in the Fabric of Reality!", 1) + log_game("[key_name_admin(usr)] has summoned a Tear in the Fabric of Reality!") return else return fizzle() diff --git a/code/game/objects/assemblies.dm b/code/game/objects/assemblies.dm index 22d5a38b912..258d1962fa8 100644 --- a/code/game/objects/assemblies.dm +++ b/code/game/objects/assemblies.dm @@ -43,6 +43,7 @@ bombers += "[key_name(user)] attached a [item] to a transfer valve." message_admins("[key_name_admin(user)] attached a [item] to a transfer valve.") + log_game("[key_name_admin(user)] attached a [item] to a transfer valve.") attacher = key_name(user) @@ -163,10 +164,10 @@ valve_open = 1 var/turf/bombturf = get_turf(src) var/bombarea = bombturf.loc.name - - bombers += "Bomb valve opened in [bombarea] with device attacher: [attacher]. Last touched by: [src.fingerprintslast]" - message_admins("Bomb valve opened in [bombarea] with device attacher: [attacher]. Last touched by: [src.fingerprintslast]") - + var/log_str = "Bomb valve opened in [bombarea] with device attacher: [attacher]. Last touched by: [src.fingerprintslast]" + bombers += log_str + message_admins(log_str) + log_game(log_str) merge_gases() spawn(20) // In case one tank bursts for (var/i=0,i<5,i++) diff --git a/code/game/objects/empulse.dm b/code/game/objects/empulse.dm index f90e5992677..127981c2dcb 100644 --- a/code/game/objects/empulse.dm +++ b/code/game/objects/empulse.dm @@ -2,6 +2,7 @@ proc/empulse(turf/epicenter, heavy_range, light_range, nolog=0) if(!epicenter) return if (!nolog) message_admins("EMP with size ([heavy_range], [light_range]) in area [epicenter.loc.name] ") + log_game("EMP with size ([heavy_range], [light_range]) in area [epicenter.loc.name] ") if (!istype(epicenter, /turf)) epicenter = get_turf(epicenter.loc) diff --git a/code/game/objects/items/weapons/misc.dm b/code/game/objects/items/weapons/misc.dm index df13e5e3b33..2f928f332d2 100644 --- a/code/game/objects/items/weapons/misc.dm +++ b/code/game/objects/items/weapons/misc.dm @@ -76,10 +76,13 @@ DNA INJECTOR if (dnatype == "se") if (isblockon(getblock(dna, 14,3),14) && istype(M, /mob/living/carbon/human)) message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [src.name] \red(MONKEY)") + log_game("[key_name(user)] injected [key_name(M)] with the [src.name] (MONKEY)") else message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [src.name]") + log_game("[key_name(user)] injected [key_name(M)] with the [src.name]") else message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [src.name]") + log_game("[key_name(user)] injected [key_name(M)] with the [src.name]") spawn( 0 ) O.process() @@ -95,9 +98,12 @@ DNA INJECTOR if (dnatype == "se") if (isblockon(getblock(dna, 14,3),14) && istype(M, /mob/living/carbon/human)) message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [src.name] \red(MONKEY)") + log_game("[key_name(user)] injected [key_name(M)] with the [src.name] (MONKEY)") else message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [src.name]") + log_game("[key_name(user)] injected [key_name(M)] with the [src.name]") else message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [src.name]") + log_game("[key_name(user)] injected [key_name(M)] with the [src.name]") user.show_message(text("\red You inject [M]")) return diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index ba50ec97271..7c26c2f185f 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -175,6 +175,7 @@ WELDINGTOOOL return else if (istype(O, /obj/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.welding) message_admins("[key_name_admin(user)] triggered a fueltank explosion.") + log_game("[key_name(user)] triggered a fueltank explosion.") user << "\red That was stupid of you." explosion(O.loc,-1,0,2) if(O) diff --git a/code/game/objects/tank.dm b/code/game/objects/tank.dm index dd98096a5ff..2bbfe62da36 100644 --- a/code/game/objects/tank.dm +++ b/code/game/objects/tank.dm @@ -108,6 +108,7 @@ if(pressure > TANK_FRAGMENT_PRESSURE) if(!istype(src.loc,/obj/item/device/transfer_valve)) message_admins("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast].") + log_game("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast].") //world << "\blue[x],[y] tank is exploding: [pressure] kPa" //Give the gas a chance to build up more pressure through reacting air_contents.react() diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index c700c3d0045..c3aad767a4d 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -67,6 +67,7 @@ //Traitor's dead! Oh no! if (ticker.mode.name == "traitor" && src.mind && src.mind.special_role == "traitor") message_admins("\red Traitor [key_name_admin(src)] has died.") + log_game("Traitor [key_name(src)] has died.") var/cancel for (var/mob/M in world) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 6670876ef12..af38909307e 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -245,13 +245,19 @@ var/list/V = view(message_range, T) //find mobs in lockers, cryo and intellycards for (var/mob/M in world) - if (isturf(M.loc)) - continue //if M can hear us it was already found by hearers() if (!M.client) continue //skip monkeys and leavers - if (get_turf(M) in V) //this slow, but I don't think we'd have a lot of wardrobewhores every round --rastaf0 - listening+=M - + if (istype(M, /mob/new_player)) + continue + if (M.stat <2) //is alive + if (isturf(M.loc)) + continue //if M can hear us it was already found by hearers() + if (get_turf(M) in V) //this is slow, but I don't think we'd have a lot of wardrobewhores every round --rastaf0 + listening+=M + else + if (M.ghost_ears && !(M in listening)) + listening+=M + for (var/obj/O in ((V | src.contents)-used_radios)) //radio in pocket could work, radio in backpack wouldn't --rastaf0 spawn (0) if (O) @@ -305,19 +311,4 @@ for (var/mob/M in heard_b) M.show_message(rendered, 2) - message = src.say_quote(message) - if (italics) - message = "[message]" - - if (!istype(src, /mob/living/carbon/human) || istype(src.wear_mask, /obj/item/clothing/mask/gas/voice)) - rendered = "[src.name] [message]" - else - rendered = "[src.real_name][alt_name] [message]" - - for (var/mob/M in world) - if (istype(M, /mob/new_player)) - continue - if (M.stat >= 2 && !(M in heard_a) && M.ghost_ears) - M.show_message(rendered, 2) - log_say("[src.name]/[src.key] : [message]") \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 1f31978a8a7..f26fc490e78 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -467,6 +467,7 @@ connected_ai = null user << "You emag [src]'s interface." message_admins("[key_name_admin(user)] emagged cyborg [key_name_admin(src)]. Laws overridden.") + log_game("[key_name(user)] emagged cyborg [key_name(src)]. Laws overridden.") clear_supplied_laws() clear_inherent_laws() src.laws = new /datum/ai_laws/syndicate_override diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index d918ff2e745..726038221fb 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1365,6 +1365,10 @@ set category = "OOC" set desc = "Hear talks from everywhere" src.ghost_ears = !src.ghost_ears + if (ghost_ears) + usr << "Now you hear all speech in world" + else + usr << "Now you hear speech only from nearest creatures." /mob/verb/observe() set name = "Observe" diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index c16278c233d..19ae89db22e 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -14,6 +14,7 @@ /mob/verb/me_verb(message as text) set name = "Me" set category = "IC" + message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) usr.emote("me",1,message) /mob/proc/say_dead(var/message) diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 8f37dd2e459..005eb33109f 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 4fc59f61403..d2c56e8caa0 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ