diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 47857ee4fa1..4497f170a2d 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -17,6 +17,11 @@ if(A.attack_hulk(src)) return + if(buckled && isstructure(buckled)) + var/obj/structure/S = buckled + if(S.prevents_buckled_mobs_attacking()) + return + A.attack_hand(src) /atom/proc/attack_hand(mob/user as mob) diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index b1ed99357ad..bd8ca8c024b 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -163,3 +163,6 @@ if(0 to 25) if(!broken) return "It's falling apart!" + +/obj/structure/proc/prevents_buckled_mobs_attacking() + return FALSE diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm index b303df8079a..b7339086a68 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm @@ -89,3 +89,6 @@ return attack_hand(user) else return ..() + +/obj/structure/bed/nest/prevents_buckled_mobs_attacking() + return TRUE