]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Contraband marking & examining (#28688)
authorKara <lunarautomaton6@gmail.com>
Mon, 12 Aug 2024 03:57:49 +0000 (22:57 -0500)
committerGitHub <noreply@github.com>
Mon, 12 Aug 2024 03:57:49 +0000 (23:57 -0400)
* System & loc strings

* pass over syndie contraband

* fixes

* grand theft pass

* contrabandexamine -> contraband

* examine text generation update

* all composition parents necessary

* bring back minor contra so it has a less confusing message

* minor

* weapon pass

* jumpsuit pass

* feet pass

* AUUUUUUUUUGHHHHHHHHHHHHHHHHHH

* head

* AUUUUGH

* ear

* belt

* back

* fix

* bro

* rename for more clarity

* do da review

* add cvar for contraband examine

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
105 files changed:
Content.Server/Medical/SuitSensors/SuitSensorSystem.cs
Content.Shared/Access/Components/IdCardComponent.cs
Content.Shared/Access/Systems/SharedIdCardSystem.cs
Content.Shared/CCVar/CCVars.cs
Content.Shared/Contraband/ContrabandComponent.cs [new file with mode: 0644]
Content.Shared/Contraband/ContrabandSeverityPrototype.cs [new file with mode: 0644]
Content.Shared/Contraband/ContrabandSystem.cs [new file with mode: 0644]
Resources/Locale/en-US/contraband/contraband-severity.ftl [new file with mode: 0644]
Resources/Prototypes/Catalog/Fills/Boxes/general.yml
Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml
Resources/Prototypes/Catalog/Fills/Items/briefcases.yml
Resources/Prototypes/Entities/Clothing/Back/backpacks.yml
Resources/Prototypes/Entities/Clothing/Back/duffel.yml
Resources/Prototypes/Entities/Clothing/Back/satchel.yml
Resources/Prototypes/Entities/Clothing/Belt/belts.yml
Resources/Prototypes/Entities/Clothing/Ears/headsets.yml
Resources/Prototypes/Entities/Clothing/Ears/headsets_alt.yml
Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml
Resources/Prototypes/Entities/Clothing/Eyes/hud.yml
Resources/Prototypes/Entities/Clothing/Hands/gloves.yml
Resources/Prototypes/Entities/Clothing/Head/hats.yml
Resources/Prototypes/Entities/Clothing/Head/helmets.yml
Resources/Prototypes/Entities/Clothing/Masks/masks.yml
Resources/Prototypes/Entities/Clothing/Neck/cloaks.yml
Resources/Prototypes/Entities/Clothing/Neck/mantles.yml
Resources/Prototypes/Entities/Clothing/Neck/scarfs.yml
Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml
Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml
Resources/Prototypes/Entities/Clothing/OuterClothing/vests.yml
Resources/Prototypes/Entities/Clothing/OuterClothing/wintercoats.yml
Resources/Prototypes/Entities/Clothing/Shoes/boots.yml
Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml
Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml
Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml
Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml
Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml
Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/chimp_upgrade_kit.yml
Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/guardian_activators.yml
Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/reinforcement_teleporter.yml
Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/singularity_beacon.yml
Resources/Prototypes/Entities/Objects/Devices/chameleon_projector.yml
Resources/Prototypes/Entities/Objects/Devices/encryption_keys.yml
Resources/Prototypes/Entities/Objects/Devices/hand_teleporter.yml
Resources/Prototypes/Entities/Objects/Misc/briefcases.yml
Resources/Prototypes/Entities/Objects/Misc/dat_fukken_disk.yml
Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml
Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml
Resources/Prototypes/Entities/Objects/Misc/implanters.yml
Resources/Prototypes/Entities/Objects/Misc/paper.yml
Resources/Prototypes/Entities/Objects/Misc/pen.yml
Resources/Prototypes/Entities/Objects/Misc/rubber_stamp.yml
Resources/Prototypes/Entities/Objects/Misc/secret_documents.yml
Resources/Prototypes/Entities/Objects/Power/powersink.yml
Resources/Prototypes/Entities/Objects/Shields/shields.yml
Resources/Prototypes/Entities/Objects/Specific/Chapel/bibles.yml
Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml
Resources/Prototypes/Entities/Objects/Specific/Janitorial/soap.yml
Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml
Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml
Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml
Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml
Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml
Resources/Prototypes/Entities/Objects/Specific/rehydrateable.yml
Resources/Prototypes/Entities/Objects/Specific/syndicate.yml
Resources/Prototypes/Entities/Objects/Tools/emag.yml
Resources/Prototypes/Entities/Objects/Tools/jammer.yml
Resources/Prototypes/Entities/Objects/Tools/jaws_of_life.yml
Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml
Resources/Prototypes/Entities/Objects/Tools/lantern.yml
Resources/Prototypes/Entities/Objects/Tools/toolbox.yml
Resources/Prototypes/Entities/Objects/Weapons/Bombs/pen.yml
Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/pka.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Bow/bow.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/turrets.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/cane.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml
Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml
Resources/Prototypes/Entities/Objects/Weapons/Throwable/clusterbang.yml
Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml
Resources/Prototypes/Entities/Objects/Weapons/Throwable/throwing_stars.yml
Resources/Prototypes/Entities/Objects/Weapons/security.yml
Resources/Prototypes/Entities/Objects/base_contraband.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Structures/Machines/bombs.yml
Resources/Prototypes/contraband_severities.yml [new file with mode: 0644]

index 2b412654d57a855dfe40cee0fda59716cffb152d..b1b87ae981d5617fce8068919490f2db7fd7e284 100644 (file)
@@ -368,7 +368,7 @@ public sealed class SuitSensorSystem : EntitySystem
             userJobIcon = card.Comp.JobIcon;
 
             foreach (var department in card.Comp.JobDepartments)
-                userJobDepartments.Add(Loc.GetString(department));
+                userJobDepartments.Add(Loc.GetString($"department-{department}"));
         }
 
         // get health mob state
index 9879a02dbcd5331b759ec74bcc323e67484cf486..ccd4cccbe7b5a5e1ae74a173c26fdc3dcc27d4c7 100644 (file)
@@ -1,5 +1,6 @@
 using Content.Shared.Access.Systems;
 using Content.Shared.PDA;
+using Content.Shared.Roles;
 using Content.Shared.StatusIcon;
 using Robust.Shared.GameStates;
 using Robust.Shared.Prototypes;
@@ -29,11 +30,11 @@ public sealed partial class IdCardComponent : Component
     public ProtoId<JobIconPrototype> JobIcon = "JobIconUnknown";
 
     /// <summary>
-    /// The unlocalized names of the departments associated with the job
+    /// The proto IDs of the departments associated with the job
     /// </summary>
     [DataField]
     [AutoNetworkedField]
-    public List<LocId> JobDepartments = new();
+    public List<ProtoId<DepartmentPrototype>> JobDepartments = new();
 
     /// <summary>
     /// Determines if accesses from this card should be logged by <see cref="AccessReaderComponent"/>
index 762c146f36fa0345d570a4e0598f14b7228f4ded..06f9d66a619c08f4e5e57b6bd70a9042e3a00662 100644 (file)
@@ -147,7 +147,7 @@ public abstract class SharedIdCardSystem : EntitySystem
         foreach (var department in _prototypeManager.EnumeratePrototypes<DepartmentPrototype>())
         {
             if (department.Roles.Contains(job.ID))
-                id.JobDepartments.Add("department-" + department.ID);
+                id.JobDepartments.Add(department.ID);
         }
 
         Dirty(uid, id);
index 6c145d69da33c8ce13275b13eed8a6a9e64e70d5..3049df28aeb2b75716daada35ebf3045e191d64f 100644 (file)
@@ -450,6 +450,12 @@ namespace Content.Shared.CCVar
         public static readonly CVarDef<bool> GameTabletopPlace =
             CVarDef.Create("game.tabletop_place", false, CVar.SERVERONLY);
 
+        /// <summary>
+        /// If true, contraband severity can be viewed in the examine menu
+        /// </summary>
+        public static readonly CVarDef<bool> ContrabandExamine =
+            CVarDef.Create("game.contraband_examine", true, CVar.SERVER | CVar.REPLICATED);
+
         /*
          * Discord
          */
diff --git a/Content.Shared/Contraband/ContrabandComponent.cs b/Content.Shared/Contraband/ContrabandComponent.cs
new file mode 100644 (file)
index 0000000..883f503
--- /dev/null
@@ -0,0 +1,26 @@
+using Content.Shared.Roles;
+using Robust.Shared.GameStates;
+using Robust.Shared.Prototypes;
+
+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))]
+public sealed partial class ContrabandComponent : Component
+{
+    /// <summary>
+    ///     The degree of contraband severity this item is considered to have.
+    /// </summary>
+    [DataField]
+    public ProtoId<ContrabandSeverityPrototype> Severity = "Restricted";
+
+    /// <summary>
+    ///     Which departments is this item restricted to?
+    ///     By default, command and sec are assumed to be fine with contraband.
+    ///     If null, no departments are allowed to use this.
+    /// </summary>
+    [DataField]
+    public HashSet<ProtoId<DepartmentPrototype>>? AllowedDepartments = ["Security"];
+}
diff --git a/Content.Shared/Contraband/ContrabandSeverityPrototype.cs b/Content.Shared/Contraband/ContrabandSeverityPrototype.cs
new file mode 100644 (file)
index 0000000..c1ab4b8
--- /dev/null
@@ -0,0 +1,26 @@
+using Robust.Shared.Prototypes;
+
+namespace Content.Shared.Contraband;
+
+/// <summary>
+/// This is a prototype for defining the degree of severity for a particular <see cref="ContrabandComponent"/>
+/// </summary>
+[Prototype]
+public sealed partial class ContrabandSeverityPrototype : IPrototype
+{
+    /// <inheritdoc/>
+    [IdDataField]
+    public string ID { get; } = default!;
+
+    /// <summary>
+    /// Text shown for this severity level when the contraband is examined.
+    /// </summary>
+    [DataField]
+    public LocId ExamineText;
+
+    /// <summary>
+    /// When examining the contraband, should this take into account the viewer's departments?
+    /// </summary>
+    [DataField]
+    public bool ShowDepartments;
+}
diff --git a/Content.Shared/Contraband/ContrabandSystem.cs b/Content.Shared/Contraband/ContrabandSystem.cs
new file mode 100644 (file)
index 0000000..22181ce
--- /dev/null
@@ -0,0 +1,81 @@
+using System.Linq;
+using Content.Shared.Access.Systems;
+using Content.Shared.CCVar;
+using Content.Shared.Examine;
+using Content.Shared.Localizations;
+using Content.Shared.Roles;
+using Robust.Shared.Configuration;
+using Robust.Shared.Prototypes;
+
+namespace Content.Shared.Contraband;
+
+/// <summary>
+/// This handles showing examine messages for contraband-marked items.
+/// </summary>
+public sealed class ContrabandSystem : EntitySystem
+{
+    [Dependency] private readonly IConfigurationManager _configuration = default!;
+    [Dependency] private readonly IPrototypeManager _proto = default!;
+    [Dependency] private readonly SharedIdCardSystem _id = default!;
+
+    private bool _contrabandExamineEnabled;
+
+    /// <inheritdoc/>
+    public override void Initialize()
+    {
+        SubscribeLocalEvent<ContrabandComponent, ExaminedEvent>(OnExamined);
+
+        Subs.CVar(_configuration, CCVars.ContrabandExamine, SetContrabandExamine, true);
+    }
+
+    private void SetContrabandExamine(bool val)
+    {
+        _contrabandExamineEnabled = val;
+    }
+
+    private void OnExamined(Entity<ContrabandComponent> ent, ref ExaminedEvent args)
+    {
+        if (!_contrabandExamineEnabled)
+            return;
+
+        // two strings:
+        // one, the actual informative 'this is restricted'
+        // then, the 'you can/shouldn't carry this around' based on the ID the user is wearing
+
+        using (args.PushGroup(nameof(ContrabandComponent)))
+        {
+            var severity = _proto.Index(ent.Comp.Severity);
+            if (severity.ShowDepartments && ent.Comp is {  AllowedDepartments: not null })
+            {
+                // TODO shouldn't department prototypes have a localized name instead of just using the ID for this?
+                var list = ContentLocalizationManager.FormatList(ent.Comp.AllowedDepartments.Select(p => Loc.GetString($"department-{p.Id}")).ToList());
+
+                // department restricted text
+                args.PushMarkup(Loc.GetString("contraband-examine-text-Restricted-department", ("departments", list)));
+            }
+            else
+            {
+                args.PushMarkup(Loc.GetString(severity.ExamineText));
+            }
+
+            // text based on ID card
+            List<ProtoId<DepartmentPrototype>>? departments = null;
+            if (_id.TryFindIdCard(args.Examiner, out var id))
+            {
+                departments = id.Comp.JobDepartments;
+            }
+
+            // either its fully restricted, you have no departments, or your departments dont intersect with the restricted departments
+            if (ent.Comp.AllowedDepartments is null
+                || departments is null
+                || !departments.Intersect(ent.Comp.AllowedDepartments).Any())
+            {
+                args.PushMarkup(Loc.GetString("contraband-examine-text-avoid-carrying-around"));
+                return;
+            }
+
+            // otherwise fine to use :tm:
+            args.PushMarkup(Loc.GetString("contraband-examine-text-in-the-clear"));
+        }
+    }
+}
diff --git a/Resources/Locale/en-US/contraband/contraband-severity.ftl b/Resources/Locale/en-US/contraband/contraband-severity.ftl
new file mode 100644 (file)
index 0000000..594a64f
--- /dev/null
@@ -0,0 +1,8 @@
+contraband-examine-text-Minor = [color=yellow]This item is considered minor contraband.[/color]
+contraband-examine-text-Restricted = [color=yellow]This item is departmentally restricted.[/color]
+contraband-examine-text-Restricted-department = [color=yellow]This item is restricted to {$departments}, and may be considered contraband.[/color]
+contraband-examine-text-GrandTheft = [color=red]This item is a highly valuable target for Syndicate agents![/color]
+contraband-examine-text-Syndicate = [color=crimson]This item is highly illegal Syndicate contraband![/color]
+
+contraband-examine-text-avoid-carrying-around = [color=red][italic]You probably want to avoid visibly carrying this around without a good reason.[/italic][/color]
+contraband-examine-text-in-the-clear = [color=green][italic]You should be in the clear to visibly carry this around.[/italic][/color]
index cadf413f47fcb9d1ca804f1b7e751f1e8db23e99..15b187cd15f1b1e373bf39ad76150ab0e3638df3 100644 (file)
 
 - type: entity
   name: syndicate encryption key box
