From 9cb06747fbf6cdb57c113e636465a57a9f73952d Mon Sep 17 00:00:00 2001 From: Kashargul <144968721+Kashargul@users.noreply.github.com> Date: Wed, 4 Dec 2024 01:49:13 +0100 Subject: [PATCH] some robot interacts for closeby things --- code/game/objects/structures/curtains.dm | 8 ++++++++ code/game/objects/structures/mirror.dm | 14 ++++++++++---- code/game/turfs/simulated/wall_attacks.dm | 7 +++++++ code/modules/tgui/modules/appearance_changer.dm | 7 +++++++ 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 73a0beb8935..3ab4c032c21 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -26,6 +26,14 @@ toggle() ..() +/obj/structure/curtain/attack_ai(mob/user) + if(!Adjacent(user)) + return + if(!isrobot((user))) + return + playsound(src, "rustle", 15, 1, -5) + toggle() + /obj/structure/curtain/proc/toggle() set_opacity(!opacity) if(opacity) diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index d3caa34c3ed..447f02eeeba 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -11,7 +11,7 @@ var/glass = 1 var/datum/tgui_module/appearance_changer/mirror/M -/obj/structure/mirror/Initialize(mapload, var/dir, var/building = 0, mob/user as mob) +/obj/structure/mirror/Initialize(mapload, var/dir, var/building = 0) M = new(src, null) if(building) glass = 0 @@ -24,12 +24,18 @@ QDEL_NULL(M) . = ..() -/obj/structure/mirror/attack_hand(mob/user as mob) +/obj/structure/mirror/attack_hand(mob/user) if(!glass) return if(shattered) return - if(ishuman(user)) - M.tgui_interact(user) + M.tgui_interact(user) + +/obj/structure/mirror/attack_ai(mob/user) + if(!glass) return + if(shattered) return + if(!Adjacent(user)) return + + M.tgui_interact(user) /obj/structure/mirror/proc/shatter() if(!glass) return diff --git a/code/game/turfs/simulated/wall_attacks.dm b/code/game/turfs/simulated/wall_attacks.dm index cfc998f72a1..df6aa9320b6 100644 --- a/code/game/turfs/simulated/wall_attacks.dm +++ b/code/game/turfs/simulated/wall_attacks.dm @@ -92,6 +92,13 @@ toggle_open(user) return 0 +/turf/simulated/wall/attack_ai(var/mob/user) + if(!Adjacent(user)) + return + if(!isrobot((user))) + return + var/rotting = (locate(/obj/effect/overlay/wallrot) in src) + try_touch(user, rotting) /turf/simulated/wall/attack_hand(var/mob/user) diff --git a/code/modules/tgui/modules/appearance_changer.dm b/code/modules/tgui/modules/appearance_changer.dm index 8244d7f243c..fd916a1af20 100644 --- a/code/modules/tgui/modules/appearance_changer.dm +++ b/code/modules/tgui/modules/appearance_changer.dm @@ -65,6 +65,13 @@ whitelist = species_whitelist blacklist = species_blacklist +/datum/tgui_module/appearance_changer/tgui_close(mob/user) + . = ..() + if(owner == user) + UnregisterSignal(owner, COMSIG_OBSERVER_MOVED) + owner = null + close_ui() + /datum/tgui_module/appearance_changer/Destroy() UnregisterSignal(owner, COMSIG_OBSERVER_MOVED) owner = null