Contraband Review Pass - The Threequel (#30970)

Contraband pass number three
This commit is contained in:
Plykiya
2024-08-15 11:52:46 -07:00
committed by GitHub
parent 40b9fd4ea3
commit dc66386e5f
13 changed files with 188 additions and 168 deletions

View File

@@ -7,13 +7,14 @@ namespace Content.Shared.Contraband;
/// <summary>
/// This is used for marking entities that are considered 'contraband' IC and showing it clearly in examine.
/// </summary>
[RegisterComponent, NetworkedComponent, Access(typeof(ContrabandSystem))]
[RegisterComponent, NetworkedComponent, Access(typeof(ContrabandSystem)), AutoGenerateComponentState]
public sealed partial class ContrabandComponent : Component
{
/// <summary>
/// The degree of contraband severity this item is considered to have.
/// </summary>
[DataField]
[AutoNetworkedField]
public ProtoId<ContrabandSeverityPrototype> Severity = "Restricted";
/// <summary>
@@ -22,5 +23,6 @@ public sealed partial class ContrabandComponent : Component
/// If null, no departments are allowed to use this.
/// </summary>
[DataField]
[AutoNetworkedField]
public HashSet<ProtoId<DepartmentPrototype>>? AllowedDepartments = ["Security"];
}

View File

@@ -234,7 +234,7 @@
coverage: EYES
- type: entity
parent: ClothingEyesBase
parent: [ClothingEyesBase, BaseMajorContraband]
id: ClothingEyesVisorNinja
name: ninja visor
description: An advanced visor protecting a ninja's eyes from flashing lights.

View File

@@ -202,7 +202,7 @@
- type: FingerprintMask
- type: entity
parent: [ClothingHandsBase, BaseToggleClothing]
parent: [ClothingHandsBase, BaseToggleClothing, BaseMajorContraband]
id: ClothingHandsGlovesSpaceNinja
name: space ninja gloves
description: These black nano-enhanced gloves insulate from electricity and provide fire resistance.
@@ -255,7 +255,7 @@
- type: CriminalRecordsHacker
- type: entity
parent: [ClothingHandsGlovesColorBlack, BaseMinorContraband]
parent: [ClothingHandsGlovesColorBlack, BaseSecurityEngineeringContraband]
id: ClothingHandsGlovesCombat
name: combat gloves
description: These tactical gloves are fireproof and shock resistant.

View File

@@ -127,7 +127,7 @@
slots: WITHOUT_POCKET
- type: entity
parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing, BaseToggleClothing]
parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing, BaseToggleClothing, BaseMajorContraband]
id: ClothingOuterSuitSpaceNinja
name: space ninja suit
description: This black technologically advanced, cybernetically-enhanced suit provides many abilities like invisibility or teleportation.

View File

@@ -111,7 +111,7 @@
- type: NoSlip
- type: entity
parent: ClothingShoesBaseButcherable
parent: [ClothingShoesBaseButcherable, BaseMajorContraband]
id: ClothingShoesSpaceNinja
name: space ninja shoes
description: A pair of nano-enhanced boots with built-in magnetic suction cups.

View File

@@ -23,7 +23,7 @@
sprite: Objects/Misc/Handy_Flags/NT_handy_flag.rsi
- type: entity
parent: BaseItem
parent: [BaseItem, BaseSyndicateContraband]
id: SyndieHandyFlag
name: syndicate handheld flag
description: "For truly rebellious patriots. Death to NT!"

View File

@@ -566,7 +566,7 @@
stealGroup: BoxFolderQmClipboard
- type: entity
parent: Paper
parent: [Paper, BaseSyndicateContraband] # eat or burn your damn piece of paper damn thieves
id: TraitorCodePaper
name: syndicate codeword
description: A leaked codeword to possibly get in touch with the Syndicate.
@@ -575,7 +575,7 @@
- type: TraitorCodePaper
- type: entity
parent: Paper
parent: [Paper, BaseSyndicateContraband]
id: AllTraitorCodesPaper
name: syndicate codewords registry
description: A registry of all active Syndicate codewords.

View File