-  parent: BoxEncryptionKeyPassenger
+  parent: [BoxEncryptionKeyPassenger, BaseRestrictedContraband]
   id: BoxEncryptionKeySyndie
   description: Two syndicate encryption keys for the price of one. Miniaturized for ease of use.
   components:
index b350b0b1cfb31038bc16fb241498ce6b90c4bc9e..80c20a1a04d6d601ad812f3259dc97d3a7033e62 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   id: ElectricalDisruptionKit
-  parent: BoxCardboard
+  parent: [BoxCardboard, BaseSyndicateContraband]
   name: electrical disruption kit
   suffix: Filled
   components:
@@ -12,7 +12,7 @@
           amount: 1
 
 - type: entity
-  parent: BoxVial
+  parent: [BoxVial, BaseSyndicateContraband]
   id: ChemicalSynthesisKit
   name: chemical synthesis kit
   description: A starter kit for the aspiring chemist, includes toxin and vestine for all your criminal needs!
@@ -33,7 +33,7 @@
       - id: SyringeStimulants
 
 - type: entity
-  parent: BoxCardboard
+  parent: [BoxCardboard, BaseSyndicateContraband]
   id: ThrowingKnivesKit
   name: throwing knives kit
   description: A set of 4 syndicate branded throwing knives, perfect for embedding into the body of your victims.
@@ -52,7 +52,7 @@
 
 - type: entity
   name: deathrattle implant box
-  parent: BoxCardboard
+  parent: [BoxCardboard, BaseSyndicateContraband]
   id: BoxDeathRattleImplants
   description: Six deathrattle implants for the whole squad.
   components:
index 6764cb8496aa0aa3caff391e446bec14356e6b87..f47cb49ea6fe94be5219ee56fa860bd768a827ea 100644 (file)
@@ -10,7 +10,7 @@
 
 - type: entity
   id: BriefcaseSyndieSniperBundleFilled
-  parent: BriefcaseSyndie
+  parent: [BriefcaseSyndie, BaseSyndicateContraband]
   suffix: Syndicate, Sniper Bundle
   components:
   - type: Item
index ceaa7442959cb4b87795070a0c83242a3e687c66..2d5bf424667206728e6be29fb1389b59df7412b8 100644 (file)
@@ -56,7 +56,7 @@
       collection: IanBark
 
 - type: entity
-  parent: ClothingBackpack
+  parent: [ClothingBackpack, BaseRestrictedContraband]
   id: ClothingBackpackSecurity
   name: security backpack
   description: It's a very robust backpack.
@@ -65,7 +65,7 @@
     sprite: Clothing/Back/Backpacks/security.rsi
 
 - type: entity
-  parent: ClothingBackpack
+  parent: [ClothingBackpack, BaseRestrictedContraband]
   id: ClothingBackpackBrigmedic
   name: brigmedic backpack
   description: It's a very sterile backpack.
     sprite: Clothing/Back/Backpacks/medical.rsi
 
 - type: entity
-  parent: ClothingBackpack
+  parent: [ClothingBackpack, BaseCommandContraband]
   id: ClothingBackpackCaptain
   name: captain's backpack
   description: It's a special backpack made exclusively for Nanotrasen officers.
 
 #Syndicate
 - type: entity
-  parent: ClothingBackpack
+  parent: [ClothingBackpack, BaseSyndicateContraband]
   id: ClothingBackpackSyndicate
   name: syndicate backpack
   description:
index 101599d5adc5716863c50e1b6e735feb4a72c20c..76451f54f5a1f788f0d7af6d68dfbf8aa5505e52 100644 (file)
@@ -43,7 +43,7 @@
     sprite: Clothing/Back/Duffels/medical.rsi
 
 - type: entity
-  parent: ClothingBackpackDuffel
+  parent: [ClothingBackpackDuffel, BaseCommandContraband]
   id: ClothingBackpackDuffelCaptain
   name: captain's duffel bag
   description: A large duffel bag for holding extra captainly goods.
@@ -64,7 +64,7 @@
       collection: BikeHorn
 
 - type: entity
-  parent: ClothingBackpackDuffel
+  parent: [ClothingBackpackDuffel, BaseRestrictedContraband]
   id: ClothingBackpackDuffelSecurity
   name: security duffel bag
   description: A large duffel bag for holding extra security related goods.
@@ -73,7 +73,7 @@
     sprite: Clothing/Back/Duffels/security.rsi
 
 - type: entity
-  parent: ClothingBackpackDuffel
+  parent: [ClothingBackpackDuffel, BaseRestrictedContraband]
   id: ClothingBackpackDuffelBrigmedic
   name: brigmedic duffel bag
   description: A large duffel bag for holding extra medical related goods.
       sprite: Clothing/Back/Duffels/salvage.rsi
 
 - type: entity
-  parent: ClothingBackpackDuffel
+  parent: [ClothingBackpackDuffel, BaseSyndicateContraband]
   id: ClothingBackpackDuffelSyndicate
   name: syndicate duffel bag
   description: A large duffel bag for holding various traitor goods.
index f598759056a87dcd27e67bf05888053dda19def8..78fde527d18a9414289abb0334294d35ea358c25 100644 (file)
     sprite: Clothing/Back/Satchels/science.rsi
 
 - type: entity
-  parent: ClothingBackpackSatchel
+  parent: [ClothingBackpackSatchel, BaseRestrictedContraband]
   id: ClothingBackpackSatchelSecurity
   name: security satchel
   description: A robust satchel for security related needs.
     sprite: Clothing/Back/Satchels/security.rsi
 
 - type: entity
-  parent: ClothingBackpackSatchel
+  parent: [ClothingBackpackSatchel, BaseRestrictedContraband]
   id: ClothingBackpackSatchelBrigmedic
   name: brigmedic satchel
   description: A sterile satchel for medical related needs.
     sprite: Clothing/Back/Satchels/brigmedic.rsi
 
 - type: entity
-  parent: ClothingBackpackSatchel
+  parent: [ClothingBackpackSatchel, BaseCommandContraband]
   id: ClothingBackpackSatchelCaptain
   name: captain's satchel
   description: An exclusive satchel for Nanotrasen officers.
index 32170331ff317129537d8599306c88ea1eb9c135..66b601b8c76866a08becbf342da4174b86ae9619 100644 (file)
   - type: Appearance
 
 - type: entity
-  parent: ClothingBeltStorageBase
+  parent: [ClothingBeltStorageBase, BaseRestrictedContraband]
   id: ClothingBeltSecurity
   name: security belt
   description: Can hold security gear like handcuffs and flashes.
   - type: Appearance
 
 - type: entity
-  parent: [ClothingBeltBase, ClothingSlotBase]
+  parent: [ClothingBeltBase, ClothingSlotBase, BaseCommandContraband]
   id: ClothingBeltSheath
   name: sabre sheath
   description: An ornate sheath designed to hold an officer's blade.
 # Belts without visualizers
 
 - type: entity
-  parent: ClothingBeltAmmoProviderBase
+  parent: [ClothingBeltAmmoProviderBase, BaseRestrictedContraband]
   id: ClothingBeltBandolier
   name: bandolier
   description: A bandolier for holding shotgun ammunition.
     - 0,0,3,1
 
 - type: entity
-  parent: ClothingBeltStorageBase
+  parent: [ClothingBeltStorageBase, BaseSyndicateContraband]
   id: ClothingBeltSyndieHolster
   name: syndicate shoulder holster
   description: A deep shoulder holster capable of holding many types of ballistics.
index 04203cf357f12a274117d8917ba65a9f2ca66117..d6cee89335092ae6686a2e4de123f78fd2f4d43c 100644 (file)
@@ -63,7 +63,7 @@
     sprite: Clothing/Ears/Headsets/mining.rsi
 
 - type: entity
-  parent: ClothingHeadsetCargo
+  parent: [ClothingHeadsetCargo, BaseCommandContraband]
   id: ClothingHeadsetQM
   name: qm headset
   description: A headset used by the quartermaster.
@@ -92,7 +92,7 @@
     sprite: Clothing/Ears/Headsets/centcom.rsi
 
 - type: entity
-  parent: ClothingHeadset
+  parent: [ClothingHeadset, BaseCommandContraband]
   id: ClothingHeadsetCommand
   name: command headset
   description: A headset with a commanding channel.
     sprite: Clothing/Ears/Headsets/engineering.rsi
 
 - type: entity
-  parent: ClothingHeadsetEngineering
+  parent: [ClothingHeadsetEngineering, BaseCommandContraband]
   id: ClothingHeadsetCE
   name: ce headset
   description: A headset for the chief engineer to ignore all emergency calls on.
     sprite: Clothing/Ears/Headsets/medical.rsi
 
 - type: entity
-  parent: ClothingHeadsetMedical
+  parent: [ClothingHeadsetMedical, BaseCommandContraband]
   id: ClothingHeadsetCMO
   name: cmo headset
   description: A headset used by the CMO.
     sprite: Clothing/Ears/Headsets/robotics.rsi
 
 - type: entity
-  parent: ClothingHeadsetScience
+  parent: [ClothingHeadsetScience, BaseCommandContraband]
   id: ClothingHeadsetRD
   name: rd headset
   description: Lamarr used to love chewing on this...
       - EncryptionKeyCommon
 
 - type: entity
-  parent: ClothingHeadset
+  parent: [ClothingHeadset, BaseRestrictedContraband]
   id: ClothingHeadsetSecurity
   name: security headset
   description: This is used by your elite security force.
     sprite: Clothing/Ears/Headsets/security.rsi
 
 - type: entity
-  parent: ClothingHeadset
+  parent: [ClothingHeadset, BaseRestrictedContraband]
   id: ClothingHeadsetBrigmedic
   name: brigmedic headset
   description: A headset that helps to hear the death cries.
index 0a1cf3fb88597ed1dfb3f6359c63b16492533a49..7041f7c31e789b779c438a31fc9430976dae5086 100644 (file)
@@ -52,7 +52,7 @@
       - EncryptionKeyCommon
 
 - type: entity
-  parent: ClothingHeadsetAlt
+  parent: [ClothingHeadsetAlt, BaseCommandContraband]
   id: ClothingHeadsetAltCommand
   name: command over-ear headset
   components:
@@ -66,7 +66,7 @@
     sprite: Clothing/Ears/Headsets/command.rsi
 
 - type: entity
-  parent: ClothingHeadsetAlt
+  parent: [ClothingHeadsetAlt, BaseCommandContraband]
   id: ClothingHeadsetAltEngineering
   name: chief engineer's over-ear headset
   components:
@@ -82,7 +82,7 @@
     sprite: Clothing/Ears/Headsets/engineering.rsi
 
 - type: entity
-  parent: ClothingHeadsetAlt
+  parent: [ClothingHeadsetAlt, BaseCommandContraband]
   id: ClothingHeadsetAltMedical
   name: chief medical officer's over-ear headset
   components:
     stealGroup: ClothingHeadsetAltMedical
 
 - type: entity
-  parent: ClothingHeadsetAlt
+  parent: [ClothingHeadsetAlt, BaseCommandContraband]
   id: ClothingHeadsetAltSecurity
   name: head of security's over-ear headset
   components:
     sprite: Clothing/Ears/Headsets/security.rsi
 
 - type: entity
-  parent: ClothingHeadsetAlt
+  parent: [ClothingHeadsetAlt, BaseCommandContraband]
   id: ClothingHeadsetAltScience
   name: research director's over-ear headset
   components:
     sprite: Clothing/Ears/Headsets/science.rsi
 
 - type: entity
-  parent: ClothingHeadsetAlt
+  parent: [ClothingHeadsetAlt, BaseSyndicateContraband]
   id: ClothingHeadsetAltSyndicate
   name: blood-red over-ear headset
   description: An updated, modular syndicate intercom that fits over the head and takes encryption keys (there are 5 key slots.).
index 0364d55cc599dc6c65a5506a7dc8ff1311eb19ef..20c1c74532523dcc11b0ebc524172a2ac42f67ce 100644 (file)
@@ -53,7 +53,7 @@
         Blunt: 10
 
 - type: entity
-  parent: ClothingEyesBase
+  parent: [ClothingEyesBase, BaseEngineeringContraband]
   id: ClothingEyesGlassesMeson
   name: engineering goggles #less confusion
   description: Green-tinted goggles using a proprietary polymer that provides protection from eye damage of all types.
index b22320a82f8aae62420ee86c9289c05adfa0bf6d..e627cffc74e1ed4e08e50597204beb895352423b 100644 (file)
@@ -16,7 +16,7 @@
     damageContainers:
     - Biological
   - type: ShowHealthIcons
-    damageContainers: 
+    damageContainers:
     - Biological
 
 - type: entity
@@ -49,7 +49,7 @@
     - HudMedical
 
 - type: entity
-  parent: [ClothingEyesBase, ShowSecurityIcons]
+  parent: [ClothingEyesBase, ShowSecurityIcons, BaseSecurityCommandContraband]
   id: ClothingEyesHudSecurity
   name: security hud
   description: A heads-up display that scans the humanoids in view and provides accurate data about their ID status and security records.
   - type: ShowThirstIcons
 
 - type: entity
-  parent: [ClothingEyesBase, ShowSecurityIcons, ShowMedicalIcons]
+  parent: [ClothingEyesBase, ShowSecurityIcons, ShowMedicalIcons, BaseSecurityCommandContraband]
   id: ClothingEyesHudMedSec
   name: medsec hud
   description: An eye display that looks like a mixture of medical and security huds.
   - type: ShowSyndicateIcons
 
 - type: entity
-  parent: [ClothingEyesBase, ShowSecurityIcons]
+  parent: [ClothingEyesBase, ShowSecurityIcons, BaseSyndicateContraband]
   id: ClothingEyesHudSyndicate
   name: syndicate visor
   description: The syndicate's professional head-up display, designed for better detection of humanoids and their subsequent elimination.
   - type: ShowSyndicateIcons
 
 - type: entity
-  parent: [ClothingEyesBase, ShowSecurityIcons]
+  parent: [ClothingEyesBase, ShowSecurityIcons, BaseSyndicateContraband]
   id: ClothingEyesHudSyndicateAgent
   name: syndicate agent visor
   description: The Syndicate Agent's professional heads-up display, designed for quick diagnosis of their team's status.
index 53a165cd57165fdfcff4314ea47bf2c2938cc608..1bd858b4f78f418724abfc88023d81ca5b0756ab 100644 (file)
@@ -79,7 +79,7 @@
   - type: FingerprintMask
 
 - type: entity
-  parent: ClothingHandsGlovesBoxingBlue
+  parent: [ClothingHandsGlovesBoxingBlue, BaseSyndicateContraband]
   id: ClothingHandsGlovesBoxingRigged
   suffix: Rigged
   components:
@@ -94,7 +94,7 @@
     mustBeEquippedToUse: true
 
 - type: entity
