[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. //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.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()]" 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 //VOREStation Edit Start
var/depart_announce = TRUE 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) /obj/effect/step_trigger/death/Trigger(var/atom/movable/A)
if(isliving(A)) if(isliving(A))
to_chat(A, span_danger("[deathmessage]")) to_chat(A, span_danger("[deathmessage]"))
log_and_message_admins("[A] [deathalert]") log_and_message_admins("[deathalert]", A)
qdel(A) qdel(A)
/obj/effect/step_trigger/death/train_lost /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]!")) 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(do_after(user,35 SECONDS,M))
if(user.mind && M.mind && M.stat != DEAD && user.stat != DEAD) 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.")) to_chat(user,span_notice("Your minds have been swapped! Have a nice day."))
var/datum/mind/user_mind = user.mind var/datum/mind/user_mind = user.mind
var/datum/mind/prey_mind = M.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. /// 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) /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 active_ghost_pods -= src
// Move the ghost in // Move the ghost in
@@ -163,7 +163,7 @@
target.ghostjoin_icon() target.ghostjoin_icon()
last_used = world.time last_used = world.time
charges-- 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") target.visible_message("[target]'s eyes widen, as though in revelation as it looks at [user].", runemessage = "eyes widen")
if(charges == 0) if(charges == 0)
icon_state = "[initial(icon_state)]-o" icon_state = "[initial(icon_state)]-o"
@@ -185,7 +185,7 @@
target.see_invisible = initial(target.see_invisible) target.see_invisible = initial(target.see_invisible)
target.update_icon() target.update_icon()
visible_message("[target] lifts its head and looks at [user].", runemessage = "lifts its head and looks at [user]") 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. 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 target.ghostjoin = 1
active_ghost_pods |= target active_ghost_pods |= target

View File

@@ -20,7 +20,7 @@
if(!shuttle_tag) if(!shuttle_tag)
shuttle_tag = auto_detect_shuttle(M) // We don't have a preset tag, so lets try to auto-link. 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)) 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]") M.ping("[M] auto-links with shuttle [shuttle_tag]")
// Return shuttle_tag of shuttle of current area // Return shuttle_tag of shuttle of current area

View File

@@ -196,7 +196,7 @@
createStealthKey() createStealthKey()
if(isnewplayer(mob)) if(isnewplayer(mob))
mob.name = new_key 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! 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 #define MAX_WARNS 3

View File

@@ -46,7 +46,7 @@
if(!check_rights_for(ui.user.client, R_SPAWN)) if(!check_rights_for(ui.user.client, R_SPAWN))
return 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) switch(action)
@@ -714,7 +714,7 @@
new chosen_NIF(Tar) new chosen_NIF(Tar)
else else
new /obj/item/nif(Tar) 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") if("resize")
user.client.resize(target) user.client.resize(target)
@@ -814,7 +814,7 @@
var/reply = tgui_input_text(target, "An admin has sent you a message: [message]", "Reply") var/reply = tgui_input_text(target, "An admin has sent you a message: [message]", "Reply")
if(!reply) if(!reply)
return 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") if("stop-orbits")
//CHOMPEdit Start //CHOMPEdit Start

View File

@@ -1600,7 +1600,7 @@
usr.on_mob_jump() usr.on_mob_jump()
usr.forceMove(T) 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! 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 else
to_chat(usr, span_filter_adminlog("This mob is not located in the game world.")) to_chat(usr, span_filter_adminlog("This mob is not located in the game world."))

View File

