[MIRROR] Hammers for hurting people (#9456)
Co-authored-by: SatinIsle <98125273+SatinIsle@users.noreply.github.com>
@@ -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)
|
||||
|
||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 52 KiB |