-  parent: ClothingHandsBase
+  parent: [ClothingHandsBase, BaseCommandContraband]
   id: ClothingHandsGlovesCaptain
   name: captain gloves
   description: Regal blue gloves, with a nice gold trim. Swanky.
       - type: CriminalRecordsHacker
 
 - type: entity
-  parent: ClothingHandsGlovesColorBlack
+  parent: [ClothingHandsGlovesColorBlack, BaseMinorContraband]
   id: ClothingHandsGlovesCombat
   name: combat gloves
   description: These tactical gloves are fireproof and shock resistant.
   - type: Unremoveable
 
 - type: entity
-  parent: ClothingHandsButcherable
+  parent: [ClothingHandsButcherable, BaseSyndicateContraband]
   id: ClothingHandsGlovesNorthStar
   name: gloves of the north star
   description: These gloves allow you to punch incredibly fast.
index ad0662251a9da4e748eed42a7c15cec3a00c9f5e..0ca55f76144fab341727abf0a33b41efe92870a6 100644 (file)
     sprite: Clothing/Head/Hats/bowler_hat.rsi
 
 - type: entity
-  parent: ClothingHeadBase
+  parent: [ClothingHeadBase, BaseCommandContraband]
   id: ClothingHeadHatCaptain
   name: captain's hardhat
   description: It's good being the king.
     sprite: Clothing/Head/Hats/fez.rsi
 
 - type: entity
-  parent: ClothingHeadBase
+  parent: [ClothingHeadBase, BaseCommandContraband]
   id: ClothingHeadHatHopcap
   name: head of personnel's cap
   description: A grand, stylish head of personnel's cap.
     - WhitelistChameleon
 
 - type: entity
-  parent: ClothingHeadBase
+  parent: [ClothingHeadBase, BaseCommandContraband]
   id: ClothingHeadHatHoshat
   name: head of security cap
   description: The robust standard-issue cap of the Head of Security. For showing the officers who's in charge.
     sprite: Clothing/Head/Hats/truckershat.rsi
 
 - type: entity
-  parent: ClothingHeadBase
+  parent: [ ClothingHeadBase, BaseSyndicateContraband ]
   id: ClothingHeadPyjamaSyndicateBlack
   name: syndicate black pyjama hat
   description: For keeping that traitor head of yours warm.
     sprite: Clothing/Head/Hats/pyjamasyndicateblack.rsi
 
 - type: entity
-  parent: ClothingHeadBase
+  parent: [ ClothingHeadBase, BaseSyndicateContraband ]
   id: ClothingHeadPyjamaSyndicatePink
   name: syndicate pink pyjama hat
   description: For keeping that traitor head of yours warm.
     sprite: Clothing/Head/Hats/pyjamasyndicatepink.rsi
 
 - type: entity
-  parent: ClothingHeadBase
+  parent: [ ClothingHeadBase, BaseSyndicateContraband ]
   id: ClothingHeadPyjamaSyndicateRed
   name: syndicate red pyjama hat
   description: For keeping that traitor head of yours warm.
       sprite: Clothing/Head/Hats/jester2.rsi
 
 - type: entity
-  parent: ClothingHeadBase
+  parent: [ClothingHeadBase, BaseCommandContraband]
   id: ClothingHeadHatBeretCmo
   name: chief medical officer's beret
   description: Turquoise beret with a cross on the front. The sight of it calms you down and makes it clear that you will be cured.
         Blunt: 0.95
 
 - type: entity
-  parent: ClothingHeadBase
+  parent: [ClothingHeadBase, BaseSyndicateContraband]
   id: ClothingHeadHatSyndie
   name: syndicate hat
   description: A souvenir hat from "Syndieland", their production has already been closed.
index b44508d4a37b5fe9d970af794ffa0d9336e2433b..b2ae5b294e35640719eacc81839c91e9e3819fd4 100644 (file)
@@ -3,7 +3,7 @@
 
 #Basic Helmet (Security Helmet)
 - type: entity
-  parent: ClothingHeadBase
+  parent: [ClothingHeadBase, BaseRestrictedContraband]
   id: ClothingHeadHelmetBasic
   name: helmet
   description: Standard security gear. Protects the head from impacts.
@@ -41,7 +41,7 @@
 
 #SWAT Helmet
 - type: entity
-  parent: ClothingHeadBase
+  parent: [ClothingHeadBase, BaseRestrictedContraband]
   id: ClothingHeadHelmetSwat
   name: SWAT helmet
   description: An extremely robust helmet, commonly used by paramilitary forces. This one has the Nanotrasen logo emblazoned on the top.
@@ -77,7 +77,7 @@
 
 #Light Riot Helmet
 - type: entity
-  parent: ClothingHeadBase
+  parent: [ClothingHeadBase, BaseRestrictedContraband]
   id: ClothingHeadHelmetRiot
   name: light riot helmet
   description: It's a helmet specifically designed to protect against close range attacks.
index 8e621ebcdb522af58cfe6459d95af01f4093393c..25f9f28d093a5e7a6187adbc27ccf82440f5d224 100644 (file)
@@ -21,7 +21,7 @@
     hideOnToggle: true
 
 - type: entity
-  parent: ClothingMaskGas
+  parent: [ClothingMaskGas, BaseRestrictedContraband]
   id: ClothingMaskGasSecurity
   name: security gas mask
   description: A standard issue Security gas mask.
@@ -41,7 +41,7 @@
         Heat: 0.95
 
 - type: entity
-  parent: ClothingMaskGas
+  parent: [ClothingMaskGas, BaseSyndicateContraband]
   id: ClothingMaskGasSyndicate
   name: syndicate gas mask
   description: A close-fitting tactical mask that can be connected to an air supply.
@@ -76,7 +76,7 @@
         Heat: 0.80
 
 - type: entity
-  parent: ClothingMaskGasAtmos
+  parent: [ClothingMaskGasAtmos, BaseCommandContraband]
   id: ClothingMaskGasCaptain
   name: captain's gas mask
   description: Nanotrasen cut corners and repainted a spare atmospheric gas mask, but don't tell anyone.
index a329c4034b6e028ac9e49d6c8a1ad72bed13b01d..555887b01dbf10adb709784ee0b74a9432fca1c6 100644 (file)
@@ -10,7 +10,7 @@
     stealGroup: HeadCloak # leaving this here because I suppose it might be interesting?
 
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckCloakCap
   name: captain's cloak
   description: A pompous and comfy blue cloak with a nice gold trim, while not particularly valuable as your other possessions, it sure is fancy.
@@ -21,7 +21,7 @@
     stealGroup: HeadCloak
 
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckCloakHos
   name: head of security's cloak
   description: An exquisite dark and red cloak fitting for those who can assert dominance over wrongdoers. Take a stab at being civil in prosecution!
@@ -32,7 +32,7 @@
     stealGroup: HeadCloak
 
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckCloakCe
   name: chief engineer's cloak
   description: A dark green cloak with light blue ornaments, given to those who proved themselves to master the precise art of engineering.
@@ -43,7 +43,7 @@
     stealGroup: HeadCloak
 
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingCloakCmo
   name: chief medical officer's cloak
   description: A sterile blue cloak with a green cross, radiating with a sense of duty and willingness to help others.
@@ -54,7 +54,7 @@
     stealGroup: HeadCloak
 
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckCloakRd
   name: research director's cloak
   description: A white cloak with violet stripes, showing your status as the arbiter of cutting-edge technology.
@@ -65,7 +65,7 @@
     stealGroup: HeadCloak
 
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckCloakQm
   name: quartermaster's cloak
   description: A strong brown cloak with a reflective stripe, while not as fancy as others, it does show your managing skills.
@@ -76,7 +76,7 @@
     stealGroup: HeadCloak
 
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckCloakHop
   name: head of personnel's cloak
   description: A blue cloak with red shoulders and gold buttons, proving you are the gatekeeper to any airlock on the station.
     sprite: Clothing/Neck/Cloaks/nanotrasen.rsi
 
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckCloakCapFormal
   name: captain's formal cloak
   description: A lavish and decorated cloak for special occasions.
index f9dee8ba7db4cda2c519798e9f175be713bac878..ba79ca4d46bf8c6502362636e4c2b46e2a22ef0e 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckMantleCap
   name: captain's mantle
   description: A comfortable and chique mantle befitting of only the most experienced captain.
@@ -10,7 +10,7 @@
     sprite: Clothing/Neck/mantles/capmantle.rsi
 
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckMantleCE
   name: chief engineer's mantle
   description: High visibility, check. RIG system, check. High capacity cell, check. Everything a chief engineer could need in a stylish mantle.
@@ -19,9 +19,9 @@
     sprite: Clothing/Neck/mantles/cemantle.rsi
   - type: Clothing
     sprite: Clothing/Neck/mantles/cemantle.rsi
-    
+
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckMantleCMO
   name: chief medical officer's mantle
   description: For a CMO that has been in enough medbays to know that more PPE means less central command dry cleaning visits when the shift is over.
@@ -30,9 +30,9 @@
     sprite: Clothing/Neck/mantles/cmomantle.rsi
   - type: Clothing
     sprite: Clothing/Neck/mantles/cmomantle.rsi
-    
+
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckMantleHOP
   name: head of personnel's mantle
   description: A good HOP knows that paper pushing is only half the job... petting your dog and looking fashionable is the other half.
@@ -41,9 +41,9 @@
     sprite: Clothing/Neck/mantles/hopmantle.rsi
   - type: Clothing
     sprite: Clothing/Neck/mantles/hopmantle.rsi
-    
+
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckMantleHOS
   name: head of security's mantle
   description: Shootouts with nukies are just another Tuesday for this HoS. This mantle is a symbol of commitment to the station.
@@ -52,9 +52,9 @@
     sprite: Clothing/Neck/mantles/hosmantle.rsi
   - type: Clothing
     sprite: Clothing/Neck/mantles/hosmantle.rsi
-    
+
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckMantleRD
   name: research director's mantle
   description: For when long days in the office consist of explosives, poisonous gas, murder robots, and a fresh pizza from cargo; this mantle will keep you comfy.
@@ -65,7 +65,7 @@
     sprite: Clothing/Neck/mantles/rdmantle.rsi
 
 - type: entity
-  parent: ClothingNeckBase
+  parent: [ClothingNeckBase, BaseCommandContraband]
   id: ClothingNeckMantleQM
   name: quartermaster's mantle
   description: For the master of goods and materials to rule over the department, a befitting mantle to show off superiority!
@@ -73,4 +73,4 @@
   - type: Sprite
     sprite: Clothing/Neck/mantles/qmmantle.rsi
   - type: Clothing
-    sprite: Clothing/Neck/mantles/qmmantle.rsi  
+    sprite: Clothing/Neck/mantles/qmmantle.rsi
index f8c9f1fc9d9316a6437bd699030a32decfcfe8e8..e03ea02e6874d4c7c13a587635186dc709ef0f52 100644 (file)
@@ -87,7 +87,7 @@
       sprite: Clothing/Neck/Scarfs/purple.rsi
 
 - type: entity
-  parent: ClothingScarfBase
+  parent: [ ClothingScarfBase, BaseSyndicateContraband ]
   id: ClothingNeckScarfStripedSyndieGreen
   name: striped syndicate green scarf
   description: A stylish striped syndicate green scarf. The perfect winter accessory for those with a keen fashion sense, and those who are in the mood to steal something.
@@ -98,7 +98,7 @@
       sprite: Clothing/Neck/Scarfs/syndiegreen.rsi
 
 - type: entity
-  parent: ClothingScarfBase
+  parent: [ ClothingScarfBase, BaseSyndicateContraband ]
   id: ClothingNeckScarfStripedSyndieRed
   name: striped syndicate red scarf
   description: A stylish striped syndicate red scarf. The perfect winter accessory for those with a keen fashion sense, and those who are in the mood to steal something.
index 413a41473bcb440e9aeaaf264d9c07f33b9f46ce..101190faf3ea1ff532ba80e3c9438dedf4217ef1 100644 (file)
@@ -3,7 +3,7 @@
 
 #Basic armor vest
 - type: entity
-  parent: [ClothingOuterBaseMedium, AllowSuitStorageClothing]
+  parent: [ClothingOuterBaseMedium, AllowSuitStorageClothing, BaseRestrictedContraband]
   id: ClothingOuterArmorBasic
   name: armor vest
   description: A standard Type I armored vest that provides decent protection against most types of damage.
@@ -36,7 +36,7 @@
     sprite: Clothing/OuterClothing/Armor/security_slim.rsi
 
 - type: entity
-  parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing]
+  parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing, BaseRestrictedContraband]
   id: ClothingOuterArmorRiot
   name: riot suit
   description: A suit of semi-flexible polycarbonate body armor with heavy padding to protect against melee attacks. Perfect for fighting delinquents around the station.
     sprite: Clothing/OuterClothing/Armor/magusred.rsi
 
 - type: entity
-  parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing]
+  parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing, BaseCommandContraband]
   id: ClothingOuterArmorCaptainCarapace
   name: "captain's carapace"
   description: "An armored chestpiece that provides protection whilst still offering maximum mobility and flexibility. Issued only to the station's finest."
index 6d061ebc4d8affa95894bb6490803a1d18217c31..314d6b3eae142238f7eabf8d28685406f68ba78e 100644 (file)
@@ -30,7 +30,7 @@
 
 #Atmospherics Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseEngineeringContraband]
   id: ClothingOuterHardsuitAtmos
   name: atmos hardsuit
   description: A special suit that protects against hazardous, low pressure environments. Has thermal shielding.
@@ -65,7 +65,7 @@
 
 #Engineering Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseEngineeringContraband]
   id: ClothingOuterHardsuitEngineering
   name: engineering hardsuit
   description: A special suit that protects against hazardous, low pressure environments. Has radiation shielding.