@@ -47,5 +47,5 @@
else else
new /obj/item/nif(H) 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! 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) for(var/obj/effect/landmark/event_trigger/ET in others_list)
ET.delete_me = TRUE ET.delete_me = TRUE
qdel(ET) 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 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) 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") 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) for(var/obj/effect/landmark/event_trigger/ET in others_list)
ET.delete_me = TRUE ET.delete_me = TRUE
qdel(ET) 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)) else if(istype(choice, /obj/effect/landmark/event_trigger))
var/obj/effect/landmark/event_trigger/ET = choice 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) 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") Only proceed if you are absolutely certain.", "Force Delete", list("Confirm", "Cancel")) == "Confirm")
ET.delete_me = TRUE ET.delete_me = TRUE
qdel(ET) 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 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) 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") if(!confirm || confirm == "Go Back")
return return
ET.delete_me = TRUE ET.delete_me = TRUE
qdel(ET) 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)" var/fake_lightning = result == "Yes (Cosmetic)"
lightning_strike(get_turf(usr), fake_lightning) 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]). \ 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>)") (<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_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. #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.")) to_chat(usr, span_danger("[target] was recently reset, you must wait until module selection has been completed before continuing modifying."))
continue 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! 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) switch(modification_choice)

View File

@@ -11,7 +11,7 @@
CONFIG_SET(flag/panic_bunker, !CONFIG_GET(flag/panic_bunker)) 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 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.") 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! 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)) 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 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.") 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! 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)) 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 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).") 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! 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 human_cryopods[listname] = CP
//Gotta log this up here before they get ghostized and lose their key or anything. //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! 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)) if(ishuman(M))

View File

@@ -16,7 +16,7 @@
if(!smite_choice) if(!smite_choice)
return 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! 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) switch(smite_choice)
@@ -214,7 +214,7 @@
return return
to_chat(target,"You've been hit by bluespace artillery!") 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) 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 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()) if(query.Execute())
to_chat(src, span_notice("Registration complete! Thank you for taking the time to register your Discord ID.")) 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 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]") notes_add(ckey, "Discord ID: [their_id]")
world.VgsAddMemberRole(their_id) world.VgsAddMemberRole(their_id)
qdel(query) //CHOMPEdit TGSQL qdel(query) //CHOMPEdit TGSQL
else else
to_chat(src, span_warning("There was an error registering your Discord ID in the database. Contact an administrator.")) 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 qdel(query) //CHOMPEdit TGSQL
return return
//VOREStation Add End //VOREStation Add End
@@ -450,7 +450,7 @@
//Log it //Log it
if(CONFIG_GET(flag/paranoia_logging)) //We don't block, but we want paranoia log messages 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 else //We just log it
log_admin("[key] at [address] has bad IP reputation: [ip_reputation]. Will be kicked if enabled in config.") 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 dir = dt.dir
log_admin("[src] has been placed at [loc], [x],[y],[z]") log_admin("[src] has been placed at [loc], [x],[y],[z]")
else 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. /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" name = "trader mover"

View File

@@ -95,7 +95,7 @@ GLOBAL_LIST_EMPTY(unique_deployable)
playsound(src, 'sound/effects/phasein.ogg', 100, 1) 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) if(above_location)
template.add_roof(above_location) template.add_roof(above_location)
template.annihilate_plants(deploy_location) template.annihilate_plants(deploy_location)

View File

@@ -196,23 +196,23 @@
qdel(src) qdel(src)
/mob/living/simple_mob/slime/xenobio/dark_purple/ex_act(severity) /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() ignite()
/mob/living/simple_mob/slime/xenobio/dark_purple/fire_act(datum/gas_mixture/air, temperature, volume) /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() ignite()
/mob/living/simple_mob/slime/xenobio/dark_purple/bullet_act(var/obj/item/projectile/P, var/def_zone) /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. 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() ignite()
else else
..() ..()
/mob/living/simple_mob/slime/xenobio/dark_purple/attackby(var/obj/item/W, var/mob/user) /mob/living/simple_mob/slime/xenobio/dark_purple/attackby(var/obj/item/W, var/mob/user)
if(istype(W) && W.force && W.damtype == BURN) 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() ignite()
else else
..() ..()
@@ -656,29 +656,29 @@
say(pick("Sacrifice...!", "Sssss...", "Boom...!")) say(pick("Sacrifice...!", "Sssss...", "Boom...!"))
set_AI_busy(TRUE) set_AI_busy(TRUE)
sleep(2 SECONDS) 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() explode()
return ..() return ..()
/mob/living/simple_mob/slime/xenobio/oil/ex_act(severity) /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() explode()
/mob/living/simple_mob/slime/xenobio/oil/fire_act(datum/gas_mixture/air, temperature, volume) /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() explode()
/mob/living/simple_mob/slime/xenobio/oil/bullet_act(obj/item/projectile/P, def_zone) /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. 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() explode()
else else
..() ..()
/mob/living/simple_mob/slime/xenobio/oil/attackby(obj/item/W, mob/living/user) /mob/living/simple_mob/slime/xenobio/oil/attackby(obj/item/W, mob/living/user)
if(istype(W) && W.force && W.damtype == BURN) 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() explode()
else else
..() ..()

