Skip to content

Commit

Permalink
Adding Improvements to Knuckledusters (ParadiseSS13#23902)
Browse files Browse the repository at this point in the history
* First tweaks to the dusty bois

* Better code comment

Co-authored-by: Henri215 <[email protected]>

* 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 <[email protected]>

---------

Co-authored-by: Henri215 <[email protected]>
Co-authored-by: S34N <[email protected]>
Co-authored-by: DGamerL <[email protected]>
  • Loading branch information
4 people committed Feb 4, 2024
1 parent 78f3f9b commit 84dff25
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 23 deletions.
2 changes: 1 addition & 1 deletion code/datums/uplink_items/uplink_general.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
37 changes: 15 additions & 22 deletions code/game/objects/items/weapons/knuckledusters.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,65 +4,59 @@
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

/obj/item/melee/knuckleduster/attack_self(mob/user)
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)
. = ..()
if(!ishuman(target))
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"
Expand All @@ -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

0 comments on commit 84dff25

Please sign in to comment.