Adding Improvements to Knuckledusters (#23902)

* First tweaks to the dusty bois

* Better code comment

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Managed to finish my checklist of things

* Didn't like the flag name, and finished it's descriptor comment

* Nevermind, flag was not needed

* Apply suggestions from code review

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

---------

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
This commit is contained in:
TheKillfish
2024-02-04 23:12:38 +01:00
committed by GitHub
parent 78f3f9b1f9
commit 84dff25289
2 changed files with 16 additions and 23 deletions

View File

@@ -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

View File

@@ -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