[MIRROR] cleans up some logging (#9855)

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-01-12 08:00:57 -07:00
committed by GitHub
parent a1e163731d
commit c1cd7dc3f0
30 changed files with 82 additions and 82 deletions

View File

@@ -535,7 +535,7 @@
//Make an announcement and log the person entering storage.
control_computer.frozen_crew += "[to_despawn.real_name], [to_despawn.mind.role_alt_title] - [stationtime2text()]"
control_computer._admin_logs += "[key_name(to_despawn)] ([to_despawn.mind.role_alt_title]) at [stationtime2text()]"
log_and_message_admins("[key_name(to_despawn)] ([to_despawn.mind.role_alt_title]) entered cryostorage.")
log_and_message_admins("([to_despawn.mind.role_alt_title]) entered cryostorage.", to_despawn)
//VOREStation Edit Start
var/depart_announce = TRUE

View File

@@ -256,7 +256,7 @@ var/global/list/tele_landmarks = list() // Terrible, but the alternative is loop
/obj/effect/step_trigger/death/Trigger(var/atom/movable/A)
if(isliving(A))
to_chat(A, span_danger("[deathmessage]"))
log_and_message_admins("[A] [deathalert]")
log_and_message_admins("[deathalert]", A)
qdel(A)
/obj/effect/step_trigger/death/train_lost

View File

@@ -54,7 +54,7 @@
user.visible_message(span_warning("[user] pushes the device up their forehead and [M]'s head, the device beginning to let out a series of light beeps!"),span_notice("You begin swap minds with [M]!"))
if(do_after(user,35 SECONDS,M))
if(user.mind && M.mind && M.stat != DEAD && user.stat != DEAD)
log_and_message_admins("[user.ckey] used a Bodysnatcher to swap bodies with [M.ckey]")
log_and_message_admins("[user.ckey] used a Bodysnatcher to swap bodies with [M.ckey]", user)
to_chat(user,span_notice("Your minds have been swapped! Have a nice day."))
var/datum/mind/user_mind = user.mind
var/datum/mind/prey_mind = M.mind

View File

@@ -62,7 +62,7 @@
/// Inject a ghost into this mob. Assumes you've done all sanity before this point.
/mob/living/simple_mob/proc/ghost_join(mob/observer/dead/D)
log_and_message_admins("[key_name_admin(D)] joined [src] as a ghost [ADMIN_FLW(src)]")
log_and_message_admins("joined [src] as a ghost [ADMIN_FLW(src)]", D)
active_ghost_pods -= src
// Move the ghost in
@@ -163,7 +163,7 @@
target.ghostjoin_icon()
last_used = world.time
charges--
log_and_message_admins("[key_name_admin(user)] used a denecrotizer to tame/offer a simplemob to ghosts: [target]. [ADMIN_FLW(src)]")
log_and_message_admins("used a denecrotizer to tame/offer a simplemob to ghosts: [target]. [ADMIN_FLW(src)]", user)
target.visible_message("[target]'s eyes widen, as though in revelation as it looks at [user].", runemessage = "eyes widen")
if(charges == 0)
icon_state = "[initial(icon_state)]-o"
@@ -185,7 +185,7 @@
target.see_invisible = initial(target.see_invisible)
target.update_icon()
visible_message("[target] lifts its head and looks at [user].", runemessage = "lifts its head and looks at [user]")
log_and_message_admins("[key_name_admin(user)] used a denecrotizer to revive a simple mob: [target]. [ADMIN_FLW(src)]")
log_and_message_admins("used a denecrotizer to revive a simple mob: [target]. [ADMIN_FLW(src)]", user)
if(!target.mind) //if it doesn't have a mind then no one has been playing as it, and it is safe to offer to ghosts.
target.ghostjoin = 1
active_ghost_pods |= target

View File

@@ -20,7 +20,7 @@
if(!shuttle_tag)
shuttle_tag = auto_detect_shuttle(M) // We don't have a preset tag, so lets try to auto-link.
if(shuttle_tag && M.set_shuttle_tag(shuttle_tag))
log_and_message_admins("[key_name_admin(usr)] built a [M] for [shuttle_tag] at [ADMIN_COORDJMP(M)]")
log_and_message_admins("built a [M] for [shuttle_tag] at [ADMIN_COORDJMP(M)]", usr)
M.ping("[M] auto-links with shuttle [shuttle_tag]")
// Return shuttle_tag of shuttle of current area

View File

@@ -196,7 +196,7 @@
createStealthKey()
if(isnewplayer(mob))
mob.name = new_key
log_and_message_admins("[key_name(usr)] has turned stealth mode [holder.fakekey ? "ON" : "OFF"]")
log_and_message_admins("has turned stealth mode [holder.fakekey ? "ON" : "OFF"]", usr)
feedback_add_details("admin_verb","SM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
#define MAX_WARNS 3

View File

@@ -46,7 +46,7 @@
if(!check_rights_for(ui.user.client, R_SPAWN))
return
log_and_message_admins("[key_name(user)] used player effect: [action] on [target.ckey] playing [target.name]")
log_and_message_admins("used player effect: [action] on [target.ckey] playing [target.name]", user)
switch(action)
@@ -714,7 +714,7 @@
new chosen_NIF(Tar)
else
new /obj/item/nif(Tar)
log_and_message_admins("[key_name(user)] Quick NIF'd [Tar.real_name] with a [input_NIF].")
log_and_message_admins("Quick NIF'd [Tar.real_name] with a [input_NIF].", user)
if("resize")
user.client.resize(target)
@@ -814,7 +814,7 @@
var/reply = tgui_input_text(target, "An admin has sent you a message: [message]", "Reply")
if(!reply)
return
log_and_message_admins("[key_name(target)] replied to [user]'s message: [reply].")
log_and_message_admins("replied to [user]'s message: [reply].", target)
if("stop-orbits")
//CHOMPEdit Start

View File

@@ -1600,7 +1600,7 @@
usr.on_mob_jump()
usr.forceMove(T)
feedback_add_details("admin_verb","JM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_and_message_admins("[key_name_admin(usr)] jumped to [key_name_admin(M)]")
log_and_message_admins("jumped to [key_name_admin(M)]", usr)
else
to_chat(usr, span_filter_adminlog("This mob is not located in the game world."))

View File

@@ -47,5 +47,5 @@
else
new /obj/item/nif(H)
log_and_message_admins("[key_name(src)] Quick NIF'd [H.real_name] with a [input_NIF].")
log_and_message_admins("Quick NIF'd [H.real_name] with a [input_NIF].", src)
feedback_add_details("admin_verb","QNIF") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!

View File

@@ -88,7 +88,7 @@ Eventkit verb to be used to spawn the obj/effect/landmarks defined under code\ga
for(var/obj/effect/landmark/event_trigger/ET in others_list)
ET.delete_me = TRUE
qdel(ET)
log_and_message_admins("[src.ckey] deleted all of [other_ckey]'s event triggers while [other_ckey] was active")
log_and_message_admins("[src.ckey] deleted all of [other_ckey]'s event triggers while [other_ckey] was active", src)
return
var/confirm = tgui_alert(src, "ARE YOU SURE? THERE IS NO GOING BACK", "CONFIRM", list("Go Back", "Delete all my event triggers"), autofocus = FALSE)
if(!confirm || confirm == "Go Back")
@@ -96,7 +96,7 @@ Eventkit verb to be used to spawn the obj/effect/landmarks defined under code\ga
for(var/obj/effect/landmark/event_trigger/ET in others_list)
ET.delete_me = TRUE
qdel(ET)
log_and_message_admins("[src.ckey] deleted all of [other_ckey]'s event triggers. [other_ckey] was either inactive or disconnected at this time.")
log_and_message_admins("[src.ckey] deleted all of [other_ckey]'s event triggers. [other_ckey] was either inactive or disconnected at this time.", src)
else if(istype(choice, /obj/effect/landmark/event_trigger))
var/obj/effect/landmark/event_trigger/ET = choice
var/decision = tgui_alert(src, "Teleport to Landmark or Delete it?", "Manage [ET]", list("Teleport", "Delete"), autofocus = FALSE)
@@ -118,11 +118,11 @@ Eventkit verb to be used to spawn the obj/effect/landmarks defined under code\ga
Only proceed if you are absolutely certain.", "Force Delete", list("Confirm", "Cancel")) == "Confirm")
ET.delete_me = TRUE
qdel(ET)
log_and_message_admins("[src.ckey] tried to delete event trigger [ET.name] while [other_ckey] is active.")
log_and_message_admins("[src.ckey] tried to delete event trigger [ET.name] while [other_ckey] is active.", src)
return
var/confirm = tgui_alert(src, "ARE YOU SURE? THERE IS NO GOING BACK FROM DELETING [ET.name]", "CONFIRM", list("Go Back", "Delete it!"), autofocus = FALSE)
if(!confirm || confirm == "Go Back")
return
ET.delete_me = TRUE
qdel(ET)
log_and_message_admins("[src.ckey] tried to deleted event trigger [ET.name], [other_ckey] is either disconnected or inactive.")
log_and_message_admins("[src.ckey] tried to deleted event trigger [ET.name], [other_ckey] is either disconnected or inactive.", src)

View File

@@ -13,8 +13,8 @@
var/fake_lightning = result == "Yes (Cosmetic)"
lightning_strike(get_turf(usr), fake_lightning)
log_and_message_admins("[key_name(src)] has caused [fake_lightning ? "cosmetic":"harmful"] lightning to strike at their position ([src.mob.x], [src.mob.y], [src.mob.z]). \
(<A href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[src.mob.x];Y=[src.mob.y];Z=[src.mob.z]'>JMP</a>)")
log_and_message_admins("has caused [fake_lightning ? "cosmetic":"harmful"] lightning to strike at their position ([src.mob.x], [src.mob.y], [src.mob.z]). \
(<A href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[src.mob.x];Y=[src.mob.y];Z=[src.mob.z]'>JMP</a>)", src)
#define LIGHTNING_REDIRECT_RANGE 28 // How far in tiles certain things draw lightning from.
#define LIGHTNING_ZAP_RANGE 1 // How far the tesla effect zaps, as well as the bad effects from a direct strike.

View File

@@ -62,7 +62,7 @@
to_chat(usr, span_danger("[target] was recently reset, you must wait until module selection has been completed before continuing modifying."))
continue
log_and_message_admins("[key_name(src)] has used MODIFYROBOT ([modification_choice]) on [key_name(target)].")
log_and_message_admins("has used MODIFYROBOT ([modification_choice]) on [key_name(target)].", usr)
feedback_add_details("admin_verb","MODIFYROBOT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
switch(modification_choice)

View File

@@ -11,7 +11,7 @@
CONFIG_SET(flag/panic_bunker, !CONFIG_GET(flag/panic_bunker))
log_and_message_admins("[key_name(usr)] has toggled the Panic Bunker, it is now [(CONFIG_GET(flag/panic_bunker) ? "on":"off")].")
log_and_message_admins("has toggled the Panic Bunker, it is now [(CONFIG_GET(flag/panic_bunker) ? "on":"off")].", src)
if (CONFIG_GET(flag/panic_bunker) && (!SSdbcore.IsConnected())) //CHOMPEdit TGSQL
message_admins("The database is not connected! Panic bunker will not work until the connection is reestablished.")
feedback_add_details("admin_verb","PANIC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -25,7 +25,7 @@
CONFIG_SET(flag/paranoia_logging, !CONFIG_GET(flag/paranoia_logging))
log_and_message_admins("[key_name(usr)] has toggled Paranoia Logging, it is now [(CONFIG_GET(flag/paranoia_logging) ? "on":"off")].")
log_and_message_admins("has toggled Paranoia Logging, it is now [(CONFIG_GET(flag/paranoia_logging) ? "on":"off")].", src)
if (CONFIG_GET(flag/paranoia_logging) && (!SSdbcore.IsConnected())) //CHOMPEdit TGSQL
message_admins("The database is not connected! Paranoia logging will not be able to give 'player age' (time since first connection) warnings, only Byond account warnings.")
feedback_add_details("admin_verb","PARLOG") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -39,7 +39,7 @@
CONFIG_SET(flag/ip_reputation, !CONFIG_GET(flag/ip_reputation))
log_and_message_admins("[key_name(usr)] has toggled IP reputation checks, it is now [(CONFIG_GET(flag/ip_reputation) ? "on":"off")].")
log_and_message_admins("has toggled IP reputation checks, it is now [(CONFIG_GET(flag/ip_reputation) ? "on":"off")].", src)
if (CONFIG_GET(flag/ip_reputation) && (!SSdbcore.IsConnected())) //CHOMPEdit TGSQL
message_admins("The database is not connected! IP reputation logging will not be able to allow existing players to bypass the reputation checks (if that is enabled).")
feedback_add_details("admin_verb","IPREP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!

View File

@@ -1071,7 +1071,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
human_cryopods[listname] = CP
//Gotta log this up here before they get ghostized and lose their key or anything.
log_and_message_admins("[key_name(src)] admin cryo'd [key_name(M)].")
log_and_message_admins("admin cryo'd [key_name(M)].", src)
feedback_add_details("admin_verb","ACRYO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
if(ishuman(M))

View File

@@ -16,7 +16,7 @@
if(!smite_choice)
return
log_and_message_admins("[key_name(src)] has used SMITE ([smite_choice]) on [key_name(target)].")
log_and_message_admins("has used SMITE ([smite_choice]) on [key_name(target)].", src)
feedback_add_details("admin_verb","SMITE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
switch(smite_choice)
@@ -214,7 +214,7 @@
return
to_chat(target,"You've been hit by bluespace artillery!")
log_and_message_admins("[key_name(target)] has been hit by Bluespace Artillery fired by [key_name(user ? user : usr)]")
log_and_message_admins("has been hit by Bluespace Artillery fired by [key_name(user ? user : usr)]", target)
target.setMoveCooldown(2 SECONDS)

View File

@@ -104,14 +104,14 @@
var/datum/db_query/query = SSdbcore.NewQuery("UPDATE erro_player SET discord_id = :t_discord_id WHERE ckey = :t_ckey", list("t_discord_id" = sql_discord, "t_ckey" = sql_ckey)) //CHOMPEdit TGSQL
if(query.Execute())
to_chat(src, span_notice("Registration complete! Thank you for taking the time to register your Discord ID."))
log_and_message_admins("[ckey] has registered their Discord ID. Their Discord snowflake ID is: [their_id]") //YW EDIT
log_and_message_admins("[ckey] has registered their Discord ID. Their Discord snowflake ID is: [their_id]", src) //YW EDIT
admin_chat_message(message = "[ckey] has registered their Discord ID. Their Discord is: <@[their_id]>", color = "#4eff22") //YW EDIT
notes_add(ckey, "Discord ID: [their_id]")
world.VgsAddMemberRole(their_id)
qdel(query) //CHOMPEdit TGSQL
else
to_chat(src, span_warning("There was an error registering your Discord ID in the database. Contact an administrator."))
log_and_message_admins("[ckey] failed to register their Discord ID. Their Discord snowflake ID is: [their_id]. Is the database connected?")
log_and_message_admins("[ckey] failed to register their Discord ID. Their Discord snowflake ID is: [their_id]. Is the database connected?", src)
qdel(query) //CHOMPEdit TGSQL
return
//VOREStation Add End
@@ -450,7 +450,7 @@
//Log it
if(CONFIG_GET(flag/paranoia_logging)) //We don't block, but we want paranoia log messages
log_and_message_admins("[key] at [address] has bad IP reputation: [ip_reputation]. Will be kicked if enabled in config.")
log_and_message_admins("[key] at [address] has bad IP reputation: [ip_reputation]. Will be kicked if enabled in config.", null)
else //We just log it
log_admin("[key] at [address] has bad IP reputation: [ip_reputation]. Will be kicked if enabled in config.")

View File

@@ -258,7 +258,7 @@
dir = dt.dir
log_admin("[src] has been placed at [loc], [x],[y],[z]")
else
log_and_message_admins("[src] tried to move itself but its target pick list was empty, so it was not moved. (<A href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)")
log_and_message_admins("[src] tried to move itself but its target pick list was empty, so it was not moved. (<A href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)", null)
/obj/move_trader_landmark //You need to place the trader somewhere in the world and enable the 'move_trader' var. When the trader initializes, it will make a list of these landmarks and then move itself.
name = "trader mover"

View File

@@ -95,7 +95,7 @@ GLOBAL_LIST_EMPTY(unique_deployable)
playsound(src, 'sound/effects/phasein.ogg', 100, 1)
log_and_message_admins("[key_name_admin(usr)] activated a bluespace capsule at [get_area(T)]!")
log_and_message_admins("activated a bluespace capsule at [get_area(T)]!", usr)
if(above_location)
template.add_roof(above_location)
template.annihilate_plants(deploy_location)

View File

@@ -196,23 +196,23 @@
qdel(src)
/mob/living/simple_mob/slime/xenobio/dark_purple/ex_act(severity)
log_and_message_admins("[src] ignited due to a chain reaction with an explosion.")
log_and_message_admins("ignited due to a chain reaction with an explosion.", src)
ignite()
/mob/living/simple_mob/slime/xenobio/dark_purple/fire_act(datum/gas_mixture/air, temperature, volume)
log_and_message_admins("[src] ignited due to exposure to fire.")
log_and_message_admins("ignited due to exposure to fire.", src)
ignite()
/mob/living/simple_mob/slime/xenobio/dark_purple/bullet_act(var/obj/item/projectile/P, var/def_zone)
if(P.damage_type && P.damage_type == BURN && P.damage) // Most bullets won't trigger the explosion, as a mercy towards Security.
log_and_message_admins("[src] ignited due to bring hit by a burning projectile[P.firer ? " by [key_name(P.firer)]" : ""].")
log_and_message_admins("ignited due to bring hit by a burning projectile[P.firer ? " by [key_name(P.firer)]" : ""].", src)
ignite()
else
..()
/mob/living/simple_mob/slime/xenobio/dark_purple/attackby(var/obj/item/W, var/mob/user)
if(istype(W) && W.force && W.damtype == BURN)
log_and_message_admins("[src] ignited due to being hit with a burning weapon ([W]) by [key_name(user)].")
log_and_message_admins("ignited due to being hit with a burning weapon ([W]) by [key_name(user)].", src)
ignite()
else
..()
@@ -656,29 +656,29 @@
say(pick("Sacrifice...!", "Sssss...", "Boom...!"))
set_AI_busy(TRUE)
sleep(2 SECONDS)
log_and_message_admins("[src] has suicide-bombed themselves while trying to kill \the [L].")
log_and_message_admins("has suicide-bombed themselves while trying to kill \the [L].", src)
explode()
return ..()
/mob/living/simple_mob/slime/xenobio/oil/ex_act(severity)
log_and_message_admins("[src] exploded due to a chain reaction with another explosion.")
log_and_message_admins("exploded due to a chain reaction with another explosion.", src)
explode()
/mob/living/simple_mob/slime/xenobio/oil/fire_act(datum/gas_mixture/air, temperature, volume)
log_and_message_admins("[src] exploded due to exposure to fire.")
log_and_message_admins("exploded due to exposure to fire.", src)
explode()
/mob/living/simple_mob/slime/xenobio/oil/bullet_act(obj/item/projectile/P, def_zone)
if(P.damage_type && P.damage_type == BURN && P.damage) // Most bullets won't trigger the explosion, as a mercy towards Security.
log_and_message_admins("[src] exploded due to bring hit by a burning projectile[P.firer ? " by [key_name(P.firer)]" : ""].")
log_and_message_admins("exploded due to bring hit by a burning projectile[P.firer ? " by [key_name(P.firer)]" : ""].", src)
explode()
else
..()
/mob/living/simple_mob/slime/xenobio/oil/attackby(obj/item/W, mob/living/user)
if(istype(W) && W.force && W.damtype == BURN)
log_and_message_admins("[src] exploded due to being hit with a burning weapon ([W]) by [key_name(user)].")
log_and_message_admins("exploded due to being hit with a burning weapon ([W]) by [key_name(user)].", src)
explode()
else
..()

View File

@@ -166,7 +166,7 @@
pred_body.ooc_notes_maybes = pred_ooc_maybes
pred_body.ooc_notes_style = pred_ooc_style
//CHOMPEdit End
log_and_message_admins("[pred_body] is now controlled by [pred_body.ckey]. They were restored to control through prey domination, and had been controlled by [prey_ckey].")
log_and_message_admins("is now controlled by [pred_body.ckey]. They were restored to control through prey domination, and had been controlled by [prey_ckey].", pred_body)
pred_body.absorb_langs()
pred_body.prey_controlled = FALSE
qdel(src)
@@ -318,7 +318,7 @@
pred_brain.real_name = pred.real_name
pred.ckey = pred_brain.prey_ckey
pred.prey_controlled = TRUE
log_and_message_admins("[pred] is now controlled by [pred.ckey], they were taken over via prey domination, and were originally controlled by [pred_brain.pred_ckey].")
log_and_message_admins("is now controlled by [pred.ckey], they were taken over via prey domination, and were originally controlled by [pred_brain.pred_ckey].", pred)
if(delete_source)
qdel(prey)
@@ -602,6 +602,6 @@
pred_brain.real_name = pred.real_name
pred.ckey = pred_brain.prey_ckey
pred.prey_controlled = TRUE
log_and_message_admins("[pred] is now controlled by [pred.ckey], they were taken over via pred submission, and were originally controlled by [pred_brain.pred_ckey].")
log_and_message_admins("is now controlled by [pred.ckey], they were taken over via pred submission, and were originally controlled by [pred_brain.pred_ckey].", pred)
if(delete_source)
qdel(prey)

View File

@@ -295,7 +295,7 @@
L.pulledby.stop_pulling()
stop_pulling()
original_ckey = ckey
log_and_message_admins("[key_name_admin(src)] has swapped bodies with [key_name_admin(L)] as a morph at [get_area(src)] - [COORD(src)].")
log_and_message_admins("has swapped bodies with [key_name_admin(L)] as a morph at [get_area(src)] - [COORD(src)].", src)
new /mob/living/simple_mob/vore/morph/dominated_prey(L.vore_selected, L.ckey, src, L)
else
to_chat(src, span_warning("\The [L] declined your request for control."))
@@ -362,13 +362,13 @@
parent_morph.forceMove(get_turf(src))
parent_morph.ckey = parent_morph.original_ckey
prey_body.ckey = prey_ckey
log_and_message_admins("[key_name_admin(prey_body)] used the OOC escape button to get out of [key_name_admin(parent_morph)]. They have been returned to their original bodies. [ADMIN_FLW(src)]")
log_and_message_admins("used the OOC escape button to get out of [key_name_admin(parent_morph)]. They have been returned to their original bodies. [ADMIN_FLW(src)]", prey_body)
else
parent_morph.forceMove(get_turf(prey_body))
parent_morph.ckey = parent_morph.original_ckey
prey_body.ckey = prey_ckey
prey_body.forceMove(parent_morph.vore_selected)
log_and_message_admins("[key_name_admin(prey_body)] and [key_name_admin(parent_morph)] have been returned to their original bodies. [get_area(src)] - [COORD(src)].")
log_and_message_admins("and [key_name_admin(parent_morph)] have been returned to their original bodies. [get_area(src)] - [COORD(src)].", prey_body)
qdel(src)
#undef MORPH_COOLDOWN

View File

@@ -58,7 +58,7 @@
user.visible_message(span_notice("[user] smashes [src] on [comp]"),
span_info("You smash [src] on [comp], christening a new landable ship named [S.name]"),
span_notice("You hear glass shattering"))
log_and_message_admins("[key_name_admin(user)] Created a new shuttle [S.name]. [ADMIN_JMP(comp_turf)]")
log_and_message_admins("Created a new shuttle [S.name]. [ADMIN_JMP(comp_turf)]", user)
spawn(1 SECOND)
playsound(comp_turf, 'sound/voice/Serithi/Shuttlehere.ogg', 75, 0)
qdel(src)

View File

@@ -188,7 +188,7 @@
/obj/machinery/power/rtg/abductor/bullet_act(obj/item/projectile/Proj)
. = ..()
if(!going_kaboom && istype(Proj) && !Proj.nodamage && ((Proj.damage_type == BURN) || (Proj.damage_type == BRUTE)))
log_and_message_admins("[ADMIN_LOOKUPFLW(Proj.firer)] triggered an Abductor Core explosion at [x],[y],[z] via projectile.")
log_and_message_admins("[ADMIN_LOOKUPFLW(Proj.firer)] triggered an Abductor Core explosion at [x],[y],[z] via projectile.", Proj.firer)
asplod()
/obj/machinery/power/rtg/abductor/attack_hand(var/mob/living/user)
@@ -308,7 +308,7 @@
/obj/machinery/power/rtg/kugelblitz/bullet_act(obj/item/projectile/Proj)
. = ..()
if(istype(Proj) && !Proj.nodamage && ((Proj.damage_type == BURN) || (Proj.damage_type == BRUTE)) && Proj.damage >= 20)
log_and_message_admins("[ADMIN_LOOKUPFLW(Proj.firer)] triggered a kugelblitz core explosion at [x],[y],[z] via projectile.")
log_and_message_admins("[ADMIN_LOOKUPFLW(Proj.firer)] triggered a kugelblitz core explosion at [x],[y],[z] via projectile.", Proj.firer)
asplod()
/obj/machinery/power/rtg/reg

View File

@@ -739,7 +739,7 @@
in_chamber.on_hit(M)
if(in_chamber.damage_type != HALLOSS && !in_chamber.nodamage)
log_and_message_admins("[key_name(user)] commited suicide using \a [src]")
log_and_message_admins("commited suicide using \a [src]", user)
user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]", sharp = TRUE)
user.death()
else if(in_chamber.damage_type == HALLOSS)

View File

@@ -432,7 +432,7 @@
infect_chance = 0
infect_chance += (targets.len-1)*10 //Extra 10% per extra target
if(prob(infect_chance))
log_and_message_admins("[loc] infected [target]'s [eo.name] with \the [src].")
log_and_message_admins("[loc] infected [target]'s [eo.name] with \the [src].", usr)
infect_limb(eo)
//75% chance to spread a virus if we have one

View File

@@ -546,7 +546,7 @@
if(prob(75))
AM.forceMove(src)
if(istype(AM, /obj/item/holder/micro) || istype(AM, /mob/living))
log_and_message_admins("[AM] was thrown into \the [src]")
log_and_message_admins("[AM] was thrown into \the [src]", null)
visible_message("\The [AM] lands in \the [src]!")
//flush() //Away they go! //Uncomment this for proper autoflush. Compromising with autopull to avoid possible disposal dunking abuse
//flush = 1 //1984. No autoflush, no autopull. Leaving this here incase someone wants to revisit this in the future when the mood on this changes
@@ -569,7 +569,7 @@
if(prob(75))
I.forceMove(src)
if(istype(I, /obj/item/holder/micro))
log_and_message_admins("[I.name] was thrown into \the [src]")
log_and_message_admins("[I.name] was thrown into \the [src]", null)
for(var/mob/M in viewers(src))
M.show_message("\The [I] lands in \the [src].", 3)
else

View File

@@ -266,14 +266,14 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic
return
if(cid && !isnum(cid) && !(cid == ""))
log_and_message_admins("[key_name(owner)] - bancheck with invalid cid! ([cid])")
log_and_message_admins("- bancheck with invalid cid! ([cid])", owner)
if(ip && !findtext(ip, new/regex(@"^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$")) && !(ip == ""))
log_and_message_admins("[key_name(owner)] - bancheck with invalid ip! ([ip])")
log_and_message_admins("- bancheck with invalid ip! ([ip])", owner)
var/list/ban = world.IsBanned(key = ckey, address = ip, computer_id = cid)
if(ban)
log_and_message_admins("[key_name(owner)] has a cookie from a banned account! (Cookie: [ckey], [ip], [cid])")
log_and_message_admins("has a cookie from a banned account! (Cookie: [ckey], [ip], [cid])", owner)
//Converts an icon to base64. Operates by putting the icon in the iconCache savefile,
// exporting it as text, and then parsing the base64 from that.

View File

@@ -124,7 +124,7 @@
///// If user clicked on themselves
if(src == G.assailant && is_vore_predator(src))
if(istype(victim) && !victim.client && !victim.ai_holder)
log_and_message_admins("[key_name_admin(src)] attempted to eat [key_name_admin(G.affecting)] whilst they were AFK ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])")
log_and_message_admins("attempted to eat [key_name_admin(G.affecting)] whilst they were AFK ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])", src)
if(feed_grabbed_to_self(src, G.affecting))
qdel(G)
return TRUE
@@ -134,10 +134,10 @@
///// If user clicked on their grabbed target
else if((src == G.affecting) && (attacker.a_intent == I_GRAB) && (attacker.zone_sel.selecting == BP_TORSO) && (is_vore_predator(G.affecting)))
if(istype(victim) && !victim.client && !victim.ai_holder) //Check whether the victim is: A carbon mob, has no client, but has a ckey. This should indicate an SSD player.
log_and_message_admins("[key_name_admin(attacker)] attempted to force feed themselves to [key_name_admin(G.affecting)] whilst they were AFK ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])")
log_and_message_admins("attempted to force feed themselves to [key_name_admin(G.affecting)] whilst they were AFK ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])", attacker)
if(!G.affecting.feeding)
to_chat(user, span_vnotice("[G.affecting] isn't willing to be fed."))
log_and_message_admins("[key_name_admin(src)] attempted to feed themselves to [key_name_admin(G.affecting)] against their prefs ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])")
log_and_message_admins("attempted to feed themselves to [key_name_admin(G.affecting)] against their prefs ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])", src)
return FALSE
if(attacker.feed_self_to_grabbed(attacker, G.affecting))
@@ -149,18 +149,18 @@
///// If user clicked on anyone else but their grabbed target
else if((src != G.affecting) && (src != G.assailant) && (is_vore_predator(src)))
if(istype(victim) && !victim.client && !victim.ai_holder)
log_and_message_admins("[key_name_admin(attacker)] attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] whilst [key_name_admin(G.affecting)] was AFK ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])")
log_and_message_admins("attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] whilst [key_name_admin(G.affecting)] was AFK ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])", attacker)
var/mob/living/carbon/victim_fed = src
if(istype(victim_fed) && !victim_fed.client && !victim_fed.ai_holder)
log_and_message_admins("[key_name_admin(attacker)] attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] whilst [key_name_admin(src)] was AFK ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])")
log_and_message_admins("attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] whilst [key_name_admin(src)] was AFK ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])", attacker)
if(!feeding)
to_chat(user, span_vnotice("[src] isn't willing to be fed."))
log_and_message_admins("[key_name_admin(attacker)] attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] against predator's prefs ([src ? ADMIN_JMP(src) : "null"])")
log_and_message_admins("attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] against predator's prefs ([src ? ADMIN_JMP(src) : "null"])", attacker)
return FALSE
if(!(G.affecting.devourable))
to_chat(user, span_vnotice("[G.affecting] isn't able to be devoured."))
log_and_message_admins("[key_name_admin(attacker)] attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] against prey's prefs ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])")
log_and_message_admins("attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] against prey's prefs ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])", attacker)
return FALSE
if(attacker.feed_grabbed_to_other(attacker, G.affecting, src))
qdel(G)
@@ -626,7 +626,7 @@
SetSleeping(0) //Wake up instantly if asleep
for(var/mob/living/simple_mob/SA in range(10))
LAZYSET(SA.prey_excludes, src, world.time)
log_and_message_admins("[key_name(src)] used the OOC escape button to get out of [key_name(B.owner)] ([B.owner ? "<a href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[B.owner.x];Y=[B.owner.y];Z=[B.owner.z]'>JMP</a>" : "null"])")
log_and_message_admins("used the OOC escape button to get out of [key_name(B.owner)] ([B.owner ? "<a href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[B.owner.x];Y=[B.owner.y];Z=[B.owner.z]'>JMP</a>" : "null"])", src)
B.owner.update_fullness() //CHOMPEdit - This is run whenever a belly's contents are changed.
if(!ishuman(B.owner))
@@ -641,14 +641,14 @@
if(confirm != "Okay" || loc != belly)
return
//Actual escaping
log_and_message_admins("[key_name(src)] used the OOC escape button to get out of [key_name(pred)] (BORG) ([pred ? "<a href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[pred.x];Y=[pred.y];Z=[pred.z]'>JMP</a>" : "null"])")
log_and_message_admins("used the OOC escape button to get out of [key_name(pred)] (BORG) ([pred ? "<a href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[pred.x];Y=[pred.y];Z=[pred.z]'>JMP</a>" : "null"])", src)
belly.go_out(src) //Just force-ejects from the borg as if they'd clicked the eject button.
//You're in an AI hologram!
else if(istype(loc, /obj/effect/overlay/aiholo))
var/obj/effect/overlay/aiholo/holo = loc
holo.drop_prey() //Easiest way
log_and_message_admins("[key_name(src)] used the OOC escape button to get out of [key_name(holo.master)] (AI HOLO) ([holo ? "<a href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[holo.x];Y=[holo.y];Z=[holo.z]'>JMP</a>" : "null"])")
log_and_message_admins("used the OOC escape button to get out of [key_name(holo.master)] (AI HOLO) ([holo ? "<a href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[holo.x];Y=[holo.y];Z=[holo.z]'>JMP</a>" : "null"])", src)
//You're in a capture crystal! ((It's not vore but close enough!))
else if(iscapturecrystal(loc))
@@ -657,7 +657,7 @@
crystal.bound_mob = null
crystal.bound_mob = capture_crystal = 0
clear_fullscreen(ATOM_BELLY_FULLSCREEN) // CHOMPedit
log_and_message_admins("[key_name(src)] used the OOC escape button to get out of [crystal] owned by [crystal.owner]. [ADMIN_FLW(src)]")
log_and_message_admins("used the OOC escape button to get out of [crystal] owned by [crystal.owner]. [ADMIN_FLW(src)]", src)
//You've been turned into an item!
else if(tf_mob_holder && isvoice(src) && istype(src.loc, /obj/item))
@@ -680,28 +680,28 @@
//CHOMPEdit End
if(istype(src.loc, /obj/item/clothing)) //Are they in clothes? Delete the item then revert them.
qdel(item_to_destroy)
log_and_message_admins("[key_name(src)] used the OOC escape button to revert back to their original form from being TFed into an object.")
log_and_message_admins("used the OOC escape button to revert back to their original form from being TFed into an object.", src)
revert_mob_tf()
else //Are they in any other type of object? If qdel is done first, the mob is deleted from the world.
forceMove(get_turf(src))
qdel(item_to_destroy)
log_and_message_admins("[key_name(src)] used the OOC escape button to revert back to their original form from being TFed into an object.")
log_and_message_admins("used the OOC escape button to revert back to their original form from being TFed into an object.", src)
revert_mob_tf()
//You've been turned into a mob!
else if(tf_mob_holder)
log_and_message_admins("[key_name(src)] used the OOC escape button to revert back to their original form from being TFed into another mob.")
log_and_message_admins("used the OOC escape button to revert back to their original form from being TFed into another mob.", src)
revert_mob_tf()
else if(istype(loc, /obj/item/holder/micro) && (istype(loc.loc, /obj/machinery/microwave)))
forceMove(get_turf(src))
log_and_message_admins("[key_name(src)] used the OOC escape button to get out of a microwave.")
log_and_message_admins("used the OOC escape button to get out of a microwave.", src)
else if(istype(loc, /obj/structure/gargoyle) && loc:was_rayed)
var/obj/structure/gargoyle/G = loc
G.can_revert = TRUE
qdel(G)
log_and_message_admins("[key_name(src)] used the OOC escape button to revert back from being petrified.")
log_and_message_admins("used the OOC escape button to revert back from being petrified.", src)
//CHOMPEdit - In-shoe OOC escape. Checking voices as precaution if something akin to obj TF or possession happens
else if(!istype(src, /mob/living/voice) && istype(src.loc, /obj/item/clothing/shoes))
@@ -715,13 +715,13 @@
if(F.food_inserted_micros)
F.food_inserted_micros -= src
src.forceMove(get_turf(F))
log_and_message_admins("[key_name(src)] used the OOC escape button to get out of a food item.")
log_and_message_admins("used the OOC escape button to get out of a food item.", src)
else if(src.alerts["leashed"])
var/obj/screen/alert/leash_pet/pet_alert = src.alerts["leashed"]
var/obj/item/leash/owner = pet_alert.master
owner.clear_leash()
log_and_message_admins("[key_name(src)] used the OOC escape button to get out of a leash.")
log_and_message_admins("used the OOC escape button to get out of a leash.", src)
//Don't appear to be in a vore situation
else
@@ -784,7 +784,7 @@
if(!prey.devourable)
to_chat(user, span_vnotice("They aren't able to be devoured."))
log_and_message_admins("[key_name_admin(src)] attempted to devour [key_name_admin(prey)] against their prefs ([prey ? ADMIN_JMP(prey) : "null"])")
log_and_message_admins("attempted to devour [key_name_admin(prey)] against their prefs ([prey ? ADMIN_JMP(prey) : "null"])", src)
return FALSE
if(prey.absorbed || pred.absorbed)
to_chat(user, span_vwarning("They aren't aren't in a state to be devoured."))
@@ -858,10 +858,10 @@
var/mob/living/carbon/victim = prey // Check for afk vore
if(istype(victim) && !victim.client && !victim.ai_holder && victim.ckey)
log_and_message_admins("[key_name_admin(pred)] ate [key_name_admin(prey)] whilst the prey was AFK ([pred ? ADMIN_JMP(pred) : "null"])")
log_and_message_admins("ate [key_name_admin(prey)] whilst the prey was AFK ([pred ? ADMIN_JMP(pred) : "null"])", pred)
var/mob/living/carbon/victim_pred = pred // Check for afk vore
if(istype(victim_pred) && !victim_pred.client && !victim_pred.ai_holder && victim_pred.ckey)
log_and_message_admins("[key_name_admin(pred)] ate [key_name_admin(prey)] whilst the pred was AFK ([pred ? ADMIN_JMP(pred) : "null"])")
log_and_message_admins("ate [key_name_admin(prey)] whilst the pred was AFK ([pred ? ADMIN_JMP(pred) : "null"])", pred)
// Inform Admins
if(pred == user)

View File

@@ -239,7 +239,7 @@
return
if(isvoice(inserted_mob) || W.loc == src) //Sanity.
return
log_and_message_admins("[user] has just placed [inserted_mob] into a mob transformation machine.", user)
log_and_message_admins("has just placed [inserted_mob] into a mob transformation machine.", user)
else
to_chat(user, span_notice("You cannot put \the [W] into the machine. ((The micro must be connected to the server.))"))
return
@@ -268,7 +268,7 @@
return
if(isvoice(inserted_mob) || W.loc == src)
return
log_and_message_admins("[user] has just placed [inserted_mob] into a mob transformation machine.", user)
log_and_message_admins("has just placed [inserted_mob] into a mob transformation machine.", user)
user.drop_item() //Dropping a grab destroys it.
//Grabs require a bit of extra work.
//We want them to drop their clothing/items as well.
@@ -507,7 +507,7 @@
return
if(isvoice(inserted_mob) || W.loc == src) //This is a sanity check to keep them from entering it multiple times.
return
log_and_message_admins("[user] has just placed [inserted_mob] into an item transformation machine.", user)
log_and_message_admins("has just placed [inserted_mob] into an item transformation machine.", user)
else
to_chat(user, span_notice("You cannot put \the [W] into the machine. ((The micro must be connected to the server.))"))
return
@@ -536,7 +536,7 @@
return
if(isvoice(inserted_mob) || W.loc == src)
return
log_and_message_admins("[user] has just placed [inserted_mob] into an item transformation machine.", user)
log_and_message_admins("has just placed [inserted_mob] into an item transformation machine.", user)
user.drop_item() //Dropping a grab destroys it.
//Grabs require a bit of extra work.
//We want them to drop their clothing/items as well.

View File

@@ -167,7 +167,7 @@
if(!M.vore_active)
add_verb(M, /mob/living/simple_mob/proc/animal_nom)
M.ghostjoin_icon()
log_and_message_admins("[key_name_admin(user)] used a sapience potion on a simple mob: [M]. [ADMIN_FLW(src)]")
log_and_message_admins("used a sapience potion on a simple mob: [M]. [ADMIN_FLW(src)]", user)
playsound(src, 'sound/effects/bubbles.ogg', 50, 1)
qdel(src)