View File

@@ -166,7 +166,7 @@
pred_body.ooc_notes_maybes = pred_ooc_maybes pred_body.ooc_notes_maybes = pred_ooc_maybes
pred_body.ooc_notes_style = pred_ooc_style pred_body.ooc_notes_style = pred_ooc_style
//CHOMPEdit End //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.absorb_langs()
pred_body.prey_controlled = FALSE pred_body.prey_controlled = FALSE
qdel(src) qdel(src)
@@ -318,7 +318,7 @@
pred_brain.real_name = pred.real_name pred_brain.real_name = pred.real_name
pred.ckey = pred_brain.prey_ckey pred.ckey = pred_brain.prey_ckey
pred.prey_controlled = TRUE 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) if(delete_source)
qdel(prey) qdel(prey)
@@ -602,6 +602,6 @@
pred_brain.real_name = pred.real_name pred_brain.real_name = pred.real_name
pred.ckey = pred_brain.prey_ckey pred.ckey = pred_brain.prey_ckey
pred.prey_controlled = TRUE 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) if(delete_source)
qdel(prey) qdel(prey)

View File

@@ -295,7 +295,7 @@
L.pulledby.stop_pulling() L.pulledby.stop_pulling()
stop_pulling() stop_pulling()
original_ckey = ckey 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) new /mob/living/simple_mob/vore/morph/dominated_prey(L.vore_selected, L.ckey, src, L)
else else
to_chat(src, span_warning("\The [L] declined your request for control.")) to_chat(src, span_warning("\The [L] declined your request for control."))
@@ -362,13 +362,13 @@
parent_morph.forceMove(get_turf(src)) parent_morph.forceMove(get_turf(src))
parent_morph.ckey = parent_morph.original_ckey parent_morph.ckey = parent_morph.original_ckey
prey_body.ckey = prey_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 else
parent_morph.forceMove(get_turf(prey_body)) parent_morph.forceMove(get_turf(prey_body))
parent_morph.ckey = parent_morph.original_ckey parent_morph.ckey = parent_morph.original_ckey
prey_body.ckey = prey_ckey prey_body.ckey = prey_ckey
prey_body.forceMove(parent_morph.vore_selected) 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) qdel(src)
#undef MORPH_COOLDOWN #undef MORPH_COOLDOWN

View File

@@ -58,7 +58,7 @@
user.visible_message(span_notice("[user] smashes [src] on [comp]"), 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_info("You smash [src] on [comp], christening a new landable ship named [S.name]"),
span_notice("You hear glass shattering")) 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) spawn(1 SECOND)
playsound(comp_turf, 'sound/voice/Serithi/Shuttlehere.ogg', 75, 0) playsound(comp_turf, 'sound/voice/Serithi/Shuttlehere.ogg', 75, 0)
qdel(src) qdel(src)

View File

@@ -188,7 +188,7 @@
/obj/machinery/power/rtg/abductor/bullet_act(obj/item/projectile/Proj) /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))) 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() asplod()
/obj/machinery/power/rtg/abductor/attack_hand(var/mob/living/user) /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) /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) 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() asplod()
/obj/machinery/power/rtg/reg /obj/machinery/power/rtg/reg

View File

