[MIRROR] Hammers for hurting people (#9456)

Co-authored-by: SatinIsle <98125273+SatinIsle@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2024-11-10 06:20:45 +01:00
committed by GitHub
co-authored by SatinIsle
parent 35c984add2
commit 491b7c027c
6 changed files with 60 additions and 2 deletions
+21 -1
View File
@@ -16,4 +16,24 @@
else
M.ClearTransform()
M.update_transform()
return ..()
return ..()
// Do not ever just leave this laying about, it will go horribly wrong!
/obj/item/squishhammer/dark
name = "The Dark Short Stacker"
desc = "Wield the power of this weapon with responsibility (God knows you won't)."
icon = 'icons/obj/items.dmi'
icon_state = "dark_hammer"
attack_verb = list("stacked")
force = 0
throwforce = 0
/obj/item/squishhammer/dark/attack(mob/M as mob, mob/user as mob)
..()
var/mob/living/carbon/human/H = M
if(istype(H))
for(var/obj/item/organ/external/E in H.organs)
E.fracture() // Oof, ouch, owie
var/turf/T = M.loc
if(isturf(T))
new /obj/effect/gibspawner/generic(T)
@@ -13,4 +13,42 @@
sharp = TRUE
edge = FALSE
attack_verb = list("stabbed", "lunged at", "dextrously struck", "sliced", "lacerated", "impaled", "diced", "charioted")
hitsound = 'sound/weapons/bladeslice.ogg'
hitsound = 'sound/weapons/bladeslice.ogg'
/obj/item/melee/hammer
name = "claw hammer"
desc = "A simple claw hammer for hitting things or people with, and the claw part probably does something too."
icon = 'icons/obj/weapons.dmi'
icon_state = "claw_hammer"
force = 15
throwforce = 10
w_class = ITEMSIZE_SMALL
attack_verb = list("smashed", "swung at", "pummelled", "nailed", "crushed", "bonked", "hammered", "cracked")
defend_chance = 0
/obj/item/melee/hammer/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone, var/attack_modifier)
if(istype(target,/mob/living/carbon/human))
var/mob/living/carbon/human/H = target
if(prob(50))
var/obj/item/organ/external/affecting = H.get_organ(hit_zone)
affecting.fracture()
return ..()
/obj/item/melee/hammer/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity)
if(!proximity) return
..()
if(A)
if(istype(A,/obj/structure/window))
var/obj/structure/window/W = A
if(prob(50))
W.visible_message(span_warning("\The [W] shatters under the force of the impact!"))
W.shatter()
else if(istype(A,/obj/structure/barricade))
var/obj/structure/barricade/B = A
if(prob(50))
B.visible_message(span_warning("\The [B] is broken apart with ease!"))
B.dismantle()
else if(istype(A,/obj/structure/grille))
if(prob(50))
A.visible_message(span_warning("\The [A] is smashed open!"))
qdel(A)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 52 KiB