/// <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>
/// If null, no departments are allowed to use this.
/// </summary>
[DataField]
+ [AutoNetworkedField]
public HashSet<ProtoId<DepartmentPrototype>>? AllowedDepartments = ["Security"];
}
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.
- 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.
- type: CriminalRecordsHacker
- type: entity
- parent: [ClothingHandsGlovesColorBlack, BaseMinorContraband]
+ parent: [ClothingHandsGlovesColorBlack, BaseSecurityEngineeringContraband]
id: ClothingHandsGlovesCombat
name: combat gloves
description: These tactical gloves are fireproof and shock resistant.
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.
- 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.
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!"
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.
- type: TraitorCodePaper
- type: entity
- parent: Paper
+ parent: [Paper, BaseSyndicateContraband]
id: AllTraitorCodesPaper
name: syndicate codewords registry
description: A registry of all active Syndicate codewords.
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:
- WriteIgnoreStamps
- Pickaxe
- Pen
- - type: Sprite
- state: overpriced_pen
- - type: Item
- heldPrefix: overpriced_pen
- type: MeleeWeapon
wideAnimationRotation: -45
damage:
path: /Audio/Weapons/bladeslice.ogg
- type: Tool
qualities:
- - Screwing
+ - Screwing
useSound:
collection: Screwdriver
- type: entity
- name: captain's fountain pen
- parent: PenEmbeddable
- id: PenCap
- description: A luxurious fountain pen for the captain of the station.
+ 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: pen_cap
+ state: overpriced_pen
+ - type: Item
+ heldPrefix: overpriced_pen
- type: entity
name: CentComm pen
- parent: CyberPen
+ 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: Item
heldPrefix: pen_centcom
+- type: entity
+ name: captain's fountain pen
+ parent: PenEmbeddable
+ id: PenCap
+ description: A luxurious fountain pen for the captain of the station.
+ components:
+ - type: Sprite
+ state: pen_cap
+
- type: entity
name: hop's fountain pen
parent: PenEmbeddable
- 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
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
+ proto: RedLaserPractice
fireCost: 62.5
+ - type: StaticPrice
+ price: 300
- 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.
+ 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: RedLaserPractice
+ proto: RedLaser
fireCost: 62.5
- - type: StaticPrice
- price: 300
- type: entity
name: pulse pistol
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
- 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 ]
- type: entity
name: AKMS
- parent: [BaseWeaponRifle, BaseMinorContraband]
+ parent: [BaseWeaponRifle, BaseMajorContraband]
id: WeaponRifleAk
description: An iconic weapon of war. Uses .30 rifle ammo.
components:
- 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
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
Blunt: 4.5
- type: Item
size: Small
- sprite: Objects/Weapons/Melee/e_sword-inhands.rsi
- type: UseDelay
delay: 1.0
- type: PointLight
- 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:
- 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.'
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:
- 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
- type: entity
name: energy cutlass
- parent: EnergySword
+ parent: [BaseMeleeWeaponEnergy, BaseMajorContraband]
id: EnergyCutlass
description: An exotic energy weapon.
components:
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:
- 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
- type: entity
name: katana
- parent: [ BaseSword, BaseMinorContraband ]
+ parent: [ BaseSword, BaseMajorContraband ]
id: Katana
description: Ancient craftwork made with not so ancient plasteel.
components:
- type: entity
name: machete
- parent: [ BaseSword, BaseMinorContraband ]
+ parent: [ BaseSword, BaseMajorContraband ]
id: Machete
description: A large, vicious looking blade.
components:
- type: entity
name: claymore
- parent: [ BaseSword, BaseMinorContraband ]
+ parent: [ BaseSword, BaseMajorContraband ]
id: Claymore
description: An ancient war blade.
components:
- 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:
- type: entity
name: Throngler
- parent: [ BaseSword, BaseMinorContraband ]
+ parent: [ BaseSword, BaseMajorContraband ]
id: Throngler
description: Why would you make this?
components:
- 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