@@ -739,7 +739,7 @@
in_chamber.on_hit(M) in_chamber.on_hit(M)
if(in_chamber.damage_type != HALLOSS && !in_chamber.nodamage) 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.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() user.death()
else if(in_chamber.damage_type == HALLOSS) else if(in_chamber.damage_type == HALLOSS)

View File

@@ -432,7 +432,7 @@
infect_chance = 0 infect_chance = 0
infect_chance += (targets.len-1)*10 //Extra 10% per extra target infect_chance += (targets.len-1)*10 //Extra 10% per extra target
if(prob(infect_chance)) 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) infect_limb(eo)
//75% chance to spread a virus if we have one //75% chance to spread a virus if we have one

View File

@@ -546,7 +546,7 @@
if(prob(75)) if(prob(75))
AM.forceMove(src) AM.forceMove(src)
if(istype(AM, /obj/item/holder/micro) || istype(AM, /mob/living)) 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]!") 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() //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 //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)) if(prob(75))
I.forceMove(src) I.forceMove(src)
if(istype(I, /obj/item/holder/micro)) 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)) for(var/mob/M in viewers(src))
M.show_message("\The [I] lands in \the [src].", 3) M.show_message("\The [I] lands in \the [src].", 3)
else else

View File

@@ -266,14 +266,14 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic
return return
if(cid && !isnum(cid) && !(cid == "")) 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 == "")) 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) var/list/ban = world.IsBanned(key = ckey, address = ip, computer_id = cid)
if(ban) 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, //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. // exporting it as text, and then parsing the base64 from that.

View File

