New Weapon: Knuckle Dusters (#33470)

* New Weapon: Knuckle Dusters

* Tag YAML Error Fix

* Crafting Graph Node Error

(Thank you slarticodefast)

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Crafting Node Error Part 2 Electric Boogaloo

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Contraban & QM Dusters Nerf

* Stun Knuckledusters (Unfinished)

* Typo

* Fix test fails

* The dastardly maintainer balance webedit

* Fix contraband parenting

* Fix construction failure

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
This commit is contained in:
Unkn0wn_Gh0st
2025-05-02 23:18:08 -05:00
committed by GitHub
parent 5d26a38a1d
commit 11096ad9bf
42 changed files with 494 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ steal-target-groups-clothing-outer-hardsuit-rd = experimental research hardsuit
steal-target-groups-hand-teleporter = hand teleporter
steal-target-groups-clothing-shoes-boots-mag-adv = advanced magboots
steal-target-groups-box-folder-qm-clipboard = requisition digi-board
steal-target-groups-clothing-hands-knuckledusters-qm = golden knuckledusters
steal-target-groups-food-meat-corgi = prime-cut corgi meat
steal-target-groups-captain-id-card = captain ID card
steal-target-groups-jetpack-captain-filled = captain's jetpack

View File

@@ -29,6 +29,8 @@ uplink-fire-axe-flaming-desc = A classic-style weapon infused with advanced atmo
uplink-gloves-north-star-name = Gloves of the North Star
uplink-gloves-north-star-desc = A pair of gloves that reduce your punching cooldown drastically, allowing you to beat people to death in a flurry of punches.
uplink-gloves-knuckleduster-name = Syndicate Knuckle Dusters
uplink-gloves-knuckleduster-desc = A pair of plastitanium knuckle dusters that let you punch hard enough to break the captains jaw into pieces.
# Explosives
uplink-explosive-grenade-name = Explosive Grenade
uplink-explosive-grenade-desc = A simplistic grenade with a 3.5 second long fuse that is geared towards injuring personnel. Causes minimal hull damage.

View File

@@ -0,0 +1,8 @@
# gloves
- type: entity
id: ActionToggleKnuckleDustersStun
name: Toggle stun knuckle dusters
description: Toggles the duster's built in stun baton.
components:
- type: InstantAction
event: !type:ToggleActionEvent

View File

@@ -17,6 +17,7 @@
- id: RubberStampDenied
- id: RubberStampQm
- id: AstroNavCartridge
- id: ClothingHandsKnuckleDustersQM
- id: MailTeleporterMachineCircuitboard
- type: entity

View File

@@ -147,6 +147,7 @@
- id: BalloonSyn
- id: WeaponSniperMosin
weight: 2
- id: ClothingHandsKnuckleDustersSyndicate
- type: entityTable
id: MaintenanceLockerLoot

View File

@@ -107,6 +107,20 @@
categories:
- UplinkWeaponry
- type: listing
id: UplinkGlovesKnuckleDusters
name: uplink-gloves-knuckleduster-name
description: uplink-gloves-knuckleduster-desc
icon: { sprite: Clothing/Hands/Gloves/KnuckleDusters/syndicateknuckleduster.rsi, state: syndicateknuckleduster }
productEntity: ClothingHandsKnuckleDustersSyndicate
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 6
categories:
- UplinkWeaponry
- type: listing
id: UplinkDisposableTurret
name: uplink-disposable-turret-name

View File

@@ -449,3 +449,194 @@
fiberMaterial: fibers-rubber
fiberColor: fibers-yellow
- type: FingerprintMask
#Knuckledusters
- type: entity
parent: [ClothingHandsBase, BaseMinorContraband]
id: ClothingHandsKnuckleDusters
name: knuckle dusters
description: "Cold plasteel knuckle dusters, makes your punches hit much harder."
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/KnuckleDusters/knuckleduster.rsi
state: knuckleduster
- type: Clothing
sprite: Clothing/Hands/Gloves/KnuckleDusters/knuckleduster.rsi
- type: Fiber
fiberColor: fibers-silver
- type: MeleeWeapon
attackRate: 1.5
damage:
types:
Blunt: 12 #Damaged focus unlike Rigged or Northstars which are stun and speed focus
soundHit:
collection: Punch
animation: WeaponArcFist
mustBeEquippedToUse: true
- type: Tag
tags:
- WhitelistChameleon
- type: entity
parent: [ClothingHandsKnuckleDusters, BaseMinorContraband] #Craftable version of base knuckledusters
id: ClothingHandsKnuckleDustersBrass
name: brass knuckle dusters
description: "Brass knuckle dusters, just like how they used to make em and still hit just as hard."
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/KnuckleDusters/brassknuckleduster.rsi
state: brassknuckleduster
- type: Clothing
sprite: Clothing/Hands/Gloves/KnuckleDusters/brassknuckleduster.rsi
- type: Construction
graph: ClothingHandsKnuckleDustersBrass
node: icon
- type: Tag
tags:
- WhitelistChameleon
- type: entity
parent: [ClothingHandsBase, BaseGrandTheftContraband]
id: ClothingHandsKnuckleDustersQM
name: QM's golden knuckle dusters
description: "24karat gold infused with plasteel and branded with the Nanotrasen logo. A true symbol of the Quartermaster's might."
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/KnuckleDusters/goldenknuckleduster.rsi
state: goldenknuckleduster
- type: Clothing
sprite: Clothing/Hands/Gloves/KnuckleDusters/goldenknuckleduster.rsi
- type: Fiber
fiberColor: fibers-gold
- type: MeleeWeapon
attackRate: 1.5
damage:
types:
Blunt: 14
soundHit:
collection: Punch
animation: WeaponArcFist
mustBeEquippedToUse: true
- type: Tag
tags:
- WhitelistChameleon
- type: StealTarget
stealGroup: ClothingHandsKnuckleDustersQM
- type: entity
parent: [ClothingHandsBase, BaseSyndicateContraband]
id: ClothingHandsKnuckleDustersSyndicate
name: syndicate knuckle dusters
description: "Plastitanium knuckle dusters branded with the blood-red S. A real man beats someone to death with these."
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/KnuckleDusters/syndicateknuckleduster.rsi
state: syndicateknuckleduster
- type: Clothing
sprite: Clothing/Hands/Gloves/KnuckleDusters/syndicateknuckleduster.rsi
- type: MeleeWeapon
attackRate: 1.5
damage:
types:
Blunt: 8
Piercing: 8
soundHit:
collection: Punch
animation: WeaponArcFist
mustBeEquippedToUse: true
- type: Tag
tags:
- WhitelistChameleon
- type: entity
name: stun knuckle dusters
parent: [ClothingHandsBase, BaseToggleClothing, BaseSecurityContraband]
id: ClothingHandsKnuckleDustersStun
description: A pair of knuckle dusters combined with the tech of a stun baton. This makes beating tiders a whole lot easier.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/KnuckleDusters/electricknuckleduster.rsi
layers:
- state: knuckleduster_off
map: [ "enum.ToggleVisuals.Layer" ]
- type: Clothing
sprite: Clothing/Hands/Gloves/KnuckleDusters/electricknuckleduster.rsi
equippedPrefix: on
- type: Appearance
- type: GenericVisualizer
visuals:
enum.ToggleVisuals.Toggled:
enum.ToggleVisuals.Layer:
True: {state: knuckleduster_on}
False: {state: knuckleduster_off}
- type: ToggleClothing
action: ActionToggleKnuckleDustersStun
- type: ItemToggle
predictable: false
soundActivate:
collection: sparks
params:
variation: 0.250
volume: 5
soundDeactivate:
collection: sparks
params:
variation: 0.250
volume: 5
soundFailToActivate:
path: /Audio/Machines/button.ogg
params:
variation: 0.250
volume: 5
- type: Stunbaton
energyPerUse: 50
- type: ItemToggleMeleeWeapon
activatedDamage:
types:
Blunt: 0
- type: MeleeWeapon
attackRate: 1.5
damage:
types:
Blunt: 8
bluntStaminaDamageFactor: 2.0
animation: WeaponArcFist
- type: StaminaDamageOnHit
damage: 35
sound: /Audio/Weapons/egloves.ogg
- type: StaminaDamageOnCollide
damage: 35
sound: /Audio/Weapons/egloves.ogg
- type: LandAtCursor # it deals stamina damage when thrown
- type: Battery
maxCharge: 1000
startingCharge: 1000
- type: GuideHelp
guides:
- Security
- Antagonists
- type: entity #Admeme
parent: ClothingHandsKnuckleDusters
id: ClothingHandsKnuckleBoneCrushers
name: bone crushers
description: "Blessed by the Gods to break all those who don't obey."
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/KnuckleDusters/goldenknuckleduster.rsi
state: goldenknuckleduster
- type: Clothing
sprite: Clothing/Hands/Gloves/KnuckleDusters/goldenknuckleduster.rsi
- type: Fiber
fiberColor: fibers-gold
- type: MeleeWeapon
attackRate: 2
damage:
types:
Blunt: 35
soundHit:
collection: Punch
animation: WeaponArcFist
- type: Tag
tags: [] # ignore "WhitelistChameleon" tag

View File

@@ -357,6 +357,7 @@
- id: Shiv
- id: SawImprov
- id: HydroponicsToolMiniHoe
- id: ClothingHandsKnuckleDusters
- type: entity
name: Maint Loot Spawner

View File

@@ -42,6 +42,13 @@
sprite: Objects/Misc/qm_clipboard.rsi
state: qm_clipboard
- type: stealTargetGroup
id: ClothingHandsKnuckleDustersQM
name: steal-target-groups-clothing-hands-knuckledusters-qm
sprite:
sprite: Clothing/Hands/Gloves/KnuckleDusters/goldenknuckleduster.rsi
state: goldenknuckleduster
- type: stealTargetGroup
id: FoodMeatCorgi
name: steal-target-groups-food-meat-corgi

View File

@@ -233,6 +233,16 @@
stealGroup: BoxFolderQmClipboard
owner: job-name-qm
- type: entity
parent: BaseTraitorStealObjective
id: KnuckleDustersStealObjective
components:
- type: NotJobRequirement
job: Quartermaster
- type: StealCondition
stealGroup: ClothingHandsKnuckleDustersQM
owner: job-name-qm
## hop
- type: entity

View File

@@ -0,0 +1,13 @@
- type: constructionGraph
id: ClothingHandsKnuckleDustersBrass
start: start
graph:
- node: start
edges:
- to: icon
steps:
- material: Brass
amount: 6
doAfter: 10
- node: icon
entity: ClothingHandsKnuckleDustersBrass

View File

@@ -157,3 +157,11 @@
targetNode: spear
category: construction-category-weapons
objectType: Item
- type: construction
id: ClothingHandsKnuckleDustersBrass
graph: ClothingHandsKnuckleDustersBrass
startNode: start
targetNode: icon
category: construction-category-weapons
objectType: Item

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Icon taken from ParadiseSS13 at commit https://github.com/ParadiseSS13/Paradise/commit/391f296ed9b06d9bd13daca5b51c68740e714f1f, and altered by Unkn0wnGh0st333; In hand sprites done by Unkn0wnGh0st333 on github",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "brassknuckleduster"
},
{
"name": "equipped-HAND",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,133 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Icon taken from ParadiseSS13 at commit https://github.com/ParadiseSS13/Paradise/commit/391f296ed9b06d9bd13daca5b51c68740e714f1f, and altered by Unkn0wnGh0st333; In hand sprites done by Unkn0wnGh0st333 on github",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "knuckleduster_off"
},
{
"name": "knuckleduster_nocell"
},
{
"name": "knuckleduster_on",
"delays": [
[
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "off-equipped-HAND",
"directions": 4
},
{
"name": "off-inhand-left",
"directions": 4
},
{
"name": "off-inhand-right",
"directions": 4
},
{
"name": "on-equipped-HAND",
"directions": 4,
"delays": [
[
0.1,
0.1,
0.1,
0.1
],
[
0.1,
0.1,
0.1,
0.1
],
[
0.1,
0.1,
0.1,
0.1
],
[
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "on-inhand-left",
"directions": 4,
"delays": [
[
0.1,
0.1,
0.1,
0.1
],
[
0.1,
0.1,
0.1,
0.1
],
[
0.1,
0.1,
0.1,
0.1
],
[
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "on-inhand-right",
"directions": 4,
"delays": [
[
0.1,
0.1,
0.1,
0.1
],
[
0.1,
0.1,
0.1,
0.1
],
[
0.1,
0.1,
0.1,
0.1
],
[
0.1,
0.1,
0.1,
0.1
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Icon taken from ParadiseSS13 at commit https://github.com/ParadiseSS13/Paradise/commit/391f296ed9b06d9bd13daca5b51c68740e714f1f; In hand sprites done by Unkn0wnGh0st333 on github",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "goldenknuckleduster"
},
{
"name": "equipped-HAND",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Icon taken from ParadiseSS13 at commit https://github.com/ParadiseSS13/Paradise/commit/391f296ed9b06d9bd13daca5b51c68740e714f1f; In hand sprites done by Unkn0wnGh0st333 on github",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "knuckleduster"
},
{
"name": "equipped-HAND",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Icon taken from ParadiseSS13 at commit https://github.com/ParadiseSS13/Paradise/commit/391f296ed9b06d9bd13daca5b51c68740e714f1f; In hand sprites done by Unkn0wnGh0st333 on github",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "syndicateknuckleduster"
},
{
"name": "equipped-HAND",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 B