diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm
index 13039e94f3a..ad78b5bb49d 100644
--- a/code/modules/vore/eating/living_vr.dm
+++ b/code/modules/vore/eating/living_vr.dm
@@ -92,6 +92,7 @@
//Handle case: /obj/item/weapon/grab
if(istype(I, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = I
+ var/mob/living/carbon/victim = G.affecting
//Has to be aggressive grab, has to be living click-er and non-silicon grabbed
if(G.state >= GRAB_AGGRESSIVE && (isliving(user) && !issilicon(G.affecting)))
@@ -101,6 +102,8 @@
///// 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"])")
if(feed_grabbed_to_self(src, G.affecting))
qdel(G)
return TRUE
@@ -109,6 +112,8 @@
///// 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"])")
if(!G.affecting.feeding)
to_chat(user, "[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"])")
@@ -122,6 +127,12 @@
///// 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"])")
+ 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"])")
+
if(!feeding)
to_chat(user, "[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"])")
@@ -624,6 +635,13 @@
user.update_icon()
+ var/mob/living/carbon/victim = prey // Check for afk vore
+ if(istype(victim) && !victim.client && !victim.ai_holder)
+ log_and_message_admins("[key_name_admin(pred)] ate [key_name_admin(prey)] whilst the prey was AFK ([pred ? ADMIN_JMP(pred) : "null"])")
+ var/mob/living/carbon/victim_pred = pred // Check for afk vore
+ if(istype(victim_pred) && !victim_pred.client && !victim_pred.ai_holder)
+ log_and_message_admins("[key_name_admin(pred)] ate [key_name_admin(prey)] whilst the pred was AFK ([pred ? ADMIN_JMP(pred) : "null"])")
+
// Inform Admins
if(pred == user)
add_attack_logs(pred, prey, "Eaten via [belly.name]")
diff --git a/vorestation.dme b/vorestation.dme
index 30cc4ececb1..601246f923d 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -4290,7 +4290,6 @@
#include "maps\expedition_vr\beach\submaps\mountains.dm"
#include "maps\expedition_vr\beach\submaps\mountains_areas.dm"
#include "maps\gateway_archive_vr\blackmarketpackers.dm"
-#include "maps\tether\tether.dm"
#include "maps\redgate\fantasy_items.dm"
#include "maps\redgate\falls\atoll_decals.dm"
#include "maps\redgate\falls\atoll_objs.dm"
@@ -4311,5 +4310,6 @@
#include "maps\submaps\space_submaps\debrisfield\debrisfield.dm"
#include "maps\submaps\surface_submaps\wilderness\wilderness.dm"
#include "maps\submaps\surface_submaps\wilderness\wilderness_areas.dm"
+#include "maps\tether\tether.dm"
#include "maps\~map_system\maps.dm"
// END_INCLUDE