@@ -97,7 +97,7 @@
 
 #Spationaut Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseCargoContraband]
   id: ClothingOuterHardsuitSpatio
   name: spationaut hardsuit
   description: A lightweight hardsuit designed for industrial EVA in zero gravity.
 
 #Salvage Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseCargoContraband]
   id: ClothingOuterHardsuitSalvage
   name: mining hardsuit
   description: A special suit that protects against hazardous, low pressure environments. Has reinforced plating for wildlife encounters.
     clothingPrototype: ClothingHeadHelmetHardsuitSalvage
 
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseCargoContraband]
   id: ClothingOuterHardsuitMaxim
   name: salvager maxim hardsuit
   description: Fire. Heat. These things forge great weapons, they also forge great salvagers.
 
 #Security Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseRestrictedContraband]
   id: ClothingOuterHardsuitSecurity
   name: security hardsuit
   description: A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor.
 
 #Brigmedic Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseRestrictedContraband]
   id: ClothingOuterHardsuitBrigmedic
   name: brigmedic hardsuit
   description: Special hardsuit of the guardian angel of the brig. It is the medical version of the security hardsuit.
 
 #Warden's Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseRestrictedContraband]
   id: ClothingOuterHardsuitWarden
   name: warden's hardsuit
   description: A specialized riot suit geared to combat low pressure environments.
 
 #Captain's Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseCommandContraband]
   id: ClothingOuterHardsuitCap
   name: captain's armored spacesuit
   description: A formal armored spacesuit, made for the station's captain.
 
 #Chief Engineer's Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseCommandContraband]
   id: ClothingOuterHardsuitEngineeringWhite
   name: chief engineer's hardsuit
   description: A special hardsuit that protects against hazardous, low pressure environments, made for the chief engineer of the station.
 
 #Chief Medical Officer's Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseCommandContraband]
   id: ClothingOuterHardsuitMedical
   name: chief medical officer's hardsuit
   description: A special suit that protects against hazardous, low pressure environments. Built with lightweight materials for easier movement.
 
 #Research Director's Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseGrandTheftContraband]
   id: ClothingOuterHardsuitRd
   name: experimental research hardsuit
   description: A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor.
 
 #Head of Security's Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitSecurity
+  parent: [ClothingOuterHardsuitBase, BaseCommandContraband]
   id: ClothingOuterHardsuitSecurityRed
   name: head of security's hardsuit
   description: A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor.
 #ANTAG HARDSUITS
 #Blood-red Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ ClothingOuterHardsuitBase, BaseSyndicateContraband ]
   id: ClothingOuterHardsuitSyndie
   name: blood-red hardsuit
   description: A heavily armored hardsuit designed for work in special operations. Property of Gorlex Marauders.
 
 # Syndicate Medic Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitSyndie
+  parent: [ClothingOuterHardsuitSyndie, BaseSyndicateContraband]
   id: ClothingOuterHardsuitSyndieMedic
   name: blood-red medic hardsuit
   description: A heavily armored and agile advanced hardsuit specifically designed for field medic operations.
 
 #Syndicate Elite Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseSyndicateContraband]
   id: ClothingOuterHardsuitSyndieElite
   name: syndicate elite hardsuit
   description: An elite version of the blood-red hardsuit, with improved mobility and fireproofing. Property of Gorlex Marauders.
 
 #Syndicate Commander Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseSyndicateContraband]
   id: ClothingOuterHardsuitSyndieCommander
   name: syndicate commander hardsuit
   description: A bulked up version of the blood-red hardsuit, purpose-built for the commander of a syndicate operative squad. Has significantly improved armor for those deadly front-lines firefights.
 
 #Cybersun Juggernaut Hardsuit
 - type: entity
-  parent: ClothingOuterHardsuitBase
+  parent: [ClothingOuterHardsuitBase, BaseSyndicateContraband]
   id: ClothingOuterHardsuitJuggernaut
   name: cybersun juggernaut suit
   description: A suit made by the cutting edge R&D department at cybersun to be hyper resilient.
index 1fd46e8e7633b7991740426f13b675340a8c2d29..545f46cc8cb9ccee7317ca517c504d9e0fb2f8eb 100644 (file)
@@ -1,6 +1,6 @@
 #Web vest
 - type: entity
-  parent: [ClothingOuterStorageBase, AllowSuitStorageClothing]
+  parent: [ClothingOuterStorageBase, AllowSuitStorageClothing, BaseSyndicateContraband]
   id: ClothingOuterVestWeb
   name: web vest
   description: A synthetic armor vest. This one has added webbing and ballistic plates.
@@ -21,7 +21,7 @@
 
 #Mercenary web vest
 - type: entity
-  parent: ClothingOuterVestWeb #web vest so it should have some pockets for ammo
+  parent: [ClothingOuterVestWeb, BaseMinorContraband] #web vest so it should have some pockets for ammo
   id: ClothingOuterVestWebMerc
   name: merc web vest
   description: A high-quality armored vest made from a hard synthetic material. It's surprisingly flexible and light, despite formidable armor plating.
@@ -42,7 +42,7 @@
 
 #Detective's vest
 - type: entity
-  parent: ClothingOuterArmorBasic
+  parent: [ClothingOuterArmorBasic, BaseRestrictedContraband]
   id: ClothingOuterVestDetective
   name: detective's vest
   description: A hard-boiled private investigator's armored vest.
index f4c960f31c881a871c543e039890f807f92c6941..378e10d32205c07ee75eb6532a0d8675e5114201 100644 (file)
@@ -96,7 +96,7 @@
     clothingPrototype: ClothingHeadHatHoodWinterBartender
 
 - type: entity
-  parent: ClothingOuterWinterCoatToggleable
+  parent: [ClothingOuterWinterCoatToggleable, BaseCommandContraband]
   id: ClothingOuterWinterCap
   name: captain's winter coat
   components:
     clothingPrototype: ClothingHeadHatHoodWinterCargo
 
 - type: entity
-  parent: ClothingOuterWinterCoatToggleable
+  parent: [ClothingOuterWinterCoatToggleable, BaseCommandContraband]
   id: ClothingOuterWinterCE
   name: chief engineer's winter coat
   components:
     clothingPrototype: ClothingHeadHatHoodWinterChem
 
 - type: entity
-  parent: ClothingOuterWinterCoatToggleable
+  parent: [ClothingOuterWinterCoatToggleable, BaseCommandContraband]
   id: ClothingOuterWinterCMO
   name: chief medical officer's winter coat
   components:
     clothingPrototype: ClothingHeadHatHoodWinterSci
 
 - type: entity
-  parent: ClothingOuterWinterCoatToggleable
+  parent: [ClothingOuterWinterCoatToggleable, BaseCommandContraband]
   id: ClothingOuterWinterHoP
   name: head of personnel's winter coat
   components:
 
 ##########################################################
 - type: entity
-  parent: [ClothingOuterArmorHoS, ClothingOuterWinterCoatToggleable]
+  parent: [ClothingOuterArmorHoS, ClothingOuterWinterCoatToggleable, BaseCommandContraband]
   id: ClothingOuterWinterHoS
   name: head of security's armored winter coat
   description: A sturdy, utilitarian winter coat designed to protect a head of security from any brig-bound threats and hypothermic events.
 ##########################################################
 
 - type: entity
-  parent: ClothingOuterWinterCoatToggleable
+  parent: [ClothingOuterWinterCoatToggleable, BaseCommandContraband]
   id: ClothingOuterWinterHoSUnarmored
   name: head of security's winter coat
   description: A sturdy coat, a warm coat, but not an armored coat.
     clothingPrototype: ClothingHeadHatHoodWinterPara
 
 - type: entity
-  parent: ClothingOuterWinterCoatToggleable
+  parent: [ClothingOuterWinterCoatToggleable, BaseCommandContraband]
   id: ClothingOuterWinterQM
   name: quartermaster's winter coat
   components:
 
 
 - type: entity
-  parent: ClothingOuterWinterCoatToggleable
+  parent: [ClothingOuterWinterCoatToggleable, BaseCommandContraband]
   id: ClothingOuterWinterRD
   name: research director's winter coat
   components:
     clothingPrototype: ClothingHeadHatHoodWinterSci
 
 - type: entity
-  parent: ClothingOuterWinterCoatToggleable
+  parent: [ClothingOuterWinterCoatToggleable, BaseRestrictedContraband]
   id: ClothingOuterWinterSec
   name: security winter coat
   components:
 
 ################################################################
 - type: entity
-  parent: [ClothingOuterArmorWarden, ClothingOuterWinterCoatToggleable]
+  parent: [ClothingOuterArmorWarden, ClothingOuterWinterCoatToggleable, BaseRestrictedContraband]
   id: ClothingOuterWinterWarden
   name: warden's armored winter coat
   description: A sturdy, utilitarian winter coat designed to protect a warden from any brig-bound threats and hypothermic events.
 ################################################################
 
 - type: entity
-  parent: ClothingOuterWinterCoatToggleable
+  parent: [ClothingOuterWinterCoatToggleable, BaseRestrictedContraband]
   id: ClothingOuterWinterWardenUnarmored
   name: warden's winter coat
   description: A sturdy coat, a warm coat, but not an armored coat.
     clothingPrototype: ClothingHeadHatHoodWinterWarden
 
 - type: entity
-  parent: ClothingOuterWinterCoatToggleable
+  parent: [ClothingOuterWinterCoatToggleable, BaseSyndicateContraband]
   id: ClothingOuterWinterSyndieCap
   name: syndicate's winter coat
   description: "The syndicate's winter coat is made of durable fabric, with gilded patterns, and coarse wool."
 
 ##############################################################
 - type: entity
-  parent: ClothingOuterWinterWarden
+  parent: [ClothingOuterWinterWarden, BaseSyndicateContraband]
   id: ClothingOuterWinterSyndieCapArmored
   name: syndicate's armored winter coat
   description: "The syndicate's armored winter coat is made of durable fabric, with gilded patterns, and coarse wool."
 ##############################################################
 
 - type: entity
-  parent: ClothingOuterWinterCoatToggleable
+  parent: [ClothingOuterWinterCoatToggleable, BaseSyndicateContraband]
   id: ClothingOuterWinterSyndie
   name: syndicate's winter coat
   description: Insulated winter coat, looks like a merch from "Syndieland".
index 8c5405d684fedb81da6badaac2c88f55ebee1c56..fddb5abb589747fe19b3cb7ee5909f227a5d543f 100644 (file)
@@ -11,7 +11,7 @@
   - type: Matchbox
 
 - type: entity
-  parent: ClothingShoesMilitaryBase
+  parent: [ClothingShoesMilitaryBase, BaseRestrictedContraband]
   id: ClothingShoesBootsJack
   name: jackboots
   description: Nanotrasen-issue Security combat boots for combat scenarios or combat situations. All combat, all the time.
@@ -45,7 +45,7 @@
     sprite: Clothing/Shoes/Boots/performer.rsi
 
 - type: entity
-  parent: ClothingShoesMilitaryBase
+  parent: [ClothingShoesMilitaryBase, BaseRestrictedContraband]
   id: ClothingShoesBootsCombat
   name: combat boots
   description: Robust combat boots for combat scenarios or combat situations. All combat, all the time.
     sprite: Clothing/Shoes/Boots/winterbootssci.rsi
 
 - type: entity
-  parent: [ClothingShoesBaseWinterBoots, ClothingShoesMilitaryBase]
+  parent: [ClothingShoesBaseWinterBoots, ClothingShoesMilitaryBase, BaseRestrictedContraband]
   id: ClothingShoesBootsWinterSec
   name: security winter boots
   components:
     sprite: Clothing/Shoes/Boots/winterbootssec.rsi
 
 - type: entity
-  parent: ClothingShoesBaseWinterBoots
+  parent: [ClothingShoesBaseWinterBoots, BaseSyndicateContraband]
   id: ClothingShoesBootsWinterSyndicate
   name: syndicate's winter boots
   description: Durable heavy boots, looks like merch from "Syndieland".
index 2d3c6636128a8ce93eaa9acd8ba142be8cd72fca..9adf1ca8889803a7736f5a5330e3dd9e735cd1ce 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: [ClothingShoesBase, BaseToggleClothing]
+  parent: [ClothingShoesBase, BaseToggleClothing, BaseEngineeringContraband]
   id: ClothingShoesBootsMag
   name: magboots
   description: Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle.
@@ -36,7 +36,7 @@
     - WhitelistChameleon
 
 - type: entity
-  parent: ClothingShoesBootsMag
+  parent: [ClothingShoesBootsMag, BaseGrandTheftContraband]
   id: ClothingShoesBootsMagAdv
   name: advanced magboots
   description: State-of-the-art magnetic boots that do not slow down their wearer.
@@ -80,7 +80,7 @@
     price: 3000
 
 - type: entity
-  parent: [ClothingShoesBootsMag, BaseJetpack]
+  parent: [ClothingShoesBootsMag, BaseJetpack, BaseSyndicateContraband]
   id: ClothingShoesBootsMagSyndie
   name: blood-red magboots
   description: Reverse-engineered magnetic boots that have a heavy magnetic pull and integrated thrusters. It can hold 0.75 L of gas.
index 18eae39f03b860c2334cbc8d18709377e22a4f54..3a552cd91bc31f571447f135ad4ba76a952dd693 100644 (file)
@@ -10,7 +10,7 @@
     sprite: Clothing/Uniforms/Jumpskirt/bartender.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtCaptain
   name: captain's jumpskirt
   description: It's a blue jumpskirt with some gold markings denoting the rank of "Captain".
@@ -32,7 +32,7 @@
     sprite: Clothing/Uniforms/Jumpskirt/cargotech.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtChiefEngineer
   name: chief engineer's jumpskirt
   description: It's a high visibility jumpskirt given to those engineers insane enough to achieve the rank of Chief Engineer.
@@ -43,7 +43,7 @@
     sprite: Clothing/Uniforms/Jumpskirt/ce.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtChiefEngineerTurtle
   name: chief engineer's turtleneck
   description: A yellow turtleneck designed specifically for work in conditions of the engineering department.
     sprite: Clothing/Uniforms/Jumpskirt/genetics.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtCMO
   name: chief medical officer's jumpskirt
   description: It's a jumpskirt worn by those with the experience to be Chief Medical Officer. It provides minor biological protection.
     sprite: Clothing/Uniforms/Jumpskirt/cmo.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtCMOTurtle
   name: chief medical officer's turtleneck jumpskirt
   description: It's a turtleneck worn by those with the experience to be Chief Medical Officer. It provides minor biological protection.
     sprite: Clothing/Uniforms/Jumpskirt/engineering.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtHoP
   name: head of personnel's jumpskirt
   description: Rather bland and inoffensive. Perfect for vanishing off the face of the universe.
     sprite: Clothing/Uniforms/Jumpskirt/hop.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtHoS
   name: head of security's jumpskirt
   description: It's bright red and rather crisp, much like security's victims tend to be.
         sprite: Clothing/Uniforms/Jumpsuit/hos.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtHoSAlt
   name: head of security's turtleneck
   description: It's a turtleneck worn by those strong and disciplined enough to achieve the position of Head of Security.
     sprite: Clothing/Uniforms/Jumpskirt/hos_alt.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtHoSParadeMale
   name: head of security's parade uniform
   description: A head of security's luxury-wear, for special occasions.
     - WhitelistChameleon
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtQM
   name: quartermaster's jumpskirt
   description: 'What can brown do for you?'
     sprite: Clothing/Uniforms/Jumpskirt/qm.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtQMTurtleneck
   name: quartermasters's turtleneck
   description: A sharp turtleneck made for the hardy work environment of supply.
       sprite: Clothing/Uniforms/Jumpskirt/qmturtleskirt.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtResearchDirector
   name: research director's turtleneck
   description: It's a turtleneck worn by those with the know-how to achieve the position of Research Director. Its fabric provides minor protection from biological contaminants.
     sprite: Clothing/Uniforms/Jumpskirt/roboticist.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseRestrictedContraband]
   id: ClothingUniformJumpskirtSec
   name: security jumpskirt
   description: A jumpskirt made of strong material, providing robust protection.
 
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseRestrictedContraband]
   id: ClothingUniformJumpskirtWarden
   name: warden's uniform
   description: A formal security suit for officers complete with Nanotrasen belt buckle.
     sprite: Clothing/Uniforms/Jumpskirt/centcomformaldress.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseCommandContraband]
   id: ClothingUniformJumpskirtHosFormal
   name: hos's formal dress
   description: A dress for special occasions.
     sprite: Clothing/Uniforms/Jumpskirt/hosformaldress.rsi
 
 - type: entity
