diff --git a/code/defines/obj/closet.dm b/code/defines/obj/closet.dm index 697033451d4..dd3c19be240 100644 --- a/code/defines/obj/closet.dm +++ b/code/defines/obj/closet.dm @@ -75,7 +75,7 @@ /obj/structure/closet/fireaxecabinet name = "Fire Axe Cabinet" desc = "There is small label that reads \"For Emergency use only\" along with details for safe use of the axe. As if." - var/obj/item/weapon/fireaxe/FIREAXE = new/obj/item/weapon/fireaxe + var/obj/item/weapon/fireaxe/fireaxe = new/obj/item/weapon/fireaxe icon_state = "fireaxe1000" icon_closed = "fireaxe1000" icon_opened = "fireaxe1100" @@ -91,7 +91,7 @@ //..() //That's very useful, Erro var/hasaxe = 0 //gonna come in handy later~ - if(FIREAXE) + if(fireaxe) hasaxe = 1 if (isrobot(usr) || src.locked) @@ -121,11 +121,11 @@ update_icon() return if (istype(O, /obj/item/weapon/fireaxe) && src.localopened) - if(!FIREAXE) + if(!fireaxe) if(O.wielded) user << "\red Unwield the axe first." return - FIREAXE = O + fireaxe = O user.drop_item(O) src.contents += O user << "\blue You place the fire axe back in the [src.name]." @@ -172,16 +172,16 @@ attack_hand(mob/user as mob) var/hasaxe = 0 - if(FIREAXE) + if(fireaxe) hasaxe = 1 if(src.locked) user <<"\red The cabinet won't budge!" return if(localopened) - if(FIREAXE) - user.put_in_hand(FIREAXE) - FIREAXE = null + if(fireaxe) + user.put_in_hand(fireaxe) + fireaxe = null user << "\blue You take the fire axe from the [name]." src.add_fingerprint(user) update_icon() @@ -228,9 +228,9 @@ return if (localopened) - if(FIREAXE) - usr.put_in_hand(FIREAXE) - FIREAXE = null + if(fireaxe) + usr.put_in_hand(fireaxe) + fireaxe = null usr << "\blue You take the Fire axe from the [name]." else usr << "\blue The [src.name] is empty." @@ -256,7 +256,7 @@ update_icon() //Template: fireaxe[has fireaxe][is opened][hits taken][is smashed]. If you want the opening or closing animations, add "opening" or "closing" right after the numbers var/hasaxe = 0 - if(FIREAXE) + if(fireaxe) hasaxe = 1 icon_state = text("fireaxe[][][][]",hasaxe,src.localopened,src.hitstaken,src.smashed) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 36cfdafc078..d582225d63f 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -592,7 +592,7 @@ flags = ONBACK twohanded = 1 force_unwielded = 5 - force_wielded = 30 + force_wielded = 18 /obj/item/weapon/cane name = "cane" diff --git a/code/game/objects/weapons.dm b/code/game/objects/weapons.dm index c7552ec1e81..4b0c016d620 100644 --- a/code/game/objects/weapons.dm +++ b/code/game/objects/weapons.dm @@ -201,3 +201,17 @@ for(var/mob/O in viewers(src, null)) O.show_message(text("\red The mousetrap is triggered by [A]."), 1) src.triggered(null) + +/obj/item/weapon/fireaxe/afterattack(atom/A as mob|obj|turf|area, mob/user as mob) + ..() + if(A && wielded && (istype(A,/obj/structure/window) || istype(A,/obj/structure/grille))) //destroys windows and grilles in one hit + if(istype(A,/obj/structure/window)) //should just make a window.Break() proc but couldn't bother with it + var/obj/structure/window/W = A + + new /obj/item/weapon/shard( W.loc ) + if(W.reinf) new /obj/item/stack/rods( W.loc) + + if (W.dir == SOUTHWEST) + new /obj/item/weapon/shard( W.loc ) + if(W.reinf) new /obj/item/stack/rods( W.loc) + del(A) \ No newline at end of file