@@ -57,10 +57,8 @@
heldPrefix: luxury_pen
- type: entity
name: Cybersun pen
parent: [PenEmbeddable, BaseSyndicateContraband]
id: CyberPen
description: A high-tech pen straight from Cybersun's legal department, capable of refracting hard-light at impossible angles through its diamond tip in order to write. So powerful, it's even able to rewrite officially stamped documents should the need arise.
id: BaseAdvancedPen
parent: PenEmbeddable
components:
- type: Tag
tags:
@@ -68,10 +66,6 @@
- WriteIgnoreStamps
- Pickaxe
- Pen
- type: Sprite
state: overpriced_pen
- type: Item
heldPrefix: overpriced_pen
- type: MeleeWeapon
wideAnimationRotation: -45
damage:
@@ -81,10 +75,32 @@
path: /Audio/Weapons/bladeslice.ogg
- type: Tool
qualities:
- Screwing
- Screwing
useSound:
collection: Screwdriver
- type: entity
name: Cybersun pen
parent: [BaseAdvancedPen, BaseSyndicateContraband]
id: CyberPen
description: A high-tech pen straight from Cybersun's legal department, capable of refracting hard-light at impossible angles through its diamond tip in order to write. So powerful, it's even able to rewrite officially stamped documents should the need arise.
components:
- type: Sprite
state: overpriced_pen
- type: Item
heldPrefix: overpriced_pen
- type: entity
name: CentComm pen
parent: [BaseAdvancedPen, BaseCommandContraband]
id: PenCentcom
description: In an attempt to keep up with the "power" of the cybersun bureaucracy, NT made a replica of cyber pen, in their corporate style.
components:
- type: Sprite
state: pen_centcom
- type: Item
heldPrefix: pen_centcom
- type: entity
name: captain's fountain pen
parent: PenEmbeddable
@@ -94,17 +110,6 @@
- type: Sprite
state: pen_cap
- type: entity
name: CentComm pen
parent: CyberPen
id: PenCentcom
description: In an attempt to keep up with the "power" of the cybersun bureaucracy, NT made a replica of cyber pen, in their corporate style.
components:
- type: Sprite
state: pen_centcom
- type: Item
heldPrefix: pen_centcom
- type: entity
name: hop's fountain pen
parent: PenEmbeddable

View File

@@ -199,10 +199,10 @@
- type: Appearance
- type: entity
name: laser rifle
parent: [BaseWeaponBattery, BaseGunWieldable, BaseRestrictedContraband]
id: WeaponLaserCarbine
description: Favoured by Nanotrasen Security for being cheap and easy to use.
name: practice laser rifle
parent: [BaseWeaponBattery, BaseGunWieldable]
id: WeaponLaserCarbinePractice
description: This modified laser rifle fires nearly harmless beams in the 40-watt range, for target practice.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Battery/laser_gun.rsi
@@ -214,28 +214,28 @@
shader: unshaded
- type: Clothing
sprite: Objects/Weapons/Guns/Battery/laser_gun.rsi
- type: StaticPrice
price: 420
- type: Gun
selectedMode: SemiAuto
availableModes:
- SemiAuto
- type: HitscanBatteryAmmoProvider
proto: RedLaser
fireCost: 62.5
- type: entity
name: practice laser rifle
parent: WeaponLaserCarbine
id: WeaponLaserCarbinePractice
description: This modified laser rifle fires nearly harmless beams in the 40-watt range, for target practice.
components:
- type: HitscanBatteryAmmoProvider
proto: RedLaserPractice
fireCost: 62.5
- type: StaticPrice
price: 300
- type: entity
name: laser rifle
parent: [WeaponLaserCarbinePractice, BaseGunWieldable, BaseRestrictedContraband]
id: WeaponLaserCarbine
description: Favoured by Nanotrasen Security for being cheap and easy to use.
components:
- type: StaticPrice
price: 420
- type: HitscanBatteryAmmoProvider
proto: RedLaser
fireCost: 62.5
- type: entity
name: pulse pistol
parent: BaseWeaponBatterySmall
@@ -406,46 +406,71 @@
zeroVisible: true
- type: Appearance
- type: entity
name: practice disabler
parent: BaseWeaponBatterySmall
id: WeaponDisablerPractice
description: A self-defense weapon that exhausts organic targets, weakening them until they collapse. This one has been undertuned for cadets making it mostly harmless.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Battery/practice_disabler.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-unshaded-0
map: ["enum.GunVisualLayers.MagUnshaded"]
shader: unshaded
- type: Clothing
sprite: Objects/Weapons/Guns/Battery/practice_disabler.rsi
quickEquip: false
slots:
- Belt
- type: Appearance
- type: MagazineVisuals
magState: mag
steps: 5
zeroVisible: true
- type: StaticPrice
price: 100
- type: Gun
fireRate: 2
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/taser2.ogg
- type: ProjectileBatteryAmmoProvider
proto: BulletDisablerPractice
fireCost: 100
- type: Tag
tags:
- Taser
- Sidearm
- type: entity
name: disabler
parent: [ BaseWeaponBatterySmall, BaseSecurityCommandContraband ]
parent: [ WeaponDisablerPractice, BaseSecurityCommandContraband ]
id: WeaponDisabler
description: A self-defense weapon that exhausts organic targets, weakening them until they collapse.
components:
- type: Tag
tags:
- Taser
- Sidearm
- type: Sprite
sprite: Objects/Weapons/Guns/Battery/disabler.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-unshaded-0
map: ["enum.GunVisualLayers.MagUnshaded"]
shader: unshaded
- type: Clothing
sprite: Objects/Weapons/Guns/Battery/disabler.rsi
quickEquip: false
slots:
- suitStorage
- Belt
- type: Gun
fireRate: 2
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/taser2.ogg
- type: ProjectileBatteryAmmoProvider
proto: BulletDisabler
fireCost: 100
- type: MagazineVisuals
magState: mag
steps: 5
zeroVisible: true
- type: Appearance
- type: GuideHelp
guides:
- Security
- Antagonists
- type: Sprite
sprite: Objects/Weapons/Guns/Battery/disabler.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-unshaded-0
map: ["enum.GunVisualLayers.MagUnshaded"]
shader: unshaded
- type: Clothing
sprite: Objects/Weapons/Guns/Battery/disabler.rsi
quickEquip: false
slots:
- suitStorage
- Belt
- type: ProjectileBatteryAmmoProvider
proto: BulletDisabler
fireCost: 100
- type: GuideHelp
guides:
- Security
- Antagonists
- type: entity
name: disabler SMG
@@ -485,31 +510,6 @@
- type: StaticPrice
price: 260
- type: entity
name: practice disabler
parent: WeaponDisabler
id: WeaponDisablerPractice
description: A self-defense weapon that exhausts organic targets, weakening them until they collapse. This one has been undertuned for cadets making it mostly harmless.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Battery/practice_disabler.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-unshaded-0
map: ["enum.GunVisualLayers.MagUnshaded"]
shader: unshaded
- type: Clothing
sprite: Objects/Weapons/Guns/Battery/practice_disabler.rsi
quickEquip: false
slots:
- Belt
- type: StaticPrice
price: 100
- type: ProjectileBatteryAmmoProvider
proto: BulletDisablerPractice
fireCost: 100
- type: entity
name: taser
parent: [ BaseWeaponBatterySmall, BaseRestrictedContraband ]

