From 63bc69c4518da52c962f2eb62c104ac0300118db Mon Sep 17 00:00:00 2001 From: Xander3359 <66163761+Xander3359@users.noreply.github.com> Date: Wed, 26 Jun 2024 05:25:16 -0400 Subject: [PATCH] remove intento --- code/game/objects/structures/window.dm | 17 ++++++++++++----- code/game/objects/structures/window_frame.dm | 16 ++++++++++++---- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index c6bacacc24b7d..621b403abfb29 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -157,15 +157,15 @@ take_damage(damage * 2, BRUTE, MELEE) return TRUE -/obj/structure/window/attackby(obj/item/I, mob/user, params) +/obj/structure/window/attackby(obj/item/attacking_item, mob/user, params) . = ..() if(.) - return + return TRUE - if(I.item_flags & NOBLUDGEON) + if(attacking_item.item_flags & NOBLUDGEON) return - else if(isscrewdriver(I) && deconstructable) + else if(isscrewdriver(attacking_item) && deconstructable) dismantle = TRUE if(reinf && state >= 1) state = 3 - state @@ -184,12 +184,19 @@ else if(!reinf || (static_frame && state == 0)) deconstruct(TRUE) - else if(iscrowbar(I) && reinf && state <= 1 && deconstructable) + else if(iscrowbar(attacking_item) && reinf && state <= 1 && deconstructable) dismantle = TRUE state = 1 - state playsound(loc, 'sound/items/crowbar.ogg', 25, 1) to_chat(user, (state ? span_notice("You have pried the window into the frame.") : span_notice("You have pried the window out of the frame."))) + if(user.a_intent == INTENT_HARM) + return + + if(!(obj_flags & CAN_BE_HIT)) + return + + return attacking_item.attack_obj(src, user) /obj/structure/window/deconstruct(disassembled = TRUE) if(disassembled) diff --git a/code/game/objects/structures/window_frame.dm b/code/game/objects/structures/window_frame.dm index 2664aa292623f..f997d3020095e 100644 --- a/code/game/objects/structures/window_frame.dm +++ b/code/game/objects/structures/window_frame.dm @@ -62,15 +62,15 @@ new /obj/alien/weeds(loc) return ..() -/obj/structure/window_frame/attackby(obj/item/I, mob/user, params) +/obj/structure/window_frame/attackby(obj/item/attacking_item, mob/user, params) . = ..() if(.) return - if(istype(I, sheet_type)) - var/obj/item/stack/sheet/sheet = I + if(istype(attacking_item, sheet_type)) + var/obj/item/stack/sheet/sheet = attacking_item if(sheet.get_amount() < 2) - to_chat(user, span_warning("You need more [I] to install a new window.")) + to_chat(user, span_warning("You need more [attacking_item] to install a new window.")) return user.visible_message(span_notice("[user] starts installing a new glass window on the frame."), \ span_notice("You start installing a new window on the frame.")) @@ -85,6 +85,14 @@ new window_type(loc) //This only works on Theseus windows! qdel(src) + if(user.a_intent == INTENT_HARM) + return + + if(!(obj_flags & CAN_BE_HIT)) + return + + return attacking_item.attack_obj(src, user) + /obj/structure/window_frame/grab_interact(obj/item/grab/grab, mob/user, base_damage = BASE_OBJ_SLAM_DAMAGE, is_sharp = FALSE) . = ..() if(.)