-  parent: UnsensoredClothingUniformSkirtBase
+  parent: [UnsensoredClothingUniformSkirtBase, BaseSyndicateContraband]
   id: ClothingUniformJumpskirtOperative
   name: operative jumpskirt
   description: Uniform for elite syndicate operatives performing tactical operations in deep space.
     sprite: Clothing/Uniforms/Jumpskirt/senior_physician.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseRestrictedContraband]
   id: ClothingUniformJumpskirtSeniorOfficer
   name: senior officer jumpskirt
   description: A sign of skill and prestige within the security department.
     sprite: Clothing/Uniforms/Jumpskirt/senior_officer.rsi
 
 - type: entity
-  parent: ClothingUniformSkirtBase
+  parent: [ClothingUniformSkirtBase, BaseRestrictedContraband]
   id: ClothingUniformJumpskirtSecGrey
   name: grey security jumpskirt
   description: A tactical relic of years past before Nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood.
index 0bd8adc7ea62c19ffa288e361d4f413d5ab4faaa..8a265c58114416c3ee11c5745d4b88db8bf5857c 100644 (file)
@@ -58,7 +58,7 @@
     sprite: Clothing/Uniforms/Jumpsuit/bartender_purple.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitCaptain
   name: captain's jumpsuit
   description: It's a blue jumpsuit with some gold markings denoting the rank of "Captain".
@@ -91,7 +91,7 @@
     sprite: Clothing/Uniforms/Jumpsuit/salvage.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitChiefEngineer
   name: chief engineer's jumpsuit
   description: It's a high visibility jumpsuit given to those engineers insane enough to achieve the rank of Chief Engineer.
     sprite: Clothing/Uniforms/Jumpsuit/ce.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitChiefEngineerTurtle
   name: chief engineer's turtleneck
   description: A yellow turtleneck designed specifically for work in conditions of the engineering department.
     sprite: Clothing/Uniforms/Jumpsuit/jester2.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitCMO
   name: chief medical officer's jumpsuit
   description: It's a jumpsuit worn by those with the experience to be Chief Medical Officer. It provides minor biological protection.
     sprite: Clothing/Uniforms/Jumpsuit/cmo.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitCMOTurtle
   name: chief medical officer's turtleneck jumpsuit
   description: It's a turtleneck worn by those with the experience to be Chief Medical Officer. It provides minor biological protection.
     sprite: Clothing/Uniforms/Jumpsuit/engineering_hazard.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitHoP
   name: head of personnel's jumpsuit
   description: Rather bland and inoffensive. Perfect for vanishing off the face of the universe.
     sprite: Clothing/Uniforms/Jumpsuit/hop.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitHoS
   name: head of security's jumpsuit
   description: It's bright red and rather crisp, much like security's victims tend to be.
       - state: overlay-inhand-right
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitHoSAlt
   name: head of security's turtleneck
   description: It's a turtleneck worn by those strong and disciplined enough to achieve the position of Head of Security.
     sprite: Clothing/Uniforms/Jumpsuit/hos_alt.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitHoSBlue
   name: head of security's blue jumpsuit
   description: A blue jumpsuit of Head of Security.
     sprite: Clothing/Uniforms/Jumpsuit/hos_blue.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitHoSGrey
   name: head of security's grey jumpsuit
   description: A grey jumpsuit of Head of Security, which make him look somewhat like a passenger.
     sprite: Clothing/Uniforms/Jumpsuit/hos_grey.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitHoSParadeMale
   name: head of security's parade uniform
   description: A male head of security's luxury-wear, for special occasions.
     - WhitelistChameleon
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitQM
   name: quartermaster's jumpsuit
   description: 'What can brown do for you?'
     sprite: Clothing/Uniforms/Jumpsuit/qm.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitQMTurtleneck
   name: quartermasters's turtleneck
   description: A sharp turtleneck made for the hardy work environment of supply.
       sprite: Clothing/Uniforms/Jumpsuit/qmturtle.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitQMFormal
   name: quartermasters's formal suit
   description: Inspired by the quartermasters of military's past, the perfect outfit for supplying a formal occasion.
       sprite: Clothing/Uniforms/Jumpsuit/qmformal.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitResearchDirector
   name: research director's turtleneck
   description: It's a turtleneck worn by those with the know-how to achieve the position of Research Director. Its fabric provides minor protection from biological contaminants.
     sprite: Clothing/Uniforms/Jumpsuit/roboticist.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseRestrictedContraband]
   id: ClothingUniformJumpsuitSec
   name: security jumpsuit
   description: A jumpsuit made of strong material, providing robust protection.
     sprite: Clothing/Uniforms/Jumpsuit/security_blue.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseRestrictedContraband]
   id: ClothingUniformJumpsuitSecGrey
   name: grey security jumpsuit
   description: A tactical relic of years past before Nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood.
     sprite: Clothing/Uniforms/Jumpsuit/security_grey.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseRestrictedContraband]
   id: ClothingUniformJumpsuitWarden
   name: warden's uniform
   description: A formal security suit for officers complete with Nanotrasen belt buckle.
       sprite: Clothing/Uniforms/Jumpsuit/lawyergood.rsi
 
 - type: entity
-  parent: UnsensoredClothingUniformBase
+  parent: [UnsensoredClothingUniformBase, BaseSyndicateContraband]
   id: ClothingUniformJumpsuitPyjamaSyndicateBlack
   name: black syndicate pyjamas
   description: For those long nights in perma.
     sprite: Clothing/Uniforms/Jumpsuit/pyjamasyndicateblack.rsi
 
 - type: entity
-  parent: UnsensoredClothingUniformBase
+  parent: [UnsensoredClothingUniformBase, BaseSyndicateContraband]
   id: ClothingUniformJumpsuitPyjamaSyndicatePink
   name: pink syndicate pyjamas
   description: For those long nights in perma.
     sprite: Clothing/Uniforms/Jumpsuit/pyjamasyndicatepink.rsi
 
 - type: entity
-  parent: UnsensoredClothingUniformBase
+  parent: [UnsensoredClothingUniformBase, BaseSyndicateContraband]
   id: ClothingUniformJumpsuitPyjamaSyndicateRed
   name: red syndicate pyjamas
   description: For those long nights in perma.
     sprite: Clothing/Uniforms/Jumpsuit/nanotrasen.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitCapFormal
   name: captain's formal suit
   description: A suit for special occasions.
     sprite: Clothing/Uniforms/Jumpsuit/centcomformal.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseCommandContraband]
   id: ClothingUniformJumpsuitHosFormal
   name: hos's formal suit
   description: A suit for special occasions.
     sprite: Clothing/Uniforms/Jumpsuit/hosformal.rsi
 
 - type: entity
-  parent: UnsensoredClothingUniformBase
+  parent: [UnsensoredClothingUniformBase, BaseSyndicateContraband]
   id: ClothingUniformJumpsuitOperative
   name: operative jumpsuit
   description: Uniform for elite syndicate operatives performing tactical operations in deep space.
     sprite: Clothing/Uniforms/Jumpsuit/hawaiyellow.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseSyndicateContraband]
   id: ClothingUniformJumpsuitSyndieFormal
   name: syndicate formal suit
   description: "The syndicate's uniform is made in an elegant style, it's even a pity to do dirty tricks in this."
     sprite: Clothing/Uniforms/Jumpsuit/senior_physician.rsi
 
 - type: entity
-  parent: ClothingUniformBase
+  parent: [ClothingUniformBase, BaseRestrictedContraband]
   id: ClothingUniformJumpsuitSeniorOfficer
   name: senior officer jumpsuit
   description: A sign of skill and prestige within the security department.
index 3131e7bf9d990eb81527b6ccb7d9b29520521c50..7fa23cd2dc3c0967cb467c565c53ae846b61b104 100644 (file)
 
 - type: entity
   name: grenade penguin
-  parent: [ MobPenguin, MobCombat ]
+  parent: [ MobPenguin, MobCombat, BaseSyndicateContraband ]
   id: MobGrenadePenguin
   description: A small penguin with a grenade strapped around its neck. Harvested by the Syndicate from icy shit-hole planets.
   components:
index bb80079d2eb1f2f4b0ed7439ab6c74794f05b68c..9890023c3b842fa8c40ed8ea00fbacee6abc4655 100644 (file)
 
 - type: entity
   id: HappyHonkNukie
-  parent: HappyHonk
+  parent: [HappyHonk, BaseSyndicateContraband]
   name: robust nukie meal
   description: A sus meal with a potentially explosive surprise.
   suffix: Toy Unsafe
index 885c483ad0ef2c35f52608bb267d1a09f4ea5404..b9b4b90a08c935bba02da56dc260d0d3fc3f07e8 100644 (file)
 - type: entity
   name: prime-cut corgi meat
   # can't rot since that would be very bad for syndies
-  parent: FoodMeatBase
+  parent: [FoodMeatBase, BaseGrandTheftContraband]
   id: FoodMeatCorgi
   description: The tainted gift of an evil crime. The meat may be delicious, but at what cost?
   components:
index cb54b4c957fd9092db77af1ffbaea8ab1e0b1084..94add0ae2ca45891119652803285f3f7962218ce 100644 (file)
 
 - type: entity
   id: CigPackSyndicate
-  parent: CigPackBase
+  parent: [CigPackBase, BaseSyndicateContraband]
   name: Interdyne herbals packet
   description: Elite cigarettes for elite syndicate agents. Infused with medicine for when you need to do more than calm your nerves.
   components:
index d3c58a0fe78fcbd19129653da6dbe396438487c8..ed919edab5b722fd078f53de8b9367da3fa4a243 100644 (file)
       prototype: ComputerCrewMonitoring
 
 - type: entity
-  parent: BaseComputerCircuitboard
+  parent: [BaseComputerCircuitboard, BaseGrandTheftContraband]
   id: IDComputerCircuitboard
   name: ID card computer board
   description: A computer printed circuit board for an ID card console.
     - type: Sprite
       state: cpu_science
     - type: ComputerBoard
-      prototype: ComputerRoboticsControl
\ No newline at end of file
+      prototype: ComputerRoboticsControl
index fc6c2ac787463815cd60c0158fd04e0c5c0f58c3..aeacc3947a6e1514ef5df06b13280aa6e90711ae 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: C.H.I.M.P. handcannon upgrade chip
-  parent: BaseItem
+  parent: [BaseItem, BaseSyndicateContraband]
   id: WeaponPistolCHIMPUpgradeKit
   description: An experimental upgrade kit for the C.H.I.M.P.
   components:
index 823ee828625e0a06c67ba4e126ef558de44edb3f..259d36555eafad4212c4108264ded4b655719fa3 100644 (file)
@@ -1,7 +1,7 @@
 - type: entity
   name: holoparasite injector
   id: HoloparasiteInjector
-  parent: BaseItem
+  parent: [BaseItem, BaseSyndicateContraband]
   description: A complex artwork of handheld machinery allowing the user to host a holoparasite guardian.
   components:
   - type: Sprite
@@ -34,7 +34,7 @@
 
 - type: entity
   name: holoparasite box
-  parent: BoxCardboard
+  parent: [BoxCardboard, BaseSyndicateContraband]
   id: BoxHoloparasite
   description: A box containing a holoparasite injector.
   components:
@@ -50,7 +50,7 @@
 
 - type: entity
   name: holoclown box
-  parent: BoxCardboard
+  parent: [BoxCardboard, BaseSyndicateContraband]
   id: BoxHoloclown
   description: A box containing a holoclown injector.
   components:
index e4bca770692922510ee7f8afa943ebab07af9815..6d85c74fbfa4df65c53f882560a1df752df3d49f 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: BaseItem
+  parent: [BaseItem, BaseSyndicateContraband]
   abstract: true
   id: ReinforcementRadio
   name: syndicate reinforcement radio
index b2f159f4636087f6c2fa7b8b53b345aca50aa901..96b3c4f4d82f38b77531d51de5422e7b05e971fe 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   id: SingularityBeacon
-  parent: BaseMachinePowered
+  parent: [BaseMachinePowered, BaseSyndicateContraband]
   name: singularity beacon
   description: A syndicate device that attracts the singularity. If it's loose and you're seeing this, run.
   components:
index bc17ed455a535aff0d24338a0101559a05ac17ed..41347e35c4793f35f2680aaaced556cf2942c4be 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: BaseItem
+  parent: [BaseItem, BaseSyndicateContraband]
   id: ChameleonProjector
   name: chameleon projector
   description: Holoparasite technology used to create a hard-light replica of any object around you. Disguise is destroyed when picked up or deactivated.
index 08260acb88d3fc2ffea790dcb352add99bf90757..66b40d0b40717bde9de025e3be07245a5b4305ff 100644 (file)
     - state: service_label
 
 - type: entity
-  parent: EncryptionKey
+  parent: [EncryptionKey, BaseRestrictedContraband]
   id: EncryptionKeySyndie
   name: blood-red encryption key
   description: An encryption key used by... wait... Who is the owner of this chip?
     - state: synd_label
 
 - type: entity
-  parent: EncryptionKey
+  parent: [EncryptionKey, BaseSyndicateContraband]
   id: EncryptionKeyBinary
   name: binary translator key
   description: An encryption key that translates binary signals used by silicons.
index deac20e05ec42db30d32751616068e53f316fb03..397a2a8e0318eea2d6f4fabd8965cc31aa1a2363 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   id: HandTeleporter
-  parent: BaseItem
+  parent: [BaseItem, BaseGrandTheftContraband]
   name: hand teleporter
   description: "A Nanotrasen signature item--only the finest bluespace tech. Instructions: Use once to create a portal which teleports at random. Use again to link it to a portal at your current location. Use again to clear all portals."
   components:
index 762204701cb6e3e4592b06b27fc59a32792e13e4..9a4ec3b59266f0f0e18d372491956fca00e6ed3f 100644 (file)
@@ -25,7 +25,7 @@
     sprite: Objects/Storage/Briefcases/briefcase_brown.rsi
 
 - type: entity