View File

@@ -53,7 +53,7 @@
- type: entity
name: AKMS
parent: [BaseWeaponRifle, BaseMinorContraband]
parent: [BaseWeaponRifle, BaseMajorContraband]
id: WeaponRifleAk
description: An iconic weapon of war. Uses .30 rifle ammo.
components:

View File

@@ -1,8 +1,7 @@
- type: entity
name: energy sword
parent: [BaseItem, BaseSyndicateContraband]
id: EnergySword
description: A very loud & dangerous sword with a beam made of pure, concentrated plasma. Cuts through unarmored targets like butter.
id: BaseMeleeWeaponEnergy # more generic naming in case someone makes like, idk, an energy axe
parent: BaseItem
abstract: true
components:
- type: EnergySword
- type: ItemToggle
@@ -38,19 +37,10 @@
params:
variation: 0.125
activatedDamage:
types:
Slash: 15
Heat: 15
Structural: 20
- type: Sprite
sprite: Objects/Weapons/Melee/e_sword.rsi
layers:
- state: e_sword
- state: e_sword_blade
color: "#FFFFFF"
visible: false
shader: unshaded
map: [ "blade" ]
types:
Slash: 15
Heat: 15
Structural: 20
- type: MeleeWeapon
wideAnimationRotation: -135
attackRate: 1
@@ -59,7 +49,6 @@
Blunt: 4.5
- type: Item
size: Small
sprite: Objects/Weapons/Melee/e_sword-inhands.rsi
- type: UseDelay
delay: 1.0
- type: PointLight
@@ -82,9 +71,27 @@
- type: IgnitionSource
temperature: 700
- type: entity
name: energy sword
parent: [BaseMeleeWeaponEnergy, BaseSyndicateContraband]
id: EnergySword
description: A very loud & dangerous sword with a beam made of pure, concentrated plasma. Cuts through unarmored targets like butter.
components:
- type: Sprite
sprite: Objects/Weapons/Melee/e_sword.rsi
layers:
- state: e_sword
- state: e_sword_blade
color: "#FFFFFF"
visible: false
shader: unshaded
map: [ "blade" ]
- type: Item
sprite: Objects/Weapons/Melee/e_sword-inhands.rsi
- type: entity
name: energy dagger
parent: EnergySword
parent: [BaseMeleeWeaponEnergy, BaseSyndicateContraband]
id: EnergyDaggerLoud
description: A not as loud and dangerous dagger with a beam made of pure, concentrated plasma. This one is completely undisguised.
components:
@@ -139,30 +146,16 @@
- type: Item
size: Tiny
sprite: Objects/Weapons/Melee/e_dagger_loud.rsi
- type: UseDelay
delay: 1.0
- type: PointLight
enabled: false
radius: 1.5
energy: 1.5
color: white
netsync: false
- type: Appearance
- type: ToggleableLightVisuals
spriteLayer: blade
inhandVisuals:
left:
- state: inhand-left-blade
shader: unshaded
right:
- state: inhand-right-blade
shader: unshaded
- type: DisarmMalus
malus: 0
- type: entity
name: pen
parent: EnergyDaggerLoud
parent: BaseMeleeWeaponEnergy
id: EnergyDagger
suffix: E-Dagger
description: 'A dark ink pen.'
@@ -181,6 +174,26 @@
path: /Audio/Weapons/ebladehum.ogg
params:
volume: -6
- type: ItemToggleMeleeWeapon
activatedSoundOnSwing:
path: /Audio/Weapons/eblademiss.ogg
params:
volume: -3
variation: 0.250
activatedDamage:
types:
Slash: 10
Heat: 10
- type: ComponentToggler
components:
- type: Sharp
- type: DisarmMalus
malus: 0.4
- type: Execution
doAfterDuration: 4.0
- type: Contraband
severity: Syndicate
allowedDepartments: null
- type: Sprite
sprite: Objects/Weapons/Melee/e_dagger.rsi
layers:
@@ -193,6 +206,19 @@
- type: Item
size: Tiny
sprite: Objects/Weapons/Melee/e_dagger.rsi
- type: PointLight
enabled: false
radius: 1.5
energy: 1.5
color: white
netsync: false
- type: MeleeWeapon
wideAnimationRotation: 145
attackRate: 1
hidden: true
damage:
types:
Blunt: 1
- type: Tag
tags:
- Write
@@ -217,7 +243,7 @@
- type: entity
name: energy cutlass
parent: EnergySword
parent: [BaseMeleeWeaponEnergy, BaseMajorContraband]
id: EnergyCutlass
description: An exotic energy weapon.
components:
@@ -237,21 +263,11 @@
shader: unshaded
map: [ "blade" ]
- type: Item
size: Small
sprite: Objects/Weapons/Melee/e_cutlass.rsi
- type: ToggleableLightVisuals
spriteLayer: blade
inhandVisuals:
left:
- state: inhand-left-blade
shader: unshaded
right:
- state: inhand-right-blade
shader: unshaded
- type: entity
name: double-bladed energy sword
parent: EnergySword
parent: [BaseMeleeWeaponEnergy, BaseSyndicateContraband]
id: EnergySwordDouble
description: Syndicate Command Interns thought that having one blade on the energy sword was not enough. This can be stored in pockets.
components:
@@ -312,17 +328,6 @@
- type: Reflect
reflectProb: .75
spread: 75
- type: UseDelay
delay: 1
- type: ToggleableLightVisuals
spriteLayer: blade
inhandVisuals:
left:
- state: inhand-left-blade
shader: unshaded
right:
- state: inhand-right-blade
shader: unshaded
- type: entity
suffix: One-Handed, For Borgs