@@ -124,7 +124,7 @@
///// If user clicked on themselves ///// If user clicked on themselves
if(src == G.assailant && is_vore_predator(src)) if(src == G.assailant && is_vore_predator(src))
if(istype(victim) && !victim.client && !victim.ai_holder) 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)) if(feed_grabbed_to_self(src, G.affecting))
qdel(G) qdel(G)
return TRUE return TRUE
@@ -134,10 +134,10 @@
///// If user clicked on their grabbed target ///// 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))) 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. 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) if(!G.affecting.feeding)
to_chat(user, span_vnotice("[G.affecting] isn't willing to be fed.")) 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 return FALSE
if(attacker.feed_self_to_grabbed(attacker, G.affecting)) if(attacker.feed_self_to_grabbed(attacker, G.affecting))
@@ -149,18 +149,18 @@
///// If user clicked on anyone else but their grabbed target ///// If user clicked on anyone else but their grabbed target
else if((src != G.affecting) && (src != G.assailant) && (is_vore_predator(src))) else if((src != G.affecting) && (src != G.assailant) && (is_vore_predator(src)))
if(istype(victim) && !victim.client && !victim.ai_holder) 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 var/mob/living/carbon/victim_fed = src
if(istype(victim_fed) && !victim_fed.client && !victim_fed.ai_holder) 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) if(!feeding)
to_chat(user, span_vnotice("[src] isn't willing to be fed.")) 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 return FALSE
if(!(G.affecting.devourable)) if(!(G.affecting.devourable))
to_chat(user, span_vnotice("[G.affecting] isn't able to be devoured.")) 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 return FALSE
if(attacker.feed_grabbed_to_other(attacker, G.affecting, src)) if(attacker.feed_grabbed_to_other(attacker, G.affecting, src))
qdel(G) qdel(G)
@@ -626,7 +626,7 @@
SetSleeping(0) //Wake up instantly if asleep SetSleeping(0) //Wake up instantly if asleep
for(var/mob/living/simple_mob/SA in range(10)) for(var/mob/living/simple_mob/SA in range(10))
LAZYSET(SA.prey_excludes, src, world.time) 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. B.owner.update_fullness() //CHOMPEdit - This is run whenever a belly's contents are changed.
if(!ishuman(B.owner)) if(!ishuman(B.owner))
@@ -641,14 +641,14 @@
if(confirm != "Okay" || loc != belly) if(confirm != "Okay" || loc != belly)
return return
//Actual escaping //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. belly.go_out(src) //Just force-ejects from the borg as if they'd clicked the eject button.
//You're in an AI hologram! //You're in an AI hologram!
else if(istype(loc, /obj/effect/overlay/aiholo)) else if(istype(loc, /obj/effect/overlay/aiholo))
var/obj/effect/overlay/aiholo/holo = loc var/obj/effect/overlay/aiholo/holo = loc
holo.drop_prey() //Easiest way 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!)) //You're in a capture crystal! ((It's not vore but close enough!))
else if(iscapturecrystal(loc)) else if(iscapturecrystal(loc))
@@ -657,7 +657,7 @@
crystal.bound_mob = null crystal.bound_mob = null
crystal.bound_mob = capture_crystal = 0 crystal.bound_mob = capture_crystal = 0
clear_fullscreen(ATOM_BELLY_FULLSCREEN) // CHOMPedit 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! //You've been turned into an item!
else if(tf_mob_holder && isvoice(src) && istype(src.loc, /obj/item)) else if(tf_mob_holder && isvoice(src) && istype(src.loc, /obj/item))
@@ -680,28 +680,28 @@
//CHOMPEdit End //CHOMPEdit End
if(istype(src.loc, /obj/item/clothing)) //Are they in clothes? Delete the item then revert them. if(istype(src.loc, /obj/item/clothing)) //Are they in clothes? Delete the item then revert them.
qdel(item_to_destroy) 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() revert_mob_tf()
else //Are they in any other type of object? If qdel is done first, the mob is deleted from the world. 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)) forceMove(get_turf(src))
qdel(item_to_destroy) 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() revert_mob_tf()
//You've been turned into a mob! //You've been turned into a mob!
else if(tf_mob_holder) 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() revert_mob_tf()
else if(istype(loc, /obj/item/holder/micro) && (istype(loc.loc, /obj/machinery/microwave))) else if(istype(loc, /obj/item/holder/micro) && (istype(loc.loc, /obj/machinery/microwave)))
forceMove(get_turf(src)) 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) else if(istype(loc, /obj/structure/gargoyle) && loc:was_rayed)
var/obj/structure/gargoyle/G = loc var/obj/structure/gargoyle/G = loc
G.can_revert = TRUE G.can_revert = TRUE
qdel(G) 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 //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)) else if(!istype(src, /mob/living/voice) && istype(src.loc, /obj/item/clothing/shoes))
@@ -715,13 +715,13 @@
if(F.food_inserted_micros) if(F.food_inserted_micros)
F.food_inserted_micros -= src F.food_inserted_micros -= src
src.forceMove(get_turf(F)) 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"]) else if(src.alerts["leashed"])
var/obj/screen/alert/leash_pet/pet_alert = src.alerts["leashed"] var/obj/screen/alert/leash_pet/pet_alert = src.alerts["leashed"]
var/obj/item/leash/owner = pet_alert.master var/obj/item/leash/owner = pet_alert.master
owner.clear_leash() 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 //Don't appear to be in a vore situation
else else
@@ -784,7 +784,7 @@
if(!prey.devourable) if(!prey.devourable)
to_chat(user, span_vnotice("They aren't able to be devoured.")) 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 return FALSE
if(prey.absorbed || pred.absorbed) if(prey.absorbed || pred.absorbed)
to_chat(user, span_vwarning("They aren't aren't in a state to be devoured.")) 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 var/mob/living/carbon/victim = prey // Check for afk vore
if(istype(victim) && !victim.client && !victim.ai_holder && victim.ckey) 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 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) 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 // Inform Admins
if(pred == user) if(pred == user)

View File

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

View File

@@ -167,7 +167,7 @@
if(!M.vore_active) if(!M.vore_active)
add_verb(M, /mob/living/simple_mob/proc/animal_nom) add_verb(M, /mob/living/simple_mob/proc/animal_nom)
M.ghostjoin_icon() 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) playsound(src, 'sound/effects/bubbles.ogg', 50, 1)
qdel(src) qdel(src)