-  parent: BriefcaseBrown
+  parent: [BriefcaseBrown, BaseSyndicateContraband]
   id: BriefcaseSyndie
   suffix: Syndicate, Empty
   components:
index e389bc6b3789ff1a59352ba7d868ffd640930b0b..90e975b93efa17c16a74d3a0238f06ddce4c48ed 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: nuclear authentication disk
-  parent: BaseItem
+  parent: [BaseItem, BaseGrandTheftContraband]
   id: NukeDisk
   description: A nuclear auth disk, capable of arming a nuke if used along with a code. Note from nanotrasen reads "THIS IS YOUR MOST IMPORTANT POSESSION, SECURE DAT FUKKEN DISK!"
   components:
@@ -25,7 +25,7 @@
 
 - type: entity
   name: nuclear authentication disk
-  parent: BaseItem
+  parent: [BaseItem, BaseGrandTheftContraband]
   id: NukeDiskFake
   suffix: Fake
   description: A nuclear auth disk, capable of arming a nuke if used along with a code. Note from nanotrasen reads "THIS IS YOUR MOST IMPORTANT POSESSION, SECURE DAT FUKKEN DISK!"
index b1ccef48e87639bd1d5d931efa6cdc8880e98f55..21905fa45a6b8bba24a743a148a7b2a3d00133a1 100644 (file)
@@ -2,7 +2,7 @@
   name: handcuffs
   description: Used to detain criminals and other assholes.
   id: Handcuffs
-  parent: BaseItem
+  parent: [BaseItem, BaseRestrictedContraband]
   components:
   - type: Item
     size: Small
index 39a0a49113202c9c48026a2ecdf0a0b1e835b563..3102dba109dc8b1681df5ed161e01ad59a9188a9 100644 (file)
     - state: idintern-service
 
 - type: entity
-  parent: IDCardStandard
+  parent: [IDCardStandard, BaseGrandTheftContraband]
   id: CaptainIDCard
   name: captain ID card
   components:
index 532bcadeb538025fe8a34b5b6341bdf489916054..a93472658ed26c6fc781c6dbe1ad97b6d2417e0a 100644 (file)
@@ -4,7 +4,7 @@
   name: implanter
   description: A syringe exclusively designed for the injection and extraction of subdermal implants.
   id: BaseImplanter
-  parent: BaseItem
+  parent: [BaseItem, BaseRestrictedContraband]
   abstract: true
   components:
     - type: ItemSlots
@@ -94,7 +94,7 @@
 
 - type: entity
   id: BaseImplantOnlyImplanterSyndi
-  parent: BaseImplantOnlyImplanter
+  parent: [BaseImplantOnlyImplanter, BaseSyndicateContraband]
   description: A compact disposable syringe exclusively designed for the injection of subdermal implants.
   abstract: true
   components:
index adb5776ec719603efd14b9a526c60740cb65ab08..478521bcfd6e5ef044f8d690b46fc46a2770dd2e 100644 (file)
 
 - type: entity
   id: BoxFolderQmClipboard
-  parent: BoxFolderClipboard
+  parent: [BoxFolderClipboard, BaseGrandTheftContraband]
   name: requisition digi-board
   description: A bulky electric clipboard, filled with shipping orders and financing details. With so many compromising documents, you ought to keep this safe.
   components:
index 8680e414c3974b6c877614dd00dbf3b779766363..2ff0a2258bd37a5d486d62d694b98a9f9e8e7d09 100644 (file)
@@ -58,7 +58,7 @@
 
 - type: entity
   name: Cybersun pen
-  parent: PenEmbeddable
+  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.
   components:
index e9052fa60e00750fa0af08246cb3505fb00ae235..2edd17a5ce2ac52f4c2349fb40fd198fced04c23 100644 (file)
 
 - type: entity
   name: syndicate rubber stamp
-  parent: RubberStampBase
+  parent: [RubberStampBase, BaseSyndicateContraband]
   id: RubberStampSyndicate
   suffix: DO NOT MAP
   components:
index ae6238d87cc210ca5acec853ee987492ff6b93ca..257aea82683a26df84670eff6e1f511c4fe42894 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: BaseItem
+  parent: [BaseItem, BaseGrandTheftContraband]
   id: BookSecretDocuments
   name: "emergency security orders"
   description: TOP SECRET. These documents specify the Emergency Orders that the HoS must carry out when ordered by Central Command.
index c44a167bcd659add42048cc230771fc6ba5d532f..40406209a7221eae6645262ff26033dd29eee54b 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   id: PowerSink
-  parent: BaseMachine
+  parent: [BaseMachine, BaseSyndicateContraband]
   name: power sink
   description: Drains immense amounts of electricity from the grid.
   components:
index 8182accfb6f9df6622b434ca87b26e712d0a21c8..71598a7ff9bd4deac46a8b4e70266939e3947945 100644 (file)
 
 - type: entity
   name: energy shield
-  parent: BaseItem
+  parent: [BaseItem, BaseSyndicateContraband]
   id: EnergyShield
   description: Exotic energy shield, when folded, can even fit in your pocket.
   components:
index 28d90f1a3b5a92c45eecf3fc8422613a3ed0f2ab..f5e91e4fd86820c4056d7d849c578fcae92d08ab 100644 (file)
@@ -49,7 +49,7 @@
     stealGroup: Bible
 
 - type: entity
-  parent: Bible
+  parent: [Bible, BaseSyndicateContraband]
   name: necronomicon
   description: "There's a note: Klatuu, Verata, Nikto -- Don't forget it again!"
   id: BibleNecronomicon
index 5f6cf903aaa6d1b1889e2f4da7f92ee4be714b12..61da1a95fca0870bba415500a73e28103602e0c4 100644 (file)
       sprite: Objects/Specific/Hydroponics/fly_amanita.rsi
 
 - type: entity
-  parent: SeedBase
+  parent: [SeedBase, BaseSyndicateContraband]
   name: packet of gatfruit seeds
   description: "These are no peashooters."
   id: GatfruitSeeds
index 8056d1e909efef2c9052a6450ecffc3aff34a2d1..3f605119d7e6d506fc633e268e4931189779aa50 100644 (file)
 - type: entity
   name: soap
   id: SoapSyndie
-  parent: Soap
+  parent: [Soap, BaseSyndicateContraband]
   description: An untrustworthy bar of soap. Smells of fear.
   components:
   - type: Sprite
index c9ab24274daf6bcbd230f8b5fb09989603b4bd1c..d7a362d725398780b02e735b0844ad82de96a522 100644 (file)
@@ -1,7 +1,7 @@
 - type: entity
   name: handheld crew monitor
   suffix: DO NOT MAP
-  parent: BaseHandheldComputer
+  parent: [ BaseHandheldComputer, BaseGrandTheftContraband ]
   # CMO-only bud, don't add more.
   id: HandheldCrewMonitor
   description: A hand-held crew monitor displaying the status of suit sensors.
index 989fd577059915dbb04ecc29bff0e10e40356828..adb0378507556ea8ec78aab5bf784a8850a7a850 100644 (file)
 #this is where all the syringes are so i didn't know where to put it
 - type: entity
   name: romerol syringe
-  parent: PrefilledSyringe
+  parent: [PrefilledSyringe, BaseSyndicateContraband]
   id: SyringeRomerol
   components:
   - type: SolutionContainerManager
 
 - type: entity
   name: hyperzine syringe
-  parent: PrefilledSyringe
+  parent: [PrefilledSyringe, BaseSyndicateContraband]
   id: SyringeStimulants
   components:
   - type: SolutionContainerManager
index 6f684cafadc2d34baab7748b6ead23660812a5dd..eb18893791dbfa0486eca16304c5c4dbcd4ad38b 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: hypospray
-  parent: BaseItem
+  parent: [BaseItem, BaseGrandTheftContraband]
   description: A sterile injector for rapid administration of drugs to patients.
   id: Hypospray
   components:
 
 - type: entity
   name: hyperzine injector
-  parent: ChemicalMedipen
+  parent: [ChemicalMedipen, BaseSyndicateContraband]
   id: Stimpack
   description: Contains enough hyperzine for you to have the chemical's effect for 30 seconds. Use it when you're sure you're ready to throw down.
   components:
 
 - type: entity
   name: hyperzine microinjector
-  parent: ChemicalMedipen
+  parent: [ChemicalMedipen, BaseSyndicateContraband]
   id: StimpackMini
   description: A microinjector of hyperzine that give you about fifteen seconds of the chemical's effects.
   components:
 
 - type: entity
   name: combat medipen
-  parent: ChemicalMedipen
+  parent: [ChemicalMedipen, BaseSyndicateContraband]
   id: CombatMedipen
   description: A single-use medipen containing chemicals that regenerate most types of damage.
   components:
index cf8fe9c2f79d2f8957610e4676aaa57e7431838f..a49f08e28f1198d3e59912aca536fce6528eb9b3 100644 (file)
 #syndicate modules
 - type: entity
   id: BorgModuleSyndicateWeapon
-  parent: [ BaseBorgModule, BaseProviderBorgModule ]
+  parent: [ BaseBorgModule, BaseProviderBorgModule, BaseSyndicateContraband ]
   name: weapon cyborg module
   components:
   - type: Sprite
 
 - type: entity
   id: BorgModuleMartyr
-  parent: [ BaseBorgModule, BaseProviderBorgModule ]
+  parent: [ BaseBorgModule, BaseProviderBorgModule, BaseSyndicateContraband ]
   name: martyr cyborg module
   description: "A module that comes with an explosive you probably don't want to handle yourself."
   components:
index f8f55cf8fc5bee06b3f7d1772ab9fb6ab78baf93..e38401ad8a7a1b42425c500cb40b68142c23a569 100644 (file)
   id: NocturineChemistryBottle
   name: nocturine bottle
   description: This will make someone fall down almost immediately. Hard to overdose on.
-  parent: BaseChemistryBottleFilled
+  parent: [BaseChemistryBottleFilled, BaseSyndicateContraband]
   components:
   - type: SolutionContainerManager
     solutions:
index 2adce1e66b3b26e19ad8419a05e23abb890d986d..1d0b7a4e0995e6a6e7ee326ac576607e2be6950b 100644 (file)
     - MobAbomination
 
 - type: entity
-  parent: PlushieCarp
+  parent: [PlushieCarp, BaseSyndicateContraband]
   id: DehydratedSpaceCarp
   name: dehydrated space carp
   description: Looks like a plush toy carp, but just add water and it becomes a real-life space carp!
index 53d4f7953b17d8345631841339da9cfa213825f3..fcbd0ecc0245c9f7e6a84c72462fe776d2e34e01 100644 (file)
@@ -1,6 +1,7 @@
+
 - type: entity
   name: telecrystal
-  parent: BaseItem
+  parent: [BaseItem, BaseSyndicateContraband]
   id: Telecrystal
   suffix: 20 TC
   description: It seems to be pulsing with suspiciously enticing energies.
@@ -48,7 +49,7 @@
 
 # Uplinks
 - type: entity
-  parent: [ BaseItem, StorePresetUplink ]
+  parent: [BaseItem, StorePresetUplink, BaseSyndicateContraband]
   id: BaseUplinkRadio
   name: syndicate uplink
   description: Suspiciously looking old radio...
index 0117d44d6d76f74b558999cd6393a2b0e023988e..28c007a63f1b0aab8158a19444fdacb961b2dd27 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: BaseItem
+  parent: [BaseItem, BaseSyndicateContraband]
   id: EmagUnlimited
   suffix: Unlimited
   name: cryptographic sequencer
index b456a23f1f8f9e93614f4953a3f37f6ab79778f9..bcb6a435d06bf56bea3b9d3d42a9d962b8fb33ba 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: radio jammer
-  parent: BaseItem
+  parent: [BaseItem, BaseSyndicateContraband]
   id: RadioJammer
   description: This device will disrupt any nearby outgoing radio communication as well as suit sensors when activated.
   components:
index bd4c7aa7b5dad9de2891ffd938d2d3ceec41458c..202b7948e633756e566ca3be8bd737e1cb5c1246 100644 (file)
@@ -52,7 +52,7 @@
 
 - type: entity
   name: syndicate jaws of life
-  parent: JawsOfLife
+  parent: [JawsOfLife, BaseSyndicateContraband]
   id: SyndicateJawsOfLife
   description: Useful for entering the station or its departments.
   components:
index 2c2fc795f2d6ea02d6474107e0de704bbec74f22..d2b17dd019ea92d07864600ba18ab453b97ba888 100644 (file)
 #Empty black
 - type: entity
   id: JetpackBlack
-  parent: BaseJetpack
+  parent: [BaseJetpack, BaseSyndicateContraband]
   name: jetpack
   suffix: Empty
   components:
 #Empty captain
 - type: entity
   id: JetpackCaptain
-  parent: BaseJetpack
+  parent: [BaseJetpack, BaseGrandTheftContraband]
   name: captain's jetpack
   suffix: Empty
   components:
index 89101e34ff466884d1aa2b0a54b64dc01069bcfb..801755a7771f6f7269b59268f973bd381a1eb5ed 100644 (file)
@@ -66,7 +66,7 @@
       - Flashlight
 
 - type: entity
-  parent: Lantern
+  parent: [Lantern, BaseSyndicateContraband]
   id: LanternFlash
   suffix: Flash
   components:
index db319118576b255e2237851260f7c74807b1fd1b..b2ad5dec6bff1a718537cca7d896b2e03aee219d 100644 (file)
 
 - type: entity
   name: suspicious toolbox
-  parent: ToolboxBase
+  parent: [ToolboxBase, BaseSyndicateContraband]
   id: ToolboxSyndicate
   description: A sinister looking toolbox filled with elite syndicate tools.
   components:
index 8bae55e1f42433460f8f2fcb0c603e788b5384f9..2d641568d78a59f2bac7255bd1c321371612ac8e 100644 (file)
@@ -24,7 +24,7 @@
     handle: false # don't want the sound to stop the explosion from triggering
 
 - type: entity
-  parent: BaseItem
+  parent: [BaseItem, BaseSyndicateContraband]
   id: PenExplodingBox
   name: exploding pen box
   description: A small box containing an exploding pen. Packaging disintegrates when opened, leaving no evidence behind.
index 62f81fa54662c1125677370674e37e79bc4cd1ce..772dd15ab80c211ac92e85e8456d77e684922dd0 100644 (file)
@@ -38,7 +38,7 @@
 - type: entity
   name: composition C-4
   description: Used to put holes in specific areas without too much extra hole. A saboteur's favorite.
-  parent: BasePlasticExplosive
+  parent: [BasePlasticExplosive, BaseSyndicateContraband]
   id: C4
   components:
   - type: Sprite