View File

@@ -43,7 +43,7 @@
- type: entity
name: katana
parent: [ BaseSword, BaseMinorContraband ]
parent: [ BaseSword, BaseMajorContraband ]
id: Katana
description: Ancient craftwork made with not so ancient plasteel.
components:
@@ -93,7 +93,7 @@
- type: entity
name: machete
parent: [ BaseSword, BaseMinorContraband ]
parent: [ BaseSword, BaseMajorContraband ]
id: Machete
description: A large, vicious looking blade.
components:
@@ -114,7 +114,7 @@
- type: entity
name: claymore
parent: [ BaseSword, BaseMinorContraband ]
parent: [ BaseSword, BaseMajorContraband ]
id: Claymore
description: An ancient war blade.
components:
@@ -136,7 +136,7 @@
- type: entity
name: cutlass
parent: [ BaseSword, BaseMinorContraband ]
parent: [ BaseSword, BaseMajorContraband ]
id: Cutlass
description: A wickedly curved blade, often seen in the hands of space pirates.
components:
@@ -157,7 +157,7 @@
- type: entity
name: Throngler
parent: [ BaseSword, BaseMinorContraband ]
parent: [ BaseSword, BaseMajorContraband ]
id: Throngler
description: Why would you make this?
components:

View File

@@ -60,6 +60,14 @@
- type: Contraband
allowedDepartments: [ Security, Science, Command ]
- type: entity
id: BaseSecurityEngineeringContraband
parent: BaseRestrictedContraband
abstract: true
components:
- type: Contraband
allowedDepartments: [ Security, Engineering ]
- type: entity
id: BaseEngineeringContraband
parent: BaseRestrictedContraband