diff --git a/code/datums/uplink_items/uplink_general.dm b/code/datums/uplink_items/uplink_general.dm index 9c6078da7b3d..b9674ce61927 100644 --- a/code/datums/uplink_items/uplink_general.dm +++ b/code/datums/uplink_items/uplink_general.dm @@ -379,7 +379,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) desc = "A straightforward and fairly concealable melee weapon for bludgeoning someone to death in brutal fashion. This one is designed specifically to cause severe organ damage to the victim." reference = "SKD" item = /obj/item/melee/knuckleduster/syndie - cost = 5 + cost = 10 cant_discount = TRUE // GRENADES AND EXPLOSIVES diff --git a/code/game/objects/items/weapons/knuckledusters.dm b/code/game/objects/items/weapons/knuckledusters.dm index 8e1248df5ba1..138482aa43bf 100644 --- a/code/game/objects/items/weapons/knuckledusters.dm +++ b/code/game/objects/items/weapons/knuckledusters.dm @@ -4,19 +4,18 @@ icon = 'icons/obj/knuckleduster.dmi' icon_state = "knuckleduster" flags = CONDUCT - force = 5 + force = 10 throwforce = 3 w_class = WEIGHT_CLASS_SMALL resistance_flags = FIRE_PROOF materials = list(MAT_METAL = 500) origin_tech = "combat=2" attack_verb = list("struck", "bludgeoned", "bashed", "smashed") + hitsound = null /// Is the weapon gripped or not? var/gripped = FALSE /// Can the weapon damage organs directly or not? var/elite = FALSE - /// Chance to break bones on hit - var/robust = 10 /// How much organ damage can the weapon do? var/trauma = 5 @@ -24,12 +23,16 @@ if(!gripped) gripped = TRUE to_chat(user, "You tighten your grip on [src], ensuring you won't drop it.") - flags |= NODROP + flags |= (NODROP | ABSTRACT) else gripped = FALSE to_chat(user, "You relax your grip on [src].") - flags &= ~NODROP - return + flags &= ~(NODROP | ABSTRACT) + +/obj/item/melee/knuckleduster/attack/(mob/living/user) + hitsound = pick('sound/weapons/punch1.ogg', 'sound/weapons/punch2.ogg', 'sound/weapons/punch3.ogg', +'sound/weapons/punch4.ogg') + return ..() /obj/item/melee/knuckleduster/attack(mob/living/target, mob/living/user) . = ..() @@ -37,32 +40,23 @@ return var/obj/item/organ/external/punched = target.get_organ(user.zone_selected) - if(gripped && prob(robust) && target.health < 90) // Better at throwing strong punches when gripped - if(HAS_TRAIT(target, TRAIT_NO_BONES)) - punched.cause_internal_bleeding() // Those with no bones get no relief, although this is primarily for Slimes - else - punched.fracture() - return - if(!length(punched.internal_organs)) return var/obj/item/organ/internal/squishy = pick(punched.internal_organs) - if(gripped && elite && target.health < 90) + if(gripped && elite) squishy.receive_damage(trauma) if(punched.is_broken()) - squishy.receive_damage(trauma) // Probably not so good for your organs to have your already broken ribs punched hard again - return + squishy.receive_damage(trauma) // Probably not so good for your organs to have your already broken ribs punched hard by a metal object /obj/item/melee/knuckleduster/syndie name = "syndicate knuckleduster" desc = "For feeling like a real Syndicate Elite when threatening to punch someone to death." icon_state = "knuckleduster_syndie" - force = 10 + force = 15 throwforce = 5 origin_tech = "combat=2;syndicate=1" elite = TRUE - robust = 15 /obj/item/melee/knuckleduster/nanotrasen name = "engraved knuckleduster" @@ -71,16 +65,15 @@ force = 10 throwforce = 5 origin_tech = "combat=3" - resistance_flags = FIRE_PROOF | ACID_PROOF + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF // Steal objectives shouldnt be easy to destroy. materials = list(MAT_GOLD = 500) - robust = 20 + trauma = 10 /obj/item/melee/knuckleduster/admin - name = "handheld bone-breakers" + name = "handheld bone-breaker" desc = "Your bones just hurt looking at it." icon_state = "knuckleduster_nt" force = 25 throwforce = 25 elite = TRUE - robust = 100 trauma = 30