index 226fa29164fa5ab7555e8f89b87a648e1e1fc505..409f622f89c11d63c4e12ab3fa41d2e5a33ceccb 100644 (file)
@@ -1,7 +1,7 @@
 - type: entity
   name: proto-kinetic accelerator
   id: WeaponProtoKineticAccelerator
-  parent: WeaponProtoKineticAcceleratorBase
+  parent: [WeaponProtoKineticAcceleratorBase, BaseCargoContraband]
   description: Fires low-damage kinetic bolts at a short range.
   components:
   - type: Sprite
index c8e3279ac74642596bcc86eaafb96f89767786d5..2f7aa653e7c42359eb4556a8b8d616f521407616 100644 (file)
 
 - type: entity
   name: disabler
-  parent: BaseWeaponBatterySmall
+  parent: [ BaseWeaponBatterySmall, BaseSecurityCommandContraband ]
   id: WeaponDisabler
   description: A self-defense weapon that exhausts organic targets, weakening them until they collapse.
   components:
 
 - type: entity
   name: disabler SMG
-  parent: BaseWeaponBattery
+  parent: [ BaseWeaponBattery, BaseRestrictedContraband ]
   id: WeaponDisablerSMG
   description: Advanced weapon that exhausts organic targets, weakening them until they collapse.
   components:
 
 - type: entity
   name: taser
-  parent: BaseWeaponBatterySmall
+  parent: [ BaseWeaponBatterySmall, BaseRestrictedContraband ]
   id: WeaponTaser
   description: A low-capacity, energy-based stun gun used by security teams to subdue targets at range.
   components:
 
 - type: entity
   name: antique laser pistol
-  parent: BaseWeaponBatterySmall
+  parent: [BaseWeaponBatterySmall, BaseGrandTheftContraband]
   id: WeaponAntiqueLaser
   description: This is an antique laser pistol. All craftsmanship is of the highest quality. It is decorated with assistant leather and chrome. The object menaces with spikes of energy.
   components:
 
 - type: entity
   name: C.H.I.M.P. handcannon
-  parent: BaseWeaponBatterySmall
+  parent: [BaseWeaponBatterySmall, BaseScienceContraband]
   id: WeaponPistolCHIMP
   description: Just because it's a little C.H.I.M.P. doesn't mean it can't punch like an A.P.E.
   components:
 
 - type: entity
   name: experimental C.H.I.M.P. handcannon
-  parent: WeaponPistolCHIMP
+  parent: [WeaponPistolCHIMP, BaseSyndicateContraband]
   id: WeaponPistolCHIMPUpgraded
   description: This C.H.I.M.P. seems to have a greater punch than is usual...
   components:
index 32b4fc6075a1380795f25436c3f94cb70f345582..13a52a6c14dc0ce4e1cbb7c979a392b59f8ba025 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: bow
-  parent: BaseItem
+  parent: [BaseItem, BaseMinorContraband]
   id: BaseBow
   description: The original rooty tooty point and shooty.
   abstract: true
index 79f2e7b45f566d0df14fb348040bd0c6aeebaafc..1a1514f48cf36b6b25abb7abc62029034752dc58 100644 (file)
@@ -65,7 +65,7 @@
 - type: entity
   name: L6 SAW
   id: WeaponLightMachineGunL6
-  parent: BaseWeaponLightMachineGun
+  parent: [BaseWeaponLightMachineGun, BaseSyndicateContraband]
   description: A rather traditionally made LMG with a pleasantly lacquered wooden pistol grip. Uses .30 rifle ammo.
   components:
   - type: Sprite
index 1b9d821e2b57e81b9c779518b991fe0aa5150a1c..696d507a638438509d7055f1be7d61ebe18ad71a 100644 (file)
@@ -22,7 +22,7 @@
 
 - type: entity
   name: china lake
-  parent: [BaseWeaponLauncher, BaseGunWieldable]
+  parent: [BaseWeaponLauncher, BaseGunWieldable, BaseSyndicateContraband]
   id: WeaponLauncherChinaLake
   description: PLOOP.
   components:
index 07d59aadfa1f2446db1acfd827b00a07b4f63a63..e778393710a7422192b65456b9e264fbabba166e 100644 (file)
@@ -70,7 +70,7 @@
 
 - type: entity
   name: viper
-  parent: BaseWeaponPistol
+  parent: [BaseWeaponPistol, BaseSyndicateContraband]
   id: WeaponPistolViper
   description: A small, easily concealable, but somewhat underpowered gun. Retrofitted with a fully automatic receiver. Uses .35 auto ammo.
   components:
 
 - type: entity
   name: mk 58
-  parent: BaseWeaponPistol
+  parent: [BaseWeaponPistol, BaseRestrictedContraband]
   id: WeaponPistolMk58
   description: A cheap, ubiquitous sidearm, produced by a NanoTrasen subsidiary. Uses .35 auto ammo.
   components:
 
 - type: entity
   name: N1984
-  parent: BaseWeaponPistol
+  parent: [BaseWeaponPistol, BaseRestrictedContraband]
   id: WeaponPistolN1984 # the spaces in description are for formatting.
   description: The sidearm of any self respecting officer.     Comes in .45 magnum, the lord's caliber.
   components:
index 0df556a742ffd1d194801a6422651cb79bb72935..8a6e027b12842438eb7a85fb23c3998953f8afde 100644 (file)
@@ -52,7 +52,7 @@
 
 - type: entity
   name: Deckard
-  parent: BaseWeaponRevolver
+  parent: [BaseWeaponRevolver, BaseRestrictedContraband]
   id: WeaponRevolverDeckard
   description: A rare, custom-built revolver. Use when there is no time for Voight-Kampff test. Uses .45 magnum ammo.
   components:
@@ -80,7 +80,7 @@
 
 - type: entity
   name: Inspector
-  parent: BaseWeaponRevolver
+  parent: [BaseWeaponRevolver, BaseRestrictedContraband]
   id: WeaponRevolverInspector
   description: A detective's best friend. Uses .45 magnum ammo.
   components:
@@ -95,7 +95,7 @@
 
 - type: entity
   name: Mateba
-  parent: BaseWeaponRevolver
+  parent: [BaseWeaponRevolver, BaseMinorContraband]
   id: WeaponRevolverMateba
   description: The iconic sidearm of the dreaded death squads. Uses .45 magnum ammo.
   components:
 
 - type: entity
   name: Python
-  parent: BaseWeaponRevolver
+  parent: [BaseWeaponRevolver, BaseSyndicateContraband]
   id: WeaponRevolverPython
   description: A robust revolver favoured by Syndicate agents. Uses .45 magnum ammo.
   components:
 
 - type: entity
   name: pirate revolver
-  parent: BaseWeaponRevolver
+  parent: [BaseWeaponRevolver, BaseMinorContraband]
   id: WeaponRevolverPirate
   description: An odd, old-looking revolver, favoured by pirate crews. Uses .45 magnum ammo.
   components:
index f073d0cb745277dcfbf7f0f058c7e08725f2213a..d16afb547869a1ae0d656247b75ab61da55babb1 100644 (file)
@@ -53,7 +53,7 @@
 
 - type: entity
   name: AKMS
-  parent: BaseWeaponRifle
+  parent: [BaseWeaponRifle, BaseMinorContraband]
   id: WeaponRifleAk
   description: An iconic weapon of war. Uses .30 rifle ammo.
   components:
 
 - type: entity
   name: M-90gl
-  parent: BaseWeaponRifle
+  parent: [BaseWeaponRifle, BaseSyndicateContraband]
   id: WeaponRifleM90GrenadeLauncher
   description: An older bullpup carbine model, with an attached underbarrel grenade launcher. Uses .20 rifle ammo.
   components:
 
 - type: entity
   name: Lecter
-  parent: BaseWeaponRifle
+  parent: [BaseWeaponRifle, BaseRestrictedContraband]
   id: WeaponRifleLecter
   description: A high end military grade assault rifle. Uses .20 rifle ammo.
   components:
index e7f0ce4bff53c8d54a0fa79b60bead2f8ed5b8c6..cf1d77d94bc03a63f26e8e77822b8ee14d04707b 100644 (file)
@@ -58,7 +58,7 @@
 
 - type: entity
   name: Atreides
-  parent: BaseWeaponSubMachineGun
+  parent: [BaseWeaponSubMachineGun, BaseMinorContraband]
   id: WeaponSubMachineGunAtreides
   description: Pla-ket-ket-ket-ket! Uses .35 auto ammo.
   components:
@@ -81,7 +81,7 @@
 
 - type: entity
   name: C-20r sub machine gun
-  parent: BaseWeaponSubMachineGun
+  parent: [BaseWeaponSubMachineGun, BaseSyndicateContraband]
   id: WeaponSubMachineGunC20r
   description: A firearm that is often used by the infamous nuclear operatives. Uses .35 auto ammo.
   components:
index 6e81bc3be2905ab94e740e17e65d04925a54b3a5..58cf9eaed3e6752631c734798ce646b8e8e9cb85 100644 (file)
@@ -46,7 +46,7 @@
 - type: entity
   name: Bulldog
   # Don't parent to BaseWeaponShotgun because it differs significantly
-  parent: [BaseItem, BaseGunWieldable]
+  parent: [BaseItem, BaseGunWieldable, BaseSyndicateContraband]
   id: WeaponShotgunBulldog
   description: It's a magazine-fed shotgun designed for close quarters combat. Uses .50 shotgun shells.
   components:
 
 - type: entity
   name: double-barreled shotgun
-  parent: [BaseWeaponShotgun, BaseGunWieldable]
+  parent: [BaseWeaponShotgun, BaseGunWieldable, BaseMinorContraband]
   id: WeaponShotgunDoubleBarreled
   description: An immortal classic. Uses .50 shotgun shells.
   components:
 
 - type: entity
   name: Enforcer
-  parent: [BaseWeaponShotgun, BaseGunWieldable]
+  parent: [BaseWeaponShotgun, BaseGunWieldable, BaseRestrictedContraband]
   id: WeaponShotgunEnforcer
   description: A premium combat shotgun based on the Kammerer design, featuring an upgraded clip capacity. .50 shotgun shells.
   components:
 
 - type: entity
   name: Kammerer
-  parent: [BaseWeaponShotgun, BaseGunWieldable]
+  parent: [BaseWeaponShotgun, BaseGunWieldable, BaseRestrictedContraband]
   id: WeaponShotgunKammerer
   description: When an old Remington design meets modern materials, this is the result. A favourite weapon of militia forces throughout many worlds. Uses .50 shotgun shells.
   components:
 
 - type: entity
   name: handmade pistol
-  parent: BaseWeaponShotgun
+  parent: [BaseWeaponShotgun, BaseMinorContraband]
   id: WeaponShotgunHandmade
   description: Looks unreliable. Uses .50 shotgun shells.
   components:
 
 - type: entity
   name: blunderbuss
-  parent: [BaseWeaponShotgun, BaseGunWieldable]
+  parent: [BaseWeaponShotgun, BaseGunWieldable, BaseMinorContraband]
   id: WeaponShotgunBlunderbuss
   suffix: Pirate
   description: Deadly at close range.
 
 - type: entity
   name: improvised shotgun
-  parent: [BaseWeaponShotgun, BaseGunWieldable]
+  parent: [BaseWeaponShotgun, BaseGunWieldable, BaseMinorContraband]
   id: WeaponShotgunImprovised
   description: A shitty, hand-made shotgun that uses .50 shotgun shells. It can only hold one round in the chamber.
   components:
index f69cb4fd2da358ca3130b03149aa7fc2d5ba1dde..4ea0061c96149941c4ab1d49cf9c448cde59ae8b 100644 (file)
@@ -40,7 +40,7 @@
 
 - type: entity
   name: Kardashev-Mosin
-  parent: [BaseWeaponSniper, BaseGunWieldable]
+  parent: [BaseWeaponSniper, BaseGunWieldable, BaseSyndicateContraband]
   id: WeaponSniperMosin
   description: A weapon for hunting, or endless trench warfare. Uses .30 rifle ammo.
   components:
@@ -49,7 +49,7 @@
 
 - type: entity
   name: Hristov
-  parent: [BaseWeaponSniper, BaseGunWieldable]
+  parent: [BaseWeaponSniper, BaseGunWieldable, BaseSyndicateContraband]
   id: WeaponSniperHristov
   description: A portable anti-materiel rifle. Fires armor piercing 14.5mm shells. Uses .60 anti-materiel ammo.
   components:
@@ -66,7 +66,7 @@
 
 - type: entity
   name: musket
-  parent: [BaseWeaponSniper, BaseGunWieldable]
+  parent: [ BaseWeaponSniper, BaseGunWieldable, BaseMinorContraband ]
   id: Musket
   description: This should've been in a museum long before you were born. Uses .60 anti-materiel ammo.
   components:
 
 - type: entity
   name: flintlock pistol
-  parent: BaseWeaponSniper
+  parent: [BaseWeaponSniper, BaseMinorContraband]
   id: WeaponPistolFlintlock
   description: A pirate's companion. Yarrr! Uses .60 anti-materiel ammo.
   components:
index 1251172946080a5e19e6a6e27cd8f71c62124052..1d18c2b050096a51ca6ddb081e4a9294ff30a018 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: improvised pneumatic cannon
-  parent: BaseStorageItem
+  parent: [BaseStorageItem, BaseMinorContraband]
   id: WeaponImprovisedPneumaticCannon
   description: Improvised using nothing but a pipe, some zipties, and a pneumatic cannon. Doesn't accept tanks without enough gas.
   components:
index 82177478fa79eed7202a74bf13c0a234ddb635f5..de0e92dd671e24a28854506bb1865afea3be4746 100644 (file)
       context: "human"
 
 - type: entity
-  parent: BaseWeaponTurret
+  parent: [BaseWeaponTurret, BaseSyndicateContraband]
   id: WeaponTurretSyndicate
   suffix: Syndicate
   components:
index 818c4bd67685d93af9f67500d89a6f315e21dfe7..551fedfd9056aefa335a4a1b3d6d71fbbce1e14d 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: baseball bat
-  parent: BaseItem
+  parent: [BaseItem, BaseMinorContraband]
   id: BaseBallBat
   description: A robust baseball bat.
   components:
index 5c26020d72cea874800db57a3cb421c2466977ca..cbf437d0b282e937643950d59a0e2689364e6afd 100644 (file)
@@ -28,7 +28,7 @@
 
 - type: entity
   name: cane blade
-  parent: BaseItem
+  parent: [BaseItem, BaseSyndicateContraband]
   id: CaneBlade
   description: A sharp blade with a cane shaped hilt.
   components:
index 231e898727ab9fd5c44b6dac9b696daf3324bda4..53ddd96178f20fd6e3aea44cd5d298d1f5712f13 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: energy sword
-  parent: BaseItem
+  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.
   components:
     - Write
 
 - type: entity
