Adding shock collar and electropack (#30529)

* Adding shock collar with the new ShockOnTrigger

* Cleaning and updating the shock collar

* Add StripDelay datafield to ClothingComponent

* Adding SelfUnremovableClothingComponent

* ShockCollar Update

* Correction of the shock collar

* Correction of the shock collar 2

* Renaming the DamageSpecifier DataField to Damage

* Fixing the damage field in ShockCollar

* Cleaning the ShockCollar

* Renaming ShockCollar to ClothingNeckShockCollar

* Adding ClothingNeckShockCollar as a stealTarget to a thief

* Fixing a typo of the sprite path in ClothingNeckShockCollar

* Cleaning the ShockOnTriggerComponent

* Revision of SelfUnremovableClothing

* Adding a ClothingBackpackElectropack

* Sprite fix

* Code review

* Shock Collar sprite update

* add commit hash

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
This commit is contained in:
to4no_fix
2024-08-15 17:30:39 +03:00
committed by GitHub
parent 02eed07e21
commit 6567fa36e4
29 changed files with 326 additions and 21 deletions

View File

@@ -20,6 +20,10 @@
- id: ClothingOuterHardsuitWarden
- id: HoloprojectorSecurity
- id: BookSpaceLaw
- id: ClothingNeckShockCollar
amount: 2
- id: RemoteSignaller
amount: 2
- type: entity
id: LockerWardenFilled
@@ -42,6 +46,10 @@
- id: DoorRemoteArmory
- id: HoloprojectorSecurity
- id: BookSpaceLaw
- id: ClothingNeckShockCollar
amount: 2
- id: RemoteSignaller
amount: 2
- type: entity
id: LockerSecurityFilled

View File

@@ -314,6 +314,29 @@
- type: Unremoveable
deleteOnDrop: false
- type: entity
parent: ClothingBackpack
id: ClothingBackpackElectropack
name: electropack
suffix: SelfUnremovable
description: Shocks on the signal. It is used to keep a particularly dangerous criminal under control.
components:
- type: Sprite
sprite: Clothing/Back/Backpacks/electropack.rsi
state: icon
- type: Clothing
stripDelay: 10
equipDelay: 5 # to avoid accidentally falling into the trap associated with SelfUnremovableClothing
- type: SelfUnremovableClothing
- type: ShockOnTrigger
damage: 5
duration: 3
cooldown: 4
- type: TriggerOnSignal
- type: DeviceLinkSink
ports:
- Trigger
# Debug
- type: entity
parent: ClothingBackpack

View File

@@ -0,0 +1,36 @@
- type: entity
parent: Clothing
id: ClothingNeckShockCollar
name: shock collar
suffix: SelfUnremovable
description: An electric collar that shocks on the signal.
components:
- type: Item
size: Small
- type: Sprite
sprite: Clothing/Neck/Misc/shock_collar.rsi
state: icon
- type: Clothing
sprite: Clothing/Neck/Misc/shock_collar.rsi
stripDelay: 10
equipDelay: 5 # to avoid accidentally falling into the trap associated with SelfUnremovableClothing
quickEquip: true
slots:
- neck
- type: SelfUnremovableClothing
- type: ShockOnTrigger
damage: 5
duration: 3
cooldown: 4
- type: TriggerOnSignal
- type: DeviceLinkSink
ports:
- Trigger
- type: GuideHelp
guides:
- Security
- type: StealTarget
stealGroup: ClothingNeckShockCollar
- type: Tag
tags:
- WhitelistChameleon

View File

@@ -16,7 +16,7 @@
mask:
- MachineMask
layer:
- MachineLayer
- MachineLayer
- type: Lathe
- type: MaterialStorage
- type: Destructible
@@ -808,6 +808,7 @@
- WeaponLaserCannon
- WeaponLaserCarbine
- WeaponXrayCannon
- ClothingBackpackElectropack
- type: MaterialStorage
whitelist:
tags:

View File

@@ -73,6 +73,7 @@
ForensicScannerStealObjective: 1 #sec
FlippoEngravedLighterStealObjective: 0.5
ClothingHeadHatWardenStealObjective: 1
ClothingNeckShockCollarStealObjective: 1
ClothingOuterHardsuitVoidParamedStealObjective: 1 #med
MedicalTechFabCircuitboardStealObjective: 1
ClothingHeadsetAltMedicalStealObjective: 1

View File

@@ -272,6 +272,13 @@
sprite: Clothing/Neck/Medals/clownmedal.rsi
state: icon
- type: stealTargetGroup
id: ClothingNeckShockCollar
name: shock collar
sprite:
sprite: Clothing/Neck/Misc/shock_collar.rsi
state: icon
#Thief structures
- type: stealTargetGroup

View File

@@ -316,6 +316,17 @@
- type: Objective
difficulty: 1
- type: entity
parent: BaseThiefStealObjective
id: ClothingNeckShockCollarStealObjective
components:
- type: NotJobRequirement
job: Warden
- type: StealCondition
stealGroup: ClothingNeckShockCollar
- type: Objective
difficulty: 1
# Structures
- type: entity

View File

@@ -38,7 +38,7 @@
materials:
Steel: 250
Plastic: 100
- type: latheRecipe
id: WeaponLaserCarbine
result: WeaponLaserCarbine
@@ -89,6 +89,15 @@
Plastic: 250
Gold: 100
- type: latheRecipe
id: ClothingBackpackElectropack
result: ClothingBackpackElectropack
completetime: 4
materials:
Steel: 500
Plastic: 250
Cloth: 500
- type: latheRecipe
id: ForensicPad
result: ForensicPad
@@ -655,7 +664,7 @@
Steel: 1000
Glass: 500
Plastic: 500
- type: latheRecipe
id: MagazineGrenadeEmpty
result: MagazineGrenadeEmpty
@@ -663,7 +672,7 @@
materials:
Steel: 150
Plastic: 50
- type: latheRecipe
id: GrenadeEMP
result: GrenadeEMP
@@ -672,7 +681,7 @@
Steel: 150
Plastic: 100
Glass: 20
- type: latheRecipe
id: GrenadeBlast
result: GrenadeBlast
@@ -681,7 +690,7 @@
Steel: 450
Plastic: 300
Gold: 150
- type: latheRecipe
id: GrenadeFlash
result: GrenadeFlash

View File

@@ -58,8 +58,8 @@
cost: 5000
recipeUnlocks:
- MagazineShotgunBeanbag
- BoxShellTranquilizer
- BoxBeanbag
- BoxShellTranquilizer
- BoxBeanbag
- WeaponDisabler
- type: technology
@@ -115,6 +115,18 @@
- ExplosivePayload
- ChemicalPayload
- type: technology
id: SpecialMeans
name: research-technology-special-means
icon:
sprite: Clothing/Back/Backpacks/electropack.rsi
state: icon
discipline: Arsenal
tier: 1
cost: 5000
recipeUnlocks:
- ClothingBackpackElectropack
# Tier 2
- type: technology
@@ -144,7 +156,7 @@
- type: technology
id: BasicShuttleArmament
name: research-technology-basic-shuttle-armament
icon:
icon:
sprite: Structures/Power/cage_recharger.rsi
state: full
discipline: Arsenal
@@ -189,11 +201,11 @@
cost: 15000
recipeUnlocks:
- WeaponLaserSvalinn
- type: technology
id: AdvancedShuttleWeapon
name: research-technology-advanced-shuttle-weapon
icon:
icon:
sprite: Objects/Weapons/Guns/Ammunition/Magazine/Grenade/grenade_cartridge.rsi
state: icon
discipline: Arsenal