Merge remote-tracking branch 'upstream/master' into kk-rings

This commit is contained in:
Killian
2024-11-10 15:12:24 +00:00
32 changed files with 444 additions and 137 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)
@@ -108,12 +108,12 @@
if(M == user)
if(!M.can_eat(loaded))
return
M.visible_message(span_bold("\The [user]") + "eats some of [loaded] with \the [src].")
M.visible_message(span_bold("\The [user]") + " eats some of [loaded] with \the [src].")
else
user.visible_message(span_warning("\The [user] begins to feed \the [M]!"))
if(!(M.can_force_feed(user, loaded) && do_mob(user, M, 5 SECONDS)))
return
M.visible_message(span_bold("\The [user]") + "feeds some of [loaded] to \the [M] with \the [src].")
M.visible_message(span_bold("\The [user]") + " feeds some of [loaded] to \the [M] with \the [src].")
playsound(src,'sound/items/eatfood.ogg', rand(10,40), 1)
loaded = null
update_icon()
@@ -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)