]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Remove drones, fix InnateToolSystem (#25372)
authorDebug <49997488+DebugOk@users.noreply.github.com>
Wed, 21 Feb 2024 06:23:04 +0000 (07:23 +0100)
committerGitHub <noreply@github.com>
Wed, 21 Feb 2024 06:23:04 +0000 (23:23 -0700)
* Fix drones

* They dont need a full bloodstream

* Incorrect indentation

* Nuke drones

* Fix ClothingHeadHatCatEars

* Remove last mention of drones

* Implement requested changes

57 files changed:
Content.Server/Drone/Components/DroneComponent.cs [deleted file]
Content.Server/Drone/DroneSystem.cs [deleted file]
Content.Server/Tools/Innate/InnateToolComponent.cs
Content.Server/Tools/Innate/InnateToolSystem.cs
Content.Server/Zombies/ZombieSystem.cs
Content.Shared/Drone/SharedDroneSystem.cs [deleted file]
Resources/Locale/en-US/drone/drone-system.ftl [deleted file]
Resources/Prototypes/Body/Prototypes/drone.yml [deleted file]
Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml
Resources/Prototypes/Catalog/Fills/Boxes/general.yml
Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml
Resources/Prototypes/Entities/Clothing/Head/hats.yml
Resources/Prototypes/Entities/Clothing/Head/misc.yml
Resources/Prototypes/Entities/Clothing/Head/welding.yml
Resources/Prototypes/Entities/Markers/Spawners/mobs.yml
Resources/Prototypes/Entities/Mobs/Player/silicon.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml
Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/base_machineboard.yml
Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml
Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml
Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml
Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml
Resources/Prototypes/Entities/Objects/Devices/Electronics/disposal.yml
Resources/Prototypes/Entities/Objects/Devices/Electronics/door.yml
Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml
Resources/Prototypes/Entities/Objects/Devices/Electronics/intercom.yml
Resources/Prototypes/Entities/Objects/Devices/Electronics/power_electronics.yml
Resources/Prototypes/Entities/Objects/Devices/flatpack.yml
Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml
Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml
Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml
Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml
Resources/Prototypes/Entities/Objects/Materials/materials.yml
Resources/Prototypes/Entities/Objects/Materials/parts.yml
Resources/Prototypes/Entities/Objects/Misc/tiles.yml
Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml
Resources/Prototypes/Entities/Objects/Power/powercells.yml
Resources/Prototypes/Entities/Objects/Power/solar_parts.yml
Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml
Resources/Prototypes/Entities/Objects/Specific/Janitorial/spray.yml
Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml
Resources/Prototypes/Entities/Objects/Specific/atmos.yml
Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml
Resources/Prototypes/Entities/Objects/Tools/flashlights.yml
Resources/Prototypes/Entities/Objects/Tools/inflatable_wall.yml
Resources/Prototypes/Entities/Objects/Tools/light_replacer.yml
Resources/Prototypes/Entities/Objects/Tools/t-ray.yml
Resources/Prototypes/Entities/Objects/Tools/toolbox.yml
Resources/Prototypes/Entities/Objects/Tools/tools.yml
Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml
Resources/Prototypes/Entities/Structures/Machines/lathe.yml
Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml
Resources/Prototypes/Recipes/Lathes/misc.yml
Resources/Prototypes/Research/experimental.yml
Resources/Prototypes/name_identifier_groups.yml
Resources/Prototypes/tags.yml
Resources/migration.yml

diff --git a/Content.Server/Drone/Components/DroneComponent.cs b/Content.Server/Drone/Components/DroneComponent.cs
deleted file mode 100644 (file)
index df7ad2b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace Content.Server.Drone.Components
-{
-    [RegisterComponent]
-    public sealed partial class DroneComponent : Component
-    {
-        public float InteractionBlockRange = 2.15f;
-    }
-}
diff --git a/Content.Server/Drone/DroneSystem.cs b/Content.Server/Drone/DroneSystem.cs
deleted file mode 100644 (file)
index 769d1b5..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-using Content.Server.Body.Systems;
-using Content.Server.Drone.Components;
-using Content.Server.Ghost.Roles.Components;
-using Content.Server.Popups;
-using Content.Server.Tools.Innate;
-using Content.Shared.UserInterface;
-using Content.Shared.Body.Components;
-using Content.Shared.Drone;
-using Content.Shared.Emoting;
-using Content.Shared.Examine;
-using Content.Shared.Ghost;
-using Content.Shared.IdentityManagement;
-using Content.Shared.Interaction.Components;
-using Content.Shared.Interaction.Events;
-using Content.Shared.Item;
-using Content.Shared.Mind.Components;
-using Content.Shared.Mobs;
-using Content.Shared.Mobs.Components;
-using Content.Shared.Mobs.Systems;
-using Content.Shared.Popups;
-using Content.Shared.Tag;
-using Content.Shared.Throwing;
-using Robust.Shared.Timing;
-
-namespace Content.Server.Drone
-{
-    public sealed class DroneSystem : SharedDroneSystem
-    {
-        [Dependency] private readonly BodySystem _bodySystem = default!;
-        [Dependency] private readonly PopupSystem _popupSystem = default!;
-        [Dependency] private readonly TagSystem _tagSystem = default!;
-        [Dependency] private readonly EntityLookupSystem _lookup = default!;
-        [Dependency] private readonly IGameTiming _gameTiming = default!;
-        [Dependency] private readonly InnateToolSystem _innateToolSystem = default!;
-        [Dependency] private readonly MobStateSystem _mobStateSystem = default!;
-        [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
-
-        public override void Initialize()
-        {
-            base.Initialize();
-            SubscribeLocalEvent<DroneComponent, InteractionAttemptEvent>(OnInteractionAttempt);
-            SubscribeLocalEvent<DroneComponent, UserOpenActivatableUIAttemptEvent>(OnActivateUIAttempt);
-            SubscribeLocalEvent<DroneComponent, MobStateChangedEvent>(OnMobStateChanged);
-            SubscribeLocalEvent<DroneComponent, ExaminedEvent>(OnExamined);
-            SubscribeLocalEvent<DroneComponent, MindAddedMessage>(OnMindAdded);
-            SubscribeLocalEvent<DroneComponent, MindRemovedMessage>(OnMindRemoved);
-            SubscribeLocalEvent<DroneComponent, EmoteAttemptEvent>(OnEmoteAttempt);
-            SubscribeLocalEvent<DroneComponent, ThrowAttemptEvent>(OnThrowAttempt);
-        }
-
-        private void OnInteractionAttempt(EntityUid uid, DroneComponent component, InteractionAttemptEvent args)
-        {
-            if (args.Target != null && !HasComp<UnremoveableComponent>(args.Target) && NonDronesInRange(uid, component))
-                args.Cancel();
-
-            if (HasComp<ItemComponent>(args.Target) && !HasComp<UnremoveableComponent>(args.Target))
-            {
-                if (!_tagSystem.HasAnyTag(args.Target.Value, "DroneUsable", "Trash"))
-                    args.Cancel();
-            }
-        }
-
-        private void OnActivateUIAttempt(EntityUid uid, DroneComponent component, UserOpenActivatableUIAttemptEvent args)
-        {
-            if (!_tagSystem.HasTag(args.Target, "DroneUsable"))
-            {
-                args.Cancel();
-            }
-        }
-
-        private void OnExamined(EntityUid uid, DroneComponent component, ExaminedEvent args)
-        {
-            if (TryComp<MindContainerComponent>(uid, out var mind) && mind.HasMind)
-            {
-                args.PushMarkup(Loc.GetString("drone-active"));
-            }
-            else
-            {
-                args.PushMarkup(Loc.GetString("drone-dormant"));
-            }
-        }
-
-        private void OnMobStateChanged(EntityUid uid, DroneComponent drone, MobStateChangedEvent args)
-        {
-            if (args.NewMobState == MobState.Dead)
-            {
-                if (TryComp<InnateToolComponent>(uid, out var innate))
-                    _innateToolSystem.Cleanup(uid, innate);
-
-                if (TryComp<BodyComponent>(uid, out var body))
-                    _bodySystem.GibBody(uid, body: body);
-                QueueDel(uid);
-            }
-        }
-
-        private void OnMindAdded(EntityUid uid, DroneComponent drone, MindAddedMessage args)
-        {
-            UpdateDroneAppearance(uid, DroneStatus.On);
-            _popupSystem.PopupEntity(Loc.GetString("drone-activated"), uid, PopupType.Large);
-        }
-
-        private void OnMindRemoved(EntityUid uid, DroneComponent drone, MindRemovedMessage args)
-        {
-            UpdateDroneAppearance(uid, DroneStatus.Off);
-            EnsureComp<GhostTakeoverAvailableComponent>(uid);
-        }
-
-        private void OnEmoteAttempt(EntityUid uid, DroneComponent component, EmoteAttemptEvent args)
-        {
-            // No.
-            args.Cancel();
-        }
-
-        private void OnThrowAttempt(EntityUid uid, DroneComponent drone, ThrowAttemptEvent args)
-        {
-            args.Cancel();
-        }
-
-        private void UpdateDroneAppearance(EntityUid uid, DroneStatus status)
-        {
-            if (TryComp<AppearanceComponent>(uid, out var appearance))
-            {
-                _appearance.SetData(uid, DroneVisuals.Status, status, appearance);
-            }
-        }
-
-        private bool NonDronesInRange(EntityUid uid, DroneComponent component)
-        {
-            var xform = Comp<TransformComponent>(uid);
-            foreach (var entity in _lookup.GetEntitiesInRange(xform.MapPosition, component.InteractionBlockRange))
-            {
-                // Return true if the entity is/was controlled by a player and is not a drone or ghost.
-                if (HasComp<MindContainerComponent>(entity) && !HasComp<DroneComponent>(entity) && !HasComp<GhostComponent>(entity))
-                {
-                    // Filter out dead ghost roles. Dead normal players are intended to block.
-                    if ((TryComp<MobStateComponent>(entity, out var entityMobState) && HasComp<GhostTakeoverAvailableComponent>(entity) && _mobStateSystem.IsDead(entity, entityMobState)))
-                        continue;
-                    if (_gameTiming.IsFirstTimePredicted)
-                        _popupSystem.PopupEntity(Loc.GetString("drone-too-close", ("being", Identity.Entity(entity, EntityManager))), uid, uid);
-                    return true;
-                }
-            }
-            return false;
-        }
-    }
-}
index bfe7c213425abfd799e053b93315aacf2915040f..d3afca3059ab18a721bed5ba7828828f7a88c9e4 100644 (file)
@@ -7,5 +7,6 @@ namespace Content.Server.Tools.Innate
     {
         [DataField("tools")] public List<EntitySpawnEntry> Tools = new();
         public List<EntityUid> ToolUids = new();
+        public List<string> ToSpawn = new();
     }
 }
index d0109138ad319e851f322abdec24832263e22225..e7e5be38c446ee97feac3d4f94d96966ac89a2d6 100644 (file)
@@ -1,90 +1,99 @@
+using System.Linq;
+using Content.Shared.Body.Part;
 using Content.Shared.Destructible;
+using Content.Shared.Hands;
 using Content.Shared.Hands.Components;
 using Content.Shared.Hands.EntitySystems;
 using Content.Shared.Interaction.Components;
 using Content.Shared.Storage;
 using Content.Shared.Tag;
+using Robust.Shared.Network;
 using Robust.Shared.Random;
 
-namespace Content.Server.Tools.Innate
+namespace Content.Server.Tools.Innate;
+
+/// <summary>
+///     Spawns a list unremovable tools in hands if possible. Used for drones,
+///     borgs, or maybe even stuff like changeling armblades!
+/// </summary>
+public sealed class InnateToolSystem : EntitySystem
 {
-    /// <summary>
-    ///     Spawns a list unremovable tools in hands if possible. Used for drones,
-    ///     borgs, or maybe even stuff like changeling armblades!
-    /// </summary>
-    public sealed class InnateToolSystem : EntitySystem
+    [Dependency] private readonly IRobustRandom _robustRandom = default!;
+    [Dependency] private readonly SharedHandsSystem _sharedHandsSystem = default!;
+    [Dependency] private readonly TagSystem _tagSystem = default!;
+
+    public override void Initialize()
     {
-        [Dependency] private readonly IRobustRandom _robustRandom = default!;
-        [Dependency] private readonly SharedHandsSystem _sharedHandsSystem = default!;
-        [Dependency] private readonly TagSystem _tagSystem = default!;
-        public override void Initialize()
-        {
-            base.Initialize();
-            SubscribeLocalEvent<InnateToolComponent, ComponentStartup>(OnStartup);
-            SubscribeLocalEvent<InnateToolComponent, ComponentShutdown>(OnShutdown);
-            SubscribeLocalEvent<InnateToolComponent, DestructionEventArgs>(OnDestroyed);
-        }
+        base.Initialize();
+        SubscribeLocalEvent<InnateToolComponent, MapInitEvent>(OnMapInit);
+        SubscribeLocalEvent<InnateToolComponent, HandCountChangedEvent>(OnHandCountChanged);
+        SubscribeLocalEvent<InnateToolComponent, ComponentShutdown>(OnShutdown);
+        SubscribeLocalEvent<InnateToolComponent, DestructionEventArgs>(OnDestroyed);
+    }
 
-        private void OnStartup(EntityUid uid, InnateToolComponent component, ComponentStartup args)
-        {
-            if (component.Tools.Count == 0)
-                return;
+    private void OnMapInit(EntityUid uid, InnateToolComponent component, MapInitEvent args)
+    {
+        if (component.Tools.Count == 0)
+            return;
 
-            var spawnCoord = Transform(uid).Coordinates;
+        component.ToSpawn = EntitySpawnCollection.GetSpawns(component.Tools, _robustRandom);
+    }
 
-            if (TryComp<HandsComponent>(uid, out var hands) && hands.Count >= component.Tools.Count)
-            {
-                var items = EntitySpawnCollection.GetSpawns(component.Tools, _robustRandom);
-                foreach (var entry in items)
-                {
-                    var item = Spawn(entry, spawnCoord);
-                    AddComp<UnremoveableComponent>(item);
-                    if (!_sharedHandsSystem.TryPickupAnyHand(uid, item, checkActionBlocker: false))
-                    {
-                        QueueDel(item);
-                        continue;
-                    }
-                    component.ToolUids.Add(item);
-                }
-            }
-        }
+    private void OnHandCountChanged(EntityUid uid, InnateToolComponent component, HandCountChangedEvent args)
+    {
+        if (component.ToSpawn.Count == 0)
+            return;
+
+        var spawnCoord = Transform(uid).Coordinates;
 
-        private void OnShutdown(EntityUid uid, InnateToolComponent component, ComponentShutdown args)
+        var toSpawn = component.ToSpawn.First();
+
+        var item = Spawn(toSpawn, spawnCoord);
+        AddComp<UnremoveableComponent>(item);
+        if (!_sharedHandsSystem.TryPickupAnyHand(uid, item, checkActionBlocker: false))
         {
-            foreach (var tool in component.ToolUids)
-            {
-                RemComp<UnremoveableComponent>(tool);
-            }
+            QueueDel(item);
+            component.ToSpawn.Clear();
         }
+        component.ToSpawn.Remove(toSpawn);
+        component.ToolUids.Add(item);
+    }
 
-        private void OnDestroyed(EntityUid uid, InnateToolComponent component, DestructionEventArgs args)
+    private void OnShutdown(EntityUid uid, InnateToolComponent component, ComponentShutdown args)
+    {
+        foreach (var tool in component.ToolUids)
         {
-            Cleanup(uid, component);
+            RemComp<UnremoveableComponent>(tool);
         }
+    }
 
-        public void Cleanup(EntityUid uid, InnateToolComponent component)
+    private void OnDestroyed(EntityUid uid, InnateToolComponent component, DestructionEventArgs args)
+    {
+        Cleanup(uid, component);
+    }
+
+    public void Cleanup(EntityUid uid, InnateToolComponent component)
+    {
+        foreach (var tool in component.ToolUids)
         {
-            foreach (var tool in component.ToolUids)
+            if (_tagSystem.HasTag(tool, "InnateDontDelete"))
             {
-                if (_tagSystem.HasTag(tool, "InnateDontDelete"))
-                {
-                    RemComp<UnremoveableComponent>(tool);
-                }
-                else
-                {
-                    Del(tool);
-                }
+                RemComp<UnremoveableComponent>(tool);
+            }
+            else
+            {
+                Del(tool);
+            }
 
-                if (TryComp<HandsComponent>(uid, out var hands))
+            if (TryComp<HandsComponent>(uid, out var hands))
+            {
+                foreach (var hand in hands.Hands)
                 {
-                    foreach (var hand in hands.Hands)
-                    {
-                        _sharedHandsSystem.TryDrop(uid, hand.Value, checkActionBlocker: false, handsComp: hands);
-                    }
+                    _sharedHandsSystem.TryDrop(uid, hand.Value, checkActionBlocker: false, handsComp: hands);
                 }
             }
-
-            component.ToolUids.Clear();
         }
+
+        component.ToolUids.Clear();
     }
 }
index 1009e0a294748194d7017bd655ffd38fd92b75ef..e515c377be8a849f5620938f3f1508d34932952f 100644 (file)
@@ -3,7 +3,6 @@ using Content.Server.Body.Systems;
 using Content.Server.Chat;
 using Content.Server.Chat.Systems;
 using Content.Server.Cloning;
-using Content.Server.Drone.Components;
 using Content.Server.Emoting.Systems;
 using Content.Server.Inventory;
 using Content.Server.Speech.EntitySystems;
@@ -214,7 +213,7 @@ namespace Content.Server.Zombies
                 if (args.User == entity)
                     continue;
 
-                if (!TryComp<MobStateComponent>(entity, out var mobState) || HasComp<DroneComponent>(entity))
+                if (!TryComp<MobStateComponent>(entity, out var mobState))
                     continue;
 
                 if (HasComp<ZombieComponent>(entity))
diff --git a/Content.Shared/Drone/SharedDroneSystem.cs b/Content.Shared/Drone/SharedDroneSystem.cs
deleted file mode 100644 (file)
index d6fc7ef..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-using Robust.Shared.Serialization;
-
-namespace Content.Shared.Drone
-{
-    public abstract class SharedDroneSystem : EntitySystem
-    {
-        [Serializable, NetSerializable]
-        public enum DroneVisuals : byte
-        {
-            Status
-        }
-
-        [Serializable, NetSerializable]
-        public enum DroneStatus : byte
-        {
-            Off,
-            On
-        }
-    }
-}
diff --git a/Resources/Locale/en-US/drone/drone-system.ftl b/Resources/Locale/en-US/drone/drone-system.ftl
deleted file mode 100644 (file)
index 292f981..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-drone-active = A maintenance drone. It seems totally unconcerned with you.
-drone-dormant = A dormant maintenance drone. Who knows when it will wake up?
-drone-activated = The drone whirrs to life!
-drone-too-close = Your laws prevent this action near {THE($being)}.
diff --git a/Resources/Prototypes/Body/Prototypes/drone.yml b/Resources/Prototypes/Body/Prototypes/drone.yml
deleted file mode 100644 (file)
index 00acba9..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-- type: body
-  id: Drone
-  name: "drone"
-  root: hand 1
-  slots:
-    hand 1:
-      part: LeftArmBorg
-      connections:
-      - hand 2
-    hand 2:
-      part: LeftArmBorg
-      connections:
-      - hand 3
-    hand 3:
-      part: LeftArmBorg
-      connections:
-      - hand 4
-    hand 4:
-      part: LeftArmBorg
-      connections:
-      - hand 5
-    hand 5:
-      part: RightArmBorg
-      connections:
-      - hand 6
-    hand 6:
-      part: RightArmBorg
index eab3a9243c98036930b7d5f4398a32a4f7b2f29c..fbfa31841790fbdcbab851684ad421e7e2b639e7 100644 (file)
       contents:
         - id: BoxSurvival
 
-- type: entity
-  noSpawn: true
-  parent: ClothingBackpackSatchel
-  id: ClothingBackpackSatchelDrone
-  components:
-  - type: Tag
-    tags:
-    - InnateDontDelete
-
 - type: entity
   noSpawn: true
   parent: ClothingBackpackSatchelMime
index 09525e7931d97d79a8276fbbf32387b6357112c4..e302ce4c20cc047d67edfb6eb60db0eb99b7faa7 100644 (file)
@@ -6,7 +6,7 @@
   components:
   - type: Item
     size: Large
-    shape: 
+    shape:
     - 0,0,2,2
   - type: Storage
     maxItemSize: Small
@@ -50,9 +50,6 @@
     whitelist:
       components:
       - LightBulb
-  - type: Tag
-    tags:
-      - DroneUsable
 
 - type: entity
   name: lighttube box
@@ -74,9 +71,6 @@
     whitelist:
       components:
       - LightBulb
-  - type: Tag
-    tags:
-      - DroneUsable
 
 - type: entity
   name: mixed lights box
     whitelist:
       components:
       - LightBulb
-  - type: Tag
-    tags:
-      - DroneUsable
 
 - type: entity
   name: PDA box
     layers:
       - state: box
       - state: inflatable
-  - type: Tag
-    tags:
-      - DroneUsable
 
 
 - type: entity
     layers:
       - state: box
       - state: trashbag
-  - type: Tag
-    tags:
-      - DroneUsable
 
 - type: entity
   name: passenger encryption key box
index e34208e9ca11909e02f10c85738c89af26eece3c..9edffcb8f2494d1082b842e24ea9fe404c1a7bb8 100644 (file)
@@ -23,7 +23,6 @@
   - type: Tag
     tags:
       - ClothMade
-      - DroneUsable
       - WhitelistChameleon
 
 - type: entity
index 467a2070d220ecac10fc3a465f0556063b90a7c7..528e46dd97ccf5e132aa7682ec3541e9e4c5392b 100644 (file)
     sprite: Clothing/Head/Hats/party_red.rsi
   - type: Tag
     tags:
-      - DroneUsable
       - WhitelistChameleon
       - HamsterWearable
 
     - type: AddAccentClothing
       accent: ReplacementAccent
       replacement: cowboy
-      
+
 - type: entity
   parent: ClothingHeadHatCowboyBrown
   id: ClothingHeadHatCowboyBlack
       sprite: Clothing/Head/Hats/cowboyhatblack.rsi
     - type: Clothing
       sprite: Clothing/Head/Hats/cowboyhatblack.rsi
-      
+
 - type: entity
   parent: ClothingHeadHatCowboyBrown
   id: ClothingHeadHatCowboyGrey
       sprite: Clothing/Head/Hats/cowboyhatgrey.rsi
     - type: Clothing
       sprite: Clothing/Head/Hats/cowboyhatgrey.rsi
-      
+
 - type: entity
   parent: ClothingHeadHatCowboyBrown
   id: ClothingHeadHatCowboyRed
       sprite: Clothing/Head/Hats/cowboyhatred.rsi
     - type: Clothing
       sprite: Clothing/Head/Hats/cowboyhatred.rsi
-      
+
 - type: entity
   parent: ClothingHeadHatCowboyBrown
   id: ClothingHeadHatCowboyWhite
       sprite: Clothing/Head/Hats/cowboyhatwhite.rsi
     - type: Clothing
       sprite: Clothing/Head/Hats/cowboyhatwhite.rsi
-      
+
 - type: entity
   parent: ClothingHeadHatCowboyBrown
   id: ClothingHeadHatCowboyBountyHunter
   - type: Sprite
     sprite: Clothing/Head/Hats/beret_medic.rsi
   - type: Clothing
-    sprite: Clothing/Head/Hats/beret_medic.rsi
\ No newline at end of file
+    sprite: Clothing/Head/Hats/beret_medic.rsi
index 9826da57b780163f0adeef574bfb664aaa990dd6..3fd55faf26618766246109ff39ee434189b62dfd 100644 (file)
   suffix: DO NOT MAP
   components:
   - type: Tag
-    tags: # ignore "WhitelistChameleon" tag
-      - DroneUsable
+    tags: [] # ignore "WhitelistChameleon" tag
   - type: Sprite
     sprite: Clothing/Head/Hats/catears.rsi
   - type: Clothing
     sprite: Clothing/Head/Hats/catears.rsi
   - type: AddAccentClothing
     accent: OwOAccent
-    
+
 - type: entity
   parent: ClothingHeadBase
   id: ClothingHeadHatDogEars
   description: Only for good boys.
   suffix: DO NOT MAP
   components:
-  - type: Tag
-    tags:
-      - DroneUsable
   - type: Sprite
     sprite: Clothing/Head/Hats/dogears.rsi
   - type: Clothing
index 39d3eb85060fed1529de5b6a62a90dc3c319a623..753646757e9447b90ce50bad5b801648b143a2f7 100644 (file)
@@ -16,7 +16,6 @@
     price: 50
   - type: Tag
     tags:
-    - DroneUsable
     - WhitelistChameleon
 
 - type: entity
@@ -31,7 +30,6 @@
     sprite: Clothing/Head/Welding/welding.rsi
   - type: Tag
     tags:
-    - DroneUsable
     - HamsterWearable
     - WhitelistChameleon
 
index 214a19adff513e133d23e2408a72870d5dcf8893..d8a095b443ea78642c30f5d2f1ce936f3b262e37 100644 (file)
     prototypes:
       - MobRaccoonMorticia
 
-- type: entity
-  name: Drone Spawner
-  id: SpawnMobDrone
-  parent: MarkerBase
-  components:
-  - type: Sprite
-    layers:
-      - state: green
-      - sprite: Mobs/Silicon/drone.rsi
-        state: shell
-  - type: ConditionalSpawner
-    prototypes:
-      - Drone
-
 - type: entity
   name: Fox Renault Spawner
   id: SpawnMobFoxRenault
   - type: ConditionalSpawner
     prototypes:
     - MobPenguin
-    
-    
+
+
 - type: entity
   name: Hellspawn Spawner
   id: SpawnMobHellspawn
   - type: ConditionalSpawner
     prototypes:
       - MobHellspawn
-      
+
 - type: entity
   name: ore crab spawner
   id: SpawnMobOreCrab
index 072c419bc86ad567d2f1c70abb4a7b5b3012c56e..0f8998bdec81ab6aaebe05f645a0e51ade70b557 100644 (file)
@@ -1,245 +1,3 @@
-- type: entity
-  save: false
-  abstract: true
-  id: PlayerSiliconBase #for player controlled silicons
-  components:
-  - type: Reactive
-    groups:
-      Acidic: [Touch]
-  - type: Input
-    context: "human"
-  - type: DamageOnHighSpeedImpact
-    damage:
-      types:
-        Blunt: 5
-    soundHit:
-      collection: MetalThud
-  - type: Clickable
-  - type: Damageable
-    damageContainer: Inorganic
-  - type: Bloodstream
-    bloodReagent: Oil
-    bloodlossDamage:
-      types:
-        Bloodloss:
-          1
-    bloodlossHealDamage:
-      types:
-        Bloodloss:
-          -1
-  - type: InteractionOutline
-  - type: Fixtures
-    fixtures:
-      fix1:
-        shape:
-          # Circles, cuz rotation of rectangles looks very bad
-          !type:PhysShapeCircle
-          radius: 0.35
-        density: 50
-        mask:
-        - MobMask
-        layer:
-        - MobLayer
-  - type: MovementSpeedModifier
-    baseWalkSpeed : 4
-    baseSprintSpeed : 3
-  - type: Sprite
-    noRot: true
-    drawdepth: Mobs
-  - type: Physics
-    bodyType: KinematicController
-  - type: Hands
-    showInHands: false
-  - type: Body
-    prototype: Drone
-  - type: IntrinsicRadioReceiver
-  - type: IntrinsicRadioTransmitter
-    channels:
-    - Binary
-  - type: ActiveRadio
-    channels:
-    - Binary
-    - Common
-  - type: DoAfter
-  - type: Pullable
-  - type: Examiner
-  - type: Puller
-  - type: StandingState
-  - type: Alerts
-  - type: Tag
-    tags:
-      - ShoesRequiredStepTriggerImmune
-
-- type: entity
-  name: drone
-  id: Drone
-  parent: PlayerSiliconBase
-  components:
-  - type: Drone
-  - type: InnateTool
-    tools:
-      - id: ClothingBackpackSatchelDrone
-      - id: trayScanner
-      - id: Omnitool
-      - id: WelderExperimental
-  - type: NameIdentifier
-    group: Drone
-  - type: Inventory
-    templateId: drone
-  - type: InventorySlots
-  - type: Strippable
-  - type: UserInterface
-    interfaces:
-    - key: enum.StrippingUiKey.Key
-      type: StrippableBoundUserInterface
-    - key: enum.SiliconLawsUiKey.Key
-      type: SiliconLawBoundUserInterface
-  #- type: GhostRole
-  #  makeSentient: true
-  #  name: Maintenance Drone
-  #  description: Maintain the station. Ignore other beings except drones.
-  #  rules: |
-  #   You are bound by these laws both in-game and out-of-character:
-  #   1. You may not involve yourself in the matters of another being, even if such matters conflict with Law Two or Law Three, unless the other being is another Drone.
-  #   2. You may not harm any being, regardless of intent or circumstance.
-  #   3. Your goals are to build, maintain, repair, improve, and power to the best of your abilities, You must never actively work against these goals.
-  #- type: GhostTakeoverAvailable
-  - type: SiliconLawBound
-  - type: SiliconLawProvider
-    laws: Drone
-  - type: MovementSpeedModifier
-    baseWalkSpeed : 5
-    baseSprintSpeed : 5
-  - type: MobState
-    allowedStates:
-      - Alive
-      - Dead
-  - type: MobThresholds
-    thresholds:
-      0: Alive
-      60: Dead
-  - type: Flashable
-  - type: NoSlip
-  - type: StatusEffects
-    allowed:
-    - Stun
-    - KnockedDown
-    - SlowedDown
-  - type: SlowOnDamage
-    speedModifierThresholds:
-      30: 0.7
-      50: 0.5
-  - type: Temperature
-    heatDamageThreshold: 5000
-    currentTemperature: 310.15
-    specificHeat: 42
-    heatDamage:
-      types:
-        Heat : 1 #per second, scales with temperature & other constants
-  - type: Sprite
-    drawdepth: SmallMobs
-    layers:
-    - state: shell
-      sprite: Mobs/Silicon/drone.rsi
-      map: ["base"]
-  - type: MovementIgnoreGravity
-  - type: Fixtures
-    fixtures:
-      fix1:
-        shape:
-          !type:PhysShapeCircle
-          radius: 0.35
-        density: 50
-        mask:
-        - SmallMobMask
-        layer:
-        - SmallMobLayer
-  - type: Appearance
-  - type: GenericVisualizer
-    visuals:
-      enum.DroneVisuals.Status:
-        base:
-          Off: { state: shell }
-          On: { state: drone }
-  - type: ReplacementAccent
-    accent: silicon
-  - type: Repairable
-    fuelcost: 15
-    doAfterDelay: 8
-  - type: Actions
-  - type: UnpoweredFlashlight
-  - type: PointLight
-    enabled: false
-    radius: 3.5
-    softness: 1
-    mask: /Textures/Effects/LightMasks/cone.png
-    autoRot: true
-  - type: Tag
-    tags:
-      - ShoesRequiredStepTriggerImmune
-      - CannotSuicide
-
-- type: entity
-  name: onestar mecha
-  id: Onestar
-  parent: PlayerSiliconBase
-  components:
-  - type: InnateTool
-    tools:
-      - id: WeaponMinigun
-      - id: EnergySword
-      - id: WeaponLauncherMultipleRocket
-      - id: WeaponXrayCannon
-  - type: UserInterface
-    interfaces:
-    - key: enum.StrippingUiKey.Key
-      type: StrippableBoundUserInterface
-  - type: GhostRole
-    makeSentient: true
-    name: ghost-role-information-onestar-mecha-name
-    description: ghost-role-information-onestar-mecha-description
-    rules: ghost-role-information-onestar-mecha-rules
-  - type: GhostTakeoverAvailable
-  - type: MovementSpeedModifier
-    baseWalkSpeed : 3
-    baseSprintSpeed : 2
-  - type: MobState
-    allowedStates:
-      - Alive
-      - Dead
-  - type: MobThresholds
-    thresholds:
-      0: Alive
-      1000: Dead
-  - type: Sprite
-    drawdepth: Mobs
-    layers:
-    - state: onestar_boss
-      sprite: Mobs/Silicon/onestar.rsi
-    - state: onestar_boss_screen
-      sprite: Mobs/Silicon/onestar.rsi
-      shader: unshaded
-  - type: FootstepModifier
-    footstepSoundCollection:
-      path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
-  - type: MovementIgnoreGravity
-  - type: Fixtures
-    fixtures:
-      fix1:
-        shape:
-          !type:PhysShapeCircle
-          radius: 1
-        density: 160
-        mask:
-        - LargeMobMask
-        layer:
-        - MobLayer
-  - type: Appearance
-  - type: CombatMode
-  - type: Tag
-    tags:
-      - FootstepSound
-
 - type: entity
   id: PlayerBorgGeneric
   parent: BorgChassisGeneric
@@ -248,9 +6,9 @@
   - type: ContainerFill
     containers:
       borg_brain:
-      - PositronicBrain
+        - PositronicBrain
       borg_module:
-      - BorgModuleTool
+        - BorgModuleTool
   - type: ItemSlots
     slots:
       cell_slot:
   - type: ContainerFill
     containers:
       borg_brain:
-      - MMIFilled
+        - MMIFilled
   - type: ItemSlots
     slots:
       cell_slot:
   parent: BorgChassisSyndicateAssault
   suffix: Battery, Module, Operative
   components:
-    - type: NukeOperative
-    - type: ContainerFill
-      containers:
-        borg_brain:
-          - PositronicBrain
-        borg_module:
-          - BorgModuleOperative
-          - BorgModuleL6C
-          - BorgModuleEsword
-    - type: ItemSlots
-      slots:
-        cell_slot:
-          name: power-cell-slot-component-slot-name-default
-          startingItem: PowerCellHyper
+  - type: NukeOperative
+  - type: ContainerFill
+    containers:
+      borg_brain:
+        - PositronicBrain
+      borg_module:
+        - BorgModuleOperative
+        - BorgModuleL6C
+        - BorgModuleEsword
+  - type: ItemSlots
+    slots:
+      cell_slot:
+        name: power-cell-slot-component-slot-name-default
+        startingItem: PowerCellHyper
index f18a85286fc3507ab8dfe139d1c71ce59770e0da..8242496e20618c88cc235ed1d5d1f2c84faf5f96 100644 (file)
   - type: Tag
     tags:
     - Trash
-    - DroneUsable
     - WhitelistChameleon
   - type: TrashOnSolutionEmpty
     solution: drink
index 4e6dced060e490ae032bb24d59c0a0af5bbd981f..164777284faba1c9014be6eab742eec05f653b5a 100644 (file)
@@ -11,9 +11,6 @@
       state: generic
     - type: Item
       storedRotation: -90
-    - type: Tag
-      tags:
-        - DroneUsable
     - type: StaticPrice
       price: 100
     - type: PhysicalComposition
index a1ba97cbcc9c8ecfe8660c34934543dbf8359540..56e484a274f474fac5d0ab57a50f08bcab08f488 100644 (file)
@@ -10,9 +10,6 @@
       state: cpuboard
     - type: Item
       storedRotation: -90
-    - type: Tag
-      tags:
-        - DroneUsable
     - type: StaticPrice
       price: 100
     - type: PhysicalComposition
@@ -86,9 +83,6 @@
       prototype: ComputerCargoOrders
     - type: StaticPrice
       price: 750
-    - type: Tag
-      tags:
-      - DroneUsable
 
 - type: entity
   id: CargoBountyComputerCircuitboard
   - type: ComputerBoard
     prototype: ComputerCargoBounty
   - type: StaticPrice
-  - type: Tag
-    tags:
-    - DroneUsable
 
 - type: entity
   parent: BaseComputerCircuitboard
       prototype: ComputerSurveillanceCameraMonitor
     - type: Tag
       tags:
-        - DroneUsable
         - SurveillanceCameraMonitorCircuitboard
 
 - type: entity
       prototype: ComputerTelevision
     - type: Tag
       tags:
-        - DroneUsable
         - ComputerTelevisionCircuitboard
 
 - type: entity
       price: 750
     - type: Tag
       tags:
-      - DroneUsable
       - HighRiskItem
 
 - type: entity
index aca34b9ad0b97c3f239d4afbc78ee7b4e96daca9..a4275995dc391d6c1217ca8252d096ec0ebbdac4 100644 (file)
@@ -9,7 +9,6 @@
     state: airalarm_electronics
   - type: Tag
     tags:
-      - DroneUsable
       - StationMapElectronics
   - type: StaticPrice
-    price: 15 
\ No newline at end of file
+    price: 15
index b42ee2499c6719dd5996986cc74331cd3fc6865d..b54d21750db6e0a5f3231c887bef41bdf8aa3a5e 100644 (file)
@@ -9,7 +9,6 @@
     state: airalarm_electronics
   - type: Tag
     tags:
-      - DroneUsable
       - AirAlarmElectronics
   - type: StaticPrice
     price: 61
@@ -25,7 +24,6 @@
     state: airalarm_electronics
   - type: Tag
     tags:
-      - DroneUsable
       - FireAlarmElectronics
   - type: StaticPrice
     price: 61
index d55b5a1098f302ba9ee3dafaa70cab3487a0dd90..8ee76d43e9d2f7dd3fa7e38e36f32ba82d0b7c97 100644 (file)
@@ -8,9 +8,6 @@
     - type: Sprite
       sprite: Objects/Misc/module.rsi
       state: generic
-    - type: Tag
-      tags:
-        - DroneUsable
     - type: StaticPrice
       price: 100
     - type: PhysicalComposition
index 9278e347066dc73286f5804fc553765339b919e4..7c2f2a6fda02d133d5877fe34864e7a4dc0215e4 100644 (file)
@@ -9,7 +9,6 @@
       state: net_wired
     - type: Tag
       tags:
-        - DroneUsable
         - MailingUnitElectronics
     - type: StaticPrice
       price: 55
index 627fe5fb0a06b36ae674bdb9c10403e784a7615e..275a61d8216f22ead5165fe1f8eb4faaf5613aa3 100644 (file)
@@ -11,6 +11,5 @@
     - type: Tag
       tags:
         - DoorElectronics
-        - DroneUsable
     - type: StaticPrice
       price: 55
index 3dee4037b3490beae28315f4e5e6f452401b9fe0..00b928f2ec81a757434adac8143958599d676bc2 100644 (file)
@@ -9,7 +9,6 @@
       state: mainboard
     - type: Tag
       tags:
-      - DroneUsable
       - FirelockElectronics
     - type: StaticPrice
       price: 61
index b59654cf02d249773488cf50872da74bbd879479..3446a3ba4f98a3dcb7c81bb9bb8666666fadbf51 100644 (file)
@@ -9,7 +9,6 @@
     state: id_mod
   - type: Tag
     tags:
-      - DroneUsable
       - IntercomElectronics
   - type: StaticPrice
     price: 55
index 9a806a6bf2b75cc4fe1428502fa409a76292361d..d3293bbfd22a1fe41eaab5cca9bdc99e41894a92 100644 (file)
@@ -31,7 +31,6 @@
       price: 40
     - type: Tag
       tags:
-        - DroneUsable
         - WallmountSubstationElectronics
 
 # Wallmount Generator
@@ -51,7 +50,6 @@
       Glass: 90
   - type: Tag
     tags:
-      - DroneUsable
       - WallmountGeneratorElectronics
 
 # APU
@@ -68,7 +66,6 @@
       price: 40
     - type: Tag
       tags:
-        - DroneUsable
         - WallmountGeneratorAPUElectronics
 
 # Solar Tracker Electronics
@@ -85,5 +82,4 @@
       price: 85
     - type: Tag
       tags:
-        - DroneUsable
         - SolarTrackerElectronics
index 974918a068f5af5cb7f4b5181901271f7ea8b685..39e94018329b4c3f95093c7a18e2ee2cf673e301 100644 (file)
@@ -35,6 +35,3 @@
       cpu_supply: "#A46106"
   - type: StaticPrice
     price: 250
-  - type: Tag
-    tags:
-    - DroneUsable
index 440bc4dd8a8d8b56dfab2e6e971a6a292b9e20ab..c3bd74dd75121a50763872fc25dbc7b552224c96 100644 (file)
@@ -54,9 +54,6 @@
           mask:
             - ItemMask
     - type: Rotatable
-    - type: Tag
-      tags:
-        - DroneUsable
 
 - type: entity
   name: mousetrap
index f99b9cf074144eb52bf299a0ad50bdd7a26dea6e..64c601b483048756041ba164f7983cb46e4b1f24 100644 (file)
@@ -15,7 +15,6 @@
   - type: Tag
     tags:
     - Sheet
-    - DroneUsable
   - type: Material
   - type: Damageable
     damageContainer: Inorganic
@@ -47,7 +46,7 @@
         acts: [ "Destruction" ]
   - type: SolutionContainerManager
     solutions:
-      glass: 
+      glass:
         canReact: false
 
 - type: entity
         - ReagentId: Carbon
           Quantity: 0.5
         canReact: false
-        
+
 - type: entity
   parent: SheetGlassBase
   id: SheetPGlass
           Quantity: 4.5
         - ReagentId: Carbon
           Quantity: 0.5
-        canReact: false 
-    
+        canReact: false
+
 - type: entity
   parent: SheetRUGlass
   id: SheetRUGlass1
index 24b4544e56663e22d9beeebe66412015a72d9193..ae817f6ffc1a089fd6baf9e3c2517da1fe791f63 100644 (file)
@@ -15,7 +15,6 @@
     tags:
     - Sheet
     - Metal
-    - DroneUsable
   - type: Damageable
     damageContainer: Inorganic
     damageModifierSet: Metallic
index 18590e98dfc783c7c56efaebf6af97b63908ddb9..dfb513362890dd450496d98b63d1adb72594d2e6 100644 (file)
@@ -12,7 +12,6 @@
   - type: Tag
     tags:
     - Sheet
-    - DroneUsable
   - type: Damageable
     damageContainer: Inorganic
   - type: Destructible
     tags:
     - Plastic
     - Sheet
-    - DroneUsable
   - type: Material
   - type: PhysicalComposition
     materialComposition:
     - type: Tag
       tags:
       - Sheet
-      - DroneUsable
     - type: Material
     - type: PhysicalComposition
       materialComposition:
index 854e9d308e200caf5c21b68e6a8fce40d33c73c3..e71a163b5d090d87678443b8c4b85f14c3731090 100644 (file)
@@ -11,7 +11,6 @@
     size: Normal
   - type: Tag
     tags:
-      - DroneUsable
       - RawMaterial
   - type: Damageable
     damageContainer: Inorganic
   - type: Tag
     tags:
       - ClothMade
-      - DroneUsable
       - Gauze
       - RawMaterial
   - type: Construction
   - type: Tag
     tags:
       - ClothMade
-      - DroneUsable
       - RawMaterial
 
 - type: entity
         reagents: #Hell if I know what durathread is made out of.
         - ReagentId: Fiber
           Quantity: 6
-          
+
 - type: entity
   parent: MaterialBase
   id: MaterialWoodPlank
   - type: Tag
     tags:
     - Wooden
-    - DroneUsable
     - RawMaterial
   - type: Extractable
     grindableSolutionName: wood
   - type: Tag
     tags:
       - ClothMade
-      - DroneUsable
       - RawMaterial
 
-
 - type: entity
   parent: MaterialCotton
   id: MaterialCotton1
   - type: Tag
     tags:
       - ClothMade
-      - DroneUsable
       - RawMaterial
 
 - type: entity
index a15675995cc52dae121603b413627a0b82964249..71adedab0ed57e5868d93400634f495a12d0e75b 100644 (file)
@@ -8,9 +8,6 @@
     state: rods
   - type: Item
     sprite: Objects/Materials/parts.rsi
-  - type: Tag
-    tags:
-      - DroneUsable
   - type: Damageable
     damageContainer: Inorganic
     damageModifierSet: FlimsyMetallic
@@ -81,7 +78,6 @@
   - type: Tag
     tags:
     - RodMetal1
-    - DroneUsable
   - type: Sprite
     state: rods
   - type: Stack
@@ -96,7 +92,6 @@
   - type: Tag
     tags:
     - RodMetal1
-    - DroneUsable
   - type: Sprite
     state: rods
   - type: Stack
index 445e2c7b5b1345452b81905858803518433b9c01..286e28c53d5877a9e0123b600287a02e8e6381dd 100644 (file)
@@ -15,9 +15,6 @@
         Blunt: 5
   - type: Stack
     count: 1
-  - type: Tag
-    tags:
-      - DroneUsable
   - type: Damageable
     damageContainer: Inorganic
   - type: Destructible
index 62aa0dccdd523481644ae5773a7d5842379b660f..9aa6014066643b33e2c4a0136763fb42ede1fa7e 100644 (file)
@@ -16,8 +16,5 @@
     price: 500
   - type: GuideHelp
     guides: [ AME, Power ]
-  - type: Tag
-    tags:
-      - DroneUsable
   - type: StealTarget
     stealGroup: AmePart
index 758d5f7b423e8b7f97f6c771f7342fa0ef868245..8aefe5e931bdb1077edaa53769274dc22c70d396 100644 (file)
@@ -27,7 +27,6 @@
           Quantity: 5
   - type: Tag
     tags:
-      - DroneUsable
       - PowerCell
   - type: Appearance
   - type: PowerCellVisuals
@@ -50,7 +49,6 @@
     startingCharge: 70
   - type: Tag
     tags:
-      - DroneUsable
       - PotatoBattery
   - type: Construction
     graph: PowerCellPotato
   - type: Battery
     maxCharge: 1400
     startingCharge: 1400
-    
+
 - type: entity
   id: PowerCageMedium
   parent: BasePowerCage
   - type: Battery
     maxCharge: 2700
     startingCharge: 2700
-    
+
 - type: entity
   id: PowerCageHigh
   parent: BasePowerCage
   - type: Battery
     maxCharge: 6200
     startingCharge: 6200
-    
+
 - type: entity
   id: PowerCageSmallEmpty
   parent: PowerCageSmall
   - type: Battery
     maxCharge: 1400
     startingCharge: 0
-    
+
 - type: entity
   id: PowerCageMediumEmpty
   parent: PowerCageMedium
       visible: false
   - type: Battery
     startingCharge: 0
-    
+
 - type: entity
   id: PowerCageHighEmpty
   parent: PowerCageHigh
       shader: unshaded
       visible: false
   - type: Battery
-    startingCharge: 0
\ No newline at end of file
+    startingCharge: 0
index 0fcd11f9b00c95ae730e1443d25852340111b740..de8aef6518a9d2552316c6263566e208da815a0e 100644 (file)
@@ -11,6 +11,3 @@
   - type: Sprite
     sprite: Objects/Power/solar_parts.rsi
     state: solar_assembly_parts
-  - type: Tag
-    tags:
-    - DroneUsable
index ce4eef7453abbcff26d7aca6ae8bc9d2accd63ca..8d3c83e3e1e3fab2d80373ac066df40491adc573 100644 (file)
@@ -30,7 +30,6 @@
     delay: 1
   - type: Tag
     tags:
-      - DroneUsable #No bucket because it holds chems, they can drag the cart or use a drain
       - Mop
       - MopBasic
   - type: GuideHelp
@@ -81,7 +80,6 @@
           maxVol: 100
     - type: Tag
       tags:
-        - DroneUsable #No bucket because it holds chems, they can drag the cart or use a drain
         - Mop
         - MopAdv
 
       delay: 1.5
     - type: Tag
       tags:
-        - DroneUsable
         - Mop
     - type: CleansForensics
     - type: Fiber
index e9eb18f926fdbfd887e0e745f340b3b48721505d..0e19c03deefc250b68636ea9bf71818ffed7b10b 100644 (file)
@@ -91,8 +91,6 @@
   - type: Tag
     tags:
       - Spray
-      - DroneUsable #They don't have any other chem stuff on their whitelist so they can't refill it
-
 # Vapor
 
 - type: entity
index 1a97b607bbad16b8022d318fb1a8042e6aafb9a8..b74962d9d7ab6213661fdf6ce379cd37959bf02c 100644 (file)
@@ -25,7 +25,6 @@
   - type: Tag
     tags:
     - TrashBag
-    - DroneUsable
   - type: Appearance
   - type: StorageFillVisualizer
     maxFillLevels: 4
index ff946aefe91ce157c1d63f59652717093db7753e..0dc714aba0cc427a51570add97438cd43cc5f2d6 100644 (file)
@@ -26,9 +26,6 @@
           enabled:
             True: { state: working }
             False: { state: icon }
-  - type: Tag
-    tags:
-      - DroneUsable
   - type: StaticPrice
     price: 80
   - type: PhysicalComposition
index e1e565cc186968efc56dc5a2f6aa69c66feb8395..bfb3069efba003e7b146cc90d3545845cffcba99 100644 (file)
@@ -12,7 +12,6 @@
   - type: Tag
     tags:
     - CableCoil
-    - DroneUsable
   - type: Stack
     stackType: Cable
   - type: Sprite
   - type: Sprite
     state: coillv-10
   - type: Stack
-    count: 1
\ No newline at end of file
+    count: 1
index e7ea80830b905d484a32d77bb57dcbded5783c6f..14a31d269ee137753a78a6a046a0712d15ed03f3 100644 (file)
@@ -7,7 +7,6 @@
   - type: Tag
     tags:
     - Flashlight
-    - DroneUsable
   - type: HandheldLight
     addPrefix: false
     blinkingBehaviourId: blinking
index 5c30cfdea3a7a5bd78f72082c7048ecbbb079653..86163aad67c9cd7a90d4ba49af8e1930a4d38cce 100644 (file)
@@ -19,9 +19,6 @@
       doAfter: 1
       removeOnInteract: true
     - type: Clickable
-    - type: Tag
-      tags:
-        - DroneUsable
 # TODO: Add stack sprites + visuals.
 
 - type: entity
@@ -45,9 +42,6 @@
       doAfter: 1
       removeOnInteract: true
     - type: Clickable
-    - type: Tag
-      tags:
-        - DroneUsable
 # TODO: Add stack sprites + visuals.
 
 - type: entity
index 442e939d42370333daee74bbc1130f7c68c01f36..646f6a63784ada3eab1e198e473e87def0be1146 100644 (file)
@@ -15,9 +15,6 @@
       amount: 8
     - id: LightBulb
       amount: 5
-  - type: Tag
-    tags:
-      - DroneUsable
   - type: StaticPrice
     price: 100
   - type: ContainerContainer
index 71032290b1da509c14e03e5fe643aa8a4d3d4657..c467974b7431c8fdfff87025020ab9f00ae3d061 100644 (file)
@@ -19,8 +19,5 @@
         base:
           On: { state: tray-on }
           Off: { state: tray-off }
-  - type: Tag
-    tags:
-      - DroneUsable
   - type: StaticPrice
     price: 60
index 250f570c5f951152634d4ad9db84a548f0f5be7e..667d855997135859d91d6f28d2c53fc5ed30b266 100644 (file)
@@ -24,7 +24,6 @@
       path: "/Audio/Weapons/smash.ogg"
   - type: Tag
     tags:
-    - DroneUsable
     - Toolbox
   - type: GenericVisualizer
     visuals:
   - type: UserInterface
     interfaces:
       - key: enum.ThiefBackpackUIKey.Key
-        type: ThiefBackpackBoundUserInterface
\ No newline at end of file
+        type: ThiefBackpackBoundUserInterface
index 619324a2f2c0ff54244200734ca40ae953389abc..b3693eac165ff567dadde4c2e0cafe5ec68eea4d 100644 (file)
   - type: Tag
     tags:
       - Multitool
-      - DroneUsable
   - type: PhysicalComposition
     materialComposition:
       Steel: 100
           type: NetworkConfiguratorBoundUserInterface
         - key: enum.NetworkConfiguratorUiKey.Link
           type: NetworkConfiguratorBoundUserInterface
-    - type: Tag
-      tags:
-        - DroneUsable
     - type: StaticPrice
       price: 56
     - type: GuideHelp
index c9cbb34d63e95094a602ce8ddefdcc4ff80c5e49..54d64cc72153f0a9eba82c1880f1b87e6c78febe 100644 (file)
     radius: 1.5
     energy: 1.6
     color: "#e6e227"
-  - type: Tag
-    tags:
-      - DroneUsable
 
 - type: entity
   parent: BaseComputer
index c50d6560c366acbcb324a46fbf4b33ecf99b3fbe..50601d8be898639d833ff84a09ed638ab41fbbc3 100644 (file)
       - Implanter
       - PillCanister
       - ChemistryEmptyBottle01
-      - Drone
       - AdvMopItem
       - WeaponSprayNozzle
       - ClothingBackpackWaterTank
index d2b2961728ad35117e8c3f217139436b61df49d3..2c8f34860bf10695d263c78e92d14c31a35bb64b 100644 (file)
   - type: Advertise
     pack: ClothesMateAds
   - type: Speech
-  - type: Tag
-    tags:
-      - DroneUsable
   - type: Sprite
     sprite: Structures/Machines/VendingMachines/clothing.rsi
     layers:
   - type: Advertise
     pack: ClothesMateAds
   - type: Speech
-  - type: Tag
-    tags:
-    - DroneUsable
   - type: Sprite
     sprite: Structures/Machines/VendingMachines/winterdrobe.rsi
     layers:
     radius: 1.5
     energy: 1.6
     color: "#c73434"
-  - type: Tag
-    tags:
-      - DroneUsable
 
 - type: entity
   parent: VendingMachine
     radius: 1.5
     energy: 1.6
     color: "#d4ab33"
-  - type: Tag
-    tags:
-      - DroneUsable
 
 - type: entity
   parent: VendingMachine
index 84091668e3c172adce0bec8f69b4386f24e8f54a..15b20d8b9043eaa3c25a62aa7e0d3603a27cdefc 100644 (file)
   materials:
     Wood: 100
 
-- type: latheRecipe
-  id: Drone
-  result: Drone
-  completetime: 6
-  materials:
-    Steel: 500
-    Glass: 500
-    Plastic: 500
-
 - type: latheRecipe
   id: SynthesizerInstrument
   result: SynthesizerInstrument
index bbb6ce568c2e0bcd54446f2c55cead59e94eef41..bc0a26b58abf361f799477bd96b80bf42840edfe 100644 (file)
@@ -11,7 +11,6 @@
   cost: 5000
   recipeUnlocks:
   - ProximitySensor
-  - Drone
   - ExosuitFabricatorMachineCircuitboard
 
 - type: technology
index 7df370035e3cd325797bb7f0de3b9b58072e41e2..82c2f3bce9a4b69f6b9f71d619db4b5098c9430d 100644 (file)
   id: Holoparasite
   prefix: HOLO
 
-- type: nameIdentifierGroup
-  id: Drone
-  prefix: DR
-  fullName: true
-  minValue: 10000
-  maxValue: 99999
-
 - type: nameIdentifierGroup
   id: MMI
   prefix: MMI
index 3b2dcbe374978377c76ee5402378d36609a940de..6bcff07f4aa4be3bdc775d289cd20a7f8ba7d250 100644 (file)
 - type: Tag
   id: DrinkBottle
 
-- type: Tag
-  id: DroneUsable
-
 - type: Tag
   id: Duck
 
index 4d5a4cce6e220b28ea4fc7c00ecd8c1baca61b9d..e2ef8c0c69880a4a9d23a1e4e1e1fc3fb24f4356 100644 (file)
@@ -214,3 +214,8 @@ VehicleJanicartDestroyed: null
 # 2024-02-01
 YellowOxygenTank: OxygenTank
 YellowOxygenTankFilled: OxygenTankFilled
+
+# 2024-02-19
+Drone: null
+SpawnMobDrone: null
+Onestar: null # I dont think this is even mapped, but just in case