-  parent: BaseItem
+  parent: [BaseItem, BaseSyndicateContraband]
   id: EnergyDaggerBox
   name: e-dagger box
   suffix: E-Dagger
index f6a47496549ebb763762976f122b1bce5edbe34a..2af85fae4f9c3423b4398f14bef8b558692fb652 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: fireaxe
-  parent: BaseItem
+  parent: [BaseItem, BaseEngineeringContraband]
   id: FireAxe
   description: Truly, the weapon of a madman. Who would think to fight fire with an axe?
   components:
index 8270a50bd6aa5b5a2a4f23f7ddb6169211ab0631..506a36d08ab3a32dc706f9162c0c2357adc044e8 100644 (file)
@@ -77,7 +77,7 @@
 
 - type: entity
   name: combat knife
-  parent: BaseKnife
+  parent: [BaseKnife, BaseRestrictedContraband]
   id: CombatKnife
   description: A deadly knife intended for melee confrontations.
   components:
 
 - type: entity
   name: survival knife
-  parent: CombatKnife
+  parent: [CombatKnife, BaseSecurityCargoContraband]
   id: SurvivalKnife
   description: Weapon of first and last resort for combatting space carp.
   components:
 
 - type: entity
   name: kukri knife
-  parent: CombatKnife
+  parent: [CombatKnife, BaseMinorContraband]
   id: KukriKnife
   description: Professionals have standards. Be polite. Be efficient. Have a plan to kill everyone you meet.
   components:
     sprite: Objects/Weapons/Melee/kukri_knife.rsi
 
 - type: entity
-  parent: ClothingHeadHatGreyFlatcap
+  parent: [ClothingHeadHatGreyFlatcap, BaseSyndicateContraband]
   id: BladedFlatcapGrey
   name: grey flatcap
   description: Fashionable for both the working class and old man Jenkins. It has glass shards hidden in the brim.
 
 - type: entity
   name: shiv
-  parent: BaseKnife
+  parent: [BaseKnife, BaseMinorContraband]
   id: Shiv
   description: A crude weapon fashioned from a piece of cloth and a glass shard.
   components:
 
 - type: entity
   name: throwing knife
-  parent: BaseKnife
+  parent: [BaseKnife, BaseSyndicateContraband]
   id: ThrowingKnife
   description: This bloodred knife is very aerodynamic and easy to throw, but good luck trying to fight someone hand-to-hand.
   components:
index 87826aa8f06f93d8ed00d22dc73312db06009624..faebcaa734d8eb835f409a5b456b08ac268b0845 100644 (file)
     radius: 4
 
 - type: entity
-  parent: BaseWeaponCrusher
+  parent: [BaseWeaponCrusher, BaseSecurityCargoContraband]
   id: WeaponCrusher
   components:
   - type: Tag
index d6985c018d7bfe1eeba404b2ade8aef1bde029f5..1d010c0976e69cbd3cd7bbf287b364f911c75cbc 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: spear
-  parent: BaseItem
+  parent: [BaseItem, BaseMinorContraband]
   id: Spear
   description: Definition of a Classic. Keeping murder affordable since 200,000 BCE.
   components:
index 437cd8994ef6d83eced65253aa76c4aec04921e8..7a3b298129f58c7c4c16615057850b258f78f3a6 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: stun prod
-  parent: BaseItem
+  parent: [BaseItem, BaseMinorContraband]
   id: Stunprod
   description: A stun prod for illegal incapacitation.
   components:
index c2449a6bcbd563acf1878d8f6530313e7bb150e0..dd00c2054ad9a2096eb69db7ece52d635d0dfa98 100644 (file)
@@ -18,7 +18,7 @@
 
 - type: entity
   name: captain's sabre
-  parent: BaseSword
+  parent: [ BaseSword, BaseCommandContraband ]
   id: CaptainSabre
   description: A ceremonial weapon belonging to the captain of the station.
   components:
@@ -43,7 +43,7 @@
 
 - type: entity
   name: katana
-  parent: BaseSword
+  parent: [ BaseSword, BaseMinorContraband ]
   id: Katana
   description: Ancient craftwork made with not so ancient plasteel.
   components:
@@ -93,7 +93,7 @@
 
 - type: entity
   name: machete
-  parent: BaseSword
+  parent: [ BaseSword, BaseMinorContraband ]
   id: Machete
   description: A large, vicious looking blade.
   components:
 
 - type: entity
   name: claymore
-  parent: BaseSword
+  parent: [ BaseSword, BaseMinorContraband ]
   id: Claymore
   description: An ancient war blade.
   components:
 
 - type: entity
   name: cutlass
-  parent: BaseSword
+  parent: [ BaseSword, BaseMinorContraband ]
   id: Cutlass
   description: A wickedly curved blade, often seen in the hands of space pirates.
   components:
 
 - type: entity
   name: Throngler
-  parent: BaseSword
+  parent: [ BaseSword, BaseMinorContraband ]
   id: Throngler
   description: Why would you make this?
   components:
index fea9a8d5ea3b3dc619d545ee112d3a0280dd61da..a4441b18f7f7e1bbdd60e91bcef0694835bf872b 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: bola
-  parent: BaseItem
+  parent: [BaseItem, BaseRestrictedContraband]
   id: Bola
   description: Linked together with some spare cuffs and metal.
   components:
index 99b50c558b511e0a5a51aedeba266c855012f192..b4f540ae53d790e8f750c78b69b27bd936de5629 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: BaseItem
+  parent: [BaseItem, BaseRestrictedContraband]
   id: ClusterBang
   name: clusterbang
   description: Can be used only with flashbangs. Explodes several times.
@@ -50,7 +50,7 @@
       cluster-payload: !type:Container
 
 - type: entity
-  parent: GrenadeBase
+  parent: [GrenadeBase, BaseSyndicateContraband]
   id: ClusterGrenade
   name: clustergrenade
   description: Why use one grenade when you can use three at once!
@@ -79,7 +79,7 @@
       cluster-payload: !type:Container
 
 - type: entity
-  parent: BaseItem
+  parent: [BaseItem, BaseSyndicateContraband]
   id: ClusterBananaPeel
   name: cluster banana peel
   description: Splits into 6 explosive banana peels after throwing, guaranteed fun!
       cluster-payload: !type:Container
 
 - type: entity
-  parent: GrenadeBase
+  parent: [GrenadeBase, BaseSyndicateContraband]
   id: GrenadeStinger
   name: stinger grenade
   description: Nothing to see here, please disperse.
       cluster-payload: !type:Container
 
 - type: entity
-  parent: GrenadeBase
+  parent: [GrenadeBase, BaseSyndicateContraband]
   id: GrenadeIncendiary
   name: incendiary grenade
   description: Guaranteed to light up the mood.
       cluster-payload: !type:Container
 
 - type: entity
-  parent: GrenadeBase
+  parent: [GrenadeBase, BaseSyndicateContraband]
   id: GrenadeShrapnel
   name: shrapnel grenade
   description: Releases a deadly spray of shrapnel that causes severe bleeding.
index 2986eb0457a10c021f03b436de42e020836f30bd..97b9edf7a4d6e927e4be84c87d788f4671a4f5fd 100644 (file)
@@ -39,7 +39,7 @@
 - type: entity
   name: explosive grenade
   description: Grenade that creates a small but devastating explosion.
-  parent: GrenadeBase
+  parent: [GrenadeBase, BaseSyndicateContraband]
   id: ExGrenade
   components:
   - type: ExplodeOnTrigger
 - type: entity
   name: syndicate minibomb
   description: A syndicate-manufactured explosive used to stow destruction and cause chaos.
-  parent: GrenadeBase
+  parent: [GrenadeBase, BaseSyndicateContraband]
   id: SyndieMiniBomb
   components:
   - type: Sprite
 - type: entity
   name: supermatter grenade
   description: Grenade that simulates delamination of the supermatter engine, pulling things in a heap and exploding after some time.
-  parent: GrenadeBase
+  parent: [GrenadeBase, BaseSyndicateContraband]
   id: SupermatterGrenade
   components:
   - type: Sprite
 - type: entity
   name: EMP grenade
   description: A grenade designed to wreak havoc on electronic systems.
-  parent: GrenadeBase
+  parent: [GrenadeBase, BaseSyndicateContraband]
   id: EmpGrenade
   components:
   - type: Sprite
 - type: entity
   name: holy hand grenade
   description: O Lord, bless this thy hand grenade, that with it thou mayst blow thine enemies to tiny bits, in thy mercy.
-  parent: GrenadeBase
+  parent: [GrenadeBase, BaseSyndicateContraband]
   id: HolyHandGrenade
   components:
   - type: Sprite
 - type: entity
   name: syndicate trickybomb
   description: A syndicate-manufactured explosive used to make an excellent distraction.
-  parent: GrenadeDummy
+  parent: [GrenadeDummy, BaseSyndicateContraband]
   id: SyndieTrickyBomb
   components:
   - type: Sprite
index 0dfc9a0312fdf05d917fe64f604adb1ddb82510c..3cffe6e661764ea16d5833d25b56f3c15dd46b6f 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: BaseItem
+  parent: [BaseItem, BaseMinorContraband]
   id: ThrowingStar
   name: throwing star
   description: An ancient weapon still used to this day, due to its ease of lodging itself into its victim's body parts.
index 8dc31e1fa6d4ee881c989719d25b071a1e48dd3f..edbe58f584f7f01b7ac3d261b5f1b590cfca2577 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: stun baton
-  parent: BaseItem
+  parent: [BaseItem, BaseRestrictedContraband]
   id: Stunbaton
   description: A stun baton for incapacitating people with. Actively harming with this is considered bad tone.
   components:
@@ -91,7 +91,7 @@
 
 - type: entity
   name: truncheon
-  parent: BaseItem
+  parent: [BaseItem, BaseRestrictedContraband]
   id: Truncheon
   description: A rigid, steel-studded baton, meant to harm.
   components:
 
 - type: entity
   name: flash
-  parent: BaseItem
+  parent: [BaseItem, BaseSecurityScienceCommandContraband]
   id: Flash
   description: An ultrabright flashbulb with a trigger, which causes the victim to be dazed and lose their eyesight for a moment. Useless when burnt out.
   components:
 
 - type: entity
   name: portable flasher
-  parent: BaseMachine
+  parent: [BaseMachine, BaseRestrictedContraband]
   id: PortableFlasher
   description: An ultrabright flashbulb with a proximity trigger, useful for making an area security-only.
   components:
diff --git a/Resources/Prototypes/Entities/Objects/base_contraband.yml b/Resources/Prototypes/Entities/Objects/base_contraband.yml
new file mode 100644 (file)
index 0000000..051c04b
--- /dev/null
@@ -0,0 +1,93 @@
+# non-stealth syndicate stuff
+- type: entity
+  id: BaseSyndicateContraband
+  abstract: true
+  components:
+  - type: Contraband
+    severity: Syndicate
+    # no one should be carrying this around visibly!
+    allowedDepartments: null
+
+# minor contraband not departmentally restricted -- improvised weapons etc
+- type: entity
+  id: BaseMinorContraband
+  abstract: true
+  components:
+  - type: Contraband
+    severity: Minor
+    # according to space law no dept is authorized to have
+    allowedDepartments: null
+
+# minor contraband by default restricted to security only
+- type: entity
+  id: BaseRestrictedContraband
+  abstract: true
+  components:
+  - type: Contraband
+    severity: Restricted
+
+# departmentally restricted contraband -- this covers every configuration currently listed in space law
+- type: entity
+  id: BaseCommandContraband
+  parent: BaseRestrictedContraband
+  abstract: true
+  components:
+  - type: Contraband
+    allowedDepartments: [ Command ]
+
+- type: entity
+  id: BaseSecurityCommandContraband
+  parent: BaseRestrictedContraband
+  abstract: true
+  components:
+  - type: Contraband
+    allowedDepartments: [ Security, Command ]
+
+- type: entity
+  id: BaseSecurityScienceCommandContraband
+  parent: BaseRestrictedContraband
+  abstract: true
+  components:
+  - type: Contraband
+    allowedDepartments: [ Security, Science, Command ]
+
+- type: entity
+  id: BaseEngineeringContraband
+  parent: BaseRestrictedContraband
+  abstract: true
+  components:
+  - type: Contraband
+    allowedDepartments: [ Engineering ]
+
+- type: entity
+  id: BaseScienceContraband
+  parent: BaseRestrictedContraband
+  abstract: true
+  components:
+  - type: Contraband
+    allowedDepartments: [ Science ]
+
+- type: entity
+  id: BaseSecurityCargoContraband
+  parent: BaseRestrictedContraband
+  abstract: true
+  components:
+  - type: Contraband
+    allowedDepartments: [ Security, Cargo ]
+
+- type: entity
+  id: BaseCargoContraband
+  parent: BaseRestrictedContraband
+  abstract: true
+  components:
+  - type: Contraband
+    allowedDepartments: [ Cargo ]
+
+# for ~objective items
+- type: entity
+  id: BaseGrandTheftContraband
+  abstract: true
+  components:
+  - type: Contraband
+    severity: GrandTheft
+    allowedDepartments: [ Command ]
index 82c79496f25582968e3ea8046c54088d80c99278..3679127e3ddd8b37f4cd210b3954e11087e26bf8 100644 (file)
@@ -92,7 +92,7 @@
       disposable: false
 
 - type: entity
-  parent: BaseHardBomb
+  parent: [BaseHardBomb, BaseSyndicateContraband]
   id: SyndicateBomb
   name: syndicate bomb
   description: A bomb for Syndicate operatives and agents alike. The real deal, no more training, get to it!
diff --git a/Resources/Prototypes/contraband_severities.yml b/Resources/Prototypes/contraband_severities.yml
new file mode 100644 (file)
index 0000000..aad9916
--- /dev/null
@@ -0,0 +1,22 @@
+# Improvised weapons/gear, etc. Not departmentally restricted per se, but you shouldn't really have it around
+# as non-sec without a valid reason.
+- type: contrabandSeverity
+  id: Minor
+  examineText: contraband-examine-text-Minor
+
+# Having this without a good reason might get you yelled at by security. (spears, shivs, etc).
+# or, Having this as a regular crew member, not the department it was made for, is considered theft IC. (rcd, sec gear, etc)
+- type: contrabandSeverity
+  id: Restricted
+  examineText: contraband-examine-text-Restricted
+  showDepartments: true
+
+# Having this as a regular crew member is considered grand theft. (nuke disk, captain's gear, objective items, etc)
+- type: contrabandSeverity
+  id: GrandTheft
+  examineText: contraband-examine-text-GrandTheft
+
+# This is clear syndicate contraband and is illegal to own IC.
+- type: contrabandSeverity
+  id: Syndicate
+  examineText: contraband-examine-text-Syndicate