diff --git a/Content.Shared/Item/ItemToggle/Components/ItemToggleMeleeWeaponComponent.cs b/Content.Shared/Item/ItemToggle/Components/ItemToggleMeleeWeaponComponent.cs
index cd3ed5779c3..96050cec720 100644
--- a/Content.Shared/Item/ItemToggle/Components/ItemToggleMeleeWeaponComponent.cs
+++ b/Content.Shared/Item/ItemToggle/Components/ItemToggleMeleeWeaponComponent.cs
@@ -3,6 +3,7 @@
// SPDX-License-Identifier: MIT
using Content.Shared.Damage;
+using Content.Shared.FixedPoint;
using Robust.Shared.Audio;
using Robust.Shared.GameStates;
@@ -70,4 +71,18 @@ public sealed partial class ItemToggleMeleeWeaponComponent : Component
///
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
public bool DeactivatedSecret = false;
+
+ // Funky
+
+ ///
+ /// The factor of stamina damage, proportional to blunt damage dealt, done by the item when activated.
+ ///
+ [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
+ public FixedPoint2? ActivatedBluntStaminaDamageFactor = null;
+
+ ///
+ /// The factor of stamina damage, proportional to blunt damage dealt, done by the item when deactivated.
+ ///
+ [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
+ public FixedPoint2? DeactivatedBluntStaminaDamageFactor = null;
}
diff --git a/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs b/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs
index f869a130157..d70fd0380b5 100644
--- a/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs
+++ b/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs
@@ -1059,6 +1059,15 @@ private void OnItemToggle(EntityUid uid, ItemToggleMeleeWeaponComponent itemTogg
{
meleeWeapon.Hidden = false;
}
+
+ // Funky
+ if (itemToggleMelee.ActivatedBluntStaminaDamageFactor != null)
+ {
+ //Setting deactivated damage to the weapon's regular value before changing it.
+ itemToggleMelee.DeactivatedBluntStaminaDamageFactor ??= meleeWeapon.BluntStaminaDamageFactor;
+ meleeWeapon.BluntStaminaDamageFactor = (FixedPoint2)itemToggleMelee.ActivatedBluntStaminaDamageFactor;
+ DirtyField(uid, meleeWeapon, nameof(MeleeWeaponComponent.BluntStaminaDamageFactor));
+ }
}
else
{
@@ -1087,6 +1096,13 @@ private void OnItemToggle(EntityUid uid, ItemToggleMeleeWeaponComponent itemTogg
{
meleeWeapon.Hidden = true;
}
+
+ // Funky
+ if (itemToggleMelee.DeactivatedBluntStaminaDamageFactor != null)
+ {
+ meleeWeapon.BluntStaminaDamageFactor = (FixedPoint2)itemToggleMelee.DeactivatedBluntStaminaDamageFactor;
+ DirtyField(uid, meleeWeapon, nameof(MeleeWeaponComponent.BluntStaminaDamageFactor));
+ }
}
}
}
diff --git a/Resources/Audio/_Funkystation/Effects/HitImpacts/attributions.yml b/Resources/Audio/_Funkystation/Effects/HitImpacts/attributions.yml
new file mode 100644
index 00000000000..35f26609d7f
--- /dev/null
+++ b/Resources/Audio/_Funkystation/Effects/HitImpacts/attributions.yml
@@ -0,0 +1,9 @@
+# SPDX-FileCopyrightText: 2026 W.xyz() <84605679+pirakaplant@users.noreply.github.com>
+#
+# SPDX-License-Identifier: MIT
+
+
+- files: ["nightstick1.ogg", "nightstick2.ogg"]
+ license: "CC0-1.0"
+ copyright: "Created by @IamJustHereYknow (GitHub), sourced from CC0 sounds by SnowfightStudios, WasabiWielder, and User391915396 (all Freesound)."
+ source: "https://freesound.org/people/SnowFightStudios/sounds/669883/" # and https://freesound.org/people/WasabiWielder/sounds/323375/ and https://freesound.org/people/User391915396/sounds/370238/ but this YAML template only lets you list one source at a time
diff --git a/Resources/Audio/_Funkystation/Effects/HitImpacts/nightstick1.ogg b/Resources/Audio/_Funkystation/Effects/HitImpacts/nightstick1.ogg
new file mode 100644
index 00000000000..6be7be73cc6
Binary files /dev/null and b/Resources/Audio/_Funkystation/Effects/HitImpacts/nightstick1.ogg differ
diff --git a/Resources/Audio/_Funkystation/Effects/HitImpacts/nightstick2.ogg b/Resources/Audio/_Funkystation/Effects/HitImpacts/nightstick2.ogg
new file mode 100644
index 00000000000..f0d20f52990
Binary files /dev/null and b/Resources/Audio/_Funkystation/Effects/HitImpacts/nightstick2.ogg differ
diff --git a/Resources/Audio/_Funkystation/Weapons/attributions.yml b/Resources/Audio/_Funkystation/Weapons/attributions.yml
new file mode 100644
index 00000000000..a94d6d6670b
--- /dev/null
+++ b/Resources/Audio/_Funkystation/Weapons/attributions.yml
@@ -0,0 +1,14 @@
+# SPDX-FileCopyrightText: 2026 W.xyz() <84605679+pirakaplant@users.noreply.github.com>
+#
+# SPDX-License-Identifier: MIT
+
+
+- files: ["nightstick_extend.ogg"]
+ license: "CC-BY-4.0"
+ copyright: "Clipped from two sounds by @pirakaplant (GitHub): one by Tairblenn (Freesound) under CC0, the other by Brsjak (Freesound) under CC-BY-4.0."
+ source: "https://freesound.org/people/Brsjak/sounds/482880/" # and https://freesound.org/people/Tairblenn/sounds/538019/ but this YAML template only lets you list one source at a time
+
+- files: ["nightstick_retract.ogg"]
+ license: "CC0-1.0"
+ copyright: "Clipped from a sound from Tairblenn (Freesound), also under CC0, by @pirakaplant (GitHub)."
+ source: "https://freesound.org/people/Tairblenn/sounds/538019/"
diff --git a/Resources/Audio/_Funkystation/Weapons/nightstick_extend.ogg b/Resources/Audio/_Funkystation/Weapons/nightstick_extend.ogg
new file mode 100644
index 00000000000..a87eee846f7
Binary files /dev/null and b/Resources/Audio/_Funkystation/Weapons/nightstick_extend.ogg differ
diff --git a/Resources/Audio/_Funkystation/Weapons/nightstick_retract.ogg b/Resources/Audio/_Funkystation/Weapons/nightstick_retract.ogg
new file mode 100644
index 00000000000..e9524205811
Binary files /dev/null and b/Resources/Audio/_Funkystation/Weapons/nightstick_retract.ogg differ
diff --git a/Resources/Locale/en-US/datasets/figurines.ftl b/Resources/Locale/en-US/datasets/figurines.ftl
index 87e6a7a6705..dd365a4daf6 100644
--- a/Resources/Locale/en-US/datasets/figurines.ftl
+++ b/Resources/Locale/en-US/datasets/figurines.ftl
@@ -133,7 +133,7 @@ figurines-security-1 = I am the law!
figurines-security-2 = You have violated article 1984.
figurines-security-3 = Whenever I get bored I use the clown as target practice.
figurines-security-4 = You have two rights: to remain silent and to cry about it.
-figurines-security-5 = Harmbaton? It sure as hell harms!
+figurines-security-5 = It's called a nightstick because it's gonna beat the living daylights outta you.
figurines-security-6 = Space law? Never heard of it.
figurines-security-7 = Random search! Hand it over.
figurines-security-8 = I love donuts.
@@ -202,7 +202,7 @@ figurines-clown-7 = Can I have AA? Please?
figurines-clown-8 = I'm a clown, but you're the whole circus!
figurines-greytider-1 = Man, this party stinks. I fucking hate these people.
-figurines-greytider-2 = Uh-oh, who's lost their stunbaton?
+figurines-greytider-2 = Uh-oh, who's lost their nightstick?
figurines-greytider-3 = Robust.
figurines-greytider-4 = I'm not me without a toolbox.
figurines-greytider-5 = Grey tide station wide!
diff --git a/Resources/Locale/en-US/research/technologies.ftl b/Resources/Locale/en-US/research/technologies.ftl
index 62432b8dd6b..6c02e9e0632 100644
--- a/Resources/Locale/en-US/research/technologies.ftl
+++ b/Resources/Locale/en-US/research/technologies.ftl
@@ -28,7 +28,7 @@ research-technology-uranium-munitions = Uranium Munitions
research-technology-explosive-technology = Explosive Technology
research-technology-special-means = Special Means
research-technology-weaponized-laser-manipulation = Weaponized Laser Manipulation
-research-technology-nonlethal-ammunition = Nonlethal Ammunition
+research-technology-nonlethal-ammunition = Less-Lethal Ammunition # Funky - Made name more accurate
research-technology-practice-ammunition = Practice Ammunition
research-technology-concentrated-laser-weaponry = Concentrated Laser Weaponry
research-technology-wave-particle-harnessing = Wave Particle Harnessing
diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl
index b7dc17dd40c..08690fcd6e9 100644
--- a/Resources/Locale/en-US/store/uplink-catalog.ftl
+++ b/Resources/Locale/en-US/store/uplink-catalog.ftl
@@ -244,7 +244,8 @@ uplink-observation-kit-name = Observation Kit
uplink-observation-kit-desc = Includes surveillance camera monitor board and security hud disguised as sunglasses.
uplink-emp-kit-name = Electrical Disruptor Kit
-uplink-emp-kit-desc = The ultimate reversal on energy-based weaponry: Disables disablers, stuns stunbatons, discharges laser guns! Contains 3 EMP grenades and an EMP implanter. Note: Does not disrupt actual firearms.
+# Changed the description because we don't have stun batons or disablers anymore
+uplink-emp-kit-desc = The ultimate reversal on energy-based weaponry, to show those laser-losers who's in charge! Contains 3 EMP grenades and an EMP implanter. Note: Does not disrupt ballistic firearms.
uplink-decoy-kit-name = Decoy Kit
uplink-decoy-kit-desc = State-of-the-art distraction technology straight from RND. Comes with five realistic balloons, four decoy grenades, and some snap poppers!
diff --git a/Resources/Prototypes/Alerts/alerts.yml b/Resources/Prototypes/Alerts/alerts.yml
index 7657579b8ab..dcca5582d0c 100644
--- a/Resources/Prototypes/Alerts/alerts.yml
+++ b/Resources/Prototypes/Alerts/alerts.yml
@@ -170,8 +170,8 @@
- type: alert
id: Stun
icons:
- - sprite: /Textures/Objects/Weapons/Melee/stunbaton.rsi #Should probably draw a proper icon
- state: stunbaton_off
+ - sprite: /Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi # Funky - Stun batons aren't used to stun anymore. Original comment suggested making a separate icon so that's another alternative
+ state: icon
name: alerts-stunned-name
description: alerts-stunned-desc
diff --git a/Resources/Prototypes/Catalog/Fills/Crates/security.yml b/Resources/Prototypes/Catalog/Fills/Crates/security.yml
index 047aefe4ed8..3e32b50c181 100644
--- a/Resources/Prototypes/Catalog/Fills/Crates/security.yml
+++ b/Resources/Prototypes/Catalog/Fills/Crates/security.yml
@@ -45,20 +45,21 @@
- type: entity
parent: CrateSecgear
id: CrateSecurityNonlethal
- name: nonlethals crate
- description: Contains a mix of disablers, stun batons, and flashes. Requires Security access to open.
+ name: less-lethals crate
+ description: Contains a mix of nightsticks, flashes, shell guns, and beanbag shells. Requires Security access to open.
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:AllSelector
children:
- - id: WeaponDisabler
- amount: 3
- - id: Stunbaton
+ - id: Nightstick
amount: 3
- id: BoxFlashbang
- id: Flash
amount: 3
+ - id: WeaponFlareGunSecurity # Funky
+ amount: 3
+ - id: BoxBeanbag # Funky - That's 5 shots for each, plus 1 extra to squabble over
# - Pepperspray
# - GrenadeTeargas
diff --git a/Resources/Prototypes/Catalog/Fills/Items/belt.yml b/Resources/Prototypes/Catalog/Fills/Items/belt.yml
index 33eb9860fd9..5d06a69f1e7 100644
--- a/Resources/Prototypes/Catalog/Fills/Items/belt.yml
+++ b/Resources/Prototypes/Catalog/Fills/Items/belt.yml
@@ -83,7 +83,7 @@
id: BeltSecurityEntityTable
table: !type:AllSelector
children:
- - id: Stunbaton
+ - id: Nightstick # Funky
- id: Handcuffs
amount: 2
- id: HoloprojectorSecurity
diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml
index c0623b764a7..9c5d7bc434f 100644
--- a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml
+++ b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml
@@ -114,7 +114,6 @@
prob: 0.1
- id: RubberStampCaptain
- id: SpaceCash1000
- - id: WeaponDisabler
- id: ClothingEyesGlassesCommand
- id: OrganSkeletonPersonHead # A skull to accompany your skeleton crew
conditions:
@@ -201,7 +200,7 @@
- id: ClothingNeckGoldmedal
- id: DoorRemoteService
- id: HoPIDCard
- - id: WeaponDisabler
+ # TODO: Port mecha-cane to replace the disabler
- id: ClothingEyesHudCommand
- id: PlushieLizardJobHeadofpersonnel
prob: 0.02
@@ -400,8 +399,6 @@
- id: HoloprojectorSecurity
- id: RubberStampHos
- id: BoxHoSCircuitboards
- - id: WeaponDisabler
- - id: WeaponTaser
- id: WantedListCartridge
- id: DrinkHosFlask
- id: PlushieLizardJobHeadofsecurity
diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml
index c8f9845eeb1..03d98eaf499 100644
--- a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml
+++ b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml
@@ -76,8 +76,6 @@
table: !type:AllSelector
children:
- id: FlashlightSeclite
- - id: WeaponDisabler
- - id: WeaponTaser
- id: ClothingBeltSecurityFilled
- id: Flash
- id: ClothingEyesGlassesSecurity
@@ -122,8 +120,6 @@
children:
- id: FlashlightSeclite
prob: 0.8
- - id: WeaponDisabler
- - id: WeaponTaser
- id: ClothingUniformJumpsuitSecGrey
prob: 0.3
- id: ClothingHeadHelmetBasic
@@ -161,7 +157,7 @@
table: !type:AllSelector
children:
- id: ClothingEyesGlassesSecurity
- - id: WeaponTaser
+ - id: WeaponTaser # Funky - We're 100% getting rid of brigmed anyway, so I'm not even going to bother touching this
- id: WeaponDisabler
- id: TrackingImplanter
amount: 2
diff --git a/Resources/Prototypes/Datasets/ion_storm.yml b/Resources/Prototypes/Datasets/ion_storm.yml
index ac5bcd6ef66..d447a4d6220 100644
--- a/Resources/Prototypes/Datasets/ion_storm.yml
+++ b/Resources/Prototypes/Datasets/ion_storm.yml
@@ -709,6 +709,7 @@
- MINING TOOLS
- MONKEYS
- MULTITOOLS
+ - NIGHTSTICKS
- ORES
- OXYGEN TANKS
- PACKETS
@@ -744,7 +745,6 @@
- SPACESUITS
- SPESOS
- STEEL SHEETS
- - STUN BATONS
- SUITS
- SUNGLASSES
- SWORDS
diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Department/security.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Department/security.yml
index ca235d669b2..21a11aaae37 100644
--- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Department/security.yml
+++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Department/security.yml
@@ -43,8 +43,6 @@
- BoxHandcuff
- BoxFlashbang
- TearGasGrenade
- - WeaponDisabler
- - Stunbaton
rareChance: 0.05
prototypes:
- Flash
@@ -55,7 +53,7 @@
- SecurityWhistle
- Tourniquet
chance: 0.85
-
+
# Armory loot spawner
# Automatics are a complete mess right now, so the AK-MS And WT-550 have been commented out for consistency's sake. I have no idea what role these guns are supposed to fufill.
- type: entity
@@ -87,7 +85,6 @@
- ClothingOuterArmorRiot
- ClothingOuterArmorBulletproof
# - WeaponSubMachineGunWt550
- - WeaponDisabler
- WeaponPistolMk58
- WeaponRifleLecter
- WeaponSubMachineGunDrozd
@@ -114,7 +111,6 @@
rareChance: 0.05
prototypes:
# - WeaponSubMachineGunWt550
- - WeaponDisabler
- WeaponPistolMk58
- WeaponRifleLecter
- WeaponSubMachineGunDrozd
@@ -148,4 +144,4 @@
- ClothingOuterArmorRiot
- ClothingOuterArmorBulletproof
chance: 0.95
- offset: 0.0
\ No newline at end of file
+ offset: 0.0
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
index fd031cbfb7e..012e2f28703 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
@@ -914,7 +914,7 @@
name: energy shotgun
parent: [BaseWeaponBattery, BaseGunWieldable, BaseSecurityContraband]
id: WeaponEnergyShotgun
- description: A one-of-a-kind prototype energy weapon that uses various shotgun configurations. It offers the possibility of both lethal and non-lethal shots, making it a versatile weapon.
+ description: A one-of-a-kind prototype energy weapon that uses two different shotgun configurations. It offers the possibility of both focused and wide shots, making it a versatile weapon. # Funky
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Battery/energy_shotgun.rsi
@@ -938,13 +938,10 @@
- type: BatteryAmmoProvider
proto: BulletLaserSpreadNarrow
fireCost: 80
- - type: BatteryWeaponFireModes
+ - type: BatteryWeaponFireModes # Funky - Removed disabler mode
fireModes:
- proto: BulletLaserSpreadNarrow
fireCost: 80
- - proto: BulletDisablerSmgSpread
- fireCost: 48
- pacifismAllowedMode: true
- type: Item
size: Large
sprite: Objects/Weapons/Guns/Battery/inhands_64x.rsi
@@ -958,7 +955,7 @@
name: energy magnum
parent: [BaseWeaponBatterySmall, BaseGrandTheftContraband]
id: WeaponEnergyMagnum
- description: A high powered self-charging energy pistol designed for elite security personnel. It has has three firing modes allowing for either high damage, window piercing, or non-lethal disabling.
+ description: A high powered self-charging energy pistol designed for elite security personnel. It has has two firing modes, allowing for either high damage or window piercing. # Funky
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Battery/energy_magnum.rsi
@@ -988,15 +985,12 @@
- type: BatteryAmmoProvider
proto: BulletLaserMagnum
fireCost: 150
- - type: BatteryWeaponFireModes
+ - type: BatteryWeaponFireModes # Funky - Removed disabler mode
fireModes:
- proto: BulletLaserMagnum
fireCost: 150
- proto: BulletLaserWindowPiercingMagnum
fireCost: 150
- - proto: BulletDisabler
- fireCost: 62.5
- pacifismAllowedMode: true
- type: BatterySelfRecharger
autoRechargeRate: 48
autoRechargePauseTime: 10
diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
index a5f307d74e9..196c8f784be 100644
--- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
+++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
@@ -547,7 +547,6 @@
- SecurityExplosives
- SecurityAmmo
- SecurityWeapons
- - SecurityDisablers
- type: EmagLatheRecipes
emagStaticPacks:
- SyndicateAmmoStatic
diff --git a/Resources/Prototypes/Magic/event_spells.yml b/Resources/Prototypes/Magic/event_spells.yml
index 93c391c717a..130da2379d8 100644
--- a/Resources/Prototypes/Magic/event_spells.yml
+++ b/Resources/Prototypes/Magic/event_spells.yml
@@ -136,12 +136,6 @@
orGroup: Guns
- id: WeaponDisablerPractice
orGroup: Guns
- - id: WeaponDisabler
- orGroup: Guns
- - id: WeaponDisablerSMG
- orGroup: Guns
- - id: WeaponTaser
- orGroup: Guns
- id: WeaponAntiqueLaser
orGroup: Guns
- id: WeaponAdvancedLaser
diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/security.yml b/Resources/Prototypes/Recipes/Lathes/Packs/security.yml
index 90e9d0431fa..24958c556f5 100644
--- a/Resources/Prototypes/Recipes/Lathes/Packs/security.yml
+++ b/Resources/Prototypes/Recipes/Lathes/Packs/security.yml
@@ -62,7 +62,6 @@
id: SecurityWeaponsStatic
recipes:
- Flash
- - Stunbaton
- CombatKnife
- RiotShield
@@ -139,9 +138,3 @@
- WeaponLaserCarbine
- WeaponXrayCannon
- WeaponTemperatureGun
-
-- type: latheRecipePack
- id: SecurityDisablers
- recipes:
- - WeaponDisabler
- - WeaponDisablerSMG
diff --git a/Resources/Prototypes/Research/arsenal.yml b/Resources/Prototypes/Research/arsenal.yml
index 441be291d05..46edc243b8c 100644
--- a/Resources/Prototypes/Research/arsenal.yml
+++ b/Resources/Prototypes/Research/arsenal.yml
@@ -84,7 +84,6 @@
- MagazineShotgunBeanbag
- BoxShellTranquilizer
- BoxBeanbag
- - WeaponDisabler
- type: technology
id: UraniumMunitions
@@ -120,7 +119,6 @@
- Truncheon
- TelescopicShield
- HoloprojectorSecurity
- - WeaponDisablerSMG
- type: technology
id: ExplosiveTechnology
diff --git a/Resources/Prototypes/Roles/Jobs/CentComm/emergencyresponseteam.yml b/Resources/Prototypes/Roles/Jobs/CentComm/emergencyresponseteam.yml
index af8163023de..19e3317b476 100644
--- a/Resources/Prototypes/Roles/Jobs/CentComm/emergencyresponseteam.yml
+++ b/Resources/Prototypes/Roles/Jobs/CentComm/emergencyresponseteam.yml
@@ -68,7 +68,6 @@
ears: ClothingHeadsetAltCentCom
belt: ClothingBeltMilitaryWebbingERT
pocket2: CombatKnife
- suitstorage: WeaponDisablerSMG
storage:
back:
- Binoculars
@@ -81,7 +80,7 @@
- MedkitCombatFilled
- TelescopicShield
belt:
- - Stunbaton
+ - Truncheon # Funky
- Handcuffs
- Handcuffs
- CrowbarRed
@@ -93,7 +92,6 @@
parent: ERTLeaderGearEVA
id: ERTLeaderGearArmed
equipment:
- pocket2: WeaponDisabler
suitstorage: WeaponRifleLecterXL8
storage:
back:
@@ -108,7 +106,7 @@
- GrenadeShrapnel
- EmpGrenade
belt:
- - Truncheon
+ - Truncheon # Funky
- Handcuffs
- Handcuffs
- CrowbarRed
@@ -338,7 +336,6 @@
ears: ClothingHeadsetAltCentCom
belt: ClothingBeltMilitaryWebbingERT
pocket2: CombatKnife
- suitstorage: WeaponDisablerSMG
storage:
back:
- BoxZiptie
@@ -351,7 +348,7 @@
- HoloprojectorSecurity
- PowerCellHigh
belt:
- - Stunbaton
+ - Truncheon # Funky
- Handcuffs
- Handcuffs
- CrowbarRed
@@ -391,7 +388,6 @@
parent: ERTSecurityGearEVA
id: ERTSecurityGearArmedGrenade
equipment:
- pocket2: WeaponDisabler
suitstorage: WeaponLauncherHydraLethal
storage:
back:
@@ -411,7 +407,7 @@
- GrenadeFlash
- MagazinePistol
belt:
- - Truncheon
+ - Truncheon # Funky
- Handcuffs
- Handcuffs
- CrowbarRed
@@ -423,7 +419,6 @@
parent: ERTSecurityGearEVA
id: ERTSecurityGearArmedVanguard
equipment:
- pocket2: WeaponDisabler
suitstorage: WeaponSubMachineGunWt550
storage:
back:
@@ -440,7 +435,7 @@
- MagazinePistolSubMachineGunTopMounted
- MagazinePistolSubMachineGunTopMounted
belt:
- - Truncheon
+ - Truncheon # Funky
- Handcuffs
- Handcuffs
- CrowbarRed
@@ -452,7 +447,6 @@
parent: ERTSecurityGearEVA
id: ERTSecurityGearArmedShotgun
equipment:
- pocket2: WeaponDisabler
suitstorage: WeaponShotgunEnforcer
storage:
back:
@@ -466,7 +460,7 @@
- CableDetStack
- BoxDetonator
belt:
- - Truncheon
+ - Truncheon # Funky
- Handcuffs
- Handcuffs
- CrowbarRed
@@ -551,7 +545,6 @@
id: ERTMedicalGearArmed
equipment:
suitstorage: WeaponRifleLecter
- pocket2: WeaponDisabler
storage:
back:
- Hypospray
@@ -565,7 +558,7 @@
- ClothingEyesGlassesChemical
- ChemistryBottleOmnizine
belt:
- - Truncheon
+ - Truncheon # Funky
- Zipties
- CrowbarRed
- MagazineRifle
diff --git a/Resources/Prototypes/Roles/Jobs/Fun/visitors_startinggear.yml b/Resources/Prototypes/Roles/Jobs/Fun/visitors_startinggear.yml
index b40595df3c1..6fdee90612e 100644
--- a/Resources/Prototypes/Roles/Jobs/Fun/visitors_startinggear.yml
+++ b/Resources/Prototypes/Roles/Jobs/Fun/visitors_startinggear.yml
@@ -14,11 +14,10 @@
head: ClothingHeadHatCaptain
neck: ClothingNeckCloakCap
id: VisitorPDA
- belt: WeaponDisabler
+ #belt: # TODO: RG-2
back: ClothingBackpackCaptain
ears: ClothingHeadsetAltCommand
outerClothing: ClothingOuterArmorCaptainCarapace
- pocket1: WeaponDisabler
- type: startingGear
id: VisitorCaptainAlt
@@ -30,11 +29,10 @@
head: ClothingHeadHatCapcap
neck: ClothingNeckMantleCap
id: VisitorPDA
- belt: WeaponDisabler
+ #belt: # TODO: RG-2
back: ClothingBackpackSatchelCaptain
ears: ClothingHeadsetAltCommand
outerClothing: ClothingOuterArmorCaptainCarapace
- pocket1: WeaponDisabler
- type: startingGear
id: VisitorCE
@@ -48,7 +46,7 @@
back: ClothingBackpackDuffelEngineering
ears: ClothingHeadsetCE
outerClothing: ClothingOuterVestHazard
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
- type: startingGear
id: VisitorCEAlt
@@ -62,7 +60,7 @@
back: ClothingBackpackSatchelEngineering
ears: ClothingHeadsetCE
outerClothing: ClothingOuterWinterCE
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
- type: startingGear
id: VisitorCMO
@@ -77,7 +75,7 @@
ears: ClothingHeadsetCMO
belt: ClothingBeltMedicalFilled
outerClothing: ClothingOuterCoatLabCmo
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
- type: startingGear
id: VisitorCMOAlt
@@ -92,7 +90,7 @@
ears: ClothingHeadsetCMO
belt: ClothingBeltMedicalFilled
outerClothing: ClothingOuterCoatLabCmo
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
- type: startingGear
id: VisitorHOP
@@ -102,11 +100,10 @@
head: ClothingHeadHatHopcap
neck: ClothingNeckCloakHop
id: VisitorPDA
- belt: WeaponDisabler
+ #belt: # TODO: RG-2
back: ClothingBackpackDebug
ears: ClothingHeadsetAltCommand
outerClothing: ClothingOuterWinterHoP
- pocket1: WeaponDisabler
- type: startingGear
id: VisitorHOPAlt
@@ -116,11 +113,10 @@
head: ClothingHeadHatHopcap
neck: ClothingNeckMantleHOP
id: VisitorPDA
- belt: WeaponDisabler
+ #belt: # TODO: RG-2
back: ClothingBackpackSatchelLeather
ears: ClothingHeadsetAltCommand
outerClothing: ClothingOuterWinterHoP
- pocket1: WeaponDisabler
- type: startingGear
id: VisitorHOS
@@ -136,7 +132,7 @@
ears: ClothingHeadsetAltSecurity
eyes: ClothingEyesGlassesSecurity
outerClothing: ClothingOuterCoatHoSTrench
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
pocket2: MagazinePistolSubMachineGunTopMounted
inhand:
- WeaponSubMachineGunWt550
@@ -154,7 +150,7 @@
back: ClothingBackpackSatchelLeather
ears: ClothingHeadsetAltSecurity
eyes: ClothingEyesGlassesSecurity
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
pocket2: MagazinePistolSubMachineGunTopMounted
inhand:
- WeaponSubMachineGunWt550
@@ -171,7 +167,7 @@
back: ClothingBackpackScience
ears: ClothingHeadsetRD
outerClothing: ClothingOuterCoatRD
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
- type: startingGear
id: VisitorRDAlt
@@ -185,7 +181,7 @@
back: ClothingBackpackSatchelScience
ears: ClothingHeadsetRD
outerClothing: ClothingOuterCoatRD
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
- type: startingGear
id: VisitorQM
@@ -198,7 +194,7 @@
back: ClothingBackpackCargo
ears: ClothingHeadsetQM
outerClothing: ClothingOuterWinterQM
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
pocket2: AppraisalTool
- type: startingGear
@@ -212,7 +208,7 @@
back: ClothingBackpackSatchelCargo
ears: ClothingHeadsetQM
outerClothing: ClothingOuterWinterQM
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
pocket2: AppraisalTool
# Security
@@ -337,7 +333,7 @@
ears: ClothingHeadsetSecurity
eyes: ClothingEyesGlassesSecurity
outerClothing: ClothingOuterCoatWarden
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
pocket2: Zipties
inhand:
- FlashlightSeclite
@@ -356,7 +352,7 @@
ears: ClothingHeadsetSecurity
eyes: ClothingEyesGlassesSecurity
outerClothing: ClothingOuterWinterWarden
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
pocket2: Zipties
inhand:
- FlashlightSeclite
@@ -1681,7 +1677,7 @@
back: ClothingBackpackDuffelEngineering
#ears: # No headsets.
outerClothing: ClothingOuterVestHazard
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
- type: startingGear
id: ChallengeVictimCEAlt
@@ -1695,7 +1691,7 @@
back: ClothingBackpackSatchelEngineering
#ears: # No headsets.
outerClothing: ClothingOuterWinterCE
- pocket1: WeaponDisabler
+ #pocket1: # TODO: RG-2
# CHALLENGE
# carefully consider everything you add to these. These are meant for roles that are placed in survival situations where every item will be a resource.
@@ -1708,7 +1704,7 @@
head: ClothingHeadHatHopcap
neck: ClothingNeckCloakHop
id: VisitorPDA
- belt: WeaponDisabler
+ #belt: # TODO: RG-2
back: ClothingBackpackDebug
#ears: #No headsets.
outerClothing: ClothingOuterWinterHoP
@@ -1721,7 +1717,7 @@
head: ClothingHeadHatHopcap
neck: ClothingNeckMantleHOP
id: VisitorPDA
- belt: WeaponDisabler
+ #belt: # TODO: RG-2
back: ClothingBackpackSatchelLeather
#ears: #No headsets.
outerClothing: ClothingOuterWinterHoP
diff --git a/Resources/Prototypes/_Funkystation/Entities/Objects/Weapons/Melee/nightstick.yml b/Resources/Prototypes/_Funkystation/Entities/Objects/Weapons/Melee/nightstick.yml
new file mode 100644
index 00000000000..2d6e11de086
--- /dev/null
+++ b/Resources/Prototypes/_Funkystation/Entities/Objects/Weapons/Melee/nightstick.yml
@@ -0,0 +1,64 @@
+- type: entity
+ name: nightstick
+ parent: [BaseItem, BaseSecurityContraband]
+ id: Nightstick
+ description: A collapsible baton designed to beat troublemakers into submission.
+ components:
+ - type: Sprite
+ sprite: _Funkystation/Objects/Weapons/Melee/nightstick.rsi
+ layers:
+ - state: nightstick_handle
+ - state: nightstick_extend
+ visible: false
+ map: [ "extend" ]
+ - type: MeleeWeapon
+ wideAnimationRotation: -135
+ damage:
+ types:
+ Blunt: 5
+ soundHit:
+ collection: MetalThud
+ - type: Item
+ size: Small
+ - type: ItemToggle
+ soundActivate:
+ path: /Audio/_Funkystation/Weapons/nightstick_extend.ogg
+ soundDeactivate:
+ path: /Audio/_Funkystation/Weapons/nightstick_retract.ogg
+ - type: ItemToggleSize
+ activatedSize: Normal
+ activatedShape:
+ - 0,0,0,3
+ - type: ItemToggleMeleeWeapon
+ activatedDamage:
+ types:
+ Blunt: 12
+ activatedSoundOnHit:
+ collection: Nightstick
+ activatedBluntStaminaDamageFactor: 2.5
+ - type: ToggleableVisuals
+ spriteLayer: extend
+ inhandVisuals:
+ left:
+ - state: inhand-left-extend
+ right:
+ - state: inhand-right-extend
+ - type: UseDelay
+ delay: 0.2
+ - type: Tag
+ tags:
+ - Truncheon
+ - type: Clothing
+ sprite: _Funkystation/Objects/Weapons/Melee/nightstick.rsi
+ quickEquip: false
+ slots:
+ - Belt
+ - type: DisarmMalus
+ malus: 0.225
+ - type: Appearance
+ - type: StaticPrice
+ price: 80
+ - type: GuideHelp
+ guides:
+ - Security
+ - Antagonists
diff --git a/Resources/Prototypes/_Funkystation/SoundCollections/hit_impacts.yml b/Resources/Prototypes/_Funkystation/SoundCollections/hit_impacts.yml
new file mode 100644
index 00000000000..88888ca64b2
--- /dev/null
+++ b/Resources/Prototypes/_Funkystation/SoundCollections/hit_impacts.yml
@@ -0,0 +1,5 @@
+- type: soundCollection
+ id: Nightstick
+ files:
+ - /Audio/_Funkystation/Effects/HitImpacts/nightstick1.ogg
+ - /Audio/_Funkystation/Effects/HitImpacts/nightstick2.ogg
diff --git a/Resources/ServerInfo/Guidebook/Security/Security.xml b/Resources/ServerInfo/Guidebook/Security/Security.xml
index 452d75458f5..cb2338aeea4 100644
--- a/Resources/ServerInfo/Guidebook/Security/Security.xml
+++ b/Resources/ServerInfo/Guidebook/Security/Security.xml
@@ -15,11 +15,10 @@ They face [textlink="Syndicate Agents" link="Traitors"], [textlink="Nuclear Oper
## Gear
-First we have non-lethals a step above simply telling someone to cooperate with instructions. Both the stunbaton and disabler are capable of limiting the movement of an assailant, whereas handcuffs can be applied to deny a criminal free movement and access to their hands. Cuffs will also shove the person down if your [color=red]harm mode[/color] is active during uncuff.
+First we have less-lethals, a step above simply telling someone to cooperate with instructions. The nightstick is capable of limiting the movement of an assailant, whereas handcuffs can be applied to deny a criminal free movement and access to their hands. Cuffs will also shove the person down if your [color=red]harm mode[/color] is active during uncuff.
-
+
-
## Flashes
diff --git a/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/equipped-BELT.png b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/equipped-BELT.png
new file mode 100644
index 00000000000..5426912bf99
Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/equipped-BELT.png differ
diff --git a/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/icon.png b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/icon.png
new file mode 100644
index 00000000000..92dc0d23098
Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/icon.png differ
diff --git a/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/inhand-left-extend.png b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/inhand-left-extend.png
new file mode 100644
index 00000000000..71fb042aa37
Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/inhand-left-extend.png differ
diff --git a/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/inhand-left.png b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/inhand-left.png
new file mode 100644
index 00000000000..c374f80d6d7
Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/inhand-left.png differ
diff --git a/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/inhand-right-extend.png b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/inhand-right-extend.png
new file mode 100644
index 00000000000..86d342f105d
Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/inhand-right-extend.png differ
diff --git a/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/inhand-right.png b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/inhand-right.png
new file mode 100644
index 00000000000..23780621954
Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/inhand-right.png differ
diff --git a/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/meta.json b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/meta.json
new file mode 100644
index 00000000000..024c7fa08a5
--- /dev/null
+++ b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/meta.json
@@ -0,0 +1,40 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "By AraiMaia for Funky Station",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "nightstick_extend"
+ },
+ {
+ "name": "nightstick_handle"
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right-extend",
+ "directions": 4
+ },
+ {
+ "name": "inhand-left-extend",
+ "directions": 4
+ },
+ {
+ "name": "equipped-BELT",
+ "directions": 4
+ }
+ ]
+}
diff --git a/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/nightstick_extend.png b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/nightstick_extend.png
new file mode 100644
index 00000000000..bde834d1d86
Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/nightstick_extend.png differ
diff --git a/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/nightstick_handle.png b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/nightstick_handle.png
new file mode 100644
index 00000000000..fd2f82e8b8b
Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Weapons/Melee/nightstick.rsi/nightstick_handle.png differ
diff --git a/Resources/migration.yml b/Resources/migration.yml
index 44b657536a3..3c92dca20b0 100644
--- a/Resources/migration.yml
+++ b/Resources/migration.yml
@@ -860,3 +860,6 @@ TowelColorYellow: null
TowelColorMaroon: null
TowelColorSilver: null
TowelColorMime: null
+
+# TODO: When the RG-2 and its safe are ported over, uncomment the line below and add a timestamp.
+#GunSafeDisabler: GunSafePistolRg2